From f4f365f43e83edbb40005f0b211a80cc9cd9b92e Mon Sep 17 00:00:00 2001 From: Pratham Mishra <99235987+Pratham-Mishra04@users.noreply.github.com> Date: Wed, 9 Jul 2025 01:25:28 +0530 Subject: [PATCH] fix: onsave keys redact, logging and added configurable logging queue size --- .github/workflows/transport-ci.yml | 2 +- core/bifrost.go | 7 +- docs/benchmarks.md | 2 + transports/bifrost-http/handlers/config.go | 18 +- transports/bifrost-http/handlers/logging.go | 9 +- transports/bifrost-http/handlers/mcp.go | 28 +- transports/bifrost-http/handlers/providers.go | 28 +- transports/bifrost-http/lib/config.go | 7 +- transports/bifrost-http/lib/store.go | 204 ++++++++++-- transports/bifrost-http/main.go | 2 +- .../bifrost-http/plugins/logging/main.go | 54 +-- .../bifrost-http/plugins/logging/utils.go | 308 ++++++++++++++---- transports/bifrost-http/ui/404.html | 4 +- transports/bifrost-http/ui/404/index.html | 4 +- .../ui/_next/static/build/_buildManifest.js | 2 +- .../static/chunks/154-7b9dae231ea16969.js | 124 ------- .../static/chunks/213-672494f56acc68a6.js | 1 - ...24d72c89eac.js => 272-ea143f89da3f8b1f.js} | 4 +- .../static/chunks/273-9756261fec6bc01b.js | 1 + .../static/chunks/293-d2734c4726406a0e.js | 1 - .../static/chunks/341-3971b040aed697e5.js | 1 + .../static/chunks/341-5aa9f869e119bce4.js | 1 - .../static/chunks/473-3e3a48663e3561da.js | 1 - .../static/chunks/529-26467b76604e8781.js | 1 + .../static/chunks/678-56244c2aeff7b5e2.js | 1 + .../static/chunks/825-aee0522b5fc044c3.js | 124 +++++++ .../app/config/page-6aaabc7109379e54.js | 1 + .../app/config/page-bf3c65256b3fc98b.js | 1 - .../chunks/app/layout-6acb57196bba0407.js | 1 + .../chunks/app/layout-e528237e8bb14184.js | 1 - .../chunks/app/page-3d9741bf5c7d7c6d.js | 1 + .../chunks/app/page-9c52c1dd03452de9.js | 1 - .../ui/_next/static/css/0290f827d14417a0.css | 1 + .../ui/_next/static/css/0451d03ec40c67fa.css | 1 - .../bifrost-http/ui/bifrost-logo-dark.png | Bin 0 -> 226623 bytes transports/bifrost-http/ui/bifrost-logo.png | Bin 0 -> 39354 bytes transports/bifrost-http/ui/config/index.html | 4 +- transports/bifrost-http/ui/config/index.txt | 18 +- transports/bifrost-http/ui/docs/index.html | 4 +- transports/bifrost-http/ui/docs/index.txt | 16 +- transports/bifrost-http/ui/favicon.ico | Bin 0 -> 15406 bytes transports/bifrost-http/ui/index.html | 4 +- transports/bifrost-http/ui/index.txt | 18 +- transports/bifrost-http/ui/plugins/index.html | 4 +- transports/bifrost-http/ui/plugins/index.txt | 16 +- transports/go.mod | 2 - ui/app/config/page.tsx | 42 +-- ui/app/docs/page.tsx | 2 +- ui/app/favicon.ico | Bin 0 -> 15406 bytes ui/app/layout.tsx | 6 +- ui/app/plugins/page.tsx | 4 +- ui/components/config/core-settings-list.tsx | 82 ++++- ui/components/config/providers-list.tsx | 2 +- ui/components/logs/empty-state.tsx | 3 +- ui/components/sidebar.tsx | 22 +- ui/lib/api.ts | 17 +- ui/lib/constants/icons.tsx | 30 -- ui/lib/types/config.ts | 1 + ui/public/bifrost-logo-dark.png | Bin 0 -> 226623 bytes ui/public/bifrost-logo.png | Bin 0 -> 39354 bytes 60 files changed, 827 insertions(+), 417 deletions(-) delete mode 100644 transports/bifrost-http/ui/_next/static/chunks/154-7b9dae231ea16969.js delete mode 100644 transports/bifrost-http/ui/_next/static/chunks/213-672494f56acc68a6.js rename transports/bifrost-http/ui/_next/static/chunks/{443-5702d24d72c89eac.js => 272-ea143f89da3f8b1f.js} (75%) create mode 100644 transports/bifrost-http/ui/_next/static/chunks/273-9756261fec6bc01b.js delete mode 100644 transports/bifrost-http/ui/_next/static/chunks/293-d2734c4726406a0e.js create mode 100644 transports/bifrost-http/ui/_next/static/chunks/341-3971b040aed697e5.js delete mode 100644 transports/bifrost-http/ui/_next/static/chunks/341-5aa9f869e119bce4.js delete mode 100644 transports/bifrost-http/ui/_next/static/chunks/473-3e3a48663e3561da.js create mode 100644 transports/bifrost-http/ui/_next/static/chunks/529-26467b76604e8781.js create mode 100644 transports/bifrost-http/ui/_next/static/chunks/678-56244c2aeff7b5e2.js create mode 100644 transports/bifrost-http/ui/_next/static/chunks/825-aee0522b5fc044c3.js create mode 100644 transports/bifrost-http/ui/_next/static/chunks/app/config/page-6aaabc7109379e54.js delete mode 100644 transports/bifrost-http/ui/_next/static/chunks/app/config/page-bf3c65256b3fc98b.js create mode 100644 transports/bifrost-http/ui/_next/static/chunks/app/layout-6acb57196bba0407.js delete mode 100644 transports/bifrost-http/ui/_next/static/chunks/app/layout-e528237e8bb14184.js create mode 100644 transports/bifrost-http/ui/_next/static/chunks/app/page-3d9741bf5c7d7c6d.js delete mode 100644 transports/bifrost-http/ui/_next/static/chunks/app/page-9c52c1dd03452de9.js create mode 100644 transports/bifrost-http/ui/_next/static/css/0290f827d14417a0.css delete mode 100644 transports/bifrost-http/ui/_next/static/css/0451d03ec40c67fa.css create mode 100644 transports/bifrost-http/ui/bifrost-logo-dark.png create mode 100644 transports/bifrost-http/ui/bifrost-logo.png create mode 100644 transports/bifrost-http/ui/favicon.ico create mode 100644 ui/app/favicon.ico create mode 100644 ui/public/bifrost-logo-dark.png create mode 100644 ui/public/bifrost-logo.png diff --git a/.github/workflows/transport-ci.yml b/.github/workflows/transport-ci.yml index 6bf4548db8..57ad872b07 100644 --- a/.github/workflows/transport-ci.yml +++ b/.github/workflows/transport-ci.yml @@ -223,7 +223,7 @@ jobs: - name: Commit and push UI changes run: | - git add . + git add transports/ui if git diff --staged --quiet; then echo "No changes to commit. UI build is already up to date." else diff --git a/core/bifrost.go b/core/bifrost.go index be04b2c5ef..9d96a04eb7 100644 --- a/core/bifrost.go +++ b/core/bifrost.go @@ -568,7 +568,12 @@ func (bifrost *Bifrost) GetMCPClients() ([]schemas.MCPClient, error) { // }) func (bifrost *Bifrost) AddMCPClient(config schemas.MCPClientConfig) error { if bifrost.mcpManager == nil { - return fmt.Errorf("MCP is not configured in this Bifrost instance") + manager := &MCPManager{ + clientMap: make(map[string]*MCPClient), + logger: bifrost.logger, + } + + bifrost.mcpManager = manager } return bifrost.mcpManager.AddClient(config) diff --git a/docs/benchmarks.md b/docs/benchmarks.md index 92d8b78120..f90587654d 100644 --- a/docs/benchmarks.md +++ b/docs/benchmarks.md @@ -43,6 +43,8 @@ _\*Bifrost's overhead is measured at 59 µs on t3.medium and 11 µs on t3.xlarge **Note**: On the t3.xlarge, we tested with significantly larger response payloads (~10 KB average vs ~1 KB on t3.medium). Even so, response parsing time dropped dramatically thanks to better CPU throughput and Bifrost's optimized memory reuse. +**Disclaimer**: These metrics are measured without the UI enabled. When using the UI, there is no drop in performance - only memory usage increases due to the additional UI build being served. + --- ## 🎯 Key Performance Highlights diff --git a/transports/bifrost-http/handlers/config.go b/transports/bifrost-http/handlers/config.go index e82a9d3c8d..2e4a143821 100644 --- a/transports/bifrost-http/handlers/config.go +++ b/transports/bifrost-http/handlers/config.go @@ -37,7 +37,6 @@ func NewConfigHandler(client *bifrost.Bifrost, logger schemas.Logger, store *lib func (h *ConfigHandler) RegisterRoutes(r *router.Router) { r.GET("/api/config", h.GetConfig) r.PUT("/api/config", h.handleUpdateConfig) - r.POST("/api/config/save", h.SaveConfig) } // GetConfig handles GET /config - Get the current configuration @@ -74,27 +73,22 @@ func (h *ConfigHandler) handleUpdateConfig(ctx *fasthttp.RequestCtx) { updatedConfig.InitialPoolSize = req.InitialPoolSize } + if req.LogQueueSize != currentConfig.LogQueueSize { + updatedConfig.LogQueueSize = req.LogQueueSize + } + // Update the store with the new config h.store.ClientConfig = updatedConfig - ctx.SetStatusCode(fasthttp.StatusOK) - SendJSON(ctx, map[string]any{ - "status": "success", - "message": "Configuration updated successfully", - }, h.logger) -} - -// SaveConfig handles POST /config/save - Persist current configuration to JSON file -func (h *ConfigHandler) SaveConfig(ctx *fasthttp.RequestCtx) { - // Save current configuration back to the original JSON file if err := h.store.SaveConfig(); err != nil { h.logger.Warn(fmt.Sprintf("Failed to save configuration: %v", err)) SendError(ctx, fasthttp.StatusInternalServerError, fmt.Sprintf("Failed to save configuration: %v", err), h.logger) return } + ctx.SetStatusCode(fasthttp.StatusOK) SendJSON(ctx, map[string]any{ "status": "success", - "message": "Configuration saved successfully", + "message": "Configuration updated successfully", }, h.logger) } diff --git a/transports/bifrost-http/handlers/logging.go b/transports/bifrost-http/handlers/logging.go index 6baa429e70..5fd01efc6e 100644 --- a/transports/bifrost-http/handlers/logging.go +++ b/transports/bifrost-http/handlers/logging.go @@ -32,9 +32,10 @@ func NewLoggingHandler(logManager logging.LogManager, logger schemas.Logger) *Lo func (h *LoggingHandler) RegisterRoutes(r *router.Router) { // Log retrieval with filtering, search, and pagination r.GET("/api/logs", h.GetLogs) + r.GET("/api/logs/dropped", h.GetDroppedRequests) } -// GetLogs handles GET /v1/logs - Get logs with filtering, search, and pagination via query parameters +// GetLogs handles GET /api/logs - Get logs with filtering, search, and pagination via query parameters func (h *LoggingHandler) GetLogs(ctx *fasthttp.RequestCtx) { // Parse query parameters into filters filters := &logging.SearchFilters{} @@ -139,6 +140,12 @@ func (h *LoggingHandler) GetLogs(ctx *fasthttp.RequestCtx) { SendJSON(ctx, result, h.logger) } +// GetDroppedRequests handles GET /api/logs/dropped - Get the number of dropped requests +func (h *LoggingHandler) GetDroppedRequests(ctx *fasthttp.RequestCtx) { + droppedRequests := h.logManager.GetDroppedRequests() + SendJSON(ctx, map[string]int64{"dropped_requests": droppedRequests}, h.logger) +} + // Helper functions // parseCommaSeparated splits a comma-separated string into a slice diff --git a/transports/bifrost-http/handlers/mcp.go b/transports/bifrost-http/handlers/mcp.go index 556c28eb21..9e40bc2a9b 100644 --- a/transports/bifrost-http/handlers/mcp.go +++ b/transports/bifrost-http/handlers/mcp.go @@ -72,7 +72,7 @@ func (h *MCPHandler) ExecuteTool(ctx *fasthttp.RequestCtx) { SendJSON(ctx, resp, h.logger) } -// GetMCPClients handles GET /mcp/clients - Get all MCP clients +// GetMCPClients handles GET /api/mcp/clients - Get all MCP clients func (h *MCPHandler) GetMCPClients(ctx *fasthttp.RequestCtx) { // Get clients from store config configsInStore := h.store.MCPConfig @@ -120,7 +120,7 @@ func (h *MCPHandler) GetMCPClients(ctx *fasthttp.RequestCtx) { SendJSON(ctx, clients, h.logger) } -// ReconnectMCPClient handles POST /mcp/client/{name}/reconnect - Reconnect an MCP client +// ReconnectMCPClient handles POST /api/mcp/client/{name}/reconnect - Reconnect an MCP client func (h *MCPHandler) ReconnectMCPClient(ctx *fasthttp.RequestCtx) { name, err := getNameFromCtx(ctx) if err != nil { @@ -139,7 +139,7 @@ func (h *MCPHandler) ReconnectMCPClient(ctx *fasthttp.RequestCtx) { }, h.logger) } -// AddMCPClient handles POST /mcp/client - Add a new MCP client +// AddMCPClient handles POST /api/mcp/client - Add a new MCP client func (h *MCPHandler) AddMCPClient(ctx *fasthttp.RequestCtx) { var req schemas.MCPClientConfig if err := json.Unmarshal(ctx.PostBody(), &req); err != nil { @@ -152,13 +152,19 @@ func (h *MCPHandler) AddMCPClient(ctx *fasthttp.RequestCtx) { return } + if err := h.store.SaveConfig(); err != nil { + h.logger.Warn(fmt.Sprintf("Failed to save configuration: %v", err)) + SendError(ctx, fasthttp.StatusInternalServerError, fmt.Sprintf("Failed to save configuration: %v", err), h.logger) + return + } + SendJSON(ctx, map[string]any{ "status": "success", "message": "MCP client added successfully", }, h.logger) } -// EditMCPClientTools handles PUT /mcp/client/{name} - Edit MCP client tools +// EditMCPClientTools handles PUT /api/mcp/client/{name} - Edit MCP client tools func (h *MCPHandler) EditMCPClientTools(ctx *fasthttp.RequestCtx) { name, err := getNameFromCtx(ctx) if err != nil { @@ -180,13 +186,19 @@ func (h *MCPHandler) EditMCPClientTools(ctx *fasthttp.RequestCtx) { return } + if err := h.store.SaveConfig(); err != nil { + h.logger.Warn(fmt.Sprintf("Failed to save configuration: %v", err)) + SendError(ctx, fasthttp.StatusInternalServerError, fmt.Sprintf("Failed to save configuration: %v", err), h.logger) + return + } + SendJSON(ctx, map[string]any{ "status": "success", "message": "MCP client tools edited successfully", }, h.logger) } -// RemoveMCPClient handles DELETE /mcp/client/{name} - Remove an MCP client +// RemoveMCPClient handles DELETE /api/mcp/client/{name} - Remove an MCP client func (h *MCPHandler) RemoveMCPClient(ctx *fasthttp.RequestCtx) { name, err := getNameFromCtx(ctx) if err != nil { @@ -199,6 +211,12 @@ func (h *MCPHandler) RemoveMCPClient(ctx *fasthttp.RequestCtx) { return } + if err := h.store.SaveConfig(); err != nil { + h.logger.Warn(fmt.Sprintf("Failed to save configuration: %v", err)) + SendError(ctx, fasthttp.StatusInternalServerError, fmt.Sprintf("Failed to save configuration: %v", err), h.logger) + return + } + SendJSON(ctx, map[string]any{ "status": "success", "message": "MCP client removed successfully", diff --git a/transports/bifrost-http/handlers/providers.go b/transports/bifrost-http/handlers/providers.go index 5684de5aa6..0dd5afd964 100644 --- a/transports/bifrost-http/handlers/providers.go +++ b/transports/bifrost-http/handlers/providers.go @@ -82,7 +82,7 @@ func (h *ProviderHandler) RegisterRoutes(r *router.Router) { r.DELETE("/api/providers/{provider}", h.DeleteProvider) } -// ListProviders handles GET /providers - List all providers +// ListProviders handles GET /api/providers - List all providers func (h *ProviderHandler) ListProviders(ctx *fasthttp.RequestCtx) { providers, err := h.store.GetAllProviders() if err != nil { @@ -119,7 +119,7 @@ func (h *ProviderHandler) ListProviders(ctx *fasthttp.RequestCtx) { SendJSON(ctx, response, h.logger) } -// GetProvider handles GET /providers/{provider} - Get specific provider +// GetProvider handles GET /api/providers/{provider} - Get specific provider func (h *ProviderHandler) GetProvider(ctx *fasthttp.RequestCtx) { provider, err := getProviderFromCtx(ctx) if err != nil { @@ -138,7 +138,7 @@ func (h *ProviderHandler) GetProvider(ctx *fasthttp.RequestCtx) { SendJSON(ctx, response, h.logger) } -// AddProvider handles POST /providers - Add a new provider +// AddProvider handles POST /api/providers - Add a new provider func (h *ProviderHandler) AddProvider(ctx *fasthttp.RequestCtx) { var req AddProviderRequest if err := json.Unmarshal(ctx.PostBody(), &req); err != nil { @@ -200,6 +200,12 @@ func (h *ProviderHandler) AddProvider(ctx *fasthttp.RequestCtx) { return } + if err := h.store.SaveConfig(); err != nil { + h.logger.Warn(fmt.Sprintf("Failed to save configuration: %v", err)) + SendError(ctx, fasthttp.StatusInternalServerError, fmt.Sprintf("Failed to save configuration: %v", err), h.logger) + return + } + h.logger.Info(fmt.Sprintf("Provider %s added successfully", req.Provider)) response := h.getProviderResponseFromConfig(req.Provider, config) @@ -207,7 +213,7 @@ func (h *ProviderHandler) AddProvider(ctx *fasthttp.RequestCtx) { SendJSON(ctx, response, h.logger) } -// UpdateProvider handles PUT /providers/{provider} - Update provider config +// UpdateProvider handles PUT /api/providers/{provider} - Update provider config // NOTE: This endpoint expects ALL fields to be provided in the request body, // including both edited and non-edited fields. Partial updates are not supported. // The frontend should send the complete provider configuration. @@ -340,6 +346,12 @@ func (h *ProviderHandler) UpdateProvider(ctx *fasthttp.RequestCtx) { return } + if err := h.store.SaveConfig(); err != nil { + h.logger.Warn(fmt.Sprintf("Failed to save configuration: %v", err)) + SendError(ctx, fasthttp.StatusInternalServerError, fmt.Sprintf("Failed to save configuration: %v", err), h.logger) + return + } + if config.ConcurrencyAndBufferSize.Concurrency != oldConfigRaw.ConcurrencyAndBufferSize.Concurrency || config.ConcurrencyAndBufferSize.BufferSize != oldConfigRaw.ConcurrencyAndBufferSize.BufferSize { // Update concurrency and queue configuration in Bifrost @@ -354,7 +366,7 @@ func (h *ProviderHandler) UpdateProvider(ctx *fasthttp.RequestCtx) { SendJSON(ctx, response, h.logger) } -// DeleteProvider handles DELETE /providers/{provider} - Remove provider +// DeleteProvider handles DELETE /api/providers/{provider} - Remove provider func (h *ProviderHandler) DeleteProvider(ctx *fasthttp.RequestCtx) { provider, err := getProviderFromCtx(ctx) if err != nil { @@ -375,6 +387,12 @@ func (h *ProviderHandler) DeleteProvider(ctx *fasthttp.RequestCtx) { return } + if err := h.store.SaveConfig(); err != nil { + h.logger.Warn(fmt.Sprintf("Failed to save configuration: %v", err)) + SendError(ctx, fasthttp.StatusInternalServerError, fmt.Sprintf("Failed to save configuration: %v", err), h.logger) + return + } + h.logger.Info(fmt.Sprintf("Provider %s removed successfully", provider)) response := ProviderResponse{ diff --git a/transports/bifrost-http/lib/config.go b/transports/bifrost-http/lib/config.go index b441618d38..31dd113ba5 100644 --- a/transports/bifrost-http/lib/config.go +++ b/transports/bifrost-http/lib/config.go @@ -9,9 +9,10 @@ import ( // ClientConfig represents the core configuration for Bifrost HTTP transport and the Bifrost Client. // It includes settings for excess request handling, Prometheus metrics, and initial pool size. type ClientConfig struct { - DropExcessRequests bool `json:"drop_excess_requests"` - InitialPoolSize int `json:"initial_pool_size"` - PrometheusLabels []string `json:"prometheus_labels"` + DropExcessRequests bool `json:"drop_excess_requests"` // Drop excess requests if the provider queue is full + InitialPoolSize int `json:"initial_pool_size"` // The initial pool size for the bifrost client + PrometheusLabels []string `json:"prometheus_labels"` // The labels to be used for prometheus metrics + LogQueueSize int `json:"log_queue_size"` // The size of the log queue, additional requests will be dropped (not saved for ui) if the queue is full } // ProviderConfig represents the configuration for a specific AI model provider. diff --git a/transports/bifrost-http/lib/store.go b/transports/bifrost-http/lib/store.go index dda9dda50a..4d2b7af6de 100644 --- a/transports/bifrost-http/lib/store.go +++ b/transports/bifrost-http/lib/store.go @@ -49,6 +49,13 @@ type EnvKeyInfo struct { ConfigPath string // Path in config where this env var is used } +var DefaultClientConfig = ClientConfig{ + DropExcessRequests: false, + PrometheusLabels: []string{}, + InitialPoolSize: 300, + LogQueueSize: 1000, +} + // NewConfigStore creates a new in-memory configuration store instance. func NewConfigStore(logger schemas.Logger) (*ConfigStore, error) { return &ConfigStore{ @@ -83,14 +90,10 @@ func (s *ConfigStore) LoadFromConfig(configPath string) error { data, err := os.ReadFile(configPath) if err != nil { if os.IsNotExist(err) { - s.logger.Info(fmt.Sprintf("Config file %s not found, starting with default configuration. Providers can be added dynamically via API.", configPath)) + s.logger.Info(fmt.Sprintf("Config file %s not found, starting with default configuration. Providers can be added dynamically via UI.", configPath)) // Initialize with default configuration - s.ClientConfig = ClientConfig{ - DropExcessRequests: false, - PrometheusLabels: []string{}, - InitialPoolSize: 300, - } + s.ClientConfig = DefaultClientConfig s.Providers = make(map[schemas.ModelProvider]ProviderConfig) s.MCPConfig = nil @@ -122,12 +125,7 @@ func (s *ConfigStore) LoadFromConfig(configPath string) error { } s.ClientConfig = clientConfig } else { - // Default client configuration - s.ClientConfig = ClientConfig{ - DropExcessRequests: false, - PrometheusLabels: []string{}, - InitialPoolSize: 300, - } + s.ClientConfig = DefaultClientConfig } // Process provider configurations @@ -246,15 +244,23 @@ func (s *ConfigStore) processEnvValue(value string) (string, string, error) { return value, "", nil } -// WriteConfigToFile writes the current in-memory configuration back to a JSON file +// writeConfigToFile writes the current in-memory configuration back to a JSON file // in the exact same format that LoadFromConfig expects. This enables persistence -// of runtime configuration changes. -func (s *ConfigStore) WriteConfigToFile(configPath string) error { +// of runtime configuration changes with environment variable references restored. +func (s *ConfigStore) writeConfigToFile(configPath string) error { s.mu.RLock() defer s.mu.RUnlock() s.logger.Info(fmt.Sprintf("Writing current configuration to: %s", configPath)) + // Create a map for quick lookup of env vars by provider and path + envVarsByPath := make(map[string]string) + for envVar, infos := range s.EnvKeys { + for _, info := range infos { + envVarsByPath[info.ConfigPath] = envVar + } + } + // Prepare the output structure output := struct { Providers map[string]interface{} `json:"providers"` @@ -262,17 +268,33 @@ func (s *ConfigStore) WriteConfigToFile(configPath string) error { Client ClientConfig `json:"client,omitempty"` }{ Providers: make(map[string]interface{}), - MCP: s.MCPConfig, + MCP: s.getRestoredMCPConfig(envVarsByPath), Client: s.ClientConfig, } - // Convert providers back to the original format + // Convert providers back to the original format with env variable restoration for provider, config := range s.Providers { providerName := string(provider) - // Create provider config without processed values (keep env.* references) + // Create redacted keys that restore env.* references + redactedKeys := make([]schemas.Key, len(config.Keys)) + for i, key := range config.Keys { + redactedKeys[i] = schemas.Key{ + Models: key.Models, + Weight: key.Weight, + } + + path := fmt.Sprintf("providers.%s.keys[%d]", provider, i) + if envVar, ok := envVarsByPath[path]; ok { + redactedKeys[i].Value = "env." + envVar + } else { + redactedKeys[i].Value = key.Value // Keep actual value, no asterisk redaction + } + } + + // Create provider config with restored env references providerConfig := map[string]interface{}{ - "keys": config.Keys, // Note: This will contain actual values, not env refs + "keys": redactedKeys, } if config.NetworkConfig != nil { @@ -283,8 +305,10 @@ func (s *ConfigStore) WriteConfigToFile(configPath string) error { providerConfig["concurrency_and_buffer_size"] = config.ConcurrencyAndBufferSize } + // Handle meta config with env variable restoration if config.MetaConfig != nil { - providerConfig["meta_config"] = *config.MetaConfig + restoredMetaConfig := s.restoreMetaConfigEnvVars(provider, *config.MetaConfig, envVarsByPath) + providerConfig["meta_config"] = restoredMetaConfig } output.Providers[providerName] = providerConfig @@ -305,12 +329,148 @@ func (s *ConfigStore) WriteConfigToFile(configPath string) error { return nil } +// getRestoredMCPConfig creates a copy of MCP config with env variable references restored +func (s *ConfigStore) getRestoredMCPConfig(envVarsByPath map[string]string) *schemas.MCPConfig { + if s.MCPConfig == nil { + return nil + } + + // Create a copy of the MCP config + mcpConfigCopy := &schemas.MCPConfig{ + ClientConfigs: make([]schemas.MCPClientConfig, len(s.MCPConfig.ClientConfigs)), + } + + // Process each client config + for i, clientConfig := range s.MCPConfig.ClientConfigs { + configCopy := schemas.MCPClientConfig{ + Name: clientConfig.Name, + ConnectionType: clientConfig.ConnectionType, + StdioConfig: clientConfig.StdioConfig, + ToolsToExecute: append([]string{}, clientConfig.ToolsToExecute...), + ToolsToSkip: append([]string{}, clientConfig.ToolsToSkip...), + } + + // Handle connection string with env variable restoration + if clientConfig.ConnectionString != nil { + connStr := *clientConfig.ConnectionString + path := fmt.Sprintf("mcp.client_configs[%d].connection_string", i) + if envVar, ok := envVarsByPath[path]; ok { + connStr = "env." + envVar + } + // If not from env var, keep actual value (no asterisk redaction) + configCopy.ConnectionString = &connStr + } + + mcpConfigCopy.ClientConfigs[i] = configCopy + } + + return mcpConfigCopy +} + +// restoreMetaConfigEnvVars creates a copy of meta config with env variable references restored +func (s *ConfigStore) restoreMetaConfigEnvVars(provider schemas.ModelProvider, metaConfig schemas.MetaConfig, envVarsByPath map[string]string) interface{} { + switch m := metaConfig.(type) { + case *meta.AzureMetaConfig: + azureConfig := *m // Copy the struct + + // Restore endpoint if it came from env var + path := fmt.Sprintf("providers.%s.meta_config.endpoint", provider) + if envVar, ok := envVarsByPath[path]; ok { + azureConfig.Endpoint = "env." + envVar + } + // Otherwise keep actual value (no asterisk redaction) + + // Restore API version if it came from env var + if azureConfig.APIVersion != nil { + path = fmt.Sprintf("providers.%s.meta_config.api_version", provider) + if envVar, ok := envVarsByPath[path]; ok { + apiVersion := "env." + envVar + azureConfig.APIVersion = &apiVersion + } + // Otherwise keep actual value (no asterisk redaction) + } + + return azureConfig + + case *meta.BedrockMetaConfig: + bedrockConfig := *m // Copy the struct + + // Restore secret access key if it came from env var + path := fmt.Sprintf("providers.%s.meta_config.secret_access_key", provider) + if envVar, ok := envVarsByPath[path]; ok { + bedrockConfig.SecretAccessKey = "env." + envVar + } + // Otherwise keep actual value (no asterisk redaction) + + // Restore region if it came from env var + if bedrockConfig.Region != nil { + path = fmt.Sprintf("providers.%s.meta_config.region", provider) + if envVar, ok := envVarsByPath[path]; ok { + region := "env." + envVar + bedrockConfig.Region = ®ion + } + // Otherwise keep actual value (no asterisk redaction) + } + + // Restore session token if it came from env var + if bedrockConfig.SessionToken != nil { + path = fmt.Sprintf("providers.%s.meta_config.session_token", provider) + if envVar, ok := envVarsByPath[path]; ok { + sessionToken := "env." + envVar + bedrockConfig.SessionToken = &sessionToken + } + // Otherwise keep actual value (no asterisk redaction) + } + + // Restore ARN if it came from env var + if bedrockConfig.ARN != nil { + path = fmt.Sprintf("providers.%s.meta_config.arn", provider) + if envVar, ok := envVarsByPath[path]; ok { + arn := "env." + envVar + bedrockConfig.ARN = &arn + } + // Otherwise keep actual value (no asterisk redaction) + } + + return bedrockConfig + + case *meta.VertexMetaConfig: + vertexConfig := *m // Copy the struct + + // Restore project ID if it came from env var + path := fmt.Sprintf("providers.%s.meta_config.project_id", provider) + if envVar, ok := envVarsByPath[path]; ok { + vertexConfig.ProjectID = "env." + envVar + } + // Otherwise keep actual value (no asterisk redaction) + + // Restore region if it came from env var + path = fmt.Sprintf("providers.%s.meta_config.region", provider) + if envVar, ok := envVarsByPath[path]; ok { + vertexConfig.Region = "env." + envVar + } + // Otherwise keep actual value (no asterisk redaction) + + // Restore auth credentials if it came from env var + path = fmt.Sprintf("providers.%s.meta_config.auth_credentials", provider) + if envVar, ok := envVarsByPath[path]; ok { + vertexConfig.AuthCredentials = "env." + envVar + } + // Otherwise keep actual value (no asterisk redaction) + + return vertexConfig + + default: + return metaConfig + } +} + // SaveConfig writes the current configuration back to the original config file path func (s *ConfigStore) SaveConfig() error { if s.configPath == "" { return fmt.Errorf("no config path set - use LoadFromConfig first") } - return s.WriteConfigToFile(s.configPath) + return s.writeConfigToFile(s.configPath) } // parseMetaConfig converts raw JSON to the appropriate provider-specific meta config interface @@ -1263,7 +1423,5 @@ func (s *ConfigStore) autoDetectProviders() { if detectedCount > 0 { s.logger.Info(fmt.Sprintf("Auto-configured %d provider(s) from environment variables", detectedCount)) - } else { - s.logger.Info("No common provider environment variables detected. Use the web UI or configuration file to add providers.") } } diff --git a/transports/bifrost-http/main.go b/transports/bifrost-http/main.go index b8105f4dce..495089abf0 100644 --- a/transports/bifrost-http/main.go +++ b/transports/bifrost-http/main.go @@ -296,7 +296,7 @@ func main() { // Initialize logging plugin with app-dir based path loggingConfig := &logging.Config{ DatabasePath: logDir, - LogQueueSize: 1000, + LogQueueSize: store.ClientConfig.LogQueueSize, } loggingPlugin, err := logging.NewLoggerPlugin(loggingConfig, logger) diff --git a/transports/bifrost-http/plugins/logging/main.go b/transports/bifrost-http/plugins/logging/main.go index f20ef61b8b..97b9c07a43 100644 --- a/transports/bifrost-http/plugins/logging/main.go +++ b/transports/bifrost-http/plugins/logging/main.go @@ -7,6 +7,7 @@ import ( "context" "fmt" "sync" + "sync/atomic" "time" "github.com/dgraph-io/badger/v4" @@ -25,6 +26,7 @@ const ( // Index types ProviderIndex = "provider:" ModelIndex = "model:" + ObjectIndex = "object:" TimestampIndex = "timestamp:" StatusIndex = "status:" LatencyIndex = "latency:" @@ -119,15 +121,16 @@ type LogCallback func(*LogEntry) // LoggerPlugin implements the schemas.Plugin interface type LoggerPlugin struct { - config *Config - db *badger.DB - mu sync.RWMutex - stats *LogStats - logQueue chan *LogEntry - done chan struct{} - wg sync.WaitGroup - logger schemas.Logger - logCallback LogCallback // Callback for real-time log updates + config *Config + db *badger.DB + mu sync.RWMutex + stats *LogStats + logQueue chan *LogEntry + done chan struct{} + wg sync.WaitGroup + logger schemas.Logger + logCallback LogCallback // Callback for real-time log updates + droppedRequests atomic.Int64 } // NewLoggerPlugin creates a new logging plugin @@ -151,7 +154,7 @@ func NewLoggerPlugin(config *Config, logger schemas.Logger) (*LoggerPlugin, erro plugin := &LoggerPlugin{ config: config, db: db, - logQueue: make(chan *LogEntry, config.LogQueueSize), // Buffer for 1000 log entries + logQueue: make(chan *LogEntry, config.LogQueueSize), done: make(chan struct{}), logger: logger, stats: &LogStats{ @@ -277,8 +280,9 @@ func (p *LoggerPlugin) PostHook(ctx *context.Context, result *schemas.BifrostRes // Calculate latency latency := float64(time.Since(startTime).Milliseconds()) - // Create log entry + // Create log entry with guaranteed unique ID logEntry := &LogEntry{ + ID: uuid.New().String(), // Always generate a unique ID Timestamp: startTime, } @@ -308,11 +312,20 @@ func (p *LoggerPlugin) PostHook(ctx *context.Context, result *schemas.BifrostRes logEntry.Status = "success" if result != nil { - logEntry.ID = result.ID - logEntry.Object = result.Object + // Use result ID if available, otherwise keep the generated UUID + if result.ID != "" { + logEntry.ID = result.ID + } logEntry.Model = result.Model logEntry.Latency = &latency logEntry.TokenUsage = &result.Usage + logEntry.Object = result.Object + + if ctx != nil && result.Object == "" { + if object, ok := (*ctx).Value(RequestObjectKey).(string); ok { + logEntry.Object = object + } + } // Handle ExtraFields safely // Set provider if available @@ -324,10 +337,6 @@ func (p *LoggerPlugin) PostHook(ctx *context.Context, result *schemas.BifrostRes if result.ExtraFields.Params.Tools != nil { logEntry.Tools = result.ExtraFields.Params.Tools logEntry.Params = &result.ExtraFields.Params - - if result.ID == "" { - logEntry.ID = uuid.New().String() - } } // Extract chat history if available @@ -350,10 +359,12 @@ func (p *LoggerPlugin) PostHook(ctx *context.Context, result *schemas.BifrostRes if result.ExtraFields.ChatHistory != nil { logEntry.InputHistory = *result.ExtraFields.ChatHistory } else { - if chatHistory, ok := (*ctx).Value(RequestChatHistory).([]schemas.BifrostMessage); ok { - logEntry.InputHistory = chatHistory - } else { - logEntry.InputHistory = []schemas.BifrostMessage{} + if ctx != nil { + if chatHistory, ok := (*ctx).Value(RequestChatHistory).([]schemas.BifrostMessage); ok { + logEntry.InputHistory = chatHistory + } else { + logEntry.InputHistory = []schemas.BifrostMessage{} + } } } @@ -371,6 +382,7 @@ func (p *LoggerPlugin) PostHook(ctx *context.Context, result *schemas.BifrostRes default: // Queue is full, log warning but don't block the request p.logger.Warn("log queue is full, dropping log entry") + p.droppedRequests.Add(1) } return result, err, nil diff --git a/transports/bifrost-http/plugins/logging/utils.go b/transports/bifrost-http/plugins/logging/utils.go index 7642b9922c..2e7db2805d 100644 --- a/transports/bifrost-http/plugins/logging/utils.go +++ b/transports/bifrost-http/plugins/logging/utils.go @@ -60,6 +60,14 @@ func (p *LoggerPlugin) createIndexes(txn *badger.Txn, entry *LogEntry) error { } } + // Object index + if entry.Object != "" { + objectKey := fmt.Sprintf("%s%s%s:%d:%s", IndexPrefix, ObjectIndex, entry.Object, timestamp, entry.ID) + if err := txn.Set([]byte(objectKey), []byte(entry.ID)); err != nil { + return err + } + } + // Timestamp index timestampKey := fmt.Sprintf("%s%s%d:%s", IndexPrefix, TimestampIndex, timestamp, entry.ID) if err := txn.Set([]byte(timestampKey), []byte(entry.ID)); err != nil { @@ -93,13 +101,10 @@ func (p *LoggerPlugin) createIndexes(txn *badger.Txn, entry *LogEntry) error { return nil } -// SearchLogs searches for log entries based on filters and pagination options +// SearchLogs searches for log entries based on filters and pagination func (p *LoggerPlugin) SearchLogs(filters *SearchFilters, pagination *PaginationOptions) (*SearchResult, error) { - var result SearchResult - var successfulRequests int64 - var totalLatency float64 - var logsWithLatency int - var totalTokens int64 + p.mu.RLock() + defer p.mu.RUnlock() if pagination == nil { pagination = &PaginationOptions{ @@ -110,67 +115,46 @@ func (p *LoggerPlugin) SearchLogs(filters *SearchFilters, pagination *Pagination } } - // Initialize result stats - result.Stats.TotalRequests = 0 - result.Stats.SuccessRate = 0 - result.Stats.AverageLatency = 0 - result.Stats.TotalTokens = 0 - result.Pagination = *pagination + var matchingIDs []string + var allLogs []LogEntry + seenIDs := make(map[string]bool) + + // Statistics variables + var successfulRequests int64 + var totalLatency float64 + var totalTokens int64 + var logsWithLatency int64 err := p.db.View(func(txn *badger.Txn) error { - // Get matching IDs using indexes - var matchingIDs []string if filters != nil { + // Use indexes for efficient filtering matchingIDs = p.searchWithIndexes(txn, filters) } else { + // Fallback to full scan if indexing is disabled matchingIDs = p.searchFullScan(txn) } - // Early return if no matches - if len(matchingIDs) == 0 { - result.Stats.TotalRequests = 0 - return nil - } - - // Sort IDs based on pagination options - p.sortIDs(txn, matchingIDs, pagination.SortBy, pagination.Order) - - // Calculate total for stats - result.Stats.TotalRequests = int64(len(matchingIDs)) - - // Apply offset and limit for efficient pagination - start := pagination.Offset - if start >= len(matchingIDs) { - return nil - } - end := min(start+pagination.Limit, len(matchingIDs)) - pageIDs := matchingIDs[start:end] + // Fetch all matching logs, deduplicating by ID + for _, id := range matchingIDs { + if !seenIDs[id] { + if entry, err := p.getLogEntryByID(txn, id); err == nil && p.matchesFilters(entry, filters) { + allLogs = append(allLogs, *entry) + seenIDs[id] = true - // Fetch only the required log entries for the current page - for _, id := range pageIDs { - entry, err := p.getLogEntryByID(txn, id) - if err != nil { - continue - } - - // Verify the entry matches all filters - if p.matchesFilters(entry, filters) { - result.Logs = append(result.Logs, *entry) - - // Update statistics - if entry.Status == "success" { - successfulRequests++ - } - if entry.Latency != nil { - totalLatency += *entry.Latency - logsWithLatency++ - } - if entry.TokenUsage != nil { - totalTokens += int64(entry.TokenUsage.TotalTokens) + // Update statistics + if entry.Status == "success" { + successfulRequests++ + } + if entry.Latency != nil { + totalLatency += *entry.Latency + logsWithLatency++ + } + if entry.TokenUsage != nil { + totalTokens += int64(entry.TokenUsage.TotalTokens) + } } } } - return nil }) @@ -178,16 +162,43 @@ func (p *LoggerPlugin) SearchLogs(filters *SearchFilters, pagination *Pagination return nil, err } - // Calculate final statistics - if result.Stats.TotalRequests > 0 { - result.Stats.SuccessRate = float64(successfulRequests) / float64(result.Stats.TotalRequests) * 100 + // Sort logs based on pagination options + p.sortLogs(allLogs, pagination.SortBy, pagination.Order) + + // Apply pagination + total := len(allLogs) + start := pagination.Offset + end := min(pagination.Offset+pagination.Limit, total) + if start > total { + start = total } - if logsWithLatency > 0 { - result.Stats.AverageLatency = totalLatency / float64(logsWithLatency) + + // Calculate final statistics + var successRate float64 + if total > 0 { + successRate = float64(successfulRequests) / float64(total) * 100 } - result.Stats.TotalTokens = totalTokens - return &result, nil + var averageLatency float64 + if logsWithLatency > 0 { + averageLatency = totalLatency / float64(logsWithLatency) + } + + return &SearchResult{ + Logs: allLogs[start:end], + Pagination: *pagination, + Stats: struct { + TotalRequests int64 `json:"total_requests"` + SuccessRate float64 `json:"success_rate"` + AverageLatency float64 `json:"average_latency"` + TotalTokens int64 `json:"total_tokens"` + }{ + TotalRequests: int64(total), + SuccessRate: successRate, + AverageLatency: averageLatency, + TotalTokens: totalTokens, + }, + }, nil } // searchWithIndexes uses indexes to find matching log IDs efficiently @@ -232,6 +243,38 @@ func (p *LoggerPlugin) searchWithIndexes(txn *badger.Txn, filters *SearchFilters } } + if len(filters.Objects) > 0 { + objectIDs := p.searchByObjects(txn, filters.Objects) + if !hasFilters { + candidateIDs = objectIDs + hasFilters = true + } else { + candidateIDs = p.intersectIDLists(candidateIDs, objectIDs) + } + } + + // Latency range filtering (using buckets for efficiency) + if filters.MinLatency != nil || filters.MaxLatency != nil { + latencyIDs := p.searchByLatencyRange(txn, filters.MinLatency, filters.MaxLatency) + if !hasFilters { + candidateIDs = latencyIDs + hasFilters = true + } else { + candidateIDs = p.intersectIDLists(candidateIDs, latencyIDs) + } + } + + // Token range filtering (using buckets for efficiency) + if filters.MinTokens != nil || filters.MaxTokens != nil { + tokenIDs := p.searchByTokenRange(txn, filters.MinTokens, filters.MaxTokens) + if !hasFilters { + candidateIDs = tokenIDs + hasFilters = true + } else { + candidateIDs = p.intersectIDLists(candidateIDs, tokenIDs) + } + } + // If no filters were applied, return all logs if !hasFilters { return p.searchFullScan(txn) @@ -284,8 +327,8 @@ func (p *LoggerPlugin) searchByTimeRange(txn *badger.Txn, startTime, endTime *ti if err := item.Value(func(val []byte) error { ids = append(ids, string(val)) return nil - }); err == nil { - // Continue to next item + }); err != nil { + // Log error but continue processing } } } @@ -385,6 +428,136 @@ func (p *LoggerPlugin) searchByStatus(txn *badger.Txn, statuses []string) []stri return ids } +func (p *LoggerPlugin) searchByObjects(txn *badger.Txn, objects []string) []string { + idMap := make(map[string]bool) + + for _, object := range objects { + prefix := []byte(IndexPrefix + ObjectIndex + object + ":") + opts := badger.DefaultIteratorOptions + opts.PrefetchValues = false + it := txn.NewIterator(opts) + + for it.Seek(prefix); it.ValidForPrefix(prefix); it.Next() { + item := it.Item() + if err := item.Value(func(val []byte) error { + idMap[string(val)] = true + return nil + }); err == nil { + // Continue + } + } + it.Close() + } + + // Convert map to slice + var ids []string + for id := range idMap { + ids = append(ids, id) + } + + return ids +} + +func (p *LoggerPlugin) searchByLatencyRange(txn *badger.Txn, minLatency, maxLatency *float64) []string { + idMap := make(map[string]bool) + + // Determine which latency buckets to search + minBucket := 0 + maxBucket := int(math.Pow(10, 6)) // Very large bucket + + if minLatency != nil && *minLatency > 0 { + minBucket = getLatencyBucket(*minLatency) + } + if maxLatency != nil && *maxLatency > 0 { + maxBucket = getLatencyBucket(*maxLatency) + } + + // Search through relevant latency buckets + opts := badger.DefaultIteratorOptions + opts.PrefetchValues = false + it := txn.NewIterator(opts) + defer it.Close() + + prefix := []byte(IndexPrefix + LatencyIndex) + for it.Seek(prefix); it.ValidForPrefix(prefix); it.Next() { + item := it.Item() + key := string(item.Key()) + + // Extract bucket from key + parts := strings.Split(strings.TrimPrefix(key, IndexPrefix+LatencyIndex), ":") + if len(parts) >= 3 { + if bucket, err := strconv.Atoi(parts[0]); err == nil { + if bucket >= minBucket && bucket <= maxBucket { + if err := item.Value(func(val []byte) error { + idMap[string(val)] = true + return nil + }); err != nil { + // Log error but continue + } + } + } + } + } + + // Convert map to slice + var ids []string + for id := range idMap { + ids = append(ids, id) + } + + return ids +} + +func (p *LoggerPlugin) searchByTokenRange(txn *badger.Txn, minTokens, maxTokens *int) []string { + idMap := make(map[string]bool) + + // Determine which token buckets to search + minBucket := 0 + maxBucket := int(math.Pow(2, 20)) // Very large bucket + + if minTokens != nil && *minTokens > 0 { + minBucket = getTokenBucket(*minTokens) + } + if maxTokens != nil && *maxTokens > 0 { + maxBucket = getTokenBucket(*maxTokens) + } + + // Search through relevant token buckets + opts := badger.DefaultIteratorOptions + opts.PrefetchValues = false + it := txn.NewIterator(opts) + defer it.Close() + + prefix := []byte(IndexPrefix + TokenIndex) + for it.Seek(prefix); it.ValidForPrefix(prefix); it.Next() { + item := it.Item() + key := string(item.Key()) + + // Extract bucket from key + parts := strings.Split(strings.TrimPrefix(key, IndexPrefix+TokenIndex), ":") + if len(parts) >= 3 { + if bucket, err := strconv.Atoi(parts[0]); err == nil { + if bucket >= minBucket && bucket <= maxBucket { + if err := item.Value(func(val []byte) error { + idMap[string(val)] = true + return nil + }); err != nil { + // Log error but continue + } + } + } + } + } + + // Convert map to slice + var ids []string + for id := range idMap { + ids = append(ids, id) + } + + return ids +} + // intersectIDLists returns the intersection of two ID lists func (p *LoggerPlugin) intersectIDLists(list1, list2 []string) []string { if len(list1) == 0 || len(list2) == 0 { @@ -649,6 +822,9 @@ func getTokenBucket(tokens int) int { type LogManager interface { // Search searches for log entries based on filters and pagination Search(filters *SearchFilters, pagination *PaginationOptions) (*SearchResult, error) + + // Get the number of dropped requests + GetDroppedRequests() int64 } type PluginLogManager struct { @@ -659,6 +835,10 @@ func (p *PluginLogManager) Search(filters *SearchFilters, pagination *Pagination return p.plugin.SearchLogs(filters, pagination) } +func (p *PluginLogManager) GetDroppedRequests() int64 { + return p.plugin.droppedRequests.Load() +} + func (p *LoggerPlugin) GetPluginLogManager() *PluginLogManager { return &PluginLogManager{ plugin: p, diff --git a/transports/bifrost-http/ui/404.html b/transports/bifrost-http/ui/404.html index db7718c3aa..e06483eca3 100644 --- a/transports/bifrost-http/ui/404.html +++ b/transports/bifrost-http/ui/404.html @@ -1,4 +1,4 @@ -404: This page could not be found.Bifrost UI - AI Gateway Dashboard

404

This page could not be found.

\ No newline at end of file +

404

This page could not be found.

\ No newline at end of file diff --git a/transports/bifrost-http/ui/404/index.html b/transports/bifrost-http/ui/404/index.html index 81a144aea0..5fa12f34c7 100644 --- a/transports/bifrost-http/ui/404/index.html +++ b/transports/bifrost-http/ui/404/index.html @@ -1,4 +1,4 @@ -404: This page could not be found.Bifrost UI - AI Gateway Dashboard

404

This page could not be found.

\ No newline at end of file +

404

This page could not be found.

\ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/build/_buildManifest.js b/transports/bifrost-http/ui/_next/static/build/_buildManifest.js index 7ab434c66f..2a6d077149 100644 --- a/transports/bifrost-http/ui/_next/static/build/_buildManifest.js +++ b/transports/bifrost-http/ui/_next/static/build/_buildManifest.js @@ -1 +1 @@ -self.__BUILD_MANIFEST=function(e,r,t){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:5,errorRate:1e-4,numBits:96,numHashes:14,bitArray:[1,0,0,r,1,e,r,r,e,r,r,e,e,e,e,r,r,e,r,e,r,r,e,r,r,r,e,e,e,r,r,e,e,r,e,e,r,r,r,e,e,r,e,r,e,r,r,e,r,e,r,r,e,r,e,e,e,e,e,e,e,e,r,e,r,e,e,e,e,e,r,e,r,r,e,r,e,e,e,e,e,e,e,e,e,e,r,e,r,r,r,e,r,e,r,e]},__routerFilterDynamic:{numItems:r,errorRate:1e-4,numBits:r,numHashes:null,bitArray:[]},"/_error":["static/chunks/pages/_error-cc3f077a18ea1793.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file +self.__BUILD_MANIFEST=function(e,r,t){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:6,errorRate:1e-4,numBits:116,numHashes:14,bitArray:[1,0,0,r,r,r,1,e,e,r,r,e,e,r,e,e,e,r,r,r,e,r,r,r,e,r,r,r,e,r,e,r,e,r,r,e,e,e,e,e,e,r,e,e,r,r,e,e,r,r,r,r,e,r,e,r,r,e,r,e,e,e,r,e,r,e,e,e,r,e,r,e,r,e,r,r,e,r,r,r,e,r,r,e,e,e,e,r,e,e,r,e,e,r,r,r,r,r,e,e,r,e,e,e,r,e,e,e,r,r,e,e,e,r,e,r]},__routerFilterDynamic:{numItems:r,errorRate:1e-4,numBits:r,numHashes:null,bitArray:[]},"/_error":["static/chunks/pages/_error-cc3f077a18ea1793.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/154-7b9dae231ea16969.js b/transports/bifrost-http/ui/_next/static/chunks/154-7b9dae231ea16969.js deleted file mode 100644 index fc2087bd5d..0000000000 --- a/transports/bifrost-http/ui/_next/static/chunks/154-7b9dae231ea16969.js +++ /dev/null @@ -1,124 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[154],{3052:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(9946).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},3786:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(9946).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},5040:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(9946).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},5688:e=>{e.exports={style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"},className:"__className_5cfdac",variable:"__variable_5cfdac"}},5695:(e,t,r)=>{"use strict";var s=r(8999);r.o(s,"usePathname")&&r.d(t,{usePathname:function(){return s.usePathname}}),r.o(s,"useSearchParams")&&r.d(t,{useSearchParams:function(){return s.useSearchParams}})},7109:(e,t,r)=>{"use strict";r.d(t,{V:()=>N});var s=r(5695),i=r(2115);function n(e,t,r){return Math.max(t,Math.min(e,r))}function o(e,t){return"rtl"===t?(1-e)*100:(-1+e)*100}function a(e,t,r){if("string"==typeof t)void 0!==r&&(e.style[t]=r);else for(let r in t)if(t.hasOwnProperty(r)){let s=t[r];void 0!==s&&(e.style[r]=s)}}function l(e,t){e.classList.add(t)}function c(e,t){e.classList.remove(t)}function u(e){e&&e.parentNode&&e.parentNode.removeChild(e)}var p={minimum:.08,maximum:1,template:`
-
-
`,easing:"linear",positionUsing:"",speed:200,trickle:!0,trickleSpeed:200,showSpinner:!0,indeterminate:!1,indeterminateSelector:".indeterminate",barSelector:".bar",spinnerSelector:".spinner",parent:"body",direction:"ltr"},d=class{static settings=p;static status=null;static pending=[];static isPaused=!1;static reset(){return this.status=null,this.isPaused=!1,this.pending=[],this.settings=p,this}static configure(e){return Object.assign(this.settings,e),this}static isStarted(){return"number"==typeof this.status}static set(e){if(this.isPaused)return this;let t=this.isStarted();e=n(e,this.settings.minimum,this.settings.maximum),this.status=e===this.settings.maximum?null:e;let r=this.render(!t),s=this.settings.speed,i=this.settings.easing;return r.forEach(e=>e.offsetWidth),this.queue(t=>{r.forEach(t=>{this.settings.indeterminate||a(t.querySelector(this.settings.barSelector),this.barPositionCSS({n:e,speed:s,ease:i}))}),e===this.settings.maximum?(r.forEach(e=>{a(e,{transition:"none",opacity:"1"}),e.offsetWidth}),setTimeout(()=>{r.forEach(e=>{a(e,{transition:`all ${s}ms ${i}`,opacity:"0"})}),setTimeout(()=>{r.forEach(e=>{this.remove(e),null===this.settings.template&&a(e,{transition:"none",opacity:"1"})}),t()},s)},s)):setTimeout(t,s)}),this}static start(){this.status||this.set(0);let e=()=>{this.isPaused||setTimeout(()=>{this.status&&(this.trickle(),e())},this.settings.trickleSpeed)};return this.settings.trickle&&e(),this}static done(e){return e||this.status?this.inc(.3+.5*Math.random()).set(1):this}static inc(e){if(this.isPaused||this.settings.indeterminate)return this;let t=this.status;return t?t>1?this:("number"!=typeof e&&(e=t>=0&&t<.2?.1:t>=.2&&t<.5?.04:t>=.5&&t<.8?.02:.005*(t>=.8&&t<.99)),t=n(t+e,0,.994),this.set(t)):this.start()}static dec(e){if(this.isPaused||this.settings.indeterminate)return this;let t=this.status;return"number"!=typeof t?this:("number"!=typeof e&&(e=t>.8?.1:t>.5?.05:t>.2?.02:.01),t=n(t-e,0,.994),this.set(t))}static trickle(){return this.isPaused||this.settings.indeterminate?this:this.inc()}static promise(e){if(!e||"resolved"===e.state())return this;let t=0,r=0;return this.start(),t++,r++,e.always(()=>{0==--r?(t=0,this.done()):this.set((t-r)/t)}),this}static render(e=!1){let t="string"==typeof this.settings.parent?document.querySelector(this.settings.parent):this.settings.parent,r=t?Array.from(t.querySelectorAll(".bprogress")):[];if(null!==this.settings.template&&0===r.length){l(document.documentElement,"bprogress-busy");let e=document.createElement("div");l(e,"bprogress"),e.innerHTML=this.settings.template,t!==document.body&&l(t,"bprogress-custom-parent"),t.appendChild(e),r.push(e)}return r.forEach(r=>{if(null===this.settings.template&&(r.style.display=""),l(document.documentElement,"bprogress-busy"),t!==document.body&&l(t,"bprogress-custom-parent"),this.settings.indeterminate){let e=r.querySelector(this.settings.barSelector);e&&(e.style.display="none");let t=r.querySelector(this.settings.indeterminateSelector);t&&(t.style.display="")}else{let t=r.querySelector(this.settings.barSelector),s=e?o(0,this.settings.direction):o(this.status||0,this.settings.direction);a(t,this.barPositionCSS({n:this.status||0,speed:this.settings.speed,ease:this.settings.easing,perc:s}));let i=r.querySelector(this.settings.indeterminateSelector);i&&(i.style.display="none")}if(null===this.settings.template){let e=r.querySelector(this.settings.spinnerSelector);e&&(e.style.display=this.settings.showSpinner?"block":"none")}else if(!this.settings.showSpinner){let e=r.querySelector(this.settings.spinnerSelector);e&&u(e)}}),r}static remove(e){e?null===this.settings.template?e.style.display="none":u(e):(c(document.documentElement,"bprogress-busy"),("string"==typeof this.settings.parent?document.querySelectorAll(this.settings.parent):[this.settings.parent]).forEach(e=>{c(e,"bprogress-custom-parent")}),document.querySelectorAll(".bprogress").forEach(e=>{null===this.settings.template?e.style.display="none":u(e)}))}static pause(){return!this.isStarted()||this.settings.indeterminate||(this.isPaused=!0),this}static resume(){if(!this.isStarted()||this.settings.indeterminate)return this;if(this.isPaused=!1,this.settings.trickle){let e=()=>{this.isPaused||setTimeout(()=>{this.status&&(this.trickle(),e())},this.settings.trickleSpeed)};e()}return this}static isRendered(){return document.querySelectorAll(".bprogress").length>0}static getPositioningCSS(){let e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return`${t}Perspective`in e?"translate3d":`${t}Transform`in e?"translate":"margin"}static queue(e){this.pending.push(e),1===this.pending.length&&this.next()}static next(){let e=this.pending.shift();e&&e(this.next.bind(this))}static initPositionUsing(){""===this.settings.positionUsing&&(this.settings.positionUsing=this.getPositioningCSS())}static barPositionCSS({n:e,speed:t,ease:r,perc:s}){this.initPositionUsing();let i={},n=s??o(e,this.settings.direction);return"translate3d"===this.settings.positionUsing?i={transform:`translate3d(${n}%,0,0)`}:"translate"===this.settings.positionUsing?i={transform:`translate(${n}%,0)`}:"width"===this.settings.positionUsing?i={width:`${"rtl"===this.settings.direction?100-n:n+100}%`,..."rtl"===this.settings.direction?{right:"0",left:"auto"}:{}}:"margin"===this.settings.positionUsing&&(i="rtl"===this.settings.direction?{"margin-left":`${-n}%`}:{"margin-right":`${-n}%`}),i.transition=`all ${t}ms ${r}`,i}},h=({color:e="#29d",height:t="2px",spinnerPosition:r="top-right"})=>` -:root { - --bprogress-color: ${e}; - --bprogress-height: ${t}; - --bprogress-spinner-size: 18px; - --bprogress-spinner-animation-duration: 400ms; - --bprogress-spinner-border-size: 2px; - --bprogress-box-shadow: 0 0 10px ${e}, 0 0 5px ${e}; - --bprogress-z-index: 99999; - --bprogress-spinner-top: ${"top-right"===r||"top-left"===r?"15px":"auto"}; - --bprogress-spinner-bottom: ${"bottom-right"===r||"bottom-left"===r?"15px":"auto"}; - --bprogress-spinner-right: ${"top-right"===r||"bottom-right"===r?"15px":"auto"}; - --bprogress-spinner-left: ${"top-left"===r||"bottom-left"===r?"15px":"auto"}; -} - -.bprogress { - width: 0; - height: 0; - pointer-events: none; - z-index: var(--bprogress-z-index); -} - -.bprogress .bar { - background: var(--bprogress-color); - position: fixed; - z-index: var(--bprogress-z-index); - top: 0; - left: 0; - width: 100%; - height: var(--bprogress-height); -} - -/* Fancy blur effect */ -.bprogress .peg { - display: block; - position: absolute; - right: 0; - width: 100px; - height: 100%; - box-shadow: var(--bprogress-box-shadow); - opacity: 1.0; - transform: rotate(3deg) translate(0px, -4px); -} - -/* Remove these to get rid of the spinner */ -.bprogress .spinner { - display: block; - position: fixed; - z-index: var(--bprogress-z-index); - top: var(--bprogress-spinner-top); - bottom: var(--bprogress-spinner-bottom); - right: var(--bprogress-spinner-right); - left: var(--bprogress-spinner-left); -} - -.bprogress .spinner-icon { - width: var(--bprogress-spinner-size); - height: var(--bprogress-spinner-size); - box-sizing: border-box; - border: solid var(--bprogress-spinner-border-size) transparent; - border-top-color: var(--bprogress-color); - border-left-color: var(--bprogress-color); - border-radius: 50%; - -webkit-animation: bprogress-spinner var(--bprogress-spinner-animation-duration) linear infinite; - animation: bprogress-spinner var(--bprogress-spinner-animation-duration) linear infinite; -} - -.bprogress-custom-parent { - overflow: hidden; - position: relative; -} - -.bprogress-custom-parent .bprogress .spinner, -.bprogress-custom-parent .bprogress .bar { - position: absolute; -} - -.bprogress .indeterminate { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: var(--bprogress-height); - overflow: hidden; -} - -.bprogress .indeterminate .inc, -.bprogress .indeterminate .dec { - position: absolute; - top: 0; - height: 100%; - background-color: var(--bprogress-color); -} - -.bprogress .indeterminate .inc { - animation: bprogress-indeterminate-increase 2s infinite; -} - -.bprogress .indeterminate .dec { - animation: bprogress-indeterminate-decrease 2s 0.5s infinite; -} - -@-webkit-keyframes bprogress-spinner { - 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } - 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } -} - -@keyframes bprogress-spinner { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} - -@keyframes bprogress-indeterminate-increase { - from { left: -5%; width: 5%; } - to { left: 130%; width: 100%; } -} - -@keyframes bprogress-indeterminate-decrease { - from { left: -80%; width: 80%; } - to { left: 110%; width: 10%; } -} -`;function g(e,t){if("string"==typeof t&&"data-disable-progress"===t){let r=t.substring(5).replace(/-([a-z])/g,(e,t)=>t.toUpperCase());return e.dataset[r]}let r=e[t];if(r instanceof SVGAnimatedString){let e=r.baseVal;if("href"===t){var s=location.origin;if(!e.startsWith("/")||!s)return e;let{pathname:t,query:r,hash:i}=function(e){let t=e.indexOf("#"),r=e.indexOf("?"),s=r>-1&&(t<0||r-1?{pathname:e.substring(0,s?r:t),query:s?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}(e);return`${s}${t}${r}${i}`}return e}return r}function f(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(s=0;s=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var b=(0,i.createContext)(void 0),v=function(){var e=(0,i.useContext)(b);if(!e)throw Error("useProgress must be used within a ProgressProvider");return e},y=function(e){var t=e.children,r=e.color,s=void 0===r?"#0A2FFF":r,n=e.height,o=void 0===n?"2px":n,a=e.options,l=e.spinnerPosition,c=void 0===l?"top-right":l,u=e.style,p=e.disableStyle,g=e.nonce,m=e.shallowRouting,v=e.disableSameURL,y=e.startPosition,S=e.delay,w=e.stopDelay,P=(0,i.useRef)(null),k=(0,i.useRef)(!1),O=(0,i.useCallback)(function(){return k.current=!0},[]),x=(0,i.useCallback)(function(){return k.current=!1},[]),E=(0,i.useCallback)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];r&&O(),P.current=setTimeout(function(){e>0&&d.set(e),d.start()},t)},[O]),j=(0,i.useCallback)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;setTimeout(function(){P.current&&clearTimeout(P.current),P.current=setTimeout(function(){d.isStarted()&&(d.done(),k.current&&x())},e)},t)},[x]),A=(0,i.useCallback)(function(e){return d.inc(e)},[]),C=(0,i.useCallback)(function(e){return d.dec(e)},[]),N=(0,i.useCallback)(function(e){return d.set(e)},[]),R=(0,i.useCallback)(function(){return d.pause()},[]),$=(0,i.useCallback)(function(){return d.resume()},[]),q=(0,i.useCallback)(function(){return d.settings},[]),z=(0,i.useCallback)(function(e){var t=q(),r="function"==typeof e?e(t):e,s=f({},t,r);d.configure(s)},[q]),L=(0,i.useMemo)(function(){return i.createElement("style",{nonce:g},u||h({color:s,height:o,spinnerPosition:c}))},[s,o,g,c,u]);return d.configure(a||{}),i.createElement(b.Provider,{value:{start:E,stop:j,inc:A,dec:C,set:N,pause:R,resume:$,setOptions:z,getOptions:q,isAutoStopDisabled:k,disableAutoStop:O,enableAutoStop:x,shallowRouting:void 0!==m&&m,disableSameURL:void 0===v||v,startPosition:void 0===y?0:y,delay:void 0===S?0:S,stopDelay:void 0===w?0:w}},void 0!==p&&p?null:L,t)};function S(){for(var e=arguments.length,t=Array(e),r=0;r=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(s=0;s=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var j=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["memo","shouldCompareComplexProps"];return(0,i.memo)(e,function(e,r){return!1!==r.memo&&(!r.shouldCompareComplexProps||function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],s=Object.keys(e).filter(function(e){return!r.includes(e)}),i=Object.keys(t).filter(function(e){return!r.includes(e)});if(s.length!==i.length)return!1;var n=!0,o=!1,a=void 0;try{for(var l,c=s[Symbol.iterator]();!(n=(l=c.next()).done);n=!0){var u=l.value;if(e[u]!==t[u])return!1}}catch(e){o=!0,a=e}finally{try{n||null==c.return||c.return()}finally{if(o)throw a}}return!0}(e,r,t))})}(function(e){return!function(e){var t=e.shallowRouting,r=void 0!==t&&t,s=e.disableSameURL,n=void 0===s||s,o=e.startPosition,a=void 0===o?0:o,l=e.delay,c=void 0===l?0:l,u=e.stopDelay,p=void 0===u?0:u,d=e.targetPreprocessor,h=e.disableAnchorClick,f=void 0!==h&&h,m=e.startOnLoad,b=void 0!==m&&m,y=e.forcedStopDelay,S=void 0===y?0:y,w=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],P=(0,i.useRef)([]),k=(0,i.useRef)(null),O=v(),x=O.start,E=O.stop,j=O.isAutoStopDisabled;(0,i.useEffect)(function(){b&&x(a,c)},[]),(0,i.useEffect)(function(){return k.current&&clearTimeout(k.current),k.current=setTimeout(function(){j.current||E()},p),function(){k.current&&clearTimeout(k.current)}},w),(0,i.useEffect)(function(){if(!f){var e=function(e){if(e.defaultPrevented)return;var t,s,i,o,l=e.currentTarget;if(l.hasAttribute("download"))return;var u=e.target,p=(null==u?void 0:u.getAttribute("data-prevent-progress"))==="true"||(null==l?void 0:l.getAttribute("data-prevent-progress"))==="true";if(!p)for(var h,f=u;f&&"a"!==f.tagName.toLowerCase();){if((null==(h=f.parentElement)?void 0:h.getAttribute("data-prevent-progress"))==="true"){p=!0;break}f=f.parentElement}if(!p&&"_blank"!==g(l,"target")&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey){var m=g(l,"href"),b=d?d(new URL(m)):new URL(m),v=new URL(location.href);if(!(r&&(t=b,s=v,t.protocol+"//"+t.host+t.pathname==s.protocol+"//"+s.host+s.pathname))||!n){i=b,o=v,i.protocol+"//"+i.host+i.pathname+i.search==o.protocol+"//"+o.host+o.pathname+o.search&&n||x(a,c)}}},t=new MutationObserver(function(){var t=Array.from(document.querySelectorAll("a")).filter(function(e){var t=g(e,"href"),r="true"===e.getAttribute("data-disable-progress"),s=t&&!t.startsWith("tel:")&&!t.startsWith("mailto:")&&!t.startsWith("blob:")&&!t.startsWith("javascript:");return!r&&s&&"_blank"!==g(e,"target")});t.forEach(function(t){t.addEventListener("click",e,!0)}),P.current=t});t.observe(document,{childList:!0,subtree:!0});var s=window.history.pushState;return window.history.pushState=new Proxy(window.history.pushState,{apply:function(e,t,r){return j.current||E(p,S),e.apply(t,r)}}),function(){t.disconnect(),P.current.forEach(function(t){t.removeEventListener("click",e,!0)}),P.current=[],window.history.pushState=s}}},[f,d,r,n,c,p,a,x,E,S,j])}(e,[(0,s.usePathname)(),(0,s.useSearchParams)()]),null});j.displayName="AppProgress";var A=function(e){var t=e.children,r=e.ProgressComponent,s=e.color,n=e.height,o=e.options,a=e.spinnerPosition,l=e.style,c=e.disableStyle,u=e.nonce,p=e.stopDelay,d=e.delay,h=e.startPosition,g=e.disableSameURL,f=e.shallowRouting,m=E(e,["children","ProgressComponent","color","height","options","spinnerPosition","style","disableStyle","nonce","stopDelay","delay","startPosition","disableSameURL","shallowRouting"]);return i.createElement(y,{color:s,height:n,options:o,spinnerPosition:a,style:l,disableStyle:c,nonce:u,stopDelay:p,delay:d,startPosition:h,disableSameURL:g,shallowRouting:f},i.createElement(r,x({stopDelay:p,delay:d,startPosition:h,disableSameURL:g,shallowRouting:f},m)),t)},C=function(e){return i.createElement(i.Suspense,null,i.createElement(j,f({},e)))},N=function(e){var t=e.children,r=E(e,["children"]);return i.createElement(A,x({ProgressComponent:C},r),t)}},7340:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(9946).A)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]])},7520:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(9946).A)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]])},9432:e=>{e.exports={style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"},className:"__className_9a8899",variable:"__variable_9a8899"}}}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/213-672494f56acc68a6.js b/transports/bifrost-http/ui/_next/static/chunks/213-672494f56acc68a6.js deleted file mode 100644 index f36f5714c4..0000000000 --- a/transports/bifrost-http/ui/_next/static/chunks/213-672494f56acc68a6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[213],{2564:(t,e,a)=>{a.d(e,{Qg:()=>s,bL:()=>l});var o=a(2115),r=a(3655),n=a(5155),s=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),i=o.forwardRef((t,e)=>(0,n.jsx)(r.sG.span,{...t,ref:e,style:{...s,...t.style}}));i.displayName="VisuallyHidden";var l=i},4416:(t,e,a)=>{a.d(e,{A:()=>o});let o=(0,a(9946).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},5448:(t,e,a)=>{a.d(e,{A:()=>o});let o=(0,a(9946).A)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]])},5452:(t,e,a)=>{a.d(e,{G$:()=>q,Hs:()=>w,UC:()=>ta,VY:()=>tr,ZL:()=>tt,bL:()=>Q,bm:()=>tn,hE:()=>to,hJ:()=>te,l9:()=>$});var o=a(2115),r=a(5185),n=a(6101),s=a(6081),i=a(1285),l=a(5845),d=a(9178),c=a(7900),u=a(4378),f=a(8905),p=a(3655),m=a(2293),g=a(3795),h=a(8168),v=a(9708),y=a(5155),b="Dialog",[x,w]=(0,s.A)(b),[E,k]=x(b),N=t=>{let{__scopeDialog:e,children:a,open:r,defaultOpen:n,onOpenChange:s,modal:d=!0}=t,c=o.useRef(null),u=o.useRef(null),[f,p]=(0,l.i)({prop:r,defaultProp:null!=n&&n,onChange:s,caller:b});return(0,y.jsx)(E,{scope:e,triggerRef:c,contentRef:u,contentId:(0,i.B)(),titleId:(0,i.B)(),descriptionId:(0,i.B)(),open:f,onOpenChange:p,onOpenToggle:o.useCallback(()=>p(t=>!t),[p]),modal:d,children:a})};N.displayName=b;var C="DialogTrigger",j=o.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,s=k(C,a),i=(0,n.s)(e,s.triggerRef);return(0,y.jsx)(p.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":G(s.open),...o,ref:i,onClick:(0,r.m)(t.onClick,s.onOpenToggle)})});j.displayName=C;var D="DialogPortal",[R,M]=x(D,{forceMount:void 0}),T=t=>{let{__scopeDialog:e,forceMount:a,children:r,container:n}=t,s=k(D,e);return(0,y.jsx)(R,{scope:e,forceMount:a,children:o.Children.map(r,t=>(0,y.jsx)(f.C,{present:a||s.open,children:(0,y.jsx)(u.Z,{asChild:!0,container:n,children:t})}))})};T.displayName=D;var S="DialogOverlay",B=o.forwardRef((t,e)=>{let a=M(S,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=k(S,t.__scopeDialog);return n.modal?(0,y.jsx)(f.C,{present:o||n.open,children:(0,y.jsx)(A,{...r,ref:e})}):null});B.displayName=S;var I=(0,v.TL)("DialogOverlay.RemoveScroll"),A=o.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=k(S,a);return(0,y.jsx)(g.A,{as:I,allowPinchZoom:!0,shards:[r.contentRef],children:(0,y.jsx)(p.sG.div,{"data-state":G(r.open),...o,ref:e,style:{pointerEvents:"auto",...o.style}})})}),z="DialogContent",P=o.forwardRef((t,e)=>{let a=M(z,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=k(z,t.__scopeDialog);return(0,y.jsx)(f.C,{present:o||n.open,children:n.modal?(0,y.jsx)(Y,{...r,ref:e}):(0,y.jsx)(O,{...r,ref:e})})});P.displayName=z;var Y=o.forwardRef((t,e)=>{let a=k(z,t.__scopeDialog),s=o.useRef(null),i=(0,n.s)(e,a.contentRef,s);return o.useEffect(()=>{let t=s.current;if(t)return(0,h.Eq)(t)},[]),(0,y.jsx)(L,{...t,ref:i,trapFocus:a.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,r.m)(t.onCloseAutoFocus,t=>{var e;t.preventDefault(),null==(e=a.triggerRef.current)||e.focus()}),onPointerDownOutside:(0,r.m)(t.onPointerDownOutside,t=>{let e=t.detail.originalEvent,a=0===e.button&&!0===e.ctrlKey;(2===e.button||a)&&t.preventDefault()}),onFocusOutside:(0,r.m)(t.onFocusOutside,t=>t.preventDefault())})}),O=o.forwardRef((t,e)=>{let a=k(z,t.__scopeDialog),r=o.useRef(!1),n=o.useRef(!1);return(0,y.jsx)(L,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:e=>{var o,s;null==(o=t.onCloseAutoFocus)||o.call(t,e),e.defaultPrevented||(r.current||null==(s=a.triggerRef.current)||s.focus(),e.preventDefault()),r.current=!1,n.current=!1},onInteractOutside:e=>{var o,s;null==(o=t.onInteractOutside)||o.call(t,e),e.defaultPrevented||(r.current=!0,"pointerdown"===e.detail.originalEvent.type&&(n.current=!0));let i=e.target;(null==(s=a.triggerRef.current)?void 0:s.contains(i))&&e.preventDefault(),"focusin"===e.detail.originalEvent.type&&n.current&&e.preventDefault()}})}),L=o.forwardRef((t,e)=>{let{__scopeDialog:a,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:i,...l}=t,u=k(z,a),f=o.useRef(null),p=(0,n.s)(e,f);return(0,m.Oh)(),(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(c.n,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:s,onUnmountAutoFocus:i,children:(0,y.jsx)(d.qW,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":G(u.open),...l,ref:p,onDismiss:()=>u.onOpenChange(!1)})}),(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(Z,{titleId:u.titleId}),(0,y.jsx)(J,{contentRef:f,descriptionId:u.descriptionId})]})]})}),F="DialogTitle",_=o.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=k(F,a);return(0,y.jsx)(p.sG.h2,{id:r.titleId,...o,ref:e})});_.displayName=F;var H="DialogDescription",V=o.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=k(H,a);return(0,y.jsx)(p.sG.p,{id:r.descriptionId,...o,ref:e})});V.displayName=H;var U="DialogClose",X=o.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,n=k(U,a);return(0,y.jsx)(p.sG.button,{type:"button",...o,ref:e,onClick:(0,r.m)(t.onClick,()=>n.onOpenChange(!1))})});function G(t){return t?"open":"closed"}X.displayName=U;var W="DialogTitleWarning",[q,K]=(0,s.q)(W,{contentName:z,titleName:F,docsSlug:"dialog"}),Z=t=>{let{titleId:e}=t,a=K(W),r="`".concat(a.contentName,"` requires a `").concat(a.titleName,"` for the component to be accessible for screen reader users.\n\nIf you want to hide the `").concat(a.titleName,"`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/").concat(a.docsSlug);return o.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},J=t=>{let{contentRef:e,descriptionId:a}=t,r=K("DialogDescriptionWarning"),n="Warning: Missing `Description` or `aria-describedby={undefined}` for {".concat(r.contentName,"}.");return o.useEffect(()=>{var t;let o=null==(t=e.current)?void 0:t.getAttribute("aria-describedby");a&&o&&(document.getElementById(a)||console.warn(n))},[n,e,a]),null},Q=N,$=j,tt=T,te=B,ta=P,to=_,tr=V,tn=X},6671:(t,e,a)=>{a.d(e,{Toaster:()=>k,o:()=>y});var o=a(2115),r=a(7650);let n=t=>{switch(t){case"success":return l;case"info":return c;case"warning":return d;case"error":return u;default:return null}},s=Array(12).fill(0),i=t=>{let{visible:e,className:a}=t;return o.createElement("div",{className:["sonner-loading-wrapper",a].filter(Boolean).join(" "),"data-visible":e},o.createElement("div",{className:"sonner-spinner"},s.map((t,e)=>o.createElement("div",{className:"sonner-loading-bar",key:"spinner-bar-".concat(e)}))))},l=o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},o.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"})),d=o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},o.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"})),c=o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},o.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"})),u=o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},o.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"})),f=o.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"},o.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),o.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),p=()=>{let[t,e]=o.useState(document.hidden);return o.useEffect(()=>{let t=()=>{e(document.hidden)};return document.addEventListener("visibilitychange",t),()=>window.removeEventListener("visibilitychange",t)},[]),t},m=1;class g{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{let e=this.subscribers.indexOf(t);this.subscribers.splice(e,1)}),this.publish=t=>{this.subscribers.forEach(e=>e(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var e;let{message:a,...o}=t,r="number"==typeof(null==t?void 0:t.id)||(null==(e=t.id)?void 0:e.length)>0?t.id:m++,n=this.toasts.find(t=>t.id===r),s=void 0===t.dismissible||t.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),n?this.toasts=this.toasts.map(e=>e.id===r?(this.publish({...e,...t,id:r,title:a}),{...e,...t,id:r,dismissible:s,title:a}):e):this.addToast({title:a,...o,dismissible:s,id:r}),r},this.dismiss=t=>(t?(this.dismissedToasts.add(t),requestAnimationFrame(()=>this.subscribers.forEach(e=>e({id:t,dismiss:!0})))):this.toasts.forEach(t=>{this.subscribers.forEach(e=>e({id:t.id,dismiss:!0}))}),t),this.message=(t,e)=>this.create({...e,message:t}),this.error=(t,e)=>this.create({...e,message:t,type:"error"}),this.success=(t,e)=>this.create({...e,type:"success",message:t}),this.info=(t,e)=>this.create({...e,type:"info",message:t}),this.warning=(t,e)=>this.create({...e,type:"warning",message:t}),this.loading=(t,e)=>this.create({...e,type:"loading",message:t}),this.promise=(t,e)=>{let a,r;if(!e)return;void 0!==e.loading&&(r=this.create({...e,promise:t,type:"loading",message:e.loading,description:"function"!=typeof e.description?e.description:void 0}));let n=Promise.resolve(t instanceof Function?t():t),s=void 0!==r,i=n.then(async t=>{if(a=["resolve",t],o.isValidElement(t))s=!1,this.create({id:r,type:"default",message:t});else if(v(t)&&!t.ok){s=!1;let a="function"==typeof e.error?await e.error("HTTP error! status: ".concat(t.status)):e.error,n="function"==typeof e.description?await e.description("HTTP error! status: ".concat(t.status)):e.description,i="object"!=typeof a||o.isValidElement(a)?{message:a}:a;this.create({id:r,type:"error",description:n,...i})}else if(t instanceof Error){s=!1;let a="function"==typeof e.error?await e.error(t):e.error,n="function"==typeof e.description?await e.description(t):e.description,i="object"!=typeof a||o.isValidElement(a)?{message:a}:a;this.create({id:r,type:"error",description:n,...i})}else if(void 0!==e.success){s=!1;let a="function"==typeof e.success?await e.success(t):e.success,n="function"==typeof e.description?await e.description(t):e.description,i="object"!=typeof a||o.isValidElement(a)?{message:a}:a;this.create({id:r,type:"success",description:n,...i})}}).catch(async t=>{if(a=["reject",t],void 0!==e.error){s=!1;let a="function"==typeof e.error?await e.error(t):e.error,n="function"==typeof e.description?await e.description(t):e.description,i="object"!=typeof a||o.isValidElement(a)?{message:a}:a;this.create({id:r,type:"error",description:n,...i})}}).finally(()=>{s&&(this.dismiss(r),r=void 0),null==e.finally||e.finally.call(e)}),l=()=>new Promise((t,e)=>i.then(()=>"reject"===a[0]?e(a[1]):t(a[1])).catch(e));return"string"!=typeof r&&"number"!=typeof r?{unwrap:l}:Object.assign(r,{unwrap:l})},this.custom=(t,e)=>{let a=(null==e?void 0:e.id)||m++;return this.create({jsx:t(a),id:a,...e}),a},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}let h=new g,v=t=>t&&"object"==typeof t&&"ok"in t&&"boolean"==typeof t.ok&&"status"in t&&"number"==typeof t.status,y=Object.assign((t,e)=>{let a=(null==e?void 0:e.id)||m++;return h.addToast({title:t,...e,id:a}),a},{success:h.success,info:h.info,warning:h.warning,error:h.error,custom:h.custom,message:h.message,promise:h.promise,dismiss:h.dismiss,loading:h.loading},{getHistory:()=>h.toasts,getToasts:()=>h.getActiveToasts()});function b(t){return void 0!==t.label}function x(){for(var t=arguments.length,e=Array(t),a=0;asvg{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}[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(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);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]{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%)}");let w=t=>{var e,a,r,s,l,d,c,u,m,g,h;let{invert:v,toast:y,unstyled:w,interacting:E,setHeights:k,visibleToasts:N,heights:C,index:j,toasts:D,expanded:R,removeToast:M,defaultRichColors:T,closeButton:S,style:B,cancelButtonStyle:I,actionButtonStyle:A,className:z="",descriptionClassName:P="",duration:Y,position:O,gap:L,expandByDefault:F,classNames:_,icons:H,closeButtonAriaLabel:V="Close toast"}=t,[U,X]=o.useState(null),[G,W]=o.useState(null),[q,K]=o.useState(!1),[Z,J]=o.useState(!1),[Q,$]=o.useState(!1),[tt,te]=o.useState(!1),[ta,to]=o.useState(!1),[tr,tn]=o.useState(0),[ts,ti]=o.useState(0),tl=o.useRef(y.duration||Y||4e3),td=o.useRef(null),tc=o.useRef(null),tu=0===j,tf=j+1<=N,tp=y.type,tm=!1!==y.dismissible,tg=y.className||"",th=y.descriptionClassName||"",tv=o.useMemo(()=>C.findIndex(t=>t.toastId===y.id)||0,[C,y.id]),ty=o.useMemo(()=>{var t;return null!=(t=y.closeButton)?t:S},[y.closeButton,S]),tb=o.useMemo(()=>y.duration||Y||4e3,[y.duration,Y]),tx=o.useRef(0),tw=o.useRef(0),tE=o.useRef(0),tk=o.useRef(null),[tN,tC]=O.split("-"),tj=o.useMemo(()=>C.reduce((t,e,a)=>a>=tv?t:t+e.height,0),[C,tv]),tD=p(),tR=y.invert||v,tM="loading"===tp;tw.current=o.useMemo(()=>tv*L+tj,[tv,tj]),o.useEffect(()=>{tl.current=tb},[tb]),o.useEffect(()=>{K(!0)},[]),o.useEffect(()=>{let t=tc.current;if(t){let e=t.getBoundingClientRect().height;return ti(e),k(t=>[{toastId:y.id,height:e,position:y.position},...t]),()=>k(t=>t.filter(t=>t.toastId!==y.id))}},[k,y.id]),o.useLayoutEffect(()=>{if(!q)return;let t=tc.current,e=t.style.height;t.style.height="auto";let a=t.getBoundingClientRect().height;t.style.height=e,ti(a),k(t=>t.find(t=>t.toastId===y.id)?t.map(t=>t.toastId===y.id?{...t,height:a}:t):[{toastId:y.id,height:a,position:y.position},...t])},[q,y.title,y.description,k,y.id,y.jsx,y.action,y.cancel]);let tT=o.useCallback(()=>{J(!0),tn(tw.current),k(t=>t.filter(t=>t.toastId!==y.id)),setTimeout(()=>{M(y)},200)},[y,M,k,tw]);o.useEffect(()=>{let t;if((!y.promise||"loading"!==tp)&&y.duration!==1/0&&"loading"!==y.type)return R||E||tD?(()=>{if(tE.current{null==y.onAutoClose||y.onAutoClose.call(y,y),tT()},tl.current)),()=>clearTimeout(t)},[R,E,y,tp,tD,tT]),o.useEffect(()=>{y.delete&&(tT(),null==y.onDismiss||y.onDismiss.call(y,y))},[tT,y.delete]);let tS=y.icon||(null==H?void 0:H[tp])||n(tp);return o.createElement("li",{tabIndex:0,ref:tc,className:x(z,tg,null==_?void 0:_.toast,null==y||null==(e=y.classNames)?void 0:e.toast,null==_?void 0:_.default,null==_?void 0:_[tp],null==y||null==(a=y.classNames)?void 0:a[tp]),"data-sonner-toast":"","data-rich-colors":null!=(g=y.richColors)?g:T,"data-styled":!(y.jsx||y.unstyled||w),"data-mounted":q,"data-promise":!!y.promise,"data-swiped":ta,"data-removed":Z,"data-visible":tf,"data-y-position":tN,"data-x-position":tC,"data-index":j,"data-front":tu,"data-swiping":Q,"data-dismissible":tm,"data-type":tp,"data-invert":tR,"data-swipe-out":tt,"data-swipe-direction":G,"data-expanded":!!(R||F&&q),style:{"--index":j,"--toasts-before":j,"--z-index":D.length-j,"--offset":"".concat(Z?tr:tw.current,"px"),"--initial-height":F?"auto":"".concat(ts,"px"),...B,...y.style},onDragEnd:()=>{$(!1),X(null),tk.current=null},onPointerDown:t=>{!tM&&tm&&(td.current=new Date,tn(tw.current),t.target.setPointerCapture(t.pointerId),"BUTTON"!==t.target.tagName&&($(!0),tk.current={x:t.clientX,y:t.clientY}))},onPointerUp:()=>{var t,e,a,o,r;if(tt||!tm)return;tk.current=null;let n=Number((null==(t=tc.current)?void 0:t.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),s=Number((null==(e=tc.current)?void 0:e.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),i=new Date().getTime()-(null==(a=td.current)?void 0:a.getTime()),l="x"===U?n:s,d=Math.abs(l)/i;if(Math.abs(l)>=45||d>.11){tn(tw.current),null==y.onDismiss||y.onDismiss.call(y,y),"x"===U?W(n>0?"right":"left"):W(s>0?"down":"up"),tT(),te(!0);return}null==(o=tc.current)||o.style.setProperty("--swipe-amount-x","0px"),null==(r=tc.current)||r.style.setProperty("--swipe-amount-y","0px"),to(!1),$(!1),X(null)},onPointerMove:e=>{var a,o,r,n;if(!tk.current||!tm||(null==(a=window.getSelection())?void 0:a.toString().length)>0)return;let s=e.clientY-tk.current.y,i=e.clientX-tk.current.x,l=null!=(n=t.swipeDirections)?n:function(t){let[e,a]=t.split("-"),o=[];return e&&o.push(e),a&&o.push(a),o}(O);!U&&(Math.abs(i)>1||Math.abs(s)>1)&&X(Math.abs(i)>Math.abs(s)?"x":"y");let d={x:0,y:0},c=t=>1/(1.5+Math.abs(t)/20);if("y"===U){if(l.includes("top")||l.includes("bottom"))if(l.includes("top")&&s<0||l.includes("bottom")&&s>0)d.y=s;else{let t=s*c(s);d.y=Math.abs(t)0)d.x=i;else{let t=i*c(i);d.x=Math.abs(t)0||Math.abs(d.y)>0)&&to(!0),null==(o=tc.current)||o.style.setProperty("--swipe-amount-x","".concat(d.x,"px")),null==(r=tc.current)||r.style.setProperty("--swipe-amount-y","".concat(d.y,"px"))}},ty&&!y.jsx&&"loading"!==tp?o.createElement("button",{"aria-label":V,"data-disabled":tM,"data-close-button":!0,onClick:tM||!tm?()=>{}:()=>{tT(),null==y.onDismiss||y.onDismiss.call(y,y)},className:x(null==_?void 0:_.closeButton,null==y||null==(r=y.classNames)?void 0:r.closeButton)},null!=(h=null==H?void 0:H.close)?h:f):null,(tp||y.icon||y.promise)&&null!==y.icon&&((null==H?void 0:H[tp])!==null||y.icon)?o.createElement("div",{"data-icon":"",className:x(null==_?void 0:_.icon,null==y||null==(s=y.classNames)?void 0:s.icon)},y.promise||"loading"===y.type&&!y.icon?y.icon||function(){var t,e;return(null==H?void 0:H.loading)?o.createElement("div",{className:x(null==_?void 0:_.loader,null==y||null==(e=y.classNames)?void 0:e.loader,"sonner-loader"),"data-visible":"loading"===tp},H.loading):o.createElement(i,{className:x(null==_?void 0:_.loader,null==y||null==(t=y.classNames)?void 0:t.loader),visible:"loading"===tp})}():null,"loading"!==y.type?tS:null):null,o.createElement("div",{"data-content":"",className:x(null==_?void 0:_.content,null==y||null==(l=y.classNames)?void 0:l.content)},o.createElement("div",{"data-title":"",className:x(null==_?void 0:_.title,null==y||null==(d=y.classNames)?void 0:d.title)},y.jsx?y.jsx:"function"==typeof y.title?y.title():y.title),y.description?o.createElement("div",{"data-description":"",className:x(P,th,null==_?void 0:_.description,null==y||null==(c=y.classNames)?void 0:c.description)},"function"==typeof y.description?y.description():y.description):null),o.isValidElement(y.cancel)?y.cancel:y.cancel&&b(y.cancel)?o.createElement("button",{"data-button":!0,"data-cancel":!0,style:y.cancelButtonStyle||I,onClick:t=>{b(y.cancel)&&tm&&(null==y.cancel.onClick||y.cancel.onClick.call(y.cancel,t),tT())},className:x(null==_?void 0:_.cancelButton,null==y||null==(u=y.classNames)?void 0:u.cancelButton)},y.cancel.label):null,o.isValidElement(y.action)?y.action:y.action&&b(y.action)?o.createElement("button",{"data-button":!0,"data-action":!0,style:y.actionButtonStyle||A,onClick:t=>{b(y.action)&&(null==y.action.onClick||y.action.onClick.call(y.action,t),t.defaultPrevented||tT())},className:x(null==_?void 0:_.actionButton,null==y||null==(m=y.classNames)?void 0:m.actionButton)},y.action.label):null)};function E(){if("undefined"==typeof window||"undefined"==typeof document)return"ltr";let t=document.documentElement.getAttribute("dir");return"auto"!==t&&t?t:window.getComputedStyle(document.documentElement).direction}let k=o.forwardRef(function(t,e){let{invert:a,position:n="bottom-right",hotkey:s=["altKey","KeyT"],expand:i,closeButton:l,className:d,offset:c,mobileOffset:u,theme:f="light",richColors:p,duration:m,style:g,visibleToasts:v=3,toastOptions:y,dir:b=E(),gap:x=14,icons:k,containerAriaLabel:N="Notifications"}=t,[C,j]=o.useState([]),D=o.useMemo(()=>Array.from(new Set([n].concat(C.filter(t=>t.position).map(t=>t.position)))),[C,n]),[R,M]=o.useState([]),[T,S]=o.useState(!1),[B,I]=o.useState(!1),[A,z]=o.useState("system"!==f?f:"undefined"!=typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),P=o.useRef(null),Y=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),O=o.useRef(null),L=o.useRef(!1),F=o.useCallback(t=>{j(e=>{var a;return(null==(a=e.find(e=>e.id===t.id))?void 0:a.delete)||h.dismiss(t.id),e.filter(e=>{let{id:a}=e;return a!==t.id})})},[]);return o.useEffect(()=>h.subscribe(t=>{if(t.dismiss)return void requestAnimationFrame(()=>{j(e=>e.map(e=>e.id===t.id?{...e,delete:!0}:e))});setTimeout(()=>{r.flushSync(()=>{j(e=>{let a=e.findIndex(e=>e.id===t.id);return -1!==a?[...e.slice(0,a),{...e[a],...t},...e.slice(a+1)]:[t,...e]})})})}),[C]),o.useEffect(()=>{if("system"!==f)return void z(f);if("system"===f&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?z("dark"):z("light")),"undefined"==typeof window)return;let t=window.matchMedia("(prefers-color-scheme: dark)");try{t.addEventListener("change",t=>{let{matches:e}=t;e?z("dark"):z("light")})}catch(e){t.addListener(t=>{let{matches:e}=t;try{e?z("dark"):z("light")}catch(t){console.error(t)}})}},[f]),o.useEffect(()=>{C.length<=1&&S(!1)},[C]),o.useEffect(()=>{let t=t=>{var e,a;s.every(e=>t[e]||t.code===e)&&(S(!0),null==(a=P.current)||a.focus()),"Escape"===t.code&&(document.activeElement===P.current||(null==(e=P.current)?void 0:e.contains(document.activeElement)))&&S(!1)};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[s]),o.useEffect(()=>{if(P.current)return()=>{O.current&&(O.current.focus({preventScroll:!0}),O.current=null,L.current=!1)}},[P.current]),o.createElement("section",{ref:e,"aria-label":"".concat(N," ").concat(Y),tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},D.map((e,r)=>{var n;let[s,f]=e.split("-");return C.length?o.createElement("ol",{key:e,dir:"auto"===b?E():b,tabIndex:-1,ref:P,className:d,"data-sonner-toaster":!0,"data-sonner-theme":A,"data-y-position":s,"data-x-position":f,style:{"--front-toast-height":"".concat((null==(n=R[0])?void 0:n.height)||0,"px"),"--width":"".concat(356,"px"),"--gap":"".concat(x,"px"),...g,...function(t,e){let a={};return[t,e].forEach((t,e)=>{let o=1===e,r=o?"--mobile-offset":"--offset",n=o?"16px":"24px";function s(t){["top","right","bottom","left"].forEach(e=>{a["".concat(r,"-").concat(e)]="number"==typeof t?"".concat(t,"px"):t})}"number"==typeof t||"string"==typeof t?s(t):"object"==typeof t?["top","right","bottom","left"].forEach(e=>{void 0===t[e]?a["".concat(r,"-").concat(e)]=n:a["".concat(r,"-").concat(e)]="number"==typeof t[e]?"".concat(t[e],"px"):t[e]}):s(n)}),a}(c,u)},onBlur:t=>{L.current&&!t.currentTarget.contains(t.relatedTarget)&&(L.current=!1,O.current&&(O.current.focus({preventScroll:!0}),O.current=null))},onFocus:t=>{!(t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible)&&(L.current||(L.current=!0,O.current=t.relatedTarget))},onMouseEnter:()=>S(!0),onMouseMove:()=>S(!0),onMouseLeave:()=>{B||S(!1)},onDragEnd:()=>S(!1),onPointerDown:t=>{t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible||I(!0)},onPointerUp:()=>I(!1)},C.filter(t=>!t.position&&0===r||t.position===e).map((r,n)=>{var s,d;return o.createElement(w,{key:r.id,icons:k,index:n,toast:r,defaultRichColors:p,duration:null!=(s=null==y?void 0:y.duration)?s:m,className:null==y?void 0:y.className,descriptionClassName:null==y?void 0:y.descriptionClassName,invert:a,visibleToasts:v,closeButton:null!=(d=null==y?void 0:y.closeButton)?d:l,interacting:B,position:e,style:null==y?void 0:y.style,unstyled:null==y?void 0:y.unstyled,classNames:null==y?void 0:y.classNames,cancelButtonStyle:null==y?void 0:y.cancelButtonStyle,actionButtonStyle:null==y?void 0:y.actionButtonStyle,closeButtonAriaLabel:null==y?void 0:y.closeButtonAriaLabel,removeToast:F,toasts:C.filter(t=>t.position==r.position),heights:R.filter(t=>t.position==r.position),setHeights:M,expandByDefault:i,gap:x,expanded:T,swipeDirections:t.swipeDirections})})):null}))})}}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/443-5702d24d72c89eac.js b/transports/bifrost-http/ui/_next/static/chunks/272-ea143f89da3f8b1f.js similarity index 75% rename from transports/bifrost-http/ui/_next/static/chunks/443-5702d24d72c89eac.js rename to transports/bifrost-http/ui/_next/static/chunks/272-ea143f89da3f8b1f.js index 0dfe299c7b..554a2cf73b 100644 --- a/transports/bifrost-http/ui/_next/static/chunks/443-5702d24d72c89eac.js +++ b/transports/bifrost-http/ui/_next/static/chunks/272-ea143f89da3f8b1f.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[443],{255:(e,t,l)=>{function n(e){let{moduleIds:t}=e;return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return n}}),l(5155),l(7650),l(5744),l(589)},547:(e,t,l)=>{l.d(t,{UC:()=>U,ZL:()=>N,bL:()=>B,l9:()=>q});var n=l(2115),o=l(5185),r=l(6101),i=l(6081),a=l(9178),u=l(2293),s=l(7900),d=l(1285),g=l(5152),c=l(4378),p=l(8905),f=l(3655),m=l(9708),v=l(5845),h=l(8168),C=l(3795),b=l(5155),w="Popover",[S,R]=(0,i.A)(w,[g.Bk]),y=(0,g.Bk)(),[F,x]=S(w),M=e=>{let{__scopePopover:t,children:l,open:o,defaultOpen:r,onOpenChange:i,modal:a=!1}=e,u=y(t),s=n.useRef(null),[c,p]=n.useState(!1),[f,m]=(0,v.i)({prop:o,defaultProp:null!=r&&r,onChange:i,caller:w});return(0,b.jsx)(g.bL,{...u,children:(0,b.jsx)(F,{scope:t,contentId:(0,d.B)(),triggerRef:s,open:f,onOpenChange:m,onOpenToggle:n.useCallback(()=>m(e=>!e),[m]),hasCustomAnchor:c,onCustomAnchorAdd:n.useCallback(()=>p(!0),[]),onCustomAnchorRemove:n.useCallback(()=>p(!1),[]),modal:a,children:l})})};M.displayName=w;var P="PopoverAnchor";n.forwardRef((e,t)=>{let{__scopePopover:l,...o}=e,r=x(P,l),i=y(l),{onCustomAnchorAdd:a,onCustomAnchorRemove:u}=r;return n.useEffect(()=>(a(),()=>u()),[a,u]),(0,b.jsx)(g.Mz,{...i,...o,ref:t})}).displayName=P;var I="PopoverTrigger",V=n.forwardRef((e,t)=>{let{__scopePopover:l,...n}=e,i=x(I,l),a=y(l),u=(0,r.s)(t,i.triggerRef),s=(0,b.jsx)(f.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":T(i.open),...n,ref:u,onClick:(0,o.m)(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,b.jsx)(g.Mz,{asChild:!0,...a,children:s})});V.displayName=I;var A="PopoverPortal",[E,_]=S(A,{forceMount:void 0}),k=e=>{let{__scopePopover:t,forceMount:l,children:n,container:o}=e,r=x(A,t);return(0,b.jsx)(E,{scope:t,forceMount:l,children:(0,b.jsx)(p.C,{present:l||r.open,children:(0,b.jsx)(c.Z,{asChild:!0,container:o,children:n})})})};k.displayName=A;var L="PopoverContent",G=n.forwardRef((e,t)=>{let l=_(L,e.__scopePopover),{forceMount:n=l.forceMount,...o}=e,r=x(L,e.__scopePopover);return(0,b.jsx)(p.C,{present:n||r.open,children:r.modal?(0,b.jsx)(O,{...o,ref:t}):(0,b.jsx)(H,{...o,ref:t})})});G.displayName=L;var D=(0,m.TL)("PopoverContent.RemoveScroll"),O=n.forwardRef((e,t)=>{let l=x(L,e.__scopePopover),i=n.useRef(null),a=(0,r.s)(t,i),u=n.useRef(!1);return n.useEffect(()=>{let e=i.current;if(e)return(0,h.Eq)(e)},[]),(0,b.jsx)(C.A,{as:D,allowPinchZoom:!0,children:(0,b.jsx)(z,{...e,ref:a,trapFocus:l.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,o.m)(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),u.current||null==(t=l.triggerRef.current)||t.focus()}),onPointerDownOutside:(0,o.m)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,l=0===t.button&&!0===t.ctrlKey;u.current=2===t.button||l},{checkForDefaultPrevented:!1}),onFocusOutside:(0,o.m)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),H=n.forwardRef((e,t)=>{let l=x(L,e.__scopePopover),o=n.useRef(!1),r=n.useRef(!1);return(0,b.jsx)(z,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{var n,i;null==(n=e.onCloseAutoFocus)||n.call(e,t),t.defaultPrevented||(o.current||null==(i=l.triggerRef.current)||i.focus(),t.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:t=>{var n,i;null==(n=e.onInteractOutside)||n.call(e,t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(r.current=!0));let a=t.target;(null==(i=l.triggerRef.current)?void 0:i.contains(a))&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&r.current&&t.preventDefault()}})}),z=n.forwardRef((e,t)=>{let{__scopePopover:l,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:r,disableOutsidePointerEvents:i,onEscapeKeyDown:d,onPointerDownOutside:c,onFocusOutside:p,onInteractOutside:f,...m}=e,v=x(L,l),h=y(l);return(0,u.Oh)(),(0,b.jsx)(s.n,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:o,onUnmountAutoFocus:r,children:(0,b.jsx)(a.qW,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:f,onEscapeKeyDown:d,onPointerDownOutside:c,onFocusOutside:p,onDismiss:()=>v.onOpenChange(!1),children:(0,b.jsx)(g.UC,{"data-state":T(v.open),role:"dialog",id:v.contentId,...h,...m,ref:t,style:{...m.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),j="PopoverClose";function T(e){return e?"open":"closed"}n.forwardRef((e,t)=>{let{__scopePopover:l,...n}=e,r=x(j,l);return(0,b.jsx)(f.sG.button,{type:"button",...n,ref:t,onClick:(0,o.m)(e.onClick,()=>r.onOpenChange(!1))})}).displayName=j,n.forwardRef((e,t)=>{let{__scopePopover:l,...n}=e,o=y(l);return(0,b.jsx)(g.i3,{...o,...n,ref:t})}).displayName="PopoverArrow";var B=M,q=V,N=k,U=G},646:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},741:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("chart-no-axes-column-increasing",[["line",{x1:"12",x2:"12",y1:"20",y2:"10",key:"1vz5eb"}],["line",{x1:"18",x2:"18",y1:"20",y2:"4",key:"cun8e5"}],["line",{x1:"6",x2:"6",y1:"20",y2:"16",key:"hq0ia6"}]])},1032:(e,t,l)=>{function n(e,t){return"function"==typeof e?e(t):e}function o(e,t){return l=>{t.setState(t=>({...t,[e]:n(l,t[e])}))}}function r(e){return e instanceof Function}l.d(t,{HT:()=>N,ZR:()=>q});function i(e,t,l){let n,o=[];return r=>{let i,a;l.key&&l.debug&&(i=Date.now());let u=e(r);if(!(u.length!==o.length||u.some((e,t)=>o[t]!==e)))return n;if(o=u,l.key&&l.debug&&(a=Date.now()),n=t(...u),null==l||null==l.onChange||l.onChange(n),l.key&&l.debug&&null!=l&&l.debug()){let e=Math.round((Date.now()-i)*100)/100,t=Math.round((Date.now()-a)*100)/100,n=t/16,o=(e,t)=>{for(e=String(e);e.length{function n(e){let{moduleIds:t}=e;return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return n}}),l(5155),l(7650),l(5744),l(589)},547:(e,t,l)=>{l.d(t,{UC:()=>U,ZL:()=>N,bL:()=>B,l9:()=>q});var n=l(2115),o=l(5185),r=l(6101),i=l(6081),a=l(9178),u=l(2293),s=l(7900),d=l(1285),g=l(5152),c=l(4378),p=l(8905),f=l(3655),m=l(9708),v=l(5845),h=l(8168),C=l(3795),b=l(5155),w="Popover",[S,R]=(0,i.A)(w,[g.Bk]),y=(0,g.Bk)(),[x,F]=S(w),M=e=>{let{__scopePopover:t,children:l,open:o,defaultOpen:r,onOpenChange:i,modal:a=!1}=e,u=y(t),s=n.useRef(null),[c,p]=n.useState(!1),[f,m]=(0,v.i)({prop:o,defaultProp:null!=r&&r,onChange:i,caller:w});return(0,b.jsx)(g.bL,{...u,children:(0,b.jsx)(x,{scope:t,contentId:(0,d.B)(),triggerRef:s,open:f,onOpenChange:m,onOpenToggle:n.useCallback(()=>m(e=>!e),[m]),hasCustomAnchor:c,onCustomAnchorAdd:n.useCallback(()=>p(!0),[]),onCustomAnchorRemove:n.useCallback(()=>p(!1),[]),modal:a,children:l})})};M.displayName=w;var P="PopoverAnchor";n.forwardRef((e,t)=>{let{__scopePopover:l,...o}=e,r=F(P,l),i=y(l),{onCustomAnchorAdd:a,onCustomAnchorRemove:u}=r;return n.useEffect(()=>(a(),()=>u()),[a,u]),(0,b.jsx)(g.Mz,{...i,...o,ref:t})}).displayName=P;var I="PopoverTrigger",A=n.forwardRef((e,t)=>{let{__scopePopover:l,...n}=e,i=F(I,l),a=y(l),u=(0,r.s)(t,i.triggerRef),s=(0,b.jsx)(f.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":T(i.open),...n,ref:u,onClick:(0,o.m)(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,b.jsx)(g.Mz,{asChild:!0,...a,children:s})});A.displayName=I;var V="PopoverPortal",[E,_]=S(V,{forceMount:void 0}),k=e=>{let{__scopePopover:t,forceMount:l,children:n,container:o}=e,r=F(V,t);return(0,b.jsx)(E,{scope:t,forceMount:l,children:(0,b.jsx)(p.C,{present:l||r.open,children:(0,b.jsx)(c.Z,{asChild:!0,container:o,children:n})})})};k.displayName=V;var L="PopoverContent",G=n.forwardRef((e,t)=>{let l=_(L,e.__scopePopover),{forceMount:n=l.forceMount,...o}=e,r=F(L,e.__scopePopover);return(0,b.jsx)(p.C,{present:n||r.open,children:r.modal?(0,b.jsx)(O,{...o,ref:t}):(0,b.jsx)(H,{...o,ref:t})})});G.displayName=L;var D=(0,m.TL)("PopoverContent.RemoveScroll"),O=n.forwardRef((e,t)=>{let l=F(L,e.__scopePopover),i=n.useRef(null),a=(0,r.s)(t,i),u=n.useRef(!1);return n.useEffect(()=>{let e=i.current;if(e)return(0,h.Eq)(e)},[]),(0,b.jsx)(C.A,{as:D,allowPinchZoom:!0,children:(0,b.jsx)(z,{...e,ref:a,trapFocus:l.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,o.m)(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),u.current||null==(t=l.triggerRef.current)||t.focus()}),onPointerDownOutside:(0,o.m)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,l=0===t.button&&!0===t.ctrlKey;u.current=2===t.button||l},{checkForDefaultPrevented:!1}),onFocusOutside:(0,o.m)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),H=n.forwardRef((e,t)=>{let l=F(L,e.__scopePopover),o=n.useRef(!1),r=n.useRef(!1);return(0,b.jsx)(z,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{var n,i;null==(n=e.onCloseAutoFocus)||n.call(e,t),t.defaultPrevented||(o.current||null==(i=l.triggerRef.current)||i.focus(),t.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:t=>{var n,i;null==(n=e.onInteractOutside)||n.call(e,t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(r.current=!0));let a=t.target;(null==(i=l.triggerRef.current)?void 0:i.contains(a))&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&r.current&&t.preventDefault()}})}),z=n.forwardRef((e,t)=>{let{__scopePopover:l,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:r,disableOutsidePointerEvents:i,onEscapeKeyDown:d,onPointerDownOutside:c,onFocusOutside:p,onInteractOutside:f,...m}=e,v=F(L,l),h=y(l);return(0,u.Oh)(),(0,b.jsx)(s.n,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:o,onUnmountAutoFocus:r,children:(0,b.jsx)(a.qW,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:f,onEscapeKeyDown:d,onPointerDownOutside:c,onFocusOutside:p,onDismiss:()=>v.onOpenChange(!1),children:(0,b.jsx)(g.UC,{"data-state":T(v.open),role:"dialog",id:v.contentId,...h,...m,ref:t,style:{...m.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),j="PopoverClose";function T(e){return e?"open":"closed"}n.forwardRef((e,t)=>{let{__scopePopover:l,...n}=e,r=F(j,l);return(0,b.jsx)(f.sG.button,{type:"button",...n,ref:t,onClick:(0,o.m)(e.onClick,()=>r.onOpenChange(!1))})}).displayName=j,n.forwardRef((e,t)=>{let{__scopePopover:l,...n}=e,o=y(l);return(0,b.jsx)(g.i3,{...o,...n,ref:t})}).displayName="PopoverArrow";var B=M,q=A,N=k,U=G},646:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},741:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("chart-no-axes-column-increasing",[["line",{x1:"12",x2:"12",y1:"20",y2:"10",key:"1vz5eb"}],["line",{x1:"18",x2:"18",y1:"20",y2:"4",key:"cun8e5"}],["line",{x1:"6",x2:"6",y1:"20",y2:"16",key:"hq0ia6"}]])},1032:(e,t,l)=>{function n(e,t){return"function"==typeof e?e(t):e}function o(e,t){return l=>{t.setState(t=>({...t,[e]:n(l,t[e])}))}}function r(e){return e instanceof Function}l.d(t,{HT:()=>N,ZR:()=>q});function i(e,t,l){let n,o=[];return r=>{let i,a;l.key&&l.debug&&(i=Date.now());let u=e(r);if(!(u.length!==o.length||u.some((e,t)=>o[t]!==e)))return n;if(o=u,l.key&&l.debug&&(a=Date.now()),n=t(...u),null==l||null==l.onChange||l.onChange(n),l.key&&l.debug&&null!=l&&l.debug()){let e=Math.round((Date.now()-i)*100)/100,t=Math.round((Date.now()-a)*100)/100,n=t/16,o=(e,t)=>{for(e=String(e);e.length{var l;return null!=(l=null==e?void 0:e.debugAll)?l:e[t]},key:!1,onChange:n}}let u="debugHeaders";function s(e,t,l){var n;let o={id:null!=(n=l.id)?n:t.id,column:t,index:l.index,isPlaceholder:!!l.isPlaceholder,placeholderId:l.placeholderId,depth:l.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=l=>{l.subHeaders&&l.subHeaders.length&&l.subHeaders.map(t),e.push(l)};return t(o),e},getContext:()=>({table:e,header:o,column:t})};return e._features.forEach(t=>{null==t.createHeader||t.createHeader(o,e)}),o}function d(e,t,l,n){var o,r;let i=0,a=function(e,t){void 0===t&&(t=1),i=Math.max(i,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var l;null!=(l=e.columns)&&l.length&&a(e.columns,t+1)},0)};a(e);let u=[],d=(e,t)=>{let o={depth:t,id:[n,`${t}`].filter(Boolean).join("_"),headers:[]},r=[];e.forEach(e=>{let i,a=[...r].reverse()[0],u=e.column.depth===o.depth,d=!1;if(u&&e.column.parent?i=e.column.parent:(i=e.column,d=!0),a&&(null==a?void 0:a.column)===i)a.subHeaders.push(e);else{let o=s(l,i,{id:[n,t,i.id,null==e?void 0:e.id].filter(Boolean).join("_"),isPlaceholder:d,placeholderId:d?`${r.filter(e=>e.column===i).length}`:void 0,depth:t,index:r.length});o.subHeaders.push(e),r.push(o)}o.headers.push(e),e.headerGroup=o}),u.push(o),t>0&&d(r,t-1)};d(t.map((e,t)=>s(l,e,{depth:i,index:t})),i-1),u.reverse();let g=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,l=0,n=[0];return e.subHeaders&&e.subHeaders.length?(n=[],g(e.subHeaders).forEach(e=>{let{colSpan:l,rowSpan:o}=e;t+=l,n.push(o)})):t=1,l+=Math.min(...n),e.colSpan=t,e.rowSpan=l,{colSpan:t,rowSpan:l}});return g(null!=(o=null==(r=u[0])?void 0:r.headers)?o:[]),u}let g=(e,t,l,n,o,r,u)=>{let s={id:t,index:n,original:l,depth:o,parentId:u,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(s._valuesCache.hasOwnProperty(t))return s._valuesCache[t];let l=e.getColumn(t);if(null!=l&&l.accessorFn)return s._valuesCache[t]=l.accessorFn(s.original,n),s._valuesCache[t]},getUniqueValues:t=>{if(s._uniqueValuesCache.hasOwnProperty(t))return s._uniqueValuesCache[t];let l=e.getColumn(t);if(null!=l&&l.accessorFn)return l.columnDef.getUniqueValues?s._uniqueValuesCache[t]=l.columnDef.getUniqueValues(s.original,n):s._uniqueValuesCache[t]=[s.getValue(t)],s._uniqueValuesCache[t]},renderValue:t=>{var l;return null!=(l=s.getValue(t))?l:e.options.renderFallbackValue},subRows:null!=r?r:[],getLeafRows:()=>(function(e,t){let l=[],n=e=>{e.forEach(e=>{l.push(e);let o=t(e);null!=o&&o.length&&n(o)})};return n(e),l})(s.subRows,e=>e.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let e=[],t=s;for(;;){let l=t.getParentRow();if(!l)break;e.push(l),t=l}return e.reverse()},getAllCells:i(()=>[e.getAllLeafColumns()],t=>t.map(t=>(function(e,t,l,n){let o={id:`${t.id}_${l.id}`,row:t,column:l,getValue:()=>t.getValue(n),renderValue:()=>{var t;return null!=(t=o.getValue())?t:e.options.renderFallbackValue},getContext:i(()=>[e,l,t,o],(e,t,l,n)=>({table:e,column:t,row:l,cell:n,getValue:n.getValue,renderValue:n.renderValue}),a(e.options,"debugCells","cell.getContext"))};return e._features.forEach(n=>{null==n.createCell||n.createCell(o,l,t,e)},{}),o})(e,s,t,t.id)),a(e.options,"debugRows","getAllCells")),_getAllCellsByColumnId:i(()=>[s.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),a(e.options,"debugRows","getAllCellsByColumnId"))};for(let t=0;t{var n,o;let r=null==l||null==(n=l.toString())?void 0:n.toLowerCase();return!!(null==(o=e.getValue(t))||null==(o=o.toString())||null==(o=o.toLowerCase())?void 0:o.includes(r))};c.autoRemove=e=>R(e);let p=(e,t,l)=>{var n;return!!(null==(n=e.getValue(t))||null==(n=n.toString())?void 0:n.includes(l))};p.autoRemove=e=>R(e);let f=(e,t,l)=>{var n;return(null==(n=e.getValue(t))||null==(n=n.toString())?void 0:n.toLowerCase())===(null==l?void 0:l.toLowerCase())};f.autoRemove=e=>R(e);let m=(e,t,l)=>{var n;return null==(n=e.getValue(t))?void 0:n.includes(l)};m.autoRemove=e=>R(e);let v=(e,t,l)=>!l.some(l=>{var n;return!(null!=(n=e.getValue(t))&&n.includes(l))});v.autoRemove=e=>R(e)||!(null!=e&&e.length);let h=(e,t,l)=>l.some(l=>{var n;return null==(n=e.getValue(t))?void 0:n.includes(l)});h.autoRemove=e=>R(e)||!(null!=e&&e.length);let C=(e,t,l)=>e.getValue(t)===l;C.autoRemove=e=>R(e);let b=(e,t,l)=>e.getValue(t)==l;b.autoRemove=e=>R(e);let w=(e,t,l)=>{let[n,o]=l,r=e.getValue(t);return r>=n&&r<=o};w.resolveFilterValue=e=>{let[t,l]=e,n="number"!=typeof t?parseFloat(t):t,o="number"!=typeof l?parseFloat(l):l,r=null===t||Number.isNaN(n)?-1/0:n,i=null===l||Number.isNaN(o)?1/0:o;if(r>i){let e=r;r=i,i=e}return[r,i]},w.autoRemove=e=>R(e)||R(e[0])&&R(e[1]);let S={includesString:c,includesStringSensitive:p,equalsString:f,arrIncludes:m,arrIncludesAll:v,arrIncludesSome:h,equals:C,weakEquals:b,inNumberRange:w};function R(e){return null==e||""===e}function y(e,t,l){return!!e&&!!e.autoRemove&&e.autoRemove(t,l)||void 0===t||"string"==typeof t&&!t}let F={sum:(e,t,l)=>l.reduce((t,l)=>{let n=l.getValue(e);return t+("number"==typeof n?n:0)},0),min:(e,t,l)=>{let n;return l.forEach(t=>{let l=t.getValue(e);null!=l&&(n>l||void 0===n&&l>=l)&&(n=l)}),n},max:(e,t,l)=>{let n;return l.forEach(t=>{let l=t.getValue(e);null!=l&&(n=l)&&(n=l)}),n},extent:(e,t,l)=>{let n,o;return l.forEach(t=>{let l=t.getValue(e);null!=l&&(void 0===n?l>=l&&(n=o=l):(n>l&&(n=l),o{let l=0,n=0;if(t.forEach(t=>{let o=t.getValue(e);null!=o&&(o*=1)>=o&&(++l,n+=o)}),l)return n/l},median:(e,t)=>{if(!t.length)return;let l=t.map(t=>t.getValue(e));if(!function(e){return Array.isArray(e)&&e.every(e=>"number"==typeof e)}(l))return;if(1===l.length)return l[0];let n=Math.floor(l.length/2),o=l.sort((e,t)=>e-t);return l.length%2!=0?o[n]:(o[n-1]+o[n])/2},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},x=()=>({left:[],right:[]}),M={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},P=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),I=null;function V(e){return"touchstart"===e.type}function A(e,t){return t?"center"===t?e.getCenterVisibleLeafColumns():"left"===t?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}let E=()=>({pageIndex:0,pageSize:10}),_=()=>({top:[],bottom:[]}),k=(e,t,l,n,o)=>{var r;let i=o.getRow(t,!0);l?(i.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),i.getCanSelect()&&(e[t]=!0)):delete e[t],n&&null!=(r=i.subRows)&&r.length&&i.getCanSelectSubRows()&&i.subRows.forEach(t=>k(e,t.id,l,n,o))};function L(e,t){let l=e.getState().rowSelection,n=[],o={},r=function(e,t){return e.map(e=>{var t;let i=G(e,l);if(i&&(n.push(e),o[e.id]=e),null!=(t=e.subRows)&&t.length&&(e={...e,subRows:r(e.subRows)}),i)return e}).filter(Boolean)};return{rows:r(t.rows),flatRows:n,rowsById:o}}function G(e,t){var l;return null!=(l=t[e.id])&&l}function D(e,t,l){var n;if(!(null!=(n=e.subRows)&&n.length))return!1;let o=!0,r=!1;return e.subRows.forEach(e=>{if((!r||o)&&(e.getCanSelect()&&(G(e,t)?r=!0:o=!1),e.subRows&&e.subRows.length)){let l=D(e,t);"all"===l?r=!0:("some"===l&&(r=!0),o=!1)}}),o?"all":!!r&&"some"}let O=/([0-9]+)/gm;function H(e,t){return e===t?0:e>t?1:-1}function z(e){return"number"==typeof e?isNaN(e)||e===1/0||e===-1/0?"":String(e):"string"==typeof e?e:""}function j(e,t){let l=e.split(O).filter(Boolean),n=t.split(O).filter(Boolean);for(;l.length&&n.length;){let e=l.shift(),t=n.shift(),o=parseInt(e,10),r=parseInt(t,10),i=[o,r].sort();if(isNaN(i[0])){if(e>t)return 1;if(t>e)return -1;continue}if(isNaN(i[1]))return isNaN(o)?-1:1;if(o>r)return 1;if(r>o)return -1}return l.length-n.length}let T={alphanumeric:(e,t,l)=>j(z(e.getValue(l)).toLowerCase(),z(t.getValue(l)).toLowerCase()),alphanumericCaseSensitive:(e,t,l)=>j(z(e.getValue(l)),z(t.getValue(l))),text:(e,t,l)=>H(z(e.getValue(l)).toLowerCase(),z(t.getValue(l)).toLowerCase()),textCaseSensitive:(e,t,l)=>H(z(e.getValue(l)),z(t.getValue(l))),datetime:(e,t,l)=>{let n=e.getValue(l),o=t.getValue(l);return n>o?1:nH(e.getValue(l),t.getValue(l))},B=[{createTable:e=>{e.getHeaderGroups=i(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,l,n,o)=>{var r,i;let a=null!=(r=null==n?void 0:n.map(e=>l.find(t=>t.id===e)).filter(Boolean))?r:[],u=null!=(i=null==o?void 0:o.map(e=>l.find(t=>t.id===e)).filter(Boolean))?i:[];return d(t,[...a,...l.filter(e=>!(null!=n&&n.includes(e.id))&&!(null!=o&&o.includes(e.id))),...u],e)},a(e.options,u,"getHeaderGroups")),e.getCenterHeaderGroups=i(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,l,n,o)=>d(t,l=l.filter(e=>!(null!=n&&n.includes(e.id))&&!(null!=o&&o.includes(e.id))),e,"center"),a(e.options,u,"getCenterHeaderGroups")),e.getLeftHeaderGroups=i(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,l,n)=>{var o;return d(t,null!=(o=null==n?void 0:n.map(e=>l.find(t=>t.id===e)).filter(Boolean))?o:[],e,"left")},a(e.options,u,"getLeftHeaderGroups")),e.getRightHeaderGroups=i(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,l,n)=>{var o;return d(t,null!=(o=null==n?void 0:n.map(e=>l.find(t=>t.id===e)).filter(Boolean))?o:[],e,"right")},a(e.options,u,"getRightHeaderGroups")),e.getFooterGroups=i(()=>[e.getHeaderGroups()],e=>[...e].reverse(),a(e.options,u,"getFooterGroups")),e.getLeftFooterGroups=i(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),a(e.options,u,"getLeftFooterGroups")),e.getCenterFooterGroups=i(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),a(e.options,u,"getCenterFooterGroups")),e.getRightFooterGroups=i(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),a(e.options,u,"getRightFooterGroups")),e.getFlatHeaders=i(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),a(e.options,u,"getFlatHeaders")),e.getLeftFlatHeaders=i(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),a(e.options,u,"getLeftFlatHeaders")),e.getCenterFlatHeaders=i(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),a(e.options,u,"getCenterFlatHeaders")),e.getRightFlatHeaders=i(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),a(e.options,u,"getRightFlatHeaders")),e.getCenterLeafHeaders=i(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}),a(e.options,u,"getCenterLeafHeaders")),e.getLeftLeafHeaders=i(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}),a(e.options,u,"getLeftLeafHeaders")),e.getRightLeafHeaders=i(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}),a(e.options,u,"getRightLeafHeaders")),e.getLeafHeaders=i(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,l)=>{var n,o,r,i,a,u;return[...null!=(n=null==(o=e[0])?void 0:o.headers)?n:[],...null!=(r=null==(i=t[0])?void 0:i.headers)?r:[],...null!=(a=null==(u=l[0])?void 0:u.headers)?a:[]].map(e=>e.getLeafHeaders()).flat()},a(e.options,u,"getLeafHeaders"))}},{getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:o("columnVisibility",e)}),createColumn:(e,t)=>{e.toggleVisibility=l=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:null!=l?l:!e.getIsVisible()}))},e.getIsVisible=()=>{var l,n;let o=e.columns;return null==(l=o.length?o.some(e=>e.getIsVisible()):null==(n=t.getState().columnVisibility)?void 0:n[e.id])||l},e.getCanHide=()=>{var l,n;return(null==(l=e.columnDef.enableHiding)||l)&&(null==(n=t.options.enableHiding)||n)},e.getToggleVisibilityHandler=()=>t=>{null==e.toggleVisibility||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=i(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),a(t.options,"debugRows","_getAllVisibleCells")),e.getVisibleCells=i(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,l)=>[...e,...t,...l],a(t.options,"debugRows","getVisibleCells"))},createTable:e=>{let t=(t,l)=>i(()=>[l(),l().filter(e=>e.getIsVisible()).map(e=>e.id).join("_")],e=>e.filter(e=>null==e.getIsVisible?void 0:e.getIsVisible()),a(e.options,"debugColumns",t));e.getVisibleFlatColumns=t("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>null==e.options.onColumnVisibilityChange?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{var l;e.setColumnVisibility(t?{}:null!=(l=e.initialState.columnVisibility)?l:{})},e.toggleAllColumnsVisible=t=>{var l;t=null!=(l=t)?l:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,l)=>({...e,[l.id]:t||!(null!=l.getCanHide&&l.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(null!=e.getIsVisible&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>null==e.getIsVisible?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{var l;e.toggleAllColumnsVisible(null==(l=t.target)?void 0:l.checked)}}},{getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:o("columnOrder",e)}),createColumn:(e,t)=>{e.getIndex=i(e=>[A(t,e)],t=>t.findIndex(t=>t.id===e.id),a(t.options,"debugColumns","getIndex")),e.getIsFirstColumn=l=>{var n;return(null==(n=A(t,l)[0])?void 0:n.id)===e.id},e.getIsLastColumn=l=>{var n;let o=A(t,l);return(null==(n=o[o.length-1])?void 0:n.id)===e.id}},createTable:e=>{e.setColumnOrder=t=>null==e.options.onColumnOrderChange?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{var l;e.setColumnOrder(t?[]:null!=(l=e.initialState.columnOrder)?l:[])},e._getOrderColumnsFn=i(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,l)=>n=>{let o=[];if(null!=e&&e.length){let t=[...e],l=[...n];for(;l.length&&t.length;){let e=t.shift(),n=l.findIndex(t=>t.id===e);n>-1&&o.push(l.splice(n,1)[0])}o=[...o,...l]}else o=n;return function(e,t,l){if(!(null!=t&&t.length)||!l)return e;let n=e.filter(e=>!t.includes(e.id));return"remove"===l?n:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...n]}(o,t,l)},a(e.options,"debugTable","_getOrderColumnsFn"))}},{getInitialState:e=>({columnPinning:x(),...e}),getDefaultOptions:e=>({onColumnPinningChange:o("columnPinning",e)}),createColumn:(e,t)=>{e.pin=l=>{let n=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>{var t,o,r,i,a,u;return"right"===l?{left:(null!=(r=null==e?void 0:e.left)?r:[]).filter(e=>!(null!=n&&n.includes(e))),right:[...(null!=(i=null==e?void 0:e.right)?i:[]).filter(e=>!(null!=n&&n.includes(e))),...n]}:"left"===l?{left:[...(null!=(a=null==e?void 0:e.left)?a:[]).filter(e=>!(null!=n&&n.includes(e))),...n],right:(null!=(u=null==e?void 0:e.right)?u:[]).filter(e=>!(null!=n&&n.includes(e)))}:{left:(null!=(t=null==e?void 0:e.left)?t:[]).filter(e=>!(null!=n&&n.includes(e))),right:(null!=(o=null==e?void 0:e.right)?o:[]).filter(e=>!(null!=n&&n.includes(e)))}})},e.getCanPin=()=>e.getLeafColumns().some(e=>{var l,n,o;return(null==(l=e.columnDef.enablePinning)||l)&&(null==(n=null!=(o=t.options.enableColumnPinning)?o:t.options.enablePinning)||n)}),e.getIsPinned=()=>{let l=e.getLeafColumns().map(e=>e.id),{left:n,right:o}=t.getState().columnPinning,r=l.some(e=>null==n?void 0:n.includes(e)),i=l.some(e=>null==o?void 0:o.includes(e));return r?"left":!!i&&"right"},e.getPinnedIndex=()=>{var l,n;let o=e.getIsPinned();return o?null!=(l=null==(n=t.getState().columnPinning)||null==(n=n[o])?void 0:n.indexOf(e.id))?l:-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=i(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,l)=>{let n=[...null!=t?t:[],...null!=l?l:[]];return e.filter(e=>!n.includes(e.column.id))},a(t.options,"debugRows","getCenterVisibleCells")),e.getLeftVisibleCells=i(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(null!=t?t:[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:"left"})),a(t.options,"debugRows","getLeftVisibleCells")),e.getRightVisibleCells=i(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(null!=t?t:[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:"right"})),a(t.options,"debugRows","getRightVisibleCells"))},createTable:e=>{e.setColumnPinning=t=>null==e.options.onColumnPinningChange?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>{var l,n;return e.setColumnPinning(t?x():null!=(l=null==(n=e.initialState)?void 0:n.columnPinning)?l:x())},e.getIsSomeColumnsPinned=t=>{var l,n,o;let r=e.getState().columnPinning;return t?!!(null==(l=r[t])?void 0:l.length):!!((null==(n=r.left)?void 0:n.length)||(null==(o=r.right)?void 0:o.length))},e.getLeftLeafColumns=i(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(null!=t?t:[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),a(e.options,"debugColumns","getLeftLeafColumns")),e.getRightLeafColumns=i(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(null!=t?t:[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),a(e.options,"debugColumns","getRightLeafColumns")),e.getCenterLeafColumns=i(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,l)=>{let n=[...null!=t?t:[],...null!=l?l:[]];return e.filter(e=>!n.includes(e.id))},a(e.options,"debugColumns","getCenterLeafColumns"))}},{createColumn:(e,t)=>{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},{getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:o("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let l=t.getCoreRowModel().flatRows[0],n=null==l?void 0:l.getValue(e.id);return"string"==typeof n?S.includesString:"number"==typeof n?S.inNumberRange:"boolean"==typeof n||null!==n&&"object"==typeof n?S.equals:Array.isArray(n)?S.arrIncludes:S.weakEquals},e.getFilterFn=()=>{var l,n;return r(e.columnDef.filterFn)?e.columnDef.filterFn:"auto"===e.columnDef.filterFn?e.getAutoFilterFn():null!=(l=null==(n=t.options.filterFns)?void 0:n[e.columnDef.filterFn])?l:S[e.columnDef.filterFn]},e.getCanFilter=()=>{var l,n,o;return(null==(l=e.columnDef.enableColumnFilter)||l)&&(null==(n=t.options.enableColumnFilters)||n)&&(null==(o=t.options.enableFilters)||o)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var l;return null==(l=t.getState().columnFilters)||null==(l=l.find(t=>t.id===e.id))?void 0:l.value},e.getFilterIndex=()=>{var l,n;return null!=(l=null==(n=t.getState().columnFilters)?void 0:n.findIndex(t=>t.id===e.id))?l:-1},e.setFilterValue=l=>{t.setColumnFilters(t=>{var o,r;let i=e.getFilterFn(),a=null==t?void 0:t.find(t=>t.id===e.id),u=n(l,a?a.value:void 0);if(y(i,u,e))return null!=(o=null==t?void 0:t.filter(t=>t.id!==e.id))?o:[];let s={id:e.id,value:u};return a?null!=(r=null==t?void 0:t.map(t=>t.id===e.id?s:t))?r:[]:null!=t&&t.length?[...t,s]:[s]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let l=e.getAllLeafColumns();null==e.options.onColumnFiltersChange||e.options.onColumnFiltersChange(e=>{var o;return null==(o=n(t,e))?void 0:o.filter(e=>{let t=l.find(t=>t.id===e.id);return!(t&&y(t.getFilterFn(),e.value,t))&&!0})})},e.resetColumnFilters=t=>{var l,n;e.setColumnFilters(t?[]:null!=(l=null==(n=e.initialState)?void 0:n.columnFilters)?l:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel)?e.getPreFilteredRowModel():e._getFilteredRowModel()}},{createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},{getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:o("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:t=>{var l;let n=null==(l=e.getCoreRowModel().flatRows[0])||null==(l=l._getAllCellsByColumnId()[t.id])?void 0:l.getValue();return"string"==typeof n||"number"==typeof n}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>{var l,n,o,r;return(null==(l=e.columnDef.enableGlobalFilter)||l)&&(null==(n=t.options.enableGlobalFilter)||n)&&(null==(o=t.options.enableFilters)||o)&&(null==(r=null==t.options.getColumnCanGlobalFilter?void 0:t.options.getColumnCanGlobalFilter(e))||r)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>S.includesString,e.getGlobalFilterFn=()=>{var t,l;let{globalFilterFn:n}=e.options;return r(n)?n:"auto"===n?e.getGlobalAutoFilterFn():null!=(t=null==(l=e.options.filterFns)?void 0:l[n])?t:S[n]},e.setGlobalFilter=t=>{null==e.options.onGlobalFilterChange||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:o("sorting",e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let l=t.getFilteredRowModel().flatRows.slice(10),n=!1;for(let t of l){let l=null==t?void 0:t.getValue(e.id);if("[object Date]"===Object.prototype.toString.call(l))return T.datetime;if("string"==typeof l&&(n=!0,l.split(O).length>1))return T.alphanumeric}return n?T.text:T.basic},e.getAutoSortDir=()=>{let l=t.getFilteredRowModel().flatRows[0];return"string"==typeof(null==l?void 0:l.getValue(e.id))?"asc":"desc"},e.getSortingFn=()=>{var l,n;if(!e)throw Error();return r(e.columnDef.sortingFn)?e.columnDef.sortingFn:"auto"===e.columnDef.sortingFn?e.getAutoSortingFn():null!=(l=null==(n=t.options.sortingFns)?void 0:n[e.columnDef.sortingFn])?l:T[e.columnDef.sortingFn]},e.toggleSorting=(l,n)=>{let o=e.getNextSortingOrder(),r=null!=l;t.setSorting(i=>{let a,u=null==i?void 0:i.find(t=>t.id===e.id),s=null==i?void 0:i.findIndex(t=>t.id===e.id),d=[],g=r?l:"desc"===o;if("toggle"!=(a=null!=i&&i.length&&e.getCanMultiSort()&&n?u?"toggle":"add":null!=i&&i.length&&s!==i.length-1?"replace":u?"toggle":"replace")||r||o||(a="remove"),"add"===a){var c;(d=[...i,{id:e.id,desc:g}]).splice(0,d.length-(null!=(c=t.options.maxMultiSortColCount)?c:Number.MAX_SAFE_INTEGER))}else d="toggle"===a?i.map(t=>t.id===e.id?{...t,desc:g}:t):"remove"===a?i.filter(t=>t.id!==e.id):[{id:e.id,desc:g}];return d})},e.getFirstSortDir=()=>{var l,n;return(null!=(l=null!=(n=e.columnDef.sortDescFirst)?n:t.options.sortDescFirst)?l:"desc"===e.getAutoSortDir())?"desc":"asc"},e.getNextSortingOrder=l=>{var n,o;let r=e.getFirstSortDir(),i=e.getIsSorted();return i?(i===r||null!=(n=t.options.enableSortingRemoval)&&!n||!!l&&null!=(o=t.options.enableMultiRemove)&&!o)&&("desc"===i?"asc":"desc"):r},e.getCanSort=()=>{var l,n;return(null==(l=e.columnDef.enableSorting)||l)&&(null==(n=t.options.enableSorting)||n)&&!!e.accessorFn},e.getCanMultiSort=()=>{var l,n;return null!=(l=null!=(n=e.columnDef.enableMultiSort)?n:t.options.enableMultiSort)?l:!!e.accessorFn},e.getIsSorted=()=>{var l;let n=null==(l=t.getState().sorting)?void 0:l.find(t=>t.id===e.id);return!!n&&(n.desc?"desc":"asc")},e.getSortIndex=()=>{var l,n;return null!=(l=null==(n=t.getState().sorting)?void 0:n.findIndex(t=>t.id===e.id))?l:-1},e.clearSorting=()=>{t.setSorting(t=>null!=t&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let l=e.getCanSort();return n=>{l&&(null==n.persist||n.persist(),null==e.toggleSorting||e.toggleSorting(void 0,!!e.getCanMultiSort()&&(null==t.options.isMultiSortEvent?void 0:t.options.isMultiSortEvent(n))))}}},createTable:e=>{e.setSorting=t=>null==e.options.onSortingChange?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{var l,n;e.setSorting(t?[]:null!=(l=null==(n=e.initialState)?void 0:n.sorting)?l:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel)?e.getPreSortedRowModel():e._getSortedRowModel()}},{getDefaultColumnDef:()=>({aggregatedCell:e=>{var t,l;return null!=(t=null==(l=e.getValue())||null==l.toString?void 0:l.toString())?t:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:o("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>null!=t&&t.includes(e.id)?t.filter(t=>t!==e.id):[...null!=t?t:[],e.id])},e.getCanGroup=()=>{var l,n;return(null==(l=e.columnDef.enableGrouping)||l)&&(null==(n=t.options.enableGrouping)||n)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var l;return null==(l=t.getState().grouping)?void 0:l.includes(e.id)},e.getGroupedIndex=()=>{var l;return null==(l=t.getState().grouping)?void 0:l.indexOf(e.id)},e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let l=t.getCoreRowModel().flatRows[0],n=null==l?void 0:l.getValue(e.id);return"number"==typeof n?F.sum:"[object Date]"===Object.prototype.toString.call(n)?F.extent:void 0},e.getAggregationFn=()=>{var l,n;if(!e)throw Error();return r(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:"auto"===e.columnDef.aggregationFn?e.getAutoAggregationFn():null!=(l=null==(n=t.options.aggregationFns)?void 0:n[e.columnDef.aggregationFn])?l:F[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>null==e.options.onGroupingChange?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{var l,n;e.setGrouping(t?[]:null!=(l=null==(n=e.initialState)?void 0:n.grouping)?l:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel)?e.getPreGroupedRowModel():e._getGroupedRowModel()},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=l=>{if(e._groupingValuesCache.hasOwnProperty(l))return e._groupingValuesCache[l];let n=t.getColumn(l);return null!=n&&n.columnDef.getGroupingValue?(e._groupingValuesCache[l]=n.columnDef.getGroupingValue(e.original),e._groupingValuesCache[l]):e.getValue(l)},e._groupingValuesCache={}},createCell:(e,t,l,n)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===l.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!(null!=(t=l.subRows)&&t.length)}}},{getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:o("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,l=!1;e._autoResetExpanded=()=>{var n,o;if(!t)return void e._queue(()=>{t=!0});if(null!=(n=null!=(o=e.options.autoResetAll)?o:e.options.autoResetExpanded)?n:!e.options.manualExpanding){if(l)return;l=!0,e._queue(()=>{e.resetExpanded(),l=!1})}},e.setExpanded=t=>null==e.options.onExpandedChange?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{(null!=t?t:!e.getIsAllRowsExpanded())?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{var l,n;e.setExpanded(t?{}:null!=(l=null==(n=e.initialState)?void 0:n.expanded)?l:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{null==t.persist||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return!0===t||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return"boolean"==typeof t?!0===t:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(!0===e.getState().expanded?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let l=e.split(".");t=Math.max(t,l.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel)?e.getPreExpandedRowModel():e._getExpandedRowModel()},createRow:(e,t)=>{e.toggleExpanded=l=>{t.setExpanded(n=>{var o;let r=!0===n||!!(null!=n&&n[e.id]),i={};if(!0===n?Object.keys(t.getRowModel().rowsById).forEach(e=>{i[e]=!0}):i=n,l=null!=(o=l)?o:!r,!r&&l)return{...i,[e.id]:!0};if(r&&!l){let{[e.id]:t,...l}=i;return l}return n})},e.getIsExpanded=()=>{var l;let n=t.getState().expanded;return!!(null!=(l=null==t.options.getIsRowExpanded?void 0:t.options.getIsRowExpanded(e))?l:!0===n||(null==n?void 0:n[e.id]))},e.getCanExpand=()=>{var l,n,o;return null!=(l=null==t.options.getRowCanExpand?void 0:t.options.getRowCanExpand(e))?l:(null==(n=t.options.enableExpanding)||n)&&!!(null!=(o=e.subRows)&&o.length)},e.getIsAllParentsExpanded=()=>{let l=!0,n=e;for(;l&&n.parentId;)l=(n=t.getRow(n.parentId,!0)).getIsExpanded();return l},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},{getInitialState:e=>({...e,pagination:{...E(),...null==e?void 0:e.pagination}}),getDefaultOptions:e=>({onPaginationChange:o("pagination",e)}),createTable:e=>{let t=!1,l=!1;e._autoResetPageIndex=()=>{var n,o;if(!t)return void e._queue(()=>{t=!0});if(null!=(n=null!=(o=e.options.autoResetAll)?o:e.options.autoResetPageIndex)?n:!e.options.manualPagination){if(l)return;l=!0,e._queue(()=>{e.resetPageIndex(),l=!1})}},e.setPagination=t=>null==e.options.onPaginationChange?void 0:e.options.onPaginationChange(e=>n(t,e)),e.resetPagination=t=>{var l;e.setPagination(t?E():null!=(l=e.initialState.pagination)?l:E())},e.setPageIndex=t=>{e.setPagination(l=>{let o=n(t,l.pageIndex);return o=Math.max(0,Math.min(o,void 0===e.options.pageCount||-1===e.options.pageCount?Number.MAX_SAFE_INTEGER:e.options.pageCount-1)),{...l,pageIndex:o}})},e.resetPageIndex=t=>{var l,n;e.setPageIndex(t?0:null!=(l=null==(n=e.initialState)||null==(n=n.pagination)?void 0:n.pageIndex)?l:0)},e.resetPageSize=t=>{var l,n;e.setPageSize(t?10:null!=(l=null==(n=e.initialState)||null==(n=n.pagination)?void 0:n.pageSize)?l:10)},e.setPageSize=t=>{e.setPagination(e=>{let l=Math.max(1,n(t,e.pageSize)),o=Math.floor(e.pageSize*e.pageIndex/l);return{...e,pageIndex:o,pageSize:l}})},e.setPageCount=t=>e.setPagination(l=>{var o;let r=n(t,null!=(o=e.options.pageCount)?o:-1);return"number"==typeof r&&(r=Math.max(-1,r)),{...l,pageCount:r}}),e.getPageOptions=i(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},a(e.options,"debugTable","getPageOptions")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,l=e.getPageCount();return -1===l||0!==l&&te.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel)?e.getPrePaginationRowModel():e._getPaginationRowModel(),e.getPageCount=()=>{var t;return null!=(t=e.options.pageCount)?t:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var t;return null!=(t=e.options.rowCount)?t:e.getPrePaginationRowModel().rows.length}}},{getInitialState:e=>({rowPinning:_(),...e}),getDefaultOptions:e=>({onRowPinningChange:o("rowPinning",e)}),createRow:(e,t)=>{e.pin=(l,n,o)=>{let r=n?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],i=new Set([...o?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],e.id,...r]);t.setRowPinning(e=>{var t,n,o,r,a,u;return"bottom"===l?{top:(null!=(o=null==e?void 0:e.top)?o:[]).filter(e=>!(null!=i&&i.has(e))),bottom:[...(null!=(r=null==e?void 0:e.bottom)?r:[]).filter(e=>!(null!=i&&i.has(e))),...Array.from(i)]}:"top"===l?{top:[...(null!=(a=null==e?void 0:e.top)?a:[]).filter(e=>!(null!=i&&i.has(e))),...Array.from(i)],bottom:(null!=(u=null==e?void 0:e.bottom)?u:[]).filter(e=>!(null!=i&&i.has(e)))}:{top:(null!=(t=null==e?void 0:e.top)?t:[]).filter(e=>!(null!=i&&i.has(e))),bottom:(null!=(n=null==e?void 0:e.bottom)?n:[]).filter(e=>!(null!=i&&i.has(e)))}})},e.getCanPin=()=>{var l;let{enableRowPinning:n,enablePinning:o}=t.options;return"function"==typeof n?n(e):null==(l=null!=n?n:o)||l},e.getIsPinned=()=>{let l=[e.id],{top:n,bottom:o}=t.getState().rowPinning,r=l.some(e=>null==n?void 0:n.includes(e)),i=l.some(e=>null==o?void 0:o.includes(e));return r?"top":!!i&&"bottom"},e.getPinnedIndex=()=>{var l,n;let o=e.getIsPinned();if(!o)return -1;let r=null==(l="top"===o?t.getTopRows():t.getBottomRows())?void 0:l.map(e=>{let{id:t}=e;return t});return null!=(n=null==r?void 0:r.indexOf(e.id))?n:-1}},createTable:e=>{e.setRowPinning=t=>null==e.options.onRowPinningChange?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>{var l,n;return e.setRowPinning(t?_():null!=(l=null==(n=e.initialState)?void 0:n.rowPinning)?l:_())},e.getIsSomeRowsPinned=t=>{var l,n,o;let r=e.getState().rowPinning;return t?!!(null==(l=r[t])?void 0:l.length):!!((null==(n=r.top)?void 0:n.length)||(null==(o=r.bottom)?void 0:o.length))},e._getPinnedRows=(t,l,n)=>{var o;return(null==(o=e.options.keepPinnedRows)||o?(null!=l?l:[]).map(t=>{let l=e.getRow(t,!0);return l.getIsAllParentsExpanded()?l:null}):(null!=l?l:[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:n}))},e.getTopRows=i(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,l)=>e._getPinnedRows(t,l,"top"),a(e.options,"debugRows","getTopRows")),e.getBottomRows=i(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,l)=>e._getPinnedRows(t,l,"bottom"),a(e.options,"debugRows","getBottomRows")),e.getCenterRows=i(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,l)=>{let n=new Set([...null!=t?t:[],...null!=l?l:[]]);return e.filter(e=>!n.has(e.id))},a(e.options,"debugRows","getCenterRows"))}},{getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:o("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>null==e.options.onRowSelectionChange?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>{var l;return e.setRowSelection(t?{}:null!=(l=e.initialState.rowSelection)?l:{})},e.toggleAllRowsSelected=t=>{e.setRowSelection(l=>{t=void 0!==t?t:!e.getIsAllRowsSelected();let n={...l},o=e.getPreGroupedRowModel().flatRows;return t?o.forEach(e=>{e.getCanSelect()&&(n[e.id]=!0)}):o.forEach(e=>{delete n[e.id]}),n})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(l=>{let n=void 0!==t?t:!e.getIsAllPageRowsSelected(),o={...l};return e.getRowModel().rows.forEach(t=>{k(o,t.id,n,!0,e)}),o}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=i(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,l)=>Object.keys(t).length?L(e,l):{rows:[],flatRows:[],rowsById:{}},a(e.options,"debugTable","getSelectedRowModel")),e.getFilteredSelectedRowModel=i(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,l)=>Object.keys(t).length?L(e,l):{rows:[],flatRows:[],rowsById:{}},a(e.options,"debugTable","getFilteredSelectedRowModel")),e.getGroupedSelectedRowModel=i(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,l)=>Object.keys(t).length?L(e,l):{rows:[],flatRows:[],rowsById:{}},a(e.options,"debugTable","getGroupedSelectedRowModel")),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:l}=e.getState(),n=!!(t.length&&Object.keys(l).length);return n&&t.some(e=>e.getCanSelect()&&!l[e.id])&&(n=!1),n},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:l}=e.getState(),n=!!t.length;return n&&t.some(e=>!l[e.id])&&(n=!1),n},e.getIsSomeRowsSelected=()=>{var t;let l=Object.keys(null!=(t=e.getState().rowSelection)?t:{}).length;return l>0&&l{let t=e.getPaginationRowModel().flatRows;return!e.getIsAllPageRowsSelected()&&t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(l,n)=>{let o=e.getIsSelected();t.setRowSelection(r=>{var i;if(l=void 0!==l?l:!o,e.getCanSelect()&&o===l)return r;let a={...r};return k(a,e.id,l,null==(i=null==n?void 0:n.selectChildren)||i,t),a})},e.getIsSelected=()=>{let{rowSelection:l}=t.getState();return G(e,l)},e.getIsSomeSelected=()=>{let{rowSelection:l}=t.getState();return"some"===D(e,l)},e.getIsAllSubRowsSelected=()=>{let{rowSelection:l}=t.getState();return"all"===D(e,l)},e.getCanSelect=()=>{var l;return"function"==typeof t.options.enableRowSelection?t.options.enableRowSelection(e):null==(l=t.options.enableRowSelection)||l},e.getCanSelectSubRows=()=>{var l;return"function"==typeof t.options.enableSubRowSelection?t.options.enableSubRowSelection(e):null==(l=t.options.enableSubRowSelection)||l},e.getCanMultiSelect=()=>{var l;return"function"==typeof t.options.enableMultiRowSelection?t.options.enableMultiRowSelection(e):null==(l=t.options.enableMultiRowSelection)||l},e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return l=>{var n;t&&e.toggleSelected(null==(n=l.target)?void 0:n.checked)}}}},{getDefaultColumnDef:()=>M,getInitialState:e=>({columnSizing:{},columnSizingInfo:P(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:o("columnSizing",e),onColumnSizingInfoChange:o("columnSizingInfo",e)}),createColumn:(e,t)=>{e.getSize=()=>{var l,n,o;let r=t.getState().columnSizing[e.id];return Math.min(Math.max(null!=(l=e.columnDef.minSize)?l:M.minSize,null!=(n=null!=r?r:e.columnDef.size)?n:M.size),null!=(o=e.columnDef.maxSize)?o:M.maxSize)},e.getStart=i(e=>[e,A(t,e),t.getState().columnSizing],(t,l)=>l.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),a(t.options,"debugColumns","getStart")),e.getAfter=i(e=>[e,A(t,e),t.getState().columnSizing],(t,l)=>l.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),a(t.options,"debugColumns","getAfter")),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:l,...n}=t;return n})},e.getCanResize=()=>{var l,n;return(null==(l=e.columnDef.enableResizing)||l)&&(null==(n=t.options.enableColumnResizing)||n)},e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,l=e=>{if(e.subHeaders.length)e.subHeaders.forEach(l);else{var n;t+=null!=(n=e.column.getSize())?n:0}};return l(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=l=>{let n=t.getColumn(e.column.id),o=null==n?void 0:n.getCanResize();return r=>{if(!n||!o||(null==r.persist||r.persist(),V(r)&&r.touches&&r.touches.length>1))return;let i=e.getSize(),a=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[n.id,n.getSize()]],u=V(r)?Math.round(r.touches[0].clientX):r.clientX,s={},d=(e,l)=>{"number"==typeof l&&(t.setColumnSizingInfo(e=>{var n,o;let r="rtl"===t.options.columnResizeDirection?-1:1,i=(l-(null!=(n=null==e?void 0:e.startOffset)?n:0))*r,a=Math.max(i/(null!=(o=null==e?void 0:e.startSize)?o:0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,l]=e;s[t]=Math.round(100*Math.max(l+l*a,0))/100}),{...e,deltaOffset:i,deltaPercentage:a}}),("onChange"===t.options.columnResizeMode||"end"===e)&&t.setColumnSizing(e=>({...e,...s})))},g=e=>d("move",e),c=e=>{d("end",e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=l||("undefined"!=typeof document?document:null),f={moveHandler:e=>g(e.clientX),upHandler:e=>{null==p||p.removeEventListener("mousemove",f.moveHandler),null==p||p.removeEventListener("mouseup",f.upHandler),c(e.clientX)}},m={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),g(e.touches[0].clientX),!1),upHandler:e=>{var t;null==p||p.removeEventListener("touchmove",m.moveHandler),null==p||p.removeEventListener("touchend",m.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),c(null==(t=e.touches[0])?void 0:t.clientX)}},v=!!function(){if("boolean"==typeof I)return I;let e=!1;try{let t=()=>{};window.addEventListener("test",t,{get passive(){return e=!0,!1}}),window.removeEventListener("test",t)}catch(t){e=!1}return I=e}()&&{passive:!1};V(r)?(null==p||p.addEventListener("touchmove",m.moveHandler,v),null==p||p.addEventListener("touchend",m.upHandler,v)):(null==p||p.addEventListener("mousemove",f.moveHandler,v),null==p||p.addEventListener("mouseup",f.upHandler,v)),t.setColumnSizingInfo(e=>({...e,startOffset:u,startSize:i,deltaOffset:0,deltaPercentage:0,columnSizingStart:a,isResizingColumn:n.id}))}}},createTable:e=>{e.setColumnSizing=t=>null==e.options.onColumnSizingChange?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>null==e.options.onColumnSizingInfoChange?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{var l;e.setColumnSizing(t?{}:null!=(l=e.initialState.columnSizing)?l:{})},e.resetHeaderSizeInfo=t=>{var l;e.setColumnSizingInfo(t?P():null!=(l=e.initialState.columnSizingInfo)?l:P())},e.getTotalSize=()=>{var t,l;return null!=(t=null==(l=e.getHeaderGroups()[0])?void 0:l.headers.reduce((e,t)=>e+t.getSize(),0))?t:0},e.getLeftTotalSize=()=>{var t,l;return null!=(t=null==(l=e.getLeftHeaderGroups()[0])?void 0:l.headers.reduce((e,t)=>e+t.getSize(),0))?t:0},e.getCenterTotalSize=()=>{var t,l;return null!=(t=null==(l=e.getCenterHeaderGroups()[0])?void 0:l.headers.reduce((e,t)=>e+t.getSize(),0))?t:0},e.getRightTotalSize=()=>{var t,l;return null!=(t=null==(l=e.getRightHeaderGroups()[0])?void 0:l.headers.reduce((e,t)=>e+t.getSize(),0))?t:0}}}];function q(e){var t,l;let o=[...B,...null!=(t=e._features)?t:[]],r={_features:o},u=r._features.reduce((e,t)=>Object.assign(e,null==t.getDefaultOptions?void 0:t.getDefaultOptions(r)),{}),s=e=>r.options.mergeOptions?r.options.mergeOptions(u,e):{...u,...e},d={...null!=(l=e.initialState)?l:{}};r._features.forEach(e=>{var t;d=null!=(t=null==e.getInitialState?void 0:e.getInitialState(d))?t:d});let g=[],c=!1,p={_features:o,options:{...u,...e},initialState:d,_queue:e=>{g.push(e),c||(c=!0,Promise.resolve().then(()=>{for(;g.length;)g.shift()();c=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{r.setState(r.initialState)},setOptions:e=>{let t=n(e,r.options);r.options=s(t)},getState:()=>r.options.state,setState:e=>{null==r.options.onStateChange||r.options.onStateChange(e)},_getRowId:(e,t,l)=>{var n;return null!=(n=null==r.options.getRowId?void 0:r.options.getRowId(e,t,l))?n:`${l?[l.id,t].join("."):t}`},getCoreRowModel:()=>(r._getCoreRowModel||(r._getCoreRowModel=r.options.getCoreRowModel(r)),r._getCoreRowModel()),getRowModel:()=>r.getPaginationRowModel(),getRow:(e,t)=>{let l=(t?r.getPrePaginationRowModel():r.getRowModel()).rowsById[e];if(!l&&!(l=r.getCoreRowModel().rowsById[e]))throw Error();return l},_getDefaultColumnDef:i(()=>[r.options.defaultColumn],e=>{var t;return e=null!=(t=e)?t:{},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t,l;return null!=(t=null==(l=e.renderValue())||null==l.toString?void 0:l.toString())?t:null},...r._features.reduce((e,t)=>Object.assign(e,null==t.getDefaultColumnDef?void 0:t.getDefaultColumnDef()),{}),...e}},a(e,"debugColumns","_getDefaultColumnDef")),_getColumnDefs:()=>r.options.columns,getAllColumns:i(()=>[r._getColumnDefs()],e=>{let t=function(e,l,n){return void 0===n&&(n=0),e.map(e=>{let o=function(e,t,l,n){var o,r;let u,s={...e._getDefaultColumnDef(),...t},d=s.accessorKey,g=null!=(o=null!=(r=s.id)?r:d?"function"==typeof String.prototype.replaceAll?d.replaceAll(".","_"):d.replace(/\./g,"_"):void 0)?o:"string"==typeof s.header?s.header:void 0;if(s.accessorFn?u=s.accessorFn:d&&(u=d.includes(".")?e=>{let t=e;for(let e of d.split(".")){var l;t=null==(l=t)?void 0:l[e]}return t}:e=>e[s.accessorKey]),!g)throw Error();let c={id:`${String(g)}`,accessorFn:u,parent:n,depth:l,columnDef:s,columns:[],getFlatColumns:i(()=>[!0],()=>{var e;return[c,...null==(e=c.columns)?void 0:e.flatMap(e=>e.getFlatColumns())]},a(e.options,"debugColumns","column.getFlatColumns")),getLeafColumns:i(()=>[e._getOrderColumnsFn()],e=>{var t;return null!=(t=c.columns)&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},a(e.options,"debugColumns","column.getLeafColumns"))};for(let t of e._features)null==t.createColumn||t.createColumn(c,e);return c}(r,e,n,l);return o.columns=e.columns?t(e.columns,o,n+1):[],o})};return t(e)},a(e,"debugColumns","getAllColumns")),getAllFlatColumns:i(()=>[r.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),a(e,"debugColumns","getAllFlatColumns")),_getAllFlatColumnsById:i(()=>[r.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),a(e,"debugColumns","getAllFlatColumnsById")),getAllLeafColumns:i(()=>[r.getAllColumns(),r._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),a(e,"debugColumns","getAllLeafColumns")),getColumn:e=>r._getAllFlatColumnsById()[e]};Object.assign(r,p);for(let e=0;ei(()=>[e.options.data],t=>{let l={rows:[],flatRows:[],rowsById:{}},n=function(t,o,r){void 0===o&&(o=0);let i=[];for(let u=0;ue._autoResetPageIndex()))}},1492:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]])},2138:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},2146:(e,t,l)=>{function n(e){let{reason:t,children:l}=e;return l}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}}),l(5262)},2355:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},3052:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},3904:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},4054:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var l in t)Object.defineProperty(e,l,{enumerable:!0,get:t[l]})}(t,{bindSnapshot:function(){return i},createAsyncLocalStorage:function(){return r},createSnapshot:function(){return a}});let l=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class n{disable(){throw l}getStore(){}run(){throw l}exit(){throw l}enterWith(){throw l}static bind(e){return e}}let o="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function r(){return o?new o:new n}function i(e){return o?o.bind(e):n.bind(e)}function a(){return o?o.snapshot():function(e,...t){return e(...t)}}},4186:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},4357:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("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"}]])},5028:(e,t,l)=>{l.d(t,{default:()=>o.a});var n=l(6645),o=l.n(n)},5339:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},5744:(e,t,l)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=l(7828)},5868:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("dollar-sign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]])},6268:(e,t,l)=>{l.d(t,{Kv:()=>r,N4:()=>i});var n=l(2115),o=l(1032);function r(e,t){var l,o,r;return e?"function"==typeof(o=l=e)&&(()=>{let e=Object.getPrototypeOf(o);return e.prototype&&e.prototype.isReactComponent})()||"function"==typeof l||"object"==typeof(r=l)&&"symbol"==typeof r.$$typeof&&["react.memo","react.forward_ref"].includes(r.$$typeof.description)?n.createElement(e,t):e:null}function i(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[l]=n.useState(()=>({current:(0,o.ZR)(t)})),[r,i]=n.useState(()=>l.current.initialState);return l.current.setOptions(t=>({...t,...e,state:{...r,...e.state},onStateChange:t=>{i(t),null==e.onStateChange||e.onStateChange(t)}})),l.current}},6561:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]])},6645:(e,t,l)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let n=l(8229)._(l(7357));function o(e,t){var l;let o={};"function"==typeof e&&(o.loader=e);let r={...o,...t};return(0,n.default)({...r,modules:null==(l=r.loadableGenerated)?void 0:l.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7357:(e,t,l)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let n=l(5155),o=l(2115),r=l(2146);function i(e){return{default:e&&"default"in e?e.default:e}}l(255);let a={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},u=function(e){let t={...a,...e},l=(0,o.lazy)(()=>t.loader().then(i)),u=t.loading;function s(e){let i=u?(0,n.jsx)(u,{isLoading:!0,pastDelay:!0,error:null}):null,a=!t.ssr||!!t.loading,s=a?o.Suspense:o.Fragment,d=t.ssr?(0,n.jsxs)(n.Fragment,{children:[null,(0,n.jsx)(l,{...e})]}):(0,n.jsx)(r.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(l,{...e})});return(0,n.jsx)(s,{...a?{fallback:i}:{},children:d})}return s.displayName="LoadableComponent",s}},7434:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("file-text",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},7740:(e,t,l)=>{l.d(t,{uB:()=>_});var n=/[\\\/_+.#"@\[\(\{&]/,o=/[\\\/_+.#"@\[\(\{&]/g,r=/[\s-]/,i=/[\s-]/g;function a(e){return e.toLowerCase().replace(i," ")}var u=l(5452),s=l(2115),d=l(3655),g=l(1285),c=l(6101),p='[cmdk-group=""]',f='[cmdk-group-items=""]',m='[cmdk-item=""]',v="".concat(m,':not([aria-disabled="true"])'),h="cmdk-item-select",C="data-value",b=(e,t,l)=>(function(e,t,l){return function e(t,l,a,u,s,d,g){if(d===l.length)return s===t.length?1:.99;var c=`${s},${d}`;if(void 0!==g[c])return g[c];for(var p,f,m,v,h=u.charAt(d),C=a.indexOf(h,s),b=0;C>=0;)(p=e(t,l,a,u,C+1,d+1,g))>b&&(C===s?p*=1:n.test(t.charAt(C-1))?(p*=.8,(m=t.slice(s,C-1).match(o))&&s>0&&(p*=Math.pow(.999,m.length))):r.test(t.charAt(C-1))?(p*=.9,(v=t.slice(s,C-1).match(i))&&s>0&&(p*=Math.pow(.999,v.length))):(p*=.17,s>0&&(p*=Math.pow(.999,C-s))),t.charAt(C)!==l.charAt(d)&&(p*=.9999)),(p<.1&&a.charAt(C-1)===u.charAt(d+1)||u.charAt(d+1)===u.charAt(d)&&a.charAt(C-1)!==u.charAt(d))&&.1*(f=e(t,l,a,u,C+1,d+2,g))>p&&(p=.1*f),p>b&&(b=p),C=a.indexOf(h,C+1);return g[c]=b,b}(e=l&&l.length>0?`${e+" "+l.join(" ")}`:e,t,a(e),a(t),0,0,{})})(e,t,l),w=s.createContext(void 0),S=()=>s.useContext(w),R=s.createContext(void 0),y=()=>s.useContext(R),F=s.createContext(void 0),x=s.forwardRef((e,t)=>{let l=G(()=>{var t,l;return{search:"",value:null!=(l=null!=(t=e.value)?t:e.defaultValue)?l:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),n=G(()=>new Set),o=G(()=>new Map),r=G(()=>new Map),i=G(()=>new Set),a=k(e),{label:u,children:c,value:S,onValueChange:y,filter:F,shouldFilter:x,loop:M,disablePointerSelection:P=!1,vimBindings:I=!0,...V}=e,A=(0,g.B)(),E=(0,g.B)(),_=(0,g.B)(),D=s.useRef(null),O=H();L(()=>{if(void 0!==S){let e=S.trim();l.current.value=e,T.emit()}},[S]),L(()=>{O(6,K)},[]);let T=s.useMemo(()=>({subscribe:e=>(i.current.add(e),()=>i.current.delete(e)),snapshot:()=>l.current,setState:(e,t,n)=>{var o,r,i,u;if(!Object.is(l.current[e],t)){if(l.current[e]=t,"search"===e)$(),N(),O(1,U);else if("value"===e){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let e=document.getElementById(_);e?e.focus():null==(o=document.getElementById(A))||o.focus()}if(O(7,()=>{var e;l.current.selectedItemId=null==(e=X())?void 0:e.id,T.emit()}),n||O(5,K),(null==(r=a.current)?void 0:r.value)!==void 0){null==(u=(i=a.current).onValueChange)||u.call(i,null!=t?t:"");return}}T.emit()}},emit:()=>{i.current.forEach(e=>e())}}),[]),B=s.useMemo(()=>({value:(e,t,n)=>{var o;t!==(null==(o=r.current.get(e))?void 0:o.value)&&(r.current.set(e,{value:t,keywords:n}),l.current.filtered.items.set(e,q(t,n)),O(2,()=>{N(),T.emit()}))},item:(e,t)=>(n.current.add(e),t&&(o.current.has(t)?o.current.get(t).add(e):o.current.set(t,new Set([e]))),O(3,()=>{$(),N(),l.current.value||U(),T.emit()}),()=>{r.current.delete(e),n.current.delete(e),l.current.filtered.items.delete(e);let t=X();O(4,()=>{$(),(null==t?void 0:t.getAttribute("id"))===e&&U(),T.emit()})}),group:e=>(o.current.has(e)||o.current.set(e,new Set),()=>{r.current.delete(e),o.current.delete(e)}),filter:()=>a.current.shouldFilter,label:u||e["aria-label"],getDisablePointerSelection:()=>a.current.disablePointerSelection,listId:A,inputId:_,labelId:E,listInnerRef:D}),[]);function q(e,t){var n,o;let r=null!=(o=null==(n=a.current)?void 0:n.filter)?o:b;return e?r(e,l.current.search,t):0}function N(){if(!l.current.search||!1===a.current.shouldFilter)return;let e=l.current.filtered.items,t=[];l.current.filtered.groups.forEach(l=>{let n=o.current.get(l),r=0;n.forEach(t=>{r=Math.max(e.get(t),r)}),t.push([l,r])});let n=D.current;Z().sort((t,l)=>{var n,o;let r=t.getAttribute("id"),i=l.getAttribute("id");return(null!=(n=e.get(i))?n:0)-(null!=(o=e.get(r))?o:0)}).forEach(e=>{let t=e.closest(f);t?t.appendChild(e.parentElement===t?e:e.closest("".concat(f," > *"))):n.appendChild(e.parentElement===n?e:e.closest("".concat(f," > *")))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{var t;let l=null==(t=D.current)?void 0:t.querySelector("".concat(p,"[").concat(C,'="').concat(encodeURIComponent(e[0]),'"]'));null==l||l.parentElement.appendChild(l)})}function U(){let e=Z().find(e=>"true"!==e.getAttribute("aria-disabled")),t=null==e?void 0:e.getAttribute(C);T.setState("value",t||void 0)}function $(){var e,t,i,u;if(!l.current.search||!1===a.current.shouldFilter){l.current.filtered.count=n.current.size;return}l.current.filtered.groups=new Set;let s=0;for(let o of n.current){let n=q(null!=(t=null==(e=r.current.get(o))?void 0:e.value)?t:"",null!=(u=null==(i=r.current.get(o))?void 0:i.keywords)?u:[]);l.current.filtered.items.set(o,n),n>0&&s++}for(let[e,t]of o.current)for(let n of t)if(l.current.filtered.items.get(n)>0){l.current.filtered.groups.add(e);break}l.current.filtered.count=s}function K(){var e,t,l;let n=X();n&&((null==(e=n.parentElement)?void 0:e.firstChild)===n&&(null==(l=null==(t=n.closest(p))?void 0:t.querySelector('[cmdk-group-heading=""]'))||l.scrollIntoView({block:"nearest"})),n.scrollIntoView({block:"nearest"}))}function X(){var e;return null==(e=D.current)?void 0:e.querySelector("".concat(m,'[aria-selected="true"]'))}function Z(){var e;return Array.from((null==(e=D.current)?void 0:e.querySelectorAll(v))||[])}function W(e){let t=Z()[e];t&&T.setState("value",t.getAttribute(C))}function J(e){var t;let l=X(),n=Z(),o=n.findIndex(e=>e===l),r=n[o+e];null!=(t=a.current)&&t.loop&&(r=o+e<0?n[n.length-1]:o+e===n.length?n[0]:n[o+e]),r&&T.setState("value",r.getAttribute(C))}function Q(e){let t=X(),l=null==t?void 0:t.closest(p),n;for(;l&&!n;)n=null==(l=e>0?function(e,t){let l=e.nextElementSibling;for(;l;){if(l.matches(t))return l;l=l.nextElementSibling}}(l,p):function(e,t){let l=e.previousElementSibling;for(;l;){if(l.matches(t))return l;l=l.previousElementSibling}}(l,p))?void 0:l.querySelector(v);n?T.setState("value",n.getAttribute(C)):J(e)}let Y=()=>W(Z().length-1),ee=e=>{e.preventDefault(),e.metaKey?Y():e.altKey?Q(1):J(1)},et=e=>{e.preventDefault(),e.metaKey?W(0):e.altKey?Q(-1):J(-1)};return s.createElement(d.sG.div,{ref:t,tabIndex:-1,...V,"cmdk-root":"",onKeyDown:e=>{var t;null==(t=V.onKeyDown)||t.call(V,e);let l=e.nativeEvent.isComposing||229===e.keyCode;if(!(e.defaultPrevented||l))switch(e.key){case"n":case"j":I&&e.ctrlKey&&ee(e);break;case"ArrowDown":ee(e);break;case"p":case"k":I&&e.ctrlKey&&et(e);break;case"ArrowUp":et(e);break;case"Home":e.preventDefault(),W(0);break;case"End":e.preventDefault(),Y();break;case"Enter":{e.preventDefault();let t=X();if(t){let e=new Event(h);t.dispatchEvent(e)}}}}},s.createElement("label",{"cmdk-label":"",htmlFor:B.inputId,id:B.labelId,style:j},u),z(e,e=>s.createElement(R.Provider,{value:T},s.createElement(w.Provider,{value:B},e))))}),M=s.forwardRef((e,t)=>{var l,n;let o=(0,g.B)(),r=s.useRef(null),i=s.useContext(F),a=S(),u=k(e),p=null!=(n=null==(l=u.current)?void 0:l.forceMount)?n:null==i?void 0:i.forceMount;L(()=>{if(!p)return a.item(o,null==i?void 0:i.id)},[p]);let f=O(o,r,[e.value,e.children,r],e.keywords),m=y(),v=D(e=>e.value&&e.value===f.current),C=D(e=>!!p||!1===a.filter()||!e.search||e.filtered.items.get(o)>0);function b(){var e,t;w(),null==(t=(e=u.current).onSelect)||t.call(e,f.current)}function w(){m.setState("value",f.current,!0)}if(s.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(h,b),()=>t.removeEventListener(h,b)},[C,e.onSelect,e.disabled]),!C)return null;let{disabled:R,value:x,onSelect:M,forceMount:P,keywords:I,...V}=e;return s.createElement(d.sG.div,{ref:(0,c.t)(r,t),...V,id:o,"cmdk-item":"",role:"option","aria-disabled":!!R,"aria-selected":!!v,"data-disabled":!!R,"data-selected":!!v,onPointerMove:R||a.getDisablePointerSelection()?void 0:w,onClick:R?void 0:b},e.children)}),P=s.forwardRef((e,t)=>{let{heading:l,children:n,forceMount:o,...r}=e,i=(0,g.B)(),a=s.useRef(null),u=s.useRef(null),p=(0,g.B)(),f=S(),m=D(e=>!!o||!1===f.filter()||!e.search||e.filtered.groups.has(i));L(()=>f.group(i),[]),O(i,a,[e.value,e.heading,u]);let v=s.useMemo(()=>({id:i,forceMount:o}),[o]);return s.createElement(d.sG.div,{ref:(0,c.t)(a,t),...r,"cmdk-group":"",role:"presentation",hidden:!m||void 0},l&&s.createElement("div",{ref:u,"cmdk-group-heading":"","aria-hidden":!0,id:p},l),z(e,e=>s.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":l?p:void 0},s.createElement(F.Provider,{value:v},e))))}),I=s.forwardRef((e,t)=>{let{alwaysRender:l,...n}=e,o=s.useRef(null),r=D(e=>!e.search);return l||r?s.createElement(d.sG.div,{ref:(0,c.t)(o,t),...n,"cmdk-separator":"",role:"separator"}):null}),V=s.forwardRef((e,t)=>{let{onValueChange:l,...n}=e,o=null!=e.value,r=y(),i=D(e=>e.search),a=D(e=>e.selectedItemId),u=S();return s.useEffect(()=>{null!=e.value&&r.setState("search",e.value)},[e.value]),s.createElement(d.sG.input,{ref:t,...n,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":u.listId,"aria-labelledby":u.labelId,"aria-activedescendant":a,id:u.inputId,type:"text",value:o?e.value:i,onChange:e=>{o||r.setState("search",e.target.value),null==l||l(e.target.value)}})}),A=s.forwardRef((e,t)=>{let{children:l,label:n="Suggestions",...o}=e,r=s.useRef(null),i=s.useRef(null),a=D(e=>e.selectedItemId),u=S();return s.useEffect(()=>{if(i.current&&r.current){let e=i.current,t=r.current,l,n=new ResizeObserver(()=>{l=requestAnimationFrame(()=>{let l=e.offsetHeight;t.style.setProperty("--cmdk-list-height",l.toFixed(1)+"px")})});return n.observe(e),()=>{cancelAnimationFrame(l),n.unobserve(e)}}},[]),s.createElement(d.sG.div,{ref:(0,c.t)(r,t),...o,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":a,"aria-label":n,id:u.listId},z(e,e=>s.createElement("div",{ref:(0,c.t)(i,u.listInnerRef),"cmdk-list-sizer":""},e)))}),E=s.forwardRef((e,t)=>{let{open:l,onOpenChange:n,overlayClassName:o,contentClassName:r,container:i,...a}=e;return s.createElement(u.bL,{open:l,onOpenChange:n},s.createElement(u.ZL,{container:i},s.createElement(u.hJ,{"cmdk-overlay":"",className:o}),s.createElement(u.UC,{"aria-label":e.label,"cmdk-dialog":"",className:r},s.createElement(x,{ref:t,...a}))))}),_=Object.assign(x,{List:A,Item:M,Input:V,Group:P,Separator:I,Dialog:E,Empty:s.forwardRef((e,t)=>D(e=>0===e.filtered.count)?s.createElement(d.sG.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Loading:s.forwardRef((e,t)=>{let{progress:l,children:n,label:o="Loading...",...r}=e;return s.createElement(d.sG.div,{ref:t,...r,"cmdk-loading":"",role:"progressbar","aria-valuenow":l,"aria-valuemin":0,"aria-valuemax":100,"aria-label":o},z(e,e=>s.createElement("div",{"aria-hidden":!0},e)))})});function k(e){let t=s.useRef(e);return L(()=>{t.current=e}),t}var L="undefined"==typeof window?s.useEffect:s.useLayoutEffect;function G(e){let t=s.useRef();return void 0===t.current&&(t.current=e()),t}function D(e){let t=y(),l=()=>e(t.snapshot());return s.useSyncExternalStore(t.subscribe,l,l)}function O(e,t,l){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=s.useRef(),r=S();return L(()=>{var i;let a=(()=>{var e;for(let t of l){if("string"==typeof t)return t.trim();if("object"==typeof t&&"current"in t)return t.current?null==(e=t.current.textContent)?void 0:e.trim():o.current}})(),u=n.map(e=>e.trim());r.value(e,a,u),null==(i=t.current)||i.setAttribute(C,a),o.current=a}),o}var H=()=>{let[e,t]=s.useState(),l=G(()=>new Map);return L(()=>{l.current.forEach(e=>e()),l.current=new Map},[e]),(e,n)=>{l.current.set(e,n),t({})}};function z(e,t){let l,{asChild:n,children:o}=e;return n&&s.isValidElement(o)?s.cloneElement("function"==typeof(l=o.type)?l(o.props):"render"in l?l.render(o.props):o,{ref:o.ref},t(o.props.children)):t(o)}var j={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"}},7828:(e,t,l)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,l(4054).createAsyncLocalStorage)()},7924:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])}}]); \ No newline at end of file + color: hsl(${Math.max(0,Math.min(120-120*n,120))}deg 100% 31%);`,null==l?void 0:l.key)}return n}}function a(e,t,l,n){return{debug:()=>{var l;return null!=(l=null==e?void 0:e.debugAll)?l:e[t]},key:!1,onChange:n}}let u="debugHeaders";function s(e,t,l){var n;let o={id:null!=(n=l.id)?n:t.id,column:t,index:l.index,isPlaceholder:!!l.isPlaceholder,placeholderId:l.placeholderId,depth:l.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=l=>{l.subHeaders&&l.subHeaders.length&&l.subHeaders.map(t),e.push(l)};return t(o),e},getContext:()=>({table:e,header:o,column:t})};return e._features.forEach(t=>{null==t.createHeader||t.createHeader(o,e)}),o}function d(e,t,l,n){var o,r;let i=0,a=function(e,t){void 0===t&&(t=1),i=Math.max(i,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var l;null!=(l=e.columns)&&l.length&&a(e.columns,t+1)},0)};a(e);let u=[],d=(e,t)=>{let o={depth:t,id:[n,`${t}`].filter(Boolean).join("_"),headers:[]},r=[];e.forEach(e=>{let i,a=[...r].reverse()[0],u=e.column.depth===o.depth,d=!1;if(u&&e.column.parent?i=e.column.parent:(i=e.column,d=!0),a&&(null==a?void 0:a.column)===i)a.subHeaders.push(e);else{let o=s(l,i,{id:[n,t,i.id,null==e?void 0:e.id].filter(Boolean).join("_"),isPlaceholder:d,placeholderId:d?`${r.filter(e=>e.column===i).length}`:void 0,depth:t,index:r.length});o.subHeaders.push(e),r.push(o)}o.headers.push(e),e.headerGroup=o}),u.push(o),t>0&&d(r,t-1)};d(t.map((e,t)=>s(l,e,{depth:i,index:t})),i-1),u.reverse();let g=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,l=0,n=[0];return e.subHeaders&&e.subHeaders.length?(n=[],g(e.subHeaders).forEach(e=>{let{colSpan:l,rowSpan:o}=e;t+=l,n.push(o)})):t=1,l+=Math.min(...n),e.colSpan=t,e.rowSpan=l,{colSpan:t,rowSpan:l}});return g(null!=(o=null==(r=u[0])?void 0:r.headers)?o:[]),u}let g=(e,t,l,n,o,r,u)=>{let s={id:t,index:n,original:l,depth:o,parentId:u,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(s._valuesCache.hasOwnProperty(t))return s._valuesCache[t];let l=e.getColumn(t);if(null!=l&&l.accessorFn)return s._valuesCache[t]=l.accessorFn(s.original,n),s._valuesCache[t]},getUniqueValues:t=>{if(s._uniqueValuesCache.hasOwnProperty(t))return s._uniqueValuesCache[t];let l=e.getColumn(t);if(null!=l&&l.accessorFn)return l.columnDef.getUniqueValues?s._uniqueValuesCache[t]=l.columnDef.getUniqueValues(s.original,n):s._uniqueValuesCache[t]=[s.getValue(t)],s._uniqueValuesCache[t]},renderValue:t=>{var l;return null!=(l=s.getValue(t))?l:e.options.renderFallbackValue},subRows:null!=r?r:[],getLeafRows:()=>(function(e,t){let l=[],n=e=>{e.forEach(e=>{l.push(e);let o=t(e);null!=o&&o.length&&n(o)})};return n(e),l})(s.subRows,e=>e.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let e=[],t=s;for(;;){let l=t.getParentRow();if(!l)break;e.push(l),t=l}return e.reverse()},getAllCells:i(()=>[e.getAllLeafColumns()],t=>t.map(t=>(function(e,t,l,n){let o={id:`${t.id}_${l.id}`,row:t,column:l,getValue:()=>t.getValue(n),renderValue:()=>{var t;return null!=(t=o.getValue())?t:e.options.renderFallbackValue},getContext:i(()=>[e,l,t,o],(e,t,l,n)=>({table:e,column:t,row:l,cell:n,getValue:n.getValue,renderValue:n.renderValue}),a(e.options,"debugCells","cell.getContext"))};return e._features.forEach(n=>{null==n.createCell||n.createCell(o,l,t,e)},{}),o})(e,s,t,t.id)),a(e.options,"debugRows","getAllCells")),_getAllCellsByColumnId:i(()=>[s.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),a(e.options,"debugRows","getAllCellsByColumnId"))};for(let t=0;t{var n,o;let r=null==l||null==(n=l.toString())?void 0:n.toLowerCase();return!!(null==(o=e.getValue(t))||null==(o=o.toString())||null==(o=o.toLowerCase())?void 0:o.includes(r))};c.autoRemove=e=>R(e);let p=(e,t,l)=>{var n;return!!(null==(n=e.getValue(t))||null==(n=n.toString())?void 0:n.includes(l))};p.autoRemove=e=>R(e);let f=(e,t,l)=>{var n;return(null==(n=e.getValue(t))||null==(n=n.toString())?void 0:n.toLowerCase())===(null==l?void 0:l.toLowerCase())};f.autoRemove=e=>R(e);let m=(e,t,l)=>{var n;return null==(n=e.getValue(t))?void 0:n.includes(l)};m.autoRemove=e=>R(e);let v=(e,t,l)=>!l.some(l=>{var n;return!(null!=(n=e.getValue(t))&&n.includes(l))});v.autoRemove=e=>R(e)||!(null!=e&&e.length);let h=(e,t,l)=>l.some(l=>{var n;return null==(n=e.getValue(t))?void 0:n.includes(l)});h.autoRemove=e=>R(e)||!(null!=e&&e.length);let C=(e,t,l)=>e.getValue(t)===l;C.autoRemove=e=>R(e);let b=(e,t,l)=>e.getValue(t)==l;b.autoRemove=e=>R(e);let w=(e,t,l)=>{let[n,o]=l,r=e.getValue(t);return r>=n&&r<=o};w.resolveFilterValue=e=>{let[t,l]=e,n="number"!=typeof t?parseFloat(t):t,o="number"!=typeof l?parseFloat(l):l,r=null===t||Number.isNaN(n)?-1/0:n,i=null===l||Number.isNaN(o)?1/0:o;if(r>i){let e=r;r=i,i=e}return[r,i]},w.autoRemove=e=>R(e)||R(e[0])&&R(e[1]);let S={includesString:c,includesStringSensitive:p,equalsString:f,arrIncludes:m,arrIncludesAll:v,arrIncludesSome:h,equals:C,weakEquals:b,inNumberRange:w};function R(e){return null==e||""===e}function y(e,t,l){return!!e&&!!e.autoRemove&&e.autoRemove(t,l)||void 0===t||"string"==typeof t&&!t}let x={sum:(e,t,l)=>l.reduce((t,l)=>{let n=l.getValue(e);return t+("number"==typeof n?n:0)},0),min:(e,t,l)=>{let n;return l.forEach(t=>{let l=t.getValue(e);null!=l&&(n>l||void 0===n&&l>=l)&&(n=l)}),n},max:(e,t,l)=>{let n;return l.forEach(t=>{let l=t.getValue(e);null!=l&&(n=l)&&(n=l)}),n},extent:(e,t,l)=>{let n,o;return l.forEach(t=>{let l=t.getValue(e);null!=l&&(void 0===n?l>=l&&(n=o=l):(n>l&&(n=l),o{let l=0,n=0;if(t.forEach(t=>{let o=t.getValue(e);null!=o&&(o*=1)>=o&&(++l,n+=o)}),l)return n/l},median:(e,t)=>{if(!t.length)return;let l=t.map(t=>t.getValue(e));if(!function(e){return Array.isArray(e)&&e.every(e=>"number"==typeof e)}(l))return;if(1===l.length)return l[0];let n=Math.floor(l.length/2),o=l.sort((e,t)=>e-t);return l.length%2!=0?o[n]:(o[n-1]+o[n])/2},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},F=()=>({left:[],right:[]}),M={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},P=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),I=null;function A(e){return"touchstart"===e.type}function V(e,t){return t?"center"===t?e.getCenterVisibleLeafColumns():"left"===t?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}let E=()=>({pageIndex:0,pageSize:10}),_=()=>({top:[],bottom:[]}),k=(e,t,l,n,o)=>{var r;let i=o.getRow(t,!0);l?(i.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),i.getCanSelect()&&(e[t]=!0)):delete e[t],n&&null!=(r=i.subRows)&&r.length&&i.getCanSelectSubRows()&&i.subRows.forEach(t=>k(e,t.id,l,n,o))};function L(e,t){let l=e.getState().rowSelection,n=[],o={},r=function(e,t){return e.map(e=>{var t;let i=G(e,l);if(i&&(n.push(e),o[e.id]=e),null!=(t=e.subRows)&&t.length&&(e={...e,subRows:r(e.subRows)}),i)return e}).filter(Boolean)};return{rows:r(t.rows),flatRows:n,rowsById:o}}function G(e,t){var l;return null!=(l=t[e.id])&&l}function D(e,t,l){var n;if(!(null!=(n=e.subRows)&&n.length))return!1;let o=!0,r=!1;return e.subRows.forEach(e=>{if((!r||o)&&(e.getCanSelect()&&(G(e,t)?r=!0:o=!1),e.subRows&&e.subRows.length)){let l=D(e,t);"all"===l?r=!0:("some"===l&&(r=!0),o=!1)}}),o?"all":!!r&&"some"}let O=/([0-9]+)/gm;function H(e,t){return e===t?0:e>t?1:-1}function z(e){return"number"==typeof e?isNaN(e)||e===1/0||e===-1/0?"":String(e):"string"==typeof e?e:""}function j(e,t){let l=e.split(O).filter(Boolean),n=t.split(O).filter(Boolean);for(;l.length&&n.length;){let e=l.shift(),t=n.shift(),o=parseInt(e,10),r=parseInt(t,10),i=[o,r].sort();if(isNaN(i[0])){if(e>t)return 1;if(t>e)return -1;continue}if(isNaN(i[1]))return isNaN(o)?-1:1;if(o>r)return 1;if(r>o)return -1}return l.length-n.length}let T={alphanumeric:(e,t,l)=>j(z(e.getValue(l)).toLowerCase(),z(t.getValue(l)).toLowerCase()),alphanumericCaseSensitive:(e,t,l)=>j(z(e.getValue(l)),z(t.getValue(l))),text:(e,t,l)=>H(z(e.getValue(l)).toLowerCase(),z(t.getValue(l)).toLowerCase()),textCaseSensitive:(e,t,l)=>H(z(e.getValue(l)),z(t.getValue(l))),datetime:(e,t,l)=>{let n=e.getValue(l),o=t.getValue(l);return n>o?1:nH(e.getValue(l),t.getValue(l))},B=[{createTable:e=>{e.getHeaderGroups=i(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,l,n,o)=>{var r,i;let a=null!=(r=null==n?void 0:n.map(e=>l.find(t=>t.id===e)).filter(Boolean))?r:[],u=null!=(i=null==o?void 0:o.map(e=>l.find(t=>t.id===e)).filter(Boolean))?i:[];return d(t,[...a,...l.filter(e=>!(null!=n&&n.includes(e.id))&&!(null!=o&&o.includes(e.id))),...u],e)},a(e.options,u,"getHeaderGroups")),e.getCenterHeaderGroups=i(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,l,n,o)=>d(t,l=l.filter(e=>!(null!=n&&n.includes(e.id))&&!(null!=o&&o.includes(e.id))),e,"center"),a(e.options,u,"getCenterHeaderGroups")),e.getLeftHeaderGroups=i(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,l,n)=>{var o;return d(t,null!=(o=null==n?void 0:n.map(e=>l.find(t=>t.id===e)).filter(Boolean))?o:[],e,"left")},a(e.options,u,"getLeftHeaderGroups")),e.getRightHeaderGroups=i(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,l,n)=>{var o;return d(t,null!=(o=null==n?void 0:n.map(e=>l.find(t=>t.id===e)).filter(Boolean))?o:[],e,"right")},a(e.options,u,"getRightHeaderGroups")),e.getFooterGroups=i(()=>[e.getHeaderGroups()],e=>[...e].reverse(),a(e.options,u,"getFooterGroups")),e.getLeftFooterGroups=i(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),a(e.options,u,"getLeftFooterGroups")),e.getCenterFooterGroups=i(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),a(e.options,u,"getCenterFooterGroups")),e.getRightFooterGroups=i(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),a(e.options,u,"getRightFooterGroups")),e.getFlatHeaders=i(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),a(e.options,u,"getFlatHeaders")),e.getLeftFlatHeaders=i(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),a(e.options,u,"getLeftFlatHeaders")),e.getCenterFlatHeaders=i(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),a(e.options,u,"getCenterFlatHeaders")),e.getRightFlatHeaders=i(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),a(e.options,u,"getRightFlatHeaders")),e.getCenterLeafHeaders=i(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}),a(e.options,u,"getCenterLeafHeaders")),e.getLeftLeafHeaders=i(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}),a(e.options,u,"getLeftLeafHeaders")),e.getRightLeafHeaders=i(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}),a(e.options,u,"getRightLeafHeaders")),e.getLeafHeaders=i(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,l)=>{var n,o,r,i,a,u;return[...null!=(n=null==(o=e[0])?void 0:o.headers)?n:[],...null!=(r=null==(i=t[0])?void 0:i.headers)?r:[],...null!=(a=null==(u=l[0])?void 0:u.headers)?a:[]].map(e=>e.getLeafHeaders()).flat()},a(e.options,u,"getLeafHeaders"))}},{getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:o("columnVisibility",e)}),createColumn:(e,t)=>{e.toggleVisibility=l=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:null!=l?l:!e.getIsVisible()}))},e.getIsVisible=()=>{var l,n;let o=e.columns;return null==(l=o.length?o.some(e=>e.getIsVisible()):null==(n=t.getState().columnVisibility)?void 0:n[e.id])||l},e.getCanHide=()=>{var l,n;return(null==(l=e.columnDef.enableHiding)||l)&&(null==(n=t.options.enableHiding)||n)},e.getToggleVisibilityHandler=()=>t=>{null==e.toggleVisibility||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=i(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),a(t.options,"debugRows","_getAllVisibleCells")),e.getVisibleCells=i(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,l)=>[...e,...t,...l],a(t.options,"debugRows","getVisibleCells"))},createTable:e=>{let t=(t,l)=>i(()=>[l(),l().filter(e=>e.getIsVisible()).map(e=>e.id).join("_")],e=>e.filter(e=>null==e.getIsVisible?void 0:e.getIsVisible()),a(e.options,"debugColumns",t));e.getVisibleFlatColumns=t("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>null==e.options.onColumnVisibilityChange?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{var l;e.setColumnVisibility(t?{}:null!=(l=e.initialState.columnVisibility)?l:{})},e.toggleAllColumnsVisible=t=>{var l;t=null!=(l=t)?l:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,l)=>({...e,[l.id]:t||!(null!=l.getCanHide&&l.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(null!=e.getIsVisible&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>null==e.getIsVisible?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{var l;e.toggleAllColumnsVisible(null==(l=t.target)?void 0:l.checked)}}},{getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:o("columnOrder",e)}),createColumn:(e,t)=>{e.getIndex=i(e=>[V(t,e)],t=>t.findIndex(t=>t.id===e.id),a(t.options,"debugColumns","getIndex")),e.getIsFirstColumn=l=>{var n;return(null==(n=V(t,l)[0])?void 0:n.id)===e.id},e.getIsLastColumn=l=>{var n;let o=V(t,l);return(null==(n=o[o.length-1])?void 0:n.id)===e.id}},createTable:e=>{e.setColumnOrder=t=>null==e.options.onColumnOrderChange?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{var l;e.setColumnOrder(t?[]:null!=(l=e.initialState.columnOrder)?l:[])},e._getOrderColumnsFn=i(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,l)=>n=>{let o=[];if(null!=e&&e.length){let t=[...e],l=[...n];for(;l.length&&t.length;){let e=t.shift(),n=l.findIndex(t=>t.id===e);n>-1&&o.push(l.splice(n,1)[0])}o=[...o,...l]}else o=n;return function(e,t,l){if(!(null!=t&&t.length)||!l)return e;let n=e.filter(e=>!t.includes(e.id));return"remove"===l?n:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...n]}(o,t,l)},a(e.options,"debugTable","_getOrderColumnsFn"))}},{getInitialState:e=>({columnPinning:F(),...e}),getDefaultOptions:e=>({onColumnPinningChange:o("columnPinning",e)}),createColumn:(e,t)=>{e.pin=l=>{let n=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>{var t,o,r,i,a,u;return"right"===l?{left:(null!=(r=null==e?void 0:e.left)?r:[]).filter(e=>!(null!=n&&n.includes(e))),right:[...(null!=(i=null==e?void 0:e.right)?i:[]).filter(e=>!(null!=n&&n.includes(e))),...n]}:"left"===l?{left:[...(null!=(a=null==e?void 0:e.left)?a:[]).filter(e=>!(null!=n&&n.includes(e))),...n],right:(null!=(u=null==e?void 0:e.right)?u:[]).filter(e=>!(null!=n&&n.includes(e)))}:{left:(null!=(t=null==e?void 0:e.left)?t:[]).filter(e=>!(null!=n&&n.includes(e))),right:(null!=(o=null==e?void 0:e.right)?o:[]).filter(e=>!(null!=n&&n.includes(e)))}})},e.getCanPin=()=>e.getLeafColumns().some(e=>{var l,n,o;return(null==(l=e.columnDef.enablePinning)||l)&&(null==(n=null!=(o=t.options.enableColumnPinning)?o:t.options.enablePinning)||n)}),e.getIsPinned=()=>{let l=e.getLeafColumns().map(e=>e.id),{left:n,right:o}=t.getState().columnPinning,r=l.some(e=>null==n?void 0:n.includes(e)),i=l.some(e=>null==o?void 0:o.includes(e));return r?"left":!!i&&"right"},e.getPinnedIndex=()=>{var l,n;let o=e.getIsPinned();return o?null!=(l=null==(n=t.getState().columnPinning)||null==(n=n[o])?void 0:n.indexOf(e.id))?l:-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=i(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,l)=>{let n=[...null!=t?t:[],...null!=l?l:[]];return e.filter(e=>!n.includes(e.column.id))},a(t.options,"debugRows","getCenterVisibleCells")),e.getLeftVisibleCells=i(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(null!=t?t:[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:"left"})),a(t.options,"debugRows","getLeftVisibleCells")),e.getRightVisibleCells=i(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(null!=t?t:[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:"right"})),a(t.options,"debugRows","getRightVisibleCells"))},createTable:e=>{e.setColumnPinning=t=>null==e.options.onColumnPinningChange?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>{var l,n;return e.setColumnPinning(t?F():null!=(l=null==(n=e.initialState)?void 0:n.columnPinning)?l:F())},e.getIsSomeColumnsPinned=t=>{var l,n,o;let r=e.getState().columnPinning;return t?!!(null==(l=r[t])?void 0:l.length):!!((null==(n=r.left)?void 0:n.length)||(null==(o=r.right)?void 0:o.length))},e.getLeftLeafColumns=i(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(null!=t?t:[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),a(e.options,"debugColumns","getLeftLeafColumns")),e.getRightLeafColumns=i(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(null!=t?t:[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),a(e.options,"debugColumns","getRightLeafColumns")),e.getCenterLeafColumns=i(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,l)=>{let n=[...null!=t?t:[],...null!=l?l:[]];return e.filter(e=>!n.includes(e.id))},a(e.options,"debugColumns","getCenterLeafColumns"))}},{createColumn:(e,t)=>{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},{getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:o("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let l=t.getCoreRowModel().flatRows[0],n=null==l?void 0:l.getValue(e.id);return"string"==typeof n?S.includesString:"number"==typeof n?S.inNumberRange:"boolean"==typeof n||null!==n&&"object"==typeof n?S.equals:Array.isArray(n)?S.arrIncludes:S.weakEquals},e.getFilterFn=()=>{var l,n;return r(e.columnDef.filterFn)?e.columnDef.filterFn:"auto"===e.columnDef.filterFn?e.getAutoFilterFn():null!=(l=null==(n=t.options.filterFns)?void 0:n[e.columnDef.filterFn])?l:S[e.columnDef.filterFn]},e.getCanFilter=()=>{var l,n,o;return(null==(l=e.columnDef.enableColumnFilter)||l)&&(null==(n=t.options.enableColumnFilters)||n)&&(null==(o=t.options.enableFilters)||o)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var l;return null==(l=t.getState().columnFilters)||null==(l=l.find(t=>t.id===e.id))?void 0:l.value},e.getFilterIndex=()=>{var l,n;return null!=(l=null==(n=t.getState().columnFilters)?void 0:n.findIndex(t=>t.id===e.id))?l:-1},e.setFilterValue=l=>{t.setColumnFilters(t=>{var o,r;let i=e.getFilterFn(),a=null==t?void 0:t.find(t=>t.id===e.id),u=n(l,a?a.value:void 0);if(y(i,u,e))return null!=(o=null==t?void 0:t.filter(t=>t.id!==e.id))?o:[];let s={id:e.id,value:u};return a?null!=(r=null==t?void 0:t.map(t=>t.id===e.id?s:t))?r:[]:null!=t&&t.length?[...t,s]:[s]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let l=e.getAllLeafColumns();null==e.options.onColumnFiltersChange||e.options.onColumnFiltersChange(e=>{var o;return null==(o=n(t,e))?void 0:o.filter(e=>{let t=l.find(t=>t.id===e.id);return!(t&&y(t.getFilterFn(),e.value,t))&&!0})})},e.resetColumnFilters=t=>{var l,n;e.setColumnFilters(t?[]:null!=(l=null==(n=e.initialState)?void 0:n.columnFilters)?l:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel)?e.getPreFilteredRowModel():e._getFilteredRowModel()}},{createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},{getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:o("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:t=>{var l;let n=null==(l=e.getCoreRowModel().flatRows[0])||null==(l=l._getAllCellsByColumnId()[t.id])?void 0:l.getValue();return"string"==typeof n||"number"==typeof n}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>{var l,n,o,r;return(null==(l=e.columnDef.enableGlobalFilter)||l)&&(null==(n=t.options.enableGlobalFilter)||n)&&(null==(o=t.options.enableFilters)||o)&&(null==(r=null==t.options.getColumnCanGlobalFilter?void 0:t.options.getColumnCanGlobalFilter(e))||r)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>S.includesString,e.getGlobalFilterFn=()=>{var t,l;let{globalFilterFn:n}=e.options;return r(n)?n:"auto"===n?e.getGlobalAutoFilterFn():null!=(t=null==(l=e.options.filterFns)?void 0:l[n])?t:S[n]},e.setGlobalFilter=t=>{null==e.options.onGlobalFilterChange||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:o("sorting",e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let l=t.getFilteredRowModel().flatRows.slice(10),n=!1;for(let t of l){let l=null==t?void 0:t.getValue(e.id);if("[object Date]"===Object.prototype.toString.call(l))return T.datetime;if("string"==typeof l&&(n=!0,l.split(O).length>1))return T.alphanumeric}return n?T.text:T.basic},e.getAutoSortDir=()=>{let l=t.getFilteredRowModel().flatRows[0];return"string"==typeof(null==l?void 0:l.getValue(e.id))?"asc":"desc"},e.getSortingFn=()=>{var l,n;if(!e)throw Error();return r(e.columnDef.sortingFn)?e.columnDef.sortingFn:"auto"===e.columnDef.sortingFn?e.getAutoSortingFn():null!=(l=null==(n=t.options.sortingFns)?void 0:n[e.columnDef.sortingFn])?l:T[e.columnDef.sortingFn]},e.toggleSorting=(l,n)=>{let o=e.getNextSortingOrder(),r=null!=l;t.setSorting(i=>{let a,u=null==i?void 0:i.find(t=>t.id===e.id),s=null==i?void 0:i.findIndex(t=>t.id===e.id),d=[],g=r?l:"desc"===o;if("toggle"!=(a=null!=i&&i.length&&e.getCanMultiSort()&&n?u?"toggle":"add":null!=i&&i.length&&s!==i.length-1?"replace":u?"toggle":"replace")||r||o||(a="remove"),"add"===a){var c;(d=[...i,{id:e.id,desc:g}]).splice(0,d.length-(null!=(c=t.options.maxMultiSortColCount)?c:Number.MAX_SAFE_INTEGER))}else d="toggle"===a?i.map(t=>t.id===e.id?{...t,desc:g}:t):"remove"===a?i.filter(t=>t.id!==e.id):[{id:e.id,desc:g}];return d})},e.getFirstSortDir=()=>{var l,n;return(null!=(l=null!=(n=e.columnDef.sortDescFirst)?n:t.options.sortDescFirst)?l:"desc"===e.getAutoSortDir())?"desc":"asc"},e.getNextSortingOrder=l=>{var n,o;let r=e.getFirstSortDir(),i=e.getIsSorted();return i?(i===r||null!=(n=t.options.enableSortingRemoval)&&!n||!!l&&null!=(o=t.options.enableMultiRemove)&&!o)&&("desc"===i?"asc":"desc"):r},e.getCanSort=()=>{var l,n;return(null==(l=e.columnDef.enableSorting)||l)&&(null==(n=t.options.enableSorting)||n)&&!!e.accessorFn},e.getCanMultiSort=()=>{var l,n;return null!=(l=null!=(n=e.columnDef.enableMultiSort)?n:t.options.enableMultiSort)?l:!!e.accessorFn},e.getIsSorted=()=>{var l;let n=null==(l=t.getState().sorting)?void 0:l.find(t=>t.id===e.id);return!!n&&(n.desc?"desc":"asc")},e.getSortIndex=()=>{var l,n;return null!=(l=null==(n=t.getState().sorting)?void 0:n.findIndex(t=>t.id===e.id))?l:-1},e.clearSorting=()=>{t.setSorting(t=>null!=t&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let l=e.getCanSort();return n=>{l&&(null==n.persist||n.persist(),null==e.toggleSorting||e.toggleSorting(void 0,!!e.getCanMultiSort()&&(null==t.options.isMultiSortEvent?void 0:t.options.isMultiSortEvent(n))))}}},createTable:e=>{e.setSorting=t=>null==e.options.onSortingChange?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{var l,n;e.setSorting(t?[]:null!=(l=null==(n=e.initialState)?void 0:n.sorting)?l:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel)?e.getPreSortedRowModel():e._getSortedRowModel()}},{getDefaultColumnDef:()=>({aggregatedCell:e=>{var t,l;return null!=(t=null==(l=e.getValue())||null==l.toString?void 0:l.toString())?t:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:o("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>null!=t&&t.includes(e.id)?t.filter(t=>t!==e.id):[...null!=t?t:[],e.id])},e.getCanGroup=()=>{var l,n;return(null==(l=e.columnDef.enableGrouping)||l)&&(null==(n=t.options.enableGrouping)||n)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var l;return null==(l=t.getState().grouping)?void 0:l.includes(e.id)},e.getGroupedIndex=()=>{var l;return null==(l=t.getState().grouping)?void 0:l.indexOf(e.id)},e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let l=t.getCoreRowModel().flatRows[0],n=null==l?void 0:l.getValue(e.id);return"number"==typeof n?x.sum:"[object Date]"===Object.prototype.toString.call(n)?x.extent:void 0},e.getAggregationFn=()=>{var l,n;if(!e)throw Error();return r(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:"auto"===e.columnDef.aggregationFn?e.getAutoAggregationFn():null!=(l=null==(n=t.options.aggregationFns)?void 0:n[e.columnDef.aggregationFn])?l:x[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>null==e.options.onGroupingChange?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{var l,n;e.setGrouping(t?[]:null!=(l=null==(n=e.initialState)?void 0:n.grouping)?l:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel)?e.getPreGroupedRowModel():e._getGroupedRowModel()},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=l=>{if(e._groupingValuesCache.hasOwnProperty(l))return e._groupingValuesCache[l];let n=t.getColumn(l);return null!=n&&n.columnDef.getGroupingValue?(e._groupingValuesCache[l]=n.columnDef.getGroupingValue(e.original),e._groupingValuesCache[l]):e.getValue(l)},e._groupingValuesCache={}},createCell:(e,t,l,n)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===l.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!(null!=(t=l.subRows)&&t.length)}}},{getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:o("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,l=!1;e._autoResetExpanded=()=>{var n,o;if(!t)return void e._queue(()=>{t=!0});if(null!=(n=null!=(o=e.options.autoResetAll)?o:e.options.autoResetExpanded)?n:!e.options.manualExpanding){if(l)return;l=!0,e._queue(()=>{e.resetExpanded(),l=!1})}},e.setExpanded=t=>null==e.options.onExpandedChange?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{(null!=t?t:!e.getIsAllRowsExpanded())?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{var l,n;e.setExpanded(t?{}:null!=(l=null==(n=e.initialState)?void 0:n.expanded)?l:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{null==t.persist||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return!0===t||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return"boolean"==typeof t?!0===t:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(!0===e.getState().expanded?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let l=e.split(".");t=Math.max(t,l.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel)?e.getPreExpandedRowModel():e._getExpandedRowModel()},createRow:(e,t)=>{e.toggleExpanded=l=>{t.setExpanded(n=>{var o;let r=!0===n||!!(null!=n&&n[e.id]),i={};if(!0===n?Object.keys(t.getRowModel().rowsById).forEach(e=>{i[e]=!0}):i=n,l=null!=(o=l)?o:!r,!r&&l)return{...i,[e.id]:!0};if(r&&!l){let{[e.id]:t,...l}=i;return l}return n})},e.getIsExpanded=()=>{var l;let n=t.getState().expanded;return!!(null!=(l=null==t.options.getIsRowExpanded?void 0:t.options.getIsRowExpanded(e))?l:!0===n||(null==n?void 0:n[e.id]))},e.getCanExpand=()=>{var l,n,o;return null!=(l=null==t.options.getRowCanExpand?void 0:t.options.getRowCanExpand(e))?l:(null==(n=t.options.enableExpanding)||n)&&!!(null!=(o=e.subRows)&&o.length)},e.getIsAllParentsExpanded=()=>{let l=!0,n=e;for(;l&&n.parentId;)l=(n=t.getRow(n.parentId,!0)).getIsExpanded();return l},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},{getInitialState:e=>({...e,pagination:{...E(),...null==e?void 0:e.pagination}}),getDefaultOptions:e=>({onPaginationChange:o("pagination",e)}),createTable:e=>{let t=!1,l=!1;e._autoResetPageIndex=()=>{var n,o;if(!t)return void e._queue(()=>{t=!0});if(null!=(n=null!=(o=e.options.autoResetAll)?o:e.options.autoResetPageIndex)?n:!e.options.manualPagination){if(l)return;l=!0,e._queue(()=>{e.resetPageIndex(),l=!1})}},e.setPagination=t=>null==e.options.onPaginationChange?void 0:e.options.onPaginationChange(e=>n(t,e)),e.resetPagination=t=>{var l;e.setPagination(t?E():null!=(l=e.initialState.pagination)?l:E())},e.setPageIndex=t=>{e.setPagination(l=>{let o=n(t,l.pageIndex);return o=Math.max(0,Math.min(o,void 0===e.options.pageCount||-1===e.options.pageCount?Number.MAX_SAFE_INTEGER:e.options.pageCount-1)),{...l,pageIndex:o}})},e.resetPageIndex=t=>{var l,n;e.setPageIndex(t?0:null!=(l=null==(n=e.initialState)||null==(n=n.pagination)?void 0:n.pageIndex)?l:0)},e.resetPageSize=t=>{var l,n;e.setPageSize(t?10:null!=(l=null==(n=e.initialState)||null==(n=n.pagination)?void 0:n.pageSize)?l:10)},e.setPageSize=t=>{e.setPagination(e=>{let l=Math.max(1,n(t,e.pageSize)),o=Math.floor(e.pageSize*e.pageIndex/l);return{...e,pageIndex:o,pageSize:l}})},e.setPageCount=t=>e.setPagination(l=>{var o;let r=n(t,null!=(o=e.options.pageCount)?o:-1);return"number"==typeof r&&(r=Math.max(-1,r)),{...l,pageCount:r}}),e.getPageOptions=i(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},a(e.options,"debugTable","getPageOptions")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,l=e.getPageCount();return -1===l||0!==l&&te.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel)?e.getPrePaginationRowModel():e._getPaginationRowModel(),e.getPageCount=()=>{var t;return null!=(t=e.options.pageCount)?t:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var t;return null!=(t=e.options.rowCount)?t:e.getPrePaginationRowModel().rows.length}}},{getInitialState:e=>({rowPinning:_(),...e}),getDefaultOptions:e=>({onRowPinningChange:o("rowPinning",e)}),createRow:(e,t)=>{e.pin=(l,n,o)=>{let r=n?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],i=new Set([...o?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],e.id,...r]);t.setRowPinning(e=>{var t,n,o,r,a,u;return"bottom"===l?{top:(null!=(o=null==e?void 0:e.top)?o:[]).filter(e=>!(null!=i&&i.has(e))),bottom:[...(null!=(r=null==e?void 0:e.bottom)?r:[]).filter(e=>!(null!=i&&i.has(e))),...Array.from(i)]}:"top"===l?{top:[...(null!=(a=null==e?void 0:e.top)?a:[]).filter(e=>!(null!=i&&i.has(e))),...Array.from(i)],bottom:(null!=(u=null==e?void 0:e.bottom)?u:[]).filter(e=>!(null!=i&&i.has(e)))}:{top:(null!=(t=null==e?void 0:e.top)?t:[]).filter(e=>!(null!=i&&i.has(e))),bottom:(null!=(n=null==e?void 0:e.bottom)?n:[]).filter(e=>!(null!=i&&i.has(e)))}})},e.getCanPin=()=>{var l;let{enableRowPinning:n,enablePinning:o}=t.options;return"function"==typeof n?n(e):null==(l=null!=n?n:o)||l},e.getIsPinned=()=>{let l=[e.id],{top:n,bottom:o}=t.getState().rowPinning,r=l.some(e=>null==n?void 0:n.includes(e)),i=l.some(e=>null==o?void 0:o.includes(e));return r?"top":!!i&&"bottom"},e.getPinnedIndex=()=>{var l,n;let o=e.getIsPinned();if(!o)return -1;let r=null==(l="top"===o?t.getTopRows():t.getBottomRows())?void 0:l.map(e=>{let{id:t}=e;return t});return null!=(n=null==r?void 0:r.indexOf(e.id))?n:-1}},createTable:e=>{e.setRowPinning=t=>null==e.options.onRowPinningChange?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>{var l,n;return e.setRowPinning(t?_():null!=(l=null==(n=e.initialState)?void 0:n.rowPinning)?l:_())},e.getIsSomeRowsPinned=t=>{var l,n,o;let r=e.getState().rowPinning;return t?!!(null==(l=r[t])?void 0:l.length):!!((null==(n=r.top)?void 0:n.length)||(null==(o=r.bottom)?void 0:o.length))},e._getPinnedRows=(t,l,n)=>{var o;return(null==(o=e.options.keepPinnedRows)||o?(null!=l?l:[]).map(t=>{let l=e.getRow(t,!0);return l.getIsAllParentsExpanded()?l:null}):(null!=l?l:[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:n}))},e.getTopRows=i(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,l)=>e._getPinnedRows(t,l,"top"),a(e.options,"debugRows","getTopRows")),e.getBottomRows=i(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,l)=>e._getPinnedRows(t,l,"bottom"),a(e.options,"debugRows","getBottomRows")),e.getCenterRows=i(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,l)=>{let n=new Set([...null!=t?t:[],...null!=l?l:[]]);return e.filter(e=>!n.has(e.id))},a(e.options,"debugRows","getCenterRows"))}},{getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:o("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>null==e.options.onRowSelectionChange?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>{var l;return e.setRowSelection(t?{}:null!=(l=e.initialState.rowSelection)?l:{})},e.toggleAllRowsSelected=t=>{e.setRowSelection(l=>{t=void 0!==t?t:!e.getIsAllRowsSelected();let n={...l},o=e.getPreGroupedRowModel().flatRows;return t?o.forEach(e=>{e.getCanSelect()&&(n[e.id]=!0)}):o.forEach(e=>{delete n[e.id]}),n})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(l=>{let n=void 0!==t?t:!e.getIsAllPageRowsSelected(),o={...l};return e.getRowModel().rows.forEach(t=>{k(o,t.id,n,!0,e)}),o}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=i(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,l)=>Object.keys(t).length?L(e,l):{rows:[],flatRows:[],rowsById:{}},a(e.options,"debugTable","getSelectedRowModel")),e.getFilteredSelectedRowModel=i(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,l)=>Object.keys(t).length?L(e,l):{rows:[],flatRows:[],rowsById:{}},a(e.options,"debugTable","getFilteredSelectedRowModel")),e.getGroupedSelectedRowModel=i(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,l)=>Object.keys(t).length?L(e,l):{rows:[],flatRows:[],rowsById:{}},a(e.options,"debugTable","getGroupedSelectedRowModel")),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:l}=e.getState(),n=!!(t.length&&Object.keys(l).length);return n&&t.some(e=>e.getCanSelect()&&!l[e.id])&&(n=!1),n},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:l}=e.getState(),n=!!t.length;return n&&t.some(e=>!l[e.id])&&(n=!1),n},e.getIsSomeRowsSelected=()=>{var t;let l=Object.keys(null!=(t=e.getState().rowSelection)?t:{}).length;return l>0&&l{let t=e.getPaginationRowModel().flatRows;return!e.getIsAllPageRowsSelected()&&t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(l,n)=>{let o=e.getIsSelected();t.setRowSelection(r=>{var i;if(l=void 0!==l?l:!o,e.getCanSelect()&&o===l)return r;let a={...r};return k(a,e.id,l,null==(i=null==n?void 0:n.selectChildren)||i,t),a})},e.getIsSelected=()=>{let{rowSelection:l}=t.getState();return G(e,l)},e.getIsSomeSelected=()=>{let{rowSelection:l}=t.getState();return"some"===D(e,l)},e.getIsAllSubRowsSelected=()=>{let{rowSelection:l}=t.getState();return"all"===D(e,l)},e.getCanSelect=()=>{var l;return"function"==typeof t.options.enableRowSelection?t.options.enableRowSelection(e):null==(l=t.options.enableRowSelection)||l},e.getCanSelectSubRows=()=>{var l;return"function"==typeof t.options.enableSubRowSelection?t.options.enableSubRowSelection(e):null==(l=t.options.enableSubRowSelection)||l},e.getCanMultiSelect=()=>{var l;return"function"==typeof t.options.enableMultiRowSelection?t.options.enableMultiRowSelection(e):null==(l=t.options.enableMultiRowSelection)||l},e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return l=>{var n;t&&e.toggleSelected(null==(n=l.target)?void 0:n.checked)}}}},{getDefaultColumnDef:()=>M,getInitialState:e=>({columnSizing:{},columnSizingInfo:P(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:o("columnSizing",e),onColumnSizingInfoChange:o("columnSizingInfo",e)}),createColumn:(e,t)=>{e.getSize=()=>{var l,n,o;let r=t.getState().columnSizing[e.id];return Math.min(Math.max(null!=(l=e.columnDef.minSize)?l:M.minSize,null!=(n=null!=r?r:e.columnDef.size)?n:M.size),null!=(o=e.columnDef.maxSize)?o:M.maxSize)},e.getStart=i(e=>[e,V(t,e),t.getState().columnSizing],(t,l)=>l.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),a(t.options,"debugColumns","getStart")),e.getAfter=i(e=>[e,V(t,e),t.getState().columnSizing],(t,l)=>l.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),a(t.options,"debugColumns","getAfter")),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:l,...n}=t;return n})},e.getCanResize=()=>{var l,n;return(null==(l=e.columnDef.enableResizing)||l)&&(null==(n=t.options.enableColumnResizing)||n)},e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,l=e=>{if(e.subHeaders.length)e.subHeaders.forEach(l);else{var n;t+=null!=(n=e.column.getSize())?n:0}};return l(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=l=>{let n=t.getColumn(e.column.id),o=null==n?void 0:n.getCanResize();return r=>{if(!n||!o||(null==r.persist||r.persist(),A(r)&&r.touches&&r.touches.length>1))return;let i=e.getSize(),a=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[n.id,n.getSize()]],u=A(r)?Math.round(r.touches[0].clientX):r.clientX,s={},d=(e,l)=>{"number"==typeof l&&(t.setColumnSizingInfo(e=>{var n,o;let r="rtl"===t.options.columnResizeDirection?-1:1,i=(l-(null!=(n=null==e?void 0:e.startOffset)?n:0))*r,a=Math.max(i/(null!=(o=null==e?void 0:e.startSize)?o:0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,l]=e;s[t]=Math.round(100*Math.max(l+l*a,0))/100}),{...e,deltaOffset:i,deltaPercentage:a}}),("onChange"===t.options.columnResizeMode||"end"===e)&&t.setColumnSizing(e=>({...e,...s})))},g=e=>d("move",e),c=e=>{d("end",e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=l||("undefined"!=typeof document?document:null),f={moveHandler:e=>g(e.clientX),upHandler:e=>{null==p||p.removeEventListener("mousemove",f.moveHandler),null==p||p.removeEventListener("mouseup",f.upHandler),c(e.clientX)}},m={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),g(e.touches[0].clientX),!1),upHandler:e=>{var t;null==p||p.removeEventListener("touchmove",m.moveHandler),null==p||p.removeEventListener("touchend",m.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),c(null==(t=e.touches[0])?void 0:t.clientX)}},v=!!function(){if("boolean"==typeof I)return I;let e=!1;try{let t=()=>{};window.addEventListener("test",t,{get passive(){return e=!0,!1}}),window.removeEventListener("test",t)}catch(t){e=!1}return I=e}()&&{passive:!1};A(r)?(null==p||p.addEventListener("touchmove",m.moveHandler,v),null==p||p.addEventListener("touchend",m.upHandler,v)):(null==p||p.addEventListener("mousemove",f.moveHandler,v),null==p||p.addEventListener("mouseup",f.upHandler,v)),t.setColumnSizingInfo(e=>({...e,startOffset:u,startSize:i,deltaOffset:0,deltaPercentage:0,columnSizingStart:a,isResizingColumn:n.id}))}}},createTable:e=>{e.setColumnSizing=t=>null==e.options.onColumnSizingChange?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>null==e.options.onColumnSizingInfoChange?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{var l;e.setColumnSizing(t?{}:null!=(l=e.initialState.columnSizing)?l:{})},e.resetHeaderSizeInfo=t=>{var l;e.setColumnSizingInfo(t?P():null!=(l=e.initialState.columnSizingInfo)?l:P())},e.getTotalSize=()=>{var t,l;return null!=(t=null==(l=e.getHeaderGroups()[0])?void 0:l.headers.reduce((e,t)=>e+t.getSize(),0))?t:0},e.getLeftTotalSize=()=>{var t,l;return null!=(t=null==(l=e.getLeftHeaderGroups()[0])?void 0:l.headers.reduce((e,t)=>e+t.getSize(),0))?t:0},e.getCenterTotalSize=()=>{var t,l;return null!=(t=null==(l=e.getCenterHeaderGroups()[0])?void 0:l.headers.reduce((e,t)=>e+t.getSize(),0))?t:0},e.getRightTotalSize=()=>{var t,l;return null!=(t=null==(l=e.getRightHeaderGroups()[0])?void 0:l.headers.reduce((e,t)=>e+t.getSize(),0))?t:0}}}];function q(e){var t,l;let o=[...B,...null!=(t=e._features)?t:[]],r={_features:o},u=r._features.reduce((e,t)=>Object.assign(e,null==t.getDefaultOptions?void 0:t.getDefaultOptions(r)),{}),s=e=>r.options.mergeOptions?r.options.mergeOptions(u,e):{...u,...e},d={...null!=(l=e.initialState)?l:{}};r._features.forEach(e=>{var t;d=null!=(t=null==e.getInitialState?void 0:e.getInitialState(d))?t:d});let g=[],c=!1,p={_features:o,options:{...u,...e},initialState:d,_queue:e=>{g.push(e),c||(c=!0,Promise.resolve().then(()=>{for(;g.length;)g.shift()();c=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{r.setState(r.initialState)},setOptions:e=>{let t=n(e,r.options);r.options=s(t)},getState:()=>r.options.state,setState:e=>{null==r.options.onStateChange||r.options.onStateChange(e)},_getRowId:(e,t,l)=>{var n;return null!=(n=null==r.options.getRowId?void 0:r.options.getRowId(e,t,l))?n:`${l?[l.id,t].join("."):t}`},getCoreRowModel:()=>(r._getCoreRowModel||(r._getCoreRowModel=r.options.getCoreRowModel(r)),r._getCoreRowModel()),getRowModel:()=>r.getPaginationRowModel(),getRow:(e,t)=>{let l=(t?r.getPrePaginationRowModel():r.getRowModel()).rowsById[e];if(!l&&!(l=r.getCoreRowModel().rowsById[e]))throw Error();return l},_getDefaultColumnDef:i(()=>[r.options.defaultColumn],e=>{var t;return e=null!=(t=e)?t:{},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t,l;return null!=(t=null==(l=e.renderValue())||null==l.toString?void 0:l.toString())?t:null},...r._features.reduce((e,t)=>Object.assign(e,null==t.getDefaultColumnDef?void 0:t.getDefaultColumnDef()),{}),...e}},a(e,"debugColumns","_getDefaultColumnDef")),_getColumnDefs:()=>r.options.columns,getAllColumns:i(()=>[r._getColumnDefs()],e=>{let t=function(e,l,n){return void 0===n&&(n=0),e.map(e=>{let o=function(e,t,l,n){var o,r;let u,s={...e._getDefaultColumnDef(),...t},d=s.accessorKey,g=null!=(o=null!=(r=s.id)?r:d?"function"==typeof String.prototype.replaceAll?d.replaceAll(".","_"):d.replace(/\./g,"_"):void 0)?o:"string"==typeof s.header?s.header:void 0;if(s.accessorFn?u=s.accessorFn:d&&(u=d.includes(".")?e=>{let t=e;for(let e of d.split(".")){var l;t=null==(l=t)?void 0:l[e]}return t}:e=>e[s.accessorKey]),!g)throw Error();let c={id:`${String(g)}`,accessorFn:u,parent:n,depth:l,columnDef:s,columns:[],getFlatColumns:i(()=>[!0],()=>{var e;return[c,...null==(e=c.columns)?void 0:e.flatMap(e=>e.getFlatColumns())]},a(e.options,"debugColumns","column.getFlatColumns")),getLeafColumns:i(()=>[e._getOrderColumnsFn()],e=>{var t;return null!=(t=c.columns)&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},a(e.options,"debugColumns","column.getLeafColumns"))};for(let t of e._features)null==t.createColumn||t.createColumn(c,e);return c}(r,e,n,l);return o.columns=e.columns?t(e.columns,o,n+1):[],o})};return t(e)},a(e,"debugColumns","getAllColumns")),getAllFlatColumns:i(()=>[r.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),a(e,"debugColumns","getAllFlatColumns")),_getAllFlatColumnsById:i(()=>[r.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),a(e,"debugColumns","getAllFlatColumnsById")),getAllLeafColumns:i(()=>[r.getAllColumns(),r._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),a(e,"debugColumns","getAllLeafColumns")),getColumn:e=>r._getAllFlatColumnsById()[e]};Object.assign(r,p);for(let e=0;ei(()=>[e.options.data],t=>{let l={rows:[],flatRows:[],rowsById:{}},n=function(t,o,r){void 0===o&&(o=0);let i=[];for(let u=0;ue._autoResetPageIndex()))}},1492:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]])},2138:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},2146:(e,t,l)=>{function n(e){let{reason:t,children:l}=e;return l}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}}),l(5262)},2355:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},3052:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},3904:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},4054:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var l in t)Object.defineProperty(e,l,{enumerable:!0,get:t[l]})}(t,{bindSnapshot:function(){return i},createAsyncLocalStorage:function(){return r},createSnapshot:function(){return a}});let l=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class n{disable(){throw l}getStore(){}run(){throw l}exit(){throw l}enterWith(){throw l}static bind(e){return e}}let o="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function r(){return o?new o:new n}function i(e){return o?o.bind(e):n.bind(e)}function a(){return o?o.snapshot():function(e,...t){return e(...t)}}},4186:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},4357:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("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"}]])},5028:(e,t,l)=>{l.d(t,{default:()=>o.a});var n=l(6645),o=l.n(n)},5339:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},5448:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]])},5744:(e,t,l)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=l(7828)},5868:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("dollar-sign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]])},6268:(e,t,l)=>{l.d(t,{Kv:()=>r,N4:()=>i});var n=l(2115),o=l(1032);function r(e,t){var l,o,r;return e?"function"==typeof(o=l=e)&&(()=>{let e=Object.getPrototypeOf(o);return e.prototype&&e.prototype.isReactComponent})()||"function"==typeof l||"object"==typeof(r=l)&&"symbol"==typeof r.$$typeof&&["react.memo","react.forward_ref"].includes(r.$$typeof.description)?n.createElement(e,t):e:null}function i(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[l]=n.useState(()=>({current:(0,o.ZR)(t)})),[r,i]=n.useState(()=>l.current.initialState);return l.current.setOptions(t=>({...t,...e,state:{...r,...e.state},onStateChange:t=>{i(t),null==e.onStateChange||e.onStateChange(t)}})),l.current}},6561:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]])},6645:(e,t,l)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let n=l(8229)._(l(7357));function o(e,t){var l;let o={};"function"==typeof e&&(o.loader=e);let r={...o,...t};return(0,n.default)({...r,modules:null==(l=r.loadableGenerated)?void 0:l.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7357:(e,t,l)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let n=l(5155),o=l(2115),r=l(2146);function i(e){return{default:e&&"default"in e?e.default:e}}l(255);let a={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},u=function(e){let t={...a,...e},l=(0,o.lazy)(()=>t.loader().then(i)),u=t.loading;function s(e){let i=u?(0,n.jsx)(u,{isLoading:!0,pastDelay:!0,error:null}):null,a=!t.ssr||!!t.loading,s=a?o.Suspense:o.Fragment,d=t.ssr?(0,n.jsxs)(n.Fragment,{children:[null,(0,n.jsx)(l,{...e})]}):(0,n.jsx)(r.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(l,{...e})});return(0,n.jsx)(s,{...a?{fallback:i}:{},children:d})}return s.displayName="LoadableComponent",s}},7434:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("file-text",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},7740:(e,t,l)=>{l.d(t,{uB:()=>_});var n=/[\\\/_+.#"@\[\(\{&]/,o=/[\\\/_+.#"@\[\(\{&]/g,r=/[\s-]/,i=/[\s-]/g;function a(e){return e.toLowerCase().replace(i," ")}var u=l(5452),s=l(2115),d=l(3655),g=l(1285),c=l(6101),p='[cmdk-group=""]',f='[cmdk-group-items=""]',m='[cmdk-item=""]',v="".concat(m,':not([aria-disabled="true"])'),h="cmdk-item-select",C="data-value",b=(e,t,l)=>(function(e,t,l){return function e(t,l,a,u,s,d,g){if(d===l.length)return s===t.length?1:.99;var c=`${s},${d}`;if(void 0!==g[c])return g[c];for(var p,f,m,v,h=u.charAt(d),C=a.indexOf(h,s),b=0;C>=0;)(p=e(t,l,a,u,C+1,d+1,g))>b&&(C===s?p*=1:n.test(t.charAt(C-1))?(p*=.8,(m=t.slice(s,C-1).match(o))&&s>0&&(p*=Math.pow(.999,m.length))):r.test(t.charAt(C-1))?(p*=.9,(v=t.slice(s,C-1).match(i))&&s>0&&(p*=Math.pow(.999,v.length))):(p*=.17,s>0&&(p*=Math.pow(.999,C-s))),t.charAt(C)!==l.charAt(d)&&(p*=.9999)),(p<.1&&a.charAt(C-1)===u.charAt(d+1)||u.charAt(d+1)===u.charAt(d)&&a.charAt(C-1)!==u.charAt(d))&&.1*(f=e(t,l,a,u,C+1,d+2,g))>p&&(p=.1*f),p>b&&(b=p),C=a.indexOf(h,C+1);return g[c]=b,b}(e=l&&l.length>0?`${e+" "+l.join(" ")}`:e,t,a(e),a(t),0,0,{})})(e,t,l),w=s.createContext(void 0),S=()=>s.useContext(w),R=s.createContext(void 0),y=()=>s.useContext(R),x=s.createContext(void 0),F=s.forwardRef((e,t)=>{let l=G(()=>{var t,l;return{search:"",value:null!=(l=null!=(t=e.value)?t:e.defaultValue)?l:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),n=G(()=>new Set),o=G(()=>new Map),r=G(()=>new Map),i=G(()=>new Set),a=k(e),{label:u,children:c,value:S,onValueChange:y,filter:x,shouldFilter:F,loop:M,disablePointerSelection:P=!1,vimBindings:I=!0,...A}=e,V=(0,g.B)(),E=(0,g.B)(),_=(0,g.B)(),D=s.useRef(null),O=H();L(()=>{if(void 0!==S){let e=S.trim();l.current.value=e,T.emit()}},[S]),L(()=>{O(6,K)},[]);let T=s.useMemo(()=>({subscribe:e=>(i.current.add(e),()=>i.current.delete(e)),snapshot:()=>l.current,setState:(e,t,n)=>{var o,r,i,u;if(!Object.is(l.current[e],t)){if(l.current[e]=t,"search"===e)$(),N(),O(1,U);else if("value"===e){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let e=document.getElementById(_);e?e.focus():null==(o=document.getElementById(V))||o.focus()}if(O(7,()=>{var e;l.current.selectedItemId=null==(e=X())?void 0:e.id,T.emit()}),n||O(5,K),(null==(r=a.current)?void 0:r.value)!==void 0){null==(u=(i=a.current).onValueChange)||u.call(i,null!=t?t:"");return}}T.emit()}},emit:()=>{i.current.forEach(e=>e())}}),[]),B=s.useMemo(()=>({value:(e,t,n)=>{var o;t!==(null==(o=r.current.get(e))?void 0:o.value)&&(r.current.set(e,{value:t,keywords:n}),l.current.filtered.items.set(e,q(t,n)),O(2,()=>{N(),T.emit()}))},item:(e,t)=>(n.current.add(e),t&&(o.current.has(t)?o.current.get(t).add(e):o.current.set(t,new Set([e]))),O(3,()=>{$(),N(),l.current.value||U(),T.emit()}),()=>{r.current.delete(e),n.current.delete(e),l.current.filtered.items.delete(e);let t=X();O(4,()=>{$(),(null==t?void 0:t.getAttribute("id"))===e&&U(),T.emit()})}),group:e=>(o.current.has(e)||o.current.set(e,new Set),()=>{r.current.delete(e),o.current.delete(e)}),filter:()=>a.current.shouldFilter,label:u||e["aria-label"],getDisablePointerSelection:()=>a.current.disablePointerSelection,listId:V,inputId:_,labelId:E,listInnerRef:D}),[]);function q(e,t){var n,o;let r=null!=(o=null==(n=a.current)?void 0:n.filter)?o:b;return e?r(e,l.current.search,t):0}function N(){if(!l.current.search||!1===a.current.shouldFilter)return;let e=l.current.filtered.items,t=[];l.current.filtered.groups.forEach(l=>{let n=o.current.get(l),r=0;n.forEach(t=>{r=Math.max(e.get(t),r)}),t.push([l,r])});let n=D.current;Z().sort((t,l)=>{var n,o;let r=t.getAttribute("id"),i=l.getAttribute("id");return(null!=(n=e.get(i))?n:0)-(null!=(o=e.get(r))?o:0)}).forEach(e=>{let t=e.closest(f);t?t.appendChild(e.parentElement===t?e:e.closest("".concat(f," > *"))):n.appendChild(e.parentElement===n?e:e.closest("".concat(f," > *")))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{var t;let l=null==(t=D.current)?void 0:t.querySelector("".concat(p,"[").concat(C,'="').concat(encodeURIComponent(e[0]),'"]'));null==l||l.parentElement.appendChild(l)})}function U(){let e=Z().find(e=>"true"!==e.getAttribute("aria-disabled")),t=null==e?void 0:e.getAttribute(C);T.setState("value",t||void 0)}function $(){var e,t,i,u;if(!l.current.search||!1===a.current.shouldFilter){l.current.filtered.count=n.current.size;return}l.current.filtered.groups=new Set;let s=0;for(let o of n.current){let n=q(null!=(t=null==(e=r.current.get(o))?void 0:e.value)?t:"",null!=(u=null==(i=r.current.get(o))?void 0:i.keywords)?u:[]);l.current.filtered.items.set(o,n),n>0&&s++}for(let[e,t]of o.current)for(let n of t)if(l.current.filtered.items.get(n)>0){l.current.filtered.groups.add(e);break}l.current.filtered.count=s}function K(){var e,t,l;let n=X();n&&((null==(e=n.parentElement)?void 0:e.firstChild)===n&&(null==(l=null==(t=n.closest(p))?void 0:t.querySelector('[cmdk-group-heading=""]'))||l.scrollIntoView({block:"nearest"})),n.scrollIntoView({block:"nearest"}))}function X(){var e;return null==(e=D.current)?void 0:e.querySelector("".concat(m,'[aria-selected="true"]'))}function Z(){var e;return Array.from((null==(e=D.current)?void 0:e.querySelectorAll(v))||[])}function W(e){let t=Z()[e];t&&T.setState("value",t.getAttribute(C))}function J(e){var t;let l=X(),n=Z(),o=n.findIndex(e=>e===l),r=n[o+e];null!=(t=a.current)&&t.loop&&(r=o+e<0?n[n.length-1]:o+e===n.length?n[0]:n[o+e]),r&&T.setState("value",r.getAttribute(C))}function Q(e){let t=X(),l=null==t?void 0:t.closest(p),n;for(;l&&!n;)n=null==(l=e>0?function(e,t){let l=e.nextElementSibling;for(;l;){if(l.matches(t))return l;l=l.nextElementSibling}}(l,p):function(e,t){let l=e.previousElementSibling;for(;l;){if(l.matches(t))return l;l=l.previousElementSibling}}(l,p))?void 0:l.querySelector(v);n?T.setState("value",n.getAttribute(C)):J(e)}let Y=()=>W(Z().length-1),ee=e=>{e.preventDefault(),e.metaKey?Y():e.altKey?Q(1):J(1)},et=e=>{e.preventDefault(),e.metaKey?W(0):e.altKey?Q(-1):J(-1)};return s.createElement(d.sG.div,{ref:t,tabIndex:-1,...A,"cmdk-root":"",onKeyDown:e=>{var t;null==(t=A.onKeyDown)||t.call(A,e);let l=e.nativeEvent.isComposing||229===e.keyCode;if(!(e.defaultPrevented||l))switch(e.key){case"n":case"j":I&&e.ctrlKey&&ee(e);break;case"ArrowDown":ee(e);break;case"p":case"k":I&&e.ctrlKey&&et(e);break;case"ArrowUp":et(e);break;case"Home":e.preventDefault(),W(0);break;case"End":e.preventDefault(),Y();break;case"Enter":{e.preventDefault();let t=X();if(t){let e=new Event(h);t.dispatchEvent(e)}}}}},s.createElement("label",{"cmdk-label":"",htmlFor:B.inputId,id:B.labelId,style:j},u),z(e,e=>s.createElement(R.Provider,{value:T},s.createElement(w.Provider,{value:B},e))))}),M=s.forwardRef((e,t)=>{var l,n;let o=(0,g.B)(),r=s.useRef(null),i=s.useContext(x),a=S(),u=k(e),p=null!=(n=null==(l=u.current)?void 0:l.forceMount)?n:null==i?void 0:i.forceMount;L(()=>{if(!p)return a.item(o,null==i?void 0:i.id)},[p]);let f=O(o,r,[e.value,e.children,r],e.keywords),m=y(),v=D(e=>e.value&&e.value===f.current),C=D(e=>!!p||!1===a.filter()||!e.search||e.filtered.items.get(o)>0);function b(){var e,t;w(),null==(t=(e=u.current).onSelect)||t.call(e,f.current)}function w(){m.setState("value",f.current,!0)}if(s.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(h,b),()=>t.removeEventListener(h,b)},[C,e.onSelect,e.disabled]),!C)return null;let{disabled:R,value:F,onSelect:M,forceMount:P,keywords:I,...A}=e;return s.createElement(d.sG.div,{ref:(0,c.t)(r,t),...A,id:o,"cmdk-item":"",role:"option","aria-disabled":!!R,"aria-selected":!!v,"data-disabled":!!R,"data-selected":!!v,onPointerMove:R||a.getDisablePointerSelection()?void 0:w,onClick:R?void 0:b},e.children)}),P=s.forwardRef((e,t)=>{let{heading:l,children:n,forceMount:o,...r}=e,i=(0,g.B)(),a=s.useRef(null),u=s.useRef(null),p=(0,g.B)(),f=S(),m=D(e=>!!o||!1===f.filter()||!e.search||e.filtered.groups.has(i));L(()=>f.group(i),[]),O(i,a,[e.value,e.heading,u]);let v=s.useMemo(()=>({id:i,forceMount:o}),[o]);return s.createElement(d.sG.div,{ref:(0,c.t)(a,t),...r,"cmdk-group":"",role:"presentation",hidden:!m||void 0},l&&s.createElement("div",{ref:u,"cmdk-group-heading":"","aria-hidden":!0,id:p},l),z(e,e=>s.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":l?p:void 0},s.createElement(x.Provider,{value:v},e))))}),I=s.forwardRef((e,t)=>{let{alwaysRender:l,...n}=e,o=s.useRef(null),r=D(e=>!e.search);return l||r?s.createElement(d.sG.div,{ref:(0,c.t)(o,t),...n,"cmdk-separator":"",role:"separator"}):null}),A=s.forwardRef((e,t)=>{let{onValueChange:l,...n}=e,o=null!=e.value,r=y(),i=D(e=>e.search),a=D(e=>e.selectedItemId),u=S();return s.useEffect(()=>{null!=e.value&&r.setState("search",e.value)},[e.value]),s.createElement(d.sG.input,{ref:t,...n,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":u.listId,"aria-labelledby":u.labelId,"aria-activedescendant":a,id:u.inputId,type:"text",value:o?e.value:i,onChange:e=>{o||r.setState("search",e.target.value),null==l||l(e.target.value)}})}),V=s.forwardRef((e,t)=>{let{children:l,label:n="Suggestions",...o}=e,r=s.useRef(null),i=s.useRef(null),a=D(e=>e.selectedItemId),u=S();return s.useEffect(()=>{if(i.current&&r.current){let e=i.current,t=r.current,l,n=new ResizeObserver(()=>{l=requestAnimationFrame(()=>{let l=e.offsetHeight;t.style.setProperty("--cmdk-list-height",l.toFixed(1)+"px")})});return n.observe(e),()=>{cancelAnimationFrame(l),n.unobserve(e)}}},[]),s.createElement(d.sG.div,{ref:(0,c.t)(r,t),...o,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":a,"aria-label":n,id:u.listId},z(e,e=>s.createElement("div",{ref:(0,c.t)(i,u.listInnerRef),"cmdk-list-sizer":""},e)))}),E=s.forwardRef((e,t)=>{let{open:l,onOpenChange:n,overlayClassName:o,contentClassName:r,container:i,...a}=e;return s.createElement(u.bL,{open:l,onOpenChange:n},s.createElement(u.ZL,{container:i},s.createElement(u.hJ,{"cmdk-overlay":"",className:o}),s.createElement(u.UC,{"aria-label":e.label,"cmdk-dialog":"",className:r},s.createElement(F,{ref:t,...a}))))}),_=Object.assign(F,{List:V,Item:M,Input:A,Group:P,Separator:I,Dialog:E,Empty:s.forwardRef((e,t)=>D(e=>0===e.filtered.count)?s.createElement(d.sG.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Loading:s.forwardRef((e,t)=>{let{progress:l,children:n,label:o="Loading...",...r}=e;return s.createElement(d.sG.div,{ref:t,...r,"cmdk-loading":"",role:"progressbar","aria-valuenow":l,"aria-valuemin":0,"aria-valuemax":100,"aria-label":o},z(e,e=>s.createElement("div",{"aria-hidden":!0},e)))})});function k(e){let t=s.useRef(e);return L(()=>{t.current=e}),t}var L="undefined"==typeof window?s.useEffect:s.useLayoutEffect;function G(e){let t=s.useRef();return void 0===t.current&&(t.current=e()),t}function D(e){let t=y(),l=()=>e(t.snapshot());return s.useSyncExternalStore(t.subscribe,l,l)}function O(e,t,l){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=s.useRef(),r=S();return L(()=>{var i;let a=(()=>{var e;for(let t of l){if("string"==typeof t)return t.trim();if("object"==typeof t&&"current"in t)return t.current?null==(e=t.current.textContent)?void 0:e.trim():o.current}})(),u=n.map(e=>e.trim());r.value(e,a,u),null==(i=t.current)||i.setAttribute(C,a),o.current=a}),o}var H=()=>{let[e,t]=s.useState(),l=G(()=>new Map);return L(()=>{l.current.forEach(e=>e()),l.current=new Map},[e]),(e,n)=>{l.current.set(e,n),t({})}};function z(e,t){let l,{asChild:n,children:o}=e;return n&&s.isValidElement(o)?s.cloneElement("function"==typeof(l=o.type)?l(o.props):"render"in l?l.render(o.props):o,{ref:o.ref},t(o.props.children)):t(o)}var j={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"}},7828:(e,t,l)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,l(4054).createAsyncLocalStorage)()},7924:(e,t,l)=>{l.d(t,{A:()=>n});let n=(0,l(9946).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])}}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/273-9756261fec6bc01b.js b/transports/bifrost-http/ui/_next/static/chunks/273-9756261fec6bc01b.js new file mode 100644 index 0000000000..a71a8f2e83 --- /dev/null +++ b/transports/bifrost-http/ui/_next/static/chunks/273-9756261fec6bc01b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[273],{381:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},9613:(e,t,r)=>{r.d(t,{Kq:()=>V,UC:()=>G,ZL:()=>Z,bL:()=>X,i3:()=>K,l9:()=>Y});var n=r(2115),o=r(5185),l=r(6101),a=r(6081),i=r(9178),s=r(1285),u=r(5152),c=r(4378),d=r(8905),p=r(3655),f=r(9708),h=r(5845),x=r(2564),v=r(5155),[g,y]=(0,a.A)("Tooltip",[u.Bk]),m=(0,u.Bk)(),b="TooltipProvider",w="tooltip.open",[C,T]=g(b),E=e=>{let{__scopeTooltip:t,delayDuration:r=700,skipDelayDuration:o=300,disableHoverableContent:l=!1,children:a}=e,i=n.useRef(!0),s=n.useRef(!1),u=n.useRef(0);return n.useEffect(()=>{let e=u.current;return()=>window.clearTimeout(e)},[]),(0,v.jsx)(C,{scope:t,isOpenDelayedRef:i,delayDuration:r,onOpen:n.useCallback(()=>{window.clearTimeout(u.current),i.current=!1},[]),onClose:n.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>i.current=!0,o)},[o]),isPointerInTransitRef:s,onPointerInTransitChange:n.useCallback(e=>{s.current=e},[]),disableHoverableContent:l,children:a})};E.displayName=b;var k="Tooltip",[L,R]=g(k),j=e=>{let{__scopeTooltip:t,children:r,open:o,defaultOpen:l,onOpenChange:a,disableHoverableContent:i,delayDuration:c}=e,d=T(k,e.__scopeTooltip),p=m(t),[f,x]=n.useState(null),g=(0,s.B)(),y=n.useRef(0),b=null!=i?i:d.disableHoverableContent,C=null!=c?c:d.delayDuration,E=n.useRef(!1),[R,j]=(0,h.i)({prop:o,defaultProp:null!=l&&l,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(w))):d.onClose(),null==a||a(e)},caller:k}),_=n.useMemo(()=>R?E.current?"delayed-open":"instant-open":"closed",[R]),M=n.useCallback(()=>{window.clearTimeout(y.current),y.current=0,E.current=!1,j(!0)},[j]),P=n.useCallback(()=>{window.clearTimeout(y.current),y.current=0,j(!1)},[j]),D=n.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{E.current=!0,j(!0),y.current=0},C)},[C,j]);return n.useEffect(()=>()=>{y.current&&(window.clearTimeout(y.current),y.current=0)},[]),(0,v.jsx)(u.bL,{...p,children:(0,v.jsx)(L,{scope:t,contentId:g,open:R,stateAttribute:_,trigger:f,onTriggerChange:x,onTriggerEnter:n.useCallback(()=>{d.isOpenDelayedRef.current?D():M()},[d.isOpenDelayedRef,D,M]),onTriggerLeave:n.useCallback(()=>{b?P():(window.clearTimeout(y.current),y.current=0)},[P,b]),onOpen:M,onClose:P,disableHoverableContent:b,children:r})})};j.displayName=k;var _="TooltipTrigger",M=n.forwardRef((e,t)=>{let{__scopeTooltip:r,...a}=e,i=R(_,r),s=T(_,r),c=m(r),d=n.useRef(null),f=(0,l.s)(t,d,i.onTriggerChange),h=n.useRef(!1),x=n.useRef(!1),g=n.useCallback(()=>h.current=!1,[]);return n.useEffect(()=>()=>document.removeEventListener("pointerup",g),[g]),(0,v.jsx)(u.Mz,{asChild:!0,...c,children:(0,v.jsx)(p.sG.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...a,ref:f,onPointerMove:(0,o.m)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(x.current||s.isPointerInTransitRef.current||(i.onTriggerEnter(),x.current=!0))}),onPointerLeave:(0,o.m)(e.onPointerLeave,()=>{i.onTriggerLeave(),x.current=!1}),onPointerDown:(0,o.m)(e.onPointerDown,()=>{i.open&&i.onClose(),h.current=!0,document.addEventListener("pointerup",g,{once:!0})}),onFocus:(0,o.m)(e.onFocus,()=>{h.current||i.onOpen()}),onBlur:(0,o.m)(e.onBlur,i.onClose),onClick:(0,o.m)(e.onClick,i.onClose)})})});M.displayName=_;var P="TooltipPortal",[D,N]=g(P,{forceMount:void 0}),O=e=>{let{__scopeTooltip:t,forceMount:r,children:n,container:o}=e,l=R(P,t);return(0,v.jsx)(D,{scope:t,forceMount:r,children:(0,v.jsx)(d.C,{present:r||l.open,children:(0,v.jsx)(c.Z,{asChild:!0,container:o,children:n})})})};O.displayName=P;var B="TooltipContent",I=n.forwardRef((e,t)=>{let r=N(B,e.__scopeTooltip),{forceMount:n=r.forceMount,side:o="top",...l}=e,a=R(B,e.__scopeTooltip);return(0,v.jsx)(d.C,{present:n||a.open,children:a.disableHoverableContent?(0,v.jsx)(H,{side:o,...l,ref:t}):(0,v.jsx)(A,{side:o,...l,ref:t})})}),A=n.forwardRef((e,t)=>{let r=R(B,e.__scopeTooltip),o=T(B,e.__scopeTooltip),a=n.useRef(null),i=(0,l.s)(t,a),[s,u]=n.useState(null),{trigger:c,onClose:d}=r,p=a.current,{onPointerInTransitChange:f}=o,h=n.useCallback(()=>{u(null),f(!1)},[f]),x=n.useCallback((e,t)=>{let r=e.currentTarget,n={x:e.clientX,y:e.clientY},o=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),l=Math.abs(t.left-e.x);switch(Math.min(r,n,o,l)){case l:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(n,r.getBoundingClientRect());u(function(e){let t=e.slice();return t.sort((e,t)=>e.xt.x?1:e.yt.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(t)}([...function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(n,o),...function(e){let{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}(t.getBoundingClientRect())])),f(!0)},[f]);return n.useEffect(()=>()=>h(),[h]),n.useEffect(()=>{if(c&&p){let e=e=>x(e,p),t=e=>x(e,c);return c.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{c.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[c,p,x,h]),n.useEffect(()=>{if(s){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=(null==c?void 0:c.contains(t))||(null==p?void 0:p.contains(t)),o=!function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,l=t.length-1;en!=d>n&&r<(c-s)*(n-u)/(d-u)+s&&(o=!o)}return o}(r,s);n?h():o&&(h(),d())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[c,p,s,d,h]),(0,v.jsx)(H,{...e,ref:i})}),[q,z]=g(k,{isInside:!1}),F=(0,f.Dc)("TooltipContent"),H=n.forwardRef((e,t)=>{let{__scopeTooltip:r,children:o,"aria-label":l,onEscapeKeyDown:a,onPointerDownOutside:s,...c}=e,d=R(B,r),p=m(r),{onClose:f}=d;return n.useEffect(()=>(document.addEventListener(w,f),()=>document.removeEventListener(w,f)),[f]),n.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;(null==t?void 0:t.contains(d.trigger))&&f()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,f]),(0,v.jsx)(i.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,v.jsxs)(u.UC,{"data-state":d.stateAttribute,...p,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,v.jsx)(F,{children:o}),(0,v.jsx)(q,{scope:r,isInside:!0,children:(0,v.jsx)(x.bL,{id:d.contentId,role:"tooltip",children:l||o})})]})})});I.displayName=B;var S="TooltipArrow",U=n.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,o=m(r);return z(S,r).isInside?null:(0,v.jsx)(u.i3,{...o,...n,ref:t})});U.displayName=S;var V=E,X=j,Y=M,Z=O,G=I,K=U}}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/293-d2734c4726406a0e.js b/transports/bifrost-http/ui/_next/static/chunks/293-d2734c4726406a0e.js deleted file mode 100644 index 3c2d0d5a2e..0000000000 --- a/transports/bifrost-http/ui/_next/static/chunks/293-d2734c4726406a0e.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[293],{968:(e,t,r)=>{"use strict";r.d(t,{b:()=>s});var n=r(2115),a=r(3655),o=r(5155),i=n.forwardRef((e,t)=>(0,o.jsx)(a.sG.label,{...e,ref:t,onMouseDown:t=>{var r;t.target.closest("button, input, select, textarea")||(null==(r=e.onMouseDown)||r.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));i.displayName="Label";var s=i},1243:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("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"}]])},1284:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},1539:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},2525:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("trash-2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])},3717:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("square-pen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]])},4109:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("refresh-ccw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]])},4229:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]])},4616:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},4884:(e,t,r)=>{"use strict";r.d(t,{bL:()=>A,zi:()=>w});var n=r(2115),a=r(5185),o=r(6101),i=r(6081),s=r(5845),c=r(5503),u=r(1275),l=r(3655),f=r(5155),d="Switch",[p,h]=(0,i.A)(d),[y,v]=p(d),b=n.forwardRef((e,t)=>{let{__scopeSwitch:r,name:i,checked:c,defaultChecked:u,required:p,disabled:h,value:v="on",onCheckedChange:b,form:_,...g}=e,[A,w]=n.useState(null),k=(0,o.s)(t,e=>w(e)),x=n.useRef(!1),z=!A||_||!!A.closest("form"),[M,O]=(0,s.i)({prop:c,defaultProp:null!=u&&u,onChange:b,caller:d});return(0,f.jsxs)(y,{scope:r,checked:M,disabled:h,children:[(0,f.jsx)(l.sG.button,{type:"button",role:"switch","aria-checked":M,"aria-required":p,"data-state":m(M),"data-disabled":h?"":void 0,disabled:h,value:v,...g,ref:k,onClick:(0,a.m)(e.onClick,e=>{O(e=>!e),z&&(x.current=e.isPropagationStopped(),x.current||e.stopPropagation())})}),z&&(0,f.jsx)(j,{control:A,bubbles:!x.current,name:i,value:v,checked:M,required:p,disabled:h,form:_,style:{transform:"translateX(-100%)"}})]})});b.displayName=d;var _="SwitchThumb",g=n.forwardRef((e,t)=>{let{__scopeSwitch:r,...n}=e,a=v(_,r);return(0,f.jsx)(l.sG.span,{"data-state":m(a.checked),"data-disabled":a.disabled?"":void 0,...n,ref:t})});g.displayName=_;var j=n.forwardRef((e,t)=>{let{__scopeSwitch:r,control:a,checked:i,bubbles:s=!0,...l}=e,d=n.useRef(null),p=(0,o.s)(d,t),h=(0,c.Z)(i),y=(0,u.X)(a);return n.useEffect(()=>{let e=d.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(h!==i&&t){let r=new Event("click",{bubbles:s});t.call(e,i),e.dispatchEvent(r)}},[h,i,s]),(0,f.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:i,...l,tabIndex:-1,ref:p,style:{...l.style,...y,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function m(e){return e?"checked":"unchecked"}j.displayName="SwitchBubbleInput";var A=b,w=g},7649:(e,t,r)=>{"use strict";r.d(t,{UC:()=>P,VY:()=>T,ZD:()=>I,ZL:()=>S,bL:()=>E,hE:()=>F,hJ:()=>L,l9:()=>R,rc:()=>C});var n=r(2115),a=r(6081),o=r(6101),i=r(5452),s=r(5185),c=r(9708),u=r(5155),l="AlertDialog",[f,d]=(0,a.A)(l,[i.Hs]),p=(0,i.Hs)(),h=e=>{let{__scopeAlertDialog:t,...r}=e,n=p(t);return(0,u.jsx)(i.bL,{...n,...r,modal:!0})};h.displayName=l;var y=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=p(r);return(0,u.jsx)(i.l9,{...a,...n,ref:t})});y.displayName="AlertDialogTrigger";var v=e=>{let{__scopeAlertDialog:t,...r}=e,n=p(t);return(0,u.jsx)(i.ZL,{...n,...r})};v.displayName="AlertDialogPortal";var b=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=p(r);return(0,u.jsx)(i.hJ,{...a,...n,ref:t})});b.displayName="AlertDialogOverlay";var _="AlertDialogContent",[g,j]=f(_),m=(0,c.Dc)("AlertDialogContent"),A=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,children:a,...c}=e,l=p(r),f=n.useRef(null),d=(0,o.s)(t,f),h=n.useRef(null);return(0,u.jsx)(i.G$,{contentName:_,titleName:w,docsSlug:"alert-dialog",children:(0,u.jsx)(g,{scope:r,cancelRef:h,children:(0,u.jsxs)(i.UC,{role:"alertdialog",...l,...c,ref:d,onOpenAutoFocus:(0,s.m)(c.onOpenAutoFocus,e=>{var t;e.preventDefault(),null==(t=h.current)||t.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,u.jsx)(m,{children:a}),(0,u.jsx)(N,{contentRef:f})]})})})});A.displayName=_;var w="AlertDialogTitle",k=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=p(r);return(0,u.jsx)(i.hE,{...a,...n,ref:t})});k.displayName=w;var x="AlertDialogDescription",z=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=p(r);return(0,u.jsx)(i.VY,{...a,...n,ref:t})});z.displayName=x;var M=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=p(r);return(0,u.jsx)(i.bm,{...a,...n,ref:t})});M.displayName="AlertDialogAction";var O="AlertDialogCancel",D=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,{cancelRef:a}=j(O,r),s=p(r),c=(0,o.s)(t,a);return(0,u.jsx)(i.bm,{...s,...n,ref:c})});D.displayName=O;var N=e=>{let{contentRef:t}=e,r="`".concat(_,"` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the `").concat(_,"` by passing a `").concat(x,"` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an `id` and passing the same value to the `aria-describedby` prop in `").concat(_,"`. If the description is confusing or duplicative for sighted users, you can use the `@radix-ui/react-visually-hidden` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog");return n.useEffect(()=>{var e;document.getElementById(null==(e=t.current)?void 0:e.getAttribute("aria-describedby"))||console.warn(r)},[r,t]),null},E=h,R=y,S=v,L=b,P=A,C=M,I=D,F=k,T=z},8103:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("pickaxe",[["path",{d:"M14.531 12.469 6.619 20.38a1 1 0 1 1-3-3l7.912-7.912",key:"we99rg"}],["path",{d:"M15.686 4.314A12.5 12.5 0 0 0 5.461 2.958 1 1 0 0 0 5.58 4.71a22 22 0 0 1 6.318 3.393",key:"1w6hck"}],["path",{d:"M17.7 3.7a1 1 0 0 0-1.4 0l-4.6 4.6a1 1 0 0 0 0 1.4l2.6 2.6a1 1 0 0 0 1.4 0l4.6-4.6a1 1 0 0 0 0-1.4z",key:"15hgfx"}],["path",{d:"M19.686 8.314a12.501 12.501 0 0 1 1.356 10.225 1 1 0 0 1-1.751-.119 22 22 0 0 0-3.393-6.319",key:"452b4h"}]])},9231:(e,t,r)=>{e=r.nmd(e);var n,a,o="__lodash_hash_undefined__",i="[object Arguments]",s="[object Array]",c="[object Boolean]",u="[object Date]",l="[object Error]",f="[object Function]",d="[object Map]",p="[object Number]",h="[object Object]",y="[object Promise]",v="[object RegExp]",b="[object Set]",_="[object String]",g="[object WeakMap]",j="[object ArrayBuffer]",m="[object DataView]",A=/^\[object .+?Constructor\]$/,w=/^(?:0|[1-9]\d*)$/,k={};k["[object Float32Array]"]=k["[object Float64Array]"]=k["[object Int8Array]"]=k["[object Int16Array]"]=k["[object Int32Array]"]=k["[object Uint8Array]"]=k["[object Uint8ClampedArray]"]=k["[object Uint16Array]"]=k["[object Uint32Array]"]=!0,k[i]=k[s]=k[j]=k[c]=k[m]=k[u]=k[l]=k[f]=k[d]=k[p]=k[h]=k[v]=k[b]=k[_]=k[g]=!1;var x="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,z="object"==typeof self&&self&&self.Object===Object&&self,M=x||z||Function("return this")(),O=t&&!t.nodeType&&t,D=O&&e&&!e.nodeType&&e,N=D&&D.exports===O,E=N&&x.process,R=function(){try{return E&&E.binding&&E.binding("util")}catch(e){}}(),S=R&&R.isTypedArray;function L(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function P(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}var C=Array.prototype,I=Function.prototype,F=Object.prototype,T=M["__core-js_shared__"],U=I.toString,V=F.hasOwnProperty,$=function(){var e=/[^.]+$/.exec(T&&T.keys&&T.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),B=F.toString,H=RegExp("^"+U.call(V).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),q=N?M.Buffer:void 0,G=M.Symbol,Z=M.Uint8Array,Y=F.propertyIsEnumerable,J=C.splice,W=G?G.toStringTag:void 0,X=Object.getOwnPropertySymbols,K=q?q.isBuffer:void 0,Q=(n=Object.keys,a=Object,function(e){return n(a(e))}),ee=ek(M,"DataView"),et=ek(M,"Map"),er=ek(M,"Promise"),en=ek(M,"Set"),ea=ek(M,"WeakMap"),eo=ek(Object,"create"),ei=eM(ee),es=eM(et),ec=eM(er),eu=eM(en),el=eM(ea),ef=G?G.prototype:void 0,ed=ef?ef.valueOf:void 0;function ep(e){var t=-1,r=null==e?0:e.length;for(this.clear();++ts))return!1;var u=o.get(e);if(u&&o.get(t))return u==t;var l=-1,f=!0,d=2&r?new ev:void 0;for(o.set(e,t),o.set(t,e);++l-1},eh.prototype.set=function(e,t){var r=this.__data__,n=e_(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},ey.prototype.clear=function(){this.size=0,this.__data__={hash:new ep,map:new(et||eh),string:new ep}},ey.prototype.delete=function(e){var t=ew(this,e).delete(e);return this.size-=!!t,t},ey.prototype.get=function(e){return ew(this,e).get(e)},ey.prototype.has=function(e){return ew(this,e).has(e)},ey.prototype.set=function(e,t){var r=ew(this,e),n=r.size;return r.set(e,t),this.size+=+(r.size!=n),this},ev.prototype.add=ev.prototype.push=function(e){return this.__data__.set(e,o),this},ev.prototype.has=function(e){return this.__data__.has(e)},eb.prototype.clear=function(){this.__data__=new eh,this.size=0},eb.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},eb.prototype.get=function(e){return this.__data__.get(e)},eb.prototype.has=function(e){return this.__data__.has(e)},eb.prototype.set=function(e,t){var r=this.__data__;if(r instanceof eh){var n=r.__data__;if(!et||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new ey(n)}return r.set(e,t),this.size=r.size,this};var ex=X?function(e){return null==e?[]:function(e,t){for(var r=-1,n=null==e?0:e.length,a=0,o=[];++r-1&&e%1==0&&e<=0x1fffffffffffff}function eL(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function eP(e){return null!=e&&"object"==typeof e}var eC=S?function(e){return S(e)}:function(e){return eP(e)&&eS(e.length)&&!!k[eg(e)]};function eI(e){return null!=e&&eS(e.length)&&!eR(e)?function(e,t){var r,n,a=eN(e),o=!a&&eD(e),i=!a&&!o&&eE(e),s=!a&&!o&&!i&&eC(e),c=a||o||i||s,u=c?function(e,t){for(var r=-1,n=Array(e);++r-1&&r%1==0&&r{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])}}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/341-3971b040aed697e5.js b/transports/bifrost-http/ui/_next/static/chunks/341-3971b040aed697e5.js new file mode 100644 index 0000000000..a0f6688964 --- /dev/null +++ b/transports/bifrost-http/ui/_next/static/chunks/341-3971b040aed697e5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[341],{1225:(e,t,a)=>{a.d(t,{ThemeToggle:()=>x});var r=a(5155);a(2115);var n=a(2098),s=a(3509),i=a(1362),o=a(7168),l=a(8698),d=a(3999);function c(e){let{...t}=e;return(0,r.jsx)(l.bL,{"data-slot":"dropdown-menu",...t})}function u(e){let{...t}=e;return(0,r.jsx)(l.l9,{"data-slot":"dropdown-menu-trigger",...t})}function g(e){let{className:t,sideOffset:a=4,...n}=e;return(0,r.jsx)(l.ZL,{children:(0,r.jsx)(l.UC,{"data-slot":"dropdown-menu-content",sideOffset:a,className:(0,d.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",t),...n})})}function p(e){let{className:t,inset:a,variant:n="default",...s}=e;return(0,r.jsx)(l.q7,{"data-slot":"dropdown-menu-item","data-inset":a,"data-variant":n,className:(0,d.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...s})}function x(){let{setTheme:e}=(0,i.D)();return(0,r.jsxs)(c,{children:[(0,r.jsx)(u,{asChild:!0,children:(0,r.jsxs)(o.$,{variant:"ghost",size:"icon",className:"h-9 w-9",children:[(0,r.jsx)(n.A,{className:"h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90"}),(0,r.jsx)(s.A,{className:"absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0"}),(0,r.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}),(0,r.jsxs)(g,{align:"end",children:[(0,r.jsx)(p,{onClick:()=>e("light"),children:"Light"}),(0,r.jsx)(p,{onClick:()=>e("dark"),children:"Dark"}),(0,r.jsx)(p,{onClick:()=>e("system"),children:"System"})]})]})}},1886:(e,t,a)=>{a.d(t,{K:()=>i});var r=a(9362),n=a(3464);class s{getErrorMessage(e){if((0,r.F0)(e)&&e.response){let t=e.response.data;if(t.error&&t.error.message)return t.error.message}return e instanceof Error&&e.message||"An unexpected error occurred."}async getLogs(e,t){try{let a={limit:t.limit,offset:t.offset,sort_by:t.sort_by,order:t.order};return e.providers&&e.providers.length>0&&(a.providers=e.providers.join(",")),e.models&&e.models.length>0&&(a.models=e.models.join(",")),e.status&&e.status.length>0&&(a.status=e.status.join(",")),e.objects&&e.objects.length>0&&(a.objects=e.objects.join(",")),e.start_time&&(a.start_time=e.start_time),e.end_time&&(a.end_time=e.end_time),e.min_latency&&(a.min_latency=e.min_latency),e.max_latency&&(a.max_latency=e.max_latency),e.min_tokens&&(a.min_tokens=e.min_tokens),e.max_tokens&&(a.max_tokens=e.max_tokens),e.content_search&&(a.content_search=e.content_search),[(await this.client.get("/logs",{params:a})).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async getDroppedRequests(){try{return[(await this.client.get("/logs/dropped")).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async getProviders(){try{return[(await this.client.get("/providers")).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async getProvider(e){try{return[(await this.client.get("/providers/".concat(e))).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async createProvider(e){try{return[(await this.client.post("/providers",e)).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async updateProvider(e,t){try{return[(await this.client.put("/providers/".concat(e),t)).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async deleteProvider(e){try{return[(await this.client.delete("/providers/".concat(e))).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async getMCPClients(){try{return[(await this.client.get("/mcp/clients")).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async createMCPClient(e){try{return await this.client.post("/mcp/client",e),[null,null]}catch(e){return[null,this.getErrorMessage(e)]}}async updateMCPClient(e,t){try{return await this.client.put("/mcp/client/".concat(e),t),[null,null]}catch(e){return[null,this.getErrorMessage(e)]}}async deleteMCPClient(e){try{return await this.client.delete("/mcp/client/".concat(e)),[null,null]}catch(e){return[null,this.getErrorMessage(e)]}}async reconnectMCPClient(e){try{return await this.client.post("/mcp/client/".concat(e,"/reconnect")),[null,null]}catch(e){return[null,this.getErrorMessage(e)]}}async getCoreConfig(){try{return[(await this.client.get("/config")).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async updateCoreConfig(e){try{return await this.client.put("/config",e),[null,null]}catch(e){return[null,this.getErrorMessage(e)]}}constructor(){this.client=n.A.create({baseURL:"/api",headers:{"Content-Type":"application/json"}})}}let i=new s},2384:(e,t,a)=>{a.d(t,{A:()=>s});var r=a(5155),n=a(1154);let s=function(){return(0,r.jsx)("div",{className:"h-base flex items-center justify-center pb-24",children:(0,r.jsx)(n.A,{className:"h-4 w-4 animate-spin"})})}},3999:(e,t,a)=>{a.d(t,{cn:()=>s});var r=a(2596),n=a(9688);function s(){for(var e=arguments.length,t=Array(e),a=0;a{a.d(t,{Tabs:()=>i,TabsContent:()=>d,TabsList:()=>o,TabsTrigger:()=>l});var r=a(5155);a(2115);var n=a(704),s=a(3999);function i(e){let{className:t,...a}=e;return(0,r.jsx)(n.bL,{"data-slot":"tabs",className:(0,s.cn)("flex flex-col gap-2",t),...a})}function o(e){let{className:t,...a}=e;return(0,r.jsx)(n.B8,{"data-slot":"tabs-list",className:(0,s.cn)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",t),...a})}function l(e){let{className:t,...a}=e;return(0,r.jsx)(n.l9,{"data-slot":"tabs-trigger",className:(0,s.cn)("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...a})}function d(e){let{className:t,...a}=e;return(0,r.jsx)(n.UC,{"data-slot":"tabs-content",className:(0,s.cn)("flex-1 outline-none",t),...a})}},5784:(e,t,a)=>{a.d(t,{bq:()=>u,eb:()=>p,gC:()=>g,l6:()=>d,yv:()=>c});var r=a(5155);a(2115);var n=a(4582),s=a(6474),i=a(2815),o=a(7863),l=a(3999);function d(e){let{...t}=e;return(0,r.jsx)(n.bL,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,r.jsx)(n.WT,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:a="default",children:i,...o}=e;return(0,r.jsxs)(n.l9,{"data-slot":"select-trigger","data-size":a,className:(0,l.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...o,children:[i,(0,r.jsx)(n.In,{asChild:!0,children:(0,r.jsx)(s.A,{className:"size-4 opacity-50"})})]})}function g(e){let{className:t,children:a,position:s="popper",...i}=e;return(0,r.jsx)(n.ZL,{children:(0,r.jsxs)(n.UC,{"data-slot":"select-content",className:(0,l.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===s&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:s,...i,children:[(0,r.jsx)(x,{}),(0,r.jsx)(n.LM,{className:(0,l.cn)("p-1","popper"===s&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:a}),(0,r.jsx)(f,{})]})})}function p(e){let{className:t,children:a,...s}=e;return(0,r.jsxs)(n.q7,{"data-slot":"select-item",className:(0,l.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...s,children:[(0,r.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,r.jsx)(n.VF,{children:(0,r.jsx)(i.A,{className:"size-4"})})}),(0,r.jsx)(n.p4,{children:a})]})}function x(e){let{className:t,...a}=e;return(0,r.jsx)(n.PP,{"data-slot":"select-scroll-up-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...a,children:(0,r.jsx)(o.A,{className:"size-4"})})}function f(e){let{className:t,...a}=e;return(0,r.jsx)(n.wn,{"data-slot":"select-scroll-down-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...a,children:(0,r.jsx)(s.A,{className:"size-4"})})}},6037:(e,t,a)=>{a.d(t,{Separator:()=>i,W:()=>o});var r=a(5155);a(2115);var n=a(7489),s=a(3999);function i(e){let{className:t,orientation:a="horizontal",decorative:i=!0,...o}=e;return(0,r.jsx)(n.b,{"data-slot":"separator",decorative:i,orientation:a,className:(0,s.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...o})}function o(e){let{className:t}=e;return(0,r.jsx)("div",{className:(0,s.cn)("border-border h-[1px] w-full border-t border-dashed bg-transparent",{["".concat(t)]:void 0!==t})})}},7168:(e,t,a)=>{a.d(t,{$:()=>d,r:()=>l});var r=a(5155);a(2115);var n=a(9708),s=a(2085),i=a(3999),o=a(1154);let l=(0,s.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function d(e){let{className:t,variant:a,size:n,asChild:s=!1,children:i,isLoading:l=!1,...d}=e;return(0,r.jsx)(c,{className:t,variant:a,size:n,asChild:s,...d,children:l?(0,r.jsx)(o.A,{className:"size-4 animate-spin"}):i})}function c(e){let{className:t,variant:a,size:s,asChild:o=!1,...d}=e,c=o?n.DX:"button";return(0,r.jsx)(c,{"data-slot":"button",className:(0,i.cn)(l({variant:a,size:s,className:t}),"cursor-pointer"),...d})}},7783:(e,t,a)=>{a.d(t,{Ez:()=>l,RY:()=>o,f:()=>n,mG:()=>s,oU:()=>i,tJ:()=>d,wf:()=>c,xq:()=>r});let r=["openai","anthropic","azure","bedrock","cohere","vertex","mistral","ollama"],n=["success","error","cancelled"],s=["chat.completion","text.completion","embedding"],i={openai:"OpenAI",anthropic:"Anthropic",azure:"Azure OpenAI",bedrock:"AWS Bedrock",cohere:"Cohere",vertex:"Vertex AI",mistral:"Mistral AI",ollama:"Ollama"},o={openai:"bg-cyan-100 text-cyan-800",anthropic:"bg-orange-100 text-orange-800",bedrock:"bg-yellow-100 text-yellow-800",azure:"bg-blue-100 text-blue-800",cohere:"bg-purple-100 text-purple-800",vertex:"bg-pink-100 text-pink-800",mistral:"bg-gray-100 text-gray-800",ollama:"bg-indigo-100 text-indigo-800"},l={success:"bg-green-100 text-green-800",error:"bg-red-100 text-red-800",cancelled:"bg-gray-100 text-gray-800"},d={"chat.completion":"Chat","text.completion":"Text",embedding:"Embedding"},c={"chat.completion":"bg-blue-100 text-blue-800","text.completion":"bg-green-100 text-green-800",embedding:"bg-red-100 text-red-800"}},8145:(e,t,a)=>{a.d(t,{E:()=>l});var r=a(5155);a(2115);var n=a(9708),s=a(2085),i=a(3999);let o=(0,s.F)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",success:"border-transparent bg-green-700 text-white [a&]:hover:bg-green-700/90"}},defaultVariants:{variant:"default"}});function l(e){let{className:t,variant:a,asChild:s=!1,...l}=e,d=s?n.DX:"span";return(0,r.jsx)(d,{"data-slot":"badge",className:(0,i.cn)(o({variant:a}),t),...l})}},8482:(e,t,a)=>{a.d(t,{BT:()=>l,Wu:()=>d,ZB:()=>o,Zp:()=>s,aR:()=>i});var r=a(5155);a(2115);var n=a(3999);function s(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,n.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...a})}function i(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,n.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...a})}function o(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,n.cn)("leading-none font-semibold",t),...a})}function l(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...a})}function d(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,n.cn)("px-6",t),...a})}},8524:(e,t,a)=>{a.d(t,{A0:()=>i,BF:()=>o,Hj:()=>l,XI:()=>s,nA:()=>c,nd:()=>d});var r=a(5155);a(2115);var n=a(3999);function s(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,r.jsx)("table",{"data-slot":"table",className:(0,n.cn)("w-full caption-bottom text-sm",t),...a})})}function i(e){let{className:t,...a}=e;return(0,r.jsx)("thead",{"data-slot":"table-header",className:(0,n.cn)("[&_tr]:border-b",t),...a})}function o(e){let{className:t,...a}=e;return(0,r.jsx)("tbody",{"data-slot":"table-body",className:(0,n.cn)("[&_tr:last-child]:border-0",t),...a})}function l(e){let{className:t,...a}=e;return(0,r.jsx)("tr",{"data-slot":"table-row",className:(0,n.cn)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",t),...a})}function d(e){let{className:t,...a}=e;return(0,r.jsx)("th",{"data-slot":"table-head",className:(0,n.cn)("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),...a})}function c(e){let{className:t,...a}=e;return(0,r.jsx)("td",{"data-slot":"table-cell",className:(0,n.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),...a})}},9026:(e,t,a)=>{a.d(t,{Fc:()=>o,TN:()=>l});var r=a(5155);a(2115);var n=a(2085),s=a(3999);let i=(0,n.F)("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"}},defaultVariants:{variant:"default"}});function o(e){let{className:t,variant:a,...n}=e;return(0,r.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,s.cn)(i({variant:a}),t),...n})}function l(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"alert-description",className:(0,s.cn)("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",t),...a})}},9464:(e,t,a)=>{a.d(t,{A:()=>i});var r=a(5155),n=a(6037),s=a(1225);function i(e){let{title:t}=e;return(0,r.jsxs)("div",{className:"bg-background fixed top-0 right-0 left-(--sidebar-width) z-10",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-3",children:[(0,r.jsx)("div",{className:"p-3 font-semibold",children:t}),(0,r.jsx)(s.ThemeToggle,{})]}),(0,r.jsx)(n.Separator,{className:"w-full"})]})}},9840:(e,t,a)=>{a.d(t,{Cf:()=>c,Es:()=>g,L3:()=>p,c7:()=>u,lG:()=>o,rr:()=>x});var r=a(5155);a(2115);var n=a(5452),s=a(4416),i=a(3999);function o(e){let{...t}=e;return(0,r.jsx)(n.bL,{"data-slot":"dialog",...t})}function l(e){let{...t}=e;return(0,r.jsx)(n.ZL,{"data-slot":"dialog-portal",...t})}function d(e){let{className:t,...a}=e;return(0,r.jsx)(n.hJ,{"data-slot":"dialog-overlay",className:(0,i.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function c(e){let{className:t,children:a,showCloseButton:o=!0,...c}=e;return(0,r.jsxs)(l,{"data-slot":"dialog-portal",children:[(0,r.jsx)(d,{}),(0,r.jsxs)(n.UC,{"data-slot":"dialog-content",className:(0,i.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",t),...c,children:[a,o&&(0,r.jsxs)(n.bm,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,r.jsx)(s.A,{}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function u(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"dialog-header",className:(0,i.cn)("flex flex-col gap-2 text-center sm:text-left",t),...a})}function g(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"dialog-footer",className:(0,i.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...a})}function p(e){let{className:t,...a}=e;return(0,r.jsx)(n.hE,{"data-slot":"dialog-title",className:(0,i.cn)("text-lg leading-none font-semibold",t),...a})}function x(e){let{className:t,...a}=e;return(0,r.jsx)(n.VY,{"data-slot":"dialog-description",className:(0,i.cn)("text-muted-foreground text-sm",t),...a})}},9852:(e,t,a)=>{a.d(t,{p:()=>i});var r=a(5155),n=a(2115),s=a(3999);let i=n.forwardRef((e,t)=>{let{className:a,type:n,...i}=e;return(0,r.jsx)("input",{type:n,ref:t,"data-slot":"input",className:(0,s.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...i})});i.displayName="Input"}}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/341-5aa9f869e119bce4.js b/transports/bifrost-http/ui/_next/static/chunks/341-5aa9f869e119bce4.js deleted file mode 100644 index aaf4bfab39..0000000000 --- a/transports/bifrost-http/ui/_next/static/chunks/341-5aa9f869e119bce4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[341],{1225:(e,t,a)=>{a.d(t,{ThemeToggle:()=>x});var r=a(5155);a(2115);var n=a(2098),s=a(3509),i=a(1362),o=a(7168),l=a(8698),d=a(3999);function c(e){let{...t}=e;return(0,r.jsx)(l.bL,{"data-slot":"dropdown-menu",...t})}function u(e){let{...t}=e;return(0,r.jsx)(l.l9,{"data-slot":"dropdown-menu-trigger",...t})}function g(e){let{className:t,sideOffset:a=4,...n}=e;return(0,r.jsx)(l.ZL,{children:(0,r.jsx)(l.UC,{"data-slot":"dropdown-menu-content",sideOffset:a,className:(0,d.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",t),...n})})}function p(e){let{className:t,inset:a,variant:n="default",...s}=e;return(0,r.jsx)(l.q7,{"data-slot":"dropdown-menu-item","data-inset":a,"data-variant":n,className:(0,d.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...s})}function x(){let{setTheme:e}=(0,i.D)();return(0,r.jsxs)(c,{children:[(0,r.jsx)(u,{asChild:!0,children:(0,r.jsxs)(o.$,{variant:"ghost",size:"icon",className:"h-9 w-9",children:[(0,r.jsx)(n.A,{className:"h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90"}),(0,r.jsx)(s.A,{className:"absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0"}),(0,r.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}),(0,r.jsxs)(g,{align:"end",children:[(0,r.jsx)(p,{onClick:()=>e("light"),children:"Light"}),(0,r.jsx)(p,{onClick:()=>e("dark"),children:"Dark"}),(0,r.jsx)(p,{onClick:()=>e("system"),children:"System"})]})]})}},1886:(e,t,a)=>{a.d(t,{K:()=>i});var r=a(9362),n=a(3464);class s{getErrorMessage(e){if((0,r.F0)(e)&&e.response){let t=e.response.data;if(t.error&&t.error.message)return t.error.message}return e instanceof Error&&e.message||"An unexpected error occurred."}async getLogs(e,t){try{let a={limit:t.limit,offset:t.offset,sort_by:t.sort_by,order:t.order};return e.providers&&e.providers.length>0&&(a.providers=e.providers.join(",")),e.models&&e.models.length>0&&(a.models=e.models.join(",")),e.status&&e.status.length>0&&(a.status=e.status.join(",")),e.objects&&e.objects.length>0&&(a.objects=e.objects.join(",")),e.start_time&&(a.start_time=e.start_time),e.end_time&&(a.end_time=e.end_time),e.min_latency&&(a.min_latency=e.min_latency),e.max_latency&&(a.max_latency=e.max_latency),e.min_tokens&&(a.min_tokens=e.min_tokens),e.max_tokens&&(a.max_tokens=e.max_tokens),e.content_search&&(a.content_search=e.content_search),[(await this.client.get("/logs",{params:a})).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async getProviders(){try{return[(await this.client.get("/providers")).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async getProvider(e){try{return[(await this.client.get("/providers/".concat(e))).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async createProvider(e){try{return[(await this.client.post("/providers",e)).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async updateProvider(e,t){try{return[(await this.client.put("/providers/".concat(e),t)).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async deleteProvider(e){try{return[(await this.client.delete("/providers/".concat(e))).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async getMCPClients(){try{return[(await this.client.get("/mcp/clients")).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async createMCPClient(e){try{return await this.client.post("/mcp/client",e),[null,null]}catch(e){return[null,this.getErrorMessage(e)]}}async updateMCPClient(e,t){try{return await this.client.put("/mcp/client/".concat(e),t),[null,null]}catch(e){return[null,this.getErrorMessage(e)]}}async deleteMCPClient(e){try{return await this.client.delete("/mcp/client/".concat(e)),[null,null]}catch(e){return[null,this.getErrorMessage(e)]}}async reconnectMCPClient(e){try{return await this.client.post("/mcp/client/".concat(e,"/reconnect")),[null,null]}catch(e){return[null,this.getErrorMessage(e)]}}async saveConfig(){try{return await this.client.post("/config/save"),[null,null]}catch(e){return[null,this.getErrorMessage(e)]}}async getCoreConfig(){try{return[(await this.client.get("/config")).data,null]}catch(e){return[null,this.getErrorMessage(e)]}}async updateCoreConfig(e){try{return await this.client.put("/config",e),[null,null]}catch(e){return[null,this.getErrorMessage(e)]}}constructor(){this.client=n.A.create({baseURL:"/api",headers:{"Content-Type":"application/json"}})}}let i=new s},2384:(e,t,a)=>{a.d(t,{A:()=>s});var r=a(5155),n=a(1154);let s=function(){return(0,r.jsx)("div",{className:"h-base flex items-center justify-center pb-24",children:(0,r.jsx)(n.A,{className:"h-4 w-4 animate-spin"})})}},3999:(e,t,a)=>{a.d(t,{cn:()=>s});var r=a(2596),n=a(9688);function s(){for(var e=arguments.length,t=Array(e),a=0;a{a.d(t,{Tabs:()=>i,TabsContent:()=>d,TabsList:()=>o,TabsTrigger:()=>l});var r=a(5155);a(2115);var n=a(704),s=a(3999);function i(e){let{className:t,...a}=e;return(0,r.jsx)(n.bL,{"data-slot":"tabs",className:(0,s.cn)("flex flex-col gap-2",t),...a})}function o(e){let{className:t,...a}=e;return(0,r.jsx)(n.B8,{"data-slot":"tabs-list",className:(0,s.cn)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",t),...a})}function l(e){let{className:t,...a}=e;return(0,r.jsx)(n.l9,{"data-slot":"tabs-trigger",className:(0,s.cn)("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...a})}function d(e){let{className:t,...a}=e;return(0,r.jsx)(n.UC,{"data-slot":"tabs-content",className:(0,s.cn)("flex-1 outline-none",t),...a})}},5784:(e,t,a)=>{a.d(t,{bq:()=>u,eb:()=>p,gC:()=>g,l6:()=>d,yv:()=>c});var r=a(5155);a(2115);var n=a(4582),s=a(6474),i=a(2815),o=a(7863),l=a(3999);function d(e){let{...t}=e;return(0,r.jsx)(n.bL,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,r.jsx)(n.WT,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:a="default",children:i,...o}=e;return(0,r.jsxs)(n.l9,{"data-slot":"select-trigger","data-size":a,className:(0,l.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...o,children:[i,(0,r.jsx)(n.In,{asChild:!0,children:(0,r.jsx)(s.A,{className:"size-4 opacity-50"})})]})}function g(e){let{className:t,children:a,position:s="popper",...i}=e;return(0,r.jsx)(n.ZL,{children:(0,r.jsxs)(n.UC,{"data-slot":"select-content",className:(0,l.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===s&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:s,...i,children:[(0,r.jsx)(x,{}),(0,r.jsx)(n.LM,{className:(0,l.cn)("p-1","popper"===s&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:a}),(0,r.jsx)(f,{})]})})}function p(e){let{className:t,children:a,...s}=e;return(0,r.jsxs)(n.q7,{"data-slot":"select-item",className:(0,l.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...s,children:[(0,r.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,r.jsx)(n.VF,{children:(0,r.jsx)(i.A,{className:"size-4"})})}),(0,r.jsx)(n.p4,{children:a})]})}function x(e){let{className:t,...a}=e;return(0,r.jsx)(n.PP,{"data-slot":"select-scroll-up-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...a,children:(0,r.jsx)(o.A,{className:"size-4"})})}function f(e){let{className:t,...a}=e;return(0,r.jsx)(n.wn,{"data-slot":"select-scroll-down-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...a,children:(0,r.jsx)(s.A,{className:"size-4"})})}},6037:(e,t,a)=>{a.d(t,{Separator:()=>i,W:()=>o});var r=a(5155);a(2115);var n=a(7489),s=a(3999);function i(e){let{className:t,orientation:a="horizontal",decorative:i=!0,...o}=e;return(0,r.jsx)(n.b,{"data-slot":"separator",decorative:i,orientation:a,className:(0,s.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...o})}function o(e){let{className:t}=e;return(0,r.jsx)("div",{className:(0,s.cn)("border-border h-[1px] w-full border-t border-dashed bg-transparent",{["".concat(t)]:void 0!==t})})}},7168:(e,t,a)=>{a.d(t,{$:()=>d,r:()=>l});var r=a(5155);a(2115);var n=a(9708),s=a(2085),i=a(3999),o=a(1154);let l=(0,s.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function d(e){let{className:t,variant:a,size:n,asChild:s=!1,children:i,isLoading:l=!1,...d}=e;return(0,r.jsx)(c,{className:t,variant:a,size:n,asChild:s,...d,children:l?(0,r.jsx)(o.A,{className:"size-4 animate-spin"}):i})}function c(e){let{className:t,variant:a,size:s,asChild:o=!1,...d}=e,c=o?n.DX:"button";return(0,r.jsx)(c,{"data-slot":"button",className:(0,i.cn)(l({variant:a,size:s,className:t}),"cursor-pointer"),...d})}},7783:(e,t,a)=>{a.d(t,{Ez:()=>l,RY:()=>o,f:()=>n,mG:()=>s,oU:()=>i,tJ:()=>d,wf:()=>c,xq:()=>r});let r=["openai","anthropic","azure","bedrock","cohere","vertex","mistral","ollama"],n=["success","error","cancelled"],s=["chat.completion","text.completion","embedding"],i={openai:"OpenAI",anthropic:"Anthropic",azure:"Azure OpenAI",bedrock:"AWS Bedrock",cohere:"Cohere",vertex:"Vertex AI",mistral:"Mistral AI",ollama:"Ollama"},o={openai:"bg-cyan-100 text-cyan-800",anthropic:"bg-orange-100 text-orange-800",bedrock:"bg-yellow-100 text-yellow-800",azure:"bg-blue-100 text-blue-800",cohere:"bg-purple-100 text-purple-800",vertex:"bg-pink-100 text-pink-800",mistral:"bg-gray-100 text-gray-800",ollama:"bg-indigo-100 text-indigo-800"},l={success:"bg-green-100 text-green-800",error:"bg-red-100 text-red-800",cancelled:"bg-gray-100 text-gray-800"},d={"chat.completion":"Chat","text.completion":"Text",embedding:"Embedding"},c={"chat.completion":"bg-blue-100 text-blue-800","text.completion":"bg-green-100 text-green-800",embedding:"bg-red-100 text-red-800"}},8145:(e,t,a)=>{a.d(t,{E:()=>l});var r=a(5155);a(2115);var n=a(9708),s=a(2085),i=a(3999);let o=(0,s.F)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",success:"border-transparent bg-green-700 text-white [a&]:hover:bg-green-700/90"}},defaultVariants:{variant:"default"}});function l(e){let{className:t,variant:a,asChild:s=!1,...l}=e,d=s?n.DX:"span";return(0,r.jsx)(d,{"data-slot":"badge",className:(0,i.cn)(o({variant:a}),t),...l})}},8482:(e,t,a)=>{a.d(t,{BT:()=>l,Wu:()=>d,ZB:()=>o,Zp:()=>s,aR:()=>i});var r=a(5155);a(2115);var n=a(3999);function s(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,n.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...a})}function i(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,n.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...a})}function o(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,n.cn)("leading-none font-semibold",t),...a})}function l(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...a})}function d(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,n.cn)("px-6",t),...a})}},8524:(e,t,a)=>{a.d(t,{A0:()=>i,BF:()=>o,Hj:()=>l,XI:()=>s,nA:()=>c,nd:()=>d});var r=a(5155);a(2115);var n=a(3999);function s(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,r.jsx)("table",{"data-slot":"table",className:(0,n.cn)("w-full caption-bottom text-sm",t),...a})})}function i(e){let{className:t,...a}=e;return(0,r.jsx)("thead",{"data-slot":"table-header",className:(0,n.cn)("[&_tr]:border-b",t),...a})}function o(e){let{className:t,...a}=e;return(0,r.jsx)("tbody",{"data-slot":"table-body",className:(0,n.cn)("[&_tr:last-child]:border-0",t),...a})}function l(e){let{className:t,...a}=e;return(0,r.jsx)("tr",{"data-slot":"table-row",className:(0,n.cn)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",t),...a})}function d(e){let{className:t,...a}=e;return(0,r.jsx)("th",{"data-slot":"table-head",className:(0,n.cn)("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),...a})}function c(e){let{className:t,...a}=e;return(0,r.jsx)("td",{"data-slot":"table-cell",className:(0,n.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),...a})}},9026:(e,t,a)=>{a.d(t,{Fc:()=>o,TN:()=>l});var r=a(5155);a(2115);var n=a(2085),s=a(3999);let i=(0,n.F)("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"}},defaultVariants:{variant:"default"}});function o(e){let{className:t,variant:a,...n}=e;return(0,r.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,s.cn)(i({variant:a}),t),...n})}function l(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"alert-description",className:(0,s.cn)("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",t),...a})}},9464:(e,t,a)=>{a.d(t,{A:()=>i});var r=a(5155),n=a(6037),s=a(1225);function i(e){let{title:t}=e;return(0,r.jsxs)("div",{className:"bg-background fixed top-0 right-0 left-(--sidebar-width) z-10",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-3",children:[(0,r.jsx)("div",{className:"p-3 font-semibold",children:t}),(0,r.jsx)(s.ThemeToggle,{})]}),(0,r.jsx)(n.Separator,{className:"w-full"})]})}},9840:(e,t,a)=>{a.d(t,{Cf:()=>c,Es:()=>g,L3:()=>p,c7:()=>u,lG:()=>o,rr:()=>x});var r=a(5155);a(2115);var n=a(5452),s=a(4416),i=a(3999);function o(e){let{...t}=e;return(0,r.jsx)(n.bL,{"data-slot":"dialog",...t})}function l(e){let{...t}=e;return(0,r.jsx)(n.ZL,{"data-slot":"dialog-portal",...t})}function d(e){let{className:t,...a}=e;return(0,r.jsx)(n.hJ,{"data-slot":"dialog-overlay",className:(0,i.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function c(e){let{className:t,children:a,showCloseButton:o=!0,...c}=e;return(0,r.jsxs)(l,{"data-slot":"dialog-portal",children:[(0,r.jsx)(d,{}),(0,r.jsxs)(n.UC,{"data-slot":"dialog-content",className:(0,i.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",t),...c,children:[a,o&&(0,r.jsxs)(n.bm,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,r.jsx)(s.A,{}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function u(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"dialog-header",className:(0,i.cn)("flex flex-col gap-2 text-center sm:text-left",t),...a})}function g(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"dialog-footer",className:(0,i.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...a})}function p(e){let{className:t,...a}=e;return(0,r.jsx)(n.hE,{"data-slot":"dialog-title",className:(0,i.cn)("text-lg leading-none font-semibold",t),...a})}function x(e){let{className:t,...a}=e;return(0,r.jsx)(n.VY,{"data-slot":"dialog-description",className:(0,i.cn)("text-muted-foreground text-sm",t),...a})}},9852:(e,t,a)=>{a.d(t,{p:()=>i});var r=a(5155),n=a(2115),s=a(3999);let i=n.forwardRef((e,t)=>{let{className:a,type:n,...i}=e;return(0,r.jsx)("input",{type:n,ref:t,"data-slot":"input",className:(0,s.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...i})});i.displayName="Input"}}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/473-3e3a48663e3561da.js b/transports/bifrost-http/ui/_next/static/chunks/473-3e3a48663e3561da.js deleted file mode 100644 index 7540546023..0000000000 --- a/transports/bifrost-http/ui/_next/static/chunks/473-3e3a48663e3561da.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[473],{381:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},4213:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]])},4869:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("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"}]])},5487:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]])},9613:(e,t,r)=>{r.d(t,{Kq:()=>U,UC:()=>G,ZL:()=>Z,bL:()=>X,i3:()=>K,l9:()=>Y});var n=r(2115),o=r(5185),l=r(6101),a=r(6081),i=r(9178),s=r(1285),c=r(5152),u=r(4378),d=r(8905),p=r(3655),y=r(9708),h=r(5845),x=r(2564),f=r(5155),[v,g]=(0,a.A)("Tooltip",[c.Bk]),m=(0,c.Bk)(),b="TooltipProvider",w="tooltip.open",[k,C]=v(b),T=e=>{let{__scopeTooltip:t,delayDuration:r=700,skipDelayDuration:o=300,disableHoverableContent:l=!1,children:a}=e,i=n.useRef(!0),s=n.useRef(!1),c=n.useRef(0);return n.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,f.jsx)(k,{scope:t,isOpenDelayedRef:i,delayDuration:r,onOpen:n.useCallback(()=>{window.clearTimeout(c.current),i.current=!1},[]),onClose:n.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>i.current=!0,o)},[o]),isPointerInTransitRef:s,onPointerInTransitChange:n.useCallback(e=>{s.current=e},[]),disableHoverableContent:l,children:a})};T.displayName=b;var E="Tooltip",[L,j]=v(E),R=e=>{let{__scopeTooltip:t,children:r,open:o,defaultOpen:l,onOpenChange:a,disableHoverableContent:i,delayDuration:u}=e,d=C(E,e.__scopeTooltip),p=m(t),[y,x]=n.useState(null),v=(0,s.B)(),g=n.useRef(0),b=null!=i?i:d.disableHoverableContent,k=null!=u?u:d.delayDuration,T=n.useRef(!1),[j,R]=(0,h.i)({prop:o,defaultProp:null!=l&&l,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(w))):d.onClose(),null==a||a(e)},caller:E}),A=n.useMemo(()=>j?T.current?"delayed-open":"instant-open":"closed",[j]),M=n.useCallback(()=>{window.clearTimeout(g.current),g.current=0,T.current=!1,R(!0)},[R]),_=n.useCallback(()=>{window.clearTimeout(g.current),g.current=0,R(!1)},[R]),P=n.useCallback(()=>{window.clearTimeout(g.current),g.current=window.setTimeout(()=>{T.current=!0,R(!0),g.current=0},k)},[k,R]);return n.useEffect(()=>()=>{g.current&&(window.clearTimeout(g.current),g.current=0)},[]),(0,f.jsx)(c.bL,{...p,children:(0,f.jsx)(L,{scope:t,contentId:v,open:j,stateAttribute:A,trigger:y,onTriggerChange:x,onTriggerEnter:n.useCallback(()=>{d.isOpenDelayedRef.current?P():M()},[d.isOpenDelayedRef,P,M]),onTriggerLeave:n.useCallback(()=>{b?_():(window.clearTimeout(g.current),g.current=0)},[_,b]),onOpen:M,onClose:_,disableHoverableContent:b,children:r})})};R.displayName=E;var A="TooltipTrigger",M=n.forwardRef((e,t)=>{let{__scopeTooltip:r,...a}=e,i=j(A,r),s=C(A,r),u=m(r),d=n.useRef(null),y=(0,l.s)(t,d,i.onTriggerChange),h=n.useRef(!1),x=n.useRef(!1),v=n.useCallback(()=>h.current=!1,[]);return n.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),(0,f.jsx)(c.Mz,{asChild:!0,...u,children:(0,f.jsx)(p.sG.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...a,ref:y,onPointerMove:(0,o.m)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(x.current||s.isPointerInTransitRef.current||(i.onTriggerEnter(),x.current=!0))}),onPointerLeave:(0,o.m)(e.onPointerLeave,()=>{i.onTriggerLeave(),x.current=!1}),onPointerDown:(0,o.m)(e.onPointerDown,()=>{i.open&&i.onClose(),h.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:(0,o.m)(e.onFocus,()=>{h.current||i.onOpen()}),onBlur:(0,o.m)(e.onBlur,i.onClose),onClick:(0,o.m)(e.onClick,i.onClose)})})});M.displayName=A;var _="TooltipPortal",[P,D]=v(_,{forceMount:void 0}),N=e=>{let{__scopeTooltip:t,forceMount:r,children:n,container:o}=e,l=j(_,t);return(0,f.jsx)(P,{scope:t,forceMount:r,children:(0,f.jsx)(d.C,{present:r||l.open,children:(0,f.jsx)(u.Z,{asChild:!0,container:o,children:n})})})};N.displayName=_;var O="TooltipContent",z=n.forwardRef((e,t)=>{let r=D(O,e.__scopeTooltip),{forceMount:n=r.forceMount,side:o="top",...l}=e,a=j(O,e.__scopeTooltip);return(0,f.jsx)(d.C,{present:n||a.open,children:a.disableHoverableContent?(0,f.jsx)(F,{side:o,...l,ref:t}):(0,f.jsx)(B,{side:o,...l,ref:t})})}),B=n.forwardRef((e,t)=>{let r=j(O,e.__scopeTooltip),o=C(O,e.__scopeTooltip),a=n.useRef(null),i=(0,l.s)(t,a),[s,c]=n.useState(null),{trigger:u,onClose:d}=r,p=a.current,{onPointerInTransitChange:y}=o,h=n.useCallback(()=>{c(null),y(!1)},[y]),x=n.useCallback((e,t)=>{let r=e.currentTarget,n={x:e.clientX,y:e.clientY},o=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),l=Math.abs(t.left-e.x);switch(Math.min(r,n,o,l)){case l:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(n,r.getBoundingClientRect());c(function(e){let t=e.slice();return t.sort((e,t)=>e.xt.x?1:e.yt.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(t)}([...function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(n,o),...function(e){let{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}(t.getBoundingClientRect())])),y(!0)},[y]);return n.useEffect(()=>()=>h(),[h]),n.useEffect(()=>{if(u&&p){let e=e=>x(e,p),t=e=>x(e,u);return u.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{u.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[u,p,x,h]),n.useEffect(()=>{if(s){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=(null==u?void 0:u.contains(t))||(null==p?void 0:p.contains(t)),o=!function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,l=t.length-1;en!=d>n&&r<(u-s)*(n-c)/(d-c)+s&&(o=!o)}return o}(r,s);n?h():o&&(h(),d())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[u,p,s,d,h]),(0,f.jsx)(F,{...e,ref:i})}),[I,q]=v(E,{isInside:!1}),V=(0,y.Dc)("TooltipContent"),F=n.forwardRef((e,t)=>{let{__scopeTooltip:r,children:o,"aria-label":l,onEscapeKeyDown:a,onPointerDownOutside:s,...u}=e,d=j(O,r),p=m(r),{onClose:y}=d;return n.useEffect(()=>(document.addEventListener(w,y),()=>document.removeEventListener(w,y)),[y]),n.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;(null==t?void 0:t.contains(d.trigger))&&y()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,y]),(0,f.jsx)(i.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:y,children:(0,f.jsxs)(c.UC,{"data-state":d.stateAttribute,...p,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,f.jsx)(V,{children:o}),(0,f.jsx)(I,{scope:r,isInside:!0,children:(0,f.jsx)(x.bL,{id:d.contentId,role:"tooltip",children:l||o})})]})})});z.displayName=O;var H="TooltipArrow",S=n.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,o=m(r);return q(H,r).isInside?null:(0,f.jsx)(c.i3,{...o,...n,ref:t})});S.displayName=H;var U=T,X=R,Y=M,Z=N,G=z,K=S},9803:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]])}}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/529-26467b76604e8781.js b/transports/bifrost-http/ui/_next/static/chunks/529-26467b76604e8781.js new file mode 100644 index 0000000000..d0bb696f24 --- /dev/null +++ b/transports/bifrost-http/ui/_next/static/chunks/529-26467b76604e8781.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[529],{968:(e,t,r)=>{"use strict";r.d(t,{b:()=>s});var n=r(2115),a=r(3655),o=r(5155),i=n.forwardRef((e,t)=>(0,o.jsx)(a.sG.label,{...e,ref:t,onMouseDown:t=>{var r;t.target.closest("button, input, select, textarea")||(null==(r=e.onMouseDown)||r.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));i.displayName="Label";var s=i},1243:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("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"}]])},1284:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},1539:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},2525:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("trash-2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])},3717:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("square-pen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]])},4109:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("refresh-ccw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]])},4213:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]])},4229:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]])},4616:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},4869:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("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"}]])},4884:(e,t,r)=>{"use strict";r.d(t,{bL:()=>m,zi:()=>A});var n=r(2115),a=r(5185),o=r(6101),i=r(6081),s=r(5845),c=r(5503),u=r(1275),l=r(3655),f=r(5155),d="Switch",[p,h]=(0,i.A)(d),[y,v]=p(d),b=n.forwardRef((e,t)=>{let{__scopeSwitch:r,name:i,checked:c,defaultChecked:u,required:p,disabled:h,value:v="on",onCheckedChange:b,form:_,...g}=e,[m,A]=n.useState(null),w=(0,o.s)(t,e=>A(e)),x=n.useRef(!1),z=!m||_||!!m.closest("form"),[M,O]=(0,s.i)({prop:c,defaultProp:null!=u&&u,onChange:b,caller:d});return(0,f.jsxs)(y,{scope:r,checked:M,disabled:h,children:[(0,f.jsx)(l.sG.button,{type:"button",role:"switch","aria-checked":M,"aria-required":p,"data-state":k(M),"data-disabled":h?"":void 0,disabled:h,value:v,...g,ref:w,onClick:(0,a.m)(e.onClick,e=>{O(e=>!e),z&&(x.current=e.isPropagationStopped(),x.current||e.stopPropagation())})}),z&&(0,f.jsx)(j,{control:m,bubbles:!x.current,name:i,value:v,checked:M,required:p,disabled:h,form:_,style:{transform:"translateX(-100%)"}})]})});b.displayName=d;var _="SwitchThumb",g=n.forwardRef((e,t)=>{let{__scopeSwitch:r,...n}=e,a=v(_,r);return(0,f.jsx)(l.sG.span,{"data-state":k(a.checked),"data-disabled":a.disabled?"":void 0,...n,ref:t})});g.displayName=_;var j=n.forwardRef((e,t)=>{let{__scopeSwitch:r,control:a,checked:i,bubbles:s=!0,...l}=e,d=n.useRef(null),p=(0,o.s)(d,t),h=(0,c.Z)(i),y=(0,u.X)(a);return n.useEffect(()=>{let e=d.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(h!==i&&t){let r=new Event("click",{bubbles:s});t.call(e,i),e.dispatchEvent(r)}},[h,i,s]),(0,f.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:i,...l,tabIndex:-1,ref:p,style:{...l.style,...y,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function k(e){return e?"checked":"unchecked"}j.displayName="SwitchBubbleInput";var m=b,A=g},7649:(e,t,r)=>{"use strict";r.d(t,{UC:()=>P,VY:()=>V,ZD:()=>I,ZL:()=>S,bL:()=>E,hE:()=>F,hJ:()=>L,l9:()=>R,rc:()=>C});var n=r(2115),a=r(6081),o=r(6101),i=r(5452),s=r(5185),c=r(9708),u=r(5155),l="AlertDialog",[f,d]=(0,a.A)(l,[i.Hs]),p=(0,i.Hs)(),h=e=>{let{__scopeAlertDialog:t,...r}=e,n=p(t);return(0,u.jsx)(i.bL,{...n,...r,modal:!0})};h.displayName=l;var y=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=p(r);return(0,u.jsx)(i.l9,{...a,...n,ref:t})});y.displayName="AlertDialogTrigger";var v=e=>{let{__scopeAlertDialog:t,...r}=e,n=p(t);return(0,u.jsx)(i.ZL,{...n,...r})};v.displayName="AlertDialogPortal";var b=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=p(r);return(0,u.jsx)(i.hJ,{...a,...n,ref:t})});b.displayName="AlertDialogOverlay";var _="AlertDialogContent",[g,j]=f(_),k=(0,c.Dc)("AlertDialogContent"),m=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,children:a,...c}=e,l=p(r),f=n.useRef(null),d=(0,o.s)(t,f),h=n.useRef(null);return(0,u.jsx)(i.G$,{contentName:_,titleName:A,docsSlug:"alert-dialog",children:(0,u.jsx)(g,{scope:r,cancelRef:h,children:(0,u.jsxs)(i.UC,{role:"alertdialog",...l,...c,ref:d,onOpenAutoFocus:(0,s.m)(c.onOpenAutoFocus,e=>{var t;e.preventDefault(),null==(t=h.current)||t.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,u.jsx)(k,{children:a}),(0,u.jsx)(N,{contentRef:f})]})})})});m.displayName=_;var A="AlertDialogTitle",w=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=p(r);return(0,u.jsx)(i.hE,{...a,...n,ref:t})});w.displayName=A;var x="AlertDialogDescription",z=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=p(r);return(0,u.jsx)(i.VY,{...a,...n,ref:t})});z.displayName=x;var M=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=p(r);return(0,u.jsx)(i.bm,{...a,...n,ref:t})});M.displayName="AlertDialogAction";var O="AlertDialogCancel",D=n.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,{cancelRef:a}=j(O,r),s=p(r),c=(0,o.s)(t,a);return(0,u.jsx)(i.bm,{...s,...n,ref:c})});D.displayName=O;var N=e=>{let{contentRef:t}=e,r="`".concat(_,"` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the `").concat(_,"` by passing a `").concat(x,"` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an `id` and passing the same value to the `aria-describedby` prop in `").concat(_,"`. If the description is confusing or duplicative for sighted users, you can use the `@radix-ui/react-visually-hidden` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog");return n.useEffect(()=>{var e;document.getElementById(null==(e=t.current)?void 0:e.getAttribute("aria-describedby"))||console.warn(r)},[r,t]),null},E=h,R=y,S=v,L=b,P=m,C=M,I=D,F=w,V=z},8103:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("pickaxe",[["path",{d:"M14.531 12.469 6.619 20.38a1 1 0 1 1-3-3l7.912-7.912",key:"we99rg"}],["path",{d:"M15.686 4.314A12.5 12.5 0 0 0 5.461 2.958 1 1 0 0 0 5.58 4.71a22 22 0 0 1 6.318 3.393",key:"1w6hck"}],["path",{d:"M17.7 3.7a1 1 0 0 0-1.4 0l-4.6 4.6a1 1 0 0 0 0 1.4l2.6 2.6a1 1 0 0 0 1.4 0l4.6-4.6a1 1 0 0 0 0-1.4z",key:"15hgfx"}],["path",{d:"M19.686 8.314a12.501 12.501 0 0 1 1.356 10.225 1 1 0 0 1-1.751-.119 22 22 0 0 0-3.393-6.319",key:"452b4h"}]])},9231:(e,t,r)=>{e=r.nmd(e);var n,a,o="__lodash_hash_undefined__",i="[object Arguments]",s="[object Array]",c="[object Boolean]",u="[object Date]",l="[object Error]",f="[object Function]",d="[object Map]",p="[object Number]",h="[object Object]",y="[object Promise]",v="[object RegExp]",b="[object Set]",_="[object String]",g="[object WeakMap]",j="[object ArrayBuffer]",k="[object DataView]",m=/^\[object .+?Constructor\]$/,A=/^(?:0|[1-9]\d*)$/,w={};w["[object Float32Array]"]=w["[object Float64Array]"]=w["[object Int8Array]"]=w["[object Int16Array]"]=w["[object Int32Array]"]=w["[object Uint8Array]"]=w["[object Uint8ClampedArray]"]=w["[object Uint16Array]"]=w["[object Uint32Array]"]=!0,w[i]=w[s]=w[j]=w[c]=w[k]=w[u]=w[l]=w[f]=w[d]=w[p]=w[h]=w[v]=w[b]=w[_]=w[g]=!1;var x="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,z="object"==typeof self&&self&&self.Object===Object&&self,M=x||z||Function("return this")(),O=t&&!t.nodeType&&t,D=O&&e&&!e.nodeType&&e,N=D&&D.exports===O,E=N&&x.process,R=function(){try{return E&&E.binding&&E.binding("util")}catch(e){}}(),S=R&&R.isTypedArray;function L(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function P(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}var C=Array.prototype,I=Function.prototype,F=Object.prototype,V=M["__core-js_shared__"],T=I.toString,U=F.hasOwnProperty,$=function(){var e=/[^.]+$/.exec(V&&V.keys&&V.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),q=F.toString,B=RegExp("^"+T.call(U).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),H=N?M.Buffer:void 0,G=M.Symbol,Z=M.Uint8Array,Y=F.propertyIsEnumerable,J=C.splice,W=G?G.toStringTag:void 0,X=Object.getOwnPropertySymbols,K=H?H.isBuffer:void 0,Q=(n=Object.keys,a=Object,function(e){return n(a(e))}),ee=ew(M,"DataView"),et=ew(M,"Map"),er=ew(M,"Promise"),en=ew(M,"Set"),ea=ew(M,"WeakMap"),eo=ew(Object,"create"),ei=eM(ee),es=eM(et),ec=eM(er),eu=eM(en),el=eM(ea),ef=G?G.prototype:void 0,ed=ef?ef.valueOf:void 0;function ep(e){var t=-1,r=null==e?0:e.length;for(this.clear();++ts))return!1;var u=o.get(e);if(u&&o.get(t))return u==t;var l=-1,f=!0,d=2&r?new ev:void 0;for(o.set(e,t),o.set(t,e);++l-1},eh.prototype.set=function(e,t){var r=this.__data__,n=e_(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},ey.prototype.clear=function(){this.size=0,this.__data__={hash:new ep,map:new(et||eh),string:new ep}},ey.prototype.delete=function(e){var t=eA(this,e).delete(e);return this.size-=!!t,t},ey.prototype.get=function(e){return eA(this,e).get(e)},ey.prototype.has=function(e){return eA(this,e).has(e)},ey.prototype.set=function(e,t){var r=eA(this,e),n=r.size;return r.set(e,t),this.size+=+(r.size!=n),this},ev.prototype.add=ev.prototype.push=function(e){return this.__data__.set(e,o),this},ev.prototype.has=function(e){return this.__data__.has(e)},eb.prototype.clear=function(){this.__data__=new eh,this.size=0},eb.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},eb.prototype.get=function(e){return this.__data__.get(e)},eb.prototype.has=function(e){return this.__data__.has(e)},eb.prototype.set=function(e,t){var r=this.__data__;if(r instanceof eh){var n=r.__data__;if(!et||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new ey(n)}return r.set(e,t),this.size=r.size,this};var ex=X?function(e){return null==e?[]:function(e,t){for(var r=-1,n=null==e?0:e.length,a=0,o=[];++r-1&&e%1==0&&e<=0x1fffffffffffff}function eL(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function eP(e){return null!=e&&"object"==typeof e}var eC=S?function(e){return S(e)}:function(e){return eP(e)&&eS(e.length)&&!!w[eg(e)]};function eI(e){return null!=e&&eS(e.length)&&!eR(e)?function(e,t){var r,n,a=eN(e),o=!a&&eD(e),i=!a&&!o&&eE(e),s=!a&&!o&&!i&&eC(e),c=a||o||i||s,u=c?function(e,t){for(var r=-1,n=Array(e);++r-1&&r%1==0&&r{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]])},9917:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(9946).A)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])}}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/678-56244c2aeff7b5e2.js b/transports/bifrost-http/ui/_next/static/chunks/678-56244c2aeff7b5e2.js new file mode 100644 index 0000000000..0c69de1b92 --- /dev/null +++ b/transports/bifrost-http/ui/_next/static/chunks/678-56244c2aeff7b5e2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[678],{2564:(t,e,a)=>{a.d(e,{Qg:()=>s,bL:()=>l});var o=a(2115),r=a(3655),n=a(5155),s=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),i=o.forwardRef((t,e)=>(0,n.jsx)(r.sG.span,{...t,ref:e,style:{...s,...t.style}}));i.displayName="VisuallyHidden";var l=i},4416:(t,e,a)=>{a.d(e,{A:()=>o});let o=(0,a(9946).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},5452:(t,e,a)=>{a.d(e,{G$:()=>q,Hs:()=>x,UC:()=>ta,VY:()=>tr,ZL:()=>tt,bL:()=>Q,bm:()=>tn,hE:()=>to,hJ:()=>te,l9:()=>$});var o=a(2115),r=a(5185),n=a(6101),s=a(6081),i=a(1285),l=a(5845),d=a(9178),c=a(7900),u=a(4378),f=a(8905),p=a(3655),m=a(2293),g=a(3795),h=a(8168),v=a(9708),b=a(5155),y="Dialog",[w,x]=(0,s.A)(y),[E,k]=w(y),N=t=>{let{__scopeDialog:e,children:a,open:r,defaultOpen:n,onOpenChange:s,modal:d=!0}=t,c=o.useRef(null),u=o.useRef(null),[f,p]=(0,l.i)({prop:r,defaultProp:null!=n&&n,onChange:s,caller:y});return(0,b.jsx)(E,{scope:e,triggerRef:c,contentRef:u,contentId:(0,i.B)(),titleId:(0,i.B)(),descriptionId:(0,i.B)(),open:f,onOpenChange:p,onOpenToggle:o.useCallback(()=>p(t=>!t),[p]),modal:d,children:a})};N.displayName=y;var C="DialogTrigger",j=o.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,s=k(C,a),i=(0,n.s)(e,s.triggerRef);return(0,b.jsx)(p.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":G(s.open),...o,ref:i,onClick:(0,r.m)(t.onClick,s.onOpenToggle)})});j.displayName=C;var D="DialogPortal",[R,M]=w(D,{forceMount:void 0}),T=t=>{let{__scopeDialog:e,forceMount:a,children:r,container:n}=t,s=k(D,e);return(0,b.jsx)(R,{scope:e,forceMount:a,children:o.Children.map(r,t=>(0,b.jsx)(f.C,{present:a||s.open,children:(0,b.jsx)(u.Z,{asChild:!0,container:n,children:t})}))})};T.displayName=D;var S="DialogOverlay",B=o.forwardRef((t,e)=>{let a=M(S,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=k(S,t.__scopeDialog);return n.modal?(0,b.jsx)(f.C,{present:o||n.open,children:(0,b.jsx)(z,{...r,ref:e})}):null});B.displayName=S;var I=(0,v.TL)("DialogOverlay.RemoveScroll"),z=o.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=k(S,a);return(0,b.jsx)(g.A,{as:I,allowPinchZoom:!0,shards:[r.contentRef],children:(0,b.jsx)(p.sG.div,{"data-state":G(r.open),...o,ref:e,style:{pointerEvents:"auto",...o.style}})})}),A="DialogContent",P=o.forwardRef((t,e)=>{let a=M(A,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=k(A,t.__scopeDialog);return(0,b.jsx)(f.C,{present:o||n.open,children:n.modal?(0,b.jsx)(Y,{...r,ref:e}):(0,b.jsx)(O,{...r,ref:e})})});P.displayName=A;var Y=o.forwardRef((t,e)=>{let a=k(A,t.__scopeDialog),s=o.useRef(null),i=(0,n.s)(e,a.contentRef,s);return o.useEffect(()=>{let t=s.current;if(t)return(0,h.Eq)(t)},[]),(0,b.jsx)(L,{...t,ref:i,trapFocus:a.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,r.m)(t.onCloseAutoFocus,t=>{var e;t.preventDefault(),null==(e=a.triggerRef.current)||e.focus()}),onPointerDownOutside:(0,r.m)(t.onPointerDownOutside,t=>{let e=t.detail.originalEvent,a=0===e.button&&!0===e.ctrlKey;(2===e.button||a)&&t.preventDefault()}),onFocusOutside:(0,r.m)(t.onFocusOutside,t=>t.preventDefault())})}),O=o.forwardRef((t,e)=>{let a=k(A,t.__scopeDialog),r=o.useRef(!1),n=o.useRef(!1);return(0,b.jsx)(L,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:e=>{var o,s;null==(o=t.onCloseAutoFocus)||o.call(t,e),e.defaultPrevented||(r.current||null==(s=a.triggerRef.current)||s.focus(),e.preventDefault()),r.current=!1,n.current=!1},onInteractOutside:e=>{var o,s;null==(o=t.onInteractOutside)||o.call(t,e),e.defaultPrevented||(r.current=!0,"pointerdown"===e.detail.originalEvent.type&&(n.current=!0));let i=e.target;(null==(s=a.triggerRef.current)?void 0:s.contains(i))&&e.preventDefault(),"focusin"===e.detail.originalEvent.type&&n.current&&e.preventDefault()}})}),L=o.forwardRef((t,e)=>{let{__scopeDialog:a,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:i,...l}=t,u=k(A,a),f=o.useRef(null),p=(0,n.s)(e,f);return(0,m.Oh)(),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(c.n,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:s,onUnmountAutoFocus:i,children:(0,b.jsx)(d.qW,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":G(u.open),...l,ref:p,onDismiss:()=>u.onOpenChange(!1)})}),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(Z,{titleId:u.titleId}),(0,b.jsx)(J,{contentRef:f,descriptionId:u.descriptionId})]})]})}),F="DialogTitle",_=o.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=k(F,a);return(0,b.jsx)(p.sG.h2,{id:r.titleId,...o,ref:e})});_.displayName=F;var H="DialogDescription",V=o.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=k(H,a);return(0,b.jsx)(p.sG.p,{id:r.descriptionId,...o,ref:e})});V.displayName=H;var U="DialogClose",X=o.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,n=k(U,a);return(0,b.jsx)(p.sG.button,{type:"button",...o,ref:e,onClick:(0,r.m)(t.onClick,()=>n.onOpenChange(!1))})});function G(t){return t?"open":"closed"}X.displayName=U;var W="DialogTitleWarning",[q,K]=(0,s.q)(W,{contentName:A,titleName:F,docsSlug:"dialog"}),Z=t=>{let{titleId:e}=t,a=K(W),r="`".concat(a.contentName,"` requires a `").concat(a.titleName,"` for the component to be accessible for screen reader users.\n\nIf you want to hide the `").concat(a.titleName,"`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/").concat(a.docsSlug);return o.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},J=t=>{let{contentRef:e,descriptionId:a}=t,r=K("DialogDescriptionWarning"),n="Warning: Missing `Description` or `aria-describedby={undefined}` for {".concat(r.contentName,"}.");return o.useEffect(()=>{var t;let o=null==(t=e.current)?void 0:t.getAttribute("aria-describedby");a&&o&&(document.getElementById(a)||console.warn(n))},[n,e,a]),null},Q=N,$=j,tt=T,te=B,ta=P,to=_,tr=V,tn=X},6671:(t,e,a)=>{a.d(e,{Toaster:()=>k,o:()=>b});var o=a(2115),r=a(7650);let n=t=>{switch(t){case"success":return l;case"info":return c;case"warning":return d;case"error":return u;default:return null}},s=Array(12).fill(0),i=t=>{let{visible:e,className:a}=t;return o.createElement("div",{className:["sonner-loading-wrapper",a].filter(Boolean).join(" "),"data-visible":e},o.createElement("div",{className:"sonner-spinner"},s.map((t,e)=>o.createElement("div",{className:"sonner-loading-bar",key:"spinner-bar-".concat(e)}))))},l=o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},o.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"})),d=o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},o.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"})),c=o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},o.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"})),u=o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},o.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"})),f=o.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"},o.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),o.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),p=()=>{let[t,e]=o.useState(document.hidden);return o.useEffect(()=>{let t=()=>{e(document.hidden)};return document.addEventListener("visibilitychange",t),()=>window.removeEventListener("visibilitychange",t)},[]),t},m=1;class g{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{let e=this.subscribers.indexOf(t);this.subscribers.splice(e,1)}),this.publish=t=>{this.subscribers.forEach(e=>e(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var e;let{message:a,...o}=t,r="number"==typeof(null==t?void 0:t.id)||(null==(e=t.id)?void 0:e.length)>0?t.id:m++,n=this.toasts.find(t=>t.id===r),s=void 0===t.dismissible||t.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),n?this.toasts=this.toasts.map(e=>e.id===r?(this.publish({...e,...t,id:r,title:a}),{...e,...t,id:r,dismissible:s,title:a}):e):this.addToast({title:a,...o,dismissible:s,id:r}),r},this.dismiss=t=>(t?(this.dismissedToasts.add(t),requestAnimationFrame(()=>this.subscribers.forEach(e=>e({id:t,dismiss:!0})))):this.toasts.forEach(t=>{this.subscribers.forEach(e=>e({id:t.id,dismiss:!0}))}),t),this.message=(t,e)=>this.create({...e,message:t}),this.error=(t,e)=>this.create({...e,message:t,type:"error"}),this.success=(t,e)=>this.create({...e,type:"success",message:t}),this.info=(t,e)=>this.create({...e,type:"info",message:t}),this.warning=(t,e)=>this.create({...e,type:"warning",message:t}),this.loading=(t,e)=>this.create({...e,type:"loading",message:t}),this.promise=(t,e)=>{let a,r;if(!e)return;void 0!==e.loading&&(r=this.create({...e,promise:t,type:"loading",message:e.loading,description:"function"!=typeof e.description?e.description:void 0}));let n=Promise.resolve(t instanceof Function?t():t),s=void 0!==r,i=n.then(async t=>{if(a=["resolve",t],o.isValidElement(t))s=!1,this.create({id:r,type:"default",message:t});else if(v(t)&&!t.ok){s=!1;let a="function"==typeof e.error?await e.error("HTTP error! status: ".concat(t.status)):e.error,n="function"==typeof e.description?await e.description("HTTP error! status: ".concat(t.status)):e.description,i="object"!=typeof a||o.isValidElement(a)?{message:a}:a;this.create({id:r,type:"error",description:n,...i})}else if(t instanceof Error){s=!1;let a="function"==typeof e.error?await e.error(t):e.error,n="function"==typeof e.description?await e.description(t):e.description,i="object"!=typeof a||o.isValidElement(a)?{message:a}:a;this.create({id:r,type:"error",description:n,...i})}else if(void 0!==e.success){s=!1;let a="function"==typeof e.success?await e.success(t):e.success,n="function"==typeof e.description?await e.description(t):e.description,i="object"!=typeof a||o.isValidElement(a)?{message:a}:a;this.create({id:r,type:"success",description:n,...i})}}).catch(async t=>{if(a=["reject",t],void 0!==e.error){s=!1;let a="function"==typeof e.error?await e.error(t):e.error,n="function"==typeof e.description?await e.description(t):e.description,i="object"!=typeof a||o.isValidElement(a)?{message:a}:a;this.create({id:r,type:"error",description:n,...i})}}).finally(()=>{s&&(this.dismiss(r),r=void 0),null==e.finally||e.finally.call(e)}),l=()=>new Promise((t,e)=>i.then(()=>"reject"===a[0]?e(a[1]):t(a[1])).catch(e));return"string"!=typeof r&&"number"!=typeof r?{unwrap:l}:Object.assign(r,{unwrap:l})},this.custom=(t,e)=>{let a=(null==e?void 0:e.id)||m++;return this.create({jsx:t(a),id:a,...e}),a},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}let h=new g,v=t=>t&&"object"==typeof t&&"ok"in t&&"boolean"==typeof t.ok&&"status"in t&&"number"==typeof t.status,b=Object.assign((t,e)=>{let a=(null==e?void 0:e.id)||m++;return h.addToast({title:t,...e,id:a}),a},{success:h.success,info:h.info,warning:h.warning,error:h.error,custom:h.custom,message:h.message,promise:h.promise,dismiss:h.dismiss,loading:h.loading},{getHistory:()=>h.toasts,getToasts:()=>h.getActiveToasts()});function y(t){return void 0!==t.label}function w(){for(var t=arguments.length,e=Array(t),a=0;asvg{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}[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(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);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]{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%)}");let x=t=>{var e,a,r,s,l,d,c,u,m,g,h;let{invert:v,toast:b,unstyled:x,interacting:E,setHeights:k,visibleToasts:N,heights:C,index:j,toasts:D,expanded:R,removeToast:M,defaultRichColors:T,closeButton:S,style:B,cancelButtonStyle:I,actionButtonStyle:z,className:A="",descriptionClassName:P="",duration:Y,position:O,gap:L,expandByDefault:F,classNames:_,icons:H,closeButtonAriaLabel:V="Close toast"}=t,[U,X]=o.useState(null),[G,W]=o.useState(null),[q,K]=o.useState(!1),[Z,J]=o.useState(!1),[Q,$]=o.useState(!1),[tt,te]=o.useState(!1),[ta,to]=o.useState(!1),[tr,tn]=o.useState(0),[ts,ti]=o.useState(0),tl=o.useRef(b.duration||Y||4e3),td=o.useRef(null),tc=o.useRef(null),tu=0===j,tf=j+1<=N,tp=b.type,tm=!1!==b.dismissible,tg=b.className||"",th=b.descriptionClassName||"",tv=o.useMemo(()=>C.findIndex(t=>t.toastId===b.id)||0,[C,b.id]),tb=o.useMemo(()=>{var t;return null!=(t=b.closeButton)?t:S},[b.closeButton,S]),ty=o.useMemo(()=>b.duration||Y||4e3,[b.duration,Y]),tw=o.useRef(0),tx=o.useRef(0),tE=o.useRef(0),tk=o.useRef(null),[tN,tC]=O.split("-"),tj=o.useMemo(()=>C.reduce((t,e,a)=>a>=tv?t:t+e.height,0),[C,tv]),tD=p(),tR=b.invert||v,tM="loading"===tp;tx.current=o.useMemo(()=>tv*L+tj,[tv,tj]),o.useEffect(()=>{tl.current=ty},[ty]),o.useEffect(()=>{K(!0)},[]),o.useEffect(()=>{let t=tc.current;if(t){let e=t.getBoundingClientRect().height;return ti(e),k(t=>[{toastId:b.id,height:e,position:b.position},...t]),()=>k(t=>t.filter(t=>t.toastId!==b.id))}},[k,b.id]),o.useLayoutEffect(()=>{if(!q)return;let t=tc.current,e=t.style.height;t.style.height="auto";let a=t.getBoundingClientRect().height;t.style.height=e,ti(a),k(t=>t.find(t=>t.toastId===b.id)?t.map(t=>t.toastId===b.id?{...t,height:a}:t):[{toastId:b.id,height:a,position:b.position},...t])},[q,b.title,b.description,k,b.id,b.jsx,b.action,b.cancel]);let tT=o.useCallback(()=>{J(!0),tn(tx.current),k(t=>t.filter(t=>t.toastId!==b.id)),setTimeout(()=>{M(b)},200)},[b,M,k,tx]);o.useEffect(()=>{let t;if((!b.promise||"loading"!==tp)&&b.duration!==1/0&&"loading"!==b.type)return R||E||tD?(()=>{if(tE.current{null==b.onAutoClose||b.onAutoClose.call(b,b),tT()},tl.current)),()=>clearTimeout(t)},[R,E,b,tp,tD,tT]),o.useEffect(()=>{b.delete&&(tT(),null==b.onDismiss||b.onDismiss.call(b,b))},[tT,b.delete]);let tS=b.icon||(null==H?void 0:H[tp])||n(tp);return o.createElement("li",{tabIndex:0,ref:tc,className:w(A,tg,null==_?void 0:_.toast,null==b||null==(e=b.classNames)?void 0:e.toast,null==_?void 0:_.default,null==_?void 0:_[tp],null==b||null==(a=b.classNames)?void 0:a[tp]),"data-sonner-toast":"","data-rich-colors":null!=(g=b.richColors)?g:T,"data-styled":!(b.jsx||b.unstyled||x),"data-mounted":q,"data-promise":!!b.promise,"data-swiped":ta,"data-removed":Z,"data-visible":tf,"data-y-position":tN,"data-x-position":tC,"data-index":j,"data-front":tu,"data-swiping":Q,"data-dismissible":tm,"data-type":tp,"data-invert":tR,"data-swipe-out":tt,"data-swipe-direction":G,"data-expanded":!!(R||F&&q),style:{"--index":j,"--toasts-before":j,"--z-index":D.length-j,"--offset":"".concat(Z?tr:tx.current,"px"),"--initial-height":F?"auto":"".concat(ts,"px"),...B,...b.style},onDragEnd:()=>{$(!1),X(null),tk.current=null},onPointerDown:t=>{!tM&&tm&&(td.current=new Date,tn(tx.current),t.target.setPointerCapture(t.pointerId),"BUTTON"!==t.target.tagName&&($(!0),tk.current={x:t.clientX,y:t.clientY}))},onPointerUp:()=>{var t,e,a,o,r;if(tt||!tm)return;tk.current=null;let n=Number((null==(t=tc.current)?void 0:t.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),s=Number((null==(e=tc.current)?void 0:e.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),i=new Date().getTime()-(null==(a=td.current)?void 0:a.getTime()),l="x"===U?n:s,d=Math.abs(l)/i;if(Math.abs(l)>=45||d>.11){tn(tx.current),null==b.onDismiss||b.onDismiss.call(b,b),"x"===U?W(n>0?"right":"left"):W(s>0?"down":"up"),tT(),te(!0);return}null==(o=tc.current)||o.style.setProperty("--swipe-amount-x","0px"),null==(r=tc.current)||r.style.setProperty("--swipe-amount-y","0px"),to(!1),$(!1),X(null)},onPointerMove:e=>{var a,o,r,n;if(!tk.current||!tm||(null==(a=window.getSelection())?void 0:a.toString().length)>0)return;let s=e.clientY-tk.current.y,i=e.clientX-tk.current.x,l=null!=(n=t.swipeDirections)?n:function(t){let[e,a]=t.split("-"),o=[];return e&&o.push(e),a&&o.push(a),o}(O);!U&&(Math.abs(i)>1||Math.abs(s)>1)&&X(Math.abs(i)>Math.abs(s)?"x":"y");let d={x:0,y:0},c=t=>1/(1.5+Math.abs(t)/20);if("y"===U){if(l.includes("top")||l.includes("bottom"))if(l.includes("top")&&s<0||l.includes("bottom")&&s>0)d.y=s;else{let t=s*c(s);d.y=Math.abs(t)0)d.x=i;else{let t=i*c(i);d.x=Math.abs(t)0||Math.abs(d.y)>0)&&to(!0),null==(o=tc.current)||o.style.setProperty("--swipe-amount-x","".concat(d.x,"px")),null==(r=tc.current)||r.style.setProperty("--swipe-amount-y","".concat(d.y,"px"))}},tb&&!b.jsx&&"loading"!==tp?o.createElement("button",{"aria-label":V,"data-disabled":tM,"data-close-button":!0,onClick:tM||!tm?()=>{}:()=>{tT(),null==b.onDismiss||b.onDismiss.call(b,b)},className:w(null==_?void 0:_.closeButton,null==b||null==(r=b.classNames)?void 0:r.closeButton)},null!=(h=null==H?void 0:H.close)?h:f):null,(tp||b.icon||b.promise)&&null!==b.icon&&((null==H?void 0:H[tp])!==null||b.icon)?o.createElement("div",{"data-icon":"",className:w(null==_?void 0:_.icon,null==b||null==(s=b.classNames)?void 0:s.icon)},b.promise||"loading"===b.type&&!b.icon?b.icon||function(){var t,e;return(null==H?void 0:H.loading)?o.createElement("div",{className:w(null==_?void 0:_.loader,null==b||null==(e=b.classNames)?void 0:e.loader,"sonner-loader"),"data-visible":"loading"===tp},H.loading):o.createElement(i,{className:w(null==_?void 0:_.loader,null==b||null==(t=b.classNames)?void 0:t.loader),visible:"loading"===tp})}():null,"loading"!==b.type?tS:null):null,o.createElement("div",{"data-content":"",className:w(null==_?void 0:_.content,null==b||null==(l=b.classNames)?void 0:l.content)},o.createElement("div",{"data-title":"",className:w(null==_?void 0:_.title,null==b||null==(d=b.classNames)?void 0:d.title)},b.jsx?b.jsx:"function"==typeof b.title?b.title():b.title),b.description?o.createElement("div",{"data-description":"",className:w(P,th,null==_?void 0:_.description,null==b||null==(c=b.classNames)?void 0:c.description)},"function"==typeof b.description?b.description():b.description):null),o.isValidElement(b.cancel)?b.cancel:b.cancel&&y(b.cancel)?o.createElement("button",{"data-button":!0,"data-cancel":!0,style:b.cancelButtonStyle||I,onClick:t=>{y(b.cancel)&&tm&&(null==b.cancel.onClick||b.cancel.onClick.call(b.cancel,t),tT())},className:w(null==_?void 0:_.cancelButton,null==b||null==(u=b.classNames)?void 0:u.cancelButton)},b.cancel.label):null,o.isValidElement(b.action)?b.action:b.action&&y(b.action)?o.createElement("button",{"data-button":!0,"data-action":!0,style:b.actionButtonStyle||z,onClick:t=>{y(b.action)&&(null==b.action.onClick||b.action.onClick.call(b.action,t),t.defaultPrevented||tT())},className:w(null==_?void 0:_.actionButton,null==b||null==(m=b.classNames)?void 0:m.actionButton)},b.action.label):null)};function E(){if("undefined"==typeof window||"undefined"==typeof document)return"ltr";let t=document.documentElement.getAttribute("dir");return"auto"!==t&&t?t:window.getComputedStyle(document.documentElement).direction}let k=o.forwardRef(function(t,e){let{invert:a,position:n="bottom-right",hotkey:s=["altKey","KeyT"],expand:i,closeButton:l,className:d,offset:c,mobileOffset:u,theme:f="light",richColors:p,duration:m,style:g,visibleToasts:v=3,toastOptions:b,dir:y=E(),gap:w=14,icons:k,containerAriaLabel:N="Notifications"}=t,[C,j]=o.useState([]),D=o.useMemo(()=>Array.from(new Set([n].concat(C.filter(t=>t.position).map(t=>t.position)))),[C,n]),[R,M]=o.useState([]),[T,S]=o.useState(!1),[B,I]=o.useState(!1),[z,A]=o.useState("system"!==f?f:"undefined"!=typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),P=o.useRef(null),Y=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),O=o.useRef(null),L=o.useRef(!1),F=o.useCallback(t=>{j(e=>{var a;return(null==(a=e.find(e=>e.id===t.id))?void 0:a.delete)||h.dismiss(t.id),e.filter(e=>{let{id:a}=e;return a!==t.id})})},[]);return o.useEffect(()=>h.subscribe(t=>{if(t.dismiss)return void requestAnimationFrame(()=>{j(e=>e.map(e=>e.id===t.id?{...e,delete:!0}:e))});setTimeout(()=>{r.flushSync(()=>{j(e=>{let a=e.findIndex(e=>e.id===t.id);return -1!==a?[...e.slice(0,a),{...e[a],...t},...e.slice(a+1)]:[t,...e]})})})}),[C]),o.useEffect(()=>{if("system"!==f)return void A(f);if("system"===f&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?A("dark"):A("light")),"undefined"==typeof window)return;let t=window.matchMedia("(prefers-color-scheme: dark)");try{t.addEventListener("change",t=>{let{matches:e}=t;e?A("dark"):A("light")})}catch(e){t.addListener(t=>{let{matches:e}=t;try{e?A("dark"):A("light")}catch(t){console.error(t)}})}},[f]),o.useEffect(()=>{C.length<=1&&S(!1)},[C]),o.useEffect(()=>{let t=t=>{var e,a;s.every(e=>t[e]||t.code===e)&&(S(!0),null==(a=P.current)||a.focus()),"Escape"===t.code&&(document.activeElement===P.current||(null==(e=P.current)?void 0:e.contains(document.activeElement)))&&S(!1)};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[s]),o.useEffect(()=>{if(P.current)return()=>{O.current&&(O.current.focus({preventScroll:!0}),O.current=null,L.current=!1)}},[P.current]),o.createElement("section",{ref:e,"aria-label":"".concat(N," ").concat(Y),tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},D.map((e,r)=>{var n;let[s,f]=e.split("-");return C.length?o.createElement("ol",{key:e,dir:"auto"===y?E():y,tabIndex:-1,ref:P,className:d,"data-sonner-toaster":!0,"data-sonner-theme":z,"data-y-position":s,"data-x-position":f,style:{"--front-toast-height":"".concat((null==(n=R[0])?void 0:n.height)||0,"px"),"--width":"".concat(356,"px"),"--gap":"".concat(w,"px"),...g,...function(t,e){let a={};return[t,e].forEach((t,e)=>{let o=1===e,r=o?"--mobile-offset":"--offset",n=o?"16px":"24px";function s(t){["top","right","bottom","left"].forEach(e=>{a["".concat(r,"-").concat(e)]="number"==typeof t?"".concat(t,"px"):t})}"number"==typeof t||"string"==typeof t?s(t):"object"==typeof t?["top","right","bottom","left"].forEach(e=>{void 0===t[e]?a["".concat(r,"-").concat(e)]=n:a["".concat(r,"-").concat(e)]="number"==typeof t[e]?"".concat(t[e],"px"):t[e]}):s(n)}),a}(c,u)},onBlur:t=>{L.current&&!t.currentTarget.contains(t.relatedTarget)&&(L.current=!1,O.current&&(O.current.focus({preventScroll:!0}),O.current=null))},onFocus:t=>{!(t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible)&&(L.current||(L.current=!0,O.current=t.relatedTarget))},onMouseEnter:()=>S(!0),onMouseMove:()=>S(!0),onMouseLeave:()=>{B||S(!1)},onDragEnd:()=>S(!1),onPointerDown:t=>{t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible||I(!0)},onPointerUp:()=>I(!1)},C.filter(t=>!t.position&&0===r||t.position===e).map((r,n)=>{var s,d;return o.createElement(x,{key:r.id,icons:k,index:n,toast:r,defaultRichColors:p,duration:null!=(s=null==b?void 0:b.duration)?s:m,className:null==b?void 0:b.className,descriptionClassName:null==b?void 0:b.descriptionClassName,invert:a,visibleToasts:v,closeButton:null!=(d=null==b?void 0:b.closeButton)?d:l,interacting:B,position:e,style:null==b?void 0:b.style,unstyled:null==b?void 0:b.unstyled,classNames:null==b?void 0:b.classNames,cancelButtonStyle:null==b?void 0:b.cancelButtonStyle,actionButtonStyle:null==b?void 0:b.actionButtonStyle,closeButtonAriaLabel:null==b?void 0:b.closeButtonAriaLabel,removeToast:F,toasts:C.filter(t=>t.position==r.position),heights:R.filter(t=>t.position==r.position),setHeights:M,expandByDefault:i,gap:w,expanded:T,swipeDirections:t.swipeDirections})})):null}))})}}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/825-aee0522b5fc044c3.js b/transports/bifrost-http/ui/_next/static/chunks/825-aee0522b5fc044c3.js new file mode 100644 index 0000000000..676f1e0564 --- /dev/null +++ b/transports/bifrost-http/ui/_next/static/chunks/825-aee0522b5fc044c3.js @@ -0,0 +1,124 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[825],{901:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return i}});let i=r(8229)._(r(2115)).default.createContext(null)},1193:(e,t)=>{"use strict";function r(e){var t;let{config:r,src:i,width:n,quality:s}=e,o=s||(null==(t=r.qualities)?void 0:t.reduce((e,t)=>Math.abs(t-75){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return l},getImageProps:function(){return a}});let i=r(8229),n=r(8883),s=r(3063),o=i._(r(1193));function a(e){let{props:t}=(0,n.getImgProps)(e,{defaultLoader:o.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let l=s.Image},2464:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return i}});let i=r(8229)._(r(2115)).default.createContext({})},3052:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});let i=(0,r(9946).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},3063:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return S}});let i=r(8229),n=r(6966),s=r(5155),o=n._(r(2115)),a=i._(r(7650)),l=i._(r(5564)),u=r(8883),c=r(5840),d=r(6752);r(3230);let p=r(901),f=i._(r(1193)),h=r(6654),g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function m(e,t,r,i,n,s,o){let a=null==e?void 0:e.src;e&&e["data-loaded-src"]!==a&&(e["data-loaded-src"]=a,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&n(!0),null==r?void 0:r.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let i=!1,n=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>i,isPropagationStopped:()=>n,persist:()=>{},preventDefault:()=>{i=!0,t.preventDefault()},stopPropagation:()=>{n=!0,t.stopPropagation()}})}(null==i?void 0:i.current)&&i.current(e)}}))}function b(e){return o.use?{fetchPriority:e}:{fetchpriority:e}}let v=(0,o.forwardRef)((e,t)=>{let{src:r,srcSet:i,sizes:n,height:a,width:l,decoding:u,className:c,style:d,fetchPriority:p,placeholder:f,loading:g,unoptimized:v,fill:y,onLoadRef:S,onLoadingCompleteRef:w,setBlurComplete:P,setShowAltText:O,sizesInput:x,onLoad:_,onError:E,...j}=e,k=(0,o.useCallback)(e=>{e&&(E&&(e.src=e.src),e.complete&&m(e,f,S,w,P,v,x))},[r,f,S,w,P,E,v,x]),C=(0,h.useMergedRef)(t,k);return(0,s.jsx)("img",{...j,...b(p),loading:g,width:l,height:a,decoding:u,"data-nimg":y?"fill":"1",className:c,style:d,sizes:n,srcSet:i,src:r,ref:C,onLoad:e=>{m(e.currentTarget,f,S,w,P,v,x)},onError:e=>{O(!0),"empty"!==f&&P(!0),E&&E(e)}})});function y(e){let{isAppRouter:t,imgAttributes:r}=e,i={as:"image",imageSrcSet:r.srcSet,imageSizes:r.sizes,crossOrigin:r.crossOrigin,referrerPolicy:r.referrerPolicy,...b(r.fetchPriority)};return t&&a.default.preload?(a.default.preload(r.src,i),null):(0,s.jsx)(l.default,{children:(0,s.jsx)("link",{rel:"preload",href:r.srcSet?void 0:r.src,...i},"__nimg-"+r.src+r.srcSet+r.sizes)})}let S=(0,o.forwardRef)((e,t)=>{let r=(0,o.useContext)(p.RouterContext),i=(0,o.useContext)(d.ImageConfigContext),n=(0,o.useMemo)(()=>{var e;let t=g||i||c.imageConfigDefault,r=[...t.deviceSizes,...t.imageSizes].sort((e,t)=>e-t),n=t.deviceSizes.sort((e,t)=>e-t),s=null==(e=t.qualities)?void 0:e.sort((e,t)=>e-t);return{...t,allSizes:r,deviceSizes:n,qualities:s}},[i]),{onLoad:a,onLoadingComplete:l}=e,h=(0,o.useRef)(a);(0,o.useEffect)(()=>{h.current=a},[a]);let m=(0,o.useRef)(l);(0,o.useEffect)(()=>{m.current=l},[l]);let[b,S]=(0,o.useState)(!1),[w,P]=(0,o.useState)(!1),{props:O,meta:x}=(0,u.getImgProps)(e,{defaultLoader:f.default,imgConf:n,blurComplete:b,showAltText:w});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(v,{...O,unoptimized:x.unoptimized,placeholder:x.placeholder,fill:x.fill,onLoadRef:h,onLoadingCompleteRef:m,setBlurComplete:S,setShowAltText:P,sizesInput:e.sizes,ref:t}),x.priority?(0,s.jsx)(y,{isAppRouter:!r,imgAttributes:O}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3786:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});let i=(0,r(9946).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},5029:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let i=r(2115),n=i.useLayoutEffect,s=i.useEffect;function o(e){let{headManager:t,reduceComponentsToState:r}=e;function o(){if(t&&t.mountedInstances){let n=i.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(n,e))}}return n(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),n(()=>(t&&(t._pendingUpdate=o),()=>{t&&(t._pendingUpdate=o)})),s(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},5040:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});let i=(0,r(9946).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},5100:(e,t)=>{"use strict";function r(e){let{widthInt:t,heightInt:r,blurWidth:i,blurHeight:n,blurDataURL:s,objectFit:o}=e,a=i?40*i:t,l=n?40*n:r,u=a&&l?"viewBox='0 0 "+a+" "+l+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+u+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(u?"none":"contain"===o?"xMidYMid":"cover"===o?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+s+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return r}})},5564:(e,t,r)=>{"use strict";var i=r(9509);Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return m},defaultHead:function(){return p}});let n=r(8229),s=r(6966),o=r(5155),a=s._(r(2115)),l=n._(r(5029)),u=r(2464),c=r(2830),d=r(7544);function p(e){void 0===e&&(e=!1);let t=[(0,o.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,o.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===a.default.Fragment?e.concat(a.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(3230);let h=["name","httpEquiv","charSet","itemProp"];function g(e,t){let{inAmpMode:r}=t;return e.reduce(f,[]).reverse().concat(p(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,i={};return n=>{let s=!0,o=!1;if(n.key&&"number"!=typeof n.key&&n.key.indexOf("$")>0){o=!0;let t=n.key.slice(n.key.indexOf("$")+1);e.has(t)?s=!1:e.add(t)}switch(n.type){case"title":case"base":t.has(n.type)?s=!1:t.add(n.type);break;case"meta":for(let e=0,t=h.length;e{let n=e.key||t;if(i.env.__NEXT_OPTIMIZE_FONTS&&!r&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,a.default.cloneElement(e,t)}return a.default.cloneElement(e,{key:n})})}let m=function(e){let{children:t}=e,r=(0,a.useContext)(u.AmpStateContext),i=(0,a.useContext)(c.HeadManagerContext);return(0,o.jsx)(l.default,{reduceComponentsToState:g,headManager:i,inAmpMode:(0,d.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5688:e=>{e.exports={style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"},className:"__className_5cfdac",variable:"__variable_5cfdac"}},5695:(e,t,r)=>{"use strict";var i=r(8999);r.o(i,"usePathname")&&r.d(t,{usePathname:function(){return i.usePathname}}),r.o(i,"useSearchParams")&&r.d(t,{useSearchParams:function(){return i.useSearchParams}})},5840:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return i}});let r=["default","imgix","cloudinary","akamai","custom"],i={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},6752:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return s}});let i=r(8229)._(r(2115)),n=r(5840),s=i.default.createContext(n.imageConfigDefault)},6766:(e,t,r)=>{"use strict";r.d(t,{default:()=>n.a});var i=r(1469),n=r.n(i)},7109:(e,t,r)=>{"use strict";r.d(t,{V:()=>R});var i=r(5695),n=r(2115);function s(e,t,r){return Math.max(t,Math.min(e,r))}function o(e,t){return"rtl"===t?(1-e)*100:(-1+e)*100}function a(e,t,r){if("string"==typeof t)void 0!==r&&(e.style[t]=r);else for(let r in t)if(t.hasOwnProperty(r)){let i=t[r];void 0!==i&&(e.style[r]=i)}}function l(e,t){e.classList.add(t)}function u(e,t){e.classList.remove(t)}function c(e){e&&e.parentNode&&e.parentNode.removeChild(e)}var d={minimum:.08,maximum:1,template:`
+
+
`,easing:"linear",positionUsing:"",speed:200,trickle:!0,trickleSpeed:200,showSpinner:!0,indeterminate:!1,indeterminateSelector:".indeterminate",barSelector:".bar",spinnerSelector:".spinner",parent:"body",direction:"ltr"},p=class{static settings=d;static status=null;static pending=[];static isPaused=!1;static reset(){return this.status=null,this.isPaused=!1,this.pending=[],this.settings=d,this}static configure(e){return Object.assign(this.settings,e),this}static isStarted(){return"number"==typeof this.status}static set(e){if(this.isPaused)return this;let t=this.isStarted();e=s(e,this.settings.minimum,this.settings.maximum),this.status=e===this.settings.maximum?null:e;let r=this.render(!t),i=this.settings.speed,n=this.settings.easing;return r.forEach(e=>e.offsetWidth),this.queue(t=>{r.forEach(t=>{this.settings.indeterminate||a(t.querySelector(this.settings.barSelector),this.barPositionCSS({n:e,speed:i,ease:n}))}),e===this.settings.maximum?(r.forEach(e=>{a(e,{transition:"none",opacity:"1"}),e.offsetWidth}),setTimeout(()=>{r.forEach(e=>{a(e,{transition:`all ${i}ms ${n}`,opacity:"0"})}),setTimeout(()=>{r.forEach(e=>{this.remove(e),null===this.settings.template&&a(e,{transition:"none",opacity:"1"})}),t()},i)},i)):setTimeout(t,i)}),this}static start(){this.status||this.set(0);let e=()=>{this.isPaused||setTimeout(()=>{this.status&&(this.trickle(),e())},this.settings.trickleSpeed)};return this.settings.trickle&&e(),this}static done(e){return e||this.status?this.inc(.3+.5*Math.random()).set(1):this}static inc(e){if(this.isPaused||this.settings.indeterminate)return this;let t=this.status;return t?t>1?this:("number"!=typeof e&&(e=t>=0&&t<.2?.1:t>=.2&&t<.5?.04:t>=.5&&t<.8?.02:.005*(t>=.8&&t<.99)),t=s(t+e,0,.994),this.set(t)):this.start()}static dec(e){if(this.isPaused||this.settings.indeterminate)return this;let t=this.status;return"number"!=typeof t?this:("number"!=typeof e&&(e=t>.8?.1:t>.5?.05:t>.2?.02:.01),t=s(t-e,0,.994),this.set(t))}static trickle(){return this.isPaused||this.settings.indeterminate?this:this.inc()}static promise(e){if(!e||"resolved"===e.state())return this;let t=0,r=0;return this.start(),t++,r++,e.always(()=>{0==--r?(t=0,this.done()):this.set((t-r)/t)}),this}static render(e=!1){let t="string"==typeof this.settings.parent?document.querySelector(this.settings.parent):this.settings.parent,r=t?Array.from(t.querySelectorAll(".bprogress")):[];if(null!==this.settings.template&&0===r.length){l(document.documentElement,"bprogress-busy");let e=document.createElement("div");l(e,"bprogress"),e.innerHTML=this.settings.template,t!==document.body&&l(t,"bprogress-custom-parent"),t.appendChild(e),r.push(e)}return r.forEach(r=>{if(null===this.settings.template&&(r.style.display=""),l(document.documentElement,"bprogress-busy"),t!==document.body&&l(t,"bprogress-custom-parent"),this.settings.indeterminate){let e=r.querySelector(this.settings.barSelector);e&&(e.style.display="none");let t=r.querySelector(this.settings.indeterminateSelector);t&&(t.style.display="")}else{let t=r.querySelector(this.settings.barSelector),i=e?o(0,this.settings.direction):o(this.status||0,this.settings.direction);a(t,this.barPositionCSS({n:this.status||0,speed:this.settings.speed,ease:this.settings.easing,perc:i}));let n=r.querySelector(this.settings.indeterminateSelector);n&&(n.style.display="none")}if(null===this.settings.template){let e=r.querySelector(this.settings.spinnerSelector);e&&(e.style.display=this.settings.showSpinner?"block":"none")}else if(!this.settings.showSpinner){let e=r.querySelector(this.settings.spinnerSelector);e&&c(e)}}),r}static remove(e){e?null===this.settings.template?e.style.display="none":c(e):(u(document.documentElement,"bprogress-busy"),("string"==typeof this.settings.parent?document.querySelectorAll(this.settings.parent):[this.settings.parent]).forEach(e=>{u(e,"bprogress-custom-parent")}),document.querySelectorAll(".bprogress").forEach(e=>{null===this.settings.template?e.style.display="none":c(e)}))}static pause(){return!this.isStarted()||this.settings.indeterminate||(this.isPaused=!0),this}static resume(){if(!this.isStarted()||this.settings.indeterminate)return this;if(this.isPaused=!1,this.settings.trickle){let e=()=>{this.isPaused||setTimeout(()=>{this.status&&(this.trickle(),e())},this.settings.trickleSpeed)};e()}return this}static isRendered(){return document.querySelectorAll(".bprogress").length>0}static getPositioningCSS(){let e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return`${t}Perspective`in e?"translate3d":`${t}Transform`in e?"translate":"margin"}static queue(e){this.pending.push(e),1===this.pending.length&&this.next()}static next(){let e=this.pending.shift();e&&e(this.next.bind(this))}static initPositionUsing(){""===this.settings.positionUsing&&(this.settings.positionUsing=this.getPositioningCSS())}static barPositionCSS({n:e,speed:t,ease:r,perc:i}){this.initPositionUsing();let n={},s=i??o(e,this.settings.direction);return"translate3d"===this.settings.positionUsing?n={transform:`translate3d(${s}%,0,0)`}:"translate"===this.settings.positionUsing?n={transform:`translate(${s}%,0)`}:"width"===this.settings.positionUsing?n={width:`${"rtl"===this.settings.direction?100-s:s+100}%`,..."rtl"===this.settings.direction?{right:"0",left:"auto"}:{}}:"margin"===this.settings.positionUsing&&(n="rtl"===this.settings.direction?{"margin-left":`${-s}%`}:{"margin-right":`${-s}%`}),n.transition=`all ${t}ms ${r}`,n}},f=({color:e="#29d",height:t="2px",spinnerPosition:r="top-right"})=>` +:root { + --bprogress-color: ${e}; + --bprogress-height: ${t}; + --bprogress-spinner-size: 18px; + --bprogress-spinner-animation-duration: 400ms; + --bprogress-spinner-border-size: 2px; + --bprogress-box-shadow: 0 0 10px ${e}, 0 0 5px ${e}; + --bprogress-z-index: 99999; + --bprogress-spinner-top: ${"top-right"===r||"top-left"===r?"15px":"auto"}; + --bprogress-spinner-bottom: ${"bottom-right"===r||"bottom-left"===r?"15px":"auto"}; + --bprogress-spinner-right: ${"top-right"===r||"bottom-right"===r?"15px":"auto"}; + --bprogress-spinner-left: ${"top-left"===r||"bottom-left"===r?"15px":"auto"}; +} + +.bprogress { + width: 0; + height: 0; + pointer-events: none; + z-index: var(--bprogress-z-index); +} + +.bprogress .bar { + background: var(--bprogress-color); + position: fixed; + z-index: var(--bprogress-z-index); + top: 0; + left: 0; + width: 100%; + height: var(--bprogress-height); +} + +/* Fancy blur effect */ +.bprogress .peg { + display: block; + position: absolute; + right: 0; + width: 100px; + height: 100%; + box-shadow: var(--bprogress-box-shadow); + opacity: 1.0; + transform: rotate(3deg) translate(0px, -4px); +} + +/* Remove these to get rid of the spinner */ +.bprogress .spinner { + display: block; + position: fixed; + z-index: var(--bprogress-z-index); + top: var(--bprogress-spinner-top); + bottom: var(--bprogress-spinner-bottom); + right: var(--bprogress-spinner-right); + left: var(--bprogress-spinner-left); +} + +.bprogress .spinner-icon { + width: var(--bprogress-spinner-size); + height: var(--bprogress-spinner-size); + box-sizing: border-box; + border: solid var(--bprogress-spinner-border-size) transparent; + border-top-color: var(--bprogress-color); + border-left-color: var(--bprogress-color); + border-radius: 50%; + -webkit-animation: bprogress-spinner var(--bprogress-spinner-animation-duration) linear infinite; + animation: bprogress-spinner var(--bprogress-spinner-animation-duration) linear infinite; +} + +.bprogress-custom-parent { + overflow: hidden; + position: relative; +} + +.bprogress-custom-parent .bprogress .spinner, +.bprogress-custom-parent .bprogress .bar { + position: absolute; +} + +.bprogress .indeterminate { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: var(--bprogress-height); + overflow: hidden; +} + +.bprogress .indeterminate .inc, +.bprogress .indeterminate .dec { + position: absolute; + top: 0; + height: 100%; + background-color: var(--bprogress-color); +} + +.bprogress .indeterminate .inc { + animation: bprogress-indeterminate-increase 2s infinite; +} + +.bprogress .indeterminate .dec { + animation: bprogress-indeterminate-decrease 2s 0.5s infinite; +} + +@-webkit-keyframes bprogress-spinner { + 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } + 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } +} + +@keyframes bprogress-spinner { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + +@keyframes bprogress-indeterminate-increase { + from { left: -5%; width: 5%; } + to { left: 130%; width: 100%; } +} + +@keyframes bprogress-indeterminate-decrease { + from { left: -80%; width: 80%; } + to { left: 110%; width: 10%; } +} +`;function h(e,t){if("string"==typeof t&&"data-disable-progress"===t){let r=t.substring(5).replace(/-([a-z])/g,(e,t)=>t.toUpperCase());return e.dataset[r]}let r=e[t];if(r instanceof SVGAnimatedString){let e=r.baseVal;if("href"===t){var i=location.origin;if(!e.startsWith("/")||!i)return e;let{pathname:t,query:r,hash:n}=function(e){let t=e.indexOf("#"),r=e.indexOf("?"),i=r>-1&&(t<0||r-1?{pathname:e.substring(0,i?r:t),query:i?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}(e);return`${i}${t}${r}${n}`}return e}return r}function g(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var b=(0,n.createContext)(void 0),v=function(){var e=(0,n.useContext)(b);if(!e)throw Error("useProgress must be used within a ProgressProvider");return e},y=function(e){var t=e.children,r=e.color,i=void 0===r?"#0A2FFF":r,s=e.height,o=void 0===s?"2px":s,a=e.options,l=e.spinnerPosition,u=void 0===l?"top-right":l,c=e.style,d=e.disableStyle,h=e.nonce,m=e.shallowRouting,v=e.disableSameURL,y=e.startPosition,S=e.delay,w=e.stopDelay,P=(0,n.useRef)(null),O=(0,n.useRef)(!1),x=(0,n.useCallback)(function(){return O.current=!0},[]),_=(0,n.useCallback)(function(){return O.current=!1},[]),E=(0,n.useCallback)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];r&&x(),P.current=setTimeout(function(){e>0&&p.set(e),p.start()},t)},[x]),j=(0,n.useCallback)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;setTimeout(function(){P.current&&clearTimeout(P.current),P.current=setTimeout(function(){p.isStarted()&&(p.done(),O.current&&_())},e)},t)},[_]),k=(0,n.useCallback)(function(e){return p.inc(e)},[]),C=(0,n.useCallback)(function(e){return p.dec(e)},[]),R=(0,n.useCallback)(function(e){return p.set(e)},[]),z=(0,n.useCallback)(function(){return p.pause()},[]),A=(0,n.useCallback)(function(){return p.resume()},[]),M=(0,n.useCallback)(function(){return p.settings},[]),N=(0,n.useCallback)(function(e){var t=M(),r="function"==typeof e?e(t):e,i=g({},t,r);p.configure(i)},[M]),D=(0,n.useMemo)(function(){return n.createElement("style",{nonce:h},c||f({color:i,height:o,spinnerPosition:u}))},[i,o,h,u,c]);return p.configure(a||{}),n.createElement(b.Provider,{value:{start:E,stop:j,inc:k,dec:C,set:R,pause:z,resume:A,setOptions:N,getOptions:M,isAutoStopDisabled:O,disableAutoStop:x,enableAutoStop:_,shallowRouting:void 0!==m&&m,disableSameURL:void 0===v||v,startPosition:void 0===y?0:y,delay:void 0===S?0:S,stopDelay:void 0===w?0:w}},void 0!==d&&d?null:D,t)};function S(){for(var e=arguments.length,t=Array(e),r=0;r=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var j=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["memo","shouldCompareComplexProps"];return(0,n.memo)(e,function(e,r){return!1!==r.memo&&(!r.shouldCompareComplexProps||function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=Object.keys(e).filter(function(e){return!r.includes(e)}),n=Object.keys(t).filter(function(e){return!r.includes(e)});if(i.length!==n.length)return!1;var s=!0,o=!1,a=void 0;try{for(var l,u=i[Symbol.iterator]();!(s=(l=u.next()).done);s=!0){var c=l.value;if(e[c]!==t[c])return!1}}catch(e){o=!0,a=e}finally{try{s||null==u.return||u.return()}finally{if(o)throw a}}return!0}(e,r,t))})}(function(e){return!function(e){var t=e.shallowRouting,r=void 0!==t&&t,i=e.disableSameURL,s=void 0===i||i,o=e.startPosition,a=void 0===o?0:o,l=e.delay,u=void 0===l?0:l,c=e.stopDelay,d=void 0===c?0:c,p=e.targetPreprocessor,f=e.disableAnchorClick,g=void 0!==f&&f,m=e.startOnLoad,b=void 0!==m&&m,y=e.forcedStopDelay,S=void 0===y?0:y,w=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],P=(0,n.useRef)([]),O=(0,n.useRef)(null),x=v(),_=x.start,E=x.stop,j=x.isAutoStopDisabled;(0,n.useEffect)(function(){b&&_(a,u)},[]),(0,n.useEffect)(function(){return O.current&&clearTimeout(O.current),O.current=setTimeout(function(){j.current||E()},d),function(){O.current&&clearTimeout(O.current)}},w),(0,n.useEffect)(function(){if(!g){var e=function(e){if(e.defaultPrevented)return;var t,i,n,o,l=e.currentTarget;if(l.hasAttribute("download"))return;var c=e.target,d=(null==c?void 0:c.getAttribute("data-prevent-progress"))==="true"||(null==l?void 0:l.getAttribute("data-prevent-progress"))==="true";if(!d)for(var f,g=c;g&&"a"!==g.tagName.toLowerCase();){if((null==(f=g.parentElement)?void 0:f.getAttribute("data-prevent-progress"))==="true"){d=!0;break}g=g.parentElement}if(!d&&"_blank"!==h(l,"target")&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey){var m=h(l,"href"),b=p?p(new URL(m)):new URL(m),v=new URL(location.href);if(!(r&&(t=b,i=v,t.protocol+"//"+t.host+t.pathname==i.protocol+"//"+i.host+i.pathname))||!s){n=b,o=v,n.protocol+"//"+n.host+n.pathname+n.search==o.protocol+"//"+o.host+o.pathname+o.search&&s||_(a,u)}}},t=new MutationObserver(function(){var t=Array.from(document.querySelectorAll("a")).filter(function(e){var t=h(e,"href"),r="true"===e.getAttribute("data-disable-progress"),i=t&&!t.startsWith("tel:")&&!t.startsWith("mailto:")&&!t.startsWith("blob:")&&!t.startsWith("javascript:");return!r&&i&&"_blank"!==h(e,"target")});t.forEach(function(t){t.addEventListener("click",e,!0)}),P.current=t});t.observe(document,{childList:!0,subtree:!0});var i=window.history.pushState;return window.history.pushState=new Proxy(window.history.pushState,{apply:function(e,t,r){return j.current||E(d,S),e.apply(t,r)}}),function(){t.disconnect(),P.current.forEach(function(t){t.removeEventListener("click",e,!0)}),P.current=[],window.history.pushState=i}}},[g,p,r,s,u,d,a,_,E,S,j])}(e,[(0,i.usePathname)(),(0,i.useSearchParams)()]),null});j.displayName="AppProgress";var k=function(e){var t=e.children,r=e.ProgressComponent,i=e.color,s=e.height,o=e.options,a=e.spinnerPosition,l=e.style,u=e.disableStyle,c=e.nonce,d=e.stopDelay,p=e.delay,f=e.startPosition,h=e.disableSameURL,g=e.shallowRouting,m=E(e,["children","ProgressComponent","color","height","options","spinnerPosition","style","disableStyle","nonce","stopDelay","delay","startPosition","disableSameURL","shallowRouting"]);return n.createElement(y,{color:i,height:s,options:o,spinnerPosition:a,style:l,disableStyle:u,nonce:c,stopDelay:d,delay:p,startPosition:f,disableSameURL:h,shallowRouting:g},n.createElement(r,_({stopDelay:d,delay:p,startPosition:f,disableSameURL:h,shallowRouting:g},m)),t)},C=function(e){return n.createElement(n.Suspense,null,n.createElement(j,g({},e)))},R=function(e){var t=e.children,r=E(e,["children"]);return n.createElement(k,_({ProgressComponent:C},r),t)}},7340:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});let i=(0,r(9946).A)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]])},7520:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});let i=(0,r(9946).A)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]])},7544:(e,t)=>{"use strict";function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:i=!1}=void 0===e?{}:e;return t||r&&i}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},8883:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return l}}),r(3230);let i=r(5100),n=r(5840),s=["-moz-initial","fill","none","scale-down",void 0];function o(e){return void 0!==e.default}function a(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function l(e,t){var r,l;let u,c,d,{src:p,sizes:f,unoptimized:h=!1,priority:g=!1,loading:m,className:b,quality:v,width:y,height:S,fill:w=!1,style:P,overrideSrc:O,onLoad:x,onLoadingComplete:_,placeholder:E="empty",blurDataURL:j,fetchPriority:k,decoding:C="async",layout:R,objectFit:z,objectPosition:A,lazyBoundary:M,lazyRoot:N,...D}=e,{imgConf:T,showAltText:L,blurComplete:U,defaultLoader:I}=t,q=T||n.imageConfigDefault;if("allSizes"in q)u=q;else{let e=[...q.deviceSizes,...q.imageSizes].sort((e,t)=>e-t),t=q.deviceSizes.sort((e,t)=>e-t),i=null==(r=q.qualities)?void 0:r.sort((e,t)=>e-t);u={...q,allSizes:e,deviceSizes:t,qualities:i}}if(void 0===I)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let $=D.loader||I;delete D.loader,delete D.srcSet;let F="__next_img_default"in $;if(F){if("custom"===u.loader)throw Object.defineProperty(Error('Image with src "'+p+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=$;$=t=>{let{config:r,...i}=t;return e(i)}}if(R){"fill"===R&&(w=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[R];e&&(P={...P,...e});let t={responsive:"100vw",fill:"100vw"}[R];t&&!f&&(f=t)}let W="",G=a(y),V=a(S);if((l=p)&&"object"==typeof l&&(o(l)||void 0!==l.src)){let e=o(p)?p.default:p;if(!e.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!e.height||!e.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(c=e.blurWidth,d=e.blurHeight,j=j||e.blurDataURL,W=e.src,!w)if(G||V){if(G&&!V){let t=G/e.width;V=Math.round(e.height*t)}else if(!G&&V){let t=V/e.height;G=Math.round(e.width*t)}}else G=e.width,V=e.height}let B=!g&&("lazy"===m||void 0===m);(!(p="string"==typeof p?p:W)||p.startsWith("data:")||p.startsWith("blob:"))&&(h=!0,B=!1),u.unoptimized&&(h=!0),F&&!u.dangerouslyAllowSVG&&p.split("?",1)[0].endsWith(".svg")&&(h=!0);let H=a(v),X=Object.assign(w?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:z,objectPosition:A}:{},L?{}:{color:"transparent"},P),K=U||"empty"===E?null:"blur"===E?'url("data:image/svg+xml;charset=utf-8,'+(0,i.getImageBlurSvg)({widthInt:G,heightInt:V,blurWidth:c,blurHeight:d,blurDataURL:j||"",objectFit:X.objectFit})+'")':'url("'+E+'")',J=s.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,Y=K?{backgroundSize:J,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:K}:{},Z=function(e){let{config:t,src:r,unoptimized:i,width:n,quality:s,sizes:o,loader:a}=e;if(i)return{src:r,srcSet:void 0,sizes:void 0};let{widths:l,kind:u}=function(e,t,r){let{deviceSizes:i,allSizes:n}=e;if(r){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let i;i=e.exec(r);)t.push(parseInt(i[2]));if(t.length){let e=.01*Math.min(...t);return{widths:n.filter(t=>t>=i[0]*e),kind:"w"}}return{widths:n,kind:"w"}}return"number"!=typeof t?{widths:i,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>n.find(t=>t>=e)||n[n.length-1]))],kind:"x"}}(t,n,o),c=l.length-1;return{sizes:o||"w"!==u?o:"100vw",srcSet:l.map((e,i)=>a({config:t,src:r,quality:s,width:e})+" "+("w"===u?e:i+1)+u).join(", "),src:a({config:t,src:r,quality:s,width:l[c]})}}({config:u,src:p,unoptimized:h,width:G,quality:H,sizes:f,loader:$});return{props:{...D,loading:B?"lazy":m,fetchPriority:k,width:G,height:V,decoding:C,className:b,style:{...X,...Y},sizes:Z.sizes,srcSet:Z.srcSet,src:O||Z.src},meta:{unoptimized:h,priority:g,placeholder:E,fill:w}}}},9432:e=>{e.exports={style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"},className:"__className_9a8899",variable:"__variable_9a8899"}}}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/app/config/page-6aaabc7109379e54.js b/transports/bifrost-http/ui/_next/static/chunks/app/config/page-6aaabc7109379e54.js new file mode 100644 index 0000000000..88d6510c65 --- /dev/null +++ b/transports/bifrost-http/ui/_next/static/chunks/app/config/page-6aaabc7109379e54.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[653],{6137:(e,s,i)=>{"use strict";i.r(s),i.d(s,{default:()=>eD});var t=i(5155),r=i(2115),a=i(9464),l=i(4964),n=i(8145),o=i(4213),c=i(1539),d=i(381),g=i(6671);function A(){return{toast:e=>{let{title:s,description:i,variant:t}=e,r=i?"".concat(s,": ").concat(i):s;"destructive"===t?g.o.error(r):g.o.success(r)}}}var C=i(1886),u=i(8482),w=i(4884),B=i(3999);let h=r.forwardRef((e,s)=>{let{className:i,...r}=e;return(0,t.jsx)(w.bL,{className:(0,B.cn)("peer focus-visible:ring-ring focus-visible:ring-offset-background data-[state=checked]:bg-primary data-[state=unchecked]:bg-input inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",i),...r,ref:s,children:(0,t.jsx)(w.zi,{className:(0,B.cn)("bg-background pointer-events-none block h-5 w-5 rounded-full shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})})});h.displayName=w.bL.displayName;var x=i(1154),m=i(1243),W=i(7489),L=i(9026),D=i(9852);function v(e){let{className:s,...i}=e;return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,B.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",s),...i})}let f=e=>e.split(",").map(e=>e.trim()).filter(e=>e.length>0),Y=(e,s)=>(null==e?void 0:e.length)===(null==s?void 0:s.length)&&(null==e?void 0:e.every((e,i)=>e===s[i]));function F(){let[e,s]=(0,r.useState)({drop_excess_requests:!1,initial_pool_size:300,log_queue_size:1e3}),[i,a]=(0,r.useState)(0),[l,n]=(0,r.useState)(!0),[o,c]=(0,r.useState)({initial_pool_size:"300",prometheus_labels:"",log_queue_size:"1000"});(0,r.useEffect)(()=>{(async()=>{let[e,s]=await C.K.getDroppedRequests();s?g.o.error(s):e&&a(e.dropped_requests)})()},[]);let d=(0,r.useRef)(void 0),A=(0,r.useRef)(void 0),w=(0,r.useRef)(void 0);(0,r.useEffect)(()=>{(async()=>{let[e,i]=await C.K.getCoreConfig();if(i)g.o.error(i);else if(e){var t,r;s(e),c({initial_pool_size:(null==(t=e.initial_pool_size)?void 0:t.toString())||"300",prometheus_labels:e.prometheus_labels||"",log_queue_size:(null==(r=e.log_queue_size)?void 0:r.toString())||"1000"})}n(!1)})()},[]);let B=(0,r.useCallback)(async(i,t)=>{let r={...e,[i]:t};s(r);let[,a]=await C.K.updateCoreConfig(r);a?g.o.error(a):g.o.success("Core setting updated successfully.")},[e]),Y=async(e,s)=>{await B(e,s)},F=(0,r.useCallback)(e=>{c(s=>({...s,initial_pool_size:e})),d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{let s=Number.parseInt(e);!isNaN(s)&&s>0&&B("initial_pool_size",s)},1e3)},[B]),H=(0,r.useCallback)(e=>{c(s=>({...s,prometheus_labels:e})),A.current&&clearTimeout(A.current),A.current=setTimeout(()=>{B("prometheus_labels",f(e))},1e3)},[B]),p=(0,r.useCallback)(e=>{c(s=>({...s,log_queue_size:e})),w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{let s=Number.parseInt(e);!isNaN(s)&&s>0&&B("log_queue_size",s)},1e3)},[B]);return((0,r.useEffect)(()=>()=>{d.current&&clearTimeout(d.current),A.current&&clearTimeout(A.current),w.current&&clearTimeout(w.current)},[]),l)?(0,t.jsx)("div",{className:"flex h-64 items-center justify-center",children:(0,t.jsx)(x.A,{className:"h-4 w-4 animate-spin"})}):(0,t.jsxs)("div",{children:[(0,t.jsxs)(u.aR,{className:"mb-4 px-0",children:[(0,t.jsx)(u.ZB,{className:"flex items-center gap-2",children:"Core System Settings"}),(0,t.jsx)(u.BT,{children:"Configure core Bifrost settings like request handling, pool sizes, and system behavior."})]}),(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between space-x-2 rounded-lg border p-4",children:[(0,t.jsxs)("div",{className:"space-y-0.5",children:[(0,t.jsx)("label",{htmlFor:"drop-excess-requests",className:"text-sm font-medium",children:"Drop Excess Requests"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"If enabled, Bifrost will drop requests that exceed pool capacity."})]}),(0,t.jsx)(h,{id:"drop-excess-requests",checked:e.drop_excess_requests,onCheckedChange:e=>Y("drop_excess_requests",e)})]}),(0,t.jsx)(W.w,{}),(0,t.jsxs)(L.Fc,{children:[(0,t.jsx)(m.A,{className:"h-4 w-4"}),(0,t.jsx)(L.TN,{children:"The settings below require a Bifrost service restart to take effect. Current connections will continue with existing settings until restart."})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between space-x-2 rounded-lg border p-4",children:[(0,t.jsxs)("div",{className:"space-y-0.5",children:[(0,t.jsx)("label",{htmlFor:"initial-pool-size",className:"text-sm font-medium",children:"Initial Pool Size"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"The initial connection pool size."})]}),(0,t.jsx)(D.p,{id:"initial-pool-size",type:"number",className:"w-24",value:o.initial_pool_size,onChange:e=>F(e.target.value),min:"1"})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between space-x-2 rounded-lg border p-4",children:[(0,t.jsxs)("div",{className:"space-y-0.5",children:[(0,t.jsx)("label",{htmlFor:"log-queue-size",className:"text-sm font-medium",children:"Log Queue Size"}),(0,t.jsxs)("p",{className:"text-muted-foreground text-sm",children:["Additional logs will be dropped if the queue is full. Bifrost has dropped"," ",(0,t.jsxs)("span",{className:"font-bold",children:[i," logs"]})," so far."]})]}),(0,t.jsx)(D.p,{id:"log-queue-size",type:"number",className:"w-24",value:o.log_queue_size,onChange:e=>p(e.target.value),min:"1"})]}),(0,t.jsxs)("div",{className:"space-y-2 rounded-lg border p-4",children:[(0,t.jsxs)("div",{className:"space-y-0.5",children:[(0,t.jsx)("label",{htmlFor:"prometheus-labels",className:"text-sm font-medium",children:"Prometheus Labels"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Comma-separated list of custom labels to add to the Prometheus metrics."})]}),(0,t.jsx)(v,{id:"prometheus-labels",className:"h-24",placeholder:"teamId, projectId, environment",value:o.prometheus_labels,onChange:e=>H(e.target.value)})]})]})]})}var H=i(7168),p=i(8524),Q=i(4616),b=i(9803),V=i(3717),y=i(2525),j=i(7783),N=i(7649);function E(e){let{...s}=e;return(0,t.jsx)(N.bL,{"data-slot":"alert-dialog",...s})}function P(e){let{...s}=e;return(0,t.jsx)(N.l9,{"data-slot":"alert-dialog-trigger",...s})}function G(e){let{...s}=e;return(0,t.jsx)(N.ZL,{"data-slot":"alert-dialog-portal",...s})}function q(e){let{className:s,...i}=e;return(0,t.jsx)(N.hJ,{"data-slot":"alert-dialog-overlay",className:(0,B.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",s),...i})}function R(e){let{className:s,...i}=e;return(0,t.jsxs)(G,{children:[(0,t.jsx)(q,{}),(0,t.jsx)(N.UC,{"data-slot":"alert-dialog-content",className:(0,B.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",s),...i})]})}function I(e){let{className:s,...i}=e;return(0,t.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,B.cn)("flex flex-col gap-2 text-center sm:text-left",s),...i})}function K(e){let{className:s,...i}=e;return(0,t.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,B.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",s),...i})}function k(e){let{className:s,...i}=e;return(0,t.jsx)(N.hE,{"data-slot":"alert-dialog-title",className:(0,B.cn)("text-lg font-semibold",s),...i})}function U(e){let{className:s,...i}=e;return(0,t.jsx)(N.VY,{"data-slot":"alert-dialog-description",className:(0,B.cn)("text-muted-foreground text-sm",s),...i})}function M(e){let{className:s,...i}=e;return(0,t.jsx)(N.rc,{className:(0,B.cn)((0,H.r)({variant:"destructive"}),s),...i})}function Z(e){let{className:s,...i}=e;return(0,t.jsx)(N.ZD,{className:(0,B.cn)((0,H.r)({variant:"outline"}),s),...i})}var S=i(5784),X=i(9840),O=i(7777),z=i(4416);let J=r.forwardRef((e,s)=>{let{className:i,value:a,onValueChange:l,...o}=e,[c,d]=r.useState(""),g=e=>{l(a.filter(s=>s!==e))};return(0,t.jsxs)("div",{className:(0,B.cn)("border-input flex flex-wrap items-center gap-2 rounded-md border p-2",i),children:[a.map(e=>(0,t.jsxs)(n.E,{variant:"secondary",className:"flex items-center gap-1",children:[e,(0,t.jsx)("button",{type:"button",className:"ring-offset-background focus:ring-ring cursor-pointer rounded-full outline-none focus:ring-2 focus:ring-offset-2",onClick:()=>g(e),children:(0,t.jsx)(z.A,{className:"h-3 w-3"})})]},e)),(0,t.jsx)(D.p,{ref:s,type:"text",value:c,onChange:e=>{d(e.target.value)},onKeyDown:e=>{if("Enter"===e.key||","===e.key){e.preventDefault();let s=c.trim();s&&!a.includes(s)&&l([...a,s]),d("")}else"Backspace"===e.key&&""===c&&a.length>0&&l(a.slice(0,-1))},className:"flex-1 border-0 shadow-none focus-visible:ring-0",...o})]})});J.displayName="TagInput";var T=i(6037),_=i(1284),$=i(4869),ee=i(4229),es=i(9231),ei=i.n(es),et=i(8103);let er={azure:{title:"Azure OpenAI Meta Config",fields:[{name:"endpoint",label:"Endpoint",type:"text",placeholder:"https://your-resource.openai.azure.com or env.AZURE_ENDPOINT"},{name:"api_version",label:"API Version (Optional)",type:"text",placeholder:"YYYY-MM-DD or env.AZURE_VERSION"},{name:"deployments",label:"Deployments (JSON format)",type:"textarea",placeholder:'{ "gpt-4": "my-deployment" }',isJson:!0}]},bedrock:{title:"AWS Bedrock Meta Config",fields:[{name:"region",label:"Region",type:"text",placeholder:"us-east-1 or env.AWS_REGION"}]},vertex:{title:"Google Vertex AI Meta Config",fields:[{name:"project_id",label:"Project ID",type:"text",placeholder:"gcp-project-id or env.GCP_PROJECT"},{name:"region",label:"Region",type:"text",placeholder:"us-central1 or env.GCP_REGION"},{name:"auth_credentials",label:"Auth Credentials (JSON key)",type:"textarea",placeholder:"JSON key or env.GCP_CREDS"}]}},ea=e=>{let{provider:s,metaConfig:i,onMetaConfigChange:r}=e,a=er[s];if(!a)return null;let l=e=>{let s=i[e.name];return"textarea"===e.type?(0,t.jsx)(v,{placeholder:e.placeholder,value:e.isJson?"string"==typeof s?s:JSON.stringify(s,null,2):s||"",onChange:s=>{r(e.name,s.target.value)},onBlur:s=>{if(e.isJson)try{let i=JSON.parse(s.target.value);r(e.name,i)}catch(e){}},rows:4,className:"max-w-full font-mono text-sm wrap-anywhere"}):(0,t.jsx)(D.p,{placeholder:e.placeholder,value:s||"",onChange:s=>r(e.name,s.target.value)})};return(0,t.jsxs)("div",{className:"",children:[(0,t.jsx)(u.aR,{className:"mb-2 px-0",children:(0,t.jsxs)(u.ZB,{className:"flex items-center gap-2 text-base",children:[(0,t.jsx)(et.A,{className:"h-4 w-4"}),a.title,(0,t.jsx)(O.Bc,{children:(0,t.jsxs)(O.m_,{children:[(0,t.jsx)(O.k$,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(_.A,{className:"text-muted-foreground ml-1 h-3 w-3"})})}),(0,t.jsx)(O.ZI,{className:"max-w-fit",children:(0,t.jsxs)("p",{children:["Use ",(0,t.jsx)("code",{className:"rounded bg-neutral-100 px-1 py-0.5 text-neutral-800",children:"env."})," to read the value from an environment variable."]})})]})})]})}),(0,t.jsx)(u.Wu,{className:"space-y-4 px-0",children:a.fields.map(e=>(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium",children:e.label}),l(e)]},e.name))})]})};class el{isValid(){return!this.rules.some(e=>!e.isValid)}getErrors(){return this.rules.filter(e=>!e.isValid).map(e=>e.message)}getFirstError(){let e=this.rules.find(e=>!e.isValid);return null==e?void 0:e.message}static required(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"This field is required";return{isValid:null!=e&&""!==e&&0!==e,message:s}}static minValue(e,s){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Must be at least ".concat(s);return{isValid:!isNaN(e)&&e>=s,message:i}}static maxValue(e,s){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Must be at most ".concat(s);return{isValid:!isNaN(e)&&e<=s,message:i}}static pattern(e,s,i){return{isValid:s.test(e||""),message:i}}static email(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Must be a valid email";return this.pattern(e,/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,s)}static url(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Must be a valid URL";return this.pattern(e,/^https?:\/\/.+/,s)}static minLength(e,s){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Must be at least ".concat(s," characters");return{isValid:(e||"").length>=s,message:i}}static maxLength(e,s){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Must be at most ".concat(s," characters");return{isValid:(e||"").length<=s,message:i}}static arrayMinLength(e,s){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Must have at least ".concat(s," items");return{isValid:(null==e?void 0:e.length)>=s,message:i}}static arrayMaxLength(e,s){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Must have at most ".concat(s," items");return{isValid:(null==e?void 0:e.length)<=s,message:i}}static arrayUnique(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Must have unique items";return{isValid:(null==e?void 0:e.length)===new Set(e).size,message:s}}static arraysEqual(e,s){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Must be equal";return{isValid:(null==e?void 0:e.length)===(null==s?void 0:s.length)&&(null==e?void 0:e.every((e,i)=>e===s[i])),message:i}}static custom(e,s){return{isValid:e,message:s}}static all(e){return e.find(e=>!e.isValid)||{isValid:!0,message:""}}constructor(e){this.rules=e.filter(e=>void 0!==e)}}let en={openai:(0,t.jsx)("svg",{fill:"#000000",width:"28",height:"28",viewBox:"0 0 24 24",role:"img",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"})}),anthropic:(0,t.jsx)("svg",{width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M16.1315 4.10742H20.335L28 23.3341H23.7965L16.1315 4.10742ZM7.66383 4.10742H12.0587L19.7237 23.3341H15.4373L13.8705 19.2963H5.85317L4.28517 23.3329H0L7.665 4.10976L7.66383 4.10742ZM12.4845 15.7263L9.86183 8.96892L7.23917 15.7274H12.4833L12.4845 15.7263Z",fill:"black"})}),bedrock:(0,t.jsxs)("svg",{width:"29",height:"28",viewBox:"0 0 29 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("path",{d:"M15.7276 18.0981H19.3209C19.5706 18.0981 19.7748 18.3046 19.7748 18.5577V20.6811C20.2076 20.7878 20.5919 21.0369 20.8661 21.3883C21.1403 21.7397 21.2885 22.1731 21.2868 22.6189C21.2868 23.7191 20.4059 24.6116 19.3209 24.6116C18.2348 24.6116 17.3539 23.7191 17.3539 22.6189C17.3539 21.6774 18.0003 20.8876 18.8671 20.6799V19.0174H15.7288V24.4576C15.7291 24.5366 15.7091 24.6143 15.6707 24.6834C15.6323 24.7525 15.5767 24.8105 15.5094 24.8519L12.3711 26.7664C12.2999 26.8099 12.218 26.8328 12.1345 26.8324C12.0511 26.832 11.9694 26.8083 11.8986 26.7641L6.1516 23.1637C6.08529 23.1221 6.03068 23.0643 5.99291 22.9957C5.95515 22.9271 5.93548 22.85 5.93577 22.7717V19.0162L3.0646 17.3479C2.99931 17.31 2.94431 17.2567 2.90444 17.1927C2.86457 17.1286 2.84105 17.0557 2.83594 16.9804V16.9489V10.9732C2.83594 10.8099 2.9211 10.6582 3.05994 10.5766L5.93577 8.87089V5.18889C5.93577 5.03839 6.0081 4.89839 6.12827 4.81322L6.15277 4.79689L11.9009 1.23389C11.9722 1.18953 12.0544 1.16602 12.1384 1.16602C12.2223 1.16602 12.3045 1.18953 12.3758 1.23389L15.5141 3.18806C15.5804 3.22968 15.635 3.28751 15.6728 3.3561C15.7106 3.42469 15.7302 3.50176 15.7299 3.58006V8.86622H20.2286V6.62972C19.7956 6.52295 19.4111 6.27369 19.1369 5.92202C18.8626 5.57034 18.7146 5.13668 18.7166 4.69072C18.7166 3.59056 19.5974 2.69806 20.6824 2.69806C21.7686 2.69806 22.6483 3.59056 22.6483 4.69072C22.6483 5.63222 22.0031 6.42206 21.1363 6.62972V9.32589C21.1367 9.38589 21.1253 9.4454 21.1028 9.50099C21.0802 9.55659 21.0469 9.60719 21.0047 9.64989C20.9626 9.69259 20.9124 9.72655 20.8571 9.74983C20.8018 9.77311 20.7424 9.78525 20.6824 9.78556H15.7299V11.8926H23.4579C23.5572 11.4588 23.8003 11.0713 24.1477 10.7932C24.495 10.5151 24.9263 10.3627 25.3713 10.3607C26.4563 10.3607 27.3371 11.2521 27.3371 12.3522C27.3371 13.4524 26.4574 14.3449 25.3713 14.3449C24.9261 14.3429 24.4948 14.1903 24.1474 13.9119C23.8 13.6336 23.557 13.2459 23.4579 12.8119H15.7276V15.0717H21.5061L22.5736 16.4484C22.8709 16.2745 23.2092 16.1831 23.5536 16.1836C24.6398 16.1836 25.5194 17.0749 25.5194 18.1751C25.5194 19.2752 24.6398 20.1677 23.5536 20.1677C22.4686 20.1677 21.5878 19.2752 21.5878 18.1751C21.5878 17.7714 21.7068 17.3957 21.9098 17.0819L21.0651 15.9911H15.7276V18.0981ZM12.1378 2.16489L9.75427 3.64189V7.10456H8.8466V4.20422L6.84344 5.44672V8.88256L9.3051 10.4692L11.8333 8.87789V6.22256H12.7409V9.13456C12.7409 9.29322 12.6593 9.44139 12.5263 9.52539L9.79277 11.2439V13.6717L11.4518 14.8489L10.9314 15.6026L9.2911 14.4382L7.5061 15.6107L7.0126 14.8407L8.8851 13.6099V11.2882L6.38027 9.67122L3.7436 11.2346V13.1899L6.04427 11.8027L6.5086 12.5926L3.7436 14.2597V16.6829L6.2706 18.1506L8.91894 16.5546L9.3821 17.3444L6.84344 18.8739V22.5162L9.0321 23.8871L11.7913 22.2234L12.2556 23.0144L9.90244 24.4331L12.1401 25.8342L14.8211 24.1974V17.4541L9.2701 20.8292L8.80344 20.0417L14.8211 16.3831V3.83672L12.1378 2.16489ZM19.3209 21.5479C19.1809 21.5487 19.0423 21.577 18.9132 21.6314C18.7841 21.6858 18.667 21.7651 18.5686 21.8648C18.4702 21.9645 18.3925 22.0826 18.3398 22.2124C18.2871 22.3422 18.2605 22.4811 18.2616 22.6212C18.2616 23.2127 18.7353 23.6922 19.3209 23.6922C19.4608 23.6913 19.5991 23.6628 19.728 23.6085C19.8569 23.5541 19.9738 23.4749 20.0721 23.3753C20.1703 23.2757 20.248 23.1578 20.3007 23.0282C20.3534 22.8986 20.38 22.7599 20.3791 22.6201C20.3802 22.4801 20.3537 22.3413 20.301 22.2115C20.2484 22.0818 20.1708 21.9637 20.0725 21.8641C19.9742 21.7644 19.8573 21.685 19.7283 21.6306C19.5993 21.5761 19.4609 21.5488 19.3209 21.5479ZM23.5559 17.1029C23.4159 17.1037 23.2773 17.132 23.1482 17.1864C23.0191 17.2408 22.902 17.3201 22.8036 17.4198C22.7052 17.5195 22.6275 17.6376 22.5748 17.7674C22.5221 17.8972 22.4955 18.0361 22.4966 18.1762C22.4966 18.7689 22.9703 19.2496 23.5548 19.2496C23.6948 19.2488 23.8334 19.2204 23.9625 19.166C24.0916 19.1116 24.2087 19.0323 24.3071 18.9326C24.4055 18.8329 24.4832 18.7148 24.5359 18.585C24.5886 18.4552 24.6152 18.3163 24.6141 18.1762C24.6152 18.0361 24.5886 17.8972 24.5359 17.7674C24.4832 17.6376 24.4055 17.5195 24.3071 17.4198C24.2087 17.3201 24.0916 17.2408 23.9625 17.1864C23.8334 17.132 23.696 17.1037 23.5559 17.1029ZM25.3701 11.2812C25.23 11.282 25.0915 11.3104 24.9624 11.3648C24.8333 11.4191 24.7162 11.4984 24.6178 11.5981C24.5194 11.6978 24.4416 11.816 24.3889 11.9458C24.3363 12.0756 24.3097 12.2145 24.3108 12.3546C24.3108 12.9461 24.7856 13.4256 25.3701 13.4256C25.51 13.4246 25.6483 13.3962 25.7772 13.3418C25.9061 13.2874 26.023 13.2082 26.1212 13.1086C26.2195 13.0091 26.2972 12.8911 26.3499 12.7615C26.4026 12.632 26.4292 12.4933 26.4283 12.3534C26.4293 12.2134 26.4028 12.0746 26.3502 11.9449C26.2976 11.8152 26.2199 11.6971 26.1217 11.5974C26.0234 11.4977 25.9064 11.4184 25.7775 11.3639C25.6485 11.3095 25.5101 11.281 25.3701 11.2801V11.2812ZM20.6813 3.61622C20.5413 3.61714 20.4029 3.64564 20.2739 3.70009C20.1449 3.75454 20.028 3.83387 19.9297 3.93356C19.8314 4.03324 19.7538 4.15132 19.7012 4.28104C19.6486 4.41076 19.622 4.54958 19.6231 4.68956C19.6231 5.28222 20.0968 5.76289 20.6813 5.76289C20.8213 5.76213 20.9599 5.73374 21.089 5.67936C21.2181 5.62498 21.3352 5.54566 21.4336 5.44597C21.532 5.34627 21.6098 5.22814 21.6624 5.09834C21.7151 4.96854 21.7417 4.82963 21.7406 4.68956C21.7417 4.54948 21.7151 4.41057 21.6624 4.28077C21.6098 4.15098 21.532 4.03285 21.4336 3.93315C21.3352 3.83345 21.2181 3.75414 21.089 3.69975C20.9599 3.64537 20.8213 3.61699 20.6813 3.61622Z",fill:"url(#paint0_linear_2482_3244)"}),(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"paint0_linear_2482_3244",x1:"1962.93",y1:"514.493",x2:"424.608",y2:"1982.98",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{"stop-color":"#6350FB"}),(0,t.jsx)("stop",{offset:"0.5","stop-color":"#3D8FFF"}),(0,t.jsx)("stop",{offset:"1","stop-color":"#9AD8F8"})]})})]}),cohere:(0,t.jsxs)("svg",{width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M9.48006 16.4482C10.1707 16.4482 11.5451 16.4097 13.4444 15.628C15.6576 14.7168 20.0617 13.0613 23.2386 11.3627C25.4611 10.175 26.4352 8.60235 26.4352 6.48602C26.4352 5.78728 26.2976 5.0954 26.0302 4.44987C25.7627 3.80434 25.3708 3.21782 24.8766 2.7238C24.3825 2.22977 23.7959 1.83793 23.1503 1.57064C22.5047 1.30336 21.8128 1.16586 21.1141 1.16602H8.80456C6.77807 1.16633 4.83468 1.97156 3.40184 3.40462C1.969 4.83768 1.16406 6.78119 1.16406 8.80768C1.16406 13.0275 4.36656 16.4482 9.48006 16.4482Z",fill:"#39594D"}),(0,t.jsx)("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M11.5625 21.7119C11.5624 20.7002 11.8622 19.7113 12.4239 18.8699C12.9856 18.0285 13.784 17.3724 14.7183 16.9846L18.5952 15.3746C22.5163 13.7482 26.8318 16.6299 26.8318 20.8754C26.8318 21.6575 26.6778 22.4319 26.3784 23.1544C26.0791 23.8769 25.6404 24.5334 25.0873 25.0864C24.5343 25.6393 23.8777 26.0779 23.1551 26.3771C22.4325 26.6763 21.6581 26.8302 20.876 26.8301L16.6795 26.8289C16.0074 26.8289 15.3419 26.6965 14.721 26.4393C14.1001 26.182 13.536 25.805 13.0608 25.3297C12.5856 24.8545 12.2088 24.2902 11.9517 23.6693C11.6946 23.0483 11.5623 22.3828 11.5625 21.7107V21.7119Z",fill:"#D18EE2"}),(0,t.jsx)("path",{d:"M5.5694 17.4551C4.99084 17.4549 4.41792 17.5688 3.88337 17.7901C3.34882 18.0114 2.86312 18.3359 2.45401 18.745C2.04491 19.1541 1.72042 19.6398 1.49909 20.1744C1.27775 20.7089 1.16391 21.2819 1.16406 21.8604V22.4309C1.18287 23.5867 1.65522 24.6888 2.47922 25.4995C3.30323 26.3102 4.41286 26.7646 5.56881 26.7646C6.72476 26.7646 7.8344 26.3102 8.6584 25.4995C9.48241 24.6888 9.95475 23.5867 9.97356 22.4309V21.8592C9.97356 21.2809 9.85965 20.7082 9.63832 20.1738C9.41699 19.6395 9.09258 19.154 8.68361 18.745C8.27465 18.3361 7.78914 18.0117 7.2548 17.7903C6.72046 17.569 6.14776 17.4551 5.5694 17.4551Z",fill:"#FF7759"})]}),vertex:(0,t.jsxs)("svg",{width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsxs)("g",{"clip-path":"url(#clip0_2482_3231)",children:[(0,t.jsx)("path",{d:"M13.997 23.5859C13.4114 23.5859 12.8498 23.8186 12.4357 24.2326C12.0217 24.6467 11.7891 25.2083 11.7891 25.7939C11.7891 26.3794 12.0217 26.941 12.4357 27.3551C12.8498 27.7692 13.4114 28.0018 13.997 28.0018C14.5826 28.0018 15.1441 27.7692 15.5582 27.3551C15.9723 26.941 16.2049 26.3794 16.2049 25.7939C16.2049 25.2083 15.9723 24.6467 15.5582 24.2326C15.1441 23.8186 14.5826 23.5859 13.997 23.5859ZM13.997 26.8596C13.7824 26.8596 13.5727 26.7958 13.3946 26.6762C13.2164 26.5567 13.0778 26.3869 12.9964 26.1884C12.915 25.9899 12.8945 25.7717 12.9375 25.5615C12.9805 25.3513 13.085 25.1586 13.2378 25.008C13.3905 24.8574 13.5847 24.7556 13.7954 24.7156C14.0062 24.6756 14.2241 24.6992 14.4215 24.7833C14.6188 24.8675 14.7866 25.0085 14.9036 25.1883C15.0206 25.3682 15.0815 25.5788 15.0785 25.7933C15.0785 25.9346 15.0504 26.0745 14.9959 26.2049C14.9413 26.3352 14.8614 26.4535 14.7608 26.5527C14.6602 26.6519 14.5408 26.7301 14.4097 26.7828C14.2786 26.8355 14.1383 26.8616 13.997 26.8596Z",fill:"#4285F4"}),(0,t.jsx)("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M25.2994 16.5009C25.5759 16.5453 25.8268 16.6876 26.0053 16.9023C26.1645 17.1361 26.2312 17.4208 26.1924 17.701C26.1536 17.9813 26.0121 18.2372 25.7952 18.4189L16.1819 25.5146C16.1332 25.1296 15.9839 24.7642 15.7489 24.4554C15.514 24.1465 15.2018 23.905 14.8438 23.7553L24.5037 16.6619C24.7408 16.5139 25.0235 16.4567 25.2994 16.5009Z",fill:"#669DF6"}),(0,t.jsx)("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M11.8069 25.482L2.22044 18.405C1.99694 18.2322 1.84767 17.9808 1.80303 17.7018C1.75838 17.4229 1.8217 17.1374 1.9801 16.9035C2.15708 16.6859 2.40802 16.5411 2.68498 16.4968C2.96195 16.4524 3.24555 16.5117 3.4816 16.6632L13.1416 23.7565C12.7888 23.904 12.4803 24.1405 12.2464 24.443C12.0124 24.7454 11.861 25.1035 11.8069 25.482Z",fill:"#AECBFA"}),(0,t.jsx)("path",{d:"M4.98383 5.2215C4.68646 5.21757 4.40238 5.09769 4.19209 4.88741C3.9818 4.67712 3.86193 4.39303 3.858 4.09566V1.27233C3.83948 1.11248 3.85498 0.950517 3.90348 0.79708C3.95199 0.643643 4.0324 0.502201 4.13944 0.382042C4.24648 0.261884 4.37773 0.165726 4.52456 0.0998824C4.67139 0.0340392 4.8305 0 4.99142 0C5.15234 0 5.31144 0.0340392 5.45827 0.0998824C5.60511 0.165726 5.73635 0.261884 5.84339 0.382042C5.95043 0.502201 6.03085 0.643643 6.07935 0.79708C6.12786 0.950517 6.14336 1.11248 6.12483 1.27233V4.09566C6.12085 4.39564 5.99888 4.68198 5.78533 4.89269C5.57178 5.1034 5.28384 5.22152 4.98383 5.2215ZM4.9535 15.207C5.25611 15.207 5.54633 15.0868 5.76031 14.8728C5.97429 14.6588 6.0945 14.3686 6.0945 14.066C6.0945 13.7634 5.97429 13.4732 5.76031 13.2592C5.54633 13.0452 5.25611 12.925 4.9535 12.925C4.65089 12.925 4.36067 13.0452 4.14669 13.2592C3.93271 13.4732 3.8125 13.7634 3.8125 14.066C3.8125 14.3686 3.93271 14.6588 4.14669 14.8728C4.36067 15.0868 4.65089 15.207 4.9535 15.207ZM4.9535 11.889C5.10334 11.889 5.25171 11.8595 5.39014 11.8021C5.52857 11.7448 5.65436 11.6608 5.76031 11.5548C5.86626 11.4489 5.95031 11.3231 6.00765 11.1846C6.06499 11.0462 6.0945 10.8978 6.0945 10.748C6.0945 10.5982 6.06499 10.4498 6.00765 10.3114C5.95031 10.1729 5.86626 10.0471 5.76031 9.94119C5.65436 9.83524 5.52857 9.75119 5.39014 9.69385C5.25171 9.63651 5.10334 9.607 4.9535 9.607C4.65089 9.607 4.36067 9.72721 4.14669 9.94119C3.93271 10.1552 3.8125 10.4454 3.8125 10.748C3.8125 11.0506 3.93271 11.3408 4.14669 11.5548C4.36067 11.7688 4.65089 11.889 4.9535 11.889ZM4.9535 8.55466C5.25611 8.55466 5.54633 8.43445 5.76031 8.22047C5.97429 8.00649 6.0945 7.71628 6.0945 7.41366C6.0945 7.11105 5.97429 6.82083 5.76031 6.60685C5.54633 6.39288 5.25611 6.27266 4.9535 6.27266C4.65089 6.27266 4.36067 6.39288 4.14669 6.60685C3.93271 6.82083 3.8125 7.11105 3.8125 7.41366C3.8125 7.71628 3.93271 8.00649 4.14669 8.22047C4.36067 8.43445 4.65089 8.55466 4.9535 8.55466Z",fill:"#AECBFA"}),(0,t.jsx)("path",{d:"M23.0008 8.52503C22.7007 8.52104 22.4141 8.3989 22.2034 8.1851C21.9927 7.9713 21.8747 7.68306 21.875 7.38286V4.55953C21.875 4.26094 21.9936 3.97458 22.2048 3.76344C22.4159 3.55231 22.7022 3.43369 23.0008 3.43369C23.2994 3.43369 23.5858 3.55231 23.7969 3.76344C24.0081 3.97458 24.1267 4.26094 24.1267 4.55953V7.38286C24.129 7.53212 24.1016 7.68034 24.046 7.8189C23.9905 7.95745 23.9079 8.08356 23.8031 8.18987C23.6983 8.29618 23.5734 8.38057 23.4357 8.43811C23.2979 8.49565 23.1501 8.5252 23.0008 8.52503ZM23.03 15.2217C23.1798 15.2217 23.3282 15.1922 23.4666 15.1348C23.6051 15.0775 23.7309 14.9935 23.8368 14.8875C23.9428 14.7815 24.0268 14.6558 24.0841 14.5173C24.1415 14.3789 24.171 14.2305 24.171 14.0807C24.171 13.9309 24.1415 13.7825 24.0841 13.644C24.0268 13.5056 23.9428 13.3798 23.8368 13.2739C23.7309 13.1679 23.6051 13.0839 23.4666 13.0265C23.3282 12.9692 23.1798 12.9397 23.03 12.9397C22.7274 12.9397 22.4372 13.0599 22.2232 13.2739C22.0092 13.4879 21.889 13.7781 21.889 14.0807C21.889 14.3833 22.0092 14.6735 22.2232 14.8875C22.4372 15.1015 22.7274 15.2217 23.03 15.2217ZM23.03 11.843C23.3326 11.843 23.6228 11.7228 23.8368 11.5088C24.0508 11.2949 24.171 11.0046 24.171 10.702C24.171 10.3994 24.0508 10.1092 23.8368 9.89522C23.6228 9.68124 23.3326 9.56102 23.03 9.56102C22.7274 9.56102 22.4372 9.68124 22.2232 9.89522C22.0092 10.1092 21.889 10.3994 21.889 10.702C21.889 11.0046 22.0092 11.2949 22.2232 11.5088C22.4372 11.7228 22.7274 11.843 23.03 11.843ZM23.03 2.41286C23.1798 2.41286 23.3282 2.38335 23.4666 2.32601C23.6051 2.26867 23.7309 2.18462 23.8368 2.07867C23.9428 1.97272 24.0268 1.84693 24.0841 1.7085C24.1415 1.57007 24.171 1.4217 24.171 1.27186C24.171 1.12202 24.1415 0.97365 24.0841 0.835218C24.0268 0.696785 23.9428 0.571002 23.8368 0.465051C23.7309 0.359099 23.6051 0.275053 23.4666 0.217713C23.3282 0.160372 23.1798 0.130859 23.03 0.130859C22.7274 0.130859 22.4372 0.251072 22.2232 0.465051C22.0092 0.67903 21.889 0.969247 21.889 1.27186C21.889 1.57447 22.0092 1.86469 22.2232 2.07867C22.4372 2.29265 22.7274 2.41286 23.03 2.41286Z",fill:"#4285F4"}),(0,t.jsx)("path",{d:"M13.9926 18.5705C13.6952 18.5666 13.4111 18.4467 13.2008 18.2364C12.9905 18.0261 12.8707 17.742 12.8667 17.4447V14.5758C12.8989 14.2978 13.0322 14.0413 13.2412 13.8552C13.4502 13.669 13.7203 13.5662 14.0001 13.5662C14.28 13.5662 14.5501 13.669 14.7591 13.8552C14.9681 14.0413 15.1013 14.2978 15.1336 14.5758V17.4143C15.1359 17.5655 15.1081 17.7157 15.0517 17.856C14.9954 17.9963 14.9117 18.124 14.8055 18.2317C14.6993 18.3393 14.5727 18.4247 14.4331 18.4829C14.2935 18.541 14.1438 18.5708 13.9926 18.5705ZM13.9926 21.8897C14.2952 21.8897 14.5854 21.7694 14.7994 21.5555C15.0133 21.3415 15.1336 21.0513 15.1336 20.7487C15.1336 20.446 15.0133 20.1558 14.7994 19.9419C14.5854 19.7279 14.2952 19.6077 13.9926 19.6077C13.69 19.6077 13.3997 19.7279 13.1858 19.9419C12.9718 20.1558 12.8516 20.446 12.8516 20.7487C12.8516 21.0513 12.9718 21.3415 13.1858 21.5555C13.3997 21.7694 13.69 21.8897 13.9926 21.8897ZM13.9926 12.414C14.2952 12.414 14.5854 12.2938 14.7994 12.0798C15.0133 11.8658 15.1336 11.5756 15.1336 11.273C15.1336 10.9704 15.0133 10.6802 14.7994 10.4662C14.5854 10.2522 14.2952 10.132 13.9926 10.132C13.69 10.132 13.3997 10.2522 13.1858 10.4662C12.9718 10.6802 12.8516 10.9704 12.8516 11.273C12.8516 11.5756 12.9718 11.8658 13.1858 12.0798C13.3997 12.2938 13.69 12.414 13.9926 12.414ZM13.9926 9.08083C14.2952 9.08083 14.5854 8.96062 14.7994 8.74664C15.0133 8.53266 15.1336 8.24244 15.1336 7.93983C15.1336 7.63722 15.0133 7.347 14.7994 7.13302C14.5854 6.91904 14.2952 6.79883 13.9926 6.79883C13.69 6.79883 13.3997 6.91904 13.1858 7.13302C12.9718 7.347 12.8516 7.63722 12.8516 7.93983C12.8516 8.24244 12.9718 8.53266 13.1858 8.74664C13.3997 8.96062 13.69 9.08083 13.9926 9.08083Z",fill:"#669DF6"}),(0,t.jsx)("path",{d:"M18.5011 11.8726C18.2037 11.8686 17.9196 11.7488 17.7093 11.5385C17.499 11.3282 17.3792 11.0441 17.3752 10.7467V7.92339C17.3464 7.68214 17.3955 7.43801 17.5152 7.2266C17.6349 7.0152 17.8191 6.84757 18.0407 6.74819C18.2624 6.6488 18.5101 6.62285 18.7476 6.67413C18.9851 6.7254 19.1999 6.85122 19.3609 7.03322C19.4678 7.15343 19.5481 7.29486 19.5966 7.44827C19.645 7.60167 19.6605 7.76358 19.6421 7.92339V10.7467C19.6381 11.0467 19.5161 11.333 19.3026 11.5437C19.089 11.7545 18.8011 11.8726 18.5011 11.8726ZM18.5162 5.73122C18.6661 5.73122 18.8144 5.70171 18.9529 5.64437C19.0913 5.58703 19.2171 5.50298 19.323 5.39703C19.429 5.29108 19.513 5.16529 19.5704 5.02686C19.6277 4.88843 19.6572 4.74006 19.6572 4.59022C19.6572 4.44038 19.6277 4.29201 19.5704 4.15358C19.513 4.01514 19.429 3.88936 19.323 3.78341C19.2171 3.67746 19.0913 3.59341 18.9529 3.53607C18.8144 3.47873 18.6661 3.44922 18.5162 3.44922C18.2136 3.44922 17.9234 3.56943 17.7094 3.78341C17.4954 3.99739 17.3752 4.28761 17.3752 4.59022C17.3752 4.89283 17.4954 5.18305 17.7094 5.39703C17.9234 5.61101 18.2136 5.73122 18.5162 5.73122ZM18.5162 18.4946C18.8188 18.4946 19.1091 18.3743 19.323 18.1604C19.537 17.9464 19.6572 17.6562 19.6572 17.3536C19.6572 17.0509 19.537 16.7607 19.323 16.5467C19.1091 16.3328 18.8188 16.2126 18.5162 16.2126C18.2136 16.2126 17.9234 16.3328 17.7094 16.5467C17.4954 16.7607 17.3752 17.0509 17.3752 17.3536C17.3752 17.6562 17.4954 17.9464 17.7094 18.1604C17.9234 18.3743 18.2136 18.4946 18.5162 18.4946ZM18.5162 15.1614C18.8188 15.1614 19.1091 15.0412 19.323 14.8272C19.537 14.6132 19.6572 14.323 19.6572 14.0204C19.6572 13.7178 19.537 13.4276 19.323 13.2136C19.1091 12.9996 18.8188 12.8794 18.5162 12.8794C18.2136 12.8794 17.9234 12.9996 17.7094 13.2136C17.4954 13.4276 17.3752 13.7178 17.3752 14.0204C17.3752 14.323 17.4954 14.6132 17.7094 14.8272C17.9234 15.0412 18.2136 15.1614 18.5162 15.1614Z",fill:"#4285F4"}),(0,t.jsx)("path",{d:"M9.47752 18.4957C9.78013 18.4957 10.0704 18.3755 10.2843 18.1615C10.4983 17.9475 10.6185 17.6573 10.6185 17.3547C10.6185 17.0521 10.4983 16.7619 10.2843 16.5479C10.0704 16.3339 9.78013 16.2137 9.47752 16.2137C9.17491 16.2137 8.88469 16.3339 8.67071 16.5479C8.45673 16.7619 8.33652 17.0521 8.33652 17.3547C8.33652 17.6573 8.45673 17.9475 8.67071 18.1615C8.88469 18.3755 9.17491 18.4957 9.47752 18.4957ZM9.47752 9.08072C9.78013 9.08072 10.0704 8.96051 10.2843 8.74653C10.4983 8.53255 10.6185 8.24233 10.6185 7.93972C10.6185 7.63711 10.4983 7.34689 10.2843 7.13291C10.0704 6.91893 9.78013 6.79872 9.47752 6.79872C9.17491 6.79872 8.88469 6.91893 8.67071 7.13291C8.45673 7.34689 8.33652 7.63711 8.33652 7.93972C8.33652 8.24233 8.45673 8.53255 8.67071 8.74653C8.88469 8.96051 9.17491 9.08072 9.47752 9.08072ZM9.47752 5.73239C9.78029 5.73239 10.0707 5.61211 10.2847 5.39802C10.4988 5.18393 10.6191 4.89357 10.6191 4.5908C10.6191 4.28804 10.4988 3.99767 10.2847 3.78358C10.0707 3.56949 9.78029 3.44922 9.47752 3.44922C9.17475 3.44922 8.88439 3.56949 8.6703 3.78358C8.45621 3.99767 8.33594 4.28804 8.33594 4.5908C8.33594 4.89357 8.45621 5.18393 8.6703 5.39802C8.88439 5.61211 9.17475 5.73239 9.47752 5.73239ZM9.49269 15.1626C9.1976 15.1628 8.91391 15.0487 8.70116 14.8442C8.48841 14.6397 8.36315 14.3607 8.35169 14.0659V11.2134C8.35169 10.9148 8.4703 10.6284 8.68144 10.4173C8.89257 10.2062 9.17893 10.0876 9.47752 10.0876C9.77611 10.0876 10.0625 10.2062 10.2736 10.4173C10.4847 10.6284 10.6034 10.9148 10.6034 11.2134V14.0659C10.5956 14.3567 10.4756 14.6332 10.2686 14.8376C10.0616 15.042 9.78357 15.1584 9.49269 15.1626Z",fill:"#AECBFA"})]}),(0,t.jsx)("defs",{children:(0,t.jsx)("clipPath",{id:"clip0_2482_3231",children:(0,t.jsx)("rect",{width:"28",height:"28",fill:"white"})})})]}),ollama:(0,t.jsx)("svg",{width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M9.22529 1.27126C9.47729 1.37043 9.70479 1.53376 9.91129 1.7496C10.2555 2.1066 10.546 2.6176 10.7676 3.2231C10.9905 3.8321 11.1351 4.50643 11.19 5.1831C11.9245 4.76754 12.7397 4.5145 13.5805 4.4411L13.64 4.43643C14.655 4.35476 15.6583 4.53793 16.5333 4.98943C16.6511 5.05126 16.7666 5.11776 16.8798 5.18776C16.9381 4.52393 17.0805 3.86476 17.2998 3.26976C17.5215 2.6631 17.812 2.15326 18.155 1.7951C18.3466 1.58774 18.5811 1.42453 18.8421 1.31676C19.142 1.2001 19.4605 1.1791 19.7708 1.26776C20.2386 1.40076 20.64 1.6971 20.9561 2.1276C21.2455 2.52076 21.4625 3.02476 21.6106 3.6291C21.879 4.71876 21.9256 6.1526 21.7448 7.8816L21.8066 7.92826L21.837 7.95043C22.7201 8.62243 23.335 9.58026 23.6605 10.6921C24.168 12.4269 23.9125 14.3729 23.0375 15.4614L23.0165 15.4859L23.0188 15.4894C23.5053 16.3784 23.8005 17.3176 23.8635 18.2894L23.8658 18.3244C23.9405 19.5669 23.6325 20.8176 22.9161 22.0461L22.908 22.0578L22.9196 22.0858C23.4703 23.4356 23.643 24.7948 23.4306 26.1528L23.4236 26.1983C23.3907 26.3966 23.2805 26.5739 23.1171 26.6911C22.9538 26.8083 22.7506 26.856 22.5521 26.8236C22.4539 26.8083 22.3596 26.7737 22.2747 26.7218C22.1898 26.67 22.116 26.6019 22.0575 26.5215C21.999 26.4411 21.9569 26.3499 21.9336 26.2532C21.9104 26.1565 21.9065 26.0562 21.9221 25.9579C22.117 24.7528 21.9338 23.5441 21.3621 22.3144C21.3088 22.2002 21.2851 22.0744 21.2933 21.9485C21.3014 21.8227 21.3411 21.701 21.4088 21.5946L21.4135 21.5876C22.1181 20.5096 22.4098 19.4526 22.3468 18.4143C22.2931 17.5054 21.9676 16.6129 21.4135 15.7624C21.3057 15.5971 21.2673 15.396 21.3066 15.2026C21.3459 15.0091 21.4597 14.8389 21.6235 14.7288L21.634 14.7218C21.9175 14.5363 22.1788 14.0626 22.3106 13.4151C22.4561 12.6495 22.4181 11.8602 22.1998 11.1121C21.9606 10.2954 21.5231 9.6141 20.9106 9.1486C20.2165 8.61893 19.2971 8.36343 18.134 8.43693C17.9819 8.44682 17.8303 8.41086 17.6988 8.3337C17.5674 8.25654 17.4621 8.14172 17.3966 8.0041C17.0303 7.22826 16.496 6.67293 15.8298 6.32876C15.1902 6.00956 14.4742 5.87541 13.7625 5.94143C12.31 6.05693 11.029 6.87593 10.6475 7.90843C10.5935 8.05375 10.4964 8.17911 10.3692 8.26772C10.242 8.35634 10.0908 8.40398 9.93579 8.40426C8.69095 8.4066 7.72729 8.69826 7.02262 9.22443C6.41362 9.67943 5.99829 10.3153 5.77895 11.0771C5.58048 11.7942 5.5533 12.5479 5.69962 13.2774C5.83029 13.9284 6.08579 14.4674 6.37862 14.7579L6.38795 14.7661C6.63529 15.0076 6.68779 15.3844 6.51512 15.6819C6.09512 16.4076 5.78129 17.4891 5.72995 18.5286C5.67162 19.7163 5.94695 20.7476 6.56879 21.4873L6.58745 21.5094C6.68129 21.6188 6.74165 21.7529 6.76131 21.8956C6.78096 22.0384 6.75908 22.1838 6.69829 22.3144C6.02629 23.7564 5.81979 24.9418 6.04262 25.8751C6.08267 26.0692 6.04541 26.2712 5.93875 26.4382C5.8321 26.6053 5.66447 26.7241 5.47155 26.7694C5.27863 26.8147 5.07565 26.7829 4.9058 26.6808C4.73595 26.5787 4.61264 26.4144 4.56212 26.2228C4.27862 25.0351 4.47112 23.6748 5.11395 22.1418L5.13029 22.1009L5.12095 22.0869C4.80501 21.6203 4.56921 21.1041 4.42329 20.5598L4.41745 20.5376C4.24037 19.8585 4.17069 19.1558 4.21095 18.4551C4.26229 17.3934 4.53529 16.3061 4.93662 15.4334L4.95062 15.4031L4.94829 15.4008C4.60645 14.9131 4.35329 14.2889 4.21329 13.5983L4.20745 13.5703C4.01456 12.6069 4.05174 11.6116 4.31595 10.6653C4.62162 9.59776 5.22245 8.68076 6.10795 8.0181C6.17795 7.9656 6.25145 7.9131 6.32495 7.8641C6.13945 6.12226 6.18612 4.6791 6.45562 3.58243C6.60379 2.9781 6.82195 2.4741 7.11129 2.08093C7.42629 1.6516 7.82762 1.35526 8.29545 1.2211C8.60579 1.13243 8.92545 1.15226 9.22529 1.2701V1.27126ZM14.0273 11.8763C15.1193 11.8763 16.1273 12.2414 16.881 12.8738C17.616 13.4886 18.0535 14.3146 18.0535 15.1371C18.0535 16.1731 17.5798 16.9804 16.7316 17.4961C16.0083 17.9336 15.0388 18.1459 13.9281 18.1459C12.751 18.1459 11.7453 17.8438 11.0196 17.2896C10.2998 16.7413 9.89612 15.9713 9.89612 15.1371C9.89612 14.3123 10.3605 13.4839 11.1281 12.8668C11.9075 12.2403 12.9365 11.8763 14.0273 11.8763ZM14.0273 12.9216C13.2179 12.9145 12.43 13.1818 11.792 13.6799C11.2541 14.1116 10.9496 14.6541 10.9496 15.1383C10.9496 15.6376 11.1946 16.1054 11.6613 16.4613C12.1921 16.8661 12.9726 17.1006 13.9281 17.1006C14.8603 17.1006 15.6466 16.9291 16.1821 16.6036C16.7223 16.2769 16.9988 15.8033 16.9988 15.1371C16.9988 14.6436 16.7118 14.0988 16.202 13.6718C15.6373 13.1993 14.872 12.9216 14.0273 12.9216ZM14.7996 14.3333L14.8043 14.3379C14.9443 14.5141 14.9151 14.7696 14.739 14.9096L14.3983 15.1779V15.6983C14.3977 15.8141 14.3511 15.925 14.2689 16.0065C14.1867 16.0881 14.0755 16.1337 13.9596 16.1334C13.8438 16.1337 13.7326 16.0881 13.6503 16.0065C13.5681 15.925 13.5216 15.8141 13.521 15.6983V15.1616L13.2048 14.9073C13.1631 14.8738 13.1284 14.8325 13.1028 14.7856C13.0771 14.7387 13.061 14.6872 13.0554 14.6341C13.0497 14.5809 13.0547 14.5272 13.0699 14.476C13.0851 14.4247 13.1104 14.377 13.1441 14.3356C13.213 14.2518 13.3121 14.1985 13.4201 14.1874C13.528 14.1762 13.6359 14.2081 13.7205 14.2761L13.9713 14.4768L14.228 14.2738C14.3122 14.2072 14.4191 14.1762 14.5259 14.1873C14.6327 14.1984 14.7309 14.2508 14.7996 14.3333ZM8.91962 12.0944C9.47729 12.0944 9.93112 12.5494 9.93112 13.1106C9.93143 13.3796 9.82495 13.6377 9.63507 13.8282C9.44519 14.0188 9.18745 14.1261 8.91845 14.1268C8.64987 14.1258 8.39259 14.0185 8.203 13.8282C8.01341 13.638 7.90695 13.3804 7.90695 13.1118C7.90633 12.8428 8.01252 12.5845 8.20218 12.3938C8.39184 12.203 8.65063 12.0954 8.91962 12.0944ZM19.0766 12.0944C19.6366 12.0944 20.0893 12.5494 20.0893 13.1106C20.0896 13.3796 19.9831 13.6377 19.7932 13.8282C19.6034 14.0188 19.3456 14.1261 19.0766 14.1268C18.808 14.1258 18.5508 14.0185 18.3612 13.8282C18.1716 13.638 18.0651 13.3804 18.0651 13.1118C18.0645 12.8428 18.1707 12.5845 18.3603 12.3938C18.55 12.203 18.8076 12.0954 19.0766 12.0944ZM8.68279 2.68293L8.67929 2.68526C8.54413 2.74404 8.42872 2.84042 8.34679 2.96293L8.34095 2.96993C8.17995 3.19043 8.03995 3.51476 7.93495 3.9406C7.73662 4.74793 7.68295 5.84343 7.79029 7.18626C8.29195 7.03693 8.83912 6.9436 9.42829 6.90976L9.43995 6.9086L9.46212 6.86893C9.51579 6.77326 9.57295 6.6811 9.63479 6.5901C9.77829 5.6906 9.66045 4.6161 9.33962 3.73876C9.18329 3.3141 8.99312 2.98043 8.81112 2.79026C8.77355 2.75073 8.73168 2.71551 8.68629 2.68526L8.68279 2.68293ZM19.3858 2.7296L19.3835 2.73076C19.3381 2.76101 19.2962 2.79623 19.2586 2.83576C19.0766 3.02593 18.8853 3.36076 18.7301 3.78543C18.3918 4.71176 18.2786 5.85743 18.4618 6.7861L18.5295 6.89926L18.5388 6.9156H18.5738C19.1528 6.91575 19.7288 6.99904 20.2841 7.16293C20.3845 5.8516 20.3285 4.77943 20.1348 3.98726C20.0298 3.56143 19.8898 3.2371 19.7276 3.0166L19.723 3.0096C19.6412 2.88665 19.5258 2.78985 19.3905 2.73076H19.3858V2.7296Z",fill:"black"})}),mistral:(0,t.jsxs)("svg",{width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("path",{d:"M4 3.9668H8.0005V7.96613H4V3.9668ZM19.9997 3.9668H24.0013V7.96613H19.9997V3.9668Z",fill:"#FFD700"}),(0,t.jsx)("path",{d:"M4 7.9668H11.9998V11.9673H4.00117L4 7.9668ZM16.0003 7.9668H24.0002V11.9673H16.0003V7.9668Z",fill:"#FFAF00"}),(0,t.jsx)("path",{d:"M4 11.9668H24.0013V15.9661H4V11.9668Z",fill:"#FF8205"}),(0,t.jsx)("path",{d:"M4 15.9668H8.0005V19.9661H4V15.9668ZM12.001 15.9668H16.0015V19.9661H12.001V15.9668ZM19.9997 15.9668H24.0013V19.9661H19.9997V15.9668Z",fill:"#FA500F"}),(0,t.jsx)("path",{d:"M0 19.9668H12.0003V23.9673H0V19.9668ZM15.9997 19.9668H28V23.9673H15.9997V19.9668Z",fill:"#E10500"})]}),azure:(0,t.jsxs)("svg",{width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",xlinkHref:"http://www.w3.org/1999/xlink",children:[(0,t.jsx)("g",{"clip-path":"url(#clip0_2482_3252)",children:(0,t.jsx)("path",{d:"M28 0H0V28H28V0Z",fill:"url(#pattern0_2482_3252)"})}),(0,t.jsxs)("defs",{children:[(0,t.jsx)("pattern",{id:"pattern0_2482_3252",patternContentUnits:"objectBoundingBox",width:"1",height:"1",children:(0,t.jsx)("use",{xlinkHref:"#image0_2482_3252",transform:"scale(0.00166667)"})}),(0,t.jsx)("clipPath",{id:"clip0_2482_3252",children:(0,t.jsx)("rect",{width:"28",height:"28",fill:"white"})}),(0,t.jsx)("image",{id:"image0_2482_3252",width:"600",height:"600",preserveAspectRatio:"none",xlinkHref:"data:image/png;base64,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"})]})]})},eo={base_url:"",default_request_timeout_in_seconds:30,max_retries:0,retry_backoff_initial:1e3,retry_backoff_max:1e4},ec={concurrency:10,buffer_size:100},ed={connected:"bg-green-100 text-green-800",error:"bg-red-100 text-red-800",disconnected:"bg-gray-100 text-gray-800"},eg=(e,s)=>{let i=!e,t=(null==e?void 0:e.name)||s||"",r=!["vertex","ollama"].includes(t);return{selectedProvider:t,keys:i&&r?[{value:"",models:[],weight:1}]:!i&&r&&(null==e?void 0:e.keys)?e.keys:[],networkConfig:(null==e?void 0:e.network_config)||eo,performanceConfig:(null==e?void 0:e.concurrency_and_buffer_size)||ec,metaConfig:(null==e?void 0:e.meta_config)||{endpoint:"",deployments:{},api_version:""},proxyConfig:(null==e?void 0:e.proxy_config)||{type:"none",url:"",username:"",password:""}}};function eA(e){let{provider:s,onSave:i,onCancel:a,existingProviders:l}=e,n=s?void 0:j.xq.find(e=>!l.includes(e))||"",[o]=(0,r.useState)(eg(s,n)),[d,A]=(0,r.useState)({...o,isDirty:!1}),[w,h]=(0,r.useState)(!1),{selectedProvider:x,keys:W,networkConfig:v,performanceConfig:f,metaConfig:Y,proxyConfig:F,isDirty:p}=d,V="ollama"===x,y=!["vertex","ollama"].includes(x);y&&W.every(e=>""!==e.value.trim()),y&&W.length;let N=f.concurrency>0&&f.buffer_size>0&&f.concurrency{let e=!0,s="";if("azure"===x){let i=!!Y.endpoint&&""!==Y.endpoint.trim(),t=!!(Y.deployments&&"object"==typeof Y.deployments&&Object.keys(Y.deployments).length>0);(e=i&&t)||(s="Endpoint and at least one Deployment are required for Azure")}else if("bedrock"===x)(e=!!Y.region&&""!==Y.region.trim())||(s="Region is required for AWS Bedrock");else if("vertex"===x){let i=!!Y.project_id&&""!==Y.project_id.trim(),t=!!Y.auth_credentials&&""!==Y.auth_credentials.trim(),r=!!Y.region&&""!==Y.region.trim();(e=i&&t&&r)||(s="Project ID, Auth Credentials, and Region are required for Vertex AI")}return{valid:e,message:s}})(),q=!!s||""!==x;(0,r.useEffect)(()=>{let e={selectedProvider:x,keys:y?W:[],networkConfig:v,performanceConfig:f,metaConfig:Y,proxyConfig:F};A(s=>({...s,isDirty:!ei()(o,e)}))},[x,W,v,f,Y,F,o,y]);let R=(e,s)=>{A(i=>({...i,[e]:s}))},I=(e,s)=>{R("proxyConfig",{...F,[e]:s})},K=s?j.xq:j.xq.filter(e=>!l.includes(e)),k=async e=>{if(!U.isValid())return void g.o.error(U.getFirstError());e.preventDefault(),h(!0);let t=null;if(s){let e={keys:y?W.filter(e=>""!==e.value.trim()):[],network_config:v,concurrency_and_buffer_size:f,meta_config:Y,proxy_config:F};[,t]=await C.K.updateProvider(s.name,e)}else{let e={provider:x,keys:y?W.filter(e=>""!==e.value.trim()):[],network_config:v,concurrency_and_buffer_size:f,meta_config:Y,proxy_config:F};[,t]=await C.K.createProvider(e)}h(!1),t?g.o.error(t):(g.o.success("Provider ".concat(s?"updated":"added"," successfully")),i())},U=new el([el.required(x,"Please select a provider"),el.custom(p,"No changes to save"),...V?[el.required(v.base_url,"Base URL is required for Ollama provider"),el.pattern(v.base_url||"",/^https?:\/\/.+/,"Base URL must start with http:// or https://")]:[],...y?[el.minValue(W.length,1,"At least one API key is required"),el.custom(W.every(e=>""!==e.value.trim()),"API key value cannot be empty")]:[],el.minValue(v.default_request_timeout_in_seconds,1,"Timeout must be greater than 0 seconds"),el.minValue(v.max_retries,0,"Max retries cannot be negative"),el.minValue(f.concurrency,1,"Concurrency must be greater than 0"),el.minValue(f.buffer_size,1,"Buffer size must be greater than 0"),el.custom(f.concurrency{R("keys",W.filter((s,i)=>i!==e))},Z=(e,s,i)=>{let t=[...W],r={...t[e]};"models"===s&&Array.isArray(i)?r.models=i:"value"===s&&"string"==typeof i?r.value=i:"weight"===s&&"string"==typeof i&&(r.weight=parseFloat(i)||1),t[e]=r,R("keys",t)};return(0,t.jsx)(X.lG,{open:!0,onOpenChange:a,children:(0,t.jsxs)(X.Cf,{className:"max-h-[90vh] overflow-y-auto sm:max-w-3xl",children:[(0,t.jsxs)(X.c7,{children:[(0,t.jsx)(X.L3,{children:s?(0,t.jsxs)("div",{className:"flex items-center gap-2",children:["Edit Provider"," ",(0,t.jsx)("span",{className:"font-semibold ".concat(j.RY[s.name]," rounded-md px-2 py-1"),children:j.oU[s.name]})]}):(0,t.jsx)("div",{className:"flex items-center gap-2",children:"Add Provider"})}),(0,t.jsx)(X.rr,{children:"Configure AI provider settings, API keys, and network options."})]}),(0,t.jsx)(T.Separator,{}),(0,t.jsxs)("form",{onSubmit:k,className:"space-y-6",children:[(0,t.jsxs)("div",{className:"space-y-8",children:[!s&&(0===K.length?(0,t.jsx)("div",{className:"text-muted-foreground py-8 text-center font-medium",children:"All providers have been configured."}):(0,t.jsx)("div",{className:"grid grid-cols-4 gap-4",children:j.xq.map(e=>(0,t.jsxs)("div",{className:(0,B.cn)("flex w-full items-center gap-2 rounded-lg border px-4 py-3 text-sm",j.RY[e],x===e?"border-primary/20 opacity-100 hover:opacity-100":K.includes(e)?"cursor-pointer border-transparent opacity-60 hover:opacity-80 hover:shadow-md":"cursor-not-allowed border-transparent opacity-30"),onClick:()=>{K.includes(e)&&R("selectedProvider",e)},children:[en[e],(0,t.jsx)("div",{className:"text-sm",children:j.oU[e]})]},e))})),q&&(0,t.jsxs)(t.Fragment,{children:[y&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u.aR,{className:"mb-2 px-0",children:(0,t.jsxs)(u.ZB,{className:"flex items-center justify-between text-base",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(b.A,{className:"h-4 w-4"}),"API Keys",(0,t.jsx)(O.Bc,{children:(0,t.jsxs)(O.m_,{children:[(0,t.jsx)(O.k$,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(_.A,{className:"text-muted-foreground ml-1 h-3 w-3"})})}),(0,t.jsx)(O.ZI,{className:"max-w-fit",children:(0,t.jsxs)("p",{children:["Use ",(0,t.jsx)("code",{className:"rounded bg-neutral-100 px-1 py-0.5 text-neutral-800",children:"env."})," to read the value from an environment variable."]})})]})})]}),(0,t.jsxs)(H.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{R("keys",[...W,{value:"",models:[],weight:1}])},children:[(0,t.jsx)(Q.A,{className:"h-4 w-4"}),"Add Key"]})]})}),(0,t.jsx)("div",{className:"space-y-4",children:W.map((e,s)=>(0,t.jsxs)("div",{className:"space-y-4 rounded-md border p-4",children:[(0,t.jsxs)("div",{className:"flex gap-4",children:[(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:"API Key"}),(0,t.jsx)(D.p,{placeholder:"API Key or env.MY_KEY",value:e.value,onChange:e=>Z(s,"value",e.target.value),type:"text",className:"flex-1 ".concat(y&&""===e.value.trim()?"border-destructive":"")})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:"Weight"}),(0,t.jsx)(O.Bc,{children:(0,t.jsxs)(O.m_,{children:[(0,t.jsx)(O.k$,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(_.A,{className:"text-muted-foreground h-3 w-3"})})}),(0,t.jsx)(O.ZI,{children:(0,t.jsx)("p",{children:"Determines traffic distribution between keys. Higher weights receive more requests."})})]})})]}),(0,t.jsx)(D.p,{placeholder:"1.0",value:e.weight,onChange:e=>Z(s,"weight",e.target.value),type:"number",step:"0.1",min:"0.1",className:"w-20"})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:"Models (Optional)"}),(0,t.jsx)(O.Bc,{children:(0,t.jsxs)(O.m_,{children:[(0,t.jsx)(O.k$,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(_.A,{className:"text-muted-foreground h-3 w-3"})})}),(0,t.jsx)(O.ZI,{children:(0,t.jsx)("p",{children:"Comma-separated list of models this key applies to. Leave blank for all models."})})]})})]}),(0,t.jsx)(J,{placeholder:"e.g. gpt-4, gpt-3.5-turbo",value:e.models||[],onValueChange:e=>Z(s,"models",e)})]}),W.length>1&&(0,t.jsxs)(H.$,{type:"button",variant:"destructive",size:"sm",onClick:()=>M(s),className:"mt-2",children:[(0,t.jsx)(z.A,{className:"h-4 w-4"}),"Remove Key"]})]},s))})]}),(0,t.jsx)(ea,{provider:x,metaConfig:Y,onMetaConfigChange:(e,s)=>{R("metaConfig",{...Y,[e]:s})}}),(0,t.jsxs)("div",{children:[(0,t.jsx)(u.aR,{className:"mb-2 px-0",children:(0,t.jsxs)(u.ZB,{className:"flex items-center gap-2 text-base",children:[(0,t.jsx)($.A,{className:"h-4 w-4"}),"Network Configuration"]})}),(0,t.jsx)(u.Wu,{className:"space-y-4 px-0",children:(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"text-sm font-medium",children:["Base URL ",V?"(Required)":"(Optional)"]}),(0,t.jsx)(D.p,{placeholder:"https://api.example.com",value:v.base_url||"",onChange:e=>R("networkConfig",{...v,base_url:e.target.value}),className:V&&!v.base_url?"border-destructive":""})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:"Timeout (seconds)"}),(0,t.jsx)(D.p,{type:"number",placeholder:"30",value:v.default_request_timeout_in_seconds,onChange:e=>R("networkConfig",{...v,default_request_timeout_in_seconds:parseInt(e.target.value)||30})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:"Max Retries"}),(0,t.jsx)(D.p,{type:"number",placeholder:"0",value:v.max_retries,onChange:e=>R("networkConfig",{...v,max_retries:parseInt(e.target.value)||0})})]})]})]})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(u.aR,{className:"mb-2 px-0",children:(0,t.jsxs)(u.ZB,{className:"flex items-center gap-2 text-base",children:[(0,t.jsx)(c.A,{className:"h-4 w-4"}),"Performance Settings"]})}),E&&(0,t.jsxs)(L.Fc,{className:"mb-3",children:[(0,t.jsx)(m.A,{className:"h-4 w-4"}),(0,t.jsxs)(L.TN,{children:[(0,t.jsx)("strong",{children:"Heads up:"})," Changing concurrency or buffer size may temporarily affect request latency for this provider while the new settings are being applied."]})]}),(0,t.jsx)(u.Wu,{className:"space-y-4 px-0",children:(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:"Concurrency"}),(0,t.jsx)(D.p,{type:"number",value:f.concurrency,onChange:e=>R("performanceConfig",{...f,concurrency:parseInt(e.target.value)||0}),className:N?"":"border-destructive"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:"Buffer Size"}),(0,t.jsx)(D.p,{type:"number",value:f.buffer_size,onChange:e=>R("performanceConfig",{...f,buffer_size:parseInt(e.target.value)||0}),className:N?"":"border-destructive"})]})]})})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(u.aR,{className:"mb-2 px-0",children:(0,t.jsxs)(u.ZB,{className:"flex items-center gap-2 text-base",children:[(0,t.jsx)($.A,{className:"h-4 w-4"}),"Proxy Settings"]})}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:"Proxy Type"}),(0,t.jsxs)(S.l6,{value:F.type,onValueChange:e=>I("type",e),children:[(0,t.jsx)(S.bq,{className:"w-48",children:(0,t.jsx)(S.yv,{placeholder:"Select type"})}),(0,t.jsxs)(S.gC,{children:[(0,t.jsx)(S.eb,{value:"none",children:"None"}),(0,t.jsx)(S.eb,{value:"http",children:"HTTP"}),(0,t.jsx)(S.eb,{value:"socks5",children:"SOCKS5"}),(0,t.jsx)(S.eb,{value:"environment",children:"Environment"})]})]})]}),"none"!==F.type&&"environment"!==F.type&&(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:"Proxy URL"}),(0,t.jsx)(D.p,{placeholder:"http://proxy.example.com:8080",value:F.url||"",onChange:e=>I("url",e.target.value)})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:"Username"}),(0,t.jsx)(D.p,{value:F.username||"",onChange:e=>I("username",e.target.value),placeholder:"Proxy username"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:"Password"}),(0,t.jsx)(D.p,{type:"password",value:F.password||"",onChange:e=>I("password",e.target.value),placeholder:"Proxy password"})]})]})]})]})]})]})]}),K.length>0&&(0,t.jsxs)("div",{className:"flex justify-end space-x-3",children:[(0,t.jsx)(H.$,{type:"button",variant:"outline",onClick:a,children:"Cancel"}),(0,t.jsx)(O.Bc,{children:(0,t.jsxs)(O.m_,{children:[(0,t.jsx)(O.k$,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsxs)(H.$,{type:"submit",disabled:!U.isValid()||w,isLoading:w,children:[(0,t.jsx)(ee.A,{className:"h-4 w-4"}),w?"Saving...":"Save Provider"]})})}),(!U.isValid()||w)&&(0,t.jsx)(O.ZI,{children:(0,t.jsx)("p",{children:w?"Saving...":U.getFirstError()||"Please fix validation errors"})})]})})]})]})]})})}function eC(e){let{providers:s,onRefresh:i}=e,[a,l]=(0,r.useState)(!1),[o,c]=(0,r.useState)(null),[d,A]=(0,r.useState)(null),w=async e=>{A(e);let[,s]=await C.K.deleteProvider(e);A(null),s?g.o.error(s):(g.o.success("Provider deleted successfully"),i())},B=e=>{c(e),l(!0)};return(0,t.jsxs)(t.Fragment,{children:[a&&(0,t.jsx)(eA,{provider:o,onSave:()=>{l(!1),c(null),i()},onCancel:()=>l(!1),existingProviders:s.map(e=>e.name)}),(0,t.jsxs)(u.aR,{className:"mb-4 px-0",children:[(0,t.jsxs)(u.ZB,{className:"flex items-center justify-between",children:[(0,t.jsx)("div",{className:"flex items-center gap-2",children:"AI Providers"}),(0,t.jsxs)(H.$,{onClick:()=>{c(null),l(!0)},children:[(0,t.jsx)(Q.A,{className:"h-4 w-4"}),"Add Provider"]})]}),(0,t.jsx)(u.BT,{children:"Manage AI model providers, their API keys, and configuration settings."})]}),(0,t.jsx)("div",{className:"rounded-md border",children:(0,t.jsxs)(p.XI,{children:[(0,t.jsx)(p.A0,{children:(0,t.jsxs)(p.Hj,{children:[(0,t.jsx)(p.nd,{children:"Provider"}),(0,t.jsx)(p.nd,{children:"Concurrency"}),(0,t.jsx)(p.nd,{children:"Buffer Size"}),(0,t.jsx)(p.nd,{children:"Max Retries"}),(0,t.jsx)(p.nd,{children:"API Keys"}),(0,t.jsx)(p.nd,{className:"text-right",children:"Actions"})]})}),(0,t.jsxs)(p.BF,{children:[0===s.length&&(0,t.jsx)(p.Hj,{children:(0,t.jsx)(p.nA,{colSpan:6,className:"py-6 text-center",children:"No providers found."})}),s.map(e=>{var s,i,r,a;return(0,t.jsxs)(p.Hj,{children:[(0,t.jsx)(p.nA,{children:(0,t.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,t.jsx)("div",{className:"h-3 w-3 rounded-full ".concat(j.RY[e.name]||"bg-gray-400")}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium",children:j.oU[e.name]||e.name}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.name})]})]})}),(0,t.jsx)(p.nA,{children:(0,t.jsx)("div",{className:"flex items-center space-x-2",children:(0,t.jsx)(n.E,{variant:"outline",children:(null==(s=e.concurrency_and_buffer_size)?void 0:s.concurrency)||1})})}),(0,t.jsx)(p.nA,{children:(0,t.jsx)("div",{className:"flex items-center space-x-2",children:(0,t.jsx)(n.E,{variant:"outline",children:(null==(i=e.concurrency_and_buffer_size)?void 0:i.buffer_size)||10})})}),(0,t.jsx)(p.nA,{children:(0,t.jsx)("div",{className:"flex items-center space-x-2",children:(0,t.jsx)(n.E,{variant:"outline",children:(null==(r=e.network_config)?void 0:r.max_retries)||0})})}),(0,t.jsx)(p.nA,{children:(0,t.jsx)("div",{className:"flex items-center space-x-2",children:"vertex"!==e.name&&"ollama"!==e.name?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.A,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsxs)("span",{className:"text-sm",children:[(null==(a=e.keys)?void 0:a.length)||0," keys"]})]}):(0,t.jsx)("span",{className:"text-sm",children:"N/A"})})}),(0,t.jsx)(p.nA,{className:"text-right",children:(0,t.jsxs)("div",{className:"flex items-center justify-end space-x-2",children:[(0,t.jsx)(H.$,{variant:"outline",size:"sm",onClick:()=>B(e),children:(0,t.jsx)(V.A,{className:"h-4 w-4"})}),(0,t.jsxs)(E,{children:[(0,t.jsx)(P,{asChild:!0,children:(0,t.jsx)(H.$,{variant:"outline",size:"sm",disabled:d===e.name,children:d===e.name?(0,t.jsx)(x.A,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(y.A,{className:"h-4 w-4"})})}),(0,t.jsxs)(R,{children:[(0,t.jsxs)(I,{children:[(0,t.jsx)(k,{children:"Delete Provider"}),(0,t.jsxs)(U,{children:["Are you sure you want to delete provider ",e.name,"? This action cannot be undone."]})]}),(0,t.jsxs)(K,{children:[(0,t.jsx)(Z,{children:"Cancel"}),(0,t.jsx)(M,{onClick:()=>w(e.name),children:"Delete"})]})]})]})]})})]},e.name)})]})]})})]})}var eu=i(968);function ew(e){let{className:s,...i}=e;return(0,t.jsx)(eu.b,{"data-slot":"label",className:(0,B.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",s),...i})}let eB={name:"",connection_type:"http",connection_string:"",stdio_config:{command:"",args:[],envs:[]},tools_to_skip:[],tools_to_execute:[]},eh=e=>{var s,i,a,l,n,o;let{client:c,open:d,onClose:g,onSaved:u}=e,[w,B]=(0,r.useState)(eB),[h,x]=(0,r.useState)(!1),[W,F]=(0,r.useState)(""),[p,Q]=(0,r.useState)(""),[b,V]=(0,r.useState)(""),[y,j]=(0,r.useState)(""),{toast:N}=A();(0,r.useEffect)(()=>{if(c){var e,s,i,t,r;B({name:c.name,connection_type:c.config.connection_type,connection_string:c.config.connection_string||"",stdio_config:{command:(null==(e=c.config.stdio_config)?void 0:e.command)||"",args:(null==(s=c.config.stdio_config)?void 0:s.args)||[],envs:(null==(i=c.config.stdio_config)?void 0:i.envs)||[]},tools_to_skip:c.config.tools_to_skip||[],tools_to_execute:c.config.tools_to_execute||[]}),F(((null==(t=c.config.stdio_config)?void 0:t.args)||[]).join(", ")),Q(((null==(r=c.config.stdio_config)?void 0:r.envs)||[]).join(", ")),V((c.config.tools_to_skip||[]).join(", ")),j((c.config.tools_to_execute||[]).join(", "))}else B(eB),F(""),Q(""),V(""),j("")},[c]);let E=(e,s)=>{B(i=>({...i,[e]:s}))},P=(e,s)=>{B(i=>({...i,stdio_config:{...i.stdio_config,[e]:s}}))},G=new el([el.required(null==(s=w.name)?void 0:s.trim(),"Client name is required"),el.pattern(w.name||"",/^[a-zA-Z0-9-_]+$/,"Client name can only contain letters, numbers, hyphens and underscores"),el.minLength(w.name||"",3,"Client name must be at least 3 characters"),el.maxLength(w.name||"",50,"Client name cannot exceed 50 characters"),...("http"===w.connection_type||"sse"===w.connection_type)&&!c?[el.required(null==(i=w.connection_string)?void 0:i.trim(),"Connection URL is required"),el.pattern(w.connection_string||"",/^(http:\/\/|https:\/\/|env\.[A-Z_]+$)/,"Connection URL must start with http://, https://, or be an environment variable (env.VAR_NAME)")]:[],..."stdio"===w.connection_type&&!c?[el.required(null==(l=w.stdio_config)||null==(a=l.command)?void 0:a.trim(),"Command is required for STDIO connections"),...!c?[el.pattern((null==(n=w.stdio_config)?void 0:n.command)||"",/^[^<>|&;]+$/,"Command cannot contain special shell characters")]:[]]:[],...y.trim()?[el.pattern(y,/^[a-zA-Z0-9_,-\s]+$/,"Tools to execute can only contain letters, numbers, underscores, and commas")]:[],...b.trim()?[el.pattern(b,/^[a-zA-Z0-9_,-\s]+$/,"Tools to skip can only contain letters, numbers, underscores, and commas")]:[],...c?[el.custom(!Y(w.tools_to_execute||[],f(y))||!Y(w.tools_to_skip||[],f(b)),"No changes to save")]:[],el.custom(!((e,s)=>{let i=new Set(f(e)),t=new Set(f(s));return Array.from(i).some(e=>t.has(e))})(y,b),"Tools cannot appear in both execute and skip lists")]),q=async()=>{x(!0);let e=null,s={...w,stdio_config:"stdio"===w.connection_type?{...w.stdio_config,args:f(W),envs:f(p)}:void 0,tools_to_skip:f(b),tools_to_execute:f(y)};if(c){let i={tools_to_execute:s.tools_to_execute,tools_to_skip:s.tools_to_skip};[,e]=await C.K.updateMCPClient(c.name,i)}else[,e]=await C.K.createMCPClient(s);x(!1),e?N({title:"Error",description:e,variant:"destructive"}):(N({title:"Success",description:c?"Client updated":"Client created"}),u(),g())};return(0,t.jsx)(X.lG,{open:d,onOpenChange:g,children:(0,t.jsxs)(X.Cf,{className:"max-h-[90vh] max-w-2xl overflow-y-auto",children:[(0,t.jsx)(X.c7,{children:(0,t.jsx)(X.L3,{children:c?"Edit MCP Client Tools":"New MCP Client"})}),(0,t.jsxs)(L.Fc,{children:[(0,t.jsx)(m.A,{className:"h-4 w-4"}),(0,t.jsxs)(L.TN,{children:[(0,t.jsx)("strong",{children:"Performance Notice:"})," This operation may temporarily increase latency for incoming requests while being processed."]})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(ew,{children:"Name"}),(0,t.jsx)(D.p,{value:w.name,onChange:e=>E("name",e.target.value),placeholder:"Client name",disabled:!!c})]}),!c&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"w-full space-y-2",children:[(0,t.jsx)(ew,{children:"Connection Type"}),(0,t.jsxs)(S.l6,{value:w.connection_type,onValueChange:e=>E("connection_type",e),children:[(0,t.jsx)(S.bq,{className:"w-full",children:(0,t.jsx)(S.yv,{placeholder:"Select connection type"})}),(0,t.jsxs)(S.gC,{children:[(0,t.jsx)(S.eb,{value:"http",children:"HTTP (Streamable)"}),(0,t.jsx)(S.eb,{value:"sse",children:"Server-Sent Events (SSE)"}),(0,t.jsx)(S.eb,{value:"stdio",children:"STDIO"})]})]})]}),("http"===w.connection_type||"sse"===w.connection_type)&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex w-fit items-center gap-1",children:[(0,t.jsx)(ew,{children:"Connection URL"}),(0,t.jsx)(O.Bc,{children:(0,t.jsxs)(O.m_,{children:[(0,t.jsx)(O.k$,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(_.A,{className:"text-muted-foreground ml-1 h-3 w-3"})})}),(0,t.jsx)(O.ZI,{className:"max-w-fit",children:(0,t.jsxs)("p",{children:["Use ",(0,t.jsx)("code",{className:"rounded bg-neutral-100 px-1 py-0.5 text-neutral-800",children:"env."})," to read the value from an environment variable."]})})]})})]}),(0,t.jsx)(D.p,{value:w.connection_string||"",onChange:e=>E("connection_string",e.target.value),placeholder:"http://your-mcp-server:3000 or env.MCP_SERVER_URL"})]}),"stdio"===w.connection_type&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(ew,{children:"Command"}),(0,t.jsx)(D.p,{value:(null==(o=w.stdio_config)?void 0:o.command)||"",onChange:e=>P("command",e.target.value),placeholder:"node, python, /path/to/executable"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(ew,{children:"Arguments (comma-separated)"}),(0,t.jsx)(D.p,{value:W,onChange:e=>F(e.target.value),placeholder:"--port, 3000, --config, config.json"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(ew,{children:"Environment Variables (comma-separated)"}),(0,t.jsx)(D.p,{value:p,onChange:e=>Q(e.target.value),placeholder:"API_KEY, DATABASE_URL"})]})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(ew,{children:"Tools to Execute (comma-separated, leave empty for all)"}),(0,t.jsx)(v,{value:y,onChange:e=>j(e.target.value),placeholder:"tool1, tool2, tool3",rows:2})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(ew,{children:"Tools to Skip (comma-separated)"}),(0,t.jsx)(v,{value:b,onChange:e=>V(e.target.value),placeholder:"skipTool1, skipTool2",rows:2})]})]}),(0,t.jsxs)(X.Es,{children:[(0,t.jsx)(H.$,{variant:"outline",onClick:g,disabled:h,children:"Cancel"}),(0,t.jsx)(O.Bc,{children:(0,t.jsxs)(O.m_,{children:[(0,t.jsx)(O.k$,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(H.$,{onClick:q,disabled:!G.isValid()||h,isLoading:h,children:c?"Save":"Create"})})}),!G.isValid()&&(0,t.jsx)(O.ZI,{children:G.getFirstError()||"Please fix validation errors"})]})})]})]})})};var ex=i(4109),em=i(9917);function eW(){let[e,s]=(0,r.useState)([]),[i,a]=(0,r.useState)(null),[l,o]=(0,r.useState)(!1),{toast:c}=A(),d=async()=>{let[e,i]=await C.K.getMCPClients();i?c({title:"Error",description:i,variant:"destructive"}):s(e||[])};(0,r.useEffect)(()=>{d()},[]);let g=e=>{a(e),o(!0)},w=async e=>{let[,s]=await C.K.reconnectMCPClient(e.name);s?c({title:"Error",description:s,variant:"destructive"}):(c({title:"Reconnected",description:"Client reconnected."}),d())},B=async e=>{let[,s]=await C.K.deleteMCPClient(e.name);s?c({title:"Error",description:s,variant:"destructive"}):(c({title:"Deleted",description:"Client removed."}),d())},h=e=>{if("stdio"===e.config.connection_type){var s,i;return(null==(s=e.config.stdio_config)?void 0:s.command)+" "+(null==(i=e.config.stdio_config)?void 0:i.args.join(" "))||"STDIO"}return e.config.connection_string||"".concat(e.config.connection_type.toUpperCase())},x=e=>{switch(e){case"http":return"HTTP";case"sse":return"SSE";case"stdio":return"STDIO";default:return e.toUpperCase()}};return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)(u.aR,{className:"mb-4 px-0",children:[(0,t.jsxs)(u.ZB,{className:"flex items-center justify-between",children:[(0,t.jsx)("div",{className:"flex items-center gap-2",children:"Registered Clients"}),(0,t.jsxs)(H.$,{onClick:()=>{a(null),o(!0)},children:[(0,t.jsx)(Q.A,{className:"h-4 w-4"})," New Client"]})]}),(0,t.jsx)(u.BT,{children:"Manage clients that can connect to the MCP Tools endpoint."})]}),(0,t.jsx)("div",{className:"rounded-md border",children:(0,t.jsxs)(p.XI,{children:[(0,t.jsx)(p.A0,{children:(0,t.jsxs)(p.Hj,{children:[(0,t.jsx)(p.nd,{children:"Name"}),(0,t.jsx)(p.nd,{children:"Connection Type"}),(0,t.jsx)(p.nd,{children:"Connection Info"}),(0,t.jsx)(p.nd,{children:"State"}),(0,t.jsx)(p.nd,{className:"text-right",children:"Actions"})]})}),(0,t.jsxs)(p.BF,{children:[0===e.length&&(0,t.jsx)(p.Hj,{children:(0,t.jsx)(p.nA,{colSpan:5,className:"py-6 text-center",children:"No clients found."})}),e.map(e=>(0,t.jsxs)(p.Hj,{children:[(0,t.jsx)(p.nA,{className:"font-medium",children:e.name}),(0,t.jsx)(p.nA,{children:x(e.config.connection_type)}),(0,t.jsx)(p.nA,{className:"max-w-72 overflow-hidden text-ellipsis whitespace-nowrap",children:h(e)}),(0,t.jsx)(p.nA,{children:(0,t.jsx)(n.E,{className:ed[e.state],children:e.state})}),(0,t.jsxs)(p.nA,{className:"space-x-2 text-right",children:["disconnected"===e.state?(0,t.jsx)(H.$,{variant:"ghost",size:"icon",onClick:()=>w(e),children:(0,t.jsx)(ex.A,{className:"h-4 w-4"})}):"connected"===e.state&&(0,t.jsx)(H.$,{variant:"ghost",size:"icon",onClick:()=>g(e),children:(0,t.jsx)(em.A,{className:"h-4 w-4"})}),(0,t.jsxs)(E,{children:[(0,t.jsx)(P,{asChild:!0,children:(0,t.jsx)(H.$,{variant:"ghost",size:"icon",disabled:"error"===e.state,children:(0,t.jsx)(y.A,{className:"h-4 w-4"})})}),(0,t.jsxs)(R,{children:[(0,t.jsxs)(I,{children:[(0,t.jsx)(k,{children:"Remove MCP Client"}),(0,t.jsxs)(U,{children:["Are you sure you want to remove MCP client ",e.name,"? You will need to reconnect the client to continue using it."]})]}),(0,t.jsxs)(K,{children:[(0,t.jsx)(Z,{children:"Cancel"}),(0,t.jsx)(M,{onClick:()=>B(e),children:"Delete"})]})]})]})]})]},e.name))]})]})}),l&&(0,t.jsx)(eh,{open:l,client:i,onClose:()=>o(!1),onSaved:()=>{o(!1),d()}})]})}var eL=i(2384);function eD(){let[e,s]=(0,r.useState)("providers"),[i,g]=(0,r.useState)(!0),[u,w]=(0,r.useState)(!0),[B,h]=(0,r.useState)([]),[x,m]=(0,r.useState)([]),{toast:W}=A();(0,r.useEffect)(()=>{L(),D()},[]);let L=async()=>{let[e,s]=await C.K.getProviders();if(g(!1),s)return void W({title:"Error",description:s,variant:"destructive"});h((null==e?void 0:e.providers)||[])},D=async()=>{let[e,s]=await C.K.getMCPClients();if(w(!1),s)return void W({title:"Error",description:s,variant:"destructive"});m(e||[])};return(0,t.jsxs)("div",{className:"bg-background",children:[(0,t.jsx)(a.A,{title:"Configuration"}),i||u?(0,t.jsx)(eL.A,{}):(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-3xl font-bold",children:"Configuration"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-2",children:"Configure AI providers, API keys, and system settings for your Bifrost instance."})]}),(0,t.jsxs)(l.Tabs,{value:e,onValueChange:s,className:"space-y-6",children:[(0,t.jsxs)(l.TabsList,{className:"grid h-12 w-full grid-cols-3",children:[(0,t.jsxs)(l.TabsTrigger,{value:"providers",className:"flex items-center gap-2",children:[(0,t.jsx)(o.A,{className:"h-4 w-4"}),"Providers",(0,t.jsx)(n.E,{variant:"default",className:"ml-1",children:B.length})]}),(0,t.jsxs)(l.TabsTrigger,{value:"mcp",className:"flex items-center gap-2",children:[(0,t.jsx)(c.A,{className:"h-4 w-4"}),"MCP Clients",x.length>0&&(0,t.jsx)(n.E,{variant:"default",className:"ml-1",children:x.length})]}),(0,t.jsxs)(l.TabsTrigger,{value:"core",className:"flex items-center gap-2",children:[(0,t.jsx)(d.A,{className:"h-4 w-4"}),"Core Settings"]})]}),(0,t.jsx)(l.TabsContent,{value:"providers",className:"space-y-4",children:(0,t.jsx)(eC,{providers:B,onRefresh:L})}),(0,t.jsx)(l.TabsContent,{value:"mcp",className:"space-y-4",children:(0,t.jsx)(eW,{})}),(0,t.jsx)(l.TabsContent,{value:"core",className:"space-y-4",children:(0,t.jsx)(F,{})})]})]})]})}},7777:(e,s,i)=>{"use strict";i.d(s,{Bc:()=>l,ZI:()=>c,k$:()=>o,m_:()=>n});var t=i(5155);i(2115);var r=i(9613),a=i(3999);function l(e){let{delayDuration:s=0,...i}=e;return(0,t.jsx)(r.Kq,{"data-slot":"tooltip-provider",delayDuration:s,...i})}function n(e){let{...s}=e;return(0,t.jsx)(l,{children:(0,t.jsx)(r.bL,{"data-slot":"tooltip",...s})})}function o(e){let{...s}=e;return(0,t.jsx)(r.l9,{"data-slot":"tooltip-trigger",...s})}function c(e){let{className:s,sideOffset:i=0,children:l,...n}=e;return(0,t.jsx)(r.ZL,{children:(0,t.jsxs)(r.UC,{"data-slot":"tooltip-content",sideOffset:i,className:(0,a.cn)("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",s),...n,children:[l,(0,t.jsx)(r.i3,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}},8835:(e,s,i)=>{Promise.resolve().then(i.bind(i,6137))}},e=>{var s=s=>e(e.s=s);e.O(0,[867,519,678,866,273,529,341,441,684,358],()=>s(8835)),_N_E=e.O()}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/app/config/page-bf3c65256b3fc98b.js b/transports/bifrost-http/ui/_next/static/chunks/app/config/page-bf3c65256b3fc98b.js deleted file mode 100644 index fccae1a597..0000000000 --- a/transports/bifrost-http/ui/_next/static/chunks/app/config/page-bf3c65256b3fc98b.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[653],{1059:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>ey});var n=t(5155),a=t(2115),r=t(9464),i=t(4964),l=t(7168),c=t(8145),o=t(4229),d=t(4213),u=t(1539),m=t(381),x=t(6671);function h(){return{toast:e=>{let{title:s,description:t,variant:n}=e,a=t?"".concat(s,": ").concat(t):s;"destructive"===n?x.o.error(a):x.o.success(a)}}}var p=t(1886),j=t(8482),f=t(4884),g=t(3999);let v=a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,n.jsx)(f.bL,{className:(0,g.cn)("peer focus-visible:ring-ring focus-visible:ring-offset-background data-[state=checked]:bg-primary data-[state=unchecked]:bg-input inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",t),...a,ref:s,children:(0,n.jsx)(f.zi,{className:(0,g.cn)("bg-background pointer-events-none block h-5 w-5 rounded-full shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})})});v.displayName=f.bL.displayName;var y=t(1154),b=t(1243),N=t(7489),_=t(9026),C=t(9852);function w(e){let{className:s,...t}=e;return(0,n.jsx)("textarea",{"data-slot":"textarea",className:(0,g.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",s),...t})}function A(){let[e,s]=(0,a.useState)({drop_excess_requests:!1,initial_pool_size:300}),[t,r]=(0,a.useState)(!0),[i,l]=(0,a.useState)({initial_pool_size:"300",prometheus_labels:""}),c=(0,a.useRef)(void 0),o=(0,a.useRef)(void 0);(0,a.useEffect)(()=>{(async()=>{let[e,t]=await p.K.getCoreConfig();if(t)x.o.error(t);else if(e){var n;s(e),l({initial_pool_size:(null==(n=e.initial_pool_size)?void 0:n.toString())||"300",prometheus_labels:e.prometheus_labels||""})}r(!1)})()},[]);let d=(0,a.useCallback)(async(t,n)=>{let a={...e,[t]:n};s(a);let[,r]=await p.K.updateCoreConfig(a);r?x.o.error(r):x.o.success("Core setting updated successfully.")},[e]),u=async(e,s)=>{await d(e,s)},m=(0,a.useCallback)(e=>{l(s=>({...s,initial_pool_size:e})),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{let s=parseInt(e);!isNaN(s)&&s>0&&d("initial_pool_size",s)},1e3)},[d]),h=(0,a.useCallback)(e=>{l(s=>({...s,prometheus_labels:e})),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{d("prometheus_labels",e)},1e3)},[d]);return((0,a.useEffect)(()=>()=>{c.current&&clearTimeout(c.current),o.current&&clearTimeout(o.current)},[]),t)?(0,n.jsx)("div",{className:"flex h-64 items-center justify-center",children:(0,n.jsx)(y.A,{className:"h-4 w-4 animate-spin"})}):(0,n.jsxs)("div",{children:[(0,n.jsxs)(j.aR,{className:"mb-4 px-0",children:[(0,n.jsx)(j.ZB,{className:"flex items-center gap-2",children:"Core System Settings"}),(0,n.jsx)(j.BT,{children:"Configure core Bifrost settings like request handling, pool sizes, and system behavior."})]}),(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between space-x-2 rounded-lg border p-4",children:[(0,n.jsxs)("div",{className:"space-y-0.5",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Drop Excess Requests"}),(0,n.jsx)("p",{className:"text-muted-foreground text-sm",children:"If enabled, Bifrost will drop requests that exceed pool capacity."})]}),(0,n.jsx)(v,{checked:e.drop_excess_requests,onCheckedChange:e=>u("drop_excess_requests",e)})]}),(0,n.jsx)(N.w,{}),(0,n.jsxs)(_.Fc,{children:[(0,n.jsx)(b.A,{className:"h-4 w-4"}),(0,n.jsx)(_.TN,{children:"The settings below won't affect current connections. You will need to save the configuration for changes to take effect on the next restart."})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between space-x-2 rounded-lg border p-4",children:[(0,n.jsxs)("div",{className:"space-y-0.5",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Initial Pool Size"}),(0,n.jsx)("p",{className:"text-muted-foreground text-sm",children:"The initial connection pool size."})]}),(0,n.jsx)(C.p,{type:"number",className:"w-24",value:i.initial_pool_size,onChange:e=>m(e.target.value),min:"1"})]}),(0,n.jsxs)("div",{className:"space-y-2 rounded-lg border p-4",children:[(0,n.jsxs)("div",{className:"space-y-0.5",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Prometheus Labels"}),(0,n.jsx)("p",{className:"text-muted-foreground text-sm",children:"Comma-separated list of custom labels to add to the Prometheus metrics."})]}),(0,n.jsx)(w,{className:"h-24",placeholder:"teamId, projectId, environment",value:i.prometheus_labels,onChange:e=>h(e.target.value)})]})]})]})}var k=t(8524),S=t(4616),z=t(9803),P=t(3717),E=t(2525),V=t(7783),T=t(7649);function I(e){let{...s}=e;return(0,n.jsx)(T.bL,{"data-slot":"alert-dialog",...s})}function R(e){let{...s}=e;return(0,n.jsx)(T.l9,{"data-slot":"alert-dialog-trigger",...s})}function M(e){let{...s}=e;return(0,n.jsx)(T.ZL,{"data-slot":"alert-dialog-portal",...s})}function q(e){let{className:s,...t}=e;return(0,n.jsx)(T.hJ,{"data-slot":"alert-dialog-overlay",className:(0,g.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",s),...t})}function B(e){let{className:s,...t}=e;return(0,n.jsxs)(M,{children:[(0,n.jsx)(q,{}),(0,n.jsx)(T.UC,{"data-slot":"alert-dialog-content",className:(0,g.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",s),...t})]})}function D(e){let{className:s,...t}=e;return(0,n.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,g.cn)("flex flex-col gap-2 text-center sm:text-left",s),...t})}function L(e){let{className:s,...t}=e;return(0,n.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,g.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",s),...t})}function Z(e){let{className:s,...t}=e;return(0,n.jsx)(T.hE,{"data-slot":"alert-dialog-title",className:(0,g.cn)("text-lg font-semibold",s),...t})}function F(e){let{className:s,...t}=e;return(0,n.jsx)(T.VY,{"data-slot":"alert-dialog-description",className:(0,g.cn)("text-muted-foreground text-sm",s),...t})}function H(e){let{className:s,...t}=e;return(0,n.jsx)(T.rc,{className:(0,g.cn)((0,l.r)({variant:"destructive"}),s),...t})}function O(e){let{className:s,...t}=e;return(0,n.jsx)(T.ZD,{className:(0,g.cn)((0,l.r)({variant:"outline"}),s),...t})}var U=t(5784),$=t(9840),K=t(7777),Y=t(4416);let G=a.forwardRef((e,s)=>{let{className:t,value:r,onValueChange:i,...l}=e,[o,d]=a.useState(""),u=e=>{i(r.filter(s=>s!==e))};return(0,n.jsxs)("div",{className:(0,g.cn)("border-input flex flex-wrap items-center gap-2 rounded-md border p-2",t),children:[r.map(e=>(0,n.jsxs)(c.E,{variant:"secondary",className:"flex items-center gap-1",children:[e,(0,n.jsx)("button",{type:"button",className:"ring-offset-background focus:ring-ring cursor-pointer rounded-full outline-none focus:ring-2 focus:ring-offset-2",onClick:()=>u(e),children:(0,n.jsx)(Y.A,{className:"h-3 w-3"})})]},e)),(0,n.jsx)(C.p,{ref:s,type:"text",value:o,onChange:e=>{d(e.target.value)},onKeyDown:e=>{if("Enter"===e.key||","===e.key){e.preventDefault();let s=o.trim();s&&!r.includes(s)&&i([...r,s]),d("")}else"Backspace"===e.key&&""===o&&r.length>0&&i(r.slice(0,-1))},className:"flex-1 border-0 shadow-none focus-visible:ring-0",...l})]})});G.displayName="TagInput";var J=t(6037),W=t(1284),X=t(4869),Q=t(9231),ee=t.n(Q),es=t(8103);let et={azure:{title:"Azure OpenAI Meta Config",fields:[{name:"endpoint",label:"Endpoint",type:"text",placeholder:"https://your-resource.openai.azure.com or env.AZURE_ENDPOINT"},{name:"api_version",label:"API Version (Optional)",type:"text",placeholder:"YYYY-MM-DD or env.AZURE_VERSION"},{name:"deployments",label:"Deployments (JSON format)",type:"textarea",placeholder:'{ "gpt-4": "my-deployment" }',isJson:!0}]},bedrock:{title:"AWS Bedrock Meta Config",fields:[{name:"region",label:"Region",type:"text",placeholder:"us-east-1 or env.AWS_REGION"}]},vertex:{title:"Google Vertex AI Meta Config",fields:[{name:"project_id",label:"Project ID",type:"text",placeholder:"gcp-project-id or env.GCP_PROJECT"},{name:"region",label:"Region",type:"text",placeholder:"us-central1 or env.GCP_REGION"},{name:"auth_credentials",label:"Auth Credentials (JSON key)",type:"textarea",placeholder:"JSON key or env.GCP_CREDS"}]}},en=e=>{let{provider:s,metaConfig:t,onMetaConfigChange:a}=e,r=et[s];if(!r)return null;let i=e=>{let s=t[e.name];return"textarea"===e.type?(0,n.jsx)(w,{placeholder:e.placeholder,value:e.isJson?"string"==typeof s?s:JSON.stringify(s,null,2):s||"",onChange:s=>{a(e.name,s.target.value)},onBlur:s=>{if(e.isJson)try{let t=JSON.parse(s.target.value);a(e.name,t)}catch(e){}},rows:4,className:"max-w-full font-mono text-sm wrap-anywhere"}):(0,n.jsx)(C.p,{placeholder:e.placeholder,value:s||"",onChange:s=>a(e.name,s.target.value)})};return(0,n.jsxs)("div",{className:"",children:[(0,n.jsx)(j.aR,{className:"mb-2 px-0",children:(0,n.jsxs)(j.ZB,{className:"flex items-center gap-2 text-base",children:[(0,n.jsx)(es.A,{className:"h-4 w-4"}),r.title,(0,n.jsx)(K.Bc,{children:(0,n.jsxs)(K.m_,{children:[(0,n.jsx)(K.k$,{asChild:!0,children:(0,n.jsx)("span",{children:(0,n.jsx)(W.A,{className:"text-muted-foreground ml-1 h-3 w-3"})})}),(0,n.jsx)(K.ZI,{className:"max-w-fit",children:(0,n.jsxs)("p",{children:["Use ",(0,n.jsx)("code",{className:"rounded bg-neutral-100 px-1 py-0.5 text-neutral-800",children:"env."})," to read the value from an environment variable."]})})]})})]})}),(0,n.jsx)(j.Wu,{className:"space-y-4 px-0",children:r.fields.map(e=>(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"block text-sm font-medium",children:e.label}),i(e)]},e.name))})]})};class ea{isValid(){return!this.rules.some(e=>!e.isValid)}getErrors(){return this.rules.filter(e=>!e.isValid).map(e=>e.message)}getFirstError(){let e=this.rules.find(e=>!e.isValid);return null==e?void 0:e.message}static required(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"This field is required";return{isValid:null!=e&&""!==e&&0!==e,message:s}}static minValue(e,s){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Must be at least ".concat(s);return{isValid:!isNaN(e)&&e>=s,message:t}}static maxValue(e,s){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Must be at most ".concat(s);return{isValid:!isNaN(e)&&e<=s,message:t}}static pattern(e,s,t){return{isValid:s.test(e||""),message:t}}static email(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Must be a valid email";return this.pattern(e,/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,s)}static url(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Must be a valid URL";return this.pattern(e,/^https?:\/\/.+/,s)}static minLength(e,s){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Must be at least ".concat(s," characters");return{isValid:(e||"").length>=s,message:t}}static maxLength(e,s){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Must be at most ".concat(s," characters");return{isValid:(e||"").length<=s,message:t}}static arrayMinLength(e,s){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Must have at least ".concat(s," items");return{isValid:(null==e?void 0:e.length)>=s,message:t}}static arrayMaxLength(e,s){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Must have at most ".concat(s," items");return{isValid:(null==e?void 0:e.length)<=s,message:t}}static custom(e,s){return{isValid:e,message:s}}static all(e){return e.find(e=>!e.isValid)||{isValid:!0,message:""}}constructor(e){this.rules=e.filter(e=>void 0!==e)}}var er=t(4432);let ei={base_url:"",default_request_timeout_in_seconds:30,max_retries:0,retry_backoff_initial:1e3,retry_backoff_max:1e4},el={concurrency:10,buffer_size:100},ec={connected:"bg-green-100 text-green-800",error:"bg-red-100 text-red-800",disconnected:"bg-gray-100 text-gray-800"},eo=(e,s)=>{let t=!e,n=(null==e?void 0:e.name)||s||"",a=!["vertex","ollama"].includes(n);return{selectedProvider:n,keys:t&&a?[{value:"",models:[],weight:1}]:!t&&a&&(null==e?void 0:e.keys)?e.keys:[],networkConfig:(null==e?void 0:e.network_config)||ei,performanceConfig:(null==e?void 0:e.concurrency_and_buffer_size)||el,metaConfig:(null==e?void 0:e.meta_config)||{endpoint:"",deployments:{},api_version:""},proxyConfig:(null==e?void 0:e.proxy_config)||{type:"none",url:"",username:"",password:""}}};function ed(e){let{provider:s,onSave:t,onCancel:r,existingProviders:i}=e,c=s?void 0:V.xq.find(e=>!i.includes(e))||"",[d]=(0,a.useState)(eo(s,c)),[m,h]=(0,a.useState)({...d,isDirty:!1}),[f,v]=(0,a.useState)(!1),{selectedProvider:y,keys:N,networkConfig:w,performanceConfig:A,metaConfig:k,proxyConfig:P,isDirty:E}=m,T="ollama"===y,I=!["vertex","ollama"].includes(y);I&&N.every(e=>""!==e.value.trim()),I&&N.length;let R=A.concurrency>0&&A.buffer_size>0&&A.concurrency{let e=!0,s="";if("azure"===y){let t=!!k.endpoint&&""!==k.endpoint.trim(),n=!!(k.deployments&&"object"==typeof k.deployments&&Object.keys(k.deployments).length>0);(e=t&&n)||(s="Endpoint and at least one Deployment are required for Azure")}else if("bedrock"===y)(e=!!k.region&&""!==k.region.trim())||(s="Region is required for AWS Bedrock");else if("vertex"===y){let t=!!k.project_id&&""!==k.project_id.trim(),n=!!k.auth_credentials&&""!==k.auth_credentials.trim(),a=!!k.region&&""!==k.region.trim();(e=t&&n&&a)||(s="Project ID, Auth Credentials, and Region are required for Vertex AI")}return{valid:e,message:s}})(),D=!!s||""!==y;(0,a.useEffect)(()=>{let e={selectedProvider:y,keys:I?N:[],networkConfig:w,performanceConfig:A,metaConfig:k,proxyConfig:P};h(s=>({...s,isDirty:!ee()(d,e)}))},[y,N,w,A,k,P,d,I]);let L=(e,s)=>{h(t=>({...t,[e]:s}))},Z=(e,s)=>{L("proxyConfig",{...P,[e]:s})},F=s?V.xq:V.xq.filter(e=>!i.includes(e)),H=async e=>{if(!O.isValid())return void x.o.error(O.getFirstError());e.preventDefault(),v(!0);let n=null;if(s){let e={keys:I?N.filter(e=>""!==e.value.trim()):[],network_config:w,concurrency_and_buffer_size:A,meta_config:k,proxy_config:P};[,n]=await p.K.updateProvider(s.name,e)}else{let e={provider:y,keys:I?N.filter(e=>""!==e.value.trim()):[],network_config:w,concurrency_and_buffer_size:A,meta_config:k,proxy_config:P};[,n]=await p.K.createProvider(e)}v(!1),n?x.o.error(n):(x.o.success("Provider ".concat(s?"updated":"added"," successfully")),t())},O=new ea([ea.required(y,"Please select a provider"),ea.custom(E,"No changes to save"),...T?[ea.required(w.base_url,"Base URL is required for Ollama provider"),ea.pattern(w.base_url||"",/^https?:\/\/.+/,"Base URL must start with http:// or https://")]:[],...I?[ea.minValue(N.length,1,"At least one API key is required"),ea.custom(N.every(e=>""!==e.value.trim()),"API key value cannot be empty")]:[],ea.minValue(w.default_request_timeout_in_seconds,1,"Timeout must be greater than 0 seconds"),ea.minValue(w.max_retries,0,"Max retries cannot be negative"),ea.minValue(A.concurrency,1,"Concurrency must be greater than 0"),ea.minValue(A.buffer_size,1,"Buffer size must be greater than 0"),ea.custom(A.concurrency{L("keys",N.filter((s,t)=>t!==e))},es=(e,s,t)=>{let n=[...N],a={...n[e]};"models"===s&&Array.isArray(t)?a.models=t:"value"===s&&"string"==typeof t?a.value=t:"weight"===s&&"string"==typeof t&&(a.weight=parseFloat(t)||1),n[e]=a,L("keys",n)};return(0,n.jsx)($.lG,{open:!0,onOpenChange:r,children:(0,n.jsxs)($.Cf,{className:"max-h-[90vh] overflow-y-auto sm:max-w-3xl",children:[(0,n.jsxs)($.c7,{children:[(0,n.jsx)($.L3,{children:s?(0,n.jsxs)("div",{className:"flex items-center gap-2",children:["Edit Provider"," ",(0,n.jsx)("span",{className:"font-semibold ".concat(V.RY[s.name]," rounded-md px-2 py-1"),children:V.oU[s.name]})]}):(0,n.jsx)("div",{className:"flex items-center gap-2",children:"Add Provider"})}),(0,n.jsx)($.rr,{children:"Configure AI provider settings, API keys, and network options."})]}),(0,n.jsx)(J.Separator,{}),(0,n.jsxs)("form",{onSubmit:H,className:"space-y-6",children:[(0,n.jsxs)("div",{className:"space-y-8",children:[!s&&(0===F.length?(0,n.jsx)("div",{className:"text-muted-foreground py-8 text-center font-medium",children:"All providers have been configured."}):(0,n.jsx)("div",{className:"grid grid-cols-4 gap-4",children:V.xq.map(e=>(0,n.jsxs)("div",{className:(0,g.cn)("flex w-full items-center gap-2 rounded-lg border px-4 py-3 text-sm",V.RY[e],y===e?"border-primary/20 opacity-100 hover:opacity-100":F.includes(e)?"cursor-pointer border-transparent opacity-60 hover:opacity-80 hover:shadow-md":"cursor-not-allowed border-transparent opacity-30"),onClick:()=>{F.includes(e)&&L("selectedProvider",e)},children:[er.F[e],(0,n.jsx)("div",{className:"text-sm",children:V.oU[e]})]},e))})),D&&(0,n.jsxs)(n.Fragment,{children:[I&&(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(j.aR,{className:"mb-2 px-0",children:(0,n.jsxs)(j.ZB,{className:"flex items-center justify-between text-base",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(z.A,{className:"h-4 w-4"}),"API Keys",(0,n.jsx)(K.Bc,{children:(0,n.jsxs)(K.m_,{children:[(0,n.jsx)(K.k$,{asChild:!0,children:(0,n.jsx)("span",{children:(0,n.jsx)(W.A,{className:"text-muted-foreground ml-1 h-3 w-3"})})}),(0,n.jsx)(K.ZI,{className:"max-w-fit",children:(0,n.jsxs)("p",{children:["Use ",(0,n.jsx)("code",{className:"rounded bg-neutral-100 px-1 py-0.5 text-neutral-800",children:"env."})," to read the value from an environment variable."]})})]})})]}),(0,n.jsxs)(l.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{L("keys",[...N,{value:"",models:[],weight:1}])},children:[(0,n.jsx)(S.A,{className:"h-4 w-4"}),"Add Key"]})]})}),(0,n.jsx)("div",{className:"space-y-4",children:N.map((e,s)=>(0,n.jsxs)("div",{className:"space-y-4 rounded-md border p-4",children:[(0,n.jsxs)("div",{className:"flex gap-4",children:[(0,n.jsxs)("div",{className:"flex-1",children:[(0,n.jsx)("div",{className:"text-sm font-medium",children:"API Key"}),(0,n.jsx)(C.p,{placeholder:"API Key or env.MY_KEY",value:e.value,onChange:e=>es(s,"value",e.target.value),type:"text",className:"flex-1 ".concat(I&&""===e.value.trim()?"border-destructive":"")})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Weight"}),(0,n.jsx)(K.Bc,{children:(0,n.jsxs)(K.m_,{children:[(0,n.jsx)(K.k$,{asChild:!0,children:(0,n.jsx)("span",{children:(0,n.jsx)(W.A,{className:"text-muted-foreground h-3 w-3"})})}),(0,n.jsx)(K.ZI,{children:(0,n.jsx)("p",{children:"Determines traffic distribution between keys. Higher weights receive more requests."})})]})})]}),(0,n.jsx)(C.p,{placeholder:"1.0",value:e.weight,onChange:e=>es(s,"weight",e.target.value),type:"number",step:"0.1",min:"0.1",className:"w-20"})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Models (Optional)"}),(0,n.jsx)(K.Bc,{children:(0,n.jsxs)(K.m_,{children:[(0,n.jsx)(K.k$,{asChild:!0,children:(0,n.jsx)("span",{children:(0,n.jsx)(W.A,{className:"text-muted-foreground h-3 w-3"})})}),(0,n.jsx)(K.ZI,{children:(0,n.jsx)("p",{children:"Comma-separated list of models this key applies to. Leave blank for all models."})})]})})]}),(0,n.jsx)(G,{placeholder:"e.g. gpt-4, gpt-3.5-turbo",value:e.models||[],onValueChange:e=>es(s,"models",e)})]}),N.length>1&&(0,n.jsxs)(l.$,{type:"button",variant:"destructive",size:"sm",onClick:()=>Q(s),className:"mt-2",children:[(0,n.jsx)(Y.A,{className:"h-4 w-4"}),"Remove Key"]})]},s))})]}),(0,n.jsx)(en,{provider:y,metaConfig:k,onMetaConfigChange:(e,s)=>{L("metaConfig",{...k,[e]:s})}}),(0,n.jsxs)("div",{children:[(0,n.jsx)(j.aR,{className:"mb-2 px-0",children:(0,n.jsxs)(j.ZB,{className:"flex items-center gap-2 text-base",children:[(0,n.jsx)(X.A,{className:"h-4 w-4"}),"Network Configuration"]})}),(0,n.jsx)(j.Wu,{className:"space-y-4 px-0",children:(0,n.jsxs)("div",{className:"grid grid-cols-1 gap-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsxs)("label",{className:"text-sm font-medium",children:["Base URL ",T?"(Required)":"(Optional)"]}),(0,n.jsx)(C.p,{placeholder:"https://api.example.com",value:w.base_url||"",onChange:e=>L("networkConfig",{...w,base_url:e.target.value}),className:T&&!w.base_url?"border-destructive":""})]}),(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Timeout (seconds)"}),(0,n.jsx)(C.p,{type:"number",placeholder:"30",value:w.default_request_timeout_in_seconds,onChange:e=>L("networkConfig",{...w,default_request_timeout_in_seconds:parseInt(e.target.value)||30})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Max Retries"}),(0,n.jsx)(C.p,{type:"number",placeholder:"0",value:w.max_retries,onChange:e=>L("networkConfig",{...w,max_retries:parseInt(e.target.value)||0})})]})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(j.aR,{className:"mb-2 px-0",children:(0,n.jsxs)(j.ZB,{className:"flex items-center gap-2 text-base",children:[(0,n.jsx)(u.A,{className:"h-4 w-4"}),"Performance Settings"]})}),M&&(0,n.jsxs)(_.Fc,{className:"mb-3",children:[(0,n.jsx)(b.A,{className:"h-4 w-4"}),(0,n.jsxs)(_.TN,{children:[(0,n.jsx)("strong",{children:"Heads up:"})," Changing concurrency or buffer size may temporarily affect request latency for this provider while the new settings are being applied."]})]}),(0,n.jsx)(j.Wu,{className:"space-y-4 px-0",children:(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Concurrency"}),(0,n.jsx)(C.p,{type:"number",value:A.concurrency,onChange:e=>L("performanceConfig",{...A,concurrency:parseInt(e.target.value)||0}),className:R?"":"border-destructive"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Buffer Size"}),(0,n.jsx)(C.p,{type:"number",value:A.buffer_size,onChange:e=>L("performanceConfig",{...A,buffer_size:parseInt(e.target.value)||0}),className:R?"":"border-destructive"})]})]})})]}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)(j.aR,{className:"mb-2 px-0",children:(0,n.jsxs)(j.ZB,{className:"flex items-center gap-2 text-base",children:[(0,n.jsx)(X.A,{className:"h-4 w-4"}),"Proxy Settings"]})}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Proxy Type"}),(0,n.jsxs)(U.l6,{value:P.type,onValueChange:e=>Z("type",e),children:[(0,n.jsx)(U.bq,{className:"w-48",children:(0,n.jsx)(U.yv,{placeholder:"Select type"})}),(0,n.jsxs)(U.gC,{children:[(0,n.jsx)(U.eb,{value:"none",children:"None"}),(0,n.jsx)(U.eb,{value:"http",children:"HTTP"}),(0,n.jsx)(U.eb,{value:"socks5",children:"SOCKS5"}),(0,n.jsx)(U.eb,{value:"environment",children:"Environment"})]})]})]}),"none"!==P.type&&"environment"!==P.type&&(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Proxy URL"}),(0,n.jsx)(C.p,{placeholder:"http://proxy.example.com:8080",value:P.url||"",onChange:e=>Z("url",e.target.value)})]}),(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Username"}),(0,n.jsx)(C.p,{value:P.username||"",onChange:e=>Z("username",e.target.value),placeholder:"Proxy username"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Password"}),(0,n.jsx)(C.p,{type:"password",value:P.password||"",onChange:e=>Z("password",e.target.value),placeholder:"Proxy password"})]})]})]})]})]})]})]}),F.length>0&&(0,n.jsxs)("div",{className:"flex justify-end space-x-3",children:[(0,n.jsx)(l.$,{type:"button",variant:"outline",onClick:r,children:"Cancel"}),(0,n.jsx)(K.Bc,{children:(0,n.jsxs)(K.m_,{children:[(0,n.jsx)(K.k$,{asChild:!0,children:(0,n.jsx)("span",{children:(0,n.jsxs)(l.$,{type:"submit",disabled:!O.isValid()||f,isLoading:f,children:[(0,n.jsx)(o.A,{className:"h-4 w-4"}),f?"Saving...":"Save Provider"]})})}),(!O.isValid()||f)&&(0,n.jsx)(K.ZI,{children:(0,n.jsx)("p",{children:f?"Saving...":O.getFirstError()||"Please fix validation errors"})})]})})]})]})]})})}function eu(e){let{providers:s,onRefresh:t}=e,[r,i]=(0,a.useState)(!1),[o,d]=(0,a.useState)(null),[u,m]=(0,a.useState)(null),h=async e=>{m(e);let[,s]=await p.K.deleteProvider(e);m(null),s?x.o.error(s):(x.o.success("Provider deleted successfully"),t())},f=e=>{d(e),i(!0)};return(0,n.jsxs)(n.Fragment,{children:[r&&(0,n.jsx)(ed,{provider:o,onSave:()=>{i(!1),d(null),t()},onCancel:()=>i(!1),existingProviders:s.map(e=>e.name)}),(0,n.jsxs)(j.aR,{className:"mb-4 px-0",children:[(0,n.jsxs)(j.ZB,{className:"flex items-center justify-between",children:[(0,n.jsx)("div",{className:"flex items-center gap-2",children:"AI Providers"}),(0,n.jsxs)(l.$,{onClick:()=>{d(null),i(!0)},children:[(0,n.jsx)(S.A,{className:"h-4 w-4"}),"Add Provider"]})]}),(0,n.jsx)(j.BT,{children:"Manage AI model providers, their API keys, and configuration settings."})]}),(0,n.jsx)("div",{className:"rounded-md border",children:(0,n.jsxs)(k.XI,{children:[(0,n.jsx)(k.A0,{children:(0,n.jsxs)(k.Hj,{children:[(0,n.jsx)(k.nd,{children:"Provider"}),(0,n.jsx)(k.nd,{children:"Concurrency"}),(0,n.jsx)(k.nd,{children:"Buffer Size"}),(0,n.jsx)(k.nd,{children:"Max Retries"}),(0,n.jsx)(k.nd,{children:"API Keys"}),(0,n.jsx)(k.nd,{className:"text-right",children:"Actions"})]})}),(0,n.jsxs)(k.BF,{children:[0===s.length&&(0,n.jsx)(k.Hj,{children:(0,n.jsx)(k.nA,{colSpan:5,className:"py-6 text-center",children:"No providers found."})}),s.map(e=>{var s,t,a,r;return(0,n.jsxs)(k.Hj,{children:[(0,n.jsx)(k.nA,{children:(0,n.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,n.jsx)("div",{className:"h-3 w-3 rounded-full ".concat(V.RY[e.name]||"bg-gray-400")}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"font-medium",children:V.oU[e.name]||e.name}),(0,n.jsx)("p",{className:"text-muted-foreground text-sm",children:e.name})]})]})}),(0,n.jsx)(k.nA,{children:(0,n.jsx)("div",{className:"flex items-center space-x-2",children:(0,n.jsx)(c.E,{variant:"outline",children:(null==(s=e.concurrency_and_buffer_size)?void 0:s.concurrency)||1})})}),(0,n.jsx)(k.nA,{children:(0,n.jsx)("div",{className:"flex items-center space-x-2",children:(0,n.jsx)(c.E,{variant:"outline",children:(null==(t=e.concurrency_and_buffer_size)?void 0:t.buffer_size)||10})})}),(0,n.jsx)(k.nA,{children:(0,n.jsx)("div",{className:"flex items-center space-x-2",children:(0,n.jsx)(c.E,{variant:"outline",children:(null==(a=e.network_config)?void 0:a.max_retries)||0})})}),(0,n.jsx)(k.nA,{children:(0,n.jsx)("div",{className:"flex items-center space-x-2",children:"vertex"!==e.name&&"ollama"!==e.name?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(z.A,{className:"text-muted-foreground h-4 w-4"}),(0,n.jsxs)("span",{className:"text-sm",children:[(null==(r=e.keys)?void 0:r.length)||0," keys"]})]}):(0,n.jsx)("span",{className:"text-sm",children:"N/A"})})}),(0,n.jsx)(k.nA,{className:"text-right",children:(0,n.jsxs)("div",{className:"flex items-center justify-end space-x-2",children:[(0,n.jsx)(l.$,{variant:"outline",size:"sm",onClick:()=>f(e),children:(0,n.jsx)(P.A,{className:"h-4 w-4"})}),(0,n.jsxs)(I,{children:[(0,n.jsx)(R,{asChild:!0,children:(0,n.jsx)(l.$,{variant:"outline",size:"sm",disabled:u===e.name,children:u===e.name?(0,n.jsx)(y.A,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(E.A,{className:"h-4 w-4"})})}),(0,n.jsxs)(B,{children:[(0,n.jsxs)(D,{children:[(0,n.jsx)(Z,{children:"Delete Provider"}),(0,n.jsxs)(F,{children:["Are you sure you want to delete provider ",e.name,"? This action cannot be undone."]})]}),(0,n.jsxs)(L,{children:[(0,n.jsx)(O,{children:"Cancel"}),(0,n.jsx)(H,{onClick:()=>h(e.name),children:"Delete"})]})]})]})]})})]},e.name)})]})]})})]})}var em=t(968);function ex(e){let{className:s,...t}=e;return(0,n.jsx)(em.b,{"data-slot":"label",className:(0,g.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",s),...t})}let eh={name:"",connection_type:"http",connection_string:"",stdio_config:{command:"",args:[],envs:[]},tools_to_skip:[],tools_to_execute:[]},ep=e=>{var s,t,r,i,c,o;let{client:d,open:u,onClose:m,onSaved:x}=e,[j,f]=(0,a.useState)(eh),[g,v]=(0,a.useState)(!1),[y,N]=(0,a.useState)(""),[A,k]=(0,a.useState)(""),[S,z]=(0,a.useState)(""),[P,E]=(0,a.useState)(""),{toast:V}=h();(0,a.useEffect)(()=>{if(d){var e,s,t,n,a;f({name:d.name,connection_type:d.config.connection_type,connection_string:d.config.connection_string||"",stdio_config:{command:(null==(e=d.config.stdio_config)?void 0:e.command)||"",args:(null==(s=d.config.stdio_config)?void 0:s.args)||[],envs:(null==(t=d.config.stdio_config)?void 0:t.envs)||[]},tools_to_skip:d.config.tools_to_skip||[],tools_to_execute:d.config.tools_to_execute||[]}),N(((null==(n=d.config.stdio_config)?void 0:n.args)||[]).join(", ")),k(((null==(a=d.config.stdio_config)?void 0:a.envs)||[]).join(", ")),z((d.config.tools_to_skip||[]).join(", ")),E((d.config.tools_to_execute||[]).join(", "))}else f(eh),N(""),k(""),z(""),E("")},[d]);let T=(e,s)=>{f(t=>({...t,[e]:s}))},I=(e,s)=>{f(t=>({...t,stdio_config:{...t.stdio_config,[e]:s}}))},R=e=>e.split(",").map(e=>e.trim()).filter(e=>e.length>0),M=new ea([ea.required(null==(s=j.name)?void 0:s.trim(),"Client name is required"),ea.pattern(j.name||"",/^[a-zA-Z0-9-_]+$/,"Client name can only contain letters, numbers, hyphens and underscores"),ea.minLength(j.name||"",3,"Client name must be at least 3 characters"),ea.maxLength(j.name||"",50,"Client name cannot exceed 50 characters"),..."http"===j.connection_type||"sse"===j.connection_type?[ea.required(null==(t=j.connection_string)?void 0:t.trim(),"Connection URL is required"),ea.pattern(j.connection_string||"",/^(http:\/\/|https:\/\/|env\.[A-Z_]+$)/,"Connection URL must start with http://, https://, or be an environment variable (env.VAR_NAME)")]:[],..."stdio"===j.connection_type?[ea.required(null==(i=j.stdio_config)||null==(r=i.command)?void 0:r.trim(),"Command is required for STDIO connections"),...!d?[ea.pattern((null==(c=j.stdio_config)?void 0:c.command)||"",/^[^<>|&;]+$/,"Command cannot contain special shell characters")]:[]]:[],...P.trim()?[ea.pattern(P,/^[a-zA-Z0-9_,-\s]+$/,"Tools to execute can only contain letters, numbers, underscores, and commas")]:[],...S.trim()?[ea.pattern(S,/^[a-zA-Z0-9_,-\s]+$/,"Tools to skip can only contain letters, numbers, underscores, and commas")]:[],ea.custom(!((e,s)=>{let t=new Set(R(e)),n=new Set(R(s));return Array.from(t).some(e=>n.has(e))})(P,S),"Tools cannot appear in both execute and skip lists")]),q=async()=>{v(!0);let e=null,s={...j,stdio_config:"stdio"===j.connection_type?{...j.stdio_config,args:R(y),envs:R(A)}:void 0,tools_to_skip:R(S),tools_to_execute:R(P)};if(d){let t={tools_to_execute:s.tools_to_execute,tools_to_skip:s.tools_to_skip};[,e]=await p.K.updateMCPClient(d.name,t)}else[,e]=await p.K.createMCPClient(s);v(!1),e?V({title:"Error",description:e,variant:"destructive"}):(V({title:"Success",description:d?"Client updated":"Client created"}),x(),m())};return(0,n.jsx)($.lG,{open:u,onOpenChange:m,children:(0,n.jsxs)($.Cf,{className:"max-h-[90vh] max-w-2xl overflow-y-auto",children:[(0,n.jsx)($.c7,{children:(0,n.jsx)($.L3,{children:d?"Edit MCP Client Tools":"New MCP Client"})}),(0,n.jsxs)(_.Fc,{children:[(0,n.jsx)(b.A,{className:"h-4 w-4"}),(0,n.jsxs)(_.TN,{children:[(0,n.jsx)("strong",{children:"Performance Notice:"})," This operation may temporarily increase latency for incoming requests while being processed."]})]}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(ex,{children:"Name"}),(0,n.jsx)(C.p,{value:j.name,onChange:e=>T("name",e.target.value),placeholder:"Client name",disabled:!!d})]}),!d&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"w-full space-y-2",children:[(0,n.jsx)(ex,{children:"Connection Type"}),(0,n.jsxs)(U.l6,{value:j.connection_type,onValueChange:e=>T("connection_type",e),children:[(0,n.jsx)(U.bq,{className:"w-full",children:(0,n.jsx)(U.yv,{placeholder:"Select connection type"})}),(0,n.jsxs)(U.gC,{children:[(0,n.jsx)(U.eb,{value:"http",children:"HTTP (Streamable)"}),(0,n.jsx)(U.eb,{value:"sse",children:"Server-Sent Events (SSE)"}),(0,n.jsx)(U.eb,{value:"stdio",children:"STDIO"})]})]})]}),("http"===j.connection_type||"sse"===j.connection_type)&&(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsxs)("div",{className:"flex w-fit items-center gap-1",children:[(0,n.jsx)(ex,{children:"Connection URL"}),(0,n.jsx)(K.Bc,{children:(0,n.jsxs)(K.m_,{children:[(0,n.jsx)(K.k$,{asChild:!0,children:(0,n.jsx)("span",{children:(0,n.jsx)(W.A,{className:"text-muted-foreground ml-1 h-3 w-3"})})}),(0,n.jsx)(K.ZI,{className:"max-w-fit",children:(0,n.jsxs)("p",{children:["Use ",(0,n.jsx)("code",{className:"rounded bg-neutral-100 px-1 py-0.5 text-neutral-800",children:"env."})," to read the value from an environment variable."]})})]})})]}),(0,n.jsx)(C.p,{value:j.connection_string||"",onChange:e=>T("connection_string",e.target.value),placeholder:"http://your-mcp-server:3000 or env.MCP_SERVER_URL"})]}),"stdio"===j.connection_type&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(ex,{children:"Command"}),(0,n.jsx)(C.p,{value:(null==(o=j.stdio_config)?void 0:o.command)||"",onChange:e=>I("command",e.target.value),placeholder:"node, python, /path/to/executable"})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(ex,{children:"Arguments (comma-separated)"}),(0,n.jsx)(C.p,{value:y,onChange:e=>N(e.target.value),placeholder:"--port, 3000, --config, config.json"})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(ex,{children:"Environment Variables (comma-separated)"}),(0,n.jsx)(C.p,{value:A,onChange:e=>k(e.target.value),placeholder:"API_KEY, DATABASE_URL"})]})]})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(ex,{children:"Tools to Execute (comma-separated, leave empty for all)"}),(0,n.jsx)(w,{value:P,onChange:e=>E(e.target.value),placeholder:"tool1, tool2, tool3",rows:2})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(ex,{children:"Tools to Skip (comma-separated)"}),(0,n.jsx)(w,{value:S,onChange:e=>z(e.target.value),placeholder:"skipTool1, skipTool2",rows:2})]})]}),(0,n.jsxs)($.Es,{children:[(0,n.jsx)(l.$,{variant:"outline",onClick:m,disabled:g,children:"Cancel"}),(0,n.jsx)(K.Bc,{children:(0,n.jsxs)(K.m_,{children:[(0,n.jsx)(K.k$,{asChild:!0,children:(0,n.jsx)("span",{children:(0,n.jsx)(l.$,{onClick:q,disabled:!M.isValid()||g,isLoading:g,children:d?"Save":"Create"})})}),(!M.isValid()||g)&&(0,n.jsx)(K.ZI,{children:(0,n.jsx)("p",{children:g?"Saving...":M.getFirstError()||"Please fix validation errors"})})]})})]})]})})};var ej=t(4109),ef=t(9917);function eg(){let[e,s]=(0,a.useState)([]),[t,r]=(0,a.useState)(null),[i,o]=(0,a.useState)(!1),{toast:d}=h(),u=async()=>{let[e,t]=await p.K.getMCPClients();t?d({title:"Error",description:t,variant:"destructive"}):s(e||[])};(0,a.useEffect)(()=>{u()},[]);let m=e=>{r(e),o(!0)},x=async e=>{let[,s]=await p.K.reconnectMCPClient(e.name);s?d({title:"Error",description:s,variant:"destructive"}):(d({title:"Reconnected",description:"Client reconnected."}),u())},f=async e=>{let[,s]=await p.K.deleteMCPClient(e.name);s?d({title:"Error",description:s,variant:"destructive"}):(d({title:"Deleted",description:"Client removed."}),u())},g=e=>{if("stdio"===e.config.connection_type){var s,t;return(null==(s=e.config.stdio_config)?void 0:s.command)+" "+(null==(t=e.config.stdio_config)?void 0:t.args.join(" "))||"STDIO"}return e.config.connection_string||"".concat(e.config.connection_type.toUpperCase())},v=e=>{switch(e){case"http":return"HTTP";case"sse":return"SSE";case"stdio":return"STDIO";default:return e.toUpperCase()}};return(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)(j.aR,{className:"mb-4 px-0",children:[(0,n.jsxs)(j.ZB,{className:"flex items-center justify-between",children:[(0,n.jsx)("div",{className:"flex items-center gap-2",children:"Registered Clients"}),(0,n.jsxs)(l.$,{onClick:()=>{r(null),o(!0)},children:[(0,n.jsx)(S.A,{className:"h-4 w-4"})," New Client"]})]}),(0,n.jsx)(j.BT,{children:"Manage clients that can connect to the MCP Tools endpoint."})]}),(0,n.jsx)("div",{className:"rounded-md border",children:(0,n.jsxs)(k.XI,{children:[(0,n.jsx)(k.A0,{children:(0,n.jsxs)(k.Hj,{children:[(0,n.jsx)(k.nd,{children:"Name"}),(0,n.jsx)(k.nd,{children:"Connection Type"}),(0,n.jsx)(k.nd,{children:"Connection Info"}),(0,n.jsx)(k.nd,{children:"State"}),(0,n.jsx)(k.nd,{className:"text-right",children:"Actions"})]})}),(0,n.jsxs)(k.BF,{children:[0===e.length&&(0,n.jsx)(k.Hj,{children:(0,n.jsx)(k.nA,{colSpan:5,className:"py-6 text-center",children:"No clients found."})}),e.map(e=>(0,n.jsxs)(k.Hj,{children:[(0,n.jsx)(k.nA,{className:"font-medium",children:e.name}),(0,n.jsx)(k.nA,{children:v(e.config.connection_type)}),(0,n.jsx)(k.nA,{className:"max-w-72 overflow-hidden text-ellipsis whitespace-nowrap",children:g(e)}),(0,n.jsx)(k.nA,{children:(0,n.jsx)(c.E,{className:ec[e.state],children:e.state})}),(0,n.jsxs)(k.nA,{className:"space-x-2 text-right",children:["disconnected"===e.state?(0,n.jsx)(l.$,{variant:"ghost",size:"icon",onClick:()=>x(e),children:(0,n.jsx)(ej.A,{className:"h-4 w-4"})}):"connected"===e.state&&(0,n.jsx)(l.$,{variant:"ghost",size:"icon",onClick:()=>m(e),children:(0,n.jsx)(ef.A,{className:"h-4 w-4"})}),(0,n.jsxs)(I,{children:[(0,n.jsx)(R,{asChild:!0,children:(0,n.jsx)(l.$,{variant:"ghost",size:"icon",disabled:"error"===e.state,children:(0,n.jsx)(E.A,{className:"h-4 w-4"})})}),(0,n.jsxs)(B,{children:[(0,n.jsxs)(D,{children:[(0,n.jsx)(Z,{children:"Remove MCP Client"}),(0,n.jsxs)(F,{children:["Are you sure you want to remove MCP client ",e.name,"? You will need to reconnect the client to continue using it."]})]}),(0,n.jsxs)(L,{children:[(0,n.jsx)(O,{children:"Cancel"}),(0,n.jsx)(H,{onClick:()=>f(e),children:"Delete"})]})]})]})]})]},e.name))]})]})}),i&&(0,n.jsx)(ep,{open:i,client:t,onClose:()=>o(!1),onSaved:()=>{o(!1),u()}})]})}var ev=t(2384);function ey(){let[e,s]=(0,a.useState)("providers"),[t,x]=(0,a.useState)(!0),[j,f]=(0,a.useState)(!0),[g,v]=(0,a.useState)([]),[y,b]=(0,a.useState)([]),{toast:N}=h();(0,a.useEffect)(()=>{_(),C()},[]);let _=async()=>{let[e,s]=await p.K.getProviders();if(x(!1),s)return void N({title:"Error",description:s,variant:"destructive"});v((null==e?void 0:e.providers)||[])},C=async()=>{let[e,s]=await p.K.getMCPClients();if(f(!1),s)return void N({title:"Error",description:s,variant:"destructive"});b(e||[])},w=async()=>{let[,e]=await p.K.saveConfig();e?N({title:"Error",description:e,variant:"destructive"}):N({title:"Success",description:"Configuration saved successfully"})};return(0,n.jsxs)("div",{className:"bg-background",children:[(0,n.jsx)(r.A,{title:"Configuration"}),t||j?(0,n.jsx)(ev.A,{}):(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-3xl font-bold",children:"Configuration"}),(0,n.jsx)("p",{className:"text-muted-foreground mt-2",children:"Configure AI providers, API keys, and system settings for your Bifrost instance."})]}),(0,n.jsx)(K.Bc,{children:(0,n.jsxs)(K.m_,{children:[(0,n.jsx)(K.k$,{asChild:!0,children:(0,n.jsxs)(l.$,{onClick:w,variant:"outline",disabled:t||j,children:[(0,n.jsx)(o.A,{className:"h-4 w-4"}),"Save Config"]})}),(0,n.jsx)(K.ZI,{children:"Persist configuration for next server start."})]})})]}),(0,n.jsxs)(i.Tabs,{value:e,onValueChange:s,className:"space-y-6",children:[(0,n.jsxs)(i.TabsList,{className:"grid h-12 w-full grid-cols-3",children:[(0,n.jsxs)(i.TabsTrigger,{value:"providers",className:"flex items-center gap-2",children:[(0,n.jsx)(d.A,{className:"h-4 w-4"}),"Providers",(0,n.jsx)(c.E,{variant:"default",className:"ml-1",children:g.length})]}),(0,n.jsxs)(i.TabsTrigger,{value:"mcp",className:"flex items-center gap-2",children:[(0,n.jsx)(u.A,{className:"h-4 w-4"}),"MCP Clients",y.length>0&&(0,n.jsx)(c.E,{variant:"default",className:"ml-1",children:y.length})]}),(0,n.jsxs)(i.TabsTrigger,{value:"core",className:"flex items-center gap-2",children:[(0,n.jsx)(m.A,{className:"h-4 w-4"}),"Core Settings"]})]}),(0,n.jsx)(i.TabsContent,{value:"providers",className:"space-y-4",children:(0,n.jsx)(eu,{providers:g,onRefresh:_})}),(0,n.jsx)(i.TabsContent,{value:"mcp",className:"space-y-4",children:(0,n.jsx)(eg,{})}),(0,n.jsx)(i.TabsContent,{value:"core",className:"space-y-4",children:(0,n.jsx)(A,{})})]})]})]})}},4432:(e,s,t)=>{"use strict";t.d(s,{F:()=>u});var n=t(5155),a=t(4213),r=t(381),i=t(5487),l=t(5448),c=t(9803),o=t(4869),d=t(1154);let u={bifrost:(0,n.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 259 247",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,n.jsx)("path",{d:"M126.157 20V67.2283L82.9686 182.152H20.0019L126.157 20Z",fill:"#D9D9D9"}),(0,n.jsx)("path",{d:"M126.157 20V67.2283L82.9686 182.152H20.0019L126.157 20Z",fill:"url(#paint0_linear_2477_3310)"}),(0,n.jsx)("path",{d:"M132.844 20V67.2283L176.033 182.152H239L132.844 20Z",fill:"#D9D9D9"}),(0,n.jsx)("path",{d:"M132.844 20V67.2283L176.033 182.152H239L132.844 20Z",fill:"url(#paint1_linear_2477_3310)"}),(0,n.jsx)("path",{d:"M20 191.963H82.6903V227H20V191.963Z",fill:"#D9D9D9"}),(0,n.jsx)("path",{d:"M20 191.963H82.6903V227H20V191.963Z",fill:"url(#paint2_linear_2477_3310)"}),(0,n.jsx)("path",{d:"M176.308 191.963H238.998V227H176.308V191.963Z",fill:"#D9D9D9"}),(0,n.jsx)("path",{d:"M176.308 191.963H238.998V227H176.308V191.963Z",fill:"url(#paint3_linear_2477_3310)"}),(0,n.jsxs)("defs",{children:[(0,n.jsxs)("linearGradient",{id:"paint0_linear_2477_3310",x1:"172.144",y1:"-22.4614",x2:"341.129",y2:"153.483",gradientUnits:"userSpaceOnUse",children:[(0,n.jsx)("stop",{stopColor:"#A3FFDC"}),(0,n.jsx)("stop",{offset:"1",stopColor:"#66E0B2"})]}),(0,n.jsxs)("linearGradient",{id:"paint1_linear_2477_3310",x1:"172.144",y1:"-22.4614",x2:"341.129",y2:"153.483",gradientUnits:"userSpaceOnUse",children:[(0,n.jsx)("stop",{stopColor:"#A3FFDC"}),(0,n.jsx)("stop",{offset:"1",stopColor:"#66E0B2"})]}),(0,n.jsxs)("linearGradient",{id:"paint2_linear_2477_3310",x1:"172.144",y1:"-22.4614",x2:"341.129",y2:"153.483",gradientUnits:"userSpaceOnUse",children:[(0,n.jsx)("stop",{stopColor:"#A3FFDC"}),(0,n.jsx)("stop",{offset:"1",stopColor:"#66E0B2"})]}),(0,n.jsxs)("linearGradient",{id:"paint3_linear_2477_3310",x1:"172.144",y1:"-22.4614",x2:"341.129",y2:"153.483",gradientUnits:"userSpaceOnUse",children:[(0,n.jsx)("stop",{stopColor:"#A3FFDC"}),(0,n.jsx)("stop",{offset:"1",stopColor:"#66E0B2"})]})]})]}),openai:(0,n.jsx)(a.A,{}),anthropic:(0,n.jsx)(r.A,{}),bedrock:(0,n.jsx)(i.A,{}),cohere:(0,n.jsx)(l.A,{}),vertex:(0,n.jsx)(c.A,{}),ollama:(0,n.jsx)(o.A,{}),mistral:(0,n.jsxs)("svg",{height:"1em",style:{flex:"none",lineHeight:"1"},viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",children:[(0,n.jsx)("title",{children:"Mistral"}),(0,n.jsx)("path",{d:"M3.428 3.4h3.429v3.428H3.428V3.4zm13.714 0h3.43v3.428h-3.43V3.4z",fill:"gold"}),(0,n.jsx)("path",{d:"M3.428 6.828h6.857v3.429H3.429V6.828zm10.286 0h6.857v3.429h-6.857V6.828z",fill:"#FFAF00"}),(0,n.jsx)("path",{d:"M3.428 10.258h17.144v3.428H3.428v-3.428z",fill:"#FF8205"}),(0,n.jsx)("path",{d:"M3.428 13.686h3.429v3.428H3.428v-3.428zm6.858 0h3.429v3.428h-3.429v-3.428zm6.856 0h3.43v3.428h-3.43v-3.428z",fill:"#FA500F"}),(0,n.jsx)("path",{d:"M0 17.114h10.286v3.429H0v-3.429zm13.714 0H24v3.429H13.714v-3.429z",fill:"#E10500"})]}),azure:(0,n.jsx)(d.A,{})}},7777:(e,s,t)=>{"use strict";t.d(s,{Bc:()=>i,ZI:()=>o,k$:()=>c,m_:()=>l});var n=t(5155);t(2115);var a=t(9613),r=t(3999);function i(e){let{delayDuration:s=0,...t}=e;return(0,n.jsx)(a.Kq,{"data-slot":"tooltip-provider",delayDuration:s,...t})}function l(e){let{...s}=e;return(0,n.jsx)(i,{children:(0,n.jsx)(a.bL,{"data-slot":"tooltip",...s})})}function c(e){let{...s}=e;return(0,n.jsx)(a.l9,{"data-slot":"tooltip-trigger",...s})}function o(e){let{className:s,sideOffset:t=0,children:i,...l}=e;return(0,n.jsx)(a.ZL,{children:(0,n.jsxs)(a.UC,{"data-slot":"tooltip-content",sideOffset:t,className:(0,r.cn)("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",s),...l,children:[i,(0,n.jsx)(a.i3,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}},8835:(e,s,t)=>{Promise.resolve().then(t.bind(t,1059))}},e=>{var s=s=>e(e.s=s);e.O(0,[867,519,213,866,473,293,341,441,684,358],()=>s(8835)),_N_E=e.O()}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/app/layout-6acb57196bba0407.js b/transports/bifrost-http/ui/_next/static/chunks/app/layout-6acb57196bba0407.js new file mode 100644 index 0000000000..f15e989bd8 --- /dev/null +++ b/transports/bifrost-http/ui/_next/static/chunks/app/layout-6acb57196bba0407.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{193:(e,t,a)=>{"use strict";a.d(t,{Bx:()=>h,Yv:()=>m,CG:()=>x,Cn:()=>v,rQ:()=>j,jj:()=>w,Gh:()=>p,wZ:()=>y,Uj:()=>z,FX:()=>N,SidebarProvider:()=>f,GX:()=>g});var r=a(5155),i=a(2115),s=a(9708),n=a(2085),o=a(3999);a(7168),a(9852);var d=a(6037),l=a(1085),c=a(7777);let u=i.createContext(null);function b(){let e=i.useContext(u);if(!e)throw Error("useSidebar must be used within a SidebarProvider.");return e}function f(e){let{defaultOpen:t=!0,open:a,onOpenChange:s,className:n,style:d,children:l,...b}=e,f=function(){let[e,t]=i.useState(void 0);return i.useEffect(()=>{let e=window.matchMedia("(max-width: ".concat(767,"px)")),a=()=>{t(window.innerWidth<768)};return e.addEventListener("change",a),t(window.innerWidth<768),()=>e.removeEventListener("change",a)},[]),!!e}(),[h,p]=i.useState(!1),[x,g]=i.useState(t),m=null!=a?a:x,v=i.useCallback(e=>{let t="function"==typeof e?e(m):e;s?s(t):g(t),document.cookie="".concat("sidebar_state","=").concat(t,"; path=/; max-age=").concat(604800)},[s,m]),w=i.useCallback(()=>f?p(e=>!e):v(e=>!e),[f,v,p]);i.useEffect(()=>{let e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),w())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[w]);let j=m?"expanded":"collapsed",y=i.useMemo(()=>({state:j,open:m,setOpen:v,isMobile:f,openMobile:h,setOpenMobile:p,toggleSidebar:w}),[j,m,v,f,h,p,w]);return(0,r.jsx)(u.Provider,{value:y,children:(0,r.jsx)(c.Bc,{delayDuration:0,children:(0,r.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...d},className:(0,o.cn)("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",n),...b,children:l})})})}function h(e){let{side:t="left",variant:a="sidebar",collapsible:i="offcanvas",className:s,children:n,...d}=e,{isMobile:c,state:u,openMobile:f,setOpenMobile:h}=b();return"none"===i?(0,r.jsx)("div",{"data-slot":"sidebar",className:(0,o.cn)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",s),...d,children:n}):c?(0,r.jsx)(l.cj,{open:f,onOpenChange:h,...d,children:(0,r.jsxs)(l.h,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:t,children:[(0,r.jsxs)(l.Fm,{className:"sr-only",children:[(0,r.jsx)(l.qp,{children:"Sidebar"}),(0,r.jsx)(l.Qs,{children:"Displays the mobile sidebar."})]}),(0,r.jsx)("div",{className:"flex h-full w-full flex-col",children:n})]})}):(0,r.jsxs)("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":u,"data-collapsible":"collapsed"===u?i:"","data-variant":a,"data-side":t,"data-slot":"sidebar",children:[(0,r.jsx)("div",{"data-slot":"sidebar-gap",className:(0,o.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===a||"inset"===a?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,r.jsx)("div",{"data-slot":"sidebar-container",className:(0,o.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===t?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===a||"inset"===a?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",s),...d,children:(0,r.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:n})})]})}function p(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,o.cn)("flex flex-col gap-2 p-2",t),...a})}function x(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,o.cn)("flex flex-col gap-2 p-2",t),...a})}function g(e){let{className:t,...a}=e;return(0,r.jsx)(d.Separator,{"data-slot":"sidebar-separator","data-sidebar":"separator",className:(0,o.cn)("bg-sidebar-border mx-2 w-auto",t),...a})}function m(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,o.cn)("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",t),...a})}function v(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,o.cn)("relative flex w-full min-w-0 flex-col p-2",t),...a})}function w(e){let{className:t,asChild:a=!1,...i}=e,n=a?s.DX:"div";return(0,r.jsx)(n,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,o.cn)("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",t),...i})}function j(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:(0,o.cn)("w-full text-sm",t),...a})}function y(e){let{className:t,...a}=e;return(0,r.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,o.cn)("flex w-full min-w-0 flex-col gap-1",t),...a})}function N(e){let{className:t,...a}=e;return(0,r.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,o.cn)("group/menu-item relative",t),...a})}let k=(0,n.F)("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function z(e){let{asChild:t=!1,isActive:a=!1,variant:i="default",size:n="default",tooltip:d,className:l,...u}=e,f=t?s.DX:"button",{isMobile:h,state:p}=b(),x=(0,r.jsx)(f,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":n,"data-active":a,className:(0,o.cn)(k({variant:i,size:n}),l),...u});return d?("string"==typeof d&&(d={children:d}),(0,r.jsxs)(c.m_,{children:[(0,r.jsx)(c.k$,{asChild:!0,children:x}),(0,r.jsx)(c.ZI,{side:"right",align:"center",hidden:"collapsed"!==p||h,...d})]})):x}},1085:(e,t,a)=>{"use strict";a.d(t,{Fm:()=>u,Qs:()=>f,cj:()=>o,h:()=>c,qp:()=>b});var r=a(5155);a(2115);var i=a(5452),s=a(4416),n=a(3999);function o(e){let{...t}=e;return(0,r.jsx)(i.bL,{"data-slot":"sheet",...t})}function d(e){let{...t}=e;return(0,r.jsx)(i.ZL,{"data-slot":"sheet-portal",...t})}function l(e){let{className:t,...a}=e;return(0,r.jsx)(i.hJ,{"data-slot":"sheet-overlay",className:(0,n.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function c(e){let{className:t,children:a,side:o="right",...c}=e;return(0,r.jsxs)(d,{children:[(0,r.jsx)(l,{}),(0,r.jsxs)(i.UC,{"data-slot":"sheet-content",className:(0,n.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===o&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===o&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===o&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===o&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",t),...c,children:[a,(0,r.jsxs)(i.bm,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,r.jsx)(s.A,{className:"size-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function u(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sheet-header",className:(0,n.cn)("flex flex-col gap-1.5 p-4",t),...a})}function b(e){let{className:t,...a}=e;return(0,r.jsx)(i.hE,{"data-slot":"sheet-title",className:(0,n.cn)("text-foreground font-semibold",t),...a})}function f(e){let{className:t,...a}=e;return(0,r.jsx)(i.VY,{"data-slot":"sheet-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...a})}},3999:(e,t,a)=>{"use strict";a.d(t,{cn:()=>s});var r=a(2596),i=a(9688);function s(){for(var e=arguments.length,t=Array(e),a=0;a{"use strict";a.d(t,{Separator:()=>n,W:()=>o});var r=a(5155);a(2115);var i=a(7489),s=a(3999);function n(e){let{className:t,orientation:a="horizontal",decorative:n=!0,...o}=e;return(0,r.jsx)(i.b,{"data-slot":"separator",decorative:n,orientation:a,className:(0,s.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...o})}function o(e){let{className:t}=e;return(0,r.jsx)("div",{className:(0,s.cn)("border-border h-[1px] w-full border-t border-dashed bg-transparent",{["".concat(t)]:void 0!==t})})}},6976:(e,t,a)=>{Promise.resolve().then(a.t.bind(a,9324,23)),Promise.resolve().then(a.bind(a,7942)),Promise.resolve().then(a.bind(a,9685)),Promise.resolve().then(a.bind(a,9304)),Promise.resolve().then(a.bind(a,193)),Promise.resolve().then(a.t.bind(a,5688,23)),Promise.resolve().then(a.t.bind(a,9432,23)),Promise.resolve().then(a.bind(a,6671))},7168:(e,t,a)=>{"use strict";a.d(t,{$:()=>l,r:()=>d});var r=a(5155);a(2115);var i=a(9708),s=a(2085),n=a(3999),o=a(1154);let d=(0,s.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function l(e){let{className:t,variant:a,size:i,asChild:s=!1,children:n,isLoading:d=!1,...l}=e;return(0,r.jsx)(c,{className:t,variant:a,size:i,asChild:s,...l,children:d?(0,r.jsx)(o.A,{className:"size-4 animate-spin"}):n})}function c(e){let{className:t,variant:a,size:s,asChild:o=!1,...l}=e,c=o?i.DX:"button";return(0,r.jsx)(c,{"data-slot":"button",className:(0,n.cn)(d({variant:a,size:s,className:t}),"cursor-pointer"),...l})}},7777:(e,t,a)=>{"use strict";a.d(t,{Bc:()=>n,ZI:()=>l,k$:()=>d,m_:()=>o});var r=a(5155);a(2115);var i=a(9613),s=a(3999);function n(e){let{delayDuration:t=0,...a}=e;return(0,r.jsx)(i.Kq,{"data-slot":"tooltip-provider",delayDuration:t,...a})}function o(e){let{...t}=e;return(0,r.jsx)(n,{children:(0,r.jsx)(i.bL,{"data-slot":"tooltip",...t})})}function d(e){let{...t}=e;return(0,r.jsx)(i.l9,{"data-slot":"tooltip-trigger",...t})}function l(e){let{className:t,sideOffset:a=0,children:n,...o}=e;return(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{"data-slot":"tooltip-content",sideOffset:a,className:(0,s.cn)("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",t),...o,children:[n,(0,r.jsx)(i.i3,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}},7942:(e,t,a)=>{"use strict";a.d(t,{default:()=>s});var r=a(5155),i=a(7109);let s=e=>{let{children:t}=e;return(0,r.jsx)(i.V,{height:"4px",color:"#33a9fd",options:{showSpinner:!1},shallowRouting:!0,children:t})}},8145:(e,t,a)=>{"use strict";a.d(t,{E:()=>d});var r=a(5155);a(2115);var i=a(9708),s=a(2085),n=a(3999);let o=(0,s.F)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",success:"border-transparent bg-green-700 text-white [a&]:hover:bg-green-700/90"}},defaultVariants:{variant:"default"}});function d(e){let{className:t,variant:a,asChild:s=!1,...d}=e,l=s?i.DX:"span";return(0,r.jsx)(l,{"data-slot":"badge",className:(0,n.cn)(o({variant:a}),t),...d})}},9304:(e,t,a)=>{"use strict";a.d(t,{ThemeProvider:()=>s});var r=a(5155);a(2115);var i=a(1362);function s(e){let{children:t,...a}=e;return(0,r.jsx)(i.N,{...a,children:t})}},9324:()=>{},9685:(e,t,a)=>{"use strict";a.d(t,{default:()=>j});var r=a(5155),i=a(7340),s=a(381),n=a(5040),o=a(7520),d=a(3786),l=a(3052),c=a(193),u=a(8145),b=a(5695),f=a(6874),h=a.n(f),p=a(3999),x=a(1362),g=a(2115),m=a(6766);let v=[{title:"Logs",url:"/",icon:i.A,description:"Request logs & monitoring",badge:"Live"},{title:"Config",url:"/config",icon:s.A,description:"Providers & MCP configuration"},{title:"Docs",url:"/docs",icon:n.A,description:"Documentation & guides"},{title:"Plugins",url:"/plugins",icon:o.A,description:"Extend Bifrost functionality",badge:"Beta"}],w=[{title:"GitHub Repository",url:"https://github.com/maximhq/bifrost",icon:d.A},{title:"Full Documentation",url:"https://github.com/maximhq/bifrost/tree/main/docs",icon:n.A}];function j(){let e=(0,b.usePathname)(),[t,a]=(0,g.useState)(!1),{resolvedTheme:i}=(0,x.D)();(0,g.useEffect)(()=>{a(!0)},[]);let s=t=>!!("/"===t&&"/"===e||"/"!==t&&e.startsWith(t));return(0,r.jsxs)(c.Bx,{className:"border-border border-r",children:[(0,r.jsx)(c.Gh,{className:"flex h-12 justify-center",children:(0,r.jsx)(h(),{href:"/",className:"group flex items-center gap-2 pl-1.5",children:(0,r.jsx)(m.default,{className:"h-10 w-auto",src:t&&"dark"===i?"/bifrost-logo-dark.png":"/bifrost-logo.png",alt:"Bifrost",width:100,height:100})})}),(0,r.jsx)(c.GX,{}),(0,r.jsxs)(c.Yv,{children:[(0,r.jsxs)(c.Cn,{children:[(0,r.jsx)(c.jj,{className:"text-muted-foreground px-3 py-2 text-xs font-semibold tracking-wider uppercase",children:"Navigation"}),(0,r.jsx)(c.rQ,{children:(0,r.jsx)(c.wZ,{className:"space-y-1",children:v.map(e=>{let t=s(e.url);return(0,r.jsx)(c.FX,{children:(0,r.jsx)(c.Uj,{asChild:!0,className:"relative h-16 rounded-lg border px-3 transition-all duration-200 ".concat(t?"bg-accent text-primary border-primary/20 shadow-sm":"hover:bg-accent hover:text-accent-foreground border-transparent"," "),children:(0,r.jsxs)(h(),{href:e.url,className:"flex w-full items-center justify-between",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(e.icon,{className:"h-4 w-4 ".concat(t?"text-primary":"text-muted-foreground")}),(0,r.jsx)("span",{className:"text-sm font-medium",children:e.title})]}),(0,r.jsx)("span",{className:"text-muted-foreground overflow-hidden text-xs text-ellipsis whitespace-nowrap",children:e.description})]}),(0,r.jsxs)("div",{className:"flex items-center space-x-2",children:[e.badge&&(0,r.jsx)(u.E,{variant:"Live"===e.badge?"default":"secondary",className:(0,p.cn)("h-5 px-2 py-0.5 text-xs","Live"===e.badge&&"animate-pulse duration-200"),children:e.badge}),t&&(0,r.jsx)(l.A,{className:"text-primary h-3 w-3"})]})]})})},e.title)})})})]}),(0,r.jsx)(c.GX,{className:"my-4"}),(0,r.jsxs)(c.Cn,{children:[(0,r.jsx)(c.jj,{className:"text-muted-foreground px-3 py-2 text-xs font-semibold tracking-wider uppercase",children:"Resources"}),(0,r.jsx)(c.rQ,{children:(0,r.jsx)(c.wZ,{className:"space-y-1",children:w.map(e=>(0,r.jsx)(c.FX,{children:(0,r.jsx)(c.Uj,{asChild:!0,className:"hover:bg-accent hover:text-accent-foreground h-9 rounded-lg px-3 transition-all duration-200",children:(0,r.jsxs)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"group flex w-full items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,r.jsx)(e.icon,{className:"text-muted-foreground group-hover:text-foreground h-4 w-4"}),(0,r.jsx)("span",{className:"text-sm",children:e.title})]}),(0,r.jsx)(d.A,{className:"text-muted-foreground h-3 w-3 opacity-0 transition-opacity group-hover:opacity-100"})]})})},e.title))})})]})]}),(0,r.jsx)(c.CG,{className:"border-border border-t px-6 py-4",children:(0,r.jsxs)("div",{className:"text-muted-foreground mx-auto flex w-fit items-center space-x-1 text-xs",children:[(0,r.jsx)("span",{children:"Made with ♥️ by"}),(0,r.jsx)("a",{href:"https://getmaxim.ai",target:"_blank",rel:"noopener noreferrer",className:"text-primary",children:"Maxim AI"})]})})]})}},9852:(e,t,a)=>{"use strict";a.d(t,{p:()=>n});var r=a(5155),i=a(2115),s=a(3999);let n=i.forwardRef((e,t)=>{let{className:a,type:i,...n}=e;return(0,r.jsx)("input",{type:i,ref:t,"data-slot":"input",className:(0,s.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...n})});n.displayName="Input"}},e=>{var t=t=>e(e.s=t);e.O(0,[261,867,678,874,273,825,441,684,358],()=>t(6976)),_N_E=e.O()}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/app/layout-e528237e8bb14184.js b/transports/bifrost-http/ui/_next/static/chunks/app/layout-e528237e8bb14184.js deleted file mode 100644 index 6424abf477..0000000000 --- a/transports/bifrost-http/ui/_next/static/chunks/app/layout-e528237e8bb14184.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{193:(e,t,a)=>{"use strict";a.d(t,{Bx:()=>p,Yv:()=>m,CG:()=>b,Cn:()=>v,rQ:()=>w,jj:()=>j,Gh:()=>f,wZ:()=>y,Uj:()=>k,FX:()=>N,SidebarProvider:()=>h,GX:()=>g});var r=a(5155),i=a(2115),s=a(9708),n=a(2085),o=a(3999);a(7168),a(9852);var d=a(6037),l=a(1085),c=a(7777);let u=i.createContext(null);function x(){let e=i.useContext(u);if(!e)throw Error("useSidebar must be used within a SidebarProvider.");return e}function h(e){let{defaultOpen:t=!0,open:a,onOpenChange:s,className:n,style:d,children:l,...x}=e,h=function(){let[e,t]=i.useState(void 0);return i.useEffect(()=>{let e=window.matchMedia("(max-width: ".concat(767,"px)")),a=()=>{t(window.innerWidth<768)};return e.addEventListener("change",a),t(window.innerWidth<768),()=>e.removeEventListener("change",a)},[]),!!e}(),[p,f]=i.useState(!1),[b,g]=i.useState(t),m=null!=a?a:b,v=i.useCallback(e=>{let t="function"==typeof e?e(m):e;s?s(t):g(t),document.cookie="".concat("sidebar_state","=").concat(t,"; path=/; max-age=").concat(604800)},[s,m]),j=i.useCallback(()=>h?f(e=>!e):v(e=>!e),[h,v,f]);i.useEffect(()=>{let e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),j())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[j]);let w=m?"expanded":"collapsed",y=i.useMemo(()=>({state:w,open:m,setOpen:v,isMobile:h,openMobile:p,setOpenMobile:f,toggleSidebar:j}),[w,m,v,h,p,f,j]);return(0,r.jsx)(u.Provider,{value:y,children:(0,r.jsx)(c.Bc,{delayDuration:0,children:(0,r.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...d},className:(0,o.cn)("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",n),...x,children:l})})})}function p(e){let{side:t="left",variant:a="sidebar",collapsible:i="offcanvas",className:s,children:n,...d}=e,{isMobile:c,state:u,openMobile:h,setOpenMobile:p}=x();return"none"===i?(0,r.jsx)("div",{"data-slot":"sidebar",className:(0,o.cn)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",s),...d,children:n}):c?(0,r.jsx)(l.cj,{open:h,onOpenChange:p,...d,children:(0,r.jsxs)(l.h,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:t,children:[(0,r.jsxs)(l.Fm,{className:"sr-only",children:[(0,r.jsx)(l.qp,{children:"Sidebar"}),(0,r.jsx)(l.Qs,{children:"Displays the mobile sidebar."})]}),(0,r.jsx)("div",{className:"flex h-full w-full flex-col",children:n})]})}):(0,r.jsxs)("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":u,"data-collapsible":"collapsed"===u?i:"","data-variant":a,"data-side":t,"data-slot":"sidebar",children:[(0,r.jsx)("div",{"data-slot":"sidebar-gap",className:(0,o.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===a||"inset"===a?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,r.jsx)("div",{"data-slot":"sidebar-container",className:(0,o.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===t?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===a||"inset"===a?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",s),...d,children:(0,r.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:n})})]})}function f(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,o.cn)("flex flex-col gap-2 p-2",t),...a})}function b(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,o.cn)("flex flex-col gap-2 p-2",t),...a})}function g(e){let{className:t,...a}=e;return(0,r.jsx)(d.Separator,{"data-slot":"sidebar-separator","data-sidebar":"separator",className:(0,o.cn)("bg-sidebar-border mx-2 w-auto",t),...a})}function m(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,o.cn)("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",t),...a})}function v(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,o.cn)("relative flex w-full min-w-0 flex-col p-2",t),...a})}function j(e){let{className:t,asChild:a=!1,...i}=e,n=a?s.DX:"div";return(0,r.jsx)(n,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,o.cn)("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",t),...i})}function w(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:(0,o.cn)("w-full text-sm",t),...a})}function y(e){let{className:t,...a}=e;return(0,r.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,o.cn)("flex w-full min-w-0 flex-col gap-1",t),...a})}function N(e){let{className:t,...a}=e;return(0,r.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,o.cn)("group/menu-item relative",t),...a})}let _=(0,n.F)("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function k(e){let{asChild:t=!1,isActive:a=!1,variant:i="default",size:n="default",tooltip:d,className:l,...u}=e,h=t?s.DX:"button",{isMobile:p,state:f}=x(),b=(0,r.jsx)(h,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":n,"data-active":a,className:(0,o.cn)(_({variant:i,size:n}),l),...u});return d?("string"==typeof d&&(d={children:d}),(0,r.jsxs)(c.m_,{children:[(0,r.jsx)(c.k$,{asChild:!0,children:b}),(0,r.jsx)(c.ZI,{side:"right",align:"center",hidden:"collapsed"!==f||p,...d})]})):b}},1085:(e,t,a)=>{"use strict";a.d(t,{Fm:()=>u,Qs:()=>h,cj:()=>o,h:()=>c,qp:()=>x});var r=a(5155);a(2115);var i=a(5452),s=a(4416),n=a(3999);function o(e){let{...t}=e;return(0,r.jsx)(i.bL,{"data-slot":"sheet",...t})}function d(e){let{...t}=e;return(0,r.jsx)(i.ZL,{"data-slot":"sheet-portal",...t})}function l(e){let{className:t,...a}=e;return(0,r.jsx)(i.hJ,{"data-slot":"sheet-overlay",className:(0,n.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function c(e){let{className:t,children:a,side:o="right",...c}=e;return(0,r.jsxs)(d,{children:[(0,r.jsx)(l,{}),(0,r.jsxs)(i.UC,{"data-slot":"sheet-content",className:(0,n.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===o&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===o&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===o&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===o&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",t),...c,children:[a,(0,r.jsxs)(i.bm,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,r.jsx)(s.A,{className:"size-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function u(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sheet-header",className:(0,n.cn)("flex flex-col gap-1.5 p-4",t),...a})}function x(e){let{className:t,...a}=e;return(0,r.jsx)(i.hE,{"data-slot":"sheet-title",className:(0,n.cn)("text-foreground font-semibold",t),...a})}function h(e){let{className:t,...a}=e;return(0,r.jsx)(i.VY,{"data-slot":"sheet-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...a})}},3999:(e,t,a)=>{"use strict";a.d(t,{cn:()=>s});var r=a(2596),i=a(9688);function s(){for(var e=arguments.length,t=Array(e),a=0;a{"use strict";a.d(t,{F:()=>u});var r=a(5155),i=a(4213),s=a(381),n=a(5487),o=a(5448),d=a(9803),l=a(4869),c=a(1154);let u={bifrost:(0,r.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 259 247",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("path",{d:"M126.157 20V67.2283L82.9686 182.152H20.0019L126.157 20Z",fill:"#D9D9D9"}),(0,r.jsx)("path",{d:"M126.157 20V67.2283L82.9686 182.152H20.0019L126.157 20Z",fill:"url(#paint0_linear_2477_3310)"}),(0,r.jsx)("path",{d:"M132.844 20V67.2283L176.033 182.152H239L132.844 20Z",fill:"#D9D9D9"}),(0,r.jsx)("path",{d:"M132.844 20V67.2283L176.033 182.152H239L132.844 20Z",fill:"url(#paint1_linear_2477_3310)"}),(0,r.jsx)("path",{d:"M20 191.963H82.6903V227H20V191.963Z",fill:"#D9D9D9"}),(0,r.jsx)("path",{d:"M20 191.963H82.6903V227H20V191.963Z",fill:"url(#paint2_linear_2477_3310)"}),(0,r.jsx)("path",{d:"M176.308 191.963H238.998V227H176.308V191.963Z",fill:"#D9D9D9"}),(0,r.jsx)("path",{d:"M176.308 191.963H238.998V227H176.308V191.963Z",fill:"url(#paint3_linear_2477_3310)"}),(0,r.jsxs)("defs",{children:[(0,r.jsxs)("linearGradient",{id:"paint0_linear_2477_3310",x1:"172.144",y1:"-22.4614",x2:"341.129",y2:"153.483",gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#A3FFDC"}),(0,r.jsx)("stop",{offset:"1",stopColor:"#66E0B2"})]}),(0,r.jsxs)("linearGradient",{id:"paint1_linear_2477_3310",x1:"172.144",y1:"-22.4614",x2:"341.129",y2:"153.483",gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#A3FFDC"}),(0,r.jsx)("stop",{offset:"1",stopColor:"#66E0B2"})]}),(0,r.jsxs)("linearGradient",{id:"paint2_linear_2477_3310",x1:"172.144",y1:"-22.4614",x2:"341.129",y2:"153.483",gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#A3FFDC"}),(0,r.jsx)("stop",{offset:"1",stopColor:"#66E0B2"})]}),(0,r.jsxs)("linearGradient",{id:"paint3_linear_2477_3310",x1:"172.144",y1:"-22.4614",x2:"341.129",y2:"153.483",gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#A3FFDC"}),(0,r.jsx)("stop",{offset:"1",stopColor:"#66E0B2"})]})]})]}),openai:(0,r.jsx)(i.A,{}),anthropic:(0,r.jsx)(s.A,{}),bedrock:(0,r.jsx)(n.A,{}),cohere:(0,r.jsx)(o.A,{}),vertex:(0,r.jsx)(d.A,{}),ollama:(0,r.jsx)(l.A,{}),mistral:(0,r.jsxs)("svg",{height:"1em",style:{flex:"none",lineHeight:"1"},viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("title",{children:"Mistral"}),(0,r.jsx)("path",{d:"M3.428 3.4h3.429v3.428H3.428V3.4zm13.714 0h3.43v3.428h-3.43V3.4z",fill:"gold"}),(0,r.jsx)("path",{d:"M3.428 6.828h6.857v3.429H3.429V6.828zm10.286 0h6.857v3.429h-6.857V6.828z",fill:"#FFAF00"}),(0,r.jsx)("path",{d:"M3.428 10.258h17.144v3.428H3.428v-3.428z",fill:"#FF8205"}),(0,r.jsx)("path",{d:"M3.428 13.686h3.429v3.428H3.428v-3.428zm6.858 0h3.429v3.428h-3.429v-3.428zm6.856 0h3.43v3.428h-3.43v-3.428z",fill:"#FA500F"}),(0,r.jsx)("path",{d:"M0 17.114h10.286v3.429H0v-3.429zm13.714 0H24v3.429H13.714v-3.429z",fill:"#E10500"})]}),azure:(0,r.jsx)(c.A,{})}},6037:(e,t,a)=>{"use strict";a.d(t,{Separator:()=>n,W:()=>o});var r=a(5155);a(2115);var i=a(7489),s=a(3999);function n(e){let{className:t,orientation:a="horizontal",decorative:n=!0,...o}=e;return(0,r.jsx)(i.b,{"data-slot":"separator",decorative:n,orientation:a,className:(0,s.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...o})}function o(e){let{className:t}=e;return(0,r.jsx)("div",{className:(0,s.cn)("border-border h-[1px] w-full border-t border-dashed bg-transparent",{["".concat(t)]:void 0!==t})})}},6976:(e,t,a)=>{Promise.resolve().then(a.t.bind(a,9324,23)),Promise.resolve().then(a.bind(a,7942)),Promise.resolve().then(a.bind(a,9685)),Promise.resolve().then(a.bind(a,9304)),Promise.resolve().then(a.bind(a,193)),Promise.resolve().then(a.t.bind(a,5688,23)),Promise.resolve().then(a.t.bind(a,9432,23)),Promise.resolve().then(a.bind(a,6671))},7168:(e,t,a)=>{"use strict";a.d(t,{$:()=>l,r:()=>d});var r=a(5155);a(2115);var i=a(9708),s=a(2085),n=a(3999),o=a(1154);let d=(0,s.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function l(e){let{className:t,variant:a,size:i,asChild:s=!1,children:n,isLoading:d=!1,...l}=e;return(0,r.jsx)(c,{className:t,variant:a,size:i,asChild:s,...l,children:d?(0,r.jsx)(o.A,{className:"size-4 animate-spin"}):n})}function c(e){let{className:t,variant:a,size:s,asChild:o=!1,...l}=e,c=o?i.DX:"button";return(0,r.jsx)(c,{"data-slot":"button",className:(0,n.cn)(d({variant:a,size:s,className:t}),"cursor-pointer"),...l})}},7777:(e,t,a)=>{"use strict";a.d(t,{Bc:()=>n,ZI:()=>l,k$:()=>d,m_:()=>o});var r=a(5155);a(2115);var i=a(9613),s=a(3999);function n(e){let{delayDuration:t=0,...a}=e;return(0,r.jsx)(i.Kq,{"data-slot":"tooltip-provider",delayDuration:t,...a})}function o(e){let{...t}=e;return(0,r.jsx)(n,{children:(0,r.jsx)(i.bL,{"data-slot":"tooltip",...t})})}function d(e){let{...t}=e;return(0,r.jsx)(i.l9,{"data-slot":"tooltip-trigger",...t})}function l(e){let{className:t,sideOffset:a=0,children:n,...o}=e;return(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{"data-slot":"tooltip-content",sideOffset:a,className:(0,s.cn)("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",t),...o,children:[n,(0,r.jsx)(i.i3,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}},7942:(e,t,a)=>{"use strict";a.d(t,{default:()=>s});var r=a(5155),i=a(7109);let s=e=>{let{children:t}=e;return(0,r.jsx)(i.V,{height:"4px",color:"#33a9fd",options:{showSpinner:!1},shallowRouting:!0,children:t})}},8145:(e,t,a)=>{"use strict";a.d(t,{E:()=>d});var r=a(5155);a(2115);var i=a(9708),s=a(2085),n=a(3999);let o=(0,s.F)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",success:"border-transparent bg-green-700 text-white [a&]:hover:bg-green-700/90"}},defaultVariants:{variant:"default"}});function d(e){let{className:t,variant:a,asChild:s=!1,...d}=e,l=s?i.DX:"span";return(0,r.jsx)(l,{"data-slot":"badge",className:(0,n.cn)(o({variant:a}),t),...d})}},9304:(e,t,a)=>{"use strict";a.d(t,{ThemeProvider:()=>s});var r=a(5155);a(2115);var i=a(1362);function s(e){let{children:t,...a}=e;return(0,r.jsx)(i.N,{...a,children:t})}},9324:()=>{},9685:(e,t,a)=>{"use strict";a.d(t,{default:()=>v});var r=a(5155),i=a(7340),s=a(381),n=a(5040),o=a(7520),d=a(3786),l=a(3052),c=a(193),u=a(8145),x=a(5695),h=a(6874),p=a.n(h),f=a(3999),b=a(4432);let g=[{title:"Logs",url:"/",icon:i.A,description:"Request logs & monitoring",badge:"Live"},{title:"Config",url:"/config",icon:s.A,description:"Providers & MCP configuration"},{title:"Docs",url:"/docs",icon:n.A,description:"Documentation & guides"},{title:"Plugins",url:"/plugins",icon:o.A,description:"Extend Bifrost functionality",badge:"Beta"}],m=[{title:"GitHub Repository",url:"https://github.com/maximhq/bifrost",icon:d.A},{title:"Full Documentation",url:"https://github.com/maximhq/bifrost/tree/main/docs",icon:n.A}];function v(){let e=(0,x.usePathname)(),t=t=>!!("/"===t&&"/"===e||"/"!==t&&e.startsWith(t));return(0,r.jsxs)(c.Bx,{className:"border-border border-r",children:[(0,r.jsx)(c.Gh,{className:"flex h-12 justify-center",children:(0,r.jsxs)(p(),{href:"/",className:"group flex items-center gap-2",children:[(0,r.jsx)("div",{className:"from-primary flex h-6 w-6 items-center justify-center",children:b.F.bifrost}),(0,r.jsx)("h1",{className:"text-foreground text-lg leading-none font-bold",children:"Bifrost"})]})}),(0,r.jsx)(c.GX,{}),(0,r.jsxs)(c.Yv,{children:[(0,r.jsxs)(c.Cn,{children:[(0,r.jsx)(c.jj,{className:"text-muted-foreground px-2 py-2 text-xs font-semibold tracking-wider uppercase",children:"Navigation"}),(0,r.jsx)(c.rQ,{children:(0,r.jsx)(c.wZ,{className:"space-y-1",children:g.map(e=>{let a=t(e.url);return(0,r.jsx)(c.FX,{children:(0,r.jsx)(c.Uj,{asChild:!0,className:"relative h-16 rounded-lg border px-3 transition-all duration-200 ".concat(a?"bg-accent text-primary border-primary/20 shadow-sm":"hover:bg-accent hover:text-accent-foreground border-transparent"," "),children:(0,r.jsxs)(p(),{href:e.url,className:"flex w-full items-center justify-between",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(e.icon,{className:"h-4 w-4 ".concat(a?"text-primary":"text-muted-foreground")}),(0,r.jsx)("span",{className:"text-sm font-medium",children:e.title})]}),(0,r.jsx)("span",{className:"text-muted-foreground overflow-hidden text-xs text-ellipsis whitespace-nowrap",children:e.description})]}),(0,r.jsxs)("div",{className:"flex items-center space-x-2",children:[e.badge&&(0,r.jsx)(u.E,{variant:"Live"===e.badge?"default":"secondary",className:(0,f.cn)("h-5 px-2 py-0.5 text-xs","Live"===e.badge&&"animate-pulse duration-200"),children:e.badge}),a&&(0,r.jsx)(l.A,{className:"text-primary h-3 w-3"})]})]})})},e.title)})})})]}),(0,r.jsx)(c.GX,{className:"my-4"}),(0,r.jsxs)(c.Cn,{children:[(0,r.jsx)(c.jj,{className:"text-muted-foreground px-2 py-2 text-xs font-semibold tracking-wider uppercase",children:"Resources"}),(0,r.jsx)(c.rQ,{children:(0,r.jsx)(c.wZ,{className:"space-y-1",children:m.map(e=>(0,r.jsx)(c.FX,{children:(0,r.jsx)(c.Uj,{asChild:!0,className:"hover:bg-accent hover:text-accent-foreground h-9 rounded-lg px-3 transition-all duration-200",children:(0,r.jsxs)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"group flex w-full items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,r.jsx)(e.icon,{className:"text-muted-foreground group-hover:text-foreground h-4 w-4"}),(0,r.jsx)("span",{className:"text-sm",children:e.title})]}),(0,r.jsx)(d.A,{className:"text-muted-foreground h-3 w-3 opacity-0 transition-opacity group-hover:opacity-100"})]})})},e.title))})})]})]}),(0,r.jsx)(c.CG,{className:"border-border border-t px-6 py-4",children:(0,r.jsxs)("div",{className:"text-muted-foreground mx-auto flex w-fit items-center space-x-1 text-xs",children:[(0,r.jsx)("span",{children:"Made with ♥️ by"}),(0,r.jsx)("a",{href:"https://getmaxim.ai",target:"_blank",rel:"noopener noreferrer",className:"text-primary",children:"Maxim AI"})]})})]})}},9852:(e,t,a)=>{"use strict";a.d(t,{p:()=>n});var r=a(5155),i=a(2115),s=a(3999);let n=i.forwardRef((e,t)=>{let{className:a,type:i,...n}=e;return(0,r.jsx)("input",{type:i,ref:t,"data-slot":"input",className:(0,s.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...n})});n.displayName="Input"}},e=>{var t=t=>e(e.s=t);e.O(0,[261,867,213,874,473,154,441,684,358],()=>t(6976)),_N_E=e.O()}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/app/page-3d9741bf5c7d7c6d.js b/transports/bifrost-http/ui/_next/static/chunks/app/page-3d9741bf5c7d7c6d.js new file mode 100644 index 0000000000..0214fb46b1 --- /dev/null +++ b/transports/bifrost-http/ui/_next/static/chunks/app/page-3d9741bf5c7d7c6d.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{1085:(e,t,s)=>{"use strict";s.d(t,{Fm:()=>u,Qs:()=>p,cj:()=>r,h:()=>d,qp:()=>m});var n=s(5155);s(2115);var a=s(5452),l=s(4416),o=s(3999);function r(e){let{...t}=e;return(0,n.jsx)(a.bL,{"data-slot":"sheet",...t})}function i(e){let{...t}=e;return(0,n.jsx)(a.ZL,{"data-slot":"sheet-portal",...t})}function c(e){let{className:t,...s}=e;return(0,n.jsx)(a.hJ,{"data-slot":"sheet-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...s})}function d(e){let{className:t,children:s,side:r="right",...d}=e;return(0,n.jsxs)(i,{children:[(0,n.jsx)(c,{}),(0,n.jsxs)(a.UC,{"data-slot":"sheet-content",className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===r&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===r&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===r&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===r&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",t),...d,children:[s,(0,n.jsxs)(a.bm,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,n.jsx)(l.A,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function u(e){let{className:t,...s}=e;return(0,n.jsx)("div",{"data-slot":"sheet-header",className:(0,o.cn)("flex flex-col gap-1.5 p-4",t),...s})}function m(e){let{className:t,...s}=e;return(0,n.jsx)(a.hE,{"data-slot":"sheet-title",className:(0,o.cn)("text-foreground font-semibold",t),...s})}function p(e){let{className:t,...s}=e;return(0,n.jsx)(a.VY,{"data-slot":"sheet-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...s})}},5196:(e,t,s)=>{Promise.resolve().then(s.bind(s,6794))},6794:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>ev});var n=s(5155),a=s(2115),l=s(9464),o=s(6268),r=s(1032),i=s(8524),c=s(7168),d=s(3904),u=s(4416),m=s(2355),p=s(3052),h=s(9852),x=s(7924),g=s(2815),f=s(7740),j=s(3999);function v(e){let{className:t,...s}=e;return(0,n.jsx)(f.uB,{"data-slot":"command",className:(0,j.cn)("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",t),...s})}function y(e){let{className:t,...s}=e;return(0,n.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,n.jsx)(x.A,{className:"size-4 shrink-0 opacity-50"}),(0,n.jsx)(f.uB.Input,{"data-slot":"command-input",className:(0,j.cn)("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",t),...s})]})}function N(e){let{className:t,...s}=e;return(0,n.jsx)(f.uB.List,{"data-slot":"command-list",className:(0,j.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",t),...s})}function b(e){let{...t}=e;return(0,n.jsx)(f.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...t})}function w(e){let{className:t,...s}=e;return(0,n.jsx)(f.uB.Group,{"data-slot":"command-group",className:(0,j.cn)("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",t),...s})}function _(e){let{className:t,...s}=e;return(0,n.jsx)(f.uB.Item,{"data-slot":"command-item",className:(0,j.cn)("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...s})}s(9840);var k=s(547);function S(e){let{...t}=e;return(0,n.jsx)(k.bL,{"data-slot":"popover",...t})}function A(e){let{...t}=e;return(0,n.jsx)(k.l9,{"data-slot":"popover-trigger",...t})}function C(e){let{className:t,align:s="center",sideOffset:a=4,...l}=e;return(0,n.jsx)(k.ZL,{children:(0,n.jsx)(k.UC,{"data-slot":"popover-content",align:s,sideOffset:a,className:(0,j.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...l})})}var L=s(7783);let H={Status:L.f,Providers:L.xq,Type:L.mG};function T(e){let{filters:t,onFiltersChange:s}=e,[l,o]=(0,a.useState)(!1),[r,i]=(0,a.useState)(t.content_search||""),d=(0,a.useRef)(void 0);(0,a.useEffect)(()=>()=>{d.current&&clearTimeout(d.current)},[]);let u=(0,a.useCallback)(e=>{i(e),d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{s({...t,content_search:e})},500)},[t,s]),m=(e,n)=>{let a={Status:"status",Providers:"providers",Type:"objects"}[e],l=t[a]||[],o=l.includes(n)?l.filter(e=>e!==n):[...l,n];s({...t,[a]:o})},p=(e,s)=>{let n=t[({Status:"status",Providers:"providers",Type:"objects"})[e]];return Array.isArray(n)&&n.includes(s)},f=()=>Object.entries(t).reduce((e,t)=>{let[s,n]=t;return Array.isArray(n)?e+n.length:e+ +!!n},0);return(0,n.jsxs)("div",{className:"flex items-center justify-between space-x-4",children:[(0,n.jsxs)("div",{className:"flex flex-1 items-center gap-2",children:[(0,n.jsx)(x.A,{className:"size-5"}),(0,n.jsx)(h.p,{type:"text",className:"border-none shadow-none outline-none focus-visible:ring-0",placeholder:"Search logs",value:r,onChange:e=>u(e.target.value)})]}),(0,n.jsxs)(S,{open:l,onOpenChange:o,children:[(0,n.jsx)(A,{asChild:!0,children:(0,n.jsxs)(c.$,{variant:"outline",size:"sm",className:"h-9",children:["Filters",f()>0&&(0,n.jsx)("span",{className:"bg-primary/10 flex h-6 w-6 items-center justify-center rounded-full text-xs font-normal",children:f()})]})}),(0,n.jsx)(C,{className:"w-[200px] p-0",align:"end",children:(0,n.jsxs)(v,{children:[(0,n.jsx)(y,{placeholder:"Search filters..."}),(0,n.jsxs)(N,{children:[(0,n.jsx)(b,{children:"No filters found."}),Object.entries(H).map(e=>{let[t,s]=e;return(0,n.jsx)(w,{heading:t,children:s.map(e=>{let s=p(t,e);return(0,n.jsxs)(_,{onSelect:()=>m(t,e),children:[(0,n.jsx)("div",{className:(0,j.cn)("border-primary mr-2 flex h-4 w-4 items-center justify-center rounded-sm border",s?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:(0,n.jsx)(g.A,{className:"text-primary-foreground size-3"})}),(0,n.jsx)("span",{children:e})]},e)})},t)})]})]})})]})]})}function z(e){let{columns:t,data:s,totalItems:l,loading:h=!1,filters:x,pagination:g,onFiltersChange:f,onPaginationChange:j,onRowClick:v,isSocketConnected:y}=e,[N,b]=(0,a.useState)([{id:g.sort_by,desc:"desc"===g.order}]),w=(0,o.N4)({data:s,columns:t,getCoreRowModel:(0,r.HT)(),manualPagination:!0,manualSorting:!0,manualFiltering:!0,pageCount:Math.ceil(l/g.limit),state:{sorting:N},onSortingChange:e=>{let t="function"==typeof e?e(N):e;if(b(t),t.length>0){let{id:e,desc:s}=t[0];j({...g,sort_by:e,order:s?"desc":"asc"})}}}),_=Math.floor(g.offset/g.limit)+1,k=Math.ceil(l/g.limit),S=g.offset+1,A=Math.min(g.offset+g.limit,l),C=e=>{let t=(e-1)*g.limit;j({...g,offset:t})};return(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(T,{filters:x,onFiltersChange:f}),(0,n.jsx)("div",{className:"rounded-md border",children:(0,n.jsxs)(i.XI,{children:[(0,n.jsx)(i.A0,{children:w.getHeaderGroups().map(e=>(0,n.jsx)(i.Hj,{children:e.headers.map(e=>(0,n.jsx)(i.nd,{children:e.isPlaceholder?null:(0,o.Kv)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,n.jsx)(i.BF,{children:h?(0,n.jsx)(i.Hj,{children:(0,n.jsx)(i.nA,{colSpan:t.length,className:"h-24 text-center",children:(0,n.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,n.jsx)(d.A,{className:"h-4 w-4 animate-spin"}),"Loading logs..."]})})}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.Hj,{className:"hover:bg-transparent",children:(0,n.jsx)(i.nA,{colSpan:t.length,className:"h-12 text-center",children:(0,n.jsx)("div",{className:"flex items-center justify-center gap-2",children:y?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(d.A,{className:"h-4 w-4 animate-spin"}),"Listening for logs..."]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(u.A,{className:"h-4 w-4"}),"Not connected to socket, please refresh the page."]})})})}),w.getRowModel().rows.length?w.getRowModel().rows.map(e=>(0,n.jsx)(i.Hj,{className:"hover:bg-muted/50 cursor-pointer",onClick:()=>null==v?void 0:v(e.original),children:e.getVisibleCells().map(e=>(0,n.jsx)(i.nA,{children:(0,o.Kv)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,n.jsx)(i.Hj,{children:(0,n.jsx)(i.nA,{colSpan:t.length,className:"h-24 text-center",children:"No results found."})})]})})]})}),(0,n.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,n.jsxs)("div",{className:"text-muted-foreground flex items-center gap-2",children:[S.toLocaleString(),"-",A.toLocaleString()," of ",l.toLocaleString()," entries"]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(c.$,{variant:"outline",size:"sm",onClick:()=>C(_-1),disabled:1===_,children:(0,n.jsx)(m.A,{className:"size-3"})}),(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)("span",{children:"Page"}),(0,n.jsx)("span",{children:_}),(0,n.jsxs)("span",{children:["of ",k]})]}),(0,n.jsx)(c.$,{variant:"outline",size:"sm",onClick:()=>C(_+1),disabled:_===k,children:(0,n.jsx)(p.A,{className:"size-3"})})]})]})]})}var B=s(8145),M=s(1085),I=s(6561),O=s(7434),R=s(5868);function q(e){if(null===e.value)return null;let t=e.orientation||"vertical";return(0,n.jsx)("div",{className:(0,j.cn)("items-top flex flex-col gap-2",{["".concat(e.className)]:void 0!==e.className,"items-start":"left"===e.align||void 0===e.align,"items-end":"right"===e.align}),children:(0,n.jsxs)("div",{className:e.containerClassName,children:[""!==e.label&&(0,n.jsx)("div",{className:"text-muted-foreground flex shrink-0 flex-row items-center gap-2 text-xs font-medium",children:e.label.toUpperCase()}),(0,n.jsx)("div",{className:(0,j.cn)("text-md flex text-xs font-medium whitespace-nowrap transition-transform delay-75",{"w-full flex-col items-center gap-2":"horizontal"===t,"flex-row items-start gap-2":"vertical"===t,["".concat(e.valueClassName)]:void 0!==e.valueClassName,"text-end":"right"===e.align}),children:e.value})]})})}var E=s(2940),F=s.n(E),P=s(6037),D=s(1154),W=s(1362);let K=(0,s(5028).default)(()=>s.e(364).then(s.bind(s,1364)).then(e=>e.default),{loadableGenerated:{webpack:()=>[1364]},ssr:!1,loading:()=>(0,n.jsx)(D.A,{className:"h-4 w-4 animate-spin p-4"})});function G(e){var t,s,l,o,r,i,c,d,u,m,p,h,x,g,f,v;let{className:y,lang:N,code:b,onChange:w,height:_,minHeight:k}=e,S=(0,a.useRef)(null),[A,C]=(0,a.useState)(!1),[L,H]=(0,a.useState)(e.height||e.minHeight||200);(0,a.useEffect)(()=>{C(!0)},[]);let{theme:T,systemTheme:z}=(0,W.D)(),B={lineNumbers:(null==(t=e.options)?void 0:t.lineNumbers)||"off",readOnly:e.readonly,scrollBeyondLastLine:null!=(p=null==(s=e.options)?void 0:s.scrollBeyondLastLine)&&p,minimap:{enabled:!1},contextmenu:!1,fontFamily:"var(--font-geist-mono)",fontSize:e.fontSize||12.5,padding:{top:2,bottom:2},wordWrap:e.wrap?"on":"off",folding:null!=(h=null==(l=e.options)?void 0:l.collapsibleBlocks)&&h,glyphMargin:!1,lineNumbersMinChars:null!=(x=null==(o=e.options)?void 0:o.lineNumbersMinChars)?x:4,overviewRulerLanes:null!=(g=null==(r=e.options)?void 0:r.overviewRulerLanes)?g:0,renderLineHighlight:"none",cursorStyle:"line",cursorBlinking:"smooth",scrollbar:{vertical:(null==(i=e.options)?void 0:i.showVerticalScrollbar)?"auto":"hidden",horizontal:(null==(c=e.options)?void 0:c.showHorizontalScrollbar)?"auto":"hidden",alwaysConsumeMouseWheel:null!=(f=null==(d=e.options)?void 0:d.alwaysConsumeMouseWheel)&&f},guides:{indentation:null==(v=null==(u=e.options)?void 0:u.showIndentLines)||v},hover:{enabled:!(null==(m=e.options)?void 0:m.disableHover)},wordBasedSuggestions:"off",...e.options};return A?(0,n.jsx)("div",{id:e.id,ref:S,className:(0,j.cn)("group relative h-full w-full",e.containerClassName),onBlur:e.onBlur,children:(0,n.jsx)(K,{height:L,width:e.width,language:N||"javascript",value:b||"",theme:"dark"===T||"system"===T&&"dark"===z?"custom-dark":"light",options:B,loading:(0,n.jsx)(D.A,{className:"h-4 w-4 animate-spin"}),onChange:e=>{w&&w(e||"")},onMount:(t,s)=>{if(e.autoFocus&&t.focus(),e.shouldAdjustInitialHeight||e.autoResize){let s=()=>{try{let s=t.getContentHeight();e.minHeight&&se.maxHeight&&(s=e.maxHeight),H(s+15),t.layout()}catch(e){console.warn("Error updating editor height:",e)}};if(setTimeout(s,100),e.autoResize){let e=t.getModel();e&&e.onDidChangeContent(()=>{requestAnimationFrame(s)})}}if(e.autoFormat)try{var n;null==(n=t.getAction("editor.action.formatDocument"))||n.run()}catch(e){console.warn("Auto-format failed:",e)}},className:(0,j.cn)("code text-md w-full bg-transparent ring-offset-transparent outline-none",y),beforeMount:e=>{window.MonacoEnvironment={getWorker:()=>({postMessage:()=>{},terminate:()=>{},addEventListener:()=>{},removeEventListener:()=>{},dispatchEvent:()=>!1,onerror:null,onmessage:null,onmessageerror:null})},e.editor.defineTheme("custom-dark",{base:"vs-dark",inherit:!0,rules:[],colors:{"editor.background":"#00000000",focusBorder:"#00000000","editor.lineHighlightBorder":"#00000000","editor.selectionHighlightBorder":"#00000000","editorWidget.border":"#00000000","editorOverviewRuler.border":"#00000000"}})}})}):(0,n.jsx)("div",{className:(0,j.cn)("group relative flex h-24 w-full items-center justify-center",e.containerClassName),children:(0,n.jsx)(D.A,{className:"h-4 w-4 animate-spin"})})}let Y=e=>{try{return JSON.parse(e),!0}catch(e){return!1}},J=e=>{try{return JSON.parse(e)}catch(t){return e}};function U(e){let{message:t}=e;return(0,n.jsxs)("div",{className:"w-full rounded-sm border",children:[(0,n.jsx)("div",{className:"border-b px-6 py-2 text-sm font-medium capitalize",children:t.role}),"string"==typeof t.content&&t.content.length>0&&!Y(t.content)?(0,n.jsx)("div",{className:"px-6 py-2 font-mono text-xs",children:t.content}):t.content.length>0&&(0,n.jsx)(G,{className:"z-0 w-full",shouldAdjustInitialHeight:!0,maxHeight:250,wrap:!0,code:JSON.stringify(J(t.content),null,2),lang:"json",readonly:!0,options:{scrollBeyondLastLine:!1,collapsibleBlocks:!0,lineNumbers:"off",alwaysConsumeMouseWheel:!1}}),t.tool_calls&&t.tool_calls.length>0&&(0,n.jsx)("div",{className:"border-b last:border-b-0",children:(0,n.jsx)(G,{className:"z-0 w-full",shouldAdjustInitialHeight:!0,maxHeight:150,wrap:!0,code:JSON.stringify(J(t.tool_calls),null,2),lang:"json",readonly:!0,options:{scrollBeyondLastLine:!1,collapsibleBlocks:!0,lineNumbers:"off",alwaysConsumeMouseWheel:!1}})})]})}function $(e){var t,s,a,l,o,r,i,c;let{log:d,open:u,onOpenChange:m}=e;if(!d)return null;d.latency;let p=d.token_usage;p&&(p.completion_tokens,p.total_tokens),p&&(p.prompt_tokens,p.completion_tokens,p.prompt_tokens,p.completion_tokens);let h=null;if(null==(t=d.params)?void 0:t.tools)try{h=JSON.stringify(d.params.tools,null,2)}catch(e){}let x=null;if(null==(s=d.params)?void 0:s.tool_choice)try{x=JSON.stringify(d.params.tool_choice,null,2)}catch(e){}return(0,n.jsx)(M.cj,{open:u,onOpenChange:m,children:(0,n.jsxs)(M.h,{className:"flex w-full flex-col overflow-x-hidden p-8 sm:max-w-2xl",children:[(0,n.jsx)(M.Fm,{className:"px-0",children:(0,n.jsxs)(M.qp,{className:"flex w-fit items-center gap-2 font-medium",children:["success"===d.status&&(0,n.jsxs)("p",{className:"text-md max-w-full truncate",children:["Request ID: ",d.id]}),(0,n.jsx)(B.E,{variant:"outline",className:L.Ez[d.status],children:d.status})]})}),(0,n.jsxs)("div",{className:"space-y-4 rounded-sm border px-6 py-4",children:[(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)(V,{title:"Timings",icon:(0,n.jsx)(I.A,{className:"h-5 w-5 text-gray-600"})}),(0,n.jsxs)("div",{className:"grid w-full grid-cols-3 items-center justify-between gap-4",children:[(0,n.jsx)(q,{className:"w-full",label:"Start Timestamp",value:F()(d.timestamp).format("YYYY-MM-DD HH:mm:ss A")}),(0,n.jsx)(q,{className:"w-full",label:"End Timestamp",value:F()(d.timestamp).add(d.latency||0,"ms").format("YYYY-MM-DD HH:mm:ss A")}),(0,n.jsx)(q,{className:"w-full",label:"Latency",value:isNaN(d.latency||0)?"NA":(0,n.jsxs)("div",{children:[null==(a=d.latency||0)?void 0:a.toFixed(2),"ms"]})})]})]}),(0,n.jsx)(P.W,{}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)(V,{title:"Request Details",icon:(0,n.jsx)(O.A,{className:"h-5 w-5 text-gray-600"})}),(0,n.jsxs)("div",{className:"grid w-full grid-cols-3 items-center justify-between gap-4",children:[(0,n.jsx)(q,{className:"w-full",label:"Provider",value:L.oU[d.provider]}),(0,n.jsx)(q,{className:"w-full",label:"Model",value:d.model}),(0,n.jsx)(q,{className:"w-full",label:"Type",value:(0,n.jsx)("div",{className:"".concat(L.wf[d.object]," rounded-md px-3 py-1"),children:L.tJ[d.object]})}),d.params&&Object.keys(d.params).length>0&&Object.entries(d.params).filter(e=>{let[t]=e;return"tools"!==t}).filter(e=>{let[t,s]=e;return"boolean"==typeof s||"number"==typeof s||"string"==typeof s}).map(e=>{let[t,s]=e;return(0,n.jsx)(q,{className:"w-full",label:t,value:s},t)})]})]}),"success"===d.status&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(P.W,{}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)(V,{title:"Tokens",icon:(0,n.jsx)(R.A,{className:"h-5 w-5 text-gray-600"})}),(0,n.jsxs)("div",{className:"grid w-full grid-cols-3 items-center justify-between gap-4",children:[(0,n.jsx)(q,{className:"w-full",label:"Prompt Tokens",value:null==(l=d.token_usage)?void 0:l.prompt_tokens}),(0,n.jsx)(q,{className:"w-full",label:"Completion Tokens",value:null==(o=d.token_usage)?void 0:o.completion_tokens}),(0,n.jsx)(q,{className:"w-full",label:"Total Tokens",value:null==(r=d.token_usage)?void 0:r.total_tokens})]})]})]})]}),x&&(0,n.jsxs)("div",{className:"w-full rounded-sm border",children:[(0,n.jsx)("div",{className:"border-b px-6 py-2 text-sm font-medium",children:"Tool Choice"}),(0,n.jsx)(G,{className:"z-0 w-full",shouldAdjustInitialHeight:!0,maxHeight:450,wrap:!0,code:x,lang:"json",readonly:!0,options:{scrollBeyondLastLine:!1,collapsibleBlocks:!0,lineNumbers:"off",alwaysConsumeMouseWheel:!1}})]}),h&&(0,n.jsxs)("div",{className:"w-full rounded-sm border",children:[(0,n.jsx)("div",{className:"border-b px-6 py-2 text-sm font-medium",children:"Tools"}),(0,n.jsx)(G,{className:"z-0 w-full",shouldAdjustInitialHeight:!0,maxHeight:450,wrap:!0,code:h,lang:"json",readonly:!0,options:{scrollBeyondLastLine:!1,collapsibleBlocks:!0,lineNumbers:"off",alwaysConsumeMouseWheel:!1}})]}),(0,n.jsx)("div",{className:"mt-4 w-full text-center text-sm font-medium",children:"Conversation History"}),d.input_history&&d.input_history.map(e=>(0,n.jsx)(U,{message:e},e.content.toString())),(0,n.jsx)("div",{className:"mt-4 w-full text-center text-sm font-medium",children:"Response"}),"success"===d.status?d.output_message&&(0,n.jsx)(U,{message:d.output_message}):(0,n.jsxs)("div",{className:"w-full rounded-sm border",children:[(0,n.jsx)("div",{className:"border-b px-6 py-2 text-sm font-medium",children:"Error"}),(0,n.jsx)("div",{className:"px-6 py-2 font-mono text-xs",children:null==(i=d.error_details)?void 0:i.error.message})]})]})})}let V=e=>{let{title:t,icon:s}=e;return(0,n.jsx)("div",{className:"flex items-center gap-2",children:(0,n.jsx)("div",{className:"text-sm font-medium",children:t})})};var Z=s(1492);let X=()=>[{accessorKey:"timestamp",header:e=>{let{column:t}=e;return(0,n.jsxs)(c.$,{variant:"ghost",onClick:()=>t.toggleSorting("asc"===t.getIsSorted()),children:["Time",(0,n.jsx)(Z.A,{className:"ml-2 h-4 w-4"})]})},cell:e=>{let{row:t}=e,s=t.original.timestamp;return(0,n.jsx)("div",{className:"font-mono text-sm",children:new Date(s).toLocaleString()})}},{accessorKey:"provider",header:"Provider",cell:e=>{let{row:t}=e,s=t.original.provider;return(0,n.jsx)(B.E,{variant:"secondary",className:"".concat(L.RY[s]," capitalize"),children:s})}},{accessorKey:"model",header:"Model",cell:e=>{let{row:t}=e;return(0,n.jsx)("div",{className:"max-w-[240px] truncate text-sm font-medium",children:t.original.model})}},{accessorKey:"status",header:"Status",cell:e=>{let{row:t}=e,s=t.original.status;return(0,n.jsx)(B.E,{variant:"secondary",className:L.Ez[s],children:s})}},{accessorKey:"latency",header:e=>{let{column:t}=e;return(0,n.jsxs)(c.$,{variant:"ghost",onClick:()=>t.toggleSorting("asc"===t.getIsSorted()),children:["Latency",(0,n.jsx)(Z.A,{className:"ml-2 h-4 w-4"})]})},cell:e=>{let{row:t}=e,s=t.original.latency;return(0,n.jsx)("div",{className:"font-mono text-sm",children:s?"".concat(s.toLocaleString(),"ms"):"N/A"})}},{accessorKey:"token_usage.total_tokens",header:e=>{let{column:t}=e;return(0,n.jsxs)(c.$,{variant:"ghost",onClick:()=>t.toggleSorting("asc"===t.getIsSorted()),children:["Tokens",(0,n.jsx)(Z.A,{className:"ml-2 h-4 w-4"})]})},cell:e=>{let{row:t}=e,s=t.original.token_usage;return s?(0,n.jsxs)("div",{className:"text-sm",children:[(0,n.jsx)("div",{className:"font-mono",children:s.total_tokens.toLocaleString()}),(0,n.jsxs)("div",{className:"text-muted-foreground text-xs",children:[s.prompt_tokens,"+",s.completion_tokens]})]}):(0,n.jsx)("div",{className:"font-mono text-sm",children:"N/A"})}},{id:"request_type",header:"Type",cell:e=>{let{row:t}=e;return(0,n.jsx)(B.E,{variant:"outline",className:"".concat(L.wf[t.original.object]," text-xs"),children:L.tJ[t.original.object]})}}];var Q=s(1886),ee=s(8482),et=s(9026),es=s(741),en=s(646),ea=s(4186),el=s(5448),eo=s(5339),er=s(9509),ei=s(4964),ec=s(4357),ed=s(2138),eu=s(6671),em=s(5784);let ep={curl:'curl -X POST http://localhost:8080/v1/chat/completions \\\n -H "Content-Type: application/json" \\\n -d \'{\n "model": "openai/gpt-4o-mini",\n "messages": [\n {"role": "user", "content": "Hello!"}\n ]\n }\'',sdk:{openai:{python:'import openai\n\nclient = openai.OpenAI(\n base_url="http://localhost:8080/openai",\n api_key="dummy-api-key" # Handled by Bifrost\n)\n\nresponse = client.chat.completions.create(\n model="gpt-4o-mini",\n messages=[{"role": "user", "content": "Hello!"}]\n)',typescript:'import OpenAI from "openai";\n\nconst openai = new OpenAI({\n baseURL: "http://localhost:8080/openai",\n apiKey: "dummy-api-key", // Handled by Bifrost\n});\n\nconst response = await openai.chat.completions.create({\n model: "gpt-4o-mini",\n messages: [{ role: "user", content: "Hello!" }],\n});'},anthropic:{python:'import anthropic\n\nclient = anthropic.Anthropic(\n base_url="http://localhost:8080/anthropic",\n api_key="dummy-api-key" # Handled by Bifrost\n)\n\nresponse = client.messages.create(\n model="claude-3-sonnet-20240229",\n max_tokens=1000,\n messages=[{"role": "user", "content": "Hello!"}]\n)',typescript:'import Anthropic from "@anthropic-ai/sdk";\n\nconst anthropic = new Anthropic({\n baseURL: "http://localhost:8080/anthropic",\n apiKey: "dummy-api-key", // Handled by Bifrost\n});\n\nconst response = await anthropic.messages.create({\n model: "claude-3-sonnet-20240229",\n max_tokens: 1000,\n messages: [{ role: "user", content: "Hello!" }],\n});'},genai:{python:'from google import genai\nfrom google.genai.types import HttpOptions\n\nclient = genai.Client(\n api_key="dummy-api-key", # Handled by Bifrost\n http_options=HttpOptions(base_url="http://localhost:8080/genai")\n)\n\nresponse = client.models.generate_content(\n model="gemini-pro",\n contents="Hello!"\n)',typescript:'import { GoogleGenerativeAI } from "@google/generative-ai";\n\nconst genAI = new GoogleGenerativeAI("dummy-api-key", { // Handled by Bifrost\n baseUrl: "http://localhost:8080/genai",\n});\n\nconst model = genAI.getGenerativeModel({ model: "gemini-pro" });\nconst response = await model.generateContent("Hello!");'}}},eh={scrollBeyondLastLine:!1,minimap:{enabled:!1},lineNumbers:"off",folding:!1,lineDecorationsWidth:0,lineNumbersMinChars:0,glyphMargin:!1};function ex(e){let{code:t,language:s,onLanguageChange:a,showLanguageSelect:l=!1,readonly:o=!0}=e;return(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsxs)("div",{className:"absolute top-4 right-4 z-10 flex items-center gap-2",children:[l&&a&&(0,n.jsxs)(em.l6,{value:s,onValueChange:a,children:[(0,n.jsx)(em.bq,{className:"h-8 w-fit text-xs",children:(0,n.jsx)(em.yv,{})}),(0,n.jsxs)(em.gC,{children:[(0,n.jsx)(em.eb,{className:"text-xs",value:"python",children:"Python"}),(0,n.jsx)(em.eb,{className:"text-xs",value:"typescript",children:"TypeScript"})]})]}),(0,n.jsx)(c.$,{variant:"ghost",size:"icon",onClick:()=>{navigator.clipboard.writeText(t),eu.o.success("Copied to clipboard")},children:(0,n.jsx)(ec.A,{className:"size-4"})})]}),(0,n.jsx)(G,{className:"w-full",code:t,lang:s,readonly:o,height:300,fontSize:14,options:eh})]})}let eg=[{title:"What You'll See Here",description:"Real-time request logs from all your API calls",features:["Real-time request logs from all your API calls","Comprehensive request and error details","Token usage, latency, and cost metrics","Advanced filtering and search capabilities"]},{title:"Getting Started",description:"Use the examples below to get started",features:["Choose an example from below","Set Bifrost as your API endpoint","Send a test request","Monitor the response in real-time"]}];function ef(e){let{isSocketConnected:t}=e,[s,l]=(0,a.useState)("python");return(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center space-y-8",children:[(0,n.jsxs)("div",{className:"space-y-2 text-center",children:[(0,n.jsx)("h2",{className:"text-3xl font-bold",children:"Welcome to Request Logs"}),(0,n.jsx)("p",{className:"text-muted-foreground text-lg",children:"Monitor and analyze all your API requests in real-time"})]}),t&&(0,n.jsxs)("div",{className:"flex items-center justify-center gap-2 text-sm",children:[(0,n.jsx)(d.A,{className:"h-4 w-4 animate-spin"}),(0,n.jsx)("span",{children:"Listening for logs..."})]}),(0,n.jsx)("div",{className:"grid w-full max-w-4xl grid-cols-1 gap-6 px-4 md:grid-cols-2",children:eg.map(e=>(0,n.jsxs)(ee.Zp,{className:"p-6",children:[(0,n.jsx)("h3",{className:"text-lg font-semibold",children:e.title}),(0,n.jsx)("p",{className:"text-muted-foreground",children:e.description}),(0,n.jsx)("ul",{className:"text-muted-foreground space-y-3",children:e.features.map(e=>(0,n.jsxs)("li",{className:"flex items-start gap-2",children:[(0,n.jsx)(ed.A,{className:"mt-0.5 h-5 w-5 shrink-0"}),(0,n.jsx)("span",{children:e})]},e))})]},e.title))}),(0,n.jsxs)("div",{className:"w-full max-w-4xl px-4",children:[(0,n.jsx)("h3",{className:"mb-4 text-lg font-semibold",children:"Integration Examples"}),(0,n.jsxs)(ei.Tabs,{defaultValue:"curl",className:"w-full",children:[(0,n.jsxs)(ei.TabsList,{className:"h-10 w-full justify-start",children:[(0,n.jsx)(ei.TabsTrigger,{value:"curl",children:"cURL"}),(0,n.jsx)(ei.TabsTrigger,{value:"openai",children:"OpenAI SDK"}),(0,n.jsx)(ei.TabsTrigger,{value:"anthropic",children:"Anthropic SDK"}),(0,n.jsx)(ei.TabsTrigger,{value:"genai",children:"Google GenAI SDK"})]}),(0,n.jsx)(ei.TabsContent,{value:"curl",className:"p-4",children:(0,n.jsx)(ex,{code:ep.curl,language:"bash",readonly:!1})}),Object.keys(ep.sdk).map(e=>(0,n.jsx)(ei.TabsContent,{value:e,className:"space-y-4 p-4",children:(0,n.jsx)(ex,{code:ep.sdk[e][s],language:"typescript"===s?"typescript":"python",onLanguageChange:e=>l(e),showLanguageSelect:!0})},e))]})]})]})}var ej=s(2384);function ev(){let[e,t]=(0,a.useState)([]),[s,o]=(0,a.useState)(0),[r,i]=(0,a.useState)(null),[c,d]=(0,a.useState)(!0),[u,m]=(0,a.useState)(!1),[p,h]=(0,a.useState)(null),[x,g]=(0,a.useState)(!1),[f,j]=(0,a.useState)(null),[v,y]=(0,a.useState)({providers:[],models:[],status:[],content_search:""}),[N,b]=(0,a.useState)({limit:50,offset:0,sort_by:"timestamp",order:"desc"}),{ws:w,isConnected:_}=function(e){let{onMessage:t}=e,s=(0,a.useRef)(null),n=(0,a.useRef)(null),[l,o]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=er.env.NEXT_PUBLIC_BIFROST_PORT||"8080",a=()=>{var l;if((null==(l=s.current)?void 0:l.readyState)===WebSocket.OPEN)return;let r=new WebSocket("ws://localhost:".concat(e,"/ws/logs"));s.current=r,r.onopen=()=>{console.log("WebSocket connected"),o(!0),n.current&&(clearTimeout(n.current),n.current=null)},r.onmessage=e=>{try{let s=JSON.parse(e.data);"log"===s.type&&t(s.payload)}catch(e){console.error("Failed to parse WebSocket message:",e)}},r.onclose=()=>{console.log("WebSocket disconnected, attempting to reconnect..."),o(!1),n.current=setTimeout(a,5e3)},r.onerror=e=>{o(!1),r.close()}};return a(),()=>{s.current&&(s.current.close(),s.current=null),n.current&&(clearTimeout(n.current),n.current=null),o(!1)}},[t]),{ws:s,isConnected:l}}({onMessage:(0,a.useCallback)(e=>{x&&g(!1),0===N.offset&&"timestamp"===N.sort_by&&"desc"===N.order&&(t(t=>{if(!A(e,v))return t;let s=[e,...t];return s.length>N.limit&&s.pop(),s}),o(e=>e+1),i(t=>{if(!t)return t;let s={...t};s.total_requests+=1;let n=t.success_rate/100*t.total_requests;return s.success_rate=("success"===e.status?n+1:n)/s.total_requests*100,e.latency&&(s.average_latency=(t.average_latency*t.total_requests+e.latency)/s.total_requests),e.token_usage&&(s.total_tokens+=e.token_usage.total_tokens),s}))},[N.offset,N.sort_by,N.order,N.limit,v,x])}),k=(0,a.useCallback)(async()=>{m(!0),h(null);try{let[e,s]=await Q.K.getLogs(v,N);s?(h(s),t([]),o(0)):e&&(t(e.logs||[]),o(e.stats.total_requests),i(e.stats),c&&g(0===e.stats.total_requests))}catch(e){h("Failed to fetch logs. Please try again."),t([]),o(0)}finally{m(!1)}},[v,N,c]);(0,a.useEffect)(()=>{c||k()},[k,c]),(0,a.useEffect)(()=>{k(),d(!1)},[]);let S=e=>"string"==typeof e?e:Array.isArray(e)?e.reduce((e,t)=>"text"===t.type&&t.text?e+t.text:e,""):"",A=(e,t)=>{var s,n,a;if((null==(s=t.providers)?void 0:s.length)&&!t.providers.includes(e.provider)||(null==(n=t.models)?void 0:n.length)&&!t.models.includes(e.model)||(null==(a=t.status)?void 0:a.length)&&!t.status.includes(e.status)||t.start_time&&new Date(e.timestamp)new Date(t.end_time)||t.min_latency&&(!e.latency||e.latencyt.max_latency)||t.min_tokens&&(!e.token_usage||e.token_usage.total_tokenst.max_tokens))return!1;if(t.content_search){let s=t.content_search.toLowerCase();if(![...(e.input_history||[]).map(e=>S(e.content)),e.output_message?S(e.output_message.content):""].join(" ").toLowerCase().includes(s))return!1}return!0},C=(0,a.useMemo)(()=>[{title:"Total Requests",value:(null==r?void 0:r.total_requests.toLocaleString())||"-",icon:(0,n.jsx)(es.A,{className:"size-4"})},{title:"Success Rate",value:r?"".concat(r.success_rate.toFixed(2),"%"):"-",icon:(0,n.jsx)(en.A,{className:"size-4"})},{title:"Avg Latency",value:r?"".concat(r.average_latency.toFixed(2),"ms"):"-",icon:(0,n.jsx)(ea.A,{className:"size-4"})},{title:"Total Tokens",value:(null==r?void 0:r.total_tokens.toLocaleString())||"-",icon:(0,n.jsx)(el.A,{className:"size-4"})}],[r]),L=X();return(0,n.jsxs)("div",{className:"bg-background",children:[(0,n.jsx)(l.A,{title:"Request Logs"}),c?(0,n.jsx)(ej.A,{}):x?(0,n.jsx)(ef,{isSocketConnected:_}):(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"mb-2 text-3xl font-bold",children:"Request Logs"}),(0,n.jsx)("p",{className:"text-muted-foreground",children:"Monitor and analyze all API requests and responses"})]}),(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-4",children:C.map(e=>(0,n.jsx)(ee.Zp,{className:"py-4",children:(0,n.jsx)(ee.Wu,{className:"flex items-center justify-between px-4",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-muted-foreground text-xs",children:e.title}),(0,n.jsx)("div",{className:"text-2xl font-bold",children:e.value})]})})},e.title))}),p&&(0,n.jsxs)(et.Fc,{variant:"destructive",children:[(0,n.jsx)(eo.A,{className:"h-4 w-4"}),(0,n.jsx)(et.TN,{children:p})]}),(0,n.jsx)(z,{columns:L,data:e,totalItems:s,loading:u,filters:v,pagination:N,onFiltersChange:y,onPaginationChange:b,onRowClick:j,isSocketConnected:_})]}),(0,n.jsx)($,{log:f,open:null!==f,onOpenChange:e=>!e&&j(null)})]})]})}}},e=>{var t=t=>e(e.s=t);e.O(0,[586,867,519,678,866,272,341,441,684,358],()=>t(5196)),_N_E=e.O()}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/chunks/app/page-9c52c1dd03452de9.js b/transports/bifrost-http/ui/_next/static/chunks/app/page-9c52c1dd03452de9.js deleted file mode 100644 index 5b4727194a..0000000000 --- a/transports/bifrost-http/ui/_next/static/chunks/app/page-9c52c1dd03452de9.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{1085:(e,t,s)=>{"use strict";s.d(t,{Fm:()=>m,Qs:()=>p,cj:()=>r,h:()=>d,qp:()=>u});var n=s(5155);s(2115);var a=s(5452),l=s(4416),o=s(3999);function r(e){let{...t}=e;return(0,n.jsx)(a.bL,{"data-slot":"sheet",...t})}function i(e){let{...t}=e;return(0,n.jsx)(a.ZL,{"data-slot":"sheet-portal",...t})}function c(e){let{className:t,...s}=e;return(0,n.jsx)(a.hJ,{"data-slot":"sheet-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...s})}function d(e){let{className:t,children:s,side:r="right",...d}=e;return(0,n.jsxs)(i,{children:[(0,n.jsx)(c,{}),(0,n.jsxs)(a.UC,{"data-slot":"sheet-content",className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===r&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===r&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===r&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===r&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",t),...d,children:[s,(0,n.jsxs)(a.bm,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,n.jsx)(l.A,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function m(e){let{className:t,...s}=e;return(0,n.jsx)("div",{"data-slot":"sheet-header",className:(0,o.cn)("flex flex-col gap-1.5 p-4",t),...s})}function u(e){let{className:t,...s}=e;return(0,n.jsx)(a.hE,{"data-slot":"sheet-title",className:(0,o.cn)("text-foreground font-semibold",t),...s})}function p(e){let{className:t,...s}=e;return(0,n.jsx)(a.VY,{"data-slot":"sheet-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...s})}},5196:(e,t,s)=>{Promise.resolve().then(s.bind(s,6794))},6794:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>ev});var n=s(5155),a=s(2115),l=s(9464),o=s(6268),r=s(1032),i=s(8524),c=s(7168),d=s(3904),m=s(4416),u=s(2355),p=s(3052),h=s(9852),x=s(7924),g=s(2815),f=s(7740),j=s(3999);function v(e){let{className:t,...s}=e;return(0,n.jsx)(f.uB,{"data-slot":"command",className:(0,j.cn)("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",t),...s})}function y(e){let{className:t,...s}=e;return(0,n.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,n.jsx)(x.A,{className:"size-4 shrink-0 opacity-50"}),(0,n.jsx)(f.uB.Input,{"data-slot":"command-input",className:(0,j.cn)("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",t),...s})]})}function N(e){let{className:t,...s}=e;return(0,n.jsx)(f.uB.List,{"data-slot":"command-list",className:(0,j.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",t),...s})}function b(e){let{...t}=e;return(0,n.jsx)(f.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...t})}function w(e){let{className:t,...s}=e;return(0,n.jsx)(f.uB.Group,{"data-slot":"command-group",className:(0,j.cn)("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",t),...s})}function _(e){let{className:t,...s}=e;return(0,n.jsx)(f.uB.Item,{"data-slot":"command-item",className:(0,j.cn)("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...s})}s(9840);var k=s(547);function S(e){let{...t}=e;return(0,n.jsx)(k.bL,{"data-slot":"popover",...t})}function A(e){let{...t}=e;return(0,n.jsx)(k.l9,{"data-slot":"popover-trigger",...t})}function C(e){let{className:t,align:s="center",sideOffset:a=4,...l}=e;return(0,n.jsx)(k.ZL,{children:(0,n.jsx)(k.UC,{"data-slot":"popover-content",align:s,sideOffset:a,className:(0,j.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...l})})}var L=s(7783);let H={Status:L.f,Providers:L.xq,Type:L.mG};function T(e){let{filters:t,onFiltersChange:s}=e,[l,o]=(0,a.useState)(!1),r=(e,n)=>{let a={Status:"status",Providers:"providers",Type:"objects"}[e],l=t[a]||[],o=l.includes(n)?l.filter(e=>e!==n):[...l,n];s({...t,[a]:o})},i=(e,s)=>{let n=t[({Status:"status",Providers:"providers",Type:"objects"})[e]];return Array.isArray(n)&&n.includes(s)},d=()=>Object.entries(t).reduce((e,t)=>{let[s,n]=t;return Array.isArray(n)?e+n.length:e+ +!!n},0);return(0,n.jsxs)("div",{className:"flex items-center justify-between space-x-4",children:[(0,n.jsxs)("div",{className:"flex flex-1 items-center gap-2",children:[(0,n.jsx)(x.A,{className:"size-5"}),(0,n.jsx)(h.p,{type:"text",className:"border-none shadow-none outline-none focus-visible:ring-0",placeholder:"Search logs",value:t.content_search||"",onChange:e=>s({...t,content_search:e.target.value})})]}),(0,n.jsxs)(S,{open:l,onOpenChange:o,children:[(0,n.jsx)(A,{asChild:!0,children:(0,n.jsxs)(c.$,{variant:"outline",size:"sm",className:"h-9",children:["Filters",d()>0&&(0,n.jsx)("span",{className:"bg-primary/10 flex h-6 w-6 items-center justify-center rounded-full text-xs font-normal",children:d()})]})}),(0,n.jsx)(C,{className:"w-[200px] p-0",align:"end",children:(0,n.jsxs)(v,{children:[(0,n.jsx)(y,{placeholder:"Search filters..."}),(0,n.jsxs)(N,{children:[(0,n.jsx)(b,{children:"No filters found."}),Object.entries(H).map(e=>{let[t,s]=e;return(0,n.jsx)(w,{heading:t,children:s.map(e=>{let s=i(t,e);return(0,n.jsxs)(_,{onSelect:()=>r(t,e),children:[(0,n.jsx)("div",{className:(0,j.cn)("border-primary mr-2 flex h-4 w-4 items-center justify-center rounded-sm border",s?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:(0,n.jsx)(g.A,{className:"text-primary-foreground size-3"})}),(0,n.jsx)("span",{children:e})]},e)})},t)})]})]})})]})]})}function z(e){let{columns:t,data:s,totalItems:l,loading:h=!1,filters:x,pagination:g,onFiltersChange:f,onPaginationChange:j,onRowClick:v,isSocketConnected:y}=e,[N,b]=(0,a.useState)([{id:g.sort_by,desc:"desc"===g.order}]),w=(0,o.N4)({data:s,columns:t,getCoreRowModel:(0,r.HT)(),manualPagination:!0,manualSorting:!0,manualFiltering:!0,pageCount:Math.ceil(l/g.limit),state:{sorting:N},onSortingChange:e=>{let t="function"==typeof e?e(N):e;if(b(t),t.length>0){let{id:e,desc:s}=t[0];j({...g,sort_by:e,order:s?"desc":"asc"})}}}),_=Math.floor(g.offset/g.limit)+1,k=Math.ceil(l/g.limit),S=g.offset+1,A=Math.min(g.offset+g.limit,l),C=e=>{let t=(e-1)*g.limit;j({...g,offset:t})};return(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(T,{filters:x,onFiltersChange:f}),(0,n.jsx)("div",{className:"rounded-md border",children:(0,n.jsxs)(i.XI,{children:[(0,n.jsx)(i.A0,{children:w.getHeaderGroups().map(e=>(0,n.jsx)(i.Hj,{children:e.headers.map(e=>(0,n.jsx)(i.nd,{children:e.isPlaceholder?null:(0,o.Kv)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,n.jsx)(i.BF,{children:h?(0,n.jsx)(i.Hj,{children:(0,n.jsx)(i.nA,{colSpan:t.length,className:"h-24 text-center",children:(0,n.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,n.jsx)(d.A,{className:"h-4 w-4 animate-spin"}),"Loading logs..."]})})}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.Hj,{className:"hover:bg-transparent",children:(0,n.jsx)(i.nA,{colSpan:t.length,className:"h-12 text-center",children:(0,n.jsx)("div",{className:"flex items-center justify-center gap-2",children:y?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(d.A,{className:"h-4 w-4 animate-spin"}),"Listening for logs..."]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(m.A,{className:"h-4 w-4"}),"Not connected to socket, please refresh the page."]})})})}),w.getRowModel().rows.length?w.getRowModel().rows.map(e=>(0,n.jsx)(i.Hj,{className:"hover:bg-muted/50 cursor-pointer",onClick:()=>null==v?void 0:v(e.original),children:e.getVisibleCells().map(e=>(0,n.jsx)(i.nA,{children:(0,o.Kv)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,n.jsx)(i.Hj,{children:(0,n.jsx)(i.nA,{colSpan:t.length,className:"h-24 text-center",children:"No results found."})})]})})]})}),(0,n.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,n.jsxs)("div",{className:"text-muted-foreground flex items-center gap-2",children:[S.toLocaleString(),"-",A.toLocaleString()," of ",l.toLocaleString()," entries"]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(c.$,{variant:"outline",size:"sm",onClick:()=>C(_-1),disabled:1===_,children:(0,n.jsx)(u.A,{className:"size-3"})}),(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)("span",{children:"Page"}),(0,n.jsx)("span",{children:_}),(0,n.jsxs)("span",{children:["of ",k]})]}),(0,n.jsx)(c.$,{variant:"outline",size:"sm",onClick:()=>C(_+1),disabled:_===k,children:(0,n.jsx)(p.A,{className:"size-3"})})]})]})]})}var B=s(8145),M=s(1085),I=s(6561),O=s(7434),R=s(5868);function q(e){if(null===e.value)return null;let t=e.orientation||"vertical";return(0,n.jsx)("div",{className:(0,j.cn)("items-top flex flex-col gap-2",{["".concat(e.className)]:void 0!==e.className,"items-start":"left"===e.align||void 0===e.align,"items-end":"right"===e.align}),children:(0,n.jsxs)("div",{className:e.containerClassName,children:[""!==e.label&&(0,n.jsx)("div",{className:"text-muted-foreground flex shrink-0 flex-row items-center gap-2 text-xs font-medium",children:e.label.toUpperCase()}),(0,n.jsx)("div",{className:(0,j.cn)("text-md flex text-xs font-medium whitespace-nowrap transition-transform delay-75",{"w-full flex-col items-center gap-2":"horizontal"===t,"flex-row items-start gap-2":"vertical"===t,["".concat(e.valueClassName)]:void 0!==e.valueClassName,"text-end":"right"===e.align}),children:e.value})]})})}var E=s(2940),F=s.n(E),P=s(6037),D=s(1154),W=s(1362);let K=(0,s(5028).default)(()=>s.e(364).then(s.bind(s,1364)).then(e=>e.default),{loadableGenerated:{webpack:()=>[1364]},ssr:!1,loading:()=>(0,n.jsx)(D.A,{className:"h-4 w-4 animate-spin p-4"})});function G(e){var t,s,l,o,r,i,c,d,m,u,p,h,x,g,f,v;let{className:y,lang:N,code:b,onChange:w,height:_,minHeight:k}=e,S=(0,a.useRef)(null),[A,C]=(0,a.useState)(!1),[L,H]=(0,a.useState)(e.height||e.minHeight||200);(0,a.useEffect)(()=>{C(!0)},[]);let{theme:T,systemTheme:z}=(0,W.D)(),B={lineNumbers:(null==(t=e.options)?void 0:t.lineNumbers)||"off",readOnly:e.readonly,scrollBeyondLastLine:null!=(p=null==(s=e.options)?void 0:s.scrollBeyondLastLine)&&p,minimap:{enabled:!1},contextmenu:!1,fontFamily:"var(--font-geist-mono)",fontSize:e.fontSize||12.5,padding:{top:2,bottom:2},wordWrap:e.wrap?"on":"off",folding:null!=(h=null==(l=e.options)?void 0:l.collapsibleBlocks)&&h,glyphMargin:!1,lineNumbersMinChars:null!=(x=null==(o=e.options)?void 0:o.lineNumbersMinChars)?x:4,overviewRulerLanes:null!=(g=null==(r=e.options)?void 0:r.overviewRulerLanes)?g:0,renderLineHighlight:"none",cursorStyle:"line",cursorBlinking:"smooth",scrollbar:{vertical:(null==(i=e.options)?void 0:i.showVerticalScrollbar)?"auto":"hidden",horizontal:(null==(c=e.options)?void 0:c.showHorizontalScrollbar)?"auto":"hidden",alwaysConsumeMouseWheel:null!=(f=null==(d=e.options)?void 0:d.alwaysConsumeMouseWheel)&&f},guides:{indentation:null==(v=null==(m=e.options)?void 0:m.showIndentLines)||v},hover:{enabled:!(null==(u=e.options)?void 0:u.disableHover)},wordBasedSuggestions:"off",...e.options};return A?(0,n.jsx)("div",{id:e.id,ref:S,className:(0,j.cn)("group relative h-full w-full",e.containerClassName),onBlur:e.onBlur,children:(0,n.jsx)(K,{height:L,width:e.width,language:N||"javascript",value:b||"",theme:"dark"===T||"system"===T&&"dark"===z?"custom-dark":"light",options:B,loading:(0,n.jsx)(D.A,{className:"h-4 w-4 animate-spin"}),onChange:e=>{w&&w(e||"")},onMount:(t,s)=>{if(e.autoFocus&&t.focus(),e.shouldAdjustInitialHeight||e.autoResize){let s=()=>{try{let s=t.getContentHeight();e.minHeight&&se.maxHeight&&(s=e.maxHeight),H(s+15),t.layout()}catch(e){console.warn("Error updating editor height:",e)}};if(setTimeout(s,100),e.autoResize){let e=t.getModel();e&&e.onDidChangeContent(()=>{requestAnimationFrame(s)})}}if(e.autoFormat)try{var n;null==(n=t.getAction("editor.action.formatDocument"))||n.run()}catch(e){console.warn("Auto-format failed:",e)}},className:(0,j.cn)("code text-md w-full bg-transparent ring-offset-transparent outline-none",y),beforeMount:e=>{window.MonacoEnvironment={getWorker:()=>({postMessage:()=>{},terminate:()=>{},addEventListener:()=>{},removeEventListener:()=>{},dispatchEvent:()=>!1,onerror:null,onmessage:null,onmessageerror:null})},e.editor.defineTheme("custom-dark",{base:"vs-dark",inherit:!0,rules:[],colors:{"editor.background":"#00000000",focusBorder:"#00000000","editor.lineHighlightBorder":"#00000000","editor.selectionHighlightBorder":"#00000000","editorWidget.border":"#00000000","editorOverviewRuler.border":"#00000000"}})}})}):(0,n.jsx)("div",{className:(0,j.cn)("group relative flex h-24 w-full items-center justify-center",e.containerClassName),children:(0,n.jsx)(D.A,{className:"h-4 w-4 animate-spin"})})}let Y=e=>{try{return JSON.parse(e),!0}catch(e){return!1}},J=e=>{try{return JSON.parse(e)}catch(t){return e}};function U(e){let{message:t}=e;return(0,n.jsxs)("div",{className:"w-full rounded-sm border",children:[(0,n.jsx)("div",{className:"border-b px-6 py-2 text-sm font-medium capitalize",children:t.role}),"string"==typeof t.content&&t.content.length>0&&!Y(t.content)?(0,n.jsx)("div",{className:"px-6 py-2 font-mono text-xs",children:t.content}):t.content.length>0&&(0,n.jsx)(G,{className:"z-0 w-full",shouldAdjustInitialHeight:!0,maxHeight:250,wrap:!0,code:JSON.stringify(J(t.content),null,2),lang:"json",readonly:!0,options:{scrollBeyondLastLine:!1,collapsibleBlocks:!0,lineNumbers:"off",alwaysConsumeMouseWheel:!1}}),t.tool_calls&&t.tool_calls.length>0&&(0,n.jsx)("div",{className:"border-b last:border-b-0",children:(0,n.jsx)(G,{className:"z-0 w-full",shouldAdjustInitialHeight:!0,maxHeight:150,wrap:!0,code:JSON.stringify(J(t.tool_calls),null,2),lang:"json",readonly:!0,options:{scrollBeyondLastLine:!1,collapsibleBlocks:!0,lineNumbers:"off",alwaysConsumeMouseWheel:!1}})})]})}function $(e){var t,s,a,l,o,r,i,c;let{log:d,open:m,onOpenChange:u}=e;if(!d)return null;d.latency;let p=d.token_usage;p&&(p.completion_tokens,p.total_tokens),p&&(p.prompt_tokens,p.completion_tokens,p.prompt_tokens,p.completion_tokens);let h=null;if(null==(t=d.params)?void 0:t.tools)try{h=JSON.stringify(d.params.tools,null,2)}catch(e){}let x=null;if(null==(s=d.params)?void 0:s.tool_choice)try{x=JSON.stringify(d.params.tool_choice,null,2)}catch(e){}return(0,n.jsx)(M.cj,{open:m,onOpenChange:u,children:(0,n.jsxs)(M.h,{className:"flex w-full flex-col overflow-x-hidden p-8 sm:max-w-2xl",children:[(0,n.jsx)(M.Fm,{className:"px-0",children:(0,n.jsxs)(M.qp,{className:"flex w-fit items-center gap-2 font-medium",children:["success"===d.status&&(0,n.jsxs)("p",{className:"text-md max-w-full truncate",children:["Request ID: ",d.id]}),(0,n.jsx)(B.E,{variant:"outline",className:L.Ez[d.status],children:d.status})]})}),(0,n.jsxs)("div",{className:"space-y-4 rounded-sm border px-6 py-4",children:[(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)(V,{title:"Timings",icon:(0,n.jsx)(I.A,{className:"h-5 w-5 text-gray-600"})}),(0,n.jsxs)("div",{className:"grid w-full grid-cols-3 items-center justify-between gap-4",children:[(0,n.jsx)(q,{className:"w-full",label:"Start Timestamp",value:F()(d.timestamp).format("YYYY-MM-DD HH:mm:ss A")}),(0,n.jsx)(q,{className:"w-full",label:"End Timestamp",value:F()(d.timestamp).add(d.latency||0,"ms").format("YYYY-MM-DD HH:mm:ss A")}),(0,n.jsx)(q,{className:"w-full",label:"Latency",value:isNaN(d.latency||0)?"NA":(0,n.jsxs)("div",{children:[null==(a=d.latency||0)?void 0:a.toFixed(2),"ms"]})})]})]}),(0,n.jsx)(P.W,{}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)(V,{title:"Request Details",icon:(0,n.jsx)(O.A,{className:"h-5 w-5 text-gray-600"})}),(0,n.jsxs)("div",{className:"grid w-full grid-cols-3 items-center justify-between gap-4",children:[(0,n.jsx)(q,{className:"w-full",label:"Provider",value:L.oU[d.provider]}),(0,n.jsx)(q,{className:"w-full",label:"Model",value:d.model}),(0,n.jsx)(q,{className:"w-full",label:"Type",value:(0,n.jsx)("div",{className:"".concat(L.wf[d.object]," rounded-md px-3 py-1"),children:L.tJ[d.object]})}),d.params&&Object.keys(d.params).length>0&&Object.entries(d.params).filter(e=>{let[t]=e;return"tools"!==t}).filter(e=>{let[t,s]=e;return"boolean"==typeof s||"number"==typeof s||"string"==typeof s}).map(e=>{let[t,s]=e;return(0,n.jsx)(q,{className:"w-full",label:t,value:s},t)})]})]}),"success"===d.status&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(P.W,{}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)(V,{title:"Tokens",icon:(0,n.jsx)(R.A,{className:"h-5 w-5 text-gray-600"})}),(0,n.jsxs)("div",{className:"grid w-full grid-cols-3 items-center justify-between gap-4",children:[(0,n.jsx)(q,{className:"w-full",label:"Prompt Tokens",value:null==(l=d.token_usage)?void 0:l.prompt_tokens}),(0,n.jsx)(q,{className:"w-full",label:"Completion Tokens",value:null==(o=d.token_usage)?void 0:o.completion_tokens}),(0,n.jsx)(q,{className:"w-full",label:"Total Tokens",value:null==(r=d.token_usage)?void 0:r.total_tokens})]})]})]})]}),x&&(0,n.jsxs)("div",{className:"w-full rounded-sm border",children:[(0,n.jsx)("div",{className:"border-b px-6 py-2 text-sm font-medium",children:"Tool Choice"}),(0,n.jsx)(G,{className:"z-0 w-full",shouldAdjustInitialHeight:!0,maxHeight:450,wrap:!0,code:x,lang:"json",readonly:!0,options:{scrollBeyondLastLine:!1,collapsibleBlocks:!0,lineNumbers:"off",alwaysConsumeMouseWheel:!1}})]}),h&&(0,n.jsxs)("div",{className:"w-full rounded-sm border",children:[(0,n.jsx)("div",{className:"border-b px-6 py-2 text-sm font-medium",children:"Tools"}),(0,n.jsx)(G,{className:"z-0 w-full",shouldAdjustInitialHeight:!0,maxHeight:450,wrap:!0,code:h,lang:"json",readonly:!0,options:{scrollBeyondLastLine:!1,collapsibleBlocks:!0,lineNumbers:"off",alwaysConsumeMouseWheel:!1}})]}),(0,n.jsx)("div",{className:"mt-4 w-full text-center text-sm font-medium",children:"Conversation History"}),d.input_history&&d.input_history.map(e=>(0,n.jsx)(U,{message:e},e.content.toString())),(0,n.jsx)("div",{className:"mt-4 w-full text-center text-sm font-medium",children:"Response"}),"success"===d.status?d.output_message&&(0,n.jsx)(U,{message:d.output_message}):(0,n.jsxs)("div",{className:"w-full rounded-sm border",children:[(0,n.jsx)("div",{className:"border-b px-6 py-2 text-sm font-medium",children:"Error"}),(0,n.jsx)("div",{className:"px-6 py-2 font-mono text-xs",children:null==(i=d.error_details)?void 0:i.error.message})]})]})})}let V=e=>{let{title:t,icon:s}=e;return(0,n.jsx)("div",{className:"flex items-center gap-2",children:(0,n.jsx)("div",{className:"text-sm font-medium",children:t})})};var Z=s(1492);let X=()=>[{accessorKey:"timestamp",header:e=>{let{column:t}=e;return(0,n.jsxs)(c.$,{variant:"ghost",onClick:()=>t.toggleSorting("asc"===t.getIsSorted()),children:["Time",(0,n.jsx)(Z.A,{className:"ml-2 h-4 w-4"})]})},cell:e=>{let{row:t}=e,s=t.original.timestamp;return(0,n.jsx)("div",{className:"font-mono text-sm",children:new Date(s).toLocaleString()})}},{accessorKey:"provider",header:"Provider",cell:e=>{let{row:t}=e,s=t.original.provider;return(0,n.jsx)(B.E,{variant:"secondary",className:"".concat(L.RY[s]," capitalize"),children:s})}},{accessorKey:"model",header:"Model",cell:e=>{let{row:t}=e;return(0,n.jsx)("div",{className:"max-w-[240px] truncate text-sm font-medium",children:t.original.model})}},{accessorKey:"status",header:"Status",cell:e=>{let{row:t}=e,s=t.original.status;return(0,n.jsx)(B.E,{variant:"secondary",className:L.Ez[s],children:s})}},{accessorKey:"latency",header:e=>{let{column:t}=e;return(0,n.jsxs)(c.$,{variant:"ghost",onClick:()=>t.toggleSorting("asc"===t.getIsSorted()),children:["Latency",(0,n.jsx)(Z.A,{className:"ml-2 h-4 w-4"})]})},cell:e=>{let{row:t}=e,s=t.original.latency;return(0,n.jsx)("div",{className:"font-mono text-sm",children:s?"".concat(s.toLocaleString(),"ms"):"N/A"})}},{accessorKey:"token_usage.total_tokens",header:e=>{let{column:t}=e;return(0,n.jsxs)(c.$,{variant:"ghost",onClick:()=>t.toggleSorting("asc"===t.getIsSorted()),children:["Tokens",(0,n.jsx)(Z.A,{className:"ml-2 h-4 w-4"})]})},cell:e=>{let{row:t}=e,s=t.original.token_usage;return s?(0,n.jsxs)("div",{className:"text-sm",children:[(0,n.jsx)("div",{className:"font-mono",children:s.total_tokens.toLocaleString()}),(0,n.jsxs)("div",{className:"text-muted-foreground text-xs",children:[s.prompt_tokens,"+",s.completion_tokens]})]}):(0,n.jsx)("div",{className:"font-mono text-sm",children:"N/A"})}},{id:"request_type",header:"Type",cell:e=>{let{row:t}=e;return(0,n.jsx)(B.E,{variant:"outline",className:"".concat(L.wf[t.original.object]," text-xs"),children:L.tJ[t.original.object]})}}];var Q=s(1886),ee=s(8482),et=s(9026),es=s(741),en=s(646),ea=s(4186),el=s(5448),eo=s(5339),er=s(9509),ei=s(4964),ec=s(4357),ed=s(2138),em=s(6671),eu=s(5784);let ep={curl:'curl -X POST http://localhost:8080/v1/chat/completions \\\n -H "Content-Type: application/json" \\\n -d \'{\n "provider": "openai",\n "model": "gpt-4o-mini",\n "messages": [\n {"role": "user", "content": "Hello!"}\n ]\n }\'',sdk:{openai:{python:'import openai\n\nclient = openai.OpenAI(\n base_url="http://localhost:8080/openai",\n api_key="dummy-api-key" # Handled by Bifrost\n)\n\nresponse = client.chat.completions.create(\n model="gpt-4o-mini",\n messages=[{"role": "user", "content": "Hello!"}]\n)',typescript:'import OpenAI from "openai";\n\nconst openai = new OpenAI({\n baseURL: "http://localhost:8080/openai",\n apiKey: "dummy-api-key", // Handled by Bifrost\n});\n\nconst response = await openai.chat.completions.create({\n model: "gpt-4o-mini",\n messages: [{ role: "user", content: "Hello!" }],\n});'},anthropic:{python:'import anthropic\n\nclient = anthropic.Anthropic(\n base_url="http://localhost:8080/anthropic",\n api_key="dummy-api-key" # Handled by Bifrost\n)\n\nresponse = client.messages.create(\n model="claude-3-sonnet-20240229",\n max_tokens=1000,\n messages=[{"role": "user", "content": "Hello!"}]\n)',typescript:'import Anthropic from "@anthropic-ai/sdk";\n\nconst anthropic = new Anthropic({\n baseURL: "http://localhost:8080/anthropic",\n apiKey: "dummy-api-key", // Handled by Bifrost\n});\n\nconst response = await anthropic.messages.create({\n model: "claude-3-sonnet-20240229",\n max_tokens: 1000,\n messages: [{ role: "user", content: "Hello!" }],\n});'},genai:{python:'from google import genai\nfrom google.genai.types import HttpOptions\n\nclient = genai.Client(\n api_key="dummy-api-key", # Handled by Bifrost\n http_options=HttpOptions(base_url="http://localhost:8080/genai")\n)\n\nresponse = client.models.generate_content(\n model="gemini-pro",\n contents="Hello!"\n)',typescript:'import { GoogleGenerativeAI } from "@google/generative-ai";\n\nconst genAI = new GoogleGenerativeAI("dummy-api-key", { // Handled by Bifrost\n baseUrl: "http://localhost:8080/genai",\n});\n\nconst model = genAI.getGenerativeModel({ model: "gemini-pro" });\nconst response = await model.generateContent("Hello!");'}}},eh={scrollBeyondLastLine:!1,minimap:{enabled:!1},lineNumbers:"off",folding:!1,lineDecorationsWidth:0,lineNumbersMinChars:0,glyphMargin:!1};function ex(e){let{code:t,language:s,onLanguageChange:a,showLanguageSelect:l=!1,readonly:o=!0}=e;return(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsxs)("div",{className:"absolute top-4 right-4 z-10 flex items-center gap-2",children:[l&&a&&(0,n.jsxs)(eu.l6,{value:s,onValueChange:a,children:[(0,n.jsx)(eu.bq,{className:"h-8 w-fit text-xs",children:(0,n.jsx)(eu.yv,{})}),(0,n.jsxs)(eu.gC,{children:[(0,n.jsx)(eu.eb,{className:"text-xs",value:"python",children:"Python"}),(0,n.jsx)(eu.eb,{className:"text-xs",value:"typescript",children:"TypeScript"})]})]}),(0,n.jsx)(c.$,{variant:"ghost",size:"icon",onClick:()=>{navigator.clipboard.writeText(t),em.o.success("Copied to clipboard")},children:(0,n.jsx)(ec.A,{className:"size-4"})})]}),(0,n.jsx)(G,{className:"w-full",code:t,lang:s,readonly:o,height:300,fontSize:14,options:eh})]})}let eg=[{title:"What You'll See Here",description:"Real-time request logs from all your API calls",features:["Real-time request logs from all your API calls","Comprehensive request and error details","Token usage, latency, and cost metrics","Advanced filtering and search capabilities"]},{title:"Getting Started",description:"Use the examples below to get started",features:["Choose an example from below","Set Bifrost as your API endpoint","Send a test request","Monitor the response in real-time"]}];function ef(e){let{isSocketConnected:t}=e,[s,l]=(0,a.useState)("python");return(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center space-y-8",children:[(0,n.jsxs)("div",{className:"space-y-2 text-center",children:[(0,n.jsx)("h2",{className:"text-3xl font-bold",children:"Welcome to Request Logs"}),(0,n.jsx)("p",{className:"text-muted-foreground text-lg",children:"Monitor and analyze all your API requests in real-time"})]}),t&&(0,n.jsxs)("div",{className:"flex items-center justify-center gap-2 text-sm",children:[(0,n.jsx)(d.A,{className:"h-4 w-4 animate-spin"}),(0,n.jsx)("span",{children:"Listening for logs..."})]}),(0,n.jsx)("div",{className:"grid w-full max-w-4xl grid-cols-1 gap-6 px-4 md:grid-cols-2",children:eg.map(e=>(0,n.jsxs)(ee.Zp,{className:"p-6",children:[(0,n.jsx)("h3",{className:"text-lg font-semibold",children:e.title}),(0,n.jsx)("p",{className:"text-muted-foreground",children:e.description}),(0,n.jsx)("ul",{className:"text-muted-foreground space-y-3",children:e.features.map(e=>(0,n.jsxs)("li",{className:"flex items-start gap-2",children:[(0,n.jsx)(ed.A,{className:"mt-0.5 h-5 w-5 shrink-0"}),(0,n.jsx)("span",{children:e})]},e))})]},e.title))}),(0,n.jsxs)("div",{className:"w-full max-w-4xl px-4",children:[(0,n.jsx)("h3",{className:"mb-4 text-lg font-semibold",children:"Integration Examples"}),(0,n.jsxs)(ei.Tabs,{defaultValue:"curl",className:"w-full",children:[(0,n.jsxs)(ei.TabsList,{className:"h-10 w-full justify-start",children:[(0,n.jsx)(ei.TabsTrigger,{value:"curl",children:"cURL"}),(0,n.jsx)(ei.TabsTrigger,{value:"openai",children:"OpenAI SDK"}),(0,n.jsx)(ei.TabsTrigger,{value:"anthropic",children:"Anthropic SDK"}),(0,n.jsx)(ei.TabsTrigger,{value:"genai",children:"Google GenAI SDK"})]}),(0,n.jsx)(ei.TabsContent,{value:"curl",className:"p-4",children:(0,n.jsx)(ex,{code:ep.curl,language:"bash",readonly:!1})}),Object.keys(ep.sdk).map(e=>(0,n.jsx)(ei.TabsContent,{value:e,className:"space-y-4 p-4",children:(0,n.jsx)(ex,{code:ep.sdk[e][s],language:"typescript"===s?"typescript":"python",onLanguageChange:e=>l(e),showLanguageSelect:!0})},e))]})]})]})}var ej=s(2384);function ev(){let[e,t]=(0,a.useState)([]),[s,o]=(0,a.useState)(0),[r,i]=(0,a.useState)(null),[c,d]=(0,a.useState)(!0),[m,u]=(0,a.useState)(!1),[p,h]=(0,a.useState)(null),[x,g]=(0,a.useState)(!1),[f,j]=(0,a.useState)(null),[v,y]=(0,a.useState)({providers:[],models:[],status:[],content_search:""}),[N,b]=(0,a.useState)({limit:50,offset:0,sort_by:"timestamp",order:"desc"}),{ws:w,isConnected:_}=function(e){let{onMessage:t}=e,s=(0,a.useRef)(null),n=(0,a.useRef)(null),[l,o]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=er.env.NEXT_PUBLIC_BIFROST_PORT||"8080",a=()=>{var l;if((null==(l=s.current)?void 0:l.readyState)===WebSocket.OPEN)return;let r=new WebSocket("ws://localhost:".concat(e,"/ws/logs"));s.current=r,r.onopen=()=>{console.log("WebSocket connected"),o(!0),n.current&&(clearTimeout(n.current),n.current=null)},r.onmessage=e=>{try{let s=JSON.parse(e.data);"log"===s.type&&t(s.payload)}catch(e){console.error("Failed to parse WebSocket message:",e)}},r.onclose=()=>{console.log("WebSocket disconnected, attempting to reconnect..."),o(!1),n.current=setTimeout(a,5e3)},r.onerror=e=>{o(!1),r.close()}};return a(),()=>{s.current&&(s.current.close(),s.current=null),n.current&&(clearTimeout(n.current),n.current=null),o(!1)}},[t]),{ws:s,isConnected:l}}({onMessage:(0,a.useCallback)(e=>{0===N.offset&&"timestamp"===N.sort_by&&"desc"===N.order&&(t(t=>{if(!A(e,v))return t;let s=[e,...t];return s.length>N.limit&&s.pop(),s}),o(e=>e+1),i(t=>{if(!t)return t;let s={...t};s.total_requests+=1;let n=t.success_rate/100*t.total_requests;return s.success_rate=("success"===e.status?n+1:n)/s.total_requests*100,e.latency&&(s.average_latency=(t.average_latency*t.total_requests+e.latency)/s.total_requests),e.token_usage&&(s.total_tokens+=e.token_usage.total_tokens),s}))},[N.offset,N.sort_by,N.order,N.limit,v])}),k=(0,a.useCallback)(async()=>{var e,s,n;let a=!!(v.content_search||(null==(e=v.providers)?void 0:e.length)||(null==(s=v.models)?void 0:s.length)||(null==(n=v.status)?void 0:n.length)||v.start_time||v.end_time||v.min_latency||v.max_latency||v.min_tokens||v.max_tokens);u(!0),0===N.offset&&d(!0),h(null);try{let[e,s]=await Q.K.getLogs(v,N);s?(h(s),t([]),o(0)):e&&(t(e.logs||[]),o(e.stats.total_requests),i(e.stats),a||0!==N.offset?g(!1):g(0===e.stats.total_requests))}catch(e){h("Failed to fetch logs. Please try again."),t([]),o(0)}finally{d(!1),u(!1)}},[v,N]);(0,a.useEffect)(()=>{k()},[k]);let S=e=>"string"==typeof e?e:Array.isArray(e)?e.reduce((e,t)=>"text"===t.type&&t.text?e+t.text:e,""):"",A=(e,t)=>{var s,n,a;if((null==(s=t.providers)?void 0:s.length)&&!t.providers.includes(e.provider)||(null==(n=t.models)?void 0:n.length)&&!t.models.includes(e.model)||(null==(a=t.status)?void 0:a.length)&&!t.status.includes(e.status)||t.start_time&&new Date(e.timestamp)new Date(t.end_time)||t.min_latency&&(!e.latency||e.latencyt.max_latency)||t.min_tokens&&(!e.token_usage||e.token_usage.total_tokenst.max_tokens))return!1;if(t.content_search){let s=t.content_search.toLowerCase();if(![...(e.input_history||[]).map(e=>S(e.content)),e.output_message?S(e.output_message.content):""].join(" ").toLowerCase().includes(s))return!1}return!0},C=(0,a.useMemo)(()=>[{title:"Total Requests",value:(null==r?void 0:r.total_requests.toLocaleString())||"-",icon:(0,n.jsx)(es.A,{className:"size-4"})},{title:"Success Rate",value:r?"".concat(r.success_rate.toFixed(2),"%"):"-",icon:(0,n.jsx)(en.A,{className:"size-4"})},{title:"Avg Latency",value:r?"".concat(r.average_latency.toFixed(2),"ms"):"-",icon:(0,n.jsx)(ea.A,{className:"size-4"})},{title:"Total Tokens",value:(null==r?void 0:r.total_tokens.toLocaleString())||"-",icon:(0,n.jsx)(el.A,{className:"size-4"})}],[r]),L=X();return(0,n.jsxs)("div",{className:"bg-background",children:[(0,n.jsx)(l.A,{title:"Request Logs"}),c?(0,n.jsx)(ej.A,{}):m||!x||0!==s||p?(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"mb-2 text-3xl font-bold",children:"Request Logs"}),(0,n.jsx)("p",{className:"text-muted-foreground",children:"Monitor and analyze all API requests and responses"})]}),(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-4",children:C.map(e=>(0,n.jsx)(ee.Zp,{className:"py-4",children:(0,n.jsx)(ee.Wu,{className:"flex items-center justify-between px-4",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-muted-foreground text-xs",children:e.title}),(0,n.jsx)("div",{className:"text-2xl font-bold",children:e.value})]})})},e.title))}),p&&(0,n.jsxs)(et.Fc,{variant:"destructive",children:[(0,n.jsx)(eo.A,{className:"h-4 w-4"}),(0,n.jsx)(et.TN,{children:p})]}),(0,n.jsx)(z,{columns:L,data:e,totalItems:s,loading:m,filters:v,pagination:N,onFiltersChange:y,onPaginationChange:b,onRowClick:j,isSocketConnected:_})]}),(0,n.jsx)($,{log:f,open:null!==f,onOpenChange:e=>!e&&j(null)})]}):(0,n.jsx)(ef,{isSocketConnected:_})]})}}},e=>{var t=t=>e(e.s=t);e.O(0,[586,867,519,213,866,443,341,441,684,358],()=>t(5196)),_N_E=e.O()}]); \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/css/0290f827d14417a0.css b/transports/bifrost-http/ui/_next/static/css/0290f827d14417a0.css new file mode 100644 index 0000000000..644de16510 --- /dev/null +++ b/transports/bifrost-http/ui/_next/static/css/0290f827d14417a0.css @@ -0,0 +1 @@ +/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:host,:root{--color-red-100:oklch(93.6% .032 17.717);--color-red-800:oklch(44.4% .177 26.899);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-800:oklch(47% .157 37.304);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-green-950:oklch(26.6% .065 152.934);--color-cyan-100:oklch(95.6% .045 203.388);--color-cyan-800:oklch(45% .085 224.283);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-800:oklch(39.8% .195 277.366);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-purple-950:oklch(29.1% .149 302.717);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-800:oklch(45.9% .187 3.815);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-800:oklch(27.8% .033 256.848);--color-neutral-100:oklch(97% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-4{top:calc(var(--spacing)*4)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-\(--sidebar-width\){left:var(--sidebar-width)}.left-0{left:calc(var(--spacing)*0)}.left-2{left:calc(var(--spacing)*2)}.left-\[50\%\]{left:50%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-4{margin-block:calc(var(--spacing)*4)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-full{width:100%;height:100%}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-64{height:calc(var(--spacing)*64)}.h-\[1\.2rem\]{height:1.2rem}.h-\[1px\]{height:1px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-base{height:calc(100vh - 6rem)}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[90vh\]{max-height:90vh}.max-h-\[300px\]{max-height:300px}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-5xl{width:var(--container-5xl)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-\[1\.2rem\]{width:1.2rem}.w-\[200px\]{width:200px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-72{max-width:calc(var(--spacing)*72)}.max-w-\[240px\]{max-width:240px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-fit{max-width:fit-content}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-hover-card-content-transform-origin\){transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1)}.-translate-x-1\/2,.-translate-x-px{translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-x-px{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px}.translate-y-0\.5{--tw-translate-y:calc(var(--spacing)*.5)}.translate-y-0\.5,.translate-y-\[-50\%\]{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%}.scale-0,.scale-100{scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%}.rotate-0{rotate:none}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing)*1)}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-start{justify-items:start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing)*.5)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-200{border-color:var(--color-blue-200)}.border-border{border-color:var(--border)}.border-destructive{border-color:var(--destructive)}.border-green-200{border-color:var(--color-green-200)}.border-input{border-color:var(--input)}.border-muted-foreground\/30{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/30{border-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.border-primary,.border-primary\/20{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,var(--primary)20%,transparent)}}.border-purple-200{border-color:var(--color-purple-200)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-accent{background-color:var(--accent)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-destructive{background-color:var(--destructive)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-700{background-color:var(--color-green-700)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-pink-100{background-color:var(--color-pink-100)}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/5{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--primary)5%,transparent)}}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-red-100{background-color:var(--color-red-100)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-primary{--tw-gradient-from:var(--primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary\/5{--tw-gradient-from:var(--primary)}@supports (color:color-mix(in lab,red,red)){.from-primary\/5{--tw-gradient-from:color-mix(in oklab,var(--primary)5%,transparent)}}.from-primary\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-600{--tw-gradient-to:var(--color-green-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-600\/5{--tw-gradient-to:#00a5440d}@supports (color:color-mix(in lab,red,red)){.to-green-600\/5{--tw-gradient-to:color-mix(in oklab,var(--color-green-600)5%,transparent)}}.to-green-600\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.fill-primary{fill:var(--primary)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-24{padding-top:calc(var(--spacing)*24)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.pl-1\.5{padding-left:calc(var(--spacing)*1.5)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-end{text-align:end}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-geist-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.wrap-anywhere{overflow-wrap:anywhere}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-card-foreground{color:var(--card-foreground)}.text-cyan-800{color:var(--color-cyan-800)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-gray-600{color:var(--color-gray-600)}.text-gray-800{color:var(--color-gray-800)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-800{color:var(--color-indigo-800)}.text-muted-foreground{color:var(--muted-foreground)}.text-neutral-800{color:var(--color-neutral-800)}.text-orange-800{color:var(--color-orange-800)}.text-pink-800{color:var(--color-pink-800)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-red-800{color:var(--color-red-800)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)))}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\],.shadow-lg{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-md,.shadow-none{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-sm,.shadow-xs{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.ring-offset-transparent{--tw-ring-offset-color:transparent}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-75{transition-delay:75ms}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.delay-75{--tw-animation-delay:75ms;animation-delay:75ms}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\:bg-primary\/20:is(:where(.group):hover *){background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-primary\/20:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.group-hover\:text-foreground:is(:where(.group):hover *){color:var(--foreground)}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--primary)}.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *),.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-primary\/50:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,var(--primary)50%,transparent)}}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)))}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover,.hover\:shadow-lg:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.hover\:shadow-md:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab,var(--destructive)90%,transparent)}}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing)*12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:calc(var(--spacing)*5);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))ease-out}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))ease-out}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}@media (min-width:40rem){.sm\:flex{display:flex}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-3xl{max-width:var(--container-3xl)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing)*2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:scale-0:is(.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:scale-100:is(.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:-rotate-90:is(.dark *){rotate:-90deg}.dark\:rotate-0:is(.dark *){rotate:none}.dark\:border-amber-800:is(.dark *){border-color:var(--color-amber-800)}.dark\:border-blue-800:is(.dark *){border-color:var(--color-blue-800)}.dark\:border-green-800:is(.dark *){border-color:var(--color-green-800)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-purple-800:is(.dark *){border-color:var(--color-purple-800)}.dark\:bg-amber-950\/20:is(.dark *){background-color:#46190133}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-950)20%,transparent)}}.dark\:bg-blue-900:is(.dark *){background-color:var(--color-blue-900)}.dark\:bg-blue-950\/20:is(.dark *){background-color:#16245633}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950)20%,transparent)}}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-green-900:is(.dark *){background-color:var(--color-green-900)}.dark\:bg-green-950\/20:is(.dark *){background-color:#032e1533}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-green-950)20%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-purple-900:is(.dark *){background-color:var(--color-purple-900)}.dark\:bg-purple-950\/20:is(.dark *){background-color:#3c036633}@supports (color:color-mix(in lab,red,red)){.dark\:bg-purple-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-purple-950)20%,transparent)}}.dark\:text-amber-200:is(.dark *){color:var(--color-amber-200)}.dark\:text-amber-300:is(.dark *){color:var(--color-amber-300)}.dark\:text-blue-200:is(.dark *){color:var(--color-blue-200)}.dark\:text-blue-300:is(.dark *){color:var(--color-blue-300)}.dark\:text-green-200:is(.dark *){color:var(--color-green-200)}.dark\:text-green-300:is(.dark *){color:var(--color-green-300)}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:text-purple-200:is(.dark *){color:var(--color-purple-200)}.dark\:text-purple-300:is(.dark *){color:var(--color-purple-300)}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:invisible svg{visibility:hidden}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\]\:text-current>svg{color:currentColor}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-green-700\/90:hover{background-color:#008138e6}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-green-700\/90:hover{background-color:color-mix(in oklab,var(--color-green-700)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.1% .005 285.823);--card:oklch(100% 0 0);--card-foreground:oklch(14.1% .005 285.823);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.1% .005 285.823);--primary:oklch(21% .006 285.885);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.7% .001 286.375);--muted-foreground:oklch(55.2% .016 285.938);--accent:oklch(96.7% .001 286.375);--accent-foreground:oklch(21% .006 285.885);--destructive:oklch(57.7% .245 27.325);--border:oklch(92% .004 286.32);--input:oklch(92% .004 286.32);--ring:oklch(70.5% .015 286.067);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.1% .005 285.823);--sidebar-primary:oklch(21% .006 285.885);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(96.7% .001 286.375);--sidebar-accent-foreground:oklch(21% .006 285.885);--sidebar-border:oklch(92% .004 286.32);--sidebar-ring:oklch(70.5% .015 286.067)}.dark{--background:oklch(14.1% .005 285.823);--foreground:oklch(98.5% 0 0);--card:oklch(21% .006 285.885);--card-foreground:oklch(98.5% 0 0);--popover:oklch(21% .006 285.885);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92% .004 286.32);--primary-foreground:oklch(21% .006 285.885);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27.4% .006 286.033);--muted-foreground:oklch(70.5% .015 286.067);--accent:oklch(27.4% .006 286.033);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.2% .016 285.938);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(21% .006 285.885);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(27.4% .006 286.033);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.2% .016 285.938)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,auto))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,auto))))}to{height:0}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/569ce4b8f30dc480-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_5cfdac{font-family:Geist,Geist Fallback;font-style:normal}.__variable_5cfdac{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9a8899{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_9a8899{--font-geist-mono:"Geist Mono","Geist Mono Fallback"} \ No newline at end of file diff --git a/transports/bifrost-http/ui/_next/static/css/0451d03ec40c67fa.css b/transports/bifrost-http/ui/_next/static/css/0451d03ec40c67fa.css deleted file mode 100644 index ad1cd1eea7..0000000000 --- a/transports/bifrost-http/ui/_next/static/css/0451d03ec40c67fa.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:host,:root{--color-red-100:oklch(93.6% .032 17.717);--color-red-800:oklch(44.4% .177 26.899);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-800:oklch(47% .157 37.304);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-green-950:oklch(26.6% .065 152.934);--color-cyan-100:oklch(95.6% .045 203.388);--color-cyan-800:oklch(45% .085 224.283);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-800:oklch(39.8% .195 277.366);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-purple-950:oklch(29.1% .149 302.717);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-800:oklch(45.9% .187 3.815);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-800:oklch(27.8% .033 256.848);--color-neutral-100:oklch(97% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-4{top:calc(var(--spacing)*4)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-\(--sidebar-width\){left:var(--sidebar-width)}.left-0{left:calc(var(--spacing)*0)}.left-2{left:calc(var(--spacing)*2)}.left-\[50\%\]{left:50%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-4{margin-block:calc(var(--spacing)*4)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-full{width:100%;height:100%}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-64{height:calc(var(--spacing)*64)}.h-\[1\.2rem\]{height:1.2rem}.h-\[1px\]{height:1px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-base{height:calc(100vh - 6rem)}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[90vh\]{max-height:90vh}.max-h-\[300px\]{max-height:300px}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-5xl{width:var(--container-5xl)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-\[1\.2rem\]{width:1.2rem}.w-\[200px\]{width:200px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-72{max-width:calc(var(--spacing)*72)}.max-w-\[240px\]{max-width:240px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-fit{max-width:fit-content}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-hover-card-content-transform-origin\){transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1)}.-translate-x-1\/2,.-translate-x-px{translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-x-px{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px}.translate-y-0\.5{--tw-translate-y:calc(var(--spacing)*.5)}.translate-y-0\.5,.translate-y-\[-50\%\]{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%}.scale-0,.scale-100{scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%}.rotate-0{rotate:none}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing)*1)}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-start{justify-items:start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing)*.5)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-200{border-color:var(--color-blue-200)}.border-border{border-color:var(--border)}.border-destructive{border-color:var(--destructive)}.border-green-200{border-color:var(--color-green-200)}.border-input{border-color:var(--input)}.border-muted-foreground\/30{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/30{border-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.border-primary,.border-primary\/20{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,var(--primary)20%,transparent)}}.border-purple-200{border-color:var(--color-purple-200)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-accent{background-color:var(--accent)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-destructive{background-color:var(--destructive)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-700{background-color:var(--color-green-700)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-pink-100{background-color:var(--color-pink-100)}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/5{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--primary)5%,transparent)}}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-red-100{background-color:var(--color-red-100)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-primary{--tw-gradient-from:var(--primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary\/5{--tw-gradient-from:var(--primary)}@supports (color:color-mix(in lab,red,red)){.from-primary\/5{--tw-gradient-from:color-mix(in oklab,var(--primary)5%,transparent)}}.from-primary\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-600\/5{--tw-gradient-to:#155dfc0d}@supports (color:color-mix(in lab,red,red)){.to-blue-600\/5{--tw-gradient-to:color-mix(in oklab,var(--color-blue-600)5%,transparent)}}.to-blue-600\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-600{--tw-gradient-to:var(--color-green-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.fill-primary{fill:var(--primary)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-24{padding-top:calc(var(--spacing)*24)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-end{text-align:end}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-geist-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.wrap-anywhere{overflow-wrap:anywhere}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-card-foreground{color:var(--card-foreground)}.text-cyan-800{color:var(--color-cyan-800)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-gray-600{color:var(--color-gray-600)}.text-gray-800{color:var(--color-gray-800)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-800{color:var(--color-indigo-800)}.text-muted-foreground{color:var(--muted-foreground)}.text-neutral-800{color:var(--color-neutral-800)}.text-orange-800{color:var(--color-orange-800)}.text-pink-800{color:var(--color-pink-800)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-red-800{color:var(--color-red-800)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)))}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\],.shadow-lg{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-md,.shadow-none{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-sm,.shadow-xs{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.ring-offset-transparent{--tw-ring-offset-color:transparent}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-75{transition-delay:75ms}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.delay-75{--tw-animation-delay:75ms;animation-delay:75ms}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\:bg-primary\/20:is(:where(.group):hover *){background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-primary\/20:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.group-hover\:text-foreground:is(:where(.group):hover *){color:var(--foreground)}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--primary)}.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *),.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-primary\/50:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,var(--primary)50%,transparent)}}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)))}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover,.hover\:shadow-lg:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.hover\:shadow-md:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab,var(--destructive)90%,transparent)}}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing)*12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:calc(var(--spacing)*5);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))ease-out}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))ease-out}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}@media (min-width:40rem){.sm\:flex{display:flex}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-3xl{max-width:var(--container-3xl)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing)*2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:scale-0:is(.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:scale-100:is(.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:-rotate-90:is(.dark *){rotate:-90deg}.dark\:rotate-0:is(.dark *){rotate:none}.dark\:border-amber-800:is(.dark *){border-color:var(--color-amber-800)}.dark\:border-blue-800:is(.dark *){border-color:var(--color-blue-800)}.dark\:border-green-800:is(.dark *){border-color:var(--color-green-800)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-purple-800:is(.dark *){border-color:var(--color-purple-800)}.dark\:bg-amber-950\/20:is(.dark *){background-color:#46190133}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-950)20%,transparent)}}.dark\:bg-blue-900:is(.dark *){background-color:var(--color-blue-900)}.dark\:bg-blue-950\/20:is(.dark *){background-color:#16245633}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950)20%,transparent)}}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-green-900:is(.dark *){background-color:var(--color-green-900)}.dark\:bg-green-950\/20:is(.dark *){background-color:#032e1533}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-green-950)20%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-purple-900:is(.dark *){background-color:var(--color-purple-900)}.dark\:bg-purple-950\/20:is(.dark *){background-color:#3c036633}@supports (color:color-mix(in lab,red,red)){.dark\:bg-purple-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-purple-950)20%,transparent)}}.dark\:text-amber-200:is(.dark *){color:var(--color-amber-200)}.dark\:text-amber-300:is(.dark *){color:var(--color-amber-300)}.dark\:text-blue-200:is(.dark *){color:var(--color-blue-200)}.dark\:text-blue-300:is(.dark *){color:var(--color-blue-300)}.dark\:text-green-200:is(.dark *){color:var(--color-green-200)}.dark\:text-green-300:is(.dark *){color:var(--color-green-300)}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:text-purple-200:is(.dark *){color:var(--color-purple-200)}.dark\:text-purple-300:is(.dark *){color:var(--color-purple-300)}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:invisible svg{visibility:hidden}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\]\:text-current>svg{color:currentColor}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-green-700\/90:hover{background-color:#008138e6}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-green-700\/90:hover{background-color:color-mix(in oklab,var(--color-green-700)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.1% .005 285.823);--card:oklch(100% 0 0);--card-foreground:oklch(14.1% .005 285.823);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.1% .005 285.823);--primary:oklch(21% .006 285.885);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.7% .001 286.375);--muted-foreground:oklch(55.2% .016 285.938);--accent:oklch(96.7% .001 286.375);--accent-foreground:oklch(21% .006 285.885);--destructive:oklch(57.7% .245 27.325);--border:oklch(92% .004 286.32);--input:oklch(92% .004 286.32);--ring:oklch(70.5% .015 286.067);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.1% .005 285.823);--sidebar-primary:oklch(21% .006 285.885);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(96.7% .001 286.375);--sidebar-accent-foreground:oklch(21% .006 285.885);--sidebar-border:oklch(92% .004 286.32);--sidebar-ring:oklch(70.5% .015 286.067)}.dark{--background:oklch(14.1% .005 285.823);--foreground:oklch(98.5% 0 0);--card:oklch(21% .006 285.885);--card-foreground:oklch(98.5% 0 0);--popover:oklch(21% .006 285.885);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92% .004 286.32);--primary-foreground:oklch(21% .006 285.885);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27.4% .006 286.033);--muted-foreground:oklch(70.5% .015 286.067);--accent:oklch(27.4% .006 286.033);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.2% .016 285.938);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(21% .006 285.885);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(27.4% .006 286.033);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.2% .016 285.938)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,auto))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,auto))))}to{height:0}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/569ce4b8f30dc480-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_5cfdac{font-family:Geist,Geist Fallback;font-style:normal}.__variable_5cfdac{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9a8899{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_9a8899{--font-geist-mono:"Geist Mono","Geist Mono Fallback"} \ No newline at end of file diff --git a/transports/bifrost-http/ui/bifrost-logo-dark.png b/transports/bifrost-http/ui/bifrost-logo-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..5049cb85f693f2590e8c145254d60e8ae6b4b62d GIT binary patch literal 226623 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

cos!iq$xxcJ6;=c0_R;f5puV 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

  • @vQqsOoc&(EYzuL;@53L!psVlrX!5EdZfi8Q(L8ivH1yC*<5ocV(F_ z+$!#UilLh&zWN#NkGe0ZHTupZ5DVl~%rcp=+gDLmhKi5&J@gaMH7&En99!DY7HA(} zxZv)kU&5p9-q=W-^eJo-q;FssSVqA}Ll`6M`EPur{z+QKo9Mw`-KNsQ5pE?td@xWqh1adC}v^ARfVtx!BR$_dl37SX)RleO#Dw;cuJaq4L z6TONvA67J$0e-`$7rY}!$A!-7-J+Eo_?hpb4I$O;UIw$^MldBbkcXq=&~X>m3Qz46 z^e40%I0t99H-yj)U$|+^Q1;9=U#fP+clV~@74h|A(gvO}*+5If5zoA@dv}`sX{BOj ziBWZd535~n8s!I$;kTz_&KP($IcD%X6DWIAEnfC>i8~&YVt&U*!t$vmLknLJJa&Bo zf8d?n?C<3EXD?pVvetfwrTaA_nQOx|u$Q5=yEuz%l+;si^jctS%b8|~Ixj(is^sGw* z5LOW553zn+KLo9KMS`Yi13AsyRvwceU|h~)@U{xVd7jN|EO+$uM`KWMY@q5sMjMT# z#sG5{BqqjB7Kv?AuMZ0=2nq00yZ*gr)50>`HJm){=nN9s!S>co!F;r?UUE%VT_b@B z2H~Vsh8$)tDK9c-yH51w6DEF#wqwW*I)J4Cj?XCGEkoMe`I0yT))XgoBP)CSry51j z8gD~VXtuse|Gn9Z`Vx5{)J>xYzb=;t>J1Jz3gzKfFrM4-cajW@;Yy1nQ{sbDQ4P%m zInb&tDRe!K$LA@U?Et0umq*jSd@jG(mqR?`FtNnoOKdISJ90`>f+Uaaj#0pG(HsQV zM%Gv2E->)prd>MfV zH*3W*N5Pze)u&CtM;GG(t!ovP5&fM`vG4V(3kCFb6{{uL<7O<#dVwK?DjwJn>U_EH zYHaE1Qz*gZ*(DZcRHasibX$7?LaMxXv@*V8Jza%ob3hOvD(?{ft!f1)TbqQC zu_pHu5q@w|a^11;yS)mn6(FCrt1}kP-wW>~fE*B~Bj6Z;4`71#BWH(|JxDRt|B zR6bd=>D9pOwLX3FFUoR_SaW-a9-3ZyUvL8K^z5SU3slKbHEP|~uWiOZd(^PdO0kJ* z_Q17zs&f8?qyE|S`{C;NE(2px@z7(o*Mb`{e!~RjPae)-R-Yb(lxs6pdBV;|RZ)Ho ze3E3@NlO|GY*Z8-(@K-eKYT?{XV;HjiccAqq$t`U z6{)yvNV^lTY<4C>0cn70gS|NB_v3?<}&vOo(mINX0J$F14t=(_S0E9U~n>bbS# zNdb0CDV0Rp+F)*u(Q&r>?nkrD>*1U&M)i?^||Ua*p6dCJr?*?HxXppZTfTA>j&CQd@iTm=3@ z^Ka?{<_pQ&jR1r!U;cmUA=$y;dv^PRE7b&R_y8X@JXSc}+ar5>EaC7SM{rjY_da@j zW$>P2r%vesXh}OH@N(~|6dC8x!)1xx{=l}AmWsI^wp}_7wwFtTlqd+SrEeS~CI1(y z359@-o5d!ppQs;)Mr-PtHLHZjE|t$wk*_S%ErX~!ve7E$p3b9R1LCKil2Lid109kR zDj%qG?;hi}j?!X_dZ+;+^O0H@ZPi-MiOKp8R_{**e%sVB47_(+wj}G^GU$0#nw(MK z6#>_R%ePQ9Jyor9glzS)-v-S<{sR6PAJ&QjtQVkqUf~`{evLfqG442Now)i0$_>)J zOIg5p=2Q?TE&reDvTw!vIqIOq(~v z^_#Ha+U#{z#W@PE+) l|CNgUUwrld-FLpaH{A~R-Rir&=g$AQcIB3Nsj1iF{|C@pOBVnD literal 0 HcmV?d00001 diff --git a/transports/bifrost-http/ui/bifrost-logo.png b/transports/bifrost-http/ui/bifrost-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b47319dc4668a3582ff07eaff5be939bfb2ddb14 GIT binary patch literal 39354 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 e7MMA<5%kbm{=!umcHrkwsHBifrost UI - AI Gateway Dashboard
    \ No newline at end of file +
    \ No newline at end of file diff --git a/transports/bifrost-http/ui/config/index.txt b/transports/bifrost-http/ui/config/index.txt index 35f5f9ca69..55258ffabd 100644 --- a/transports/bifrost-http/ui/config/index.txt +++ b/transports/bifrost-http/ui/config/index.txt @@ -1,13 +1,13 @@ 1:"$Sreact.fragment" -2:I[7942,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"default"] -3:I[9304,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"ThemeProvider"] -4:I[6671,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"Toaster"] -5:I[193,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"SidebarProvider"] -6:I[9685,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"default"] +2:I[7942,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"default"] +3:I[9304,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"ThemeProvider"] +4:I[6671,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"Toaster"] +5:I[193,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"SidebarProvider"] +6:I[9685,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"default"] 7:I[7555,[],""] 8:I[1295,[],""] 9:I[894,[],"ClientPageRoot"] -a:I[1059,["867","static/chunks/867-ee04be25d0141432.js","519","static/chunks/519-45533824b2718864.js","213","static/chunks/213-672494f56acc68a6.js","866","static/chunks/866-b29a8568c4caa97e.js","473","static/chunks/473-3e3a48663e3561da.js","293","static/chunks/293-d2734c4726406a0e.js","341","static/chunks/341-5aa9f869e119bce4.js","653","static/chunks/app/config/page-bf3c65256b3fc98b.js"],"default"] +a:I[6137,["867","static/chunks/867-ee04be25d0141432.js","519","static/chunks/519-45533824b2718864.js","678","static/chunks/678-56244c2aeff7b5e2.js","866","static/chunks/866-b29a8568c4caa97e.js","273","static/chunks/273-9756261fec6bc01b.js","529","static/chunks/529-26467b76604e8781.js","341","static/chunks/341-3971b040aed697e5.js","653","static/chunks/app/config/page-6aaabc7109379e54.js"],"default"] d:I[9665,[],"OutletBoundary"] 10:I[4911,[],"AsyncMetadataOutlet"] 12:I[9665,[],"ViewportBoundary"] @@ -15,8 +15,8 @@ d:I[9665,[],"OutletBoundary"] 16:I[6614,[],""] :HL["/_next/static/media/569ce4b8f30dc480-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/93f479601ee12b01-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] -:HL["/_next/static/css/0451d03ec40c67fa.css","style"] -0:{"P":null,"b":"build","p":"","c":["","config",""],"i":false,"f":[[["",{"children":["config",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/0451d03ec40c67fa.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_5cfdac __variable_9a8899 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","$L4",null,{}],["$","$L5",null,{"children":[["$","$L6",null,{}],["$","main",null,{"className":"relative mx-auto flex min-h-screen w-5xl flex-col pt-24","children":["$","$L7",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]}]}]}]]}],{"children":["config",["$","$1","c",{"children":[null,["$","$L7",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L9",null,{"Component":"$a","searchParams":{},"params":{},"promises":["$@b","$@c"]}],null,["$","$Ld",null,{"children":["$Le","$Lf",["$","$L10",null,{"promise":"$@11"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","kdKH7aKHS0abFv4X46HVrv",{"children":[["$","$L12",null,{"children":"$L13"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],["$","$L14",null,{"children":"$L15"}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/0290f827d14417a0.css","style"] +0:{"P":null,"b":"build","p":"","c":["","config",""],"i":false,"f":[[["",{"children":["config",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/0290f827d14417a0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_5cfdac __variable_9a8899 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","$L4",null,{}],["$","$L5",null,{"children":[["$","$L6",null,{}],["$","main",null,{"className":"relative mx-auto flex min-h-screen w-5xl flex-col pt-24 pb-12","children":["$","$L7",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]}]}]}]]}],{"children":["config",["$","$1","c",{"children":[null,["$","$L7",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L9",null,{"Component":"$a","searchParams":{},"params":{},"promises":["$@b","$@c"]}],null,["$","$Ld",null,{"children":["$Le","$Lf",["$","$L10",null,{"promise":"$@11"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","pUtxHiM2w6_9i2lxR3H2zv",{"children":[["$","$L12",null,{"children":"$L13"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],["$","$L14",null,{"children":"$L15"}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 17:"$Sreact.suspense" 18:I[4911,[],"AsyncMetadata"] b:{} @@ -25,5 +25,5 @@ c:{} f:null 13:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] e:null -11:{"metadata":[["$","title","0",{"children":"Bifrost UI - AI Gateway Dashboard"}],["$","meta","1",{"name":"description","content":"Production-ready AI gateway that connects to 8+ providers through a single API. Get automatic failover, intelligent load balancing, and zero-downtime deployments."}]],"error":null,"digest":"$undefined"} +11:{"metadata":[["$","title","0",{"children":"Bifrost - The fastest LLM gateway"}],["$","meta","1",{"name":"description","content":"Production-ready fastest LLM gateway that connects to 8+ providers through a single API. Get automatic failover, load balancing, mcp support and zero-downtime deployments."}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}]],"error":null,"digest":"$undefined"} 19:{"metadata":"$11:metadata","error":null,"digest":"$undefined"} diff --git a/transports/bifrost-http/ui/docs/index.html b/transports/bifrost-http/ui/docs/index.html index 7271494bc1..b267534464 100644 --- a/transports/bifrost-http/ui/docs/index.html +++ b/transports/bifrost-http/ui/docs/index.html @@ -1,4 +1,4 @@ -Bifrost UI - AI Gateway Dashboard
    Documentation
    Documentation
    Power Up Your Bifrost Stack

    Everything you need to know about building production AI applications with Bifrost

    Popular
    Quick Start
    Get Bifrost running in under 30 seconds
    • HTTP Transport Setup
    • Go Package Usage
    • Docker Guide
    Read More
    Architecture
    Deep dive into Bifrost's design and performance
    • System Overview
    • Request Flow
    • Concurrency Model
    • Design Decisions
    Read More
    Comprehensive
    Usage Guides
    Complete API reference and configuration guides
    • Providers Setup
    • Key Management
    • Error Handling
    • Memory & Networking
    Read More
    Contributing
    Help improve Bifrost for everyone
    • Contributing Guide
    • Adding Providers
    • Plugin Development
    • Code Conventions
    Read More
    Integration Examples
    Practical examples and testing code
    • OpenAI Integration
    • Anthropic Integration
    • GenAI Integration
    • Migration Guides
    Read More
    Benchmarks
    Performance metrics and guides
    • 5K RPS Test Results
    • Performance Metrics
    • Configuration Tuning
    • Hardware Comparisons
    Read More
    MCP Documentation
    Comprehensive guide to Model Context Protocol integration

    Learn how to build sophisticated AI agents with MCP support, tool calling, and external integrations.

    View MCP Guide
    Configuration Reference
    Complete reference for all configuration options

    Detailed documentation on provider setup, key management, and advanced configuration options.

    Configuration Docs
    \ No newline at end of file +
    Documentation
    Documentation
    Power Up Your Bifrost Stack

    Everything you need to know about building production AI applications with Bifrost

    Popular
    Quick Start
    Get Bifrost running in under 30 seconds
    • HTTP Transport Setup
    • Go Package Usage
    • Docker Guide
    Read More
    Architecture
    Deep dive into Bifrost's design and performance
    • System Overview
    • Request Flow
    • Concurrency Model
    • Design Decisions
    Read More
    Comprehensive
    Usage Guides
    Complete API reference and configuration guides
    • Providers Setup
    • Key Management
    • Error Handling
    • Memory & Networking
    Read More
    Contributing
    Help improve Bifrost for everyone
    • Contributing Guide
    • Adding Providers
    • Plugin Development
    • Code Conventions
    Read More
    Integration Examples
    Practical examples and testing code
    • OpenAI Integration
    • Anthropic Integration
    • GenAI Integration
    • Migration Guides
    Read More
    Benchmarks
    Performance metrics and guides
    • 5K RPS Test Results
    • Performance Metrics
    • Configuration Tuning
    • Hardware Comparisons
    Read More
    MCP Documentation
    Comprehensive guide to Model Context Protocol integration

    Learn how to build sophisticated AI agents with MCP support, tool calling, and external integrations.

    View MCP Guide
    Configuration Reference
    Complete reference for all configuration options

    Detailed documentation on provider setup, key management, and advanced configuration options.

    Configuration Docs
    \ No newline at end of file diff --git a/transports/bifrost-http/ui/docs/index.txt b/transports/bifrost-http/ui/docs/index.txt index 0dca93e335..9163b8cd2d 100644 --- a/transports/bifrost-http/ui/docs/index.txt +++ b/transports/bifrost-http/ui/docs/index.txt @@ -1,9 +1,9 @@ 1:"$Sreact.fragment" -2:I[7942,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"default"] -3:I[9304,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"ThemeProvider"] -4:I[6671,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"Toaster"] -5:I[193,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"SidebarProvider"] -6:I[9685,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"default"] +2:I[7942,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"default"] +3:I[9304,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"ThemeProvider"] +4:I[6671,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"Toaster"] +5:I[193,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"SidebarProvider"] +6:I[9685,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"default"] 7:I[7555,[],""] 8:I[1295,[],""] 9:I[1225,["867","static/chunks/867-ee04be25d0141432.js","519","static/chunks/519-45533824b2718864.js","874","static/chunks/874-37fb0661d0af7eec.js","40","static/chunks/app/docs/page-437689869a33f8e2.js"],"ThemeToggle"] @@ -16,13 +16,13 @@ f:I[4911,[],"AsyncMetadataOutlet"] 15:I[6614,[],""] :HL["/_next/static/media/569ce4b8f30dc480-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/93f479601ee12b01-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] -:HL["/_next/static/css/0451d03ec40c67fa.css","style"] -0:{"P":null,"b":"build","p":"","c":["","docs",""],"i":false,"f":[[["",{"children":["docs",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/0451d03ec40c67fa.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_5cfdac __variable_9a8899 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","$L4",null,{}],["$","$L5",null,{"children":[["$","$L6",null,{}],["$","main",null,{"className":"relative mx-auto flex min-h-screen w-5xl flex-col pt-24","children":["$","$L7",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]}]}]}]]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L7",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","div",null,{"className":"bg-background","children":[["$","div",null,{"className":"bg-background fixed top-0 right-0 left-(--sidebar-width) z-10","children":[["$","div",null,{"className":"flex items-center justify-between px-3","children":[["$","div",null,{"className":"p-3 font-semibold","children":"Documentation"}],["$","$L9",null,{}]]}],["$","$La",null,{"className":"w-full"}]]}],["$","div",null,{"className":"mx-auto max-w-7xl p-8 pt-0","children":["$","div",null,{"className":"space-y-8","children":[["$","div",null,{"className":"space-y-4 text-center","children":[["$","div",null,{"className":"bg-primary/10 text-primary inline-flex items-center gap-2 rounded-full px-4 py-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-book-open h-4 w-4","aria-hidden":"true","children":[["$","path","1akyts",{"d":"M12 7v14"}],["$","path","ruj8y",{"d":"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"}],"$undefined"]}],["$","span",null,{"className":"font-semibold","children":"Documentation"}]]}],["$","div",null,{"className":"from-primary bg-gradient-to-r to-green-600 bg-clip-text pb-2 text-5xl font-bold text-transparent","children":"Power Up Your Bifrost Stack"}],["$","p",null,{"className":"text-muted-foreground mx-auto max-w-2xl text-lg","children":"Everything you need to know about building production AI applications with Bifrost"}],["$","div",null,{"className":"flex justify-center gap-4","children":[["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link mr-2 h-4 w-4","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}],"View Full Documentation"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 h-9 px-4 py-2 has-[>svg]:px-3 cursor-pointer","ref":null}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/quickstart","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-play mr-2 h-4 w-4","aria-hidden":"true","children":[["$","polygon","1oa8hb",{"points":"6 3 20 12 6 21 6 3"}],"$undefined"]}],"Quick Start Guide"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 cursor-pointer","ref":null}]]}]]}],["$","div",null,{"className":"grid gap-6 md:grid-cols-2 lg:grid-cols-3","children":[["$","div","Quick Start",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm group transition-all duration-200 hover:shadow-lg","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":[["$","div",null,{"className":"bg-primary/10 group-hover:bg-primary/20 mb-4 flex h-12 w-12 items-center justify-center rounded-lg transition-colors","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-play text-primary h-6 w-6","aria-hidden":"true","children":[["$","polygon","1oa8hb",{"points":"6 3 20 12 6 21 6 3"}],"$undefined"]}]}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 text-xs","children":"Popular"}]]}],["$","div",null,{"data-slot":"card-title","className":"font-semibold text-xl","children":"Quick Start"}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm leading-relaxed","children":"Get Bifrost running in under 30 seconds"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-8","children":[["$","div",null,{"className":"space-y-4","children":["$","ul",null,{"className":"space-y-2","children":[["$","li","0",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"HTTP Transport Setup"]}],["$","li","1",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Go Package Usage"]}],["$","li","2",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Docker Guide"]}]]}]}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/quickstart","target":"_blank","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer flex items-center justify-center gap-2","children":["Read More",["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link h-4 w-4","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}]],"data-slot":"button","ref":null}]]}]]}],["$","div","Architecture",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm group transition-all duration-200 hover:shadow-lg","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":[["$","div",null,{"className":"bg-primary/10 group-hover:bg-primary/20 mb-4 flex h-12 w-12 items-center justify-center rounded-lg transition-colors","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-git-branch text-primary h-6 w-6","aria-hidden":"true","children":[["$","line","17qcm7",{"x1":"6","x2":"6","y1":"3","y2":"15"}],["$","circle","1h7g24",{"cx":"18","cy":"6","r":"3"}],["$","circle","fqmcym",{"cx":"6","cy":"18","r":"3"}],["$","path","n2h4wq",{"d":"M18 9a9 9 0 0 1-9 9"}],"$undefined"]}]}],"$undefined"]}],["$","div",null,{"data-slot":"card-title","className":"font-semibold text-xl","children":"Architecture"}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm leading-relaxed","children":"Deep dive into Bifrost's design and performance"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-8","children":[["$","div",null,{"className":"space-y-4","children":["$","ul",null,{"className":"space-y-2","children":[["$","li","0",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"System Overview"]}],["$","li","1",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Request Flow"]}],["$","li","2",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Concurrency Model"]}],["$","li","3",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Design Decisions"]}]]}]}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/architecture","target":"_blank","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer flex items-center justify-center gap-2","children":["Read More",["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link h-4 w-4","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}]],"data-slot":"button","ref":null}]]}]]}],["$","div","Usage Guides",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm group transition-all duration-200 hover:shadow-lg","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":[["$","div",null,{"className":"bg-primary/10 group-hover:bg-primary/20 mb-4 flex h-12 w-12 items-center justify-center rounded-lg transition-colors","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-book-open text-primary h-6 w-6","aria-hidden":"true","children":[["$","path","1akyts",{"d":"M12 7v14"}],["$","path","ruj8y",{"d":"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"}],"$undefined"]}]}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 text-xs","children":"Comprehensive"}]]}],["$","div",null,{"data-slot":"card-title","className":"font-semibold text-xl","children":"Usage Guides"}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm leading-relaxed","children":"Complete API reference and configuration guides"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-8","children":[["$","div",null,{"className":"space-y-4","children":["$","ul",null,{"className":"space-y-2","children":[["$","li","0",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Providers Setup"]}],["$","li","1",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Key Management"]}],["$","li","2",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Error Handling"]}],["$","li","3",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Memory & Networking"]}]]}]}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/usage","target":"_blank","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer flex items-center justify-center gap-2","children":["Read More",["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link h-4 w-4","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}]],"data-slot":"button","ref":null}]]}]]}],["$","div","Contributing",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm group transition-all duration-200 hover:shadow-lg","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":[["$","div",null,{"className":"bg-primary/10 group-hover:bg-primary/20 mb-4 flex h-12 w-12 items-center justify-center rounded-lg transition-colors","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-users text-primary h-6 w-6","aria-hidden":"true","children":[["$","path","1yyitq",{"d":"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}],["$","path","16gr8j",{"d":"M16 3.128a4 4 0 0 1 0 7.744"}],["$","path","kshegd",{"d":"M22 21v-2a4 4 0 0 0-3-3.87"}],["$","circle","nufk8",{"cx":"9","cy":"7","r":"4"}],"$undefined"]}]}],"$undefined"]}],["$","div",null,{"data-slot":"card-title","className":"font-semibold text-xl","children":"Contributing"}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm leading-relaxed","children":"Help improve Bifrost for everyone"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-8","children":[["$","div",null,{"className":"space-y-4","children":["$","ul",null,{"className":"space-y-2","children":[["$","li","0",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Contributing Guide"]}],["$","li","1",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Adding Providers"]}],["$","li","2",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Plugin Development"]}],["$","li","3",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Code Conventions"]}]]}]}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/contributing","target":"_blank","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer flex items-center justify-center gap-2","children":["Read More",["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link h-4 w-4","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}]],"data-slot":"button","ref":null}]]}]]}],["$","div","Integration Examples",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm group transition-all duration-200 hover:shadow-lg","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":[["$","div",null,{"className":"bg-primary/10 group-hover:bg-primary/20 mb-4 flex h-12 w-12 items-center justify-center rounded-lg transition-colors","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-code text-primary h-6 w-6","aria-hidden":"true","children":[["$","path","eg8j8",{"d":"m16 18 6-6-6-6"}],["$","path","ppft3o",{"d":"m8 6-6 6 6 6"}],"$undefined"]}]}],"$undefined"]}],["$","div",null,{"data-slot":"card-title","className":"font-semibold text-xl","children":"Integration Examples"}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm leading-relaxed","children":"Practical examples and testing code"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-8","children":[["$","div",null,{"className":"space-y-4","children":["$","ul",null,{"className":"space-y-2","children":[["$","li","0",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"OpenAI Integration"]}],["$","li","1",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Anthropic Integration"]}],["$","li","2",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"GenAI Integration"]}],["$","li","3",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Migration Guides"]}]]}]}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/usage/http-transport/integrations","target":"_blank","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer flex items-center justify-center gap-2","children":["Read More",["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link h-4 w-4","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}]],"data-slot":"button","ref":null}]]}]]}],["$","div","Benchmarks",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm group transition-all duration-200 hover:shadow-lg","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":[["$","div",null,{"className":"bg-primary/10 group-hover:bg-primary/20 mb-4 flex h-12 w-12 items-center justify-center rounded-lg transition-colors","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-zap text-primary h-6 w-6","aria-hidden":"true","children":[["$","path","1xq2db",{"d":"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"}],"$undefined"]}]}],"$undefined"]}],["$","div",null,{"data-slot":"card-title","className":"font-semibold text-xl","children":"Benchmarks"}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm leading-relaxed","children":"Performance metrics and guides"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-8","children":[["$","div",null,{"className":"space-y-4","children":["$","ul",null,{"className":"space-y-2","children":[["$","li","0",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"5K RPS Test Results"]}],["$","li","1",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Performance Metrics"]}],["$","li","2",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Configuration Tuning"]}],["$","li","3",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Hardware Comparisons"]}]]}]}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/blob/main/docs/benchmarks.md","target":"_blank","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer flex items-center justify-center gap-2","children":["Read More",["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link h-4 w-4","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}]],"data-slot":"button","ref":null}]]}]]}]]}],["$","div",null,{"className":"grid gap-6 pt-8 md:grid-cols-2","children":[["$","div",null,{"data-slot":"card","className":"text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm border-primary/20 bg-primary/5","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"data-slot":"card-title","className":"leading-none font-semibold flex items-center gap-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-file-text text-primary h-5 w-5","aria-hidden":"true","children":[["$","path","1rqfz7",{"d":"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}],["$","path","tnqrlb",{"d":"M14 2v4a2 2 0 0 0 2 2h4"}],["$","path","b1mrlr",{"d":"M10 9H8"}],["$","path","t4e002",{"d":"M16 13H8"}],["$","path","z1uh3a",{"d":"M16 17H8"}],"$undefined"]}],"MCP Documentation"]}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm","children":"Comprehensive guide to Model Context Protocol integration"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6","children":[["$","p",null,{"className":"text-muted-foreground mb-4 text-sm","children":"Learn how to build sophisticated AI agents with MCP support, tool calling, and external integrations."}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/blob/main/docs/mcp.md","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-book-open mr-2 h-4 w-4","aria-hidden":"true","children":[["$","path","1akyts",{"d":"M12 7v14"}],["$","path","ruj8y",{"d":"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"}],"$undefined"]}],"View MCP Guide"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}]]}]]}],["$","div",null,{"data-slot":"card","className":"text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm border-green-200 bg-green-50 dark:border-green-800 dark:bg-green-950/20","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"data-slot":"card-title","className":"leading-none font-semibold flex items-center gap-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-settings h-5 w-5 text-green-600","aria-hidden":"true","children":[["$","path","1qme2f",{"d":"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}],["$","circle","1v7zrd",{"cx":"12","cy":"12","r":"3"}],"$undefined"]}],"Configuration Reference"]}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm","children":"Complete reference for all configuration options"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6","children":[["$","p",null,{"className":"text-muted-foreground mb-4 text-sm","children":"Detailed documentation on provider setup, key management, and advanced configuration options."}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/usage/http-transport/configuration","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-settings mr-2 h-4 w-4","aria-hidden":"true","children":[["$","path","1qme2f",{"d":"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}],["$","circle","1v7zrd",{"cx":"12","cy":"12","r":"3"}],"$undefined"]}],"Configuration Docs"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}]]}]]}]]}]]}]}]]}],null,["$","$Lc",null,{"children":["$Ld","$Le",["$","$Lf",null,{"promise":"$@10"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","nvClKtoIu5rd6dy6D3Eakv",{"children":[["$","$L11",null,{"children":"$L12"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],["$","$L13",null,{"children":"$L14"}]]}],false]],"m":"$undefined","G":["$15","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/0290f827d14417a0.css","style"] +0:{"P":null,"b":"build","p":"","c":["","docs",""],"i":false,"f":[[["",{"children":["docs",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/0290f827d14417a0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_5cfdac __variable_9a8899 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","$L4",null,{}],["$","$L5",null,{"children":[["$","$L6",null,{}],["$","main",null,{"className":"relative mx-auto flex min-h-screen w-5xl flex-col pt-24 pb-12","children":["$","$L7",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]}]}]}]]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L7",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","div",null,{"className":"bg-background","children":[["$","div",null,{"className":"bg-background fixed top-0 right-0 left-(--sidebar-width) z-10","children":[["$","div",null,{"className":"flex items-center justify-between px-3","children":[["$","div",null,{"className":"p-3 font-semibold","children":"Documentation"}],["$","$L9",null,{}]]}],["$","$La",null,{"className":"w-full"}]]}],["$","div",null,{"className":"mx-auto max-w-7xl","children":["$","div",null,{"className":"space-y-8","children":[["$","div",null,{"className":"space-y-4 text-center","children":[["$","div",null,{"className":"bg-primary/10 text-primary inline-flex items-center gap-2 rounded-full px-4 py-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-book-open h-4 w-4","aria-hidden":"true","children":[["$","path","1akyts",{"d":"M12 7v14"}],["$","path","ruj8y",{"d":"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"}],"$undefined"]}],["$","span",null,{"className":"font-semibold","children":"Documentation"}]]}],["$","div",null,{"className":"from-primary bg-gradient-to-r to-green-600 bg-clip-text pb-2 text-5xl font-bold text-transparent","children":"Power Up Your Bifrost Stack"}],["$","p",null,{"className":"text-muted-foreground mx-auto max-w-2xl text-lg","children":"Everything you need to know about building production AI applications with Bifrost"}],["$","div",null,{"className":"flex justify-center gap-4","children":[["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link mr-2 h-4 w-4","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}],"View Full Documentation"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 h-9 px-4 py-2 has-[>svg]:px-3 cursor-pointer","ref":null}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/quickstart","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-play mr-2 h-4 w-4","aria-hidden":"true","children":[["$","polygon","1oa8hb",{"points":"6 3 20 12 6 21 6 3"}],"$undefined"]}],"Quick Start Guide"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 cursor-pointer","ref":null}]]}]]}],["$","div",null,{"className":"grid gap-6 md:grid-cols-2 lg:grid-cols-3","children":[["$","div","Quick Start",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm group transition-all duration-200 hover:shadow-lg","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":[["$","div",null,{"className":"bg-primary/10 group-hover:bg-primary/20 mb-4 flex h-12 w-12 items-center justify-center rounded-lg transition-colors","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-play text-primary h-6 w-6","aria-hidden":"true","children":[["$","polygon","1oa8hb",{"points":"6 3 20 12 6 21 6 3"}],"$undefined"]}]}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 text-xs","children":"Popular"}]]}],["$","div",null,{"data-slot":"card-title","className":"font-semibold text-xl","children":"Quick Start"}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm leading-relaxed","children":"Get Bifrost running in under 30 seconds"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-8","children":[["$","div",null,{"className":"space-y-4","children":["$","ul",null,{"className":"space-y-2","children":[["$","li","0",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"HTTP Transport Setup"]}],["$","li","1",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Go Package Usage"]}],["$","li","2",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Docker Guide"]}]]}]}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/quickstart","target":"_blank","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer flex items-center justify-center gap-2","children":["Read More",["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link h-4 w-4","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}]],"data-slot":"button","ref":null}]]}]]}],["$","div","Architecture",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm group transition-all duration-200 hover:shadow-lg","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":[["$","div",null,{"className":"bg-primary/10 group-hover:bg-primary/20 mb-4 flex h-12 w-12 items-center justify-center rounded-lg transition-colors","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-git-branch text-primary h-6 w-6","aria-hidden":"true","children":[["$","line","17qcm7",{"x1":"6","x2":"6","y1":"3","y2":"15"}],["$","circle","1h7g24",{"cx":"18","cy":"6","r":"3"}],["$","circle","fqmcym",{"cx":"6","cy":"18","r":"3"}],["$","path","n2h4wq",{"d":"M18 9a9 9 0 0 1-9 9"}],"$undefined"]}]}],"$undefined"]}],["$","div",null,{"data-slot":"card-title","className":"font-semibold text-xl","children":"Architecture"}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm leading-relaxed","children":"Deep dive into Bifrost's design and performance"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-8","children":[["$","div",null,{"className":"space-y-4","children":["$","ul",null,{"className":"space-y-2","children":[["$","li","0",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"System Overview"]}],["$","li","1",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Request Flow"]}],["$","li","2",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Concurrency Model"]}],["$","li","3",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Design Decisions"]}]]}]}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/architecture","target":"_blank","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer flex items-center justify-center gap-2","children":["Read More",["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link h-4 w-4","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}]],"data-slot":"button","ref":null}]]}]]}],["$","div","Usage Guides",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm group transition-all duration-200 hover:shadow-lg","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":[["$","div",null,{"className":"bg-primary/10 group-hover:bg-primary/20 mb-4 flex h-12 w-12 items-center justify-center rounded-lg transition-colors","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-book-open text-primary h-6 w-6","aria-hidden":"true","children":[["$","path","1akyts",{"d":"M12 7v14"}],["$","path","ruj8y",{"d":"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"}],"$undefined"]}]}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 text-xs","children":"Comprehensive"}]]}],["$","div",null,{"data-slot":"card-title","className":"font-semibold text-xl","children":"Usage Guides"}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm leading-relaxed","children":"Complete API reference and configuration guides"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-8","children":[["$","div",null,{"className":"space-y-4","children":["$","ul",null,{"className":"space-y-2","children":[["$","li","0",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Providers Setup"]}],["$","li","1",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Key Management"]}],["$","li","2",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Error Handling"]}],["$","li","3",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Memory & Networking"]}]]}]}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/usage","target":"_blank","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer flex items-center justify-center gap-2","children":["Read More",["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link h-4 w-4","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}]],"data-slot":"button","ref":null}]]}]]}],["$","div","Contributing",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm group transition-all duration-200 hover:shadow-lg","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":[["$","div",null,{"className":"bg-primary/10 group-hover:bg-primary/20 mb-4 flex h-12 w-12 items-center justify-center rounded-lg transition-colors","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-users text-primary h-6 w-6","aria-hidden":"true","children":[["$","path","1yyitq",{"d":"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}],["$","path","16gr8j",{"d":"M16 3.128a4 4 0 0 1 0 7.744"}],["$","path","kshegd",{"d":"M22 21v-2a4 4 0 0 0-3-3.87"}],["$","circle","nufk8",{"cx":"9","cy":"7","r":"4"}],"$undefined"]}]}],"$undefined"]}],["$","div",null,{"data-slot":"card-title","className":"font-semibold text-xl","children":"Contributing"}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm leading-relaxed","children":"Help improve Bifrost for everyone"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-8","children":[["$","div",null,{"className":"space-y-4","children":["$","ul",null,{"className":"space-y-2","children":[["$","li","0",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Contributing Guide"]}],["$","li","1",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Adding Providers"]}],["$","li","2",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Plugin Development"]}],["$","li","3",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Code Conventions"]}]]}]}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/contributing","target":"_blank","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer flex items-center justify-center gap-2","children":["Read More",["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link h-4 w-4","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}]],"data-slot":"button","ref":null}]]}]]}],["$","div","Integration Examples",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm group transition-all duration-200 hover:shadow-lg","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":[["$","div",null,{"className":"bg-primary/10 group-hover:bg-primary/20 mb-4 flex h-12 w-12 items-center justify-center rounded-lg transition-colors","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-code text-primary h-6 w-6","aria-hidden":"true","children":[["$","path","eg8j8",{"d":"m16 18 6-6-6-6"}],["$","path","ppft3o",{"d":"m8 6-6 6 6 6"}],"$undefined"]}]}],"$undefined"]}],["$","div",null,{"data-slot":"card-title","className":"font-semibold text-xl","children":"Integration Examples"}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm leading-relaxed","children":"Practical examples and testing code"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-8","children":[["$","div",null,{"className":"space-y-4","children":["$","ul",null,{"className":"space-y-2","children":[["$","li","0",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"OpenAI Integration"]}],["$","li","1",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Anthropic Integration"]}],["$","li","2",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"GenAI Integration"]}],["$","li","3",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Migration Guides"]}]]}]}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/usage/http-transport/integrations","target":"_blank","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer flex items-center justify-center gap-2","children":["Read More",["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link h-4 w-4","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}]],"data-slot":"button","ref":null}]]}]]}],["$","div","Benchmarks",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm group transition-all duration-200 hover:shadow-lg","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":[["$","div",null,{"className":"bg-primary/10 group-hover:bg-primary/20 mb-4 flex h-12 w-12 items-center justify-center rounded-lg transition-colors","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-zap text-primary h-6 w-6","aria-hidden":"true","children":[["$","path","1xq2db",{"d":"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"}],"$undefined"]}]}],"$undefined"]}],["$","div",null,{"data-slot":"card-title","className":"font-semibold text-xl","children":"Benchmarks"}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm leading-relaxed","children":"Performance metrics and guides"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-8","children":[["$","div",null,{"className":"space-y-4","children":["$","ul",null,{"className":"space-y-2","children":[["$","li","0",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"5K RPS Test Results"]}],["$","li","1",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Performance Metrics"]}],["$","li","2",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Configuration Tuning"]}],["$","li","3",{"className":"text-muted-foreground flex items-center gap-2 text-sm","children":[["$","div",null,{"className":"bg-primary h-1.5 w-1.5 rounded-full"}],"Hardware Comparisons"]}]]}]}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/blob/main/docs/benchmarks.md","target":"_blank","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer flex items-center justify-center gap-2","children":["Read More",["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link h-4 w-4","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}]],"data-slot":"button","ref":null}]]}]]}]]}],["$","div",null,{"className":"grid gap-6 pt-8 md:grid-cols-2","children":[["$","div",null,{"data-slot":"card","className":"text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm border-primary/20 bg-primary/5","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"data-slot":"card-title","className":"leading-none font-semibold flex items-center gap-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-file-text text-primary h-5 w-5","aria-hidden":"true","children":[["$","path","1rqfz7",{"d":"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}],["$","path","tnqrlb",{"d":"M14 2v4a2 2 0 0 0 2 2h4"}],["$","path","b1mrlr",{"d":"M10 9H8"}],["$","path","t4e002",{"d":"M16 13H8"}],["$","path","z1uh3a",{"d":"M16 17H8"}],"$undefined"]}],"MCP Documentation"]}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm","children":"Comprehensive guide to Model Context Protocol integration"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6","children":[["$","p",null,{"className":"text-muted-foreground mb-4 text-sm","children":"Learn how to build sophisticated AI agents with MCP support, tool calling, and external integrations."}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/blob/main/docs/mcp.md","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-book-open mr-2 h-4 w-4","aria-hidden":"true","children":[["$","path","1akyts",{"d":"M12 7v14"}],["$","path","ruj8y",{"d":"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"}],"$undefined"]}],"View MCP Guide"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}]]}]]}],["$","div",null,{"data-slot":"card","className":"text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm border-green-200 bg-green-50 dark:border-green-800 dark:bg-green-950/20","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"data-slot":"card-title","className":"leading-none font-semibold flex items-center gap-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-settings h-5 w-5 text-green-600","aria-hidden":"true","children":[["$","path","1qme2f",{"d":"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}],["$","circle","1v7zrd",{"cx":"12","cy":"12","r":"3"}],"$undefined"]}],"Configuration Reference"]}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-sm","children":"Complete reference for all configuration options"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6","children":[["$","p",null,{"className":"text-muted-foreground mb-4 text-sm","children":"Detailed documentation on provider setup, key management, and advanced configuration options."}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/usage/http-transport/configuration","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-settings mr-2 h-4 w-4","aria-hidden":"true","children":[["$","path","1qme2f",{"d":"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}],["$","circle","1v7zrd",{"cx":"12","cy":"12","r":"3"}],"$undefined"]}],"Configuration Docs"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}]]}]]}]]}]]}]}]]}],null,["$","$Lc",null,{"children":["$Ld","$Le",["$","$Lf",null,{"promise":"$@10"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","RvEeBBLPOa0Gn231DkIDav",{"children":[["$","$L11",null,{"children":"$L12"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],["$","$L13",null,{"children":"$L14"}]]}],false]],"m":"$undefined","G":["$15","$undefined"],"s":false,"S":true} 16:"$Sreact.suspense" 17:I[4911,[],"AsyncMetadata"] 14:["$","div",null,{"hidden":true,"children":["$","$16",null,{"fallback":null,"children":["$","$L17",null,{"promise":"$@18"}]}]}] e:null 12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] d:null -10:{"metadata":[["$","title","0",{"children":"Bifrost UI - AI Gateway Dashboard"}],["$","meta","1",{"name":"description","content":"Production-ready AI gateway that connects to 8+ providers through a single API. Get automatic failover, intelligent load balancing, and zero-downtime deployments."}]],"error":null,"digest":"$undefined"} +10:{"metadata":[["$","title","0",{"children":"Bifrost - The fastest LLM gateway"}],["$","meta","1",{"name":"description","content":"Production-ready fastest LLM gateway that connects to 8+ providers through a single API. Get automatic failover, load balancing, mcp support and zero-downtime deployments."}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}]],"error":null,"digest":"$undefined"} 18:{"metadata":"$10:metadata","error":null,"digest":"$undefined"} diff --git a/transports/bifrost-http/ui/favicon.ico b/transports/bifrost-http/ui/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..30e09b22d59d58c180ff35db382a98f621a4fff8 GIT binary patch literal 15406 zcmeHN|5FuJ6yK))0Q;d|(u%&BP2aR1n(`+ro2i+aG(iM`Kut~45DOy}8NZH1R+b^6 zMoxZ75lzidauQS&v_=adzwl*7lvEPo@c;$h>3$aPx^H*y?tRbqd_3dK+_`tpJ?DJR zy}Nt&?zu-%?o#en`t?&-9idFVM^Ro-6eS{}=X%h+in5mR1`oc`KTuIh?^BdPOopj2 zjUGO$EQta@>+%-Rq6GD!hU0MyEUIsdx3U_}`sVT2(<@BjPc$Zd#rOfRSVkS`9irXKc&=}Z>R-rU&-xmrX>p#)#A2z9%by+pF2Y+ z!6eH?!3QSRnFv;fv4ZtUM8Ow&Sh z(h)fXS);!G8dyf^!w>EJyIPv)pN2YNxqiLFc*}&>khQY~EF+ygbDUPLNEH^VZ?Dk? zzlN-xtuqYENL}n(nlk-W;dA@t=N}kVgx8SOKkxcBF!0^BqQ9$-QsjsMmb&=Hwzs!h zsd@1r!@t#fT(n^u7OsELB@#7uVLGXT3fHu_{71MHt^kcBFJz& zeGQwiEkg%Nwp-d5{mz5bbmgMZL{rlxf{Y%Qw_(#45{+Zmj$EM`^l?0WEi-RMqj-N~ zM?Y$^hrN%8(5J^m8#Z9eA1cWI+GGzl>+8*XAMlLWxP}dX3GeBQX|I^ba~-K-Yl^WSI)NgW zi>(RoKIet8DmzUxziMTgS07}d6G$p4F7U!gjDK3ax9UF_YwO2HBvP@PzAadE?e5~Q4eY?r!YN8)EWT^%1 zP*9uO#o`#QP(a@?n4-AA|Amh@2@BCGiLCU+N$!}(x>pYb|L6El%a*n_=l@Qp0mFtY z9^~xe4b|0us{29g^JL0lL0sI)XMI0x$Y609_$VU8C-|O8rY_#URb)z<4;wOAT*fZm z(&xYQv}=NW^RG<>J97!|=f8o)GnRibUAj2M+-}Z{xCI-&V8TZcb$55OSfX3H$eyo> z@W6)+UohdLh}zk=0E>j_Ci2=RS?3A(Vs?b+4% z{=zq+oAEIb?z+5%>c6v{J@iG7ilCi8<#@&1L^h3l#O9z28%{X*kB3jP)XHL9X{m2I z+68XrlJPA5ZO(si!h#NToqR`sTIyTUF?NoNdzBFTq@(?D3D3}l^VM8Ux<1czl9;ZO z|M0<|7|OM4?P?4xYUBfs82a22*#Z2_@==_82R34H@WmghtE;4`lZQIuqt>azN z5RiqAlmAmE4W(OIqdlH(D%!i=5eI8q&)Oh21UwIsEJwu2|DrwX+1eofUdf1x=awqAliBc241xD+K$HfvlbXzyfBV z2z!*xo0hS)`XM3i*fEb&iNya{$^HU@tjK?004orCEB*M94~Lv65ia;S*|XSMAwJJX zA7t!o0K+ODPw$Jr?PKLdG$!(4A%60-Vbpl}ywE)QAS3c0wt*2W>hA8MwX4&G_*k#Y z*}08~&}a8Ofo)&}lP{=?HDKi$FnjgdBrV^{v(c%wRECi|NFrogNG{qDy4A= z&ua5+^dEhYk%{31-(M>P59O`R(C&fWf6V=NYchJV?>*x|4(_avdh+%3{)1 zq2`^eI8504PLlVM@Jjw=A^0r0@(8-j}5$VqS~4YwlAxonj3XE`3_$ZCqeEv ca<^_Zh7)dM@AEf&W`Ly!^-Bifrost UI - AI Gateway Dashboard
    \ No newline at end of file +
    \ No newline at end of file diff --git a/transports/bifrost-http/ui/index.txt b/transports/bifrost-http/ui/index.txt index a51e7e6992..73c426eec2 100644 --- a/transports/bifrost-http/ui/index.txt +++ b/transports/bifrost-http/ui/index.txt @@ -1,13 +1,13 @@ 1:"$Sreact.fragment" -2:I[7942,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"default"] -3:I[9304,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"ThemeProvider"] -4:I[6671,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"Toaster"] -5:I[193,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"SidebarProvider"] -6:I[9685,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"default"] +2:I[7942,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"default"] +3:I[9304,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"ThemeProvider"] +4:I[6671,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"Toaster"] +5:I[193,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"SidebarProvider"] +6:I[9685,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"default"] 7:I[7555,[],""] 8:I[1295,[],""] 9:I[894,[],"ClientPageRoot"] -a:I[6794,["586","static/chunks/13b76428-4be7d9456b47e491.js","867","static/chunks/867-ee04be25d0141432.js","519","static/chunks/519-45533824b2718864.js","213","static/chunks/213-672494f56acc68a6.js","866","static/chunks/866-b29a8568c4caa97e.js","443","static/chunks/443-5702d24d72c89eac.js","341","static/chunks/341-5aa9f869e119bce4.js","974","static/chunks/app/page-9c52c1dd03452de9.js"],"default"] +a:I[6794,["586","static/chunks/13b76428-4be7d9456b47e491.js","867","static/chunks/867-ee04be25d0141432.js","519","static/chunks/519-45533824b2718864.js","678","static/chunks/678-56244c2aeff7b5e2.js","866","static/chunks/866-b29a8568c4caa97e.js","272","static/chunks/272-ea143f89da3f8b1f.js","341","static/chunks/341-3971b040aed697e5.js","974","static/chunks/app/page-3d9741bf5c7d7c6d.js"],"default"] d:I[9665,[],"OutletBoundary"] 10:I[4911,[],"AsyncMetadataOutlet"] 12:I[9665,[],"ViewportBoundary"] @@ -15,8 +15,8 @@ d:I[9665,[],"OutletBoundary"] 16:I[6614,[],""] :HL["/_next/static/media/569ce4b8f30dc480-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/93f479601ee12b01-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] -:HL["/_next/static/css/0451d03ec40c67fa.css","style"] -0:{"P":null,"b":"build","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/0451d03ec40c67fa.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_5cfdac __variable_9a8899 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","$L4",null,{}],["$","$L5",null,{"children":[["$","$L6",null,{}],["$","main",null,{"className":"relative mx-auto flex min-h-screen w-5xl flex-col pt-24","children":["$","$L7",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L9",null,{"Component":"$a","searchParams":{},"params":{},"promises":["$@b","$@c"]}],null,["$","$Ld",null,{"children":["$Le","$Lf",["$","$L10",null,{"promise":"$@11"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","2STqmFDe5vJeB4yOICqS_v",{"children":[["$","$L12",null,{"children":"$L13"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],["$","$L14",null,{"children":"$L15"}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/0290f827d14417a0.css","style"] +0:{"P":null,"b":"build","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/0290f827d14417a0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_5cfdac __variable_9a8899 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","$L4",null,{}],["$","$L5",null,{"children":[["$","$L6",null,{}],["$","main",null,{"className":"relative mx-auto flex min-h-screen w-5xl flex-col pt-24 pb-12","children":["$","$L7",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L9",null,{"Component":"$a","searchParams":{},"params":{},"promises":["$@b","$@c"]}],null,["$","$Ld",null,{"children":["$Le","$Lf",["$","$L10",null,{"promise":"$@11"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","sw1dLFK05H70YDLCl_SsCv",{"children":[["$","$L12",null,{"children":"$L13"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],["$","$L14",null,{"children":"$L15"}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 17:"$Sreact.suspense" 18:I[4911,[],"AsyncMetadata"] b:{} @@ -25,5 +25,5 @@ c:{} f:null 13:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] e:null -11:{"metadata":[["$","title","0",{"children":"Bifrost UI - AI Gateway Dashboard"}],["$","meta","1",{"name":"description","content":"Production-ready AI gateway that connects to 8+ providers through a single API. Get automatic failover, intelligent load balancing, and zero-downtime deployments."}]],"error":null,"digest":"$undefined"} +11:{"metadata":[["$","title","0",{"children":"Bifrost - The fastest LLM gateway"}],["$","meta","1",{"name":"description","content":"Production-ready fastest LLM gateway that connects to 8+ providers through a single API. Get automatic failover, load balancing, mcp support and zero-downtime deployments."}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}]],"error":null,"digest":"$undefined"} 19:{"metadata":"$11:metadata","error":null,"digest":"$undefined"} diff --git a/transports/bifrost-http/ui/plugins/index.html b/transports/bifrost-http/ui/plugins/index.html index 25531a92ae..8184aa291d 100644 --- a/transports/bifrost-http/ui/plugins/index.html +++ b/transports/bifrost-http/ui/plugins/index.html @@ -1,4 +1,4 @@ -Bifrost UI - AI Gateway Dashboard
    Plugins
    Plugin EcosystemBeta
    Supercharge Bifrost

    Extend Bifrost with powerful plugins for observability, testing, security, and custom business logic. Full support in Go SDK, with HTTP transport integration in active development.

    Featured Plugins

    Production-ready plugins with varying levels of HTTP transport support

    Production
    Maxim Logger
    Observability
    Advanced LLM observability, tracing, and analytics platform integration

    Key Features

    Real-time LLM tracing
    Performance analytics
    Cost tracking
    Command Line
    bifrost-http --plugins maxim
    Production
    Response Mocker
    Development
    Mock AI responses for testing, development, and cost-effective prototyping

    Key Features

    Configurable mock responses
    Request pattern matching
    Development environment support
    HTTP transport support coming soon
    Available
    Circuit Breaker
    Reliability
    Resilience patterns for handling provider failures and preventing cascade errors

    Key Features

    Automatic failure detection
    Fallback mechanisms
    Rate limiting
    HTTP transport support coming soon

    Usage Patterns

    Multiple ways to integrate plugins into your workflow

    HTTP Transport
    Maxim plugin only (for now)
    bifrost-http --plugins maxim

    Additional plugins coming soon

    Docker Deployment
    Environment variables
    docker run -e APP_PLUGINS=maxim

    Additional plugins coming soon

    Go SDK
    Full plugin ecosystem
    Plugins: []schemas.Plugin{...}

    All plugins available

    Coming Soon

    Exciting plugins currently in development

    Redis Cache
    Coming Soon
    High-performance caching layer with Redis backend
    Auth Guard
    Coming Soon
    Enterprise authentication and authorization middleware
    Rate Limiter
    Coming Soon
    Advanced rate limiting with multiple strategies

    Join the Plugin Ecosystem

    Contribute to the growing collection of Bifrost plugins or build your own custom solutions

    \ No newline at end of file +
    Plugins
    Plugin EcosystemBeta
    Supercharge Bifrost

    Extend Bifrost with powerful plugins for observability, testing, security, and custom business logic. Full support in Go SDK, with HTTP transport integration in active development.

    Featured Plugins

    Production-ready plugins with varying levels of HTTP transport support

    Production
    Maxim Logger
    Observability
    Advanced LLM observability, tracing, and analytics platform integration

    Key Features

    Real-time LLM tracing
    Performance analytics
    Cost tracking
    Command Line
    bifrost-http --plugins maxim
    Production
    Response Mocker
    Development
    Mock AI responses for testing, development, and cost-effective prototyping

    Key Features

    Configurable mock responses
    Request pattern matching
    Development environment support
    HTTP transport support coming soon
    Available
    Circuit Breaker
    Reliability
    Resilience patterns for handling provider failures and preventing cascade errors

    Key Features

    Automatic failure detection
    Fallback mechanisms
    Rate limiting
    HTTP transport support coming soon

    Usage Patterns

    Multiple ways to integrate plugins into your workflow

    HTTP Transport
    Maxim plugin only (for now)
    bifrost-http --plugins maxim

    Additional plugins coming soon

    Docker Deployment
    Environment variables
    docker run -e APP_PLUGINS=maxim

    Additional plugins coming soon

    Go SDK
    Full plugin ecosystem
    Plugins: []schemas.Plugin{...}

    All plugins available

    Coming Soon

    Exciting plugins currently in development

    Redis Cache
    Coming Soon
    High-performance caching layer with Redis backend
    Auth Guard
    Coming Soon
    Enterprise authentication and authorization middleware
    Rate Limiter
    Coming Soon
    Advanced rate limiting with multiple strategies

    Join the Plugin Ecosystem

    Contribute to the growing collection of Bifrost plugins or build your own custom solutions

    \ No newline at end of file diff --git a/transports/bifrost-http/ui/plugins/index.txt b/transports/bifrost-http/ui/plugins/index.txt index db2f1d5c2b..f88bb48dcf 100644 --- a/transports/bifrost-http/ui/plugins/index.txt +++ b/transports/bifrost-http/ui/plugins/index.txt @@ -1,9 +1,9 @@ 1:"$Sreact.fragment" -2:I[7942,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"default"] -3:I[9304,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"ThemeProvider"] -4:I[6671,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"Toaster"] -5:I[193,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"SidebarProvider"] -6:I[9685,["867","static/chunks/867-ee04be25d0141432.js","213","static/chunks/213-672494f56acc68a6.js","874","static/chunks/874-37fb0661d0af7eec.js","473","static/chunks/473-3e3a48663e3561da.js","154","static/chunks/154-7b9dae231ea16969.js","177","static/chunks/app/layout-e528237e8bb14184.js"],"default"] +2:I[7942,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"default"] +3:I[9304,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"ThemeProvider"] +4:I[6671,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"Toaster"] +5:I[193,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"SidebarProvider"] +6:I[9685,["867","static/chunks/867-ee04be25d0141432.js","678","static/chunks/678-56244c2aeff7b5e2.js","874","static/chunks/874-37fb0661d0af7eec.js","273","static/chunks/273-9756261fec6bc01b.js","825","static/chunks/825-aee0522b5fc044c3.js","177","static/chunks/app/layout-6acb57196bba0407.js"],"default"] 7:I[7555,[],""] 8:I[1295,[],""] 9:I[1225,["867","static/chunks/867-ee04be25d0141432.js","519","static/chunks/519-45533824b2718864.js","874","static/chunks/874-37fb0661d0af7eec.js","153","static/chunks/app/plugins/page-3f0f710f3ac21f25.js"],"ThemeToggle"] @@ -20,13 +20,13 @@ f:I[4964,["867","static/chunks/867-ee04be25d0141432.js","519","static/chunks/519 19:I[6614,[],""] :HL["/_next/static/media/569ce4b8f30dc480-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/93f479601ee12b01-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] -:HL["/_next/static/css/0451d03ec40c67fa.css","style"] -0:{"P":null,"b":"build","p":"","c":["","plugins",""],"i":false,"f":[[["",{"children":["plugins",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/0451d03ec40c67fa.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_5cfdac __variable_9a8899 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","$L4",null,{}],["$","$L5",null,{"children":[["$","$L6",null,{}],["$","main",null,{"className":"relative mx-auto flex min-h-screen w-5xl flex-col pt-24","children":["$","$L7",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]}]}]}]]}],{"children":["plugins",["$","$1","c",{"children":[null,["$","$L7",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","div",null,{"className":"bg-background min-h-screen","children":[["$","div",null,{"className":"bg-background fixed top-0 right-0 left-(--sidebar-width) z-10","children":[["$","div",null,{"className":"flex items-center justify-between px-3","children":[["$","div",null,{"className":"p-3 font-semibold","children":"Plugins"}],["$","$L9",null,{}]]}],["$","$La",null,{"className":"w-full"}]]}],["$","div",null,{"className":"mx-auto max-w-7xl p-8 pt-0","children":["$","div",null,{"className":"space-y-12","children":[["$","div",null,{"className":"space-y-4 text-center","children":[["$","div",null,{"className":"bg-primary/10 text-primary inline-flex items-center gap-2 rounded-full px-4 py-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-puzzle h-4 w-4","aria-hidden":"true","children":[["$","path","w46dr5",{"d":"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z"}],"$undefined"]}],["$","span",null,{"className":"font-semibold","children":"Plugin Ecosystem"}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90 ml-1 text-xs","children":"Beta"}]]}],["$","div",null,{"className":"from-primary bg-gradient-to-r to-green-600 bg-clip-text pb-2 text-5xl font-bold text-transparent","children":"Supercharge Bifrost"}],["$","p",null,{"className":"text-muted-foreground mx-auto max-w-3xl text-lg leading-relaxed","children":"Extend Bifrost with powerful plugins for observability, testing, security, and custom business logic. Full support in Go SDK, with HTTP transport integration in active development."}],["$","div",null,{"className":"flex flex-col items-center justify-center gap-4 sm:flex-row","children":[["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-github mr-2 h-5 w-5","aria-hidden":"true","children":[["$","path","tonef",{"d":"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}],["$","path","9comsn",{"d":"M9 18c-4.51 2-5-2-7-2"}],"$undefined"]}],"Browse All Plugins"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 h-10 rounded-md px-6 has-[>svg]:px-4 cursor-pointer","ref":null}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/contributing/plugin.md","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-code mr-2 h-5 w-5","aria-hidden":"true","children":[["$","path","eg8j8",{"d":"m16 18 6-6-6-6"}],["$","path","ppft3o",{"d":"m8 6-6 6 6 6"}],"$undefined"]}],"Build Your Own"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-10 rounded-md px-6 has-[>svg]:px-4 cursor-pointer","ref":null}]]}]]}],["$","div",null,{"data-slot":"alert","role":"alert","className":"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current text-card-foreground border-amber-200 bg-amber-50 dark:border-amber-800 dark:bg-amber-950/20","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-triangle-alert h-4 w-4 text-amber-600","aria-hidden":"true","children":[["$","path","wmoenq",{"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"}],["$","path","juzpu7",{"d":"M12 9v4"}],["$","path","p32p05",{"d":"M12 17h.01"}],"$undefined"]}],["$","div",null,{"data-slot":"alert-description","className":"col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed text-amber-800 dark:text-amber-200","children":"HTTP transport support for custom and third party plugins is currently in active development and will be available soon."}]]}],["$","section",null,{"className":"space-y-8","children":[["$","div",null,{"className":"text-center","children":[["$","h2",null,{"className":"mb-4 text-3xl font-bold","children":"Featured Plugins"}],["$","p",null,{"className":"text-muted-foreground text-lg","children":"Production-ready plugins with varying levels of HTTP transport support"}]]}],["$","div",null,{"className":"grid gap-8 lg:grid-cols-3","children":[["$","div","maxim",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl py-6 shadow-sm group hover:border-primary/50 border-2 transition-all duration-300 hover:shadow-xl","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-start justify-between","children":[["$","div",null,{"className":"rounded-xl p-3 bg-blue-500 bg-opacity-10","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-monitor h-8 w-8 text-blue-500","aria-hidden":"true","children":[["$","rect","48i651",{"width":"20","height":"14","x":"2","y":"3","rx":"2"}],["$","line","1svkeh",{"x1":"8","x2":"16","y1":"21","y2":"21"}],["$","line","vw1qmm",{"x1":"12","x2":"12","y1":"17","y2":"21"}],"$undefined"]}]}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90 text-xs","children":"Production"}]]}],["$","div",null,{"className":"space-y-2","children":[["$","div",null,{"data-slot":"card-title","className":"font-semibold group-hover:text-primary text-xl transition-colors","children":"Maxim Logger"}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground w-fit text-xs","children":"Observability"}]]}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-base leading-relaxed","children":"Advanced LLM observability, tracing, and analytics platform integration"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-6","children":[["$","div",null,{"className":"space-y-6","children":[["$","div",null,{"className":"space-y-3","children":[["$","h4",null,{"className":"text-muted-foreground text-sm font-semibold tracking-wide uppercase","children":"Key Features"}],["$","div",null,{"className":"grid gap-2","children":[["$","div","Real-time LLM tracing",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Real-time LLM tracing"]}],["$","div","Performance analytics",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Performance analytics"]}],["$","div","Cost tracking",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Cost tracking"]}]]}]]}],["$","$Lc",null,{"defaultValue":"http","className":"w-full","children":[["$","$Ld",null,{"className":"grid w-full grid-cols-2","children":[["$","$Le",null,{"value":"http","className":"text-xs","children":"HTTP"}],["$","$Le",null,{"value":"docker","className":"text-xs","children":"Docker"}]]}],["$","$Lf",null,{"value":"http","className":"mt-3","children":["$","div",null,{"className":"bg-muted rounded-md p-3","children":[["$","div",null,{"className":"mb-2 flex items-center gap-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-terminal h-3 w-3","aria-hidden":"true","children":[["$","path","baeox8",{"d":"M12 19h8"}],["$","path","1yngyt",{"d":"m4 17 6-6-6-6"}],"$undefined"]}],["$","span",null,{"className":"text-xs font-semibold","children":"Command Line"}]]}],["$","code",null,{"className":"block font-mono text-xs","children":"bifrost-http --plugins maxim"}]]}]}],["$","$Lf",null,{"value":"docker","className":"mt-3","children":["$","div",null,{"className":"bg-muted rounded-md p-3","children":[["$","div",null,{"className":"mb-2 flex items-center gap-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-container h-3 w-3","aria-hidden":"true","children":[["$","path","1t2lqe",{"d":"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z"}],["$","path","o7czzq",{"d":"M10 21.9V14L2.1 9.1"}],["$","path","zm5e20",{"d":"m10 14 11.9-6.9"}],["$","path","159ecu",{"d":"M14 19.8v-8.1"}],["$","path","11uown",{"d":"M18 17.5V9.4"}],"$undefined"]}],["$","span",null,{"className":"text-xs font-semibold","children":"Docker Environment"}]]}],["$","code",null,{"className":"block font-mono text-xs","children":"docker run -e APP_PLUGINS=maxim bifrost-transport"}]]}]}]]}]]}],["$","div",null,{"className":"space-y-2","children":[["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins/maxim","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-code mr-1 h-4 w-4","aria-hidden":"true","children":[["$","path","eg8j8",{"d":"m16 18 6-6-6-6"}],["$","path","ppft3o",{"d":"m8 6-6 6 6 6"}],"$undefined"]}],"Source Code"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins/maxim/README.md","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info mr-1 h-4 w-4","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}],"Plugin Documentation"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}]]}]]}]]}],["$","div","mocker",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl py-6 shadow-sm group hover:border-primary/50 border-2 transition-all duration-300 hover:shadow-xl","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-start justify-between","children":[["$","div",null,{"className":"rounded-xl p-3 bg-green-500 bg-opacity-10","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-code h-8 w-8 text-green-500","aria-hidden":"true","children":[["$","path","eg8j8",{"d":"m16 18 6-6-6-6"}],["$","path","ppft3o",{"d":"m8 6-6 6 6 6"}],"$undefined"]}]}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90 text-xs","children":"Production"}]]}],["$","div",null,{"className":"space-y-2","children":[["$","div",null,{"data-slot":"card-title","className":"font-semibold group-hover:text-primary text-xl transition-colors","children":"Response Mocker"}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground w-fit text-xs","children":"Development"}]]}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-base leading-relaxed","children":"Mock AI responses for testing, development, and cost-effective prototyping"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-6","children":[["$","div",null,{"className":"space-y-6","children":[["$","div",null,{"className":"space-y-3","children":[["$","h4",null,{"className":"text-muted-foreground text-sm font-semibold tracking-wide uppercase","children":"Key Features"}],["$","div",null,{"className":"grid gap-2","children":[["$","div","Configurable mock responses",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Configurable mock responses"]}],["$","div","Request pattern matching",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Request pattern matching"]}],["$","div","Development environment support",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Development environment support"]}]]}]]}],["$","div",null,{"className":"mt-3 rounded-md border border-amber-200 bg-amber-50 p-3 dark:border-amber-800 dark:bg-amber-950/20","children":["$","div",null,{"className":"flex items-center gap-2 text-amber-700 dark:text-amber-300","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info h-3 w-3","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}],["$","span",null,{"className":"text-xs font-semibold","children":"HTTP transport support coming soon"}]]}]}]]}],["$","div",null,{"className":"space-y-2","children":[["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins/mocker","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-code mr-1 h-4 w-4","aria-hidden":"true","children":[["$","path","eg8j8",{"d":"m16 18 6-6-6-6"}],["$","path","ppft3o",{"d":"m8 6-6 6 6 6"}],"$undefined"]}],"Source Code"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins/mocker/README.md","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info mr-1 h-4 w-4","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}],"Plugin Documentation"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}]]}]]}]]}],["$","div","circuit-breaker",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl py-6 shadow-sm group hover:border-primary/50 border-2 transition-all duration-300 hover:shadow-xl","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-start justify-between","children":[["$","div",null,{"className":"rounded-xl p-3 bg-orange-500 bg-opacity-10","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-shield h-8 w-8 text-orange-500","aria-hidden":"true","children":[["$","path","oel41y",{"d":"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"}],"$undefined"]}]}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 text-xs","children":"Available"}]]}],["$","div",null,{"className":"space-y-2","children":[["$","div",null,{"data-slot":"card-title","className":"font-semibold group-hover:text-primary text-xl transition-colors","children":"Circuit Breaker"}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground w-fit text-xs","children":"Reliability"}]]}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-base leading-relaxed","children":"Resilience patterns for handling provider failures and preventing cascade errors"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-6","children":[["$","div",null,{"className":"space-y-6","children":[["$","div",null,{"className":"space-y-3","children":[["$","h4",null,{"className":"text-muted-foreground text-sm font-semibold tracking-wide uppercase","children":"Key Features"}],["$","div",null,{"className":"grid gap-2","children":[["$","div","Automatic failure detection",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Automatic failure detection"]}],["$","div","Fallback mechanisms",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Fallback mechanisms"]}],["$","div","Rate limiting",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Rate limiting"]}]]}]]}],["$","div",null,{"className":"mt-3 rounded-md border border-amber-200 bg-amber-50 p-3 dark:border-amber-800 dark:bg-amber-950/20","children":["$","div",null,{"className":"flex items-center gap-2 text-amber-700 dark:text-amber-300","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info h-3 w-3","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}],["$","span",null,{"className":"text-xs font-semibold","children":"HTTP transport support coming soon"}]]}]}]]}],["$","div",null,{"className":"space-y-2","children":[["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins/circuitbreaker","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-code mr-1 h-4 w-4","aria-hidden":"true","children":[["$","path","eg8j8",{"d":"m16 18 6-6-6-6"}],["$","path","ppft3o",{"d":"m8 6-6 6 6 6"}],"$undefined"]}],"Source Code"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins/circuitbreaker/README.md","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info mr-1 h-4 w-4","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}],"Plugin Documentation"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}]]}]]}]]}]]}]]}],["$","section",null,{"className":"space-y-8","children":[["$","div",null,{"className":"text-center","children":[["$","h2",null,{"className":"mb-4 text-3xl font-bold","children":"Usage Patterns"}],["$","p",null,{"className":"text-muted-foreground text-lg","children":"Multiple ways to integrate plugins into your workflow"}]]}],["$","div",null,{"className":"grid gap-6 md:grid-cols-3","children":[["$","div",null,{"data-slot":"card","className":"text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm border-blue-200 bg-blue-50 dark:border-blue-800 dark:bg-blue-950/20","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":["$","div",null,{"className":"flex items-center gap-3","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-terminal h-8 w-8 text-blue-600","aria-hidden":"true","children":[["$","path","baeox8",{"d":"M12 19h8"}],["$","path","1yngyt",{"d":"m4 17 6-6-6-6"}],"$undefined"]}],["$","div",null,{"children":[["$","div",null,{"data-slot":"card-title","className":"leading-none font-semibold text-blue-800 dark:text-blue-200","children":"HTTP Transport"}],["$","div",null,{"data-slot":"card-description","className":"text-sm text-blue-700 dark:text-blue-300","children":"Maxim plugin only (for now)"}]]}]]}]}],["$","div",null,{"data-slot":"card-content","className":"px-6 space-y-3","children":[["$","div",null,{"className":"rounded-md bg-blue-100 p-3 dark:bg-blue-900","children":["$","code",null,{"className":"font-mono text-sm text-blue-800 dark:text-blue-200","children":"bifrost-http --plugins maxim"}]}],["$","p",null,{"className":"text-sm text-blue-700 dark:text-blue-300","children":"Additional plugins coming soon"}]]}]]}],["$","div",null,{"data-slot":"card","className":"text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm border-purple-200 bg-purple-50 dark:border-purple-800 dark:bg-purple-950/20","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":["$","div",null,{"className":"flex items-center gap-3","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-container h-8 w-8 text-purple-600","aria-hidden":"true","children":[["$","path","1t2lqe",{"d":"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z"}],["$","path","o7czzq",{"d":"M10 21.9V14L2.1 9.1"}],["$","path","zm5e20",{"d":"m10 14 11.9-6.9"}],["$","path","159ecu",{"d":"M14 19.8v-8.1"}],["$","path","11uown",{"d":"M18 17.5V9.4"}],"$undefined"]}],["$","div",null,{"children":[["$","div",null,{"data-slot":"card-title","className":"leading-none font-semibold text-purple-800 dark:text-purple-200","children":"Docker Deployment"}],["$","div",null,{"data-slot":"card-description","className":"text-sm text-purple-700 dark:text-purple-300","children":"Environment variables"}]]}]]}]}],["$","div",null,{"data-slot":"card-content","className":"px-6 space-y-3","children":[["$","div",null,{"className":"rounded-md bg-purple-100 p-3 dark:bg-purple-900","children":["$","code",null,{"className":"font-mono text-sm text-purple-800 dark:text-purple-200","children":"docker run -e APP_PLUGINS=maxim"}]}],["$","p",null,{"className":"text-sm text-purple-700 dark:text-purple-300","children":"Additional plugins coming soon"}]]}]]}],["$","div",null,{"data-slot":"card","className":"text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm border-green-200 bg-green-50 dark:border-green-800 dark:bg-green-950/20","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":["$","div",null,{"className":"flex items-center gap-3","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-code h-8 w-8 text-green-600","aria-hidden":"true","children":[["$","path","eg8j8",{"d":"m16 18 6-6-6-6"}],["$","path","ppft3o",{"d":"m8 6-6 6 6 6"}],"$undefined"]}],["$","div",null,{"children":[["$","div",null,{"data-slot":"card-title","className":"leading-none font-semibold text-green-800 dark:text-green-200","children":"Go SDK"}],["$","div",null,{"data-slot":"card-description","className":"text-sm text-green-700 dark:text-green-300","children":"Full plugin ecosystem"}]]}]]}]}],["$","div",null,{"data-slot":"card-content","className":"px-6 space-y-3","children":[["$","div",null,{"className":"rounded-md bg-green-100 p-3 dark:bg-green-900","children":["$","code",null,{"className":"font-mono text-sm text-green-800 dark:text-green-200","children":["Plugins: []schemas.Plugin","{...}"]}]}],["$","p",null,{"className":"text-sm text-green-700 dark:text-green-300","children":"All plugins available"}]]}]]}]]}]]}],["$","section",null,{"className":"space-y-8","children":[["$","div",null,{"className":"text-center","children":[["$","h2",null,{"className":"mb-4 text-3xl font-bold","children":"Coming Soon"}],["$","p",null,{"className":"text-muted-foreground text-lg","children":"Exciting plugins currently in development"}]]}],["$","div",null,{"className":"grid gap-6 md:grid-cols-3","children":[["$","div","Redis Cache",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl py-6 shadow-sm border-muted-foreground/30 border-2 border-dashed","children":["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":["$","div",null,{"className":"flex items-center gap-3","children":[["$","div",null,{"className":"bg-muted rounded-lg p-2","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-database text-muted-foreground h-6 w-6","aria-hidden":"true","children":[["$","ellipse","msslwz",{"cx":"12","cy":"5","rx":"9","ry":"3"}],["$","path","1wlel7",{"d":"M3 5V19A9 3 0 0 0 21 19V5"}],["$","path","mv7ke4",{"d":"M3 12A9 3 0 0 0 21 12"}],"$undefined"]}]}],["$","div",null,{"children":[["$","div",null,{"data-slot":"card-title","className":"font-semibold text-muted-foreground text-lg","children":"Redis Cache"}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 mt-1 text-xs","children":"Coming Soon"}]]}]]}]}],["$","div",null,{"data-slot":"card-description","className":"text-sm text-muted-foreground","children":"High-performance caching layer with Redis backend"}]]}]}],["$","div","Auth Guard",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl py-6 shadow-sm border-muted-foreground/30 border-2 border-dashed","children":["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":["$","div",null,{"className":"flex items-center gap-3","children":[["$","div",null,{"className":"bg-muted rounded-lg p-2","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-shield text-muted-foreground h-6 w-6","aria-hidden":"true","children":[["$","path","oel41y",{"d":"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"}],"$undefined"]}]}],["$","div",null,{"children":[["$","div",null,{"data-slot":"card-title","className":"font-semibold text-muted-foreground text-lg","children":"Auth Guard"}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 mt-1 text-xs","children":"Coming Soon"}]]}]]}]}],["$","div",null,{"data-slot":"card-description","className":"text-sm text-muted-foreground","children":"Enterprise authentication and authorization middleware"}]]}]}],["$","div","Rate Limiter",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl py-6 shadow-sm border-muted-foreground/30 border-2 border-dashed","children":["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":["$","div",null,{"className":"flex items-center gap-3","children":[["$","div",null,{"className":"bg-muted rounded-lg p-2","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-zap text-muted-foreground h-6 w-6","aria-hidden":"true","children":[["$","path","1xq2db",{"d":"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"}],"$undefined"]}]}],["$","div",null,{"children":[["$","div",null,{"data-slot":"card-title","className":"font-semibold text-muted-foreground text-lg","children":"Rate Limiter"}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 mt-1 text-xs","children":"Coming Soon"}]]}]]}]}],["$","div",null,{"data-slot":"card-description","className":"text-sm text-muted-foreground","children":"Advanced rate limiting with multiple strategies"}]]}]}]]}]]}],["$","section",null,{"className":"from-primary/5 rounded-2xl bg-gradient-to-r to-blue-600/5 p-8","children":["$","div",null,{"className":"space-y-6 text-center","children":[["$","h2",null,{"className":"text-3xl font-bold","children":"Join the Plugin Ecosystem"}],["$","p",null,{"className":"text-muted-foreground mx-auto max-w-2xl text-lg","children":"Contribute to the growing collection of Bifrost plugins or build your own custom solutions"}],["$","div",null,{"className":"flex flex-col justify-center gap-4 sm:flex-row","children":[["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-github mr-2 h-5 w-5","aria-hidden":"true","children":[["$","path","tonef",{"d":"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}],["$","path","9comsn",{"d":"M9 18c-4.51 2-5-2-7-2"}],"$undefined"]}],"Plugin Repository"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 h-10 rounded-md px-6 has-[>svg]:px-4 cursor-pointer","ref":null}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/contributing/plugin.md","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-rocket mr-2 h-5 w-5","aria-hidden":"true","children":[["$","path","m3kijz",{"d":"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"}],["$","path","1fmvmk",{"d":"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"}],["$","path","1f8sc4",{"d":"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"}],["$","path","qeys4",{"d":"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"}],"$undefined"]}],"Development Guide"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-10 rounded-md px-6 has-[>svg]:px-4 cursor-pointer","ref":null}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/architecture/plugins.md","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-puzzle mr-2 h-5 w-5","aria-hidden":"true","children":[["$","path","w46dr5",{"d":"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z"}],"$undefined"]}],"Architecture Docs"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-10 rounded-md px-6 has-[>svg]:px-4 cursor-pointer","ref":null}]]}]]}]}]]}]}]]}],null,["$","$L10",null,{"children":["$L11","$L12",["$","$L13",null,{"promise":"$@14"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","DPBgTxBHsmdvLkdBW6i9Kv",{"children":[["$","$L15",null,{"children":"$L16"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],["$","$L17",null,{"children":"$L18"}]]}],false]],"m":"$undefined","G":["$19","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/0290f827d14417a0.css","style"] +0:{"P":null,"b":"build","p":"","c":["","plugins",""],"i":false,"f":[[["",{"children":["plugins",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/0290f827d14417a0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_5cfdac __variable_9a8899 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","$L4",null,{}],["$","$L5",null,{"children":[["$","$L6",null,{}],["$","main",null,{"className":"relative mx-auto flex min-h-screen w-5xl flex-col pt-24 pb-12","children":["$","$L7",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]}]}]}]]}],{"children":["plugins",["$","$1","c",{"children":[null,["$","$L7",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","div",null,{"className":"bg-background min-h-screen","children":[["$","div",null,{"className":"bg-background fixed top-0 right-0 left-(--sidebar-width) z-10","children":[["$","div",null,{"className":"flex items-center justify-between px-3","children":[["$","div",null,{"className":"p-3 font-semibold","children":"Plugins"}],["$","$L9",null,{}]]}],["$","$La",null,{"className":"w-full"}]]}],["$","div",null,{"className":"mx-auto max-w-7xl","children":["$","div",null,{"className":"space-y-12","children":[["$","div",null,{"className":"space-y-4 text-center","children":[["$","div",null,{"className":"bg-primary/10 text-primary inline-flex items-center gap-2 rounded-full px-4 py-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-puzzle h-4 w-4","aria-hidden":"true","children":[["$","path","w46dr5",{"d":"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z"}],"$undefined"]}],["$","span",null,{"className":"font-semibold","children":"Plugin Ecosystem"}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90 ml-1 text-xs","children":"Beta"}]]}],["$","div",null,{"className":"from-primary bg-gradient-to-r to-green-600 bg-clip-text pb-2 text-5xl font-bold text-transparent","children":"Supercharge Bifrost"}],["$","p",null,{"className":"text-muted-foreground mx-auto max-w-3xl text-lg leading-relaxed","children":"Extend Bifrost with powerful plugins for observability, testing, security, and custom business logic. Full support in Go SDK, with HTTP transport integration in active development."}],["$","div",null,{"className":"flex flex-col items-center justify-center gap-4 sm:flex-row","children":[["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-github mr-2 h-5 w-5","aria-hidden":"true","children":[["$","path","tonef",{"d":"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}],["$","path","9comsn",{"d":"M9 18c-4.51 2-5-2-7-2"}],"$undefined"]}],"Browse All Plugins"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 h-10 rounded-md px-6 has-[>svg]:px-4 cursor-pointer","ref":null}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/contributing/plugin.md","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-code mr-2 h-5 w-5","aria-hidden":"true","children":[["$","path","eg8j8",{"d":"m16 18 6-6-6-6"}],["$","path","ppft3o",{"d":"m8 6-6 6 6 6"}],"$undefined"]}],"Build Your Own"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-10 rounded-md px-6 has-[>svg]:px-4 cursor-pointer","ref":null}]]}]]}],["$","div",null,{"data-slot":"alert","role":"alert","className":"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current text-card-foreground border-amber-200 bg-amber-50 dark:border-amber-800 dark:bg-amber-950/20","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-triangle-alert h-4 w-4 text-amber-600","aria-hidden":"true","children":[["$","path","wmoenq",{"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"}],["$","path","juzpu7",{"d":"M12 9v4"}],["$","path","p32p05",{"d":"M12 17h.01"}],"$undefined"]}],["$","div",null,{"data-slot":"alert-description","className":"col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed text-amber-800 dark:text-amber-200","children":"HTTP transport support for custom and third party plugins is currently in active development and will be available soon."}]]}],["$","section",null,{"className":"space-y-8","children":[["$","div",null,{"className":"text-center","children":[["$","h2",null,{"className":"mb-4 text-3xl font-bold","children":"Featured Plugins"}],["$","p",null,{"className":"text-muted-foreground text-lg","children":"Production-ready plugins with varying levels of HTTP transport support"}]]}],["$","div",null,{"className":"grid gap-8 lg:grid-cols-3","children":[["$","div","maxim",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl py-6 shadow-sm group hover:border-primary/50 border-2 transition-all duration-300 hover:shadow-xl","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-start justify-between","children":[["$","div",null,{"className":"rounded-xl p-3 bg-blue-500 bg-opacity-10","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-monitor h-8 w-8 text-blue-500","aria-hidden":"true","children":[["$","rect","48i651",{"width":"20","height":"14","x":"2","y":"3","rx":"2"}],["$","line","1svkeh",{"x1":"8","x2":"16","y1":"21","y2":"21"}],["$","line","vw1qmm",{"x1":"12","x2":"12","y1":"17","y2":"21"}],"$undefined"]}]}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90 text-xs","children":"Production"}]]}],["$","div",null,{"className":"space-y-2","children":[["$","div",null,{"data-slot":"card-title","className":"font-semibold group-hover:text-primary text-xl transition-colors","children":"Maxim Logger"}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground w-fit text-xs","children":"Observability"}]]}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-base leading-relaxed","children":"Advanced LLM observability, tracing, and analytics platform integration"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-6","children":[["$","div",null,{"className":"space-y-6","children":[["$","div",null,{"className":"space-y-3","children":[["$","h4",null,{"className":"text-muted-foreground text-sm font-semibold tracking-wide uppercase","children":"Key Features"}],["$","div",null,{"className":"grid gap-2","children":[["$","div","Real-time LLM tracing",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Real-time LLM tracing"]}],["$","div","Performance analytics",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Performance analytics"]}],["$","div","Cost tracking",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Cost tracking"]}]]}]]}],["$","$Lc",null,{"defaultValue":"http","className":"w-full","children":[["$","$Ld",null,{"className":"grid w-full grid-cols-2","children":[["$","$Le",null,{"value":"http","className":"text-xs","children":"HTTP"}],["$","$Le",null,{"value":"docker","className":"text-xs","children":"Docker"}]]}],["$","$Lf",null,{"value":"http","className":"mt-3","children":["$","div",null,{"className":"bg-muted rounded-md p-3","children":[["$","div",null,{"className":"mb-2 flex items-center gap-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-terminal h-3 w-3","aria-hidden":"true","children":[["$","path","baeox8",{"d":"M12 19h8"}],["$","path","1yngyt",{"d":"m4 17 6-6-6-6"}],"$undefined"]}],["$","span",null,{"className":"text-xs font-semibold","children":"Command Line"}]]}],["$","code",null,{"className":"block font-mono text-xs","children":"bifrost-http --plugins maxim"}]]}]}],["$","$Lf",null,{"value":"docker","className":"mt-3","children":["$","div",null,{"className":"bg-muted rounded-md p-3","children":[["$","div",null,{"className":"mb-2 flex items-center gap-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-container h-3 w-3","aria-hidden":"true","children":[["$","path","1t2lqe",{"d":"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z"}],["$","path","o7czzq",{"d":"M10 21.9V14L2.1 9.1"}],["$","path","zm5e20",{"d":"m10 14 11.9-6.9"}],["$","path","159ecu",{"d":"M14 19.8v-8.1"}],["$","path","11uown",{"d":"M18 17.5V9.4"}],"$undefined"]}],["$","span",null,{"className":"text-xs font-semibold","children":"Docker Environment"}]]}],["$","code",null,{"className":"block font-mono text-xs","children":"docker run -e APP_PLUGINS=maxim bifrost-transport"}]]}]}]]}]]}],["$","div",null,{"className":"space-y-2","children":[["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins/maxim","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-code mr-1 h-4 w-4","aria-hidden":"true","children":[["$","path","eg8j8",{"d":"m16 18 6-6-6-6"}],["$","path","ppft3o",{"d":"m8 6-6 6 6 6"}],"$undefined"]}],"Source Code"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins/maxim/README.md","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info mr-1 h-4 w-4","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}],"Plugin Documentation"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}]]}]]}]]}],["$","div","mocker",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl py-6 shadow-sm group hover:border-primary/50 border-2 transition-all duration-300 hover:shadow-xl","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-start justify-between","children":[["$","div",null,{"className":"rounded-xl p-3 bg-green-500 bg-opacity-10","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-code h-8 w-8 text-green-500","aria-hidden":"true","children":[["$","path","eg8j8",{"d":"m16 18 6-6-6-6"}],["$","path","ppft3o",{"d":"m8 6-6 6 6 6"}],"$undefined"]}]}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90 text-xs","children":"Production"}]]}],["$","div",null,{"className":"space-y-2","children":[["$","div",null,{"data-slot":"card-title","className":"font-semibold group-hover:text-primary text-xl transition-colors","children":"Response Mocker"}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground w-fit text-xs","children":"Development"}]]}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-base leading-relaxed","children":"Mock AI responses for testing, development, and cost-effective prototyping"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-6","children":[["$","div",null,{"className":"space-y-6","children":[["$","div",null,{"className":"space-y-3","children":[["$","h4",null,{"className":"text-muted-foreground text-sm font-semibold tracking-wide uppercase","children":"Key Features"}],["$","div",null,{"className":"grid gap-2","children":[["$","div","Configurable mock responses",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Configurable mock responses"]}],["$","div","Request pattern matching",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Request pattern matching"]}],["$","div","Development environment support",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Development environment support"]}]]}]]}],["$","div",null,{"className":"mt-3 rounded-md border border-amber-200 bg-amber-50 p-3 dark:border-amber-800 dark:bg-amber-950/20","children":["$","div",null,{"className":"flex items-center gap-2 text-amber-700 dark:text-amber-300","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info h-3 w-3","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}],["$","span",null,{"className":"text-xs font-semibold","children":"HTTP transport support coming soon"}]]}]}]]}],["$","div",null,{"className":"space-y-2","children":[["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins/mocker","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-code mr-1 h-4 w-4","aria-hidden":"true","children":[["$","path","eg8j8",{"d":"m16 18 6-6-6-6"}],["$","path","ppft3o",{"d":"m8 6-6 6 6 6"}],"$undefined"]}],"Source Code"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins/mocker/README.md","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info mr-1 h-4 w-4","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}],"Plugin Documentation"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}]]}]]}]]}],["$","div","circuit-breaker",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl py-6 shadow-sm group hover:border-primary/50 border-2 transition-all duration-300 hover:shadow-xl","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-start justify-between","children":[["$","div",null,{"className":"rounded-xl p-3 bg-orange-500 bg-opacity-10","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-shield h-8 w-8 text-orange-500","aria-hidden":"true","children":[["$","path","oel41y",{"d":"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"}],"$undefined"]}]}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 text-xs","children":"Available"}]]}],["$","div",null,{"className":"space-y-2","children":[["$","div",null,{"data-slot":"card-title","className":"font-semibold group-hover:text-primary text-xl transition-colors","children":"Circuit Breaker"}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground w-fit text-xs","children":"Reliability"}]]}],["$","div",null,{"data-slot":"card-description","className":"text-muted-foreground text-base leading-relaxed","children":"Resilience patterns for handling provider failures and preventing cascade errors"}]]}],["$","div",null,{"data-slot":"card-content","className":"px-6 flex h-full flex-col justify-between gap-6","children":[["$","div",null,{"className":"space-y-6","children":[["$","div",null,{"className":"space-y-3","children":[["$","h4",null,{"className":"text-muted-foreground text-sm font-semibold tracking-wide uppercase","children":"Key Features"}],["$","div",null,{"className":"grid gap-2","children":[["$","div","Automatic failure detection",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Automatic failure detection"]}],["$","div","Fallback mechanisms",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Fallback mechanisms"]}],["$","div","Rate limiting",{"className":"flex items-center gap-2 text-sm","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-chevron-right text-primary h-3 w-3","aria-hidden":"true","children":[["$","path","mthhwq",{"d":"m9 18 6-6-6-6"}],"$undefined"]}],"Rate limiting"]}]]}]]}],["$","div",null,{"className":"mt-3 rounded-md border border-amber-200 bg-amber-50 p-3 dark:border-amber-800 dark:bg-amber-950/20","children":["$","div",null,{"className":"flex items-center gap-2 text-amber-700 dark:text-amber-300","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info h-3 w-3","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}],["$","span",null,{"className":"text-xs font-semibold","children":"HTTP transport support coming soon"}]]}]}]]}],["$","div",null,{"className":"space-y-2","children":[["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins/circuitbreaker","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-code mr-1 h-4 w-4","aria-hidden":"true","children":[["$","path","eg8j8",{"d":"m16 18 6-6-6-6"}],["$","path","ppft3o",{"d":"m8 6-6 6 6 6"}],"$undefined"]}],"Source Code"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins/circuitbreaker/README.md","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info mr-1 h-4 w-4","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}],"Plugin Documentation"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full cursor-pointer","ref":null}]]}]]}]]}]]}]]}],["$","section",null,{"className":"space-y-8","children":[["$","div",null,{"className":"text-center","children":[["$","h2",null,{"className":"mb-4 text-3xl font-bold","children":"Usage Patterns"}],["$","p",null,{"className":"text-muted-foreground text-lg","children":"Multiple ways to integrate plugins into your workflow"}]]}],["$","div",null,{"className":"grid gap-6 md:grid-cols-3","children":[["$","div",null,{"data-slot":"card","className":"text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm border-blue-200 bg-blue-50 dark:border-blue-800 dark:bg-blue-950/20","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":["$","div",null,{"className":"flex items-center gap-3","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-terminal h-8 w-8 text-blue-600","aria-hidden":"true","children":[["$","path","baeox8",{"d":"M12 19h8"}],["$","path","1yngyt",{"d":"m4 17 6-6-6-6"}],"$undefined"]}],["$","div",null,{"children":[["$","div",null,{"data-slot":"card-title","className":"leading-none font-semibold text-blue-800 dark:text-blue-200","children":"HTTP Transport"}],["$","div",null,{"data-slot":"card-description","className":"text-sm text-blue-700 dark:text-blue-300","children":"Maxim plugin only (for now)"}]]}]]}]}],["$","div",null,{"data-slot":"card-content","className":"px-6 space-y-3","children":[["$","div",null,{"className":"rounded-md bg-blue-100 p-3 dark:bg-blue-900","children":["$","code",null,{"className":"font-mono text-sm text-blue-800 dark:text-blue-200","children":"bifrost-http --plugins maxim"}]}],["$","p",null,{"className":"text-sm text-blue-700 dark:text-blue-300","children":"Additional plugins coming soon"}]]}]]}],["$","div",null,{"data-slot":"card","className":"text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm border-purple-200 bg-purple-50 dark:border-purple-800 dark:bg-purple-950/20","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":["$","div",null,{"className":"flex items-center gap-3","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-container h-8 w-8 text-purple-600","aria-hidden":"true","children":[["$","path","1t2lqe",{"d":"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z"}],["$","path","o7czzq",{"d":"M10 21.9V14L2.1 9.1"}],["$","path","zm5e20",{"d":"m10 14 11.9-6.9"}],["$","path","159ecu",{"d":"M14 19.8v-8.1"}],["$","path","11uown",{"d":"M18 17.5V9.4"}],"$undefined"]}],["$","div",null,{"children":[["$","div",null,{"data-slot":"card-title","className":"leading-none font-semibold text-purple-800 dark:text-purple-200","children":"Docker Deployment"}],["$","div",null,{"data-slot":"card-description","className":"text-sm text-purple-700 dark:text-purple-300","children":"Environment variables"}]]}]]}]}],["$","div",null,{"data-slot":"card-content","className":"px-6 space-y-3","children":[["$","div",null,{"className":"rounded-md bg-purple-100 p-3 dark:bg-purple-900","children":["$","code",null,{"className":"font-mono text-sm text-purple-800 dark:text-purple-200","children":"docker run -e APP_PLUGINS=maxim"}]}],["$","p",null,{"className":"text-sm text-purple-700 dark:text-purple-300","children":"Additional plugins coming soon"}]]}]]}],["$","div",null,{"data-slot":"card","className":"text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm border-green-200 bg-green-50 dark:border-green-800 dark:bg-green-950/20","children":[["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":["$","div",null,{"className":"flex items-center gap-3","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-code h-8 w-8 text-green-600","aria-hidden":"true","children":[["$","path","eg8j8",{"d":"m16 18 6-6-6-6"}],["$","path","ppft3o",{"d":"m8 6-6 6 6 6"}],"$undefined"]}],["$","div",null,{"children":[["$","div",null,{"data-slot":"card-title","className":"leading-none font-semibold text-green-800 dark:text-green-200","children":"Go SDK"}],["$","div",null,{"data-slot":"card-description","className":"text-sm text-green-700 dark:text-green-300","children":"Full plugin ecosystem"}]]}]]}]}],["$","div",null,{"data-slot":"card-content","className":"px-6 space-y-3","children":[["$","div",null,{"className":"rounded-md bg-green-100 p-3 dark:bg-green-900","children":["$","code",null,{"className":"font-mono text-sm text-green-800 dark:text-green-200","children":["Plugins: []schemas.Plugin","{...}"]}]}],["$","p",null,{"className":"text-sm text-green-700 dark:text-green-300","children":"All plugins available"}]]}]]}]]}]]}],["$","section",null,{"className":"space-y-8","children":[["$","div",null,{"className":"text-center","children":[["$","h2",null,{"className":"mb-4 text-3xl font-bold","children":"Coming Soon"}],["$","p",null,{"className":"text-muted-foreground text-lg","children":"Exciting plugins currently in development"}]]}],["$","div",null,{"className":"grid gap-6 md:grid-cols-3","children":[["$","div","Redis Cache",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl py-6 shadow-sm border-muted-foreground/30 border-2 border-dashed","children":["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":["$","div",null,{"className":"flex items-center gap-3","children":[["$","div",null,{"className":"bg-muted rounded-lg p-2","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-database text-muted-foreground h-6 w-6","aria-hidden":"true","children":[["$","ellipse","msslwz",{"cx":"12","cy":"5","rx":"9","ry":"3"}],["$","path","1wlel7",{"d":"M3 5V19A9 3 0 0 0 21 19V5"}],["$","path","mv7ke4",{"d":"M3 12A9 3 0 0 0 21 12"}],"$undefined"]}]}],["$","div",null,{"children":[["$","div",null,{"data-slot":"card-title","className":"font-semibold text-muted-foreground text-lg","children":"Redis Cache"}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 mt-1 text-xs","children":"Coming Soon"}]]}]]}]}],["$","div",null,{"data-slot":"card-description","className":"text-sm text-muted-foreground","children":"High-performance caching layer with Redis backend"}]]}]}],["$","div","Auth Guard",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl py-6 shadow-sm border-muted-foreground/30 border-2 border-dashed","children":["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":["$","div",null,{"className":"flex items-center gap-3","children":[["$","div",null,{"className":"bg-muted rounded-lg p-2","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-shield text-muted-foreground h-6 w-6","aria-hidden":"true","children":[["$","path","oel41y",{"d":"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"}],"$undefined"]}]}],["$","div",null,{"children":[["$","div",null,{"data-slot":"card-title","className":"font-semibold text-muted-foreground text-lg","children":"Auth Guard"}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 mt-1 text-xs","children":"Coming Soon"}]]}]]}]}],["$","div",null,{"data-slot":"card-description","className":"text-sm text-muted-foreground","children":"Enterprise authentication and authorization middleware"}]]}]}],["$","div","Rate Limiter",{"data-slot":"card","className":"bg-card text-card-foreground flex flex-col gap-6 rounded-xl py-6 shadow-sm border-muted-foreground/30 border-2 border-dashed","children":["$","div",null,{"data-slot":"card-header","className":"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6","children":[["$","div",null,{"className":"flex items-center justify-between","children":["$","div",null,{"className":"flex items-center gap-3","children":[["$","div",null,{"className":"bg-muted rounded-lg p-2","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-zap text-muted-foreground h-6 w-6","aria-hidden":"true","children":[["$","path","1xq2db",{"d":"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"}],"$undefined"]}]}],["$","div",null,{"children":[["$","div",null,{"data-slot":"card-title","className":"font-semibold text-muted-foreground text-lg","children":"Rate Limiter"}],["$","span",null,{"data-slot":"badge","className":"inline-flex items-center justify-center rounded-md border px-2 py-0.5 font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 mt-1 text-xs","children":"Coming Soon"}]]}]]}]}],["$","div",null,{"data-slot":"card-description","className":"text-sm text-muted-foreground","children":"Advanced rate limiting with multiple strategies"}]]}]}]]}]]}],["$","section",null,{"className":"from-primary/5 rounded-2xl bg-gradient-to-r to-green-600/5 p-8","children":["$","div",null,{"className":"space-y-6 text-center","children":[["$","h2",null,{"className":"text-3xl font-bold","children":"Join the Plugin Ecosystem"}],["$","p",null,{"className":"text-muted-foreground mx-auto max-w-2xl text-lg","children":"Contribute to the growing collection of Bifrost plugins or build your own custom solutions"}],["$","div",null,{"className":"flex flex-col justify-center gap-4 sm:flex-row","children":[["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/plugins","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-github mr-2 h-5 w-5","aria-hidden":"true","children":[["$","path","tonef",{"d":"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}],["$","path","9comsn",{"d":"M9 18c-4.51 2-5-2-7-2"}],"$undefined"]}],"Plugin Repository"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 h-10 rounded-md px-6 has-[>svg]:px-4 cursor-pointer","ref":null}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/contributing/plugin.md","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-rocket mr-2 h-5 w-5","aria-hidden":"true","children":[["$","path","m3kijz",{"d":"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"}],["$","path","1fmvmk",{"d":"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"}],["$","path","1f8sc4",{"d":"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"}],["$","path","qeys4",{"d":"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"}],"$undefined"]}],"Development Guide"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-10 rounded-md px-6 has-[>svg]:px-4 cursor-pointer","ref":null}],["$","$Lb",null,{"href":"https://github.com/maximhq/bifrost/tree/main/docs/architecture/plugins.md","target":"_blank","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-puzzle mr-2 h-5 w-5","aria-hidden":"true","children":[["$","path","w46dr5",{"d":"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z"}],"$undefined"]}],"Architecture Docs"],"data-slot":"button","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-10 rounded-md px-6 has-[>svg]:px-4 cursor-pointer","ref":null}]]}]]}]}]]}]}]]}],null,["$","$L10",null,{"children":["$L11","$L12",["$","$L13",null,{"promise":"$@14"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","8hAJlBYTUKfohD1aShFMtv",{"children":[["$","$L15",null,{"children":"$L16"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],["$","$L17",null,{"children":"$L18"}]]}],false]],"m":"$undefined","G":["$19","$undefined"],"s":false,"S":true} 1a:"$Sreact.suspense" 1b:I[4911,[],"AsyncMetadata"] 18:["$","div",null,{"hidden":true,"children":["$","$1a",null,{"fallback":null,"children":["$","$L1b",null,{"promise":"$@1c"}]}]}] 12:null 16:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 11:null -14:{"metadata":[["$","title","0",{"children":"Bifrost UI - AI Gateway Dashboard"}],["$","meta","1",{"name":"description","content":"Production-ready AI gateway that connects to 8+ providers through a single API. Get automatic failover, intelligent load balancing, and zero-downtime deployments."}]],"error":null,"digest":"$undefined"} +14:{"metadata":[["$","title","0",{"children":"Bifrost - The fastest LLM gateway"}],["$","meta","1",{"name":"description","content":"Production-ready fastest LLM gateway that connects to 8+ providers through a single API. Get automatic failover, load balancing, mcp support and zero-downtime deployments."}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}]],"error":null,"digest":"$undefined"} 1c:{"metadata":"$14:metadata","error":null,"digest":"$undefined"} diff --git a/transports/go.mod b/transports/go.mod index 68d090bba6..e437da7a92 100644 --- a/transports/go.mod +++ b/transports/go.mod @@ -14,8 +14,6 @@ require ( google.golang.org/genai v1.4.0 ) -replace github.com/maximhq/bifrost/core => ../core - require ( cloud.google.com/go v0.121.0 // indirect cloud.google.com/go/auth v0.16.0 // indirect diff --git a/ui/app/config/page.tsx b/ui/app/config/page.tsx index 33dc0998e9..210d46861f 100644 --- a/ui/app/config/page.tsx +++ b/ui/app/config/page.tsx @@ -2,11 +2,9 @@ import { useState, useEffect } from "react"; import Header from "@/components/header"; -import { CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; -import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; -import { Settings, Database, Zap, Save, RefreshCw } from "lucide-react"; +import { Settings, Database, Zap } from "lucide-react"; import { useToast } from "@/hooks/use-toast"; import { ProviderResponse } from "@/lib/types/config"; import { apiService } from "@/lib/api"; @@ -15,7 +13,6 @@ import ProvidersList from "@/components/config/providers-list"; import MCPClientsList from "@/components/config/mcp-clients-lists"; import { MCPClient } from "@/lib/types/mcp"; import FullPageLoader from "@/components/full-page-loader"; -import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"; export default function ConfigPage() { const [activeTab, setActiveTab] = useState("providers"); @@ -63,23 +60,6 @@ export default function ConfigPage() { setMcpClients(data || []); }; - const handleSaveConfig = async () => { - const [, error] = await apiService.saveConfig(); - - if (error) { - toast({ - title: "Error", - description: error, - variant: "destructive", - }); - } else { - toast({ - title: "Success", - description: "Configuration saved successfully", - }); - } - }; - return (
    @@ -88,23 +68,9 @@ export default function ConfigPage() { ) : (
    {/* Page Header */} -
    -
    -

    Configuration

    -

    Configure AI providers, API keys, and system settings for your Bifrost instance.

    -
    - - - - - - - Persist configuration for next server start. - - +
    +

    Configuration

    +

    Configure AI providers, API keys, and system settings for your Bifrost instance.

    {/* Configuration Tabs */} diff --git a/ui/app/docs/page.tsx b/ui/app/docs/page.tsx index c5ef9ecb53..7eb7203e06 100644 --- a/ui/app/docs/page.tsx +++ b/ui/app/docs/page.tsx @@ -57,7 +57,7 @@ export default function DocsPage() { return (
    -
    +
    {/* Header */}
    diff --git a/ui/app/favicon.ico b/ui/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..30e09b22d59d58c180ff35db382a98f621a4fff8 GIT binary patch literal 15406 zcmeHN|5FuJ6yK))0Q;d|(u%&BP2aR1n(`+ro2i+aG(iM`Kut~45DOy}8NZH1R+b^6 zMoxZ75lzidauQS&v_=adzwl*7lvEPo@c;$h>3$aPx^H*y?tRbqd_3dK+_`tpJ?DJR zy}Nt&?zu-%?o#en`t?&-9idFVM^Ro-6eS{}=X%h+in5mR1`oc`KTuIh?^BdPOopj2 zjUGO$EQta@>+%-Rq6GD!hU0MyEUIsdx3U_}`sVT2(<@BjPc$Zd#rOfRSVkS`9irXKc&=}Z>R-rU&-xmrX>p#)#A2z9%by+pF2Y+ z!6eH?!3QSRnFv;fv4ZtUM8Ow&Sh z(h)fXS);!G8dyf^!w>EJyIPv)pN2YNxqiLFc*}&>khQY~EF+ygbDUPLNEH^VZ?Dk? zzlN-xtuqYENL}n(nlk-W;dA@t=N}kVgx8SOKkxcBF!0^BqQ9$-QsjsMmb&=Hwzs!h zsd@1r!@t#fT(n^u7OsELB@#7uVLGXT3fHu_{71MHt^kcBFJz& zeGQwiEkg%Nwp-d5{mz5bbmgMZL{rlxf{Y%Qw_(#45{+Zmj$EM`^l?0WEi-RMqj-N~ zM?Y$^hrN%8(5J^m8#Z9eA1cWI+GGzl>+8*XAMlLWxP}dX3GeBQX|I^ba~-K-Yl^WSI)NgW zi>(RoKIet8DmzUxziMTgS07}d6G$p4F7U!gjDK3ax9UF_YwO2HBvP@PzAadE?e5~Q4eY?r!YN8)EWT^%1 zP*9uO#o`#QP(a@?n4-AA|Amh@2@BCGiLCU+N$!}(x>pYb|L6El%a*n_=l@Qp0mFtY z9^~xe4b|0us{29g^JL0lL0sI)XMI0x$Y609_$VU8C-|O8rY_#URb)z<4;wOAT*fZm z(&xYQv}=NW^RG<>J97!|=f8o)GnRibUAj2M+-}Z{xCI-&V8TZcb$55OSfX3H$eyo> z@W6)+UohdLh}zk=0E>j_Ci2=RS?3A(Vs?b+4% z{=zq+oAEIb?z+5%>c6v{J@iG7ilCi8<#@&1L^h3l#O9z28%{X*kB3jP)XHL9X{m2I z+68XrlJPA5ZO(si!h#NToqR`sTIyTUF?NoNdzBFTq@(?D3D3}l^VM8Ux<1czl9;ZO z|M0<|7|OM4?P?4xYUBfs82a22*#Z2_@==_82R34H@WmghtE;4`lZQIuqt>azN z5RiqAlmAmE4W(OIqdlH(D%!i=5eI8q&)Oh21UwIsEJwu2|DrwX+1eofUdf1x=awqAliBc241xD+K$HfvlbXzyfBV z2z!*xo0hS)`XM3i*fEb&iNya{$^HU@tjK?004orCEB*M94~Lv65ia;S*|XSMAwJJX zA7t!o0K+ODPw$Jr?PKLdG$!(4A%60-Vbpl}ywE)QAS3c0wt*2W>hA8MwX4&G_*k#Y z*}08~&}a8Ofo)&}lP{=?HDKi$FnjgdBrV^{v(c%wRECi|NFrogNG{qDy4A= z&ua5+^dEhYk%{31-(M>P59O`R(C&fWf6V=NYchJV?>*x|4(_avdh+%3{)1 zq2`^eI8504PLlVM@Jjw=A^0r0@(8-j}5$VqS~4YwlAxonj3XE`3_$ZCqeEv ca<^_Zh7)dM@AEf&W`Ly!^- -
    {children}
    +
    {children}
    diff --git a/ui/app/plugins/page.tsx b/ui/app/plugins/page.tsx index 7c1d7099c8..1166c1b7c5 100644 --- a/ui/app/plugins/page.tsx +++ b/ui/app/plugins/page.tsx @@ -104,7 +104,7 @@ export default function PluginsPage() { return (
    -
    +
    {/* Hero Section */}
    @@ -354,7 +354,7 @@ export default function PluginsPage() { {/* Community & Resources */} -
    +

    Join the Plugin Ecosystem

    diff --git a/ui/components/config/core-settings-list.tsx b/ui/components/config/core-settings-list.tsx index 00240ad561..d746aeabbe 100644 --- a/ui/components/config/core-settings-list.tsx +++ b/ui/components/config/core-settings-list.tsx @@ -17,19 +17,36 @@ export default function CoreSettingsList() { const [config, setConfig] = useState({ drop_excess_requests: false, initial_pool_size: 300, + log_queue_size: 1000, }); + const [droppedRequests, setDroppedRequests] = useState(0); const [isLoading, setIsLoading] = useState(true); const [localValues, setLocalValues] = useState<{ initial_pool_size: string; prometheus_labels: string; + log_queue_size: string; }>({ initial_pool_size: "300", prometheus_labels: "", + log_queue_size: "1000", }); + useEffect(() => { + const fetchDroppedRequests = async () => { + const [response, error] = await apiService.getDroppedRequests(); + if (error) { + toast.error(error); + } else if (response) { + setDroppedRequests(response.dropped_requests); + } + }; + fetchDroppedRequests(); + }, []); + // Use refs to store timeout IDs const poolSizeTimeoutRef = useRef(undefined); const prometheusLabelsTimeoutRef = useRef(undefined); + const logQueueSizeTimeoutRef = useRef(undefined); useEffect(() => { const fetchConfig = async () => { @@ -41,6 +58,7 @@ export default function CoreSettingsList() { setLocalValues({ initial_pool_size: coreConfig.initial_pool_size?.toString() || "300", prometheus_labels: coreConfig.prometheus_labels || "", + log_queue_size: coreConfig.log_queue_size?.toString() || "1000", }); } setIsLoading(false); @@ -78,7 +96,7 @@ export default function CoreSettingsList() { // Set new timeout poolSizeTimeoutRef.current = setTimeout(() => { - const numValue = parseInt(value); + const numValue = Number.parseInt(value); if (!isNaN(numValue) && numValue > 0) { updateConfig("initial_pool_size", numValue); } @@ -104,6 +122,26 @@ export default function CoreSettingsList() { [updateConfig], ); + const handleLogQueueSizeChange = useCallback( + (value: string) => { + setLocalValues((prev) => ({ ...prev, log_queue_size: value })); + + // Clear existing timeout + if (logQueueSizeTimeoutRef.current) { + clearTimeout(logQueueSizeTimeoutRef.current); + } + + // Set new timeout + logQueueSizeTimeoutRef.current = setTimeout(() => { + const numValue = Number.parseInt(value); + if (!isNaN(numValue) && numValue > 0) { + updateConfig("log_queue_size", numValue); + } + }, 1000); + }, + [updateConfig], + ); + // Cleanup timeouts on unmount useEffect(() => { return () => { @@ -113,6 +151,9 @@ export default function CoreSettingsList() { if (prometheusLabelsTimeoutRef.current) { clearTimeout(prometheusLabelsTimeoutRef.current); } + if (logQueueSizeTimeoutRef.current) { + clearTimeout(logQueueSizeTimeoutRef.current); + } }; }, []); @@ -134,10 +175,13 @@ export default function CoreSettingsList() { {/* Drop Excess Requests */}

    - +

    If enabled, Bifrost will drop requests that exceed pool capacity.

    handleConfigChange("drop_excess_requests", checked)} /> @@ -148,17 +192,20 @@ export default function CoreSettingsList() { - The settings below won't affect current connections. You will need to save the configuration for changes to take effect on the - next restart. + The settings below require a Bifrost service restart to take effect. Current connections will continue with existing settings + until restart.
    - +

    The initial connection pool size.

    +
    +
    + +

    + Additional logs will be dropped if the queue is full. Bifrost has dropped{" "} + {droppedRequests} logs so far. +

    +
    + handleLogQueueSizeChange(e.target.value)} + min="1" + /> +
    +
    - +

    Comma-separated list of custom labels to add to the Prometheus metrics.