forgebadger 0.1.1 → 0.1.3
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/native-directory-picker.js +42 -12
- package/dist/gateway/src/services/native-directory-picker.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/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/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/0vu012c_~rsq2.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/112uoiiyc.o-i.js +1 -0
- 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 → RJQQaO6wuaTxGJ_LVnGhM}/_buildManifest.js +0 -0
- /package/dist/web/standalone/packages/web/.next/static/{lcO9z98BJ26kFzrqXH-ot → RJQQaO6wuaTxGJ_LVnGhM}/_clientMiddlewareManifest.js +0 -0
- /package/dist/web/standalone/packages/web/.next/static/{lcO9z98BJ26kFzrqXH-ot → RJQQaO6wuaTxGJ_LVnGhM}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,88845,39237,e=>{"use strict";var t=e.i(66499),r=e.i(79923),a=e.i(85426),s=e.i(78717),n=e.i(6270),i=e.i(47849),l=e.i(80078),o=e.i(60218),d=e.i(12603),c=e.i(35887),u=e.i(47721);let m=(0,r.createContext)({canEdit:!1,canManage:!1,legacySessions:!1});function p(){return(0,r.useContext)(m)}var x=e.i(65458);let g=["planned","running","waiting_for_review","blocked","completed","cancelled"];var j=e.i(66068),h=e.i(62918),b=e.i(81622),v=e.i(17854),f=e.i(88010),k=e.i(555);function y({goal:e,t:r,draft:a,error:s,isEditing:n,isSaving:i,onCancel:l,onDraftChange:c,onEdit:u,onSave:m}){let{canEdit:x,canManage:g,legacySessions:N}=p(),w=g??x;return n&&w?(0,t.jsxs)(d.Card,{children:[(0,t.jsx)(d.CardHeader,{children:(0,t.jsxs)(d.CardTitle,{className:"flex items-center gap-2 text-sm font-semibold",children:[(0,t.jsx)(j.Target,{className:"size-4 text-brand"}),r("projects.projectManagerGoal")]})}),(0,t.jsxs)(d.CardContent,{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-goal-summary",children:r("projects.projectManagerGoalSummary")}),(0,t.jsx)(b.Input,{id:"project-manager-goal-summary",value:a.summary,"aria-invalid":!!s&&0===a.summary.trim().length,disabled:i,onChange:e=>c({...a,summary:e.target.value})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-goal-constraints",children:r("projects.projectManagerConstraints")}),(0,t.jsx)(f.Textarea,{id:"project-manager-goal-constraints",value:a.constraintsText,disabled:i,placeholder:r("projects.projectManagerTextListHint"),onChange:e=>c({...a,constraintsText:e.target.value})}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:r("projects.projectManagerTextListHint")})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-goal-acceptance",children:r("projects.projectManagerAcceptanceCriteria")}),(0,t.jsx)(f.Textarea,{id:"project-manager-goal-acceptance",value:a.acceptanceCriteriaText,disabled:i,placeholder:r("projects.projectManagerTextListHint"),onChange:e=>c({...a,acceptanceCriteriaText:e.target.value})}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:r("projects.projectManagerTextListHint")})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-goal-status",children:r("projects.projectManagerGoalStatus")}),(0,t.jsx)(b.Input,{id:"project-manager-goal-status",value:a.status,disabled:i,onChange:e=>c({...a,status:e.target.value})})]}),s&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:s}),(0,t.jsxs)("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",children:[(0,t.jsx)(o.Button,{variant:"outline",onClick:l,disabled:i,children:r("projects.projectManagerCancel")}),(0,t.jsx)(o.Button,{variant:"brand",onClick:m,disabled:i,children:r("projects.projectManagerSaveGoal")})]})]})]}):e?(0,t.jsx)(d.Card,{children:(0,t.jsxs)(d.CardContent,{className:"flex flex-col gap-3 py-3 lg:flex-row lg:items-center lg:gap-4",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,t.jsx)("div",{className:"flex size-8 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,t.jsx)(j.Target,{className:"size-4"})}),(0,t.jsx)("p",{className:"min-w-0 flex-1 truncate text-sm font-medium",title:e.summary,children:e.summary})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(h.Badge,{variant:"secondary",children:(0,k.statusLabel)(e.status,r)}),(0,t.jsxs)("span",{className:"rounded border border-border/70 bg-muted/20 px-2 py-0.5 text-xs text-muted-foreground",children:[r("projects.projectManagerConstraints")," · ",e.constraints.length]}),(0,t.jsxs)("span",{className:"rounded border border-border/70 bg-muted/20 px-2 py-0.5 text-xs text-muted-foreground",children:[r("projects.projectManagerAcceptanceCriteria")," · ",e.acceptanceCriteria.length]}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:[r("projects.projectManagerUpdated"),": ",(0,k.formatTimestamp)(e.updatedAt)]}),(0,t.jsx)(o.Button,{size:"sm",variant:"outline",disabled:!w,onClick:u,children:r("projects.projectManagerEditGoal")})]})]})}):(0,t.jsx)(d.Card,{children:(0,t.jsxs)(d.CardContent,{className:"flex flex-col gap-3 py-4 sm:flex-row sm:items-center sm:justify-between",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,t.jsx)("div",{className:"flex size-8 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,t.jsx)(j.Target,{className:"size-4"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:r("projects.projectManagerNoGoalTitle")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:r("projects.projectManagerNoGoalBody")})]})]}),(0,t.jsx)(o.Button,{size:"sm",variant:"brand",className:"shrink-0",disabled:!w,onClick:u,children:r("projects.projectManagerEditGoal")})]})})}var N=e.i(24967),w=e.i(34558),M=e.i(20553),C=e.i(52860),S=e.i(65174);let I=(0,S.default)("Layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);var T=e.i(88068),P=e.i(30373),E=e.i(83736),D=e.i(7329),L=e.i(29288),B=e.i(34487),R=e.i(9988),q=e.i(17955);function F({label:e,value:r}){return(0,t.jsxs)("div",{className:"rounded-md border border-border/70 bg-background/40 px-2 py-2",children:[(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"mt-1 break-all font-mono text-xs tabular-nums",children:r})]})}function z({title:e,body:r,icon:a}){return(0,t.jsxs)("div",{className:"flex flex-col items-center gap-3 py-10 text-center",children:[a?(0,t.jsx)("div",{className:"flex size-10 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,t.jsx)(a,{className:"size-5"})}):null,(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:e}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:r})]})]})}function W({label:e,value:r}){return(0,t.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2",children:[(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"mt-1 font-mono text-sm tabular-nums",children:r})]})}let Q="backlog",A="lane:";function K(e){return"string"==typeof e&&e.startsWith(A)?e.slice(A.length):null}function U({isFetching:e,links:s,onViewDetails:i,projectId:c,stages:m,t:x,taskPackets:g,workItems:j}){let{canEdit:h,canManage:b,legacySessions:v}=p(),f=(0,n.useQueryClient)(),[y,w]=(0,r.useState)(!1),[M,S]=(0,r.useState)({name:"",description:""}),[T,P]=(0,r.useState)(null),[E,B]=(0,r.useState)(null),[q,F]=(0,r.useState)(""),[W,A]=(0,r.useState)(null),[O,H]=(0,r.useState)(null),[G,J]=(0,r.useState)(null),[Z,X]=(0,r.useState)(null),[Y,ee]=(0,r.useState)(null),[et,er]=(0,r.useState)(null),[ea,es]=(0,r.useState)(null),en=(0,r.useRef)(null),ei=(0,N.useSensors)((0,N.useSensor)(N.PointerSensor,{activationConstraint:{distance:6}}),(0,N.useSensor)(N.KeyboardSensor));(0,r.useEffect)(()=>()=>{null!==en.current&&window.clearTimeout(en.current)},[]);let el=async()=>{await f.invalidateQueries({queryKey:["project-manager",c]})},eo=e=>(0,k.projectManagerMutationMessage)(e,x("projects.projectManagerStageMutationError")),ed=(0,a.useMutation)({mutationFn:e=>(0,u.createProjectManagerStage)(c,e),onSuccess:async()=>{P(null),w(!1),S({name:"",description:""}),await el()},onError:e=>P(eo(e))}),ec=(0,a.useMutation)({mutationFn:()=>(0,u.seedProjectManagerStageTemplate)(c),onSuccess:async()=>{X(null),await el()},onError:e=>X(eo(e))}),eu=(0,a.useMutation)({mutationFn:({name:e,stageId:t})=>(0,u.updateProjectManagerStage)(c,t,{name:e}),onSuccess:async()=>{A(null),B(null),await el()},onError:e=>A(eo(e))}),em=(0,a.useMutation)({mutationFn:e=>(0,u.deleteProjectManagerStage)(c,e),onSuccess:async()=>{J(null),H(null),await el()},onError:e=>J(eo(e))}),ep=(0,a.useMutation)({mutationFn:e=>(0,u.reorderProjectManagerStages)(c,e),onSuccess:async()=>{X(null),await el()},onError:e=>X(eo(e))}),ex=(0,a.useMutation)({mutationFn:({stageId:e,workItemId:t})=>(0,u.updateProjectManagerWorkItem)(c,t,{stageId:e,expectedRevision:j.find(e=>e.id===t)?.revision}),onSuccess:async(e,t)=>{X(null),ee(t.stageId??Q),null!==en.current&&window.clearTimeout(en.current),en.current=window.setTimeout(()=>ee(null),1200),await el()},onError:e=>X(eo(e))}),eg=(0,r.useMemo)(()=>{let e=new Map;for(let t of g)t.sessionLink&&e.set(t.workItemId,t.sessionLink);return e},[g]),ej=(0,r.useMemo)(()=>{let e=new Map,t=new Map;for(let r of s)e.set(r.blockedWorkItemId,(e.get(r.blockedWorkItemId)??0)+1),t.set(r.blockerWorkItemId,(t.get(r.blockerWorkItemId)??0)+1);return{blockedBy:e,blocking:t}},[s]),eh=!(b??h)||ed.isPending||ec.isPending||ep.isPending,eb=(e,t)=>{if(!(b??h))return;let r=m.map(e=>e.id),a=r.indexOf(e.id),s=a+t;if(a<0||s<0||s>=r.length)return;let n=[...r],i=n[a],l=n[s];void 0!==i&&void 0!==l&&(n[a]=l,n[s]=i,X(null),ep.mutate(n))},ev=(e,t)=>{h&&(X(null),ex.mutate({stageId:t,workItemId:e.id}))},ef=et?j.find(e=>e.id===et)??null:null,ek=()=>{er(null),es(null)};return(0,t.jsxs)(d.Card,{"data-testid":"project-manager-stages-card",children:[(0,t.jsxs)(d.CardHeader,{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)(d.CardTitle,{className:"flex items-center gap-2 text-sm font-semibold",children:[(0,t.jsx)(I,{className:"size-4 text-brand"}),x("projects.projectManagerPipelineTitle"),(0,t.jsx)("span",{className:"rounded border border-border/70 bg-muted/20 px-1.5 py-0.5 font-mono text-xs text-muted-foreground tabular-nums",children:m.length}),e&&(0,t.jsx)(l.RefreshCw,{className:"size-3 animate-spin text-muted-foreground"})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:x("projects.projectManagerPipelineDescription")})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[0===m.length&&(0,t.jsxs)(o.Button,{size:"sm",variant:"brand",onClick:()=>{X(null),ec.mutate()},disabled:eh,children:[(0,t.jsx)(L.Sparkles,{className:"mr-2 size-4"}),x("projects.projectManagerStageSeedTemplate")]}),(0,t.jsxs)(o.Button,{size:"sm",variant:"outline",onClick:()=>{P(null),S({name:"",description:""}),w(!0)},disabled:eh,children:[(0,t.jsx)(D.Plus,{className:"mr-2 size-4"}),x("projects.projectManagerStageCreate")]})]})]}),(0,t.jsxs)(d.CardContent,{className:"space-y-3",children:[Z&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:Z}),0===m.length?(0,t.jsx)(z,{title:x("projects.projectManagerStageEmptyTitle"),body:x("projects.projectManagerStageEmptyBody"),icon:I}):(0,t.jsxs)(N.DndContext,{sensors:ei,onDragStart:e=>{er(String(e.active.id)),es(null)},onDragOver:e=>{es(K(e.over?.id))},onDragEnd:e=>{let t=K(e.over?.id),r=j.find(t=>t.id===String(e.active.id))??null;if(ek(),!t||!r)return;let a=t===Q?null:t;a!==r.stageId&&ev(r,a)},onDragCancel:ek,children:[(0,t.jsxs)("div",{className:"flex items-stretch gap-2 overflow-x-auto pb-1",children:[(0,t.jsx)(_,{dependencyCounts:ej,highlighted:Y===Q||ea===Q,items:j.filter(e=>null===e.stageId),movePending:!h||ex.isPending,onMoveWorkItem:ev,onViewDetails:i,sessionByWorkItemId:eg,stages:m,t:x,title:x("projects.projectManagerStageBacklog")}),m.map((e,a)=>(0,t.jsxs)(r.Fragment,{children:[(0,t.jsx)(C.ChevronRight,{className:"mt-8 size-4 shrink-0 self-start text-muted-foreground/50","aria-hidden":!0}),(0,t.jsx)(_,{dependencyCounts:ej,highlighted:Y===e.id||ea===e.id,items:j.filter(t=>t.stageId===e.id),movePending:!h||ex.isPending,onDelete:()=>{(b??h)&&(J(null),H(e))},onMove:a>0?()=>eb(e,-1):void 0,onMoveBack:a<m.length-1?()=>eb(e,1):void 0,onMoveWorkItem:ev,onRename:()=>{(b??h)&&(A(null),F(e.name),B(e))},onViewDetails:i,sessionByWorkItemId:eg,stage:e,stages:m,t:x,title:e.name})]},e.id))]}),(0,t.jsx)(N.DragOverlay,{dropAnimation:null,children:ef?(0,t.jsx)(V,{item:ef,t:x}):null})]})]}),(0,t.jsx)($,{description:M.description,error:T,isSaving:ed.isPending,name:M.name,onDescriptionChange:e=>S(t=>({...t,description:e})),onNameChange:e=>S(t=>({...t,name:e})),onOpenChange:e=>{e||(w(!1),P(null))},onSave:()=>{let e=M.name.trim();if(!e)return void P(x("projects.projectManagerStageNameRequired"));P(null);let t=M.description.trim();ed.mutate({name:e,...t?{description:t}:{}})},open:y,t:x,title:x("projects.projectManagerStageCreate")}),(0,t.jsx)($,{description:"",error:W,isSaving:eu.isPending,name:q,onNameChange:F,onOpenChange:e=>{e||(B(null),A(null))},onSave:()=>{if(!E)return;let e=q.trim();e?(A(null),eu.mutate({name:e,stageId:E.id})):A(x("projects.projectManagerStageNameRequired"))},open:!!E,t:x,title:x("projects.projectManagerStageRename")}),(0,t.jsx)(R.Dialog,{open:!!O,onOpenChange:e=>{e||(H(null),J(null))},children:(0,t.jsxs)(R.DialogContent,{children:[(0,t.jsxs)(R.DialogHeader,{children:[(0,t.jsx)(R.DialogTitle,{children:x("projects.projectManagerStageDelete")}),(0,t.jsx)(R.DialogDescription,{children:x("projects.projectManagerStageDeleteConfirm")})]}),O&&(0,t.jsx)("p",{className:"text-sm font-medium",children:O.name}),G&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:G}),(0,t.jsxs)(R.DialogFooter,{children:[(0,t.jsx)(o.Button,{variant:"outline",onClick:()=>H(null),disabled:em.isPending,children:x("common.cancel")}),(0,t.jsx)(o.Button,{variant:"destructive",onClick:()=>O&&em.mutate(O.id),disabled:em.isPending,children:x("common.delete")})]})]})})]})}function _({dependencyCounts:e,highlighted:r,items:a,movePending:s,onDelete:n,onMove:i,onMoveBack:l,onMoveWorkItem:d,onRename:c,onViewDetails:u,sessionByWorkItemId:m,stage:g,stages:j,t:b,title:v}){var f;let{canManage:y,canEdit:C}=p(),S=g?g.id:Q,{setNodeRef:I}=(0,N.useDroppable)({id:`${A}${S}`});return(0,t.jsxs)("section",{ref:I,className:(0,x.cn)("flex w-72 shrink-0 flex-col rounded-md border border-border/70 bg-background/40",r&&"forgebadger-lane-drop-highlight"),"data-testid":g?`project-manager-stage-lane-${g.id}`:"project-manager-stage-lane-backlog",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-border/70 px-3 py-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)("span",{className:(0,x.cn)("size-2 shrink-0 rounded-full",(f=g?.status)?"active"===f?"bg-brand forgebadger-pulse-dot":"completed"===f?"bg-emerald-500":"bg-muted-foreground/40":"bg-muted-foreground/60"),"aria-hidden":!0}),(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:v}),(0,t.jsx)("span",{className:"font-mono text-xs text-muted-foreground tabular-nums",children:a.length}),g&&"active"!==g.status&&(0,t.jsx)(h.Badge,{variant:"outline",children:(0,k.stageStatusLabel)(g.status,b)})]}),g&&(c||n)&&(0,t.jsxs)(q.DropdownMenu,{children:[(0,t.jsx)(q.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)(o.Button,{disabled:!(y??C),size:"xs",variant:"ghost","aria-label":v,children:(0,t.jsx)(P.MoreHorizontal,{className:"size-4"})})}),(0,t.jsxs)(q.DropdownMenuContent,{align:"end",children:[c&&(0,t.jsxs)(q.DropdownMenuItem,{onClick:c,children:[(0,t.jsx)(E.Pencil,{className:"mr-2 size-3"}),b("projects.projectManagerStageRename")]}),i&&(0,t.jsxs)(q.DropdownMenuItem,{onClick:i,children:[(0,t.jsx)(w.ArrowLeft,{className:"mr-2 size-3"}),b("projects.projectManagerStageMoveLeft")]}),l&&(0,t.jsxs)(q.DropdownMenuItem,{onClick:l,children:[(0,t.jsx)(M.ArrowRight,{className:"mr-2 size-3"}),b("projects.projectManagerStageMoveRight")]}),n&&(0,t.jsxs)(q.DropdownMenuItem,{onClick:n,className:"text-destructive",children:[(0,t.jsx)(B.Trash2,{className:"mr-2 size-3"}),b("projects.projectManagerStageDelete")]})]})]})]}),(0,t.jsx)("div",{className:"flex max-h-96 flex-col gap-2 overflow-y-auto p-2",children:0===a.length?(0,t.jsx)("div",{className:"rounded-md border border-dashed border-border/70 px-3 py-6 text-center text-xs text-muted-foreground",children:b("projects.projectManagerStageLaneEmpty")}):a.map((r,a)=>(0,t.jsx)(O,{dependencyCounts:e,index:a,item:r,movePending:s,onMoveWorkItem:d,onViewDetails:u,sessionLink:m.get(r.id)??null,stages:j,t:b},r.id))})]})}function O({dependencyCounts:e,index:r,item:a,movePending:s,onMoveWorkItem:n,onViewDetails:i,sessionLink:l,stages:o,t:d}){let c=e.blockedBy.get(a.id)??0,u=e.blocking.get(a.id)??0,{attributes:m,isDragging:p,listeners:g,setNodeRef:j}=(0,N.useDraggable)({id:a.id,disabled:s});return(0,t.jsxs)("article",{ref:j,className:(0,x.cn)("forgebadger-animate-in rounded-md border border-border/70 bg-muted/10 p-3 shadow-xs transition-colors hover:border-border",p&&"opacity-40"),style:{animationDelay:`${40*r}ms`},"data-testid":`project-manager-stage-item-${a.id}`,...m,...g,children:[(0,t.jsx)("button",{type:"button",className:"w-full break-words text-left text-sm font-medium leading-5 transition-colors hover:text-brand",onClick:()=>i(a),children:a.title}),(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(h.Badge,{variant:(0,k.statusBadgeVariant)(a.status),className:(0,k.statusBadgeClassName)(a.status),children:(0,k.statusLabel)(a.status,d)}),c>0&&(0,t.jsxs)(h.Badge,{variant:"destructive",children:[d("projects.projectManagerDependencyBlockedBy"),": ",c]}),u>0&&(0,t.jsxs)(h.Badge,{variant:"secondary",children:[d("projects.projectManagerDependencyBlocking"),": ",u]}),l&&(0,t.jsxs)("a",{className:"inline-flex items-center gap-1 rounded border border-border/70 px-1.5 py-0.5 text-xs text-brand transition-colors hover:border-brand/40 hover:underline",href:l.href,children:[(0,t.jsx)(T.Link2,{className:"size-3"}),d("projects.projectManagerLinkedSession")]})]}),(0,t.jsx)("div",{className:"mt-2",children:(0,t.jsxs)("select",{"aria-label":d("projects.projectManagerStageAssign"),className:"h-8 w-full rounded-md border border-input bg-transparent px-2 text-xs shadow-xs outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 dark:bg-input/30",value:a.stageId??"",disabled:s,onChange:e=>n(a,e.target.value||null),children:[(0,t.jsx)("option",{value:"",children:d("projects.projectManagerStageBacklog")}),o.map(e=>(0,t.jsx)("option",{value:e.id,children:e.name},e.id))]})})]})}function V({item:e,t:r}){return(0,t.jsxs)("div",{className:"w-72 rotate-2 cursor-grabbing rounded-md border border-brand/50 bg-card p-3 opacity-90 shadow-lg","data-testid":`project-manager-stage-item-drag-preview-${e.id}`,children:[(0,t.jsx)("div",{className:"break-words text-sm font-medium leading-5",children:e.title}),(0,t.jsx)("div",{className:"mt-2",children:(0,t.jsx)(h.Badge,{variant:(0,k.statusBadgeVariant)(e.status),className:(0,k.statusBadgeClassName)(e.status),children:(0,k.statusLabel)(e.status,r)})})]})}function $({description:e,error:r,isSaving:a,name:s,onDescriptionChange:n,onNameChange:i,onOpenChange:l,onSave:d,open:c,t:u,title:m}){return(0,t.jsx)(R.Dialog,{open:c,onOpenChange:l,children:(0,t.jsxs)(R.DialogContent,{children:[(0,t.jsx)(R.DialogHeader,{children:(0,t.jsx)(R.DialogTitle,{children:m})}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-stage-name",children:u("projects.projectManagerStageName")}),(0,t.jsx)(b.Input,{id:"project-manager-stage-name",value:s,"aria-invalid":!!r&&0===s.trim().length,disabled:a,onChange:e=>i(e.target.value)})]}),n&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-stage-description",children:u("projects.projectManagerStageDescription")}),(0,t.jsx)(f.Textarea,{id:"project-manager-stage-description",value:e??"",disabled:a,onChange:e=>n(e.target.value)})]}),r&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:r})]}),(0,t.jsxs)(R.DialogFooter,{children:[(0,t.jsx)(o.Button,{variant:"outline",onClick:()=>l(!1),disabled:a,children:u("common.cancel")}),(0,t.jsx)(o.Button,{variant:"brand",onClick:d,disabled:a,children:u("common.save")})]})]})})}function H({item:e,projectId:s,stages:i,t:l}){let{canEdit:o,legacySessions:d}=p(),c=(0,n.useQueryClient)(),[m,x]=(0,r.useState)(null),g=(0,a.useMutation)({mutationFn:t=>(0,u.updateProjectManagerWorkItem)(s,e.id,{stageId:t,expectedRevision:e.revision}),onSuccess:async()=>{x(null),await c.invalidateQueries({queryKey:["project-manager",s]})},onError:e=>x((0,k.projectManagerMutationMessage)(e,l("projects.projectManagerStageMutationError")))});return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("select",{"aria-label":l("projects.projectManagerStageAssign"),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-60",value:e.stageId??"",disabled:!o||g.isPending,onChange:e=>g.mutate(e.target.value||null),children:[(0,t.jsx)("option",{value:"",children:l("projects.projectManagerStageBacklog")}),i.map(e=>(0,t.jsx)("option",{value:e.id,children:e.name},e.id))]}),m&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:m})]})}let G=(0,S.default)("CircleArrowRight",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"m12 16 4-4-4-4",key:"1i9zcv"}]]);var J=e.i(25964),Z=e.i(25936),X=e.i(80809);let Y=(0,S.default)("Flag",[["path",{d:"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z",key:"i9b6wo"}],["line",{x1:"4",x2:"4",y1:"22",y2:"15",key:"1cm3nv"}]]);var ee=e.i(2082);let et=(0,S.default)("ListChecks",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]);var er=e.i(81314),ea=e.i(44269);let es=(0,S.default)("Table2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]);var en=e.i(90280),ei=e.i(46131);function el({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,t.jsx)("table",{"data-slot":"table",className:(0,x.cn)("w-full caption-bottom text-sm",e),...r})})}function eo({className:e,...r}){return(0,t.jsx)("thead",{"data-slot":"table-header",className:(0,x.cn)("[&_tr]:border-b",e),...r})}function ed({className:e,...r}){return(0,t.jsx)("tbody",{"data-slot":"table-body",className:(0,x.cn)("[&_tr:last-child]:border-0",e),...r})}function ec({className:e,...r}){return(0,t.jsx)("tr",{"data-slot":"table-row",className:(0,x.cn)("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",e),...r})}function eu({className:e,...r}){return(0,t.jsx)("th",{"data-slot":"table-head",className:(0,x.cn)("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...r})}function em({className:e,...r}){return(0,t.jsx)("td",{"data-slot":"table-cell",className:(0,x.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...r})}var ep=e.i(19178);function ex(e,t){return!t||e.title.toLowerCase().includes(t)}let eg="board-column:";function ej(e){if("string"!=typeof e||!e.startsWith(eg))return null;let t=e.slice(eg.length);return ep.WORK_ITEM_STATUSES.includes(t)?t:null}function eh({batchStatusError:e,batchStatusPending:a,batchTargetOptions:s,batchTargetStatus:n,highlightedWorkItemId:i,isFetching:l,onBatchStatusSubmit:c,onBatchTargetStatusChange:u,onClearSelection:m,onCreate:x,onDelete:g,onEdit:j,onQuickStart:h,onStatusFilterChange:v,onStatusChange:f,onToggleSelection:y,onViewDetails:N,onViewModeChange:w,quickStartError:M,quickStartPendingWorkItemId:C,selectedWorkItemIds:S,statusError:I,statusFilter:T,statusMutationPending:P,tableWorkItems:E,taskPackets:L,taskPacketsError:B,taskPacketsFetching:R,viewMode:q,workItems:F,t:W}){let{canEdit:Q,legacySessions:A}=p(),[K,U]=(0,r.useState)(""),_=K.trim().toLowerCase(),O=(0,r.useMemo)(()=>F.filter(e=>ex(e,_)),[F,_]),V=(0,r.useMemo)(()=>E.filter(e=>ex(e,_)),[E,_]),$=(0,r.useMemo)(()=>new Map(L.map(e=>[e.workItemId,e])),[L]),H=("all"!==T||_.length>0)&&0===V.length,G=S.filter(e=>F.some(t=>t.id===e)).length;return(0,t.jsxs)(d.Card,{children:[(0,t.jsxs)(d.CardHeader,{className:"space-y-3",children:[(0,t.jsxs)(d.CardTitle,{className:"flex items-center gap-2 text-sm font-semibold",children:[(0,t.jsx)(J.ClipboardList,{className:"size-4 text-brand"}),W("projects.projectManagerWorkItems"),(0,t.jsx)("span",{className:"rounded border border-border/70 bg-muted/20 px-1.5 py-0.5 font-mono text-xs text-muted-foreground tabular-nums",children:F.length})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2 lg:flex-row lg:items-center",children:[(0,t.jsxs)("div",{className:"inline-flex w-fit rounded-md border border-border/70 bg-muted/20 p-1",children:[(0,t.jsxs)(o.Button,{size:"sm",variant:"board"===q?"brand":"ghost","aria-pressed":"board"===q,onClick:()=>w("board"),children:[(0,t.jsx)(ee.LayoutDashboard,{className:"mr-2 size-4"}),W("projects.projectManagerBoard")]}),(0,t.jsxs)(o.Button,{size:"sm",variant:"table"===q?"brand":"ghost","aria-pressed":"table"===q,onClick:()=>w("table"),children:[(0,t.jsx)(es,{className:"mr-2 size-4"}),W("projects.projectManagerTable")]}),(0,t.jsxs)(o.Button,{size:"sm",variant:"queue"===q?"brand":"ghost","aria-pressed":"queue"===q,onClick:()=>w("queue"),children:[(0,t.jsx)(et,{className:"mr-2 size-4"}),W("projects.projectManagerTaskQueue")]})]}),(0,t.jsxs)("div",{className:"relative lg:flex-1",children:[(0,t.jsx)(ea.Search,{className:"pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(b.Input,{value:K,onChange:e=>U(e.target.value),placeholder:W("projects.projectManagerSearchPlaceholder"),"aria-label":W("projects.projectManagerSearchPlaceholder"),className:"h-9 pl-8"})]}),(0,t.jsxs)(ei.Select,{value:T,onValueChange:e=>v(e),disabled:l,children:[(0,t.jsx)(ei.SelectTrigger,{"aria-label":W("projects.projectManagerFilterByStatus"),className:"w-full lg:w-44",children:(0,t.jsx)(ei.SelectValue,{})}),(0,t.jsxs)(ei.SelectContent,{children:[(0,t.jsx)(ei.SelectItem,{value:"all",children:W("projects.projectManagerAllStatuses")}),ep.WORK_ITEM_STATUSES.map(e=>(0,t.jsx)(ei.SelectItem,{value:e,children:(0,k.statusLabel)(e,W)},e))]})]}),(0,t.jsxs)(o.Button,{size:"sm",variant:"brand",disabled:!Q,onClick:x,children:[(0,t.jsx)(D.Plus,{className:"mr-2 size-4"}),W("projects.projectManagerCreateWorkItem")]})]})]}),(0,t.jsxs)(d.CardContent,{className:"space-y-3",children:[I&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:I}),e&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:e}),M&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:M}),0===F.length?(0,t.jsx)(z,{title:H?W("projects.projectManagerFilterEmptyTitle"):W("projects.projectManagerNoWorkItemsTitle"),body:H?W("projects.projectManagerFilterEmptyBody"):W("projects.projectManagerNoWorkItemsBody"),icon:J.ClipboardList}):"board"===q?(0,t.jsx)(eb,{batchStatusPending:a,highlightedWorkItemId:i,onDelete:g,onEdit:j,onQuickStart:h,onStatusChange:f,onToggleSelection:y,onViewDetails:N,quickStartPendingWorkItemId:C,selectedWorkItemIds:S,statusMutationPending:P,t:W,taskPacketByWorkItemId:$,workItems:O}):"table"===q?0===V.length?(0,t.jsx)(z,{title:W("projects.projectManagerFilterEmptyTitle"),body:W("projects.projectManagerFilterEmptyBody"),icon:J.ClipboardList}):(0,t.jsx)(ey,{highlightedWorkItemId:i,onQuickStart:h,onStatusChange:f,onViewDetails:N,quickStartPendingWorkItemId:C,statusMutationPending:P,t:W,taskPacketByWorkItemId:$,workItems:V}):(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:W("projects.projectManagerTaskQueueDescription")}),(0,t.jsx)(eN,{error:B,highlightedWorkItemId:i,isFetching:R,onQuickStart:h,onViewDetails:N,quickStartPendingWorkItemId:C,t:W,taskPackets:L,workItems:F})]})]}),G>0&&(0,t.jsxs)("div",{className:"forgebadger-slide-up-toolbar fixed bottom-6 left-1/2 z-40 flex max-w-[calc(100vw-2rem)] flex-wrap items-center gap-3 rounded-lg border border-border bg-card px-4 py-3 shadow-lg","data-testid":"project-manager-batch-toolbar",children:[(0,t.jsxs)("span",{className:"text-sm font-medium",children:[W("projects.projectManagerSelected"),": ",G]}),(0,t.jsxs)(ei.Select,{value:n||void 0,onValueChange:e=>u(e),disabled:!Q||a||0===s.length,children:[(0,t.jsx)(ei.SelectTrigger,{size:"sm","aria-label":W("projects.projectManagerBatchTargetStatus"),className:"min-w-44",children:(0,t.jsx)(ei.SelectValue,{placeholder:W("projects.projectManagerBatchTargetStatus")})}),(0,t.jsx)(ei.SelectContent,{children:s.map(e=>(0,t.jsx)(ei.SelectItem,{value:e,children:(0,k.statusLabel)(e,W)},e))})]}),0===s.length&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:W("projects.projectManagerNoBatchTargets")}),(0,t.jsx)(o.Button,{size:"sm",variant:"brand",onClick:c,disabled:!Q||a||!n,children:W("projects.projectManagerMoveSelected")}),(0,t.jsx)(o.Button,{size:"sm",variant:"outline",onClick:m,disabled:a,children:W("projects.projectManagerClearSelection")})]})]})}function eb({batchStatusPending:e,highlightedWorkItemId:a,onDelete:s,onEdit:n,onQuickStart:i,onStatusChange:l,onToggleSelection:o,onViewDetails:d,quickStartPendingWorkItemId:c,selectedWorkItemIds:u,statusMutationPending:m,t:p,taskPacketByWorkItemId:x,workItems:g}){let[j,h]=(0,r.useState)(null),[b,v]=(0,r.useState)(null),f=(0,N.useSensors)((0,N.useSensor)(N.PointerSensor,{activationConstraint:{distance:6}}),(0,N.useSensor)(N.KeyboardSensor)),k=j?g.find(e=>e.id===j)??null:null,y=(e,t)=>e&&t&&t!==e.status&&ep.PROJECT_MANAGER_STATUS_TRANSITIONS[e.status].includes(t)?t:null,w=()=>{h(null),v(null)};return(0,t.jsx)("div",{className:"space-y-3","data-testid":"project-manager-board",children:(0,t.jsxs)(N.DndContext,{sensors:f,onDragStart:e=>{h(String(e.active.id)),v(null)},onDragOver:e=>{v(y(g.find(t=>t.id===String(e.active.id))??null,ej(e.over?.id)))},onDragEnd:e=>{let t=g.find(t=>t.id===String(e.active.id))??null,r=y(t,ej(e.over?.id));w(),t&&r&&l(t,r)},onDragCancel:w,children:[(0,t.jsx)("div",{className:"grid gap-3 lg:grid-cols-2 2xl:grid-cols-3",children:ep.WORK_ITEM_STATUSES.map(r=>{let j=g.filter(e=>e.status===r);return(0,t.jsx)(ev,{highlighted:b===r,itemCount:j.length,status:r,t:p,children:0===j.length?(0,t.jsx)("div",{className:"rounded-md border border-dashed border-border/70 px-3 py-6 text-center text-xs text-muted-foreground",children:p("projects.projectManagerBoardEmptyColumn")}):j.map((r,g)=>(0,t.jsx)(ef,{highlighted:r.id===a,index:g,isStarting:c===r.id,item:r,onDelete:s,onEdit:n,onQuickStart:i,onStatusChange:l,onToggleSelection:o,onViewDetails:d,selected:u.includes(r.id),statusMutationPending:m||e,t:p,taskPacket:x.get(r.id)??null},r.id))},r)})}),(0,t.jsx)(N.DragOverlay,{dropAnimation:null,children:k?(0,t.jsx)(ek,{item:k,t:p}):null})]})})}function ev({children:e,highlighted:r,itemCount:a,status:s,t:n}){let{setNodeRef:i}=(0,N.useDroppable)({id:`${eg}${s}`});return(0,t.jsxs)("section",{ref:i,className:(0,x.cn)("min-h-56 rounded-md border border-border/70 bg-background/40",r&&"forgebadger-lane-drop-highlight"),"data-testid":`project-manager-board-column-${s}`,children:[(0,t.jsx)("div",{className:"flex items-center justify-between border-b border-border/70 px-3 py-2",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:(0,x.cn)("size-2 rounded-full",(0,k.statusDotClassName)(s)),"aria-hidden":!0}),(0,t.jsx)("span",{className:"text-xs font-medium",children:(0,k.statusLabel)(s,n)}),(0,t.jsx)("span",{className:"font-mono text-xs text-muted-foreground tabular-nums",children:a})]})}),(0,t.jsx)("div",{className:"flex flex-col gap-2 p-2",children:e})]})}function ef({highlighted:e,index:r,isStarting:a,item:s,onDelete:n,onEdit:i,onQuickStart:l,onStatusChange:d,onToggleSelection:c,onViewDetails:u,selected:m,statusMutationPending:g,t:j,taskPacket:b}){let{canEdit:v,legacySessions:f}=p(),y=(0,k.priorityLevel)(s.priority),{attributes:w,isDragging:M,listeners:C,setNodeRef:S}=(0,N.useDraggable)({id:s.id,disabled:g||!v});return(0,t.jsxs)("article",{ref:S,className:(0,x.cn)("forgebadger-animate-in rounded-md border border-border/70 bg-muted/10 p-3 shadow-xs transition-colors hover:border-border",e&&"border-brand/50 bg-brand/5",m&&"ring-2 ring-brand/40",M&&"opacity-40"),style:{animationDelay:`${40*r}ms`},"data-testid":`project-manager-board-card-${s.id}`,...w,...C,children:[(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(en.Checkbox,{className:"mt-1",disabled:!v,checked:m,"aria-label":j("projects.projectManagerSelectWorkItem"),onCheckedChange:e=>c(s,!0===e)}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"break-words text-sm font-medium leading-5",children:s.title}),s.description&&(0,t.jsx)("p",{className:"mt-1 line-clamp-2 break-words text-xs leading-5 text-muted-foreground",children:s.description})]}),(0,t.jsxs)("span",{className:(0,x.cn)("inline-flex shrink-0 items-center gap-1 text-xs",(0,k.priorityClassName)(y)),title:`${j((0,k.priorityLabelKey)(y))} \xb7 ${s.priority}`,children:[(0,t.jsx)(Y,{className:"size-3.5"}),(0,t.jsx)("span",{className:"font-mono tabular-nums",children:s.priority})]})]}),(0,t.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:(0,t.jsxs)(h.Badge,{variant:"outline",children:[j("projects.projectManagerEvidenceRefs"),": ",s.evidenceRefCount]})}),(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,t.jsx)(eM,{isStarting:a,item:s,onQuickStart:l,size:"xs",t:j,taskPacket:b}),(0,t.jsxs)(o.Button,{size:"xs",variant:"outline",onClick:()=>u(s),children:[(0,t.jsx)(X.Eye,{className:"mr-1 size-3"}),j("projects.projectManagerViewDetails")]}),(0,t.jsxs)(o.Button,{size:"xs",variant:"outline",disabled:!v,onClick:()=>i(s),children:[(0,t.jsx)(E.Pencil,{className:"mr-1 size-3"}),j("projects.projectManagerEditWorkItem")]}),(0,t.jsxs)(o.Button,{size:"xs",variant:"destructive",disabled:!v,onClick:()=>n(s),children:[(0,t.jsx)(B.Trash2,{className:"mr-1 size-3"}),j("projects.projectManagerDeleteWorkItem")]}),(0,t.jsx)(eC,{disabled:g,item:s,onStatusChange:d,t:j,size:"xs"})]})]})}function ek({item:e,t:r}){let a=(0,k.priorityLevel)(e.priority);return(0,t.jsxs)("div",{className:"w-64 rotate-2 cursor-grabbing rounded-md border border-brand/50 bg-card p-3 opacity-90 shadow-lg","data-testid":`project-manager-board-card-drag-preview-${e.id}`,children:[(0,t.jsx)("div",{className:"break-words text-sm font-medium leading-5",children:e.title}),(0,t.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-2",children:[(0,t.jsxs)(h.Badge,{variant:"outline",children:[r("projects.projectManagerEvidenceRefs"),": ",e.evidenceRefCount]}),(0,t.jsxs)("span",{className:(0,x.cn)("inline-flex items-center gap-1 text-xs",(0,k.priorityClassName)(a)),children:[(0,t.jsx)(Y,{className:"size-3.5"}),(0,t.jsx)("span",{className:"font-mono tabular-nums",children:e.priority})]})]})]})}function ey({highlightedWorkItemId:e,onQuickStart:r,onStatusChange:a,onViewDetails:s,quickStartPendingWorkItemId:n,statusMutationPending:i,taskPacketByWorkItemId:l,workItems:d,t:c}){return(0,t.jsxs)(el,{children:[(0,t.jsx)(eo,{children:(0,t.jsxs)(ec,{children:[(0,t.jsx)(eu,{children:c("common.name")}),(0,t.jsx)(eu,{children:c("common.status")}),(0,t.jsx)(eu,{children:c("projects.projectManagerPriority")}),(0,t.jsx)(eu,{children:c("projects.projectManagerEvidenceRefs")}),(0,t.jsx)(eu,{children:c("projects.projectManagerUpdated")}),(0,t.jsx)(eu,{className:"text-right",children:c("common.actions")})]})}),(0,t.jsx)(ed,{children:d.map(d=>(0,t.jsxs)(ec,{className:(0,x.cn)(d.id===e&&"border-brand/50 bg-brand/5"),children:[(0,t.jsx)(em,{className:"max-w-[240px] whitespace-normal break-words font-medium",children:d.title}),(0,t.jsx)(em,{children:(0,t.jsx)(h.Badge,{variant:(0,k.statusBadgeVariant)(d.status),className:(0,k.statusBadgeClassName)(d.status),children:(0,k.statusLabel)(d.status,c)})}),(0,t.jsx)(em,{className:"font-mono text-xs",children:d.priority}),(0,t.jsx)(em,{className:"font-mono text-xs tabular-nums",children:d.evidenceRefCount}),(0,t.jsx)(em,{className:"text-xs text-muted-foreground",children:(0,k.formatTimestamp)(d.updatedAt)}),(0,t.jsx)(em,{className:"text-right",children:(0,t.jsxs)("div",{className:"flex flex-col justify-end gap-2 sm:flex-row sm:items-center",children:[(0,t.jsx)(eM,{isStarting:n===d.id,item:d,onQuickStart:r,t:c,taskPacket:l.get(d.id)??null}),(0,t.jsxs)(o.Button,{size:"sm",variant:"outline",onClick:()=>s(d),children:[(0,t.jsx)(X.Eye,{className:"mr-2 size-4"}),c("projects.projectManagerViewDetails")]}),(0,t.jsx)(eC,{disabled:i,item:d,onStatusChange:a,t:c})]})})]},d.id))})]})}function eN({error:e,highlightedWorkItemId:a,isFetching:s,onQuickStart:n,onViewDetails:i,quickStartPendingWorkItemId:l,taskPackets:o,t:d,workItems:c}){let u=(0,r.useMemo)(()=>new Map(c.map(e=>[e.id,e])),[c]),m=(0,r.useMemo)(()=>(function(e){let t={planned:[],running:[],waiting_for_review:[],blocked:[],completed:[],cancelled:[]};for(let r of e)t[r.queueStatus].push(r);return t})(o),[o]);return e?(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:d("projects.projectManagerTaskQueueLoadError")}):s&&0===o.length?(0,t.jsx)("div",{className:"rounded-md border border-border/70 px-3 py-6 text-center text-sm text-muted-foreground",children:d("projects.projectManagerTaskQueueLoading")}):0===o.length?(0,t.jsx)(z,{title:d("projects.projectManagerTaskQueueEmptyTitle"),body:d("projects.projectManagerTaskQueueEmptyBody"),icon:et}):(0,t.jsxs)("div",{className:"space-y-3","data-testid":"project-manager-task-queue",children:[s&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:d("projects.projectManagerTaskQueueLoading")}),(0,t.jsx)("div",{className:"grid gap-3 lg:grid-cols-2 2xl:grid-cols-3",children:g.map(e=>{let r=m[e];return(0,t.jsxs)("section",{className:"min-h-56 rounded-md border border-border/70 bg-background/40","data-testid":`project-manager-task-queue-column-${e}`,children:[(0,t.jsx)("div",{className:"flex items-center justify-between border-b border-border/70 px-3 py-2",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(h.Badge,{variant:(0,k.taskPacketQueueBadgeVariant)(e),children:(0,k.taskPacketQueueStatusLabel)(e,d)}),(0,t.jsx)("span",{className:"font-mono text-xs text-muted-foreground tabular-nums",children:r.length})]})}),(0,t.jsx)("div",{className:"flex flex-col gap-2 p-2",children:0===r.length?(0,t.jsx)("div",{className:"rounded-md border border-dashed border-border/70 px-3 py-6 text-center text-xs text-muted-foreground",children:d("projects.projectManagerTaskQueueEmptyColumn")}):r.map(e=>(0,t.jsx)(ew,{highlighted:e.workItemId===a,isStarting:l===e.workItemId,onQuickStart:n,onViewDetails:i,t:d,taskPacket:e,workItem:u.get(e.workItemId)??null},e.id))})]},e)})})]})}function ew({highlighted:e,isStarting:r,onQuickStart:a,onViewDetails:s,taskPacket:n,t:i,workItem:l}){return(0,t.jsxs)("article",{className:(0,x.cn)("rounded-md border border-border/70 bg-muted/10 p-3 shadow-xs transition-colors hover:border-border",e&&"border-brand/50 bg-brand/5"),"data-testid":`project-manager-task-queue-card-${n.workItemId}`,children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(h.Badge,{variant:(0,k.statusBadgeVariant)(n.workItemStatus),children:(0,k.statusLabel)(n.workItemStatus,i)}),(0,t.jsx)(h.Badge,{variant:"outline",children:n.runtime.adapter}),(0,t.jsx)(h.Badge,{variant:"outline",children:n.runtime.templateId})]}),(0,t.jsx)("h3",{className:"mt-2 break-words text-sm font-medium leading-5",children:n.title}),(0,t.jsxs)("div",{className:"mt-3 grid gap-2 text-xs sm:grid-cols-2",children:[(0,t.jsx)(F,{label:i("projects.projectManagerAcceptanceCriteria"),value:n.acceptanceCriteria.length}),(0,t.jsx)(F,{label:i("projects.projectManagerTaskPacketExpectedVerification"),value:n.expectedVerification.length})]}),(0,t.jsxs)("div",{className:"mt-3 rounded-md border border-border/50 bg-background/40 px-2 py-2",children:[(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:i("projects.projectManagerTaskPacketLinkedSession")}),(0,t.jsx)("div",{className:"mt-1 break-all font-mono text-xs",children:n.sessionLink?`${n.sessionLink.sessionId} / ${n.sessionLink.status}`:i("projects.projectManagerTaskPacketBlockedNoSession")})]}),(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:(0,k.formatTimestamp)(n.updatedAt)}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[l&&(0,t.jsx)(eM,{isStarting:r,item:l,onQuickStart:a,size:"xs",t:i,taskPacket:n}),(0,t.jsxs)(o.Button,{size:"xs",variant:"outline",disabled:!l,onClick:()=>{l&&s(l)},children:[(0,t.jsx)(X.Eye,{className:"mr-1 size-3"}),i("projects.projectManagerViewDetails")]})]})]})]})}function eM({isStarting:e,item:r,onQuickStart:a,size:s="sm",taskPacket:n,t:i}){let{canEdit:l,legacySessions:d}=p();return d?n?.sessionLink?(0,t.jsxs)("a",{className:"inline-flex items-center self-center text-xs font-medium text-brand hover:underline",href:n.sessionLink.href,children:[(0,t.jsx)(Z.ExternalLink,{className:"mr-1 size-3"}),i("projects.projectManagerTaskPacketOpenSession")]}):n?(0,t.jsxs)(o.Button,{size:s,variant:"outline",disabled:e,onClick:()=>a(r),children:[(0,t.jsx)(er.Play,{className:"xs"===s?"mr-1 size-3":"mr-2 size-4"}),i(e?"projects.projectManagerTaskPacketStarting":"projects.projectManagerTaskPacketQuickStart")]}):null:null}function eC({disabled:e,item:r,onStatusChange:a,size:s="sm",t:n}){let{canEdit:i,legacySessions:l}=p(),d=ep.PROJECT_MANAGER_STATUS_TRANSITIONS[r.status];return 0===d.length?(0,t.jsx)("span",{className:"inline-flex h-9 items-center text-xs text-muted-foreground",children:"-"}):(0,t.jsxs)(q.DropdownMenu,{children:[(0,t.jsx)(q.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)(o.Button,{size:s,variant:"outline",disabled:e||!i,children:[(0,t.jsx)(G,{className:"xs"===s?"mr-1 size-3":"mr-2 size-4"}),n("projects.projectManagerChangeStatus")]})}),(0,t.jsx)(q.DropdownMenuContent,{align:"end",children:d.map(e=>(0,t.jsx)(q.DropdownMenuItem,{onSelect:()=>a(r,e),children:(0,k.statusLabel)(e,n)},e))})]})}var eS=e.i(19896),eI=e.i(41271),eT=e.i(74880),eP=e.i(6421);function eE({projectId:e,taskId:i,revision:l,canLink:d,actorId:u}){let{t:m}=(0,c.useLanguage)(),p=(0,n.useQueryClient)(),[x,g]=(0,r.useState)(""),[j,h]=(0,r.useState)(!1),b=(0,s.useQuery)({queryKey:["task-artifacts",e,i,u],queryFn:()=>eT.taskArtifactsApi.list(e,i)}),v=b.data?.candidates.find(e=>e.developmentTaskId===x),f=(0,a.useMutation)({mutationFn:async()=>{v&&j&&void 0!==l&&d&&await eT.taskArtifactsApi.link(e,i,{developmentTaskId:v.developmentTaskId,artifactDigest:v.artifactDigest,expectedTaskRevision:l,shareSummary:!0})},onSuccess:async()=>{g(""),h(!1),await p.invalidateQueries({queryKey:["task-artifacts",e,i]})}});return(0,t.jsxs)(eP.Panel,{title:m("task.artifacts"),children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:m("task.artifactHint")}),b.isPending?(0,t.jsx)("p",{role:"status",children:m("common.loading")}):b.isError?(0,t.jsx)(eP.ErrorNotice,{error:b.error,retry:()=>void b.refetch()}):(0,t.jsxs)(t.Fragment,{children:[b.data.artifacts.length?(0,t.jsx)("ul",{className:"space-y-3",children:b.data.artifacts.map(r=>(0,t.jsxs)("li",{className:"space-y-2 rounded-md border border-border/70 p-3 text-xs",children:[(0,t.jsxs)("p",{children:["Copilot · ",r.status]}),(0,t.jsx)("code",{className:"block break-all",children:r.artifactDigest}),(0,t.jsxs)("p",{children:[m("task.filesChecks"),": ",r.filesCount," / ",r.passedChecks," /"," ",r.checksCount]}),(0,t.jsx)("p",{children:m(r.current?"task.snapshotCurrent":"task.snapshotStale")}),r.canOpen&&(0,t.jsx)(eI.default,{className:"text-brand underline",href:`/copilot/tasks?${new URLSearchParams({projectId:e,taskId:r.developmentTaskId})}`,children:m("task.openPrivate")})]},r.id))}):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:m("task.noArtifacts")}),d&&(b.data.candidates.length?(0,t.jsxs)("form",{className:"space-y-3",onSubmit:e=>{e.preventDefault(),f.mutate()},children:[(0,t.jsx)(eP.Field,{label:m("task.artifactCandidate"),children:(0,t.jsxs)("select",{className:eP.inputClass,value:x,onChange:e=>{g(e.target.value),h(!1)},disabled:f.isPending,children:[(0,t.jsx)("option",{value:"",children:m("teams.select")}),b.data.candidates.map(e=>(0,t.jsxs)("option",{value:e.developmentTaskId,children:["Copilot · ",e.status," · ",e.developmentTaskId.slice(0,8)]},e.developmentTaskId))]})}),v&&(0,t.jsx)("code",{className:"block break-all text-xs",children:v.artifactDigest}),(0,t.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",checked:j,onChange:e=>h(e.target.checked),disabled:f.isPending}),m("task.shareSummary")]}),(0,t.jsx)(o.Button,{size:"sm",disabled:!v||!j||void 0===l||f.isPending,children:m("task.linkArtifact")})]}):(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:m("task.noCandidates")}))]}),(0,t.jsx)(eP.ErrorNotice,{error:f.error})]})}function eD({projectId:e,actorId:a,detail:n,editable:i}){let{t:l}=(0,c.useLanguage)(),d=(0,eP.useWorkspaceAction)(e),[u,m]=(0,r.useState)(""),[p,x]=(0,r.useState)(n.run.previewUrl??""),[g,j]=(0,r.useState)(n.run.prUrl??""),h=(0,s.useQuery)({queryKey:["collaboration",e,"run",n.run.id,"diff",a,n.git.commit,u],queryFn:()=>eS.collaborationApi.diff(e,n.run.id,u),enabled:!!u}),b=!!(p&&!(0,eS.safeWorkspaceUrl)(p)||g&&!(0,eS.safeWorkspaceUrl)(g));return(0,t.jsxs)("div",{className:"grid min-w-0 gap-4 xl:grid-cols-2",children:[(0,t.jsxs)(eP.Panel,{title:l("workspace.changes"),children:[0===n.git.files.length?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:l("workspace.noChanges")}):(0,t.jsx)("ul",{className:"max-h-48 overflow-auto",children:n.git.files.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{className:"flex w-full gap-2 rounded px-2 py-1 text-left font-mono text-xs hover:bg-muted",onClick:()=>m(e.path),"aria-pressed":u===e.path,children:[(0,t.jsx)("span",{children:e.status}),(0,t.jsx)("span",{className:"break-all",children:e.path})]})},e.path))}),h.isLoading&&(0,t.jsx)("p",{role:"status",children:l("common.loading")}),(0,t.jsx)(eP.ErrorNotice,{error:h.error,retry:()=>void h.refetch()}),h.data&&!h.isError&&(0,t.jsx)("pre",{className:"max-h-96 overflow-auto rounded-md border border-border/70 bg-background p-3 text-xs","aria-label":u,children:h.data.diff||l("workspace.noChanges")})]}),(0,t.jsxs)(eP.Panel,{title:l("workspace.preview"),children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:l("workspace.linksHint")}),(0,t.jsxs)("form",{className:"space-y-3",onSubmit:t=>{t.preventDefault(),b||d.mutate(()=>eS.collaborationApi.links(e,n.run.id,p||null,g||null))},children:[(0,t.jsx)(eP.Field,{label:l("workspace.preview"),children:(0,t.jsx)("input",{className:eP.inputClass,type:"url",maxLength:2048,value:p,disabled:!i,onChange:e=>x(e.target.value)})}),(0,t.jsx)(eP.Field,{label:l("workspace.pr"),children:(0,t.jsx)("input",{className:eP.inputClass,type:"url",maxLength:2048,value:g,disabled:!i,onChange:e=>j(e.target.value)})}),b&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:l("workspace.invalidUrl")}),(0,t.jsx)(eP.ErrorNotice,{error:d.error}),i&&(0,t.jsx)(o.Button,{size:"sm",disabled:b||d.isPending,children:l("common.save")})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-3 text-sm text-brand",children:[(0,eS.safeWorkspaceUrl)(n.run.previewUrl)&&(0,t.jsxs)("a",{href:(0,eS.safeWorkspaceUrl)(n.run.previewUrl),target:"_blank",rel:"noopener noreferrer",children:[l("workspace.preview")," ↗"]}),(0,eS.safeWorkspaceUrl)(n.run.prUrl)&&(0,t.jsxs)("a",{href:(0,eS.safeWorkspaceUrl)(n.run.prUrl),target:"_blank",rel:"noopener noreferrer",children:[l("workspace.pr")," ↗"]})]})]})]})}function eL({project:e,detail:a,actorId:s,reviewerId:n,team:i}){let{t:l}=(0,c.useLanguage)(),d=(0,eP.useWorkspaceAction)(e.id),[u,m]=(0,r.useState)(""),p=a.verifications.find(e=>"passed"===e.status&&!0===e.current&&e.commit===a.git.commit),x=a.verifications.find(e=>e.commit===a.git.commit),g=(0,eS.canReview)(e,s,a.run.actorId,i)&&(!n||n===s),j="ready"===a.run.state&&!a.git.dirty&&!a.git.conflicts?.length&&!a.git.error&&!a.run.operation;return(0,t.jsxs)(eP.Panel,{title:l("workspace.review"),children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:l("workspace.reviewHint")}),a.reviews.length?(0,t.jsx)("ul",{className:"space-y-2",children:a.reviews.map(e=>(0,t.jsxs)("li",{className:"rounded-md border border-border/70 p-3 text-sm",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(eP.WorkspaceStatus,{value:e.decision}),(0,t.jsx)("span",{children:e.actorLabel}),(0,t.jsx)("code",{className:"text-xs",children:e.commit.slice(0,12)})]}),(0,t.jsx)("p",{className:"mt-2 whitespace-pre-wrap break-words",children:e.note})]},e.id))}):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:l("workspace.noReviews")}),n&&n!==s&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:l("workspace.assignedReviewer")}),g&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(eP.Field,{label:l("workspace.reviewNote"),children:(0,t.jsx)("textarea",{maxLength:5e3,required:!0,className:eP.inputClass,value:u,onChange:e=>m(e.target.value)})}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(o.Button,{size:"sm",disabled:!j||!p||!u.trim()||d.isPending,onClick:()=>p&&d.mutate(()=>eS.collaborationApi.review(e.id,a.run.id,{expectedCommit:a.git.commit,verificationId:p.id,decision:"accepted",note:u.trim()})),children:l("workspace.accept")}),(0,t.jsx)(o.Button,{size:"sm",variant:"outline",disabled:!j||!x||!u.trim()||d.isPending,onClick:()=>x&&d.mutate(()=>eS.collaborationApi.review(e.id,a.run.id,{expectedCommit:a.git.commit,verificationId:x.id,decision:"changes_requested",note:u.trim()})),children:l("workspace.requestChanges")})]})]}),(0,t.jsx)(eP.ErrorNotice,{error:d.error})]})}function eB({detail:e}){let{t:r}=(0,c.useLanguage)(),{run:a}=e;return(0,t.jsxs)(eP.Panel,{title:r("workspace.verification"),children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:r("workspace.noVerification")}),e.verifications.length?(0,t.jsx)("ul",{className:"space-y-2",children:e.verifications.map(e=>(0,t.jsxs)("li",{className:"space-y-2 rounded-md border border-border/70 p-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(eP.WorkspaceStatus,{value:e.status}),"passed"===e.status&&!0!==e.current&&(0,t.jsx)("span",{className:"text-xs text-amber-500",children:r("ready"===a.state?"workspace.staleReceipt":"workspace.historicalReceipt")}),(0,t.jsx)("code",{className:"text-xs",children:e.commit.slice(0,12)})]}),(0,t.jsx)("pre",{className:"max-h-56 overflow-auto whitespace-pre-wrap break-words text-xs",children:e.summary}),"unknown"===e.status&&(0,t.jsx)("p",{className:"text-xs text-amber-500",children:r("workspace.unknownHint")})]},e.id))}):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:r("workspace.noReceipts")})]})}var eR=e.i(14698);function eq({project:e,detail:a,executor:s,onReconciled:n}){let{t:i}=(0,c.useLanguage)(),l=(0,eP.useWorkspaceAction)(e.id),[d,u]=(0,r.useState)(!1),[m,p]=(0,r.useState)(()=>crypto.randomUUID()),{run:x,git:g}=a,j=s&&e.managedExecution?.supported!==!1&&!x.operation&&["ready","closed","revoking"].includes(x.state)&&!!g.commit&&!g.error;return(0,t.jsxs)(eP.Panel,{title:i("delivery.git"),children:[!!g.conflicts?.length&&(0,t.jsxs)("div",{role:"alert",className:"space-y-2 rounded-md border border-amber-500/40 p-3",children:[(0,t.jsx)("p",{className:"text-sm",children:i("delivery.conflicts")}),(0,t.jsx)("ul",{className:"text-xs",children:g.conflicts.map(e=>(0,t.jsx)("li",{className:"break-all",children:e},e))})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:i("delivery.reconcileHint")}),s&&(0,t.jsx)(o.Button,{variant:"outline",size:"sm",disabled:!j||l.isPending,onClick:()=>u(!0),children:i("delivery.reconcile")}),d&&(0,t.jsxs)("div",{className:"space-y-3 rounded-md border border-border/70 p-3",children:[(0,t.jsx)("p",{className:"text-sm",children:i("delivery.reconcileConfirm")}),(0,t.jsx)("code",{className:"block break-all text-xs",children:g.commit}),(0,t.jsx)(o.Button,{size:"sm",disabled:!j||l.isPending,onClick:()=>l.mutate(async()=>{let t=await eS.collaborationApi.reconcile(e.id,x.id,g.commit,m);p(crypto.randomUUID()),u(!1),n(t.run.id)}),children:i("workspace.confirm")}),(0,t.jsx)(o.Button,{variant:"ghost",size:"sm",disabled:l.isPending,onClick:()=>u(!1),children:i("common.cancel")})]}),(0,t.jsx)(eP.ErrorNotice,{error:l.error}),s&&(0,t.jsx)(eF,{project:e,detail:a})]})}function eF({project:e,detail:a}){let{t:s}=(0,c.useLanguage)(),n=(0,eP.useWorkspaceAction)(e.id),[i,l]=(0,r.useState)(!1),[d,u]=(0,r.useState)(""),[m,p]=(0,r.useState)(a.run.branch),[x,g]=(0,r.useState)(""),[j,h]=(0,r.useState)(""),[b,v]=(0,r.useState)(""),[f,k]=(0,r.useState)(""),[y,N]=(0,r.useState)(!1),[w,M]=(0,r.useState)(""),C=a.verifications.find(e=>!0===e.current&&"passed"===e.status&&e.commit===a.git.commit),S=!!C&&"ready"===a.run.state&&!a.run.operation&&!a.git.dirty&&!a.git.error&&!a.git.conflicts?.length,I=(0,eS.secureCredentialTransport)((0,eR.getGatewayBaseUrl)(),location.href);return(0,t.jsxs)("div",{className:"space-y-3 border-t border-border pt-3",children:[(0,t.jsx)(o.Button,{size:"sm",variant:"outline",disabled:!S,onClick:()=>l(!0),children:s("delivery.draftPr")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:s("delivery.prHint")}),w&&(0,t.jsxs)("a",{className:"text-sm text-brand underline",target:"_blank",rel:"noopener noreferrer",href:w,children:[s("workspace.pr")," ↗"]}),i&&(0,t.jsxs)("form",{className:"space-y-3",onSubmit:t=>{t.preventDefault(),S&&I&&y&&C&&n.mutate(async()=>{try{let t=await eS.collaborationApi.pullRequest(e.id,a.run.id,{expectedCommit:a.git.commit,verificationId:C.id,repository:d.trim(),headBranch:m.trim(),baseBranch:x.trim(),title:j.trim(),body:b,token:f});M((0,eS.safeWorkspaceUrl)(t.pullRequest.url)??""),l(!1),N(!1)}finally{k("")}})},children:[(0,t.jsxs)("p",{className:"break-all text-xs",children:[s("workspace.commit"),": ",a.git.commit]}),(0,t.jsxs)("fieldset",{disabled:n.isPending,className:"space-y-3",children:[(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsx)(eP.Field,{label:s("delivery.repository"),children:(0,t.jsx)("input",{className:eP.inputClass,required:!0,value:d,onChange:e=>{u(e.target.value),N(!1)},placeholder:"owner/repo"})}),(0,t.jsx)(eP.Field,{label:s("delivery.head"),children:(0,t.jsx)("input",{className:eP.inputClass,required:!0,value:m,onChange:e=>{p(e.target.value),N(!1)}})}),(0,t.jsx)(eP.Field,{label:s("delivery.base"),children:(0,t.jsx)("input",{className:eP.inputClass,required:!0,value:x,onChange:e=>{g(e.target.value),N(!1)}})}),(0,t.jsx)(eP.Field,{label:s("delivery.title"),children:(0,t.jsx)("input",{className:eP.inputClass,required:!0,value:j,onChange:e=>h(e.target.value)})})]}),(0,t.jsx)(eP.Field,{label:s("common.description"),children:(0,t.jsx)("textarea",{className:eP.inputClass,value:b,onChange:e=>v(e.target.value)})}),(0,t.jsx)(eP.Field,{label:s("delivery.token"),children:(0,t.jsx)("input",{className:eP.inputClass,type:"password",autoComplete:"off",required:!0,value:f,onChange:e=>k(e.target.value),disabled:!I})}),!I&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:s("delivery.secure")}),(0,t.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",checked:y,onChange:e=>N(e.target.checked)}),s("delivery.confirmPr")]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(o.Button,{disabled:!S||!I||!y||!f||n.isPending,children:s("delivery.draftPr")}),(0,t.jsx)(o.Button,{type:"button",variant:"ghost",onClick:()=>{l(!1),k(""),N(!1)},children:s("common.cancel")})]})]})]}),(0,t.jsx)(eP.ErrorNotice,{error:n.error})]})}function ez({project:e,detail:a,executor:s,onRecovered:n}){let{t:i}=(0,c.useLanguage)(),l=(0,eP.useWorkspaceAction)(e.id),[d,u]=(0,r.useState)(null),[m,p]=(0,r.useState)(()=>crypto.randomUUID()),[x,g]=(0,r.useState)(null),{run:j,git:h}=a,b="ready"===j.state,v=s&&(0,eS.hasCapability)(e,"closeOwnRun")||(0,eS.hasCapability)(e,"manage"),f=a.verifications.find(e=>"passed"===e.status&&!0===e.current&&e.commit===h.commit),k=a.reviews[0],y=!!(f&&k?.decision==="accepted"&&k.commit===h.commit&&k.verificationId===f.id);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(eP.Panel,{title:i("common.actions"),children:[(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,eS.hasCapability)(e,"manage")&&(0,t.jsx)(o.Button,{size:"sm",disabled:!!j.operation||!b||!y||h.dirty||!!h.conflicts?.length||!!h.error||l.isPending,onClick:()=>u("integrate"),children:i("workspace.integrate")}),s&&(0,t.jsx)(o.Button,{size:"sm",variant:"outline",disabled:l.isPending||["provisioning","revoking"].includes(j.state)||!e.executionEnabled||e.managedExecution?.supported===!1,onClick:()=>u("recover"),children:i("workspace.recover")}),v&&(0,t.jsx)(o.Button,{size:"sm",variant:"outline",disabled:l.isPending||"closed"===j.state,onClick:()=>u("close"),children:i("workspace.close")}),(0,t.jsx)(o.Button,{size:"sm",variant:"outline",disabled:l.isPending,onClick:()=>l.mutate(async()=>{let t=await eS.collaborationApi.handoff(e.id,j.id);g(t.markdown);let r=new Blob([t.markdown],{type:"text/markdown;charset=utf-8"}),a=URL.createObjectURL(r),s=document.createElement("a");s.href=a,s.download=`handoff-${j.id}.md`,s.click(),setTimeout(()=>URL.revokeObjectURL(a),1e3)}),children:i("workspace.handoff")})]}),d&&(0,t.jsxs)("div",{role:"group","aria-label":i(`workspace.${d}`),className:"space-y-3 rounded-md border border-border/70 p-3",children:[(0,t.jsx)("p",{className:"text-sm",children:i(`workspace.${d}Hint`)}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(o.Button,{size:"sm",disabled:l.isPending||"recover"===d&&e.managedExecution?.supported===!1,onClick:()=>{d&&l.mutate(async()=>{if("recover"===d){let t=await eS.collaborationApi.recover(e.id,j.id,m);p(crypto.randomUUID()),n(t.run.id)}else"integrate"===d?await eS.collaborationApi.integrate(e.id,j.id,h.commit):await eS.collaborationApi.close(e.id,j.id);u(null)})},children:i("workspace.confirm")}),(0,t.jsx)(o.Button,{size:"sm",variant:"ghost",disabled:l.isPending,onClick:()=>u(null),children:i("workspace.cancel")})]})]}),x&&(0,t.jsx)("pre",{"aria-label":i("workspace.handoffText"),className:"max-h-96 overflow-auto whitespace-pre-wrap break-words rounded-md border border-border/70 p-3 text-xs",children:x})]}),(0,t.jsx)(eP.ErrorNotice,{error:l.error})]})}function eW({project:e,runId:r,actorId:a,team:n,reviewerId:i,onRecovered:l}){let{t:d}=(0,c.useLanguage)(),u=(0,s.useQuery)({queryKey:["collaboration",e.id,"run",r,a],queryFn:()=>eS.collaborationApi.run(e.id,r),refetchInterval:e=>e.state.data?.run.state==="provisioning"||e.state.data?.run.operation||e.state.data?.verifications.some(e=>"running"===e.status)?3e3:15e3});if(u.isLoading)return(0,t.jsx)("p",{role:"status",children:d("common.loading")});if(u.isError)return(0,t.jsx)(eP.ErrorNotice,{error:u.error,retry:()=>void u.refetch()});if(!u.data)return null;let m=u.data,{run:p,git:x}=m,g=a===p.actorId,j=(0,eS.canDevelop)(e)&&g,h="ready"===p.state;return(0,t.jsxs)("div",{className:"min-w-0 space-y-4 border-t border-border pt-4",children:[(0,t.jsxs)("header",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,t.jsx)(eP.WorkspaceStatus,{value:p.state}),(0,t.jsx)("span",{className:"text-sm",children:p.actorLabel}),(0,t.jsx)("code",{className:"break-all text-xs text-muted-foreground",children:p.branch})]}),(0,t.jsx)(o.Button,{size:"sm",variant:"outline",onClick:()=>void u.refetch(),children:d("workspace.refresh")})]}),p.error&&(0,t.jsx)(eP.ErrorNotice,{error:p.error}),p.operation&&(0,t.jsxs)("p",{role:"status",className:"rounded-md border border-amber-500/40 p-3 text-sm",children:[d("interrupted"===p.operation.phase?"workspace.operationInterrupted":"workspace.operationActive")," ",d("workspace.operationRecoveryHint")]}),x.error&&(0,t.jsx)(eP.ErrorNotice,{error:d("workspace.unavailable")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:d("workspace.privateHint")}),p.sessionId&&j&&!p.operation&&(0,t.jsx)(o.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsx)(eI.default,{href:`/sessions/${p.sessionId}`,children:d("workspace.terminal")})}),(0,t.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,t.jsxs)("p",{children:[d("workspace.commit"),":"," ",(0,t.jsx)("code",{className:"break-all",children:x.commit||"—"})]}),!x.error&&(0,t.jsx)("p",{className:x.dirty?"text-amber-500":"text-muted-foreground",children:d(x.dirty?"workspace.dirty":"workspace.clean")})]}),(0,t.jsx)(eD,{projectId:e.id,actorId:a,detail:m,editable:j&&h},`${p.id}:${p.previewUrl}:${p.prUrl}`),(0,t.jsx)(eB,{detail:m}),(0,t.jsx)(eL,{project:e,detail:m,actorId:a,reviewerId:i,team:n}),(0,t.jsx)(eq,{project:e,detail:m,executor:j,onReconciled:l}),(0,t.jsx)(ez,{project:e,detail:m,executor:j,onRecovered:l})]})}function eQ({detail:e,taskId:a,actorId:n}){let{t:i}=(0,c.useLanguage)(),{project:l}=e,d=(0,eP.useWorkspaceAction)(l.id),[m,p]=(0,r.useState)(""),[x,g]=(0,r.useState)("claude"),[j,h]=(0,r.useState)(()=>crypto.randomUUID()),[b,v]=(0,r.useState)(null),f=(0,s.useQuery)({queryKey:["collaboration",l.id,"task",a,n],queryFn:()=>eS.collaborationApi.task(l.id,a)});if(f.isLoading)return(0,t.jsx)("p",{role:"status",children:i("common.loading")});if(f.isError)return(0,t.jsx)(eP.ErrorNotice,{error:f.error,retry:()=>void f.refetch()});if(!f.data)return null;let{task:k,comments:y,runs:N}=f.data,w=(0,eS.canDevelop)(l),M=b??N[0]?.id;return(0,t.jsxs)("div",{className:"min-w-0 space-y-4",children:[(l.executionEnabled||N.length>0)&&(0,t.jsxs)(eP.Panel,{title:i("workspace.runs"),children:[l.managedExecution?.supported===!1&&(0,t.jsx)("p",{role:"status",className:"rounded-md border border-amber-500/40 p-3 text-sm",children:i("workspace.runtimeUpgrade")}),w&&(0,t.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,t.jsx)(eP.Field,{label:i("common.aiTool"),children:(0,t.jsx)("select",{className:eP.inputClass,value:x,disabled:d.isPending,onChange:e=>{g(e.target.value),h(crypto.randomUUID())},children:u.runtimeAdapterIds.map(e=>(0,t.jsx)("option",{value:e,children:e},e))})}),(0,t.jsx)(o.Button,{size:"sm",disabled:!l.executionEnabled||l.managedExecution?.supported===!1||!!(k.assigneeId&&k.assigneeId!==n)||d.isPending,onClick:()=>d.mutate(async()=>{v((await eS.collaborationApi.prepare(l.id,k.id,x,j)).run.id),h(crypto.randomUUID())}),children:i("workspace.prepare")})]}),w&&k.assigneeId&&k.assigneeId!==n&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:i("workspace.assignedElsewhere")}),N.length?(0,t.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":i("workspace.runs"),children:N.map(e=>(0,t.jsxs)("button",{"aria-pressed":M===e.id,onClick:()=>v(e.id),className:`flex items-center gap-2 rounded-md border p-2 text-xs ${M===e.id?"border-brand bg-brand/10":"border-border/70"}`,children:[(0,t.jsxs)("span",{children:[e.actorLabel," · ",e.id.slice(0,8)]}),(0,t.jsx)(eP.WorkspaceStatus,{value:e.state})]},e.id))}):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:i("workspace.noRuns")}),M&&(0,t.jsx)(eW,{project:l,runId:M,actorId:n,reviewerId:k.reviewerId,team:!!l.teamId||e.members.some(e=>"owner"!==e.role&&"active"===e.state),onRecovered:v},M)]}),(0,t.jsxs)(eP.Panel,{title:i("workspace.comments"),children:[y.length?(0,t.jsx)("ul",{className:"space-y-3",children:y.map(e=>(0,t.jsxs)("li",{className:"rounded-md border border-border/70 p-3",children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e.actorLabel}),(0,t.jsx)("p",{className:"mt-1 whitespace-pre-wrap break-words text-sm",children:e.text})]},e.id))}):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:i("workspace.noComments")}),(0,eS.hasCapability)(l,"comment")&&(0,t.jsxs)("form",{className:"space-y-2",onSubmit:e=>{e.preventDefault(),d.mutate(async()=>{await eS.collaborationApi.comment(l.id,k.id,m.trim()),p("")})},children:[(0,t.jsx)(eP.Field,{label:i("workspace.comment"),children:(0,t.jsx)("textarea",{required:!0,maxLength:5e3,className:eP.inputClass,value:m,onChange:e=>p(e.target.value)})}),(0,t.jsx)(o.Button,{size:"sm",disabled:!m.trim()||d.isPending,children:i("workspace.post")})]})]}),(0,t.jsx)(eP.ErrorNotice,{error:d.error,retry:()=>void f.refetch()})]})}var eA=e.i(63548),eK=e.i(14452);function eU({evidenceDraft:e,evidenceError:r,isEvidenceSaving:a,isTaskPacketLinking:s,isTaskPacketLoading:n,isTaskPacketStarting:i,item:l,ledgerEvents:d,links:c,onAttachEvidence:u,onEvidenceDraftChange:m,onOpenChange:x,onStatusChange:g,onTaskPacketSessionChange:j,onTaskPacketSessionLink:f,onTaskPacketStart:y,open:N,projectId:w,stages:M,statusMutationPending:C,t:S,taskPacket:I,taskPacketError:T,taskPacketLinkError:P,taskPacketStartError:E,taskPacketSessionId:L,taskPacketSessions:B,workItems:R}){let{canEdit:q,legacySessions:z,collaboration:Q,actorId:A}=p(),K=l?(0,k.workItemTraceMarkers)(l,d):[];return(0,t.jsx)(eK.Sheet,{open:N,onOpenChange:x,children:(0,t.jsxs)(eK.SheetContent,{className:"w-full overflow-y-auto sm:max-w-4xl",children:[(0,t.jsxs)(eK.SheetHeader,{children:[(0,t.jsx)(eK.SheetTitle,{children:l?.title??S("projects.projectManagerViewDetails")}),(0,t.jsx)(eK.SheetDescription,{children:S("projects.projectManagerWorkItemDetail")})]}),l&&(0,t.jsxs)("div",{className:"space-y-5 px-4 pb-4",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(h.Badge,{variant:(0,k.statusBadgeVariant)(l.status),children:(0,k.statusLabel)(l.status,S)}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:[S("projects.projectManagerUpdated"),": ",(0,k.formatTimestamp)(l.updatedAt)]})]}),(0,t.jsx)(eC,{disabled:C,item:l,onStatusChange:g,t:S})]}),(0,t.jsx)(e$,{label:S("projects.projectManagerWorkItemDescription"),children:l.description?(0,t.jsx)("p",{className:"whitespace-pre-wrap break-words",children:l.description}):(0,t.jsx)("span",{className:"text-muted-foreground",children:"-"})}),(0,t.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,t.jsx)(W,{label:S("projects.projectManagerPriority"),value:l.priority}),(0,t.jsx)(W,{label:S("projects.projectManagerEvidenceRefs"),value:l.evidenceRefCount})]}),Q&&(0,t.jsxs)("div",{className:"grid gap-2 text-sm sm:grid-cols-2",children:[(0,t.jsxs)("p",{children:[S("workspace.assignee"),": ",Q.members.find(e=>e.userId===l.assigneeId)?.email??S("workspace.unassigned")]}),(0,t.jsxs)("p",{children:[S("workspace.reviewAssignee"),": ",Q.members.find(e=>e.userId===l.reviewerId)?.email??S("workspace.unassigned")]})]}),(0,t.jsx)(e$,{label:S("projects.projectManagerStageAssign"),children:(0,t.jsx)(H,{item:l,projectId:w,stages:M,t:S})}),(0,t.jsx)(e_,{item:l,links:c,projectId:w,t:S,workItems:R}),(0,t.jsx)(e$,{label:S("projects.projectManagerAcceptanceCriteria"),children:l.acceptanceCriteria.length>0?(0,t.jsx)("ul",{className:"list-disc space-y-1 pl-5",children:l.acceptanceCriteria.map(e=>(0,t.jsx)("li",{className:"break-words",children:e},e))}):(0,t.jsx)("span",{className:"text-muted-foreground",children:"-"})}),l.manualCompletion&&(0,t.jsxs)("div",{className:"space-y-1 text-xs text-muted-foreground",children:[(0,t.jsx)("p",{children:S("task.manualDone")}),(0,t.jsx)("p",{children:l.manualCompletion.reason}),(0,t.jsxs)("p",{children:[l.manualCompletion.actorId," · ",(0,k.formatTimestamp)(l.manualCompletion.createdAt)]})]}),Q&&(0,t.jsx)(eE,{actorId:A,projectId:w,taskId:l.id,revision:l.revision,canLink:(0,eS.hasCapability)(Q.project,"develop")},`artifact:${A}:${w}:${l.id}`),Q&&(0,t.jsx)(eQ,{detail:Q,taskId:l.id,actorId:A},`execution:${A}:${w}:${l.id}`),z&&(0,t.jsx)(eO,{error:T,isLinking:s,isLoading:n,onSessionChange:j,onSessionLink:f,onStart:y,selectedSessionId:L,sessions:B,t:S,taskPacket:I,linkError:P,startError:E,isStarting:i}),(0,t.jsx)(e$,{label:S("projects.projectManagerEvidenceRefs"),children:l.evidenceRefs.length>0?(0,t.jsx)("ul",{className:"space-y-2",children:l.evidenceRefs.map((e,r)=>(0,t.jsx)("li",{className:"rounded-md border border-border/70 px-3 py-2 text-xs",children:(0,k.formatEvidenceRef)(e)},`${e.ref??e.path??r}`))}):(0,t.jsx)("span",{className:"text-muted-foreground",children:"-"})}),K.length>0&&(0,t.jsx)(e$,{label:S("projects.projectManagerLedger"),children:(0,t.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:K.map(e=>(0,t.jsx)(F,{label:S(e.labelKey),value:e.value},`${e.labelKey}-${e.value}`))})}),(0,t.jsxs)("fieldset",{disabled:!q,className:"space-y-3 rounded-md border border-border/70 p-3",children:[(0,t.jsx)("legend",{className:"px-1 text-sm font-medium",children:S("projects.projectManagerAttachEvidence")}),(0,t.jsx)("p",{className:"text-xs leading-5 text-muted-foreground",children:S("projects.projectManagerEvidenceReferenceHint")}),(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("div",{className:"space-y-2 sm:col-span-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-evidence-type",children:S("projects.projectManagerEvidenceReferenceType")}),(0,t.jsx)("select",{id:"project-manager-evidence-type",className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-60",value:e.referenceType,disabled:a,onChange:t=>m((0,k.applyEvidenceReferenceType)(e,(0,k.readEvidenceReferenceType)(t.target.value),S)),children:ep.EVIDENCE_REFERENCE_TYPE_OPTIONS.map(e=>(0,t.jsx)("option",{value:e.value,children:S(e.labelKey)},e.value))})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-evidence-kind",children:S("projects.projectManagerRefKind")}),(0,t.jsx)(b.Input,{id:"project-manager-evidence-kind",value:e.kind,"aria-invalid":!!r&&0===e.kind.trim().length,disabled:a,onChange:t=>m({...e,kind:t.target.value})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-evidence-label",children:S("projects.projectManagerRefLabel")}),(0,t.jsx)(b.Input,{id:"project-manager-evidence-label",value:e.label,disabled:a,onChange:t=>m({...e,label:t.target.value})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-evidence-ref",children:S("projects.projectManagerRefId")}),(0,t.jsx)(b.Input,{id:"project-manager-evidence-ref",value:e.ref,"aria-invalid":!!r&&0===e.ref.trim().length&&0===e.path.trim().length,disabled:a,onChange:t=>m({...e,ref:t.target.value})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-evidence-path",children:S("common.path")}),(0,t.jsx)(b.Input,{id:"project-manager-evidence-path",value:e.path,"aria-invalid":!!r&&0===e.ref.trim().length&&0===e.path.trim().length,disabled:a,onChange:t=>m({...e,path:t.target.value})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-evidence-session-id",children:S("projects.projectManagerEvidenceSessionId")}),(0,t.jsx)(b.Input,{id:"project-manager-evidence-session-id",value:e.sessionId,"aria-invalid":!!r&&("terminal_snapshot"===e.referenceType||"session"===e.referenceType)&&0===e.sessionId.trim().length,disabled:a,onChange:t=>m({...e,sessionId:t.target.value})})]})]}),"terminal_snapshot"===e.referenceType&&(0,t.jsx)("p",{className:"text-xs leading-5 text-muted-foreground",children:S("projects.projectManagerTerminalSnapshotMarkerHint")}),r&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:r}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsxs)(o.Button,{size:"sm",variant:"brand",onClick:u,disabled:a,children:[(0,t.jsx)(D.Plus,{className:"mr-2 size-4"}),S("projects.projectManagerAttachEvidence")]})})]}),(0,t.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,t.jsx)(e$,{label:S("projects.projectManagerCreated"),children:(0,k.formatTimestamp)(l.createdAt)}),(0,t.jsx)(e$,{label:S("projects.projectManagerUpdated"),children:(0,k.formatTimestamp)(l.updatedAt)})]})]})]})})}function e_({item:e,links:s,projectId:i,t:l,workItems:d}){let{canEdit:c,canManage:m,legacySessions:x}=p(),g=(0,n.useQueryClient)(),[j,b]=(0,r.useState)(""),[v,f]=(0,r.useState)(null),y=s.filter(t=>t.blockedWorkItemId===e.id),N=s.filter(t=>t.blockerWorkItemId===e.id),w=d.filter(t=>t.id!==e.id&&!y.some(e=>e.blockerWorkItemId===t.id)),M=e=>d.find(t=>t.id===e)?.title??e,C=e=>(0,k.projectManagerMutationMessage)(e,l("projects.projectManagerDependencyMutationError")),S=(0,a.useMutation)({mutationFn:t=>(0,u.addProjectManagerWorkItemDependency)(i,e.id,t,e.revision),onSuccess:async()=>{f(null),b(""),await g.invalidateQueries({queryKey:["project-manager",i]})},onError:e=>f(C(e))}),I=(0,a.useMutation)({mutationFn:t=>(0,u.removeProjectManagerWorkItemDependency)(i,e.id,t,e.revision),onSuccess:async()=>{f(null),await g.invalidateQueries({queryKey:["project-manager",i]})},onError:e=>f(C(e))}),T=S.isPending||I.isPending;return(0,t.jsxs)("fieldset",{disabled:!(m??c),className:"space-y-3 rounded-md border border-border/70 p-3",children:[(0,t.jsx)("legend",{className:"px-1 text-sm font-medium",children:l("projects.projectManagerDependencies")}),0===y.length&&0===N.length&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:l("projects.projectManagerDependencyNone")}),y.length>0&&(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground",children:l("projects.projectManagerDependencyBlockedBy")}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:y.map(e=>(0,t.jsxs)(h.Badge,{variant:"destructive",className:"gap-1",children:[M(e.blockerWorkItemId),(0,t.jsx)("button",{type:"button","aria-label":l("common.delete"),className:"rounded-full hover:bg-destructive-foreground/20",disabled:T,onClick:()=>I.mutate(e.blockerWorkItemId),children:(0,t.jsx)(eA.X,{className:"size-3"})})]},e.id))})]}),N.length>0&&(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground",children:l("projects.projectManagerDependencyBlocking")}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:N.map(e=>(0,t.jsx)(h.Badge,{variant:"secondary",children:M(e.blockedWorkItemId)},e.id))})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row",children:[(0,t.jsxs)("select",{"aria-label":l("projects.projectManagerDependencyAdd"),className:"h-9 min-w-0 flex-1 rounded-md border border-input bg-background px-3 text-sm outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-60",value:j,disabled:T||0===w.length,onChange:e=>b(e.target.value),children:[(0,t.jsx)("option",{value:"",children:l("projects.projectManagerDependencyAddPlaceholder")}),w.map(e=>(0,t.jsx)("option",{value:e.id,children:e.title},e.id))]}),(0,t.jsxs)(o.Button,{size:"sm",variant:"outline",disabled:T||!j,onClick:()=>j&&S.mutate(j),children:[(0,t.jsx)(D.Plus,{className:"mr-2 size-4"}),l("projects.projectManagerDependencyAdd")]})]}),v&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:v})]})}function eO({error:e,isLinking:r,isLoading:a,isStarting:s,linkError:n,onSessionChange:i,onSessionLink:l,onStart:d,selectedSessionId:c,sessions:u,startError:m,t:x,taskPacket:g}){var j;let{canEdit:h}=p(),b=u.some(e=>e.id===c),v=c.length>0&&b&&!r,f=!!(g&&!g.sessionLink&&!s);return(0,t.jsxs)("fieldset",{disabled:!h,className:"space-y-3 rounded-md border border-border/70 p-3","data-testid":"project-manager-task-packet",children:[(0,t.jsxs)("legend",{className:"flex items-center gap-2 px-1 text-sm font-medium",children:[(0,t.jsx)(J.ClipboardList,{className:"size-4"}),x("projects.projectManagerTaskPacket")]}),a?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:x("projects.projectManagerLoading")}):e?(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:(0,k.projectManagerMutationMessage)(e,x("projects.projectManagerTaskPacketLoadError"))}):g?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,t.jsx)(F,{label:x("projects.projectManagerTaskPacketRuntimeAdapter"),value:g.runtime.adapter}),(0,t.jsx)(F,{label:x("projects.projectManagerTaskPacketRuntimeTemplate"),value:g.runtime.templateId}),(0,t.jsx)(F,{label:x("projects.projectManagerTaskPacketStatus"),value:x("no_linked_session"===(j=g.blockedReason)?"projects.projectManagerTaskPacketBlockedNoSession":"linked_session_not_running"===j?"projects.projectManagerTaskPacketBlockedInactiveSession":"projects.projectManagerTaskPacketReady")}),(0,t.jsx)(F,{label:x("projects.projectManagerTaskPacketLinkedSession"),value:g.sessionLink?.sessionId??"-"})]}),(0,t.jsx)(e$,{label:x("projects.projectManagerTaskPacketPrompt"),children:(0,t.jsx)("pre",{className:"max-h-64 overflow-auto whitespace-pre-wrap rounded-md border border-border/70 bg-muted/20 p-3 text-xs leading-5",children:g.prompt})}),(0,t.jsx)(eV,{emptyLabel:"-",label:x("projects.projectManagerAcceptanceCriteria"),values:g.acceptanceCriteria}),(0,t.jsx)(eV,{emptyLabel:"-",label:x("projects.projectManagerTaskPacketExpectedVerification"),values:g.expectedVerification}),(0,t.jsx)(eV,{emptyLabel:"-",label:x("projects.projectManagerTaskPacketEvidenceRequirements"),values:g.evidenceRequirements}),g.sessionLink&&(0,t.jsx)("a",{className:"inline-flex text-xs font-medium text-brand hover:underline",href:g.sessionLink.href,children:x("projects.projectManagerTaskPacketOpenSession")}),!g.sessionLink&&(0,t.jsx)(o.Button,{size:"sm",variant:"brand",className:"w-fit",onClick:d,disabled:!f,children:x(s?"projects.projectManagerTaskPacketStarting":"projects.projectManagerTaskPacketStart")}),m&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:m}),(0,t.jsxs)("div",{className:"grid gap-2 sm:grid-cols-[minmax(0,1fr)_auto]",children:[(0,t.jsxs)("select",{className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-60",value:c,disabled:r||0===u.length,onChange:e=>i(e.target.value),children:[(0,t.jsx)("option",{value:"",children:x(u.length>0?"projects.projectManagerTaskPacketSelectSession":"projects.projectManagerTaskPacketNoSessions")}),u.map(e=>(0,t.jsx)("option",{value:e.id,children:[e.name?.trim()||e.id,e.aiTool?.trim()||"unknown",e.status].join(" / ")},e.id))]}),(0,t.jsx)(o.Button,{size:"sm",variant:"brand",onClick:l,disabled:!v,children:x("projects.projectManagerTaskPacketLinkSession")})]}),n&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:n})]}):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:x("projects.projectManagerTaskPacketUnavailable")})]})}function eV({emptyLabel:e,label:r,values:a}){return(0,t.jsx)(e$,{label:r,children:a.length>0?(0,t.jsx)("ul",{className:"list-disc space-y-1 pl-5 text-sm",children:a.map(e=>(0,t.jsx)("li",{className:"break-words",children:e},e))}):(0,t.jsx)("span",{className:"text-muted-foreground",children:e})})}function e$({children:e,label:r}){return(0,t.jsxs)("div",{className:"space-y-1 text-sm",children:[(0,t.jsx)("div",{className:"text-xs font-medium uppercase text-muted-foreground",children:r}),(0,t.jsx)("div",{className:"break-words",children:e})]})}var eH=e.i(87307),eG=e.i(2527);function eJ({error:e,isStarting:a,item:n,onConfirm:i,onOpenChange:l,t:d,taskPacket:c}){let m=(0,s.useQuery)({queryKey:["adapter-discovery"],queryFn:u.discoverAdapters,enabled:!!n,staleTime:3e4}),p=(0,r.useMemo)(()=>m.data?.adapters??[],[m.data?.adapters]),[x,g]=(0,r.useState)("");(0,r.useEffect)(()=>{if(!n)return;let e=c?.runtime.adapter??null;g((0,u.chooseDefaultRuntimeAdapter)(p,e)??"")},[p,n,c?.runtime.adapter]);let j=p.filter(e=>(0,u.isAdapterLaunchable)(e)),h=""!==x&&j.some(e=>e.id===x);return(0,t.jsx)(R.Dialog,{open:!!n,onOpenChange:l,children:(0,t.jsxs)(R.DialogContent,{children:[(0,t.jsxs)(R.DialogHeader,{children:[(0,t.jsx)(R.DialogTitle,{children:d("projects.projectManagerTaskPacketSelectCli")}),(0,t.jsx)(R.DialogDescription,{children:d("projects.projectManagerTaskPacketSelectCliDescription")})]}),n&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("div",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2 text-sm font-medium break-words",children:n.title}),m.isLoading?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:d("projects.loadingRuntimeCli")}):0===j.length?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:d("projects.projectManagerTaskPacketNoCliAvailable")}):(0,t.jsxs)("fieldset",{className:"space-y-2",disabled:a,children:[(0,t.jsx)("legend",{className:"sr-only",children:d("projects.selectRuntimeCli")}),j.map(e=>(0,t.jsx)(eZ,{adapter:e,checked:x===e.id,disabled:a,label:(0,eG.runtimeAdapterLabel)(e,d),onSelect:()=>g(e.id)},e.id))]}),e&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:e})]}),(0,t.jsxs)(R.DialogFooter,{children:[(0,t.jsx)(o.Button,{variant:"outline",onClick:()=>l(!1),disabled:a,children:d("projects.projectManagerCancel")}),(0,t.jsx)(o.Button,{variant:"brand",onClick:()=>x&&i(x),disabled:a||!h,children:a?d("projects.projectManagerTaskPacketStarting"):d("projects.projectManagerTaskPacketStart")})]})]})})}function eZ({adapter:e,checked:r,disabled:a,label:s,onSelect:n}){return(0,t.jsxs)("label",{className:["flex cursor-pointer items-center gap-3 rounded-md border px-3 py-2 text-sm transition-colors",r?"border-brand/50 bg-brand/5":"border-border/70 bg-background hover:border-border","disabled:cursor-not-allowed disabled:opacity-60"].join(" "),"data-testid":`quick-start-cli-option-${e.id}`,children:[(0,t.jsx)("input",{type:"radio",name:"project-manager-quick-start-adapter",className:"size-4 shrink-0 accent-brand",checked:r,disabled:a,onChange:n}),(0,t.jsx)(eH.CliBrandIcon,{aiTool:e.id}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate",children:s}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:e.version??""})]})}function eX({assigneeId:e,reviewerId:r,onChange:a,disabled:s}){let{collaboration:n}=p(),{t:i}=(0,c.useLanguage)();if(!n)return null;let l=n.members.filter(e=>"active"===e.state);return(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsx)(eP.Field,{label:i("workspace.assignee"),children:(0,t.jsxs)("select",{className:eP.inputClass,value:e??"",disabled:s,onChange:e=>a({assigneeId:e.target.value||null}),children:[(0,t.jsx)("option",{value:"",children:i("workspace.unassigned")}),l.filter(e=>(0,eS.hasCapability)(e,"develop")).map(e=>(0,t.jsx)("option",{value:e.userId,children:e.email},e.userId))]})}),(0,t.jsx)(eP.Field,{label:i("workspace.reviewAssignee"),children:(0,t.jsxs)("select",{className:eP.inputClass,value:r??"",disabled:s,onChange:e=>a({reviewerId:e.target.value||null}),children:[(0,t.jsx)("option",{value:"",children:i("workspace.unassigned")}),l.filter(t=>(0,eS.hasCapability)(t,"review")&&t.userId!==e).map(e=>(0,t.jsx)("option",{value:e.userId,children:e.email},e.userId))]})})]})}function eY({draft:e,error:r,isSaving:a,onDraftChange:s,onOpenChange:n,onSave:i,open:l,t:d}){return(0,t.jsx)(R.Dialog,{open:l,onOpenChange:n,children:(0,t.jsxs)(R.DialogContent,{className:"max-h-[min(900px,calc(100vh-2rem))] overflow-y-auto sm:max-w-2xl",children:[(0,t.jsxs)(R.DialogHeader,{children:[(0,t.jsx)(R.DialogTitle,{children:d("projects.projectManagerCreateWorkItem")}),(0,t.jsx)(R.DialogDescription,{children:d("projects.projectManagerCreateWorkItemBody")})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"grid gap-4 sm:grid-cols-[minmax(0,1fr)_120px]",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-work-item-title",children:d("projects.projectManagerWorkItemTitle")}),(0,t.jsx)(b.Input,{id:"project-manager-work-item-title",value:e.title,"aria-invalid":!!r&&0===e.title.trim().length,disabled:a,onChange:t=>s({...e,title:t.target.value})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-work-item-priority",children:d("projects.projectManagerPriority")}),(0,t.jsx)(b.Input,{id:"project-manager-work-item-priority",inputMode:"numeric",value:e.priority,disabled:a,onChange:t=>s({...e,priority:t.target.value})})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-work-item-description",children:d("projects.projectManagerWorkItemDescription")}),(0,t.jsx)(f.Textarea,{id:"project-manager-work-item-description",value:e.description,disabled:a,onChange:t=>s({...e,description:t.target.value})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-work-item-acceptance",children:d("projects.projectManagerAcceptanceCriteria")}),(0,t.jsx)(f.Textarea,{id:"project-manager-work-item-acceptance",value:e.acceptanceCriteriaText,disabled:a,placeholder:d("projects.projectManagerTextListHint"),onChange:t=>s({...e,acceptanceCriteriaText:t.target.value})}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:d("projects.projectManagerTextListHint")})]}),r&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:r})]}),(0,t.jsx)(eX,{assigneeId:e.assigneeId,reviewerId:e.reviewerId,disabled:a,onChange:t=>s({...e,...t})}),(0,t.jsxs)(R.DialogFooter,{children:[(0,t.jsx)(o.Button,{variant:"outline",onClick:()=>n(!1),disabled:a,children:d("projects.projectManagerCancel")}),(0,t.jsx)(o.Button,{variant:"brand",onClick:i,disabled:a,children:d("projects.projectManagerCreateWorkItem")})]})]})})}function e0({draft:e,error:r,isSaving:a,item:s,onDraftChange:n,onOpenChange:i,onSave:l,t:d}){return(0,t.jsx)(R.Dialog,{open:!!s,onOpenChange:i,children:(0,t.jsxs)(R.DialogContent,{className:"max-h-[min(760px,calc(100vh-2rem))] overflow-y-auto sm:max-w-2xl",children:[(0,t.jsxs)(R.DialogHeader,{children:[(0,t.jsx)(R.DialogTitle,{children:d("projects.projectManagerEditWorkItem")}),(0,t.jsx)(R.DialogDescription,{children:d("projects.projectManagerEditWorkItemBody")})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"grid gap-4 sm:grid-cols-[minmax(0,1fr)_120px]",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-edit-work-item-title",children:d("projects.projectManagerWorkItemTitle")}),(0,t.jsx)(b.Input,{id:"project-manager-edit-work-item-title",value:e.title,"aria-invalid":!!r&&0===e.title.trim().length,disabled:a,onChange:t=>n({...e,title:t.target.value})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-edit-work-item-priority",children:d("projects.projectManagerPriority")}),(0,t.jsx)(b.Input,{id:"project-manager-edit-work-item-priority",inputMode:"numeric",value:e.priority,disabled:a,onChange:t=>n({...e,priority:t.target.value})})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-edit-work-item-description",children:d("projects.projectManagerWorkItemDescription")}),(0,t.jsx)(f.Textarea,{id:"project-manager-edit-work-item-description",value:e.description,disabled:a,onChange:t=>n({...e,description:t.target.value})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-edit-work-item-acceptance",children:d("projects.projectManagerAcceptanceCriteria")}),(0,t.jsx)(f.Textarea,{id:"project-manager-edit-work-item-acceptance",value:e.acceptanceCriteriaText,disabled:a,placeholder:d("projects.projectManagerTextListHint"),onChange:t=>n({...e,acceptanceCriteriaText:t.target.value})}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:d("projects.projectManagerTextListHint")})]}),r&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:r})]}),(0,t.jsx)(eX,{assigneeId:e.assigneeId,reviewerId:e.reviewerId,disabled:a,onChange:t=>n({...e,...t})}),(0,t.jsxs)(R.DialogFooter,{children:[(0,t.jsx)(o.Button,{variant:"outline",onClick:()=>i(!1),disabled:a,children:d("projects.projectManagerCancel")}),(0,t.jsx)(o.Button,{variant:"brand",onClick:l,disabled:a,children:d("projects.projectManagerSaveWorkItem")})]})]})})}function e2({error:e,isDeleting:r,item:a,onConfirm:s,onOpenChange:n,t:i}){return(0,t.jsx)(R.Dialog,{open:!!a,onOpenChange:n,children:(0,t.jsxs)(R.DialogContent,{children:[(0,t.jsxs)(R.DialogHeader,{children:[(0,t.jsx)(R.DialogTitle,{children:i("projects.projectManagerDeleteWorkItem")}),(0,t.jsx)(R.DialogDescription,{children:i("projects.projectManagerDeleteWorkItemBody")})]}),a&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2",children:[(0,t.jsx)("div",{className:"break-words text-sm font-medium",children:a.title}),(0,t.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",children:[(0,k.statusLabel)(a.status,i)," · ",i("projects.projectManagerEvidenceRefs"),": ",a.evidenceRefCount]})]}),e&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:e})]}),(0,t.jsxs)(R.DialogFooter,{children:[(0,t.jsx)(o.Button,{variant:"outline",onClick:()=>n(!1),disabled:r,children:i("projects.projectManagerCancel")}),(0,t.jsx)(o.Button,{variant:"destructive",onClick:s,disabled:r,children:i("projects.projectManagerDeleteWorkItem")})]})]})})}function e1({error:e,isSaving:r,onConfirm:a,onOpenChange:s,open:n,reason:i,reasonRef:l,setReason:d,t:c,workItemTitle:u}){return(0,t.jsx)(R.Dialog,{open:n,onOpenChange:s,children:(0,t.jsxs)(R.DialogContent,{children:[(0,t.jsxs)(R.DialogHeader,{children:[(0,t.jsx)(R.DialogTitle,{children:c("projects.projectManagerDoneReasonTitle")}),(0,t.jsx)(R.DialogDescription,{children:c("projects.projectManagerDoneReasonBody")})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"project-manager-done-reason",children:c("projects.projectManagerDoneReasonLabel")}),(0,t.jsx)(f.Textarea,{id:"project-manager-done-reason",ref:l,value:i,"aria-invalid":!!e,disabled:r,onChange:e=>d(e.target.value)}),u&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:u}),e&&(0,t.jsx)("p",{className:"text-sm text-destructive",children:e})]}),(0,t.jsxs)(R.DialogFooter,{children:[(0,t.jsx)(o.Button,{variant:"outline",onClick:()=>s(!1),disabled:r,children:c("projects.projectManagerCancel")}),(0,t.jsx)(o.Button,{variant:"brand",onClick:a,disabled:r,children:c("projects.projectManagerConfirmStatusChange")})]})]})})}var e3=e.i(31483),e4=e.i(90441);function e5({error:e,events:a,filter:s,hasLoadedEvents:n,isFetching:c,onFilterChange:u,onLoadMore:m,onRefresh:p,refreshing:g,t:j,totalCount:h,workItems:b}){let[v,f]=(0,r.useState)(!1);return(0,t.jsxs)(d.Card,{"data-testid":"project-manager-ledger",children:[(0,t.jsxs)(d.CardHeader,{className:"flex flex-row items-center justify-between gap-3",children:[(0,t.jsxs)(d.CardTitle,{className:"flex items-center gap-2 text-sm font-semibold",children:[(0,t.jsx)(e4.History,{className:"size-4 text-brand"}),j("projects.projectManagerLedger"),(0,t.jsx)("span",{className:"rounded border border-border/70 bg-muted/20 px-1.5 py-0.5 font-mono text-xs text-muted-foreground tabular-nums",children:h})]}),(0,t.jsx)(o.Button,{size:"xs",variant:"ghost","aria-label":j("projects.projectManagerLedgerToggle"),"aria-expanded":v,onClick:()=>f(e=>!e),children:(0,t.jsx)(e3.ChevronDown,{className:(0,x.cn)("size-4 transition-transform",v&&"rotate-180")})})]}),(0,t.jsx)("div",{className:"forgebadger-collapse-grid","data-open":v,children:(0,t.jsx)("div",{children:(0,t.jsxs)(d.CardContent,{className:"space-y-3 pt-0",children:[(0,t.jsx)("div",{className:"flex flex-wrap gap-2 border-t border-border/70 pt-3",children:ep.LEDGER_FILTER_OPTIONS.map(e=>(0,t.jsx)(o.Button,{size:"sm",variant:s===e.value?"brand":"outline",onClick:()=>u(e.value),children:j(e.labelKey)},e.value))}),e?(0,t.jsx)("div",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-3",children:(0,t.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,t.jsxs)("p",{className:"flex items-center gap-2 text-sm text-destructive",children:[(0,t.jsx)(i.AlertTriangle,{className:"size-4"}),j("projects.projectManagerLedgerLoadFailed")]}),(0,t.jsxs)(o.Button,{size:"sm",variant:"outline",onClick:p,disabled:g,children:[(0,t.jsx)(l.RefreshCw,{className:(0,x.cn)("mr-2 size-4",g&&"animate-spin")}),j("projects.projectManagerLedgerRefresh")]})]})}):c&&!n?(0,t.jsx)("div",{className:"py-4 text-center text-sm text-muted-foreground",children:j("projects.projectManagerLoading")}):n?0===a.length?(0,t.jsx)(z,{title:j("projects.projectManagerLedgerFilteredEmptyTitle"),body:j("projects.projectManagerLedgerFilteredEmptyBody"),icon:e4.History}):(0,t.jsx)("div",{className:"space-y-3",children:a.map(e=>(0,t.jsx)(e8,{event:e,t:j,workItemTitle:(0,k.ledgerWorkItemTitle)(e,b)},e.id))}):(0,t.jsx)(z,{title:j("projects.projectManagerNoLedgerTitle"),body:j("projects.projectManagerNoLedgerBody"),icon:e4.History}),!e&&(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(o.Button,{size:"sm",variant:"outline",onClick:m,disabled:c,children:j("projects.projectManagerLoadMoreLedger")})})]})})})]})}function e8({event:e,t:r,workItemTitle:a}){let s=(0,k.ledgerEventNote)(e.eventType,r);return(0,t.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/10 px-3 py-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(h.Badge,{variant:(0,k.ledgerEventBadgeVariant)(e.eventType),children:(0,k.eventLabel)(e.eventType,r)}),e.status?(0,t.jsx)(h.Badge,{variant:(0,k.statusBadgeVariant)(e.status),children:(0,k.statusLabel)(e.status,r)}):(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"-"})]}),(0,t.jsx)("p",{className:"break-words text-sm font-medium",children:a}),s&&(0,t.jsx)("p",{className:"text-xs leading-5 text-muted-foreground",children:s})]}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:(0,k.formatTimestamp)(e.createdAt)})]}),(0,t.jsx)("div",{className:"mt-3 grid gap-2 sm:grid-cols-2",children:(0,t.jsx)(F,{label:r("projects.projectManagerEvidenceRefs"),value:e.evidenceRefCount})}),e.trace&&(0,t.jsx)(e7,{trace:e.trace,t:r})]})}function e7({trace:e,t:r}){let a=(0,k.ledgerTraceMarkers)(e);return 0===a.length?null:(0,t.jsxs)("div",{className:"mt-3 rounded-md border border-border/70 bg-background/40 p-3",children:[(0,t.jsx)("div",{className:"text-xs font-medium uppercase text-muted-foreground",children:r("projects.projectManagerLedger")}),(0,t.jsx)("div",{className:"mt-2 grid gap-2 sm:grid-cols-2",children:a.map(e=>(0,t.jsx)(F,{label:r(e.labelKey),value:e.value},`${e.labelKey}-${e.value}`))})]})}function e6({projectId:e,enabled:i,selectedWorkItemId:m=null,embedded:g=!1}){let{t:j}=(0,c.useLanguage)(),{canEdit:h,canManage:b,legacySessions:v,actorId:f}=p(),N=(0,n.useQueryClient)(),w=i&&e.length>0,[M,C]=(0,r.useState)(!1),[S,I]=(0,r.useState)(()=>(0,k.createGoalDraft)(null)),[T,P]=(0,r.useState)(null),E=(0,k.projectManagerViewStorageKey)(e),[D,L]=(0,r.useState)(()=>(0,k.readProjectManagerViewPrefs)(E).statusFilter),[B,R]=(0,r.useState)(()=>(0,k.readProjectManagerViewPrefs)(E).viewMode),[q,F]=(0,r.useState)([]),[z,W]=(0,r.useState)(""),[Q,A]=(0,r.useState)(null),[K,_]=(0,r.useState)(null),[O,V]=(0,r.useState)(!1),[$,H]=(0,r.useState)(()=>(0,k.createWorkItemDraft)()),[G,J]=(0,r.useState)(null),[Z,X]=(0,r.useState)(null),[Y,ee]=(0,r.useState)(()=>(0,k.createEditWorkItemDraft)(null)),[et,er]=(0,r.useState)(null),[ea,es]=(0,r.useState)(null),[en,ei]=(0,r.useState)(null),[el,eo]=(0,r.useState)(()=>(0,k.createEvidenceDraft)()),[ed,ec]=(0,r.useState)(null),[eu,em]=(0,r.useState)(""),[ex,eg]=(0,r.useState)(null),[ej,eb]=(0,r.useState)(null),[ev,ef]=(0,r.useState)(null),[ek,ey]=(0,r.useState)(null),[eN,ew]=(0,r.useState)(null),[eM,eC]=(0,r.useState)("all"),[eS,eI]=(0,r.useState)(ep.LEDGER_PAGE_SIZE),[eT,eP]=(0,r.useState)(null),[eE,eD]=(0,r.useState)(null),[eL,eB]=(0,r.useState)(!1),[eR,eq]=(0,r.useState)(""),[eF,ez]=(0,r.useState)(null),eW=(0,r.useRef)(null),eQ=(0,r.useRef)(null),eA=(0,s.useQuery)({queryKey:["project-manager",e,"goal",f],queryFn:()=>(0,u.getProjectManagerGoal)(e),enabled:w,retry:!1}),eK=eA.data?.goal??null,e_=(0,s.useQuery)({queryKey:["project-manager",e,"work-items",{limit:ep.WORK_ITEM_LIMIT},f],queryFn:()=>(0,u.listProjectManagerWorkItems)(e,{limit:ep.WORK_ITEM_LIMIT}),enabled:w,retry:!1}),eO=(0,s.useQuery)({queryKey:["project-manager",e,"task-packets",{limit:ep.WORK_ITEM_LIMIT},f],queryFn:()=>(0,u.listProjectManagerTaskPackets)(e,{limit:ep.WORK_ITEM_LIMIT}),enabled:w&&v,retry:!1}),eV=(0,s.useQuery)({queryKey:["project-manager",e,"stages",f],queryFn:()=>(0,u.listProjectManagerStages)(e),enabled:w,retry:!1}),e$=(0,s.useQuery)({queryKey:["project-manager",e,"work-item-links",f],queryFn:()=>(0,u.listProjectManagerWorkItemLinks)(e),enabled:w,retry:!1}),eH=(0,s.useQuery)({queryKey:["project-manager",e,"ledger",{limit:eS},f],queryFn:()=>(0,u.listProjectManagerLedger)(e,{limit:eS}),enabled:w,retry:!1}),eG=(0,s.useQuery)({queryKey:["project-manager",e,"work-item",K,"task-packet",f],queryFn:()=>(0,u.getProjectManagerTaskPacket)(e,K??""),enabled:w&&v&&!!K,retry:!1}),eZ=(0,s.useQuery)({queryKey:["sessions",{projectId:e},f],queryFn:()=>(0,u.listSessions)({projectId:e}),enabled:w&&v&&!!K,retry:!1});(0,r.useEffect)(()=>{M||I((0,k.createGoalDraft)(eK))},[eK,M]),(0,r.useEffect)(()=>{(0,k.writeProjectManagerViewPrefs)(E,{statusFilter:D,viewMode:B})},[E,D,B]);let eX=async()=>{await Promise.all([N.invalidateQueries({queryKey:["project-manager",e,"goal"]}),N.invalidateQueries({queryKey:["project-manager",e,"work-items"]}),N.invalidateQueries({queryKey:["project-manager",e,"task-packets"]}),N.invalidateQueries({queryKey:["project-manager",e,"ledger"]}),N.invalidateQueries({queryKey:["collaboration",e]}),N.invalidateQueries({queryKey:["task-artifacts",e]}),N.invalidateQueries({queryKey:["project-manager",e,"stages"]}),N.invalidateQueries({queryKey:["project-manager",e,"work-item-links"]})])},e3=t=>{N.setQueriesData({queryKey:["project-manager",e,"work-items"],predicate:e=>e.queryKey.at(-1)===f},e=>e?{workItems:t(e.workItems)}:e)},e4=(0,a.useMutation)({mutationFn:t=>(0,u.updateProjectManagerGoal)(e,t),onSuccess:async({goal:e})=>{P(null),I((0,k.createGoalDraft)(e)),C(!1),await eX()},onError:e=>{P((0,k.projectManagerMutationMessage)(e,j("projects.projectManagerGoalMutationError")))}}),e8=(0,a.useMutation)({mutationFn:t=>(0,u.createProjectManagerWorkItem)(e,t),onSuccess:async({workItem:t})=>{J(null),H((0,k.createWorkItemDraft)()),V(!1),e3(e=>[...e.filter(e=>e.id!==t.id),t]),await Promise.all([N.invalidateQueries({queryKey:["project-manager",e,"work-items"]}),N.invalidateQueries({queryKey:["project-manager",e,"task-packets"]}),N.invalidateQueries({queryKey:["project-manager",e,"ledger"]}),N.invalidateQueries({queryKey:["collaboration",e]}),N.invalidateQueries({queryKey:["task-artifacts",e]})])},onError:e=>{J((0,k.projectManagerMutationMessage)(e,j("projects.projectManagerCreateWorkItemError")))}}),e7=(0,a.useMutation)({mutationFn:({input:t,workItemId:r})=>(0,u.updateProjectManagerWorkItem)(e,r,t),onSuccess:async({workItem:t})=>{er(null),X(null),ee((0,k.createEditWorkItemDraft)(null)),e3(e=>e.map(e=>e.id===t.id?t:e)),await Promise.all([N.invalidateQueries({queryKey:["project-manager",e,"work-items"]}),N.invalidateQueries({queryKey:["project-manager",e,"task-packets"]}),N.invalidateQueries({queryKey:["project-manager",e,"ledger"]}),N.invalidateQueries({queryKey:["collaboration",e]}),N.invalidateQueries({queryKey:["task-artifacts",e]})])},onError:e=>{er((0,k.projectManagerMutationMessage)(e,j("projects.projectManagerUpdateWorkItemError")))}}),te=(0,a.useMutation)({mutationFn:({workItemId:t})=>(0,u.deleteProjectManagerWorkItem)(e,t,{confirm:!0,expectedRevision:e_.data?.workItems.find(e=>e.id===t)?.revision}),onSuccess:async({workItem:t},r)=>{ei(null),es(null),_(e=>e===r.workItemId?null:e),F(e=>e.filter(e=>e!==r.workItemId)),e3(e=>e.filter(e=>e.id!==t.id)),await Promise.all([N.invalidateQueries({queryKey:["project-manager",e,"work-items"]}),N.invalidateQueries({queryKey:["project-manager",e,"task-packets"]}),N.invalidateQueries({queryKey:["project-manager",e,"ledger"]}),N.invalidateQueries({queryKey:["collaboration",e]}),N.invalidateQueries({queryKey:["task-artifacts",e]})])},onError:e=>{ei((0,k.projectManagerMutationMessage)(e,j("projects.projectManagerDeleteWorkItemError")))}}),tt=(0,a.useMutation)({mutationFn:t=>(0,u.batchUpdateProjectManagerWorkItemStatuses)(e,t),onSuccess:async({workItems:t})=>{A(null),W(""),F([]),eD(null),eq(""),ez(null);let r=new Map(t.map(e=>[e.id,e]));e3(e=>e.map(e=>r.get(e.id)??e)),await Promise.all([N.invalidateQueries({queryKey:["project-manager",e,"work-items"]}),N.invalidateQueries({queryKey:["project-manager",e,"task-packets"]}),N.invalidateQueries({queryKey:["project-manager",e,"ledger"]}),N.invalidateQueries({queryKey:["collaboration",e]}),N.invalidateQueries({queryKey:["task-artifacts",e]})])},onError:e=>{let t=(0,k.projectManagerMutationMessage)(e,j("projects.projectManagerBatchStatusError"));A(t),eE&&ez(t)}}),tr=(0,a.useMutation)({mutationFn:({input:t,workItemId:r})=>(0,u.updateProjectManagerWorkItemStatus)(e,r,t),onSuccess:async()=>{eP(null),eD(null),eq(""),ez(null),await Promise.all([N.invalidateQueries({queryKey:["project-manager",e,"work-items"]}),N.invalidateQueries({queryKey:["project-manager",e,"task-packets"]}),N.invalidateQueries({queryKey:["project-manager",e,"ledger"]}),N.invalidateQueries({queryKey:["collaboration",e]}),N.invalidateQueries({queryKey:["task-artifacts",e]})])},onError:e=>{eP((0,k.projectManagerMutationMessage)(e,j("projects.projectManagerStatusMutationError")))}}),ta=(0,a.useMutation)({mutationFn:({reference:t,workItemId:r})=>(0,u.attachProjectManagerWorkItemEvidence)(e,r,{evidenceRefs:[t],expectedRevision:e_.data?.workItems.find(e=>e.id===r)?.revision}),onSuccess:async()=>{ec(null),eo((0,k.createEvidenceDraft)()),await Promise.all([N.invalidateQueries({queryKey:["project-manager",e,"work-items"]}),N.invalidateQueries({queryKey:["project-manager",e,"task-packets"]}),N.invalidateQueries({queryKey:["project-manager",e,"ledger"]}),N.invalidateQueries({queryKey:["collaboration",e]}),N.invalidateQueries({queryKey:["task-artifacts",e]})])},onError:e=>{ec((0,k.projectManagerMutationMessage)(e,j("projects.projectManagerEvidenceAttachError")))}}),ts=(0,a.useMutation)({mutationFn:({sessionId:t,workItemId:r})=>(0,u.linkProjectManagerTaskPacketSession)(e,r,{sessionId:t}),onSuccess:({taskPacket:t})=>{eg(null),em(t.sessionLink?.sessionId??""),N.setQueryData(["project-manager",e,"work-item",t.workItemId,"task-packet"],{taskPacket:t}),N.invalidateQueries({queryKey:["project-manager",e,"task-packets"]})},onError:e=>{eg((0,k.projectManagerMutationMessage)(e,j("projects.projectManagerTaskPacketLinkError")))}}),tn=(0,a.useMutation)({mutationFn:({workItemId:t,aiTool:r})=>(0,u.startProjectManagerTaskPacket)(e,t,{aiTool:r}),onSuccess:({taskPacket:t,session:r})=>{eb(null),eg(null),ef(null),ew(null),em(t.sessionLink?.sessionId??""),N.setQueryData(["project-manager",e,"work-item",t.workItemId,"task-packet"],{taskPacket:t}),N.setQueryData(["sessions",{projectId:e}],e=>e?{sessions:e.sessions.some(e=>e.id===r.id)?e.sessions.map(e=>e.id===r.id?r:e):[...e.sessions,r]}:e),N.invalidateQueries({queryKey:["project-manager",e,"task-packets"]}),N.invalidateQueries({queryKey:["sessions",{projectId:e}]})},onError:e=>{let t=(0,k.projectManagerMutationMessage)(e,j("projects.projectManagerTaskPacketStartError"));eb(t),ey(t),ef(null)}}),ti=eA.error??e_.error,tl=ti instanceof u.GatewayApiError&&404===ti.status,to=eA.isLoading||e_.isLoading,td=eA.isFetching||e_.isFetching||eO.isFetching||eH.isFetching,tc=e_.data?.workItems??[],tu=v?eO.data?.taskPackets??[]:[],tm=eV.data?.stages??[],tp=e$.data?.links??[],tx=(0,k.filterWorkItemsForTable)(tc,D),tg=eH.data?.events??[],tj=(0,k.filterLedgerEvents)(tg,eM),th=tc.find(e=>e.id===K)??null,tb=eG.data?.taskPacket??null,tv=(eZ.data?.sessions??[]).filter(e=>{var t;return e.projectId&&("running"===(t=e.status)||"detached"===t)}),tf=tc.find(e=>e.id===Z)??null,tk=tc.find(e=>e.id===ea)??null,ty=q.map(e=>tc.find(t=>t.id===e)).filter(e=>!!e),tN=(0,k.batchStatusTargets)(ty),tw=tN.includes(z)?z:"",tM=eE?.[0]??null;if((0,r.useEffect)(()=>{let e=m?.trim()??"";if(!e){eQ.current=null;return}eQ.current===e||tc.some(t=>t.id===e)&&(_(e),eQ.current=e)},[m,tc]),(0,r.useEffect)(()=>{ec(null),eo((0,k.createEvidenceDraft)()),eg(null),eb(null),ey(null),em("")},[K]),(0,r.useEffect)(()=>{em(tb?.sessionLink?.sessionId??"")},[tb?.sessionLink?.sessionId]),(0,r.useEffect)(()=>{eE&&eW.current?.focus()},[eE]),!i)return null;let tC=()=>{w&&(eA.refetch(),e_.refetch(),v&&eO.refetch(),eH.refetch(),eV.refetch(),e$.refetch())},tS=(e,t)=>{if(h){if(eP(null),"done"===t){eD([{...e}]),eB(!1),eq(""),ez(null);return}tr.mutate({workItemId:e.id,input:{status:t,expectedRevision:e.revision}})}};return(0,t.jsxs)("div",{className:"space-y-5","data-testid":"project-manager-panel",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h2",{className:g?"sr-only":"text-sm font-semibold",children:j("projects.devTasks")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:j("projects.devTasksDescription")})]}),(0,t.jsxs)(o.Button,{size:"sm",variant:"outline",onClick:tC,disabled:td||!w,children:[(0,t.jsx)(l.RefreshCw,{className:(0,x.cn)("mr-2 size-4",td&&"animate-spin")}),j("projects.devTasksRefresh")]})]}),ti?(0,t.jsx)(e9,{message:tl?j("projects.projectManagerNotFound"):j("projects.projectManagerLoadFailed"),onRefresh:tC,refreshing:td}):to?(0,t.jsx)(d.Card,{children:(0,t.jsx)(d.CardContent,{className:"py-8 text-center text-sm text-muted-foreground",children:j("projects.projectManagerLoading")})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(y,{goal:eK,t:j,draft:S,error:T,isEditing:M,isSaving:e4.isPending,onCancel:()=>{P(null),I((0,k.createGoalDraft)(eK)),C(!1)},onDraftChange:I,onEdit:()=>{P(null),I((0,k.createGoalDraft)(eK)),C(!0)},onSave:()=>{if(!(b??h))return;let e=S.summary.trim();e?(P(null),e4.mutate({summary:e,constraints:(0,k.parseProjectManagerTextList)(S.constraintsText),acceptanceCriteria:(0,k.parseProjectManagerTextList)(S.acceptanceCriteriaText),status:S.status.trim()||"active"})):P(j("projects.projectManagerGoalSummaryRequired"))}}),(0,t.jsx)(U,{isFetching:eV.isFetching||e_.isFetching,links:tp,onViewDetails:e=>_(e.id),projectId:e,stages:tm,t:j,taskPackets:tu,workItems:tc}),(0,t.jsx)(eh,{batchStatusError:Q,batchStatusPending:tt.isPending,batchTargetOptions:tN,batchTargetStatus:tw,isFetching:e_.isFetching,onBatchStatusSubmit:()=>{if(h){if(0===ty.length)return void A(j("projects.projectManagerBatchStatusSelectionRequired"));if(!tw)return void A(j("projects.projectManagerBatchStatusTargetRequired"));if(A(null),"done"===tw){eD(ty.map(e=>({...e}))),eB(!0),eq(""),ez(null);return}tt.mutate({updates:ty.map(e=>({workItemId:e.id,expectedRevision:e.revision,status:tw}))})}},onBatchTargetStatusChange:W,onClearSelection:()=>{A(null),W(""),F([])},onCreate:()=>{J(null),H((0,k.createWorkItemDraft)()),V(!0)},onDelete:e=>{ei(null),es(e.id)},onEdit:e=>{er(null),ee((0,k.createEditWorkItemDraft)(e)),X(e.id)},onQuickStart:e=>{ey(null),ew(e)},onStatusFilterChange:L,onStatusChange:tS,onToggleSelection:(e,t)=>{A(null),F(r=>t?r.includes(e.id)?r:[...r,e.id]:r.filter(t=>t!==e.id))},onViewDetails:e=>_(e.id),quickStartError:ek,quickStartPendingWorkItemId:ev,selectedWorkItemIds:q,statusError:eT,statusFilter:D,statusMutationPending:!h||tr.isPending,viewMode:B,onViewModeChange:R,highlightedWorkItemId:m,t:j,tableWorkItems:tx,taskPackets:tu,taskPacketsError:eO.error,taskPacketsFetching:eO.isFetching,workItems:tc}),(0,t.jsx)(e5,{error:eH.error,events:tj,filter:eM,hasLoadedEvents:tg.length>0,isFetching:eH.isFetching,onFilterChange:eC,onLoadMore:()=>{eI(e=>e+ep.LEDGER_PAGE_SIZE)},onRefresh:()=>{w&&eH.refetch()},refreshing:eH.isFetching,t:j,totalCount:tg.length,workItems:tc})]}),(0,t.jsx)(eU,{evidenceDraft:el,evidenceError:ed,isEvidenceSaving:ta.isPending,isTaskPacketLinking:ts.isPending,isTaskPacketLoading:eG.isLoading||eZ.isLoading,isTaskPacketStarting:tn.isPending,item:th,ledgerEvents:tg,links:tp,onAttachEvidence:()=>{if(!h||!th)return;if(0===el.kind.trim().length)return void ec(j("projects.projectManagerEvidenceKindRequired"));if("file_path"===el.referenceType&&0===el.path.trim().length)return void ec(j("projects.projectManagerEvidencePathRequired"));if(("terminal_snapshot"===el.referenceType||"session"===el.referenceType)&&0===el.sessionId.trim().length)return void ec(j("projects.projectManagerEvidenceSessionRequired"));let e=el.sessionId.trim().length>0&&("terminal_snapshot"===el.referenceType||"session"===el.referenceType);if(0===el.ref.trim().length&&0===el.path.trim().length&&!e)return void ec(j("projects.projectManagerEvidenceReferenceRequired"));if((0,k.validateEvidenceReferenceInput)(el))return void ec(j("projects.projectManagerEvidenceUnsafeValue"));let t=(0,k.createSingleEvidenceReference)(el);t?(ec(null),ta.mutate({workItemId:th.id,reference:t})):ec(j("projects.projectManagerEvidenceReferenceRequired"))},onEvidenceDraftChange:eo,onOpenChange:e=>{e||_(null)},onStatusChange:tS,onTaskPacketSessionChange:em,onTaskPacketSessionLink:()=>{if(!v||!th)return;let e=eu.trim();e?(eg(null),ts.mutate({workItemId:th.id,sessionId:e})):eg(j("projects.projectManagerTaskPacketSessionRequired"))},onTaskPacketStart:()=>{!v||th&&(eb(null),tn.mutate({workItemId:th.id}))},open:!!th,projectId:e,stages:tm,statusMutationPending:!h||tr.isPending,t:j,taskPacket:tb,taskPacketError:eG.error,taskPacketLinkError:ex,taskPacketStartError:ej,taskPacketSessionId:eu,taskPacketSessions:tv,workItems:tc}),(0,t.jsx)(eJ,{error:ek,isStarting:tn.isPending,item:eN,onConfirm:e=>{eN&&!tn.isPending&&(ey(null),ef(eN.id),tn.mutate({workItemId:eN.id,aiTool:e}))},onOpenChange:e=>{e||(ew(null),ey(null))},t:j,taskPacket:eN?tu.find(e=>e.workItemId===eN.id)??null:null}),(0,t.jsx)(eY,{draft:$,error:G,isSaving:!h||e8.isPending,onDraftChange:H,onOpenChange:V,onSave:()=>{if(!h)return;let e=$.title.trim();e?(J(null),e8.mutate((0,k.createWorkItemInput)($,e))):J(j("projects.projectManagerWorkItemTitleRequired"))},open:O,t:j}),(0,t.jsx)(e0,{draft:Y,error:et,isSaving:!h||e7.isPending,item:tf,onDraftChange:ee,onOpenChange:e=>{e||(X(null),er(null),ee((0,k.createEditWorkItemDraft)(null)))},onSave:()=>{if(!h||!tf)return;let e=Y.title.trim();e?(er(null),e7.mutate({workItemId:tf.id,input:(0,k.createWorkItemUpdateInput)(Y,e)})):er(j("projects.projectManagerWorkItemTitleRequired"))},t:j}),(0,t.jsx)(e2,{error:en,isDeleting:!h||te.isPending,item:tk,onConfirm:()=>{!h||tk&&(ei(null),te.mutate({workItemId:tk.id}))},onOpenChange:e=>{e||(es(null),ei(null))},t:j}),(0,t.jsx)(e1,{error:eF,isSaving:tr.isPending||tt.isPending,onConfirm:()=>{if(!h||!tM||!eE||tr.isPending||tt.isPending)return;let e=eR.trim();e?(ez(null),eL)?tt.mutate({updates:eE.map(t=>({workItemId:t.id,status:"done",expectedRevision:t.revision,manualCompletionReason:e}))}):tr.mutate({workItemId:tM.id,input:{status:"done",manualCompletionReason:e,expectedRevision:tM.revision}}):ez(j("projects.projectManagerDoneReasonRequired"))},onOpenChange:e=>{e||(eD(null),eq(""),ez(null))},open:!!tM,reason:eR,reasonRef:eW,setReason:eq,t:j,workItemTitle:eE?.map(e=>e.title).join(" · ")??""})]})}function e9({message:e,onRefresh:r,refreshing:a}){let{t:s}=(0,c.useLanguage)();return(0,t.jsx)(d.Card,{className:"border-destructive/50 bg-destructive/10",children:(0,t.jsxs)(d.CardContent,{className:"flex flex-col gap-3 py-4 sm:flex-row sm:items-center sm:justify-between",children:[(0,t.jsxs)("p",{className:"flex items-center gap-2 text-sm text-destructive",children:[(0,t.jsx)(i.AlertTriangle,{className:"size-4"}),e]}),(0,t.jsxs)(o.Button,{size:"sm",variant:"outline",onClick:r,disabled:a,children:[(0,t.jsx)(l.RefreshCw,{className:(0,x.cn)("mr-2 size-4",a&&"animate-spin")}),s("projects.devTasksRefresh")]})]})})}e.s(["ProjectManagerPanel",0,function(e){return(0,t.jsx)(m.Provider,{value:e.authority,children:(0,t.jsx)(e6,{...e})})}],39237),e.s([],88845)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,34558,e=>{"use strict";let t=(0,e.i(65174).default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],34558)},7329,e=>{"use strict";let t=(0,e.i(65174).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],7329)},88010,e=>{"use strict";var t=e.i(66499),i=e.i(65458);e.s(["Textarea",0,function({className:e,...n}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,i.cn)("min-h-24 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...n})}])},63134,83540,96588,84959,e=>{"use strict";var t=e.i(66499),i=e.i(41271),n=e.i(86059),a=e.i(34558),s=e.i(65174);let o=(0,s.default)("CalendarClock",[["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M17.5 17.5 16 16.3V14",key:"akvzfd"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]]);e.s(["CalendarClock",0,o],83540);let r=(0,s.default)("Puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);e.s(["Puzzle",0,r],96588);let l=(0,s.default)("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);e.s(["Radio",0,l],84959);var c=e.i(4484),d=e.i(60218),u=e.i(42831);e.s(["CopilotSettingsShell",0,function({active:e,title:s,description:p,children:m}){let x,h=(0,u.useSettingsCopy)(),f=(0,n.useRouter)(),v=(x=(0,u.useSettingsCopy)(),[{key:"general",href:"/copilot/settings",icon:c.SlidersHorizontal,label:x.navGeneral},{key:"extensions",href:"/copilot/extensions",icon:r,label:x.navExtensions},{key:"channels",href:"/copilot/channels",icon:l,label:x.navChannels},{key:"automations",href:"/copilot/automations",icon:o,label:x.navAutomations}]);return(0,t.jsxs)("div",{className:"mx-auto flex h-full w-full max-w-6xl flex-col gap-5 overflow-y-auto p-4 pt-16 md:p-6",children:[(0,t.jsxs)("header",{className:"forgebadger-animate-in flex items-start gap-2",children:[(0,t.jsx)(d.Button,{variant:"ghost",size:"icon","aria-label":h.backToChat,title:h.backToChat,onClick:()=>f.push("/copilot"),children:(0,t.jsx)(a.ArrowLeft,{className:"size-4"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h1",{className:"text-lg font-semibold",children:s}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:p})]})]}),(0,t.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 lg:flex-row lg:gap-8",children:[(0,t.jsx)("div",{className:"relative min-w-0 lg:w-[200px] lg:shrink-0",children:(0,t.jsx)("nav",{"aria-label":h.navAriaLabel,className:"forgebadger-animate-in flex shrink-0 gap-1 overflow-x-auto pb-1 [mask-image:linear-gradient(to_right,black_80%,transparent)] lg:flex-col lg:overflow-visible lg:pb-0 lg:[mask-image:none]",style:{animationDelay:"60ms"},children:v.map(n=>{let a=n.icon,s=n.key===e;return(0,t.jsxs)(i.default,{href:n.href,"aria-current":s?"page":void 0,className:`flex items-center gap-2 rounded-md px-3 py-2 text-sm whitespace-nowrap transition-colors ${s?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"}`,children:[(0,t.jsx)(a,{className:`size-4 shrink-0 ${s?"text-brand":""}`}),n.label]},n.key)})})}),(0,t.jsx)("div",{className:"min-w-0 max-w-3xl flex-1",children:m})]})]})}],63134)},77275,e=>{"use strict";var t=e.i(79923),i=e.i(91967),n=e.i(41986),a=e.i(67928),s=e.i(43250),o=e.i(33616),r=e.i(80939),l=e.i(36131),c=e.i(17256),d=e.i(25486),u=e.i(66499),p="rovingFocusGroup.onEntryFocus",m={bubbles:!1,cancelable:!0},x="RovingFocusGroup",[h,f,v]=(0,n.createCollection)(x),[b,g]=(0,s.createContextScope)(x,[v]),[y,j]=b(x),k=t.forwardRef((e,t)=>(0,u.jsx)(h.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(h.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(C,{...e,ref:t})})}));k.displayName=x;var C=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:s,orientation:o,loop:h=!1,dir:v,currentTabStopId:b,defaultCurrentTabStopId:g,onCurrentTabStopIdChange:j,onEntryFocus:k,preventScrollOnEntryFocus:C=!1,...S}=e,w=t.useRef(null),N=(0,a.useComposedRefs)(n,w),E=(0,d.useDirection)(v),[P,R]=(0,c.useControllableState)({prop:b,defaultProp:g??null,onChange:j,caller:x}),[I,L]=t.useState(!1),D=(0,l.useCallbackRef)(k),H=f(s),z=t.useRef(!1),[B,K]=t.useState(0);return t.useEffect(()=>{let e=w.current;if(e)return e.addEventListener(p,D),()=>e.removeEventListener(p,D)},[D]),(0,u.jsx)(y,{scope:s,orientation:o,dir:E,loop:h,currentTabStopId:P,onItemFocus:t.useCallback(e=>R(e),[R]),onItemShiftTab:t.useCallback(()=>L(!0),[]),onFocusableItemAdd:t.useCallback(()=>K(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>K(e=>e-1),[]),children:(0,u.jsx)(r.Primitive.div,{tabIndex:I||0===B?-1:0,"data-orientation":o,...S,ref:N,style:{outline:"none",...e.style},onMouseDown:(0,i.composeEventHandlers)(e.onMouseDown,()=>{z.current=!0}),onFocus:(0,i.composeEventHandlers)(e.onFocus,e=>{let t=!z.current;if(e.target===e.currentTarget&&t&&!I){let t=new CustomEvent(p,m);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=H().filter(e=>e.focusable);T([e.find(e=>e.active),e.find(e=>e.id===P),...e].filter(Boolean).map(e=>e.ref.current),C)}}z.current=!1}),onBlur:(0,i.composeEventHandlers)(e.onBlur,()=>L(!1))})})}),S="RovingFocusGroupItem",w=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:a,focusable:s=!0,active:l=!1,tabStopId:c,children:d,...p}=e,m=(0,o.useId)(),x=c||m,v=j(S,a),b=v.currentTabStopId===x,g=f(a),{onFocusableItemAdd:y,onFocusableItemRemove:k,currentTabStopId:C}=v;return t.useEffect(()=>{if(s)return y(),()=>k()},[s,y,k]),(0,u.jsx)(h.ItemSlot,{scope:a,id:x,focusable:s,active:l,children:(0,u.jsx)(r.Primitive.span,{tabIndex:b?0:-1,"data-orientation":v.orientation,...p,ref:n,onMouseDown:(0,i.composeEventHandlers)(e.onMouseDown,e=>{s?v.onItemFocus(x):e.preventDefault()}),onFocus:(0,i.composeEventHandlers)(e.onFocus,()=>v.onItemFocus(x)),onKeyDown:(0,i.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void v.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,i){var n;let a=(n=e.key,"rtl"!==i?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return N[a]}(e,v.orientation,v.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let a=g().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)a.reverse();else if("prev"===t||"next"===t){var i,n;"prev"===t&&a.reverse();let s=a.indexOf(e.currentTarget);a=v.loop?(i=a,n=s+1,i.map((e,t)=>i[(n+t)%i.length])):a.slice(s+1)}setTimeout(()=>T(a))}}),children:"function"==typeof d?d({isCurrentTabStop:b,hasTabStop:null!=C}):d})})});w.displayName=S;var N={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function T(e,t=!1){let i=document.activeElement;for(let n of e)if(n===i||(n.focus({preventScroll:t}),document.activeElement!==i))return}e.s(["Item",0,w,"Root",0,k,"createRovingFocusGroupScope",0,g])},12057,e=>{"use strict";var t=e.i(66499),i=e.i(94237),n=e.i(79923),a=e.i(91967),s=e.i(43250),o=e.i(77275),r=e.i(90088),l=e.i(80939),c=e.i(25486),d=e.i(17256),u=e.i(33616),p="Tabs",[m,x]=(0,s.createContextScope)(p,[o.createRovingFocusGroupScope]),h=(0,o.createRovingFocusGroupScope)(),[f,v]=m(p),b=n.forwardRef((e,i)=>{let{__scopeTabs:n,value:a,onValueChange:s,defaultValue:o,orientation:r="horizontal",dir:m,activationMode:x="automatic",...h}=e,v=(0,c.useDirection)(m),[b,g]=(0,d.useControllableState)({prop:a,onChange:s,defaultProp:o??"",caller:p});return(0,t.jsx)(f,{scope:n,baseId:(0,u.useId)(),value:b,onValueChange:g,orientation:r,dir:v,activationMode:x,children:(0,t.jsx)(l.Primitive.div,{dir:v,"data-orientation":r,...h,ref:i})})});b.displayName=p;var g="TabsList",y=n.forwardRef((e,i)=>{let{__scopeTabs:n,loop:a=!0,...s}=e,r=v(g,n),c=h(n);return(0,t.jsx)(o.Root,{asChild:!0,...c,orientation:r.orientation,dir:r.dir,loop:a,children:(0,t.jsx)(l.Primitive.div,{role:"tablist","aria-orientation":r.orientation,...s,ref:i})})});y.displayName=g;var j="TabsTrigger",k=n.forwardRef((e,i)=>{let{__scopeTabs:n,value:s,disabled:r=!1,...c}=e,d=v(j,n),u=h(n),p=w(d.baseId,s),m=N(d.baseId,s),x=s===d.value;return(0,t.jsx)(o.Item,{asChild:!0,...u,focusable:!r,active:x,children:(0,t.jsx)(l.Primitive.button,{type:"button",role:"tab","aria-selected":x,"aria-controls":m,"data-state":x?"active":"inactive","data-disabled":r?"":void 0,disabled:r,id:p,...c,ref:i,onMouseDown:(0,a.composeEventHandlers)(e.onMouseDown,e=>{r||0!==e.button||!1!==e.ctrlKey?e.preventDefault():d.onValueChange(s)}),onKeyDown:(0,a.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&d.onValueChange(s)}),onFocus:(0,a.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==d.activationMode;x||r||!e||d.onValueChange(s)})})})});k.displayName=j;var C="TabsContent",S=n.forwardRef((e,i)=>{let{__scopeTabs:a,value:s,forceMount:o,children:c,...d}=e,u=v(C,a),p=w(u.baseId,s),m=N(u.baseId,s),x=s===u.value,h=n.useRef(x);return n.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(r.Presence,{present:o||x,children:({present:n})=>(0,t.jsx)(l.Primitive.div,{"data-state":x?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":p,hidden:!n,id:m,tabIndex:0,...d,ref:i,style:{...e.style,animationDuration:h.current?"0s":void 0},children:n&&c})})});function w(e,t){return`${e}-trigger-${t}`}function N(e,t){return`${e}-content-${t}`}S.displayName=C,e.s(["Content",0,S,"List",0,y,"Root",0,b,"Tabs",0,b,"TabsContent",0,S,"TabsList",0,y,"TabsTrigger",0,k,"Trigger",0,k,"createTabsScope",0,x],73558);var T=e.i(73558),T=T,E=e.i(65458);let P=(0,i.cva)("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});e.s(["Tabs",0,function({className:e,orientation:i="horizontal",...n}){return(0,t.jsx)(T.Root,{"data-slot":"tabs","data-orientation":i,orientation:i,className:(0,E.cn)("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...n})},"TabsContent",0,function({className:e,...i}){return(0,t.jsx)(T.Content,{"data-slot":"tabs-content",className:(0,E.cn)("flex-1 outline-none",e),...i})},"TabsList",0,function({className:e,variant:i="default",...n}){return(0,t.jsx)(T.List,{"data-slot":"tabs-list","data-variant":i,className:(0,E.cn)(P({variant:i}),e),...n})},"TabsTrigger",0,function({className:e,...i}){return(0,t.jsx)(T.Trigger,{"data-slot":"tabs-trigger",className:(0,E.cn)("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-[background-color,border-color,color,box-shadow,opacity] group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground","after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",e),...i})}],12057)},26624,e=>{"use strict";var t=e.i(66499),i=e.i(79923),n=e.i(91967),a=e.i(67928),s=e.i(43250),o=e.i(17256),r=e.i(84017),l=e.i(61614),c=e.i(80939),d="Switch",[u,p]=(0,s.createContextScope)(d),[m,x]=u(d),h=i.forwardRef((e,s)=>{let{__scopeSwitch:r,name:l,checked:u,defaultChecked:p,required:x,disabled:h,value:f="on",onCheckedChange:v,form:y,...j}=e,[k,C]=i.useState(null),S=(0,a.useComposedRefs)(s,e=>C(e)),w=i.useRef(!1),N=!k||y||!!k.closest("form"),[T,E]=(0,o.useControllableState)({prop:u,defaultProp:p??!1,onChange:v,caller:d});return(0,t.jsxs)(m,{scope:r,checked:T,disabled:h,children:[(0,t.jsx)(c.Primitive.button,{type:"button",role:"switch","aria-checked":T,"aria-required":x,"data-state":g(T),"data-disabled":h?"":void 0,disabled:h,value:f,...j,ref:S,onClick:(0,n.composeEventHandlers)(e.onClick,e=>{E(e=>!e),N&&(w.current=e.isPropagationStopped(),w.current||e.stopPropagation())})}),N&&(0,t.jsx)(b,{control:k,bubbles:!w.current,name:l,value:f,checked:T,required:x,disabled:h,form:y,style:{transform:"translateX(-100%)"}})]})});h.displayName=d;var f="SwitchThumb",v=i.forwardRef((e,i)=>{let{__scopeSwitch:n,...a}=e,s=x(f,n);return(0,t.jsx)(c.Primitive.span,{"data-state":g(s.checked),"data-disabled":s.disabled?"":void 0,...a,ref:i})});v.displayName=f;var b=i.forwardRef(({__scopeSwitch:e,control:n,checked:s,bubbles:o=!0,...c},d)=>{let u=i.useRef(null),p=(0,a.useComposedRefs)(u,d),m=(0,r.usePrevious)(s),x=(0,l.useSize)(n);return i.useEffect(()=>{let e=u.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(m!==s&&t){let i=new Event("click",{bubbles:o});t.call(e,s),e.dispatchEvent(i)}},[m,s,o]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:s,...c,tabIndex:-1,ref:p,style:{...c.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function g(e){return e?"checked":"unchecked"}b.displayName="SwitchBubbleInput",e.s(["Root",0,h,"Switch",0,h,"SwitchThumb",0,v,"Thumb",0,v,"createSwitchScope",0,p],50512);var y=e.i(50512),y=y,j=e.i(65458);e.s(["Switch",0,function({className:e,size:i="default",...n}){return(0,t.jsx)(y.Root,{"data-slot":"switch","data-size":i,className:(0,j.cn)("peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80",e),...n,children:(0,t.jsx)(y.Thumb,{"data-slot":"switch-thumb",className:(0,j.cn)("pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground")})})}],26624)},47849,e=>{"use strict";var t=e.i(66936);e.s(["AlertTriangle",()=>t.default])},62918,e=>{"use strict";var t=e.i(66499),i=e.i(94237),n=e.i(82909),a=e.i(65458);let s=(0,i.cva)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:i="default",asChild:o=!1,...r}){let l=o?n.Slot.Root:"span";return(0,t.jsx)(l,{"data-slot":"badge","data-variant":i,className:(0,a.cn)(s({variant:i}),e),...r})}])},25284,e=>{"use strict";var t=e.i(87014);let i=Object.assign({},t.toast,{error:(e,i)=>t.toast.error(e,{duration:6e3,...i})});e.s(["toast",0,i])},92608,e=>{"use strict";var t=e.i(47721);e.s(["acceptAutomationSuggestion",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(e)}/accept`,{method:"POST"})},"cancelFollowup",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/followups/${encodeURIComponent(e)}`,{method:"DELETE"})},"cancelRun",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(e)}/cancel`,{method:"POST"})},"createAutomation",0,function(e){return(0,t.fetchJson)("/api/v1/copilot/automations",{method:"POST",body:JSON.stringify(e)})},"createConversation",0,function(e){return(0,t.fetchJson)("/api/v1/copilot/conversations",{method:"POST",body:JSON.stringify(e?{title:e}:{})})},"decidePendingAction",0,function(e,i,n){return(0,t.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(e)}/pending-actions/${encodeURIComponent(i)}/decide`,{method:"POST",body:JSON.stringify({approved:n})})},"deleteAutomation",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}`,{method:"DELETE"})},"deleteConversation",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}`,{method:"DELETE"})},"deleteMemoryEntry",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/memory/entries/${encodeURIComponent(e)}`,{method:"DELETE"})},"dismissAutomationSuggestion",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(e)}/dismiss`,{method:"POST"})},"editMessage",0,function(e,i,n,a){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/edit-message`,{method:"POST",body:JSON.stringify({messageId:i,content:n,...a})})},"enableAutomation",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}/enable`,{method:"POST"})},"getCopilotCapabilities",0,function(){return(0,t.fetchJson)("/api/v1/copilot/capabilities")},"getCopilotPreferences",0,function(){return(0,t.fetchJson)("/api/v1/copilot/preferences")},"getRun",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(e)}`)},"listAutomationSuggestions",0,function(){return(0,t.fetchJson)("/api/v1/copilot/automations/suggestions")},"listAutomations",0,function(){return(0,t.fetchJson)("/api/v1/copilot/automations")},"listConversationRuns",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/runs`)},"listConversations",0,function(){return(0,t.fetchJson)("/api/v1/copilot/conversations")},"listFollowups",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/followups`)},"listMemoryEntries",0,function(e={}){let i=new URLSearchParams;return e.scope&&i.set("scope",e.scope),e.projectId&&i.set("projectId",e.projectId),e.limit&&i.set("limit",String(e.limit)),(0,t.fetchJson)(`/api/v1/copilot/memory/entries?${i.toString()}`)},"listMessages",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/messages`)},"pauseAutomation",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}/pause`,{method:"POST"})},"queueFollowup",0,function(e,i,n){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/followups`,{method:"POST",body:JSON.stringify({content:i,...n})})},"renameConversation",0,function(e,i){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify({title:i})})},"runAutomationNow",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}/run`,{method:"POST"})},"sendMessage",0,function(e,i,n,a){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/messages`,{method:"POST",body:JSON.stringify({content:i,...n?{modelId:n}:{},...a})})},"setCopilotToolEnabled",0,function(e,i){return(0,t.fetchJson)(`/api/v1/copilot/capabilities/${encodeURIComponent(e)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:i})})},"updateCopilotPreferences",0,function(e){return(0,t.fetchJson)("/api/v1/copilot/preferences",{method:"PUT",body:JSON.stringify(e)})}])},19813,e=>{"use strict";var t=e.i(66499),i=e.i(71800),n=e.i(65458);function a({suggestions:e,onPick:i,compact:s=!1,className:o}){return(0,t.jsx)("div",{className:(0,n.cn)("flex flex-wrap justify-center",s?"gap-1.5":"gap-2",o),children:e.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>i(e),className:(0,n.cn)("rounded-full border border-border/70 bg-card text-muted-foreground shadow-sm transition-all hover:-translate-y-0.5 hover:border-brand/60 hover:text-foreground hover:shadow-md",s?"px-2.5 py-1 text-xs":"px-3.5 py-1.5 text-sm"),children:e},e))})}var s=e.i(35887);e.s(["CopilotEmptyState",0,function({icon:e,title:i,description:a,className:s}){return(0,t.jsxs)("div",{className:(0,n.cn)("flex flex-col items-center gap-2.5 rounded-md border border-border/70 bg-muted/20 px-4 py-8 text-center",s),children:[(0,t.jsx)("div",{className:"flex size-9 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,t.jsx)(e,{className:"size-4","aria-hidden":"true"})}),(0,t.jsx)("p",{className:"text-sm font-medium",children:i}),a&&(0,t.jsx)("p",{className:"max-w-sm text-xs leading-relaxed text-muted-foreground",children:a})]})},"CopilotWelcomeState",0,function({onSuggestion:e,compact:o=!1,className:r}){let{t:l}=(0,s.useLanguage)(),c=[l("copilot.suggestion1"),l("copilot.suggestion2"),l("copilot.suggestion3")];return o?(0,t.jsxs)("div",{className:(0,n.cn)("flex h-full flex-col items-center justify-center gap-3 text-center",r),children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:l("copilot.welcomeTitle")}),(0,t.jsx)("p",{className:"mt-1 max-w-xs text-xs text-muted-foreground",children:l("copilot.welcomeSubtitle")})]}),(0,t.jsx)(a,{suggestions:c,onPick:e,compact:!0})]}):(0,t.jsxs)("div",{className:(0,n.cn)("flex h-full flex-col items-center justify-center gap-5 py-10 text-center",r),children:[(0,t.jsx)("span",{className:"flex size-12 items-center justify-center rounded-xl border border-border/60 bg-muted/60 shadow-inner",children:(0,t.jsx)(i.Bot,{className:"size-6 text-muted-foreground"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-base font-semibold",children:l("copilot.welcomeTitle")}),(0,t.jsx)("p",{className:"mx-auto mt-1.5 max-w-md text-sm leading-relaxed text-muted-foreground",children:l("copilot.welcomeSubtitle")})]}),(0,t.jsx)(a,{suggestions:c,onPick:e})]})}],19813)},41081,99831,e=>{"use strict";var t=e.i(66499),i=e.i(79923),n=e.i(85426),a=e.i(78717),s=e.i(6270),o=e.i(44269),r=e.i(9939),l=e.i(62918),c=e.i(81622),d=e.i(26624),u=e.i(46131),p=e.i(35887),m=e.i(25284),x=e.i(47721),h=e.i(92608);let f="/api/v1/copilot",v=e=>`${f}/skills/${encodeURIComponent(e)}`,b=e=>`${f}/connections/${encodeURIComponent(e)}`,g=["copilot","skills"];e.s(["adoptBuiltinSkill",0,(e,t,i)=>(0,x.fetchJson)(`${v(e)}/adopt-builtin`,{method:"POST",body:JSON.stringify({expectedRevisionId:t,version:i})}),"copilotConnectionsKey",0,["copilot","connections"],"copilotSkillsKey",0,g,"createCopilotConnection",0,e=>(0,x.fetchJson)(`${f}/connections`,{method:"POST",body:JSON.stringify(e)}),"deleteCopilotConnection",0,(e,t)=>(0,x.fetchJson)(`${b(e)}?revision=${t}`,{method:"DELETE"}),"discoverCopilotConnection",0,(e,t)=>(0,x.fetchJson)(`${b(e)}/discover`,{method:"POST",body:JSON.stringify({revision:t})}),"getCopilotSkill",0,e=>(0,x.fetchJson)(v(e)),"getSkillRevision",0,(e,t)=>(0,x.fetchJson)(`${v(e)}/revisions/${encodeURIComponent(t)}`),"importCopilotSkill",0,e=>(0,x.fetchJson)(`${f}/skills/imports`,{method:"POST",body:JSON.stringify(e)}),"listCopilotConnections",0,()=>(0,x.fetchJson)(`${f}/connections`),"listCopilotSkills",0,()=>(0,x.fetchJson)(`${f}/skills`),"listSkillRevisions",0,e=>(0,x.fetchJson)(`${v(e)}/revisions`),"rollbackCopilotSkill",0,(e,t,i)=>(0,x.fetchJson)(`${v(e)}/rollback`,{method:"POST",body:JSON.stringify({revisionId:t,expectedRevisionId:i})}),"setCopilotSkillEnabled",0,(e,t,i)=>(0,x.fetchJson)(`${v(e)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:t,expectedRevisionId:i})}),"updateCopilotConnection",0,(e,t)=>(0,x.fetchJson)(b(e),{method:"PUT",body:JSON.stringify(t)}),"updateCopilotSkill",0,(e,t)=>(0,x.fetchJson)(v(e),{method:"PUT",body:JSON.stringify(t)})],99831);let y=["model-providers"],j=["copilot","capabilities"],k=["copilot","preferences"],C=["off","low","medium","high"],S="__default_model__";function w({title:e,tools:i,pending:n,onToggle:a}){return(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold tracking-wide text-muted-foreground/70 uppercase",children:e}),i.map(e=>(0,t.jsx)(N,{tool:e,pending:n,onToggle:t=>a(e.name,t)},e.name))]})}function N({tool:e,pending:i,onToggle:n}){let{t:a}=(0,p.useLanguage)(),s=`copilot.toolDesc.${e.name}`,o=a(s),c=o===s?e.description:o;return(0,t.jsxs)("div",{className:`flex items-start justify-between gap-3 rounded-md border border-border/70 bg-card px-3 py-2 transition-opacity ${e.enabled&&e.available?"":"opacity-60"}`,"data-testid":`tool-row-${e.name}`,children:[(0,t.jsxs)("div",{className:"min-w-0 space-y-0.5",children:[(0,t.jsxs)("p",{className:"flex flex-wrap items-center gap-1.5 text-xs font-medium",children:[(0,t.jsx)(r.Wrench,{className:"size-3 shrink-0 text-muted-foreground","aria-hidden":"true"}),(0,t.jsx)("span",{className:"font-mono",children:e.name}),"operate"===e.risk?(0,t.jsx)(l.Badge,{variant:"outline",className:"border-amber-500/50 px-1 py-0 text-[10px] text-amber-500",children:"operate"}):null,e.requiresApproval&&e.available?(0,t.jsx)(l.Badge,{variant:"outline",className:"px-1 py-0 text-[10px] text-muted-foreground",children:a("copilot.toolAuthorization")}):null]}),(0,t.jsx)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:c}),e.available?null:(0,t.jsxs)("p",{className:"text-xs text-amber-500",children:[a("copilot.toolUnavailable"),": ",e.unavailableReason??a("copilot.toolUnavailable")]})]}),(0,t.jsx)(d.Switch,{"aria-label":e.name,size:"sm",className:"mt-0.5 shrink-0",disabled:i||!e.available,checked:e.enabled,onCheckedChange:n})]})}e.s(["CapabilitiesSection",0,function({active:e}){let{t:r}=(0,p.useLanguage)(),l=(0,s.useQueryClient)(),[d,u]=(0,i.useState)(""),x=(0,a.useQuery)({queryKey:j,queryFn:h.getCopilotCapabilities,enabled:e,retry:!1}),f=(0,n.useMutation)({mutationFn:({name:e,enabled:t})=>(0,h.setCopilotToolEnabled)(e,t),onSuccess:()=>{l.invalidateQueries({queryKey:j}),l.invalidateQueries({queryKey:g})},onError:()=>m.toast.error(r("copilot.capabilitiesToggleError"))}),v=(0,i.useRef)(!1);(0,i.useEffect)(()=>{x.isError&&!v.current&&(v.current=!0,m.toast.error(r("copilot.capabilitiesLoadError"))),x.isError||(v.current=!1)},[x.isError,r]);let b=x.data?.tools??[],y=d.trim().toLowerCase(),k=y?b.filter(e=>`${e.name} ${e.description}`.toLowerCase().includes(y)):b,C=k.filter(e=>"operate"===e.risk),S=k.filter(e=>"operate"!==e.risk);return(0,t.jsxs)("section",{className:"space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:r("copilot.capabilities")}),x.isPending||x.isError||!(b.length>0)?null:(0,t.jsxs)("div",{className:"relative w-48 max-w-full",children:[(0,t.jsx)(o.Search,{className:"absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-foreground","aria-hidden":"true"}),(0,t.jsx)(c.Input,{value:d,onChange:e=>u(e.target.value),placeholder:r("copilot.toolsSearch"),className:"h-8 pl-8 text-xs"})]})]}),x.isPending?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:r("common.loading")}):x.isError?null:0===b.length?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:r("copilot.capabilitiesEmpty")}):0===k.length?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:r("copilot.toolsSearchEmpty")}):(0,t.jsxs)("div",{className:"space-y-3",children:[C.length>0?(0,t.jsx)(w,{title:r("copilot.toolGroupOperate"),tools:C,pending:f.isPending,onToggle:(e,t)=>f.mutate({name:e,enabled:t})}):null,S.length>0?(0,t.jsx)(w,{title:r("copilot.toolGroupRead"),tools:S,pending:f.isPending,onToggle:(e,t)=>f.mutate({name:e,enabled:t})}):null]})]})},"CopilotStatusBar",0,function({onModelChange:e,controlsDisabled:o,onSavingChange:r}){let{t:c}=(0,p.useLanguage)(),d=(0,s.useQueryClient)(),f=(0,a.useQuery)({queryKey:y,queryFn:x.listModelProviders}),v=(0,a.useQuery)({queryKey:k,queryFn:h.getCopilotPreferences,retry:!1}),b=(f.data?.models??[]).filter(e=>"disabled"!==e.status),g=v.isSuccess,j=b.find(e=>e.isDefault)??b[0],w=v.data?.modelId??null,N=(w?b.find(e=>e.id===w):void 0)??j,T=N?`${N.providerName} / ${N.name}`:c("copilot.followSystemDefault"),E=j?`${j.providerName} / ${j.name}`:null,P=(0,n.useMutation)({mutationFn:h.updateCopilotPreferences,onSuccess:t=>{d.setQueryData(k,t),e?.(t.modelId),d.invalidateQueries({queryKey:k})},onError:()=>m.toast.error(c("copilot.preferencesFailed"))}),R=(0,i.useRef)(!1);(0,i.useEffect)(()=>{v.isError&&!R.current&&(R.current=!0,m.toast.error(c("copilot.loadError"))),v.isError||(R.current=!1)},[v.isError,c]),(0,i.useEffect)(()=>{g&&e?.(w)},[g,w,e]),(0,i.useEffect)(()=>{r?.(P.isPending)},[P.isPending,r]);let I=(0,i.useRef)(null);return(0,i.useEffect)(()=>{if(f.data&&w&&e){if(b.some(e=>e.id===w)){I.current=null;return}I.current!==w&&(I.current=w,e(null),P.mutate({modelId:null}))}},[f.data,w,e]),(0,t.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-x-2 gap-y-1 border-b px-3 py-1.5 text-xs text-muted-foreground","data-testid":"copilot-status-bar",children:[(0,t.jsx)("span",{className:"sr-only shrink-0 sm:not-sr-only",children:c("copilot.currentModel")}),e?(0,t.jsxs)(u.Select,{value:w??S,disabled:!g||P.isPending||o,onValueChange:e=>{P.mutate({modelId:e===S?null:e})},children:[(0,t.jsx)(u.SelectTrigger,{"aria-label":c("copilot.currentModel"),size:"sm",className:"min-w-0 max-w-64 flex-1 text-xs sm:flex-none",children:(0,t.jsx)(u.SelectValue,{})}),(0,t.jsxs)(u.SelectContent,{children:[(0,t.jsxs)(u.SelectItem,{value:S,children:[c("copilot.followSystemDefault"),E?`(${E})`:""]}),b.map(e=>(0,t.jsxs)(u.SelectItem,{value:e.id,children:[e.providerName," / ",e.name]},e.id))]})]}):(0,t.jsx)("span",{className:"truncate",children:T}),(0,t.jsx)("span",{className:"sr-only shrink-0 sm:not-sr-only",children:c("copilot.thinkingEffort")}),(0,t.jsxs)(u.Select,{value:v.data?.thinkingEffort??"off",disabled:!g||P.isPending||o,onValueChange:e=>{P.mutate({thinkingEffort:e})},children:[(0,t.jsx)(u.SelectTrigger,{"aria-label":c("copilot.thinkingEffort"),size:"sm",className:"text-xs",children:(0,t.jsx)(u.SelectValue,{})}),(0,t.jsx)(u.SelectContent,{children:C.map(e=>(0,t.jsx)(u.SelectItem,{value:e,children:c(`copilot.thinking${e.charAt(0).toUpperCase()}${e.slice(1)}`)},e))})]}),(0,t.jsxs)(l.Badge,{variant:"secondary",className:"ml-auto hidden gap-1.5 whitespace-nowrap sm:inline-flex",children:[(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-emerald-500"}),c("copilot.nativeRuntime")]})]})},"copilotPreferencesQueryKey",0,k,"modelProvidersQueryKey",0,y],41081)},90280,e=>{"use strict";var t=e.i(66499),i=e.i(38011),n=e.i(79923),a=e.i(67928),s=e.i(43250),o=e.i(91967),r=e.i(17256),l=e.i(84017),c=e.i(61614),d=e.i(90088),u=e.i(80939),p="Checkbox",[m,x]=(0,s.createContextScope)(p),[h,f]=m(p);function v(e){let{__scopeCheckbox:i,checked:a,children:s,defaultChecked:o,disabled:l,form:c,name:d,onCheckedChange:u,required:m,value:x="on",internal_do_not_use_render:f}=e,[v,b]=(0,r.useControllableState)({prop:a,defaultProp:o??!1,onChange:u,caller:p}),[g,y]=n.useState(null),[j,k]=n.useState(null),C=n.useRef(!1),S=!g||!!c||!!g.closest("form"),N={checked:v,disabled:l,setChecked:b,control:g,setControl:y,name:d,form:c,value:x,hasConsumerStoppedPropagationRef:C,required:m,defaultChecked:!w(o)&&o,isFormControl:S,bubbleInput:j,setBubbleInput:k};return(0,t.jsx)(h,{scope:i,...N,children:"function"==typeof f?f(N):s})}var b="CheckboxTrigger",g=n.forwardRef(({__scopeCheckbox:e,onKeyDown:i,onClick:s,...r},l)=>{let{control:c,value:d,disabled:p,checked:m,required:x,setControl:h,setChecked:v,hasConsumerStoppedPropagationRef:g,isFormControl:y,bubbleInput:j}=f(b,e),k=(0,a.useComposedRefs)(l,h),C=n.useRef(m);return n.useEffect(()=>{let e=c?.form;if(e){let t=()=>v(C.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[c,v]),(0,t.jsx)(u.Primitive.button,{type:"button",role:"checkbox","aria-checked":w(m)?"mixed":m,"aria-required":x,"data-state":N(m),"data-disabled":p?"":void 0,disabled:p,value:d,...r,ref:k,onKeyDown:(0,o.composeEventHandlers)(i,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,o.composeEventHandlers)(s,e=>{v(e=>!!w(e)||!e),j&&y&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})})});g.displayName=b;var y=n.forwardRef((e,i)=>{let{__scopeCheckbox:n,name:a,checked:s,defaultChecked:o,required:r,disabled:l,value:c,onCheckedChange:d,form:u,...p}=e;return(0,t.jsx)(v,{__scopeCheckbox:n,checked:s,defaultChecked:o,disabled:l,required:r,onCheckedChange:d,name:a,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g,{...p,ref:i,__scopeCheckbox:n}),e&&(0,t.jsx)(S,{__scopeCheckbox:n})]})})});y.displayName=p;var j="CheckboxIndicator",k=n.forwardRef((e,i)=>{let{__scopeCheckbox:n,forceMount:a,...s}=e,o=f(j,n);return(0,t.jsx)(d.Presence,{present:a||w(o.checked)||!0===o.checked,children:(0,t.jsx)(u.Primitive.span,{"data-state":N(o.checked),"data-disabled":o.disabled?"":void 0,...s,ref:i,style:{pointerEvents:"none",...e.style}})})});k.displayName=j;var C="CheckboxBubbleInput",S=n.forwardRef(({__scopeCheckbox:e,...i},s)=>{let{control:o,hasConsumerStoppedPropagationRef:r,checked:d,defaultChecked:p,required:m,disabled:x,name:h,value:v,form:b,bubbleInput:g,setBubbleInput:y}=f(C,e),j=(0,a.useComposedRefs)(s,y),k=(0,l.usePrevious)(d),S=(0,c.useSize)(o);n.useEffect(()=>{if(!g)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!r.current;if(k!==d&&e){let i=new Event("click",{bubbles:t});g.indeterminate=w(d),e.call(g,!w(d)&&d),g.dispatchEvent(i)}},[g,k,d,r]);let N=n.useRef(!w(d)&&d);return(0,t.jsx)(u.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:p??N.current,required:m,disabled:x,name:h,value:v,form:b,...i,tabIndex:-1,ref:j,style:{...i.style,...S,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function w(e){return"indeterminate"===e}function N(e){return w(e)?"indeterminate":e?"checked":"unchecked"}S.displayName=C,e.s(["Checkbox",0,y,"CheckboxIndicator",0,k,"Indicator",0,k,"Root",0,y,"createCheckboxScope",0,x,"unstable_BubbleInput",0,S,"unstable_CheckboxBubbleInput",0,S,"unstable_CheckboxProvider",0,v,"unstable_CheckboxTrigger",0,g,"unstable_Provider",0,v,"unstable_Trigger",0,g],36380);var T=e.i(36380),T=T,E=e.i(65458);e.s(["Checkbox",0,function({className:e,...n}){return(0,t.jsx)(T.Root,{"data-slot":"checkbox",className:(0,E.cn)("peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:data-[state=checked]:bg-primary dark:aria-invalid:ring-destructive/40",e),...n,children:(0,t.jsx)(T.Indicator,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:(0,t.jsx)(i.CheckIcon,{className:"size-3.5"})})})}],90280)},89176,e=>{"use strict";let t=(0,e.i(65174).default)("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);e.s(["Plug",0,t],89176)},81007,e=>{"use strict";let t=(0,e.i(65174).default)("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);e.s(["BookOpen",0,t],81007)},15044,e=>{"use strict";var t=e.i(35887);let i={effectiveUnavailable:"已开启,但当前不可用",customized:"自定义内容",reviewedAgainst:"已核对内置版本",updateHelp:"已保留当前内容。核对完成前,Copilot 不会加载此 Skill。请对照新版,选择采用新版或保留编辑后的内容。",currentPackage:"当前文件包",bundledPackage:"内置新版",adoptBuiltin:"采用内置新版",adoptHelp:"采用新版将替换整个文件包,包括附加文件。原内容保留在版本记录中,可回滚;启用开关保持不变。",acknowledge:"我已对照新版核对当前编辑内容",keepReviewed:"保留编辑内容并完成核对",clearCredential:"移除已保存凭证",title:"Copilot 扩展",description:"安装 Skills,连接工具服务,扩展 Copilot 的工作能力。",back:"返回设置",skills:"Skills",connections:"Connections",loading:"加载中…",retry:"重试",cancel:"取消",save:"保存",close:"关闭",error:"操作失败。请重试;如配置或版本已变化,请刷新后重新核对。",loadError:"加载失败,请重试。",skillsHelp:"Skills 提供操作指引和参考文件。这里的启用状态独立于 CLI Skills。",emptySkills:"尚未安装 Skill。",importSkill:"导入 Skill",builtin:"内置",imported:"已导入",playbook:"内置 Playbook",enabled:"已启用",disabled:"已停用",unavailable:"当前不可用",incompatible:"不兼容",review:"待核对内置更新",dependencies:"依赖工具",detail:"详情与版本",source:"来源",files:"文件",version:"版本",history:"版本记录",saveSkill:"保存完整文件包",rollback:"回滚到此版本",rollbackConfirm:"确认回滚",rollbackHelp:"回滚将创建新的完整文件包版本,并保留现有历史。",noHistory:"暂无版本记录。",builtinReview:"普通保存只保存编辑内容,不代表已核对内置更新。Skill 指引不会授予工具权限。",paste:"粘贴 SKILL.md",upload:"选择文件包",url:"公开 raw URL",importMethod:"导入方式",chooseFiles:"选择文件",chooseFolder:"选择文件夹",importHelp:"文件包需包含根目录 SKILL.md。支持最多 65 个 UTF-8 文本文件、每文件 128 KiB、总计 1 MiB。脚本及执行型扩展会标为不兼容。",fileError:"文件包无效:请检查根目录 SKILL.md、UTF-8 编码、路径及大小限制。",urlHelp:"公开 HTTPS raw URL 导入单个 SKILL.md;配套文件请通过文件包一并导入。",install:"导入并保留为停用",edit:"编辑",importContent:"SKILL.md 正文",selectedFiles:"已选择文件",connectionsHelp:"Connection 提供 Copilot 可调用的工具。工具启用状态在各 Connection 中管理。",builtinHelp:"ForgeBadger 平台内置工具,沿用现有项目授权和逐项审批。",manageTools:"管理工具",addConnection:"添加 MCP Connection",emptyConnections:"尚未添加外部 Connection。",name:"名称",endpoint:"HTTPS 端点",bearer:"Bearer Token(可选,仅写入)",credentialSet:"凭证已配置",credentialKeep:"留空保留已有凭证",connectHelp:"支持公开 HTTPS 的 MCP Streamable HTTP 服务。创建后先发现工具,再明确选择允许 Copilot 使用的工具。",remoteApproval:"外部工具调用需逐项审批;项目授权和定时任务不会自动获得调用权限。",discover:"发现工具",notDiscovered:"尚未发现工具",noTools:"服务未返回工具。",selectTools:"选择工具",saveTools:"保存工具选择",delete:"删除",deleteConfirm:"确认删除此 Connection?",editConnection:"编辑连接",create:"创建连接",tools:"工具",configurationHelp:"更换端点或凭证会清空已发现工具,需要重新发现并选择。",schema:"输入参数",revision:"修订",refreshing:"处理中…"},n={effectiveUnavailable:"Switched on, but unavailable",customized:"Customized",reviewedAgainst:"Reviewed against bundled version",updateHelp:"Your content is preserved. Copilot cannot load this Skill until reviewed. Compare with the new bundle, then adopt it or retain your edited content.",currentPackage:"Current package",bundledPackage:"New bundled package",adoptBuiltin:"Adopt bundled version",adoptHelp:"Adopting replaces the entire package, including extra files. Previous content remains in version history for rollback; the enabled switch stays unchanged.",acknowledge:"I have compared my edited content with the new bundle",keepReviewed:"Keep edited content and confirm review",clearCredential:"Remove saved credential",title:"Copilot extensions",description:"Install Skills and connect tool services to extend Copilot.",back:"Back to settings",skills:"Skills",connections:"Connections",loading:"Loading…",retry:"Retry",cancel:"Cancel",save:"Save",close:"Close",error:"Action failed. Retry, or refresh and review if the configuration or revision changed.",loadError:"Failed to load. Please retry.",skillsHelp:"Skills provide instructions and reference files. Their switches are independent from CLI Skills.",emptySkills:"No Skills installed.",importSkill:"Import Skill",builtin:"Built-in",imported:"Imported",playbook:"Built-in Playbook",enabled:"Enabled",disabled:"Disabled",unavailable:"Unavailable",incompatible:"Incompatible",review:"Version review required",dependencies:"Required tools",detail:"Details and versions",source:"Source",files:"Files",version:"Version",history:"Version history",saveSkill:"Save complete package",rollback:"Roll back to this version",rollbackConfirm:"Confirm rollback",rollbackHelp:"Rollback creates a new complete package revision and preserves existing history.",noHistory:"No revisions yet.",builtinReview:"Saving edits does not acknowledge a bundled update. Skill instructions do not grant tool permissions.",paste:"Paste SKILL.md",upload:"Select file bundle",url:"Public raw URL",importMethod:"Import method",chooseFiles:"Choose files",chooseFolder:"Choose folder",importHelp:"Include SKILL.md at the package root. Up to 65 UTF-8 text files, 128 KiB per file, 1 MiB total. Scripts and executable extensions are marked incompatible.",fileError:"Invalid package: check root SKILL.md, UTF-8 encoding, paths, and size limits.",urlHelp:"A public HTTPS raw URL imports one SKILL.md. Include supporting files through a file bundle.",install:"Import as disabled",edit:"Edit",importContent:"SKILL.md content",selectedFiles:"Selected files",connectionsHelp:"Connections provide callable tools. Manage tool switches within each Connection.",builtinHelp:"Built-in ForgeBadger platform tools retain project autonomy checks and exact approvals.",manageTools:"Manage tools",addConnection:"Add MCP connection",emptyConnections:"No external Connections added.",name:"Name",endpoint:"HTTPS endpoint",bearer:"Bearer Token (optional, write-only)",credentialSet:"Credential configured",credentialKeep:"Leave blank to keep the saved credential",connectHelp:"Supports public HTTPS MCP Streamable HTTP services. Discover tools after creation, then explicitly select tools for Copilot.",remoteApproval:"External tool calls require exact approval. Project autonomy and scheduled tasks do not grant access.",discover:"Discover tools",notDiscovered:"Tools not discovered",noTools:"The service returned no tools.",selectTools:"Select tools",saveTools:"Save tool selection",delete:"Delete",deleteConfirm:"Delete this Connection?",editConnection:"Edit connection",create:"Create connection",tools:"Tools",configurationHelp:"Changing the endpoint or credential clears discovered tools. Discover and select them again.",schema:"Input schema",revision:"Revision",refreshing:"Working…"},a={...i,effectiveUnavailable:"已開啟,但目前不可用",customized:"自訂內容",reviewedAgainst:"已核對內建版本",source:"來源",updateHelp:"已保留目前內容。核對完成前,Copilot 不會載入此 Skill。請對照新版,選擇採用新版或保留編輯後的內容。",currentPackage:"目前檔案包",bundledPackage:"內建新版",adoptBuiltin:"採用內建新版",adoptHelp:"採用新版將取代整個檔案包,包括附加檔案。原內容保留在版本紀錄中,可還原;啟用開關保持不變。",acknowledge:"我已對照新版核對目前編輯內容",keepReviewed:"保留編輯內容並完成核對",clearCredential:"移除已儲存憑證",title:"Copilot 擴充",description:"安裝 Skills,連接工具服務,擴充 Copilot 的工作能力。",back:"返回設定",loading:"載入中…",retry:"重試",save:"儲存",close:"關閉",error:"操作失敗。請重試;如設定或版本已變更,請重新整理後核對。",loadError:"載入失敗,請重試。",skillsHelp:"Skills 提供操作指引和參考檔案。這裡的啟用狀態獨立於 CLI Skills。",emptySkills:"尚未安裝 Skill。",importSkill:"匯入 Skill",builtin:"內建",imported:"已匯入",playbook:"內建 Playbook",enabled:"已啟用",disabled:"已停用",unavailable:"目前不可用",review:"待核對內建更新",dependencies:"依賴工具",detail:"詳情與版本",files:"檔案",history:"版本紀錄",saveSkill:"儲存完整檔案包",rollback:"還原到此版本",rollbackConfirm:"確認還原",rollbackHelp:"還原將建立新的完整檔案包版本,並保留現有歷史。",noHistory:"暫無版本紀錄。",builtinReview:"一般儲存僅儲存編輯內容,不代表已核對內建更新。Skill 指引不會授予工具權限。",paste:"貼上 SKILL.md",upload:"選擇檔案包",url:"公開 raw URL",importMethod:"匯入方式",chooseFiles:"選擇檔案",chooseFolder:"選擇資料夾",importHelp:"檔案包需包含根目錄 SKILL.md。支援最多 65 個 UTF-8 文字檔案、每檔案 128 KiB、總計 1 MiB。指令碼及執行型擴充會標為不相容。",fileError:"檔案包無效:請檢查根目錄 SKILL.md、UTF-8 編碼、路徑及大小限制。",urlHelp:"公開 HTTPS raw URL 匯入單個 SKILL.md;配套檔案請透過檔案包一併匯入。",install:"匯入並保留為停用",edit:"編輯",importContent:"SKILL.md 內文",selectedFiles:"已選擇檔案",incompatible:"不相容",connectionsHelp:"Connection 提供 Copilot 可呼叫的工具。工具啟用狀態在各 Connection 中管理。",builtinHelp:"ForgeBadger 平台內建工具,沿用現有專案授權和逐項審核。",addConnection:"新增 MCP Connection",emptyConnections:"尚未新增外部 Connection。",name:"名稱",endpoint:"HTTPS 端點",bearer:"Bearer Token(可選,僅寫入)",credentialSet:"憑證已設定",credentialKeep:"留空保留已有憑證",connectHelp:"支援公開 HTTPS 的 MCP Streamable HTTP 服務。建立後先探索工具,再明確選擇允許 Copilot 使用的工具。",remoteApproval:"外部工具呼叫需逐項審核;專案授權和排程任務不會自動獲得呼叫權限。",discover:"探索工具",notDiscovered:"尚未探索工具",noTools:"服務未傳回工具。",selectTools:"選擇工具",saveTools:"儲存工具選擇",delete:"刪除",deleteConfirm:"確認刪除此 Connection?",editConnection:"編輯連線",create:"建立連線",configurationHelp:"更換端點或憑證會清空已探索工具,需要重新探索並選擇。",schema:"輸入參數",revision:"修訂",refreshing:"處理中…"};e.s(["useExtensionsCopy",0,function(){let{language:e}=(0,t.useLanguage)();return"en"===e?n:"zh-TW"===e?a:i}])},32148,e=>{"use strict";var t=e.i(66499),i=e.i(78717),n=e.i(81007),a=e.i(89176),s=e.i(62918),o=e.i(12057),r=e.i(79923),l=e.i(6270),c=e.i(7329),d=e.i(9939),u=e.i(60218),p=e.i(90280),m=e.i(9988),x=e.i(81622),h=e.i(26624),f=e.i(41081),v=e.i(19813),b=e.i(15044),g=e.i(99831);function y(){let e=(0,b.useExtensionsCopy)(),[n,o]=(0,r.useState)(!1),[l,p]=(0,r.useState)(!1),x=(0,i.useQuery)({queryKey:g.copilotConnectionsKey,queryFn:g.listCopilotConnections,retry:!1}),h=x.data?.connections.filter(e=>"mcp"===e.kind)??[];return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e.connectionsHelp}),(0,t.jsxs)(u.Button,{size:"sm",onClick:()=>o(!0),children:[(0,t.jsx)(c.Plus,{className:"size-4"}),e.addConnection]})]}),(0,t.jsxs)("section",{className:"forgebadger-animate-in space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Wrench,{className:"size-4 text-brand"}),(0,t.jsx)("h2",{className:"font-medium",children:"ForgeBadger"}),(0,t.jsx)(s.Badge,{variant:"secondary",children:e.builtin})]}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e.builtinHelp}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:()=>p(!0),children:e.manageTools})]}),x.isPending?(0,t.jsx)("p",{children:e.loading}):x.isError?(0,t.jsxs)("div",{role:"alert",className:"space-y-2 text-sm text-destructive",children:[(0,t.jsx)("p",{children:e.loadError}),(0,t.jsx)(u.Button,{variant:"outline",size:"sm",onClick:()=>void x.refetch(),children:e.retry})]}):0===h.length?(0,t.jsx)(v.CopilotEmptyState,{icon:a.Plug,title:e.emptyConnections,description:e.connectionsHelp}):h.map(e=>(0,t.jsx)(C,{connection:e},`${e.id}:${e.revision}`)),(0,t.jsx)(m.Dialog,{open:l,onOpenChange:p,children:(0,t.jsxs)(m.DialogContent,{className:"max-h-[85vh] overflow-y-auto sm:max-w-3xl",children:[(0,t.jsxs)(m.DialogHeader,{children:[(0,t.jsxs)(m.DialogTitle,{children:["ForgeBadger · ",e.tools]}),(0,t.jsx)(m.DialogDescription,{children:e.builtinHelp})]}),(0,t.jsx)(f.CapabilitiesSection,{active:l})]})}),(0,t.jsx)(m.Dialog,{open:n,onOpenChange:o,children:(0,t.jsxs)(m.DialogContent,{className:"max-h-[calc(100dvh-2rem)] overflow-y-auto",children:[(0,t.jsxs)(m.DialogHeader,{children:[(0,t.jsx)(m.DialogTitle,{children:e.addConnection}),(0,t.jsx)(m.DialogDescription,{children:e.connectHelp})]}),n&&(0,t.jsx)(k,{onDone:()=>o(!1)})]})})]})}function j(){let e=(0,l.useQueryClient)();return async()=>{await Promise.all([e.invalidateQueries({queryKey:g.copilotConnectionsKey}),e.invalidateQueries({queryKey:g.copilotSkillsKey})])}}function k({connection:e,onDone:i}){let n=(0,b.useExtensionsCopy)(),a=j(),[s,o]=(0,r.useState)(e?.name??""),[l,c]=(0,r.useState)(e?.endpoint??""),[d]=(0,r.useState)(e?.revision),[m,h]=(0,r.useState)(""),[f,v]=(0,r.useState)(!1),[y,C]=(0,r.useState)(!1),[S,w]=(0,r.useState)(!1);async function N(){if(!y){h(""),C(!0),w(!1);try{let t={name:s.trim(),endpoint:l.trim()};e&&void 0!==d?await (0,g.updateCopilotConnection)(e.id,{revision:d,...t,...f?{bearerToken:null}:m?{bearerToken:m}:{}}):await (0,g.createCopilotConnection)({...t,...m?{bearerToken:m}:{}}),await a(),i()}catch{w(!0)}finally{C(!1)}}}return(0,t.jsxs)("form",{className:"space-y-4",onSubmit:e=>{e.preventDefault(),N()},children:[(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{children:n.name}),(0,t.jsx)(x.Input,{required:!0,maxLength:80,value:s,onChange:e=>o(e.target.value),disabled:y})]}),(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{children:n.endpoint}),(0,t.jsx)(x.Input,{required:!0,type:"url",maxLength:2048,pattern:"https://.*",value:l,onChange:e=>c(e.target.value),disabled:y,placeholder:"https://mcp.example.com/mcp"})]}),(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{children:n.bearer}),(0,t.jsx)(x.Input,{type:"password",maxLength:4096,autoComplete:"new-password",value:m,onChange:e=>h(e.target.value),disabled:y||f,placeholder:e?.hasCredential?n.credentialKeep:""})]}),e?.hasCredential&&(0,t.jsxs)("label",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(p.Checkbox,{"aria-label":n.clearCredential,checked:f,disabled:y,onCheckedChange:e=>{v(!0===e),h("")}}),n.clearCredential]}),e&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:n.configurationHelp}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:n.remoteApproval}),S&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:n.error}),(0,t.jsx)(u.Button,{type:"submit",disabled:y,children:y?n.refreshing:e?n.save:n.create})]})}function C({connection:e}){let i=(0,b.useExtensionsCopy)(),n=j(),[o,l]=(0,r.useState)(!1),[c,d]=(0,r.useState)(!1),[x,f]=(0,r.useState)(!1),[v,y]=(0,r.useState)(e.tools.filter(e=>e.enabled).map(e=>e.name)),[S,w]=(0,r.useState)(!1),[N,T]=(0,r.useState)(!1);async function E(e){if(!S){w(!0),T(!1);try{await e(),await n()}catch{T(!0)}finally{w(!1)}}}let P=e.tools.filter(e=>e.enabled&&e.compatible).length;return(0,t.jsxs)("section",{className:"forgebadger-animate-in space-y-3 rounded-lg border border-border bg-card p-4 transition-colors",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(a.Plug,{className:"size-4 shrink-0 text-brand"}),(0,t.jsx)("h2",{className:"break-all font-medium",children:e.name}),(0,t.jsx)(s.Badge,{variant:"outline",children:"MCP"}),(0,t.jsx)(s.Badge,{variant:"secondary",className:e.enabled?"bg-emerald-500/15 text-emerald-400":"text-muted-foreground",children:e.enabled?i.enabled:i.disabled})]}),(0,t.jsx)("p",{className:"break-all text-xs text-muted-foreground",children:e.endpoint})]}),(0,t.jsx)(h.Switch,{"aria-label":e.name,disabled:S,checked:e.enabled,onCheckedChange:t=>void E(()=>(0,g.updateCopilotConnection)(e.id,{revision:e.revision,enabled:t}))})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground",children:["not_discovered"===e.status?(0,t.jsx)(s.Badge,{variant:"secondary",className:"bg-amber-500/15 text-amber-400",children:i.notDiscovered}):(0,t.jsxs)(s.Badge,{variant:"outline",children:[P,"/",e.tools.length," ",i.tools]}),e.hasCredential&&(0,t.jsx)(s.Badge,{variant:"outline",children:i.credentialSet})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:i.remoteApproval}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(u.Button,{size:"sm",variant:"outline",disabled:S,onClick:()=>void E(()=>(0,g.discoverCopilotConnection)(e.id,e.revision)),children:S?i.refreshing:i.discover}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",disabled:S||"ready"!==e.status,onClick:()=>d(e=>!e),children:i.selectTools}),(0,t.jsx)(u.Button,{size:"sm",variant:"ghost",disabled:S,onClick:()=>l(!0),children:i.edit}),(0,t.jsx)(u.Button,{size:"sm",variant:"ghost",disabled:S,onClick:()=>f(!0),children:i.delete})]}),c&&(0,t.jsxs)("div",{className:"space-y-3 border-t border-border/70 pt-3",children:[0===e.tools.length&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:i.noTools}),e.tools.map(e=>(0,t.jsxs)("div",{className:"space-y-1 rounded-md border border-border/70 p-3",children:[(0,t.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,t.jsx)(p.Checkbox,{"aria-label":e.name,checked:v.includes(e.name),disabled:S||!e.compatible,onCheckedChange:t=>y(i=>!0===t?[...i,e.name]:i.filter(t=>t!==e.name))}),(0,t.jsxs)("span",{className:"min-w-0",children:[(0,t.jsx)("span",{className:"break-all font-mono",children:e.name}),(0,t.jsx)("span",{className:"mt-1 block text-xs text-muted-foreground",children:e.description})]})]}),(0,t.jsx)("p",{className:"break-all text-xs text-muted-foreground",children:e.modelName}),!e.compatible&&(0,t.jsxs)("p",{className:"text-xs text-amber-500",children:[i.incompatible,": ",e.unavailableReason]}),(0,t.jsxs)("details",{className:"text-xs text-muted-foreground",children:[(0,t.jsx)("summary",{children:i.schema}),(0,t.jsx)("pre",{className:"mt-2 max-h-40 overflow-auto whitespace-pre-wrap break-all",children:JSON.stringify(e.inputSchema,null,2)})]})]},e.name)),(0,t.jsx)(u.Button,{size:"sm",disabled:S,onClick:()=>void E(()=>(0,g.updateCopilotConnection)(e.id,{revision:e.revision,enabledTools:v})),children:i.saveTools})]}),N&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:i.error}),(0,t.jsx)(m.Dialog,{open:o,onOpenChange:l,children:(0,t.jsxs)(m.DialogContent,{className:"max-h-[calc(100dvh-2rem)] overflow-y-auto",children:[(0,t.jsxs)(m.DialogHeader,{children:[(0,t.jsx)(m.DialogTitle,{children:i.editConnection}),(0,t.jsx)(m.DialogDescription,{children:i.configurationHelp})]}),o&&(0,t.jsx)(k,{connection:e,onDone:()=>l(!1)})]})}),(0,t.jsx)(m.Dialog,{open:x,onOpenChange:f,children:(0,t.jsxs)(m.DialogContent,{className:"max-h-[calc(100dvh-2rem)] overflow-y-auto",children:[(0,t.jsxs)(m.DialogHeader,{children:[(0,t.jsx)(m.DialogTitle,{children:i.deleteConfirm}),(0,t.jsx)(m.DialogDescription,{children:e.name})]}),(0,t.jsx)(u.Button,{variant:"destructive",disabled:S,onClick:()=>void E(()=>(0,g.deleteCopilotConnection)(e.id,e.revision)),children:i.delete}),N&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:i.error})]})})]})}var S=e.i(47849),w=e.i(46131),N=e.i(88010);function T(e){if(!e.length||e.length>65||!e.some(e=>"SKILL.md"===e.path))throw Error("invalid_skill_package");let t=new Set,i=0;for(let n of e){if(!n.path||n.path.startsWith("/")||/[\\\u0000-\u001f:]/.test(n.path)||n.path.split("/").some(e=>!e||"."===e||".."===e)||t.has(n.path))throw Error("invalid_skill_path");t.add(n.path);let e=new TextEncoder().encode(n.content).byteLength;if(i+=e,e>131072||n.content.includes("\0")||i>1048576)throw Error("skill_package_too_large_or_binary")}}async function E(e){let t=Array.from(e);if(t.length>65||t.some(e=>e.size>131072)||t.reduce((e,t)=>e+t.size,0)>1048576)throw Error("skill_package_too_large");let i=t.map(e=>e.webkitRelativePath||e.name),n=i[0]?.split("/")[0],a=n&&i.every(e=>e.startsWith(`${n}/`))&&i.includes(`${n}/SKILL.md`),s=[];for(let[e,o]of t.entries())s.push({path:a?i[e].slice(n.length+1):i[e],content:new TextDecoder("utf-8",{fatal:!0}).decode(await o.arrayBuffer())});return T(s),s}function P({disabled:e,onFiles:i}){let n=(0,b.useExtensionsCopy)(),[a,s]=(0,r.useState)(!1),[o,l]=(0,r.useState)(!1);async function c(e){if(e.files){l(!0),s(!1);try{i(await E(e.files))}catch{s(!0)}finally{l(!1),e.value=""}}}return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("label",{className:"space-y-1 text-xs",children:[(0,t.jsx)("span",{children:n.chooseFiles}),(0,t.jsx)(x.Input,{type:"file",multiple:!0,disabled:e||o,onChange:e=>void c(e.currentTarget)})]}),(0,t.jsxs)("label",{className:"space-y-1 text-xs",children:[(0,t.jsx)("span",{children:n.chooseFolder}),(0,t.jsx)(x.Input,{type:"file",multiple:!0,webkitdirectory:"",disabled:e||o,onChange:e=>void c(e.currentTarget)})]})]}),o&&(0,t.jsx)("p",{className:"text-xs",children:n.loading}),a&&(0,t.jsx)("p",{role:"alert",className:"text-xs text-destructive",children:n.fileError})]})}function R({onDone:e}){let i=(0,b.useExtensionsCopy)(),n=(0,l.useQueryClient)(),[a,s]=(0,r.useState)("paste"),[o,c]=(0,r.useState)(""),[d,p]=(0,r.useState)(""),[m,h]=(0,r.useState)([]),[f,v]=(0,r.useState)(!1),[y,j]=(0,r.useState)(null);async function k(){if(f)return;j(null);let t="paste"===a?[{path:"SKILL.md",content:o}]:m;if("url"!==a)try{T(t)}catch{j(i.fileError);return}v(!0);try{await (0,g.importCopilotSkill)("url"===a?{source:{kind:"url",url:d.trim()}}:{source:{kind:"paste"===a?"paste":"upload"},files:t}),await n.invalidateQueries({queryKey:g.copilotSkillsKey}),e()}catch{j(i.error)}finally{v(!1)}}return(0,t.jsxs)("form",{className:"space-y-4",onSubmit:e=>{e.preventDefault(),k()},children:[(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{children:i.importMethod}),(0,t.jsxs)("select",{"aria-label":i.importMethod,className:"h-9 w-full rounded-md border border-input bg-background px-2",value:a,disabled:f,onChange:e=>{s(e.target.value),j(null)},children:[(0,t.jsx)("option",{value:"paste",children:i.paste}),(0,t.jsx)("option",{value:"upload",children:i.upload}),(0,t.jsx)("option",{value:"url",children:i.url})]})]}),"paste"===a?(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{children:i.importContent}),(0,t.jsx)(N.Textarea,{required:!0,className:"min-h-64 font-mono text-xs",value:o,disabled:f,onChange:e=>c(e.target.value),placeholder:"---\nname: project-review\ndescription: Review project status\n---\n# Project review\n"})]}):"url"===a?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{children:i.url}),(0,t.jsx)(x.Input,{required:!0,type:"url",pattern:"https://.*",value:d,disabled:f,onChange:e=>p(e.target.value),placeholder:"https://example.com/SKILL.md"})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:i.urlHelp})]}):(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(P,{disabled:f,onFiles:h}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[i.selectedFiles,": ",m.length]}),(0,t.jsx)("ul",{className:"max-h-32 overflow-auto text-xs",children:m.map(e=>(0,t.jsx)("li",{className:"break-all font-mono",children:e.path},e.path))})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:i.importHelp}),y&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:y}),(0,t.jsx)(u.Button,{type:"submit",disabled:f||"upload"===a&&!m.length,children:f?i.refreshing:i.install})]})}function I({currentFiles:e,bundled:i,busy:n,editable:a,acknowledged:s,onAcknowledge:o,onAdopt:r,onKeep:l}){let c=(0,b.useExtensionsCopy)();return(0,t.jsxs)("section",{className:"space-y-3 rounded-md border border-border bg-muted/20 p-3",children:[(0,t.jsx)("p",{className:"text-sm",children:c.updateHelp}),(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)(L,{title:c.currentPackage,files:e}),(0,t.jsx)(L,{title:`${c.bundledPackage} v${i.version}`,files:i.files})]}),a&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:c.adoptHelp}),(0,t.jsx)(u.Button,{size:"sm",disabled:n,onClick:r,children:c.adoptBuiltin}),(0,t.jsxs)("div",{className:"space-y-2 border-t border-border/70 pt-3",children:[(0,t.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",className:"mt-1",checked:s,disabled:n,onChange:e=>o(e.target.checked)}),c.acknowledge]}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",className:"h-auto whitespace-normal text-left",disabled:n||!s,onClick:l,children:c.keepReviewed})]})]})]})}function L({title:e,files:i}){return(0,t.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,t.jsx)("h3",{className:"text-sm font-medium",children:e}),(0,t.jsx)("div",{className:"max-h-64 space-y-2 overflow-auto rounded-md border border-border/70 p-2",children:i.map(e=>(0,t.jsxs)("details",{open:"SKILL.md"===e.path,children:[(0,t.jsx)("summary",{className:"break-all font-mono text-xs",children:e.path}),(0,t.jsx)("pre",{className:"whitespace-pre-wrap break-words text-xs [overflow-wrap:anywhere]",children:e.content})]},e.path))})]})}function D(){let e=(0,b.useExtensionsCopy)(),[a,s]=(0,r.useState)(!1),[o,l]=(0,r.useState)(null),d=(0,i.useQuery)({queryKey:g.copilotSkillsKey,queryFn:g.listCopilotSkills,retry:!1});return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e.skillsHelp}),(0,t.jsxs)(u.Button,{size:"sm",onClick:()=>s(!0),children:[(0,t.jsx)(c.Plus,{className:"size-4"}),e.importSkill]})]}),d.isPending?(0,t.jsx)("p",{children:e.loading}):d.isError?(0,t.jsxs)("div",{role:"alert",className:"space-y-2 text-sm text-destructive",children:[(0,t.jsx)("p",{children:e.loadError}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:()=>void d.refetch(),children:e.retry})]}):d.data?.skills.length?d.data.skills.map(e=>(0,t.jsx)(B,{skill:e,onOpen:()=>l(e)},e.id)):(0,t.jsx)(v.CopilotEmptyState,{icon:n.BookOpen,title:e.emptySkills,description:e.skillsHelp}),(0,t.jsx)(m.Dialog,{open:a,onOpenChange:s,children:(0,t.jsxs)(m.DialogContent,{className:"max-h-[90vh] overflow-y-auto sm:max-w-2xl",children:[(0,t.jsxs)(m.DialogHeader,{children:[(0,t.jsx)(m.DialogTitle,{children:e.importSkill}),(0,t.jsx)(m.DialogDescription,{children:e.skillsHelp})]}),a&&(0,t.jsx)(R,{onDone:()=>s(!1)})]})}),(0,t.jsx)(m.Dialog,{open:!!o,onOpenChange:e=>{e||l(null)},children:(0,t.jsxs)(m.DialogContent,{className:"max-h-[90vh] overflow-y-auto sm:max-w-3xl",children:[(0,t.jsxs)(m.DialogHeader,{children:[(0,t.jsx)(m.DialogTitle,{children:o?.name}),(0,t.jsx)(m.DialogDescription,{children:e.detail})]}),o&&(0,t.jsx)(K,{id:o.id})]})})]})}function H({children:e}){return(0,t.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-amber-500/40 bg-amber-500/10 p-3 text-xs text-amber-600 dark:text-amber-400",children:[(0,t.jsx)(S.AlertTriangle,{className:"mt-0.5 size-3.5 shrink-0"}),(0,t.jsx)("span",{className:"min-w-0",children:e})]})}function z({skill:e}){let i=(0,b.useExtensionsCopy)();return(0,t.jsxs)("div",{className:"space-y-1.5 text-xs",children:[(0,t.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,t.jsx)(s.Badge,{variant:"outline",children:"builtin-playbook"===e.kind?i.playbook:i.imported}),(0,t.jsx)(s.Badge,{variant:"secondary",children:e.isEnabled?e.available?i.enabled:i.effectiveUnavailable:i.disabled}),(0,t.jsxs)(s.Badge,{variant:"outline",children:["v",e.version]}),e.customized&&(0,t.jsx)(s.Badge,{variant:"outline",children:i.customized})]}),!e.compatible&&(0,t.jsxs)(H,{children:[i.incompatible,": ",e.incompatibilityReasons.join("; ")]}),e.reviewRequired&&(0,t.jsxs)(H,{children:[i.review,": v",e.reviewedBuiltinVersion??e.version," → v",e.currentVersion]}),e.isEnabled&&!e.available&&!e.reviewRequired&&e.compatible&&(0,t.jsxs)(H,{children:[i.unavailable,": ",e.unavailableReason]}),!e.reviewRequired&&e.customized&&e.reviewedBuiltinVersion&&(0,t.jsxs)("p",{className:"text-muted-foreground",children:[i.reviewedAgainst,": v",e.reviewedBuiltinVersion]}),e.requiredTools.length>0&&(0,t.jsxs)("p",{className:"break-all text-muted-foreground",children:[i.dependencies,": ",e.requiredTools.join(", ")]})]})}function B({skill:e,onOpen:i}){let a=(0,b.useExtensionsCopy)(),s=(0,l.useQueryClient)(),[o,c]=(0,r.useState)(!1),[d,p]=(0,r.useState)(!1);async function m(t){if(!o){c(!0),p(!1);try{await (0,g.setCopilotSkillEnabled)(e.id,t,e.revisionId),await s.invalidateQueries({queryKey:g.copilotSkillsKey})}catch{p(!0)}finally{c(!1)}}}return(0,t.jsxs)("section",{className:"forgebadger-animate-in space-y-3 rounded-lg border border-border bg-card p-4 transition-colors",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,t.jsxs)("h2",{className:"flex items-center gap-2 font-medium",children:[(0,t.jsx)(n.BookOpen,{className:"size-4 shrink-0 text-brand"}),(0,t.jsx)("span",{className:"break-all",children:e.name})]}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e.description})]}),(0,t.jsx)(h.Switch,{"aria-label":e.name,checked:e.isEnabled,disabled:o||!e.editable||!e.isEnabled&&(!e.compatible||e.reviewRequired),onCheckedChange:e=>void m(e)})]}),(0,t.jsx)(z,{skill:e}),(0,t.jsxs)("p",{className:"break-all text-xs text-muted-foreground",children:[a.source,": ",e.source.url??e.source.label??e.source.kind]}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:i,children:a.detail}),d&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:a.error})]})}function K({id:e}){let n=(0,b.useExtensionsCopy)(),a=(0,i.useQuery)({queryKey:[...g.copilotSkillsKey,e],queryFn:()=>(0,g.getCopilotSkill)(e),retry:!1});return a.isPending?(0,t.jsx)("p",{children:n.loading}):a.isError||!a.data?(0,t.jsxs)("div",{role:"alert",className:"space-y-2 text-sm text-destructive",children:[(0,t.jsx)("p",{children:n.loadError}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:()=>void a.refetch(),children:n.retry})]}):(0,t.jsx)(F,{skill:a.data.skill},a.data.skill.revisionId)}function F({skill:e}){let i=(0,b.useExtensionsCopy)(),n=(0,l.useQueryClient)(),[a,s]=(0,r.useState)(e.files),[o,c]=(0,r.useState)("SKILL.md"),[d,p]=(0,r.useState)(!1),[m,x]=(0,r.useState)(null),[h,f]=(0,r.useState)(!1),[v,y]=(0,r.useState)(!1);async function j(t=!1){if(!d&&(!t||v)){x(null);try{T(a)}catch{x(i.fileError);return}p(!0);try{await (0,g.updateCopilotSkill)(e.id,{expectedRevisionId:e.revisionId,files:a,...t?{reviewedVersion:e.currentVersion}:{}}),await n.invalidateQueries({queryKey:g.copilotSkillsKey})}catch{x(i.error)}finally{p(!1)}}}async function k(){if(!d&&e.bundled){p(!0),x(null);try{await (0,g.adoptBuiltinSkill)(e.id,e.revisionId,e.bundled.version),await n.invalidateQueries({queryKey:g.copilotSkillsKey})}catch{x(i.error)}finally{p(!1)}}}return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(z,{skill:e}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-3 text-xs text-muted-foreground",children:[(0,t.jsxs)("span",{children:[i.files,": ",a.length]}),(0,t.jsxs)("span",{children:[i.revision,": ",e.revisionId]})]}),e.reviewRequired&&e.bundled&&(0,t.jsx)(I,{currentFiles:a,bundled:e.bundled,busy:d,editable:e.editable,acknowledged:v,onAcknowledge:y,onAdopt:()=>void k(),onKeep:()=>void j(!0)}),(0,t.jsxs)("div",{className:"space-y-1 text-sm",children:[(0,t.jsx)("span",{children:i.files}),(0,t.jsxs)(w.Select,{value:o,onValueChange:c,children:[(0,t.jsx)(w.SelectTrigger,{"aria-label":i.files,className:"h-9 w-full",children:(0,t.jsx)(w.SelectValue,{})}),(0,t.jsx)(w.SelectContent,{children:a.map(e=>(0,t.jsx)(w.SelectItem,{value:e.path,children:e.path},e.path))})]})]}),(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{className:"break-all font-mono",children:o}),(0,t.jsx)(N.Textarea,{className:"min-h-64 font-mono text-xs",value:a.find(e=>e.path===o)?.content??"",disabled:d||!e.editable,onChange:e=>{y(!1),s(t=>t.map(t=>t.path===o?{...t,content:e.target.value}:t))}})]}),e.editable&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(P,{disabled:d,onFiles:e=>{y(!1),s(e),c("SKILL.md")}}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:i.importHelp}),"builtin-playbook"===e.kind&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:i.builtinReview}),(0,t.jsx)(u.Button,{size:"sm",disabled:d,onClick:()=>void j(),children:d?i.refreshing:i.saveSkill})]}),m&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:m}),(0,t.jsxs)("div",{className:"border-t border-border/70 pt-3",children:[(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:()=>f(e=>!e),children:i.history}),h&&(0,t.jsx)($,{skill:e})]})]})}function $({skill:e}){let a=(0,b.useExtensionsCopy)(),[s,o]=(0,r.useState)(null),l=(0,i.useQuery)({queryKey:[...g.copilotSkillsKey,e.id,"revisions"],queryFn:()=>(0,g.listSkillRevisions)(e.id),retry:!1});return(0,t.jsx)("div",{className:"mt-3 space-y-3",children:l.isPending?(0,t.jsx)("p",{children:a.loading}):l.isError?(0,t.jsxs)("div",{role:"alert",children:[(0,t.jsx)("p",{className:"text-sm text-destructive",children:a.loadError}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:()=>void l.refetch(),children:a.retry})]}):l.data?.revisions.length?l.data.revisions.map(i=>(0,t.jsxs)("div",{className:"space-y-2 rounded-md border border-border/70 p-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsxs)("p",{className:"text-xs",children:["v",i.version," · ",i.action," · ",i.fileCount," ",a.files]}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",disabled:!e.editable||i.id===e.revisionId,onClick:()=>o(e=>e===i.id?null:i.id),children:a.rollback})]}),(0,t.jsxs)("p",{className:"break-all text-xs text-muted-foreground",children:[i.createdAt," · ",i.source.url??i.source.label??i.source.kind]}),s===i.id&&(0,t.jsx)(J,{skill:e,revisionId:i.id})]},i.id)):(0,t.jsx)(v.CopilotEmptyState,{icon:n.BookOpen,title:a.noHistory})})}function J({skill:e,revisionId:n}){let a=(0,b.useExtensionsCopy)(),s=(0,l.useQueryClient)(),[o,c]=(0,r.useState)(!1),[d,p]=(0,r.useState)(!1),m=(0,i.useQuery)({queryKey:[...g.copilotSkillsKey,e.id,"revisions",n],queryFn:()=>(0,g.getSkillRevision)(e.id,n),retry:!1});async function x(){if(!o){c(!0),p(!1);try{await (0,g.rollbackCopilotSkill)(e.id,n,e.revisionId),await s.invalidateQueries({queryKey:g.copilotSkillsKey})}catch{p(!0)}finally{c(!1)}}}return(0,t.jsxs)("div",{className:"space-y-2 border-t border-border/70 pt-2",children:[m.isPending?(0,t.jsx)("p",{children:a.loading}):m.isError?(0,t.jsxs)("div",{role:"alert",className:"space-y-2 text-xs text-destructive",children:[(0,t.jsx)("p",{children:a.loadError}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:()=>void m.refetch(),children:a.retry})]}):m.data&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:a.rollbackHelp}),m.data.revision.files.map(e=>(0,t.jsxs)("details",{className:"text-xs",children:[(0,t.jsx)("summary",{className:"break-all font-mono",children:e.path}),(0,t.jsx)("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap break-all rounded-md bg-muted/30 p-2",children:e.content})]},e.path)),(0,t.jsx)(u.Button,{size:"sm",disabled:o,onClick:()=>void x(),children:a.rollbackConfirm})]}),d&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:a.error})]})}var O=e.i(63134);e.s(["CopilotExtensionsPage",0,function(){let e=(0,b.useExtensionsCopy)(),r=(0,i.useQuery)({queryKey:g.copilotSkillsKey,queryFn:g.listCopilotSkills,retry:!1}),l=(0,i.useQuery)({queryKey:g.copilotConnectionsKey,queryFn:g.listCopilotConnections,retry:!1}),c=r.data?.skills.length,d=l.data?.connections.filter(e=>"mcp"===e.kind).length;return(0,t.jsx)(O.CopilotSettingsShell,{active:"extensions",title:e.title,description:e.description,children:(0,t.jsxs)(o.Tabs,{defaultValue:"skills",className:"forgebadger-animate-in",style:{animationDelay:"120ms"},children:[(0,t.jsxs)(o.TabsList,{"aria-label":e.title,children:[(0,t.jsxs)(o.TabsTrigger,{value:"skills",className:"gap-1.5",children:[(0,t.jsx)(n.BookOpen,{className:"size-3.5"}),e.skills,c?(0,t.jsx)(s.Badge,{variant:"secondary",className:"px-1.5 py-0 text-[10px]",children:c}):null]}),(0,t.jsxs)(o.TabsTrigger,{value:"connections",className:"gap-1.5",children:[(0,t.jsx)(a.Plug,{className:"size-3.5"}),e.connections,d?(0,t.jsx)(s.Badge,{variant:"secondary",className:"px-1.5 py-0 text-[10px]",children:d}):null]})]}),(0,t.jsx)(o.TabsContent,{value:"skills",className:"mt-4",children:(0,t.jsx)(D,{})}),(0,t.jsx)(o.TabsContent,{value:"connections",className:"mt-4",children:(0,t.jsx)(y,{})})]})})}],32148)}]);
|