-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Feat: Client SDK for vibesdk #277
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Remove CliTokenData type and getCliToken API endpoint - Add comprehensive API key management UI with create/revoke/list functionality - Implement Dialog component for key creation with secure one-time display - Add Table component to display active keys with metadata (name, preview, created, last used) - Include visual warnings about key security and one-time visibility - Update settings navigation to point to API keys section
- Add VIBESDK_RUN_INTEGRATION_TESTS environment variable to control integration test execution - Exclude SDK integration tests from pre-commit hooks to improve commit speed - Add dedicated test:integration npm script for running integration tests explicitly - Update vitest config to conditionally exclude integration tests based on environment variable
|
Claude finished @AshishKumar4's task in 1m 48s —— View job Code Quality & Security Review (Critical Path)Recommendation: APPROVE PR SummaryThis PR introduces a full TypeScript Client SDK ( PR Description
Addressed IssuesNone identified. Security Analysis
Positive Security Patterns Observed:
Code Quality Analysis
Medium:
Low:
Architecture ReviewSDK Design - Well Structured:
Type Safety:
Testing
Final RecommendationAPPROVE - This is a well-designed SDK with appropriate security measures. The API key exchange flow follows security best practices (short-lived tokens, input validation, account status checks). Minor type safety improvements could be made but don't block the PR. |
Summary
This PR introduces a full TypeScript Client SDK (
@cf-vibesdk/sdk) for programmatic interaction with the VibeSDK platform, enabling headless automation, CI/CD integration, and third-party tooling.Changes
SDK Package (
/sdk/): Complete TypeScript client implementationVibeClient,PhasicClient,AgenticClient- High-level client classesBuildSession- Session management with WebSocket connectionWorkspaceStore- Local file state synchronizationSessionStateStore- Reactive state managementwspackage shimBackend Auth (
/worker/api/controllers/auth/):POST /api/auth/exchange-api-keyendpoint for API key → JWT exchangeSecurity Middleware:
Testing:
test:integrationscript for SDK E2E testingMotivation
Enables programmatic access to VibeSDK for:
Testing
Breaking Changes
None - additive changes only.
Related Issues
None identified.