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,4 +1,4 @@
|
|
|
1
|
-
module.exports=[68236,a=>{"use strict";var b=a.i(20486),c=a.i(85198),d=a.i(39747),e=a.i(26248),f=a.i(44935),g=a.i(14365),h=a.i(45164),i=a.i(76897),j=a.i(60584),k=a.i(83124),l=a.i(35485);let m=(0,l.default)("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]);var n=a.i(14060);let o=(0,l.default)("ScrollText",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]),p=(0,l.default)("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var q=a.i(2337),r=a.i(4730),s=a.i(97494),t=a.i(35133),u=a.i(6023),v=a.i(23834),w=a.i(4837),x=a.i(26643);let y=(0,l.default)("MonitorSmartphone",[["path",{d:"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8",key:"10dyio"}],["path",{d:"M10 19v-3.96 3.15",key:"1irgej"}],["path",{d:"M7 19h5",key:"qswx4l"}],["rect",{width:"6",height:"10",x:"16",y:"12",rx:"2",key:"1egngj"}]]);var z=a.i(55068),A=a.i(3030),B=a.i(70458),C=a.i(79914),D=a.i(29649),E=a.i(39042);let F={currentPassword:"",newPassword:"",confirmPassword:""};function G(){let{t:a}=(0,C.useLanguage)(),f=(0,e.useQueryClient)(),[g,h]=(0,c.useState)(F),[i,j]=(0,c.useState)(null),[l,m]=(0,c.useState)(null),{data:n,isLoading:o,isError:p}=(0,d.useQuery)({queryKey:["auth-sessions"],queryFn:E.listAuthSessions}),q=(0,w.useMutation)({mutationFn:()=>(0,E.changePassword)(g.currentPassword,g.newPassword),onSuccess:()=>{h(F),j(null),m(a("settings.account.passwordChanged")),(0,D.logout)(),setTimeout(()=>{window.location.href="/login"},1200)},onError:b=>{j(b.message||a("settings.account.passwordChangeFailed"))}}),r=(0,w.useMutation)({mutationFn:a=>(0,E.revokeAuthSession)(a),onSuccess:()=>{f.invalidateQueries({queryKey:["auth-sessions"]})}}),t=(0,w.useMutation)({mutationFn:E.revokeOtherAuthSessions,onSuccess:()=>{f.invalidateQueries({queryKey:["auth-sessions"]})}}),u=n?.sessions??[],v=(0,c.useMemo)(()=>u.filter(a=>!a.current).length,[u]);return(0,b.jsxs)(B.Card,{className:"forgebadger-animate-in",children:[(0,b.jsxs)(B.CardHeader,{className:"flex flex-row items-center gap-3 space-y-0",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(k.KeyRound,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(B.CardTitle,{className:"text-sm font-semibold",children:a("settings.account.title")}),(0,b.jsx)(B.CardDescription,{className:"mt-1 text-xs",children:a("settings.account.description")})]})]}),(0,b.jsxs)(B.CardContent,{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(A.Label,{htmlFor:"current-password",className:"text-xs font-medium",children:a("settings.account.currentPassword")}),(0,b.jsx)(z.Input,{id:"current-password",type:"password",autoComplete:"current-password",value:g.currentPassword,onChange:a=>h(b=>({...b,currentPassword:a.target.value}))})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(A.Label,{htmlFor:"new-password",className:"text-xs font-medium",children:a("settings.account.newPassword")}),(0,b.jsx)(z.Input,{id:"new-password",type:"password",autoComplete:"new-password",value:g.newPassword,onChange:a=>h(b=>({...b,newPassword:a.target.value}))})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(A.Label,{htmlFor:"confirm-password",className:"text-xs font-medium",children:a("settings.account.confirmPassword")}),(0,b.jsx)(z.Input,{id:"confirm-password",type:"password",autoComplete:"new-password",value:g.confirmPassword,onChange:a=>h(b=>({...b,confirmPassword:a.target.value}))})]})]}),i&&(0,b.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:i}),l&&(0,b.jsx)("p",{className:"rounded-md border border-emerald-400/40 bg-emerald-400/10 px-3 py-2 text-xs text-emerald-400",children:l}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("settings.account.passwordHint")}),(0,b.jsx)(s.Button,{type:"button",size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",disabled:q.isPending||!g.currentPassword||!g.newPassword||!g.confirmPassword,onClick:function(){(j(null),m(null),g.newPassword.length<8)?j(a("settings.account.passwordTooShort")):g.newPassword!==g.confirmPassword?j(a("settings.account.passwordMismatch")):q.mutate()},children:q.isPending?a("settings.account.passwordChanging"):a("settings.account.passwordSubmit")})]})]}),(0,b.jsxs)("div",{className:"space-y-3 border-t border-border/70 pt-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)(y,{className:"size-4 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:a("settings.account.devicesTitle")}),(0,b.jsx)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:a("settings.account.devicesDescription")})]})]}),v>0&&(0,b.jsxs)(s.Button,{type:"button",variant:"outline",size:"sm",disabled:t.isPending,onClick:()=>t.mutate(),children:[(0,b.jsx)(x.LogOut,{className:"size-3.5"}),t.isPending?a("settings.account.revoking"):a("settings.account.revokeOthers")]})]}),o?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("settings.account.devicesLoading")}):p?(0,b.jsx)("p",{className:"text-xs text-destructive",children:a("settings.account.devicesLoadFailed")}):0===u.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("settings.account.devicesEmpty")}):(0,b.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-md border border-border/70",children:u.map(a=>(0,b.jsx)(H,{session:a,revoking:r.isPending,onRevoke:()=>r.mutate(a.id)},a.id))})]})]})]})}function H({session:a,revoking:c,onRevoke:d}){let{t:e}=(0,C.useLanguage)();return(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 px-3 py-2.5 transition-colors hover:bg-muted/40",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium",children:function(a){if(!a)return"";let b=/Edg\//.test(a)?"Edge":/Chrome\//.test(a)?"Chrome":/Safari\//.test(a)?"Safari":/Firefox\//.test(a)?"Firefox":"";return[/Windows/.test(a)?"Windows":/Mac OS X/.test(a)?"macOS":/Linux/.test(a)?"Linux":/Android/.test(a)?"Android":/iPhone|iPad/.test(a)?"iOS":"",b].filter(Boolean).join(" · ")}(a.userAgent)||e("settings.account.unknownDevice")}),a.current&&(0,b.jsx)(r.Badge,{children:e("settings.account.currentDevice")})]}),(0,b.jsxs)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:[e("settings.account.lastActive"),":"," ",new Date(a.lastSeenAt).toLocaleString()," · ",e("settings.account.signedInAt"),":"," ",new Date(a.createdAt).toLocaleString()]})]}),!a.current&&(0,b.jsx)(s.Button,{type:"button",variant:"outline",size:"sm",disabled:c,onClick:d,children:e(c?"settings.account.revoking":"settings.account.revoke")})]})}let I=(0,l.default)("Route",[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]]);var J=a.i(85564),K=a.i(10917);function L(){let{t:a}=(0,C.useLanguage)(),c=(0,e.useQueryClient)(),{data:f,isLoading:g,isError:h}=(0,d.useQuery)({queryKey:["claude-route"],queryFn:E.getClaudeRoute,retry:!1}),i=(0,w.useMutation)({mutationFn:a=>(0,E.setClaudeRoute)(a),onSuccess:a=>{c.setQueryData(["claude-route"],a)},onError:b=>{J.toast.error(b instanceof Error?b.message:a("settings.claudeRouteUpdateFailed"))}}),j=f?.enabled===!0;return(0,b.jsxs)(B.Card,{className:"forgebadger-animate-in",children:[(0,b.jsxs)(B.CardHeader,{className:"flex flex-wrap items-center gap-3 space-y-0",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(I,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)(B.CardTitle,{className:"text-sm font-semibold",children:a("settings.claudeRoute")}),(0,b.jsx)(B.CardDescription,{className:"mt-1 text-xs",children:a("settings.claudeRouteDescription")})]}),(0,b.jsx)(K.Switch,{checked:j,disabled:g||h||i.isPending,onCheckedChange:a=>i.mutate(a),"aria-label":a("settings.claudeRoute")})]}),(0,b.jsx)(B.CardContent,{className:"space-y-3",children:h?(0,b.jsx)("p",{className:"text-xs text-destructive",children:a("settings.claudeRouteLoadFailed")}):f?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(r.Badge,{variant:j?"secondary":"outline",children:j?a("settings.claudeRouteStateEnabled"):a("settings.claudeRouteStateDisabled")}),(0,b.jsx)("span",{className:"break-all font-mono text-xs text-muted-foreground",children:f.gatewayUrl})]}),(0,b.jsxs)("div",{className:"text-xs text-muted-foreground",children:[a("settings.claudeRouteAssignmentLabel"),":"," ",f.assignment?(0,b.jsx)("span",{className:"font-medium text-foreground",children:f.assignment.providerName}):a("settings.claudeRouteNoAssignment")]}),j&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("settings.claudeRouteGatewayDown")})]}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("common.loading")})})]})}var M=a.i(14027),N=a.i(10567),O=a.i(37134),P=a.i(16569),Q=a.i(62384);function R(){let{t:a}=(0,C.useLanguage)(),f=(0,e.useQueryClient)(),[g,h]=(0,c.useState)(""),[i,j]=(0,c.useState)(["read"]),[k,l]=(0,c.useState)(null),[m,n]=(0,c.useState)(null),o=(0,d.useQuery)({queryKey:E.mcpStatusKey,queryFn:E.getMcpStatus,retry:!1}),p=o.data?.enabled===!0,q=(0,d.useQuery)({queryKey:E.mcpTokensKey,queryFn:E.listMcpTokens,retry:!1,enabled:p,refetchInterval:3e4}),t=(0,w.useMutation)({mutationFn:E.createMcpToken,onSuccess:a=>{f.invalidateQueries({queryKey:E.mcpTokensKey}),l(a.plaintext),h("")},onError:()=>J.toast.error(a("settings.mcpCreateFailed"))}),u=(0,w.useMutation)({mutationFn:E.revokeMcpToken,onSuccess:()=>{f.invalidateQueries({queryKey:E.mcpTokensKey}),n(null)},onError:()=>J.toast.error(a("settings.mcpRevokeFailed"))}),v=o.data?.endpoint??"";async function x(b){if("u">typeof navigator&&navigator.clipboard)try{await navigator.clipboard.writeText(b),J.toast.success(a("settings.mcpCopied"))}catch{J.toast.error(a("settings.mcpCopyFailed"))}}return(0,b.jsxs)(B.Card,{className:"forgebadger-animate-in",children:[(0,b.jsxs)(B.CardHeader,{className:"flex flex-row items-center gap-3 space-y-0",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(N.Plug,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)(B.CardTitle,{className:"text-sm font-semibold",children:a("settings.mcp")}),(0,b.jsx)(B.CardDescription,{className:"mt-1 text-xs",children:a("settings.mcpDescription")})]}),o.data&&(0,b.jsx)(r.Badge,{variant:p?"secondary":"outline",children:p?a("settings.mcpStateEnabled"):a("settings.mcpStateDisabled")})]}),(0,b.jsx)(B.CardContent,{className:"space-y-3",children:o.isError?(0,b.jsx)("p",{className:"text-xs text-destructive",children:a("settings.mcpLoadFailed")}):o.isLoading?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("common.loading")}):(0,b.jsxs)(b.Fragment,{children:[p?(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-border/70 bg-muted/20 px-3 py-2",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a("settings.mcpEndpoint")}),(0,b.jsx)("span",{className:"min-w-0 flex-1 break-all font-mono text-xs",children:v}),(0,b.jsx)(s.Button,{type:"button",variant:"ghost",size:"icon",className:"size-6 shrink-0","aria-label":a("settings.mcpEndpoint"),onClick:()=>void x(v),children:(0,b.jsx)(M.Copy,{className:"size-3.5"})})]}):(0,b.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 p-3 text-xs text-muted-foreground",children:[a("settings.mcpDisabledHint"),(0,b.jsx)("span",{className:"mt-1 block font-mono",children:"FORGEBADGER_MCP_ENABLED=true"})]}),p&&(0,b.jsx)(S,{endpoint:v,scopes:i,onToggleScope:function(a){let b=i.includes(a);b&&1===i.length||j(b?i.filter(b=>b!==a):[...i,a])},onCreate:function(a){a.preventDefault(),g.trim()&&0!==i.length&&t.mutate({name:g.trim(),scopes:i})},creating:t.isPending,name:g,onNameChange:h,tokens:q.data?.tokens??void 0,loading:q.isLoading,error:q.isError,onRevoke:n})]})}),(0,b.jsx)(V,{plaintext:k,onClose:()=>l(null),onCopy:x}),(0,b.jsx)(Q.Dialog,{open:null!==m,onOpenChange:a=>!a&&n(null),children:(0,b.jsxs)(Q.DialogContent,{children:[(0,b.jsxs)(Q.DialogHeader,{children:[(0,b.jsx)(Q.DialogTitle,{children:a("settings.mcpRevokeConfirm")}),(0,b.jsx)(Q.DialogDescription,{children:m?.name})]}),(0,b.jsxs)(Q.DialogFooter,{children:[(0,b.jsx)(s.Button,{variant:"outline",onClick:()=>n(null),children:a("settings.mcpClose")}),(0,b.jsx)(s.Button,{variant:"destructive",disabled:u.isPending,onClick:()=>m&&u.mutate(m.id),children:a("settings.mcpRevoke")})]})]})})]})}function S({endpoint:a,scopes:c,onToggleScope:d,onCreate:e,creating:f,name:g,onNameChange:h,tokens:i,loading:j,error:k,onRevoke:l}){let{t:m}=(0,C.useLanguage)();return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("form",{onSubmit:e,className:"space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,b.jsx)(A.Label,{className:"text-xs",htmlFor:"mcp-token-name",children:m("settings.mcpName")}),(0,b.jsx)(z.Input,{id:"mcp-token-name",value:g,onChange:a=>h(a.target.value),maxLength:64,className:"h-8 text-xs"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3 pb-1.5",children:[(0,b.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 text-xs",children:[(0,b.jsx)(P.Checkbox,{checked:c.includes("read"),onCheckedChange:()=>d("read"),"aria-label":m("settings.mcpScopeRead")}),m("settings.mcpScopeRead")]}),(0,b.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 text-xs",children:[(0,b.jsx)(P.Checkbox,{checked:c.includes("operate"),onCheckedChange:()=>d("operate"),"aria-label":m("settings.mcpScopeOperate")}),m("settings.mcpScopeOperate")]}),(0,b.jsx)(s.Button,{type:"submit",size:"sm",className:"h-8",disabled:f||!g.trim(),children:f?m("common.loading"):m("settings.mcpCreate")})]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:m("settings.mcpScopeOperateHelp")})]}),(0,b.jsx)("div",{className:"rounded-md border border-border/70",children:k?(0,b.jsx)("p",{className:"p-3 text-xs text-destructive",children:m("settings.mcpLoadFailed")}):j?(0,b.jsx)("p",{className:"p-3 text-xs text-muted-foreground",children:m("common.loading")}):i&&i.length>0?(0,b.jsx)("div",{className:"divide-y divide-border/70",children:i.map(a=>(0,b.jsxs)("div",{className:`flex flex-wrap items-center gap-x-3 gap-y-1 px-3 py-2.5 ${a.revoked?"opacity-60":""}`,children:[(0,b.jsx)("span",{className:"min-w-0 truncate text-sm font-medium",children:a.name}),a.scopes.map(a=>(0,b.jsx)(r.Badge,{variant:"operate"===a?"secondary":"outline",children:"operate"===a?m("settings.mcpScopeOperate"):m("settings.mcpScopeRead")},a)),a.revoked&&(0,b.jsx)(r.Badge,{variant:"destructive",children:m("settings.mcpRevoked")}),(0,b.jsx)("span",{className:"ml-auto text-xs text-muted-foreground",children:a.lastUsedAt?`${m("settings.mcpLastUsed")}: ${new Date(a.lastUsedAt).toLocaleString()}`:m("settings.mcpNeverUsed")}),!a.revoked&&(0,b.jsx)(s.Button,{type:"button",variant:"ghost",size:"icon",className:"size-7 shrink-0 text-destructive hover:text-destructive","aria-label":`${m("settings.mcpRevoke")} ${a.name}`,onClick:()=>l(a),children:(0,b.jsx)(O.Trash2,{className:"size-3.5"})})]},a.id))}):(0,b.jsx)("p",{className:"p-3 text-xs text-muted-foreground",children:m("settings.mcpEmpty")})}),(0,b.jsx)(T,{endpoint:a})]})}function T({endpoint:a}){let{t:c}=(0,C.useLanguage)(),d=c("settings.mcpTokenPlaceholder"),e=`claude mcp add --transport http forgebadger ${a} --header "Authorization: Bearer ${d}"`,f=JSON.stringify({mcpServers:{forgebadger:{type:"http",url:a,headers:{Authorization:`Bearer ${d}`}}}},null,2);return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:c("settings.mcpConnectHelp")}),(0,b.jsx)(U,{label:c("settings.mcpConnectCli"),content:e}),(0,b.jsx)(U,{label:c("settings.mcpConnectJson"),content:f})]})}function U({label:a,content:c}){let{t:d}=(0,C.useLanguage)();async function e(){if("u">typeof navigator&&navigator.clipboard)try{await navigator.clipboard.writeText(c),J.toast.success(d("settings.mcpCopied"))}catch{J.toast.error(d("settings.mcpCopyFailed"))}}return(0,b.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border/70 px-3 py-1.5",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a}),(0,b.jsx)(s.Button,{type:"button",variant:"ghost",size:"icon",className:"size-6","aria-label":a,onClick:()=>void e(),children:(0,b.jsx)(M.Copy,{className:"size-3.5"})})]}),(0,b.jsx)("pre",{className:"overflow-x-auto p-3 font-mono text-xs leading-relaxed",children:c})]})}function V({plaintext:a,onClose:c,onCopy:d}){let{t:e}=(0,C.useLanguage)();return(0,b.jsx)(Q.Dialog,{open:null!==a,onOpenChange:a=>!a&&c(),children:(0,b.jsxs)(Q.DialogContent,{children:[(0,b.jsxs)(Q.DialogHeader,{children:[(0,b.jsx)(Q.DialogTitle,{children:e("settings.mcpPlaintextTitle")}),(0,b.jsx)(Q.DialogDescription,{children:e("settings.mcpPlaintextWarning")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-border/70 bg-muted/20 px-3 py-2",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 break-all font-mono text-xs",children:a}),(0,b.jsxs)(s.Button,{type:"button",variant:"outline",size:"sm",className:"shrink-0",onClick:()=>a&&d(a),children:[(0,b.jsx)(M.Copy,{className:"size-3.5"}),e("settings.mcpCopy")]})]}),(0,b.jsx)(Q.DialogFooter,{children:(0,b.jsx)(s.Button,{onClick:c,children:e("settings.mcpClose")})})]})})}var W=a.i(60427),X=a.i(22510),Y=a.i(53302),Z=a.i(68442),$=a.i(49613),_=a.i(39465);function aa(){let{t:a}=(0,C.useLanguage)(),d=(0,Z.usePetPreference)(),e=(0,c.useId)(),[f,g]=(0,c.useState)("idle");return(0,b.jsxs)(B.Card,{children:[(0,b.jsxs)(B.CardHeader,{className:"flex flex-row items-center gap-3 space-y-0",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(W.Bot,{className:"size-4","aria-hidden":"true"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(B.CardTitle,{id:e,className:"text-sm font-semibold",children:a("settings.pet")}),(0,b.jsx)(B.CardDescription,{className:"mt-1 text-xs",children:a("settings.petDescription")})]})]}),(0,b.jsxs)(B.CardContent,{className:"space-y-3",children:[(0,b.jsx)("div",{role:"radiogroup","aria-labelledby":e,className:"grid gap-3 sm:grid-cols-2",children:$.PET_OPTIONS.map(c=>{let f=d===c.id,h=`${e}-${c.id}-name`,i=`${e}-${c.id}-description`;return(0,b.jsxs)("button",{type:"button",role:"radio","aria-checked":f,"aria-labelledby":h,"aria-describedby":i,onClick:()=>{var a;return a=c.id,void g((0,$.writePetPreference)(a)?"saved":"error")},className:(0,_.cn)("flex items-center gap-3 rounded-md border p-3 text-left outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring",f?"border-brand/60 bg-brand/10":"border-border hover:bg-muted/40"),children:[(0,b.jsx)("span",{className:"shrink-0 rounded-md bg-muted/40 p-1","aria-hidden":"true",children:(0,b.jsx)(Y.RobotSprite,{frame:"stand",size:80})}),(0,b.jsxs)("span",{className:"min-w-0 flex-1 space-y-1",children:[(0,b.jsx)("span",{id:h,className:"block text-sm font-medium",children:a(c.nameKey)}),(0,b.jsx)("span",{id:i,className:"block text-xs leading-relaxed text-muted-foreground",children:a(c.descriptionKey)}),f&&(0,b.jsxs)("span",{className:"flex items-center gap-1 text-xs text-brand","aria-hidden":"true",children:[(0,b.jsx)(X.Check,{className:"size-3"}),a("settings.petSelected")]})]})]},c.id)})}),"saved"===f&&(0,b.jsx)("p",{role:"status",className:"text-xs text-muted-foreground",children:a("settings.petSaved")}),"error"===f&&(0,b.jsx)("p",{role:"alert",className:"text-xs text-destructive",children:a("settings.petSaveFailed")})]})]})}let ab="cyan",ac=[{id:"cyan",nameKey:"settings.themeCyan",brand:"187 86% 53%",brandForeground:"220 30% 6%",swatch:"#22d3ee"},{id:"orange",nameKey:"settings.themeOrange",brand:"24 100% 50%",brandForeground:"0 0% 100%",swatch:"#ff8000"},{id:"violet",nameKey:"settings.themeViolet",brand:"258 90% 66%",brandForeground:"0 0% 100%",swatch:"#8b5cf6"},{id:"emerald",nameKey:"settings.themeEmerald",brand:"160 84% 39%",brandForeground:"160 60% 6%",swatch:"#10b981"},{id:"blue",nameKey:"settings.themeBlue",brand:"217 91% 60%",brandForeground:"0 0% 100%",swatch:"#3b82f6"},{id:"rose",nameKey:"settings.themeRose",brand:"350 89% 60%",brandForeground:"0 0% 100%",swatch:"#f43f5e"},{id:"amber",nameKey:"settings.themeAmber",brand:"38 92% 55%",brandForeground:"38 60% 8%",swatch:"#f59e0b"}],ad="forgebadger.accent";function ae(a){return ac.some(b=>b.id===a)}var af=a.i(61047),ag=a.i(90409);let ah=[{code:"zh-CN",label:"简体中文"},{code:"zh-TW",label:"繁體中文"},{code:"en",label:"English"}];function ai({icon:a,title:c,description:d}){return(0,b.jsxs)(B.CardHeader,{className:"flex flex-row items-center gap-3 space-y-0",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:a}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(B.CardTitle,{className:"text-sm font-semibold",children:c}),(0,b.jsx)(B.CardDescription,{className:"mt-1 text-xs",children:d})]})]})}function aj({adapter:a}){let{t:c}=(0,C.useLanguage)();return(0,b.jsxs)("div",{className:"rounded-md border border-border/70 p-3 transition-colors hover:bg-muted/40",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2.5",children:[(0,b.jsx)("span",{className:(0,_.cn)("size-1.5 shrink-0 rounded-full",a.available?"bg-emerald-400":"bg-red-400")}),(0,b.jsx)(t.CliBrandChip,{aiTool:a.id}),(0,b.jsxs)("span",{className:"truncate font-mono text-xs text-muted-foreground",children:[a.command," --version"]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,b.jsx)(r.Badge,{variant:a.available?"secondary":"outline",children:c(a.available?"settings.available":"settings.missing")}),(0,b.jsx)(r.Badge,{variant:"supported"===a.supportLevel?"secondary":"outline",children:c("supported"===a.supportLevel?"settings.supported":"settings.prototype")}),a.launchEnabled?(0,b.jsx)(r.Badge,{children:c("settings.launchEnabled")}):(0,b.jsx)(r.Badge,{variant:"outline",children:c("settings.launchDisabled")})]})]}),(0,b.jsx)("div",{className:"mt-2 text-xs text-muted-foreground",children:a.version??a.error??a.configDir}),a.runtimeModes.length>0&&(0,b.jsx)("div",{className:"mt-1.5 font-mono text-xs text-muted-foreground",children:a.runtimeModes.join(" / ")})]})}function ak({title:a,description:c,checked:d,disabled:e=!0,onCheckedChange:f,icon:g}){return(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-md border border-border/70 px-3 py-3 transition-colors hover:bg-muted/40",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-start gap-3",children:[g?(0,b.jsx)("span",{className:"mt-0.5 shrink-0",children:g}):null,(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:a}),(0,b.jsx)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:c})]})]}),(0,b.jsx)(K.Switch,{checked:d,disabled:e,onCheckedChange:f,"aria-label":a})]})}function al({label:a,value:c}){return(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3 px-3 py-2.5 text-sm",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:a}),(0,b.jsx)(r.Badge,{variant:"secondary",children:c})]})}a.s(["default",0,function(){let{language:a,setLanguage:l,t}=(0,C.useLanguage)(),w=(0,e.useQueryClient)(),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)("unsupported"),[D,F]=(0,c.useState)("idle"),[H,I]=(0,c.useState)(ab);(0,c.useEffect)(()=>{I(function(a=window.localStorage){let b=a.getItem(ad);return ae(b)?b:ab}())},[]);let{data:J,isLoading:K,isFetching:M,isError:N,refetch:O}=(0,d.useQuery)({queryKey:v.ADAPTER_DISCOVERY_QUERY_KEY,queryFn:E.discoverAdapters}),{data:P,isLoading:Q,isFetching:S,isError:T,refetch:U}=(0,d.useQuery)({queryKey:["dependencies"],queryFn:E.getDependencies}),{data:V,isLoading:W}=(0,d.useQuery)({queryKey:["audit-logs","settings"],queryFn:()=>(0,E.listAuditLogs)({limit:8})});async function X(a){if(!a){(0,af.setBrowserNotificationPreference)(!1),y(!1),A((0,af.getBrowserNotificationPermission)());return}let b="default"===(0,af.getBrowserNotificationPermission)()?await (0,af.requestBrowserNotificationPermission)():(0,af.getBrowserNotificationPermission)();A(b);let c="granted"===b;(0,af.setBrowserNotificationPreference)(c),y(c)}async function Y(){F("exporting");try{var a;let b,c,d,e,{report:f}=await (0,E.exportDiagnostics)();b=(a=f).generatedAt.replace(/[:.]/g,"-"),c=new Blob([`${JSON.stringify(a,null,2)}
|
|
2
|
-
`],{type:"application/json"}),d=URL.createObjectURL(c),(e=document.createElement("a")).href=d,e.download=`forgebadger-diagnostics-${b}.json`,e.click(),URL.revokeObjectURL(d),F("success")}catch{F("error")}}async function Z(){await Promise.all([U(),O()]),await w.invalidateQueries({queryKey:["dashboard-summary"]})}(0,c.useEffect)(()=>{y((0,af.getBrowserNotificationPreference)()),A((0,af.getBrowserNotificationPermission)())},[]);let $=P?.terminalRuntime,am=(0,ag.getTerminalRuntimeSetupGuidance)($?.mode,$?.supported),an=$?.persistence,ao=P?.dependencies.find(a=>a.name===an),ap=ao?.version??ao?.error??$?.message,aq=an??t("settings.notDetected"),ar=M||S;return(0,b.jsxs)("div",{className:"mx-auto max-w-6xl space-y-6 p-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:t("settings.title")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:t("settings.subtitle")})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-6 xl:grid-cols-[minmax(0,1fr)_360px]",children:[(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)(B.Card,{className:"forgebadger-animate-in",children:[(0,b.jsx)(ai,{icon:(0,b.jsx)(j.Globe2,{className:"size-4"}),title:t("settings.language"),description:t("settings.languageDescription")}),(0,b.jsx)(B.CardContent,{children:(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:ah.map(c=>(0,b.jsx)(s.Button,{type:"button",variant:a===c.code?"default":"outline",size:"sm",className:a===c.code?"bg-brand text-brand-foreground hover:bg-brand/90":void 0,onClick:()=>l(c.code),children:c.label},c.code))})})]}),(0,b.jsxs)(B.Card,{className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:[(0,b.jsx)(ai,{icon:(0,b.jsx)(m,{className:"size-4"}),title:t("settings.theme"),description:t("settings.themeDescription")}),(0,b.jsx)(B.CardContent,{children:(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:ac.map(a=>{let c=H===a.id;return(0,b.jsxs)("button",{type:"button","aria-pressed":c,onClick:()=>I(function(a,b=window.localStorage){let c=ae(a)?a:ab;return document.documentElement.dataset.accent=c,b.setItem(ad,c),c}(a.id)),className:c?"flex items-center gap-2 rounded-md border border-brand/60 bg-brand/10 px-3 py-2 text-sm text-foreground transition-colors duration-150":"flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm text-muted-foreground transition-colors duration-150 hover:border-brand/40 hover:bg-muted/40 hover:text-foreground",children:[(0,b.jsx)("span",{className:"size-3.5 rounded-full ring-1 ring-border",style:{backgroundColor:a.swatch},"aria-hidden":"true"}),t(a.nameKey)]},a.id)})})})]}),(0,b.jsx)(aa,{}),(0,b.jsxs)(B.Card,{className:"forgebadger-animate-in",style:{animationDelay:"80ms"},children:[(0,b.jsx)(ai,{icon:(0,b.jsx)(p,{className:"size-4"}),title:t("settings.console"),description:t("settings.consoleDescription")}),(0,b.jsxs)(B.CardContent,{className:"space-y-2",children:[(0,b.jsx)(ak,{title:t("settings.autoReconnect"),description:t("settings.autoReconnectDescription"),checked:!0}),(0,b.jsx)(ak,{title:t("settings.showStoppedSessions"),description:t("settings.showStoppedSessionsDescription"),checked:!0}),(0,b.jsx)(ak,{title:t("settings.browserNotifications"),description:"denied"===z?t("settings.browserNotificationsDenied"):t("settings.browserNotificationsDescription"),checked:x&&"granted"===z,disabled:"unsupported"===z,onCheckedChange:X,icon:(0,b.jsx)(g.Bell,{className:"size-4 text-muted-foreground"})})]})]}),(0,b.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:"100ms"},children:(0,b.jsx)(G,{})}),(0,b.jsxs)(B.Card,{className:"forgebadger-animate-in",style:{animationDelay:"120ms"},children:[(0,b.jsxs)(B.CardHeader,{className:"flex flex-wrap items-center gap-3 space-y-0",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(h.Cpu,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)(B.CardTitle,{className:"text-sm font-semibold",children:t("settings.adapters")}),(0,b.jsx)(B.CardDescription,{className:"mt-1 text-xs",children:t("settings.adaptersDescription")})]}),(0,b.jsxs)(s.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>void Z(),disabled:ar,children:[(0,b.jsx)(n.RefreshCw,{className:(0,_.cn)("size-3.5",ar&&"animate-spin")}),ar?t("settings.discoveryRefreshing"):t("settings.discoveryRefresh")]})]}),(0,b.jsxs)(B.CardContent,{className:"space-y-3",children:[Q?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:t("settings.dependenciesLoading")}):T?(0,b.jsx)("div",{className:"rounded-md border border-destructive/50 bg-destructive/10 p-3",children:(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(f.AlertTriangle,{className:"mt-0.5 size-4 shrink-0 text-destructive"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-destructive",children:t("settings.dependenciesLoadFailed")}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:t("settings.discoveryLoadFailedDescription")})]})]})}):(0,b.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 p-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:(0,_.cn)("size-1.5 shrink-0 rounded-full",am.blocked?"bg-red-400":"bg-emerald-400")}),(0,b.jsx)("span",{className:"text-sm font-medium",children:t("settings.terminalRuntimeReadiness")})]}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:t(am.descriptionKey)}),ap&&(0,b.jsx)("p",{className:"mt-2 break-all font-mono text-xs text-muted-foreground",children:ap})]}),(0,b.jsx)(r.Badge,{variant:am.blocked?"destructive":"secondary",children:am.blocked?t("settings.launchBlocked"):t("settings.launchReady")})]}),am.blocked&&(0,b.jsx)("div",{className:"mt-3",children:(0,b.jsx)(u.RuntimeSetupCommands,{guidance:am})})]}),K?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:t("settings.discoveryLoading")}):N?(0,b.jsxs)("div",{className:"rounded-md border border-destructive/50 bg-destructive/10 p-3",children:[(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(f.AlertTriangle,{className:"mt-0.5 size-4 shrink-0 text-destructive"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-destructive",children:t("settings.discoveryLoadFailed")}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:t("settings.discoveryLoadFailedDescription")})]})]}),(0,b.jsxs)(s.Button,{type:"button",variant:"outline",size:"sm",className:"mt-3",onClick:()=>void O(),children:[(0,b.jsx)(n.RefreshCw,{className:"size-3.5"}),t("settings.discoveryRetry")]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:t("settings.adapterReadinessNotice")}),(0,b.jsx)("div",{className:"space-y-2",children:J?.adapters.map(a=>(0,b.jsx)(aj,{adapter:a},a.id))})]})]})]}),(0,b.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:"180ms"},children:(0,b.jsx)(L,{})}),(0,b.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:"200ms"},children:(0,b.jsx)(R,{})})]}),(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)(B.Card,{className:"forgebadger-animate-in",style:{animationDelay:"80ms"},children:[(0,b.jsx)(ai,{icon:(0,b.jsx)(q.ShieldCheck,{className:"size-4"}),title:t("settings.securityBaseline"),description:t("settings.securityDescription")}),(0,b.jsxs)(B.CardContent,{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-md border border-border/70",children:[(0,b.jsx)(al,{label:t("settings.jwtAuth"),value:t("settings.enabled")}),(0,b.jsx)(al,{label:t("settings.tenantIsolation"),value:t("settings.enabled")}),(0,b.jsx)(al,{label:t("settings.apiKeyEncryption"),value:"AES-256-GCM"}),(0,b.jsx)(al,{label:t("settings.terminalPersistence"),value:aq})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2.5 rounded-md border border-border/70 bg-muted/20 p-3 text-xs text-muted-foreground",children:[(0,b.jsx)(k.KeyRound,{className:"mt-0.5 size-3.5 shrink-0"}),(0,b.jsx)("span",{children:t("settings.secretsNotice")})]})]})]}),(0,b.jsxs)(B.Card,{className:"forgebadger-animate-in",style:{animationDelay:"120ms"},children:[(0,b.jsx)(ai,{icon:(0,b.jsx)(i.Download,{className:"size-4"}),title:t("settings.diagnostics"),description:t("settings.diagnosticsDescription")}),(0,b.jsxs)(B.CardContent,{className:"space-y-3",children:[(0,b.jsxs)(s.Button,{type:"button",variant:"outline",size:"sm",className:"w-full justify-start",onClick:Y,disabled:"exporting"===D,children:[(0,b.jsx)(i.Download,{className:"size-4"}),"exporting"===D?t("settings.diagnosticsExporting"):t("settings.diagnosticsExport")]}),(0,b.jsx)("p",{className:(0,_.cn)("text-xs","success"===D?"text-emerald-400":"error"===D?"text-destructive":"text-muted-foreground"),children:"success"===D?t("settings.diagnosticsExported"):"error"===D?t("settings.diagnosticsExportFailed"):t("settings.diagnosticsNotice")})]})]}),(0,b.jsxs)(B.Card,{className:"forgebadger-animate-in",style:{animationDelay:"160ms"},children:[(0,b.jsx)(ai,{icon:(0,b.jsx)(o,{className:"size-4"}),title:t("settings.auditHistory"),description:t("settings.auditDescription")}),(0,b.jsx)(B.CardContent,{children:W?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:t("settings.auditLoading")}):(V?.auditLogs.length??0)===0?(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2.5 py-6 text-center",children:[(0,b.jsx)("div",{className:"flex size-9 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(o,{className:"size-4"})}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:t("settings.auditEmpty")})]}):(0,b.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-md border border-border/70",children:V?.auditLogs.map(a=>(0,b.jsxs)("div",{className:"px-3 py-2.5 transition-colors hover:bg-muted/40",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium",children:a.action}),(0,b.jsx)(r.Badge,{variant:"outline",children:a.resourceType})]}),(0,b.jsx)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:new Date(a.createdAt).toLocaleString()})]},a.id))})})]})]})]})]})}],68236)}];
|
|
1
|
+
module.exports=[68236,a=>{"use strict";var b=a.i(20486),c=a.i(85198),d=a.i(72637),e=a.i(13376),f=a.i(14365),g=a.i(45164),h=a.i(60584),i=a.i(35485);let j=(0,i.default)("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]),k=(0,i.default)("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]);var l=a.i(10567),m=a.i(36262);let n=(0,i.default)("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var o=a.i(2337);let p=(0,i.default)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),q=(0,i.default)("MonitorSmartphone",[["path",{d:"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8",key:"10dyio"}],["path",{d:"M10 19v-3.96 3.15",key:"1irgej"}],["path",{d:"M7 19h5",key:"qswx4l"}],["rect",{width:"6",height:"10",x:"16",y:"12",rx:"2",key:"1egngj"}]]),r=(0,i.default)("Type",[["polyline",{points:"4 7 4 4 20 4 20 7",key:"1nosan"}],["line",{x1:"9",x2:"15",y1:"20",y2:"20",key:"swin9y"}],["line",{x1:"12",x2:"12",y1:"4",y2:"20",key:"1tx1rr"}]]);var s=a.i(4837),t=a.i(39747),u=a.i(26248),v=a.i(83124),w=a.i(26643),x=a.i(4730),y=a.i(97494),z=a.i(90991),A=a.i(55068),B=a.i(3030),C=a.i(70458),D=a.i(79914),E=a.i(10392),F=a.i(78281),G=a.i(29649),H=a.i(39042);let I={currentPassword:"",newPassword:"",confirmPassword:""};function J(){let{t:a}=(0,D.useLanguage)(),d=(0,E.useAdminCopy)(),e=(0,u.useQueryClient)(),[f,g]=(0,c.useState)(I),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(null),[n,o]=(0,c.useState)(!1),{data:p,isLoading:r,isError:x}=(0,t.useQuery)({queryKey:["auth-sessions"],queryFn:H.listAuthSessions}),J=(0,s.useMutation)({mutationFn:()=>(0,H.changePassword)(f.currentPassword,f.newPassword),onSuccess:()=>{g(I),i(!1),k(null),m(a("settings.account.passwordChanged")),(0,G.logout)(),setTimeout(()=>{window.location.href="/login"},1200)},onError:b=>{k(b.message||a("settings.account.passwordChangeFailed"))}}),L=(0,s.useMutation)({mutationFn:a=>(0,H.revokeAuthSession)(a),onSuccess:()=>{e.invalidateQueries({queryKey:["auth-sessions"]})}}),M=(0,s.useMutation)({mutationFn:H.revokeOtherAuthSessions,onSuccess:()=>{e.invalidateQueries({queryKey:["auth-sessions"]})}}),N=p?.sessions??[],O=(0,c.useMemo)(()=>N.filter(a=>!a.current).length,[N]);return(0,b.jsxs)(C.Card,{className:"forgebadger-animate-in",children:[(0,b.jsx)(F.SettingsCardHeader,{icon:(0,b.jsx)(v.KeyRound,{className:"size-4"}),title:a("settings.account.title"),description:a("settings.account.description")}),(0,b.jsxs)(C.CardContent,{className:"space-y-6",children:[l&&(0,b.jsx)("p",{className:"rounded-md border border-emerald-400/40 bg-emerald-400/10 px-3 py-2 text-xs text-emerald-400",children:l}),h?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B.Label,{htmlFor:"current-password",className:"text-xs font-medium",children:a("settings.account.currentPassword")}),(0,b.jsx)(A.Input,{id:"current-password",type:"password",autoComplete:"current-password",value:f.currentPassword,onChange:a=>g(b=>({...b,currentPassword:a.target.value}))})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B.Label,{htmlFor:"new-password",className:"text-xs font-medium",children:a("settings.account.newPassword")}),(0,b.jsx)(A.Input,{id:"new-password",type:"password",autoComplete:"new-password",value:f.newPassword,onChange:a=>g(b=>({...b,newPassword:a.target.value}))})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B.Label,{htmlFor:"confirm-password",className:"text-xs font-medium",children:a("settings.account.confirmPassword")}),(0,b.jsx)(A.Input,{id:"confirm-password",type:"password",autoComplete:"new-password",value:f.confirmPassword,onChange:a=>g(b=>({...b,confirmPassword:a.target.value}))})]})]}),j&&(0,b.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:j}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("settings.account.passwordHint")}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(y.Button,{type:"button",variant:"ghost",size:"sm",disabled:J.isPending,onClick:function(){g(I),k(null),m(null),i(!1)},children:a("common.cancel")}),(0,b.jsx)(y.Button,{type:"button",size:"sm",variant:"brand",disabled:J.isPending||!f.currentPassword||!f.newPassword||!f.confirmPassword,onClick:function(){(k(null),m(null),f.newPassword.length<8)?k(a("settings.account.passwordTooShort")):f.newPassword!==f.confirmPassword?k(a("settings.account.passwordMismatch")):J.mutate()},children:J.isPending?a("settings.account.passwordChanging"):a("settings.account.passwordSubmit")})]})]})]}):(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:a("settings.account.passwordSubmit")}),(0,b.jsx)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:a("settings.account.passwordHint")})]}),(0,b.jsx)(y.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>i(!0),children:a("settings.account.passwordSubmit")})]}),(0,b.jsxs)("div",{className:"space-y-3 border-t border-border/70 pt-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)(q,{className:"size-4 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:a("settings.account.devicesTitle")}),(0,b.jsx)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:a("settings.account.devicesDescription")})]})]}),O>0&&(0,b.jsxs)(y.Button,{type:"button",variant:"outline",size:"sm",disabled:M.isPending,onClick:()=>o(!0),children:[(0,b.jsx)(w.LogOut,{className:"size-3.5"}),M.isPending?a("settings.account.revoking"):a("settings.account.revokeOthers")]})]}),r?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("settings.account.devicesLoading")}):x?(0,b.jsx)("p",{className:"text-xs text-destructive",children:a("settings.account.devicesLoadFailed")}):0===N.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("settings.account.devicesEmpty")}):(0,b.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-md border border-border/70",children:N.map(a=>(0,b.jsx)(K,{session:a,revoking:L.isPending,onRevoke:()=>L.mutate(a.id)},a.id))})]})]}),(0,b.jsx)(z.ConfirmDialog,{open:n,destructive:!0,pending:M.isPending,title:d.revokeOthersConfirmTitle,description:d.revokeOthersConfirmDescription,onOpenChange:o,onConfirm:()=>{o(!1),M.mutate()}})]})}function K({session:a,revoking:c,onRevoke:d}){let{t:e}=(0,D.useLanguage)(),f=(0,D.useUiLocale)(),g=(0,E.useAdminCopy)();return(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 px-3 py-2.5 transition-colors hover:bg-muted/40",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium",children:function(a){if(!a)return"";let b=/Edg\//.test(a)?"Edge":/Chrome\//.test(a)?"Chrome":/Safari\//.test(a)?"Safari":/Firefox\//.test(a)?"Firefox":"";return[/Windows/.test(a)?"Windows":/Mac OS X/.test(a)?"macOS":/Linux/.test(a)?"Linux":/Android/.test(a)?"Android":/iPhone|iPad/.test(a)?"iOS":"",b].filter(Boolean).join(" · ")}(a.userAgent)||e("settings.account.unknownDevice")}),a.current&&(0,b.jsx)(x.Badge,{children:e("settings.account.currentDevice")})]}),(0,b.jsxs)("div",{className:"mt-0.5 text-xs font-medium text-foreground/80",children:[e("settings.account.lastActive"),":"," ",function(a,b){let c=Date.parse(a);if(Number.isNaN(c))return new Date(a).toLocaleString(b);let d=Math.round((c-Date.now())/1e3),e=Math.abs(d),f=new Intl.RelativeTimeFormat(b,{numeric:"auto"});return e<60?f.format(d,"second"):e<3600?f.format(Math.round(d/60),"minute"):e<86400?f.format(Math.round(d/3600),"hour"):f.format(Math.round(d/86400),"day")}(a.lastSeenAt,f)]}),(0,b.jsxs)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:[e("settings.account.signedInAt"),":"," ",new Date(a.createdAt).toLocaleString(f)," · ",g.deviceIdPrefix," ",a.id.slice(0,8)]})]}),!a.current&&(0,b.jsx)(y.Button,{type:"button",variant:"outline",size:"sm",disabled:c,onClick:d,children:e(c?"settings.account.revoking":"settings.account.revoke")})]})}var L=a.i(78725),M=a.i(68557),N=a.i(44935),O=a.i(76897),P=a.i(45783),Q=a.i(14060),R=a.i(23834),S=a.i(35133),T=a.i(6023),U=a.i(61875),V=a.i(90409),W=a.i(39465);function X(){let{t:a}=(0,D.useLanguage)(),d=(0,u.useQueryClient)(),[e,f]=(0,c.useState)(null),[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)({}),[p,q]=(0,c.useState)({}),[r,v]=(0,c.useState)(!1),{data:w,isLoading:z,isFetching:A,isError:B,refetch:E}=(0,t.useQuery)({queryKey:R.ADAPTER_DISCOVERY_QUERY_KEY,queryFn:H.discoverAdapters}),{data:G,isFetching:I,isError:J,refetch:K}=(0,t.useQuery)({queryKey:["adapter-updates"],queryFn:()=>(0,H.checkAdapterUpdates)(),staleTime:3e5}),{data:O,isLoading:P,isFetching:S,isError:X,refetch:Z}=(0,t.useQuery)({queryKey:["dependencies"],queryFn:H.getDependencies}),$=(0,U.useOrderedAdapters)(w?.adapters??[]),_=(0,L.useSensors)((0,L.useSensor)(L.PointerSensor,{activationConstraint:{distance:6}}),(0,L.useSensor)(L.KeyboardSensor,{coordinateGetter:M.sortableKeyboardCoordinates})),aa=(0,s.useMutation)({mutationFn:a=>(0,H.putAdapterOrder)(a),onMutate:async a=>{await d.cancelQueries({queryKey:U.ADAPTER_ORDER_QUERY_KEY});let b=d.getQueryData(U.ADAPTER_ORDER_QUERY_KEY);return d.setQueryData(U.ADAPTER_ORDER_QUERY_KEY,{order:a}),v(!1),{previous:b}},onError:(a,b,c)=>{d.setQueryData(U.ADAPTER_ORDER_QUERY_KEY,c?.previous??{order:[]}),v(!0)},onSettled:()=>d.invalidateQueries({queryKey:U.ADAPTER_ORDER_QUERY_KEY})});async function ab(){k(!0),m(!1);try{let a=(await Promise.allSettled([Z(),E(),(0,H.checkAdapterUpdates)(!0)]))[2];"fulfilled"===a.status?d.setQueryData(["adapter-updates"],a.value):m(!0),await d.invalidateQueries({queryKey:["dashboard-summary"]})}finally{k(!1)}}async function ac(a){f(a),o(b=>({...b,[a]:void 0}));try{let b=await (0,H.updateAdapter)(a);o(c=>({...c,[a]:b.versionStillBehind?"behind":"done"})),await Promise.all([E(),Z(),K()])}catch{o(b=>({...b,[a]:"failed"}))}finally{f(null)}}async function ad(a){i(a),q(b=>({...b,[a]:void 0}));try{let b=await (0,H.installAdapter)(a);q(c=>({...c,[a]:b.commandAvailable?"done":"not_detected"})),await Promise.allSettled([E(),Z(),K()])}catch{q(b=>({...b,[a]:"failed"}))}finally{i(null)}}let ae=O?.terminalRuntime,af=(0,V.getTerminalRuntimeSetupGuidance)(ae?.mode,ae?.supported),ag=ae?.persistence,ah=O?.dependencies.find(a=>a.name===ag),ai=ah?.version??ah?.error??ae?.message,aj=A||S||I||j;return(0,b.jsxs)(C.Card,{className:"forgebadger-animate-in",children:[(0,b.jsx)(F.SettingsCardHeader,{icon:(0,b.jsx)(g.Cpu,{className:"size-4"}),title:a("settings.adapters"),description:a("settings.adaptersDescription"),action:(0,b.jsxs)(y.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>void ab(),disabled:aj,children:[(0,b.jsx)(Q.RefreshCw,{className:(0,W.cn)("size-3.5",aj&&"animate-spin")}),a(aj?"settings.discoveryRefreshing":"settings.discoveryRefresh")]})}),(0,b.jsxs)(C.CardContent,{className:"space-y-3",children:[P?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("settings.dependenciesLoading")}):X?(0,b.jsx)("div",{className:"rounded-md border border-destructive/50 bg-destructive/10 p-3",children:(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(N.AlertTriangle,{className:"mt-0.5 size-4 shrink-0 text-destructive"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-destructive",children:a("settings.dependenciesLoadFailed")}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a("settings.discoveryLoadFailedDescription")})]})]})}):(0,b.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 p-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:(0,W.cn)("size-1.5 shrink-0 rounded-full",af.blocked?"bg-red-400":"bg-emerald-400")}),(0,b.jsx)("span",{className:"text-sm font-medium",children:a("settings.terminalRuntimeReadiness")})]}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a(af.descriptionKey)}),ai&&(0,b.jsx)("p",{className:"mt-2 break-all font-mono text-xs text-muted-foreground",children:ai})]}),(0,b.jsx)(x.Badge,{variant:af.blocked?"destructive":"secondary",children:a(af.blocked?"settings.launchBlocked":"settings.launchReady")})]}),af.blocked&&(0,b.jsx)("div",{className:"mt-3",children:(0,b.jsx)(T.RuntimeSetupCommands,{guidance:af})})]}),z?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("settings.discoveryLoading")}):B?(0,b.jsxs)("div",{className:"rounded-md border border-destructive/50 bg-destructive/10 p-3",children:[(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(N.AlertTriangle,{className:"mt-0.5 size-4 shrink-0 text-destructive"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-destructive",children:a("settings.discoveryLoadFailed")}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a("settings.discoveryLoadFailedDescription")})]})]}),(0,b.jsxs)(y.Button,{type:"button",variant:"outline",size:"sm",className:"mt-3",onClick:()=>void E(),children:[(0,b.jsx)(Q.RefreshCw,{className:"size-3.5"}),a("settings.discoveryRetry")]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("settings.adapterReadinessNotice")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("settings.adapterOrderHint")}),r&&(0,b.jsx)("p",{role:"status",className:"text-xs text-destructive",children:a("settings.adapterOrderSaveFailed")}),(0,b.jsx)(L.DndContext,{sensors:_,collisionDetection:L.closestCenter,onDragEnd:function(a){let{active:b,over:c}=a;if(!c||b.id===c.id)return;let d=$.map(a=>a.id),e=d.indexOf(b.id),f=d.indexOf(c.id);e<0||f<0||aa.mutate((0,M.arrayMove)(d,e,f))},children:(0,b.jsx)(M.SortableContext,{items:$.map(a=>a.id),strategy:M.verticalListSortingStrategy,children:(0,b.jsx)("div",{className:"space-y-2",children:$.map(a=>(0,b.jsx)(Y,{adapter:a,update:l?void 0:G?.updates.find(b=>b.id===a.id),canUpdate:G?.canUpdate??!1,canInstall:G?.canInstall??!1,checkingUpdate:I||j,updateCheckFailed:J||l,updating:e===a.id,installing:h===a.id,operationBlocked:null!==e||null!==h,feedback:n[a.id],installFeedback:p[a.id],onUpdate:()=>void ac(a.id),onInstall:()=>void ad(a.id)},a.id))})})})]})]})]})}function Y(a){let{t:c}=(0,D.useLanguage)(),{attributes:d,listeners:e,setNodeRef:f,transform:g,transition:h,isDragging:i}=(0,M.useSortable)({id:a.adapter.id});return(0,b.jsxs)("div",{ref:f,style:{transform:g?`translate3d(${g.x}px, ${g.y}px, 0)`:void 0,transition:h??void 0},className:(0,W.cn)("flex items-start gap-1",i&&"relative z-10 opacity-80"),children:[(0,b.jsx)("button",{type:"button","aria-label":c("settings.adapterOrderDragHandle"),className:"mt-3 shrink-0 cursor-grab touch-none rounded p-0.5 text-muted-foreground hover:text-foreground active:cursor-grabbing",...d,...e,children:(0,b.jsx)(P.GripVertical,{className:"size-4"})}),(0,b.jsx)("div",{className:"min-w-0 flex-1",children:(0,b.jsx)(Z,{...a})})]})}function Z({adapter:a,update:c,canUpdate:d,canInstall:e,checkingUpdate:f,updateCheckFailed:g,updating:h,installing:i,operationBlocked:j,feedback:k,installFeedback:l,onUpdate:m,onInstall:n}){let{t:o}=(0,D.useLanguage)();return(0,b.jsxs)("div",{className:"rounded-md border border-border/70 p-3 transition-colors hover:bg-muted/40",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2.5",children:[(0,b.jsx)("span",{className:(0,W.cn)("size-1.5 shrink-0 rounded-full",a.available?"bg-emerald-400":"bg-red-400")}),(0,b.jsx)(S.CliBrandChip,{aiTool:a.id}),(0,b.jsxs)("span",{className:"truncate font-mono text-xs text-muted-foreground",children:[a.command," --version"]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,b.jsx)(x.Badge,{variant:a.available?"secondary":"outline",children:o(a.available?"settings.available":"settings.missing")}),(0,b.jsx)(x.Badge,{variant:"supported"===a.supportLevel?"secondary":"outline",children:o("supported"===a.supportLevel?"settings.supported":"settings.prototype")}),a.launchEnabled?(0,b.jsx)(x.Badge,{children:o("settings.launchEnabled")}):(0,b.jsx)(x.Badge,{variant:"outline",children:o("settings.launchDisabled")})]})]}),(0,b.jsx)("div",{className:"mt-2 text-xs text-muted-foreground",children:a.version??a.error??a.configDir}),a.available&&(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-xs",children:[c?.state==="update_available"?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{className:"text-amber-500",children:[o("homebrew"===c.latestSource?"settings.adapterUpdateAvailableHomebrew":"settings.adapterUpdateAvailable"),": ",c.latestVersion]}),d?(0,b.jsxs)(y.Button,{type:"button",size:"sm",variant:"outline",disabled:j||f,onClick:m,children:[h?(0,b.jsx)(Q.RefreshCw,{className:"size-3.5 animate-spin"}):(0,b.jsx)(O.Download,{className:"size-3.5"}),o(h?"settings.adapterUpdating":"settings.adapterUpdateNow")]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:o("settings.adapterUpdateAdminOnly")}),(0,b.jsx)("span",{className:"font-mono text-muted-foreground",children:c.command})]}):c?.state==="up_to_date"?(0,b.jsxs)("span",{className:"text-muted-foreground",children:[o("homebrew"===c.latestSource?"settings.adapterUpToDateHomebrew":"settings.adapterUpToDate"),": ",c.installedVersion]}):c?.state==="check_failed"||g?(0,b.jsx)("span",{className:"text-muted-foreground",children:o("settings.adapterUpdateCheckFailed")}):f?(0,b.jsx)("span",{className:"text-muted-foreground",children:o("settings.adapterUpdateChecking")}):null,k&&(0,b.jsx)("span",{role:"status",className:"failed"===k?"text-destructive":"text-muted-foreground",children:o("done"===k?"settings.adapterUpdateDone":"behind"===k?"settings.adapterUpdateBehind":"settings.adapterUpdateFailed")})]}),"missing"===a.status&&c?.state==="missing"&&(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-xs",children:[(0,b.jsx)("span",{className:"font-mono text-muted-foreground",children:c.installCommand}),e?(0,b.jsxs)(y.Button,{type:"button",size:"sm",variant:"outline",disabled:j||f||!!c.installRequiresNode||"done"===l,onClick:n,children:[i?(0,b.jsx)(Q.RefreshCw,{className:"size-3.5 animate-spin"}):(0,b.jsx)(O.Download,{className:"size-3.5"}),o(i?"settings.adapterInstalling":"settings.adapterInstallNow")]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:o("settings.adapterInstallAdminOnly")}),c.installRequiresNode&&(0,b.jsxs)("span",{className:"text-amber-500",children:[o("settings.adapterInstallRequiresNode")," ",c.installRequiresNode,"+"]})]}),l&&(0,b.jsx)("p",{role:"status",className:(0,W.cn)("mt-2 text-xs","failed"===l?"text-destructive":"text-muted-foreground"),children:o("done"===l?"settings.adapterInstallDone":"not_detected"===l?"settings.adapterInstallNotDetected":"settings.adapterInstallFailed")}),a.runtimeModes.length>0&&(0,b.jsx)("div",{className:"mt-1.5 font-mono text-xs text-muted-foreground",children:a.runtimeModes.join(" / ")})]})}var $=a.i(31692);let _=(0,i.default)("ScrollText",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);function aa(){let{t:a}=(0,D.useLanguage)(),c=(0,D.useUiLocale)(),e=(0,E.useAdminCopy)(),{data:f,isLoading:g}=(0,t.useQuery)({queryKey:["audit-logs","settings"],queryFn:()=>(0,H.listAuditLogs)({limit:8})});return(0,b.jsxs)(C.Card,{className:"forgebadger-animate-in",style:{animationDelay:"80ms"},children:[(0,b.jsx)(F.SettingsCardHeader,{icon:(0,b.jsx)(_,{className:"size-4"}),title:a("settings.auditHistory"),description:a("settings.auditDescription"),action:(0,b.jsx)(y.Button,{asChild:!0,size:"sm",variant:"ghost",className:"text-muted-foreground",children:(0,b.jsxs)(d.default,{href:"/history",children:[e.auditViewAll,(0,b.jsx)($.ArrowRight,{className:"size-3.5"})]})})}),(0,b.jsx)(C.CardContent,{children:g?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("settings.auditLoading")}):(f?.auditLogs.length??0)===0?(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2.5 py-6 text-center",children:[(0,b.jsx)("div",{className:"flex size-9 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(_,{className:"size-4"})}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("settings.auditEmpty")})]}):(0,b.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-md border border-border/70",children:f?.auditLogs.map(a=>(0,b.jsxs)("div",{className:"px-3 py-2.5 transition-colors hover:bg-muted/40",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium",children:(0,E.auditActionLabel)(e,a.action)}),(0,b.jsx)(x.Badge,{variant:"outline",children:a.resourceType})]}),(0,b.jsx)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:new Date(a.createdAt).toLocaleString(c)})]},a.id))})})]})}let ab=(0,i.default)("Route",[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]]);var ac=a.i(85564),ad=a.i(10917);function ae(){let{t:a}=(0,D.useLanguage)(),c=(0,u.useQueryClient)(),{data:d,isLoading:e,isError:f}=(0,t.useQuery)({queryKey:["claude-route"],queryFn:H.getClaudeRoute,retry:!1}),g=(0,s.useMutation)({mutationFn:a=>(0,H.setClaudeRoute)(a),onSuccess:a=>{c.setQueryData(["claude-route"],a)},onError:b=>{ac.toast.error(b instanceof Error?b.message:a("settings.claudeRouteUpdateFailed"))}}),h=d?.enabled===!0;return(0,b.jsxs)(C.Card,{className:"forgebadger-animate-in",children:[(0,b.jsx)(F.SettingsCardHeader,{icon:(0,b.jsx)(ab,{className:"size-4"}),title:a("settings.claudeRoute"),description:a("settings.claudeRouteDescription"),action:(0,b.jsx)(ad.Switch,{checked:h,disabled:e||f||g.isPending,onCheckedChange:a=>g.mutate(a),"aria-label":a("settings.claudeRoute")})}),(0,b.jsx)(C.CardContent,{className:"space-y-3",children:f?(0,b.jsx)("p",{className:"text-xs text-destructive",children:a("settings.claudeRouteLoadFailed")}):d?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(x.Badge,{variant:h?"secondary":"outline",children:h?a("settings.claudeRouteStateEnabled"):a("settings.claudeRouteStateDisabled")}),(0,b.jsx)("span",{className:"break-all font-mono text-xs text-muted-foreground",children:d.gatewayUrl})]}),(0,b.jsxs)("div",{className:"text-xs text-muted-foreground",children:[a("settings.claudeRouteAssignmentLabel"),":"," ",d.assignment?(0,b.jsx)("span",{className:"font-medium text-foreground",children:d.assignment.providerName}):a("settings.claudeRouteNoAssignment")]}),h&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("settings.claudeRouteGatewayDown")})]}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("common.loading")})})]})}function af(){let{t:a}=(0,D.useLanguage)(),[d,e]=(0,c.useState)("idle");async function f(){e("exporting");try{var a;let b,c,d,f,{report:g}=await (0,H.exportDiagnostics)();b=(a=g).generatedAt.replace(/[:.]/g,"-"),c=new Blob([`${JSON.stringify(a,null,2)}
|
|
2
|
+
`],{type:"application/json"}),d=URL.createObjectURL(c),(f=document.createElement("a")).href=d,f.download=`forgebadger-diagnostics-${b}.json`,f.click(),URL.revokeObjectURL(d),e("success")}catch{e("error")}}return(0,b.jsxs)(C.Card,{className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:[(0,b.jsx)(F.SettingsCardHeader,{icon:(0,b.jsx)(O.Download,{className:"size-4"}),title:a("settings.diagnostics"),description:a("settings.diagnosticsDescription")}),(0,b.jsxs)(C.CardContent,{className:"space-y-3",children:[(0,b.jsxs)(y.Button,{type:"button",variant:"outline",size:"sm",onClick:f,disabled:"exporting"===d,children:[(0,b.jsx)(O.Download,{className:"size-4"}),a("exporting"===d?"settings.diagnosticsExporting":"settings.diagnosticsExport")]}),(0,b.jsx)("p",{className:(0,W.cn)("text-xs","success"===d?"text-emerald-400":"error"===d?"text-destructive":"text-muted-foreground"),children:a("success"===d?"settings.diagnosticsExported":"error"===d?"settings.diagnosticsExportFailed":"settings.diagnosticsNotice")})]})]})}var ag=a.i(91284),ah=a.i(14027),ai=a.i(37134),aj=a.i(16569),ak=a.i(62384),al=a.i(10339);function am(){let{t:a}=(0,D.useLanguage)(),{user:d}=(0,al.useAuth)(),e=(0,u.useQueryClient)(),[f,g]=(0,c.useState)(""),[h,i]=(0,c.useState)(["read"]),[j,k]=(0,c.useState)([]),[m,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(null),[q,r]=(0,c.useState)(null),[v,w]=(0,c.useState)(!1),A=(0,t.useQuery)({queryKey:H.mcpStatusKey,queryFn:H.getMcpStatus,retry:!1}),B=A.data?.enabled===!0,E=(0,t.useQuery)({queryKey:["projects"],queryFn:H.listProjects,enabled:B}),G=(0,t.useQuery)({queryKey:ag.runtimeSettingsQueryKey,queryFn:H.getRuntimeSettings,retry:!1,enabled:d?.role==="admin"}),I=d?.role==="admin"&&G.data?(0,H.runtimeSettingsValue)(G.data,"mcp_enabled"):void 0,J=(0,s.useMutation)({mutationFn:a=>(0,H.updateRuntimeSettings)({mcp_enabled:a}),onSuccess:(b,c)=>{e.invalidateQueries({queryKey:ag.runtimeSettingsQueryKey}),e.invalidateQueries({queryKey:H.mcpStatusKey}),ac.toast.success(c?a("settings.restartRequired"):a("settings.mcpDisablePendingRestart"))},onError:()=>ac.toast.error(a("settings.instanceSaveError"))}),K=(0,t.useQuery)({queryKey:H.mcpTokensKey,queryFn:H.listMcpTokens,retry:!1,enabled:B,refetchInterval:3e4}),L=(0,s.useMutation)({mutationFn:H.createMcpToken,onSuccess:a=>{e.invalidateQueries({queryKey:H.mcpTokensKey}),p(a.plaintext),g(""),k([])},onError:b=>ac.toast.error(b instanceof H.GatewayApiError?b.message:a("settings.mcpCreateFailed"))}),M=(0,s.useMutation)({mutationFn:H.revokeMcpToken,onSuccess:()=>{e.invalidateQueries({queryKey:H.mcpTokensKey}),r(null)},onError:()=>ac.toast.error(a("settings.mcpRevokeFailed"))}),N=A.data?.endpoint??"",O=void 0!==I&&!G.data?.readonly;async function P(b){if("u">typeof navigator&&navigator.clipboard)try{await navigator.clipboard.writeText(b),ac.toast.success(a("settings.mcpCopied"))}catch{ac.toast.error(a("settings.mcpCopyFailed"))}}return(0,b.jsxs)(C.Card,{className:"forgebadger-animate-in",children:[(0,b.jsx)(F.SettingsCardHeader,{icon:(0,b.jsx)(l.Plug,{className:"size-4"}),title:a("settings.mcp"),description:a("settings.mcpDescription"),action:(0,b.jsxs)(b.Fragment,{children:[A.data&&(0,b.jsx)(x.Badge,{variant:B?"secondary":"outline",children:B?a("settings.mcpStateEnabled"):a("settings.mcpStateDisabled")}),O&&(0,b.jsx)(ad.Switch,{checked:I,onCheckedChange:function(a){a?w(!0):J.mutate(!1)},disabled:J.isPending,"aria-label":a("settings.mcpToggle")})]})}),(0,b.jsx)(C.CardContent,{className:"space-y-3",children:A.isError?(0,b.jsx)("p",{className:"text-xs text-destructive",children:a("settings.mcpLoadFailed")}):A.isLoading?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("common.loading")}):(0,b.jsxs)(b.Fragment,{children:[B?(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-border/70 bg-muted/20 px-3 py-2",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a("settings.mcpEndpoint")}),(0,b.jsx)("span",{className:"min-w-0 flex-1 break-all font-mono text-xs",children:N}),(0,b.jsx)(y.Button,{type:"button",variant:"ghost",size:"icon",className:"size-6 shrink-0","aria-label":a("settings.mcpEndpoint"),onClick:()=>void P(N),children:(0,b.jsx)(ah.Copy,{className:"size-3.5"})})]}):(0,b.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 p-3 text-xs text-muted-foreground",children:[a("settings.mcpDisabledHint"),void 0===I&&(0,b.jsx)("span",{className:"mt-1 block font-mono",children:"FORGEBADGER_MCP_ENABLED=true"})]}),B&&(0,b.jsx)(an,{endpoint:N,scopes:h,onToggleScope:function(a){let b=h.includes(a);if(!b||1!==h.length)if("cli_dispatch"!==a||b)if("operate"===a&&b){let a=h.filter(a=>"operate"!==a&&"cli_dispatch"!==a);i(a.length>0?a:["read"])}else i(b?h.filter(b=>b!==a):[...h,a]);else i([...new Set([...h,"operate","cli_dispatch"])])},onCreate:function(a){a.preventDefault(),!f.trim()||0===h.length||0===j.length||E.isError||E.isLoading||(null===m||Number.isInteger(m)&&!(m<1)&&!(m>87600))&&L.mutate({name:f.trim(),scopes:h,projectIds:j,expiresInHours:m})},creating:L.isPending,name:f,onNameChange:g,projectIds:j,onProjectIdsChange:k,projects:E.data?.projects??[],projectsLoading:E.isLoading,projectsError:E.isError,onAllScopes:()=>i(["read","operate","cli_dispatch"]),expiresInHours:m,onExpiresInHoursChange:n,tokens:K.data?.tokens??void 0,loading:K.isLoading,error:K.isError,onRevoke:r})]})}),(0,b.jsx)(as,{endpoint:N,plaintext:o,onClose:()=>p(null),onCopy:P}),(0,b.jsx)(z.ConfirmDialog,{open:v,pending:J.isPending,title:a("settings.mcpEnableConfirmTitle"),description:a("settings.mcpEnableConfirmDescription"),confirmLabel:a("settings.mcpToggle"),onOpenChange:w,onConfirm:()=>{w(!1),J.mutate(!0)}}),(0,b.jsx)(ak.Dialog,{open:null!==q,onOpenChange:a=>!a&&r(null),children:(0,b.jsxs)(ak.DialogContent,{children:[(0,b.jsxs)(ak.DialogHeader,{children:[(0,b.jsx)(ak.DialogTitle,{children:a("settings.mcpRevokeConfirm")}),(0,b.jsx)(ak.DialogDescription,{children:q?.name})]}),(0,b.jsxs)(ak.DialogFooter,{children:[(0,b.jsx)(y.Button,{variant:"outline",onClick:()=>r(null),children:a("settings.mcpClose")}),(0,b.jsx)(y.Button,{variant:"destructive",disabled:M.isPending,onClick:()=>q&&M.mutate(q.id),children:a("settings.mcpRevoke")})]})]})})]})}function an({endpoint:a,scopes:c,onToggleScope:d,onCreate:e,creating:f,name:g,onNameChange:h,projectIds:i,onProjectIdsChange:j,projects:k,projectsLoading:l,projectsError:m,onAllScopes:n,expiresInHours:o,onExpiresInHoursChange:p,tokens:q,loading:r,error:s,onRevoke:t}){let u=(0,D.useUiLocale)(),{t:v}=(0,D.useLanguage)(),w=null!==o&&(!Number.isInteger(o)||o<1||o>87600),z=[];g.trim()||z.push(v("settings.mcpFormMissingName")),0===i.length&&z.push(v("settings.mcpFormMissingProjects")),l&&z.push(v("common.loading")),m&&z.push(v("settings.mcpFormProjectsUnavailable")),w&&z.push(v("settings.mcpFormInvalidExpiry"));let C=z.join("、");return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("form",{onSubmit:e,className:"space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,b.jsx)(B.Label,{className:"text-xs",htmlFor:"mcp-token-name",children:v("settings.mcpName")}),(0,b.jsx)(A.Input,{id:"mcp-token-name",value:g,onChange:a=>h(a.target.value),maxLength:64,className:"h-8 text-xs"})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 pb-1.5",children:[(0,b.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 text-xs",children:[(0,b.jsx)(aj.Checkbox,{checked:c.includes("read"),onCheckedChange:()=>d("read"),"aria-label":v("settings.mcpScopeRead")}),v("settings.mcpScopeRead")]}),(0,b.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 text-xs",children:[(0,b.jsx)(aj.Checkbox,{checked:c.includes("operate"),onCheckedChange:()=>d("operate"),"aria-label":v("settings.mcpScopeOperate")}),v("settings.mcpScopeOperate")]}),(0,b.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 text-xs",children:[(0,b.jsx)(aj.Checkbox,{checked:c.includes("cli_dispatch"),onCheckedChange:()=>d("cli_dispatch"),"aria-label":v("settings.mcpScopeCliDispatch")}),v("settings.mcpScopeCliDispatch")]}),(0,b.jsx)(y.Button,{type:"button",variant:"outline",size:"sm",className:"h-8",onClick:n,children:v("settings.mcpAllPermissions")}),(0,b.jsx)(y.Button,{type:"submit",size:"sm",className:"h-8",disabled:f||z.length>0,title:z.length>0?v("settings.mcpFormCannotCreate").replace("{reasons}",C):void 0,children:f?v("common.loading"):v("settings.mcpCreate")})]})]}),z.length>0?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:v("settings.mcpFormCannotCreate").replace("{reasons}",C)}):null,(0,b.jsx)(ao,{projects:k,loading:l,error:m,selected:i,onChange:j}),(0,b.jsxs)("div",{className:"flex flex-wrap items-end gap-3",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(B.Label,{className:"text-xs",htmlFor:"mcp-lifetime",children:v("settings.mcpLifetime")}),(0,b.jsxs)("select",{id:"mcp-lifetime",className:"h-8 rounded-md border border-input bg-background px-2 text-xs",value:null===o?"permanent":"limited",onChange:a=>p("permanent"===a.target.value?null:24),children:[(0,b.jsx)("option",{value:"permanent",children:v("settings.mcpPermanent")}),(0,b.jsx)("option",{value:"limited",children:v("settings.mcpLimited")})]})]}),null!==o&&(0,b.jsxs)("div",{className:"w-32 space-y-1",children:[(0,b.jsx)(B.Label,{className:"text-xs",htmlFor:"mcp-expiry-hours",children:v("settings.mcpExpiresHours")}),(0,b.jsx)(A.Input,{id:"mcp-expiry-hours",type:"number",min:1,max:87600,value:o,onChange:a=>p(Number(a.target.value)),className:"h-8 text-xs"})]}),(0,b.jsx)("p",{className:"pb-1 text-xs text-muted-foreground",children:v("settings.mcpLifetimeHelp")})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:v("settings.mcpScopeOperateHelp")})]}),(0,b.jsx)("div",{className:"rounded-md border border-border/70",children:s?(0,b.jsx)("p",{className:"p-3 text-xs text-destructive",children:v("settings.mcpLoadFailed")}):r?(0,b.jsx)("p",{className:"p-3 text-xs text-muted-foreground",children:v("common.loading")}):q&&q.length>0?(0,b.jsx)("div",{className:"divide-y divide-border/70",children:q.map(a=>(0,b.jsxs)("div",{className:(0,W.cn)("flex flex-wrap items-center gap-x-3 gap-y-1 px-3 py-2.5",a.revoked&&"opacity-60"),children:[(0,b.jsx)("span",{className:"min-w-0 truncate text-sm font-medium",children:a.name}),a.scopes.map(a=>(0,b.jsx)(x.Badge,{variant:"operate"===a?"secondary":"outline",children:"operate"===a?v("settings.mcpScopeOperate"):"cli_dispatch"===a?v("settings.mcpScopeCliDispatch"):v("settings.mcpScopeRead")},a)),a.projectIds&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a.projectIds.map(a=>k.find(b=>b.id===a)?.name??v("settings.mcpUnavailableProject")).join("、")}),!a.projectIds&&!a.allowedRoot&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:v("settings.mcpLegacyAccess")}),a.allowedRoot&&(0,b.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:a.allowedRoot}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a.expiresAt?`${v("settings.mcpExpiresAt")}: ${new Date(a.expiresAt).toLocaleString(u)}`:v("settings.mcpPermanent")}),a.revoked&&(0,b.jsx)(x.Badge,{variant:"destructive",children:v("settings.mcpRevoked")}),(0,b.jsx)("span",{className:"ml-auto text-xs text-muted-foreground",children:a.lastUsedAt?`${v("settings.mcpLastUsed")}: ${new Date(a.lastUsedAt).toLocaleString(u)}`:v("settings.mcpNeverUsed")}),!a.revoked&&(0,b.jsx)(y.Button,{type:"button",variant:"ghost",size:"icon",className:"size-7 shrink-0 text-destructive hover:text-destructive","aria-label":`${v("settings.mcpRevoke")} ${a.name}`,onClick:()=>t(a),children:(0,b.jsx)(ai.Trash2,{className:"size-3.5"})})]},a.id))}):(0,b.jsx)("p",{className:"p-3 text-xs text-muted-foreground",children:v("settings.mcpEmpty")})}),(0,b.jsx)(aq,{endpoint:a})]})}function ao({projects:a,loading:d,error:e,selected:f,onChange:g}){let{t:h}=(0,D.useLanguage)(),[i,j]=(0,c.useState)(""),k=a.filter(a=>`${a.name} ${a.path}`.toLowerCase().includes(i.trim().toLowerCase()));return(0,b.jsxs)("fieldset",{className:"space-y-2 rounded-md border border-border/70 p-3",children:[(0,b.jsxs)("legend",{className:"px-1 text-xs font-medium",children:[h("settings.mcpProjects")," · ",f.length]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(A.Input,{"aria-label":h("settings.mcpSearchProjects"),placeholder:h("settings.mcpSearchProjects"),value:i,onChange:a=>j(a.target.value),className:"h-8 min-w-0 text-xs"}),(0,b.jsx)(y.Button,{type:"button",variant:"outline",size:"sm",disabled:d||e||0===a.length||a.length>200,onClick:()=>g(a.map(a=>a.id)),children:h("settings.mcpSelectAll")}),(0,b.jsx)(y.Button,{type:"button",variant:"ghost",size:"sm",disabled:0===f.length,onClick:()=>g([]),children:h("settings.mcpClear")})]}),d?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:h("common.loading")}):e?(0,b.jsx)("p",{className:"text-xs text-destructive",children:h("settings.mcpProjectsFailed")}):0===k.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:h(0===a.length?"settings.mcpNoProjects":"settings.mcpNoMatches")}):(0,b.jsx)("div",{className:"max-h-48 space-y-1 overflow-y-auto",children:k.map(a=>(0,b.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 hover:bg-muted/40",children:[(0,b.jsx)(aj.Checkbox,{"aria-label":a.name,checked:f.includes(a.id),disabled:!f.includes(a.id)&&f.length>=200,onCheckedChange:b=>g(!0===b?[...f,a.id]:f.filter(b=>b!==a.id))}),(0,b.jsxs)("span",{className:"min-w-0",children:[(0,b.jsx)("span",{className:"block truncate text-xs font-medium",children:a.name}),(0,b.jsx)("span",{className:"block truncate font-mono text-xs text-muted-foreground",children:a.path})]})]},a.id))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:h("settings.mcpProjectsHelp")})]})}function ap(a,b){return JSON.stringify({mcpServers:{forgebadger:{type:"http",url:a,headers:{Authorization:`Bearer ${b}`}}}},null,2)}function aq({endpoint:a}){let{t:c}=(0,D.useLanguage)();return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:c("settings.mcpConnectHelp")}),(0,b.jsx)(ar,{label:c("settings.mcpConnectJson"),content:ap(a,c("settings.mcpTokenPlaceholder"))})]})}function ar({label:a,content:c}){let{t:d}=(0,D.useLanguage)();async function e(){if("u">typeof navigator&&navigator.clipboard)try{await navigator.clipboard.writeText(c),ac.toast.success(d("settings.mcpCopied"))}catch{ac.toast.error(d("settings.mcpCopyFailed"))}}return(0,b.jsxs)("div",{className:"min-w-0 max-w-full overflow-hidden rounded-md border border-border/70 bg-muted/20",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border/70 px-3 py-1.5",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a}),(0,b.jsx)(y.Button,{type:"button",variant:"ghost",size:"icon",className:"size-6","aria-label":a,onClick:()=>void e(),children:(0,b.jsx)(ah.Copy,{className:"size-3.5"})})]}),(0,b.jsx)("pre",{className:"min-w-0 max-w-full overflow-x-auto p-3 font-mono text-xs leading-relaxed",children:c})]})}function as({endpoint:a,plaintext:c,onClose:d,onCopy:e}){let{t:f}=(0,D.useLanguage)();return(0,b.jsx)(ak.Dialog,{open:null!==c,onOpenChange:a=>!a&&d(),children:(0,b.jsxs)(ak.DialogContent,{className:"max-h-[calc(100dvh-2rem)] grid-cols-[minmax(0,1fr)] overflow-y-auto",children:[(0,b.jsxs)(ak.DialogHeader,{children:[(0,b.jsx)(ak.DialogTitle,{children:f("settings.mcpPlaintextTitle")}),(0,b.jsx)(ak.DialogDescription,{children:f("settings.mcpPlaintextWarning")})]}),(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2 rounded-md border border-border/70 bg-muted/20 px-3 py-2",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 break-all font-mono text-xs",children:c}),(0,b.jsxs)(y.Button,{type:"button",variant:"outline",size:"sm",className:"shrink-0",onClick:()=>c&&e(c),children:[(0,b.jsx)(ah.Copy,{className:"size-3.5"}),f("settings.mcpCopy")]})]}),c&&(0,b.jsx)(ar,{label:f("settings.mcpConnectJson"),content:ap(a,c)}),(0,b.jsx)(ak.DialogFooter,{children:(0,b.jsx)(y.Button,{onClick:d,children:f("settings.mcpClose")})})]})})}var at=a.i(60427),au=a.i(22510),av=a.i(53302),aw=a.i(68442),ax=a.i(49613);function ay(){let{t:a}=(0,D.useLanguage)(),d=(0,aw.usePetPreference)(),e=(0,c.useId)(),[f,g]=(0,c.useState)("idle");return(0,b.jsxs)(C.Card,{children:[(0,b.jsx)(F.SettingsCardHeader,{icon:(0,b.jsx)(at.Bot,{className:"size-4","aria-hidden":"true"}),title:a("settings.pet"),description:a("settings.petDescription"),titleId:e}),(0,b.jsxs)(C.CardContent,{className:"space-y-3",children:[(0,b.jsx)("div",{role:"radiogroup","aria-labelledby":e,className:"grid gap-3 sm:grid-cols-2",children:ax.PET_OPTIONS.map(c=>{let f=d===c.id,h=`${e}-${c.id}-name`,i=`${e}-${c.id}-description`;return(0,b.jsxs)("button",{type:"button",role:"radio","aria-checked":f,"aria-labelledby":h,"aria-describedby":i,onClick:()=>{var a;return a=c.id,void g((0,ax.writePetPreference)(a)?"saved":"error")},className:(0,W.cn)("flex items-center gap-3 rounded-md border p-3 text-left outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring",f?"border-brand/60 bg-brand/10":"border-border hover:bg-muted/40"),children:[(0,b.jsx)("span",{className:"shrink-0 rounded-md bg-muted/40 p-1","aria-hidden":"true",children:(0,b.jsx)(av.RobotSprite,{petId:c.id,frame:"stand",size:80})}),(0,b.jsxs)("span",{className:"min-w-0 flex-1 space-y-1",children:[(0,b.jsx)("span",{id:h,className:"block text-sm font-medium",children:a(c.nameKey)}),(0,b.jsx)("span",{id:i,className:"block text-xs leading-relaxed text-muted-foreground",children:a(c.descriptionKey)}),f&&(0,b.jsxs)("span",{className:"flex items-center gap-1 text-xs text-brand","aria-hidden":"true",children:[(0,b.jsx)(au.Check,{className:"size-3"}),a("settings.petSelected")]})]})]},c.id)})}),"saved"===f&&(0,b.jsx)("p",{role:"status",className:"text-xs text-muted-foreground",children:a("settings.petSaved")}),"error"===f&&(0,b.jsx)("p",{role:"alert",className:"text-xs text-destructive",children:a("settings.petSaveFailed")})]})]})}function az(){let{t:a}=(0,D.useLanguage)(),c=(0,E.useAdminCopy)(),{data:d}=(0,t.useQuery)({queryKey:["dependencies"],queryFn:H.getDependencies}),e=d?.terminalRuntime?.persistence??a("settings.notDetected");return(0,b.jsxs)(C.Card,{className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:[(0,b.jsx)(F.SettingsCardHeader,{icon:(0,b.jsx)(o.ShieldCheck,{className:"size-4"}),title:a("settings.securityBaseline"),description:a("settings.securityDescription")}),(0,b.jsxs)(C.CardContent,{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-md border border-border/70",children:[(0,b.jsx)(aA,{label:a("settings.jwtAuth"),value:c.securityBaselineGuaranteed}),(0,b.jsx)(aA,{label:a("settings.tenantIsolation"),value:c.securityBaselineGuaranteed}),(0,b.jsx)(aA,{label:a("settings.apiKeyEncryption"),value:"AES-256-GCM"}),(0,b.jsx)(aA,{label:a("settings.terminalPersistence"),value:e})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2.5 rounded-md border border-border/70 bg-muted/20 p-3 text-xs text-muted-foreground",children:[(0,b.jsx)(v.KeyRound,{className:"mt-0.5 size-3.5 shrink-0"}),(0,b.jsx)("span",{children:c.securityBaselineGuaranteedHint})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2.5 rounded-md border border-border/70 bg-muted/20 p-3 text-xs text-muted-foreground",children:[(0,b.jsx)(v.KeyRound,{className:"mt-0.5 size-3.5 shrink-0"}),(0,b.jsx)("span",{children:a("settings.secretsNotice")})]})]})]})}function aA({label:a,value:c}){return(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3 px-3 py-2.5 text-sm",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:a}),(0,b.jsx)(x.Badge,{variant:"secondary",children:c})]})}var aB=a.i(23579);let aC="cyan",aD=[{id:"cyan",nameKey:"settings.themeCyan",brand:"187 86% 53%",brandForeground:"220 30% 6%",swatch:"#22d3ee"},{id:"orange",nameKey:"settings.themeOrange",brand:"24 100% 50%",brandForeground:"0 0% 100%",swatch:"#ff8000"},{id:"violet",nameKey:"settings.themeViolet",brand:"258 90% 66%",brandForeground:"0 0% 100%",swatch:"#8b5cf6"},{id:"emerald",nameKey:"settings.themeEmerald",brand:"160 84% 39%",brandForeground:"160 60% 6%",swatch:"#10b981"},{id:"blue",nameKey:"settings.themeBlue",brand:"217 91% 60%",brandForeground:"0 0% 100%",swatch:"#3b82f6"},{id:"rose",nameKey:"settings.themeRose",brand:"350 89% 60%",brandForeground:"0 0% 100%",swatch:"#f43f5e"},{id:"amber",nameKey:"settings.themeAmber",brand:"38 92% 55%",brandForeground:"38 60% 8%",swatch:"#f59e0b"}],aE="forgebadger.accent";function aF(a){return aD.some(b=>b.id===a)}var aG=a.i(20409),aH=a.i(42167),aI=a.i(61047);let aJ=[{code:"zh-CN",label:"简体中文"},{code:"zh-TW",label:"繁體中文"},{code:"en",label:"English"}],aK=[{id:"appearance",icon:k,labelKey:"settings.section.appearance",descriptionKey:"settings.section.appearanceDescription"},{id:"account",icon:o.ShieldCheck,labelKey:"settings.section.account",descriptionKey:"settings.section.accountDescription"},{id:"adapters",icon:g.Cpu,labelKey:"settings.section.adapters",descriptionKey:"settings.section.adaptersDescription"},{id:"integrations",icon:l.Plug,labelKey:"settings.section.integrations",descriptionKey:"settings.section.integrationsDescription"},{id:"instance",icon:m.Server,labelKey:"settings.section.instance",descriptionKey:"settings.section.instanceDescription"}];a.s(["default",0,function(){let{language:a,setLanguage:g,t:i}=(0,D.useLanguage)(),{user:l}=(0,al.useAuth)(),m=(0,e.useSearchParams)(),[o,s]=(0,c.useState)(!1),[t,u]=(0,c.useState)("unsupported"),[v,w]=(0,c.useState)(aC),{mode:x}=(0,aB.useColorMode)(),[z,E]=(0,c.useState)(aH.DEFAULT_TERMINAL_FONT.fontFamily),[G,H]=(0,c.useState)(String(aH.DEFAULT_TERMINAL_FONT.fontSize));function I(){let a=Number(G);(0,aH.setTerminalFont)({fontFamily:z,fontSize:Number.isFinite(a)&&""!==G?a:aH.DEFAULT_TERMINAL_FONT.fontSize})}(0,c.useEffect)(()=>{w(function(a=window.localStorage){let b=a.getItem(aE);return aF(b)?b:aC}());let a=(0,aH.readStoredTerminalFont)();E(a.fontFamily),H(String(a.fontSize)),s((0,aI.getBrowserNotificationPreference)()),u((0,aI.getBrowserNotificationPermission)())},[]);let K=l?.role==="admin",L=K?aK:aK.filter(a=>"instance"!==a.id),M=m.get("section"),N=L.find(a=>a.id===M)??aK[0];async function O(a){if(!a){(0,aI.setBrowserNotificationPreference)(!1),s(!1),u((0,aI.getBrowserNotificationPermission)());return}let b="default"===(0,aI.getBrowserNotificationPermission)()?await (0,aI.requestBrowserNotificationPermission)():(0,aI.getBrowserNotificationPermission)();u(b);let c="granted"===b;(0,aI.setBrowserNotificationPreference)(c),s(c)}return(0,b.jsxs)("div",{className:"mx-auto max-w-6xl space-y-6 p-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:i("settings.title")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:i("settings.subtitle")})]}),(0,b.jsxs)("div",{className:"lg:grid lg:grid-cols-[200px_minmax(0,1fr)] lg:gap-8",children:[(0,b.jsx)("nav",{"aria-label":i("settings.title"),className:"mb-4 flex gap-1 overflow-x-auto lg:sticky lg:top-6 lg:mb-0 lg:flex-col lg:self-start",children:L.map(a=>(0,b.jsxs)(d.default,{href:`/settings?section=${a.id}`,"aria-current":N.id===a.id?"page":void 0,className:(0,W.cn)("flex h-8 shrink-0 items-center gap-2.5 rounded-md px-2.5 text-[13px] font-medium transition-colors duration-150",N.id===a.id?"bg-brand/10 text-foreground":"text-muted-foreground hover:bg-muted hover:text-foreground"),children:[(0,b.jsx)(a.icon,{className:(0,W.cn)("size-4 shrink-0",N.id===a.id?"text-brand":"text-muted-foreground/70")}),i(a.labelKey)]},a.id))}),(0,b.jsxs)("div",{className:"min-w-0",children:["appearance"===N.id&&(0,b.jsxs)(F.SettingsSection,{title:i(N.labelKey),description:i(N.descriptionKey),children:[(0,b.jsxs)(C.Card,{className:"forgebadger-animate-in",children:[(0,b.jsx)(F.SettingsCardHeader,{icon:(0,b.jsx)(k,{className:"size-4"}),title:i("settings.colorMode"),description:i("settings.colorModeDescription")}),(0,b.jsx)(C.CardContent,{children:(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:[{id:"light",labelKey:"settings.colorModeLight",icon:p},{id:"dark",labelKey:"settings.colorModeDark",icon:j},{id:"system",labelKey:"settings.colorModeSystem",icon:q}].map(a=>{let c=x===a.id;return(0,b.jsxs)(y.Button,{type:"button","aria-pressed":c,variant:c?"brand":"outline",size:"sm",onClick:()=>(0,aG.setColorMode)(a.id),children:[(0,b.jsx)(a.icon,{className:"size-4"}),i(a.labelKey)]},a.id)})})})]}),(0,b.jsxs)(C.Card,{className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:[(0,b.jsx)(F.SettingsCardHeader,{icon:(0,b.jsx)(h.Globe2,{className:"size-4"}),title:i("settings.language"),description:i("settings.languageDescription")}),(0,b.jsx)(C.CardContent,{children:(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:aJ.map(c=>(0,b.jsx)(y.Button,{type:"button",variant:a===c.code?"brand":"outline",size:"sm",onClick:()=>g(c.code),children:c.label},c.code))})})]}),(0,b.jsxs)(C.Card,{className:"forgebadger-animate-in",style:{animationDelay:"80ms"},children:[(0,b.jsx)(F.SettingsCardHeader,{icon:(0,b.jsx)(k,{className:"size-4"}),title:i("settings.theme"),description:i("settings.themeDescription")}),(0,b.jsx)(C.CardContent,{children:(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:aD.map(a=>{let c=v===a.id;return(0,b.jsxs)("button",{type:"button","aria-pressed":c,onClick:()=>w(function(a,b=window.localStorage){let c=aF(a)?a:aC;return document.documentElement.dataset.accent=c,b.setItem(aE,c),c}(a.id)),className:c?"flex items-center gap-2 rounded-md border border-brand/60 bg-brand/10 px-3 py-2 text-sm text-foreground transition-colors duration-150":"flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm text-muted-foreground transition-colors duration-150 hover:border-brand/40 hover:bg-muted/40 hover:text-foreground",children:[(0,b.jsx)("span",{className:"size-3.5 rounded-full ring-1 ring-border",style:{backgroundColor:a.swatch},"aria-hidden":"true"}),i(a.nameKey)]},a.id)})})})]}),(0,b.jsxs)(C.Card,{className:"forgebadger-animate-in",style:{animationDelay:"120ms"},children:[(0,b.jsx)(F.SettingsCardHeader,{icon:(0,b.jsx)(r,{className:"size-4"}),title:i("settings.terminalFont"),description:i("settings.terminalFontDescription")}),(0,b.jsx)(C.CardContent,{children:(0,b.jsxs)("div",{className:"flex flex-wrap items-end gap-3",children:[(0,b.jsxs)("div",{className:"grid min-w-52 flex-1 gap-2",children:[(0,b.jsx)(B.Label,{htmlFor:"terminal-font-family",className:"text-xs text-muted-foreground",children:i("settings.terminalFontFamily")}),(0,b.jsx)(A.Input,{id:"terminal-font-family",value:z,onChange:a=>E(a.target.value),onBlur:I,onKeyDown:a=>{"Enter"===a.key&&I()},spellCheck:!1,className:"font-mono text-xs"})]}),(0,b.jsxs)("div",{className:"grid w-24 gap-2",children:[(0,b.jsx)(B.Label,{htmlFor:"terminal-font-size",className:"text-xs text-muted-foreground",children:i("settings.terminalFontSize")}),(0,b.jsx)(A.Input,{id:"terminal-font-size",type:"number",min:aH.MIN_TERMINAL_FONT_SIZE,max:aH.MAX_TERMINAL_FONT_SIZE,value:G,onChange:a=>H(a.target.value),onBlur:I,onKeyDown:a=>{"Enter"===a.key&&I()}})]}),(0,b.jsx)(y.Button,{type:"button",variant:"outline",size:"sm",onClick:function(){E(aH.DEFAULT_TERMINAL_FONT.fontFamily),H(String(aH.DEFAULT_TERMINAL_FONT.fontSize)),(0,aH.setTerminalFont)(aH.DEFAULT_TERMINAL_FONT)},children:i("settings.terminalFontReset")})]})})]}),(0,b.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:"160ms"},children:(0,b.jsx)(ay,{})}),(0,b.jsxs)(C.Card,{className:"forgebadger-animate-in",style:{animationDelay:"200ms"},children:[(0,b.jsx)(F.SettingsCardHeader,{icon:(0,b.jsx)(n,{className:"size-4"}),title:i("settings.console"),description:i("settings.consoleDescription")}),(0,b.jsx)(C.CardContent,{className:"space-y-2",children:(0,b.jsx)(F.SettingRow,{title:i("settings.browserNotifications"),description:"denied"===t?i("settings.browserNotificationsDenied"):i("settings.browserNotificationsDescription"),checked:o&&"granted"===t,disabled:"unsupported"===t,onCheckedChange:O,icon:(0,b.jsx)(f.Bell,{className:"size-4 text-muted-foreground"})})})]})]}),"account"===N.id&&(0,b.jsxs)(F.SettingsSection,{title:i(N.labelKey),description:i(N.descriptionKey),children:[(0,b.jsx)("div",{className:"forgebadger-animate-in",children:(0,b.jsx)(J,{})}),(0,b.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:(0,b.jsx)(az,{})})]}),"adapters"===N.id&&(0,b.jsxs)(F.SettingsSection,{title:i(N.labelKey),description:i(N.descriptionKey),children:[(0,b.jsx)("div",{className:"forgebadger-animate-in",children:(0,b.jsx)(X,{})}),(0,b.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:(0,b.jsx)(ae,{})})]}),"integrations"===N.id&&(0,b.jsx)(F.SettingsSection,{title:i(N.labelKey),description:i(N.descriptionKey),children:(0,b.jsx)("div",{className:"forgebadger-animate-in",children:(0,b.jsx)(am,{})})}),"instance"===N.id&&K&&(0,b.jsxs)(F.SettingsSection,{title:i(N.labelKey),description:i(N.descriptionKey),children:[(0,b.jsx)("div",{className:"forgebadger-animate-in",children:(0,b.jsx)(ag.InstanceRuntimeSettings,{})}),(0,b.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:(0,b.jsx)(af,{})}),(0,b.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:"80ms"},children:(0,b.jsx)(aa,{})})]})]},N.id)]})]})}],68236)}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=packages_web_src_app_%28dashboard%29_settings_page_tsx_05ku4-o._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[94684,a=>{"use strict";var b=a.i(20486),c=a.i(72637),d=a.i(85198),e=a.i(39747),f=a.i(4837),g=a.i(26248),h=a.i(91167),i=a.i(38094),j=a.i(90259),k=a.i(14060),l=a.i(67164),m=a.i(73867),n=a.i(37134),o=a.i(71700),p=a.i(4730),q=a.i(97494),r=a.i(70458),s=a.i(55068),t=a.i(3030),u=a.i(10917),v=a.i(39042),w=a.i(15031),x=a.i(79914),y=a.i(39465);let z={name:"",description:"",source:"local",content:"",version:"1.0.0",visibility:"private"};a.s(["default",0,function(){let{t:a}=(0,x.useLanguage)(),A=(0,g.useQueryClient)(),[B,C]=(0,d.useState)(z),[D,E]=(0,d.useState)(null),[F,G]=(0,d.useState)(null),[H,I]=(0,d.useState)("all"),[J,K]=(0,d.useState)("all"),[L,M]=(0,d.useState)(""),{data:N,isLoading:O}=(0,e.useQuery)({queryKey:["skills"],queryFn:v.listSkills}),{data:P}=(0,e.useQuery)({queryKey:["skill-sources"],queryFn:v.listSkillSources}),{data:Q}=(0,e.useQuery)({queryKey:["skill-templates"],queryFn:v.listSkillTemplates}),R=P?.sources??[],S=Q?.templates??[],T="all"===H?N?.skills??[]:(N?.skills??[]).filter(a=>a.source===H),U=(0,w.filterByVisibility)(T,J),V=(0,f.useMutation)({mutationFn:({id:a,enabled:b})=>(0,v.toggleSkill)(a,b),onMutate:async({id:a,enabled:b})=>{await A.cancelQueries({queryKey:["skills"]});let c=A.getQueryData(["skills"]);return A.setQueryData(["skills"],c=>c?{...c,skills:c.skills.map(c=>c.id===a?{...c,isEnabled:b}:c)}:c),{previousSkills:c}},onError:(a,b,c)=>{c?.previousSkills&&A.setQueryData(["skills"],c.previousSkills)}}),W=(0,f.useMutation)({mutationFn:()=>{var b;let c={name:(b=B).name.trim(),content:b.content.trim(),...b.description?.trim()?{description:b.description.trim()}:{},...b.source?.trim()?{source:b.source.trim()}:{},...b.version?.trim()?{version:b.version.trim()}:{},visibility:(0,w.normalizeVisibility)(b.visibility)};if(!c.name||!c.content)throw Error(a("skills.required"));return D?(0,v.updateSkill)(D,c):(0,v.createSkill)(c)},onSuccess:()=>{C(z),E(null),M(""),A.invalidateQueries({queryKey:["skills"]})},onError:b=>{M(b instanceof Error?b.message:a("skills.saveFailed"))}}),X=(0,f.useMutation)({mutationFn:v.deleteSkill,onSuccess:()=>A.invalidateQueries({queryKey:["skills"]})}),Y=(0,f.useMutation)({mutationFn:v.syncLocalSkills,onSuccess:()=>A.invalidateQueries({queryKey:["skills"]})});return(0,b.jsxs)("div",{className:"mx-auto max-w-6xl space-y-6 p-6",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:a("skills.title")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:a("skills.subtitle")})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(q.Button,{asChild:!0,size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",children:(0,b.jsxs)(c.default,{href:"/skills/install",children:[(0,b.jsx)(j.Plus,{className:"size-4"}),a("skills.install")]})}),(0,b.jsxs)(q.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>Y.mutate(),disabled:Y.isPending,children:[(0,b.jsx)(k.RefreshCw,{className:Y.isPending?"size-4 animate-spin":"size-4"}),a("skills.syncLocal")]})]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(q.Button,{variant:"all"===H?"default":"outline",size:"sm",onClick:()=>I("all"),children:a("skills.sourceAll")}),R.map(a=>(0,b.jsx)(q.Button,{variant:H===a.id?"default":"outline",size:"sm",onClick:()=>I(a.id),children:a.label},a.id)),(0,b.jsx)("div",{className:"mx-1 h-6 w-px bg-border"}),(0,b.jsx)(q.Button,{variant:"all"===J?"default":"outline",size:"sm",onClick:()=>K("all"),children:a("visibility.all")}),w.visibilityOptions.map(c=>(0,b.jsx)(q.Button,{variant:J===c?"default":"outline",size:"sm",onClick:()=>K(c),children:a((0,w.visibilityLabelKey)(c))},c))]}),N?.discovery&&(0,b.jsx)(r.Card,{className:"forgebadger-animate-in",children:(0,b.jsxs)(r.CardContent,{className:"space-y-3 py-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 text-sm",children:[(0,b.jsxs)(p.Badge,{variant:"outline",children:[a("skills.discoveredLocal"),": ",N.discovery.discoveredCount]}),(0,b.jsxs)(p.Badge,{variant:"outline",children:[a("skills.discoveryRoots"),": ",N.discovery.discoveredRoots?.length??0," / ",N.discovery.roots.length]}),(0,b.jsxs)("span",{className:"text-muted-foreground",children:[a("skills.localSyncSummary"),": ",N.discovery.createdCount," / ",N.discovery.updatedCount," / ",N.discovery.deletedCount," / ",N.discovery.skippedCount]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("skills.discoveryHint")}),(N.discovery.rejectedSkills?.length??0)>0&&(0,b.jsxs)("div",{role:"alert",className:"space-y-2 rounded-md border border-amber-500/40 p-3 text-xs",children:[(0,b.jsx)("p",{className:"font-medium text-amber-500",children:a("skills.packagesRejected")}),(0,b.jsx)("ul",{className:"max-h-40 space-y-1 overflow-y-auto text-muted-foreground",children:N.discovery.rejectedSkills?.map(a=>(0,b.jsxs)("li",{className:"break-all",children:[(0,b.jsx)("code",{children:a.path}),": ",a.reason]},a.path))})]}),(0,b.jsx)("div",{className:"grid gap-2 md:grid-cols-2",children:(N.discovery.discoveredRoots??[]).slice(0,6).map(a=>(0,b.jsx)("code",{className:"truncate rounded-md border border-border/70 bg-muted/30 px-2 py-1 text-xs",children:a},a))})]})}),(0,b.jsxs)(r.Card,{className:"forgebadger-animate-in",children:[(0,b.jsx)(r.CardHeader,{className:"pb-3",children:(0,b.jsx)(r.CardTitle,{className:"text-base",children:D?a("skills.editSkill"):a("skills.createSkill")})}),(0,b.jsxs)(r.CardContent,{className:"space-y-4",children:[S.length>0&&(0,b.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 p-3",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-center gap-2 text-sm font-medium",children:[(0,b.jsx)(m.Sparkles,{className:"size-4 text-brand"}),a("skills.quickCreateTemplates")]}),(0,b.jsx)("div",{className:"grid gap-2 md:grid-cols-5",children:S.map(a=>(0,b.jsx)(q.Button,{type:"button",variant:"outline",className:"h-auto justify-start px-3 py-2 text-left",onClick:()=>{E(null),C({name:a.name,description:a.description,source:a.source,content:a.content,version:a.version,visibility:"private"}),M("")},children:(0,b.jsxs)("span",{className:"min-w-0",children:[(0,b.jsx)("span",{className:"block truncate text-sm font-medium",children:a.title}),(0,b.jsx)("span",{className:"mt-1 block line-clamp-2 text-xs text-muted-foreground",children:a.description})]})},a.id))}),(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:a("skills.templatesDescription")})]}),(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(t.Label,{htmlFor:"skill-name",children:a("common.name")}),(0,b.jsx)(s.Input,{id:"skill-name",value:B.name,onChange:a=>C(b=>({...b,name:a.target.value})),placeholder:"safe-review"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(t.Label,{htmlFor:"skill-source",children:a("skills.source")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:R.map(a=>(0,b.jsx)(q.Button,{type:"button",variant:B.source===a.id?"default":"outline",size:"sm",onClick:()=>C(b=>({...b,source:a.id})),children:a.label},a.id))}),(0,b.jsx)(s.Input,{id:"skill-source",value:B.source,onChange:a=>C(b=>({...b,source:a.target.value})),placeholder:"local"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(t.Label,{htmlFor:"skill-version",children:a("skills.version")}),(0,b.jsx)(s.Input,{id:"skill-version",value:B.version,onChange:a=>C(b=>({...b,version:a.target.value}))})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(t.Label,{children:a("common.visibility")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:w.visibilityOptions.map(c=>(0,b.jsx)(q.Button,{type:"button",variant:(0,w.normalizeVisibility)(B.visibility)===c?"default":"outline",size:"sm",onClick:()=>C(a=>({...a,visibility:c})),children:a((0,w.visibilityLabelKey)(c))},c))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a((0,w.visibilityDescriptionKey)((0,w.normalizeVisibility)(B.visibility)))})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(t.Label,{htmlFor:"skill-description",children:a("common.description")}),(0,b.jsx)(s.Input,{id:"skill-description",value:B.description,onChange:a=>C(b=>({...b,description:a.target.value}))})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(t.Label,{htmlFor:"skill-content",children:a("skills.content")}),(0,b.jsx)("textarea",{id:"skill-content",className:"min-h-36 w-full rounded-md border border-input bg-transparent px-3 py-2 font-mono text-sm outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",value:B.content,onChange:a=>C(b=>({...b,content:a.target.value}))})]}),(0,b.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 p-3",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-sm font-medium",children:[(0,b.jsx)(h.Eye,{className:"size-4 text-muted-foreground"}),a("skills.preview")]}),(0,b.jsxs)("div",{className:"mb-2 flex flex-wrap gap-2",children:[(0,b.jsx)(p.Badge,{variant:"outline",children:B.source||"local"}),(0,b.jsx)(p.Badge,{variant:"outline",children:B.version||"1.0.0"}),(0,b.jsx)(p.Badge,{variant:"secondary",children:a((0,w.visibilityLabelKey)((0,w.normalizeVisibility)(B.visibility)))})]}),(0,b.jsx)("pre",{className:"max-h-56 overflow-auto rounded-md border border-border/70 bg-background p-3 text-xs",children:B.content.trim()||a("skills.previewEmpty")})]}),L&&(0,b.jsx)("p",{className:"text-sm text-destructive",children:L}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsxs)(q.Button,{size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",onClick:()=>W.mutate(),disabled:W.isPending,children:[D?(0,b.jsx)(l.Save,{className:"size-4"}):(0,b.jsx)(j.Plus,{className:"size-4"}),W.isPending?a("skills.saving"):D?a("skills.saveSkill"):a("skills.createSkill")]}),D&&(0,b.jsx)(q.Button,{size:"sm",variant:"outline",onClick:()=>{E(null),C(z),M("")},children:a("common.cancel")})]})]})]}),O?(0,b.jsx)(r.Card,{children:(0,b.jsx)(r.CardContent,{className:"py-10 text-center text-sm text-muted-foreground",children:a("skills.loading")})}):0===U.length?(0,b.jsx)(r.Card,{className:"forgebadger-animate-in",children:(0,b.jsxs)(r.CardContent,{className:"flex flex-col items-center gap-3 py-12 text-center",children:[(0,b.jsx)("div",{className:"flex size-10 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(o.Wrench,{className:"size-5"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:a("skills.emptyTitle")}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a("skills.emptyDescription")})]}),(0,b.jsx)(q.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,b.jsxs)(c.default,{href:"/skills/install",children:[(0,b.jsx)(j.Plus,{className:"size-4"}),a("skills.install")]})})]})}):(0,b.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:U.map((c,d)=>{let e=F===c.id;return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 px-4 py-3 transition-colors forgebadger-animate-in hover:bg-muted/40",style:{animationDelay:`${40*d}ms`},children:[(0,b.jsx)("span",{className:(0,y.cn)("size-2 shrink-0 rounded-full",c.isEnabled?"bg-emerald-400":"bg-muted-foreground/40")}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate text-sm font-medium",children:c.name}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:a(c.resourceManifest?"skills.resourcePackage":"skills.markdownOnly")}),c.description&&(0,b.jsx)("div",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:c.description})]}),(0,b.jsxs)("div",{className:"hidden shrink-0 items-center gap-1.5 md:flex",children:[(0,b.jsx)(p.Badge,{variant:"outline",children:(b=>{switch(b){case"local":return a("skills.sourceLocal");case"clawhub":return a("skills.sourceClawHub");case"github":return a("skills.sourceGitHub");default:return b}})(c.source)}),(0,b.jsx)(p.Badge,{variant:"outline",children:c.version??"1.0.0"}),(0,b.jsx)(p.Badge,{variant:"secondary",children:a((0,w.visibilityLabelKey)((0,w.normalizeVisibility)(c.visibility)))})]}),(0,b.jsx)(u.Switch,{checked:c.isEnabled,onCheckedChange:a=>V.mutate({id:c.id,enabled:a}),disabled:V.isPending}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,b.jsxs)(q.Button,{variant:"ghost",size:"icon",onClick:()=>G(e?null:c.id),children:[(0,b.jsx)(h.Eye,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:a("skills.preview")})]}),(0,b.jsxs)(q.Button,{variant:"ghost",size:"icon",onClick:()=>{E(c.id),C({name:c.name,description:c.description??"",source:c.source,content:c.content??"",version:c.version??"1.0.0",visibility:(0,w.normalizeVisibility)(c.visibility)}),M("")},children:[(0,b.jsx)(i.Pencil,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:a("skills.editSkill")})]}),(0,b.jsxs)(q.Button,{variant:"ghost",size:"icon",className:"text-destructive",onClick:()=>{window.confirm(a("skills.deleteConfirm"))&&X.mutate(c.id)},children:[(0,b.jsx)(n.Trash2,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:a("common.delete")})]})]})]}),e&&(0,b.jsx)("div",{className:"border-t border-border/70 bg-muted/20 px-4 py-3",children:(0,b.jsx)("pre",{className:"max-h-72 overflow-auto rounded-md border border-border/70 bg-background p-3 text-xs",children:c.content?.trim()||a("skills.previewEmpty")})})]},c.id)})})]})}])}];
|
|
1
|
+
module.exports=[94684,a=>{"use strict";var b=a.i(20486),c=a.i(72637),d=a.i(85198),e=a.i(39747),f=a.i(4837),g=a.i(26248);let h=(0,a.i(35485).default)("CircleArrowUp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]]);var i=a.i(91167),j=a.i(99843),k=a.i(38094),l=a.i(90259),m=a.i(14060),n=a.i(67164),o=a.i(73867),p=a.i(37134),q=a.i(71700),r=a.i(91638),s=a.i(4730),t=a.i(97494),u=a.i(70458),v=a.i(90991),w=a.i(55068),x=a.i(3030),y=a.i(67305),z=a.i(10917),A=a.i(39042),B=a.i(15031),C=a.i(79914),D=a.i(76184),E=a.i(49704),F=a.i(62975),G=a.i(8654);function H({skillId:a}){let{language:c}=(0,C.useLanguage)(),f=(0,F.useTrilingual)(),[g,h]=(0,d.useState)(null),i=(0,e.useQuery)({queryKey:["skill-revisions",a],queryFn:()=>(0,G.listSkillRevisions)(a)});return(0,b.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,b.jsx)("h3",{className:"text-sm font-medium",children:f("保留的版本","保留的版本","Retained versions")}),i.isPending?(0,b.jsx)("p",{className:"text-xs",children:f("加载中…","載入中…","Loading…")}):i.error?(0,b.jsx)("p",{role:"alert",className:"text-xs text-destructive",children:i.error.message}):i.data?.revisions.length?i.data.revisions.map(d=>(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 rounded-md border border-border/70 p-2 text-xs",children:[(0,b.jsxs)("span",{children:[new Date(d.createdAt).toLocaleString(c)," ·"," ",d.action," · ",d.packageHash.slice(0,19),"…"]}),(0,b.jsx)(t.Button,{variant:"outline",size:"sm",onClick:()=>h({skillId:a,revisionId:d.id}),children:f("预览恢复","預覽復原","Review restore")})]},d.id)):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:f("下次更新时会保留当前版本。","下次更新時會保留目前版本。","A version will be retained at the next update.")}),g?(0,b.jsx)(E.SkillPackageReview,{input:g,onClose:()=>h(null)}):null]})}var I=a.i(39465);let J={name:"",description:"",source:"local",content:"",version:"1.0.0",visibility:"private"};function K(a){return{name:a.name.trim(),content:a.content.trim(),...a.description?.trim()?{description:a.description.trim()}:{},...a.source?.trim()?{source:a.source.trim()}:{},...a.version?.trim()?{version:a.version.trim()}:{},visibility:(0,B.normalizeVisibility)(a.visibility)}}a.s(["default",0,function(){let{t:a}=(0,C.useLanguage)(),[F,G]=(0,d.useState)(null),L=(0,g.useQueryClient)(),[M,N]=(0,d.useState)(J),[O,P]=(0,d.useState)(null),[Q,R]=(0,d.useState)(null),[S,T]=(0,d.useState)("all"),[U,V]=(0,d.useState)("all"),[W,X]=(0,d.useState)(""),[Y,Z]=(0,d.useState)({}),[$,_]=(0,d.useState)(null),{data:aa,isLoading:ab,error:ac,refetch:ad}=(0,e.useQuery)({queryKey:["skills"],queryFn:A.listSkills}),[ae,af]=(0,d.useState)(null),{data:ag}=(0,e.useQuery)({queryKey:["skill-sources"],queryFn:A.listSkillSources}),{data:ah}=(0,e.useQuery)({queryKey:["skill-templates"],queryFn:A.listSkillTemplates}),ai=ag?.sources??[],aj=ah?.templates??[],ak="all"===S?aa?.skills??[]:(aa?.skills??[]).filter(a=>a.source===S),al=(0,B.filterByVisibility)(ak,U),am=(aa?.skills??[]).filter(a=>null!==(0,A.parseSkillRemoteProvenance)(a)).length,an=(0,f.useMutation)({mutationFn:({id:a,enabled:b})=>(0,A.toggleSkill)(a,b),onMutate:async({id:a,enabled:b})=>{await L.cancelQueries({queryKey:["skills"]});let c=L.getQueryData(["skills"]);return L.setQueryData(["skills"],c=>c?{...c,skills:c.skills.map(c=>c.id===a?{...c,isEnabled:b}:c)}:c),{previousSkills:c}},onError:(a,b,c)=>{c?.previousSkills&&L.setQueryData(["skills"],c.previousSkills)}}),ao=(0,f.useMutation)({mutationFn:()=>{let b=K(M);if(!b.name||!b.content)throw Error(a("skills.required"));return O?(0,A.updateSkill)(O,b):(0,A.createSkill)(b)},onSuccess:()=>{N(J),P(null),X(""),L.invalidateQueries({queryKey:["skills"]})},onError:b=>{X(b instanceof Error?b.message:a("skills.saveFailed"))}}),ap=(0,f.useMutation)({mutationFn:A.deleteSkill,onSuccess:()=>L.invalidateQueries({queryKey:["skills"]})}),aq=(0,f.useMutation)({mutationFn:A.syncLocalSkills,onSuccess:()=>L.invalidateQueries({queryKey:["skills"]})}),ar=(0,f.useMutation)({mutationFn:A.checkSkillUpdate,onSuccess:()=>L.invalidateQueries({queryKey:["skills"]})}),as=(0,f.useMutation)({mutationFn:A.checkAllSkillUpdates,onSuccess:()=>L.invalidateQueries({queryKey:["skills"]})}),at=ac instanceof Error&&!aa,au=(at?null:ac)??an.error??ap.error??aq.error??ar.error??as.error,av=as.data?.results.filter(a=>a.error)??[],aw=!ai.some(a=>a.id===M.source);return(0,b.jsxs)("div",{className:"mx-auto max-w-6xl space-y-6 p-4 md:p-6",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:a("skills.title")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:a("skills.subtitle")})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(t.Button,{asChild:!0,size:"sm",variant:"brand",children:(0,b.jsxs)(c.default,{href:"/skills/discover",children:[(0,b.jsx)(l.Plus,{className:"size-4"}),a("skills.install")]})}),(0,b.jsxs)(t.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>aq.mutate(),disabled:aq.isPending,children:[(0,b.jsx)(m.RefreshCw,{className:aq.isPending?"size-4 animate-spin":"size-4"}),a("skills.syncLocal")]}),am>0&&(0,b.jsxs)(t.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>as.mutate(),disabled:as.isPending,children:[(0,b.jsx)(m.RefreshCw,{className:as.isPending?"size-4 animate-spin":"size-4"}),as.isPending?a("skills.checkingAllUpdates"):a("skills.checkAllUpdates")]})]})]}),(0,b.jsx)(D.SkillNavigation,{}),au&&au!==$?(0,b.jsxs)("div",{role:"alert",className:"flex items-start justify-between gap-3",children:[(0,b.jsx)("p",{className:"text-sm text-destructive",children:au.message}),(0,b.jsx)(t.Button,{type:"button",variant:"ghost",size:"icon-xs","aria-label":a("common.close"),onClick:()=>_(au),children:(0,b.jsx)(r.X,{className:"size-3.5"})})]}):null,av.length?(0,b.jsx)("div",{role:"alert",className:"space-y-1 text-sm text-destructive",children:av.map(a=>(0,b.jsxs)("p",{children:[a.name,": ",a.error]},a.skillId))}):null,F?(0,b.jsx)(E.SkillPackageReview,{input:{skillId:F},onClose:()=>G(null)}):null,(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(t.Button,{variant:"all"===S?"default":"outline",size:"sm",onClick:()=>T("all"),children:a("skills.sourceAll")}),ai.map(a=>(0,b.jsx)(t.Button,{variant:S===a.id?"default":"outline",size:"sm",onClick:()=>T(a.id),children:a.label},a.id)),(0,b.jsx)("div",{className:"mx-1 h-6 w-px bg-border"}),(0,b.jsx)(t.Button,{variant:"all"===U?"default":"outline",size:"sm",onClick:()=>V("all"),children:a("visibility.all")}),B.visibilityOptions.map(c=>(0,b.jsx)(t.Button,{variant:U===c?"default":"outline",size:"sm",onClick:()=>V(c),children:a((0,B.visibilityLabelKey)(c))},c))]}),aa?.discovery&&(0,b.jsx)(u.Card,{className:"forgebadger-animate-in",children:(0,b.jsxs)(u.CardContent,{className:"space-y-3 py-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 text-sm",children:[(0,b.jsxs)(s.Badge,{variant:"outline",children:[a("skills.discoveredLocal"),": ",aa.discovery.discoveredCount]}),(0,b.jsxs)(s.Badge,{variant:"outline",children:[a("skills.discoveryRoots"),": ",aa.discovery.discoveredRoots?.length??0," / ",aa.discovery.roots.length]}),(0,b.jsxs)("span",{className:"text-muted-foreground",children:[a("skills.localSyncSummary"),": ",aa.discovery.createdCount," / ",aa.discovery.updatedCount," / ",aa.discovery.deletedCount," / ",aa.discovery.skippedCount]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a("skills.discoveryHint")}),(aa.discovery.rejectedSkills?.length??0)>0&&(0,b.jsxs)("div",{role:"alert",className:"space-y-2 rounded-md border border-amber-500/40 p-3 text-xs",children:[(0,b.jsx)("p",{className:"font-medium text-amber-500",children:a("skills.packagesRejected")}),(0,b.jsx)("ul",{className:"max-h-40 space-y-1 overflow-y-auto text-muted-foreground",children:aa.discovery.rejectedSkills?.map(a=>(0,b.jsxs)("li",{className:"break-all",children:[(0,b.jsx)("code",{children:a.path}),": ",a.reason]},a.path))})]}),(0,b.jsx)("div",{className:"grid gap-2 md:grid-cols-2",children:(aa.discovery.discoveredRoots??[]).slice(0,6).map(a=>(0,b.jsx)("code",{className:"truncate rounded-md border border-border/70 bg-muted/30 px-2 py-1 text-xs",children:a},a))})]})}),(0,b.jsxs)(u.Card,{className:"forgebadger-animate-in",children:[(0,b.jsx)(u.CardHeader,{className:"pb-3",children:(0,b.jsx)(u.CardTitle,{className:"text-base",children:O?a("skills.editSkill"):a("skills.createSkill")})}),(0,b.jsx)(u.CardContent,{className:"space-y-4",children:(0,b.jsxs)("form",{className:"space-y-4",onSubmit:b=>{b.preventDefault();let c=K(M),d={};c.name||(d.name=a("skills.fieldRequired")),c.content||(d.content=a("skills.fieldRequired")),Z(d),d.name||d.content||ao.mutate()},noValidate:!0,children:[aj.length>0&&(0,b.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 p-3",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-center gap-2 text-sm font-medium",children:[(0,b.jsx)(o.Sparkles,{className:"size-4 text-brand"}),a("skills.quickCreateTemplates")]}),(0,b.jsx)("div",{className:"grid gap-2 md:grid-cols-5",children:aj.map(a=>(0,b.jsx)(t.Button,{type:"button",variant:"outline",className:"h-auto justify-start px-3 py-2 text-left",onClick:()=>{P(null),N({name:a.name,description:a.description,source:a.source,content:a.content,version:a.version,visibility:"private"}),X(""),Z({})},children:(0,b.jsxs)("span",{className:"min-w-0",children:[(0,b.jsx)("span",{className:"block truncate text-sm font-medium",children:a.title}),(0,b.jsx)("span",{className:"mt-1 block line-clamp-2 text-xs text-muted-foreground",children:a.description})]})},a.id))}),(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:a("skills.templatesDescription")})]}),(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{htmlFor:"skill-name",children:a("common.name")}),(0,b.jsx)(w.Input,{id:"skill-name",value:M.name,onChange:a=>{N(b=>({...b,name:a.target.value})),Y.name&&Z(a=>({...a,name:void 0}))},placeholder:"safe-review","aria-invalid":!!Y.name,"aria-describedby":Y.name?"skill-name-error":void 0}),Y.name?(0,b.jsx)("p",{id:"skill-name-error",className:"text-xs text-destructive",children:Y.name}):null]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{htmlFor:"skill-source",children:a("skills.source")}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[ai.map(a=>(0,b.jsx)(t.Button,{type:"button",variant:M.source===a.id?"default":"outline",size:"sm",onClick:()=>N(b=>({...b,source:a.id})),children:a.label},a.id)),(0,b.jsx)(t.Button,{type:"button",variant:aw?"default":"outline",size:"sm",onClick:()=>N(a=>({...a,source:""})),children:a("skills.sourceCustom")})]}),aw?(0,b.jsx)(w.Input,{id:"skill-source",value:M.source,onChange:a=>N(b=>({...b,source:a.target.value})),placeholder:"local"}):null]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{htmlFor:"skill-version",children:a("skills.version")}),(0,b.jsx)(w.Input,{id:"skill-version",value:M.version,onChange:a=>N(b=>({...b,version:a.target.value}))})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{children:a("common.visibility")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:B.visibilityOptions.map(c=>(0,b.jsx)(t.Button,{type:"button",variant:(0,B.normalizeVisibility)(M.visibility)===c?"default":"outline",size:"sm",onClick:()=>N(a=>({...a,visibility:c})),children:a((0,B.visibilityLabelKey)(c))},c))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a((0,B.visibilityDescriptionKey)((0,B.normalizeVisibility)(M.visibility)))})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{htmlFor:"skill-description",children:a("common.description")}),(0,b.jsx)(w.Input,{id:"skill-description",value:M.description,onChange:a=>N(b=>({...b,description:a.target.value}))})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{htmlFor:"skill-content",children:a("skills.content")}),(0,b.jsx)("textarea",{id:"skill-content",className:"min-h-36 w-full rounded-md border border-input bg-transparent px-3 py-2 font-mono text-sm outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",value:M.content,onChange:a=>{N(b=>({...b,content:a.target.value})),Y.content&&Z(a=>({...a,content:void 0}))},"aria-invalid":!!Y.content,"aria-describedby":Y.content?"skill-content-error":void 0}),Y.content?(0,b.jsx)("p",{id:"skill-content-error",className:"text-xs text-destructive",children:Y.content}):null]}),(0,b.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 p-3",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-sm font-medium",children:[(0,b.jsx)(i.Eye,{className:"size-4 text-muted-foreground"}),a("skills.preview")]}),(0,b.jsxs)("div",{className:"mb-2 flex flex-wrap gap-2",children:[(0,b.jsx)(s.Badge,{variant:"outline",children:M.source||"local"}),(0,b.jsx)(s.Badge,{variant:"outline",children:M.version||"1.0.0"}),(0,b.jsx)(s.Badge,{variant:"secondary",children:a((0,B.visibilityLabelKey)((0,B.normalizeVisibility)(M.visibility)))})]}),(0,b.jsx)("pre",{className:"max-h-56 overflow-auto rounded-md border border-border/70 bg-background p-3 text-xs",children:M.content.trim()||a("skills.previewEmpty")})]}),W&&(0,b.jsx)("p",{className:"text-sm text-destructive",children:W}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsxs)(t.Button,{type:"submit",size:"sm",variant:"brand",disabled:ao.isPending,children:[O?(0,b.jsx)(n.Save,{className:"size-4"}):(0,b.jsx)(l.Plus,{className:"size-4"}),ao.isPending?a("skills.saving"):O?a("skills.saveSkill"):a("skills.createSkill")]}),O&&(0,b.jsx)(t.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>{P(null),N(J),X(""),Z({})},children:a("common.cancel")})]})]})})]}),at?(0,b.jsx)(y.QueryState,{isLoading:!1,isError:!0,isEmpty:!1,onRetry:()=>void ad(),empty:null}):ab?(0,b.jsx)(u.Card,{children:(0,b.jsx)(u.CardContent,{className:"py-10 text-center text-sm text-muted-foreground",children:a("skills.loading")})}):0===al.length?(0,b.jsx)(u.Card,{className:"forgebadger-animate-in",children:(0,b.jsxs)(u.CardContent,{className:"flex flex-col items-center gap-3 py-12 text-center",children:[(0,b.jsx)("div",{className:"flex size-10 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(q.Wrench,{className:"size-5"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:a("skills.emptyTitle")}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a("skills.emptyDescription")})]}),(0,b.jsx)(t.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,b.jsxs)(c.default,{href:"/skills/discover",children:[(0,b.jsx)(l.Plus,{className:"size-4"}),a("skills.install")]})})]})}):(0,b.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:al.map((c,d)=>{let e=Q===c.id,f=(0,A.parseSkillRemoteProvenance)(c),g=f?.lastCheck?.updateAvailable===!0;return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 px-4 py-3 transition-colors forgebadger-animate-in hover:bg-muted/40",style:{animationDelay:`${40*d}ms`},children:[(0,b.jsx)("span",{className:(0,I.cn)("size-2 shrink-0 rounded-full",c.isEnabled?"bg-emerald-400":"bg-muted-foreground/40")}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate text-sm font-medium",children:c.name}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:a(c.resourceManifest?"skills.resourcePackage":"skills.markdownOnly")}),f&&("database"!==f.storage||f.legacyGlobalMirror)?(0,b.jsx)("p",{className:"mt-1 text-xs text-amber-600 dark:text-amber-300",children:a("skills.legacyGlobalCopy")}):null,c.description&&(0,b.jsx)("div",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:c.description})]}),(0,b.jsxs)("div",{className:"hidden shrink-0 items-center gap-1.5 md:flex",children:[(0,b.jsx)(s.Badge,{variant:"outline",children:(b=>{switch(b){case"local":return a("skills.sourceLocal");case"clawhub":return a("skills.sourceClawHub");case"github":return a("skills.sourceGitHub");default:return b}})(c.source)}),(0,b.jsx)(s.Badge,{variant:"outline",children:c.version??"1.0.0"}),f&&(0,b.jsxs)(s.Badge,{variant:"outline",title:f.sourceUrl??`${f.repo}@${f.resolvedCommitSha}`,children:[f.repo?(0,b.jsx)(j.Github,{className:"mr-1 size-3"}):null,f.repo||f.kind,"@",f.resolvedCommitSha.slice(0,7)]}),g&&(0,b.jsx)(s.Badge,{variant:"secondary",className:"bg-amber-500/10 text-amber-600",children:a("skills.updateAvailable")}),(0,b.jsx)(s.Badge,{variant:"secondary",children:a((0,B.visibilityLabelKey)((0,B.normalizeVisibility)(c.visibility)))})]}),(0,b.jsx)(z.Switch,{checked:c.isEnabled,onCheckedChange:a=>an.mutate({id:c.id,enabled:a}),disabled:an.isPending&&an.variables?.id===c.id,"aria-label":`${c.name} ${a("common.enabled")}`}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[f&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(t.Button,{variant:"ghost",size:"icon",onClick:()=>ar.mutate(c.id),disabled:ar.isPending,children:[(0,b.jsx)(m.RefreshCw,{className:ar.isPending?"size-4 animate-spin":"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:a("skills.checkUpdate")})]}),g&&(0,b.jsxs)(t.Button,{variant:"ghost",size:"icon",className:"text-amber-600",onClick:()=>{G(c.id)},disabled:!1,children:[(0,b.jsx)(h,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:a("skills.updateSkill")})]})]}),(0,b.jsxs)(t.Button,{variant:"ghost",size:"icon",onClick:()=>R(e?null:c.id),children:[(0,b.jsx)(i.Eye,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:a("skills.preview")})]}),(0,b.jsxs)(t.Button,{variant:"ghost",size:"icon",onClick:()=>{P(c.id),N({name:c.name,description:c.description??"",source:c.source,content:c.content??"",version:c.version??"1.0.0",visibility:(0,B.normalizeVisibility)(c.visibility)}),X(""),Z({})},children:[(0,b.jsx)(k.Pencil,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:a("skills.editSkill")})]}),(0,b.jsxs)(t.Button,{variant:"ghost",size:"icon",className:"text-destructive",onClick:()=>af(c),children:[(0,b.jsx)(p.Trash2,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:a("common.delete")})]})]})]}),e&&(0,b.jsxs)("div",{className:"border-t border-border/70 bg-muted/20 px-4 py-3",children:[(0,b.jsx)("pre",{className:"max-h-72 overflow-auto rounded-md border border-border/70 bg-background p-3 text-xs",children:c.content?.trim()||a("skills.previewEmpty")}),f?(0,b.jsx)(H,{skillId:c.id}):null]})]},c.id)})}),(0,b.jsx)(v.ConfirmDialog,{open:null!==ae,destructive:!0,pending:ap.isPending,title:a("skills.deleteConfirmTitle"),description:ae?a("skills.deleteConfirmNamed").replace("{name}",ae.name):"",confirmLabel:a("common.delete"),onOpenChange:a=>{a||af(null)},onConfirm:()=>{ae&&ap.mutate(ae.id),af(null)}})]})}],94684)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_web_src_app_%28dashboard%29_skills_page_tsx_096j6mw._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[88625,a=>{"use strict";var b=a.i(20486),c=a.i(85198),d=a.i(4837),e=a.i(39747),f=a.i(26248),g=a.i(37060),h=a.i(14027),i=a.i(76897),j=a.i(62803),k=a.i(85874),l=a.i(69703),m=a.i(90259),n=a.i(80395),o=a.i(67164),p=a.i(37134);let q=(0,a.i(35485).default)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);var r=a.i(4730),s=a.i(97494),t=a.i(70458),u=a.i(55068),v=a.i(3030),w=a.i(39042),x=a.i(15031),y=a.i(79914),z=a.i(2355),A=a.i(14060);let B={compliant:"In sync",stale:"Stale",missing:"Missing config"},C={compliant:"border-emerald-500/40 bg-emerald-500/10 text-emerald-600 dark:text-emerald-400",stale:"border-amber-500/40 bg-amber-500/10 text-amber-600 dark:text-amber-400",missing:"border-destructive/40 bg-destructive/10 text-destructive"};function D({templateId:a}){let g=(0,f.useQueryClient)(),[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(new Set),{data:l,isLoading:m}=(0,e.useQuery)({queryKey:["template-usage",a],queryFn:()=>(0,w.getTemplateUsage)(a)}),n=(0,d.useMutation)({mutationFn:()=>(0,w.previewTemplateSync)(a),onSuccess:a=>{i(a),k(new Set)}}),o=(0,d.useMutation)({mutationFn:()=>{if(!h)throw Error("Preview first");let b={};for(let a of h.projects)j.has(a.projectId)&&0!==a.summary.requiresDecision.length&&(b[a.projectId]=Object.fromEntries(a.summary.requiresDecision.map(a=>[a,"overwrite"])));return(0,w.applyTemplateSync)(a,{projectIds:h.projects.map(a=>a.projectId),decisions:b})},onSuccess:()=>{g.invalidateQueries({queryKey:["template-usage",a]})}}),p=(0,c.useMemo)(()=>l?l.projects.reduce((a,b)=>(a[b.configStatus]+=1,a),{compliant:0,stale:0,missing:0}):{compliant:0,stale:0,missing:0},[l]);return(0,b.jsxs)(t.Card,{className:"border-dashed",children:[(0,b.jsxs)(t.CardHeader,{children:[(0,b.jsxs)(t.CardTitle,{className:"flex items-center gap-2 text-base",children:[(0,b.jsx)(A.RefreshCw,{className:"size-4"}),"Sync to projects",l&&0===l.usageCount&&(0,b.jsx)(r.Badge,{variant:"outline",className:"text-xs font-normal",children:"seed only"})]}),(0,b.jsx)(t.CardDescription,{children:m||!l?"Loading usage…":`${l.usageCount} project${1===l.usageCount?"":"s"} use this template`})]}),(0,b.jsxs)(t.CardContent,{className:"space-y-3",children:[l&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs",children:[(0,b.jsxs)(r.Badge,{variant:"secondary",children:[p.compliant," in sync"]}),(0,b.jsxs)(r.Badge,{variant:"secondary",children:[p.stale," stale"]}),(0,b.jsxs)(r.Badge,{variant:"secondary",children:[p.missing," missing config"]})]}),(0,b.jsx)("div",{className:"space-y-2",children:l&&0!==l.projects.length?l.projects.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 rounded-md border px-3 py-2 text-sm",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"truncate font-medium",children:a.name}),(0,b.jsx)("div",{className:"truncate font-mono text-xs text-muted-foreground",children:a.path})]}),(0,b.jsx)(r.Badge,{className:C[a.configStatus],children:B[a.configStatus]})]},a.id)):(0,b.jsx)("p",{className:"py-4 text-center text-sm text-muted-foreground",children:"No projects are tracking this template. It currently serves as a one-time project initialization seed — bind a project to it to enable batch sync."})}),h&&(0,b.jsxs)("div",{className:"space-y-2 rounded-md border bg-background p-3",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:"Preview"}),h.projects.map(a=>{let c=a.summary.requiresDecision.length>0;return(0,b.jsxs)("div",{className:"rounded-md border px-3 py-2 text-sm",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.projectName}),c&&(0,b.jsxs)("label",{className:"flex shrink-0 items-center gap-1.5 text-xs",children:[(0,b.jsx)("input",{type:"checkbox",checked:j.has(a.projectId),onChange:()=>{var b;return b=a.projectId,void k(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})}}),"overwrite modified files"]})]}),(0,b.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",children:[a.summary.missingFiles.length," files to create",a.summary.requiresDecision.length>0&&(0,b.jsxs)(b.Fragment,{children:[" · ",a.summary.requiresDecision.length," files need a decision"]}),a.summary.modifiedFiles.length>0&&(0,b.jsx)("span",{className:"ml-2 font-mono",children:a.summary.modifiedFiles.join(", ")})]})]},a.projectId)})]}),n.isError&&(0,b.jsx)("p",{className:"text-sm text-destructive",children:n.error instanceof Error?n.error.message:"Preview failed"}),o.isError&&(0,b.jsx)("p",{className:"text-sm text-destructive",children:o.error instanceof Error?o.error.message:"Sync failed"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(s.Button,{type:"button",variant:"outline",size:"sm",disabled:!l||0===l.projects.length||n.isPending,onClick:()=>n.mutate(),children:n.isPending?"Previewing…":"Preview changes"}),(0,b.jsxs)(s.Button,{type:"button",size:"sm",disabled:!h||0===h.projects.length||o.isPending,onClick:()=>o.mutate(),children:[(0,b.jsx)(z.Play,{className:"size-4"}),o.isPending?"Syncing…":`Apply to ${h?.projects.length??0} projects`]})]}),o.data&&(0,b.jsx)("div",{className:"space-y-1.5 text-xs",children:o.data.projects.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"truncate",children:a.projectName}),a.error?(0,b.jsx)("span",{className:"shrink-0 text-destructive",children:a.error}):(0,b.jsxs)("span",{className:"shrink-0 text-muted-foreground",children:[a.result?.outcome," · ",a.result?.writtenFiles.length," written ·"," ",a.result?.skippedFiles.length," skipped"]})]},a.projectId))})]})]})}let E="CLAUDE.md",F="# {{projectName}}\n\nProject root: `{{projectRoot}}`\n\nFollow the repository instructions and keep changes scoped.\n";a.s(["default",0,function(){let{t:a}=(0,y.useLanguage)(),z=(0,f.useQueryClient)(),[A,B]=(0,c.useState)(null),[C,G]=(0,c.useState)(""),[H,I]=(0,c.useState)("private"),[J,K]=(0,c.useState)(""),[L,M]=(0,c.useState)(""),[N,O]=(0,c.useState)(""),[P,Q]=(0,c.useState)("private"),[R,S]=(0,c.useState)(E),[T,U]=(0,c.useState)(F),[V,W]=(0,c.useState)("all"),[X,Y]=(0,c.useState)(""),[Z,$]=(0,c.useState)(!1),[_,aa]=(0,c.useState)(!1),[ab,ac]=(0,c.useState)(""),[ad,ae]=(0,c.useState)(""),[af,ag]=(0,c.useState)(""),[ah,ai]=(0,c.useState)(""),[aj,ak]=(0,c.useState)(null),{data:al,isLoading:am}=(0,e.useQuery)({queryKey:["templates"],queryFn:w.listTemplates}),an=al?.templates??[],ao=(0,x.filterByVisibility)(an,V),ap=ao.filter(a=>(a.usageCount??0)>0),aq=ao.filter(a=>(a.usageCount??0)===0);function ar(c){return(0,b.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between rounded-md border px-3 py-2 text-left text-sm hover:bg-accent",onClick:()=>{var a;let b;return a=c.id,b=an.find(b=>b.id===a),void(B(a),M(b?.name??""),O(b?.description??""),Q((0,x.normalizeVisibility)(b?.visibility)),S(E),U(""),Y(""),ak(null))},children:[(0,b.jsx)("span",{className:"font-medium",children:c.name}),(0,b.jsxs)("span",{className:"flex flex-wrap justify-end gap-2",children:[(c.isBuiltin||c.builtin)&&(0,b.jsx)(r.Badge,{variant:"secondary",children:a("templates.builtin")}),(0,b.jsx)(r.Badge,{variant:"outline",children:a((0,x.visibilityLabelKey)((0,x.normalizeVisibility)(c.visibility)))})]})]},c.id)}let{data:as}=(0,e.useQuery)({queryKey:["catalog-items"],queryFn:w.listCatalogItems}),at=(as?.items??[]).filter(a=>"template"===a.itemType),au=(0,c.useMemo)(()=>an.find(a=>a.id===A),[A,an]),av=!!au?.isBuiltin||!!au?.builtin,{data:aw}=(0,e.useQuery)({queryKey:["template",A],queryFn:()=>(0,w.getTemplate)(A),enabled:!!A}),{data:ax}=(0,e.useQuery)({queryKey:["template",A,"versions"],queryFn:()=>(0,w.listTemplateVersions)(A),enabled:!!A&&!av}),ay=(0,d.useMutation)({mutationFn:()=>(0,w.createTemplate)({name:C.trim(),visibility:H,files:[{filePath:E,content:F,fileType:"markdown"}]}),onSuccess:async({template:b})=>{ak(a("templates.created")),G(""),I("private"),B(b.id),M(b.name),O(b.description??""),Q((0,x.normalizeVisibility)(b.visibility)),await z.invalidateQueries({queryKey:["templates"]})}}),az=(0,d.useMutation)({mutationFn:a=>(0,w.cloneTemplate)(a,J.trim()||`${au?.name??"Template"} Copy`),onSuccess:async({template:b})=>{ak(a("templates.cloned")),K(""),B(b.id),M(b.name),O(b.description??""),Q((0,x.normalizeVisibility)(b.visibility)),await z.invalidateQueries({queryKey:["templates"]})}}),aA=(0,d.useMutation)({mutationFn:async()=>{if(!A)throw Error("Template is required");return await (0,w.updateTemplate)(A,{name:L.trim(),description:N.trim(),visibility:P}),(0,w.updateTemplateFile)(A,R.trim(),T)},onSuccess:async()=>{ak(a("templates.saved")),await z.invalidateQueries({queryKey:["templates"]}),await z.invalidateQueries({queryKey:["template",A]})}}),aB=(0,d.useMutation)({mutationFn:w.deleteTemplate,onSuccess:async()=>{ak(a("templates.deleted")),B(null),await z.invalidateQueries({queryKey:["templates"]})}}),aC=(0,d.useMutation)({mutationFn:a=>(0,w.exportTemplate)(a),onSuccess:({templatePackage:b})=>{Y(JSON.stringify(b,null,2)),ak(a("templates.exported"))}}),aD=(0,d.useMutation)({mutationFn:()=>(0,w.importTemplate)(JSON.parse(X)),onSuccess:async({template:b})=>{ak(a("templates.imported")),B(b.id),M(b.name),O(b.description??""),Q((0,x.normalizeVisibility)(b.visibility)),Y(""),await z.invalidateQueries({queryKey:["templates"]})}}),aE=(0,d.useMutation)({mutationFn:w.installCatalogTemplate,onSuccess:async({template:b})=>{ak(a("templates.catalogInstalled")),B(b.id),M(b.name),O(b.description??""),Q((0,x.normalizeVisibility)(b.visibility)),await z.invalidateQueries({queryKey:["templates"]})}}),aF=(0,d.useMutation)({mutationFn:()=>{let a={url:ab.trim()},b=ad.trim();b&&(a.branch=b);let c=af.trim();c&&(a.name=c);let d=ah.trim();return d&&(a.description=d),(0,w.importTemplateFromGit)(a)},onSuccess:async b=>{ak(a("templates.gitImported")),ac(""),ae(""),ag(""),ai(""),B(b.templateId),M(b.name),O(""),Q("private"),await z.invalidateQueries({queryKey:["templates"]})}}),aG=(0,d.useMutation)({mutationFn:({templateId:a,versionId:b})=>(0,w.restoreTemplateVersion)(a,b),onSuccess:async({template:b})=>{let c=b.files?.[0];ak(a("templates.restored")),M(b.name),O(b.description??""),Q((0,x.normalizeVisibility)(b.visibility)),c&&(S(c.filePath),U(c.content)),await z.invalidateQueries({queryKey:["templates"]}),await z.invalidateQueries({queryKey:["template",A]}),await z.invalidateQueries({queryKey:["template",A,"versions"]})}}),aH=ay.error??az.error??aA.error??aB.error??aC.error??aD.error??aE.error??aF.error??aG.error;return(0,b.jsxs)("div",{className:"space-y-6 p-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold",children:a("templates.title")}),(0,b.jsx)("p",{className:"mt-1 text-muted-foreground",children:a("templates.subtitle")})]}),aj&&(0,b.jsx)("div",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-700 dark:text-emerald-300",children:aj}),aH instanceof Error&&(0,b.jsx)("div",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:aH.message}),(0,b.jsxs)("div",{className:"grid gap-4 lg:grid-cols-[340px_minmax(0,1fr)]",children:[(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)(t.Card,{children:[(0,b.jsx)(t.CardHeader,{children:(0,b.jsxs)(t.CardTitle,{className:"flex items-center gap-2 text-base",children:[(0,b.jsx)(m.Plus,{className:"size-4"}),a("templates.createCustom")]})}),(0,b.jsx)(t.CardContent,{children:(0,b.jsxs)("form",{className:"space-y-3",onSubmit:a=>{a.preventDefault(),ay.mutate()},children:[(0,b.jsx)(v.Label,{htmlFor:"new-template-name",children:a("common.name")}),(0,b.jsx)(u.Input,{id:"new-template-name",value:C,onChange:a=>G(a.target.value),required:!0}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.Label,{children:a("common.visibility")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:x.visibilityOptions.map(c=>(0,b.jsx)(s.Button,{type:"button",size:"sm",variant:H===c?"default":"outline",onClick:()=>I(c),children:a((0,x.visibilityLabelKey)(c))},c))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a((0,x.visibilityDescriptionKey)(H))})]}),(0,b.jsxs)(s.Button,{type:"submit",className:"w-full",disabled:ay.isPending,children:[(0,b.jsx)(m.Plus,{className:"size-4"}),ay.isPending?a("templates.creating"):a("templates.createCustom")]})]})})]}),(0,b.jsxs)(t.Card,{children:[(0,b.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between gap-2 px-6 pt-6 text-left outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50",onClick:()=>$(a=>!a),"aria-expanded":Z,"aria-label":a("templates.catalogInstall"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(l.PackagePlus,{className:"size-4"}),(0,b.jsx)("span",{className:"text-base font-semibold",children:a("templates.catalogInstall")})]}),(0,b.jsx)(g.ChevronDown,{className:`size-4 shrink-0 text-muted-foreground transition-transform ${Z?"rotate-180":""}`})]}),(0,b.jsxs)(t.CardContent,{className:"space-y-2 pt-4",children:[(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:a("templates.catalogInstallDescription")}),Z&&(0===at.length?(0,b.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:a("templates.catalogEmpty")}):at.map(c=>(0,b.jsxs)("div",{className:"rounded-md border bg-background p-3",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"truncate text-sm font-medium",children:c.name}),(0,b.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",children:[c.sourceId," · ",c.version??"1.0.0"]})]}),(0,b.jsxs)(s.Button,{type:"button",size:"sm",variant:"outline",disabled:aE.isPending,onClick:()=>aE.mutate(c.id),children:[(0,b.jsx)(l.PackagePlus,{className:"size-3"}),aE.isPending?a("templates.installing"):a("templates.install")]})]}),c.description&&(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:c.description})]},c.id)))]})]}),(0,b.jsxs)(t.Card,{children:[(0,b.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between gap-2 px-6 pt-6 text-left outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50",onClick:()=>aa(a=>!a),"aria-expanded":_,"aria-label":a("templates.gitImport"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(k.GitBranch,{className:"size-4"}),(0,b.jsx)("span",{className:"text-base font-semibold",children:a("templates.gitImport")})]}),(0,b.jsx)(g.ChevronDown,{className:`size-4 shrink-0 text-muted-foreground transition-transform ${_?"rotate-180":""}`})]}),(0,b.jsxs)(t.CardContent,{className:"space-y-2 pt-4",children:[(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:a("templates.gitImportDescription")}),_&&(0,b.jsxs)("form",{className:"space-y-3",onSubmit:a=>{a.preventDefault(),aF.mutate()},children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.Label,{htmlFor:"git-import-url",children:a("templates.gitImportUrl")}),(0,b.jsx)(u.Input,{id:"git-import-url",value:ab,onChange:a=>ac(a.target.value),placeholder:"https://github.com/your-org/ai-cli-config",required:!0})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.Label,{htmlFor:"git-import-branch",children:a("templates.gitImportBranch")}),(0,b.jsx)(u.Input,{id:"git-import-branch",value:ad,onChange:a=>ae(a.target.value),placeholder:"main"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.Label,{htmlFor:"git-import-name",children:a("common.name")}),(0,b.jsx)(u.Input,{id:"git-import-name",value:af,onChange:a=>ag(a.target.value)})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.Label,{htmlFor:"git-import-description",children:a("common.description")}),(0,b.jsx)(u.Input,{id:"git-import-description",value:ah,onChange:a=>ai(a.target.value)})]}),(0,b.jsxs)(s.Button,{type:"submit",className:"w-full",disabled:!ab.trim()||aF.isPending,children:[(0,b.jsx)(k.GitBranch,{className:"size-4"}),aF.isPending?a("templates.gitImporting"):a("templates.gitImport")]})]})]})]}),(0,b.jsxs)(t.Card,{children:[(0,b.jsxs)(t.CardHeader,{children:[(0,b.jsx)(t.CardTitle,{className:"text-base",children:a("templates.available")}),(0,b.jsx)(t.CardDescription,{children:a("templates.availableDescription")})]}),(0,b.jsxs)(t.CardContent,{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap gap-2 pb-2",children:[(0,b.jsx)(s.Button,{type:"button",size:"sm",variant:"all"===V?"default":"outline",onClick:()=>W("all"),children:a("visibility.all")}),x.visibilityOptions.map(c=>(0,b.jsx)(s.Button,{type:"button",size:"sm",variant:V===c?"default":"outline",onClick:()=>W(c),children:a((0,x.visibilityLabelKey)(c))},c))]}),am?(0,b.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:a("templates.loading")}):0===ao.length?(0,b.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:a("templates.emptyTitle")}):(0,b.jsxs)("div",{className:"space-y-3",children:[ap.length>0&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,b.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:a("templates.governedTitle")}),(0,b.jsx)(r.Badge,{variant:"secondary",children:ap.length})]}),ap.map(a=>ar(a))]}),aq.length>0&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,b.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:a("templates.seedTitle")}),(0,b.jsx)(r.Badge,{variant:"secondary",children:aq.length})]}),aq.map(a=>ar(a))]})]})]})]}),(0,b.jsxs)(t.Card,{children:[(0,b.jsxs)(t.CardHeader,{children:[(0,b.jsx)(t.CardTitle,{className:"text-base",children:a("templates.importExport")}),(0,b.jsx)(t.CardDescription,{children:a("templates.importExportDescription")})]}),(0,b.jsxs)(t.CardContent,{className:"space-y-3",children:[(0,b.jsx)(v.Label,{htmlFor:"template-package",children:a("templates.packageJson")}),(0,b.jsx)("textarea",{id:"template-package",className:"min-h-40 w-full rounded-md border border-input bg-background p-3 font-mono text-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",value:X,onChange:a=>Y(a.target.value)}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,b.jsxs)(s.Button,{type:"button",variant:"outline",disabled:!A||aC.isPending,onClick:()=>A&&aC.mutate(A),children:[(0,b.jsx)(i.Download,{className:"size-4"}),a("templates.export")]}),(0,b.jsxs)(s.Button,{type:"button",disabled:!X.trim()||aD.isPending,onClick:()=>aD.mutate(),children:[(0,b.jsx)(q,{className:"size-4"}),a("templates.import")]})]})]})]})]}),(0,b.jsxs)(t.Card,{children:[(0,b.jsx)(t.CardHeader,{children:(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)(t.CardTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(j.FileCode2,{className:"size-5"}),au?.name??a("templates.selectTemplate")]}),(0,b.jsx)(t.CardDescription,{children:a("templates.editorDescription")})]}),au&&(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(u.Input,{className:"h-8 w-48",value:J,onChange:a=>K(a.target.value),placeholder:a("templates.cloneName")}),(0,b.jsxs)(s.Button,{size:"sm",variant:"outline",onClick:()=>az.mutate(au.id),disabled:az.isPending,children:[(0,b.jsx)(h.Copy,{className:"size-4"}),a("templates.clone")]})]})]})}),(0,b.jsx)(t.CardContent,{children:au?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(D,{templateId:au.id}),(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.Label,{htmlFor:"template-name",children:a("common.name")}),(0,b.jsx)(u.Input,{id:"template-name",value:L,onChange:a=>M(a.target.value),disabled:av})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.Label,{htmlFor:"template-description",children:a("common.description")}),(0,b.jsx)(u.Input,{id:"template-description",value:N,onChange:a=>O(a.target.value),disabled:av})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.Label,{children:a("common.visibility")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:x.visibilityOptions.map(c=>(0,b.jsx)(s.Button,{type:"button",size:"sm",variant:P===c?"default":"outline",disabled:av,onClick:()=>Q(c),children:a((0,x.visibilityLabelKey)(c))},c))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a((0,x.visibilityDescriptionKey)(P))})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-end gap-2",children:[(0,b.jsxs)("div",{className:"flex-1 space-y-2",children:[(0,b.jsx)(v.Label,{htmlFor:"template-file",children:a("templates.filePath")}),(0,b.jsx)(u.Input,{id:"template-file",value:R,onChange:a=>S(a.target.value),disabled:av})]}),(0,b.jsx)(s.Button,{type:"button",variant:"outline",onClick:function(){let a=aw?.template.files?.find(a=>a.filePath===R)??aw?.template.files?.[0];a&&(S(a.filePath),U(a.content))},children:a("templates.loadFile")})]}),(0,b.jsx)("textarea",{className:"min-h-80 w-full rounded-md border border-input bg-background p-3 font-mono text-sm outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",value:T,onChange:a=>U(a.target.value),disabled:av,placeholder:a("templates.fileContent")})]}),(0,b.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,b.jsxs)(s.Button,{variant:"ghost",className:"text-destructive",disabled:av||aB.isPending,onClick:()=>{A&&window.confirm(a("templates.deleteConfirm"))&&aB.mutate(A)},children:[(0,b.jsx)(p.Trash2,{className:"size-4"}),a("common.delete")]}),(0,b.jsxs)(s.Button,{disabled:av||aA.isPending,onClick:()=>aA.mutate(),children:[(0,b.jsx)(o.Save,{className:"size-4"}),aA.isPending?a("templates.saving"):a("templates.save")]})]}),!av&&(0,b.jsxs)("div",{className:"rounded-md border bg-muted/20 p-3",children:[(0,b.jsx)("h3",{className:"text-sm font-medium",children:a("templates.versionHistory")}),0===(ax?.versions??[]).length?(0,b.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:a("templates.noVersions")}):(0,b.jsx)("div",{className:"mt-3 space-y-2",children:ax?.versions.map(c=>(0,b.jsxs)("div",{className:"rounded-md border bg-background p-2 text-sm",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"font-medium",children:c.name}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(r.Badge,{variant:"outline",children:c.version}),(0,b.jsxs)(s.Button,{type:"button",size:"sm",variant:"outline",disabled:!A||aG.isPending,onClick:()=>{A&&window.confirm(a("templates.restoreConfirm"))&&aG.mutate({templateId:A,versionId:c.id})},children:[(0,b.jsx)(n.RotateCcw,{className:"size-3"}),aG.isPending?a("templates.restoring"):a("templates.restore")]})]})]}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[c.action," · ",new Date(c.createdAt).toLocaleString()]})]},c.id))})]})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 text-center text-sm text-muted-foreground",children:[(0,b.jsx)(j.FileCode2,{className:"mb-4 size-10"}),a("templates.selectTemplate")]})})]})]})]})}],88625)}];
|
|
1
|
+
module.exports=[88625,a=>{"use strict";var b=a.i(20486),c=a.i(85198),d=a.i(4837),e=a.i(39747),f=a.i(26248),g=a.i(37060),h=a.i(14027),i=a.i(76897),j=a.i(62803),k=a.i(85874),l=a.i(35485);let m=(0,l.default)("PackagePlus",[["path",{d:"M16 16h6",key:"100bgy"}],["path",{d:"M19 13v6",key:"85cyf1"}],["path",{d:"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}]]);var n=a.i(90259),o=a.i(80395),p=a.i(67164),q=a.i(37134);let r=(0,l.default)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);var s=a.i(4730),t=a.i(97494),u=a.i(70458),v=a.i(62384),w=a.i(55068),x=a.i(3030),y=a.i(67305),z=a.i(90991),A=a.i(85564),B=a.i(39042),C=a.i(15031),D=a.i(79914),E=a.i(2355),F=a.i(14060);let G={compliant:"border-emerald-500/40 bg-emerald-500/10 text-emerald-600 dark:text-emerald-400",stale:"border-amber-500/40 bg-amber-500/10 text-amber-600 dark:text-amber-400",missing:"border-destructive/40 bg-destructive/10 text-destructive"},H={applied:"templates.syncOutcomeApplied",rolled_back:"templates.syncOutcomeRolledBack",rollback_failed:"templates.syncOutcomeRollbackFailed"};function I({templateId:a}){let{t:g}=(0,D.useLanguage)(),h=(0,f.useQueryClient)(),[i,j]=(0,c.useState)(null),[k,l]=(0,c.useState)(new Set),[m,n]=(0,c.useState)(!1),{data:o,isLoading:p}=(0,e.useQuery)({queryKey:["template-usage",a],queryFn:()=>(0,B.getTemplateUsage)(a)}),q=(0,d.useMutation)({mutationFn:()=>(0,B.previewTemplateSync)(a),onSuccess:a=>{j(a),l(new Set)}}),r=(0,d.useMutation)({mutationFn:()=>{if(!i)throw Error(g("templates.syncPreviewFailed"));let b={};for(let a of i.projects)k.has(a.projectId)&&0!==a.summary.requiresDecision.length&&(b[a.projectId]=Object.fromEntries(a.summary.requiresDecision.map(a=>[a,"overwrite"])));return(0,B.applyTemplateSync)(a,{projectIds:i.projects.map(a=>a.projectId),decisions:b})},onSuccess:()=>{j(null),l(new Set),h.invalidateQueries({queryKey:["template-usage",a]})}}),v=(0,c.useMemo)(()=>o?o.projects.reduce((a,b)=>(a[b.configStatus]+=1,a),{compliant:0,stale:0,missing:0}):{compliant:0,stale:0,missing:0},[o]),w={compliant:g("templates.syncStatusCompliant"),stale:g("templates.syncStatusStale"),missing:g("templates.syncStatusMissing")};return(0,b.jsxs)(u.Card,{className:"border-dashed",children:[(0,b.jsxs)(u.CardHeader,{children:[(0,b.jsxs)(u.CardTitle,{className:"flex items-center gap-2 text-base",children:[(0,b.jsx)(F.RefreshCw,{className:"size-4"}),g("templates.syncTitle"),o&&0===o.usageCount&&(0,b.jsx)(s.Badge,{variant:"outline",className:"text-xs font-normal",children:g("templates.syncSeedOnly")})]}),(0,b.jsx)(u.CardDescription,{children:p||!o?g("templates.syncLoadingUsage"):g("templates.syncUsageCount").replace("{count}",String(o.usageCount))})]}),(0,b.jsxs)(u.CardContent,{className:"space-y-3",children:[o&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs",children:[(0,b.jsx)(s.Badge,{variant:"secondary",children:g("templates.syncCountCompliant").replace("{count}",String(v.compliant))}),(0,b.jsx)(s.Badge,{variant:"secondary",children:g("templates.syncCountStale").replace("{count}",String(v.stale))}),(0,b.jsx)(s.Badge,{variant:"secondary",children:g("templates.syncCountMissing").replace("{count}",String(v.missing))})]}),(0,b.jsx)("div",{className:"space-y-2",children:o&&0!==o.projects.length?o.projects.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 rounded-md border px-3 py-2 text-sm",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"truncate font-medium",children:a.name}),(0,b.jsx)("div",{className:"truncate font-mono text-xs text-muted-foreground",children:a.path})]}),(0,b.jsx)(s.Badge,{className:G[a.configStatus],children:w[a.configStatus]})]},a.id)):(0,b.jsx)("p",{className:"py-4 text-center text-sm text-muted-foreground",children:g("templates.syncEmpty")})}),i&&(0,b.jsxs)("div",{className:"space-y-2 rounded-md border bg-background p-3",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:g("templates.syncPreview")}),i.projects.map(a=>{let c=a.summary.requiresDecision.length>0;return(0,b.jsxs)("div",{className:"rounded-md border px-3 py-2 text-sm",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.projectName}),c&&(0,b.jsxs)("label",{className:"flex shrink-0 items-center gap-1.5 text-xs",children:[(0,b.jsx)("input",{type:"checkbox",checked:k.has(a.projectId),onChange:()=>{var b;return b=a.projectId,void l(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})}}),g("templates.syncOverwriteModified")]})]}),(0,b.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",children:[g("templates.syncFilesToCreate").replace("{count}",String(a.summary.missingFiles.length)),a.summary.requiresDecision.length>0&&(0,b.jsxs)(b.Fragment,{children:[" · ",g("templates.syncFilesNeedDecision").replace("{count}",String(a.summary.requiresDecision.length))]}),a.summary.modifiedFiles.length>0&&(0,b.jsx)("span",{className:"ml-2 font-mono",children:a.summary.modifiedFiles.join(", ")})]})]},a.projectId)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:g("templates.syncOverwriteHint")})]}),q.isError&&(0,b.jsx)("p",{className:"text-sm text-destructive",children:q.error instanceof Error?q.error.message:g("templates.syncPreviewFailed")}),r.isError&&(0,b.jsx)("p",{className:"text-sm text-destructive",children:r.error instanceof Error?r.error.message:g("templates.syncApplyFailed")}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(t.Button,{type:"button",variant:"outline",size:"sm",disabled:!o||0===o.projects.length||q.isPending,onClick:()=>q.mutate(),children:q.isPending?g("templates.syncPreviewing"):g("templates.syncPreviewAction")}),(0,b.jsxs)(t.Button,{type:"button",size:"sm",disabled:!i||0===i.projects.length||r.isPending,onClick:()=>n(!0),children:[(0,b.jsx)(E.Play,{className:"size-4"}),r.isPending?g("templates.syncApplying"):g("templates.syncApply").replace("{count}",String(i?.projects.length??0))]})]}),r.data&&(0,b.jsx)("div",{className:"space-y-1.5 text-xs",children:r.data.projects.map(a=>(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"truncate",children:a.projectName}),a.error?(0,b.jsx)("span",{className:"shrink-0 text-destructive",children:a.error}):(0,b.jsxs)("span",{className:"flex min-w-0 shrink-0 items-center gap-2 text-muted-foreground",children:[(0,b.jsxs)("span",{children:[a.result?g(H[a.result.outcome]):""," ","·"," ",g("templates.syncResultLine").replace("{written}",String(a.result?.writtenFiles.length??0)).replace("{skipped}",String(a.result?.skippedFiles.length??0))]}),a.result?.backupPath?(0,b.jsxs)("span",{className:"max-w-48 truncate font-mono",title:a.result.backupPath,children:[g("templates.syncBackup"),": ",a.result.backupPath]}):null]})]},a.projectId))})]}),(0,b.jsx)(z.ConfirmDialog,{open:m,title:g("templates.syncApplyConfirmTitle"),description:g("templates.syncApplyConfirmDescription").replace("{count}",String(i?.projects.length??0)),confirmLabel:g("templates.syncApplyConfirm"),pending:r.isPending,onOpenChange:n,onConfirm:()=>{n(!1),r.mutate()}})]})}let J="CLAUDE.md",K="# {{projectName}}\n\nProject root: `{{projectRoot}}`\n\nFollow the repository instructions and keep changes scoped.\n";class L extends Error{constructor(a){super(a),this.name="TemplateFileSaveError"}}a.s(["default",0,function(){let{t:a}=(0,D.useLanguage)(),l=(0,D.useUiLocale)(),E=(0,f.useQueryClient)(),[F,G]=(0,c.useState)(null),[H,M]=(0,c.useState)(""),[N,O]=(0,c.useState)("private"),[P,Q]=(0,c.useState)(""),[R,S]=(0,c.useState)(""),[T,U]=(0,c.useState)(""),[V,W]=(0,c.useState)("private"),[X,Y]=(0,c.useState)(J),[Z,$]=(0,c.useState)(K),[_,aa]=(0,c.useState)(null),[ab,ac]=(0,c.useState)(null),ad=(0,c.useRef)(0),ae=(0,c.useRef)({templateId:F,filePath:ab,epoch:0});ae.current={templateId:F,filePath:ab,epoch:ad.current};let[af,ag]=(0,c.useState)(null),[ah,ai]=(0,c.useState)(null),[aj,ak]=(0,c.useState)("all"),[al,am]=(0,c.useState)(""),[an,ao]=(0,c.useState)(!1),[ap,aq]=(0,c.useState)(!1),[ar,as]=(0,c.useState)(""),[at,au]=(0,c.useState)(""),[av,aw]=(0,c.useState)(""),[ax,ay]=(0,c.useState)(""),[az,aA]=(0,c.useState)(null),{data:aB,isLoading:aC,isError:aD,refetch:aE}=(0,e.useQuery)({queryKey:["templates"],queryFn:B.listTemplates}),[aF,aG]=(0,c.useState)(null),[aH,aI]=(0,c.useState)(null),aJ=aB?.templates??[],aK=(0,C.filterByVisibility)(aJ,aj),aL=aK.filter(a=>(a.usageCount??0)>0),aM=aK.filter(a=>(a.usageCount??0)===0);function aN(c){return(0,b.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between rounded-md border px-3 py-2 text-left text-sm hover:bg-accent",onClick:()=>(function(a){if(a!==F){if(!a1())return void a2(a);ai(a)}})(c.id),children:[(0,b.jsx)("span",{className:"font-medium",children:c.name}),(0,b.jsxs)("span",{className:"flex flex-wrap justify-end gap-2",children:[(c.isBuiltin||c.builtin)&&(0,b.jsx)(s.Badge,{variant:"secondary",children:a("templates.builtin")}),(0,b.jsx)(s.Badge,{variant:"outline",children:a((0,C.visibilityLabelKey)((0,C.normalizeVisibility)(c.visibility)))})]})]},c.id)}let{data:aO}=(0,e.useQuery)({queryKey:["catalog-items"],queryFn:B.listCatalogItems}),aP=(aO?.items??[]).filter(a=>"template"===a.itemType),aQ=(0,c.useMemo)(()=>aJ.find(a=>a.id===F),[F,aJ]),aR=!!aQ?.isBuiltin||!!aQ?.builtin,{data:aS}=(0,e.useQuery)({queryKey:["template",F],queryFn:()=>(0,B.getTemplate)(F),enabled:!!F}),{data:aT}=(0,e.useQuery)({queryKey:["template",F,"versions"],queryFn:()=>(0,B.listTemplateVersions)(F),enabled:!!F&&!aR}),aU=(0,d.useMutation)({mutationFn:()=>(0,B.createTemplate)({name:H.trim(),visibility:N,files:[{filePath:J,content:K,fileType:"markdown"}]}),onSuccess:async({template:b})=>{aA(a("templates.created")),M(""),O("private"),G(b.id),aa(null),ac(null),ag(null),S(b.name),U(b.description??""),W((0,C.normalizeVisibility)(b.visibility)),await E.invalidateQueries({queryKey:["templates"]})}}),aV=(0,d.useMutation)({mutationFn:a=>(0,B.cloneTemplate)(a,P.trim()||`${aQ?.name??"Template"} Copy`),onSuccess:async({template:b})=>{aA(a("templates.cloned")),Q(""),G(b.id),aa(null),ac(null),ag(null),S(b.name),U(b.description??""),W((0,C.normalizeVisibility)(b.visibility)),await E.invalidateQueries({queryKey:["templates"]})}}),aW=(0,d.useMutation)({mutationFn:async()=>{if(!F)throw Error("Template is required");let a={templateId:F,filePath:X.trim(),content:Z,editorEpoch:ad.current};await (0,B.updateTemplate)(F,{name:R.trim(),description:T.trim(),visibility:V});try{await (0,B.updateTemplateFile)(a.templateId,a.filePath,a.content)}catch(a){throw new L(a instanceof Error?a.message:String(a))}return a},onSuccess:async b=>{aA(a("templates.saved")),ae.current.templateId===b.templateId&&ad.current===b.editorEpoch&&(aa(b.content),ac(b.filePath)),await E.invalidateQueries({queryKey:["templates"]}),await E.invalidateQueries({queryKey:["template",b.templateId]});let c=ae.current;if(c.templateId!==b.templateId||c.epoch===b.editorEpoch)return;let d=await E.fetchQuery({queryKey:["template",b.templateId],queryFn:()=>(0,B.getTemplate)(b.templateId),staleTime:0});if(ae.current.templateId!==c.templateId||ad.current!==c.epoch)return;let e=d.template.files?.find(a=>a.filePath===c.filePath);e&&aa(e.content)},onError:b=>{b instanceof L&&A.toast.error(a("templates.saveFileFailed"))}}),aX=(0,d.useMutation)({mutationFn:B.deleteTemplate,onSuccess:async()=>{aA(a("templates.deleted")),G(null),await E.invalidateQueries({queryKey:["templates"]})}}),aY=(0,d.useMutation)({mutationFn:a=>(0,B.exportTemplate)(a),onSuccess:({templatePackage:b})=>{am(JSON.stringify(b,null,2)),aA(a("templates.exported"))}}),aZ=(0,d.useMutation)({mutationFn:()=>{let b;try{b=JSON.parse(al)}catch{throw Error(a("templates.importInvalidJson"))}return(0,B.importTemplate)(b)},onSuccess:async({template:b})=>{aA(a("templates.imported")),G(b.id),aa(null),ac(null),ag(null),S(b.name),U(b.description??""),W((0,C.normalizeVisibility)(b.visibility)),am(""),await E.invalidateQueries({queryKey:["templates"]})}}),a$=(0,d.useMutation)({mutationFn:B.installCatalogTemplate,onSuccess:async({template:b})=>{aA(a("templates.catalogInstalled")),G(b.id),aa(null),ac(null),ag(null),S(b.name),U(b.description??""),W((0,C.normalizeVisibility)(b.visibility)),await E.invalidateQueries({queryKey:["templates"]})}}),a_=(0,d.useMutation)({mutationFn:()=>{let a={url:ar.trim()},b=at.trim();b&&(a.branch=b);let c=av.trim();c&&(a.name=c);let d=ax.trim();return d&&(a.description=d),(0,B.importTemplateFromGit)(a)},onSuccess:async b=>{aA(a("templates.gitImported")),as(""),au(""),aw(""),ay(""),G(b.templateId),aa(null),ac(null),ag(null),S(b.name),U(""),W("private"),await E.invalidateQueries({queryKey:["templates"]})}}),a0=(0,d.useMutation)({mutationFn:({templateId:a,versionId:b})=>(0,B.restoreTemplateVersion)(a,b),onSuccess:async({template:b})=>{let c=b.files?.[0];aA(a("templates.restored")),S(b.name),U(b.description??""),W((0,C.normalizeVisibility)(b.visibility)),c&&(ad.current++,Y(c.filePath),$(c.content),aa(c.content),ac(c.filePath)),await E.invalidateQueries({queryKey:["templates"]}),await E.invalidateQueries({queryKey:["template",F]}),await E.invalidateQueries({queryKey:["template",F,"versions"]})}});function a1(){return!!aQ&&(Z!==_||X.trim()!==ab||R.trim()!==(aQ.name??"")||T.trim()!==(aQ.description??"")||V!==(0,C.normalizeVisibility)(aQ.visibility))}function a2(a){ad.current++;let b=aJ.find(b=>b.id===a);G(a),S(b?.name??""),U(b?.description??""),W((0,C.normalizeVisibility)(b?.visibility)),Y(J),$(""),aa(null),ac(null),ag(null),am(""),aA(null)}(0,c.useEffect)(()=>{if(!F||!aS||af===F)return;ad.current++;let a=aS.template.files?.[0];Y(a?.filePath??J),$(a?.content??""),aa(a?a.content:""),ac(a?.filePath??J),ag(F)},[F,aS,af]);let a3=aR||aW.isPending||null===_||!a1(),a4=aU.error??aV.error??(aW.error instanceof L?null:aW.error)??aX.error??aY.error??aZ.error??a$.error??a_.error??a0.error;return(0,b.jsxs)("div",{className:"space-y-6 p-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:a("templates.title")}),(0,b.jsx)("p",{className:"mt-1 text-muted-foreground",children:a("templates.subtitle")})]}),az&&(0,b.jsx)("div",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-700 dark:text-emerald-300",children:az}),a4 instanceof Error&&(0,b.jsx)("div",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:a4.message}),(0,b.jsxs)("div",{className:"grid gap-4 lg:grid-cols-[340px_minmax(0,1fr)]",children:[(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)(u.Card,{children:[(0,b.jsx)(u.CardHeader,{children:(0,b.jsxs)(u.CardTitle,{className:"flex items-center gap-2 text-base",children:[(0,b.jsx)(n.Plus,{className:"size-4"}),a("templates.createCustom")]})}),(0,b.jsx)(u.CardContent,{children:(0,b.jsxs)("form",{className:"space-y-3",onSubmit:a=>{a.preventDefault(),aU.mutate()},children:[(0,b.jsx)(x.Label,{htmlFor:"new-template-name",children:a("common.name")}),(0,b.jsx)(w.Input,{id:"new-template-name",value:H,onChange:a=>M(a.target.value),required:!0}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{children:a("common.visibility")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:C.visibilityOptions.map(c=>(0,b.jsx)(t.Button,{type:"button",size:"sm",variant:N===c?"default":"outline",onClick:()=>O(c),children:a((0,C.visibilityLabelKey)(c))},c))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a((0,C.visibilityDescriptionKey)(N))})]}),(0,b.jsxs)(t.Button,{type:"submit",className:"w-full",disabled:aU.isPending,children:[(0,b.jsx)(n.Plus,{className:"size-4"}),aU.isPending?a("templates.creating"):a("templates.createCustom")]})]})})]}),(0,b.jsxs)(u.Card,{children:[(0,b.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between gap-2 px-6 pt-6 text-left outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50",onClick:()=>ao(a=>!a),"aria-expanded":an,"aria-label":a("templates.catalogInstall"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(m,{className:"size-4"}),(0,b.jsx)("span",{className:"text-base font-semibold",children:a("templates.catalogInstall")})]}),(0,b.jsx)(g.ChevronDown,{className:`size-4 shrink-0 text-muted-foreground transition-transform ${an?"rotate-180":""}`})]}),(0,b.jsxs)(u.CardContent,{className:"space-y-2 pt-4",children:[(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:a("templates.catalogInstallDescription")}),an&&(0===aP.length?(0,b.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:a("templates.catalogEmpty")}):aP.map(c=>(0,b.jsxs)("div",{className:"rounded-md border bg-background p-3",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"truncate text-sm font-medium",children:c.name}),(0,b.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",children:[c.sourceId," · ",c.version??"1.0.0"]})]}),(0,b.jsxs)(t.Button,{type:"button",size:"sm",variant:"outline",disabled:a$.isPending,onClick:()=>a$.mutate(c.id),children:[(0,b.jsx)(m,{className:"size-3"}),a$.isPending?a("templates.installing"):a("templates.install")]})]}),c.description&&(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:c.description})]},c.id)))]})]}),(0,b.jsxs)(u.Card,{children:[(0,b.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between gap-2 px-6 pt-6 text-left outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50",onClick:()=>aq(a=>!a),"aria-expanded":ap,"aria-label":a("templates.gitImport"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(k.GitBranch,{className:"size-4"}),(0,b.jsx)("span",{className:"text-base font-semibold",children:a("templates.gitImport")})]}),(0,b.jsx)(g.ChevronDown,{className:`size-4 shrink-0 text-muted-foreground transition-transform ${ap?"rotate-180":""}`})]}),(0,b.jsxs)(u.CardContent,{className:"space-y-2 pt-4",children:[(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:a("templates.gitImportDescription")}),ap&&(0,b.jsxs)("form",{className:"space-y-3",onSubmit:a=>{a.preventDefault(),a_.mutate()},children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{htmlFor:"git-import-url",children:a("templates.gitImportUrl")}),(0,b.jsx)(w.Input,{id:"git-import-url",value:ar,onChange:a=>as(a.target.value),placeholder:"https://github.com/your-org/ai-cli-config",required:!0})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{htmlFor:"git-import-branch",children:a("templates.gitImportBranch")}),(0,b.jsx)(w.Input,{id:"git-import-branch",value:at,onChange:a=>au(a.target.value),placeholder:"main"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{htmlFor:"git-import-name",children:a("common.name")}),(0,b.jsx)(w.Input,{id:"git-import-name",value:av,onChange:a=>aw(a.target.value)})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{htmlFor:"git-import-description",children:a("common.description")}),(0,b.jsx)(w.Input,{id:"git-import-description",value:ax,onChange:a=>ay(a.target.value)})]}),(0,b.jsxs)(t.Button,{type:"submit",className:"w-full",disabled:!ar.trim()||a_.isPending,children:[(0,b.jsx)(k.GitBranch,{className:"size-4"}),a_.isPending?a("templates.gitImporting"):a("templates.gitImport")]})]})]})]}),(0,b.jsxs)(u.Card,{children:[(0,b.jsxs)(u.CardHeader,{children:[(0,b.jsx)(u.CardTitle,{className:"text-base",children:a("templates.available")}),(0,b.jsx)(u.CardDescription,{children:a("templates.availableDescription")})]}),(0,b.jsxs)(u.CardContent,{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap gap-2 pb-2",children:[(0,b.jsx)(t.Button,{type:"button",size:"sm",variant:"all"===aj?"default":"outline",onClick:()=>ak("all"),children:a("visibility.all")}),C.visibilityOptions.map(c=>(0,b.jsx)(t.Button,{type:"button",size:"sm",variant:aj===c?"default":"outline",onClick:()=>ak(c),children:a((0,C.visibilityLabelKey)(c))},c))]}),(0,b.jsx)(y.QueryState,{isLoading:aC,isError:aD,isEmpty:0===aK.length,onRetry:()=>void aE(),loading:(0,b.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:a("templates.loading")}),empty:(0,b.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:a("templates.emptyTitle")}),children:(0,b.jsxs)("div",{className:"space-y-3",children:[aL.length>0&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,b.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:a("templates.governedTitle")}),(0,b.jsx)(s.Badge,{variant:"secondary",children:aL.length})]}),aL.map(a=>aN(a))]}),aM.length>0&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,b.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:a("templates.seedTitle")}),(0,b.jsx)(s.Badge,{variant:"secondary",children:aM.length})]}),aM.map(a=>aN(a))]})]})})]})]}),(0,b.jsxs)(u.Card,{children:[(0,b.jsxs)(u.CardHeader,{children:[(0,b.jsx)(u.CardTitle,{className:"text-base",children:a("templates.importExport")}),(0,b.jsx)(u.CardDescription,{children:a("templates.importExportDescription")})]}),(0,b.jsxs)(u.CardContent,{className:"space-y-3",children:[(0,b.jsx)(x.Label,{htmlFor:"template-package",children:a("templates.packageJson")}),(0,b.jsx)("textarea",{id:"template-package",className:"min-h-40 w-full rounded-md border border-input bg-background p-3 font-mono text-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",value:al,onChange:a=>am(a.target.value)}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,b.jsxs)(t.Button,{type:"button",variant:"outline",disabled:!F||aY.isPending,onClick:()=>F&&aY.mutate(F),children:[(0,b.jsx)(i.Download,{className:"size-4"}),a("templates.export")]}),(0,b.jsxs)(t.Button,{type:"button",variant:"outline",disabled:!al.trim(),onClick:function(){let a=al.trim();if(!a)return;let b=new Blob([a],{type:"application/json"}),c=URL.createObjectURL(b),d=document.createElement("a");d.href=c,d.download=`${aQ?.name??"template"}.json`,d.click(),URL.revokeObjectURL(c)},children:[(0,b.jsx)(i.Download,{className:"size-4"}),a("templates.download")]}),(0,b.jsxs)(t.Button,{type:"button",className:"col-span-2",disabled:!al.trim()||aZ.isPending,onClick:()=>aZ.mutate(),children:[(0,b.jsx)(r,{className:"size-4"}),a("templates.import")]})]})]})]})]}),(0,b.jsxs)(u.Card,{children:[(0,b.jsx)(u.CardHeader,{children:(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)(u.CardTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(j.FileCode2,{className:"size-5"}),aQ?.name??a("templates.selectTemplate")]}),(0,b.jsx)(u.CardDescription,{children:a("templates.editorDescription")})]}),aQ&&(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(w.Input,{className:"h-8 w-48",value:P,onChange:a=>Q(a.target.value),placeholder:a("templates.cloneName")}),(0,b.jsxs)(t.Button,{size:"sm",variant:"outline",onClick:()=>aV.mutate(aQ.id),disabled:aV.isPending,children:[(0,b.jsx)(h.Copy,{className:"size-4"}),a("templates.clone")]})]})]})}),(0,b.jsx)(u.CardContent,{children:aQ?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(I,{templateId:aQ.id}),(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{htmlFor:"template-name",children:a("common.name")}),(0,b.jsx)(w.Input,{id:"template-name",value:R,onChange:a=>S(a.target.value),disabled:aR})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{htmlFor:"template-description",children:a("common.description")}),(0,b.jsx)(w.Input,{id:"template-description",value:T,onChange:a=>U(a.target.value),disabled:aR})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{children:a("common.visibility")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:C.visibilityOptions.map(c=>(0,b.jsx)(t.Button,{type:"button",size:"sm",variant:V===c?"default":"outline",disabled:aR,onClick:()=>W(c),children:a((0,C.visibilityLabelKey)(c))},c))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a((0,C.visibilityDescriptionKey)(V))})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-end gap-2",children:[(0,b.jsxs)("div",{className:"flex-1 space-y-2",children:[(0,b.jsx)(x.Label,{htmlFor:"template-file",children:a("templates.filePath")}),(0,b.jsx)(w.Input,{id:"template-file",value:X,onChange:a=>Y(a.target.value),disabled:aR})]}),(0,b.jsx)(t.Button,{type:"button",variant:"outline",onClick:function(){let a=aS?.template.files?.find(a=>a.filePath===X)??aS?.template.files?.[0];a&&(ad.current++,Y(a.filePath),$(a.content),aa(a.content),ac(a.filePath))},children:a("templates.loadFile")})]}),(0,b.jsx)("textarea",{className:"min-h-80 w-full rounded-md border border-input bg-background p-3 font-mono text-sm outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",value:Z,onChange:a=>$(a.target.value),disabled:aR,placeholder:a("templates.fileContent")})]}),(0,b.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,b.jsxs)(t.Button,{variant:"ghost",className:"text-destructive",disabled:aR||aX.isPending,onClick:()=>{aQ&&aG(aQ)},children:[(0,b.jsx)(q.Trash2,{className:"size-4"}),a("common.delete")]}),(0,b.jsxs)(t.Button,{disabled:a3,onClick:()=>aW.mutate(),children:[(0,b.jsx)(p.Save,{className:"size-4"}),aW.isPending?a("templates.saving"):a("templates.save")]})]}),!aR&&(0,b.jsxs)("div",{className:"rounded-md border bg-muted/20 p-3",children:[(0,b.jsx)("h3",{className:"text-sm font-medium",children:a("templates.versionHistory")}),0===(aT?.versions??[]).length?(0,b.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:a("templates.noVersions")}):(0,b.jsx)("div",{className:"mt-3 space-y-2",children:aT?.versions.map(c=>(0,b.jsxs)("div",{className:"rounded-md border bg-background p-2 text-sm",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"font-medium",children:c.name}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(s.Badge,{variant:"outline",children:c.version}),(0,b.jsxs)(t.Button,{type:"button",size:"sm",variant:"outline",disabled:!F||a0.isPending,onClick:()=>{aQ&&aI({template:aQ,versionId:c.id,version:c.version})},children:[(0,b.jsx)(o.RotateCcw,{className:"size-3"}),a0.isPending?a("templates.restoring"):a("templates.restore")]})]})]}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[c.action," · ",new Date(c.createdAt).toLocaleString(l)]})]},c.id))})]})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 text-center text-sm text-muted-foreground",children:[(0,b.jsx)(j.FileCode2,{className:"mb-4 size-10"}),a("templates.selectTemplate")]})})]})]}),(0,b.jsx)(v.Dialog,{open:null!==ah,onOpenChange:a=>{a||ai(null)},children:(0,b.jsxs)(v.DialogContent,{className:"sm:max-w-md",children:[(0,b.jsxs)(v.DialogHeader,{children:[(0,b.jsx)(v.DialogTitle,{className:"text-base",children:a("templates.discardChangesTitle")}),(0,b.jsx)(v.DialogDescription,{children:a("templates.discardChangesDescription")})]}),(0,b.jsxs)(v.DialogFooter,{children:[(0,b.jsx)(t.Button,{type:"button",variant:"outline",onClick:()=>ai(null),children:a("common.cancel")}),(0,b.jsx)(t.Button,{type:"button",variant:"destructive",onClick:function(){ai(null),ah&&a2(ah)},children:a("templates.discardChangesConfirm")})]})]})}),(0,b.jsx)(z.ConfirmDialog,{open:null!==aF,destructive:!0,pending:aX.isPending,title:a("templates.deleteConfirmTitle"),description:aF?[a("templates.deleteConfirmNamed").replace("{name}",aF.name),(aF.usageCount??0)>0?a("templates.deleteInUseWarning").replace("{count}",String(aF.usageCount)):""].filter(Boolean).join(" "):"",confirmLabel:a("common.delete"),onOpenChange:a=>{a||aG(null)},onConfirm:()=>{aF&&aX.mutate(aF.id),aG(null)}}),(0,b.jsx)(z.ConfirmDialog,{open:null!==aH,pending:a0.isPending,title:a("templates.restoreConfirmTitle"),description:aH?a("templates.restoreConfirmNamed").replace("{name}",aH.template.name).replace("{version}",aH.version):"",onOpenChange:a=>{a||aI(null)},onConfirm:()=>{aH&&a0.mutate({templateId:aH.template.id,versionId:aH.versionId}),aI(null)}})]})}],88625)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_web_src_app_%28dashboard%29_templates_page_tsx_0.s32f~._.js.map
|