forgebadger 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/dist/commands/uninstall.d.ts +24 -0
- package/dist/commands/uninstall.js +123 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/gateway/src/adapters/index.js +24 -1
- package/dist/gateway/src/adapters/index.js.map +1 -1
- package/dist/gateway/src/config/env.d.ts +19 -5
- package/dist/gateway/src/config/env.js +27 -8
- package/dist/gateway/src/config/env.js.map +1 -1
- package/dist/gateway/src/config-generation/writer.d.ts +2 -0
- package/dist/gateway/src/config-generation/writer.js +29 -3
- package/dist/gateway/src/config-generation/writer.js.map +1 -1
- package/dist/gateway/src/db/migrations/0097_telegram_channel_accounts.sql +7 -0
- package/dist/gateway/src/db/migrations/0098_skill_remote_provenance.sql +1 -0
- package/dist/gateway/src/db/migrations/0099_runtime_settings.sql +1 -0
- package/dist/gateway/src/db/migrations/0100_runtime_confirmation_revocation.sql +27 -0
- package/dist/gateway/src/db/migrations/0101_provider_private_networks.sql +7 -0
- package/dist/gateway/src/db/migrations/0102_copilot_preferences.sql +4 -0
- package/dist/gateway/src/db/migrations/0103_model_thinking_efforts.sql +8 -0
- package/dist/gateway/src/db/migrations/0104_copilot_project_autonomy.sql +1 -0
- package/dist/gateway/src/db/migrations/0105_remove_copilot_grants.sql +91 -0
- package/dist/gateway/src/db/migrations/0106_mcp_cli_dispatch_scope.sql +3 -0
- package/dist/gateway/src/db/migrations/0107_cli_skill_revisions.sql +12 -0
- package/dist/gateway/src/db/migrations/0108_copilot_run_governance.sql +43 -0
- package/dist/gateway/src/db/migrations/0109_copilot_research_jobs.sql +19 -0
- package/dist/gateway/src/db/migrations/0110_copilot_tool_artifacts.sql +19 -0
- package/dist/gateway/src/db/migrations/0111_copilot_model_metering.sql +13 -0
- package/dist/gateway/src/db/migrations/0112_copilot_repair_jobs.sql +27 -0
- package/dist/gateway/src/db/migrations/0113_copilot_memory_search_index.sql +19 -0
- package/dist/gateway/src/db/migrations/0114_channel_reliability.sql +32 -0
- package/dist/gateway/src/db/migrations/0115_feishu_typing_reactions.sql +12 -0
- package/dist/gateway/src/db/migrations/0116_channel_control_commands.sql +6 -0
- package/dist/gateway/src/db/migrations/0117_channel_session_model.sql +2 -0
- package/dist/gateway/src/db/migrations/0118_mcp_project_grants.sql +2 -0
- package/dist/gateway/src/db/migrations/0119_feishu_notifications.sql +23 -0
- package/dist/gateway/src/db/migrations/0120_feishu_notification_targets.sql +25 -0
- package/dist/gateway/src/db/migrations/0121_session_notification_prompts.sql +10 -0
- package/dist/gateway/src/db/migrations/0122_mcode_adapter.sql +97 -0
- package/dist/gateway/src/db/migrations/0123_mcode_supported_adapters_backfill.sql +16 -0
- package/dist/gateway/src/db/migrations/0124_user_adapter_order.sql +4 -0
- package/dist/gateway/src/db/migrations/0125_copilot_approval_clock.sql +15 -0
- package/dist/gateway/src/db/migrations/0126_development_execution_identity.sql +3 -0
- package/dist/gateway/src/db/migrations/0127_cli_observation_summaries.sql +17 -0
- package/dist/gateway/src/db/migrations/0128_feishu_builtin_summaries.sql +11 -0
- package/dist/gateway/src/db/migrations/meta/_journal.json +224 -0
- package/dist/gateway/src/db/migrations/meta/migration-checksums.json +33 -1
- package/dist/gateway/src/db/repositories/adapter-order-repository.d.ts +18 -0
- package/dist/gateway/src/db/repositories/adapter-order-repository.js +61 -0
- package/dist/gateway/src/db/repositories/adapter-order-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/catalog-repository.d.ts +4 -1
- package/dist/gateway/src/db/repositories/catalog-repository.js +16 -2
- package/dist/gateway/src/db/repositories/catalog-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/channel-command-repository.d.ts +14 -0
- package/dist/gateway/src/db/repositories/channel-command-repository.js +34 -0
- package/dist/gateway/src/db/repositories/channel-command-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/channel-delivery-repository.d.ts +11 -0
- package/dist/gateway/src/db/repositories/channel-delivery-repository.js +25 -5
- package/dist/gateway/src/db/repositories/channel-delivery-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/channel-identity-repository.d.ts +29 -5
- package/dist/gateway/src/db/repositories/channel-identity-repository.js +46 -8
- package/dist/gateway/src/db/repositories/channel-identity-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/channel-message-repository.d.ts +11 -1
- package/dist/gateway/src/db/repositories/channel-message-repository.js +21 -6
- package/dist/gateway/src/db/repositories/channel-message-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/cli-observation-repository.d.ts +20 -0
- package/dist/gateway/src/db/repositories/cli-observation-repository.js +91 -0
- package/dist/gateway/src/db/repositories/cli-observation-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/cli-skill-revision-repository.d.ts +11 -0
- package/dist/gateway/src/db/repositories/cli-skill-revision-repository.js +57 -0
- package/dist/gateway/src/db/repositories/cli-skill-revision-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/copilot-model-response-repository.d.ts +20 -0
- package/dist/gateway/src/db/repositories/copilot-model-response-repository.js +151 -0
- package/dist/gateway/src/db/repositories/copilot-model-response-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/copilot-preferences-repository.d.ts +43 -0
- package/dist/gateway/src/db/repositories/copilot-preferences-repository.js +74 -0
- package/dist/gateway/src/db/repositories/copilot-preferences-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/copilot-skill-revision-repository.d.ts +1 -0
- package/dist/gateway/src/db/repositories/copilot-skill-revision-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.d.ts +30 -0
- package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.js +103 -0
- package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/development-task-repository.d.ts +5 -1
- package/dist/gateway/src/db/repositories/development-task-repository.js +25 -0
- package/dist/gateway/src/db/repositories/development-task-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/feishu-channel-repository.js +4 -0
- package/dist/gateway/src/db/repositories/feishu-channel-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/feishu-notification-repository.d.ts +54 -0
- package/dist/gateway/src/db/repositories/feishu-notification-repository.js +72 -0
- package/dist/gateway/src/db/repositories/feishu-notification-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/feishu-notification-target-repository.d.ts +28 -0
- package/dist/gateway/src/db/repositories/feishu-notification-target-repository.js +51 -0
- package/dist/gateway/src/db/repositories/feishu-notification-target-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/feishu-typing-repository.d.ts +26 -0
- package/dist/gateway/src/db/repositories/feishu-typing-repository.js +77 -0
- package/dist/gateway/src/db/repositories/feishu-typing-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/mcp-token-repository.d.ts +14 -1
- package/dist/gateway/src/db/repositories/mcp-token-repository.js +19 -4
- package/dist/gateway/src/db/repositories/mcp-token-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/model-provider-repository.d.ts +10 -1
- package/dist/gateway/src/db/repositories/model-provider-repository.js +22 -12
- package/dist/gateway/src/db/repositories/model-provider-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/notification-repository.d.ts +4 -0
- package/dist/gateway/src/db/repositories/notification-repository.js +24 -2
- package/dist/gateway/src/db/repositories/notification-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/platform-action-repository.d.ts +30 -4
- package/dist/gateway/src/db/repositories/platform-action-repository.js +41 -5
- package/dist/gateway/src/db/repositories/platform-action-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/project-manager-repository.d.ts +3 -0
- package/dist/gateway/src/db/repositories/project-manager-repository.js +16 -0
- package/dist/gateway/src/db/repositories/project-manager-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/project-repository.d.ts +3 -0
- package/dist/gateway/src/db/repositories/project-repository.js +16 -0
- package/dist/gateway/src/db/repositories/project-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/session-notification-prompt-repository.d.ts +17 -0
- package/dist/gateway/src/db/repositories/session-notification-prompt-repository.js +47 -0
- package/dist/gateway/src/db/repositories/session-notification-prompt-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/session-repository.js +16 -4
- package/dist/gateway/src/db/repositories/session-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.d.ts +11 -1
- package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.js +14 -1
- package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/session-writer-lease-repository.d.ts +8 -1
- package/dist/gateway/src/db/repositories/session-writer-lease-repository.js +13 -3
- package/dist/gateway/src/db/repositories/session-writer-lease-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/skill-repository.d.ts +3 -0
- package/dist/gateway/src/db/repositories/skill-repository.js +3 -0
- package/dist/gateway/src/db/repositories/skill-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.d.ts +22 -0
- package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.js +58 -0
- package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/task-report-repository.d.ts +19 -0
- package/dist/gateway/src/db/repositories/task-report-repository.js +35 -0
- package/dist/gateway/src/db/repositories/task-report-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/telegram-channel-repository.d.ts +36 -0
- package/dist/gateway/src/db/repositories/telegram-channel-repository.js +93 -0
- package/dist/gateway/src/db/repositories/telegram-channel-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/telegram-cursor-repository.d.ts +11 -0
- package/dist/gateway/src/db/repositories/telegram-cursor-repository.js +31 -0
- package/dist/gateway/src/db/repositories/telegram-cursor-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/telegram-integration-repository.d.ts +19 -0
- package/dist/gateway/src/db/repositories/telegram-integration-repository.js +84 -0
- package/dist/gateway/src/db/repositories/telegram-integration-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/template-repository.d.ts +15 -0
- package/dist/gateway/src/db/repositories/template-repository.js +22 -0
- package/dist/gateway/src/db/repositories/template-repository.js.map +1 -1
- package/dist/gateway/src/db/schema.d.ts +11355 -8305
- package/dist/gateway/src/db/schema.js +226 -29
- package/dist/gateway/src/db/schema.js.map +1 -1
- package/dist/gateway/src/lib/adapter-ids.d.ts +15 -0
- package/dist/gateway/src/lib/adapter-ids.js +24 -0
- package/dist/gateway/src/lib/adapter-ids.js.map +1 -0
- package/dist/gateway/src/lib/dependency-check.d.ts +5 -1
- package/dist/gateway/src/lib/dependency-check.js +65 -6
- package/dist/gateway/src/lib/dependency-check.js.map +1 -1
- package/dist/gateway/src/lib/redaction.js +8 -2
- package/dist/gateway/src/lib/redaction.js.map +1 -1
- package/dist/gateway/src/routes/adapters.d.ts +2 -1
- package/dist/gateway/src/routes/adapters.js +122 -2
- package/dist/gateway/src/routes/adapters.js.map +1 -1
- package/dist/gateway/src/routes/auth.d.ts +5 -1
- package/dist/gateway/src/routes/auth.js +10 -5
- package/dist/gateway/src/routes/auth.js.map +1 -1
- package/dist/gateway/src/routes/catalog.d.ts +2 -1
- package/dist/gateway/src/routes/catalog.js +41 -24
- package/dist/gateway/src/routes/catalog.js.map +1 -1
- package/dist/gateway/src/routes/channel-diagnostics.d.ts +7 -0
- package/dist/gateway/src/routes/channel-diagnostics.js +21 -0
- package/dist/gateway/src/routes/channel-diagnostics.js.map +1 -0
- package/dist/gateway/src/routes/cli-accounts.d.ts +13 -0
- package/dist/gateway/src/routes/cli-accounts.js +89 -0
- package/dist/gateway/src/routes/cli-accounts.js.map +1 -0
- package/dist/gateway/src/routes/cli-config.js +7 -4
- package/dist/gateway/src/routes/cli-config.js.map +1 -1
- package/dist/gateway/src/routes/copilot-channels.js +1 -1
- package/dist/gateway/src/routes/copilot-channels.js.map +1 -1
- package/dist/gateway/src/routes/copilot-development.js +18 -0
- package/dist/gateway/src/routes/copilot-development.js.map +1 -1
- package/dist/gateway/src/routes/copilot-metering.d.ts +4 -0
- package/dist/gateway/src/routes/copilot-metering.js +46 -0
- package/dist/gateway/src/routes/copilot-metering.js.map +1 -0
- package/dist/gateway/src/routes/copilot-skills.js +13 -0
- package/dist/gateway/src/routes/copilot-skills.js.map +1 -1
- package/dist/gateway/src/routes/copilot.js +97 -25
- package/dist/gateway/src/routes/copilot.js.map +1 -1
- package/dist/gateway/src/routes/feishu-notifications.d.ts +9 -0
- package/dist/gateway/src/routes/feishu-notifications.js +63 -0
- package/dist/gateway/src/routes/feishu-notifications.js.map +1 -0
- package/dist/gateway/src/routes/index.js +13 -1
- package/dist/gateway/src/routes/index.js.map +1 -1
- package/dist/gateway/src/routes/integrations-telegram.d.ts +11 -0
- package/dist/gateway/src/routes/integrations-telegram.js +117 -0
- package/dist/gateway/src/routes/integrations-telegram.js.map +1 -0
- package/dist/gateway/src/routes/mcp-tokens.js +36 -5
- package/dist/gateway/src/routes/mcp-tokens.js.map +1 -1
- package/dist/gateway/src/routes/mcp.d.ts +2 -1
- package/dist/gateway/src/routes/mcp.js +4 -2
- package/dist/gateway/src/routes/mcp.js.map +1 -1
- package/dist/gateway/src/routes/model-providers.js +47 -7
- package/dist/gateway/src/routes/model-providers.js.map +1 -1
- package/dist/gateway/src/routes/notifications.d.ts +1 -1
- package/dist/gateway/src/routes/notifications.js +3 -1
- package/dist/gateway/src/routes/notifications.js.map +1 -1
- package/dist/gateway/src/routes/platform-actions.js +2 -28
- package/dist/gateway/src/routes/platform-actions.js.map +1 -1
- package/dist/gateway/src/routes/project-management.js +22 -9
- package/dist/gateway/src/routes/project-management.js.map +1 -1
- package/dist/gateway/src/routes/project-manager.js +2 -1
- package/dist/gateway/src/routes/project-manager.js.map +1 -1
- package/dist/gateway/src/routes/projects.js +3 -2
- package/dist/gateway/src/routes/projects.js.map +1 -1
- package/dist/gateway/src/routes/runtime-settings.d.ts +4 -0
- package/dist/gateway/src/routes/runtime-settings.js +51 -0
- package/dist/gateway/src/routes/runtime-settings.js.map +1 -0
- package/dist/gateway/src/routes/session-hooks.d.ts +2 -1
- package/dist/gateway/src/routes/session-hooks.js +81 -15
- package/dist/gateway/src/routes/session-hooks.js.map +1 -1
- package/dist/gateway/src/routes/sessions.js +129 -36
- package/dist/gateway/src/routes/sessions.js.map +1 -1
- package/dist/gateway/src/routes/skill-registry.d.ts +4 -0
- package/dist/gateway/src/routes/skill-registry.js +77 -0
- package/dist/gateway/src/routes/skill-registry.js.map +1 -0
- package/dist/gateway/src/routes/skills.d.ts +2 -1
- package/dist/gateway/src/routes/skills.js +112 -49
- package/dist/gateway/src/routes/skills.js.map +1 -1
- package/dist/gateway/src/routes/templates.js +3 -2
- package/dist/gateway/src/routes/templates.js.map +1 -1
- package/dist/gateway/src/runtime/start-gateway.js +25 -1
- package/dist/gateway/src/runtime/start-gateway.js.map +1 -1
- package/dist/gateway/src/server.d.ts +18 -2
- package/dist/gateway/src/server.js +47 -8
- package/dist/gateway/src/server.js.map +1 -1
- package/dist/gateway/src/services/adapter-discovery.d.ts +2 -1
- package/dist/gateway/src/services/adapter-discovery.js +16 -2
- package/dist/gateway/src/services/adapter-discovery.js.map +1 -1
- package/dist/gateway/src/services/adapter-updates.d.ts +44 -0
- package/dist/gateway/src/services/adapter-updates.js +344 -0
- package/dist/gateway/src/services/adapter-updates.js.map +1 -0
- package/dist/gateway/src/services/agent/agent-stack.js +2 -0
- package/dist/gateway/src/services/agent/agent-stack.js.map +1 -1
- package/dist/gateway/src/services/agent/approval-clock.d.ts +9 -0
- package/dist/gateway/src/services/agent/approval-clock.js +36 -0
- package/dist/gateway/src/services/agent/approval-clock.js.map +1 -0
- package/dist/gateway/src/services/agent/catalog-search.d.ts +4 -0
- package/dist/gateway/src/services/agent/catalog-search.js +29 -0
- package/dist/gateway/src/services/agent/catalog-search.js.map +1 -0
- package/dist/gateway/src/services/agent/context-recovery.d.ts +15 -0
- package/dist/gateway/src/services/agent/context-recovery.js +34 -0
- package/dist/gateway/src/services/agent/context-recovery.js.map +1 -0
- package/dist/gateway/src/services/agent/context.d.ts +9 -3
- package/dist/gateway/src/services/agent/context.js +129 -42
- package/dist/gateway/src/services/agent/context.js.map +1 -1
- package/dist/gateway/src/services/agent/conversation-log.js +16 -3
- package/dist/gateway/src/services/agent/conversation-log.js.map +1 -1
- package/dist/gateway/src/services/agent/development-repair.d.ts +15 -0
- package/dist/gateway/src/services/agent/development-repair.js +115 -0
- package/dist/gateway/src/services/agent/development-repair.js.map +1 -0
- package/dist/gateway/src/services/agent/dispatch-supervisor.d.ts +3 -16
- package/dist/gateway/src/services/agent/dispatch-supervisor.js +31 -51
- package/dist/gateway/src/services/agent/dispatch-supervisor.js.map +1 -1
- package/dist/gateway/src/services/agent/followups.d.ts +22 -0
- package/dist/gateway/src/services/agent/followups.js +80 -0
- package/dist/gateway/src/services/agent/followups.js.map +1 -0
- package/dist/gateway/src/services/agent/llm-anthropic.js +17 -8
- package/dist/gateway/src/services/agent/llm-anthropic.js.map +1 -1
- package/dist/gateway/src/services/agent/llm-client.d.ts +25 -0
- package/dist/gateway/src/services/agent/llm-client.js +195 -63
- package/dist/gateway/src/services/agent/llm-client.js.map +1 -1
- package/dist/gateway/src/services/agent/llm-connection-error.d.ts +22 -0
- package/dist/gateway/src/services/agent/llm-connection-error.js +64 -0
- package/dist/gateway/src/services/agent/llm-connection-error.js.map +1 -0
- package/dist/gateway/src/services/agent/llm-openai.d.ts +4 -0
- package/dist/gateway/src/services/agent/llm-openai.js +69 -9
- package/dist/gateway/src/services/agent/llm-openai.js.map +1 -1
- package/dist/gateway/src/services/agent/llm-public-fetch.d.ts +10 -1
- package/dist/gateway/src/services/agent/llm-public-fetch.js +182 -51
- package/dist/gateway/src/services/agent/llm-public-fetch.js.map +1 -1
- package/dist/gateway/src/services/agent/llm-replay.d.ts +30 -0
- package/dist/gateway/src/services/agent/llm-replay.js +21 -0
- package/dist/gateway/src/services/agent/llm-replay.js.map +1 -0
- package/dist/gateway/src/services/agent/llm-response.d.ts +6 -0
- package/dist/gateway/src/services/agent/llm-response.js +40 -3
- package/dist/gateway/src/services/agent/llm-response.js.map +1 -1
- package/dist/gateway/src/services/agent/memory-search-index.d.ts +30 -0
- package/dist/gateway/src/services/agent/memory-search-index.js +63 -0
- package/dist/gateway/src/services/agent/memory-search-index.js.map +1 -0
- package/dist/gateway/src/services/agent/memory.d.ts +1 -0
- package/dist/gateway/src/services/agent/memory.js +43 -57
- package/dist/gateway/src/services/agent/memory.js.map +1 -1
- package/dist/gateway/src/services/agent/model-metering.d.ts +32 -0
- package/dist/gateway/src/services/agent/model-metering.js +62 -0
- package/dist/gateway/src/services/agent/model-metering.js.map +1 -0
- package/dist/gateway/src/services/agent/model-transport.d.ts +2 -0
- package/dist/gateway/src/services/agent/model-transport.js +22 -0
- package/dist/gateway/src/services/agent/model-transport.js.map +1 -0
- package/dist/gateway/src/services/agent/no-progress.d.ts +4 -0
- package/dist/gateway/src/services/agent/no-progress.js +57 -0
- package/dist/gateway/src/services/agent/no-progress.js.map +1 -0
- package/dist/gateway/src/services/agent/notification-context.d.ts +5 -0
- package/dist/gateway/src/services/agent/notification-context.js +72 -0
- package/dist/gateway/src/services/agent/notification-context.js.map +1 -0
- package/dist/gateway/src/services/agent/orchestrator-types.d.ts +12 -3
- package/dist/gateway/src/services/agent/orchestrator.d.ts +9 -0
- package/dist/gateway/src/services/agent/orchestrator.js +305 -64
- package/dist/gateway/src/services/agent/orchestrator.js.map +1 -1
- package/dist/gateway/src/services/agent/platform-access.d.ts +5 -1
- package/dist/gateway/src/services/agent/platform-access.js +7 -4
- package/dist/gateway/src/services/agent/platform-access.js.map +1 -1
- package/dist/gateway/src/services/agent/provider-error.d.ts +17 -0
- package/dist/gateway/src/services/agent/provider-error.js +66 -0
- package/dist/gateway/src/services/agent/provider-error.js.map +1 -0
- package/dist/gateway/src/services/agent/provisional-text.d.ts +13 -0
- package/dist/gateway/src/services/agent/provisional-text.js +46 -0
- package/dist/gateway/src/services/agent/provisional-text.js.map +1 -0
- package/dist/gateway/src/services/agent/public-text-stream.d.ts +12 -0
- package/dist/gateway/src/services/agent/public-text-stream.js +36 -0
- package/dist/gateway/src/services/agent/public-text-stream.js.map +1 -0
- package/dist/gateway/src/services/agent/reactive-loop.js +44 -5
- package/dist/gateway/src/services/agent/reactive-loop.js.map +1 -1
- package/dist/gateway/src/services/agent/read-batch.d.ts +3 -0
- package/dist/gateway/src/services/agent/read-batch.js +19 -0
- package/dist/gateway/src/services/agent/read-batch.js.map +1 -0
- package/dist/gateway/src/services/agent/recall-query.d.ts +6 -0
- package/dist/gateway/src/services/agent/recall-query.js +29 -0
- package/dist/gateway/src/services/agent/recall-query.js.map +1 -0
- package/dist/gateway/src/services/agent/redaction.d.ts +10 -0
- package/dist/gateway/src/services/agent/redaction.js +75 -6
- package/dist/gateway/src/services/agent/redaction.js.map +1 -1
- package/dist/gateway/src/services/agent/restricted-runs.d.ts +5 -0
- package/dist/gateway/src/services/agent/restricted-runs.js +22 -0
- package/dist/gateway/src/services/agent/restricted-runs.js.map +1 -0
- package/dist/gateway/src/services/agent/run-governance.d.ts +44 -0
- package/dist/gateway/src/services/agent/run-governance.js +92 -0
- package/dist/gateway/src/services/agent/run-governance.js.map +1 -0
- package/dist/gateway/src/services/agent/run-ledger.d.ts +21 -4
- package/dist/gateway/src/services/agent/run-ledger.js +113 -46
- package/dist/gateway/src/services/agent/run-ledger.js.map +1 -1
- package/dist/gateway/src/services/agent/runtime.js +53 -7
- package/dist/gateway/src/services/agent/runtime.js.map +1 -1
- package/dist/gateway/src/services/agent/security-policy.js +25 -1
- package/dist/gateway/src/services/agent/security-policy.js.map +1 -1
- package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.d.ts +2 -0
- package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.js +41 -0
- package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.js.map +1 -0
- package/dist/gateway/src/services/agent/skills/copilot-skill-service.d.ts +7 -1
- package/dist/gateway/src/services/agent/skills/copilot-skill-service.js +37 -20
- package/dist/gateway/src/services/agent/skills/copilot-skill-service.js.map +1 -1
- package/dist/gateway/src/services/agent/skills/copilot-skills.js +17 -17
- package/dist/gateway/src/services/agent/skills/copilot-skills.js.map +1 -1
- package/dist/gateway/src/services/agent/task-reports.d.ts +3 -0
- package/dist/gateway/src/services/agent/task-reports.js +78 -0
- package/dist/gateway/src/services/agent/task-reports.js.map +1 -0
- package/dist/gateway/src/services/agent/task-review.d.ts +12 -0
- package/dist/gateway/src/services/agent/task-review.js +67 -0
- package/dist/gateway/src/services/agent/task-review.js.map +1 -0
- package/dist/gateway/src/services/agent/tool-artifact-policy.d.ts +7 -0
- package/dist/gateway/src/services/agent/tool-artifact-policy.js +9 -0
- package/dist/gateway/src/services/agent/tool-artifact-policy.js.map +1 -0
- package/dist/gateway/src/services/agent/tool-availability.d.ts +0 -1
- package/dist/gateway/src/services/agent/tool-availability.js +3 -6
- package/dist/gateway/src/services/agent/tool-availability.js.map +1 -1
- package/dist/gateway/src/services/agent/tool-discovery.d.ts +1 -1
- package/dist/gateway/src/services/agent/tool-discovery.js +5 -10
- package/dist/gateway/src/services/agent/tool-discovery.js.map +1 -1
- package/dist/gateway/src/services/agent/tool-registry.d.ts +1 -0
- package/dist/gateway/src/services/agent/tool-registry.js +26 -10
- package/dist/gateway/src/services/agent/tool-registry.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/development.js +2 -2
- package/dist/gateway/src/services/agent/tools/development.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/discovery.js +1 -1
- package/dist/gateway/src/services/agent/tools/discovery.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/index.js +8 -0
- package/dist/gateway/src/services/agent/tools/index.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/memory.js +3 -3
- package/dist/gateway/src/services/agent/tools/memory.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/platform-management.js +3 -4
- package/dist/gateway/src/services/agent/tools/platform-management.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/project-diff.d.ts +2 -0
- package/dist/gateway/src/services/agent/tools/project-diff.js +17 -0
- package/dist/gateway/src/services/agent/tools/project-diff.js.map +1 -0
- package/dist/gateway/src/services/agent/tools/project-manager.js +40 -1
- package/dist/gateway/src/services/agent/tools/project-manager.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/projects.d.ts +2 -0
- package/dist/gateway/src/services/agent/tools/projects.js +44 -3
- package/dist/gateway/src/services/agent/tools/projects.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/research.d.ts +2 -0
- package/dist/gateway/src/services/agent/tools/research.js +15 -0
- package/dist/gateway/src/services/agent/tools/research.js.map +1 -0
- package/dist/gateway/src/services/agent/tools/sessions.js +38 -10
- package/dist/gateway/src/services/agent/tools/sessions.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/skills.js +2 -2
- package/dist/gateway/src/services/agent/tools/skills.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/source-search.d.ts +2 -0
- package/dist/gateway/src/services/agent/tools/source-search.js +44 -0
- package/dist/gateway/src/services/agent/tools/source-search.js.map +1 -0
- package/dist/gateway/src/services/agent/tools/terminal.d.ts +2 -0
- package/dist/gateway/src/services/agent/tools/terminal.js +83 -0
- package/dist/gateway/src/services/agent/tools/terminal.js.map +1 -0
- package/dist/gateway/src/services/agent/tools/tool-results.js +24 -11
- package/dist/gateway/src/services/agent/tools/tool-results.js.map +1 -1
- package/dist/gateway/src/services/agent/types.d.ts +5 -0
- package/dist/gateway/src/services/agent/types.js.map +1 -1
- package/dist/gateway/src/services/automation/delivery.js +2 -2
- package/dist/gateway/src/services/automation/delivery.js.map +1 -1
- package/dist/gateway/src/services/builtin-skills.d.ts +1 -1
- package/dist/gateway/src/services/builtin-skills.js +1 -7
- package/dist/gateway/src/services/builtin-skills.js.map +1 -1
- package/dist/gateway/src/services/catalog-sync.js +1 -1
- package/dist/gateway/src/services/catalog-sync.js.map +1 -1
- package/dist/gateway/src/services/channels/channel-commands.d.ts +19 -0
- package/dist/gateway/src/services/channels/channel-commands.js +106 -0
- package/dist/gateway/src/services/channels/channel-commands.js.map +1 -0
- package/dist/gateway/src/services/channels/channel-diagnostics.d.ts +17 -0
- package/dist/gateway/src/services/channels/channel-diagnostics.js +204 -0
- package/dist/gateway/src/services/channels/channel-diagnostics.js.map +1 -0
- package/dist/gateway/src/services/channels/channel-identity-service.d.ts +81 -21
- package/dist/gateway/src/services/channels/channel-identity-service.js +84 -32
- package/dist/gateway/src/services/channels/channel-identity-service.js.map +1 -1
- package/dist/gateway/src/services/channels/channel-model-command.d.ts +13 -0
- package/dist/gateway/src/services/channels/channel-model-command.js +108 -0
- package/dist/gateway/src/services/channels/channel-model-command.js.map +1 -0
- package/dist/gateway/src/services/channels/channel-run-authority.d.ts +3 -0
- package/dist/gateway/src/services/channels/channel-run-authority.js +26 -7
- package/dist/gateway/src/services/channels/channel-run-authority.js.map +1 -1
- package/dist/gateway/src/services/channels/channel-run-scope.d.ts +64 -0
- package/dist/gateway/src/services/channels/channel-run-scope.js +208 -0
- package/dist/gateway/src/services/channels/channel-run-scope.js.map +1 -0
- package/dist/gateway/src/services/channels/feishu-approval.d.ts +28 -0
- package/dist/gateway/src/services/channels/feishu-approval.js +152 -0
- package/dist/gateway/src/services/channels/feishu-approval.js.map +1 -0
- package/dist/gateway/src/services/channels/feishu-typing-worker.d.ts +16 -0
- package/dist/gateway/src/services/channels/feishu-typing-worker.js +100 -0
- package/dist/gateway/src/services/channels/feishu-typing-worker.js.map +1 -0
- package/dist/gateway/src/services/channels/native-channel-delivery.d.ts +6 -1
- package/dist/gateway/src/services/channels/native-channel-delivery.js +58 -7
- package/dist/gateway/src/services/channels/native-channel-delivery.js.map +1 -1
- package/dist/gateway/src/services/channels/native-channel-inbox.d.ts +35 -0
- package/dist/gateway/src/services/channels/native-channel-inbox.js +123 -15
- package/dist/gateway/src/services/channels/native-channel-inbox.js.map +1 -1
- package/dist/gateway/src/services/channels/native-feishu-runtime.d.ts +5 -1
- package/dist/gateway/src/services/channels/native-feishu-runtime.js +73 -20
- package/dist/gateway/src/services/channels/native-feishu-runtime.js.map +1 -1
- package/dist/gateway/src/services/channels/native-telegram-runtime.d.ts +34 -0
- package/dist/gateway/src/services/channels/native-telegram-runtime.js +139 -0
- package/dist/gateway/src/services/channels/native-telegram-runtime.js.map +1 -0
- package/dist/gateway/src/services/claude-notification-settings.d.ts +2 -0
- package/dist/gateway/src/services/claude-notification-settings.js +8 -0
- package/dist/gateway/src/services/claude-notification-settings.js.map +1 -1
- package/dist/gateway/src/services/claude-route/forwarder.js +4 -2
- package/dist/gateway/src/services/claude-route/forwarder.js.map +1 -1
- package/dist/gateway/src/services/cli-account/claude-account.d.ts +14 -0
- package/dist/gateway/src/services/cli-account/claude-account.js +197 -0
- package/dist/gateway/src/services/cli-account/claude-account.js.map +1 -0
- package/dist/gateway/src/services/cli-account/codex-account.d.ts +11 -0
- package/dist/gateway/src/services/cli-account/codex-account.js +140 -0
- package/dist/gateway/src/services/cli-account/codex-account.js.map +1 -0
- package/dist/gateway/src/services/cli-account/index.d.ts +9 -0
- package/dist/gateway/src/services/cli-account/index.js +27 -0
- package/dist/gateway/src/services/cli-account/index.js.map +1 -0
- package/dist/gateway/src/services/cli-account/kimi-account.d.ts +12 -0
- package/dist/gateway/src/services/cli-account/kimi-account.js +217 -0
- package/dist/gateway/src/services/cli-account/kimi-account.js.map +1 -0
- package/dist/gateway/src/services/cli-account/mcode-account.d.ts +47 -0
- package/dist/gateway/src/services/cli-account/mcode-account.js +249 -0
- package/dist/gateway/src/services/cli-account/mcode-account.js.map +1 -0
- package/dist/gateway/src/services/cli-account/probe-runner.d.ts +81 -0
- package/dist/gateway/src/services/cli-account/probe-runner.js +181 -0
- package/dist/gateway/src/services/cli-account/probe-runner.js.map +1 -0
- package/dist/gateway/src/services/cli-account/types.d.ts +49 -0
- package/dist/gateway/src/services/cli-account/types.js +2 -0
- package/dist/gateway/src/services/cli-account/types.js.map +1 -0
- package/dist/gateway/src/services/cli-config-apply.d.ts +10 -2
- package/dist/gateway/src/services/cli-config-apply.js +184 -15
- package/dist/gateway/src/services/cli-config-apply.js.map +1 -1
- package/dist/gateway/src/services/cli-config-fields.js +30 -1
- package/dist/gateway/src/services/cli-config-fields.js.map +1 -1
- package/dist/gateway/src/services/cli-config-target.js +20 -1
- package/dist/gateway/src/services/cli-config-target.js.map +1 -1
- package/dist/gateway/src/services/cli-config-yaml.d.ts +37 -0
- package/dist/gateway/src/services/cli-config-yaml.js +77 -0
- package/dist/gateway/src/services/cli-config-yaml.js.map +1 -0
- package/dist/gateway/src/services/cli-config.js +124 -2
- package/dist/gateway/src/services/cli-config.js.map +1 -1
- package/dist/gateway/src/services/cli-notification-policy.d.ts +2 -0
- package/dist/gateway/src/services/cli-notification-policy.js +19 -0
- package/dist/gateway/src/services/cli-notification-policy.js.map +1 -0
- package/dist/gateway/src/services/cli-notification-settings.js +98 -14
- package/dist/gateway/src/services/cli-notification-settings.js.map +1 -1
- package/dist/gateway/src/services/codex-config-probe.d.ts +18 -0
- package/dist/gateway/src/services/codex-config-probe.js +149 -0
- package/dist/gateway/src/services/codex-config-probe.js.map +1 -0
- package/dist/gateway/src/services/collaboration/github-pull-requests.d.ts +4 -4
- package/dist/gateway/src/services/dashboard-summary.d.ts +6 -0
- package/dist/gateway/src/services/dashboard-summary.js +7 -2
- package/dist/gateway/src/services/dashboard-summary.js.map +1 -1
- package/dist/gateway/src/services/development/authority.d.ts +4 -0
- package/dist/gateway/src/services/development/authority.js +56 -6
- package/dist/gateway/src/services/development/authority.js.map +1 -1
- package/dist/gateway/src/services/development/commands.d.ts +2 -0
- package/dist/gateway/src/services/development/commands.js +27 -5
- package/dist/gateway/src/services/development/commands.js.map +1 -1
- package/dist/gateway/src/services/development/contracts.d.ts +10 -0
- package/dist/gateway/src/services/development/contracts.js +1 -1
- package/dist/gateway/src/services/development/contracts.js.map +1 -1
- package/dist/gateway/src/services/development/execution-identity.d.ts +78 -0
- package/dist/gateway/src/services/development/execution-identity.js +33 -0
- package/dist/gateway/src/services/development/execution-identity.js.map +1 -0
- package/dist/gateway/src/services/development/project-diff.d.ts +26 -0
- package/dist/gateway/src/services/development/project-diff.js +194 -0
- package/dist/gateway/src/services/development/project-diff.js.map +1 -0
- package/dist/gateway/src/services/development/project-git-status.d.ts +33 -0
- package/dist/gateway/src/services/development/project-git-status.js +232 -0
- package/dist/gateway/src/services/development/project-git-status.js.map +1 -0
- package/dist/gateway/src/services/development/reconciliation.d.ts +11 -0
- package/dist/gateway/src/services/development/reconciliation.js +93 -0
- package/dist/gateway/src/services/development/reconciliation.js.map +1 -0
- package/dist/gateway/src/services/development/repair-scope.d.ts +43 -0
- package/dist/gateway/src/services/development/repair-scope.js +81 -0
- package/dist/gateway/src/services/development/repair-scope.js.map +1 -0
- package/dist/gateway/src/services/development/runtime.js +16 -18
- package/dist/gateway/src/services/development/runtime.js.map +1 -1
- package/dist/gateway/src/services/development/sandbox-supervisor.js +39 -14
- package/dist/gateway/src/services/development/sandbox-supervisor.js.map +1 -1
- package/dist/gateway/src/services/development/sandbox.d.ts +6 -0
- package/dist/gateway/src/services/development/sandbox.js +43 -6
- package/dist/gateway/src/services/development/sandbox.js.map +1 -1
- package/dist/gateway/src/services/development/state-directory.d.ts +5 -0
- package/dist/gateway/src/services/development/state-directory.js +23 -0
- package/dist/gateway/src/services/development/state-directory.js.map +1 -0
- package/dist/gateway/src/services/development/workspace.d.ts +4 -2
- package/dist/gateway/src/services/development/workspace.js +9 -8
- package/dist/gateway/src/services/development/workspace.js.map +1 -1
- package/dist/gateway/src/services/event-bus.d.ts +46 -1
- package/dist/gateway/src/services/event-bus.js +38 -0
- package/dist/gateway/src/services/event-bus.js.map +1 -1
- package/dist/gateway/src/services/extensions/connection-tools.js +1 -1
- package/dist/gateway/src/services/extensions/connection-tools.js.map +1 -1
- package/dist/gateway/src/services/extensions/public-fetch.d.ts +1 -0
- package/dist/gateway/src/services/extensions/public-fetch.js +1 -1
- package/dist/gateway/src/services/extensions/public-fetch.js.map +1 -1
- package/dist/gateway/src/services/github-skill-source.d.ts +102 -0
- package/dist/gateway/src/services/github-skill-source.js +519 -0
- package/dist/gateway/src/services/github-skill-source.js.map +1 -0
- package/dist/gateway/src/services/integrations/feishu-event-normalizer.js +1 -1
- package/dist/gateway/src/services/integrations/feishu-event-normalizer.js.map +1 -1
- package/dist/gateway/src/services/integrations/feishu-markdown.d.ts +9 -0
- package/dist/gateway/src/services/integrations/feishu-markdown.js +169 -0
- package/dist/gateway/src/services/integrations/feishu-markdown.js.map +1 -0
- package/dist/gateway/src/services/integrations/feishu-native-sender.d.ts +1 -1
- package/dist/gateway/src/services/integrations/feishu-native-sender.js +53 -8
- package/dist/gateway/src/services/integrations/feishu-native-sender.js.map +1 -1
- package/dist/gateway/src/services/integrations/feishu-reactions.d.ts +35 -0
- package/dist/gateway/src/services/integrations/feishu-reactions.js +100 -0
- package/dist/gateway/src/services/integrations/feishu-reactions.js.map +1 -0
- package/dist/gateway/src/services/integrations/telegram-bot-api.d.ts +33 -0
- package/dist/gateway/src/services/integrations/telegram-bot-api.js +103 -0
- package/dist/gateway/src/services/integrations/telegram-bot-api.js.map +1 -0
- package/dist/gateway/src/services/integrations/telegram-connection-supervisor.d.ts +66 -0
- package/dist/gateway/src/services/integrations/telegram-connection-supervisor.js +250 -0
- package/dist/gateway/src/services/integrations/telegram-connection-supervisor.js.map +1 -0
- package/dist/gateway/src/services/integrations/telegram-error-redaction.d.ts +1 -0
- package/dist/gateway/src/services/integrations/telegram-error-redaction.js +19 -0
- package/dist/gateway/src/services/integrations/telegram-error-redaction.js.map +1 -0
- package/dist/gateway/src/services/integrations/telegram-event-normalizer.d.ts +7 -0
- package/dist/gateway/src/services/integrations/telegram-event-normalizer.js +84 -0
- package/dist/gateway/src/services/integrations/telegram-event-normalizer.js.map +1 -0
- package/dist/gateway/src/services/integrations/telegram-native-sender.d.ts +8 -0
- package/dist/gateway/src/services/integrations/telegram-native-sender.js +55 -0
- package/dist/gateway/src/services/integrations/telegram-native-sender.js.map +1 -0
- package/dist/gateway/src/services/integrations/telegram-polling-client.d.ts +35 -0
- package/dist/gateway/src/services/integrations/telegram-polling-client.js +112 -0
- package/dist/gateway/src/services/integrations/telegram-polling-client.js.map +1 -0
- package/dist/gateway/src/services/local-skills.d.ts +1 -0
- package/dist/gateway/src/services/local-skills.js +5 -2
- package/dist/gateway/src/services/local-skills.js.map +1 -1
- package/dist/gateway/src/services/mcode-notification-preference.d.ts +49 -0
- package/dist/gateway/src/services/mcode-notification-preference.js +91 -0
- package/dist/gateway/src/services/mcode-notification-preference.js.map +1 -0
- package/dist/gateway/src/services/mcp/mcp-server.d.ts +2 -1
- package/dist/gateway/src/services/mcp/mcp-server.js +197 -22
- package/dist/gateway/src/services/mcp/mcp-server.js.map +1 -1
- package/dist/gateway/src/services/mcp/project-workflow.d.ts +25 -0
- package/dist/gateway/src/services/mcp/project-workflow.js +81 -0
- package/dist/gateway/src/services/mcp/project-workflow.js.map +1 -0
- package/dist/gateway/src/services/mcp/token-authority.d.ts +6 -0
- package/dist/gateway/src/services/mcp/token-authority.js +143 -0
- package/dist/gateway/src/services/mcp/token-authority.js.map +1 -0
- package/dist/gateway/src/services/model-capability-projection.d.ts +22 -0
- package/dist/gateway/src/services/model-capability-projection.js +46 -0
- package/dist/gateway/src/services/model-capability-projection.js.map +1 -0
- package/dist/gateway/src/services/model-endpoint-health.d.ts +1 -0
- package/dist/gateway/src/services/model-endpoint-health.js +2 -1
- package/dist/gateway/src/services/model-endpoint-health.js.map +1 -1
- package/dist/gateway/src/services/network-policy.d.ts +12 -4
- package/dist/gateway/src/services/network-policy.js +40 -9
- package/dist/gateway/src/services/network-policy.js.map +1 -1
- package/dist/gateway/src/services/notification-dedupe.d.ts +41 -0
- package/dist/gateway/src/services/notification-dedupe.js +86 -0
- package/dist/gateway/src/services/notification-dedupe.js.map +1 -0
- package/dist/gateway/src/services/notification-events.js +50 -32
- package/dist/gateway/src/services/notification-events.js.map +1 -1
- package/dist/gateway/src/services/notification-service.d.ts +9 -0
- package/dist/gateway/src/services/notification-service.js +19 -0
- package/dist/gateway/src/services/notification-service.js.map +1 -0
- package/dist/gateway/src/services/notifications/cli-observation.d.ts +138 -0
- package/dist/gateway/src/services/notifications/cli-observation.js +62 -0
- package/dist/gateway/src/services/notifications/cli-observation.js.map +1 -0
- package/dist/gateway/src/services/notifications/feishu-notification-card.d.ts +18 -0
- package/dist/gateway/src/services/notifications/feishu-notification-card.js +133 -0
- package/dist/gateway/src/services/notifications/feishu-notification-card.js.map +1 -0
- package/dist/gateway/src/services/notifications/feishu-notification-directory-client.d.ts +14 -0
- package/dist/gateway/src/services/notifications/feishu-notification-directory-client.js +50 -0
- package/dist/gateway/src/services/notifications/feishu-notification-directory-client.js.map +1 -0
- package/dist/gateway/src/services/notifications/feishu-notification-error.d.ts +4 -0
- package/dist/gateway/src/services/notifications/feishu-notification-error.js +8 -0
- package/dist/gateway/src/services/notifications/feishu-notification-error.js.map +1 -0
- package/dist/gateway/src/services/notifications/feishu-notification-targets.d.ts +27 -0
- package/dist/gateway/src/services/notifications/feishu-notification-targets.js +101 -0
- package/dist/gateway/src/services/notifications/feishu-notification-targets.js.map +1 -0
- package/dist/gateway/src/services/notifications/feishu-notification-worker.d.ts +14 -0
- package/dist/gateway/src/services/notifications/feishu-notification-worker.js +117 -0
- package/dist/gateway/src/services/notifications/feishu-notification-worker.js.map +1 -0
- package/dist/gateway/src/services/notifications/feishu-notifications.d.ts +32 -0
- package/dist/gateway/src/services/notifications/feishu-notifications.js +139 -0
- package/dist/gateway/src/services/notifications/feishu-notifications.js.map +1 -0
- package/dist/gateway/src/services/notifications/observe-cli-hook.d.ts +6 -0
- package/dist/gateway/src/services/notifications/observe-cli-hook.js +55 -0
- package/dist/gateway/src/services/notifications/observe-cli-hook.js.map +1 -0
- package/dist/gateway/src/services/opencode-notification-settings.d.ts +1 -1
- package/dist/gateway/src/services/opencode-notification-settings.js +143 -13
- package/dist/gateway/src/services/opencode-notification-settings.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/actions.d.ts +14 -55
- package/dist/gateway/src/services/platform-commands/actions.js +192 -131
- package/dist/gateway/src/services/platform-commands/actions.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/agent-actions.js +1 -1
- package/dist/gateway/src/services/platform-commands/agent-actions.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/agent-scope.d.ts +0 -2
- package/dist/gateway/src/services/platform-commands/agent-scope.js +10 -38
- package/dist/gateway/src/services/platform-commands/agent-scope.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/catalog.d.ts +51 -8
- package/dist/gateway/src/services/platform-commands/catalog.js +184 -65
- package/dist/gateway/src/services/platform-commands/catalog.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/receipt-projection.js +4 -0
- package/dist/gateway/src/services/platform-commands/receipt-projection.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/session-commands.js +89 -38
- package/dist/gateway/src/services/platform-commands/session-commands.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/tool-commands.js +2 -1
- package/dist/gateway/src/services/platform-commands/tool-commands.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/types.d.ts +22 -1
- package/dist/gateway/src/services/programmatic-terminal-submit.d.ts +7 -0
- package/dist/gateway/src/services/programmatic-terminal-submit.js +68 -9
- package/dist/gateway/src/services/programmatic-terminal-submit.js.map +1 -1
- package/dist/gateway/src/services/project-ai-config.js +6 -0
- package/dist/gateway/src/services/project-ai-config.js.map +1 -1
- package/dist/gateway/src/services/project-config-files.d.ts +1 -1
- package/dist/gateway/src/services/project-config-files.js +10 -1
- package/dist/gateway/src/services/project-config-files.js.map +1 -1
- package/dist/gateway/src/services/project-config-render.d.ts +2 -1
- package/dist/gateway/src/services/project-config-render.js +3 -2
- package/dist/gateway/src/services/project-config-render.js.map +1 -1
- package/dist/gateway/src/services/project-git.js +3 -7
- package/dist/gateway/src/services/project-git.js.map +1 -1
- package/dist/gateway/src/services/project-manager/access.js +1 -1
- package/dist/gateway/src/services/project-manager/access.js.map +1 -1
- package/dist/gateway/src/services/project-manager/management.d.ts +4 -3
- package/dist/gateway/src/services/project-manager/management.js +2 -2
- package/dist/gateway/src/services/project-manager/management.js.map +1 -1
- package/dist/gateway/src/services/project-manager/task-execution.d.ts +92 -0
- package/dist/gateway/src/services/project-manager/task-execution.js +142 -0
- package/dist/gateway/src/services/project-manager/task-execution.js.map +1 -0
- package/dist/gateway/src/services/project-manager/task-packets.js +1 -2
- package/dist/gateway/src/services/project-manager/task-packets.js.map +1 -1
- package/dist/gateway/src/services/project-manager/task-progress.d.ts +124 -0
- package/dist/gateway/src/services/project-manager/task-progress.js +154 -0
- package/dist/gateway/src/services/project-manager/task-progress.js.map +1 -0
- package/dist/gateway/src/services/provider-balance.d.ts +1 -0
- package/dist/gateway/src/services/provider-balance.js +2 -1
- package/dist/gateway/src/services/provider-balance.js.map +1 -1
- package/dist/gateway/src/services/provider-capabilities.js +11 -0
- package/dist/gateway/src/services/provider-capabilities.js.map +1 -1
- package/dist/gateway/src/services/provider-model-fetch.d.ts +1 -0
- package/dist/gateway/src/services/provider-model-fetch.js +2 -1
- package/dist/gateway/src/services/provider-model-fetch.js.map +1 -1
- package/dist/gateway/src/services/redaction.d.ts +2 -0
- package/dist/gateway/src/services/redaction.js +6 -3
- package/dist/gateway/src/services/redaction.js.map +1 -1
- package/dist/gateway/src/services/runtime-settings.d.ts +50 -0
- package/dist/gateway/src/services/runtime-settings.js +206 -0
- package/dist/gateway/src/services/runtime-settings.js.map +1 -0
- package/dist/gateway/src/services/session-launch-plan.d.ts +53 -0
- package/dist/gateway/src/services/session-launch-plan.js +143 -3
- package/dist/gateway/src/services/session-launch-plan.js.map +1 -1
- package/dist/gateway/src/services/session-manager.d.ts +64 -2
- package/dist/gateway/src/services/session-manager.js +270 -41
- package/dist/gateway/src/services/session-manager.js.map +1 -1
- package/dist/gateway/src/services/session-server/hello-handshake.d.ts +1 -1
- package/dist/gateway/src/services/session-server/hello-handshake.js +2 -2
- package/dist/gateway/src/services/session-server/hello-handshake.js.map +1 -1
- package/dist/gateway/src/services/session-server/index.d.ts +1 -1
- package/dist/gateway/src/services/session-server/index.js.map +1 -1
- package/dist/gateway/src/services/session-server/ipc-protocol.d.ts +14 -1
- package/dist/gateway/src/services/session-server/ipc-protocol.js.map +1 -1
- package/dist/gateway/src/services/session-server/ipc-server.d.ts +5 -0
- package/dist/gateway/src/services/session-server/ipc-server.js +28 -0
- package/dist/gateway/src/services/session-server/ipc-server.js.map +1 -1
- package/dist/gateway/src/services/session-server/platform-adapter.d.ts +10 -0
- package/dist/gateway/src/services/session-server/platform-adapter.js +159 -15
- package/dist/gateway/src/services/session-server/platform-adapter.js.map +1 -1
- package/dist/gateway/src/services/session-server/session-handle.d.ts +8 -1
- package/dist/gateway/src/services/session-server/session-handle.js +9 -1
- package/dist/gateway/src/services/session-server/session-handle.js.map +1 -1
- package/dist/gateway/src/services/session-server/session-server.d.ts +14 -0
- package/dist/gateway/src/services/session-server/session-server.js +39 -2
- package/dist/gateway/src/services/session-server/session-server.js.map +1 -1
- package/dist/gateway/src/services/session-server/terminal-notification-scanner.d.ts +80 -0
- package/dist/gateway/src/services/session-server/terminal-notification-scanner.js +253 -0
- package/dist/gateway/src/services/session-server/terminal-notification-scanner.js.map +1 -0
- package/dist/gateway/src/services/session-server/terminal-screen.d.ts +9 -3
- package/dist/gateway/src/services/session-server/terminal-screen.js +10 -4
- package/dist/gateway/src/services/session-server/terminal-screen.js.map +1 -1
- package/dist/gateway/src/services/session-server-client.d.ts +8 -0
- package/dist/gateway/src/services/session-server-client.js +22 -1
- package/dist/gateway/src/services/session-server-client.js.map +1 -1
- package/dist/gateway/src/services/session-stop-target.d.ts +79 -0
- package/dist/gateway/src/services/session-stop-target.js +115 -0
- package/dist/gateway/src/services/session-stop-target.js.map +1 -0
- package/dist/gateway/src/services/session-writer-leases.d.ts +12 -0
- package/dist/gateway/src/services/session-writer-leases.js +25 -2
- package/dist/gateway/src/services/session-writer-leases.js.map +1 -1
- package/dist/gateway/src/services/shell-command-execution.d.ts +72 -0
- package/dist/gateway/src/services/shell-command-execution.js +448 -0
- package/dist/gateway/src/services/shell-command-execution.js.map +1 -0
- package/dist/gateway/src/services/skill-discovery.d.ts +46 -0
- package/dist/gateway/src/services/skill-discovery.js +363 -0
- package/dist/gateway/src/services/skill-discovery.js.map +1 -0
- package/dist/gateway/src/services/skill-fs-install.d.ts +24 -0
- package/dist/gateway/src/services/skill-fs-install.js +150 -0
- package/dist/gateway/src/services/skill-fs-install.js.map +1 -0
- package/dist/gateway/src/services/skill-install-service.d.ts +72 -0
- package/dist/gateway/src/services/skill-install-service.js +346 -0
- package/dist/gateway/src/services/skill-install-service.js.map +1 -0
- package/dist/gateway/src/services/skill-marketplaces.d.ts +59 -0
- package/dist/gateway/src/services/skill-marketplaces.js +420 -0
- package/dist/gateway/src/services/skill-marketplaces.js.map +1 -0
- package/dist/gateway/src/services/skill-package.d.ts +27 -0
- package/dist/gateway/src/services/skill-package.js +135 -0
- package/dist/gateway/src/services/skill-package.js.map +1 -0
- package/dist/gateway/src/services/skill-registry-http.d.ts +8 -0
- package/dist/gateway/src/services/skill-registry-http.js +57 -0
- package/dist/gateway/src/services/skill-registry-http.js.map +1 -0
- package/dist/gateway/src/services/skill-registry-package.d.ts +55 -0
- package/dist/gateway/src/services/skill-registry-package.js +208 -0
- package/dist/gateway/src/services/skill-registry-package.js.map +1 -0
- package/dist/gateway/src/services/skill-resources.d.ts +1 -0
- package/dist/gateway/src/services/skill-resources.js +1 -1
- package/dist/gateway/src/services/skill-resources.js.map +1 -1
- package/dist/gateway/src/services/teams/service.d.ts +7 -7
- package/dist/gateway/src/services/terminal-backend.d.ts +3 -0
- package/dist/gateway/src/services/terminal-notification-ingestion.d.ts +19 -0
- package/dist/gateway/src/services/terminal-notification-ingestion.js +135 -0
- package/dist/gateway/src/services/terminal-notification-ingestion.js.map +1 -0
- package/dist/gateway/src/services/terminal-notification-settings.d.ts +42 -0
- package/dist/gateway/src/services/terminal-notification-settings.js +133 -0
- package/dist/gateway/src/services/terminal-notification-settings.js.map +1 -0
- package/dist/gateway/src/services/usage/kimi-source.d.ts +11 -3
- package/dist/gateway/src/services/usage/kimi-source.js +40 -9
- package/dist/gateway/src/services/usage/kimi-source.js.map +1 -1
- package/dist/gateway/src/services/usage/mcode-source.d.ts +39 -0
- package/dist/gateway/src/services/usage/mcode-source.js +137 -0
- package/dist/gateway/src/services/usage/mcode-source.js.map +1 -0
- package/dist/gateway/src/services/usage/usage-source.d.ts +6 -1
- package/dist/gateway/src/services/usage/usage-source.js.map +1 -1
- package/dist/gateway/src/services/usage/usage-token-syncer.d.ts +1 -1
- package/dist/gateway/src/services/usage/usage-token-syncer.js +3 -1
- package/dist/gateway/src/services/usage/usage-token-syncer.js.map +1 -1
- package/dist/gateway/src/websocket/events.js +17 -0
- package/dist/gateway/src/websocket/events.js.map +1 -1
- package/dist/gateway/src/websocket/terminal-output-flow.d.ts +1 -1
- package/dist/gateway/src/websocket/terminal.js +12 -4
- package/dist/gateway/src/websocket/terminal.js.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.js +63 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/version.d.ts +10 -0
- package/dist/runtime/version.js +25 -0
- package/dist/runtime/version.js.map +1 -0
- package/dist/web/standalone/packages/web/.next/BUILD_ID +1 -1
- package/dist/web/standalone/packages/web/.next/app-path-routes-manifest.json +2 -1
- package/dist/web/standalone/packages/web/.next/build-manifest.json +3 -3
- package/dist/web/standalone/packages/web/.next/prerender-manifest.json +51 -27
- package/dist/web/standalone/packages/web/.next/routes-manifest.json +12 -6
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page/react-loadable-manifest.json +6 -3
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page/app-paths-manifest.json +3 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page/react-loadable-manifest.json +12 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page.js +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page.js.nft.json +1 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page_client-reference-manifest.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/app-paths-manifest.json +3 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/build-manifest.json +18 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/next-font-manifest.json +6 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/react-loadable-manifest.json +12 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/server-reference-manifest.json +4 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js +14 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js.map +5 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js.nft.json +1 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page_client-reference-manifest.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.rsc +11 -11
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.rsc +25 -20
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config/__PAGE__.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_full.segment.rsc +25 -20
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.rsc +25 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations/__PAGE__.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_full.segment.rsc +25 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.rsc +26 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels/__PAGE__.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_full.segment.rsc +26 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.rsc +25 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions/__PAGE__.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_full.segment.rsc +25 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.rsc +26 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings/__PAGE__.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_full.segment.rsc +26 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/copilot.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/copilot.rsc +25 -25
- package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_full.segment.rsc +25 -25
- package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.rsc +13 -13
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_full.segment.rsc +13 -13
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/history.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/history.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/history.segments/_full.segment.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/history.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/history.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/history.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/index.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/index.rsc +25 -22
- package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/index.segments/_full.segment.rsc +25 -22
- package/dist/web/standalone/packages/web/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/index.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/join/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/join/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/join.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/join.rsc +12 -12
- package/dist/web/standalone/packages/web/.next/server/app/join.segments/_full.segment.rsc +12 -12
- package/dist/web/standalone/packages/web/.next/server/app/join.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/join.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/join.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/join.segments/join/__PAGE__.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/join.segments/join.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/login/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/login.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/login.rsc +13 -13
- package/dist/web/standalone/packages/web/.next/server/app/login.segments/_full.segment.rsc +13 -13
- package/dist/web/standalone/packages/web/.next/server/app/login.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/login.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/login.segments/login.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/members.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/members.rsc +25 -25
- package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/members.segments/_full.segment.rsc +25 -25
- package/dist/web/standalone/packages/web/.next/server/app/members.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/members.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/members.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/models.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/models.rsc +28 -27
- package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/models.segments/_full.segment.rsc +28 -27
- package/dist/web/standalone/packages/web/.next/server/app/models.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/models.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/models.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/notifications.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/notifications.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_full.segment.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.rsc +24 -24
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_full.segment.rsc +24 -24
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.rsc +24 -24
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_full.segment.rsc +24 -24
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/projects.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/projects.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_full.segment.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/register/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/register/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/register.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/register.rsc +13 -13
- package/dist/web/standalone/packages/web/.next/server/app/register.segments/_full.segment.rsc +13 -13
- package/dist/web/standalone/packages/web/.next/server/app/register.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/register.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/register.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/register.segments/register/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/register.segments/register.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/sessions.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/sessions.rsc +28 -29
- package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_full.segment.rsc +28 -29
- package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/settings.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/settings.rsc +28 -27
- package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_full.segment.rsc +28 -27
- package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.html +1 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.meta +17 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.rsc +32 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills/discover/__PAGE__.segment.rsc +9 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills/discover.segment.rsc +5 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +5 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_full.segment.rsc +32 -0
- package/dist/web/standalone/packages/web/.next/server/app/{copilot/settings/access.segments → skills/discover.segments}/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_index.segment.rsc +8 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_tree.segment.rsc +3 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.rsc +29 -27
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_full.segment.rsc +29 -27
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.html +1 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.meta +17 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.rsc +32 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills/sources/__PAGE__.segment.rsc +9 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills/sources.segment.rsc +5 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +5 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_full.segment.rsc +32 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_head.segment.rsc +6 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_index.segment.rsc +8 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_tree.segment.rsc +3 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/skills.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_full.segment.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/teams.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/teams.rsc +25 -20
- package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams/__PAGE__.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_full.segment.rsc +25 -20
- package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/templates.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/templates.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_full.segment.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/usage.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/usage.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_full.segment.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.rsc +25 -20
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces/__PAGE__.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_full.segment.rsc +25 -20
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app-paths-manifest.json +2 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0942_@dnd-kit_core_dist_core_esm_06quy3m.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0e0j_zod_v3_external_0q93s3v.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0juq_web__next-internal_server_app_(dashboard)_skills_discover_page_actions_0s10d6r.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0juq_web__next-internal_server_app_(dashboard)_skills_sources_page_actions_120iys8.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0vyr_@hookform_resolvers_zod_dist_zod_mjs_13jikrg._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0zxb_lucide-react_dist_esm_icons_external-link_0buejti.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/12g__next_dist_esm_build_templates_app-page_0mp8266.js +4 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/{12g__next_dist_esm_build_templates_app-page_0hj3-t3.js → 12g__next_dist_esm_build_templates_app-page_0u2wn0p.js} +3 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-ytd88._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-yv-w0._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-~3_py._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0.xbx1g._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__000_z4-._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__00pu_nf._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__01gw6cp._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__04y4h09._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__04zzicc._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__059ub-x._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__05uxdhs._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__099xvsj._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__05zp5v-._.js → [root-of-the-server]__0b_bfwi._.js} +2 -2
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0bwa4-1._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dm9ht7._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dwolw1._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dypek8._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0e4wlbg._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0hdcf1b._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0hyeafb._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0i9m599._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ixm_tt._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0joovln._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0nayrgw._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0oi0duh._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0p0asvc._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0rnn~dl._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0s85g_~._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0t6hcz2._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0t6yt~4._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ue.dgb._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0vdrg8-._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0vhr68-._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0w9fpxt._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0xjgo0p._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ym8445._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0yni1ey._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0~uajh5._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0~x9f4h._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__10ulbpl._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__12_~9x3._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__12t8cyh._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0-46bd0._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0-c~1pz._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_00u25e5._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_029s~22._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_02b77w9._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_02q4sxr._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_03lvgsp._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_055deww._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_06y~qef._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_081_abe._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_08sy38p._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_08w4krs._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_09uis~9._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0_y0lld._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0d70f63._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0e2js.7._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0eg167x._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0k0ia-e._.js +7 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0l2_hbr._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0nko1ur._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0of~gco._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0pgj5uk._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0q78tdj._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0r7r2dd._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0r8225d._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0s2linz._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0u.z_-u._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0uhabr0._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0upw.g1._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0vxw15j._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0wz9mfr._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0x14feb._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0z-ne1w._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~z3iws._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11yi7~7._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_12w9fro._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_130nfm2._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_132t5iu._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_13cs2xv._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_13jwtym._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_04syrba._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0dcra4_._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0euki8~._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0p9lxjb._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0xlg_r9._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0xsup7i._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_members_page_tsx_036.9by._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_models_page_tsx_0_ccn2i._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_page_tsx_04lc303._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_projects_[id]_page_tsx_0pmq-e9._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_sessions_[id]_page_tsx_0x9_6se._.js +3 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_sessions_page_tsx_0phmhty._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_settings_page_tsx_05ku4-o._.js +2 -2
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_skills_page_tsx_096j6mw._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_templates_page_tsx_0.s32f~._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_usage_page_tsx_018s0ua._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_CopilotChannelsPage_tsx_10jdmdv._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_CopilotExtensionsPage_tsx_0jl0nnn._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_DevelopmentTasks_tsx_0fr61i5._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_session-tabs_tsx_0qnm.9x._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_ui_select_tsx_0led5xt._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/middleware-build-manifest.js +3 -3
- package/dist/web/standalone/packages/web/.next/server/pages/404.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/pages/500.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0-8d_w3npya8o.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0.1mxnjmxr~su.js +5 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0.athqv8ojt0q.js +3 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0.s72kofo_rqw.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/00gq~jtzei49d.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/01u~p.mfnnn02.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/02tbf1dbhnqcj.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/{01_gytnzf~ik-.js → 02tn25zg7z463.js} +1 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/04z6sbk30kk_r.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/04~5~zhq-13bw.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/053cmh-o17957.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/06tu7kgxg31~o.js +2 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/06u~yrka~n0q1.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/07_bj2hhs1b~b.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/07ikcry4s28l9.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0b5zptp8.z.nn.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0b_338udx-~jl.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0ecg~muitl4rl.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0eg3_d4n2kkia.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0equ6w7v0pt2c.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0f4~n_u2rd.u..js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0fjt5fv~.5gyl.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/{04r2nmtpcfrz..js → 0g.bgavgt6uke.js} +1 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0g.jepdilt76o.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0i4_5dn3hx-l4.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0jdbsw64_fybj.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0l2ojgpvlde~a.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0lgdaqjuo1zdw.css +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0n8lawbi2_4vp.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0ouh2tpsjqi5m.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0qz5kbcs~i-jm.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0rvmfvjpdwe.w.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0spmlj~6fltww.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0s~9.kdkdky_4.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0t8mzjjlw~wnz.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0tgs66vwkse.2.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0txrk44pdmdsw.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0ujyee4n5.vxl.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0uqsh8sbcz046.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0v-8fk68e-ugm.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0v4~sp3bx1l88.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0y2ze6bljklix.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0y8vr-14-90yt.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0yy-wz1k_sil_.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0z6vq-3bfwo0y.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/{0wys15fa7nhtt.js → 0~cm.ike75hqk.js} +1 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0~kf3_6b2c_lt.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/{0y._brrinmy-y.js → 1052k.mfsf9ib.js} +1 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/11y_6l.0_a2jc.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/12kzd4cqtbqk~.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/13e0ddfy-03de.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/13wgo~3bv23zr.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/{02cfennlupsr5.js → 140zf2tofmr6d.js} +1 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/17jci4t~zq7c9.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/17lr--xdjl9wa.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/185bxlmpgwiu-.js +1 -0
- package/dist/web/standalone/packages/web/public/brand/cli/codex.svg +5 -1
- package/dist/web/standalone/packages/web/public/brand/cli/kimi.svg +1 -1
- package/dist/web/standalone/packages/web/public/brand/cli/mcode.svg +1 -0
- package/dist/web/standalone/packages/web/public/brand/fonts/OFL.txt +93 -0
- package/dist/web/standalone/packages/web/public/brand/fonts/forgebadger-nerd-bold.ttf +0 -0
- package/dist/web/standalone/packages/web/public/brand/fonts/forgebadger-nerd-regular.ttf +0 -0
- package/dist/web/standalone/packages/web/public/favicon.ico +0 -0
- package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/sit.webp +0 -0
- package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/stand.webp +0 -0
- package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/walk.webp +0 -0
- package/docs/README.zh-CN.md +10 -0
- package/docs/README.zh-TW.md +10 -0
- package/package.json +9 -9
- package/dist/gateway/src/db/repositories/copilot-grant-repository.d.ts +0 -40
- package/dist/gateway/src/db/repositories/copilot-grant-repository.js +0 -53
- package/dist/gateway/src/db/repositories/copilot-grant-repository.js.map +0 -1
- package/dist/gateway/src/services/codex-native-auth-status.d.ts +0 -22
- package/dist/gateway/src/services/codex-native-auth-status.js +0 -84
- package/dist/gateway/src/services/codex-native-auth-status.js.map +0 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page/app-paths-manifest.json +0 -3
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page/react-loadable-manifest.json +0 -9
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page.js.nft.json +0 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page_client-reference-manifest.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.html +0 -1
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.meta +0 -18
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.rsc +0 -27
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings/access/__PAGE__.segment.rsc +0 -6
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings/access.segment.rsc +0 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings.segment.rsc +0 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +0 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_full.segment.rsc +0 -27
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_index.segment.rsc +0 -8
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_tree.segment.rsc +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/06ld_server_app_(dashboard)_copilot_settings_access_page_actions_0-w4z-w.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__03qqlsf._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__05_yw9~._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0e0am7z._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0oun.k-._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0y-e.fw._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__135gcxh._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0.2ld7q._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_00.0g-5._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_01h5sc6._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_03t4dqx._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_04ioa9k._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_05rbfok._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_07sqde5._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0941x7t._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_09~uay9._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0anvf8m._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0atn-ml._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0c3twpg._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0d4~sy4._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0f1dcy2._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0f6qxtj._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0fbdold._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0h3beoe._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0inc1dm._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0i~~g8h._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0p3urqy._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0qi9cog._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0rc9ewt._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0vf07~e._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0x1-w0e._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~t_uoo._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~wir~e._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_10h.hnm._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11586ck._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11dpryf._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0eo3d7_._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0hfdzjb._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0mls2za._.js +0 -7
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_08mhbmm._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_12cpu6n._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_0mvr-eu._.js +0 -3
- package/dist/web/standalone/packages/web/.next/static/chunks/0..mi~ip7knx..js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0.4~~7f7.7nat.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0.iplf~527jxz.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0.uku9w_tku_y.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/00a29f0n_owqb.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/00nyo39rsq7i8.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/00pacdmo8d9v~.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/00~iuhivx6vaz.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/012n34zp1cx_n.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/01qswe5yw6zti.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0269he.njfzan.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/05mebsn5x~f7z.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/05pjsamrc9hw8.css +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/06k2e3bpaue8l.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/08i6pyfaut9bg.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/09ue~77p.85v3.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0a812oghcxixr.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0abzy49yu-md1.js +0 -2
- package/dist/web/standalone/packages/web/.next/static/chunks/0av6gt_66dv~q.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0belg47nkwgq6.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0bihh5ze2~z1f.js +0 -5
- package/dist/web/standalone/packages/web/.next/static/chunks/0bwb7o-xmqgh9.js +0 -3
- package/dist/web/standalone/packages/web/.next/static/chunks/0c2pxjg6tacjx.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0cnz9fv.au4.r.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0h73tv8xwqxqw.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0jm.qk52w_wlq.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0kl7osb_ugtrb.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0kuv_jfsd~d34.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0l2c60o_7mt7g.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0lgu8uprqf5l5.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0ljywx8uhruo~.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0mx93hpu5af8p.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0omo_v~lr8w_w.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0owwl5ly1~5em.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0pav25z50nsff.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0q~8nf7do6jft.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0rcf89hmdwpcw.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0ro2__iu505.1.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0rxi1_itf74bl.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0v0jdpyx4p.1c.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0v_2~m-2hqn2..js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0vxu682behxa7.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0wel25michro~.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/10eii2rij6zzf.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/13ehygx5durlz.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/17b.cxsg0c75d.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/180yq_t-g35fr.js +0 -1
- /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/build-manifest.json +0 -0
- /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/next-font-manifest.json +0 -0
- /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/server-reference-manifest.json +0 -0
- /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page.js.map +0 -0
- /package/dist/web/standalone/packages/web/.next/static/{lcO9z98BJ26kFzrqXH-ot → rZYlH0_cQ6CsojVFUjtlA}/_buildManifest.js +0 -0
- /package/dist/web/standalone/packages/web/.next/static/{lcO9z98BJ26kFzrqXH-ot → rZYlH0_cQ6CsojVFUjtlA}/_clientMiddlewareManifest.js +0 -0
- /package/dist/web/standalone/packages/web/.next/static/{lcO9z98BJ26kFzrqXH-ot → rZYlH0_cQ6CsojVFUjtlA}/_ssgManifest.js +0 -0
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,47183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return s},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(44066)._(e.r(63253)),i=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",s=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(a.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==u?(u="//"+(u||""),o&&"/"!==o[0]&&(o="/"+o)):u||(u=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${o}${c}${s}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return s(e)}},80179,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(79923);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},5770,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(87098),o=e.r(85252);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},92167,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},41271,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return v}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(44066),i=e.r(66499),s=a._(e.r(79923)),l=e.r(47183),u=e.r(19521),c=e.r(80179),d=e.r(87098),f=e.r(80722);e.r(58623);let p=e.r(40227),D=e.r(99555),h=e.r(5770),m=e.r(54446);function g(t){var r,n;let o,a,g,[v,b]=(0,s.useOptimistic)(D.IDLE_LINK_STATUS),y=(0,s.useRef)(null),{href:B,as:w,children:j,prefetch:E=null,passHref:V,replace:N,shallow:k,scroll:R,onClick:S,onMouseEnter:C,onTouchStart:P,legacyBehavior:O=!1,onNavigate:_,transitionTypes:L,ref:T,unstable_dynamicOnHover:M,...I}=t;o=j,O&&("string"==typeof o||"number"==typeof o)&&(o=(0,i.jsx)("a",{children:o}));let A=s.default.useContext(u.AppRouterContext),z=!1!==E,F=!1!==E?null===(n=E)||"auto"===n?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,W="string"==typeof(r=w||B)?r:(0,l.formatUrl)(r);if(O){if(o?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});a=s.default.Children.only(o)}let K=O?a&&"object"==typeof a&&a.ref:T,H=s.default.useCallback(e=>(null!==A&&(y.current=(0,D.mountLinkInstance)(e,W,A,F,z,b)),()=>{y.current&&((0,D.unmountLinkForCurrentNavigation)(y.current),y.current=null),(0,D.unmountPrefetchableInstance)(e)}),[z,W,A,F,b]),U={ref:(0,c.useMergedRef)(H,K),onClick(t){O||"function"!=typeof S||S(t),O&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!A||t.defaultPrevented||function(t,r,n,o,a,i,l){if("u">typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(11534);s.default.startTransition(()=>{d(r,o?"replace":"push",!1===a?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,l)})}}(t,W,y,N,R,_,L)},onMouseEnter(e){O||"function"!=typeof C||C(e),O&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),A&&z&&(0,D.onNavigationIntent)(e.currentTarget,!0===M)},onTouchStart:function(e){O||"function"!=typeof P||P(e),O&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),A&&z&&(0,D.onNavigationIntent)(e.currentTarget,!0===M)}};return(0,d.isAbsoluteUrl)(W)?U.href=W:O&&!V&&("a"!==a.type||"href"in a.props)||(U.href=(0,f.addBasePath)(W)),g=O?s.default.cloneElement(a,U):(0,i.jsx)("a",{...I,...U,children:o}),(0,i.jsx)(x.Provider,{value:v,children:g})}e.r(92167);let x=(0,s.createContext)(D.IDLE_LINK_STATUS),v=()=>(0,s.useContext)(x);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},86059,(e,t,r)=>{t.exports=e.r(3587)},9939,e=>{"use strict";let t=(0,e.i(65174).default)("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);e.s(["Wrench",0,t],9939)},1061,e=>{"use strict";let t=(0,e.i(65174).default)("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);e.s(["TerminalSquare",0,t],1061)},16381,e=>{"use strict";e.s(["brandAssets",0,{logoSvg:"/brand/forgebadger-logo.svg",logoPng:"/brand/forgebadger-logo.png",banner:"/brand/forgebadger-banner.png",background:"/brand/forgebadger-bg.png",favicon:"/favicon.ico"}])},39867,e=>{"use strict";let t=(0,e.i(65174).default)("Bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);e.s(["Bell",0,t],39867)},97480,e=>{"use strict";let t=(0,e.i(65174).default)("ShieldAlert",[["path",{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",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);e.s(["default",0,t])},2021,e=>{"use strict";let t=(0,e.i(65174).default)("UsersRound",[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]]);e.s(["UsersRound",0,t],2021)},4150,(e,t,r)=>{"use strict";var n=e.r(79923),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=n.useState,i=n.useEffect,s=n.useLayoutEffect,l=n.useDebugValue;function u(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!o(e,r)}catch(e){return!0}}var c="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=a({inst:{value:r,getSnapshot:t}}),o=n[0].inst,c=n[1];return s(function(){o.value=r,o.getSnapshot=t,u(o)&&c({inst:o})},[e,r,t]),i(function(){return u(o)&&c({inst:o}),e(function(){u(o)&&c({inst:o})})},[e]),l(r),r};r.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:c},46970,(e,t,r)=>{"use strict";t.exports=e.r(4150)},71800,e=>{"use strict";let t=(0,e.i(65174).default)("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["Bot",0,t],71800)},37902,e=>{"use strict";let t=(0,e.i(65174).default)("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);e.s(["Brain",0,t],37902)},17662,e=>{"use strict";let t=(0,e.i(65174).default)("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"}]]);e.s(["Settings",0,t],17662)},96652,e=>{"use strict";var t=e.i(66499),r=e.i(79923),n=e.i(91967),o=e.i(67928),a=e.i(43250),i=e.i(48989),s=e.i(39340),l=e.i(45424),u=e.i(33616),c=e.i(38154),d=e.i(32374),f=e.i(90088),p=e.i(80939),D=e.i(52053),h=e.i(17256),m=e.i(73772),g=e.i(6500),x="Popover",[v,b]=(0,a.createContextScope)(x,[c.createPopperScope]),y=(0,c.createPopperScope)(),[B,w]=v(x),j=e=>{let{__scopePopover:n,children:o,open:a,defaultOpen:i,onOpenChange:s,modal:l=!1}=e,d=y(n),f=r.useRef(null),[p,D]=r.useState(!1),[m,g]=(0,h.useControllableState)({prop:a,defaultProp:i??!1,onChange:s,caller:x});return(0,t.jsx)(c.Root,{...d,children:(0,t.jsx)(B,{scope:n,contentId:(0,u.useId)(),triggerRef:f,open:m,onOpenChange:g,onOpenToggle:r.useCallback(()=>g(e=>!e),[g]),hasCustomAnchor:p,onCustomAnchorAdd:r.useCallback(()=>D(!0),[]),onCustomAnchorRemove:r.useCallback(()=>D(!1),[]),modal:l,children:o})})};j.displayName=x;var E="PopoverAnchor",V=r.forwardRef((e,n)=>{let{__scopePopover:o,...a}=e,i=w(E,o),s=y(o),{onCustomAnchorAdd:l,onCustomAnchorRemove:u}=i;return r.useEffect(()=>(l(),()=>u()),[l,u]),(0,t.jsx)(c.Anchor,{...s,...a,ref:n})});V.displayName=E;var N="PopoverTrigger",k=r.forwardRef((e,r)=>{let{__scopePopover:a,...i}=e,s=w(N,a),l=y(a),u=(0,o.useComposedRefs)(r,s.triggerRef),d=(0,t.jsx)(p.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":W(s.open),...i,ref:u,onClick:(0,n.composeEventHandlers)(e.onClick,s.onOpenToggle)});return s.hasCustomAnchor?d:(0,t.jsx)(c.Anchor,{asChild:!0,...l,children:d})});k.displayName=N;var R="PopoverPortal",[S,C]=v(R,{forceMount:void 0}),P=e=>{let{__scopePopover:r,forceMount:n,children:o,container:a}=e,i=w(R,r);return(0,t.jsx)(S,{scope:r,forceMount:n,children:(0,t.jsx)(f.Presence,{present:n||i.open,children:(0,t.jsx)(d.Portal,{asChild:!0,container:a,children:o})})})};P.displayName=R;var O="PopoverContent",_=r.forwardRef((e,r)=>{let n=C(O,e.__scopePopover),{forceMount:o=n.forceMount,...a}=e,i=w(O,e.__scopePopover);return(0,t.jsx)(f.Presence,{present:o||i.open,children:i.modal?(0,t.jsx)(T,{...a,ref:r}):(0,t.jsx)(M,{...a,ref:r})})});_.displayName=O;var L=(0,D.createSlot)("PopoverContent.RemoveScroll"),T=r.forwardRef((e,a)=>{let i=w(O,e.__scopePopover),s=r.useRef(null),l=(0,o.useComposedRefs)(a,s),u=r.useRef(!1);return r.useEffect(()=>{let e=s.current;if(e)return(0,m.hideOthers)(e)},[]),(0,t.jsx)(g.RemoveScroll,{as:L,allowPinchZoom:!0,children:(0,t.jsx)(I,{...e,ref:l,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,n.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),u.current||i.triggerRef.current?.focus()}),onPointerDownOutside:(0,n.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;u.current=2===t.button||r},{checkForDefaultPrevented:!1}),onFocusOutside:(0,n.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),M=r.forwardRef((e,n)=>{let o=w(O,e.__scopePopover),a=r.useRef(!1),i=r.useRef(!1);return(0,t.jsx)(I,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(a.current||o.triggerRef.current?.focus(),t.preventDefault()),a.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(a.current=!0,"pointerdown"===t.detail.originalEvent.type&&(i.current=!0));let r=t.target;o.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&i.current&&t.preventDefault()}})}),I=r.forwardRef((e,r)=>{let{__scopePopover:n,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:u,disableOutsidePointerEvents:d,onEscapeKeyDown:f,onPointerDownOutside:p,onFocusOutside:D,onInteractOutside:h,...m}=e,g=w(O,n),x=y(n);return(0,s.useFocusGuards)(),(0,t.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:a,onUnmountAutoFocus:u,children:(0,t.jsx)(i.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:d,onInteractOutside:h,onEscapeKeyDown:f,onPointerDownOutside:p,onFocusOutside:D,onDismiss:()=>g.onOpenChange(!1),children:(0,t.jsx)(c.Content,{"data-state":W(g.open),role:"dialog",id:g.contentId,...x,...m,ref:r,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)"}})})})}),A="PopoverClose",z=r.forwardRef((e,r)=>{let{__scopePopover:o,...a}=e,i=w(A,o);return(0,t.jsx)(p.Primitive.button,{type:"button",...a,ref:r,onClick:(0,n.composeEventHandlers)(e.onClick,()=>i.onOpenChange(!1))})});z.displayName=A;var F=r.forwardRef((e,r)=>{let{__scopePopover:n,...o}=e,a=y(n);return(0,t.jsx)(c.Arrow,{...a,...o,ref:r})});function W(e){return e?"open":"closed"}F.displayName="PopoverArrow",e.s(["Anchor",0,V,"Arrow",0,F,"Close",0,z,"Content",0,_,"Popover",0,j,"PopoverAnchor",0,V,"PopoverArrow",0,F,"PopoverClose",0,z,"PopoverContent",0,_,"PopoverPortal",0,P,"PopoverTrigger",0,k,"Portal",0,P,"Root",0,j,"Trigger",0,k,"createPopoverScope",0,b],8178);var K=e.i(8178),K=K,H=e.i(65458);e.s(["Popover",0,function({...e}){return(0,t.jsx)(K.Root,{"data-slot":"popover",...e})},"PopoverContent",0,function({className:e,align:r="center",sideOffset:n=4,...o}){return(0,t.jsx)(K.Portal,{children:(0,t.jsx)(K.Content,{"data-slot":"popover-content",align:r,sideOffset:n,className:(0,H.cn)("z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden 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",e),...o})})},"PopoverTrigger",0,function({...e}){return(0,t.jsx)(K.Trigger,{"data-slot":"popover-trigger",...e})}],96652)},17056,74807,54260,11741,14485,e=>{"use strict";let t=(0,e.i(65174).default)("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);e.s(["LogOut",0,t],17056);var r=e.i(66499),n=e.i(79923);let o={stand:["....................",".........OO.........",".........DD.........",".........DD.........","....DDDDDDDDDDDD....","....DHHBBBBBBBWD....","..DBDBVVVVVVVVBDBD..","..DBDBVEEVVEEVBDBD..","..DBDBVEEVVEEVBDBD..","....DBVVVEEVVVBD....","....DBVVVVVVVVBD....","....DBBBBBBBBWWD....","....DDDDDDDDDDDD....",".....DDDDDDDDDD.....","...DBDBBDDDDOODBD...","...DBDHBDEEDBWDBD...","..DBDDBBDDDDBWDDBD..","..D.D..DB..BD..D.D..",".....DBBD..DBBD.....",".....DDDD..DDDD....."],blink:["....................",".........OO.........",".........DD.........",".........DD.........","....DDDDDDDDDDDD....","....DHHBBBBBBBWD....","..DBDBVVVVVVVVBDBD..","..DBDBVVVVVVVVBDBD..","..DBDBVEEVVEEVBDBD..","....DBVVVEEVVVBD....","....DBVVVVVVVVBD....","....DBBBBBBBBWWD....","....DDDDDDDDDDDD....",".....DDDDDDDDDD.....","...DBDBBDDDDOODBD...","...DBDHBDEEDBWDBD...","..DBDDBBDDDDBWDDBD..","..D.D..DB..BD..D.D..",".....DBBD..DBBD.....",".....DDDD..DDDD....."],walk1:["....................",".........OO.........",".........DD.........",".........DD.........","....DDDDDDDDDDDD....","....DHHBBBBBBBWD....","..DBDBVVVVVVVVBDBD..","..DBDBVEEVVEEVBDBD..","..DBDBVEEVVEEVBDBD..","....DBVVVEEVVVBD....","....DBVVVVVVVVBD....","....DBBBBBBBBWWD....","....DDDDDDDDDDDD....",".....DDDDDDDDDD.....","...DBDBBDDDDOODBD...","...DBDHBDEEDBWDBD...","..DBDDBBDDDDBWDDBD..","..D.D..DB....BDD.D..",".....DBBD..DBBD.....",".....DDDD..DDDD....."],walk2:["....................",".........OO.........",".........DD.........",".........DD.........","....DDDDDDDDDDDD....","....DHHBBBBBBBWD....","..DBDBVVVVVVVVBDBD..","..DBDBVEEVVEEVBDBD..","..DBDBVEEVVEEVBDBD..","....DBVVVEEVVVBD....","....DBVVVVVVVVBD....","....DBBBBBBBBWWD....","....DDDDDDDDDDDD....",".....DDDDDDDDDD.....","...DBDBBDDDDOODBD...","...DBDHBDEEDBWDBD...","..DBDDBBDDDDBWDDBD..","..D.D...DBBD...D.D..","........DBBD........","........DDDD........"],sit1:["....................",".......OO...........",".......DD...........","..DDDDDDDDDDDD......","..DHHBBBBBBBWD......","..DBVVVVVVVVBD......","..DBVEEVVEEVBD......","..DBVEEVVEEVBD......","..DBVVVEEVVVBD......","..DBVVVVVVVVBD......","..DBBBBBBBBWWD..LLLL","..DDDDDDDDDDDD..LSSL","....DDDDDDDD....LSSL","....DHBDEDBD....LLLL","....DBBDEDWDBB......","....DBBBBBBD..LLLLL.","....DDDDDDDD........","....................","....................","...................."],sit2:["....................",".......OO...........",".......DD...........","..DDDDDDDDDDDD......","..DHHBBBBBBBWD......","..DBVVVVVVVVBD......","..DBVEEVVEEVBD......","..DBVEEVVEEVBD......","..DBVVVEEVVVBD......","..DBVVVVVVVVBD......","..DBBBBBBBBWWD..LLLL","..DDDDDDDDDDDD..LSSL","....DDDDDDDD....LSLL","....DHBDEDBD....LLLL","....DBBDEDWDBB......","....DBBBBBBD..LLLLL.","....DDDDDDDD........","....................","....................","...................."],sitBlink:["....................",".......OO...........",".......DD...........","..DDDDDDDDDDDD......","..DHHBBBBBBBWD......","..DBVVVVVVVVBD......","..DBVVVVVVVVBD......","..DBVEEVVEEVBD......","..DBVVVEEVVVBD......","..DBVVVVVVVVBD......","..DBBBBBBBBWWD..LLLL","..DDDDDDDDDDDD..LSSL","....DDDDDDDD....LSSL","....DHBDEDBD....LLLL","....DBBDEDWDBB......","....DBBBBBBD..LLLLL.","....DDDDDDDD........","....................","....................","...................."]};e.s(["BLINK_DURATION_MS",0,160,"BLINK_MAX_INTERVAL_MS",0,6e3,"BLINK_MIN_INTERVAL_MS",0,3e3,"CLICK_DRAG_THRESHOLD_PX",0,5,"CORNER_MARGIN_PX",0,20,"IDLE_SIT_DELAY_MS",0,8e3,"PIXEL_GRID_SIZE",0,20,"ROBOT_CORNER_STORAGE_KEY",0,"forgebadger.robotCorner","ROBOT_FRAMES",0,o,"ROBOT_NUDGE_DURATION_MS",0,450,"ROBOT_SIZE_PX",0,88,"SIT_FRAME_INTERVAL_MS",0,500,"WALK_FRAME_INTERVAL_MS",0,140,"bubblePlacement",0,function(e){return{side:e.endsWith("right")?"left":"right",vertical:e.startsWith("top")?"below":"above"}},"cornerOffsetPosition",0,function(e,t,r,n){return{x:e.endsWith("right")?t.width-r-n:n,y:e.startsWith("top")?n:t.height-r-n}},"isRobotCorner",0,function(e){return"top-left"===e||"top-right"===e||"bottom-left"===e||"bottom-right"===e},"nearestCorner",0,function(e,t,r){let n=e<r.width/2?"left":"right",o=t<r.height/2?"top":"bottom";return`${o}-${n}`}],74807);let a={H:"hsl(240 5% 92%)",B:"hsl(240 5% 65%)",W:"hsl(240 5% 45%)",D:"hsl(240 9% 16%)",V:"hsl(240 12% 8%)",E:"hsl(var(--brand))",O:"hsl(24 95% 53%)",S:"hsl(var(--brand))",L:"hsl(240 5% 55%)"},i=new Set(["E","S"]);function s({frame:e,flip:t=!1,size:l=88,glow:u=!1,className:c}){let d=o[e],f=(0,n.useMemo)(()=>{let e=new Map;return d.forEach((t,r)=>{[...t].forEach((t,n)=>{if("."===t)return;let o=e.get(t);o?o.push({x:n,y:r}):e.set(t,[{x:n,y:r}])})}),[...e.entries()]},[d]);return(0,r.jsx)("svg",{width:l,height:l,viewBox:"0 0 20 20",shapeRendering:"crispEdges",className:c,style:{...t?{transform:"scaleX(-1)"}:void 0,filter:"drop-shadow(0 0 3px hsl(var(--brand) / 0.4)) drop-shadow(0 -1px 0 rgb(255 255 255 / 0.05)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.35))"},"aria-hidden":"true",children:f.map(([e,t])=>(0,r.jsx)("g",{className:i.has(e)?"forgebadger-robot-glow-layer":"O"===e?"forgebadger-robot-accent-pulse":void 0,children:t.map(({x:t,y:n})=>(0,r.jsx)("rect",{x:t,y:n,width:1,height:1,fill:a[e]},`${t}-${n}`))},e))})}var l=e.i(65458);let u={stand:{sheet:"stand",index:0,count:2},blink:{sheet:"stand",index:1,count:2},walk1:{sheet:"walk",index:0,count:2},walk2:{sheet:"walk",index:1,count:2},sit1:{sheet:"sit",index:0,count:3},sit2:{sheet:"sit",index:1,count:3},sitBlink:{sheet:"sit",index:2,count:3}},c=e=>`/pets/fb01/${e}.webp`;e.s(["RobotSprite",0,function({frame:e,flip:t=!1,size:o=88}){let{sheet:a,index:i,count:d}=u[e],[f,p]=(0,n.useState)(null),[D,h]=(0,n.useState)(null);return D===a?(0,r.jsx)(s,{frame:e,flip:t,size:o}):(0,r.jsx)("span",{"aria-hidden":"true","data-robot-frame":e,className:(0,l.cn)("pointer-events-none relative block overflow-hidden",t&&"-scale-x-100"),style:{width:o,height:o,backgroundImage:f===a?void 0:`url(${c("stand")})`,backgroundSize:"200% 100%",backgroundRepeat:"no-repeat"},children:(0,r.jsx)("img",{src:c(a),alt:"",draggable:!1,decoding:"async",width:192*d,height:192,className:"block max-w-none",style:{width:o*d,height:o,transform:`translateX(-${100*i/d}%)`,visibility:f===a?"visible":"hidden"},onLoad:()=>p(a),onError:()=>h(a)},a)})}],54260);let d=[{id:"robot",nameKey:"settings.petRobot",descriptionKey:"settings.petRobotDescription"}],f="robot",p="forgebadger.pet",D="forgebadger:pet-changed";function h(e){return d.some(t=>t.id===e)}function m(){try{let e=window.localStorage.getItem(p);return h(e)?e:f}catch{return f}}function g(e){function t(t){(t.key===p||null===t.key)&&e()}return window.addEventListener(D,e),window.addEventListener("storage",t),()=>{window.removeEventListener(D,e),window.removeEventListener("storage",t)}}e.s(["DEFAULT_PET_ID",0,f,"PET_OPTIONS",0,d,"readPetPreference",0,m,"subscribePetPreference",0,g,"writePetPreference",0,function(e){if(!h(e))return!1;try{window.localStorage.setItem(p,e)}catch{return!1}return window.dispatchEvent(new Event(D)),!0}],11741);let x=()=>f;e.s(["usePetPreference",0,function(){return(0,n.useSyncExternalStore)(g,m,x)}],14485)},91967,43250,72687,17256,e=>{"use strict";"u">typeof window&&window.document&&window.document.createElement,e.s(["composeEventHandlers",0,function(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n.defaultPrevented)return t?.(n)}}],91967);var t=e.i(79923),r=e.i(66499);e.s(["createContext",0,function(e,n){let o=t.createContext(n),a=e=>{let{children:n,...a}=e,i=t.useMemo(()=>a,Object.values(a));return(0,r.jsx)(o.Provider,{value:i,children:n})};return a.displayName=e+"Provider",[a,function(r){let a=t.useContext(o);if(a)return a;if(void 0!==n)return n;throw Error(`\`${r}\` must be used within \`${e}\``)}]},"createContextScope",0,function(e,n=[]){let o=[],a=()=>{let r=o.map(e=>t.createContext(e));return function(n){let o=n?.[e]||r;return t.useMemo(()=>({[`__scope${e}`]:{...n,[e]:o}}),[n,o])}};return a.scopeName=e,[function(n,a){let i=t.createContext(a),s=o.length;o=[...o,a];let l=n=>{let{scope:o,children:a,...l}=n,u=o?.[e]?.[s]||i,c=t.useMemo(()=>l,Object.values(l));return(0,r.jsx)(u.Provider,{value:c,children:a})};return l.displayName=n+"Provider",[l,function(r,o){let l=o?.[e]?.[s]||i,u=t.useContext(l);if(u)return u;if(void 0!==a)return a;throw Error(`\`${r}\` must be used within \`${n}\``)}]},function(...e){let r=e[0];if(1===e.length)return r;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let o=n.reduce((t,{useScope:r,scopeName:n})=>{let o=r(e)[`__scope${n}`];return{...t,...o}},{});return t.useMemo(()=>({[`__scope${r.scopeName}`]:o}),[o])}};return n.scopeName=r.scopeName,n}(a,...n)]}],43250);var n=globalThis?.document?t.useLayoutEffect:()=>{};e.s(["useLayoutEffect",0,n],72687),t[" useEffectEvent ".trim().toString()],t[" useInsertionEffect ".trim().toString()];var o=t[" useInsertionEffect ".trim().toString()]||n;Symbol("RADIX:SYNC_STATE"),e.s(["useControllableState",0,function({prop:e,defaultProp:r,onChange:n=()=>{},caller:a}){let[i,s,l]=function({defaultProp:e,onChange:r}){let[n,a]=t.useState(e),i=t.useRef(n),s=t.useRef(r);return o(()=>{s.current=r},[r]),t.useEffect(()=>{i.current!==n&&(s.current?.(n),i.current=n)},[n,i]),[n,a,s]}({defaultProp:r,onChange:n}),u=void 0!==e,c=u?e:i;{let r=t.useRef(void 0!==e);t.useEffect(()=>{let e=r.current;if(e!==u){let t=u?"controlled":"uncontrolled";console.warn(`${a} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}r.current=u},[u,a])}return[c,t.useCallback(t=>{if(u){let r="function"==typeof t?t(e):t;r!==e&&l.current?.(r)}else s(t)},[u,e,s,l])]}],17256)},33616,e=>{"use strict";var t=e.i(79923),r=e.i(72687),n=t[" useId ".trim().toString()]||(()=>void 0),o=0;e.s(["useId",0,function(e){let[a,i]=t.useState(n());return(0,r.useLayoutEffect)(()=>{e||i(e=>e??String(o++))},[e]),e||(a?`radix-${a}`:"")}])},36131,e=>{"use strict";var t=e.i(79923);e.s(["useCallbackRef",0,function(e){let r=t.useRef(e);return t.useEffect(()=>{r.current=e}),t.useMemo(()=>(...e)=>r.current?.(...e),[])}])},90088,e=>{"use strict";var t=e.i(79923),r=e.i(67928),n=e.i(72687),o=e=>{var o;let i,s,{present:l,children:u}=e,c=function(e){var r,o;let[i,s]=t.useState(),l=t.useRef(null),u=t.useRef(e),c=t.useRef("none"),[d,f]=(r=e?"mounted":"unmounted",o={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},t.useReducer((e,t)=>o[e][t]??e,r));return t.useEffect(()=>{let e=a(l.current);c.current="mounted"===d?e:"none"},[d]),(0,n.useLayoutEffect)(()=>{let t=l.current,r=u.current;if(r!==e){let n=c.current,o=a(t);e?f("MOUNT"):"none"===o||t?.display==="none"?f("UNMOUNT"):r&&n!==o?f("ANIMATION_OUT"):f("UNMOUNT"),u.current=e}},[e,f]),(0,n.useLayoutEffect)(()=>{if(i){let e,t=i.ownerDocument.defaultView??window,r=r=>{let n=a(l.current).includes(CSS.escape(r.animationName));if(r.target===i&&n&&(f("ANIMATION_END"),!u.current)){let r=i.style.animationFillMode;i.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===i.style.animationFillMode&&(i.style.animationFillMode=r)})}},n=e=>{e.target===i&&(c.current=a(l.current))};return i.addEventListener("animationstart",n),i.addEventListener("animationcancel",r),i.addEventListener("animationend",r),()=>{t.clearTimeout(e),i.removeEventListener("animationstart",n),i.removeEventListener("animationcancel",r),i.removeEventListener("animationend",r)}}f("ANIMATION_END")},[i,f]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:t.useCallback(e=>{l.current=e?getComputedStyle(e):null,s(e)},[])}}(l),d="function"==typeof u?u({present:c.isPresent}):t.Children.only(u),f=(0,r.useComposedRefs)(c.ref,(o=d,(s=(i=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?o.ref:(s=(i=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?o.props.ref:o.props.ref||o.ref));return"function"==typeof u||c.isPresent?t.cloneElement(d,{ref:f}):null};function a(e){return e?.animationName||"none"}o.displayName="Presence",e.s(["Presence",0,o])},20217,36984,e=>{"use strict";let t=(0,e.i(65174).default)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["default",0,t],36984),e.s(["XIcon",0,t],20217)},51895,e=>{"use strict";var t=e.i(79923),r=e.i(91967),n=e.i(67928),o=e.i(43250),a=e.i(33616),i=e.i(17256),s=e.i(48989),l=e.i(45424),u=e.i(32374),c=e.i(90088),d=e.i(80939),f=e.i(39340),p=e.i(6500),D=e.i(73772),h=e.i(52053),m=e.i(66499),g="Dialog",[x,v]=(0,o.createContextScope)(g),[b,y]=x(g),B=e=>{let{__scopeDialog:r,children:n,open:o,defaultOpen:s,onOpenChange:l,modal:u=!0}=e,c=t.useRef(null),d=t.useRef(null),[f,p]=(0,i.useControllableState)({prop:o,defaultProp:s??!1,onChange:l,caller:g});return(0,m.jsx)(b,{scope:r,triggerRef:c,contentRef:d,contentId:(0,a.useId)(),titleId:(0,a.useId)(),descriptionId:(0,a.useId)(),open:f,onOpenChange:p,onOpenToggle:t.useCallback(()=>p(e=>!e),[p]),modal:u,children:n})};B.displayName=g;var w="DialogTrigger",j=t.forwardRef((e,t)=>{let{__scopeDialog:o,...a}=e,i=y(w,o),s=(0,n.useComposedRefs)(t,i.triggerRef);return(0,m.jsx)(d.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":H(i.open),...a,ref:s,onClick:(0,r.composeEventHandlers)(e.onClick,i.onOpenToggle)})});j.displayName=w;var E="DialogPortal",[V,N]=x(E,{forceMount:void 0}),k=e=>{let{__scopeDialog:r,forceMount:n,children:o,container:a}=e,i=y(E,r);return(0,m.jsx)(V,{scope:r,forceMount:n,children:t.Children.map(o,e=>(0,m.jsx)(c.Presence,{present:n||i.open,children:(0,m.jsx)(u.Portal,{asChild:!0,container:a,children:e})}))})};k.displayName=E;var R="DialogOverlay",S=t.forwardRef((e,t)=>{let r=N(R,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,a=y(R,e.__scopeDialog);return a.modal?(0,m.jsx)(c.Presence,{present:n||a.open,children:(0,m.jsx)(P,{...o,ref:t})}):null});S.displayName=R;var C=(0,h.createSlot)("DialogOverlay.RemoveScroll"),P=t.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=y(R,r);return(0,m.jsx)(p.RemoveScroll,{as:C,allowPinchZoom:!0,shards:[o.contentRef],children:(0,m.jsx)(d.Primitive.div,{"data-state":H(o.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),O="DialogContent",_=t.forwardRef((e,t)=>{let r=N(O,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,a=y(O,e.__scopeDialog);return(0,m.jsx)(c.Presence,{present:n||a.open,children:a.modal?(0,m.jsx)(L,{...o,ref:t}):(0,m.jsx)(T,{...o,ref:t})})});_.displayName=O;var L=t.forwardRef((e,o)=>{let a=y(O,e.__scopeDialog),i=t.useRef(null),s=(0,n.useComposedRefs)(o,a.contentRef,i);return t.useEffect(()=>{let e=i.current;if(e)return(0,D.hideOthers)(e)},[]),(0,m.jsx)(M,{...e,ref:s,trapFocus:a.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,r.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),a.triggerRef.current?.focus()}),onPointerDownOutside:(0,r.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,r.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})}),T=t.forwardRef((e,r)=>{let n=y(O,e.__scopeDialog),o=t.useRef(!1),a=t.useRef(!1);return(0,m.jsx)(M,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(o.current||n.triggerRef.current?.focus(),t.preventDefault()),o.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));let r=t.target;n.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),M=t.forwardRef((e,r)=>{let{__scopeDialog:o,trapFocus:a,onOpenAutoFocus:i,onCloseAutoFocus:u,...c}=e,d=y(O,o),p=t.useRef(null),D=(0,n.useComposedRefs)(r,p);return(0,f.useFocusGuards)(),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:i,onUnmountAutoFocus:u,children:(0,m.jsx)(s.DismissableLayer,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":H(d.open),...c,ref:D,onDismiss:()=>d.onOpenChange(!1)})}),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(q,{titleId:d.titleId}),(0,m.jsx)(G,{contentRef:p,descriptionId:d.descriptionId})]})]})}),I="DialogTitle",A=t.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=y(I,r);return(0,m.jsx)(d.Primitive.h2,{id:o.titleId,...n,ref:t})});A.displayName=I;var z="DialogDescription",F=t.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=y(z,r);return(0,m.jsx)(d.Primitive.p,{id:o.descriptionId,...n,ref:t})});F.displayName=z;var W="DialogClose",K=t.forwardRef((e,t)=>{let{__scopeDialog:n,...o}=e,a=y(W,n);return(0,m.jsx)(d.Primitive.button,{type:"button",...o,ref:t,onClick:(0,r.composeEventHandlers)(e.onClick,()=>a.onOpenChange(!1))})});function H(e){return e?"open":"closed"}K.displayName=W;var U="DialogTitleWarning",[X,$]=(0,o.createContext)(U,{contentName:O,titleName:I,docsSlug:"dialog"}),q=({titleId:e})=>{let r=$(U),n=`\`${r.contentName}\` requires a \`${r.titleName}\` for the component to be accessible for screen reader users.
|
|
2
|
-
|
|
3
|
-
If you want to hide the \`${r.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
|
-
|
|
5
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${r.docsSlug}`;return t.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},G=({contentRef:e,descriptionId:r})=>{let n=$("DialogDescriptionWarning"),o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${n.contentName}}.`;return t.useEffect(()=>{let t=e.current?.getAttribute("aria-describedby");r&&t&&(document.getElementById(r)||console.warn(o))},[o,e,r]),null};e.s(["Close",0,K,"Content",0,_,"Description",0,F,"Dialog",0,B,"DialogClose",0,K,"DialogContent",0,_,"DialogDescription",0,F,"DialogOverlay",0,S,"DialogPortal",0,k,"DialogTitle",0,A,"DialogTrigger",0,j,"Overlay",0,S,"Portal",0,k,"Root",0,B,"Title",0,A,"Trigger",0,j,"WarningProvider",0,X,"createDialogScope",0,v],46951);var Z=e.i(46951);e.s(["Dialog",0,Z],51895)},9988,e=>{"use strict";var t=e.i(66499),r=e.i(20217),n=e.i(51895),o=e.i(65458),a=e.i(60218);function i({...e}){return(0,t.jsx)(n.Dialog.Portal,{"data-slot":"dialog-portal",...e})}function s({className:e,...r}){return(0,t.jsx)(n.Dialog.Overlay,{"data-slot":"dialog-overlay",className:(0,o.cn)("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...r})}e.s(["Dialog",0,function({...e}){return(0,t.jsx)(n.Dialog.Root,{"data-slot":"dialog",...e})},"DialogContent",0,function({className:e,children:a,showCloseButton:l=!0,...u}){return(0,t.jsxs)(i,{"data-slot":"dialog-portal",children:[(0,t.jsx)(s,{}),(0,t.jsxs)(n.Dialog.Content,{"data-slot":"dialog-content",className:(0,o.cn)("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 bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",e),...u,children:[a,l&&(0,t.jsxs)(n.Dialog.Close,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,t.jsx)(r.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"DialogDescription",0,function({className:e,...r}){return(0,t.jsx)(n.Dialog.Description,{"data-slot":"dialog-description",className:(0,o.cn)("text-sm text-muted-foreground",e),...r})},"DialogFooter",0,function({className:e,showCloseButton:r=!1,children:i,...s}){return(0,t.jsxs)("div",{"data-slot":"dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...s,children:[i,r&&(0,t.jsx)(n.Dialog.Close,{asChild:!0,children:(0,t.jsx)(a.Button,{variant:"outline",children:"Close"})})]})},"DialogHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",e),...r})},"DialogTitle",0,function({className:e,...r}){return(0,t.jsx)(n.Dialog.Title,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",e),...r})}])},80939,e=>{"use strict";var t=e.i(79923),r=e.i(29096),n=e.i(52053),o=e.i(66499),a=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let a=(0,n.createSlot)(`Primitive.${r}`),i=t.forwardRef((e,t)=>{let{asChild:n,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,o.jsx)(n?a:r,{...i,ref:t})});return i.displayName=`Primitive.${r}`,{...e,[r]:i}},{});e.s(["Primitive",0,a,"dispatchDiscreteCustomEvent",0,function(e,t){e&&r.flushSync(()=>e.dispatchEvent(t))}])},81622,e=>{"use strict";var t=e.i(66499),r=e.i(65458);e.s(["Input",0,function({className:e,type:n,...o}){return(0,t.jsx)("input",{type:n,"data-slot":"input",className:(0,r.cn)("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...o})}])},61614,e=>{"use strict";var t=e.i(79923),r=e.i(72687);e.s(["useSize",0,function(e){let[n,o]=t.useState(void 0);return(0,r.useLayoutEffect)(()=>{if(e){o({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let r,n;if(!Array.isArray(t)||!t.length)return;let a=t[0];if("borderBoxSize"in a){let e=a.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,n=t.blockSize}else r=e.offsetWidth,n=e.offsetHeight;o({width:r,height:n})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}o(void 0)},[e]),n}])},44269,e=>{"use strict";let t=(0,e.i(65174).default)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);e.s(["Search",0,t],44269)},14452,e=>{"use strict";var t=e.i(66499),r=e.i(20217),n=e.i(51895),o=e.i(65458);function a({...e}){return(0,t.jsx)(n.Dialog.Portal,{"data-slot":"sheet-portal",...e})}function i({className:e,...r}){return(0,t.jsx)(n.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,o.cn)("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...r})}e.s(["Sheet",0,function({...e}){return(0,t.jsx)(n.Dialog.Root,{"data-slot":"sheet",...e})},"SheetContent",0,function({className:e,children:s,side:l="right",showCloseButton:u=!0,...c}){return(0,t.jsxs)(a,{children:[(0,t.jsx)(i,{}),(0,t.jsxs)(n.Dialog.Content,{"data-slot":"sheet-content",className:(0,o.cn)("fixed z-50 flex flex-col gap-4 bg-background shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500","right"===l&&"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm","left"===l&&"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm","top"===l&&"inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top","bottom"===l&&"inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",e),...c,children:[s,u&&(0,t.jsxs)(n.Dialog.Close,{className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,t.jsx)(r.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"SheetDescription",0,function({className:e,...r}){return(0,t.jsx)(n.Dialog.Description,{"data-slot":"sheet-description",className:(0,o.cn)("text-sm text-muted-foreground",e),...r})},"SheetHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,o.cn)("flex flex-col gap-1.5 p-4",e),...r})},"SheetTitle",0,function({className:e,...r}){return(0,t.jsx)(n.Dialog.Title,{"data-slot":"sheet-title",className:(0,o.cn)("font-semibold text-foreground",e),...r})},"SheetTrigger",0,function({...e}){return(0,t.jsx)(n.Dialog.Trigger,{"data-slot":"sheet-trigger",...e})}])},90441,e=>{"use strict";let t=(0,e.i(65174).default)("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);e.s(["History",0,t],90441)},20553,2082,e=>{"use strict";var t=e.i(65174);let r=(0,t.default)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",0,r],20553);let n=(0,t.default)("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);e.s(["LayoutDashboard",0,n],2082)},23682,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"BailoutToCSR",{enumerable:!0,get:function(){return o}});let n=e.r(90003);function o({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new n.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},24960,(e,t,r)=>{"use strict";function n(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"encodeURIPath",{enumerable:!0,get:function(){return n}})},71866,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"PreloadChunks",{enumerable:!0,get:function(){return l}});let n=e.r(66499),o=e.r(29096),a=e.r(62818),i=e.r(24960),s=e.r(55661);function l({moduleIds:e}){if("u">typeof window)return null;let t=a.workAsyncStorage.getStore();if(void 0===t)return null;let r=[];if(t.reactLoadableManifest&&e){let n=t.reactLoadableManifest;for(let t of e){if(!n[t])continue;let e=n[t].files;r.push(...e)}}if(0===r.length)return null;let u=(0,s.getAssetTokenQuery)();return(0,n.jsx)(n.Fragment,{children:r.map(e=>{let r=`${t.assetPrefix}/_next/${(0,i.encodeURIPath)(e)}${u}`;return e.endsWith(".css")?(0,n.jsx)("link",{precedence:"dynamic",href:r,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,o.preload)(r,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},26375,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return u}});let n=e.r(66499),o=e.r(79923),a=e.r(23682),i=e.r(71866);function s(e){return{default:e&&"default"in e?e.default:e}}let l={loader:()=>Promise.resolve(s(()=>null)),loading:null,ssr:!0},u=function(e){let t={...l,...e},r=(0,o.lazy)(()=>t.loader().then(s)),u=t.loading;function c(e){let s=u?(0,n.jsx)(u,{isLoading:!0,pastDelay:!0,error:null}):null,l=!t.ssr||!!t.loading,c=l?o.Suspense:o.Fragment,d=t.ssr?(0,n.jsxs)(n.Fragment,{children:["u"<typeof window?(0,n.jsx)(i.PreloadChunks,{moduleIds:t.modules}):null,(0,n.jsx)(r,{...e})]}):(0,n.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(r,{...e})});return(0,n.jsx)(c,{...l?{fallback:s}:{},children:d})}return c.displayName="LoadableComponent",c}},15822,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(81258)._(e.r(26375));function o(e,t){let r={};"function"==typeof e&&(r.loader=e);let o={...r,...t};return(0,n.default)({...o,modules:o.loadableGenerated?.modules})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},5853,e=>{"use strict";var t=e.i(66499),r=e.i(79923),n=e.i(86059),o=e.i(20553),a=e.i(65174);let i=(0,a.default)("PanelLeftClose",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]),s=(0,a.default)("PanelLeftOpen",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);var l=e.i(44269),u=e.i(9988),c=e.i(60218),d=e.i(81622),f=e.i(41271),p=e.i(2082),D=e.i(71800);let h=(0,a.default)("FolderKanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]);var m=e.i(1061),g=e.i(9939);let x=(0,a.default)("LayoutTemplate",[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]]);var v=e.i(37902);let b=(0,a.default)("ChartColumn",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);var y=e.i(90441),B=e.i(17662),w=e.i(39867);let j=(0,a.default)("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);var E=e.i(17056),V=e.i(2021);let N=(0,a.default)("ChevronsLeft",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]),k=(0,a.default)("ChevronsRight",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var R=e.i(65458),S=e.i(96652),C=e.i(14452),P=e.i(43250),O=e.i(36131),_=e.i(72687),L=e.i(80939),T=e.i(46970);function M(){return()=>{}}var I="Avatar",[A,z]=(0,P.createContextScope)(I),[F,W]=A(I),K=r.forwardRef((e,n)=>{let{__scopeAvatar:o,...a}=e,[i,s]=r.useState("idle");return(0,t.jsx)(F,{scope:o,imageLoadingStatus:i,onImageLoadingStatusChange:s,children:(0,t.jsx)(L.Primitive.span,{...a,ref:n})})});K.displayName=I;var H="AvatarImage",U=r.forwardRef((e,n)=>{let{__scopeAvatar:o,src:a,onLoadingStatusChange:i=()=>{},...s}=e,l=W(H,o),u=function(e,{referrerPolicy:t,crossOrigin:n}){let o=(0,T.useSyncExternalStore)(M,()=>!0,()=>!1),a=r.useRef(null),i=o?(a.current||(a.current=new window.Image),a.current):null,[s,l]=r.useState(()=>q(i,e));return(0,_.useLayoutEffect)(()=>{l(q(i,e))},[i,e]),(0,_.useLayoutEffect)(()=>{let e=e=>()=>{l(e)};if(!i)return;let r=e("loaded"),o=e("error");return i.addEventListener("load",r),i.addEventListener("error",o),t&&(i.referrerPolicy=t),"string"==typeof n&&(i.crossOrigin=n),()=>{i.removeEventListener("load",r),i.removeEventListener("error",o)}},[i,n,t]),s}(a,s),c=(0,O.useCallbackRef)(e=>{i(e),l.onImageLoadingStatusChange(e)});return(0,_.useLayoutEffect)(()=>{"idle"!==u&&c(u)},[u,c]),"loaded"===u?(0,t.jsx)(L.Primitive.img,{...s,ref:n,src:a}):null});U.displayName=H;var X="AvatarFallback",$=r.forwardRef((e,n)=>{let{__scopeAvatar:o,delayMs:a,...i}=e,s=W(X,o),[l,u]=r.useState(void 0===a);return r.useEffect(()=>{if(void 0!==a){let e=window.setTimeout(()=>u(!0),a);return()=>window.clearTimeout(e)}},[a]),l&&"loaded"!==s.imageLoadingStatus?(0,t.jsx)(L.Primitive.span,{...i,ref:n}):null});function q(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}$.displayName=X,e.s(["Avatar",0,K,"AvatarFallback",0,$,"AvatarImage",0,U,"Fallback",0,$,"Image",0,U,"Root",0,K,"createAvatarScope",0,z],85609);var G=e.i(85609),G=G;function Z({className:e,size:r="default",...n}){return(0,t.jsx)(G.Root,{"data-slot":"avatar","data-size":r,className:(0,R.cn)("group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",e),...n})}function Y({className:e,...r}){return(0,t.jsx)(G.Fallback,{"data-slot":"avatar-fallback",className:(0,R.cn)("flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",e),...r})}var Q=e.i(47190),J=e.i(35887),ee=e.i(16381),et=e.i(84208),er=e.i(30811);let en=[{labelKey:"nav.dashboard",href:"/",icon:p.LayoutDashboard,group:"workspace"},{labelKey:"nav.projects",href:"/projects",icon:h,group:"workspace"},{labelKey:"nav.sessions",href:"/sessions",icon:m.TerminalSquare,group:"workspace"},{labelKey:"nav.copilot",href:"/copilot",icon:D.Bot,group:"workspace"},{labelKey:"nav.skills",href:"/skills",icon:g.Wrench,group:"resources"},{labelKey:"nav.templates",href:"/templates",icon:x,group:"resources"},{labelKey:"nav.models",href:"/models",icon:v.Brain,group:"resources"},{labelKey:"nav.usage",href:"/usage",icon:b,group:"system"},{labelKey:"nav.history",href:"/history",icon:y.History,group:"system"},{labelKey:"nav.members",href:"/members",icon:V.UsersRound,group:"system"},{labelKey:"nav.notifications",href:"/notifications",icon:w.Bell,group:"system"},{labelKey:"nav.settings",href:"/settings",icon:B.Settings,group:"system"}],eo=[{id:"workspace",labelKey:"nav.groupWorkspace"},{id:"resources",labelKey:"nav.groupResources"},{id:"system",labelKey:"nav.groupSystem"}];function ea({children:e}){let{t:n,language:o}=(0,J.useLanguage)(),{notifications:a}=(0,et.useNotifications)(),[i,s]=(0,r.useState)(!1),l=(0,er.latestUnread)(a,5);return(0,t.jsxs)(S.Popover,{open:i,onOpenChange:s,children:[(0,t.jsx)(S.PopoverTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"block",onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:e})}),(0,t.jsxs)(S.PopoverContent,{side:"right",align:"start",sideOffset:12,className:"w-72 p-0",onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),onOpenAutoFocus:e=>e.preventDefault(),children:[(0,t.jsx)("div",{className:"border-b border-border/70 px-3 py-2 text-xs font-semibold text-muted-foreground",children:n("notifications.title")}),0===l.length?(0,t.jsx)("div",{className:"px-3 py-4 text-center text-xs text-muted-foreground",children:n("notifications.noUnread")}):(0,t.jsx)("div",{className:"flex flex-col py-1",children:l.map(e=>(0,t.jsxs)(f.default,{href:e.href,onClick:()=>s(!1),className:"flex items-start gap-2 rounded px-3 py-2 transition-colors hover:bg-muted/40",children:[(0,t.jsx)("span",{className:"mt-1.5 size-1.5 shrink-0 rounded-full bg-brand"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block truncate text-[13px] font-medium",children:n(e.titleKey)}),(0,t.jsx)("span",{className:"block truncate text-[11px] text-muted-foreground",children:e.message}),(0,t.jsx)("span",{className:"block text-[11px] text-muted-foreground/70",children:(0,er.formatRelativeTime)(e.createdAt,o)})]})]},e.id))}),(0,t.jsx)("div",{className:"border-t border-border/70 p-1",children:(0,t.jsx)(f.default,{href:"/notifications",onClick:()=>s(!1),className:"flex h-8 items-center justify-center rounded text-xs font-medium text-muted-foreground transition-colors hover:bg-muted/40 hover:text-foreground",children:n("notifications.viewAll")})})]})]})}function ei({item:e,active:r,collapsed:n,unreadCount:o,unreadPreview:a=!1,onNavigate:i}){let{t:s}=(0,J.useLanguage)(),l="/notifications"===e.href&&o>0,u=(0,t.jsxs)(f.default,{href:e.href,onClick:i,"aria-label":n?s(e.labelKey):void 0,title:n?s(e.labelKey):void 0,"aria-current":r?"page":void 0,className:(0,R.cn)("group relative flex h-8 items-center gap-2.5 rounded-md text-[13px] font-medium transition-colors duration-150",n?"justify-center px-2":"px-2.5",r?"bg-brand/10 text-foreground":"text-muted-foreground hover:bg-white/[0.04] hover:text-foreground"),children:[(0,t.jsx)(e.icon,{className:(0,R.cn)("size-4 shrink-0 transition-colors duration-150",r?"text-brand":"text-muted-foreground/70 group-hover:text-foreground")}),(0,t.jsx)("span",{className:(0,R.cn)("min-w-0 flex-1 truncate",n&&"sr-only"),children:s(e.labelKey)}),l&&(0,t.jsx)("span",{className:(0,R.cn)("flex h-4 min-w-4 shrink-0 items-center justify-center rounded-full bg-destructive px-1 text-[10px] font-semibold text-destructive-foreground",n&&"absolute right-0.5 top-0.5 size-2 min-w-2 p-0 text-[0px]"),children:o>99?"99+":o})]});return"/notifications"!==e.href||n||!a?u:(0,t.jsx)(ea,{children:u})}function es({collapsed:e=!1,unreadPreview:r=!1,onNavigate:o}){var a;let i=(0,n.usePathname)(),{t:s}=(0,J.useLanguage)(),{unreadCount:l}=(0,et.useNotifications)(),{user:u}=(0,Q.useAuth)(),c=(a=en.filter(e=>!e.adminOnly||u?.role==="admin"),eo.map(e=>({...e,items:a.filter(t=>t.group===e.id)})).filter(e=>e.items.length>0));return(0,t.jsx)("nav",{className:"flex-1 overflow-y-auto px-2 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:c.map((n,a)=>(0,t.jsxs)("div",{className:(0,R.cn)(a>0&&"mt-3"),children:[e?a>0&&(0,t.jsx)("div",{className:"mx-2 my-2 h-px bg-border/60","aria-hidden":"true"}):(0,t.jsx)("div",{className:"px-2.5 pb-1 pt-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/50 select-none",children:s(n.labelKey)}),(0,t.jsx)("div",{className:"flex flex-col gap-0.5",children:n.items.map(n=>(0,t.jsx)(ei,{item:n,active:i===n.href||i.startsWith(`${n.href}/`),collapsed:e,unreadCount:l,unreadPreview:r,onNavigate:o},n.href))})]},n.id))})}function el({className:e}){return(0,t.jsx)("div",{className:(0,R.cn)("size-8 shrink-0 overflow-hidden rounded-lg",e),children:(0,t.jsx)("img",{src:ee.brandAssets.logoSvg,alt:"",className:"size-full translate-y-[1.2%] scale-[1.28] select-none object-cover","aria-hidden":"true",draggable:!1})})}function eu({collapsed:e=!1,onToggleCollapse:n}){let{user:o,logout:a}=(0,Q.useAuth)(),{t:i}=(0,J.useLanguage)(),[s,l]=(0,r.useState)(!1),u=o?.email?.slice(0,2).toUpperCase()??"??",d=(0,t.jsxs)("div",{className:"flex items-center gap-2.5 px-3 pb-3 select-none",children:[(0,t.jsx)(el,{}),(0,t.jsx)("div",{className:"min-w-0 text-[15px] font-semibold tracking-tight",children:"ForgeBadger"})]}),f=(0,t.jsx)("div",{className:"mt-auto border-t border-white/[0.06] px-2 py-2.5",children:(0,t.jsxs)("div",{className:"flex items-center gap-2.5 rounded-md px-1.5 py-1",children:[(0,t.jsx)(Z,{size:"sm",className:"size-6",children:(0,t.jsx)(Y,{className:"text-[10px]",children:u})}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-[13px] text-muted-foreground",children:o?.email??i("nav.guest")}),(0,t.jsx)(c.Button,{variant:"ghost",size:"icon-xs",className:"text-muted-foreground hover:text-foreground",onClick:()=>a(),"aria-label":i("nav.logout"),title:i("nav.logout"),children:(0,t.jsx)(E.LogOut,{className:"size-3.5"})})]})}),p=n?(0,t.jsx)("button",{type:"button",onClick:n,"aria-label":i(e?"nav.expandSidebar":"nav.collapseSidebar"),title:i(e?"nav.expandSidebar":"nav.collapseSidebar"),className:"absolute -right-3 top-1/2 z-20 flex size-6 -translate-y-1/2 items-center justify-center rounded-full border border-white/[0.08] bg-[#0b0f16] text-muted-foreground opacity-0 shadow-lg transition-opacity duration-150 hover:text-foreground focus-visible:opacity-100 group-hover/sidebar:opacity-100",children:e?(0,t.jsx)(k,{className:"size-3.5"}):(0,t.jsx)(N,{className:"size-3.5"})}):null;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"fixed left-4 top-4 z-50 md:hidden",children:(0,t.jsxs)(C.Sheet,{open:s,onOpenChange:l,children:[(0,t.jsx)(C.SheetTrigger,{asChild:!0,children:(0,t.jsx)(c.Button,{variant:"outline",size:"icon","aria-label":"Open navigation",children:(0,t.jsx)(j,{className:"size-5"})})}),(0,t.jsx)(C.SheetContent,{side:"left",className:"w-[232px] p-0",children:(0,t.jsxs)("div",{className:"flex h-full flex-col py-3",children:[(0,t.jsx)(C.SheetTitle,{className:"sr-only",children:"ForgeBadger navigation"}),d,(0,t.jsx)(es,{onNavigate:()=>l(!1)}),f]})})]})}),(0,t.jsxs)("aside",{className:(0,R.cn)("group/sidebar relative hidden h-full flex-col border-r border-white/[0.06] bg-[#080b10] bg-gradient-to-b from-white/[0.02] to-transparent py-3 transition-[width] duration-200 ease-out md:flex",e?"w-[60px]":"w-[220px]"),children:[p,e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"flex justify-center px-2 pb-3",children:(0,t.jsx)(el,{})}),(0,t.jsx)(es,{collapsed:!0}),(0,t.jsxs)("div",{className:"mt-auto flex flex-col items-center gap-2.5 border-t border-white/[0.06] px-2 pt-3",children:[(0,t.jsx)(Z,{size:"sm",className:"size-6",children:(0,t.jsx)(Y,{className:"text-[10px]",children:u})}),(0,t.jsx)(c.Button,{variant:"ghost",size:"icon-xs",className:"text-muted-foreground hover:text-foreground",onClick:()=>a(),"aria-label":i("nav.logout"),title:i("nav.logout"),children:(0,t.jsx)(E.LogOut,{className:"size-3.5"})})]})]}):(0,t.jsxs)(t.Fragment,{children:[d,(0,t.jsx)(es,{unreadPreview:!0}),f]})]})]})}function ec({open:e,onOpenChange:a,sidebarCollapsed:f,onToggleSidebar:p}){let D=(0,n.useRouter)(),{t:h}=(0,J.useLanguage)(),{user:m}=(0,Q.useAuth)(),[g,x]=(0,r.useState)(""),v=(0,r.useMemo)(()=>{let e=en.filter(e=>!e.adminOnly||m?.role==="admin");return[{id:"toggle-sidebar",label:f?h("commandPalette.showSidebar"):h("commandPalette.hideSidebar"),group:h("commandPalette.actions"),icon:f?s:i,action:()=>{p(),a(!1)}},...e.map(e=>({id:`nav:${e.href}`,label:h(e.labelKey),group:h("commandPalette.navigation"),icon:e.icon,action:()=>{D.push(e.href),a(!1)}}))]},[a,p,D,f,h,m?.role]),b=g.trim().toLowerCase(),y=b?v.filter(e=>e.label.toLowerCase().includes(b)):v;return(0,t.jsx)(u.Dialog,{open:e,onOpenChange:e=>{a(e),e||x("")},children:(0,t.jsxs)(u.DialogContent,{className:"gap-3 p-0 sm:max-w-xl",showCloseButton:!1,children:[(0,t.jsxs)(u.DialogHeader,{className:"border-b border-border px-4 py-3",children:[(0,t.jsx)(u.DialogTitle,{className:"text-base",children:h("commandPalette.title")}),(0,t.jsx)(u.DialogDescription,{children:h("commandPalette.description")})]}),(0,t.jsx)("div",{className:"px-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-border px-3 py-2",children:[(0,t.jsx)(l.Search,{className:"size-4 text-muted-foreground"}),(0,t.jsx)(d.Input,{autoFocus:!0,value:g,onChange:e=>x(e.target.value),className:"h-8 border-0 bg-transparent px-0 shadow-none focus-visible:ring-0",placeholder:h("commandPalette.placeholder")})]})}),(0,t.jsx)("div",{className:"max-h-[420px] overflow-y-auto px-2 pb-2",children:0===y.length?(0,t.jsx)("div",{className:"px-3 py-8 text-center text-sm text-muted-foreground",children:h("commandPalette.noResults")}):y.map(e=>(0,t.jsxs)(c.Button,{type:"button",variant:"ghost",className:"h-auto w-full justify-start gap-3 rounded-md px-3 py-3 text-left",onClick:e.action,children:[(0,t.jsx)(e.icon,{className:"size-4 text-muted-foreground"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block truncate text-sm font-medium",children:e.label}),(0,t.jsx)("span",{className:"mt-1 block text-xs text-muted-foreground",children:e.group})]}),(0,t.jsx)(o.ArrowRight,{className:"size-3 text-muted-foreground"})]},e.id))})]})})}var ed=e.i(15822),ef=e.i(20217),ep=e.i(54260),eD=e.i(1761),eh=e.i(89350),em=e.i(41338),eg=e.i(31231),ex=e.i(59173),ev=e.i(97480),ev=ev;let eb={info:eg.InfoIcon,success:em.CircleCheckIcon,warning:ev.default,error:ex.OctagonXIcon},ey={info:"size-4 text-brand",success:"size-4 text-emerald-400",warning:"size-4 text-amber-400",error:"size-4 text-red-400"};var eB=e.i(74807);function ew({onActivate:e,suppressBubbles:o=!1,panelOpen:a=!1}){let{t:i}=(0,J.useLanguage)(),s=(0,n.useRouter)(),{markRead:l}=(0,et.useNotifications)(),u=o||a,[c,d]=(0,r.useState)(null),[f,p]=(0,r.useState)("bottom-right"),[D,h]=(0,r.useState)("stand"),[m,g]=(0,r.useState)(!1),[x,v]=(0,r.useState)(!1),[b,y]=(0,r.useState)(!1),[B,w]=(0,r.useState)("walk1"),[j,E]=(0,r.useState)("sit1"),[V,N]=(0,r.useState)([]),k=(0,r.useRef)([]),[S,C]=(0,r.useState)(!1),P=(0,r.useRef)(null),O=(0,r.useRef)(null),_=(0,r.useRef)(null),L=(0,r.useRef)(null),T=(0,r.useRef)(null),M=(0,r.useRef)(D),I=(0,r.useRef)(f),A=(0,r.useRef)(o),z=function(){let[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=window.matchMedia("(prefers-reduced-motion: reduce)"),r=()=>t(!e.matches&&"visible"===document.visibilityState);return r(),e.addEventListener("change",r),document.addEventListener("visibilitychange",r),()=>{e.removeEventListener("change",r),document.removeEventListener("visibilitychange",r)}},[]),e}(),F=(0,r.useRef)(z);(0,r.useEffect)(()=>{F.current=z,!z&&(C(!1),T.current&&clearTimeout(T.current))},[z]),(0,r.useEffect)(()=>{M.current=D},[D]);let W=(0,r.useCallback)(()=>{let e=k.current.slice(1);k.current=e,N(e)},[]),K=V[0]??null;(0,r.useEffect)(()=>{A.current=u,u&&(k.current=[],N([]))},[u]),(0,r.useEffect)(()=>{let e=window.localStorage.getItem(eB.ROBOT_CORNER_STORAGE_KEY),t=(0,eB.isRobotCorner)(e)?e:"bottom-right";function r(){O.current||d((0,eB.cornerOffsetPosition)(I.current,ej(),eB.ROBOT_SIZE_PX,eB.CORNER_MARGIN_PX))}return p(t),I.current=t,d((0,eB.cornerOffsetPosition)(t,ej(),eB.ROBOT_SIZE_PX,eB.CORNER_MARGIN_PX)),window.addEventListener("resize",r),()=>window.removeEventListener("resize",r)},[]),(0,r.useEffect)(()=>{if("walk"===D||!z)return void y(!1);let e=!1,t=null,r=null;return!function n(){t=setTimeout(()=>{e||(y(!0),r=setTimeout(()=>{y(!1),e||n()},eB.BLINK_DURATION_MS))},eB.BLINK_MIN_INTERVAL_MS+Math.random()*(eB.BLINK_MAX_INTERVAL_MS-eB.BLINK_MIN_INTERVAL_MS))}(),()=>{e=!0,y(!1),t&&clearTimeout(t),r&&clearTimeout(r)}},[D,z]);let H=(0,r.useCallback)(()=>{h(e=>"sit"===e?"stand":e),_.current&&clearTimeout(_.current),z&&(_.current=setTimeout(()=>{"walk"!==M.current&&h("sit")},eB.IDLE_SIT_DELAY_MS))},[z]);(0,r.useEffect)(()=>(H(),()=>{_.current&&clearTimeout(_.current)}),[H]),(0,r.useEffect)(()=>{if("walk"!==D||!z)return void w("walk1");let e=setInterval(()=>w(e=>"walk1"===e?"walk2":"walk1"),eB.WALK_FRAME_INTERVAL_MS);return()=>clearInterval(e)},[D,z]),(0,r.useEffect)(()=>{if("sit"!==D||!z)return void E("sit1");let e=setInterval(()=>E(e=>"sit1"===e?"sit2":"sit1"),eB.SIT_FRAME_INTERVAL_MS);return()=>clearInterval(e)},[D,z]),(0,r.useEffect)(()=>{function e(e){if(!A.current)try{var t;let r=e.detail,n=(0,er.createNotificationFromEvent)(r);if(!n||!(0,eD.shouldTriggerBrowserNotification)(r,n))return;let o=(0,er.notificationContextParts)(n,{project:i("notifications.projectContext"),session:i("notifications.sessionContext"),cli:i("notifications.cliContext")}).join(" · "),a={id:n.id,title:i(n.titleKey),description:[o,n.message].filter(Boolean).join(" · "),href:n.href,tone:function(e,t){if("permission_prompt"===e)return"warning";if("error"===t.type)return"error";if("session_status_changed"===t.type){let e=t.payload?.new_status;if("completed"===e)return"success";if("error"===e)return"error"}return"info"}(n.notificationType,r),duration:(t=n.notificationType,"permission_prompt"===t?12e3:5e3),isPermissionPrompt:"permission_prompt"===n.notificationType},s=function(e,t,r=3){if(e.length<r)return{queue:[...e,t],accepted:!0,evicted:null};for(let r=1;r<e.length;r+=1){let n=e[r];if(n&&!n.isPermissionPrompt)return{queue:[...e.slice(0,r),...e.slice(r+1),t],accepted:!0,evicted:n}}return{queue:[...e],accepted:!1,evicted:null}}(k.current,a);k.current=s.queue,N(s.queue),F.current&&(C(!0),T.current&&clearTimeout(T.current),T.current=setTimeout(()=>C(!1),eB.ROBOT_NUDGE_DURATION_MS))}catch{}}return window.addEventListener(eh.FORGEBADGER_GATEWAY_EVENT,e),()=>{window.removeEventListener(eh.FORGEBADGER_GATEWAY_EVENT,e),T.current&&clearTimeout(T.current)}},[i]),(0,r.useEffect)(()=>{if(K)return L.current=setTimeout(()=>{W()},K.duration),()=>{L.current&&(clearTimeout(L.current),L.current=null)}},[K,W]);let U=(0,r.useCallback)((e,t)=>{let r=ej(),n=(0,eB.nearestCorner)(e,t,r);p(n),I.current=n,window.localStorage.setItem(eB.ROBOT_CORNER_STORAGE_KEY,n),d((0,eB.cornerOffsetPosition)(n,r,eB.ROBOT_SIZE_PX,eB.CORNER_MARGIN_PX))},[]),X=(0,r.useCallback)(()=>{let e=k.current[0];W(),e&&(l(e.id),s.push(e.href))},[W,l,s]),$=(0,r.useCallback)(()=>{let t=k.current[0];!a&&t&&(W(),l(t.id)),e()},[a,W,l,e]);if(!c)return null;let q=b?"sit"===D?"sitBlink":"blink":"walk"===D?B:"sit"===D?j:"stand",G=(0,eB.bubblePlacement)(f),Z=K?eb[K.tone]:null,Y=window.innerWidth,Q=Math.min(288,Math.max(Y-48,160)),ee=12-c.x,en=Y-Q-12-c.x,eo=eE((eB.ROBOT_SIZE_PX-Q)/2,ee,Math.max(ee,en)),ea=f.endsWith("right"),ei=ea!==("above"===G.vertical);return(0,t.jsxs)("div",{className:(0,R.cn)("fixed z-40",!m&&"transition-[left,top] duration-300 ease-out motion-reduce:transition-none"),style:{left:c.x,top:c.y,width:eB.ROBOT_SIZE_PX,height:eB.ROBOT_SIZE_PX},children:[(0,t.jsxs)("div",{ref:P,role:"button",tabIndex:0,"aria-label":i("nav.copilot"),"aria-expanded":a,className:(0,R.cn)("touch-none select-none rounded-md outline-none focus-visible:ring-2 focus-visible:ring-ring",m?"cursor-grabbing":"cursor-grab transition-transform duration-200 ease-out hover:-translate-y-0.5 active:translate-y-0 motion-reduce:transition-none motion-reduce:hover:translate-y-0"),onPointerDown:function(e){0===e.button&&c&&(P.current?.setPointerCapture(e.pointerId),O.current={startX:e.clientX,startY:e.clientY,directionX:e.clientX,baseX:c.x,baseY:c.y,moved:!1},H())},onPointerMove:function(e){let t=O.current;if(!t)return;let r=e.clientX-t.startX,n=e.clientY-t.startY;if(!t.moved){if(Math.hypot(r,n)<eB.CLICK_DRAG_THRESHOLD_PX)return;t.moved=!0,g(!0),h("walk")}let o=e.clientX-t.directionX;Math.abs(o)>2&&(v(o>0),t.directionX=e.clientX);let a=ej();d({x:eE(t.baseX+r,0,a.width-eB.ROBOT_SIZE_PX),y:eE(t.baseY+n,0,a.height-eB.ROBOT_SIZE_PX)}),H()},onPointerUp:function(e){let t=O.current;if(t){if(O.current=null,P.current?.releasePointerCapture(e.pointerId),!t.moved){$(),H();return}g(!1),h("stand"),U(e.clientX,e.clientY),H()}},onPointerCancel:()=>{O.current=null,g(!1),h("stand"),U(c.x,c.y)},onPointerEnter:H,onKeyDown:function(e){("Enter"===e.key||" "===e.key)&&(e.preventDefault(),$())},children:[(0,t.jsx)("span",{"aria-hidden":"true",className:(0,R.cn)("pointer-events-none absolute -bottom-1 left-1/2 h-[7px] w-[72%] -translate-x-1/2 rounded-full bg-black/60 blur-[3px]",!m&&"stand"===D&&z&&"forgebadger-robot-ground-shadow")}),(0,t.jsx)("div",{className:S?"forgebadger-robot-nudge":void 0,children:(0,t.jsx)("div",{className:(0,R.cn)(!m&&"stand"===D&&z&&"forgebadger-robot-idle-bob",K&&z&&"forgebadger-robot-alert rounded-md"),children:(0,t.jsx)(ep.RobotSprite,{frame:q,flip:x,size:eB.ROBOT_SIZE_PX})})})]}),K&&Z&&(0,t.jsxs)("div",{className:(0,R.cn)("forgebadger-bubble-pop absolute rounded-lg border-[1.5px] border-zinc-900 bg-zinc-50 p-3 text-zinc-900 shadow-lg shadow-black/40","above"===G.vertical?"bottom-[calc(100%+8px)]":"top-[calc(100%+8px)]"),style:{left:eo,width:Q},children:[(0,t.jsxs)("svg",{"aria-hidden":"true",viewBox:"0 0 18 12",className:(0,R.cn)("absolute h-3 w-[18px]",ea?"right-2.5":"left-2.5","above"===G.vertical?"-bottom-[10px]":"-top-[10px]",ei&&"-scale-x-100","below"===G.vertical&&"rotate-180"),children:[(0,t.jsx)("path",{d:"M0 0 H18 L6 12 Z",fill:"#fafafa"}),(0,t.jsx)("path",{d:"M18 0 L6 12 L0 0",fill:"none",stroke:"#18181b",strokeWidth:"1.5",strokeLinejoin:"miter"})]}),(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsxs)("p",{className:"flex items-start gap-1.5 text-sm font-semibold leading-snug",children:[(0,t.jsx)(Z,{className:(0,R.cn)(ey[K.tone],"mt-px shrink-0")}),K.title]}),(0,t.jsx)("button",{type:"button","aria-label":i("common.close"),className:"-mr-1 -mt-0.5 shrink-0 rounded-md p-1 text-zinc-400 transition-colors hover:bg-zinc-900/10 hover:text-zinc-700",onClick:W,children:(0,t.jsx)(ef.XIcon,{className:"size-3.5","aria-hidden":"true"})})]}),K.description&&(0,t.jsx)("p",{className:"mt-1 line-clamp-2 pl-[22px] text-xs leading-relaxed text-zinc-500",children:K.description}),(0,t.jsx)("div",{className:"mt-2.5 flex items-center gap-1.5 pl-[22px]",children:(0,t.jsx)("button",{type:"button",className:"h-7 rounded-md bg-zinc-900 px-3 text-xs font-medium text-zinc-50 transition-colors hover:bg-zinc-700",onClick:X,children:i("notifications.openSession")})})]})]})}function ej(){return{width:window.innerWidth,height:window.innerHeight}}function eE(e,t,r){return Math.min(Math.max(e,t),Math.max(t,r))}var eV=e.i(14485);let eN=(0,ed.default)(()=>e.A(69120).then(e=>e.RobotChatPanel),{loadableGenerated:{modules:[95848]},ssr:!1});function ek(){let e=(0,n.useRouter)(),o=(0,n.usePathname)(),a=(0,eV.usePetPreference)(),[i,s]=(0,r.useState)(!1),l=(0,r.useCallback)(()=>{s(e=>!e)},[]),u=(0,r.useCallback)(t=>{s(!1),e.push(t?`/copilot?c=${encodeURIComponent(t)}`:"/copilot")},[e]);return(0,t.jsxs)("div",{"data-floating-copilot":!0,"data-pet":a,children:["robot"===a&&(0,t.jsx)(ew,{onActivate:l,suppressBubbles:"/copilot"===o,panelOpen:i}),i&&(0,t.jsx)(eN,{onClose:()=>s(!1),onExpandFull:u})]})}function eR(e){return!!(e.ctrlKey||e.metaKey)}function eS({children:e}){let o=(0,n.usePathname)(),[a,i]=(0,r.useState)(!1),[s,l]=(0,r.useState)(!1),u=/^\/sessions\/[^/]+/u.test(o??"");return(0,r.useEffect)(()=>{function e(e){if(function(e){if(e.isTerminalRoute||e.targetClosestXterm||e.targetIsContentEditable)return!1;let t=e.targetTagName?.toLowerCase();return"input"!==t&&"textarea"!==t&&"select"!==t}(function(e,t={}){let r=e.target instanceof Element?e.target:null;return{isTerminalRoute:t.isTerminalRoute,targetTagName:r?.tagName,targetIsContentEditable:r instanceof HTMLElement&&r.isContentEditable,targetClosestXterm:!!r?.closest(".xterm")}}(e,{isTerminalRoute:u}))){if(eR(e)&&!e.altKey&&!e.shiftKey&&"b"===e.key.toLowerCase()){e.preventDefault(),i(e=>!e);return}eR(e)&&!e.altKey&&"k"===e.key.toLowerCase()&&(e.preventDefault(),l(e=>!e))}}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[u]),(0,t.jsxs)("div",{className:"flex h-dvh w-full overflow-hidden bg-background text-foreground",children:[(0,t.jsx)("a",{href:"#main-content",className:"sr-only focus:not-sr-only focus:fixed focus:left-4 focus:top-4 focus:z-[60] focus:rounded-md focus:bg-background focus:px-3 focus:py-2 focus:text-sm focus:text-foreground focus:ring-2 focus:ring-ring",children:"Skip to content"}),(0,t.jsx)(eu,{collapsed:a,onToggleCollapse:()=>i(e=>!e)}),(0,t.jsx)("main",{id:"main-content",tabIndex:-1,className:u?"flex h-full min-h-0 min-w-0 flex-1 flex-col overflow-hidden":"h-full min-h-0 min-w-0 flex-1 overflow-auto",children:e}),(0,t.jsx)(ec,{open:s,onOpenChange:l,sidebarCollapsed:a,onToggleSidebar:()=>i(e=>!e)}),(0,t.jsx)(ek,{})]})}e.s(["default",0,function({children:e}){let o=(0,n.useRouter)(),{user:a,isLoading:i}=(0,Q.useAuth)();return((0,r.useEffect)(()=>{i||a||o.replace(`/login?next=${encodeURIComponent(window.location.pathname+window.location.search)}`)},[i,a,o]),i)?(0,t.jsx)("div",{className:"flex h-screen w-screen items-center justify-center bg-background",children:(0,t.jsx)("div",{className:"text-muted-foreground",children:"Loading..."})}):a?(0,t.jsx)(eS,{children:e}):null}],5853)},69120,e=>{e.v(t=>Promise.all(["static/chunks/0q~8nf7do6jft.js","static/chunks/0mx93hpu5af8p.js"].map(t=>e.l(t))).then(()=>t(95848)))}]);
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83871,e=>{"use strict";var t=e.i(66499),s=e.i(86059),r=e.i(41271),n=e.i(79923),i=e.i(78717),a=e.i(85426),o=e.i(6270),l=e.i(34558),d=e.i(63853),c=e.i(25964),u=e.i(540),m=e.i(29685),x=e.i(25936),f=e.i(90441),p=e.i(26949);let h=(0,e.i(65174).default)("Minimize2",[["polyline",{points:"4 14 10 14 10 20",key:"11kfnr"}],["polyline",{points:"20 10 14 10 14 4",key:"rlmsce"}],["line",{x1:"14",x2:"21",y1:"10",y2:"3",key:"o5lafz"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);var g=e.i(60218),v=e.i(62918),b=e.i(88010),j=e.i(17955),y=e.i(26904),k=e.i(70537),N=e.i(68229),w=e.i(38355),C=e.i(80078),S=e.i(63548),P=e.i(35887),z=e.i(47721),T=e.i(65458);function R({sessionId:s,authToken:r,open:i,onClose:a}){let{t:o}=(0,P.useLanguage)(),l=(0,n.useRef)(null),d=(0,n.useRef)(null),c=(0,n.useRef)(null),u=(0,n.useRef)(null),[m,x]=(0,n.useState)("idle"),[f,p]=(0,n.useState)(""),h=(0,n.useCallback)(async()=>(0,z.fetchJson)(`/api/v1/sessions/${s}/output`),[s]),v=(0,n.useCallback)(e=>{u.current=e;let t=d.current;t&&(t.reset(),e.output&&t.write(e.output))},[]),b=(0,n.useCallback)(async()=>{x("loading"),p("");try{let e=await h();v(e),x("ready")}catch(e){p(e instanceof Error?e.message:String(e)),x("error")}},[h,v]);if((0,n.useEffect)(()=>{if(!i)return;let t=!1;return Promise.all([e.A(2851),e.A(90158)]).then(([e,s])=>{if(t)return;let r=l.current;if(!r)return;let n=new e.Terminal({scrollback:1e5,cursorBlink:!1,fontFamily:'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace',fontSize:14,theme:{background:"#05070a",foreground:"#e5edf7",cursor:"#5cc8ff"}});n.attachCustomKeyEventHandler(()=>!1);let i=new s.FitAddon;n.loadAddon(i),n.open(r),d.current=n,c.current=i,i.fit();let a=u.current;a&&(n.reset(),a.output&&n.write(a.output))}),()=>{t=!0,d.current?.dispose(),d.current=null,c.current=null}},[i]),(0,n.useEffect)(()=>{if(i){if(!r){x("error"),p(o("terminal.historyLoadFailed"));return}b()}},[i,r,b,o]),(0,n.useEffect)(()=>{if(!i)return;let e=()=>c.current?.fit();e(),window.addEventListener("resize",e);let t="u"<typeof ResizeObserver?null:new ResizeObserver(e),s=l.current;return t&&s&&t.observe(s),()=>{window.removeEventListener("resize",e),t?.disconnect()}},[i]),!i)return null;let j="ready"===m&&(!u.current||0===u.current.lineCount);return(0,t.jsxs)("div",{"data-testid":"session-output-history",className:"absolute inset-0 z-20 flex flex-col overflow-hidden bg-[#05070a]",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center justify-between gap-2 border-b border-border bg-muted/40 px-3 py-2 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{className:"truncate font-medium",children:o("terminal.historyOutput")}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,t.jsx)(g.Button,{type:"button",variant:"ghost",size:"icon-sm",className:"size-6 text-muted-foreground hover:text-foreground",onClick:()=>void b(),disabled:"loading"===m,title:o("terminal.historyRefresh"),"aria-label":o("terminal.historyRefresh"),children:(0,t.jsx)(C.RefreshCw,{className:(0,T.cn)("size-3.5","loading"===m&&"animate-spin")})}),(0,t.jsx)(g.Button,{type:"button",variant:"ghost",size:"icon-sm",className:"size-6 text-muted-foreground hover:text-foreground",onClick:a,title:o("common.close"),"aria-label":o("common.close"),children:(0,t.jsx)(S.X,{className:"size-3.5"})})]})]}),(0,t.jsxs)("div",{className:"relative min-h-0 flex-1 overflow-hidden p-2",children:[(0,t.jsx)("div",{ref:l,"data-testid":"session-output-history-host",className:"h-full min-h-0 [&_.xterm-cursor]:!opacity-0 [&_.xterm-screen]:!h-full [&_.xterm-viewport]:!h-full [&_.xterm]:h-full"}),"loading"===m&&(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-black/50 text-sm text-muted-foreground",children:o("common.loading")}),"error"===m&&(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-black/60",children:(0,t.jsxs)("div",{className:"max-w-sm rounded-md border border-destructive/50 bg-destructive/10 p-4 text-center",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-destructive",children:o("terminal.historyLoadFailed")}),(0,t.jsx)("p",{className:"mt-1 break-words text-xs text-destructive/80",children:f}),(0,t.jsx)(g.Button,{type:"button",variant:"outline",size:"sm",className:"mt-3",onClick:()=>void b(),children:o("terminal.historyRefresh")})]})}),j&&(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center text-sm text-muted-foreground",children:o("terminal.historyEmpty")})]})]})}async function A(e,t=globalThis.navigator?.clipboard){let s=e.getSelection();if(!s)return!1;if(t?.writeText)return await t.writeText(s),!0;if("u"<typeof document)return!1;let r=document.createElement("textarea");r.value=s,r.setAttribute("readonly","true"),r.style.position="fixed",r.style.left="-9999px",document.body.appendChild(r),r.select();try{return document.execCommand("copy")}finally{document.body.removeChild(r)}}let E=/\x1b\[[0-9;?]*[a-zA-Z]|\x1b\][^\x07]*\x07|\x1b[a-zA-Z]/g;function _(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function L(e,t){e.current?.dispose(),e.current=t}var O=e.i(57408);let F=[1e3,2e3,5e3,1e4,3e4];function B({sessionId:s,authToken:r,attachToken:l,historyOpen:d=!1,onHistoryClose:c}){let u,m,{t:x}=(0,P.useLanguage)(),f=(u=(0,i.useQuery)({queryKey:["session-writer",s],queryFn:()=>(0,w.getSessionWriter)(s),refetchInterval:2e3}),m=(0,a.useMutation)({mutationFn:()=>(0,w.takeoverSession)(s),onSuccess:async()=>{await u.refetch()}}),{readOnly:!u.data||u.isError||"automated"===u.data.mode,loading:u.isPending,error:u.error??m.error,takingOver:m.isPending,takeover:()=>m.mutate(),refresh:()=>void u.refetch()}),p=(0,o.useQueryClient)(),h=(0,n.useRef)(f);h.current=f;let v=(0,n.useRef)(null),b=(0,n.useRef)(null),j=(0,n.useRef)(null),y=(0,n.useRef)(null),C=(0,n.useRef)(null),S=(0,n.useRef)(0),I=(0,n.useRef)(null),M=(0,n.useRef)(null),$=(0,n.useRef)(function(e=48){let t="",s="normal";return{push(r){for(let n=0;n<r.length;n+=1){let i=r.charAt(n),a=i.charCodeAt(0);if("\r"===i||"\n"===i){s="normal";let r=function(){let s=t.replace(E," ").replace(/\s+/g," ").trim();return(t="",s.length<2)?null:s.slice(0,e)}();if(null!==r)return r;continue}if("escape"===s){s="["===i?"csi":"O"===i?"ss3":"]"===i?"osc":"P"===i||"_"===i||"^"===i||"X"===i?"string":"normal";continue}if("csi"===s||"ss3"===s){a>=64&&a<=126&&(s="normal");continue}if("osc"===s){"\x07"===i?s="normal":"\x1b"===i&&(s="osc_escape");continue}if("osc_escape"===s){s="\\"===i?"normal":"osc";continue}if("string"===s){"\x1b"===i&&(s="string_escape");continue}if("string_escape"===s){s="\\"===i?"normal":"string";continue}if("\x1b"===i){s="escape";continue}if(""===i||"\b"===i){t=t.slice(0,-1);continue}a>=32&&127!==a&&(t=(t+i).slice(-240))}return null},reset(){t="",s="normal"}}}()),q=(0,n.useRef)(null),Q=(0,n.useRef)(!0),D=(0,n.useRef)(0),K=(0,n.useRef)(!0),[H,W]=(0,n.useState)("connecting"),[U,V]=(0,n.useState)(0),[G,Z]=(0,n.useState)(!1),[J,Y]=(0,n.useState)(!0),X=(0,n.useCallback)((e,t)=>{(0,z.updateSessionLastPrompt)(e,t).then(()=>p.invalidateQueries({queryKey:["sessions-board"]})).catch(e=>{console.warn("Failed to report session last prompt",e)})},[p]),ee=(0,n.useCallback)(()=>{null!==C.current&&(clearTimeout(C.current),C.current=null)},[]),et=(0,n.useCallback)(()=>{let e=b.current;if(!e)return;let t=e.buffer.active,s="normal"!==t.type||t.viewportY>=t.baseY;K.current!==s&&(K.current=s,Y(s))},[]),es=(0,n.useCallback)(()=>{let e=b.current;if(!e)return;let t=e.buffer.active;"normal"!==t.type||t.viewportY>=t.baseY||Date.now()-D.current<1e4||(e.scrollToBottom(),et())},[et]),er=(0,n.useCallback)(()=>{let e=b.current;e&&(e.scrollToBottom(),D.current=0,K.current=!0,Y(!0))},[]),en=(0,n.useCallback)((e=!1)=>{var t,s,r;let n=b.current,i=j.current;if(!n||!i)return;i.fit();let a=y.current;if(!a||a.readyState!==WebSocket.OPEN)return;let o=q.current,l=!o||o.cols!==n.cols||o.rows!==n.rows;if(!e&&!l)return;let d=(s=(t={cols:n.cols,rows:n.rows}).cols,r=t.rows,Number.isInteger(s)&&Number.isInteger(r)&&s>0&&r>0&&s<=500&&r<=200)?JSON.stringify({type:"terminal_resize",payload:{cols:t.cols,rows:t.rows}}):null;d&&(a.send(d),q.current={cols:n.cols,rows:n.rows})},[]),ei=(0,n.useCallback)(()=>{if(!Q.current||!G)return;if(!r||!l)return void W("disconnected");let e=new WebSocket((0,O.terminalWebSocketUrl)(s),(0,O.terminalWebSocketProtocols)(r,l));y.current=e,e.addEventListener("open",()=>{Q.current&&y.current===e&&(S.current=0,V(0),W("connected"),q.current=null,en(!0),window.setTimeout(()=>{Q.current&&en()},400))}),e.addEventListener("message",t=>{let s=b.current;if(!s||!Q.current||y.current!==e)return;let r=function(e){let t;if("string"!=typeof e)return null;try{t=JSON.parse(e)}catch{return null}if(!_(t)||!_(t.payload))return null;if(("terminal_output"===t.type||"terminal_history"===t.type)&&"string"==typeof t.payload.data){let e=t.payload.sequence;return void 0!==e&&("number"!=typeof e||!Number.isSafeInteger(e)||e<=0)?null:{type:t.type,payload:{data:t.payload.data,...void 0===e?{}:{sequence:e}}}}return"terminal_exit"===t.type&&"number"==typeof t.payload.exitCode&&Number.isInteger(t.payload.exitCode)?{type:"terminal_exit",payload:{exitCode:t.payload.exitCode}}:"terminal_error"===t.type&&"string"==typeof t.payload.message?{type:"terminal_error",payload:{message:t.payload.message}}:null}(String(t.data));r&&("terminal_history"===r.type&&s.reset(),("terminal_history"===r.type||"terminal_output"===r.type)&&(es(),s.write(r.payload.data,()=>{et(),void 0!==r.payload.sequence&&Q.current&&y.current===e&&e.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"terminal_ack",payload:{sequence:r.payload.sequence}}))})),"terminal_exit"===r.type&&(ee(),L(I,null),y.current=null,e.close(1e3),W("disconnected"),h.current.refresh()),"terminal_error"===r.type&&(h.current.refresh(),s.writeln(`\r
|
|
2
|
-
[forgebadger] ${r.payload.message}`)))}),e.addEventListener("close",t=>{let s;if(!Q.current||y.current!==e)return;if(y.current=null,[1e3,4e3,4403,4404].includes(t.code)||t.wasClean&&![1011,4001].includes(t.code)){L(I,null),W("disconnected");return}L(I,null);let r=S.current+1;(S.current=r,V(r),r>10)?W("failed"):(W("reconnecting"),C.current=setTimeout(()=>{C.current=null,ei()},(s=Math.min(r-1,F.length-1),F[s])))});let t=b.current;t&&(L(I,null),L(I,t.onData(t=>{if(h.current.readOnly)return;let r=$.current.push(t);r&&((0,k.setSessionTabPrompt)(s,r),(0,k.notifySessionTabsChanged)(),X(s,r)),e.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"terminal_input",payload:{data:t}}))})))},[s,r,l,G,en,ee,es,et,X]),ea=(0,n.useCallback)(()=>{ee(),S.current=0,V(0),y.current&&(y.current.close(),y.current=null),W("connecting"),ei()},[ee,ei]);(0,n.useEffect)(()=>{let t=!1,s=null,r=e=>{e.deltaY<0&&(D.current=Date.now())},n=window.setTimeout(()=>{Promise.all([e.A(2851),e.A(90158)]).then(([e,n])=>{let i=v.current;if(t||!i)return;let a=new e.Terminal({cursorBlink:!0,fontFamily:'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace',fontSize:14,theme:{background:"#05070a",foreground:"#e5edf7",cursor:"#5cc8ff"}});a.attachCustomKeyEventHandler(e=>!("keydown"===e.type&&function(e,t){if(!t)return!1;let s="c"===e.key.toLowerCase(),r=e.ctrlKey||e.metaKey,n=e.altKey||e.shiftKey;return s&&r&&!n}(e,a.hasSelection()))||(e.preventDefault(),A(a),!1)),a.attachCustomWheelEventHandler(e=>{var t,s;return"suppress"!=(t=a.buffer.active.type,s="none"!==a.modes.mouseTrackingMode,"alternate"!==t||s?"allow":"suppress")||(e.preventDefault(),!1)});let o=new n.FitAddon;a.loadAddon(o),a.open(i),b.current=a,j.current=o,s=a.onScroll(et),i.addEventListener("wheel",r,{capture:!0,passive:!0}),window.requestAnimationFrame(()=>{t||(o.fit(),Z(!0))})})},0);return()=>{t=!0,window.clearTimeout(n),Z(!1),s?.dispose(),v.current?.removeEventListener("wheel",r,{capture:!0}),b.current?.dispose(),b.current=null,j.current=null}},[et]),(0,n.useEffect)(()=>{if(G)return r&&l?(Q.current=!0,W("connecting"),ei(),()=>{Q.current=!1,ee(),L(I,null),y.current&&(y.current.close(),y.current=null)}):void W("disconnected")},[r,l,ei,ee,G]),(0,n.useEffect)(()=>{if(!G)return;let e=()=>en(),t=()=>{"visible"===document.visibilityState&&en()};e(),window.addEventListener("resize",e),document.addEventListener("visibilitychange",t),M.current=e;let s="u"<typeof ResizeObserver?null:new ResizeObserver(e),r=v.current;return s&&r&&(s.observe(r),r.parentElement&&s.observe(r.parentElement)),()=>{window.removeEventListener("resize",e),document.removeEventListener("visibilitychange",t),s?.disconnect(),M.current=null}},[G,en]);let eo="reconnecting"===H,el="failed"===H,ed="connected"!==H,ec="connected"===H?"bg-emerald-500":"reconnecting"===H?"bg-amber-400":"failed"===H?"bg-red-500":"bg-muted-foreground";return(0,t.jsxs)("div",{"data-testid":"terminal-frame",className:(0,T.cn)("grid h-full min-h-0 overflow-hidden bg-[#05070a]",ed?"grid-rows-[auto_minmax(0,1fr)]":"grid-rows-[minmax(0,1fr)]"),children:[ed&&(0,t.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2 border-b border-border bg-muted/40 px-3 py-2 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{className:(0,T.cn)("size-2 rounded-full",ec),"aria-hidden":"true"}),(0,t.jsx)("span",{"aria-live":"polite",children:H}),U>0&&(0,t.jsxs)("span",{className:"text-amber-300",children:[U,"/",10]}),(0,t.jsxs)("span",{className:"min-w-0 truncate font-mono",children:["session ",s]})]}),!ed&&(0,t.jsx)("span",{"aria-live":"polite",className:"sr-only",children:H}),r&&l?null:(0,t.jsx)("div",{className:"p-4 text-sm text-destructive",children:x("terminal.missingCredentials")}),(0,t.jsxs)("div",{className:"relative flex h-full min-h-0 flex-col overflow-hidden p-2",children:[f.readOnly&&(0,t.jsxs)("div",{className:"mb-2 flex flex-wrap items-center gap-2 rounded-md border border-amber-500/40 p-2 text-xs text-amber-300",role:"status",children:[(0,t.jsx)("span",{children:f.loading?"正在检查终端写入权限…":f.error?"写入状态同步失败,终端保持只读。":"Copilot 正在操作此工作区,终端只读。"}),(0,t.jsx)(g.Button,{size:"sm",variant:"outline",disabled:f.loading||f.takingOver,onClick:f.takeover,children:"接管终端"}),(0,t.jsx)(g.Button,{size:"sm",variant:"ghost",onClick:f.refresh,children:"刷新状态"}),f.error&&(0,t.jsx)("span",{role:"alert",children:f.error.message})]}),(0,t.jsx)("div",{ref:v,"data-testid":"terminal-host",className:"min-h-0 flex-1 [&_.xterm-screen]:!h-full [&_.xterm-viewport]:!h-full [&_.xterm]:h-full"}),!J&&(0,t.jsxs)(g.Button,{type:"button",size:"sm",variant:"secondary",onClick:er,className:"absolute bottom-4 right-4 z-10 gap-1 shadow","aria-label":x("terminal.backToBottom"),children:[(0,t.jsx)(N.ArrowDown,{className:"size-3.5"}),x("terminal.backToBottom")]}),d&&(0,t.jsx)(R,{sessionId:s,authToken:r,open:d,onClose:()=>c?.()}),eo&&(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-black/70 z-10",children:(0,t.jsx)("div",{className:"text-center",children:(0,t.jsxs)("p",{className:"text-yellow-400 text-sm font-mono",children:[x("terminal.reconnecting"),"… (",U,"/",10,")"]})})}),el&&(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-black/80 z-10",children:(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("p",{className:"text-red-400 text-sm font-mono mb-3",children:x("terminal.connectionLost")}),(0,t.jsx)(g.Button,{variant:"outline",size:"sm",onClick:ea,className:"text-red-400 border-red-400/50 hover:bg-red-400/10",children:x("terminal.reconnect")})]})})]})]})}var I=e.i(37122),M=e.i(25284),$=e.i(48111),q=e.i(39695),Q=e.i(31787),D=e.i(80703);function K(e){return Math.min(100,Math.max(0,Math.round(e)))}function H(e){return Number.isInteger(e)?String(e):e.toFixed(2).replace(/0+$/,"").replace(/\.$/,"")}let W=new Set(["claude","opencode","codex","kimi","pi"]);function U({aiTool:e}){let{t:s}=(0,P.useLanguage)(),r=W.has(e),n=(0,i.useQuery)({queryKey:["applied-provider",e],queryFn:()=>(0,z.getAppliedProviderForAdapter)(e),enabled:r,retry:!1}),a=n.data?.appliedProvider??null,o=a?.providerProfileId,l=(0,i.useQuery)({queryKey:["provider-balance",o],queryFn:()=>(0,z.checkProviderBalance)(o),enabled:!!o,refetchInterval:6e4,refetchOnWindowFocus:!0,retry:!1});if(!r)return null;let d=l.data,c=l.isFetching;return(0,t.jsxs)("section",{className:"rounded-lg border border-border p-3","data-testid":"provider-quota-panel",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2 text-sm font-medium",children:[(0,t.jsx)(D.Gauge,{className:"size-4 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"shrink-0",children:s("sessions.providerQuota")}),a&&(0,t.jsx)("span",{className:"min-w-0 truncate rounded-full bg-muted/50 px-2 py-0.5 text-[10px] text-muted-foreground",title:a.providerName,children:a.providerName})]}),o&&(0,t.jsx)(g.Button,{variant:"ghost",size:"icon",className:"size-6 shrink-0 text-muted-foreground",disabled:c,onClick:()=>void l.refetch(),"aria-label":s("sessions.providerQuotaRefresh"),title:s("sessions.providerQuotaRefresh"),children:(0,t.jsx)(C.RefreshCw,{className:(0,T.cn)("size-3",c&&"animate-spin")})})]}),a?l.error?(0,t.jsx)("p",{className:"mt-2 text-xs text-destructive",children:s("sessions.providerQuotaLoadFailed")}):d?d.supported?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("ul",{className:"mt-3 space-y-2",children:d.balances.map(e=>(0,t.jsx)(V,{entry:e},e.label))}),(0,t.jsxs)("p",{className:"mt-2 text-right text-[10px] text-muted-foreground/60 tabular-nums",children:[s("sessions.providerQuotaCheckedAt")," ",new Date(d.checkedAt).toLocaleTimeString(),c&&" ·…"]})]}):(0,t.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:s("sessions.providerQuotaUnsupported")}):(0,t.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:"…"}):(0,t.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:s("sessions.providerQuotaEmpty")})]})}function V({entry:e}){let{t:s}=(0,P.useLanguage)(),r="%"===e.unit?K(100-e.remaining):void 0===e.limit||e.limit<=0?null:K((1-e.remaining/e.limit)*100);return(0,t.jsxs)("li",{className:"rounded-md border border-border/70 bg-muted/10 px-2.5 py-2",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,t.jsx)("span",{className:"min-w-0 truncate text-xs text-muted-foreground",children:e.label}),null!==r?(0,t.jsxs)("span",{className:(0,T.cn)("shrink-0 text-sm font-semibold tabular-nums",r>=80?"text-red-400":r>=50?"text-amber-400":"text-emerald-400"),title:`${s("sessions.providerQuotaUsed")} ${r}%`,children:[r,(0,t.jsx)("span",{className:"text-[10px] font-normal",children:"%"})]}):(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[11px] tabular-nums",children:[H(e.remaining)," ",e.unit]})]}),null!==r&&(0,t.jsx)("div",{className:"mt-1.5 h-2 overflow-hidden rounded-full bg-muted/60",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":`${e.label} ${s("sessions.providerQuotaUsed")} ${r}%`,title:`${s("sessions.providerQuotaUsed")} ${r}%`,children:(0,t.jsx)("div",{className:(0,T.cn)("h-full rounded-full transition-[width] duration-700 ease-out",r>=80?"bg-gradient-to-r from-red-600 to-red-400":r>=50?"bg-gradient-to-r from-amber-600 to-amber-400":"bg-gradient-to-r from-emerald-600 to-emerald-400"),style:{width:`${r}%`}})}),(void 0!==e.limit||"%"===e.unit||e.resetsAt)&&(0,t.jsxs)("div",{className:"mt-1 flex items-center justify-between gap-2 text-[10px] text-muted-foreground/70",children:[void 0!==e.limit?(0,t.jsxs)("span",{className:"font-mono tabular-nums",children:[H(e.remaining)," / ",H(e.limit)," ",e.unit]}):"%"===e.unit?(0,t.jsxs)("span",{className:"font-mono tabular-nums",children:[s("sessions.providerQuotaRemaining")," ",H(e.remaining),"%"]}):(0,t.jsx)("span",{}),e.resetsAt&&(0,t.jsxs)("span",{className:"shrink-0 tabular-nums",children:[s("sessions.providerQuotaResetAt"),": ",new Date(e.resetsAt).toLocaleString()]})]})]})}var G=e.i(39867),Z=e.i(96652),J=e.i(84208),Y=e.i(30811);function X(){let{t:e}=(0,P.useLanguage)(),i=(0,s.useRouter)(),{notifications:a,unreadCount:o,markRead:l,markAllRead:d}=(0,J.useNotifications)(),[c,u]=(0,n.useState)(!1),m=a.slice(0,8),x={project:e("notifications.projectContext"),session:e("notifications.sessionContext"),cli:e("notifications.cliContext")};return(0,t.jsxs)(Z.Popover,{open:c,onOpenChange:u,children:[(0,t.jsx)(Z.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)(g.Button,{variant:"ghost",size:"icon",className:"relative size-8 text-muted-foreground hover:text-foreground","aria-label":e("notifications.title"),title:e("notifications.title"),children:[(0,t.jsx)(G.Bell,{className:"size-4"}),o>0&&(0,t.jsx)("span",{className:"absolute right-0.5 top-0.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-destructive px-0.5 text-[9px] font-semibold text-destructive-foreground",children:o>99?"99+":o})]})}),(0,t.jsxs)(Z.PopoverContent,{align:"end",className:"w-80 p-0",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-3 py-2",children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:e("notifications.title")}),o>0&&(0,t.jsx)("button",{type:"button",className:"text-[11px] text-muted-foreground transition-colors hover:text-foreground",onClick:()=>d(),children:e("notifications.markAllRead")})]}),(0,t.jsx)("div",{className:"max-h-72 overflow-y-auto",children:0===m.length?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-xs text-muted-foreground",children:e("notifications.emptyTitle")}):m.map(s=>(0,t.jsxs)("button",{type:"button",className:"flex w-full flex-col gap-0.5 border-b border-border/50 px-3 py-2 text-left transition-colors last:border-b-0 hover:bg-muted/40",onClick:()=>{l(s.id),u(!1),i.push(s.href)},children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 text-xs font-medium",children:[!s.read&&(0,t.jsx)("span",{className:"size-1.5 shrink-0 rounded-full bg-primary","aria-hidden":"true"}),e(s.titleKey)]}),(0,t.jsx)("span",{className:"line-clamp-2 text-[11px] text-muted-foreground",children:s.message}),(0,Y.notificationContextParts)(s,x).length>0&&(0,t.jsx)("span",{className:"truncate text-[10px] text-muted-foreground/75",children:(0,Y.notificationContextParts)(s,x).join(" · ")})]},s.id))}),(0,t.jsx)("div",{className:"border-t border-border px-3 py-2",children:(0,t.jsx)(r.default,{href:"/notifications",className:"text-[11px] text-muted-foreground transition-colors hover:text-foreground",onClick:()=>u(!1),children:e("notifications.viewAll")})})]})]})}let ee=/\b(?:sk-[A-Za-z0-9_-]{6,}|Bearer\s+[A-Za-z0-9._~+/=-]+|(?:FORGEBADGER|OPENFORGE)_ATTACH_TOKEN=|api[_-]?key\s*[:=]|token\s*[:=]|password\s*[:=]|secret\s*[:=])/iu,et=/\b(?:todo|tbd|fixme|xxx|placeholder)\b/iu,es=/(?:^|\n)\s*(?:[$#>]\s+\S+|[A-Z0-9_]+=[^\s]+\s+\S+)|\x1b\[[0-9;]*[A-Za-z]/u;function er(e){return 0===e.length?"- None recorded":e.map(e=>`- ${e}`).join("\n")}function en({sessionId:e}){let{t:s}=(0,P.useLanguage)();return(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 border-b border-border px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,t.jsx)(g.Button,{asChild:!0,variant:"ghost",size:"sm",children:(0,t.jsxs)(r.default,{href:"/sessions",children:[(0,t.jsx)(l.ArrowLeft,{className:"size-4"}),s("sessions.back")]})}),(0,t.jsxs)("span",{className:"truncate text-sm font-medium",children:["Session ",e]})]}),(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,t.jsx)(X,{})})]})}function ei({projectId:e,session:s,taskPacket:r,taskPacketError:n,taskPacketFetching:i}){return(0,t.jsx)("aside",{className:"hidden min-h-0 overflow-auto border-t border-border bg-background/95 p-3 lg:block lg:border-l lg:border-t-0",children:(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(ea,{error:n,isFetching:i,session:s,taskPacket:r}),s?.aiTool?(0,t.jsx)(U,{aiTool:s.aiTool}):null,e?(0,t.jsx)(Q.GitChangesPanel,{projectId:e}):null]})})}function ea({error:e,isFetching:s,session:n,taskPacket:i}){var a,o;let{t:l}=(0,P.useLanguage)();if(e)return(0,t.jsxs)("section",{className:"rounded-lg border border-destructive/50 bg-destructive/10 p-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium text-destructive",children:[(0,t.jsx)(c.ClipboardList,{className:"size-4"}),l("sessions.taskPacketHandoff")]}),(0,t.jsx)("p",{className:"mt-2 text-xs text-destructive",children:l("sessions.taskPacketLoadFailed")})]});if(!i)return s?(0,t.jsxs)("section",{className:"rounded-lg border border-border p-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium",children:[(0,t.jsx)(c.ClipboardList,{className:"size-4 text-muted-foreground"}),l("sessions.taskPacketHandoff")]}),(0,t.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:l("sessions.taskPacketLoading")})]}):null;return(0,t.jsxs)("section",{className:"rounded-lg border border-border p-3","data-testid":"session-task-packet-handoff",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2 text-sm font-medium",children:[(0,t.jsx)(c.ClipboardList,{className:"size-4 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"truncate",children:l("sessions.taskPacketHandoff")})]}),(0,t.jsx)(v.Badge,{variant:"completed"===(a=i.queueStatus)?"default":"blocked"===a?"destructive":"running"===a||"waiting_for_review"===a?"secondary":"outline",children:(o=i.queueStatus,l({planned:"sessions.taskPacketQueuePlanned",running:"sessions.taskPacketQueueRunning",waiting_for_review:"sessions.taskPacketQueueWaitingForReview",blocked:"sessions.taskPacketQueueBlocked",completed:"sessions.taskPacketQueueCompleted",cancelled:"sessions.taskPacketQueueCancelled"}[o]))})]}),(0,t.jsx)("p",{className:"mt-2 text-xs leading-5 text-muted-foreground",children:l("sessions.taskPacketHandoffDescription")}),(0,t.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,t.jsx)(ed,{label:l("sessions.taskPacketWorkItem"),value:i.title}),(0,t.jsx)(ed,{label:l("sessions.taskPacketRuntime"),value:`${i.runtime.adapter} / ${i.runtime.templateId}`}),(0,t.jsx)(ed,{label:l("sessions.taskPacketLinkedSession"),value:i.sessionLink?`${i.sessionLink.sessionId} / ${i.sessionLink.status}`:"-"})]}),(0,t.jsxs)("div",{className:"mt-3",children:[(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:l("sessions.taskPacketPrompt")}),(0,t.jsx)("pre",{className:"mt-1 max-h-44 overflow-auto whitespace-pre-wrap rounded-md border border-border/70 bg-muted/20 p-2 text-xs leading-5",children:i.prompt})]}),(0,t.jsx)(ec,{title:l("sessions.taskPacketAcceptanceCriteria"),values:i.acceptanceCriteria}),(0,t.jsx)(ec,{title:l("sessions.taskPacketExpectedVerification"),values:i.expectedVerification}),(0,t.jsx)(ec,{title:l("sessions.taskPacketEvidenceRequirements"),values:i.evidenceRequirements}),(0,t.jsx)(g.Button,{asChild:!0,variant:"outline",size:"sm",className:"mt-3 w-full justify-start",children:(0,t.jsxs)(r.default,{href:(0,q.sessionTaskPacketProjectManagerHref)(i),children:[(0,t.jsx)(x.ExternalLink,{className:"mr-2 size-3"}),l("sessions.taskPacketOpenWorkItem")]})}),n&&(0,t.jsx)(eo,{session:n,taskPacket:i})]})}function eo({session:e,taskPacket:s}){let{t:r}=(0,P.useLanguage)(),[i,a]=(0,n.useState)(""),[o,l]=(0,n.useState)(""),[d,c]=(0,n.useState)(""),[x,f]=(0,n.useState)(null),[p,h]=(0,n.useState)(!1),[v]=(0,n.useState)(()=>new Date().toISOString()),j=(0,n.useMemo)(()=>({generatedAt:v,openReviewItems:d,operatorNotes:i,session:e,taskPacket:s,verificationNotes:o}),[v,d,i,e,s,o]),y=(0,n.useMemo)(()=>{let e,t;return e=new Set,j.operatorNotes.trim()||e.add("operator_notes_required"),j.verificationNotes.trim()||e.add("verification_notes_required"),t=[j.taskPacket.title,j.taskPacket.prompt,...j.taskPacket.acceptanceCriteria,...j.taskPacket.expectedVerification,...j.taskPacket.evidenceRequirements,j.operatorNotes,j.verificationNotes,j.openReviewItems].join("\n"),ee.test(t)&&e.add("secret_like_value"),et.test(t)&&e.add("placeholder_text"),es.test(t)&&e.add("raw_terminal_dump"),Array.from(e)},[j]),k=(0,n.useMemo)(()=>{var e;let t,s;return 0===y.length?[`# Session Handoff: ${j.taskPacket.title}`,"\n## Metadata",`- Generated at: ${j.generatedAt}`,`- Project: ${j.taskPacket.projectId}`,`- Work item: ${j.taskPacket.workItemId}`,`- Session: ${j.session.id}`,`- Session status: ${j.session.status}`,`- Runtime: ${j.taskPacket.runtime.adapter} / ${j.taskPacket.runtime.templateId}`,`- Queue status: ${j.taskPacket.queueStatus}`,"\n## Task Prompt",(t=Math.max(0,...Array.from((e=j.taskPacket.prompt).matchAll(/`+/gu),e=>e[0].length)),s="`".repeat(Math.max(3,t+1)),[`${s}text`,e.trim(),s].join("\n")),"\n## Acceptance Criteria",er(j.taskPacket.acceptanceCriteria),"\n## Expected Verification",er(j.taskPacket.expectedVerification),"\n## Evidence Requirements",er(j.taskPacket.evidenceRequirements),"\n## Operator Notes",j.operatorNotes.trim(),"\n## Verification Notes",j.verificationNotes.trim(),"\n## Open Review Items",j.openReviewItems.trim()||"- None recorded","\n## Safety Boundary\n- Terminal scrollback remains in the built-in terminal service and is not stored in SQLite.\n- This handoff is manually authored and does not clear external evidence gates.\n- Do not paste secrets, raw provider payloads, Feishu message bodies, or raw terminal dumps.\n"].join("\n"):""},[y.length,j]),N=async()=>{try{await navigator.clipboard.writeText(k),h(!0),f(null)}catch{h(!1),f(r("sessions.handoffCopyFailed"))}};return(0,t.jsxs)("div",{className:"mt-4 border-t border-border/70 pt-3","data-testid":"session-handoff-export",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:r("sessions.handoffExport")}),(0,t.jsx)("p",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:r("sessions.handoffExportDescription")}),(0,t.jsxs)("div",{className:"mt-3 space-y-3",children:[(0,t.jsx)(el,{label:r("sessions.handoffOperatorNotes"),value:i,onChange:a}),(0,t.jsx)(el,{label:r("sessions.handoffVerificationNotes"),value:o,onChange:l}),(0,t.jsx)(el,{label:r("sessions.handoffOpenReviewItems"),value:d,onChange:c})]}),y.length>0?(0,t.jsxs)("div",{className:"mt-3 rounded-md border border-destructive/50 bg-destructive/10 p-2",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-destructive",children:r("sessions.handoffAuditBlocked")}),(0,t.jsx)("ul",{className:"mt-2 space-y-1",children:y.map(e=>(0,t.jsx)("li",{className:"text-xs text-destructive",children:r({operator_notes_required:"sessions.handoffAuditOperatorNotesRequired",verification_notes_required:"sessions.handoffAuditVerificationNotesRequired",secret_like_value:"sessions.handoffAuditSecretLikeValue",placeholder_text:"sessions.handoffAuditPlaceholderText",raw_terminal_dump:"sessions.handoffAuditRawTerminalDump"}[e])},e))})]}):(0,t.jsxs)("div",{className:"mt-3 rounded-md border border-border/70 bg-muted/10 p-2",children:[(0,t.jsx)("div",{className:"text-xs font-medium",children:r("sessions.handoffMarkdownReady")}),(0,t.jsx)(b.Textarea,{className:"mt-2 min-h-56 font-mono text-xs",readOnly:!0,value:k}),(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[(0,t.jsxs)(g.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>void N(),children:[(0,t.jsx)(u.Copy,{className:"mr-2 size-3"}),p?r("sessions.handoffCopied"):r("sessions.handoffCopy")]}),(0,t.jsxs)(g.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>{let e,t,s=new Blob([`${k}
|
|
3
|
-
`],{type:"text/markdown;charset=utf-8"}),r=URL.createObjectURL(s),n=document.createElement("a");n.href=r,e=j.generatedAt.replace(/[:.]/g,"-"),t=j.taskPacket.title.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"task",n.download=`forgebadger-session-handoff-${t}-${e}.md`,n.click(),URL.revokeObjectURL(r),f(null)},children:[(0,t.jsx)(m.Download,{className:"mr-2 size-3"}),r("sessions.handoffDownload")]}),x&&(0,t.jsx)("span",{className:"text-xs text-destructive",children:x})]})]})]})}function el({label:e,onChange:s,value:r}){return(0,t.jsxs)("label",{className:"block space-y-1",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:e}),(0,t.jsx)(b.Textarea,{className:"min-h-20 text-xs",value:r,onChange:e=>s(e.target.value)})]})}function ed({label:e,value:s}){return(0,t.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/10 px-2 py-2",children:[(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"mt-1 break-words font-mono text-xs",children:s})]})}function ec({title:e,values:s}){let{t:r}=(0,P.useLanguage)();return(0,t.jsxs)("div",{className:"mt-3",children:[(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:e}),0===s.length?(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:r("sessions.taskPacketNoItems")}):(0,t.jsx)("ul",{className:"mt-1 space-y-1",children:s.map(e=>(0,t.jsx)("li",{className:"break-words rounded-md border border-border/70 bg-muted/10 px-2 py-1 text-xs",children:e},e))})]})}function eu({status:e}){let{t:s}=(0,P.useLanguage)(),r=(0,$.normalizeSessionStatus)(e);return"running"===r?(0,t.jsxs)(v.Badge,{variant:"default",className:"gap-1.5 bg-green-600 hover:bg-green-600",children:[(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-white motion-safe:animate-pulse"}),s("sessions.running")]}):"error"===r?(0,t.jsx)(v.Badge,{variant:"destructive",children:s("sessions.error")}):(0,t.jsx)(v.Badge,{variant:"secondary",children:s("sessions.stopped")})}e.s(["default",0,function(){var e;let l=(0,s.useParams)(),c=(0,s.useSearchParams)(),u=(0,o.useQueryClient)(),{t:m}=(0,P.useLanguage)(),x=l.id,[v,b]=(0,n.useState)(!1),[N,w]=(0,n.useState)(!1),C=(0,I.getToken)()??"",S=c.get("attachToken"),{data:T}=(0,i.useQuery)({queryKey:["session",x],queryFn:()=>(0,z.getSession)(x),enabled:!!x,retry:!1}),R=(0,a.useMutation)({mutationFn:()=>(0,z.connectSession)(x),onSuccess:({session:e})=>{u.setQueryData(["session",x],{session:e}),u.invalidateQueries({queryKey:["sessions"]})}}),A=R.data?.session??T?.session,E=S??R.data?.session.attachToken??"",{data:_,error:L,isFetching:O}=(0,i.useQuery)({queryKey:["project-manager",A?.projectId,"task-packets",{limit:50,sessionId:x}],queryFn:()=>(0,z.listProjectManagerTaskPackets)(A?.projectId??"",{limit:50}),enabled:!!A?.projectId,retry:!1}),F=(0,a.useMutation)({mutationFn:()=>(0,z.startSession)(x),onSuccess:async()=>{await u.invalidateQueries({queryKey:["session",x]}),R.reset(),R.mutate()},onError:e=>{M.toast.error(e instanceof Error&&e.message?`${m("sessions.startFailed")}: ${e.message}`:m("sessions.startFailed"))}}),$=(0,a.useMutation)({mutationFn:()=>(0,z.stopSession)(x),onSuccess:()=>{u.invalidateQueries({queryKey:["session",x]}),u.invalidateQueries({queryKey:["sessions"]})},onError:e=>{M.toast.error(e instanceof Error&&e.message?`${m("sessions.stopFailed")}: ${e.message}`:m("sessions.stopFailed"))}}),Q=R.mutate,D=R.isPending,K=R.data,H=(0,q.findSessionTaskPacket)(_?.taskPackets??[],x);(0,n.useEffect)(()=>{var e;!((e={sessionId:x,hasAuthToken:C.length>0,hasAttachTokenOverride:null!==S,isConnecting:D,hasConnectedSession:!!K,hasConnectError:R.isError}).sessionId.length>0)||!e.hasAuthToken||e.hasAttachTokenOverride||e.isConnecting||e.hasConnectedSession||e.hasConnectError||Q()},[S,C,R.isError,Q,K,x,D]),(0,n.useEffect)(()=>{A&&((0,k.upsertSessionTab)((0,k.sessionToTab)(A)),(0,k.notifySessionTabsChanged)())},[A]),(0,n.useEffect)(()=>{if(v)return document.body.setAttribute("data-session-focus-mode",""),()=>document.body.removeAttribute("data-session-focus-mode")},[v]);let W=[];if(C||W.push("login token"),E||W.push("attach token"),(e={hasAuthToken:C.length>0,hasAttachTokenOverride:null!==S,connectStatus:R.status,hasConnectError:R.isError}).hasAuthToken&&!e.hasAttachTokenOverride&&!e.hasConnectError&&("idle"===e.connectStatus||"pending"===e.connectStatus))return(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[(0,t.jsx)(en,{sessionId:x}),(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:m("sessions.preparing")})]});if(W.length>0||R.isError){let e=R.error instanceof Error?R.error.message:`Missing ${W.join(" and ")}`;return(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[(0,t.jsx)(en,{sessionId:x}),(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,t.jsxs)("div",{className:"max-w-md rounded-lg border border-destructive/50 bg-destructive/10 p-6 text-center",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold text-destructive",children:m("sessions.cannotOpen")}),(0,t.jsxs)("p",{className:"mt-2 text-sm text-muted-foreground",children:[e,". ",m("sessions.returnToList")]}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap justify-center gap-2",children:[A&&"running"!==A.status&&(0,t.jsx)(g.Button,{size:"sm",onClick:()=>F.mutate(),disabled:F.isPending,children:m("common.start")}),(0,t.jsx)(g.Button,{asChild:!0,variant:"outline",size:"sm",children:(0,t.jsx)(r.default,{href:"/sessions",children:m("sessions.backToSessions")})}),(0,t.jsx)(g.Button,{asChild:!0,variant:"outline",size:"sm",children:(0,t.jsx)(r.default,{href:"/settings",children:m("sessions.openSettings")})})]})]})})]})}return(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[(0,t.jsx)(y.SessionTabs,{activeSessionId:x,trailing:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(eu,{status:A?.status}),(0,t.jsx)(X,{}),(0,t.jsxs)(j.DropdownMenu,{children:[(0,t.jsx)(j.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)(g.Button,{variant:"ghost",size:"icon",className:"size-8 text-muted-foreground hover:text-foreground",title:m("nav.history"),"aria-label":m("nav.history"),children:(0,t.jsx)(f.History,{className:"size-4"})})}),(0,t.jsxs)(j.DropdownMenuContent,{align:"end",children:[(0,t.jsx)(j.DropdownMenuItem,{onSelect:()=>w(!0),children:m("terminal.historyOutput")}),(0,t.jsx)(j.DropdownMenuItem,{asChild:!0,children:(0,t.jsx)(r.default,{href:`/history?sessionId=${x}`,children:m("sessions.snapshotHistory")})})]})]}),(0,t.jsx)(g.Button,{variant:"ghost",size:"icon",className:"size-8 text-muted-foreground hover:text-foreground",onClick:()=>b(e=>!e),title:v?m("sessions.exitFocusMode"):m("sessions.focusMode"),"aria-label":v?m("sessions.exitFocusMode"):m("sessions.focusMode"),children:v?(0,t.jsx)(h,{className:"size-4"}):(0,t.jsx)(p.Maximize2,{className:"size-4"})}),(0,t.jsx)("div",{className:"mx-0.5 h-4 w-px bg-border","aria-hidden":"true"}),(0,t.jsx)(g.Button,{variant:"ghost",size:"icon",className:"size-8 text-destructive hover:bg-destructive/10 hover:text-destructive",onClick:()=>$.mutate(),disabled:$.isPending,title:$.isPending?m("sessions.stopping"):m("common.stop"),"aria-label":$.isPending?m("sessions.stopping"):m("common.stop"),children:(0,t.jsx)(d.Square,{className:"size-4"})})]})}),(0,t.jsxs)("div",{className:v?"grid min-h-0 flex-1 grid-cols-1 overflow-hidden":"grid min-h-0 flex-1 grid-cols-1 overflow-hidden lg:grid-cols-[minmax(0,1fr)_320px]",children:[(0,t.jsx)("div",{className:"h-full min-h-0 overflow-hidden",children:(0,t.jsx)(B,{sessionId:x,authToken:C,attachToken:E,historyOpen:N,onHistoryClose:()=>w(!1)})}),!v&&(0,t.jsx)(ei,{projectId:A?.projectId,session:A,taskPacket:H,taskPacketError:L,taskPacketFetching:O})]})]})}],83871)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,35267,e=>{"use strict";var a=e.i(66499),t=e.i(79923),i=e.i(86059),s=e.i(85426),n=e.i(78717),l=e.i(6270),r=e.i(65174);let o=(0,r.default)("Cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]);var d=e.i(7329),c=e.i(60218),m=e.i(80078),p=e.i(35808),u=e.i(44269),x=e.i(87307),h=e.i(9988),g=e.i(81622),v=e.i(17854);function f(e){return{productType:"payg_api",apiFormat:"openai-compatible",authType:"api_key",supportedAdapters:["claude","opencode","kimi","pi"],...e}}let b=[f({id:"openai",name:"OpenAI",description:"Official OpenAI API endpoint.",apiFormat:"openai",openaiBaseUrl:"https://api.openai.com/v1",supportedAdapters:["opencode","codex","kimi","pi"]}),f({id:"anthropic-api",name:"Anthropic API",description:"Official Anthropic API for Claude models.",apiFormat:"anthropic",anthropicBaseUrl:"https://api.anthropic.com"}),f({id:"deepseek-api",name:"DeepSeek API",description:"DeepSeek API with OpenAI and Anthropic-compatible endpoints.",anthropicBaseUrl:"https://api.deepseek.com/anthropic",openaiBaseUrl:"https://api.deepseek.com"}),f({id:"qwen-payg-cn",name:"Qwen API 中国大陆",description:"Alibaba Cloud Model Studio pay-as-you-go endpoint for mainland China accounts.",anthropicBaseUrl:"https://dashscope.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1"}),f({id:"qwen-payg-intl-sg",name:"Qwen API 国际版",description:"Alibaba Cloud Model Studio international endpoint.",anthropicBaseUrl:"https://dashscope-intl.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1"}),f({id:"qwen-coding-plan-cn",name:"Qwen Coding Plan 中国大陆",description:"Alibaba Cloud Model Studio Coding Plan endpoint for mainland China.",productType:"coding_plan",anthropicBaseUrl:"https://coding.dashscope.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://coding.dashscope.aliyuncs.com/v1"}),f({id:"qwen-coding-plan-intl",name:"Qwen Coding Plan 国际版",description:"Alibaba Cloud Model Studio Coding Plan international endpoint.",productType:"coding_plan",anthropicBaseUrl:"https://coding-intl.dashscope.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1"}),f({id:"qwen-token-plan-cn",name:"Qwen Token Plan 中国大陆",description:"Alibaba Cloud Model Studio Token Plan endpoint for mainland China.",productType:"token_plan",anthropicBaseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1"}),f({id:"kimi-code",name:"Kimi For Coding",description:"Kimi coding subscription endpoint.",productType:"coding_plan",anthropicBaseUrl:"https://api.kimi.com/coding/",openaiBaseUrl:"https://api.kimi.com/coding/v1"}),f({id:"kimi-api",name:"Kimi API",description:"Moonshot AI Kimi pay-as-you-go endpoint with Anthropic and OpenAI-compatible APIs.",anthropicBaseUrl:"https://api.moonshot.cn/anthropic",openaiBaseUrl:"https://api.moonshot.cn/v1"}),f({id:"minimax-global",name:"MiniMax 国际版",description:"MiniMax international API endpoint for coding tools.",anthropicBaseUrl:"https://api.minimax.io/anthropic",openaiBaseUrl:"https://api.minimax.io/v1"}),f({id:"minimax-cn",name:"MiniMax 中国大陆",description:"MiniMax mainland China API endpoint for coding tools.",anthropicBaseUrl:"https://api.minimaxi.com/anthropic",openaiBaseUrl:"https://api.minimaxi.com/v1"}),f({id:"zai-coding-plan",name:"Z.AI GLM Coding Plan",description:"Z.AI coding plan endpoints for GLM coding models.",productType:"coding_plan",anthropicBaseUrl:"https://api.z.ai/api/anthropic",openaiBaseUrl:"https://api.z.ai/api/coding/paas/v4"}),f({id:"zai-glm-api",name:"Z.AI GLM API",description:"Z.AI GLM pay-as-you-go endpoint with Anthropic and OpenAI-compatible APIs.",anthropicBaseUrl:"https://api.z.ai/api/anthropic",openaiBaseUrl:"https://api.z.ai/api/paas/v4"}),f({id:"xiaomi-mimo-api",name:"Xiaomi MiMo API",description:"Xiaomi MiMo pay-as-you-go API with OpenAI and Anthropic-compatible endpoints.",anthropicBaseUrl:"https://api.xiaomimimo.com/anthropic",openaiBaseUrl:"https://api.xiaomimimo.com/v1"}),f({id:"xiaomi-mimo-token-plan-cn",name:"Xiaomi MiMo Token Plan 中国大陆",description:"Xiaomi MiMo Token Plan endpoint for mainland China.",productType:"token_plan",anthropicBaseUrl:"https://token-plan-cn.xiaomimimo.com/anthropic",openaiBaseUrl:"https://token-plan-cn.xiaomimimo.com/v1"}),f({id:"xiaomi-mimo-token-plan-sgp",name:"Xiaomi MiMo Token Plan Singapore",description:"Xiaomi MiMo Token Plan endpoint for Singapore.",productType:"token_plan",anthropicBaseUrl:"https://token-plan-sgp.xiaomimimo.com/anthropic",openaiBaseUrl:"https://token-plan-sgp.xiaomimimo.com/v1"}),f({id:"xiaomi-mimo-token-plan-ams",name:"Xiaomi MiMo Token Plan Europe",description:"Xiaomi MiMo Token Plan endpoint for Amsterdam/Europe.",productType:"token_plan",anthropicBaseUrl:"https://token-plan-ams.xiaomimimo.com/anthropic",openaiBaseUrl:"https://token-plan-ams.xiaomimimo.com/v1"}),f({id:"baidu-qianfan-coding-plan",name:"Baidu Qianfan Coding Plan",description:"Baidu Qianfan Coding Plan endpoint for AI coding tools.",productType:"coding_plan",anthropicBaseUrl:"https://qianfan.baidubce.com/anthropic/coding",openaiBaseUrl:"https://qianfan.baidubce.com/v2"}),f({id:"stepfun-coding-plan-cn",name:"StepFun Coding Plan 中国大陆",description:"StepFun coding plan endpoint for mainland China.",productType:"coding_plan",anthropicBaseUrl:"https://api.stepfun.com/step_plan",openaiBaseUrl:"https://api.stepfun.com/v1"}),f({id:"stepfun-coding-plan-intl",name:"StepFun Coding Plan 国际版",description:"StepFun coding plan international endpoint.",productType:"coding_plan",anthropicBaseUrl:"https://api.stepfun.ai/step_plan",openaiBaseUrl:"https://api.stepfun.ai/v1"}),f({id:"modelscope-api",name:"ModelScope API",description:"ModelScope inference endpoint with Anthropic and OpenAI-compatible APIs.",anthropicBaseUrl:"https://api-inference.modelscope.cn",openaiBaseUrl:"https://api-inference.modelscope.cn/v1"}),f({id:"siliconflow-api",name:"SiliconFlow 硅基流动",description:"SiliconFlow model API platform with Anthropic and OpenAI-compatible endpoints.",anthropicBaseUrl:"https://api.siliconflow.cn",openaiBaseUrl:"https://api.siliconflow.cn/v1"}),f({id:"siliconflow-intl",name:"SiliconFlow 国际版",description:"SiliconFlow international endpoint.",anthropicBaseUrl:"https://api.siliconflow.com",openaiBaseUrl:"https://api.siliconflow.com/v1"}),f({id:"volcengine-agent-plan-cn",name:"火山引擎 Agent Plan 中国大陆",description:"Volcengine Ark Agent Plan endpoint for mainland China.",productType:"coding_plan",anthropicBaseUrl:"https://ark.cn-beijing.volces.com/api/coding",openaiBaseUrl:"https://ark.cn-beijing.volces.com/api/coding/v1"}),f({id:"volcengine-agent-plan-intl",name:"火山引擎 Agent Plan 国际版",description:"Volcengine BytePlus Agent Plan endpoint for international users.",productType:"coding_plan",anthropicBaseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding",openaiBaseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding/v1"}),f({id:"volcengine-ark-api-cn",name:"火山方舟豆包 API 中国大陆",description:"Volcengine Ark Doubao Seed pay-as-you-go endpoint for mainland China.",openaiBaseUrl:"https://ark.cn-beijing.volces.com/api/v3"}),f({id:"openrouter-api",name:"OpenRouter",description:"OpenRouter model routing platform with Anthropic and OpenAI-compatible endpoints.",anthropicBaseUrl:"https://openrouter.ai/api",openaiBaseUrl:"https://openrouter.ai/api/v1"}),f({id:"novita-api",name:"Novita AI",description:"Novita AI model platform with Anthropic and OpenAI-compatible endpoints.",anthropicBaseUrl:"https://api.novita.ai/anthropic",openaiBaseUrl:"https://api.novita.ai/v1"})],j={name:"",providerKey:"",apiFormat:"anthropic",authType:"api_key",anthropicBaseUrl:"",openaiBaseUrl:"",supportedAdapters:["claude"],allowPlaintextHttp:!1},y={label:"",plaintextSecret:""},N={name:"",modelId:"",capabilities:["chat","code"],customCapabilities:"",contextWindow:""};function C(e){let a=new Date(e);return Number.isNaN(a.getTime())?e:a.toLocaleString()}function w(e){return Math.min(100,Math.max(0,e))}function k(e,a){switch(e){case"anthropic":return a("models.apiFormatAnthropic");case"openai":return a("models.apiFormatOpenai");case"openai-compatible":return a("models.apiFormatOpenaiCompatible");case"google":return a("models.apiFormatGoogle");case"bedrock":return a("models.apiFormatBedrock");case"local":return a("models.apiFormatLocal");default:return e}}function P(e,a){switch(e){case"api_key":return a("models.authTypeApiKey");case"bearer_token":return a("models.authTypeBearerToken");case"oauth":return a("models.authTypeOauth");case"none":return a("models.authTypeNone");default:return e}}let S=["chat","code","vision","tools","reasoning","embedding"];function B({text:e}){return(0,a.jsx)("div",{className:"flex items-center justify-center rounded-md border border-dashed border-border/70 px-4 py-6 text-center text-sm text-muted-foreground",children:e})}let T=["anthropic","openai","openai-compatible","google","bedrock","local"],M=["api_key","bearer_token","oauth","none"],A=["claude","opencode","codex","kimi","pi"];function F({open:e,customProvider:i,setupCredential:s,isCreating:n,existing:l,onOpenChange:r,onCustomProviderChange:o,onSetupCredentialChange:f,onSubmit:j,t:y}){let N,C=null!=l,w=(0,t.useRef)(!1),[S,B]=(0,t.useState)("");(0,t.useEffect)(()=>{e||(w.current=!1,B(""))},[e]);let U=(N=S.trim().toLowerCase())?b.filter(e=>[e.id,e.name,e.description,e.anthropicBaseUrl??"",e.openaiBaseUrl??""].join("\n").toLowerCase().includes(N)):b,D="none"!==i.authType,I=!!(i.anthropicBaseUrl.trim()||i.openaiBaseUrl.trim()),z=I&&[i.anthropicBaseUrl.trim(),i.openaiBaseUrl.trim()].filter(Boolean).some(e=>e.toLowerCase().startsWith("http://")),L=!n&&i.name.trim().length>0&&i.providerKey.trim().length>0&&I&&i.supportedAdapters.length>0;return(0,a.jsx)(h.Dialog,{open:e,onOpenChange:r,children:(0,a.jsx)(h.DialogContent,{className:C?"max-h-[90vh] overflow-y-auto sm:max-w-2xl":"max-h-[90vh] overflow-hidden sm:max-w-4xl",children:(0,a.jsxs)("form",{className:C?"space-y-4":"grid max-h-[80vh] gap-5 md:grid-cols-[240px_minmax(0,1fr)]",onSubmit:j,children:[!C&&(0,a.jsxs)("div",{className:"flex min-h-0 flex-col gap-2",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:y("models.presets")}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:y("models.presetsDescription")})]}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)(u.Search,{className:"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,a.jsx)(g.Input,{value:S,onChange:e=>B(e.target.value),placeholder:y("models.searchProviderPlaceholder"),className:"h-9 pl-9"})]}),(0,a.jsx)("div",{className:"min-h-0 flex-1 space-y-1 overflow-y-auto rounded-md border border-border/70 p-1",children:0===U.length?(0,a.jsx)("p",{className:"px-3 py-4 text-center text-xs text-muted-foreground",children:y("models.noPresetMatches")}):U.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>{w.current=!0,o({name:e.name,providerKey:e.id,apiFormat:e.apiFormat,authType:e.authType,anthropicBaseUrl:e.anthropicBaseUrl??"",openaiBaseUrl:e.openaiBaseUrl??"",supportedAdapters:[...e.supportedAdapters],allowPlaintextHttp:!1})},className:`w-full rounded px-3 py-2 text-left hover:bg-muted/50 ${i.providerKey===e.id?"bg-muted/40":""}`,children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:e.name}),(0,a.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground",children:k(e.apiFormat,y)})]}),(0,a.jsx)("div",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:e.openaiBaseUrl??e.anthropicBaseUrl})]},e.id))})]}),(0,a.jsxs)("div",{className:C?"contents":"min-h-0 space-y-4 overflow-y-auto pr-1",children:[!C&&(0,a.jsxs)(h.DialogHeader,{children:[(0,a.jsx)(h.DialogTitle,{children:y("models.addProvider")}),(0,a.jsx)(h.DialogDescription,{children:y("models.addProviderDescription")})]}),C&&(0,a.jsxs)(h.DialogHeader,{children:[(0,a.jsx)(h.DialogTitle,{children:y("models.editProvider")}),(0,a.jsx)(h.DialogDescription,{children:y("models.editProviderDescription")})]}),(0,a.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"provider-name",children:y("common.name")}),(0,a.jsx)(g.Input,{id:"provider-name",value:i.name,onChange:e=>{var a;return a=e.target.value,void o({...i,name:a,providerKey:w.current?i.providerKey:a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")})},required:!0})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"provider-key",children:y("models.providerKey")}),(0,a.jsx)(g.Input,{id:"provider-key",value:i.providerKey,onChange:e=>{w.current=!0,o({...i,providerKey:e.target.value})},disabled:C,required:!0}),C&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:y("models.providerKeyLocked")})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"provider-api-format",children:y("models.apiFormat")}),(0,a.jsx)("select",{id:"provider-api-format",className:"h-10 w-full rounded-md border bg-background px-3 text-sm text-foreground",value:i.apiFormat,onChange:e=>o({...i,apiFormat:e.target.value}),children:T.map(e=>(0,a.jsx)("option",{value:e,children:k(e,y)},e))}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:function(e,a){switch(e){case"anthropic":return a("models.apiFormatHintAnthropic");case"openai":return a("models.apiFormatHintOpenai");case"openai-compatible":return a("models.apiFormatHintOpenaiCompatible");case"google":return a("models.apiFormatHintGoogle");case"bedrock":return a("models.apiFormatHintBedrock");case"local":return a("models.apiFormatHintLocal");default:return""}}(i.apiFormat,y)})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"provider-auth-type",children:y("models.authType")}),(0,a.jsx)("select",{id:"provider-auth-type",className:"h-10 w-full rounded-md border bg-background px-3 text-sm text-foreground",value:i.authType,onChange:e=>o({...i,authType:e.target.value}),children:M.map(e=>(0,a.jsx)("option",{value:e,children:P(e,y)},e))}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:function(e,a){switch(e){case"api_key":return a("models.authTypeHintApiKey");case"bearer_token":return a("models.authTypeHintBearerToken");case"oauth":return a("models.authTypeHintOauth");case"none":return a("models.authTypeHintNone");default:return""}}(i.authType,y)})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"provider-openai-base-url",children:y("models.openaiBaseUrl")}),(0,a.jsx)(g.Input,{id:"provider-openai-base-url",value:i.openaiBaseUrl,onChange:e=>o({...i,openaiBaseUrl:e.target.value}),placeholder:"https://example.com/v1"})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"provider-anthropic-base-url",children:y("models.anthropicBaseUrl")}),(0,a.jsx)(g.Input,{id:"provider-anthropic-base-url",value:i.anthropicBaseUrl,onChange:e=>o({...i,anthropicBaseUrl:e.target.value}),placeholder:"https://example.com/anthropic"})]})]}),!I&&(0,a.jsx)("p",{className:"text-xs text-destructive",children:y("models.baseUrlRequired")}),z&&(0,a.jsxs)("div",{className:"space-y-2 rounded-md border border-border/70 bg-muted/20 p-3",children:[(0,a.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,a.jsx)("input",{type:"checkbox",className:"mt-0.5 size-4 accent-brand",checked:i.allowPlaintextHttp,onChange:e=>o({...i,allowPlaintextHttp:e.target.checked})}),(0,a.jsx)("span",{children:y("models.allowPlaintextHttp")})]}),(0,a.jsx)("p",{className:"pl-6 text-xs text-muted-foreground",children:y("models.allowPlaintextHttpHint")})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:y("models.supportedAdapters")}),(0,a.jsx)("div",{className:"flex flex-wrap gap-3",children:A.map(e=>(0,a.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,a.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:i.supportedAdapters.includes(e),onChange:()=>{let a;return a=i.supportedAdapters.includes(e)?i.supportedAdapters.filter(a=>a!==e):[...i.supportedAdapters,e],void o({...i,supportedAdapters:a})}}),(0,a.jsx)(x.CliBrandIcon,{aiTool:e,className:"size-4"}),"claude"===e?"Claude Code":"opencode"===e?"OpenCode":"codex"===e?"Codex":"kimi"===e?"Kimi Code":e]},e))})]}),!C&&(D?(0,a.jsxs)("div",{className:"grid gap-3 rounded-md border border-border/70 bg-muted/20 p-3",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"setup-credential-label",children:y("models.credentialLabel")}),(0,a.jsx)(g.Input,{id:"setup-credential-label",value:s.label,onChange:e=>f({...s,label:e.target.value}),placeholder:y("models.defaultCredentialLabel")})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"setup-api-key",children:y("models.apiKey")}),(0,a.jsx)(g.Input,{id:"setup-api-key",type:"password",value:s.plaintextSecret,onChange:e=>f({...s,plaintextSecret:e.target.value}),placeholder:y("models.apiKeyPlaceholder")}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:y("models.setupCredentialOptionalHint")})]})]}):(0,a.jsx)("div",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2 text-sm text-muted-foreground",children:y("models.noCredentialRequired")})),(0,a.jsx)(h.DialogFooter,{children:(0,a.jsxs)(c.Button,{type:"submit",disabled:!L,children:[n?(0,a.jsx)(m.RefreshCw,{className:"size-4 animate-spin"}):C?(0,a.jsx)(p.Save,{className:"size-4"}):(0,a.jsx)(d.Plus,{className:"size-4"}),C?y("common.save"):y("models.saveAndSyncModels")]})})]})]})})})}var U=e.i(31483),D=e.i(71326),I=e.i(25284),z=e.i(63641),L=e.i(62918),E=e.i(35887),q=e.i(47721),K=e.i(65458);let R=[{slot:"opus",label:"Opus"},{slot:"sonnet",label:"Sonnet"},{slot:"haiku",label:"Haiku"}],O=[{slot:"fable",label:"Fable"},{slot:"subagent",label:"Subagent"}],H=["minimal","low","medium","high"],_=[];function Q({provider:e,models:i,credentials:r,open:o,initialAdapter:d,onOpenChange:m}){let{t:p}=(0,E.useLanguage)(),u=(0,l.useQueryClient)(),x=(0,t.useMemo)(()=>[...e.supportedAdapters],[e.supportedAdapters]),g=(0,t.useMemo)(()=>i.filter(e=>"active"===e.status),[i]),f=(0,t.useMemo)(()=>r.filter(e=>"active"===e.status),[r]),b=g.find(e=>e.isDefault)??g[0],[j,y]=(0,t.useState)(x[0]??"claude"),N="claude"===j&&!e.anthropicBaseUrl&&"anthropic"!==e.apiFormat,C=N&&("openai"===e.apiFormat||"openai-compatible"===e.apiFormat),w=N&&!C,k=(0,n.useQuery)({queryKey:["claude-route"],queryFn:q.getClaudeRoute,enabled:o&&N,retry:!1,staleTime:3e4}),P=k.data?.enabled===!0,[S,B]=(0,t.useState)(""),[T,M]=(0,t.useState)(""),[A,F]=(0,t.useState)({}),[W,V]=(0,t.useState)(""),G=(0,n.useQuery)({queryKey:z.ADAPTER_DISCOVERY_QUERY_KEY,queryFn:q.discoverAdapters,enabled:o,staleTime:3e4}),X=(0,t.useMemo)(()=>G.data?.adapters??_,[G.data]),[Z,Y]=(0,t.useState)(!1),J=(0,t.useRef)(N);J.current=N,(0,t.useEffect)(()=>{if(!o)return;let e=d&&x.includes(d)?d:void 0,a=e??(0,z.chooseDefaultAdapter)(X,x)??x[0]??"claude",t=new Map(X.map(e=>[e.id,e]));y(i=>!e&&x.includes(i)&&(!t.get(i)||(0,z.isAdapterSelectable)(t.get(i),x))?i:a),B(b?.id??""),M(f[0]?.id??""),F({}),V(""),Y(J.current),et(!1)},[o,x,b?.id,f,X,d]);let ee=(0,t.useMemo)(()=>{let a=Object.fromEntries(Object.entries(A).filter(([,e])=>!!e));return{providerProfileId:e.id,..."opencode"!==j&&S?{modelProfileId:S}:{},...T?{credentialId:T}:{},..."claude"===j&&Object.keys(a).length>0?{modelMapping:a}:{},..."codex"===j&&W?{reasoningEffort:W}:{},...N?{routeThroughGateway:!0}:{}}},[j,T,A,S,N,e.id,W]),[ea,et]=(0,t.useState)(!1),[ei,es]=(0,t.useState)(ee);(0,t.useEffect)(()=>{if(!ea)return;let e=setTimeout(()=>es(ee),400);return()=>clearTimeout(e)},[ee,ea]);let en=(0,n.useQuery)({queryKey:["cli-config-apply-preview",j,ei],queryFn:()=>(0,q.previewCliConfigApply)(j,ei),enabled:o&&ea&&x.length>0&&ei===ee,retry:!1,staleTime:0}),el=(0,s.useMutation)({mutationFn:async()=>(N&&!P&&await (0,q.setClaudeRoute)(!0),(0,q.applyCliConfigToAdapter)(j,{...ee,...N?{routeThroughGateway:!0}:{}})),onSuccess:async e=>{let a=e.files?.[0]?.targetPath??"—";I.toast.success(p("models.applyToCliSuccess").replace("{targetPath}",a)),e.backupId&&I.toast.info(p("models.applyToCliRollbackHint")),m(!1),await u.invalidateQueries({queryKey:["cli-config"]}),await u.invalidateQueries({queryKey:["applied-providers"]}),await u.invalidateQueries({queryKey:["applied-provider"]}),"claude"===j&&await u.invalidateQueries({queryKey:["claude-route"]})},onError:e=>{I.toast.error(e instanceof Error?e.message:p("models.applyToCliFailed"))}}),er=en.data,eo=er?.files??[],ed=(er?.warnings??[]).filter(e=>"OPENAI_PROTOCOL_REQUIRES_ROUTE"!==e),ec="pi"===j?p("models.applyToCliDefaultModel"):p("projects.model");return(0,a.jsx)(h.Dialog,{open:o,onOpenChange:e=>{el.isPending||m(e)},children:(0,a.jsxs)(h.DialogContent,{className:"sm:max-w-xl",children:[(0,a.jsxs)(h.DialogHeader,{children:[(0,a.jsx)(h.DialogTitle,{children:p("models.applyToCli")}),(0,a.jsx)(h.DialogDescription,{children:p("models.applyToCliDescription")})]}),(0,a.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"apply-cli-adapter",children:p("common.aiTool")}),(0,a.jsx)(z.AdapterSelect,{id:"apply-cli-adapter",ariaLabel:p("common.aiTool"),className:"h-9 w-full",value:j,onValueChange:y,supported:x,placeholder:p("common.loading")})]}),"opencode"!==j&&(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"apply-cli-model",children:ec}),(0,a.jsxs)("select",{id:"apply-cli-model","aria-label":ec,className:"h-9 w-full rounded-md border bg-background px-3 text-sm",value:S,onChange:e=>B(e.target.value),children:[0===g.length?(0,a.jsx)("option",{value:"",children:p("models.noModelsAvailable")}):null,g.map(e=>(0,a.jsx)("option",{value:e.id,children:e.name},e.id))]}),"pi"===j&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:p("models.applyToCliPiHint")})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"apply-cli-credential",children:p("models.credentials")}),(0,a.jsxs)("select",{id:"apply-cli-credential","aria-label":p("models.credentials"),className:"h-9 w-full rounded-md border bg-background px-3 text-sm",value:T,onChange:e=>M(e.target.value),children:[(0,a.jsx)("option",{value:"",children:p("models.applyToCliNoCredential")}),f.map(e=>(0,a.jsx)("option",{value:e.id,children:e.label??p("models.unnamedCredential")},e.id))]})]})]}),"opencode"===j&&(0,a.jsx)("p",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2 text-xs text-muted-foreground",children:p("models.opencodeApplyHint")}),("claude"===j||"codex"===j||N)&&(0,a.jsxs)("div",{className:"rounded-md border border-border/70",children:[(0,a.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between gap-2 px-3 py-2 text-left text-sm font-medium","aria-expanded":Z,onClick:()=>Y(e=>!e),children:[p("models.applyAdvancedOptions"),(0,a.jsx)(U.ChevronDown,{className:(0,K.cn)("size-4 text-muted-foreground transition-transform duration-200",Z&&"rotate-180")})]}),Z&&(0,a.jsxs)("div",{className:"space-y-3 border-t border-border/70 px-3 py-3",children:["claude"===j&&(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"space-y-0.5",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:p("models.roleMapping")}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:p("models.roleMappingDescription")})]}),(0,a.jsx)("div",{className:"grid gap-3 md:grid-cols-3",children:[...R,...O].map(({slot:e,label:t})=>(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)(v.Label,{htmlFor:`apply-cli-slot-${e}`,className:"text-xs",children:t}),(0,a.jsxs)("select",{id:`apply-cli-slot-${e}`,"aria-label":t,className:"h-9 w-full rounded-md border bg-background px-3 text-sm",value:A[e]??"",onChange:a=>F(t=>({...t,[e]:a.target.value})),children:[(0,a.jsx)("option",{value:"",children:p("models.followPrimaryModel")}),g.map(e=>(0,a.jsx)("option",{value:e.id,children:e.name},e.id))]})]},e))})]}),"codex"===j&&(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"apply-cli-effort",children:p("models.reasoningEffort")}),(0,a.jsxs)("select",{id:"apply-cli-effort","aria-label":p("models.reasoningEffort"),className:"h-9 w-full rounded-md border bg-background px-3 text-sm md:max-w-xs",value:W,onChange:e=>V(e.target.value),children:[(0,a.jsx)("option",{value:"",children:p("models.reasoningEffortDefault")}),H.map(e=>(0,a.jsx)("option",{value:e,children:e},e))]})]}),w&&(0,a.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:p("models.claudeRouteUnsupported")}),C&&(0,a.jsxs)("div",{className:P?"space-y-1 rounded-md border border-emerald-500/40 bg-emerald-500/10 px-3 py-2 text-xs":"space-y-1 rounded-md border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-xs",children:[(0,a.jsx)("p",{className:P?"font-medium text-emerald-700 dark:text-emerald-300":"font-medium text-amber-700 dark:text-amber-300",children:P?p("models.claudeRouteEnabledHint").replace("{gatewayUrl}",k.data?.gatewayUrl??"—"):p("models.claudeRouteBanner")}),!P&&(0,a.jsx)("p",{className:"text-muted-foreground",children:p("models.claudeRouteBannerDescription")})]})]})]}),(0,a.jsxs)("div",{className:"rounded-md border border-border/70",children:[(0,a.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between gap-2 px-3 py-2 text-left text-sm font-medium","aria-expanded":ea,onClick:()=>et(e=>!e),children:[p("models.applyChangeSummary"),(0,a.jsx)(U.ChevronDown,{className:(0,K.cn)("size-4 text-muted-foreground transition-transform duration-200",ea&&"rotate-180")})]}),ea&&(0,a.jsx)("div",{className:"space-y-2 border-t border-border/70 px-3 py-3 text-xs",children:en.isPending?(0,a.jsx)("p",{className:"text-muted-foreground",children:p("common.loading")}):en.error?(0,a.jsx)("p",{className:"text-destructive",children:en.error instanceof Error?en.error.message:p("models.applyPreviewFailed")}):er?(0,a.jsxs)(a.Fragment,{children:[eo.map(e=>(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("span",{className:"text-muted-foreground",children:[p("models.applyTargetPath"),":"]}),(0,a.jsx)("span",{className:"break-all font-mono",children:e.targetPath||"—"}),(0,a.jsx)(L.Badge,{variant:"outline",children:e.operation})]}),e.proposed?(0,a.jsx)("pre",{className:"max-h-48 overflow-auto rounded-md border border-border/70 bg-background/60 p-2 font-mono whitespace-pre-wrap",children:$(e.proposed)}):null]},e.targetPath)),ed.length>0?(0,a.jsx)("ul",{className:"list-disc space-y-1 pl-5 text-amber-700 dark:text-amber-300",children:ed.map(e=>(0,a.jsx)("li",{children:$(e)},e))}):null]}):null})]}),(0,a.jsxs)(h.DialogFooter,{children:[(0,a.jsx)(c.Button,{type:"button",variant:"outline",disabled:el.isPending,onClick:()=>m(!1),children:p("common.cancel")}),(0,a.jsxs)(c.Button,{type:"button",disabled:el.isPending||w||N&&k.isLoading,onClick:()=>el.mutate(),children:[(0,a.jsx)(D.ShieldCheck,{className:"size-4"}),el.isPending?p("models.applyingToCli"):P&&N?p("models.claudeRouteApply"):N?p("models.claudeRouteEnableAndApply"):p("models.applyConfig")]})]})]})})}function $(e){return e.replace(/\b(sk-[A-Za-z0-9_-]{2})[A-Za-z0-9_-]+/g,"$1…").replace(/((?:api[-_]?key|auth[-_]?token|token|secret)["'\s]*[:=]["'\s]*)([^\s,"']{4})[^\s,"']*/giu,"$1$2…")}var W=e.i(79447),V=e.i(83736),G=e.i(63039),X=e.i(93657),Z=e.i(76806),Y=e.i(14452),J=e.i(12057),ee=e.i(47190);let ea=["claude","opencode","codex","kimi","pi"];function et({open:e,adapter:i,onOpenChange:r}){let{t:o}=(0,E.useLanguage)(),{user:d}=(0,ee.useAuth)(),m=d?.role==="admin",p=(0,l.useQueryClient)(),[u,x]=(0,t.useState)(i);(0,t.useEffect)(()=>{e&&x(i)},[e,i]);let h=(0,n.useQuery)({queryKey:["cli-config-fields",u],queryFn:()=>(0,q.getCliConfigFields)(u),enabled:e}),g=(0,n.useQuery)({queryKey:["cli-config",u],queryFn:()=>(0,q.getCliConfig)(u),retry:!1,enabled:e}),v=(0,n.useQuery)({queryKey:["cli-config-field-values",u],queryFn:()=>(0,q.getCliConfigFieldValues)(u),retry:!1,enabled:e}),f=g.data,b=f?f.files.find(e=>f.configFile.endsWith(e.relativePath))??f.files[0]:void 0,j=(0,n.useQuery)({queryKey:["cli-config-file",u,b?.relativePath],queryFn:()=>(0,q.getCliConfigFile)(u,b.relativePath),enabled:e&&!!b?.relativePath,retry:!1}),[y,N]=(0,t.useState)(!1),[C,w]=(0,t.useState)("");(0,t.useEffect)(()=>{N(!1),w("")},[u,e]);let k=(0,s.useMutation)({mutationFn:()=>(0,q.writeCliConfigFile)(u,b.relativePath,C),onSuccess:async()=>{I.toast.success(o("cliConfig.saved")),N(!1),await Promise.all([p.invalidateQueries({queryKey:["cli-config",u]}),p.invalidateQueries({queryKey:["cli-config-file",u,b?.relativePath]}),p.invalidateQueries({queryKey:["cli-config-field-values",u]}),p.invalidateQueries({queryKey:["applied-providers"]})])},onError:e=>{I.toast.error(e instanceof Error?e.message:o("cliConfig.saveFailed"))}}),P=h.data?.fields??[];return(0,a.jsx)(Y.Sheet,{open:e,onOpenChange:r,children:(0,a.jsxs)(Y.SheetContent,{side:"right",className:"w-full gap-0 overflow-y-auto sm:max-w-xl",children:[(0,a.jsxs)(Y.SheetHeader,{children:[(0,a.jsx)(Y.SheetTitle,{children:o("models.cliConfigSection")}),(0,a.jsx)(Y.SheetDescription,{children:o("models.cliConfigSectionDescription")})]}),(0,a.jsxs)("div",{className:"space-y-5 px-4 pb-6",children:[!m&&(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-700 dark:text-amber-300",children:[(0,a.jsx)(G.ShieldAlert,{className:"size-3.5 shrink-0"}),o("models.cliConfigAdminOnly")]}),(0,a.jsx)(J.Tabs,{value:u,onValueChange:e=>x(e),children:(0,a.jsx)(J.TabsList,{children:ea.map(e=>(0,a.jsx)(J.TabsTrigger,{value:e,children:(0,a.jsx)(X.CliBrandChip,{aiTool:e})},e))})}),P.length>0||h.isLoading||h.error?(0,a.jsxs)("section",{className:"space-y-2",children:[(0,a.jsx)("h3",{className:"text-sm font-medium",children:o("cliConfig.commonFields")}),h.isLoading?(0,a.jsx)(el,{text:o("common.loading")}):h.error?(0,a.jsx)(el,{destructive:!0,text:er(h.error,o("cliConfig.loadFailed"))}):(0,a.jsx)("div",{className:"grid gap-2 md:grid-cols-2",children:P.map(e=>(0,a.jsx)(es,{field:e,value:v.data?.values[e.key],valuesLoading:v.isLoading,t:o},e.key))}),v.error?(0,a.jsx)(el,{destructive:!0,text:er(v.error,o("cliConfig.loadFieldValuesFailed"))}):null]}):null,(0,a.jsxs)("section",{className:"space-y-2",children:[(0,a.jsx)("h3",{className:"text-sm font-medium",children:o("cliConfig.configMetadata")}),g.isLoading?(0,a.jsx)(el,{text:o("common.loading")}):g.error||!f?(0,a.jsx)(el,{destructive:!0,text:er(g.error,o("cliConfig.loadFailed"))}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,a.jsx)(en,{label:o("cliConfig.configRoot"),value:f.configRoot}),(0,a.jsx)(en,{label:o("cliConfig.mainConfigFile"),value:f.configFile}),(0,a.jsx)(en,{label:o("cliConfig.defaultModel"),value:f.defaultModel||"—"}),(0,a.jsx)(en,{label:o("cliConfig.providers"),value:String(f.providers.length)})]}),(0,a.jsx)("div",{className:"space-y-2",children:f.files.map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-md border border-border/70 px-3 py-2 text-sm",children:[(0,a.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2",children:[(0,a.jsx)(W.FileCode2,{className:"size-4 shrink-0 text-muted-foreground"}),(0,a.jsx)("span",{className:"truncate font-mono text-xs",children:e.relativePath})]}),(0,a.jsxs)("span",{className:"flex shrink-0 gap-2",children:[(0,a.jsx)(L.Badge,{variant:"outline",children:e.fileType}),(0,a.jsx)(L.Badge,{variant:e.exists?"secondary":"outline",children:e.exists?`${e.sizeBytes} B`:o("cliConfig.fileMissing")})]})]},e.relativePath))})]})]}),(0,a.jsxs)("section",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,a.jsxs)("h3",{className:"text-sm font-medium",children:[o("cliConfig.rawEditor"),b?(0,a.jsx)("span",{className:"ml-2 font-mono text-xs font-normal text-muted-foreground",children:b.relativePath}):null]}),y?null:(0,a.jsxs)(c.Button,{type:"button",size:"sm",variant:"outline",disabled:!m||!b||j.isLoading,title:m?void 0:o("models.cliConfigAdminOnly"),onClick:()=>{w(j.data?.content??""),N(!0)},children:[(0,a.jsx)(V.Pencil,{className:"size-4"}),o("cliConfig.editRawFile")]})]}),b?y?(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)("textarea",{"aria-label":o("cliConfig.rawEditor"),className:"min-h-64 w-full rounded-md border bg-background p-3 font-mono text-xs",value:C,onChange:e=>w(e.target.value),spellCheck:!1}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)(c.Button,{type:"button",size:"sm",variant:"outline",disabled:k.isPending,onClick:()=>N(!1),children:o("common.cancel")}),(0,a.jsx)(c.Button,{type:"button",size:"sm",disabled:k.isPending,onClick:()=>k.mutate(),children:k.isPending?o("common.saving"):o("common.save")})]})]}):j.isLoading?(0,a.jsx)(el,{text:o("common.loading")}):j.error?(0,a.jsx)(el,{destructive:!0,text:er(j.error,o("cliConfig.loadFailed"))}):j.data?.content!==void 0?(0,a.jsx)(ei,{fileName:b.relativePath,content:j.data.content}):(0,a.jsx)(el,{text:o("cliConfig.rawFileContentUnavailable")}):(0,a.jsx)(el,{text:o("common.loading")})]})]})]})})}function ei({fileName:e,content:i}){let[s,n]=(0,t.useState)(null);return((0,t.useEffect)(()=>{let a=!1;if(n(null),i)return(0,Z.highlightWorkspaceCode)(i,e).then(e=>{a||n(e)}),()=>{a=!0}},[e,i]),s)?(0,a.jsx)("div",{className:"max-h-96 overflow-auto rounded-md border border-border/70 bg-muted/20 p-3 font-mono text-xs leading-5",children:s.map((e,t)=>(0,a.jsx)("div",{className:"whitespace-pre-wrap",children:e.length>0?e.map((e,t)=>{let i=(0,Z.tokenFontStyle)(e.fontStyle);return(0,a.jsx)("span",{style:{color:e.color,fontStyle:i.italic?"italic":void 0,fontWeight:i.bold?600:void 0,textDecoration:i.underline?"underline":void 0},children:e.content},t)}):" "},t))}):(0,a.jsx)("pre",{className:"max-h-96 overflow-auto rounded-md border border-border/70 bg-muted/20 p-3 font-mono text-xs whitespace-pre-wrap",children:i})}function es({field:e,value:t,valuesLoading:i,t:s}){let n=i?s("common.loading"):"secret"===e.type?s(!0===t?"cliConfig.hasKey":"cliConfig.noKey"):void 0===t||""===t?s("cliConfig.fieldNotSet"):String(t);return(0,a.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2",children:[(0,a.jsx)("div",{className:"text-sm font-medium",children:e.label}),(0,a.jsx)("div",{className:"mt-1 font-mono text-xs text-muted-foreground",children:e.path}),(0,a.jsx)("div",{className:"mt-2 text-xs",children:n})]})}function en({label:e,value:t}){return(0,a.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2",children:[(0,a.jsx)("div",{className:"text-xs text-muted-foreground",children:e}),(0,a.jsx)("div",{className:"mt-1 break-all font-mono text-xs",children:t})]})}function el({text:e,destructive:t=!1}){return(0,a.jsx)("div",{className:`rounded-md border border-dashed px-4 py-6 text-center text-sm ${t?"text-destructive":"text-muted-foreground"}`,children:e})}function er(e,a){return e instanceof Error?e.message:a}var eo=e.i(34487);function ed({target:e,isDeleting:t,onOpenChange:i,onConfirm:s,t:n}){let l=n(e?.kind==="model"?"models.deleteModelTitle":e?.kind==="credential"?"models.deleteCredentialTitle":"models.deleteProviderTitle"),r=n(e?.kind==="model"?"models.deleteModelWarning":e?.kind==="credential"?"models.deleteCredentialConfirm":"models.deleteProviderWarning");return(0,a.jsx)(h.Dialog,{open:null!==e,onOpenChange:e=>{e||t||i(!1)},children:(0,a.jsxs)(h.DialogContent,{className:"sm:max-w-md",children:[(0,a.jsxs)(h.DialogHeader,{children:[(0,a.jsxs)(h.DialogTitle,{className:"flex items-center gap-2 text-base",children:[(0,a.jsx)(eo.Trash2,{className:"size-5 shrink-0 text-destructive"}),l]}),(0,a.jsx)(h.DialogDescription,{children:r})]}),(0,a.jsxs)(h.DialogFooter,{children:[(0,a.jsx)(c.Button,{type:"button",variant:"outline",disabled:t,onClick:()=>i(!1),children:n("common.cancel")}),(0,a.jsxs)(c.Button,{type:"button",variant:"destructive",disabled:t,onClick:s,children:[(0,a.jsx)(eo.Trash2,{className:"size-4"}),n(t?"models.deleting":"common.delete")]})]})]})})}var ec=e.i(12603);function em({providers:e,providerCount:t,modelCounts:i,queryText:s,selectedProviderId:n,isLoading:l,onQueryTextChange:r,onSelectProvider:d,onEditProvider:m,t:p}){return(0,a.jsxs)(ec.Card,{className:"min-w-0 forgebadger-animate-in xl:sticky xl:top-4",children:[(0,a.jsx)(ec.CardHeader,{children:(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,a.jsx)(o,{className:"size-4"})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)(ec.CardTitle,{className:"text-base",children:p("models.providers")}),(0,a.jsx)(ec.CardDescription,{className:"mt-1",children:p("models.providersDescription")})]})]})}),(0,a.jsxs)(ec.CardContent,{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)(u.Search,{className:"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,a.jsx)(g.Input,{value:s,onChange:e=>r(e.target.value),placeholder:p("models.searchConfiguredProviders"),className:"pl-9"})]}),(0,a.jsxs)("div",{className:"text-xs text-muted-foreground",children:[e.length,"/",t," ",p("models.catalogMatches")]}),(0,a.jsx)("div",{"data-testid":"configured-provider-list",className:"max-h-[560px] overflow-y-auto",children:l?(0,a.jsx)(B,{text:p("common.loading")}):0===e.length?(0,a.jsx)(B,{text:p("models.emptyProviders")}):(0,a.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:e.map((e,t)=>{let s=e.id===n;return(0,a.jsxs)("div",{className:`flex w-full items-center gap-2 px-3 py-2.5 text-sm transition-colors forgebadger-animate-in ${s?"bg-brand/5":"hover:bg-muted/40"}`,style:{animationDelay:`${40*t}ms`},children:[(0,a.jsx)("span",{className:`size-1.5 shrink-0 rounded-full ${s?"bg-brand":"bg-muted-foreground/30"}`}),(0,a.jsxs)("button",{type:"button","aria-pressed":s,className:"min-w-0 flex-1 text-left",onClick:()=>d(e.id),children:[(0,a.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,a.jsx)("span",{className:"truncate font-medium",children:e.name}),(0,a.jsxs)(L.Badge,{variant:"outline",title:p("models.modelsWorkspace"),className:"shrink-0 text-[10px]",children:[i.get(e.id)??0," ",p("models.modelUnit")]})]}),(0,a.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:e.baseUrl??e.providerKey})]}),(0,a.jsx)(c.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 shrink-0 text-muted-foreground hover:text-foreground",title:p("common.edit"),"aria-label":p("common.edit"),onClick:()=>m(e.id),children:(0,a.jsx)(V.Pencil,{className:"size-4"})})]},e.id)})})})]})]})}var ep=e.i(30373);let eu=(0,r.default)("ServerCog",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5",key:"tn8das"}],["path",{d:"M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5",key:"1g2pve"}],["path",{d:"M6 6h.01",key:"1utrut"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"m15.7 13.4-.9-.3",key:"1jwmzr"}],["path",{d:"m9.2 10.9-.9-.3",key:"qapnim"}],["path",{d:"m10.6 15.7.3-.9",key:"quwk0k"}],["path",{d:"m13.6 15.7-.4-1",key:"cb9xp7"}],["path",{d:"m10.8 9.3-.4-1",key:"1uaiz5"}],["path",{d:"m8.3 13.6 1-.4",key:"s6srou"}],["path",{d:"m14.7 10.8 1-.4",key:"4d31cq"}],["path",{d:"m13.4 8.3-.3.9",key:"1bm987"}]]),ex=(0,r.default)("Wallet",[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]]);var eh=e.i(17955),eg=e.i(66936),eg=eg,ev=e.i(2527);let ef=["claude","opencode","codex","kimi","pi"];function eb({provider:e,onApply:t,onViewConfig:i}){let{t:s}=(0,E.useLanguage)(),l=(0,n.useQuery)({queryKey:["applied-providers"],queryFn:q.getAppliedProviders,retry:!1,staleTime:3e4}),r=(0,n.useQuery)({queryKey:z.ADAPTER_DISCOVERY_QUERY_KEY,queryFn:q.discoverAdapters,retry:!1,staleTime:3e4}),o=(0,n.useQuery)({queryKey:["claude-route"],queryFn:q.getClaudeRoute,retry:!1,staleTime:6e4}),d=new Map((r.data?.adapters??[]).map(e=>[e.id,e])),m=l.data?.adapters,p=o.data;return(0,a.jsxs)(ec.Card,{"data-testid":"cli-status-section",children:[(0,a.jsxs)(ec.CardHeader,{children:[(0,a.jsx)(ec.CardTitle,{className:"text-base",children:s("models.cliStatusTitle")}),(0,a.jsx)(ec.CardDescription,{className:"mt-1",children:s("models.cliStatusDescription")})]}),(0,a.jsxs)(ec.CardContent,{children:[(0,a.jsx)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:ef.map(n=>{var l;let o=(0,ev.getCliBrand)(n),u=d.get(n),h=u?.available===!0,g=u?.status==="check_failed",v=m?.find(e=>e.adapter===n)??null,f=v?.applied??null,b=(l=e.id,!!(v?.applied&&v.applied.providerProfileId===l)),j=e.supportedAdapters.includes(n),y="claude"===n&&p?.enabled===!0&&p.assignment?.providerProfileId===e.id;return(0,a.jsxs)("div",{"data-testid":`cli-status-${n}`,className:`flex min-w-0 flex-col gap-2 rounded-md border px-3 py-2.5 ${b?"border-emerald-500/40 bg-emerald-500/5":"border-border/70 bg-muted/20"}`,children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-1.5 text-sm font-medium",children:[(0,a.jsx)(x.CliBrandIcon,{aiTool:n,className:"size-4 shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:o.label})]}),(0,a.jsxs)("span",{className:"flex shrink-0 items-center gap-1",children:[y&&(0,a.jsx)(L.Badge,{variant:"secondary",className:"text-[10px]",children:s("models.claudeRouteBadge")}),(0,a.jsx)(L.Badge,{variant:h?"secondary":"outline",className:"text-[10px]",children:h?s("models.sdkInstalled"):g?s("models.cliStatusCheckFailed"):s("models.sdkMissing")})]})]}),(0,a.jsxs)("div",{className:"min-w-0 text-xs",children:[f?(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsxs)("div",{className:`truncate font-medium ${b?"text-emerald-700 dark:text-emerald-300":""}`,children:[f.providerName??f.providerProfileId,b?` \xb7 ${s("models.cliStatusActiveHere")}`:""]}),(0,a.jsx)("div",{className:"truncate text-muted-foreground",children:f.modelName??f.modelId??s("models.cliStatusNoModel")})]}):(0,a.jsx)("span",{className:"text-muted-foreground",children:s("models.cliStatusNotConfigured")}),v?.stale?(0,a.jsxs)("div",{className:"mt-1 flex items-center gap-1 text-amber-700 dark:text-amber-300",children:[(0,a.jsx)(eg.default,{className:"size-3 shrink-0"}),s("models.cliStatusStale")]}):null]}),(0,a.jsxs)("div",{className:"mt-auto flex items-center gap-1.5 pt-1",children:[(0,a.jsxs)(c.Button,{type:"button",size:"sm",variant:"outline",className:"h-7 flex-1 px-2 text-xs",disabled:!j,title:j?void 0:s("models.cliStatusApplyUnsupported"),onClick:()=>t(n),children:[(0,a.jsx)(D.ShieldCheck,{className:"size-3.5"}),s("models.cliStatusApply")]}),(0,a.jsxs)(c.Button,{type:"button",size:"sm",variant:"ghost",className:"h-7 flex-1 px-2 text-xs",disabled:r.isSuccess&&!h,title:r.isSuccess&&!h?s("models.cliStatusCliMissing"):void 0,onClick:()=>i(n),children:[(0,a.jsx)(W.FileCode2,{className:"size-3.5"}),s("models.cliStatusViewConfig")]})]})]},n)})}),l.isError?(0,a.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:s("models.cliStatusLoadFailed")}):null]})]})}function ej({credentials:e,selectedCredentialId:t,credentialForm:i,rotateDialogOpen:s,isSaving:n,isRotating:l,isDeleting:r,onCredentialFormChange:o,onRotateDialogOpenChange:p,onSelectCredential:u,onSubmitCredential:x,onOpenRotate:f,onConfirmRotate:b,onDeleteCredential:j,t:y}){return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("form",{className:"grid items-end gap-3 md:grid-cols-[1fr_1fr_auto]",onSubmit:x,children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"credential-label",children:y("models.credentialLabel")}),(0,a.jsx)(g.Input,{id:"credential-label",placeholder:y("models.defaultCredentialLabel"),value:i.label,onChange:e=>o({...i,label:e.target.value})})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"credential-secret",children:y("models.apiKey")}),(0,a.jsx)(g.Input,{id:"credential-secret",type:"password",placeholder:y("models.apiKeyPlaceholder"),value:i.plaintextSecret,onChange:e=>o({...i,plaintextSecret:e.target.value}),required:!0})]}),(0,a.jsxs)(c.Button,{type:"submit",disabled:n,children:[(0,a.jsx)(d.Plus,{className:"size-4"}),y("models.saveCredential")]})]}),0===e.length?(0,a.jsx)(B,{text:y("models.emptyCredentials")}):(0,a.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:e.map((e,i)=>(0,a.jsxs)("div",{className:`flex items-center gap-3 px-4 py-3 transition-colors forgebadger-animate-in hover:bg-muted/40 ${e.id===t?"bg-brand/5":""}`,style:{animationDelay:`${40*i}ms`},children:[(0,a.jsxs)("button",{type:"button",className:"min-w-0 flex-1 text-left",onClick:()=>u(e.id),children:[(0,a.jsx)("div",{className:"truncate text-sm font-medium",children:e.label??y("models.unnamedCredential")}),(0,a.jsx)("div",{className:"mt-0.5 truncate font-mono text-xs text-muted-foreground",children:e.secretPreview})]}),(0,a.jsx)(L.Badge,{variant:"outline",className:"shrink-0",children:e.status}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,a.jsx)(c.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-brand",title:y("models.rotate"),"aria-label":y("models.rotate"),onClick:()=>f(e.id),children:(0,a.jsx)(m.RefreshCw,{className:"size-4"})}),(0,a.jsx)(c.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-destructive",disabled:r,title:y("models.deleteCredential"),"aria-label":y("models.deleteCredential"),onClick:()=>j(e.id),children:(0,a.jsx)(eo.Trash2,{className:"size-4"})})]})]},e.id))}),(0,a.jsx)(h.Dialog,{open:s,onOpenChange:p,children:(0,a.jsx)(h.DialogContent,{className:"sm:max-w-md",children:(0,a.jsxs)("form",{className:"space-y-4",onSubmit:e=>{e.preventDefault(),b()},children:[(0,a.jsx)(h.DialogHeader,{children:(0,a.jsx)(h.DialogTitle,{children:y("models.rotateApiKey")})}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"rotate-credential-label",children:y("models.credentialLabel")}),(0,a.jsx)(g.Input,{id:"rotate-credential-label",placeholder:y("models.defaultCredentialLabel"),value:i.label,onChange:e=>o({...i,label:e.target.value})})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"rotate-credential-secret",children:y("models.apiKey")}),(0,a.jsx)(g.Input,{id:"rotate-credential-secret",type:"password",placeholder:y("models.apiKeyPlaceholder"),value:i.plaintextSecret,onChange:e=>o({...i,plaintextSecret:e.target.value}),required:!0})]}),(0,a.jsxs)(h.DialogFooter,{children:[(0,a.jsx)(c.Button,{type:"button",variant:"outline",disabled:l,onClick:()=>p(!1),children:y("common.cancel")}),(0,a.jsxs)(c.Button,{type:"submit",disabled:l||!i.plaintextSecret,children:[(0,a.jsx)(m.RefreshCw,{className:`size-4 ${l?"animate-spin":""}`}),y("models.rotate")]})]})]})})})]})}var ey=e.i(80703);function eN({provider:e,t:i}){let[n,l]=(0,t.useState)(null);(0,t.useEffect)(()=>{l(null)},[e.id]);let r=(0,s.useMutation)({mutationFn:()=>(0,q.testModelProviderEndpoint)(e.id,{timeoutMs:5e3}),onSuccess:e=>l(e.health)}),o=r.error instanceof Error?r.error.message:null;return(0,a.jsxs)(ec.Card,{children:[(0,a.jsx)(ec.CardHeader,{children:(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,a.jsx)(ey.Gauge,{className:"size-4"})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)(ec.CardTitle,{className:"text-base",children:i("models.endpointTest")}),(0,a.jsx)(ec.CardDescription,{className:"mt-1",children:i("models.endpointTestDescription")})]})]})}),(0,a.jsxs)(ec.CardContent,{className:"space-y-3",children:[(0,a.jsxs)(c.Button,{type:"button",size:"sm",variant:"outline",disabled:r.isPending,onClick:()=>r.mutate(),children:[(0,a.jsx)(ey.Gauge,{className:`size-4 ${r.isPending?"animate-pulse":""}`}),i(r.isPending?"models.checkingEndpoint":"models.checkEndpoint")]}),o?(0,a.jsx)("p",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:o}):null,n?(0,a.jsxs)("div",{"data-testid":"endpoint-health-row",className:"flex flex-wrap items-center gap-2 rounded-md border border-border/70 bg-muted/20 px-3 py-2 text-xs",children:[(0,a.jsx)(L.Badge,{variant:n.healthy?"default":"outline",children:i(n.healthy?"models.endpointHealthy":"models.endpointFailed")}),(0,a.jsxs)("span",{className:"text-muted-foreground",children:[n.latencyMs," ms",n.statusCode?` \xb7 HTTP ${n.statusCode}`:""," · ",C(n.checkedAt)]}),n.error?(0,a.jsx)("span",{className:"text-destructive",children:n.error}):null]}):null]})]})}function eC({models:e,selectedModelId:t,modelForm:i,dialogOpen:s,isSaving:n,isSettingDefault:l,isDeleting:r,isSyncing:o,syncDisabled:p,onSync:u,onModelFormChange:x,onDialogOpenChange:f,onNewModel:b,onEditModel:j,onSetDefault:y,onDeleteModel:N,onSubmitModel:C,t:w}){return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,a.jsx)("p",{className:"min-w-0 flex-1 text-sm text-muted-foreground",children:w("models.modelsWorkspaceDescription")}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,a.jsxs)(c.Button,{type:"button",size:"sm",variant:"outline",disabled:p||o,title:p?w("models.syncRequiresCredential"):w("models.syncProviderModelsDescription"),onClick:u,children:[(0,a.jsx)(m.RefreshCw,{className:`size-4 ${o?"animate-spin":""}`}),w("models.syncProviderModels")]}),p&&(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:w("models.syncRequiresCredential")}),(0,a.jsxs)(c.Button,{type:"button",size:"sm",variant:"outline",onClick:b,children:[(0,a.jsx)(d.Plus,{className:"size-4"}),w("models.newModel")]})]})]}),0===e.length?(0,a.jsx)(B,{text:w("models.emptyModelsForProvider")}):(0,a.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:e.map((e,i)=>(0,a.jsxs)("div",{className:`flex items-center gap-3 px-4 py-3 transition-colors forgebadger-animate-in hover:bg-muted/40 ${e.id===t?"bg-brand/5":""}`,style:{animationDelay:`${40*i}ms`},children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,a.jsx)("span",{className:"truncate text-sm font-medium",children:e.name}),e.isDefault&&(0,a.jsx)(L.Badge,{className:"shrink-0",children:w("models.default")})]}),(0,a.jsx)("div",{className:"mt-0.5 truncate font-mono text-xs text-muted-foreground",children:e.modelId})]}),(0,a.jsx)("div",{className:"hidden flex-wrap justify-end gap-1 md:flex md:max-w-40",children:e.capabilities.map(e=>(0,a.jsx)(L.Badge,{variant:"outline",children:e},e))}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,a.jsx)(c.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-brand",disabled:e.isDefault||l,title:w("models.setDefault"),"aria-label":w("models.setDefault"),onClick:()=>y(e.id),children:(0,a.jsx)(D.ShieldCheck,{className:"size-4"})}),(0,a.jsx)(c.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-brand",title:w("models.editModel"),"aria-label":w("models.editModel"),onClick:()=>j(e.id),children:(0,a.jsx)(V.Pencil,{className:"size-4"})}),(0,a.jsx)(c.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-destructive",disabled:r,title:w("models.deleteModel"),"aria-label":w("models.deleteModel"),onClick:()=>N(e.id),children:(0,a.jsx)(eo.Trash2,{className:"size-4"})})]})]},e.id))}),(0,a.jsx)(h.Dialog,{open:s,onOpenChange:f,children:(0,a.jsx)(h.DialogContent,{className:"sm:max-w-md",children:(0,a.jsxs)("form",{className:"space-y-4",onSubmit:C,children:[(0,a.jsx)(h.DialogHeader,{children:(0,a.jsx)(h.DialogTitle,{children:t?w("models.editModel"):w("models.addModel")})}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"model-form-name",children:w("common.name")}),(0,a.jsx)(g.Input,{id:"model-form-name",value:i.name,onChange:e=>x({...i,name:e.target.value}),required:!0})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"model-form-model-id",children:w("models.modelId")}),(0,a.jsx)(g.Input,{id:"model-form-model-id",value:i.modelId,onChange:e=>x({...i,modelId:e.target.value}),required:!0})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{children:w("models.capabilities")}),(0,a.jsx)("div",{className:"flex flex-wrap gap-3",children:S.map(e=>(0,a.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,a.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:i.capabilities.includes(e),onChange:()=>{let a;return a=i.capabilities.includes(e)?i.capabilities.filter(a=>a!==e):[...i.capabilities,e],void x({...i,capabilities:a})}}),e]},e))}),(0,a.jsx)(g.Input,{id:"model-form-custom-capabilities",value:i.customCapabilities,onChange:e=>x({...i,customCapabilities:e.target.value}),placeholder:w("models.customCapabilitiesPlaceholder")})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(v.Label,{htmlFor:"model-form-context-window",children:w("models.contextWindow")}),(0,a.jsx)(g.Input,{id:"model-form-context-window",type:"number",min:1,step:1,placeholder:w("models.contextWindowPlaceholder"),value:i.contextWindow,onChange:e=>x({...i,contextWindow:e.target.value})}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:w("models.contextWindowHint")})]}),(0,a.jsxs)(h.DialogFooter,{children:[(0,a.jsx)(c.Button,{type:"button",variant:"outline",disabled:n,onClick:()=>f(!1),children:w("common.cancel")}),(0,a.jsx)(c.Button,{type:"submit",disabled:n,children:t?w("models.saveModel"):w("models.addModel")})]})]})})})]})}function ew({provider:e,isSyncing:t,syncDisabled:i,balance:s,balanceError:l,isCheckingBalance:r,isDeletingProvider:o,onEditProvider:d,onSync:p,onCheckBalance:u,onDeleteProvider:x,onApplyToCli:h,onViewCliConfig:g,modelsTab:v,credentialTab:f,t:b}){var j;let{data:y}=(0,n.useQuery)({queryKey:["claude-route"],queryFn:q.getClaudeRoute,retry:!1,staleTime:6e4}),N=y?.enabled===!0&&e.supportedAdapters.includes("claude")&&y.assignment?.providerProfileId===e.id;return(0,a.jsxs)("div",{className:"min-w-0 space-y-6",children:[(0,a.jsx)(ec.Card,{className:"forgebadger-animate-in",children:(0,a.jsxs)(ec.CardContent,{className:"space-y-4 p-4 md:p-5",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,a.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,a.jsx)(eu,{className:"size-4"})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"truncate text-base font-semibold",children:e.name}),(0,a.jsx)("div",{className:"truncate text-xs text-muted-foreground",children:e.baseUrl??e.providerKey})]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,a.jsxs)(c.Button,{type:"button",size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",onClick:()=>h(),children:[(0,a.jsx)(D.ShieldCheck,{className:"size-4"}),b("models.applyToCli")]}),(0,a.jsxs)(eh.DropdownMenu,{children:[(0,a.jsx)(eh.DropdownMenuTrigger,{asChild:!0,children:(0,a.jsx)(c.Button,{type:"button",size:"icon",variant:"outline",className:"size-9","aria-label":b("common.actions"),children:(0,a.jsx)(ep.MoreHorizontal,{className:"size-4"})})}),(0,a.jsxs)(eh.DropdownMenuContent,{align:"end",children:[(0,a.jsxs)(eh.DropdownMenuItem,{onSelect:d,children:[(0,a.jsx)(V.Pencil,{className:"size-4"}),b("models.editProvider")]}),(0,a.jsxs)(eh.DropdownMenuItem,{disabled:r,onSelect:u,children:[(0,a.jsx)(ex,{className:"size-4"}),b("models.checkBalance")]}),(0,a.jsxs)(eh.DropdownMenuItem,{className:"text-destructive focus:text-destructive",disabled:o,onSelect:x,children:[(0,a.jsx)(eo.Trash2,{className:"size-4"}),b("models.deleteProviderTitle")]})]})]})]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,a.jsx)(L.Badge,{variant:"outline",children:k(e.apiFormat,b)}),N&&(0,a.jsx)(L.Badge,{variant:"secondary",children:b("models.claudeRouteBadge")}),e.region?(0,a.jsx)(L.Badge,{variant:"outline",children:e.region}):null,(0,a.jsx)(L.Badge,{variant:"secondary",children:(j=e.productType,"coding_plan"===j?b("models.productTypeCodingPlan"):"token_plan"===j?b("models.productTypeTokenPlan"):"subscription"===j?b("models.productTypeSubscription"):"local"===j?b("models.productTypeLocal"):b("models.productTypePaygApi"))}),(0,a.jsx)(L.Badge,{variant:"outline",children:P(e.authType,b)}),(!e?[]:[...e.supportedAdapters]).map(e=>(0,a.jsx)(X.CliBrandChip,{aiTool:e},e))]}),(0,a.jsxs)("div",{className:"min-h-10 space-y-2","data-testid":"provider-balance-row",children:[l?(0,a.jsx)("span",{className:"text-xs text-destructive",children:l}):s&&!s.supported?(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:b("models.balanceNotSupported")}):!s&&r?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,a.jsx)(m.RefreshCw,{className:"size-3 animate-spin"}),b("models.balanceLoading")]}):s?0===s.balances.length?(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:b("models.balanceEmpty")}):s.balances.map(e=>(0,a.jsx)(ek,{entry:e,t:b},`${e.label}-${e.resetsAt??""}`)):(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:b("models.balanceNotQueried")}),s?.supported&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[r&&(0,a.jsx)(m.RefreshCw,{className:"size-3 animate-spin"}),(0,a.jsx)("span",{children:C(s.checkedAt)})]})]})]})}),(0,a.jsx)(eb,{provider:e,onApply:e=>h(e),onViewConfig:g}),(0,a.jsxs)(J.Tabs,{defaultValue:"models",className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:[(0,a.jsxs)(J.TabsList,{children:[(0,a.jsx)(J.TabsTrigger,{value:"models",children:b("models.modelsWorkspace")}),(0,a.jsx)(J.TabsTrigger,{value:"credentials",children:b("models.credentials")}),(0,a.jsx)(J.TabsTrigger,{value:"diagnostics",children:b("models.diagnosticsTab")})]}),(0,a.jsx)(J.TabsContent,{value:"models",className:"pt-4",children:(0,a.jsx)(eC,{...v,isSyncing:t,syncDisabled:i,onSync:p,t:b})}),(0,a.jsx)(J.TabsContent,{value:"credentials",className:"pt-4",children:(0,a.jsx)(ej,{...f,t:b})}),(0,a.jsx)(J.TabsContent,{value:"diagnostics",className:"pt-4",forceMount:!0,children:(0,a.jsx)(eN,{provider:e,t:b})})]})]})}function ek({entry:e,t}){let i="%"===e.unit?w(100-e.remaining):void 0!==e.limit&&e.limit>0?w((1-e.remaining/e.limit)*100):void 0,s=!1===e.isAvailable,n=void 0!==i?`${Math.round(i)}%`:`${e.remaining} ${e.unit}`,l=void 0===i?"":i>=80?"bg-red-500":i>=50?"bg-amber-500":"bg-emerald-500";return(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[(0,a.jsxs)("span",{className:s?"text-amber-700 dark:text-amber-300":"text-muted-foreground",children:[e.label,s?` \xb7 ${t("models.balanceUnavailable")}`:"",e.resetsAt?` \xb7 ${t("models.balanceResetsAt")}: ${C(e.resetsAt)}`:""]}),(0,a.jsx)("span",{className:`font-medium ${s?"text-amber-700 dark:text-amber-300":""}`,children:n})]}),void 0!==i&&(0,a.jsx)("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-muted/40",children:(0,a.jsx)("div",{className:`h-full rounded-full transition-[width] duration-500 ${l}`,style:{width:`${i}%`}})})]})}function eP(e,a){return e instanceof Error?e.message:a}e.s(["default",0,function(){let{t:e}=(0,E.useLanguage)(),r=(0,l.useQueryClient)(),m=(0,i.useRouter)(),p=(0,i.usePathname)(),u=(0,i.useSearchParams)(),[x,h]=(0,t.useState)(()=>u.get("provider")??""),[g,v]=(0,t.useState)(j),[f,b]=(0,t.useState)(y),[C,w]=(0,t.useState)(N),[k,P]=(0,t.useState)(""),[B,T]=(0,t.useState)(""),[M,A]=(0,t.useState)(""),[U,D]=(0,t.useState)(y),[z,L]=(0,t.useState)(null),[K,R]=(0,t.useState)(!1),[O,H]=(0,t.useState)(null),[_,$]=(0,t.useState)({open:!1}),[W,V]=(0,t.useState)({open:!1,adapter:"claude"}),[G,X]=(0,t.useState)(!1),[Z,Y]=(0,t.useState)(!1);function J(e){h(e);let a=new URLSearchParams(u.toString());e?a.set("provider",e):a.delete("provider");let t=a.toString();m.replace(t?`${p}?${t}`:p,{scroll:!1})}let ee=(0,n.useQuery)({queryKey:["model-providers"],queryFn:q.listModelProviders}),ea=ee.data?.providers??[],ei=ee.data?.models??[],es=ee.data?.credentials??[],en=(0,t.useMemo)(()=>{let e=M.trim().toLowerCase();return e?ea.filter(a=>[a.name,a.providerKey,a.baseUrl,a.apiFormat,a.opencodeNpm].filter(Boolean).join(" ").toLowerCase().includes(e)):ea},[M,ea]);(0,t.useEffect)(()=>{let e=ea[0];e&&(x&&ea.some(e=>e.id===x)||J(e.id))},[ea,x]);let el=ea.find(e=>e.id===x),er=(0,t.useMemo)(()=>ei.filter(e=>e.providerProfileId===x),[ei,x]),eo=(0,t.useMemo)(()=>es.filter(e=>e.providerProfileId===x),[es,x]),ec=(0,t.useMemo)(()=>er.find(e=>e.id===k),[er,k]),ep=(0,t.useMemo)(()=>eo.find(e=>e.id===B),[eo,B]),eu=(0,t.useMemo)(()=>{let e=new Map;for(let a of ei)e.set(a.providerProfileId,(e.get(a.providerProfileId)??0)+1);return e},[ei]);(0,t.useEffect)(()=>{P(e=>er.some(a=>a.id===e)?e:er[0]?.id||""),T(e=>eo.some(a=>a.id===e)?e:eo[0]?.id||"")},[er,eo]),(0,t.useEffect)(()=>{if(ec){let{checked:e,custom:a}=function(e){let a=new Set(S),t=[],i=[];for(let s of e)a.has(s)?t.push(s):i.push(s);return{checked:t,custom:i.join(",")}}(ec.capabilities);w({name:ec.name,modelId:ec.modelId,capabilities:e,customCapabilities:a,contextWindow:ec.contextWindow?String(ec.contextWindow):""})}else w(N)},[ec]),(0,t.useEffect)(()=>{ep&&b(e=>({...e,label:ep.label??""}))},[ep]);let ex=(0,s.useMutation)({mutationFn:async()=>{let e,a=g.anthropicBaseUrl.trim(),t=g.openaiBaseUrl.trim(),i=await (0,q.createModelProvider)({name:g.name.trim(),providerKey:g.providerKey.trim(),authType:g.authType,apiFormat:g.apiFormat,baseUrl:a||t,...a?{anthropicBaseUrl:a}:{},...t?{openaiBaseUrl:t}:{},supportedAdapters:g.supportedAdapters,...g.allowPlaintextHttp?{allowPlaintextHttp:!0}:{}}),s=U.plaintextSecret.trim(),n="none"!==i.provider.authType&&s?(await (0,q.createProviderCredential)(i.provider.id,{label:U.label.trim()||void 0,plaintextSecret:s})).credential:void 0;if(n||"none"===i.provider.authType)try{await (0,q.syncProviderModels)(i.provider.id,{credentialId:n?.id})}catch(a){e=a}return{provider:i.provider,credential:n,syncError:e}},onSuccess:async a=>{J(a.provider.id),T(a.credential?.id??""),P(""),v(j),D(y),R(!1),H(null),I.toast.success(e("models.providerCreated")),a.syncError&&I.toast.error(a.syncError instanceof Error?a.syncError.message:e("models.modelSyncFailed")),await eA()},onError:a=>I.toast.error(eP(a,e("models.failedLoad")))}),eh=(0,s.useMutation)({mutationFn:async()=>{if(!O)throw Error(e("models.providerRequired"));let a=g.anthropicBaseUrl.trim(),t=g.openaiBaseUrl.trim();return(0,q.updateModelProvider)(O.id,{name:g.name.trim(),authType:g.authType,apiFormat:g.apiFormat,baseUrl:a||t,...a?{anthropicBaseUrl:a}:{},...t?{openaiBaseUrl:t}:{},supportedAdapters:g.supportedAdapters,...g.allowPlaintextHttp?{allowPlaintextHttp:!0}:{}})},onSuccess:async()=>{R(!1),H(null),v(j),I.toast.success(e("models.updated")),await eA()},onError:a=>I.toast.error(eP(a,e("models.failedLoad")))}),eg=(0,s.useMutation)({mutationFn:e=>(0,q.deleteModelProvider)(e),onSuccess:async(a,t)=>{L(null),J(ea.find(e=>e.id!==t)?.id||""),P(""),T(""),I.toast.success(e("models.providerDeleted")),await eA()},onError:a=>I.toast.error(eP(a,e("models.failedLoad")))}),ev=(0,s.useMutation)({mutationFn:()=>(0,q.createProviderCredential)(x,{label:f.label.trim()||void 0,plaintextSecret:f.plaintextSecret}),onSuccess:async a=>{b(y),T(a.credential.id),I.toast.success(e("models.credentialSaved")),await eA()},onError:a=>I.toast.error(eP(a,e("models.failedLoad")))}),ef=(0,s.useMutation)({mutationFn:()=>{if(!B)throw Error(e("models.credentialRequired"));return(0,q.rotateProviderCredential)(x,B,{label:f.label.trim()||void 0,plaintextSecret:f.plaintextSecret})},onSuccess:async a=>{b(y),T(a.credential.id),Y(!1),I.toast.success(e("models.credentialRotated")),await eA()},onError:a=>I.toast.error(eP(a,e("models.failedLoad")))}),eb=(0,s.useMutation)({mutationFn:e=>(0,q.deleteProviderCredential)(x,e),onSuccess:async(a,t)=>{L(null),T(eo.find(e=>e.id!==t)?.id||""),b(y),I.toast.success("revoked"===a.disposition?e("models.credentialRevoked"):e("models.credentialDeleted")),await eA()},onError:a=>I.toast.error(eP(a,e("models.failedLoad")))}),ej=()=>({name:C.name.trim(),modelId:C.modelId.trim(),capabilities:function(e,a){let t=[];for(let i of[...e,...function(e){let a=new Set;for(let t of e.split(",")){let e=t.trim();e&&a.add(e)}return[...a]}(a)])i&&!t.includes(i)&&t.push(i);return t}(C.capabilities,C.customCapabilities)}),ey=(0,s.useMutation)({mutationFn:()=>(0,q.createProviderModel)(x,{...ej(),...C.contextWindow.trim()?{contextWindow:Number(C.contextWindow.trim())}:{}}),onSuccess:async a=>{w(N),P(a.model.id),X(!1),I.toast.success(e("models.modelProfileSaved")),await eA()},onError:a=>I.toast.error(eP(a,e("models.failedLoad")))}),eN=(0,s.useMutation)({mutationFn:()=>{if(!k)throw Error(e("models.modelRequired"));return(0,q.updateProviderModel)(x,k,{...ej(),contextWindow:C.contextWindow.trim()?Number(C.contextWindow.trim()):null})},onSuccess:async a=>{P(a.model.id),X(!1),I.toast.success(e("models.updated")),await eA()},onError:a=>I.toast.error(eP(a,e("models.failedLoad")))}),eC=(0,s.useMutation)({mutationFn:e=>(0,q.deleteProviderModel)(x,e),onSuccess:async(a,t)=>{L(null);let i=er.find(e=>e.id!==t)?.id||"";P(i),w(i?C:N),I.toast.success(e("models.deleted")),await eA()},onError:a=>I.toast.error(eP(a,e("models.failedLoad")))}),ek=(0,s.useMutation)({mutationFn:e=>(0,q.setDefaultProviderModel)(x,e),onSuccess:async a=>{P(a.model.id),I.toast.success(e("models.defaultUpdated")),await eA()},onError:a=>I.toast.error(eP(a,e("models.failedLoad")))}),eS=eg.isPending||eC.isPending||eb.isPending,eB=eo.find(e=>"active"===e.status),eT=(0,n.useQuery)({queryKey:["provider-balance",x,eB?.id??""],queryFn:()=>(0,q.checkProviderBalance)(x,eB?{credentialId:eB.id}:{}),enabled:!!el&&(el?.authType==="none"||!!eB),refetchInterval:e=>e.state.data?.supported!==!1&&6e4,retry:!1}),eM=(0,s.useMutation)({mutationFn:()=>{if(!el)throw Error(e("models.providerRequired"));return(0,q.syncProviderModels)(el.id,{credentialId:"none"===el.authType?void 0:eB?.id})},onSuccess:async a=>{let t=a.createdCount+(a.updatedCount??0);I.toast.success(t>0?e("models.modelSyncComplete"):e("models.modelSyncNoChanges")),await eA()},onError:a=>I.toast.error(eP(a,e("models.modelSyncFailed")))});function eA(){return r.invalidateQueries({queryKey:["model-providers"]})}function eF(){H(null),v(j),D(y),R(!0)}function eU(e){H(e),v({name:e.name,providerKey:e.providerKey,apiFormat:e.apiFormat,authType:e.authType,anthropicBaseUrl:e.anthropicBaseUrl??"",openaiBaseUrl:e.openaiBaseUrl??"",supportedAdapters:[...e.supportedAdapters],allowPlaintextHttp:e.allowPlaintextHttp??!1}),D(y),R(!0)}return(0,a.jsxs)("div",{className:"mx-auto max-w-[1400px] space-y-6 p-6",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3 forgebadger-animate-in",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:e("models.title")}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e("models.providerCenterSubtitle")})]}),(0,a.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,a.jsxs)(c.Button,{type:"button",size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",onClick:eF,children:[(0,a.jsx)(d.Plus,{className:"size-4"}),e("models.addProvider")]})})]}),(0,a.jsxs)("div",{className:"grid gap-6 xl:grid-cols-[300px_minmax(0,1fr)]",children:[(0,a.jsx)("div",{className:"min-w-0 space-y-6",children:(0,a.jsx)(em,{providers:en,providerCount:ea.length,modelCounts:eu,queryText:M,selectedProviderId:x,isLoading:ee.isLoading,onQueryTextChange:A,onSelectProvider:J,onEditProvider:e=>{let a=ea.find(a=>a.id===e);a&&eU(a)},t:e})}),(0,a.jsx)("div",{className:"min-w-0",children:el?(0,a.jsx)(ew,{provider:el,isSyncing:eM.isPending,syncDisabled:"none"!==el.authType&&!eB,isDeletingProvider:eg.isPending,onEditProvider:()=>eU(el),balance:eT.data??null,balanceError:eT.isError?eT.error instanceof Error?eT.error.message:e("models.balanceCheckFailed"):null,isCheckingBalance:eT.isFetching,onSync:()=>eM.mutate(),onCheckBalance:()=>void eT.refetch(),onDeleteProvider:()=>{L({kind:"provider",providerId:el.id})},onApplyToCli:e=>$({open:!0,adapter:e}),onViewCliConfig:e=>V({open:!0,adapter:e}),modelsTab:{models:er,selectedModelId:k,modelForm:C,dialogOpen:G,isSaving:ey.isPending||eN.isPending,isSettingDefault:ek.isPending,isDeleting:eC.isPending,onModelFormChange:w,onDialogOpenChange:X,onNewModel:function(){P(""),w(N),X(!0)},onEditModel:function(e){P(e),X(!0)},onSetDefault:e=>ek.mutate(e),onDeleteModel:e=>{L({kind:"model",modelId:e})},onSubmitModel:function(e){e.preventDefault(),k?eN.mutate():ey.mutate()}},credentialTab:{credentials:eo,selectedCredentialId:B,credentialForm:f,rotateDialogOpen:Z,isSaving:ev.isPending,isRotating:ef.isPending,isDeleting:eb.isPending,onCredentialFormChange:b,onRotateDialogOpenChange:Y,onSelectCredential:T,onSubmitCredential:function(e){e.preventDefault(),ev.mutate()},onOpenRotate:function(e){T(e),b(e=>({...e,plaintextSecret:""})),Y(!0)},onConfirmRotate:()=>ef.mutate(),onDeleteCredential:e=>{L({kind:"credential",credentialId:e})}},t:e}):(0,a.jsxs)("div",{className:"flex min-h-[420px] flex-col items-center justify-center gap-4 rounded-lg border border-dashed border-border/70 bg-card/50 px-6 py-12 text-center forgebadger-animate-in",children:[(0,a.jsx)("div",{className:"flex size-10 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,a.jsx)(o,{className:"size-5"})}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("div",{className:"text-sm font-medium",children:e("models.emptyWorkspaceTitle")}),(0,a.jsx)("p",{className:"max-w-md text-sm text-muted-foreground",children:e("models.emptyProviders")})]}),(0,a.jsxs)(c.Button,{type:"button",size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",onClick:eF,children:[(0,a.jsx)(d.Plus,{className:"size-4"}),e("models.addProvider")]})]})})]}),(0,a.jsx)(et,{open:W.open,adapter:W.adapter,onOpenChange:e=>V(a=>({...a,open:e}))}),(0,a.jsx)(F,{open:K,customProvider:g,setupCredential:U,isCreating:ex.isPending||eh.isPending,existing:O??void 0,onOpenChange:function(e){!e&&(ex.isPending||eh.isPending)||R(e)},onCustomProviderChange:v,onSetupCredentialChange:D,onSubmit:function(e){e.preventDefault(),O?eh.mutate():ex.mutate()},t:e}),(0,a.jsx)(ed,{target:z,isDeleting:eS,onOpenChange:e=>{e||eS||L(null)},onConfirm:function(){z&&("provider"===z.kind?eg.mutate(z.providerId):"model"===z.kind?eC.mutate(z.modelId):eb.mutate(z.credentialId))},t:e}),el?(0,a.jsx)(Q,{provider:el,models:er,credentials:eo,open:_.open,initialAdapter:_.adapter,onOpenChange:e=>$(a=>({...a,open:e}))}):null]})}],35267)}]);
|