M AGENTS.md M CLAUDE.md M README.md M agent/analyzer.py A agent/api/__init__.py A agent/api/app.py A agent/api/health.py M agent/chat.py M agent/dashboard/agent_usage.py M agent/dashboard/eval_jobs.py M agent/dashboard/review_api.py M agent/dashboard/review_chat_api.py M agent/dashboard/review_style_jobs.py A agent/graphs/__init__.py A agent/graphs/agent.py A agent/graphs/analyzer.py A agent/graphs/chat.py A agent/graphs/reviewer.py A agent/graphs/scheduler.py M agent/middleware/settle_review_check.py M agent/prompt.py A agent/providers/__init__.py A agent/resources/__init__.py R100 default_prompt.md agent/resources/default_prompt.md A agent/review/__init__.py R098 agent/reviewer_diff.py agent/review/diff.py R100 agent/reviewer_eval_store.py agent/review/eval_store.py R100 agent/reviewer_findings.py agent/review/findings.py R098 agent/reviewer_groups.py agent/review/groups.py R099 agent/reviewer_publish.py agent/review/publish.py R099 agent/reviewer_reconcile.py agent/review/reconcile.py R100 agent/review_style_collector.py agent/review/style_collector.py R100 agent/review_style_guidance.py agent/review/style_guidance.py R098 agent/reviewer_trace_context.py agent/review/trace_context.py M agent/reviewer.py A agent/runtime/__init__.py A agent/runtime/constants.py A agent/runtime/execution.py A agent/runtime/sandbox.py M agent/server.py M agent/tools/add_finding.py M agent/tools/list_findings.py M agent/tools/list_review_findings.py M agent/tools/publish_review.py M agent/tools/reply_to_finding_thread.py M agent/tools/request_pr_review.py M agent/tools/resolve_finding_thread.py M agent/tools/update_finding.py M agent/utils/github_feedback.py M agent/utils/github_org_membership.py M agent/webapp.py A agent/webhooks/common.py M agent/webhooks/github.py A agent/webhooks/github_routes.py M agent/webhooks/linear.py A agent/webhooks/linear_routes.py M agent/webhooks/slack.py A agent/webhooks/slack_routes.py R100 static/dark.svg assets/dark.svg R100 static/light.svg assets/light.svg R099 CUSTOMIZATION.md docs/CUSTOMIZATION.md R100 INSTALLATION.md docs/INSTALLATION.md M evals/reviewer/judge.py M evals/reviewer/run_eval.py M evals/reviewer/store_reporter.py M evals/reviewer/target.py M langgraph.json R100 tests/test_agent_assembly_context.py tests/agent/test_agent_assembly_context.py R100 tests/test_agent_instructions.py tests/agent/test_agent_instructions.py R100 tests/test_agent_schedules.py tests/agent/test_agent_schedules.py R068 tests/test_agent_thread_pr_state.py tests/agent/test_agent_thread_pr_state.py R100 tests/test_agent_usage.py tests/agent/test_agent_usage.py R100 tests/test_agents_md.py tests/agent/test_agents_md.py R100 tests/test_api_standards_skill.py tests/agent/test_api_standards_skill.py R100 tests/test_dispatch.py tests/agent/test_dispatch.py R100 tests/test_import_hygiene.py tests/agent/test_import_hygiene.py R100 tests/test_langsmith_trace_url.py tests/agent/test_langsmith_trace_url.py R100 tests/test_multimodal.py tests/agent/test_multimodal.py R100 tests/test_plan_mode.py tests/agent/test_plan_mode.py R100 tests/test_plan_review.py tests/agent/test_plan_review.py R100 tests/test_prompt_default_repo.py tests/agent/test_prompt_default_repo.py R100 tests/test_repo_prep.py tests/agent/test_repo_prep.py R100 tests/test_task_retry.py tests/agent/test_task_retry.py R100 tests/test_timeout_wrapup.py tests/agent/test_timeout_wrapup.py R100 tests/test_workflow_push_guard.py tests/agent/test_workflow_push_guard.py R100 tests/test_analyzer_cron.py tests/analyzer/test_analyzer_cron.py R100 tests/test_analyzer_skills.py tests/analyzer/test_analyzer_skills.py R100 tests/test_eval_jobs.py tests/analyzer/test_eval_jobs.py R100 tests/test_eval_store_reporter.py tests/analyzer/test_eval_store_reporter.py R100 tests/test_auth_sources.py tests/auth/test_auth_sources.py R100 tests/test_authorship.py tests/auth/test_authorship.py R100 tests/test_encryption.py tests/auth/test_encryption.py R100 tests/test_github_oauth_refresh.py tests/auth/test_github_oauth_refresh.py R093 tests/test_github_token_ttl.py tests/auth/test_github_token_ttl.py R100 tests/test_notion_oauth.py tests/auth/test_notion_oauth.py R100 tests/test_slack_oauth.py tests/auth/test_slack_oauth.py R100 tests/test_user_credentials.py tests/auth/test_user_credentials.py M tests/conftest.py R073 tests/test_account_link.py tests/dashboard/test_account_link.py R100 tests/test_autofix_state.py tests/dashboard/test_autofix_state.py R100 tests/test_dashboard_admin.py tests/dashboard/test_dashboard_admin.py R100 tests/test_dashboard_csrf.py tests/dashboard/test_dashboard_csrf.py R100 tests/test_dashboard_links.py tests/dashboard/test_dashboard_links.py R100 tests/test_dashboard_oauth_redirect.py tests/dashboard/test_dashboard_oauth_redirect.py R100 tests/test_dashboard_org_login_gate.py tests/dashboard/test_dashboard_org_login_gate.py R100 tests/test_dashboard_repo_optional.py tests/dashboard/test_dashboard_repo_optional.py R100 tests/test_dashboard_repos.py tests/dashboard/test_dashboard_repos.py R098 tests/test_dashboard_reviews.py tests/dashboard/test_dashboard_reviews.py R100 tests/test_dashboard_run_email.py tests/dashboard/test_dashboard_run_email.py R100 tests/test_dashboard_thread_api.py tests/dashboard/test_dashboard_thread_api.py R100 tests/test_dashboard_thread_api_activity.py tests/dashboard/test_dashboard_thread_api_activity.py R100 tests/test_dashboard_web_handoff.py tests/dashboard/test_dashboard_web_handoff.py R089 tests/test_public_repo_org_gate.py tests/dashboard/test_public_repo_org_gate.py R100 tests/test_team_credentials.py tests/dashboard/test_team_credentials.py R100 tests/test_team_settings_fable.py tests/dashboard/test_team_settings_fable.py R100 tests/test_team_settings_grouping.py tests/dashboard/test_team_settings_grouping.py R100 tests/test_team_settings_org_guidelines.py tests/dashboard/test_team_settings_org_guidelines.py R100 tests/test_user_mappings.py tests/dashboard/test_user_mappings.py R100 tests/test_workflow_approval_api.py tests/dashboard/test_workflow_approval_api.py M tests/e2e/harness.py R100 tests/test_github_app.py tests/github/test_github_app.py R099 tests/test_github_checks.py tests/github/test_github_checks.py R100 tests/test_github_ci.py tests/github/test_github_ci.py R099 tests/test_github_comment_prompts.py tests/github/test_github_comment_prompts.py R095 tests/test_github_feedback.py tests/github/test_github_feedback.py R100 tests/test_github_http.py tests/github/test_github_http.py R078 tests/test_github_issue_webhook.py tests/github/test_github_issue_webhook.py R100 tests/test_github_proxy_refresh.py tests/github/test_github_proxy_refresh.py R100 tests/test_normalize_repo.py tests/github/test_normalize_repo.py R100 tests/test_open_pull_request.py tests/github/test_open_pull_request.py R100 tests/test_pr_creation_guard.py tests/github/test_pr_creation_guard.py R091 tests/test_repo_extraction.py tests/github/test_repo_extraction.py R100 tests/test_check_message_queue.py tests/middleware/test_check_message_queue.py R100 tests/test_ensure_no_empty_msg.py tests/middleware/test_ensure_no_empty_msg.py R100 tests/test_model_fallback_middleware.py tests/middleware/test_model_fallback_middleware.py R100 tests/test_notify_step_limit_middleware.py tests/middleware/test_notify_step_limit_middleware.py R100 tests/test_prepare_run_middleware.py tests/middleware/test_prepare_run_middleware.py R100 tests/test_repair_orphaned_tool_calls.py tests/middleware/test_repair_orphaned_tool_calls.py R100 tests/test_sanitize_fireworks_messages.py tests/middleware/test_sanitize_fireworks_messages.py R100 tests/test_sanitize_openai_responses.py tests/middleware/test_sanitize_openai_responses.py R100 tests/test_sanitize_thinking_blocks.py tests/middleware/test_sanitize_thinking_blocks.py R100 tests/test_sanitize_tool_inputs.py tests/middleware/test_sanitize_tool_inputs.py R100 tests/test_subdir_agents_middleware.py tests/middleware/test_subdir_agents_middleware.py R100 tests/test_tool_artifact_middleware.py tests/middleware/test_tool_artifact_middleware.py R100 tests/test_agent_subagent_models.py tests/models/test_agent_subagent_models.py R100 tests/test_anthropic_effort.py tests/models/test_anthropic_effort.py R100 tests/test_anthropic_model.py tests/models/test_anthropic_model.py R100 tests/test_deferred_model.py tests/models/test_deferred_model.py R100 tests/test_fireworks_model.py tests/models/test_fireworks_model.py R100 tests/test_google_model.py tests/models/test_google_model.py R100 tests/test_model_fallback_resolution.py tests/models/test_model_fallback_resolution.py R062 tests/test_pr_ready_auto_review.py tests/reviewer/test_pr_ready_auto_review.py R100 tests/test_recent_comments.py tests/reviewer/test_recent_comments.py R100 tests/test_reconcile_sweep.py tests/reviewer/test_reconcile_sweep.py R099 tests/test_review_api.py tests/reviewer/test_review_api.py R100 tests/test_review_chat.py tests/reviewer/test_review_chat.py R094 tests/test_review_style_collector.py tests/reviewer/test_review_style_collector.py R100 tests/test_review_style_sync.py tests/reviewer/test_review_style_sync.py R100 tests/test_review_styles_store.py tests/reviewer/test_review_styles_store.py R100 tests/test_reviewer.py tests/reviewer/test_reviewer.py R096 tests/test_reviewer_diff.py tests/reviewer/test_reviewer_diff.py R100 tests/test_reviewer_eval_judge.py tests/reviewer/test_reviewer_eval_judge.py R100 tests/test_reviewer_eval_run.py tests/reviewer/test_reviewer_eval_run.py R099 tests/test_reviewer_eval_target.py tests/reviewer/test_reviewer_eval_target.py R088 tests/test_reviewer_findings.py tests/reviewer/test_reviewer_findings.py R092 tests/test_reviewer_groups.py tests/reviewer/test_reviewer_groups.py R100 tests/test_reviewer_outcomes.py tests/reviewer/test_reviewer_outcomes.py R098 tests/test_reviewer_publish.py tests/reviewer/test_reviewer_publish.py R087 tests/test_reviewer_reconcile.py tests/reviewer/test_reviewer_reconcile.py R099 tests/test_reviewer_tools.py tests/reviewer/test_reviewer_tools.py R096 tests/test_reviewer_trace_context.py tests/reviewer/test_reviewer_trace_context.py R064 tests/test_reviewer_watch.py tests/reviewer/test_reviewer_watch.py R098 tests/test_daytona_integration.py tests/sandbox/test_daytona_integration.py R098 tests/test_e2b_integration.py tests/sandbox/test_e2b_integration.py R100 tests/test_gateway.py tests/sandbox/test_gateway.py R100 tests/test_langsmith_sandbox_config.py tests/sandbox/test_langsmith_sandbox_config.py R100 tests/test_langsmith_sandbox_timeout.py tests/sandbox/test_langsmith_sandbox_timeout.py R100 tests/test_local_integration.py tests/sandbox/test_local_integration.py R100 tests/test_proxy_auth.py tests/sandbox/test_proxy_auth.py R100 tests/test_repo_snapshots.py tests/sandbox/test_repo_snapshots.py R100 tests/test_sandbox_paths.py tests/sandbox/test_sandbox_paths.py R100 tests/middleware/test_sandbox_recovery.py tests/sandbox/test_sandbox_recovery.py R100 tests/test_sandbox_state.py tests/sandbox/test_sandbox_state.py R100 tests/test_stale_sandbox_creating.py tests/sandbox/test_stale_sandbox_creating.py R100 tests/test_refresh_slack_status_middleware.py tests/slack/test_refresh_slack_status_middleware.py R100 tests/test_slack_add_reaction_tool.py tests/slack/test_slack_add_reaction_tool.py R100 tests/test_slack_assistants_status.py tests/slack/test_slack_assistants_status.py R082 tests/test_slack_context.py tests/slack/test_slack_context.py R090 tests/test_slack_feedback.py tests/slack/test_slack_feedback.py R100 tests/test_slack_start_new_thread_tool.py tests/slack/test_slack_start_new_thread_tool.py R100 tests/test_slack_thread_reply_tool.py tests/slack/test_slack_thread_reply_tool.py R082 tests/test_slack_webhook_errors.py tests/slack/test_slack_webhook_errors.py R100 tests/test_corridor_mcp.py tests/tools/test_corridor_mcp.py R100 tests/test_currents_tools.py tests/tools/test_currents_tools.py R100 tests/test_http_security.py tests/tools/test_http_security.py R100 tests/test_observability_tools.py tests/tools/test_observability_tools.py R100 tests/test_report_platform_issue_tool.py tests/tools/test_report_platform_issue_tool.py R100 tests/test_schedule_thread_wakeup.py tests/tools/test_schedule_thread_wakeup.py R100 tests/test_stagehand_browser.py tests/tools/test_stagehand_browser.py R100 tests/test_completion_webhook.py tests/webhooks/test_completion_webhook.py R091 tests/test_linear_webhook_author.py tests/webhooks/test_linear_webhook_author.py M ui/eslint.config.js D ui/src/components/agents/AgentPromptBar.tsx R097 ui/src/components/agents/AgentGitPanel.tsx ui/src/features/agents/components/AgentGitPanel.tsx A ui/src/features/agents/components/AgentPromptBar.tsx R098 ui/src/components/agents/AgentRunCard.tsx ui/src/features/agents/components/AgentRunCard.tsx R092 ui/src/components/agents/AgentThreadView.tsx ui/src/features/agents/components/AgentThreadView.tsx R089 ui/src/components/agents/AgentsHome.tsx ui/src/features/agents/components/AgentsHome.tsx R098 ui/src/components/agents/AgentsSidebar.tsx ui/src/features/agents/components/AgentsSidebar.tsx R098 ui/src/components/agents/AgentsThreadsPage.tsx ui/src/features/agents/components/AgentsThreadsPage.tsx R100 ui/src/components/agents/OnboardingDialog.tsx ui/src/features/agents/components/OnboardingDialog.tsx R099 ui/src/components/agents/PlanReview.tsx ui/src/features/agents/components/PlanReview.tsx R097 ui/src/components/agents/SidebarFilterMenu.tsx ui/src/features/agents/components/SidebarFilterMenu.tsx R098 ui/src/components/agents/WorkflowApprovalCard.tsx ui/src/features/agents/components/WorkflowApprovalCard.tsx R097 ui/src/components/agents/ported/CloudPromptBar.tsx ui/src/features/agents/components/chat/CloudPromptBar.tsx R100 ui/src/components/agents/ported/CodeBlock.tsx ui/src/features/agents/components/chat/CodeBlock.tsx R088 ui/src/components/agents/ported/DiffView.tsx ui/src/features/agents/components/chat/DiffView.tsx R100 ui/src/components/agents/ported/Logo.tsx ui/src/features/agents/components/chat/Logo.tsx R100 ui/src/components/agents/ported/Markdown.tsx ui/src/features/agents/components/chat/Markdown.tsx R098 ui/src/components/agents/ported/ReplyCard.tsx ui/src/features/agents/components/chat/ReplyCard.tsx R098 ui/src/components/agents/ported/ShellCommand.tsx ui/src/features/agents/components/chat/ShellCommand.tsx R097 ui/src/components/agents/ported/ToolExecution.tsx ui/src/features/agents/components/chat/ToolExecution.tsx R096 ui/src/components/agents/messages/AgentMessage.tsx ui/src/features/agents/components/messages/AgentMessage.tsx R083 ui/src/components/agents/messages/ChunkRenderer.tsx ui/src/features/agents/components/messages/ChunkRenderer.tsx R100 ui/src/components/agents/messages/MessageTimestamp.tsx ui/src/features/agents/components/messages/MessageTimestamp.tsx R098 ui/src/components/agents/messages/Messages.tsx ui/src/features/agents/components/messages/Messages.tsx R100 ui/src/components/agents/messages/ReasoningBlock.tsx ui/src/features/agents/components/messages/ReasoningBlock.tsx R100 ui/src/components/agents/messages/ThinkingSpinner.tsx ui/src/features/agents/components/messages/ThinkingSpinner.tsx R097 ui/src/components/agents/messages/TurnChangedFilesCard.tsx ui/src/features/agents/components/messages/TurnChangedFilesCard.tsx R097 ui/src/components/agents/messages/UserMessage.tsx ui/src/features/agents/components/messages/UserMessage.tsx R100 ui/src/components/agents/messages/WorkSummary.tsx ui/src/features/agents/components/messages/WorkSummary.tsx R100 ui/src/components/agents/messages/index.ts ui/src/features/agents/components/messages/index.ts R098 ui/src/components/agents/messages/renderItems.ts ui/src/features/agents/components/messages/renderItems.ts R092 ui/src/components/agents/messages/summarizeChangedFiles.ts ui/src/features/agents/components/messages/summarizeChangedFiles.ts R094 ui/src/components/agents/messages/types.ts ui/src/features/agents/components/messages/types.ts R100 ui/src/components/agents/subagents/SubagentActivity.tsx ui/src/features/agents/components/subagents/SubagentActivity.tsx R092 ui/src/components/agents/subagents/SubagentCard.tsx ui/src/features/agents/components/subagents/SubagentCard.tsx R091 ui/src/components/agents/subagents/SubagentGroup.tsx ui/src/features/agents/components/subagents/SubagentGroup.tsx R100 ui/src/components/agents/subagents/index.ts ui/src/features/agents/components/subagents/index.ts R100 ui/src/components/agents/z-index.ts ui/src/features/agents/components/z-index.ts R100 ui/src/components/agents/ported/BranchSelector.tsx ui/src/features/agents/experiments/BranchSelector.tsx R089 ui/src/components/agents/ported/BubblePrefix.tsx ui/src/features/agents/experiments/BubblePrefix.tsx R099 ui/src/components/agents/ported/ChatView.tsx ui/src/features/agents/experiments/ChatView.tsx R100 ui/src/components/agents/ported/CompactingIndicator.tsx ui/src/features/agents/experiments/CompactingIndicator.tsx R100 ui/src/components/agents/ported/ContextIndicator.tsx ui/src/features/agents/experiments/ContextIndicator.tsx R100 ui/src/components/agents/ported/Footer.tsx ui/src/features/agents/experiments/Footer.tsx R100 ui/src/components/agents/ported/HeaderBar.tsx ui/src/features/agents/experiments/HeaderBar.tsx R100 ui/src/components/agents/ported/MarkdownTable.tsx ui/src/features/agents/experiments/MarkdownTable.tsx R100 ui/src/components/agents/ported/PanelResizeHandle.tsx ui/src/features/agents/experiments/PanelResizeHandle.tsx R099 ui/src/components/agents/ported/PromptBar.tsx ui/src/features/agents/experiments/PromptBar.tsx R100 ui/src/components/agents/ported/SourceControlPanel.tsx ui/src/features/agents/experiments/SourceControlPanel.tsx R099 ui/src/components/agents/ported/SourceControlTile.tsx ui/src/features/agents/experiments/SourceControlTile.tsx R099 ui/src/components/agents/ported/ThreadPicker.tsx ui/src/features/agents/experiments/ThreadPicker.tsx R098 ui/src/components/agents/ported/TodoList.tsx ui/src/features/agents/experiments/TodoList.tsx R093 ui/src/components/agents/ported/index.ts ui/src/features/agents/experiments/index.ts R100 ui/src/lib/agents/AgentThreadStreamProvider.tsx ui/src/features/agents/lib/AgentThreadStreamProvider.tsx R100 ui/src/lib/agents/api.ts ui/src/features/agents/lib/api.ts R100 ui/src/lib/agents/messageTimestamps.ts ui/src/features/agents/lib/messageTimestamps.ts R100 ui/src/lib/agents/provider/useIsInAgentThreadStream.tsx ui/src/features/agents/lib/provider/useIsInAgentThreadStream.tsx R096 ui/src/lib/agents/provider/useLiveMarkdownMessageId.ts ui/src/features/agents/lib/provider/useLiveMarkdownMessageId.ts R100 ui/src/lib/agents/provider/useModelOptions.ts ui/src/features/agents/lib/provider/useModelOptions.ts R095 ui/src/lib/agents/provider/useSubmitAgentMessage.ts ui/src/features/agents/lib/provider/useSubmitAgentMessage.ts R100 ui/src/lib/agents/queries.ts ui/src/features/agents/lib/queries.ts R100 ui/src/lib/agents/sidebarFilter.test.ts ui/src/features/agents/lib/sidebarFilter.test.ts R100 ui/src/lib/agents/sidebarFilter.ts ui/src/features/agents/lib/sidebarFilter.ts R096 ui/src/lib/agents/sidebarPrefs.ts ui/src/features/agents/lib/sidebarPrefs.ts R100 ui/src/lib/agents/streamMessagesToUi.ts ui/src/features/agents/lib/streamMessagesToUi.ts R100 ui/src/lib/agents/types.ts ui/src/features/agents/lib/types.ts R095 ui/src/lib/agents/useRunCompletionNotifier.ts ui/src/features/agents/lib/useRunCompletionNotifier.ts R100 ui/src/components/agents/utils/diffStats.ts ui/src/features/agents/utils/diffStats.ts R100 ui/src/components/agents/utils/diffUtils.test.ts ui/src/features/agents/utils/diffUtils.test.ts R100 ui/src/components/agents/utils/diffUtils.ts ui/src/features/agents/utils/diffUtils.ts R095 ui/src/components/agents/AutomationEditor.tsx ui/src/features/automations/components/AutomationEditor.tsx R091 ui/src/components/agents/AutomationTemplates.tsx ui/src/features/automations/components/AutomationTemplates.tsx R096 ui/src/components/agents/AutomationsList.tsx ui/src/features/automations/components/AutomationsList.tsx R097 ui/src/components/agents/ScheduleTriggerPicker.tsx ui/src/features/automations/components/ScheduleTriggerPicker.tsx R100 ui/src/lib/agents/automation-templates.ts ui/src/features/automations/lib/automation-templates.ts R100 ui/src/lib/agents/cron.ts ui/src/features/automations/lib/cron.ts R100 ui/src/components/agents/PrHeader.tsx ui/src/features/reviews/components/PrHeader.tsx R099 ui/src/components/agents/ReviewChat.tsx ui/src/features/reviews/components/ReviewChat.tsx R100 ui/src/components/agents/ReviewCommentsMenu.tsx ui/src/features/reviews/components/ReviewCommentsMenu.tsx R099 ui/src/components/agents/ReviewMainBody.tsx ui/src/features/reviews/components/ReviewMainBody.tsx R099 ui/src/components/agents/ReviewSidebar.tsx ui/src/features/reviews/components/ReviewSidebar.tsx R093 ui/src/components/agents/ReviewTab.tsx ui/src/features/reviews/components/ReviewTab.tsx R100 ui/src/components/agents/RepoSelector.tsx ui/src/features/settings/components/RepoSelector.tsx M ui/src/lib/notifications.ts M ui/src/routes/agents.tsx M ui/src/routes/agents/$threadId.tsx M ui/src/routes/agents/$threadId_.plan.tsx M ui/src/routes/agents/automations/$scheduleId.tsx M ui/src/routes/agents/automations/index.tsx M ui/src/routes/agents/automations/new.tsx M ui/src/routes/agents/index.tsx M ui/src/routes/agents/reviews/$owner.$repo.$number.tsx M ui/src/routes/agents/threads.tsx M ui/src/routes/cloud-agents.tsx M ui/tsconfig.json M ui/vite.config.ts