Skip to content

Releases: jeffkit/cursor-agent-a2a

v2.1.0 - Fix npm install -g permission denied

Choose a tag to compare

@jeffkit jeffkit released this 29 Jan 06:32

πŸ› Bug Fixes

Fixed the permission denied error that occurred when running cursor-agent-a2a after global npm installation (npm install -g cursor-agent-a2a).

πŸ”§ Changes

  • Build Script: Added chmod +x to automatically set executable permission for CLI file after compilation
  • Version Management: Version number is now dynamically read from package.json instead of being hardcoded
  • Node.js Path Resolution: Enhanced path resolution with support for multiple Node.js version managers:
    • nvm (Node Version Manager)
    • fnm (Fast Node Manager)
    • asdf
    • Homebrew (Intel & Apple Silicon)
    • System installation

πŸ“¦ Installation

```bash
npm install -g cursor-agent-a2a@2.1.0
```

πŸ”— Links

v2.0.0: A2A Protocol Standardization

Choose a tag to compare

@jeffkit jeffkit released this 26 Jan 10:58

πŸŽ‰ v2.0.0: A2A Protocol Standardization

Major release implementing standard A2A protocol format and adding powerful management features.

⚠️ Breaking Changes

This is a breaking change release. All clients must update their configuration.

URL Structure Changes

  • Old format (deprecated): /messages/:projectId
  • New format (standard A2A): /:projectId/messages

Migration Required

Update your client configuration:

{
  "name": "cursor-agent-project",
  "url": "http://localhost:4300/{projectId}",
  "apiKey": "ca2a_..."
}

✨ New Features

1. Standard A2A Protocol Compliance

  • βœ… /:projectId/messages - Send messages
  • βœ… /:projectId/tasks - Create async tasks
  • βœ… /:projectId/tasks/:taskId - Query/cancel tasks
  • βœ… /:projectId/.well-known/agent-card.json - Project Agent Card
  • βœ… /.well-known/agent-card.json - Service Agent Card (lists all projects)

2. API Key Management

  • View current API key (masked for security)
  • Copy full API key to clipboard
  • Reset/Generate new API key
  • Accessible via management UI and REST API

3. Chat Testing Interface

  • Test messages directly in management page
  • Select project from dropdown
  • Support both sync and streaming responses
  • Real-time response display

4. Project-Level Agent Cards

  • Each project has its own Agent Card
  • Contains project-specific metadata
  • Includes workspace path and capabilities

5. Service Discovery

  • Service-level Agent Card lists all available projects
  • Simplifies multi-project management
  • Compatible with standard A2A clients (AgentStudio, etc.)

πŸ”§ API Enhancements

New Endpoints

# Config Management
GET /config                 # View current config (masked API key)
POST /config/reset-key      # Generate new API key

# Agent Cards
GET /:projectId/.well-known/agent-card.json   # Project Agent Card
GET /.well-known/agent-card.json              # Service Agent Card

πŸ“Š Testing

  • βœ… 55 test cases passing
  • βœ… Full TypeScript type checking
  • βœ… Comprehensive route and service tests
  • βœ… Project mapping tests
  • βœ… API key management tests

πŸ“š Documentation Updates

  • Updated API endpoint documentation
  • Added migration guide
  • Updated curl examples
  • Improved management UI

πŸ› Bug Fixes

  • Fixed Agent Card URL generation
  • Improved error handling for invalid project IDs
  • Enhanced session management

πŸš€ Installation

NPM

npm install -g cursor-agent-a2a@2.0.0

From Source

git clone https://github.com/jeffkit/cursor-agent-a2a.git
cd cursor-agent-a2a
pnpm install
pnpm run build
npm install -g .

System Service

cursor-agent-a2a install --port 4300
cursor-agent-a2a start

πŸ“ Migration Guide

  1. Update Client URLs

    • Change from /messages/:projectId to /:projectId/messages
    • Update Agent URL to project root: http://host/{projectId}
  2. Test New Format

    curl -X POST "http://localhost:4300/{projectId}/messages" \
      -H "Authorization: Bearer your-api-key" \
      -H "Content-Type: application/json" \
      -d '{"message": "test"}'
  3. Verify Agent Card

    curl "http://localhost:4300/{projectId}/.well-known/agent-card.json"

πŸ™ Credits

Thanks to all contributors and users who provided feedback for this release!


Full Changelog: v1.4.0...v2.0.0

v1.4.0 - Project ID Mapping & Model Configuration

Choose a tag to compare

@jeffkit jeffkit released this 26 Jan 03:27

πŸŽ‰ Major Features

πŸ“ Project ID Mapping

Map short, memorable project IDs to workspace paths for easier API calls.

Key Features:

  • βœ… Web management UI at /manage
  • βœ… Auto-generated unique IDs (10 characters)
  • βœ… Full CRUD API for project management
  • βœ… Persistent storage in ~/.cursor-agent-a2a/projects.json
  • βœ… URL parameter support: POST /messages/:projectId

Example:
```bash

Create project mapping

curl -X POST "http://localhost:4937/projects" \
-H "Authorization: Bearer your-api-key" \
-d '{"name": "My Project", "workspace": "/path/to/project"}'

Use project ID (much simpler!)

curl -X POST "http://localhost:4937/messages/abc123xyz" \
-H "Authorization: Bearer your-api-key" \
-d '{"message": "Hello"}'
```

πŸ€– Model Configuration

Choose which Cursor model to use for each request.

Available Models:

  • πŸ’Ž Claude 4.5 Sonnet (default) - Balanced performance
  • 🧠 Claude 4.5 Opus - Most capable
  • πŸ’» GPT-5.2 Codex - Code-optimized
  • ⚑ Gemini 3 Flash - Fast responses
  • And many more...

Configuration Methods:

  1. Per-request (highest priority):
    ```json
    {"message": "Hello", "model": "sonnet-4.5"}
    ```

  2. Environment variable:
    ```bash
    export CURSOR_DEFAULT_MODEL=sonnet-4.5
    ```

  3. System default: sonnet-4.5 (fallback)

πŸ”§ Enhanced Cursor CLI Integration

  • Auto-discovers Cursor CLI location
  • No manual PATH configuration required
  • Works out-of-the-box on macOS

πŸ“š Documentation

πŸ”„ Migration from v1.3.x

No Breaking Changes! All existing API calls work as before.

New Features to Try:

  1. Visit http://localhost:4937/manage to set up project mappings
  2. Add "model": "sonnet-4.5" to your requests
  3. Set CURSOR_DEFAULT_MODEL environment variable

πŸ“¦ Installation

```bash

Update to latest version

npm update -g cursor-agent-a2a

or

pnpm update -g cursor-agent-a2a

Restart service

cursor-agent-a2a restart
```

πŸ› Bug Fixes

  • Fixed "Cursor command not found" error with auto-discovery
  • Resolved Opus slow pool quota issues by defaulting to Sonnet

πŸ™ Acknowledgments

Thanks to all users who requested these features and provided feedback!


Full Changelog: v1.3.1...v1.4.0

v1.3.1: Dynamic API Key Loading

Choose a tag to compare

@jeffkit jeffkit released this 24 Jan 13:05

πŸŽ‰ Major Features

Dynamic API Key Loading

  • Reset without restart: cursor-agent-a2a reset now takes effect immediately
  • API Keys are loaded dynamically on each request
  • No need to restart the service after changing API Key

Enhanced Commands

  • status: Now displays version number
  • config: Shows full API Key
  • reset: New independent command (replaces config --reset)

πŸ”§ Technical Improvements

  • Fixed ES module imports (removed require() usage)
  • Configuration file is now the single source of truth
  • Removed environment variable for API Key (cleaner architecture)
  • Improved error handling and logging

πŸ“‹ Full Changelog

New Features:

  • Add version display in status command
  • Implement dynamic API Key loading
  • Add reset command as standalone command

Bug Fixes:

  • Fix config reset not working
  • Fix version display in global installation
  • Fix API Key not updating after reset
  • Fix ES module import errors

Internal Changes:

  • Remove API Key from environment variables
  • Use ES module imports (fs, path, os)
  • Clean up debug logging
  • Improve code structure

πŸ“¦ Installation

npm install -g cursor-agent-a2a@latest
cursor-agent-a2a install

πŸ”‘ Usage

# View configuration (shows full API Key)
cursor-agent-a2a config

# Reset API Key (takes effect immediately, no restart needed!)
cursor-agent-a2a reset

# Check status (shows version number)
cursor-agent-a2a status

πŸ™ Thanks

Special thanks to all testers for their patience during the multiple iterations!

v1.2.0 - Config Management and CLI Enhancements

Choose a tag to compare

@jeffkit jeffkit released this 24 Jan 10:44

πŸŽ‰ New Features

Configuration Management

  • Auto-generate secure API key on install if not provided
  • cursor-agent-a2a config - View current configuration
  • cursor-agent-a2a config --reset - Generate new API key

CLI Tools

  • cursor-agent-a2a curl <endpoint> [--method POST] - Generate curl commands with actual API key

Service Improvements

  • Service reads API key from config file automatically
  • Homepage shows config status and CLI usage hints
  • Better configuration persistence

πŸ“¦ Installation

npm install -g cursor-agent-a2a@latest
cursor-agent-a2a install --port 4300

πŸ”§ Usage

# View configuration
cursor-agent-a2a config

# Generate API call
cursor-agent-a2a curl /messages --method POST

# Manage service
cursor-agent-a2a start|stop|restart|status|logs