Skip to content

feat: TypeScript SDK — Core Client Library (Closes #603)#697

Merged
chronoeth-creator merged 1 commit intoSolFoundry:mainfrom
ItachiDevv:fix/issue-603-v5
Mar 22, 2026
Merged

feat: TypeScript SDK — Core Client Library (Closes #603)#697
chronoeth-creator merged 1 commit intoSolFoundry:mainfrom
ItachiDevv:fix/issue-603-v5

Conversation

@ItachiDevv
Copy link
Copy Markdown
Contributor

Closes #603

Summary

Core TypeScript client library for SolFoundry API + Solana programs.

  • Rate limiter, retry with jitter, AbortController timeout
  • 12-class typed error hierarchy
  • BountyClient, EscrowClient, ContributorClient, GitHubClient, SolanaClient
  • WebSocket EventSubscriber with auto-reconnect
  • ESM + CJS dual builds, 180 tests

Wallet: 97VihHW2Br7BKUU16c7RxjiEMHsD4dWisGDT2Y3LyJxF

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@chronoeth-creator chronoeth-creator merged commit dc053e2 into SolFoundry:main Mar 22, 2026
10 of 13 checks passed
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 22, 2026

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

This PR introduces a complete TypeScript SDK for the SolFoundry platform. It adds an HttpClient with configurable retry logic (exponential backoff with jitter), rate limiting via token-bucket algorithm, and typed error handling. Domain-specific clients (BountyClient, EscrowClient, ContributorClient) wrap REST API endpoints with type-safe methods. Additional components include a GitHubClient for bounty issue integration, a WebSocket-based EventSubscriber for real-time events, Solana utilities for PDA derivation and transaction building, and a comprehensive typed interface layer mirroring backend Pydantic models. The SDK exports a SolFoundry facade for centralized usage, includes dual ESM and CommonJS builds, and is accompanied by documentation (README, CHANGELOG), full JSDoc annotations, and comprehensive test coverage across all modules.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested labels

approved, paid

Suggested reviewers

  • chronoeth-creator
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat: TypeScript SDK — Core Client Library (Closes #603)' clearly summarizes the main addition: a new TypeScript SDK core client library that closes the linked issue.
Description check ✅ Passed The description is directly related to the changeset, providing a summary of the SDK implementation with key features (rate limiter, retry logic, typed errors, multiple clients, WebSocket support, dual builds) and test coverage.
Linked Issues check ✅ Passed The pull request comprehensively addresses all coding objectives from issue #603: TypeScript package with types, client classes (BountyClient, EscrowClient, ContributorClient, GitHubClient), GitHub API wrapper, Solana helpers (PDA derivation, account deserialization, transaction building), connection management (retry, rate limiting), typed error hierarchy, ESM/CJS builds, and extensive test coverage (180 tests).
Out of Scope Changes check ✅ Passed All changes in this PR are directly aligned with issue #603 objectives: SDK implementation, client libraries, error handling, Solana integration, TypeScript configuration, tests, and documentation (CHANGELOG, README). No out-of-scope modifications detected.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant