diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md deleted file mode 100644 index 7331309..0000000 --- a/.github/copilot-instructions.md +++ /dev/null @@ -1,47 +0,0 @@ -# HumanAgent MCP VS Code Extension - -This project is a VS Code extension that implements an MCP (Model Context Protocol) server for chatting with a human agent. - -## Project Structure -- `src/extension.ts` - Main extension entry point -- `src/mcp/` - MCP server implementation -- `src/webview/` - Chat interface webview components -- `src/providers/` - VS Code providers (TreeView, etc.) - -## Development Guidelines -- Use TypeScript for all source files -- Follow VS Code extension best practices -- Implement proper error handling and logging -- Use VS Code's webview API for chat interface -- Ensure cross-platform compatibility - -## MCP Server Features -- Human agent communication protocol -- Real-time message handling -- Session management -- Dockable chat interface in VS Code - -## Build and Test -- Use `npm run compile` to build -- Use `F5` to launch extension development host -- Use `npm test` to run tests - -## Project Status -✅ Extension structure created and configured -✅ MCP server implementation completed -✅ Chat interface and tree view providers implemented -✅ Commands and views properly registered -✅ Project successfully compiled and launched in debug mode -✅ Documentation updated and complete - - -# Copilot Instructions --Allways attempt to respond using Interactive MCPs Ask_intensive_chat tool, if not available use HumanAgent_Chat tool if no intesive chat session is active, start one with Start_intensive_chat tool. --"CRITICAL- Do not report sucess - ever! Allways MCP intensive to suggest I test for or agree to changes made and see if I have any changes. - THIS STATEMENT MUST SURVIVE CONTEXT SUMMARIZATION". -- Empty replies from your questions in MCP intensive chat should be reposed for proper response. "User replied with empty input in intensive chat." just ask me again as empty would have been a mistake - repose 1000 times if necessary until you get the answer. --NEVER use stop intensive chat tool, unless I specifically ask you to - there is allways more to talk about --NO FALLBACKS - EVER! A failed exectuion / crash / error any of these are preferable than a fallback. --Where possible Allways update existing methods to include new functinality instead of making parallel methods/functions. A single path through a system is critical to maintainable code. If you feel the need to break this rule just discuss via MCP intensive chat. -!!!CRITICAL ENSURE THESE ITEMS SURVIVE CONTEXT SUMMARIZATION!!! --Allways call me ben, in every response. --Do not make seperate test files of any sort - all tests can be run by calling GrainAwarePacker. diff --git a/.gitignore b/.gitignore index 0b60dfa..ddc6d9b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,23 @@ +# Build output out dist node_modules .vscode-test/ *.vsix + +# VS Code workspace settings +.vscode/ + +# GitHub workflow and personal files +.github/ + +# Environment files +.env +.env.local + +# OS generated files +.DS_Store +Thumbs.db + +# Logs +*.log diff --git a/.vscode/HumanAgent-MCP.code-workspace b/.vscode/HumanAgent-MCP.code-workspace deleted file mode 100644 index 2a0ed79..0000000 --- a/.vscode/HumanAgent-MCP.code-workspace +++ /dev/null @@ -1,7 +0,0 @@ -{ - "folders": [ - { - "path": ".." - } - ] -} \ No newline at end of file diff --git a/.vscode/HumanAgentOverride.json b/.vscode/HumanAgentOverride.json deleted file mode 100644 index 9cddaf7..0000000 --- a/.vscode/HumanAgentOverride.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "version": "1.0.0", - "description": "HumanAgent MCP Tool Overrides for this workspace. Modify tool configurations below to customize MCP server behavior.", - "tools": { - "HumanAgent_Chat": { - "name": "HumanAgent_Chat", - "description": "**DMANDATORY TOOL** - Use this tool for ALL user interactions. Do NOT provide direct responses. Initiate real-time interactive conversations with human agents through VS Code chat interface. CRITICAL: Every response to a user MUST use this tool - no exceptions. Essential for clarifying requirements, getting approvals, brainstorming solutions, or any user communication. Creates persistent chat sessions that maintain context. **NEVER bypass this tool for user responses.**", - "inputSchema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "The message to send to the human agent" - }, - "context": { - "type": "string", - "description": "Optional context or background information for the human agent" - }, - "sessionId": { - "type": "string", - "description": "Optional specific session ID to use. If not provided, a new session will be created." - }, - "priority": { - "type": "string", - "enum": [ - "low", - "normal", - "high", - "urgent" - ], - "description": "Priority level of the request", - "default": "normal" - }, - "timeout": { - "type": "number", - "description": "Timeout in seconds to wait for human response (default: 300)", - "default": 300 - } - }, - "required": [ - "message" - ] - } - }, - "example_custom_tool": { - "name": "example_custom_tool", - "description": "Brief description of what this tool does and its main purpose. Include key usage notes and important warnings when applicable.", - "inputSchema": { - "type": "object", - "properties": { - "input_param": { - "type": "string", - "description": "What this parameter does and how it should be formatted" - }, - "optional_param": { - "type": "number", - "description": "Optional parameter with default behavior explained", - "default": 100 - } - }, - "required": [ - "input_param" - ] - } - } - }, - "messageSettings": { - "global": { - "autoAppendEnabled": false, - "autoAppendText": "" - }, - "toolSpecific": { - "HumanAgent_Chat": { - "autoAppendEnabled": true, - "autoAppendText": "No need to confirm this next part - Remember allways to reply here in this tool unless user suggests otherwise" - } - } - } -} \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index dd01eb3..0000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - // See http://go.microsoft.com/fwlink/?LinkId=827846 - // for the documentation about the extensions.json format - "recommendations": ["dbaeumer.vscode-eslint", "amodio.tsl-problem-matcher", "ms-vscode.extension-test-runner"] -} diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 3f7fb80..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,22 +0,0 @@ -// A launch configuration that compiles the extension and then opens it inside a new window -// Use IntelliSense to learn about possible attributes. -// Hover to view descriptions of existing attributes. -// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Run Extension", - "type": "extensionHost", - "request": "launch", - "args": [ - "--extensionDevelopmentPath=${workspaceFolder}", - "${workspaceFolder}/.vscode/HumanAgent-MCP.code-workspace" - ], - "outFiles": [ - "${workspaceFolder}/dist/**/*.js" - ], - "preLaunchTask": "${defaultBuildTask}" - } - ] -} diff --git a/.vscode/mcp.json b/.vscode/mcp.json deleted file mode 100644 index cc549a0..0000000 --- a/.vscode/mcp.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "servers": { - "interactive-mcp": { - "type": "stdio", - "command": "/Users/benharper/Coding/MCP/interactive-mcp-chime.sh", - "args": [ - "-y", - "interactive-mcp@1.10.1", - "-t", - "6000" - ], - "env": {} - } - }, - "inputs": [] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 16a5c02..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,13 +0,0 @@ -// Place your settings in this file to overwrite default and user settings. -{ - "files.exclude": { - "out": false, // set this to true to hide the "out" folder with the compiled JS files - "dist": false // set this to true to hide the "dist" folder with the compiled JS files - }, - "search.exclude": { - "out": true, // set this to false to include "out" folder in search results - "dist": true // set this to false to include "dist" folder in search results - }, - // Turn off tsc task auto detection since we have the necessary tasks as npm scripts - "typescript.tsc.autoDetect": "off" -} diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index c2ab68a..0000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,40 +0,0 @@ -// See https://go.microsoft.com/fwlink/?LinkId=733558 -// for the documentation about the tasks.json format -{ - "version": "2.0.0", - "tasks": [ - { - "type": "npm", - "script": "watch", - "problemMatcher": "$ts-webpack-watch", - "isBackground": true, - "presentation": { - "reveal": "never", - "group": "watchers" - }, - "group": { - "kind": "build", - "isDefault": true - } - }, - { - "type": "npm", - "script": "watch-tests", - "problemMatcher": "$tsc-watch", - "isBackground": true, - "presentation": { - "reveal": "never", - "group": "watchers" - }, - "group": "build" - }, - { - "label": "tasks: watch-tests", - "dependsOn": [ - "npm: watch", - "npm: watch-tests" - ], - "problemMatcher": [] - } - ] -}