mattvr / ShellGPT

Upgrade your terminal with GPT-4. Ask questions, automate commands, pipe I/O, etc. Made with Deno.
MIT License
228 stars 11 forks source link

Handle insufficient_quota error #23

Closed soderluk closed 6 months ago

soderluk commented 6 months ago

If your OPENAI_API_KEY exceeds the quota, you'll only get an empty response from gpt. The actual response from openai:

{
    "error": {
        "message": "You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.",
        "type": "insufficient_quota",
        "param": null,
        "code": "insufficient_quota"
    }
}

This error should be handled, and a message should be shown to the user that their quota has been exceeded. lib/ai.ts:258 is where the result is decoded into this message.

mattvr commented 6 months ago

Thanks @soderluk for debugging, just fixed in 0.3.9

soderluk commented 6 months ago

@mattvr Updated, tested, and still an empty response. I debugged some more, and the chunks is never filled, because frameEnd already is -1. We never get to the for-loop, where the error is thrown: for (const chunk of chunks). Also, it would be beneficial if the error that was returned from OpenAI would be shown, instead of "error found".

mattvr commented 6 months ago

Thanks again @soderluk

I tried to address again in the latest version 0.4.0. I'm not able to reproduce this specific error, so lmk if it's working now.