summaryrefslogtreecommitdiffhomepage
path: root/packages/console/app/src
diff options
context:
space:
mode:
authorFrank <[email protected]>2026-02-20 19:38:27 -0500
committerFrank <[email protected]>2026-02-20 19:38:29 -0500
commite77b2cfd61b02c369b1aa6a586761cde9d0dc53e (patch)
tree36fa08150b70d2fe0d7017541925e7f7b637bb68 /packages/console/app/src
parentd0ce2950e4f53fa323391c011b4d51d85fe9678e (diff)
downloadopencode-e77b2cfd61b02c369b1aa6a586761cde9d0dc53e.tar.gz
opencode-e77b2cfd61b02c369b1aa6a586761cde9d0dc53e.zip
wip: zen lite
Diffstat (limited to 'packages/console/app/src')
-rw-r--r--packages/console/app/src/routes/workspace/[id]/model-section.tsx2
-rw-r--r--packages/console/app/src/routes/zen/lite/v1/chat/completions.ts12
-rw-r--r--packages/console/app/src/routes/zen/util/handler.ts3
-rw-r--r--packages/console/app/src/routes/zen/v1/chat/completions.ts1
-rw-r--r--packages/console/app/src/routes/zen/v1/messages.ts1
-rw-r--r--packages/console/app/src/routes/zen/v1/models.ts2
-rw-r--r--packages/console/app/src/routes/zen/v1/models/[model].ts1
-rw-r--r--packages/console/app/src/routes/zen/v1/responses.ts1
8 files changed, 20 insertions, 3 deletions
diff --git a/packages/console/app/src/routes/workspace/[id]/model-section.tsx b/packages/console/app/src/routes/workspace/[id]/model-section.tsx
index 97f95278a..a4b64889c 100644
--- a/packages/console/app/src/routes/workspace/[id]/model-section.tsx
+++ b/packages/console/app/src/routes/workspace/[id]/model-section.tsx
@@ -36,7 +36,7 @@ const getModelsInfo = query(async (workspaceID: string) => {
"use server"
return withActor(async () => {
return {
- all: Object.entries(ZenData.list().models)
+ all: Object.entries(ZenData.list("full").models)
.filter(([id, _model]) => !["claude-3-5-haiku"].includes(id))
.filter(([id, _model]) => !id.startsWith("alpha-"))
.sort(([idA, modelA], [idB, modelB]) => {
diff --git a/packages/console/app/src/routes/zen/lite/v1/chat/completions.ts b/packages/console/app/src/routes/zen/lite/v1/chat/completions.ts
new file mode 100644
index 000000000..9a57e893f
--- /dev/null
+++ b/packages/console/app/src/routes/zen/lite/v1/chat/completions.ts
@@ -0,0 +1,12 @@
+import type { APIEvent } from "@solidjs/start/server"
+import { handler } from "~/routes/zen/util/handler"
+
+export function POST(input: APIEvent) {
+ return handler(input, {
+ format: "oa-compat",
+ modelList: "lite",
+ parseApiKey: (headers: Headers) => headers.get("authorization")?.split(" ")[1],
+ parseModel: (url: string, body: any) => body.model,
+ parseIsStream: (url: string, body: any) => !!body.stream,
+ })
+}
diff --git a/packages/console/app/src/routes/zen/util/handler.ts b/packages/console/app/src/routes/zen/util/handler.ts
index ee717ba5f..5f2b51c21 100644
--- a/packages/console/app/src/routes/zen/util/handler.ts
+++ b/packages/console/app/src/routes/zen/util/handler.ts
@@ -44,6 +44,7 @@ export async function handler(
input: APIEvent,
opts: {
format: ZenData.Format
+ modelList: "lite" | "full"
parseApiKey: (headers: Headers) => string | undefined
parseModel: (url: string, body: any) => string
parseIsStream: (url: string, body: any) => boolean
@@ -77,7 +78,7 @@ export async function handler(
request: requestId,
client: ocClient,
})
- const zenData = ZenData.list()
+ const zenData = ZenData.list(opts.modelList)
const modelInfo = validateModel(zenData, model)
const dataDumper = createDataDumper(sessionId, requestId, projectId)
const trialLimiter = createTrialLimiter(modelInfo.trial, ip, ocClient)
diff --git a/packages/console/app/src/routes/zen/v1/chat/completions.ts b/packages/console/app/src/routes/zen/v1/chat/completions.ts
index 655459129..e9e05197e 100644
--- a/packages/console/app/src/routes/zen/v1/chat/completions.ts
+++ b/packages/console/app/src/routes/zen/v1/chat/completions.ts
@@ -4,6 +4,7 @@ import { handler } from "~/routes/zen/util/handler"
export function POST(input: APIEvent) {
return handler(input, {
format: "oa-compat",
+ modelList: "full",
parseApiKey: (headers: Headers) => headers.get("authorization")?.split(" ")[1],
parseModel: (url: string, body: any) => body.model,
parseIsStream: (url: string, body: any) => !!body.stream,
diff --git a/packages/console/app/src/routes/zen/v1/messages.ts b/packages/console/app/src/routes/zen/v1/messages.ts
index 54d223f95..9c09315a6 100644
--- a/packages/console/app/src/routes/zen/v1/messages.ts
+++ b/packages/console/app/src/routes/zen/v1/messages.ts
@@ -4,6 +4,7 @@ import { handler } from "~/routes/zen/util/handler"
export function POST(input: APIEvent) {
return handler(input, {
format: "anthropic",
+ modelList: "full",
parseApiKey: (headers: Headers) => headers.get("x-api-key") ?? undefined,
parseModel: (url: string, body: any) => body.model,
parseIsStream: (url: string, body: any) => !!body.stream,
diff --git a/packages/console/app/src/routes/zen/v1/models.ts b/packages/console/app/src/routes/zen/v1/models.ts
index ee2b3ab54..f9c14eded 100644
--- a/packages/console/app/src/routes/zen/v1/models.ts
+++ b/packages/console/app/src/routes/zen/v1/models.ts
@@ -17,7 +17,7 @@ export async function OPTIONS(input: APIEvent) {
}
export async function GET(input: APIEvent) {
- const zenData = ZenData.list()
+ const zenData = ZenData.list("full")
const disabledModels = await authenticate()
return new Response(
diff --git a/packages/console/app/src/routes/zen/v1/models/[model].ts b/packages/console/app/src/routes/zen/v1/models/[model].ts
index b20378e37..a4edd5861 100644
--- a/packages/console/app/src/routes/zen/v1/models/[model].ts
+++ b/packages/console/app/src/routes/zen/v1/models/[model].ts
@@ -4,6 +4,7 @@ import { handler } from "~/routes/zen/util/handler"
export function POST(input: APIEvent) {
return handler(input, {
format: "google",
+ modelList: "full",
parseApiKey: (headers: Headers) => headers.get("x-goog-api-key") ?? undefined,
parseModel: (url: string, body: any) => url.split("/").pop()?.split(":")?.[0] ?? "",
parseIsStream: (url: string, body: any) =>
diff --git a/packages/console/app/src/routes/zen/v1/responses.ts b/packages/console/app/src/routes/zen/v1/responses.ts
index a82a667cc..cae625cf6 100644
--- a/packages/console/app/src/routes/zen/v1/responses.ts
+++ b/packages/console/app/src/routes/zen/v1/responses.ts
@@ -4,6 +4,7 @@ import { handler } from "~/routes/zen/util/handler"
export function POST(input: APIEvent) {
return handler(input, {
format: "openai",
+ modelList: "full",
parseApiKey: (headers: Headers) => headers.get("authorization")?.split(" ")[1],
parseModel: (url: string, body: any) => body.model,
parseIsStream: (url: string, body: any) => !!body.stream,