@@ -6,13 +6,20 @@ import {
66 resolveProviderRequestHeaders ,
77} from "openclaw/plugin-sdk/provider-http" ;
88import { captureWsEvent } from "openclaw/plugin-sdk/proxy-capture" ;
9- import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime" ;
9+ import { fetchWithSsrFGuard , type SsrFPolicy } from "openclaw/plugin-sdk/ssrf-runtime" ;
1010import {
1111 asFiniteNumber ,
1212 asOptionalRecord as asObjectRecord ,
1313 normalizeOptionalString ,
1414} from "openclaw/plugin-sdk/string-coerce-runtime" ;
1515
16+ const OPENAI_REALTIME_API_BASE_URL = "https://api.openai.com/v1" ;
17+ const OPENAI_REALTIME_SSRF_POLICY = {
18+ allowRfc2544BenchmarkRange : true ,
19+ allowIpv6UniqueLocalRange : true ,
20+ hostnameAllowlist : [ new URL ( OPENAI_REALTIME_API_BASE_URL ) . hostname ] ,
21+ } satisfies SsrFPolicy ;
22+
1623export const trimToUndefined = normalizeOptionalString ;
1724export { asFiniteNumber , asObjectRecord } ;
1825
@@ -104,6 +111,7 @@ async function createOpenAIRealtimeSecret(
104111 } ,
105112 body : JSON . stringify ( params . body ) ,
106113 } ,
114+ policy : OPENAI_REALTIME_SSRF_POLICY ,
107115 auditContext : params . auditContext ,
108116 } ) ;
109117 const payload = await ( async ( ) => {
@@ -140,7 +148,7 @@ export async function createOpenAIRealtimeClientSecret(params: {
140148 auditContext : string ;
141149 session : Record < string , unknown > ;
142150} ) : Promise < OpenAIRealtimeClientSecretResult > {
143- const url = "https://api.openai.com/v1/ realtime/client_secrets" ;
151+ const url = ` ${ OPENAI_REALTIME_API_BASE_URL } / realtime/client_secrets` ;
144152 return createOpenAIRealtimeSecret ( {
145153 ...params ,
146154 url,
@@ -155,7 +163,7 @@ export async function createOpenAIRealtimeTranscriptionClientSecret(params: {
155163 auditContext : string ;
156164 session : Record < string , unknown > ;
157165} ) : Promise < OpenAIRealtimeClientSecretResult > {
158- const url = "https://api.openai.com/v1/ realtime/transcription_sessions" ;
166+ const url = ` ${ OPENAI_REALTIME_API_BASE_URL } / realtime/transcription_sessions` ;
159167 return createOpenAIRealtimeSecret ( {
160168 ...params ,
161169 url,
0 commit comments