diff --git a/.github/workflows/ISSUE_TEMPLATE/1_bug_report.yml b/.github/workflows/ISSUE_TEMPLATE/1_bug_report.yml new file mode 100644 index 00000000..54f07d0e --- /dev/null +++ b/.github/workflows/ISSUE_TEMPLATE/1_bug_report.yml @@ -0,0 +1,23 @@ +name: '🐛 Bug Report' +description: 'Report an bug' +labels: ['unconfirm'] +type: Bug +body: + - type: textarea + attributes: + label: '🐛 Bug Description' + description: A clear and concise description of the bug, if the above option is `Other`, please also explain in detail. + validations: + required: true + - type: textarea + attributes: + label: '📷 Recurrence Steps' + description: A clear and concise description of how to recurrence. + - type: textarea + attributes: + label: '🚦 Expected Behavior' + description: A clear and concise description of what you expected to happen. + - type: textarea + attributes: + label: '📝 Additional Information' + description: If your problem needs further explanation, or if the issue you're seeing cannot be reproduced in a gist, please add more information here. diff --git a/.github/workflows/ISSUE_TEMPLATE/2_feature_request.yml b/.github/workflows/ISSUE_TEMPLATE/2_feature_request.yml new file mode 100644 index 00000000..b15d5fed --- /dev/null +++ b/.github/workflows/ISSUE_TEMPLATE/2_feature_request.yml @@ -0,0 +1,21 @@ +name: '🌠 Feature Request' +description: 'Suggest an idea' +title: '[Request] ' +type: Feature +body: + - type: textarea + attributes: + label: '🥰 Feature Description' + description: Please add a clear and concise description of the problem you are seeking to solve with this feature request. + validations: + required: true + - type: textarea + attributes: + label: '🧐 Proposed Solution' + description: Describe the solution you'd like in a clear and concise manner. + validations: + required: true + - type: textarea + attributes: + label: '📝 Additional Information' + description: Add any other context about the problem here. diff --git a/.github/workflows/ISSUE_TEMPLATE/config.yml b/.github/workflows/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..45bcf3a4 --- /dev/null +++ b/.github/workflows/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,4 @@ +contact_links: + - name: Questions and ideas + url: https://github.com/eval-sys/mcpmark/discussions/new/choose + about: Please post questions, and ideas in discussions. diff --git a/.github/workflows/PULL_REQUEST_TEMPLATE.md b/.github/workflows/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..d2fba3fe --- /dev/null +++ b/.github/workflows/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,20 @@ +#### Change Type + + + +- [ ] ✨ feat +- [ ] 🐛 fix +- [ ] ♻️ refactor +- [ ] 💄 style +- [ ] 👷 build +- [ ] ⚡️ perf +- [ ] 📝 docs +- [ ] 🔨 chore + +#### Description of Change + + + +#### Additional Information + + diff --git a/src/agent.py b/src/agent.py index 33e473ae..7a11932e 100644 --- a/src/agent.py +++ b/src/agent.py @@ -150,10 +150,10 @@ async def _create_mcp_server(self) -> Any: """Create and return an MCP server instance for the current service using self.service_config.""" cfg = self.service_config # shorthand - + # Services that use npx and need startup delay NPX_BASED_SERVICES = ["notion", "filesystem", "playwright", "playwright_webarena"] - + # Add startup delay for npx-based services to ensure proper initialization if self.mcp_service in NPX_BASED_SERVICES: logger.debug(f"Adding startup delay for npx-based service: {self.mcp_service}") @@ -512,7 +512,7 @@ async def execute(self, instruction: str) -> Dict[str, Any]: - execution_time: execution time in seconds - error: error message if failed """ - + for attempt in range(1, self.max_retries + 1): # Merge default config with any overrides supplied at call time diff --git a/src/base/state_manager.py b/src/base/state_manager.py index 5b1a2c5a..378dbc00 100644 --- a/src/base/state_manager.py +++ b/src/base/state_manager.py @@ -45,7 +45,7 @@ def set_up(self, task: BaseTask) -> bool: """ try: logger.info( - f"Setting up initial state for {self.service_name} task: {task.name}" + f"| Setting up initial state for {self.service_name} task: {task.name}" ) # Create initial state @@ -138,10 +138,10 @@ def get_service_config_for_agent(self) -> dict: def set_verification_environment(self, messages_path: str = None) -> None: """ Set environment variables needed for verification scripts. - + Args: messages_path: Optional path to messages.json file for verification - + This method can be overridden by service implementations that need to set specific environment variables for their verification scripts. The default implementation sets MCP_MESSAGES if provided. diff --git a/src/mcp_services/playwright/playwright_state_manager.py b/src/mcp_services/playwright/playwright_state_manager.py index 1bc14f2b..cabac77e 100644 --- a/src/mcp_services/playwright/playwright_state_manager.py +++ b/src/mcp_services/playwright/playwright_state_manager.py @@ -94,7 +94,7 @@ def _create_initial_state(self, task: BaseTask) -> Optional[InitialStateInfo]: """ try: logger.info( - "Skipping Playwright browser launch – no initial browser state " + "| Skipping Playwright browser launch – no initial browser state " "needed for task: %s", task.name, )