feat(platform-sdk): comprehensive Go SDK with multi-project support#801
feat(platform-sdk): comprehensive Go SDK with multi-project support#801markturansky wants to merge 1 commit intomainfrom
Conversation
Add complete SDK implementation for Ambient Code Platform API access: - Complete Go SDK with gRPC watch support and client generation - Flexible project handling - removed required project from client init - Support project from env var, CLI arg, or explicit method parameter - Session lifecycle management (create, start, stop, list, watch) - Multi-language support (Go, Python, TypeScript) - Comprehensive examples and documentation Key changes: - Remove project requirement from NewClient/NewClientFromEnv - Add explicit project parameter to all API methods - Enable multi-project client usage patterns - Add session watch functionality with gRPC support - Update examples for dynamic project configuration This enables programmatic access to the platform without Kubernetes dependencies, supporting external integrations and automation. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Claude Code ReviewSummaryPR 801 adds real-time session watch functionality (gRPC for Go, SSE for Python and TypeScript) and refactors the Go SDK to make Issues by SeverityBlocker IssuesNone. Critical Issues1. Go File: Every other method in Fix: Add type WatchOptions struct {
ResourceVersion string
Timeout time.Duration
GRPCPort string
Project string // add this
}
// in Watch():
project := opts.Project
if project == "" {
project = a.client.project
}
md := metadata.New(map[string]string{
"authorization": "Bearer " + a.client.token,
"x-ambient-project": project,
})Major Issues2. Python SDK still requires File:
# Still in from_env():
if not project:
raise ValueError("AMBIENT_PROJECT environment variable is required")
# Still in _validate_config():
if not self._project:
raise ValueError("project cannot be empty")3. Trailing whitespace in File: The diff introduces trailing spaces on at least 15 blank separator lines throughout Fix: Run 4. Missing final newline in two files Files:
Both diffs show no newline at end of file. The 5. Unsanitized string interpolation in File: The search filter is built via Minor Issues6. Three bullet points for still-existing features were accidentally removed: the bearer token prerequisite, session retrieval by ID, and the list sessions feature bullet. These appear to be accidental deletions from an earlier editing pass. 7. gRPC connection may leak if File:
Positive Highlights
Recommendations
Generated with Claude Code 🔍 View AI decision process (logs available for 90 days) 📋 View memory system files loaded (click to expand)What Amber Loaded for Code ReviewAmber automatically loaded these repository standards from the memory system:
Impact: This review used your repository's specific code quality standards, security patterns, and best practices from the memory system (PRs #359, #360) - not just generic code review guidelines. |
Merge Readiness — Blockers Found
|
|
Closing to update with flexible project handling fixes for CI. |
Summary
This PR introduces the new platform-sdk component with comprehensive SDK support for the Ambient Code Platform API.
Key Changes
SDK Architecture
Client Flexibility
Multi-Language Support
Examples & Documentation
File Changes
85 files changed, 2913 insertions(+), 293 deletions(-)
This is a clean SDK-only PR containing just the platform-sdk component files.
Test Plan
Related
Enables programmatic access to the Ambient Code Platform for external integrations and tooling without Kubernetes dependencies.
🤖 Generated with Claude Code