Skip to content

Commit 8d385e1

Browse files
lsr911claude
andcommitted
fix(xai,vydra): bound OAuth and speech JSON response reads via shared provider helpers
- xai-oauth: use readProviderJsonResponse for OAuth token responses - vydra-speech: use readProviderJsonResponse for speech synthesis responses Co-Authored-By: Claude <[email protected]> Signed-off-by: lsr911 <[email protected]>
1 parent e4f6357 commit 8d385e1

2 files changed

Lines changed: 5 additions & 3 deletions

File tree

extensions/vydra/speech-provider.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import {
33
assertOkOrThrowHttpError,
44
postJsonRequest,
5+
readProviderJsonResponse,
56
resolveProviderHttpRequestConfig,
67
} from "openclaw/plugin-sdk/provider-http";
78
import { normalizeResolvedSecretInputString } from "openclaw/plugin-sdk/secret-input";
@@ -129,7 +130,7 @@ export function buildVydraSpeechProvider(): SpeechProviderPlugin {
129130

130131
try {
131132
await assertOkOrThrowHttpError(response, "Vydra speech synthesis failed");
132-
const payload = await response.json();
133+
const payload = await readProviderJsonResponse(response, "vydra.speech");
133134
const audioUrl = extractVydraResultUrls(payload, "audio")[0];
134135
if (!audioUrl) {
135136
throw new Error("Vydra speech synthesis response missing audio URL");

extensions/xai/xai-oauth.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
type ProviderAuthResult,
1616
} from "openclaw/plugin-sdk/provider-auth";
1717
import { waitForLocalOAuthCallback } from "openclaw/plugin-sdk/provider-auth-runtime";
18+
import { readProviderJsonResponse } from "openclaw/plugin-sdk/provider-http";
1819
import { applyXaiConfig, XAI_DEFAULT_MODEL_REF } from "./onboard.js";
1920
import { xaiUserAgent } from "./src/xai-user-agent.js";
2021

@@ -117,7 +118,7 @@ function readStringRecord(value: unknown): Record<string, unknown> {
117118
async function readJsonResponse(response: Response, context: string): Promise<unknown> {
118119
let body: unknown;
119120
try {
120-
body = await response.json();
121+
body = await readProviderJsonResponse(response, "xai.oauth");
121122
} catch {
122123
body = null;
123124
}
@@ -415,7 +416,7 @@ async function pollXaiDeviceCodeToken(
415416
);
416417
let body: unknown;
417418
try {
418-
body = await response.json();
419+
body = await readProviderJsonResponse(response, "xai.oauth");
419420
} catch {
420421
body = null;
421422
}

0 commit comments

Comments
 (0)