Co-authored-by: opencode <opencode@sst.dev> Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Victor Navarro <vn4varro@gmail.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Frank <frank@anoma.ly> Co-authored-by: Dax Raad <d@ironbay.co> Co-authored-by: Dax <mail@thdxr.com> Co-authored-by: Nabs <nabil@instafork.com> Co-authored-by: usrnk1 <7547651+usrnk1@users.noreply.github.com> Co-authored-by: Brendan Allan <git@brendonovich.dev> Co-authored-by: Vladimir Glafirov <vglafirov@gitlab.com> Co-authored-by: AidenGeunGeun <eastlandwyvern@gmail.com> Co-authored-by: Mark <geraint0923@users.noreply.github.com> Co-authored-by: Aiden Cline <aidenpcline@gmail.com> Co-authored-by: David Hill <1879069+iamdavidhill@users.noreply.github.com> Co-authored-by: Jay <air@live.ca> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: BB84 <110078428+BB-84C@users.noreply.github.com> Co-authored-by: Dustin Deus <deusdustin@gmail.com> Co-authored-by: Jack <jack@anoma.ly> Co-authored-by: Sebastian <hasta84@gmail.com> Co-authored-by: Jérôme Benoit <jerome.benoit@sap.com> Co-authored-by: Test User <test@test.com> Co-authored-by: Simon Klee <hello@simonklee.dk> Co-authored-by: Rahul A Mistry <149420892+ProdigyRahul@users.noreply.github.com> Co-authored-by: Qiping Li <liqiping1991@gmail.com> Co-authored-by: liqiping <liqiping@msh.team> Co-authored-by: OpeOginni <107570612+OpeOginni@users.noreply.github.com> Co-authored-by: Matthias Reso <13337103+mreso@users.noreply.github.com> Co-authored-by: tobwen <1864057+tobwen@users.noreply.github.com>
47 lines
1.1 KiB
TypeScript
47 lines
1.1 KiB
TypeScript
const providers = [
|
|
"opencode",
|
|
"opencode-go",
|
|
"anthropic",
|
|
"openai",
|
|
"google",
|
|
"openrouter",
|
|
"vercel",
|
|
"github-copilot",
|
|
"302ai",
|
|
"abacus",
|
|
"abliteration",
|
|
"alibaba",
|
|
"alibaba-cn",
|
|
"alibaba-coding-plan",
|
|
]
|
|
|
|
const client = {
|
|
provider: {
|
|
auth: async () => ({
|
|
data: Object.fromEntries(providers.map((provider) => [provider, [{ type: "api", label: "API key" }]])),
|
|
}),
|
|
oauth: {
|
|
authorize: async (input: { method?: number }) => ({
|
|
data: {
|
|
url: "https://example.com/oauth",
|
|
method: input.method === 1 ? ("code" as const) : ("auto" as const),
|
|
instructions: input.method === 1 ? "Paste the authorization code" : "Confirmation code: ABCD-EFGH",
|
|
},
|
|
}),
|
|
callback: async (input: { method?: number }) => {
|
|
if (input.method === 0) return new Promise<never>(() => {})
|
|
return { data: undefined }
|
|
},
|
|
},
|
|
},
|
|
auth: {
|
|
set: async () => ({ data: true }),
|
|
},
|
|
global: {
|
|
dispose: async () => ({ data: true }),
|
|
},
|
|
}
|
|
|
|
export function useServerSDK() {
|
|
return () => ({ client })
|
|
}
|