• Will Chen's avatar
    Use user info proxy (#1963) · 213def4a
    Will Chen 提交于
    <!-- CURSOR_SUMMARY -->
    > [!NOTE]
    > Switches budget fetch to `https://api.dyad.sh/v1/user/info` and
    validates/consumes `usedCredits`, `totalCredits`, and `budgetResetDate`
    directly via Zod.
    > 
    > - **IPC/Pro handlers (`src/ipc/handlers/pro_handlers.ts`)**:
    > - **Endpoint**: Update user info URL to
    `https://api.dyad.sh/v1/user/info`.
    > - **Validation**: Add `zod` schema `UserInfoResponseSchema` to
    validate API response.
    > - **Data mapping**: Use `usedCredits`, `totalCredits`,
    `budgetResetDate`, and `userId` from response directly; remove
    conversion logic and old nested `user_info` parsing.
    > - **Redaction**: Compute `redactedUserId` from `userId` and return
    parsed `UserBudgetInfo`.
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    da1f192c2cabb2154bd10b69555c27d62fbb6368. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    
    <!-- This is an auto-generated description by cubic. -->
    ## Summary by cubic
    Switched user budget fetch to the new user info proxy and added schema
    validation. Uses API-provided credits directly and removes the old
    conversion logic.
    
    - **Refactors**
      - Use https://api.dyad.sh/v1/user/info instead of llm-gateway.
    - Validate response with a Zod schema (usedCredits, totalCredits,
    budgetResetDate, userId).
      - Map fields directly to UserBudgetInfo and remove CONVERSION_RATIO.
      - Keep redacted user ID format (****1234).
    
    - **Dependencies**
    - Removed unused html-dom-parser, html-react-parser, and react-property
    from the lockfile.
    
    <sup>Written for commit da1f192c2cabb2154bd10b69555c27d62fbb6368.
    Summary will update automatically on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    213def4a
package-lock.json 774.0 KB