-
Notifications
You must be signed in to change notification settings - Fork 5
Add CLI tests and use minimal MCP config for faster E2E test startup #120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
Copilot
wants to merge
123
commits into
cli
Choose a base branch
from
copilot/test-cli-startup-time
base: cli
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Initial plan * feat: make authentication header name configurable via AUTH_USER_HEADER env var Co-authored-by: garland3 <[email protected]> * docs: add AUTH_USER_HEADER config to admin guide Add documentation for the configurable authentication header (`AUTH_USER_HEADER`), explaining how to customize it for different reverse proxy setups (e.g., `X-User-Email`, `X-Remote-User`). This provides flexibility to integrate with various authentication infrastructures without code changes. --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: garland3 <[email protected]> Co-authored-by: Anthony <[email protected]>
- Enhanced notify_tool_progress to parse structured updates via MCP_UPDATE: prefix - Added _handle_structured_progress_update for canvas, system messages, and artifacts - Updated frontend to handle system_message and progress_artifacts update types - Created progress_updates_demo MCP server with three demo tools - Supports canvas updates, rich system messages, and progressive artifacts Co-authored-by: garland3 <[email protected]>
- Added comprehensive section in Developer Guide - Includes examples for canvas updates, system messages, and artifacts - Documents the MCP_UPDATE: protocol - References the demo server Co-authored-by: garland3 <[email protected]>
- Tests regular progress notifications - Tests canvas update, system message, and artifact updates - Tests error handling for invalid JSON - Tests percentage calculations Co-authored-by: garland3 <[email protected]>
- Comprehensive examples for all three update types - Setup instructions - Troubleshooting section - Reference documentation Co-authored-by: garland3 <[email protected]>
Bumps the nodejs-minor-patch group in /frontend with 5 updates: | Package | From | To | | --- | --- | --- | | [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.553.0` | `0.554.0` | | [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.9.5` | `7.9.6` | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.2` | `19.2.5` | | [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.2` | `19.2.3` | | [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.21` | `10.4.22` | Updates `lucide-react` from 0.553.0 to 0.554.0 - [Release notes](https://github.com/lucide-icons/lucide/releases) - [Commits](https://github.com/lucide-icons/lucide/commits/0.554.0/packages/lucide-react) Updates `react-router-dom` from 7.9.5 to 7.9.6 - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/[email protected]/packages/react-router-dom) Updates `@types/react` from 19.2.2 to 19.2.5 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `@types/react-dom` from 19.2.2 to 19.2.3 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom) Updates `autoprefixer` from 10.4.21 to 10.4.22 - [Release notes](https://github.com/postcss/autoprefixer/releases) - [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md) - [Commits](postcss/autoprefixer@10.4.21...10.4.22) --- updated-dependencies: - dependency-name: lucide-react dependency-version: 0.554.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nodejs-minor-patch - dependency-name: react-router-dom dependency-version: 7.9.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nodejs-minor-patch - dependency-name: "@types/react" dependency-version: 19.2.5 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: nodejs-minor-patch - dependency-name: "@types/react-dom" dependency-version: 19.2.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: nodejs-minor-patch - dependency-name: autoprefixer dependency-version: 10.4.22 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: nodejs-minor-patch ... Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: garland3 <[email protected]>
Co-authored-by: garland3 <[email protected]>
Replace deprecated datetime.utcnow() with datetime.now(timezone.utc) in log_high_risk_event function to ensure timezone-aware UTC timestamps and improve Python 3.12 compatibility. Update frontend package-lock.json to reflect revised dependency versions.
…nd/nodejs-minor-patch-d9e5c4939d security(deps)(deps): bump the nodejs-minor-patch group in /frontend with 5 updates
Co-authored-by: garland3 <[email protected]>
Updated the progress updates demo to send HTML progress pages as base64-encoded artifacts instead of canvas updates, allowing them to be rendered in the HTML viewer with proper visualization. Also removed unused Mock import in tests and significantly simplified MCP config by removing multiple tool definitions. This improves progress reporting granularity and cleans up the codebase.
…end-updates Enable MCP servers to send intermediate canvas updates, system messages, and artifacts during execution
- Introduced a new configuration file in `config/overrides/env-var-mcp.json` for demonstrating environment variable passing in MCP servers.
- The `env-demo` setup includes command execution, environment variables like CLOUD_PROFILE and API_KEY (with variable substitution), and metadata such as groups, descriptions, and compliance level.
- This change provides a practical example for users to understand how to configure MCP servers using both literal values and `${VAR}` substitutions.
Remove `import os` from test_client_env.py and `from unittest.mock import patch` from test_env_demo_server.py, as they were not utilized in the files, to clean up the codebase and reduce linting warnings.
Remove the test_mcp_json_configuration function that verified env-demo server setup in overrides/mcp.json, as this configuration check is no longer needed in the current test suite structure.
Add environment variable support for stdio MCP servers
…acking Co-authored-by: garland3 <[email protected]>
Co-authored-by: garland3 <[email protected]>
Co-authored-by: garland3 <[email protected]>
Co-authored-by: garland3 <[email protected]>
Co-authored-by: garland3 <[email protected]>
- Fix test that tried to modify immutable Exception class - Add comprehensive documentation in docs/error_handling_improvements.md - Add demo script to visualize error handling - Add integration tests for error flow - All tests passing (13/13) Co-authored-by: garland3 <[email protected]>
Add support for Cerebras to litellm_caller
- Fix f-string formatting in logger call (use % formatting) - Fix test logic for API key check (use AND instead of OR) - Improve test for user-friendly messages (check substrings not chars) - All tests still passing (13/13) - CodeQL security scan: 0 alerts ✅ Co-authored-by: garland3 <[email protected]>
- Add comprehensive visual diagram showing error flow - Documents the complete path from error to user message - Shows classification logic and error handling at each layer - 501 total lines changed across 7 files Co-authored-by: garland3 <[email protected]>
Bumps the nodejs-minor-patch group in /frontend with 2 updates: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `@types/react` from 19.2.6 to 19.2.7 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `vite` from 7.2.2 to 7.2.4 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v7.2.4/packages/vite) --- updated-dependencies: - dependency-name: "@types/react" dependency-version: 19.2.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: nodejs-minor-patch - dependency-name: vite dependency-version: 7.2.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: nodejs-minor-patch ... Signed-off-by: dependabot[bot] <[email protected]>
…end/nodejs-minor-patch-9505ebf7cd security(deps)(deps-dev): bump the nodejs-minor-patch group in /frontend with 2 updates
Co-authored-by: garland3 <[email protected]>
Co-authored-by: garland3 <[email protected]>
Skip RAG discovery when FEATURE_RAG_ENABLED is false
Enable system prompt to be automatically loaded from prompts/system_prompt.md and injected at the start of all conversations. This ensures consistent AI behavior and user personalization via email template variable. Changes: - Added PromptProvider.get_system_prompt() method - Added system_prompt_filename config setting - Updated MessageBuilder to inject system prompt - Added comprehensive test coverage - Updated CLAUDE.md documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Add system prompt loading functionality
…integration tests
…d error simulation
…e error classification
…g-errors Surface LLM errors to users with classified, actionable messages
…r E2E tests Co-authored-by: garland3 <[email protected]>
…tion and constants Co-authored-by: garland3 <[email protected]>
Copilot
AI
changed the title
[WIP] Optimize CLI startup time by adjusting config
Add CLI tests and use minimal MCP config for faster E2E test startup
Nov 25, 2025
Copilot finished work on behalf of
garland3
November 25, 2025 13:45
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
E2E tests were slow due to initializing all MCP servers. This PR uses a minimal
mcp-test.jsonconfig (2 servers vs many) for faster test startup and adds comprehensive CLI test coverage.Changes
Faster E2E test startup
MCP_CONFIG_FILE=mcp-test.jsonintest/e2e_tests.sh(consistent with backend tests inrun_tests.sh)MCP_CONFIG_FILEoverride in.env.exampleNew CLI unit tests (
backend/tests/test_cli.py)CLIConnectionAdapteredge cases: unknown message types, empty messages, nested JSONNew CLI E2E tests (
test/simple_e2e_test.py)test_cli_help,test_cli_list_models,test_cli_list_toolsget_cli_paths()helper and timeout constantsAll 22 CLI tests pass. No CodeQL alerts.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.