summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorFrank <[email protected]>2026-02-10 13:07:06 -0500
committerFrank <[email protected]>2026-02-10 13:07:08 -0500
commit7d5be1556ad8d777b532e49baba5b569e01e39b3 (patch)
tree8f9b1aa21251d54567be2d77f110b28251956837
parent659f15aa9b000c8b53db775b9ec128c724c9e622 (diff)
downloadopencode-7d5be1556ad8d777b532e49baba5b569e01e39b3.tar.gz
opencode-7d5be1556ad8d777b532e49baba5b569e01e39b3.zip
wip: zen
-rw-r--r--packages/console/app/src/routes/zen/util/error.ts8
-rw-r--r--packages/console/app/src/routes/zen/util/handler.ts12
-rw-r--r--packages/console/app/src/routes/zen/util/rateLimiter.ts4
3 files changed, 12 insertions, 12 deletions
diff --git a/packages/console/app/src/routes/zen/util/error.ts b/packages/console/app/src/routes/zen/util/error.ts
index b97b73430..a1393eb7f 100644
--- a/packages/console/app/src/routes/zen/util/error.ts
+++ b/packages/console/app/src/routes/zen/util/error.ts
@@ -1,13 +1,13 @@
export class AuthError extends Error {}
export class CreditsError extends Error {}
export class MonthlyLimitError extends Error {}
-export class SubscriptionError extends Error {
+export class UserLimitError extends Error {}
+export class ModelError extends Error {}
+export class FreeUsageLimitError extends Error {}
+export class SubscriptionUsageLimitError extends Error {
retryAfter?: number
constructor(message: string, retryAfter?: number) {
super(message)
this.retryAfter = retryAfter
}
}
-export class UserLimitError extends Error {}
-export class ModelError extends Error {}
-export class RateLimitError extends Error {}
diff --git a/packages/console/app/src/routes/zen/util/handler.ts b/packages/console/app/src/routes/zen/util/handler.ts
index af2a8c3e6..8e8c450a6 100644
--- a/packages/console/app/src/routes/zen/util/handler.ts
+++ b/packages/console/app/src/routes/zen/util/handler.ts
@@ -18,10 +18,10 @@ import {
AuthError,
CreditsError,
MonthlyLimitError,
- SubscriptionError,
UserLimitError,
ModelError,
- RateLimitError,
+ FreeUsageLimitError,
+ SubscriptionUsageLimitError,
} from "./error"
import { createBodyConverter, createStreamPartConverter, createResponseConverter, UsageInfo } from "./provider/provider"
import { anthropicHelper } from "./provider/anthropic"
@@ -304,9 +304,9 @@ export async function handler(
{ status: 401 },
)
- if (error instanceof RateLimitError || error instanceof SubscriptionError) {
+ if (error instanceof FreeUsageLimitError || error instanceof SubscriptionUsageLimitError) {
const headers = new Headers()
- if (error instanceof SubscriptionError && error.retryAfter) {
+ if (error instanceof SubscriptionUsageLimitError && error.retryAfter) {
headers.set("retry-after", String(error.retryAfter))
}
return new Response(
@@ -520,7 +520,7 @@ export async function handler(
timeUpdated: sub.timeFixedUpdated,
})
if (result.status === "rate-limited")
- throw new SubscriptionError(
+ throw new SubscriptionUsageLimitError(
`Subscription quota exceeded. Retry in ${formatRetryTime(result.resetInSec)}.`,
result.resetInSec,
)
@@ -534,7 +534,7 @@ export async function handler(
timeUpdated: sub.timeRollingUpdated,
})
if (result.status === "rate-limited")
- throw new SubscriptionError(
+ throw new SubscriptionUsageLimitError(
`Subscription quota exceeded. Retry in ${formatRetryTime(result.resetInSec)}.`,
result.resetInSec,
)
diff --git a/packages/console/app/src/routes/zen/util/rateLimiter.ts b/packages/console/app/src/routes/zen/util/rateLimiter.ts
index 90e10479c..fafbc06e9 100644
--- a/packages/console/app/src/routes/zen/util/rateLimiter.ts
+++ b/packages/console/app/src/routes/zen/util/rateLimiter.ts
@@ -1,6 +1,6 @@
import { Database, eq, and, sql, inArray } from "@opencode-ai/console-core/drizzle/index.js"
import { IpRateLimitTable } from "@opencode-ai/console-core/schema/ip.sql.js"
-import { RateLimitError } from "./error"
+import { FreeUsageLimitError } from "./error"
import { logger } from "./logger"
import { ZenData } from "@opencode-ai/console-core/model.js"
@@ -34,7 +34,7 @@ export function createRateLimiter(limit: ZenData.RateLimit | undefined, rawIp: s
)
const total = rows.reduce((sum, r) => sum + r.count, 0)
logger.debug(`rate limit total: ${total}`)
- if (total >= limitValue) throw new RateLimitError(`Rate limit exceeded. Please try again later.`)
+ if (total >= limitValue) throw new FreeUsageLimitError(`Rate limit exceeded. Please try again later.`)
},
}
}