Download packages/protocol/src/groups/provider.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 1.67 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/protocol/src/groups/provider.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/protocol/src/groups/provider.ts
-
curl -L -o provider.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/protocol/src/groups/provider.ts
1.67 kB
| import { Provider } from "@opencode-ai/schema/provider" | |
| import { Location } from "@opencode-ai/schema/location" | |
| import { Schema } from "effect" | |
| import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi" | |
| import { ProviderNotFoundError, ServiceUnavailableError } from "../errors" | |
| import { LocationQuery, locationQueryOpenApi } from "./location" | |
| export const ProviderGroup = HttpApiGroup.make("server.provider") | |
| .add( | |
| HttpApiEndpoint.get("provider.list", "/api/provider", { | |
| query: LocationQuery, | |
| success: Location.response(Schema.Array(Provider.Info)), | |
| error: ServiceUnavailableError, | |
| }) | |
| .annotateMerge(locationQueryOpenApi) | |
| .annotateMerge( | |
| OpenApi.annotations({ | |
| identifier: "v2.provider.list", | |
| summary: "List providers", | |
| description: "Retrieve active AI providers so clients can show provider availability and configuration.", | |
| }), | |
| ), | |
| ) | |
| .add( | |
| HttpApiEndpoint.get("provider.get", "/api/provider/:providerID", { | |
| params: { providerID: Provider.ID }, | |
| query: LocationQuery, | |
| success: Location.response(Provider.Info), | |
| error: [ProviderNotFoundError, ServiceUnavailableError], | |
| }) | |
| .annotateMerge(locationQueryOpenApi) | |
| .annotateMerge( | |
| OpenApi.annotations({ | |
| identifier: "v2.provider.get", | |
| summary: "Get provider", | |
| description: "Retrieve a single AI provider so clients can inspect its availability and endpoint settings.", | |
| }), | |
| ), | |
| ) | |
| .annotateMerge( | |
| OpenApi.annotations({ | |
| title: "providers", | |
| description: "Experimental provider routes.", | |
| }), | |
| ) | |