summaryrefslogtreecommitdiffhomepage
path: root/packages/console/app/src/routes/zen/v1/models
diff options
context:
space:
mode:
authorFrank <[email protected]>2025-11-18 14:28:27 -0500
committerFrank <[email protected]>2025-11-18 14:28:31 -0500
commit7283bfa480b163da7ea66250f4782747293afdfd (patch)
treece86b0e55f81392f0651de54339689ec5135e972 /packages/console/app/src/routes/zen/v1/models
parent37d5099728613f73edf773d0ea3b88c97a124206 (diff)
downloadopencode-7283bfa480b163da7ea66250f4782747293afdfd.tar.gz
opencode-7283bfa480b163da7ea66250f4782747293afdfd.zip
zen: gemini
Diffstat (limited to 'packages/console/app/src/routes/zen/v1/models')
-rw-r--r--packages/console/app/src/routes/zen/v1/models/[model].ts13
1 files changed, 13 insertions, 0 deletions
diff --git a/packages/console/app/src/routes/zen/v1/models/[model].ts b/packages/console/app/src/routes/zen/v1/models/[model].ts
new file mode 100644
index 000000000..b20378e37
--- /dev/null
+++ b/packages/console/app/src/routes/zen/v1/models/[model].ts
@@ -0,0 +1,13 @@
+import type { APIEvent } from "@solidjs/start/server"
+import { handler } from "~/routes/zen/util/handler"
+
+export function POST(input: APIEvent) {
+ return handler(input, {
+ format: "google",
+ 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) =>
+ // ie. url: https://opencode.ai/zen/v1/models/gemini-3-pro:streamGenerateContent?alt=sse'
+ url.split("/").pop()?.split(":")?.[1]?.startsWith("streamGenerateContent") ?? false,
+ })
+}