-
Notifications
You must be signed in to change notification settings - Fork 3
Integrate with payment-kit #44
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
|
Claude finished @jolestar's task —— View job PR Review: Integrate with payment-kitTodo List:
OverviewThis PR integrates the Code Quality & Best Practices ✅Strengths:
Detailed Analysis1. payment-fetch.ts Implementation ✅src/shared/services/payment-fetch.ts:10-24
2. Provider Integration ✅src/features/chat/services/providers/index.ts:11
3. Dependency Management ✅
Security Considerations
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR integrates the payment-kit service to handle payment-channel headers and streaming settlement in the chat provider. It replaces the existing authorized fetch mechanism with a new payment-based approach.
- Adds a new payment fetch service that wraps requests with payment functionality
- Updates chat providers to use payment fetch instead of authorized fetch
- Upgrades Nuwa AI packages to version 0.4.0 to support payment functionality
Reviewed Changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| src/shared/services/payment-fetch.ts | New service that creates payment-enabled fetch function using payment-kit |
| src/features/chat/services/providers/index.ts | Updates provider configuration to use payment fetch and new test gateway URL |
| package.json | Upgrades Nuwa AI packages and adds payment-kit dependency |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (1)
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.
| } | ||
|
|
||
| return async function paymentFetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response> { | ||
| const targetUrl = new URL(typeof input === 'string' ? input : (input as any).url ?? input.toString()); |
Copilot
AI
Aug 13, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using (input as any) bypasses TypeScript's type safety. Consider using proper type guards or checking if input is a URL or Request object before accessing properties.
| const targetUrl = new URL(typeof input === 'string' ? input : (input as any).url ?? input.toString()); | |
| let urlString: string; | |
| if (typeof input === 'string') { | |
| urlString = input; | |
| } else if (input instanceof URL) { | |
| urlString = input.toString(); | |
| } else if (typeof input === 'object' && 'url' in input && typeof (input as Request).url === 'string') { | |
| urlString = (input as Request).url; | |
| } else { | |
| urlString = input.toString(); | |
| } | |
| const targetUrl = new URL(urlString); |
|
|
||
| // Settings of Nuwa LLM Gateway | ||
| // const baseURL = 'https://test-llm.nuwa.dev/api/v1'; | ||
| const baseURL = 'https://llm-gateway-payment-test.up.railway.app/api/v1'; |
Copilot
AI
Aug 13, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Commented out code should be removed rather than left in the codebase. If this is meant for easy switching between environments, consider using environment variables instead.
| const baseURL = 'https://llm-gateway-payment-test.up.railway.app/api/v1'; | |
| const baseURL = process.env.LLM_GATEWAY_BASE_URL || 'https://llm-gateway-payment-test.up.railway.app/api/v1'; |
Deploying nuwa-client with
|
| Latest commit: |
4dfd320
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://90ec2e9e.nuwa-client.pages.dev |
| Branch Preview URL: | https://support-payment.nuwa-client.pages.dev |
461ce6c to
96ca9e7
Compare
|
Claude encountered an error —— View job Claude Code is reviewing this PR Todo List:
|
96ca9e7 to
4dfd320
Compare
|
Claude encountered an error —— View job I'll analyze this and get back to you. |

No description provided.