Commit graph

4 commits

Author SHA1 Message Date
1eb28e2c04 Implement Go client SDK
Add complete Go SDK implementation with all 13 API functions:
- ExecuteCode: Execute code synchronously
- ExecuteAsync: Execute code asynchronously
- GetJob: Get job status
- WaitForJob: Poll job with exponential backoff
- CancelJob: Cancel running job
- ListJobs: List all jobs
- GetLanguages: Get supported languages (1-hour cache)
- DetectLanguage: Detect language from filename extension
- SessionSnapshot: Create session snapshot (NEW)
- ServiceSnapshot: Create service snapshot (NEW)
- ListSnapshots: List all snapshots (NEW)
- RestoreSnapshot: Restore from snapshot (NEW)
- DeleteSnapshot: Delete snapshot (NEW)

Features:
- Standard Go conventions (PascalCase exports)
- 4-tier credentials resolution (ResolveCredentials)
- HMAC-SHA256 using crypto/hmac and crypto/sha256
- Exponential backoff with time.Sleep
- Languages cache in ~/.unsandbox/languages.json (1-hour TTL)
- Comprehensive error handling with custom CredentialsError type
- Full documentation comments for all exported functions
2026-01-15 16:01:47 -05:00
a5f7532fb2 Implement JavaScript/Node.js client SDK
Add complete JavaScript SDK implementation with all 13 API functions:
- executeCode: Execute code synchronously
- executeAsync: Execute code asynchronously
- getJob: Get job status
- waitForJob: Poll job with exponential backoff
- cancelJob: Cancel running job
- listJobs: List all jobs
- getLanguages: Get supported languages (1-hour cache)
- detectLanguage: Detect language from filename extension
- sessionSnapshot: Create session snapshot (NEW)
- serviceSnapshot: Create service snapshot (NEW)
- listSnapshots: List all snapshots (NEW)
- restoreSnapshot: Restore from snapshot (NEW)
- deleteSnapshot: Delete snapshot (NEW)

Features:
- Promise-based async API (Node.js compatible)
- 4-tier credentials resolution
- HMAC-SHA256 using crypto module
- Exponential backoff with setTimeout
- Languages cache in ~/.unsandbox/languages.json (1-hour TTL)
- Uses HTTPS for secure communication
- Comprehensive JSDoc documentation
2026-01-15 16:01:43 -05:00
8acb023bc2 Implement Python asynchronous client SDK
Add complete async Python SDK implementation with all 13 API functions using aiohttp:
- execute_code: Execute code asynchronously
- execute_async: Start async code execution
- get_job: Get job status
- wait_for_job: Poll job with exponential backoff (async)
- cancel_job: Cancel running job
- list_jobs: List all jobs
- get_languages: Get supported languages (1-hour cache)
- detect_language: Detect language from filename extension
- session_snapshot: Create session snapshot (NEW)
- service_snapshot: Create service snapshot (NEW)
- list_snapshots: List all snapshots (NEW)
- restore_snapshot: Restore from snapshot (NEW)
- delete_snapshot: Delete snapshot (NEW)

Features:
- Full async/await support with aiohttp
- 4-tier credentials resolution
- HMAC-SHA256 authentication
- Exponential backoff polling with asyncio.sleep
- Languages cache (1-hour TTL)
- Type hints and comprehensive docstrings
2026-01-15 16:01:39 -05:00
9b9a76a79a Implement Python synchronous client SDK
Add complete Python SDK implementation with all 13 API functions:
- execute_code: Execute code synchronously
- execute_async: Execute code asynchronously
- get_job: Get job status
- wait_for_job: Poll job with exponential backoff [300,450,700,900,650,1600,2000]ms
- cancel_job: Cancel running job
- list_jobs: List all jobs
- get_languages: Get supported languages (1-hour cache)
- detect_language: Detect language from filename extension
- session_snapshot: Create session snapshot (NEW)
- service_snapshot: Create service snapshot (NEW)
- list_snapshots: List all snapshots (NEW)
- restore_snapshot: Restore from snapshot (NEW)
- delete_snapshot: Delete snapshot (NEW)

Features:
- 4-tier credentials resolution (args, env vars, ~/.unsandbox/accounts.csv, ./accounts.csv)
- HMAC-SHA256 authentication with replay prevention
- Exponential backoff polling for async operations
- Languages cache with 1-hour TTL in ~/.unsandbox/languages.json
- Full type hints and docstrings
- Comprehensive error handling
2026-01-15 16:01:35 -05:00