diff options
| author | Jack <[email protected]> | 2026-04-27 02:46:49 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-04-26 14:46:49 -0400 |
| commit | 3beadeebff13fefb6f771ce22c3ef7b2736e8245 (patch) | |
| tree | b040dc876d7afe0771c18a54e7d0709bc86c4f39 /packages/console/app/src/routes/zen/util/modelsHandler.ts | |
| parent | dcee1c36426495716b2bacc7f31ccf54d29a3ac0 (diff) | |
| download | opencode-3beadeebff13fefb6f771ce22c3ef7b2736e8245.tar.gz opencode-3beadeebff13fefb6f771ce22c3ef7b2736e8245.zip | |
feat(go): add Go model listing endpoint (#24304)
Co-authored-by: Frank <[email protected]>
Diffstat (limited to 'packages/console/app/src/routes/zen/util/modelsHandler.ts')
| -rw-r--r-- | packages/console/app/src/routes/zen/util/modelsHandler.ts | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/packages/console/app/src/routes/zen/util/modelsHandler.ts b/packages/console/app/src/routes/zen/util/modelsHandler.ts new file mode 100644 index 000000000..d924e25c8 --- /dev/null +++ b/packages/console/app/src/routes/zen/util/modelsHandler.ts @@ -0,0 +1,36 @@ +import { ZenData } from "@opencode-ai/console-core/model.js" + +export async function optionsHandler() { + return new Response(null, { + status: 200, + headers: { + "Access-Control-Allow-Origin": "*", + "Access-Control-Allow-Methods": "GET, POST, OPTIONS", + "Access-Control-Allow-Headers": "Content-Type, Authorization", + }, + }) +} + +export async function getHandler(opts: { modelList: "lite" | "full"; disabledModels?: string[] }) { + const zenData = ZenData.list(opts.modelList) + + return new Response( + JSON.stringify({ + object: "list", + data: Object.entries(zenData.models) + .filter(([id]) => !opts.disabledModels?.includes(id)) + .filter(([id]) => !id.startsWith("alpha-")) + .map(([id, _model]) => ({ + id, + object: "model", + created: Math.floor(Date.now() / 1000), + owned_by: "opencode", + })), + }), + { + headers: { + "Content-Type": "application/json", + }, + }, + ) +} |
