Skip to content

Commit 7d9cd58

Browse files
committed
add individual errors based on status codes
1 parent 907d80b commit 7d9cd58

33 files changed

+1067
-237
lines changed

.speakeasy/gen.lock

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
lockVersion: 2.0.0
22
id: 53e6e641-e7b6-4f11-8e15-1d930a684b2b
33
management:
4-
docChecksum: 60e9c36e6a3747ba5ac57ca2e3718059
4+
docChecksum: 9e1a9a8efaad4ab9997261a7c64cdcb9
55
docVersion: 1.0.0
6-
speakeasyVersion: 1.615.0
7-
generationVersion: 2.698.0
8-
releaseVersion: 0.5.6
9-
configChecksum: 7fad29cbc220e318baf294f14fd2fae4
6+
speakeasyVersion: 1.615.2
7+
generationVersion: 2.698.4
8+
releaseVersion: 0.5.8
9+
configChecksum: 0d544adabcca7d0be5ede016e0c05dea
1010
repoURL: https://github.com/speakeasy-sdks/openrouter-typescript-sdk.git
1111
installationURL: https://github.com/speakeasy-sdks/openrouter-typescript-sdk
1212
features:
@@ -20,7 +20,7 @@ features:
2020
devContainers: 2.90.0
2121
enumUnions: 0.1.0
2222
envVarSecurityUsage: 0.1.2
23-
globalSecurity: 2.82.13
23+
globalSecurity: 2.82.14
2424
globalSecurityCallbacks: 0.1.0
2525
globalSecurityFlattening: 0.1.0
2626
globalServerURLs: 2.82.5
@@ -112,8 +112,10 @@ generatedFiles:
112112
- docs/models/detail.md
113113
- docs/models/effort.md
114114
- docs/models/engine.md
115-
- docs/models/errors/chatcompletionerror.md
116-
- docs/models/errort.md
115+
- docs/models/errors/openrouterinvalidrequesterror.md
116+
- docs/models/errors/openrouterratelimiterror.md
117+
- docs/models/errors/openrouterservererror.md
118+
- docs/models/errors/openrouterunauthorizederror.md
117119
- docs/models/fileannotationdetail.md
118120
- docs/models/fileannotationdetailcontentunion.md
119121
- docs/models/fileannotationdetailimageurl.md
@@ -130,6 +132,10 @@ generatedFiles:
130132
- docs/models/maxprice.md
131133
- docs/models/only.md
132134
- docs/models/onlyenum.md
135+
- docs/models/openrouterinvalidrequesterrorerror.md
136+
- docs/models/openrouterratelimiterrorerror.md
137+
- docs/models/openrouterservererrorerror.md
138+
- docs/models/openrouterunauthorizederrorerror.md
133139
- docs/models/operations/createchatcompletionresponse.md
134140
- docs/models/order.md
135141
- docs/models/orderenum.md
@@ -223,7 +229,6 @@ generatedFiles:
223229
- src/models/chatcompletioncontentpartimage.ts
224230
- src/models/chatcompletioncontentparttext.ts
225231
- src/models/chatcompletioncreateparams.ts
226-
- src/models/chatcompletionerror.ts
227232
- src/models/chatcompletionmessage.ts
228233
- src/models/chatcompletionmessageparam.ts
229234
- src/models/chatcompletionmessagetoolcall.ts
@@ -236,15 +241,22 @@ generatedFiles:
236241
- src/models/chatcompletiontoolmessageparam.ts
237242
- src/models/chatcompletionusermessageparam.ts
238243
- src/models/completionusage.ts
239-
- src/models/errors/chatcompletionerror.ts
240244
- src/models/errors/httpclienterrors.ts
241245
- src/models/errors/index.ts
242246
- src/models/errors/openrouterdefaulterror.ts
243247
- src/models/errors/openroutererror.ts
248+
- src/models/errors/openrouterinvalidrequesterror.ts
249+
- src/models/errors/openrouterratelimiterror.ts
250+
- src/models/errors/openrouterservererror.ts
251+
- src/models/errors/openrouterunauthorizederror.ts
244252
- src/models/errors/responsevalidationerror.ts
245253
- src/models/errors/sdkvalidationerror.ts
246254
- src/models/fileannotationdetail.ts
247255
- src/models/index.ts
256+
- src/models/openrouterinvalidrequesterror.ts
257+
- src/models/openrouterratelimiterror.ts
258+
- src/models/openrouterservererror.ts
259+
- src/models/openrouterunauthorizederror.ts
248260
- src/models/operations/createchatcompletion.ts
249261
- src/models/operations/index.ts
250262
- src/models/reasoningdetail.ts
@@ -280,6 +292,10 @@ examples:
280292
application/json: {"error": {"code": null, "message": "<value>"}}
281293
"500":
282294
application/json: {"error": {"code": null, "message": "<value>"}}
295+
"401":
296+
application/json: {"error": {"code": 6977.95, "message": "<value>"}}
297+
"429":
298+
application/json: {"error": {"code": 4173.4, "message": "<value>"}}
283299
speakeasy-default-create-chat-completion-raw:
284300
requestBody:
285301
text/event-stream: "x-file: example.file"

.speakeasy/gen.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,14 @@ generation:
1919
auth:
2020
oAuth2ClientCredentialsEnabled: true
2121
oAuth2PasswordEnabled: true
22+
hoistGlobalSecurity: true
2223
sdkHooksConfigAccess: true
2324
tests:
2425
generateTests: false
2526
generateNewTests: true
2627
skipResponseBodyAssertions: false
2728
typescript:
28-
version: 0.5.6
29+
version: 0.5.8
2930
additionalDependencies:
3031
dependencies: {}
3132
devDependencies: {}

.speakeasy/in.openapi.yaml

Lines changed: 75 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ components:
449449
- model
450450
- object
451451
description: Chat completion response
452-
ChatCompletionError:
452+
OpenRouterInvalidRequestError:
453453
type: object
454454
properties:
455455
error:
@@ -471,7 +471,76 @@ components:
471471
description: Error object structure
472472
required:
473473
- error
474-
description: Chat completion error response
474+
description: OpenRouter invalid request error response
475+
OpenRouterUnauthorizedError:
476+
type: object
477+
properties:
478+
error:
479+
type: object
480+
properties:
481+
code:
482+
type: number
483+
nullable: true
484+
message:
485+
type: string
486+
param:
487+
type: string
488+
nullable: true
489+
type:
490+
type: string
491+
required:
492+
- code
493+
- message
494+
description: Error object structure
495+
required:
496+
- error
497+
description: OpenRouter unauthorized error response
498+
OpenRouterRateLimitError:
499+
type: object
500+
properties:
501+
error:
502+
type: object
503+
properties:
504+
code:
505+
type: number
506+
nullable: true
507+
message:
508+
type: string
509+
param:
510+
type: string
511+
nullable: true
512+
type:
513+
type: string
514+
required:
515+
- code
516+
- message
517+
description: Error object structure
518+
required:
519+
- error
520+
description: OpenRouter rate limit error response
521+
OpenRouterServerError:
522+
type: object
523+
properties:
524+
error:
525+
type: object
526+
properties:
527+
code:
528+
type: number
529+
nullable: true
530+
message:
531+
type: string
532+
param:
533+
type: string
534+
nullable: true
535+
type:
536+
type: string
537+
required:
538+
- code
539+
- message
540+
description: Error object structure
541+
required:
542+
- error
543+
description: OpenRouter server error response
475544
ChatCompletionChunkChoiceDeltaToolCall:
476545
type: object
477546
properties:
@@ -1534,22 +1603,22 @@ paths:
15341603
content:
15351604
application/json:
15361605
schema:
1537-
$ref: '#/components/schemas/ChatCompletionError'
1606+
$ref: '#/components/schemas/OpenRouterInvalidRequestError'
15381607
'401':
15391608
description: Unauthorized - invalid API key
15401609
content:
15411610
application/json:
15421611
schema:
1543-
$ref: '#/components/schemas/ChatCompletionError'
1612+
$ref: '#/components/schemas/OpenRouterUnauthorizedError'
15441613
'429':
15451614
description: Too many requests - rate limit exceeded
15461615
content:
15471616
application/json:
15481617
schema:
1549-
$ref: '#/components/schemas/ChatCompletionError'
1618+
$ref: '#/components/schemas/OpenRouterRateLimitError'
15501619
'500':
15511620
description: Internal server error
15521621
content:
15531622
application/json:
15541623
schema:
1555-
$ref: '#/components/schemas/ChatCompletionError'
1624+
$ref: '#/components/schemas/OpenRouterServerError'

.speakeasy/out.openapi.yaml

Lines changed: 75 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ components:
449449
- model
450450
- object
451451
description: Chat completion response
452-
ChatCompletionError:
452+
OpenRouterInvalidRequestError:
453453
type: object
454454
properties:
455455
error:
@@ -471,7 +471,76 @@ components:
471471
description: Error object structure
472472
required:
473473
- error
474-
description: Chat completion error response
474+
description: OpenRouter invalid request error response
475+
OpenRouterUnauthorizedError:
476+
type: object
477+
properties:
478+
error:
479+
type: object
480+
properties:
481+
code:
482+
type: number
483+
nullable: true
484+
message:
485+
type: string
486+
param:
487+
type: string
488+
nullable: true
489+
type:
490+
type: string
491+
required:
492+
- code
493+
- message
494+
description: Error object structure
495+
required:
496+
- error
497+
description: OpenRouter unauthorized error response
498+
OpenRouterRateLimitError:
499+
type: object
500+
properties:
501+
error:
502+
type: object
503+
properties:
504+
code:
505+
type: number
506+
nullable: true
507+
message:
508+
type: string
509+
param:
510+
type: string
511+
nullable: true
512+
type:
513+
type: string
514+
required:
515+
- code
516+
- message
517+
description: Error object structure
518+
required:
519+
- error
520+
description: OpenRouter rate limit error response
521+
OpenRouterServerError:
522+
type: object
523+
properties:
524+
error:
525+
type: object
526+
properties:
527+
code:
528+
type: number
529+
nullable: true
530+
message:
531+
type: string
532+
param:
533+
type: string
534+
nullable: true
535+
type:
536+
type: string
537+
required:
538+
- code
539+
- message
540+
description: Error object structure
541+
required:
542+
- error
543+
description: OpenRouter server error response
475544
ChatCompletionChunkChoiceDeltaToolCall:
476545
type: object
477546
properties:
@@ -1534,22 +1603,22 @@ paths:
15341603
content:
15351604
application/json:
15361605
schema:
1537-
$ref: '#/components/schemas/ChatCompletionError'
1606+
$ref: '#/components/schemas/OpenRouterInvalidRequestError'
15381607
'401':
15391608
description: Unauthorized - invalid API key
15401609
content:
15411610
application/json:
15421611
schema:
1543-
$ref: '#/components/schemas/ChatCompletionError'
1612+
$ref: '#/components/schemas/OpenRouterUnauthorizedError'
15441613
'429':
15451614
description: Too many requests - rate limit exceeded
15461615
content:
15471616
application/json:
15481617
schema:
1549-
$ref: '#/components/schemas/ChatCompletionError'
1618+
$ref: '#/components/schemas/OpenRouterRateLimitError'
15501619
'500':
15511620
description: Internal server error
15521621
content:
15531622
application/json:
15541623
schema:
1555-
$ref: '#/components/schemas/ChatCompletionError'
1624+
$ref: '#/components/schemas/OpenRouterServerError'

.speakeasy/workflow.lock

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
speakeasyVersion: 1.615.0
1+
speakeasyVersion: 1.615.2
22
sources:
33
OpenRouter Chat Completions API:
44
sourceNamespace: open-router-chat-completions-api
5-
sourceRevisionDigest: sha256:6684387bc19ba333a918b279c3d59ab32242f058522ec240138c88721dd1a3f7
6-
sourceBlobDigest: sha256:98601b07aa4f6d8fc55077a7c44b85e4b863905a6db0df8f476dd7e9d04a209e
5+
sourceRevisionDigest: sha256:59ae32fd3f41894b467ac0a4a6e377b1d6c963c9907a238f3379670e19160403
6+
sourceBlobDigest: sha256:091faca19d5f5b1615e6fc4bacc28202e663e07a291fac4a2970f40383efe81f
77
tags:
88
- latest
99
- 1.0.0
1010
targets:
1111
open-router:
1212
source: OpenRouter Chat Completions API
1313
sourceNamespace: open-router-chat-completions-api
14-
sourceRevisionDigest: sha256:6684387bc19ba333a918b279c3d59ab32242f058522ec240138c88721dd1a3f7
15-
sourceBlobDigest: sha256:98601b07aa4f6d8fc55077a7c44b85e4b863905a6db0df8f476dd7e9d04a209e
14+
sourceRevisionDigest: sha256:59ae32fd3f41894b467ac0a4a6e377b1d6c963c9907a238f3379670e19160403
15+
sourceBlobDigest: sha256:091faca19d5f5b1615e6fc4bacc28202e663e07a291fac4a2970f40383efe81f
1616
codeSamplesNamespace: open-router-chat-completions-api-typescript-code-samples
17-
codeSamplesRevisionDigest: sha256:a44f5425a065884768ab25729830f879cacb0596c7179e952a274c06c771aa98
17+
codeSamplesRevisionDigest: sha256:235fc33541cc4a6a66113b9b0ca2d960446f8eaef38c2354937a288e95ed986e
1818
workflow:
1919
workflowVersion: 1.0.0
2020
speakeasyVersion: latest

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -388,8 +388,8 @@ async function run() {
388388
console.log(error.headers);
389389

390390
// Depending on the method different errors may be thrown
391-
if (error instanceof errors.ChatCompletionError) {
392-
console.log(error.data$.error); // models.ErrorT
391+
if (error instanceof errors.OpenRouterInvalidRequestError) {
392+
console.log(error.data$.error); // models.OpenRouterInvalidRequestErrorError
393393
}
394394
}
395395
}
@@ -402,7 +402,10 @@ run();
402402
### Error Classes
403403
**Primary errors:**
404404
* [`OpenRouterError`](./src/models/errors/openroutererror.ts): The base class for HTTP error responses.
405-
* [`ChatCompletionError`](./src/models/errors/chatcompletionerror.ts): Chat completion error response.
405+
* [`OpenRouterInvalidRequestError`](./src/models/errors/openrouterinvalidrequesterror.ts): OpenRouter invalid request error response. Status code `400`.
406+
* [`OpenRouterUnauthorizedError`](./src/models/errors/openrouterunauthorizederror.ts): OpenRouter unauthorized error response. Status code `401`.
407+
* [`OpenRouterRateLimitError`](./src/models/errors/openrouterratelimiterror.ts): OpenRouter rate limit error response. Status code `429`.
408+
* [`OpenRouterServerError`](./src/models/errors/openrouterservererror.ts): OpenRouter server error response. Status code `500`.
406409

407410
<details><summary>Less common errors (6)</summary>
408411

0 commit comments

Comments
 (0)