Skip to content

Commit fef3cb2

Browse files
fix(xai): preserve runtime device auth choice alias
1 parent 2908d4e commit fef3cb2

3 files changed

Lines changed: 16 additions & 2 deletions

File tree

extensions/xai/index.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ describe("xai provider plugin", () => {
9292
expect(oauth?.wizard?.choiceId).toBe("xai-oauth");
9393
const deviceCode = provider.auth?.find((method) => method.id === "device-code");
9494
expect(deviceCode?.kind).toBe("device_code");
95-
expect(deviceCode?.wizard).toBeUndefined();
95+
expect(deviceCode?.wizard?.choiceId).toBe("xai-device-code");
96+
expect(deviceCode?.wizard?.assistantVisibility).toBe("manual-only");
9697
expect(manifest.providerAuthChoices).toContainEqual(
9798
expect.objectContaining({
9899
assistantVisibility: "manual-only",

extensions/xai/xai-oauth.test.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,9 @@ describe("xAI OAuth", () => {
7878

7979
expect(method.id).toBe("device-code");
8080
expect(method.kind).toBe("device_code");
81-
expect(method.wizard).toBeUndefined();
81+
expect(method.wizard?.choiceId).toBe("xai-device-code");
82+
expect(method.wizard?.methodId).toBe("device-code");
83+
expect(method.wizard?.assistantVisibility).toBe("manual-only");
8284
});
8385

8486
it("validates discovered endpoints before using them", async () => {

extensions/xai/xai-oauth.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ const PROVIDER_ID = "xai";
1919
export const XAI_OAUTH_METHOD_ID = "oauth";
2020
export const XAI_OAUTH_CHOICE_ID = "xai-oauth";
2121
export const XAI_DEVICE_CODE_METHOD_ID = "device-code";
22+
export const XAI_DEVICE_CODE_CHOICE_ID = "xai-device-code";
2223
export const XAI_OAUTH_CLIENT_ID = "b1a00492-073a-47ea-816f-4c329264a828";
2324
export const XAI_OAUTH_SCOPE = "openid profile email offline_access grok-cli:access api:access";
2425
export const XAI_OAUTH_ISSUER = "https://auth.x.ai";
@@ -688,6 +689,16 @@ export function createXaiDeviceCodeAuthMethod(): ProviderAuthMethod {
688689
label: "xAI device code",
689690
hint: "Deprecated alias for xAI OAuth device-code login",
690691
kind: "device_code",
692+
wizard: {
693+
choiceId: XAI_DEVICE_CODE_CHOICE_ID,
694+
choiceLabel: "xAI device code",
695+
choiceHint: "Compatibility alias for xAI OAuth device-code sign-in",
696+
assistantVisibility: "manual-only",
697+
groupId: PROVIDER_ID,
698+
groupLabel: "xAI (Grok)",
699+
groupHint: "API key or OAuth",
700+
methodId: XAI_DEVICE_CODE_METHOD_ID,
701+
},
691702
run: async (ctx) => loginXaiDeviceCode(ctx),
692703
};
693704
}

0 commit comments

Comments
 (0)