diff --git a/packages/opencode/src/auth/index.ts b/packages/opencode/src/auth/index.ts index 883b9acc68c..aee2e43b44f 100644 --- a/packages/opencode/src/auth/index.ts +++ b/packages/opencode/src/auth/index.ts @@ -10,6 +10,7 @@ export namespace Auth { refresh: z.string(), access: z.string(), expires: z.number(), + has1MContext: z.boolean().optional(), enterpriseUrl: z.string().optional(), }) .meta({ ref: "OAuth" }) diff --git a/packages/opencode/src/cli/cmd/auth.ts b/packages/opencode/src/cli/cmd/auth.ts index ae24fbef599..5d2f8792a4c 100644 --- a/packages/opencode/src/cli/cmd/auth.ts +++ b/packages/opencode/src/cli/cmd/auth.ts @@ -204,12 +204,13 @@ export const AuthLoginCommand = cmd({ if (result.type === "success") { const saveProvider = result.provider ?? provider if ("refresh" in result) { - const { type: _, provider: __, refresh, access, expires, ...extraFields } = result + const { type: _, provider: __, refresh, access, expires, has1MContext, ...extraFields } = result await Auth.set(saveProvider, { type: "oauth", refresh, access, expires, + has1MContext, ...extraFields, }) } @@ -236,12 +237,13 @@ export const AuthLoginCommand = cmd({ if (result.type === "success") { const saveProvider = result.provider ?? provider if ("refresh" in result) { - const { type: _, provider: __, refresh, access, expires, ...extraFields } = result + const { type: _, provider: __, refresh, access, expires, has1MContext, ...extraFields } = result await Auth.set(saveProvider, { type: "oauth", refresh, access, expires, + has1MContext, ...extraFields, }) } diff --git a/packages/plugin/src/index.ts b/packages/plugin/src/index.ts index 0601e587767..2c3a3fbcfdd 100644 --- a/packages/plugin/src/index.ts +++ b/packages/plugin/src/index.ts @@ -73,6 +73,7 @@ export interface Hooks { refresh: string access: string expires: number + has1MContext?: boolean } | { key: string } )) @@ -92,6 +93,7 @@ export interface Hooks { refresh: string access: string expires: number + has1MContext?: boolean } | { key: string } ))