Commit Graph

1576 Commits

Author SHA1 Message Date
Dani cb54b6ff5a Fix Vercel routes to prevent JSON files from being rewritten
The component rewrite was intercepting /components.json requests,
returning HTML instead of JSON, causing "<!DOCTYPE... is not valid JSON" errors.

Changes:
- Add $ anchor to component rewrite pattern for exact matching
- Add explicit routes for .json files to ensure proper serving
- Add cache headers for JSON files (5 minute cache)
- Prevent rewrites from intercepting static JSON resources

This ensures /components.json returns actual JSON instead of HTML.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:55:25 -04:00
Dani a78e77f8dd Simplify component.html for production-only deployment
Remove all local environment detection logic and focus 100% on production.

Changes:
- Use static absolute paths for all resources (/css/, /js/, /favicon.ico)
- Remove complex environment detection and dynamic script loading
- Simplify DataLoader to always use absolute paths (/components.json)
- Clean up debugging logs and navigation links
- Static script tags for reliable loading order

This eliminates complexity and ensures robust production functionality.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:51:31 -04:00
Dani fe69262898 Fix DataLoader resource paths for production component URLs
The DataLoader was using relative paths like 'components.json' which
resolved incorrectly from SEO-friendly URLs (/component/agent/name).

Changes:
- Add environment detection to DataLoader constructor
- Add getDataPath() method for environment-aware resource paths
- Use relative paths for local development (components.json)
- Use absolute paths for production (/components.json)
- Add debug logging to trace loading issues

This should fix the "Loading component..." issue in production
by ensuring components.json loads from the correct path.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:45:44 -04:00
Dani 0bdfeb1113 Fix JavaScript path resolution for production component URLs
JavaScript files were loading with relative paths (js/data-loader.js)
which resolved incorrectly from SEO-friendly URLs like
/component/agent/name to /component/agent/js/data-loader.js.

Changes:
- Replace static script tags with dynamic environment-aware loading
- Use relative paths (js/) for local development
- Use absolute paths (/js/) for production
- Maintain script execution order with async=false
- Add debugging logs for troubleshooting

This resolves MIME type errors and ensures JavaScript functionality
works correctly on production component pages.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:41:32 -04:00
Dani 2844cf8022 Fix Vercel configuration for component rewrites
- Disable cleanUrls to prevent conflicts with rewrites
- Remove unnecessary JS/CSS rewrites (using absolute paths instead)
- Fix header paths from /docs/* to /* for proper MIME types
- Add explicit Content-Type headers for JS and CSS files

This should resolve the rewrite issue where /component/agent/name
was serving index.html instead of component.html.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:38:21 -04:00
Dani 7c4006766a Fix production component URLs and resource loading
- Reorder Vercel rewrites to prioritize component routes
- Add explicit JS and CSS route handling for SEO-friendly URLs
- Fix environment-specific resource loading in component.html
- Add debug logging for troubleshooting script loading issues

This resolves MIME type errors and ensures component.html loads
correctly for URLs like /component/agent/name in production.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:28:15 -04:00
Dani a6b9226cc0 fix routes vercel 2025-09-10 17:23:42 -04:00
Dani a3c0187e55 feat: component page improvements and SEO-friendly URLs
• Complete component page implementation with cart functionality
• Clean component names (remove .md/.json extensions in display)
• SEO-friendly URLs: /component/type/name format
• Local/production URL detection for development compatibility
• Improved header actions positioning and responsive design
• API keys setup (Anthropic + E2B) for sandbox execution
• Enhanced cart functionality with clean path/name display
• Share dropdown positioning fix (opens upward)
• Compact back navigation styling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:07:04 -04:00
Dani 840138efe4 Add real-time streaming output to E2B sandbox execution
- Implement on_stdout/on_stderr callbacks for live output streaming
- Add progress indicators during long operations
- Remove unnecessary warning message for aitmpl.com API
- Create API endpoint for agents list at /docs/api/agents.json
- Update getAvailableAgentsFromGitHub to use aitmpl.com API fallback
- Improve user experience with visual feedback during execution
- Version bump to 1.21.5

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 17:54:49 -04:00
Dani 4a8f09faff agent.json api 2025-09-07 17:39:35 -04:00
Dani 7cc2d82df1 1.0.1 v1.0.1 2025-09-07 17:25:28 -04:00
Dani 2b94c4a8f1 Update E2B execution time expectation message
- Change from '30-60 seconds' to 'a few minutes'
- More accurate for complex prompts
- Sets better user expectations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 17:18:20 -04:00
Dani 22defa982f Simplify E2B loading indicator - remove animation complexity
- Remove time and threading imports that caused errors
- Use simple static spinner icon instead of animation
- Clean and simple loading message
- Avoids 'time not associated with value' error

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 17:13:04 -04:00
Dani 0795392d91 Add animated loading indication for E2B execution
- Import time and threading modules for animations
- Add animated dots (Processing...) before execution
- Show brief animation to indicate activity
- Better visual feedback during synchronous operations

Note: Full spinner not possible during blocking E2B execution

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 17:07:32 -04:00
Dani df8cc60513 Improve E2B execution loading message
- Replace misleading 'Real-time output will appear' message
- Add clear 'Executing... Please wait' message
- Include time expectation (30-60 seconds)
- Add visual progress indicator placeholder
- Better user feedback during synchronous execution

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 16:57:17 -04:00
Dani 17f1930f27 Allow empty agent selection in E2B sandbox
- Remove validation that forced agent selection
- Allow users to press Enter without selecting any agents
- Continue with default Claude when no agents selected
- Improves UX by not forcing unnecessary selections

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 16:51:42 -04:00
Dani cda97be9f6 Fix E2B command display to show actual user prompt
- Display the actual user prompt in the command output
- Keep enhanced prompt for internal execution
- Truncate long prompts to 100 characters for display
- Maintains prompt engineering while improving user visibility

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 16:48:05 -04:00
Dani eeb7d48241 Fix agent selection to use local components.json cache
- Use local docs/components.json file when available (600+ agents)
- Fallback to GitHub API only if local file not found
- Handle GitHub API rate limits gracefully
- Provide comprehensive fallback agent list
- Show message when loading from local cache

This fixes the issue where only 3 agents were showing due to API rate limits

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 16:40:37 -04:00
Dani 82ed16aba0 Add prompt engineering to E2B sandbox for better code generation
- Create enhanced prompts with clear instructions for Claude Code
- Include agent context when agents are specified
- Instruct Claude to execute requests immediately and create files
- Parse agent names from components string correctly
- Show agent usage in execution logs

This ensures Claude generates actual code instead of just acknowledging requests

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 16:36:51 -04:00
Dani 49d37e64cb Enable multiple agent selection for E2B sandbox
- Change from single list to checkbox for multiple agent selection
- Support comma-separated agent values (folder/agent-name format)
- Add confirmation prompt before agent selection
- Display multiple agents properly in execution summary
- Maintain full path format for agent references

Users can now select multiple agents with SPACE and confirm with ENTER

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 16:28:30 -04:00
Dani 98ecceeed3 Add cloud sandbox execution loading message
- Add visual separator and loading message after permissions check
- Show 'Executing Claude Code in secure cloud sandbox' message
- Include status indicators for processing, isolation, and output
- Improve user feedback during execution wait time

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 16:25:32 -04:00
Dani 6dcb1ec4c4 Update E2B sandbox blog documentation to match current CLI implementation
- Add interactive agent selection feature when --agent not provided
- Add interactive prompt input when --prompt not provided
- Document Y/n confirmation step before execution
- Clarify files download to current directory in sandbox-xxxxx folder
- Add ESC to cancel execution feature
- Update execution process table with complete 12-step workflow
- Fix timeout documentation (15 minutes, not 5)
- Remove --studio references (keeping it private for now)
- Add interactive mode example in quick start

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
v1.21.0
2025-09-07 16:01:31 -04:00
Dani 7fdc2e7782 Fix E2B sandbox file download location to user's current directory
- Change Python script execution cwd from sandboxDir to targetDir
- Files now download directly to user's current working directory
- Update message to show exact download path
- Maintains pip install in .claude/sandbox for dependencies

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 15:44:35 -04:00
Dani 6f56132b0e Separate --studio and --sandbox commands: make --sandbox CLI-only with interactive agent selection
- Keep --studio as separate web interface command for Claude Code Studio
- Make --sandbox e2b pure CLI experience without opening web interface
- Add interactive agent selection when --agent not provided
- Agent list fetched from GitHub with option to continue without agent
- Maintain existing prompt collection and Y/n confirmation flow
- Real-time log display and folder download already working

This ensures --sandbox e2b follows the CLI workflow:
1. Check/download agents if missing
2. Prompt for input if --prompt not provided
3. Confirm E2B execution with Y/n
4. Execute and show logs
5. Download folder when complete

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 15:39:15 -04:00
Dani 846f42241d Transform to Claude Code Studio: complete local + cloud execution interface
✨ FEATURES:
- Rename from AITMPL Cloud Agent to Claude Code Studio
- Add --studio command to launch unified interface
- Support both Local Machine and E2B Cloud execution modes
- Interactive mode toggle with visual indicators
- Smart notices (API keys for cloud, CLI check for local)

🚀 EXECUTION MODES:
- Local: Execute Claude Code directly on user's machine
- Cloud: Execute in E2B isolated sandbox environment

🎨 UI IMPROVEMENTS:
- Clean mode selector with icons and hover effects
- Context-aware notices (show only relevant info)
- Better error handling for missing Claude Code CLI
- Terminal-styled interface consistent with brand

🔧 CLI INTEGRATION:
- npx claude-code-templates@latest --studio (launch interface)
- npx claude-code-templates@latest --sandbox e2b (direct cloud)
- Backward compatibility maintained

💡 USER EXPERIENCE:
- Default to Local mode (no API keys needed)
- Switch to Cloud for isolated testing
- Real-time task management and progress tracking
- Automatic environment detection and setup guidance
2025-09-07 11:20:32 -04:00
Dani 1caddd7fe6 Fix E2B file download location: use current working directory instead of relative paths
- Use os.getcwd() to get the directory where command was executed
- Download files to sandbox-{id} folder in user's current directory
- Remove hardcoded relative path assumptions (../../)
- Add debugging output to show current working directory
- Ensures files are downloaded where user expects them
2025-09-07 11:10:26 -04:00
Dani fa0cc5ea07 Fix .env loading: load environment variables from user's project directory
- Load .env file from current working directory (where command is executed)
- Pass environment variables correctly to Python E2B launcher
- Show API key status on server startup with clear feedback
- Ensure E2B and Anthropic API keys are loaded from user's project
- Better debugging output for environment variable loading
2025-09-06 20:23:07 -04:00
Dani 149de06cd4 Improve AITMPL Cloud Agent UX: add API keys notice and better error handling
- Add prominent API keys notice with setup instructions
- Include direct links to get E2B and Anthropic API keys
- Improve error handling to detect missing API key errors
- Show helpful error messages for API key configuration
- Better user guidance for .env file setup
2025-09-06 20:15:14 -04:00
Dani 3f97e11efd Fix sandbox server routing: serve sandbox interface at root instead of docs index.html 2025-09-06 20:12:20 -04:00
Dani 4d911106d7 Fix sandbox server: remove cors dependency, use native CORS middleware 2025-09-06 20:09:15 -04:00
Dani 777b3db79e Add AITMPL Cloud Agent interface for E2B sandbox management
- Create web interface for managing E2B sandbox tasks
- Add terminal-styled UI matching docs/index.html design
- Implement real-time task polling and progress tracking
- Add sandbox server with Express.js backend
- Support launching interface with --sandbox e2b command
- Include running and completed task sections
- Real-time output streaming from E2B executions
- Auto-resize textarea and keyboard shortcuts
2025-09-06 20:07:23 -04:00
Dani e0accf5e7e Fix E2B sandbox file downloads to create project folder in root directory 2025-09-06 19:57:03 -04:00
Dani 68c4a464ac Fix 'Assignment to constant variable' error in executeSandbox function 2025-09-06 19:50:01 -04:00
Dani 2c276c6fa1 Remove default placeholder from E2B sandbox prompt input 2025-09-06 19:41:55 -04:00
Dani f8a815a866 Change E2B sandbox prompt from editor to simple text input 2025-09-06 19:38:46 -04:00
Dani f17debf682 Add interactive prompt input for E2B sandbox when --prompt not provided
Features:
✅ Interactive Project Requirements Editor:
- Opens when --prompt parameter is not provided in sandbox mode
- Uses inquirer editor type for multi-line text input
- Comprehensive default template with structured guidance
- Input validation (minimum 10 characters)

✅ Enhanced User Experience:
- Clear instructions on how to provide detailed requirements
- Pre-filled template with examples and categories:
  * Feature descriptions
  * Technical requirements (tech stack, styling)
  * Design requirements (colors, layout, UI style)
- Real example at the bottom for reference

✅ Smart Flow:
- Only triggers when prompt is missing in sandbox mode
- Captures user input and continues with normal sandbox execution
- Maintains all existing functionality when --prompt is provided

This allows users to run sandbox mode without specifying --prompt
and get a guided experience to describe their project requirements.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 19:31:24 -04:00
Dani 49513876fd Fix E2B sandbox to download files directly to project root
Changes:
- E2B launcher now downloads files to ./ (project root) instead of ./e2b-outputs/
- Updated confirmation dialog to show "Files will be downloaded to project root directory"
- Updated modal feature text to "Files downloaded to project root"
- Removed timestamp folder organization for simpler file management

This ensures generated files are immediately available in the project root
where users expect them, without needing to navigate to subfolders.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 15:56:38 -04:00
Dani d6c81ff7c5 Add E2B sandbox execution confirmation and ESC cancellation
Features added:
✅ Sandbox Execution Confirmation:
- Beautiful formatted confirmation dialog with execution details
- Shows agent name, truncated prompt, provider (E2B Cloud)
- Displays execution info: real-time logs, file downloads, timeout
- Clear ESC cancellation instructions

✅ ESC Key Cancellation:
- Real-time ESC key detection during sandbox execution
- Graceful process termination with SIGTERM
- Proper stdin cleanup and raw mode handling
- User-friendly cancellation messages

✅ Enhanced User Experience:
- Informative confirmation dialog before execution
- Real-time execution status and instructions
- Safe process cancellation without hanging
- Clear feedback for all execution states

This provides users with full control over sandbox execution and clear
visibility into what will happen during the E2B sandbox process.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 15:46:14 -04:00
Dani 73ca5836e5 Fix unwanted prompt confirmation dialog when using --sandbox
Problem: When using --sandbox with --prompt, the system was showing
"Do you want to execute this prompt in Claude Code?" confirmation dialog
after installing the agent, even though sandbox mode should handle the
prompt execution directly.

Root Cause: The issue existed since the beginning. When --sandbox installs
an agent internally, the installIndividualComponents() function was also
checking for options.prompt and calling handlePromptExecution(), creating
a duplicate prompt handling path.

Solution: Added !options.sandbox condition to all three locations where
handlePromptExecution() is called:
1. Main template installation flow (line 372)
2. Individual components installation (line 1454)
3. Workflow components installation (line 1623)

This ensures prompt execution only happens in regular mode, not sandbox mode.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 14:21:05 -04:00
Dani 7ed71b4a65 Fix agent format to use folder/agent-name structure in E2B sandbox commands
Corrections:
- Modal: Changed --agent=${componentPath} to correctly show folder/agent-name
- Index.html: Updated from --agent=frontend-developer to --agent=development-team/frontend-developer
- Steps section: Added missing agent specification in Cloud Sandbox step
- Tools section: Corrected E2B sandbox command format

This aligns with the CLI requirement where agents must be specified as:
--agent=folder/agent-name (e.g., development-team/frontend-developer)

The componentPath already contains the correct folder/name structure,
so this ensures the modal commands work correctly when copied.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 13:40:24 -04:00
Dani 9510d479b5 Move E2B sandbox outputs to project root with organized folders
Changes:
- E2B outputs now save to ./e2b-outputs/{timestamp}_{prompt}/ in project root
- No longer creates files inside .claude directory
- Added timestamp and sanitized prompt name for unique folder organization
- Improved find command to exclude .claude and node_modules directories
- Enhanced file filtering and organization for better user experience

Structure:
./e2b-outputs/
  └── 20250106_143025_Create-React-app/
      ├── index.html
      ├── app.js
      └── styles.css

This keeps E2B sandbox outputs separate from Claude Code configuration
and makes it easier for users to find and manage their generated files.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 13:33:23 -04:00
Dani 39b8b1f4f2 Restrict E2B sandbox to agents only - improve modal specificity
Changes:
- E2B Sandbox section now only appears for agent components
- Commands, MCPs, settings, hooks, and templates no longer show E2B option
- This aligns with the CLI implementation where --sandbox only works with --agent
- Keeps modal clean and relevant for each component type

Reasoning:
E2B sandbox execution is specifically designed for agent workflows since
agents provide the AI decision-making needed for complex cloud operations.
Other component types (commands, settings, etc.) are configuration-based
and don't require isolated execution environments.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-05 08:20:23 -04:00
Dani 7855c476ba Reorganize modal structure with clear sections and simplified layout
Modal Structure:
✅ Basic Installation - Install component locally with brief description
✅ Global Agent (Claude Code SDK) - For agents only, with usage and features
✅ Run in E2B Sandbox (Cloud Execution) NEW - Cloud execution with simplified setup

E2B Sandbox Improvements:
- Added NEW badge to highlight the feature
- Simplified API key setup section with .env example
- Cleaner command structure without multiple methods
- Improved API key links styling with hover effects
- Better responsive design for mobile devices

Visual Enhancements:
- Clear section dividers and consistent spacing
- Improved typography and color hierarchy
- Better organized content flow matching the screenshot
- Enhanced readability with proper descriptions

This matches the exact structure requested based on the modal screenshot.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 21:50:38 -04:00
Dani 1ec2031ae7 Improve E2B sandbox API key setup in modals and main page
Modal Improvements:
- Added detailed API key setup section with two methods
- Method 1: Environment variables (.env file) - recommended
- Method 2: Command line parameters - for testing
- Enhanced visual structure with separate sections for each method
- Added responsive design for mobile devices

Main Page Layout:
- E2B sandbox tool card now spans full width (3 columns)
- Improved internal layout with side-by-side .env setup
- Better spacing and organization for the expanded card
- Responsive breakpoints for mobile and tablet

Users now have clear, easy-to-follow instructions for both modal
components and main page examples with API key management.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 21:36:19 -04:00
Dani 7d98c36046 Add E2B Sandbox execution instructions to component modals
- Added E2B sandbox section to all component modal details
- Includes cloud execution command with component-specific parameters
- Features: isolated environment, extended timeouts, file downloads, monitoring
- Added requirements section with E2B and Anthropic API key links
- Styled E2B section with blue gradient background and warning styling
- Handles templates vs other component types correctly in command generation
- Updated components.json with latest component scan (2 sandbox components)

Users can now see E2B sandbox instructions for every component in the modal.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 21:00:21 -04:00
Dani 44063b036f Fix E2B sandbox timeout issues with extended timeouts
- Extended Node.js spawn timeout from default to 15 minutes (900 seconds)
- Increased Python E2B launcher timeout from 5 to 10 minutes (600 seconds)
- Updated monitor script to use same extended timeout
- Added timeout handling with user-friendly error messages
- Added timeout notification to inform users of extended wait times

Resolves timeout issues with complex Claude Code operations in E2B sandboxes.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 20:38:38 -04:00
Dani 198c36288f Complete E2B Sandbox System - Production Ready v1.20.3
🎉 Major Features Added:
✅ Automatic file download from sandbox to local ./e2b-output/
✅ Extended timeouts (15 minutes) with intelligent timeout management
✅ Comprehensive logging with step-by-step execution monitoring
✅ Environment verification (Claude Code installation, permissions)
✅ Advanced debugging tools and comprehensive error handling

📁 New Files:
- e2b-monitor.py: Real-time sandbox monitoring with system resources tracking
- SANDBOX_DEBUGGING.md: Complete troubleshooting and debugging guide

🔧 Enhanced Features:
- E2B SDK v2.0.2 compatibility with Sandbox.create() API
- Automatic download of HTML, CSS, JS, TS, Python, JSON, Markdown files
- Detailed logging of command execution with exit codes and output lengths
- Retry logic for WebSocket/connection issues
- Environment checks (PATH, permissions, Claude Code installation)

🎯 Production Ready:
- Fully functional E2B cloud sandbox integration
- Comprehensive error handling and user guidance
- Advanced debugging capabilities for troubleshooting
- Automatic cleanup and resource management

This completes the E2B sandbox integration as a fully production-ready system
for executing Claude Code in secure isolated cloud environments.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 17:27:36 -04:00
Dani 983c774b71 Fix E2B launcher to use Sandbox.create() API for v2.0.2
- Replace deprecated Sandbox() constructor with Sandbox.create() method
- Use correct v2.0.2 API signature with named parameters
- Based on official E2B v2.0.2 API documentation

Resolves API compatibility issues with E2B SDK v2.0.2.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 14:20:38 -04:00
Dani 9833640d2e Update E2B launcher for SDK v2.0.2 API compatibility
- Fix template parameter to be positional argument instead of keyword
- Change env_vars to envs parameter (v2.0.2 API change)
- Update requirements.txt to use E2B SDK v2.0.2
- Based on official e2b-cookbook example for Anthropic Claude Code

Fixes WebSocket connection issues by using latest E2B SDK that no longer relies on WebSockets.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 14:15:39 -04:00
Dani 8ec8fb819e Fix WebSocket connection issues in E2B sandbox launcher
- Add retry logic with up to 3 attempts for WebSocket failures
- Implement shorter connection timeouts to fail fast
- Add detailed troubleshooting messages for common issues
- Handle network/firewall restriction errors gracefully

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 13:50:53 -04:00