@piedata/pieui 1.1.20 → 1.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Common/IOEventsCard/types/index.d.ts +6 -3
- package/dist/components/Common/IOEventsCard/types/index.d.ts.map +1 -1
- package/dist/components/Common/IOEventsCard/ui/IOEventsCard.d.ts.map +1 -1
- package/dist/components/index.esm.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/components/index.js
CHANGED
|
@@ -84,4 +84,4 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
84
84
|
Failed Guardrail Reason: ${$.guardrail.policyHint}.
|
|
85
85
|
Failure Details: ${JSON.stringify($.output.outputInfo??{})}.
|
|
86
86
|
Please respond again following policy. Apologize for not being able to answer the question (while avoiding the specific reason) and divert discussion back to an approved topic immediately and not invite more discussion.
|
|
87
|
-
`.trim()}function i9($,X){return $ in X&&typeof X[$]<"u"}function ae($){return i9("modalities",$)||i9("inputAudioFormat",$)||i9("outputAudioFormat",$)||i9("inputAudioTranscription",$)||i9("turnDetection",$)||i9("inputAudioNoiseReduction",$)||i9("speed",$)}function OS($){if(!ae($)){let X=$.audio?.input?{format:cG($.audio.input.format),noiseReduction:$.audio.input.noiseReduction??null,transcription:$.audio.input.transcription,turnDetection:$.audio.input.turnDetection}:void 0,Y=$.audio?.output?.voice??$.voice,J=$.audio?.output||typeof Y<"u"?{format:cG($.audio?.output?.format),voice:Y,speed:$.audio?.output?.speed}:void 0;return{model:$.model,instructions:$.instructions,toolChoice:$.toolChoice,tools:$.tools,tracing:$.tracing,providerData:$.providerData,prompt:$.prompt,outputModalities:$.outputModalities,audio:X||J?{input:X,output:J}:void 0}}return{model:$.model,instructions:$.instructions,toolChoice:$.toolChoice,tools:$.tools,tracing:$.tracing,providerData:$.providerData,prompt:$.prompt,outputModalities:$.modalities,audio:{input:{format:cG($.inputAudioFormat),noiseReduction:$.inputAudioNoiseReduction??null,transcription:$.inputAudioTranscription,turnDetection:$.turnDetection},output:{format:cG($.outputAudioFormat),voice:$.voice,speed:$.speed}}}}function cG($){if(!$)return;if(typeof $==="object")return $;let X=String($);if(X==="pcm16")return{type:"audio/pcm",rate:24000};if(X==="g711_ulaw")return{type:"audio/pcmu"};if(X==="g711_alaw")return{type:"audio/pcma"};return{type:"audio/pcm",rate:24000}}var JL$=K.object({itemId:K.string()}),hz=K.discriminatedUnion("role",[K.object({itemId:K.string(),previousItemId:K.string().nullable().optional(),type:K.literal("message"),role:K.literal("system"),content:K.array(K.object({type:K.literal("input_text"),text:K.string()}))}),K.object({itemId:K.string(),previousItemId:K.string().nullable().optional(),type:K.literal("message"),role:K.literal("user"),status:K.enum(["in_progress","completed"]),content:K.array(K.object({type:K.literal("input_text"),text:K.string()}).or(K.object({type:K.literal("input_audio"),audio:K.string().nullable().optional(),transcript:K.string().nullable()})))}),K.object({itemId:K.string(),previousItemId:K.string().nullable().optional(),type:K.literal("message"),role:K.literal("assistant"),status:K.enum(["in_progress","completed","incomplete"]),content:K.array(K.object({type:K.literal("output_text"),text:K.string()}).or(K.object({type:K.literal("output_audio"),audio:K.string().nullable().optional(),transcript:K.string().nullable().optional()})))})]),mz=K.object({itemId:K.string(),previousItemId:K.string().nullable().optional(),type:K.literal("function_call"),status:K.enum(["in_progress","completed","incomplete"]),arguments:K.string(),name:K.string(),output:K.string().nullable()}),uz=K.object({itemId:K.string(),previousItemId:K.string().nullable().optional(),type:K.enum(["mcp_call","mcp_tool_call"]),status:K.enum(["in_progress","completed","incomplete"]),arguments:K.string(),name:K.string(),output:K.string().nullable()}),LS=K.object({itemId:K.string(),type:K.literal("mcp_approval_request"),serverLabel:K.string(),name:K.string(),arguments:K.record(K.string(),K.any()),approved:K.boolean().optional().nullable()});var te=g9("openai-agents:realtime"),O6=te;var zS=K.object({id:K.string().optional().nullable(),conversation_id:K.string().optional().nullable(),max_output_tokens:K.number().or(K.literal("inf")).optional().nullable(),metadata:K.record(K.string(),K.any()).optional().nullable(),output_modalities:K.array(K.string()).optional().nullable(),object:K.literal("realtime.response").optional().nullable(),output:K.array(K.any()).optional().nullable(),audio:K.object({output:K.object({format:K.any().optional().nullable(),voice:K.string().optional().nullable()}).optional().nullable()}).optional().nullable(),status:K.enum(["completed","incomplete","failed","cancelled","in_progress"]).optional().nullable(),status_details:K.record(K.string(),K.any()).optional().nullable(),usage:K.object({input_tokens:K.number().optional(),input_token_details:K.record(K.string(),K.any()).optional().nullable(),output_tokens:K.number().optional(),output_token_details:K.record(K.string(),K.any()).optional().nullable()}).optional().nullable()}),se=K.object({id:K.string().optional(),audio:K.string().nullable().optional(),text:K.string().nullable().optional(),transcript:K.string().nullable().optional(),type:K.union([K.literal("input_text"),K.literal("input_audio"),K.literal("item_reference"),K.literal("output_text"),K.literal("output_audio")])}),R2=K.object({id:K.string().optional(),arguments:K.string().optional(),call_id:K.string().optional(),content:K.array(se).optional(),name:K.string().optional(),output:K.string().nullable().optional(),role:K.enum(["user","assistant","system"]).optional(),status:K.enum(["completed","incomplete","in_progress"]).optional(),type:K.enum(["message","function_call","function_call_output","mcp_list_tools","mcp_tool_call","mcp_call","mcp_approval_request","mcp_approval_response"]).optional(),approval_request_id:K.string().nullable().optional(),approve:K.boolean().nullable().optional(),reason:K.string().nullable().optional(),server_label:K.string().optional(),error:K.any().nullable().optional(),tools:K.array(K.object({name:K.string(),description:K.string(),input_schema:K.record(K.string(),K.any()).optional()}).passthrough()).optional()}).passthrough(),ee=K.object({type:K.literal("conversation.created"),event_id:K.string(),conversation:K.object({id:K.string().optional(),object:K.literal("realtime.conversation").optional()})}),$$$=K.object({type:K.literal("conversation.item.added"),event_id:K.string(),item:R2,previous_item_id:K.string().nullable().optional()}),X$$=K.object({type:K.literal("conversation.item.done"),event_id:K.string(),item:R2,previous_item_id:K.string().nullable().optional()}),Y$$=K.object({type:K.literal("conversation.item.deleted"),event_id:K.string(),item_id:K.string()}),Q$$=K.object({type:K.literal("conversation.item.input_audio_transcription.completed"),event_id:K.string(),item_id:K.string(),content_index:K.number(),transcript:K.string(),logprobs:K.array(K.any()).nullable().optional(),usage:K.object({type:K.literal("tokens"),total_tokens:K.number(),input_tokens:K.number(),input_token_details:K.object({text_tokens:K.number(),audio_tokens:K.number()}),output_tokens:K.number()}).optional()}),J$$=K.object({type:K.literal("conversation.item.input_audio_transcription.delta"),event_id:K.string(),item_id:K.string(),content_index:K.number().optional(),delta:K.string().optional(),logprobs:K.array(K.any()).nullable().optional()}),G$$=K.object({type:K.literal("conversation.item.input_audio_transcription.failed"),event_id:K.string(),item_id:K.string(),content_index:K.number(),error:K.object({code:K.string().optional(),message:K.string().optional(),param:K.string().optional(),type:K.string().optional()})}),U$$=K.object({type:K.literal("conversation.item.retrieved"),event_id:K.string(),item:R2}),W$$=K.object({type:K.literal("conversation.item.truncated"),event_id:K.string(),item_id:K.string(),audio_end_ms:K.number(),content_index:K.number()}),H$$=K.object({type:K.literal("conversation.item.create"),item:R2,event_id:K.string().optional(),previous_item_id:K.string().nullable().optional()}),K$$=K.object({type:K.literal("conversation.item.delete"),item_id:K.string(),event_id:K.string().optional()}),V$$=K.object({type:K.literal("conversation.item.retrieve"),item_id:K.string(),event_id:K.string().optional()}),B$$=K.object({type:K.literal("conversation.item.truncate"),item_id:K.string(),audio_end_ms:K.number(),content_index:K.number(),event_id:K.string().optional()}),q$$=K.object({type:K.literal("error"),event_id:K.string().optional(),error:K.any().optional()}),N$$=K.object({type:K.literal("input_audio_buffer.cleared"),event_id:K.string()}),D$$=K.object({type:K.literal("input_audio_buffer.append"),audio:K.string(),event_id:K.string().optional()}),O$$=K.object({type:K.literal("input_audio_buffer.clear"),event_id:K.string().optional()}),L$$=K.object({type:K.literal("input_audio_buffer.commit"),event_id:K.string().optional()}),z$$=K.object({type:K.literal("input_audio_buffer.committed"),event_id:K.string(),item_id:K.string(),previous_item_id:K.string().nullable().optional()}),F$$=K.object({type:K.literal("input_audio_buffer.speech_started"),event_id:K.string(),item_id:K.string(),audio_start_ms:K.number()}),w$$=K.object({type:K.literal("input_audio_buffer.speech_stopped"),event_id:K.string(),item_id:K.string(),audio_end_ms:K.number()}),M$$=K.object({type:K.literal("output_audio_buffer.started"),event_id:K.string()}).passthrough(),A$$=K.object({type:K.literal("output_audio_buffer.stopped"),event_id:K.string()}).passthrough(),Z$$=K.object({type:K.literal("output_audio_buffer.cleared"),event_id:K.string()}),P$$=K.object({type:K.literal("rate_limits.updated"),event_id:K.string(),rate_limits:K.array(K.object({limit:K.number().optional(),name:K.enum(["requests","tokens"]).optional(),remaining:K.number().optional(),reset_seconds:K.number().optional()}))}),_$$=K.object({type:K.literal("response.output_audio.delta"),event_id:K.string(),item_id:K.string(),content_index:K.number(),delta:K.string(),output_index:K.number(),response_id:K.string()}),v$$=K.object({type:K.literal("response.output_audio.done"),event_id:K.string(),item_id:K.string(),content_index:K.number(),output_index:K.number(),response_id:K.string()}),E$$=K.object({type:K.literal("response.output_audio_transcript.delta"),event_id:K.string(),item_id:K.string(),content_index:K.number(),delta:K.string(),output_index:K.number(),response_id:K.string()}),I$$=K.object({type:K.literal("response.output_audio_transcript.done"),event_id:K.string(),item_id:K.string(),content_index:K.number(),transcript:K.string(),output_index:K.number(),response_id:K.string()}),R$$=K.object({type:K.literal("response.content_part.added"),event_id:K.string(),item_id:K.string(),content_index:K.number(),output_index:K.number(),response_id:K.string(),part:K.object({audio:K.string().optional(),text:K.string().optional(),transcript:K.string().optional(),type:K.enum(["text","audio"]).optional()})}),j$$=K.object({type:K.literal("response.content_part.done"),event_id:K.string(),item_id:K.string(),content_index:K.number(),output_index:K.number(),response_id:K.string(),part:K.object({audio:K.string().optional(),text:K.string().optional(),transcript:K.string().optional(),type:K.enum(["text","audio"]).optional()})}),T$$=K.object({type:K.literal("response.created"),event_id:K.string(),response:zS}),cz=K.object({type:K.literal("response.done"),event_id:K.string(),response:zS}),k$$=K.object({type:K.literal("response.function_call_arguments.delta"),event_id:K.string(),item_id:K.string(),call_id:K.string(),delta:K.string(),output_index:K.number(),response_id:K.string()}),S$$=K.object({type:K.literal("response.function_call_arguments.done"),event_id:K.string(),item_id:K.string(),call_id:K.string(),arguments:K.string(),output_index:K.number(),response_id:K.string()}),b$$=K.object({type:K.literal("response.output_item.added"),event_id:K.string(),item:R2,output_index:K.number(),response_id:K.string()}),x$$=K.object({type:K.literal("response.output_item.done"),event_id:K.string(),item:R2,output_index:K.number(),response_id:K.string()}),C$$=K.object({type:K.literal("response.output_text.delta"),event_id:K.string(),item_id:K.string(),content_index:K.number(),delta:K.string(),output_index:K.number(),response_id:K.string()}),g$$=K.object({type:K.literal("response.output_text.done"),event_id:K.string(),item_id:K.string(),content_index:K.number(),text:K.string(),output_index:K.number(),response_id:K.string()}),y$$=K.object({type:K.literal("session.created"),event_id:K.string(),session:K.any()}),f$$=K.object({type:K.literal("session.updated"),event_id:K.string(),session:K.any()}),h$$=K.object({type:K.literal("response.cancel"),event_id:K.string().optional(),response_id:K.string().optional()}),m$$=K.object({type:K.literal("response.create"),event_id:K.string().optional(),response:K.any().optional()}),u$$=K.object({type:K.literal("session.update"),event_id:K.string().optional(),session:K.any()}),c$$=K.object({type:K.literal("mcp_list_tools.in_progress"),event_id:K.string().optional(),item_id:K.string().optional()}),l$$=K.object({type:K.literal("mcp_list_tools.completed"),event_id:K.string().optional(),item_id:K.string().optional()}),i$$=K.object({type:K.literal("response.mcp_call_arguments.delta"),event_id:K.string(),response_id:K.string(),item_id:K.string(),output_index:K.number(),delta:K.string(),obfuscation:K.string()}),d$$=K.object({type:K.literal("response.mcp_call_arguments.done"),event_id:K.string(),response_id:K.string(),item_id:K.string(),output_index:K.number(),arguments:K.string()}),p$$=K.object({type:K.literal("response.mcp_call.in_progress"),event_id:K.string(),output_index:K.number(),item_id:K.string()}),n$$=K.object({type:K.literal("response.mcp_call.completed"),event_id:K.string(),output_index:K.number(),item_id:K.string()}),r$$=K.object({type:K.literal("mcp_list_tools.failed"),event_id:K.string().optional(),item_id:K.string().optional()}),o$$=K.object({type:K.string(),event_id:K.string().optional().nullable()}).passthrough(),a$$=K.discriminatedUnion("type",[ee,$$$,X$$,Y$$,Q$$,J$$,G$$,U$$,W$$,q$$,N$$,z$$,F$$,w$$,M$$,A$$,Z$$,P$$,_$$,v$$,E$$,I$$,R$$,j$$,T$$,cz,k$$,S$$,b$$,x$$,C$$,g$$,y$$,f$$,c$$,l$$,r$$,i$$,d$$,p$$,n$$]),KL$=K.discriminatedUnion("type",[H$$,K$$,V$$,B$$,D$$,O$$,L$$,h$$,m$$,u$$]);function j2($){let X=JSON.parse($.data.toString()),Y=a$$.safeParse(X);if(!Y.success){let J=o$$.safeParse(X);if(J.success)return{data:J.data,isGeneric:!0};return{data:null,isGeneric:!0}}return{data:Y.data,isGeneric:!1}}var FS="gpt-realtime",m4={outputModalities:["audio"],audio:{input:{format:{type:"audio/pcm",rate:24000},transcription:{model:"gpt-4o-mini-transcribe"},turnDetection:{type:"semantic_vad"},noiseReduction:null},output:{format:{type:"audio/pcm",rate:24000},speed:1}}};class d9 extends E2{#$;#X;#G=null;#Y=null;eventEmitter=new J0.EventEmitter;constructor($={}){super();this.#$=$.model??FS,this.#X=$.apiKey}get currentModel(){return this.#$}set currentModel($){this.#$=$}_afterAudioDoneEvent(){}get _rawSessionConfig(){return this.#Y??null}async _getApiKey($){let X=$.apiKey??this.#X;if(typeof X==="function")return await X();return X}_onMessage($){let{data:X,isGeneric:Y}=j2($);if(X===null)return;if(this.emit("*",X),Y)return;if(X.type==="error")this.emit("error",{type:"error",error:X});else this.emit(X.type,X);if(X.type==="response.created"){this.emit("turn_started",{type:"response_started",providerData:{...X}});return}if(X.type==="session.updated")this.#Y=X.session;if(X.type==="response.done"){let J=cz.safeParse(X);if(!J.success){O6.error("Error parsing response done event",J.error);return}let Q=J.data.response.usage?.input_tokens??0,G=J.data.response.usage?.output_tokens??0,U=Q+G,W=new h4({inputTokens:Q,inputTokensDetails:J.data.response.usage?.input_token_details??{},outputTokens:G,outputTokensDetails:J.data.response.usage?.output_token_details??{},totalTokens:U});this.emit("usage_update",W),this.emit("turn_done",{type:"response_done",response:{id:J.data.response.id??"",output:J.data.response.output??[],usage:{inputTokens:Q,inputTokensDetails:J.data.response.usage?.input_token_details??{},outputTokens:G,outputTokensDetails:J.data.response.usage?.output_token_details??{},totalTokens:U}}});return}if(X.type==="response.output_audio.done"){this.emit("audio_done"),this._afterAudioDoneEvent();return}if(X.type==="conversation.item.deleted"){this.emit("item_deleted",{itemId:X.item_id});return}if(X.type==="conversation.item.input_audio_transcription.completed"||X.type==="conversation.item.truncated"){this.sendEvent({type:"conversation.item.retrieve",item_id:X.item_id});return}if(X.type==="conversation.item.input_audio_transcription.delta"||X.type==="response.output_text.delta"||X.type==="response.output_audio_transcript.delta"||X.type==="response.function_call_arguments.delta"){if(X.type==="response.output_audio_transcript.delta")this.emit("audio_transcript_delta",{type:"transcript_delta",delta:X.delta,itemId:X.item_id,responseId:X.response_id});return}if(X.type==="conversation.item.added"||X.type==="conversation.item.done"||X.type==="conversation.item.retrieved"){if(X.item.type==="mcp_list_tools"&&X.type==="conversation.item.done"){let J=X.item.server_label??"",Q=X.item.tools??[];try{this.emit("mcp_tools_listed",{serverLabel:J,tools:Q})}catch(G){O6.error("Error emitting mcp_tools_listed",G,X.item)}return}if(X.item.type==="message"){let J=X.type==="conversation.item.added"||X.type==="conversation.item.done"?X.previous_item_id:null,Q=hz.parse({itemId:X.item.id,previousItemId:J,type:X.item.type,role:X.item.role,content:X.item.content,status:X.item.status});this.emit("item_update",Q);return}if(X.item.type==="mcp_approval_request"&&X.type==="conversation.item.done"){let J=X.item,Q=LS.parse({itemId:J.id,type:J.type,serverLabel:J.server_label,name:J.name,arguments:JSON.parse(J.arguments||"{}"),approved:J.approved});this.emit("item_update",Q),this.emit("mcp_approval_request",Q);return}if(X.item.type==="mcp_tool_call"||X.item.type==="mcp_call"){let J=X.type==="conversation.item.done"?"completed":"in_progress",Q=uz.parse({itemId:X.item.id,type:X.item.type,status:J,arguments:X.item.arguments,name:X.item.name,output:X.item.output});if(this.emit("item_update",Q),X.type==="conversation.item.done")this.emit("mcp_tool_call_completed",Q);return}}if(X.type==="response.mcp_call.in_progress"){let J=X;this.sendEvent({type:"conversation.item.retrieve",item_id:J.item_id});return}if(X.type==="mcp_list_tools.in_progress"){let J=X;if(J.item_id)this.sendEvent({type:"conversation.item.retrieve",item_id:J.item_id});return}if(X.type==="response.output_item.done"||X.type==="response.output_item.added"){let J=X.item;if(J.type==="function_call"&&J.status==="completed"){let Q=mz.parse({itemId:J.id,type:J.type,status:"in_progress",arguments:J.arguments,name:J.name,output:null});this.emit("item_update",Q),this.emit("function_call",{id:J.id,type:"function_call",callId:J.call_id??"",arguments:J.arguments??"",name:J.name??""});return}if(J.type==="mcp_tool_call"||J.type==="mcp_call"){let Q=uz.parse({itemId:J.id,type:J.type,status:X.type==="response.output_item.done"?"completed":"in_progress",arguments:J.arguments,name:J.name,output:J.output});this.emit("item_update",Q);return}if(J.type==="message"){let Q=hz.parse({itemId:X.item.id,type:X.item.type,role:X.item.role,content:X.item.content,status:X.type==="response.output_item.done"?J.status??"completed":J.status??"in_progress"});this.emit("item_update",Q);return}}}_onError($){this.emit("error",{type:"error",error:$})}_onOpen(){this.emit("connected")}_onClose(){this.emit("disconnected")}sendMessage($,X,{triggerResponse:Y=!0}={}){let J=typeof $==="string"?[{type:"input_text",text:$}]:$.content.map((Q)=>{if(Q.type==="input_image")return{type:"input_image",image_url:Q.image,...Q.providerData??{}};return Q});if(this.sendEvent({type:"conversation.item.create",item:{type:"message",role:"user",content:J},...X}),Y)this.sendEvent({type:"response.create"})}addImage($,{triggerResponse:X=!0}={}){this.sendMessage({type:"message",role:"user",content:[{type:"input_image",image:$}]},{},{triggerResponse:X})}_getMergedSessionConfig($){let X=OS($),Y=X.audio?.input?.noiseReduction,J=X.audio?.input?.transcription,Q=d9.buildTurnDetectionConfig(X.audio?.input?.turnDetection),G={type:"realtime",instructions:X.instructions,model:X.model??this.#$,output_modalities:X.outputModalities??m4.outputModalities,audio:{input:{format:X.audio?.input?.format??m4.audio?.input?.format,noise_reduction:Y===void 0?m4.audio?.input?.noiseReduction:Y,transcription:J===void 0?m4.audio?.input?.transcription:J,turn_detection:Q===void 0?m4.audio?.input?.turnDetection:Q},output:{format:X.audio?.output?.format??m4.audio?.output?.format,voice:X.audio?.output?.voice??m4.audio?.output?.voice,speed:X.audio?.output?.speed??m4.audio?.output?.speed}},tool_choice:X.toolChoice??m4.toolChoice,...X.providerData??{}};if(X.prompt)G.prompt={id:X.prompt.promptId,version:X.prompt.version,variables:X.prompt.variables};if(X.tools&&X.tools.length>0)G.tools=X.tools.map((U)=>{let W=(H)=>Object.fromEntries(Object.entries(H).filter(([,V])=>typeof V<"u"));if(U.type==="mcp")return W({type:"mcp",server_label:U.server_label,server_url:U.server_url,server_description:U.server_description,connector_id:U.connector_id,authorization:U.authorization,headers:U.headers,allowed_tools:U.allowed_tools,require_approval:U.require_approval});return W({type:U.type,name:U.name,description:U.description,parameters:U.parameters})});return G}buildSessionPayload($){return this._getMergedSessionConfig($)}static buildTurnDetectionConfig($){if(typeof $>"u")return;if($===null)return null;let{type:X,createResponse:Y,create_response:J,eagerness:Q,interruptResponse:G,interrupt_response:U,prefixPaddingMs:W,prefix_padding_ms:H,silenceDurationMs:V,silence_duration_ms:B,threshold:q,idleTimeoutMs:N,idle_timeout_ms:D,...L}=$,O={type:X,create_response:Y??J,eagerness:Q,interrupt_response:G??U,prefix_padding_ms:W??H,silence_duration_ms:V??B,idle_timeout_ms:N??D,threshold:q,...L};return Object.keys(O).forEach((F)=>{if(O[F]===void 0)delete O[F]}),Object.keys(O).length>0?O:void 0}set _tracingConfig($){this.#G=$}_updateTracingConfig($){if(typeof this.#G>"u")this.#G=null;if($==="auto"){this.sendEvent({type:"session.update",session:{type:"realtime",tracing:"auto"}});return}if(this.#G!==null&&typeof this.#G!=="string"&&typeof $!=="string"){O6.warn("Tracing config is already set, skipping setting it again. This likely happens when you already set a tracing config on session creation.");return}if($===null){O6.debug("Disabling tracing for this session. It cannot be turned on for this session from this point on."),this.sendEvent({type:"session.update",session:{type:"realtime",tracing:null}});return}if(this.#G===null||typeof this.#G==="string"){this.sendEvent({type:"session.update",session:{type:"realtime",tracing:$}});return}if($?.group_id!==this.#G?.group_id||$?.metadata!==this.#G?.metadata||$?.workflow_name!==this.#G?.workflow_name){O6.warn("Mismatch in tracing config. Ignoring the new tracing config. This likely happens when you already set a tracing config on session creation. Current tracing config: %s, new tracing config: %s",JSON.stringify(this.#G),JSON.stringify($));return}this.sendEvent({type:"session.update",session:{type:"realtime",tracing:$}})}updateSessionConfig($){let X=this.buildSessionPayload($);this.sendEvent({type:"session.update",session:X})}sendFunctionCallOutput($,X,Y=!0){this.sendEvent({type:"conversation.item.create",item:{type:"function_call_output",output:X,call_id:$.callId}});try{let J=mz.parse({itemId:$.id,previousItemId:$.previousItemId,type:"function_call",status:"completed",arguments:$.arguments,name:$.name,output:X});this.emit("item_update",J)}catch(J){O6.error("Error parsing tool call item",J,$)}if(Y)this.sendEvent({type:"response.create"})}sendAudio($,{commit:X=!1}={}){if(this.sendEvent({type:"input_audio_buffer.append",audio:Cz($)}),X)this.sendEvent({type:"input_audio_buffer.commit"})}resetHistory($,X){let{removals:Y,additions:J,updates:Q}=HS($,X),G=new Set(Y.map((W)=>W.itemId));for(let W of Q)G.add(W.itemId);if(G.size>0)for(let W of G)this.sendEvent({type:"conversation.item.delete",item_id:W});let U=[...J,...Q];for(let W of U)if(W.type==="message"){let H={type:"message",role:W.role,content:W.content,id:W.itemId};if(W.role!=="system"&&W.status)H.status=W.status;this.sendEvent({type:"conversation.item.create",item:H})}else if(W.type==="function_call")O6.warn("Function calls cannot be manually added or updated at the moment. Ignoring.")}sendMcpResponse($,X){this.sendEvent({type:"conversation.item.create",previous_item_id:$.itemId,item:{type:"mcp_approval_response",approval_request_id:$.itemId,approve:X}})}}class T2 extends d9{options;#$;#X={status:"disconnected",peerConnection:void 0,dataChannel:void 0,callId:void 0};#G;#Y=!1;#U=!1;#J;#W=0;constructor($={}){if(typeof RTCPeerConnection>"u")throw Error("WebRTC is not supported in this environment");super($);this.options=$,this.#$=$.baseUrl??"https://api.openai.com/v1/realtime/calls",this.#G=$.useInsecureApiKey??!1}get callId(){return this.#X.callId}get status(){return this.#X.status}get connectionState(){return this.#X}get muted(){return this.#U}async connect($){if(this.#X.status==="connected")return;if(this.#X.status==="connecting"){if(this.#J)return this.#J;O6.warn("Realtime connection already in progress but no promise found");return}let X=$.model??this.currentModel;this.currentModel=X;let Y=$.url??this.#$,J=await this._getApiKey($),Q=typeof J==="string"&&J.startsWith("ek_");if(QG()&&!this.#G&&!Q)throw new $$("Using the WebRTC connection in a browser environment requires an ephemeral client key. If you need to use a regular API key, use the WebSocket transport or set the `useInsecureApiKey` option to true.");let G=++this.#W;return this.#J=new Promise(async(U,W)=>{try{let H={...$.initialSessionConfig||{},model:this.currentModel},V=new URL(Y),B=new RTCPeerConnection,q=B.createDataChannel("oai-events"),N=void 0,D=(z)=>{z.onconnectionstatechange=()=>{switch(z.connectionState){case"disconnected":case"failed":case"closed":this.close();break}}};D(B),this.#X={status:"connecting",peerConnection:B,dataChannel:q,callId:N},this.emit("connection_change",this.#X.status),q.addEventListener("open",()=>{this.#X={status:"connecting",peerConnection:B,dataChannel:q,callId:N};let z=!1,w,_=()=>{if(z)return;if(z=!0,w!==void 0)clearTimeout(w);if(q.removeEventListener("message",j),q.removeEventListener("close",C),this.#X.status!=="connecting"||this.#X.dataChannel!==q||q.readyState!=="open"){if(this.#X.dataChannel===q)this.close();W(Error("Connection closed before session config was acknowledged"));return}this.#X={status:"connected",peerConnection:B,dataChannel:q,callId:N},this.emit("connection_change",this.#X.status),this._onOpen(),U()},j=(c)=>{if(JSON.parse(c.data).type==="session.updated")_()},C=()=>{_()};w=setTimeout(()=>{if(!z)O6.warn("Timed out waiting for session.updated ack — resolving connect() anyway"),_()},5000),q.addEventListener("message",j),q.addEventListener("close",C),q.addEventListener("message",(c)=>{this._onMessage(c);let{data:o,isGeneric:W$}=j2(c);if(!o||W$)return;if(o.type==="response.created")this.#Y=!0;else if(o.type==="response.done")this.#Y=!1;if(o.type==="session.created"){this._tracingConfig=o.session.tracing;let s=typeof H.tracing>"u"?"auto":H.tracing;this._updateTracingConfig(s)}}),this.updateSessionConfig(H)}),q.addEventListener("error",(z)=>{this.close(),this._onError(z),W(z)});let L=this.options.audioElement??document.createElement("audio");L.autoplay=!0,B.ontrack=(z)=>{L.srcObject=z.streams[0]};let O=this.options.mediaStream??await navigator.mediaDevices.getUserMedia({audio:!0});if(B.addTrack(O.getAudioTracks()[0]),this.options.changePeerConnection){let z=B;if(B=await this.options.changePeerConnection(B),z!==B)z.onconnectionstatechange=null;D(B),this.#X={...this.#X,peerConnection:B}}let F=await B.createOffer();if(await B.setLocalDescription(F),!F.sdp)throw Error("Failed to create offer");let Z=await fetch(V,{method:"POST",body:F.sdp,headers:{"Content-Type":"application/sdp",Authorization:`Bearer ${J}`,"X-OpenAI-Agents-SDK":mG["X-OpenAI-Agents-SDK"]}});N=Z.headers?.get("Location")?.split("/").pop(),this.#X={...this.#X,callId:N};let M={type:"answer",sdp:await Z.text()};await B.setRemoteDescription(M)}catch(H){this.close(),this._onError(H),W(H)}}).finally(()=>{if(this.#W===G)this.#J=void 0}),this.#J}sendEvent($){if(!this.#X.dataChannel||this.#X.dataChannel.readyState!=="open")throw Error("WebRTC data channel is not connected. Make sure you call `connect()` before sending events.");this.#X.dataChannel.send(JSON.stringify($))}mute($){if(this.#U=$,this.#X.peerConnection)this.#X.peerConnection.getSenders().forEach((Y)=>{if(Y.track)Y.track.enabled=!$})}_afterAudioDoneEvent(){this.#Y=!1}close(){if(this.#X.dataChannel)this.#X.dataChannel.close();if(this.#X.peerConnection){let $=this.#X.peerConnection;$.onconnectionstatechange=null,$.getSenders().forEach((X)=>{X.track?.stop()}),$.close()}if(this.#X.status!=="disconnected")this.#X={status:"disconnected",peerConnection:void 0,dataChannel:void 0,callId:void 0},this.emit("connection_change",this.#X.status),this._onClose()}interrupt(){if(this.#Y)this.sendEvent({type:"response.cancel"}),this.#Y=!1;this.sendEvent({type:"output_audio_buffer.clear"})}}function wS(){return!1}var MS=!1;class UX extends d9{#$;#X;#G;#Y={status:"disconnected",websocket:void 0};#U;#J;#W;_firstAudioTimestamp;_audioLengthMs=0;#Q=!1;#H;#V;#K(){this.#J=void 0,this._firstAudioTimestamp=void 0,this._audioLengthMs=0,this.#W=void 0}constructor($={}){super($);this.#X=$.url,this.#G=$.url,this.#U=$.useInsecureApiKey??!1,this.#H=$.createWebSocket,this.#V=$.skipOpenEventListeners??!1}getCommonRequestHeaders(){return mG}get status(){return this.#Y.status}get connectionState(){return this.#Y}get muted(){return null}get currentItemId(){return this.#J}_onAudio($){this.emit("audio",$)}_afterAudioDoneEvent(){this.#K()}async#q($,X,Y){if(this.#Y.websocket){$();return}if(!this.#$)throw new $$("API key is not set. Please call `connect()` with an API key first.");if(wS()&&!this.#$.startsWith("ek_")&&!this.#U)throw new $$("Using the WebSocket connection in a browser environment requires an ephemeral client key. If you have to use a regular API key, set the `useInsecureApiKey` option to true.");let J=null;if(this.#H)J=await this.#H({url:this.#X,apiKey:this.#$});else{let G=MS?["realtime","openai-insecure-api-key."+this.#$,VS]:{headers:{Authorization:`Bearer ${this.#$}`,...this.getCommonRequestHeaders()}};J=new U8.default(this.#X,G)}this.#Y={status:"connecting",websocket:J},this.emit("connection_change",this.#Y.status);let Q=()=>{this.#Y={status:"connected",websocket:J},this.emit("connection_change",this.#Y.status),this._onOpen(),$()};if(this.#V===!0)Q();else J.addEventListener("open",Q);J.addEventListener("error",(G)=>{this._onError(G),this.#Y={status:"disconnected",websocket:void 0},this.emit("connection_change",this.#Y.status),X(G)}),J.addEventListener("message",(G)=>{this._onMessage(G);let{data:U,isGeneric:W}=j2(G);if(!U||W)return;if(U.type==="response.output_audio.delta"){if(this.#W=U.content_index,this.#J=U.item_id,this._firstAudioTimestamp===void 0)this._firstAudioTimestamp=Date.now(),this._audioLengthMs=0;let H=xz(U.delta),V=this._rawSessionConfig?.audio?.output?.format;if(V&&typeof V==="object"){let q=V.type;if(q==="audio/pcmu"||q==="audio/pcma")this._audioLengthMs+=H.byteLength/8;else if(q==="audio/pcm"){let N=V.rate??24000;this._audioLengthMs+=H.byteLength/2/N*1000}else this._audioLengthMs+=H.byteLength/24/2}else if(typeof V==="string")if(V.startsWith("g711_"))this._audioLengthMs+=H.byteLength/8;else this._audioLengthMs+=H.byteLength/24/2;else this._audioLengthMs+=H.byteLength/24/2;let B={type:"audio",data:H,responseId:U.response_id};this._onAudio(B)}else if(U.type==="input_audio_buffer.speech_started"){let H=this._rawSessionConfig?.audio?.input?.turn_detection?.interrupt_response??!1;this.interrupt(!H)}else if(U.type==="response.created")this.#Q=!0;else if(U.type==="response.done")this.#Q=!1;else if(U.type==="session.created"){this._tracingConfig=U.session.tracing;let H=typeof Y.tracing>"u"?"auto":Y.tracing;this._updateTracingConfig(H)}}),J.addEventListener("close",()=>{this.#Y={status:"disconnected",websocket:void 0},this.emit("connection_change",this.#Y.status),this._onClose()})}async connect($){let X=$.model??this.currentModel;this.currentModel=X,this.#$=await this._getApiKey($);let Y=$.callId,J;if($.url)J=$.url,this.#G=$.url;else if(Y)J=`wss://api.openai.com/v1/realtime?call_id=${Y}`;else if(this.#G)J=this.#G;else J=`wss://api.openai.com/v1/realtime?model=${this.currentModel}`;this.#X=J;let Q={...$.initialSessionConfig||{},model:this.currentModel};await new Promise((G,U)=>{this.#q(G,U,Q).catch(U)}),await this.updateSessionConfig(Q)}sendEvent($){if(!this.#Y.websocket)throw Error("WebSocket is not connected. Make sure you call `connect()` before sending events.");this.#Y.websocket.send(JSON.stringify($))}close(){this.#Y.websocket?.close(),this.#J=void 0,this._firstAudioTimestamp=void 0,this._audioLengthMs=0,this.#W=void 0}mute($){throw Error("Mute is not supported for the WebSocket transport. You have to mute the audio input yourself.")}sendAudio($,X={}){if(this.#Y.status==="connected")super.sendAudio($,X)}_cancelResponse(){if(this.#Q)this.sendEvent({type:"response.cancel"}),this.#Q=!1}_interrupt($,X=!0){if($<0)return;if(X)this._cancelResponse();let Y=this._audioLengthMs??Number.POSITIVE_INFINITY,J=Math.max(0,Math.floor(Math.min($,Y)));this.emit("audio_interrupted"),this.sendEvent({type:"conversation.item.truncate",item_id:this.#J,content_index:this.#W,audio_end_ms:J})}interrupt($=!0){if(!this.#J||typeof this._firstAudioTimestamp!=="number")return;let X=Date.now()-this._firstAudioTimestamp;if(X>=0)this._interrupt(X,$);this.#K()}}var t$$=Symbol("backgroundResult");function lz($){return typeof $==="object"&&$!==null&&t$$ in $}function AS($){return $.type==="function"||$.type==="hosted_tool"&&$.name==="hosted_mcp"}function ZS($){if($.type==="function")return $;if($.type==="hosted_tool"&&$.name==="hosted_mcp"){let X=$.providerData.server_url&&$.providerData.server_url.length>0?$.providerData.server_url:void 0;return{type:"mcp",server_label:$.providerData.server_label,server_url:X,headers:$.providerData.headers,allowed_tools:$.providerData.allowed_tools,require_approval:$.providerData.require_approval}}throw new $$(`Invalid tool type: ${$}`)}function s$$(){return JSON.parse(JSON.stringify(m4))}var iz="Tool execution was not approved.";function e$$($){return $ instanceof Error?$.message:String($)}class k2 extends J0.EventEmitter{initialAgent;options;#$;#X;#G;#Y;#U=[];#J;#W={};#Q=[];#H;#V={};#K=!1;#q=new Map;#B=[];#D=s$$();#O=!0;constructor($,X={}){super();if(this.initialAgent=$,this.options=X,typeof X.transport>"u"&&KS()||X.transport==="webrtc")this.#$=new T2;else if(X.transport==="websocket"||typeof X.transport>"u")this.#$=new UX;else this.#$=X.transport;this.#X=$,this.#Y=new I6({...X.context??{},history:this.#Q}),this.#U=(X.outputGuardrails??[]).map(NS),this.#J=qS(X.outputGuardrailSettings??{}),this.#H=X.historyStoreAudio??!1,this.#O=X.automaticallyTriggerResponseForMcpToolCalls??!0}get transport(){return this.#$}get currentAgent(){return this.#X}get usage(){return this.#Y.usage}get context(){return this.#Y}get muted(){return this.#$.muted}get history(){return this.#Q}get availableMcpTools(){return this.#B}async#N($){this.#X=$;let X=await this.#X.getEnabledHandoffs(this.#Y),Y=X.map((U)=>U.getHandoffAsFunctionTool()),J=(await this.#X.getAllTools(this.#Y)).filter(AS).map(ZS),Q=typeof this.#X.tools<"u"||typeof this.#X.mcpServers<"u",G=X.length>0;this.#G=Q||G?[...J,...Y]:void 0,this.#w()}async#L($={}){let X=$??{},Y=this.options.config??{},J=await this.#X.getSystemPrompt(this.#Y),Q=(q)=>{return q.audio?.output?.voice},G=this.options.tracingDisabled?null:this.options.workflowName?{workflow_name:this.options.workflowName}:"auto";if(G!==null&&G!=="auto"){if(this.options.groupId)G.group_id=this.options.groupId;if(this.options.traceMetadata)G.metadata=this.options.traceMetadata}else if(this.options.groupId||this.options.traceMetadata)O6.warn("In order to set traceMetadata or a groupId you need to specify a workflowName.");let U=Q(X)??Q(Y),W=X.voice??Y.voice,H=typeof U<"u"?U:typeof W<"u"?W:this.#X.voice,B={...{...this.#D??{},...Y,...X},instructions:J,voice:H,model:this.options.model,tools:this.#G,tracing:G,prompt:typeof this.#X.prompt==="function"?await this.#X.prompt(this.#Y,this.#X):this.#X.prompt};return this.#D=B,B}async getInitialSessionConfig($={}){return await this.#N(this.initialAgent),this.#L({...this.options.config??{},...$??{}})}static async computeInitialSessionConfig($,X={},Y={}){let J=new k2($,X);try{return await J.getInitialSessionConfig(Y)}finally{J.close()}}async updateAgent($){return this.#X.emit("agent_handoff",this.#Y,$),this.emit("agent_handoff",this.#Y,this.#X,$),await this.#N($),await this.#$.updateSessionConfig(await this.#L()),$}async#M($,X){let Y=await X.onInvokeHandoff(this.#Y,$.arguments);this.#X.emit("agent_handoff",this.#Y,Y),this.emit("agent_handoff",this.#Y,this.#X,Y),await this.#N(Y),await this.#$.updateSessionConfig(await this.#L());let J=e7(Y);return this.#$.sendFunctionCallOutput($,J,!0),Y}async#A($,X){let{toolErrorFormatter:Y}=this.options;if(!Y)return iz;try{let J=await Y({kind:"approval_rejected",toolType:"function",toolName:$,callId:X,defaultMessage:iz,runContext:this.#Y});if(typeof J==="string")return J;if(typeof J<"u")O6.warn("toolErrorFormatter returned a non-string value. Falling back to the default tool approval rejection message.")}catch(J){O6.warn(`toolErrorFormatter threw while formatting approval rejection: ${e$$(J)}`)}return iz}async#z($,X){this.#Y.context.history=JSON.parse(JSON.stringify(this.#Q));let Y=$.arguments;if(X.parameters)if(p6(X.parameters))Y=X.parameters.parse(Y);else Y=JSON.parse(Y);if(await X.needsApproval(this.#Y,Y,$.callId)){let H=this.context.isToolApproved({toolName:X.name,callId:$.callId});if(H===!1){this.emit("agent_tool_start",this.#Y,this.#X,X,{toolCall:$}),this.#X.emit("agent_tool_start",this.#Y,X,{toolCall:$});let V=await this.#A(X.name,$.callId);this.#$.sendFunctionCallOutput($,V,!0),this.emit("agent_tool_end",this.#Y,this.#X,X,V,{toolCall:$}),this.#X.emit("agent_tool_end",this.#Y,X,V,{toolCall:$});return}else if(typeof H>"u"){this.emit("tool_approval_requested",this.#Y,this.#X,{type:"function_approval",tool:X,approvalItem:new P$($,this.#X)});return}}let Q=await YX({guardrails:X.inputGuardrails,context:this.#Y,agent:this.#X,toolCall:$});this.emit("agent_tool_start",this.#Y,this.#X,X,{toolCall:$}),this.#X.emit("agent_tool_start",this.#Y,X,{toolCall:$}),this.#Y.context.history=JSON.parse(JSON.stringify(this.#Q));let G=Q.type==="reject"?Q.message:await u7({tool:X,runContext:this.#Y,input:$.arguments,details:{toolCall:$}}),U=Q.type==="reject"?G:await QX({guardrails:X.outputGuardrails,context:this.#Y,agent:this.#X,toolCall:$,toolOutput:G}),W;if(lz(U))W=P4(U.content),this.#$.sendFunctionCallOutput($,W,!1);else W=P4(U),this.#$.sendFunctionCallOutput($,W,!0);this.emit("agent_tool_end",this.#Y,this.#X,X,W,{toolCall:$}),this.#X.emit("agent_tool_end",this.#Y,X,W,{toolCall:$})}async#Z($){let X=await this.#X.getEnabledHandoffs(this.#Y),Y=new Map(X.map((U)=>[U.toolName,U])),J=await this.#X.getAllTools(this.#Y),Q=new Map(J.map((U)=>[U.name,U])),G=Y.get($.name);if(G)await this.#M($,G);else{let U=Q.get($.name);if(U&&U.type==="function")await this.#z($,U);else throw new d$(`Tool ${$.name} not found`)}}async#F($,X,Y){if(this.#U.length===0)return;let J={agent:this.#X,agentOutput:$,context:this.#Y},G=(await Promise.all(this.#U.map((U)=>U.run(J)))).find((U)=>U.output.tripwireTriggered);if(G){if(this.#V[X])return;this.#V[X]=!0;let U=new c0(`Output guardrail triggered: ${JSON.stringify(G.output.outputInfo)}`,G);this.emit("guardrail_tripped",this.#Y,this.#X,U,{itemId:Y}),this.interrupt();let W=DS(G);this.sendMessage(W);return}}#P(){this.#$.on("*",(Y)=>{if(this.emit("transport_event",Y),Y.type==="conversation.item.input_audio_transcription.completed")try{let J=Y;this.#Q=yz(this.#Q,J,this.#H),this.#Y.context.history=this.#Q,this.emit("history_updated",this.#Q)}catch(J){this.emit("error",{type:"error",error:J})}}),this.#$.on("mcp_tools_listed",({serverLabel:Y,tools:J})=>{try{this.#q.set(Y,J??[]),this.#w()}catch(Q){this.emit("error",{type:"error",error:Q})}}),this.#$.on("audio",(Y)=>{if(!this.#K)this.#K=!0,this.emit("audio_start",this.#Y,this.#X);this.emit("audio",Y)}),this.#$.on("turn_started",()=>{this.#K=!1,this.emit("agent_start",this.#Y,this.#X),this.#X.emit("agent_start",this.#Y,this.#X)}),this.#$.on("turn_done",(Y)=>{let J=Y.response.output[Y.response.output.length-1],Q=gz(J)??"",G=J?.id??"";this.emit("agent_end",this.#Y,this.#X,Q),this.#X.emit("agent_end",this.#Y,Q),this.#F(Q,Y.response.id,G)}),this.#$.on("audio_done",()=>{if(this.#K)this.#K=!1;this.emit("audio_stopped",this.#Y,this.#X)});let $=0,X;this.#$.on("audio_transcript_delta",(Y)=>{try{let{delta:J,itemId:Q,responseId:G}=Y;if(X!==Q)X=Q,$=0;let W=(this.#W[Q]??"")+J;if(this.#W[Q]=W,this.#J.debounceTextLength<0)return;let H=Math.floor(W.length/this.#J.debounceTextLength);if(H>$)$=H,this.#F(W,G,Q)}catch(J){this.emit("error",{type:"error",error:J})}}),this.#$.on("item_update",(Y)=>{try{let J=!this.#Q.some((Q)=>Q.itemId===Y.itemId);if(this.#Q=yz(this.#Q,Y,this.#H),this.#Y.context.history=this.#Q,J){let Q=this.#Q.find((G)=>G.itemId===Y.itemId);if(Q)this.emit("history_added",Q)}this.emit("history_updated",this.#Q)}catch(J){this.emit("error",{type:"error",error:J})}}),this.#$.on("item_deleted",(Y)=>{try{this.#Q=this.#Q.filter((J)=>J.itemId!==Y.itemId),this.#Y.context.history=this.#Q,this.emit("history_updated",this.#Q)}catch(J){this.emit("error",{type:"error",error:J})}}),this.#$.on("function_call",async(Y)=>{try{await this.#Z(Y)}catch(J){O6.error("Error handling function call",J),this.emit("error",{type:"error",error:J})}}),this.#$.on("usage_update",(Y)=>{this.#Y.usage.add(Y)}),this.#$.on("audio_interrupted",()=>{if(this.#K)this.#K=!1;this.emit("audio_interrupted",this.#Y,this.#X)}),this.#$.on("error",(Y)=>{this.emit("error",Y)}),this.#$.on("mcp_tool_call_completed",(Y)=>{if(this.emit("mcp_tool_call_completed",this.#Y,this.#X,Y),this.#O)this.#$.sendEvent({type:"response.create"})}),this.#$.on("mcp_approval_request",(Y)=>{this.emit("tool_approval_requested",this.#Y,this.#X,{type:"mcp_approval_request",approvalItem:BS(this.#X,Y)})})}#w(){let $=this.#G?.filter((U)=>U.type==="mcp"),X=(U)=>{let W=U.allowed_tools;if(!W)return;if(Array.isArray(W))return W;if(W&&Array.isArray(W.tool_names))return W.tool_names;return},Y=new Map;for(let U of $){let W=this.#q.get(U.server_label)??[],H=X(U);for(let V of W){if(H&&!H.includes(V.name))continue;if(!Y.has(V.name))Y.set(V.name,V)}}let J=Array.from(Y.values()),Q=this.#B;if(Q.length!==J.length||JSON.stringify(Q.map((U)=>U.name).sort())!==JSON.stringify(J.map((U)=>U.name).sort()))this.#B=J,this.emit("mcp_tools_changed",this.#B)}async connect($){await this.#N(this.initialAgent),this.#P(),await this.#$.connect({apiKey:$.apiKey??this.options.apiKey,model:this.options.model,url:$.url,callId:$.callId,initialSessionConfig:await this.#L(this.options.config)}),this.#Q=[],this.emit("history_updated",this.#Q)}updateHistory($){let X;if(typeof $==="function")X=$(this.#Q);else X=$;this.#$.resetHistory(this.#Q,X)}sendMessage($,X={}){this.#$.sendMessage($,X)}addImage($,{triggerResponse:X=!0}={}){this.#$.addImage($,{triggerResponse:X})}mute($){this.#$.mute($)}close(){this.#V={},this.#$.close()}sendAudio($,X={}){this.#$.sendAudio($,X)}interrupt(){this.#$.interrupt()}async approve($,X={alwaysApprove:!1}){this.#Y.approveTool($,X);let Y=$.toolName??$.rawItem.name,J=this.#X.tools.find((Q)=>Q.name===Y);if(J&&J.type==="function"&&$.rawItem.type==="function_call")await this.#z($.rawItem,J);else if($.rawItem.type==="hosted_tool_call"){if(X.alwaysApprove)O6.warn("Always approving MCP tools is not supported. Use the allowed tools configuration instead.");let Q=fz($);this.#$.sendMcpResponse(Q,!0)}else throw new d$(`Tool ${Y??"unknown"} not found`)}async reject($,X={alwaysReject:!1}){this.#Y.rejectTool($,X);let Y=$.toolName??$.rawItem.name,J=this.#X.tools.find((Q)=>Q.name===Y);if(J&&J.type==="function"&&$.rawItem.type==="function_call")await this.#z($.rawItem,J);else if($.rawItem.type==="hosted_tool_call"){if(X.alwaysReject)O6.warn("Always rejecting MCP tools is not supported. Use the allowed tools configuration instead.");let Q=fz($);this.#$.sendMcpResponse(Q,!1)}else throw new d$(`Tool ${Y??"unknown"} not found`)}}Z6();Z6();Z6();Z6();Z6();Z6();Z6();Z6();Z6();Z6();Z6();Z6();Z6();Z6();var $6$=class{apply($,X){if(!X.type)return;let Y=Array.isArray(X.type)?X.type:[X.type],J=new Set(Y);if(!J.has("string"))$.string=!1;if(!J.has("number")&&!J.has("integer"))$.number=!1;if(!J.has("boolean"))$.boolean=!1;if(!J.has("null"))$.null=!1;if(!J.has("array"))$.array=!1;if(!J.has("object"))$.object=!1;if(J.has("integer")&&$.number!==!1){let Q=$.number||K.number();if(Q instanceof K.ZodNumber)$.number=Q.int()}}},X6$=class{apply($,X){if(X.const===void 0)return;let Y=X.const;if($.string=!1,$.number=!1,$.boolean=!1,$.null=!1,$.array=!1,$.object=!1,typeof Y==="string")$.string=K.literal(Y);else if(typeof Y==="number")$.number=K.literal(Y);else if(typeof Y==="boolean")$.boolean=K.literal(Y);else if(Y===null)$.null=K.null();else if(Array.isArray(Y))$.array=void 0;else if(typeof Y==="object")$.object=void 0}},Y6$=class{apply($,X){if(!X.enum)return;if(X.enum.length===0){if(!X.type)$.string=!1,$.number=!1,$.boolean=!1,$.null=!1,$.array=!1,$.object=!1;return}let Y={string:X.enum.filter((J)=>typeof J==="string"),number:X.enum.filter((J)=>typeof J==="number"),boolean:X.enum.filter((J)=>typeof J==="boolean"),null:X.enum.filter((J)=>J===null),array:X.enum.filter((J)=>Array.isArray(J)),object:X.enum.filter((J)=>typeof J==="object"&&J!==null&&!Array.isArray(J))};$.string=this.createTypeSchema(Y.string,"string"),$.number=this.createTypeSchema(Y.number,"number"),$.boolean=this.createTypeSchema(Y.boolean,"boolean"),$.null=Y.null.length>0?K.null():!1,$.array=Y.array.length>0?void 0:!1,$.object=Y.object.length>0?void 0:!1}createTypeSchema($,X){if($.length===0)return!1;if($.length===1)return K.literal($[0]);if(X==="string")return K.enum($);if(X==="number"){let[Y,J,...Q]=$;return K.union([K.literal(Y),K.literal(J),...Q.map((G)=>K.literal(G))])}if(X==="boolean")return K.union([K.literal(!0),K.literal(!1)]);return!1}},Q6$=class{apply($,X){let Y=X;if(Y.type==="string"&&Y.format==="binary"&&Y.contentEncoding==="binary"){let J=K.file();if(Y.minLength!==void 0)J=J.min(Y.minLength);if(Y.maxLength!==void 0)J=J.max(Y.maxLength);if(Y.contentMediaType!==void 0)J=J.mime(Y.contentMediaType);$.file=J,$.string=!1}}},J6$=class{apply($,X){let Y=X;if(X.type===void 0&&(Y.minLength!==void 0||Y.maxLength!==void 0||Y.pattern!==void 0)){if($.string===void 0)$.string=K.string()}}},G6$=class{apply($,X){let Y=X;if(Y.minLength===void 0)return;if($.string!==!1){let J=$.string||K.string();if(J instanceof K.ZodString)$.string=J.refine((Q)=>{return Array.from(Q).length>=Y.minLength},{message:`String must be at least ${Y.minLength} characters long`})}}},U6$=class{apply($,X){let Y=X;if(Y.maxLength===void 0)return;if($.string!==!1){let J=$.string||K.string();if(J instanceof K.ZodString)$.string=J.refine((Q)=>{return Array.from(Q).length<=Y.maxLength},{message:`String must be at most ${Y.maxLength} characters long`})}}},W6$=class{apply($,X){let Y=X;if(!Y.pattern)return;if($.string!==!1){let J=$.string||K.string();if(J instanceof K.ZodString){let Q=new RegExp(Y.pattern);$.string=J.regex(Q)}}}},H6$=class{apply($,X){let Y=X;if(Y.minimum===void 0)return;if($.number!==!1){let J=$.number||K.number();if(J instanceof K.ZodNumber)$.number=J.min(Y.minimum)}}},K6$=class{apply($,X){let Y=X;if(Y.maximum===void 0)return;if($.number!==!1){let J=$.number||K.number();if(J instanceof K.ZodNumber)$.number=J.max(Y.maximum)}}},V6$=class{apply($,X){let Y=X;if(Y.exclusiveMinimum===void 0)return;if($.number!==!1){let J=$.number||K.number();if(J instanceof K.ZodNumber)if(typeof Y.exclusiveMinimum==="number")$.number=J.gt(Y.exclusiveMinimum);else $.number=!1}}},B6$=class{apply($,X){let Y=X;if(Y.exclusiveMaximum===void 0)return;if($.number!==!1){let J=$.number||K.number();if(J instanceof K.ZodNumber)if(typeof Y.exclusiveMaximum==="number")$.number=J.lt(Y.exclusiveMaximum);else $.number=!1}}},q6$=class{apply($,X){let Y=X;if(Y.multipleOf===void 0)return;if($.number!==!1){let J=$.number||K.number();if(J instanceof K.ZodNumber)$.number=J.refine((Q)=>{if(Y.multipleOf===0)return!1;let G=Q/Y.multipleOf,U=Math.round(G),W=Math.min(Math.abs(Q)*Number.EPSILON*10,Math.abs(Y.multipleOf)*Number.EPSILON*10);return Math.abs(G-U)<=W/Math.abs(Y.multipleOf)},{message:`Must be a multiple of ${Y.multipleOf}`})}}},N6$=class{apply($,X){let Y=X;if(X.type===void 0&&(Y.minItems!==void 0||Y.maxItems!==void 0||Y.items!==void 0||Y.prefixItems!==void 0)){if($.array===void 0)$.array=K.array(K.any())}}},D6$=class{apply($,X){let Y=X;if(Y.minItems===void 0)return;if($.array!==!1)$.array=($.array||K.array(K.any())).min(Y.minItems)}},O6$=class{apply($,X){let Y=X;if(Y.maxItems===void 0)return;if($.array!==!1)$.array=($.array||K.array(K.any())).max(Y.maxItems)}},L6$=class{apply($,X){let Y=X;if($.array===!1)return;if(Array.isArray(Y.items))$.array=$.array||K.array(K.any());else if(Y.items&&typeof Y.items!=="boolean"&&!Y.prefixItems){let J=x6(Y.items),Q=K.array(J);if($.array&&$.array instanceof K.ZodArray){let G=$.array._def;if(G.checks)G.checks.forEach((U)=>{if(U._zod&&U._zod.def){let W=U._zod.def;if(W.check==="min_length"&&W.minimum!==void 0)Q=Q.min(W.minimum);else if(W.check==="max_length"&&W.maximum!==void 0)Q=Q.max(W.maximum)}})}$.array=Q}else if(typeof Y.items==="boolean"&&Y.items===!1)if(!Y.prefixItems)$.array=K.array(K.any()).max(0);else $.array=$.array||K.array(K.any());else if(typeof Y.items==="boolean"&&Y.items===!0)$.array=$.array||K.array(K.any());else if(Y.prefixItems)$.array=$.array||K.array(K.any())}},z6$=class{apply($,X){if(X.type!=="array")return;let Y=X;if(!Array.isArray(Y.items))return;if($.array===!1)return;let J=Y.items.map((G)=>x6(G)),Q;if(J.length===0)Q=K.tuple([]);else Q=K.tuple(J);if(Y.minItems!==void 0&&Y.minItems>J.length)Q=!1;if(Y.maxItems!==void 0&&Y.maxItems<J.length)Q=!1;$.tuple=Q,$.array=!1}},F6$=class{apply($,X){let Y=X;if($.object===!1)return;if(Y.properties||Y.required||Y.additionalProperties!==void 0)$.object=$.object||K.object({}).passthrough()}},w6$=class{apply($,X){let Y=X;if(X.type===void 0&&(Y.maxProperties!==void 0||Y.minProperties!==void 0)){if($.object===void 0)$.object=K.object({}).passthrough()}}},M6$=class{apply($,X){let Y=X;if(Y.maxProperties===void 0)return;if($.object!==!1){let J=$.object||K.object({}).passthrough();$.object=J.refine((Q)=>Object.keys(Q).length<=Y.maxProperties,{message:`Object must have at most ${Y.maxProperties} properties`})}}},A6$=class{apply($,X){let Y=X;if(Y.minProperties===void 0)return;if($.object!==!1){let J=$.object||K.object({}).passthrough();$.object=J.refine((Q)=>Object.keys(Q).length>=Y.minProperties,{message:`Object must have at least ${Y.minProperties} properties`})}}};function WX($,X){if($===X)return!0;if($==null||X==null)return $===X;if(typeof $!==typeof X)return!1;if(Array.isArray($)&&Array.isArray(X)){if($.length!==X.length)return!1;return $.every((Y,J)=>WX(Y,X[J]))}if(typeof $==="object"&&typeof X==="object"){let Y=Object.keys($),J=Object.keys(X);if(Y.length!==J.length)return!1;return Y.every((Q)=>J.includes(Q)&&WX($[Q],X[Q]))}return!1}function Z6$(){return($)=>{if(!Array.isArray($))return!0;let X=[];return $.every((Y)=>{if(X.some((Q)=>WX(Y,Q)))return!1;return X.push(Y),!0})}}function lG($,X){return $.safeParse(X).success}var P6$=class{apply($,X){if(!X.not)return $;let Y=x6(X.not);return $.refine((J)=>!lG(Y,J),{message:"Value must not match the 'not' schema"})}},_6$=class{apply($,X){if(X.uniqueItems!==!0)return $;return $.refine(Z6$(),{message:"Array items must be unique"})}},v6$=class{apply($,X){if(!X.allOf||X.allOf.length===0)return $;return X.allOf.map((J)=>x6(J)).reduce((J,Q)=>K.intersection(J,Q),$)}},E6$=class{apply($,X){if(!X.anyOf||X.anyOf.length===0)return $;let Y=X.anyOf.length===1?x6(X.anyOf[0]):K.union([x6(X.anyOf[0]),x6(X.anyOf[1]),...X.anyOf.slice(2).map((J)=>x6(J))]);return K.intersection($,Y)}},I6$=class{apply($,X){if(!X.oneOf||X.oneOf.length===0)return $;let Y=X.oneOf.map((J)=>x6(J));return $.refine((J)=>{let Q=0;for(let G of Y)if(G.safeParse(J).success){if(Q++,Q>1)return!1}return Q===1},{message:"Value must match exactly one of the oneOf schemas"})}},R6$=class{apply($,X){let Y=X;if(Y.prefixItems&&Array.isArray(Y.prefixItems)){let Q=Y.prefixItems.map((G)=>x6(G));return $.refine((G)=>{if(!Array.isArray(G))return!0;for(let U=0;U<Math.min(G.length,Q.length);U++)if(!lG(Q[U],G[U]))return!1;if(G.length>Q.length){if(typeof Y.items==="boolean"&&Y.items===!1)return!1;else if(Y.items&&typeof Y.items==="object"&&!Array.isArray(Y.items)){let U=x6(Y.items);for(let W=Q.length;W<G.length;W++)if(!lG(U,G[W]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return $}},j6$=class{apply($,X){let Y=X;if(!Y.properties&&!Y.required&&Y.additionalProperties!==!1)return $;if($ instanceof K.ZodObject||$ instanceof K.ZodRecord){let J={};if(Y.properties){for(let[Q,G]of Object.entries(Y.properties))if(G!==void 0)J[Q]=x6(G)}if(Y.required&&Array.isArray(Y.required)){let Q=new Set(Y.required);for(let G of Object.keys(J))if(!Q.has(G))J[G]=J[G].optional()}else for(let Q of Object.keys(J))J[Q]=J[Q].optional();if(Y.additionalProperties===!1)return K.object(J);else return K.object(J).passthrough()}return $.refine((J)=>{if(typeof J!=="object"||J===null||Array.isArray(J))return!0;if(Y.properties){for(let[Q,G]of Object.entries(Y.properties))if(G!==void 0){if(Object.getOwnPropertyDescriptor(J,Q)!==void 0){if(!x6(G).safeParse(J[Q]).success)return!1}}}if(Y.required&&Array.isArray(Y.required)){for(let Q of Y.required)if(Object.getOwnPropertyDescriptor(J,Q)===void 0)return!1}if(Y.additionalProperties===!1&&Y.properties){let Q=new Set(Object.keys(Y.properties));for(let G in J)if(!Q.has(G))return!1}return!0},{message:"Object constraints validation failed"})}},T6$=class{apply($,X){if(!X.enum||X.enum.length===0)return $;let Y=X.enum.filter((J)=>Array.isArray(J)||typeof J==="object"&&J!==null);if(Y.length===0)return $;return $.refine((J)=>{if(typeof J!=="object"||J===null)return!0;return Y.some((Q)=>WX(J,Q))},{message:"Value must match one of the enum values"})}},k6$=class{apply($,X){if(X.const===void 0)return $;let Y=X.const;if(typeof Y!=="object"||Y===null)return $;return $.refine((J)=>WX(J,Y),{message:"Value must equal the const value"})}},S6$=class{apply($,X){if(X.description)$=$.describe(X.description);return $}},b6$=class{apply($,X){var Y;let J=X;if(!((Y=J.required)==null?void 0:Y.includes("__proto__"))||X.type!==void 0)return $;return K.any().refine((Q)=>this.validateRequired(Q,J.required),{message:"Missing required properties"})}validateRequired($,X){if(typeof $!=="object"||$===null||Array.isArray($))return!0;return X.every((Y)=>Object.prototype.hasOwnProperty.call($,Y))}},x6$=class{apply($,X){var Y;let J=X;if(J.contains===void 0)return $;let Q=x6(J.contains),G=(Y=J.minContains)!=null?Y:1,U=J.maxContains;return $.refine((W)=>{if(!Array.isArray(W))return!0;let H=0;for(let V of W)if(lG(Q,V))H++;if(H<G)return!1;if(U!==void 0&&H>U)return!1;return!0},{message:"Array must contain required items matching the schema"})}},C6$=class{apply($,X){let{default:Y}=X;if(Y===void 0)return $;if(!$.safeParse(Y).success)return $;return $.default(Y)}},g6$=[new X6$,new Y6$,new $6$,new Q6$,new J6$,new N6$,new w6$,new G6$,new U6$,new W6$,new H6$,new K6$,new V6$,new B6$,new q6$,new z6$,new D6$,new O6$,new L6$,new M6$,new A6$,new F6$],y6$=[new b6$,new T6$,new k6$,new v6$,new E6$,new I6$,new R6$,new j6$,new x6$,new P6$,new _6$,new C6$,new S6$];function x6($){if(typeof $==="boolean")return $?K.any():K.never();let X={};for(let Q of g6$)Q.apply(X,$);let Y=[];if(X.string!==!1)Y.push(X.string||K.string());if(X.number!==!1)Y.push(X.number||K.number());if(X.boolean!==!1)Y.push(X.boolean||K.boolean());if(X.null!==!1)Y.push(X.null||K.null());if(X.array!==!1)Y.push(X.array||K.array(K.any()));if(X.tuple!==!1&&X.tuple!==void 0)Y.push(X.tuple);if(X.object!==!1)if(X.object)Y.push(X.object);else{let Q=K.custom((G)=>{return typeof G==="object"&&G!==null&&!Array.isArray(G)},"Must be an object, not an array");Y.push(Q)}if(X.file!==!1&&X.file!==void 0)Y.push(X.file);let J;if(Y.length===0)J=K.never();else if(Y.length===1)J=Y[0];else if(!Object.keys($).some((G)=>G!=="$schema"&&G!=="title"&&G!=="description"))J=K.any();else J=K.union(Y);for(let Q of y6$)J=Q.apply(J,$);return J}var t0=require("react/jsx-runtime"),f6$=({data:$,setUiAjaxConfiguration:X})=>{let{name:Y,titles:J,instructions:Q,tools:G,token:U,autoStart:W,muted:H,language:V,outputModalities:B,sxMap:q,iconUrl:N,iconPosition:D,useSocketioSupport:L,useCentrifugeSupport:O,useMittSupport:F,centrifugeChannel:Z}=$,{apiServer:M,enableRenderingLog:z}=C2(),[w,_]=C6.useState(null),[j,C]=C6.useState(null),[c,o]=C6.useState(null),[W$,s]=C6.useState(!1),[N$,H$]=C6.useState([]),[,p$]=C6.useState(null),P=C6.useRef(null),i=C6.useMemo(()=>{return G.map((g$)=>{let R6=nU(X??(()=>{}),g$.kwargs,g$.depsNames,g$.pathname,{apiServer:M,renderingLogEnabled:z});return Y0({name:g$.name,description:g$.description,parameters:x6(g$.params),async execute(K0){console.log(`Calling tool: ${g$.name} with: ${JSON.stringify(K0)}`);let n$=await R6(K0);if(!Array.isArray(n$))return[];return n$.filter((o6)=>o6.name===`pietoolOutput_${Y}`).map((o6)=>o6.data.output)}})})},[G,X]),d=()=>{if(console.log("Disconnecting session..."),j)j.close();C(null),_(null),s(!1)},F$=async(g$)=>{if(!j){console.error("Session not initialized");return}if(W$){console.log("Already connected, skipping...");return}try{j.on("history_updated",(R6)=>{H$(R6)}),console.log("Connecting to session..."),p$(null),await j.connect({apiKey:g$}),s(!0),console.log("Connected successfully")}catch(R6){console.error("Failed to connect to session:",R6),p$(R6 instanceof Error?R6.message:"Failed to connect"),s(!1)}};return C6.useEffect(()=>{if(!P.current)return;if(!c)navigator.mediaDevices.getUserMedia({audio:!0}).then(async(g$)=>{o(new T2({mediaStream:g$,audioElement:P.current}))})},[P]),C6.useEffect(()=>{if(!P.current)return;if(!c)return;if(w===null||j===null){let g$=new uG({name:Y,instructions:Q,tools:i}),R6=new k2(g$,{model:"gpt-realtime",transport:c,config:{outputModalities:B,audio:{input:{transcription:{language:V??void 0,model:"gpt-4o-mini-transcribe"}}},inputAudioTranscription:{language:V??void 0,model:"gpt-4o-mini-transcribe"}}});_(g$),C(R6)}},[w,j,Y,Q,i,P,c]),C6.useEffect(()=>{if(w!==null&&j!==null&&W&&U&&!W$)console.log("Auto-connecting..."),F$(U).catch((g$)=>{console.error("Auto-connection failed:",g$)})},[w,j]),C6.useEffect(()=>{return()=>{console.log("Disconnecting..."),d()}},[]),t0.jsxs(X6,{card:"VoiceAgentCard",data:$,methods:{initializeAI:async(g$)=>{if(w!==null&&j!==null&&g$.token&&!W$)console.log("Connecting via initialize event..."),await F$(g$.token).catch((R6)=>{console.error("Auto-connection failed:",R6)})},stop:()=>{d()}},useCentrifugeSupport:O,useSocketioSupport:L,useMittSupport:F,centrifugeChannel:Z,children:[t0.jsxs("button",{id:Y,value:Y,onClick:async()=>{if(W$)d();else if(U)await F$(U)},style:j0(W$?q.enabled:q.disabled),type:"button",children:[N&&D==="start"&&t0.jsx("img",{src:N,alt:""}),O1(W$?J.enabled:J.disabled),N&&D==="end"&&t0.jsx("img",{src:N,alt:""})]}),t0.jsx("input",{type:"hidden",name:Y,value:JSON.stringify(N$)}),t0.jsx("audio",{ref:P,autoPlay:!0,muted:H,style:{display:"none"}})]})},dz=PS.default(f6$);var iG=require("react");var pz=require("react/jsx-runtime"),h6$=({data:$})=>{let{name:X,value:Y,useSocketioSupport:J,useCentrifugeSupport:Q,useMittSupport:G,centrifugeChannel:U}=$,[W,H]=iG.useState(Y);return iG.useEffect(()=>{H(Y)},[Y]),pz.jsx(X6,{card:"HiddenCard",data:$,useSocketioSupport:J,useCentrifugeSupport:Q,useMittSupport:G,centrifugeChannel:U,methods:{update:({value:V})=>{H(V)}},children:pz.jsx("input",{type:"hidden",id:X,name:X,value:W})})},nz=h6$;var dG=require("react");var pG=require("react/jsx-runtime"),m6$=({data:$})=>{let{url:X}=$,Y=dG.useContext(I8);return dG.useEffect(()=>{if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(X))window.location.href=X;else Y?.(X)},[X,Y]),pG.jsx(pG.Fragment,{})},rz=m6$;var ES=require("react"),H0=V$(require("react")),aG=require("react"),nG=V$(require("react")),rG=V$(require("react"));function _S($){var X,Y,J="";if(typeof $=="string"||typeof $=="number")J+=$;else if(typeof $=="object")if(Array.isArray($)){var Q=$.length;for(X=0;X<Q;X++)$[X]&&(Y=_S($[X]))&&(J&&(J+=" "),J+=Y)}else for(Y in $)$[Y]&&(J&&(J+=" "),J+=Y);return J}function u6$(){for(var $,X,Y=0,J="",Q=arguments.length;Y<Q;Y++)($=arguments[Y])&&(X=_S($))&&(J&&(J+=" "),J+=X);return J}var k1=u6$;var S1=V$(require("react")),eG=require("react"),s0=require("react"),$U=require("react");var U0=V$(require("react")),r6=V$(require("react"));function c6$($){if(!$||typeof document>"u")return;let X=document.head||document.getElementsByTagName("head")[0],Y=document.createElement("style");Y.type="text/css",X.firstChild?X.insertBefore(Y,X.firstChild):X.appendChild(Y),Y.styleSheet?Y.styleSheet.cssText=$:Y.appendChild(document.createTextNode($))}c6$(":root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:\"\";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:\"\";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n");var KX=($)=>typeof $=="number"&&!isNaN($),p9=($)=>typeof $=="string",W0=($)=>typeof $=="function",l6$=($)=>p9($)||KX($),oz=($)=>p9($)||W0($)?$:null,i6$=($,X)=>$===!1||KX($)&&$>0?$:X,az=($)=>ES.isValidElement($)||p9($)||W0($)||KX($);function d6$($,X,Y=300){let{scrollHeight:J,style:Q}=$;requestAnimationFrame(()=>{Q.minHeight="initial",Q.height=J+"px",Q.transition=`all ${Y}ms`,requestAnimationFrame(()=>{Q.height="0",Q.padding="0",Q.margin="0",setTimeout(X,Y)})})}function oG({enter:$,exit:X,appendPosition:Y=!1,collapse:J=!0,collapseDuration:Q=300}){return function({children:G,position:U,preventExitTransition:W,done:H,nodeRef:V,isIn:B,playToast:q}){let N=Y?`${$}--${U}`:$,D=Y?`${X}--${U}`:X,L=H0.useRef(0);return H0.useLayoutEffect(()=>{let O=V.current,F=N.split(" "),Z=(M)=>{M.target===V.current&&(q(),O.removeEventListener("animationend",Z),O.removeEventListener("animationcancel",Z),L.current===0&&M.type!=="animationcancel"&&O.classList.remove(...F))};(()=>{O.classList.add(...F),O.addEventListener("animationend",Z),O.addEventListener("animationcancel",Z)})()},[]),H0.useEffect(()=>{let O=V.current,F=()=>{O.removeEventListener("animationend",F),J?d6$(O,H,Q):H()};B||(W?F():(()=>{L.current=1,O.className+=` ${D}`,O.addEventListener("animationend",F)})())},[B]),H0.default.createElement(H0.default.Fragment,null,G)}}function vS($,X){return{content:IS($.content,$.props),containerId:$.props.containerId,id:$.props.toastId,theme:$.props.theme,type:$.props.type,data:$.props.data||{},isLoading:$.props.isLoading,icon:$.props.icon,reason:$.removalReason,status:X}}function IS($,X,Y=!1){return aG.isValidElement($)&&!p9($.type)?aG.cloneElement($,{closeToast:X.closeToast,toastProps:X,data:X.data,isPaused:Y}):W0($)?$({closeToast:X.closeToast,toastProps:X,data:X.data,isPaused:Y}):$}function p6$({closeToast:$,theme:X,ariaLabel:Y="close"}){return nG.default.createElement("button",{className:`Toastify__close-button Toastify__close-button--${X}`,type:"button",onClick:(J)=>{J.stopPropagation(),$(!0)},"aria-label":Y},nG.default.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},nG.default.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}function n6$({delay:$,isRunning:X,closeToast:Y,type:J="default",hide:Q,className:G,controlledProgress:U,progress:W,rtl:H,isIn:V,theme:B}){let q=Q||U&&W===0,N={animationDuration:`${$}ms`,animationPlayState:X?"running":"paused"};U&&(N.transform=`scaleX(${W})`);let D=k1("Toastify__progress-bar",U?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${B}`,`Toastify__progress-bar--${J}`,{["Toastify__progress-bar--rtl"]:H}),L=W0(G)?G({rtl:H,type:J,defaultClassName:D}):k1(D,G),O={[U&&W>=1?"onTransitionEnd":"onAnimationEnd"]:U&&W<1?null:()=>{V&&Y()}};return rG.default.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":q},rG.default.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${B} Toastify__progress-bar--${J}`}),rG.default.createElement("div",{role:"progressbar","aria-hidden":q?"true":"false","aria-label":"notification timer",className:L,style:N,...O}))}var r6$=1,RS=()=>`${r6$++}`;function o6$($,X,Y){let J=1,Q=0,G=[],U=[],W=X,H=new Map,V=new Set,B=(M)=>(V.add(M),()=>V.delete(M)),q=()=>{U=Array.from(H.values()),V.forEach((M)=>M())},N=({containerId:M,toastId:z,updateId:w})=>{let _=M?M!==$:$!==1,j=H.has(z)&&w==null;return _||j},D=(M,z)=>{H.forEach((w)=>{var _;(z==null||z===w.props.toastId)&&((_=w.toggle)==null||_.call(w,M))})},L=(M)=>{var z,w;(w=(z=M.props)==null?void 0:z.onClose)==null||w.call(z,M.removalReason),M.isActive=!1},O=(M)=>{if(M==null)H.forEach(L);else{let z=H.get(M);z&&L(z)}q()},F=()=>{Q-=G.length,G=[]},Z=(M)=>{var z,w;let{toastId:_,updateId:j}=M.props,C=j==null;M.staleId&&H.delete(M.staleId),M.isActive=!0,H.set(_,M),q(),Y(vS(M,C?"added":"updated")),C&&((w=(z=M.props).onOpen)==null||w.call(z))};return{id:$,props:W,observe:B,toggle:D,removeToast:O,toasts:H,clearQueue:F,buildToast:(M,z)=>{if(N(z))return;let{toastId:w,updateId:_,data:j,staleId:C,delay:c}=z,o=_==null;o&&Q++;let W$={...W,style:W.toastStyle,key:J++,...Object.fromEntries(Object.entries(z).filter(([N$,H$])=>H$!=null)),toastId:w,updateId:_,data:j,isIn:!1,className:oz(z.className||W.toastClassName),progressClassName:oz(z.progressClassName||W.progressClassName),autoClose:z.isLoading?!1:i6$(z.autoClose,W.autoClose),closeToast(N$){H.get(w).removalReason=N$,O(w)},deleteToast(){let N$=H.get(w);if(N$!=null){if(Y(vS(N$,"removed")),H.delete(w),Q--,Q<0&&(Q=0),G.length>0){Z(G.shift());return}q()}}};W$.closeButton=W.closeButton,z.closeButton===!1||az(z.closeButton)?W$.closeButton=z.closeButton:z.closeButton===!0&&(W$.closeButton=az(W.closeButton)?W.closeButton:!0);let s={content:M,props:W$,staleId:C};W.limit&&W.limit>0&&Q>W.limit&&o?G.push(s):KX(c)?setTimeout(()=>{Z(s)},c):Z(s)},setProps(M){W=M},setToggle:(M,z)=>{let w=H.get(M);w&&(w.toggle=z)},isToastActive:(M)=>{var z;return(z=H.get(M))==null?void 0:z.isActive},getSnapshot:()=>U}}var n6=new Map,HX=[],tz=new Set,a6$=($)=>tz.forEach((X)=>X($)),jS=()=>n6.size>0;function t6$(){HX.forEach(($)=>kS($.content,$.options)),HX=[]}var s6$=($,{containerId:X})=>{var Y;return(Y=n6.get(X||1))==null?void 0:Y.toasts.get($)};function TS($,X){var Y;if(X)return!!((Y=n6.get(X))!=null&&Y.isToastActive($));let J=!1;return n6.forEach((Q)=>{Q.isToastActive($)&&(J=!0)}),J}function e6$($){if(!jS()){HX=HX.filter((X)=>$!=null&&X.options.toastId!==$);return}if($==null||l6$($))n6.forEach((X)=>{X.removeToast($)});else if($&&(("containerId"in $)||("id"in $))){let X=n6.get($.containerId);X?X.removeToast($.id):n6.forEach((Y)=>{Y.removeToast($.id)})}}var $4$=($={})=>{n6.forEach((X)=>{X.props.limit&&(!$.containerId||X.id===$.containerId)&&X.clearQueue()})};function kS($,X){az($)&&(jS()||HX.push({content:$,options:X}),n6.forEach((Y)=>{Y.buildToast($,X)}))}function X4$($){var X;(X=n6.get($.containerId||1))==null||X.setToggle($.id,$.fn)}function SS($,X){n6.forEach((Y)=>{(X==null||!(X!=null&&X.containerId)||(X==null?void 0:X.containerId)===Y.id)&&Y.toggle($,X==null?void 0:X.id)})}function Y4$($){let X=$.containerId||1;return{subscribe(Y){let J=o6$(X,$,a6$);n6.set(X,J);let Q=J.observe(Y);return t6$(),()=>{Q(),n6.delete(X)}},setProps(Y){var J;(J=n6.get(X))==null||J.setProps(Y)},getSnapshot(){var Y;return(Y=n6.get(X))==null?void 0:Y.getSnapshot()}}}function Q4$($){return tz.add($),()=>{tz.delete($)}}function J4$($){return $&&(p9($.toastId)||KX($.toastId))?$.toastId:RS()}function VX($,X){return kS($,X),X.toastId}function tG($,X){return{...X,type:X&&X.type||$,toastId:J4$(X)}}function sG($){return(X,Y)=>VX(X,tG($,Y))}function E$($,X){return VX($,tG("default",X))}E$.loading=($,X)=>VX($,tG("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...X}));function G4$($,{pending:X,error:Y,success:J},Q){let G;X&&(G=p9(X)?E$.loading(X,Q):E$.loading(X.render,{...Q,...X}));let U={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},W=(V,B,q)=>{if(B==null){E$.dismiss(G);return}let N={type:V,...U,...Q,data:q},D=p9(B)?{render:B}:B;return G?E$.update(G,{...N,...D}):E$(D.render,{...N,...D}),q},H=W0($)?$():$;return H.then((V)=>W("success",J,V)).catch((V)=>W("error",Y,V)),H}E$.promise=G4$;E$.success=sG("success");E$.info=sG("info");E$.error=sG("error");E$.warning=sG("warning");E$.warn=E$.warning;E$.dark=($,X)=>VX($,tG("default",{theme:"dark",...X}));function U4$($){e6$($)}E$.dismiss=U4$;E$.clearWaitingQueue=$4$;E$.isActive=TS;E$.update=($,X={})=>{let Y=s6$($,X);if(Y){let{props:J,content:Q}=Y,G={delay:100,...J,...X,toastId:X.toastId||$,updateId:RS()};G.toastId!==$&&(G.staleId=$);let U=G.render||Q;delete G.render,VX(U,G)}};E$.done=($)=>{E$.update($,{progress:1})};E$.onChange=Q4$;E$.play=($)=>SS(!0,$);E$.pause=($)=>SS(!1,$);function W4$($){var X;let{subscribe:Y,getSnapshot:J,setProps:Q}=eG.useRef(Y4$($)).current;Q($);let G=(X=eG.useSyncExternalStore(Y,J,J))==null?void 0:X.slice();function U(W){if(!G)return[];let H=new Map;return $.newestOnTop&&G.reverse(),G.forEach((V)=>{let{position:B}=V.props;H.has(B)||H.set(B,[]),H.get(B).push(V)}),Array.from(H,(V)=>W(V[0],V[1]))}return{getToastToRender:U,isToastActive:TS,count:G==null?void 0:G.length}}function H4$($){let[X,Y]=s0.useState(!1),[J,Q]=s0.useState(!1),G=s0.useRef(null),U=s0.useRef({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:W,pauseOnHover:H,closeToast:V,onClick:B,closeOnClick:q}=$;X4$({id:$.toastId,containerId:$.containerId,fn:Y}),s0.useEffect(()=>{if($.pauseOnFocusLoss)return N(),()=>{D()}},[$.pauseOnFocusLoss]);function N(){document.hasFocus()||Z(),window.addEventListener("focus",F),window.addEventListener("blur",Z)}function D(){window.removeEventListener("focus",F),window.removeEventListener("blur",Z)}function L(C){if($.draggable===!0||$.draggable===C.pointerType){M();let c=G.current;U.canCloseOnClick=!0,U.canDrag=!0,c.style.transition="none",$.draggableDirection==="x"?(U.start=C.clientX,U.removalDistance=c.offsetWidth*($.draggablePercent/100)):(U.start=C.clientY,U.removalDistance=c.offsetHeight*($.draggablePercent===80?$.draggablePercent*1.5:$.draggablePercent)/100)}}function O(C){let{top:c,bottom:o,left:W$,right:s}=G.current.getBoundingClientRect();C.nativeEvent.type!=="touchend"&&$.pauseOnHover&&C.clientX>=W$&&C.clientX<=s&&C.clientY>=c&&C.clientY<=o?Z():F()}function F(){Y(!0)}function Z(){Y(!1)}function M(){U.didMove=!1,document.addEventListener("pointermove",w),document.addEventListener("pointerup",_)}function z(){document.removeEventListener("pointermove",w),document.removeEventListener("pointerup",_)}function w(C){let c=G.current;if(U.canDrag&&c){U.didMove=!0,X&&Z(),$.draggableDirection==="x"?U.delta=C.clientX-U.start:U.delta=C.clientY-U.start,U.start!==C.clientX&&(U.canCloseOnClick=!1);let o=$.draggableDirection==="x"?`${U.delta}px, var(--y)`:`0, calc(${U.delta}px + var(--y))`;c.style.transform=`translate3d(${o},0)`,c.style.opacity=`${1-Math.abs(U.delta/U.removalDistance)}`}}function _(){z();let C=G.current;if(U.canDrag&&U.didMove&&C){if(U.canDrag=!1,Math.abs(U.delta)>U.removalDistance){Q(!0),$.closeToast(!0),$.collapseAll();return}C.style.transition="transform 0.2s, opacity 0.2s",C.style.removeProperty("transform"),C.style.removeProperty("opacity")}}let j={onPointerDown:L,onPointerUp:O};return W&&H&&(j.onMouseEnter=Z,$.stacked||(j.onMouseLeave=F)),q&&(j.onClick=(C)=>{B&&B(C),U.canCloseOnClick&&V(!0)}),{playToast:F,pauseToast:Z,isRunning:X,preventExitTransition:J,toastRef:G,eventHandlers:j}}var K4$=typeof window<"u"?$U.useLayoutEffect:$U.useEffect,XU=({theme:$,type:X,isLoading:Y,...J})=>r6.default.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:$==="colored"?"currentColor":`var(--toastify-icon-color-${X})`,...J});function V4$($){return r6.default.createElement(XU,{...$},r6.default.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))}function B4$($){return r6.default.createElement(XU,{...$},r6.default.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))}function q4$($){return r6.default.createElement(XU,{...$},r6.default.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))}function N4$($){return r6.default.createElement(XU,{...$},r6.default.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))}function D4$(){return r6.default.createElement("div",{className:"Toastify__spinner"})}var sz={info:B4$,warning:V4$,success:q4$,error:N4$,spinner:D4$},O4$=($)=>($ in sz);function L4$({theme:$,type:X,isLoading:Y,icon:J}){let Q=null,G={theme:$,type:X};return J===!1||(W0(J)?Q=J({...G,isLoading:Y}):r6.isValidElement(J)?Q=r6.cloneElement(J,G):Y?Q=sz.spinner():O4$(X)&&(Q=sz[X](G))),Q}var z4$=($)=>{let{isRunning:X,preventExitTransition:Y,toastRef:J,eventHandlers:Q,playToast:G}=H4$($),{closeButton:U,children:W,autoClose:H,onClick:V,type:B,hideProgressBar:q,closeToast:N,transition:D,position:L,className:O,style:F,progressClassName:Z,updateId:M,role:z,progress:w,rtl:_,toastId:j,deleteToast:C,isIn:c,isLoading:o,closeOnClick:W$,theme:s,ariaLabel:N$}=$,H$=k1("Toastify__toast",`Toastify__toast-theme--${s}`,`Toastify__toast--${B}`,{["Toastify__toast--rtl"]:_},{["Toastify__toast--close-on-click"]:W$}),p$=W0(O)?O({rtl:_,position:L,type:B,defaultClassName:H$}):k1(H$,O),P=L4$($),i=!!w||!H,d={closeToast:N,type:B,theme:s},F$=null;return U===!1||(W0(U)?F$=U(d):U0.isValidElement(U)?F$=U0.cloneElement(U,d):F$=p6$(d)),U0.default.createElement(D,{isIn:c,done:C,position:L,preventExitTransition:Y,nodeRef:J,playToast:G},U0.default.createElement("div",{id:j,tabIndex:0,onClick:V,"data-in":c,className:p$,...Q,style:F,ref:J,...c&&{role:z,"aria-label":N$}},P!=null&&U0.default.createElement("div",{className:k1("Toastify__toast-icon",{["Toastify--animate-icon Toastify__zoom-enter"]:!o})},P),IS(W,$,!X),F$,!$.customProgressBar&&U0.default.createElement(n6$,{...M&&!i?{key:`p-${M}`}:{},rtl:_,theme:s,delay:H,isRunning:X,isIn:c,closeToast:N,hide:q,type:B,className:Z,controlledProgress:i,progress:w||0})))},YU=($,X=!1)=>({enter:`Toastify--animate Toastify__${$}-enter`,exit:`Toastify--animate Toastify__${$}-exit`,appendPosition:X}),ez=oG(YU("bounce",!0)),bS=oG(YU("slide",!0)),xS=oG(YU("zoom")),CS=oG(YU("flip")),F4$={position:"top-right",transition:ez,autoClose:5000,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light","aria-label":"Notifications Alt+T",hotKeys:($)=>$.altKey&&$.code==="KeyT"};function gS($){let X={...F4$,...$},Y=$.stacked,[J,Q]=S1.useState(!0),G=S1.useRef(null),{getToastToRender:U,isToastActive:W,count:H}=W4$(X),{className:V,style:B,rtl:q,containerId:N,hotKeys:D}=X;function L(F){let Z=k1("Toastify__toast-container",`Toastify__toast-container--${F}`,{["Toastify__toast-container--rtl"]:q});return W0(V)?V({position:F,rtl:q,defaultClassName:Z}):k1(Z,oz(V))}function O(){Y&&(Q(!0),E$.play())}return K4$(()=>{var F;if(Y){let Z=G.current.querySelectorAll('[data-in="true"]'),M=12,z=(F=X.position)==null?void 0:F.includes("top"),w=0,_=0;Array.from(Z).reverse().forEach((j,C)=>{let c=j;c.classList.add("Toastify__toast--stacked"),C>0&&(c.dataset.collapsed=`${J}`),c.dataset.pos||(c.dataset.pos=z?"top":"bot");let o=w*(J?0.2:1)+(J?0:M*C);c.style.setProperty("--y",`${z?o:o*-1}px`),c.style.setProperty("--g",`${M}`),c.style.setProperty("--s",`${1-(J?_:0)}`),w+=c.offsetHeight,_+=0.025})}},[J,H,Y]),S1.useEffect(()=>{function F(Z){var M;let z=G.current;D(Z)&&((M=z.querySelector('[tabIndex="0"]'))==null||M.focus(),Q(!1),E$.pause()),Z.key==="Escape"&&(document.activeElement===z||z!=null&&z.contains(document.activeElement))&&(Q(!0),E$.play())}return document.addEventListener("keydown",F),()=>{document.removeEventListener("keydown",F)}},[D]),S1.default.createElement("section",{ref:G,className:"Toastify",id:N,onMouseEnter:()=>{Y&&(Q(!1),E$.pause())},onMouseLeave:O,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":X["aria-label"]},U((F,Z)=>{let M=Z.length?{...B}:{...B,pointerEvents:"none"};return S1.default.createElement("div",{tabIndex:-1,className:L(F),"data-stacked":Y,style:M,key:`c-${F}`},Z.map(({content:z,props:w})=>S1.default.createElement(z4$,{...w,stacked:Y,collapseAll:O,isIn:W(w.toastId,w.containerId),key:`t-${w.key}`},z)))}))}var yS=require("react");var S2=require("react/jsx-runtime"),w4$=($)=>{if($==="bounce")return ez;else if($==="slide")return bS;else if($==="zoom")return xS;else if($==="flip")return CS},M4$=({data:$})=>{let{useCentrifugeSupport:X,useSocketioSupport:Y,useMittSupport:J,centrifugeChannel:Q}=$,G=yS.useContext(I8);return S2.jsx(S2.Fragment,{children:S2.jsx(X6,{card:"IOEventsCard",data:$,useCentrifugeSupport:X,useSocketioSupport:Y,useMittSupport:J,centrifugeChannel:Q,methods:{toast:(B)=>{let q={...B,transition:w4$(B.transition),position:B.position??"bottom-right",autoClose:B.autoClose??5000,style:{backgroundColor:"black",...B.sx}};E$(B.message,q)},showTelegramPopup:(B)=>{window.Telegram.WebApp.showPopup(B)},log:(B)=>{console.log("Log event",B)},redirect:(B)=>{if(B.to){let q=B.to;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(q))window.location.href=q;else G?.(q)}else window.location.reload()}},children:S2.jsx(gS,{})})})},$F=M4$;
|
|
87
|
+
`.trim()}function i9($,X){return $ in X&&typeof X[$]<"u"}function ae($){return i9("modalities",$)||i9("inputAudioFormat",$)||i9("outputAudioFormat",$)||i9("inputAudioTranscription",$)||i9("turnDetection",$)||i9("inputAudioNoiseReduction",$)||i9("speed",$)}function OS($){if(!ae($)){let X=$.audio?.input?{format:cG($.audio.input.format),noiseReduction:$.audio.input.noiseReduction??null,transcription:$.audio.input.transcription,turnDetection:$.audio.input.turnDetection}:void 0,Y=$.audio?.output?.voice??$.voice,J=$.audio?.output||typeof Y<"u"?{format:cG($.audio?.output?.format),voice:Y,speed:$.audio?.output?.speed}:void 0;return{model:$.model,instructions:$.instructions,toolChoice:$.toolChoice,tools:$.tools,tracing:$.tracing,providerData:$.providerData,prompt:$.prompt,outputModalities:$.outputModalities,audio:X||J?{input:X,output:J}:void 0}}return{model:$.model,instructions:$.instructions,toolChoice:$.toolChoice,tools:$.tools,tracing:$.tracing,providerData:$.providerData,prompt:$.prompt,outputModalities:$.modalities,audio:{input:{format:cG($.inputAudioFormat),noiseReduction:$.inputAudioNoiseReduction??null,transcription:$.inputAudioTranscription,turnDetection:$.turnDetection},output:{format:cG($.outputAudioFormat),voice:$.voice,speed:$.speed}}}}function cG($){if(!$)return;if(typeof $==="object")return $;let X=String($);if(X==="pcm16")return{type:"audio/pcm",rate:24000};if(X==="g711_ulaw")return{type:"audio/pcmu"};if(X==="g711_alaw")return{type:"audio/pcma"};return{type:"audio/pcm",rate:24000}}var JL$=K.object({itemId:K.string()}),hz=K.discriminatedUnion("role",[K.object({itemId:K.string(),previousItemId:K.string().nullable().optional(),type:K.literal("message"),role:K.literal("system"),content:K.array(K.object({type:K.literal("input_text"),text:K.string()}))}),K.object({itemId:K.string(),previousItemId:K.string().nullable().optional(),type:K.literal("message"),role:K.literal("user"),status:K.enum(["in_progress","completed"]),content:K.array(K.object({type:K.literal("input_text"),text:K.string()}).or(K.object({type:K.literal("input_audio"),audio:K.string().nullable().optional(),transcript:K.string().nullable()})))}),K.object({itemId:K.string(),previousItemId:K.string().nullable().optional(),type:K.literal("message"),role:K.literal("assistant"),status:K.enum(["in_progress","completed","incomplete"]),content:K.array(K.object({type:K.literal("output_text"),text:K.string()}).or(K.object({type:K.literal("output_audio"),audio:K.string().nullable().optional(),transcript:K.string().nullable().optional()})))})]),mz=K.object({itemId:K.string(),previousItemId:K.string().nullable().optional(),type:K.literal("function_call"),status:K.enum(["in_progress","completed","incomplete"]),arguments:K.string(),name:K.string(),output:K.string().nullable()}),uz=K.object({itemId:K.string(),previousItemId:K.string().nullable().optional(),type:K.enum(["mcp_call","mcp_tool_call"]),status:K.enum(["in_progress","completed","incomplete"]),arguments:K.string(),name:K.string(),output:K.string().nullable()}),LS=K.object({itemId:K.string(),type:K.literal("mcp_approval_request"),serverLabel:K.string(),name:K.string(),arguments:K.record(K.string(),K.any()),approved:K.boolean().optional().nullable()});var te=g9("openai-agents:realtime"),O6=te;var zS=K.object({id:K.string().optional().nullable(),conversation_id:K.string().optional().nullable(),max_output_tokens:K.number().or(K.literal("inf")).optional().nullable(),metadata:K.record(K.string(),K.any()).optional().nullable(),output_modalities:K.array(K.string()).optional().nullable(),object:K.literal("realtime.response").optional().nullable(),output:K.array(K.any()).optional().nullable(),audio:K.object({output:K.object({format:K.any().optional().nullable(),voice:K.string().optional().nullable()}).optional().nullable()}).optional().nullable(),status:K.enum(["completed","incomplete","failed","cancelled","in_progress"]).optional().nullable(),status_details:K.record(K.string(),K.any()).optional().nullable(),usage:K.object({input_tokens:K.number().optional(),input_token_details:K.record(K.string(),K.any()).optional().nullable(),output_tokens:K.number().optional(),output_token_details:K.record(K.string(),K.any()).optional().nullable()}).optional().nullable()}),se=K.object({id:K.string().optional(),audio:K.string().nullable().optional(),text:K.string().nullable().optional(),transcript:K.string().nullable().optional(),type:K.union([K.literal("input_text"),K.literal("input_audio"),K.literal("item_reference"),K.literal("output_text"),K.literal("output_audio")])}),R2=K.object({id:K.string().optional(),arguments:K.string().optional(),call_id:K.string().optional(),content:K.array(se).optional(),name:K.string().optional(),output:K.string().nullable().optional(),role:K.enum(["user","assistant","system"]).optional(),status:K.enum(["completed","incomplete","in_progress"]).optional(),type:K.enum(["message","function_call","function_call_output","mcp_list_tools","mcp_tool_call","mcp_call","mcp_approval_request","mcp_approval_response"]).optional(),approval_request_id:K.string().nullable().optional(),approve:K.boolean().nullable().optional(),reason:K.string().nullable().optional(),server_label:K.string().optional(),error:K.any().nullable().optional(),tools:K.array(K.object({name:K.string(),description:K.string(),input_schema:K.record(K.string(),K.any()).optional()}).passthrough()).optional()}).passthrough(),ee=K.object({type:K.literal("conversation.created"),event_id:K.string(),conversation:K.object({id:K.string().optional(),object:K.literal("realtime.conversation").optional()})}),$$$=K.object({type:K.literal("conversation.item.added"),event_id:K.string(),item:R2,previous_item_id:K.string().nullable().optional()}),X$$=K.object({type:K.literal("conversation.item.done"),event_id:K.string(),item:R2,previous_item_id:K.string().nullable().optional()}),Y$$=K.object({type:K.literal("conversation.item.deleted"),event_id:K.string(),item_id:K.string()}),Q$$=K.object({type:K.literal("conversation.item.input_audio_transcription.completed"),event_id:K.string(),item_id:K.string(),content_index:K.number(),transcript:K.string(),logprobs:K.array(K.any()).nullable().optional(),usage:K.object({type:K.literal("tokens"),total_tokens:K.number(),input_tokens:K.number(),input_token_details:K.object({text_tokens:K.number(),audio_tokens:K.number()}),output_tokens:K.number()}).optional()}),J$$=K.object({type:K.literal("conversation.item.input_audio_transcription.delta"),event_id:K.string(),item_id:K.string(),content_index:K.number().optional(),delta:K.string().optional(),logprobs:K.array(K.any()).nullable().optional()}),G$$=K.object({type:K.literal("conversation.item.input_audio_transcription.failed"),event_id:K.string(),item_id:K.string(),content_index:K.number(),error:K.object({code:K.string().optional(),message:K.string().optional(),param:K.string().optional(),type:K.string().optional()})}),U$$=K.object({type:K.literal("conversation.item.retrieved"),event_id:K.string(),item:R2}),W$$=K.object({type:K.literal("conversation.item.truncated"),event_id:K.string(),item_id:K.string(),audio_end_ms:K.number(),content_index:K.number()}),H$$=K.object({type:K.literal("conversation.item.create"),item:R2,event_id:K.string().optional(),previous_item_id:K.string().nullable().optional()}),K$$=K.object({type:K.literal("conversation.item.delete"),item_id:K.string(),event_id:K.string().optional()}),V$$=K.object({type:K.literal("conversation.item.retrieve"),item_id:K.string(),event_id:K.string().optional()}),B$$=K.object({type:K.literal("conversation.item.truncate"),item_id:K.string(),audio_end_ms:K.number(),content_index:K.number(),event_id:K.string().optional()}),q$$=K.object({type:K.literal("error"),event_id:K.string().optional(),error:K.any().optional()}),N$$=K.object({type:K.literal("input_audio_buffer.cleared"),event_id:K.string()}),D$$=K.object({type:K.literal("input_audio_buffer.append"),audio:K.string(),event_id:K.string().optional()}),O$$=K.object({type:K.literal("input_audio_buffer.clear"),event_id:K.string().optional()}),L$$=K.object({type:K.literal("input_audio_buffer.commit"),event_id:K.string().optional()}),z$$=K.object({type:K.literal("input_audio_buffer.committed"),event_id:K.string(),item_id:K.string(),previous_item_id:K.string().nullable().optional()}),F$$=K.object({type:K.literal("input_audio_buffer.speech_started"),event_id:K.string(),item_id:K.string(),audio_start_ms:K.number()}),w$$=K.object({type:K.literal("input_audio_buffer.speech_stopped"),event_id:K.string(),item_id:K.string(),audio_end_ms:K.number()}),M$$=K.object({type:K.literal("output_audio_buffer.started"),event_id:K.string()}).passthrough(),A$$=K.object({type:K.literal("output_audio_buffer.stopped"),event_id:K.string()}).passthrough(),Z$$=K.object({type:K.literal("output_audio_buffer.cleared"),event_id:K.string()}),P$$=K.object({type:K.literal("rate_limits.updated"),event_id:K.string(),rate_limits:K.array(K.object({limit:K.number().optional(),name:K.enum(["requests","tokens"]).optional(),remaining:K.number().optional(),reset_seconds:K.number().optional()}))}),_$$=K.object({type:K.literal("response.output_audio.delta"),event_id:K.string(),item_id:K.string(),content_index:K.number(),delta:K.string(),output_index:K.number(),response_id:K.string()}),v$$=K.object({type:K.literal("response.output_audio.done"),event_id:K.string(),item_id:K.string(),content_index:K.number(),output_index:K.number(),response_id:K.string()}),E$$=K.object({type:K.literal("response.output_audio_transcript.delta"),event_id:K.string(),item_id:K.string(),content_index:K.number(),delta:K.string(),output_index:K.number(),response_id:K.string()}),I$$=K.object({type:K.literal("response.output_audio_transcript.done"),event_id:K.string(),item_id:K.string(),content_index:K.number(),transcript:K.string(),output_index:K.number(),response_id:K.string()}),R$$=K.object({type:K.literal("response.content_part.added"),event_id:K.string(),item_id:K.string(),content_index:K.number(),output_index:K.number(),response_id:K.string(),part:K.object({audio:K.string().optional(),text:K.string().optional(),transcript:K.string().optional(),type:K.enum(["text","audio"]).optional()})}),j$$=K.object({type:K.literal("response.content_part.done"),event_id:K.string(),item_id:K.string(),content_index:K.number(),output_index:K.number(),response_id:K.string(),part:K.object({audio:K.string().optional(),text:K.string().optional(),transcript:K.string().optional(),type:K.enum(["text","audio"]).optional()})}),T$$=K.object({type:K.literal("response.created"),event_id:K.string(),response:zS}),cz=K.object({type:K.literal("response.done"),event_id:K.string(),response:zS}),k$$=K.object({type:K.literal("response.function_call_arguments.delta"),event_id:K.string(),item_id:K.string(),call_id:K.string(),delta:K.string(),output_index:K.number(),response_id:K.string()}),S$$=K.object({type:K.literal("response.function_call_arguments.done"),event_id:K.string(),item_id:K.string(),call_id:K.string(),arguments:K.string(),output_index:K.number(),response_id:K.string()}),b$$=K.object({type:K.literal("response.output_item.added"),event_id:K.string(),item:R2,output_index:K.number(),response_id:K.string()}),x$$=K.object({type:K.literal("response.output_item.done"),event_id:K.string(),item:R2,output_index:K.number(),response_id:K.string()}),C$$=K.object({type:K.literal("response.output_text.delta"),event_id:K.string(),item_id:K.string(),content_index:K.number(),delta:K.string(),output_index:K.number(),response_id:K.string()}),g$$=K.object({type:K.literal("response.output_text.done"),event_id:K.string(),item_id:K.string(),content_index:K.number(),text:K.string(),output_index:K.number(),response_id:K.string()}),y$$=K.object({type:K.literal("session.created"),event_id:K.string(),session:K.any()}),f$$=K.object({type:K.literal("session.updated"),event_id:K.string(),session:K.any()}),h$$=K.object({type:K.literal("response.cancel"),event_id:K.string().optional(),response_id:K.string().optional()}),m$$=K.object({type:K.literal("response.create"),event_id:K.string().optional(),response:K.any().optional()}),u$$=K.object({type:K.literal("session.update"),event_id:K.string().optional(),session:K.any()}),c$$=K.object({type:K.literal("mcp_list_tools.in_progress"),event_id:K.string().optional(),item_id:K.string().optional()}),l$$=K.object({type:K.literal("mcp_list_tools.completed"),event_id:K.string().optional(),item_id:K.string().optional()}),i$$=K.object({type:K.literal("response.mcp_call_arguments.delta"),event_id:K.string(),response_id:K.string(),item_id:K.string(),output_index:K.number(),delta:K.string(),obfuscation:K.string()}),d$$=K.object({type:K.literal("response.mcp_call_arguments.done"),event_id:K.string(),response_id:K.string(),item_id:K.string(),output_index:K.number(),arguments:K.string()}),p$$=K.object({type:K.literal("response.mcp_call.in_progress"),event_id:K.string(),output_index:K.number(),item_id:K.string()}),n$$=K.object({type:K.literal("response.mcp_call.completed"),event_id:K.string(),output_index:K.number(),item_id:K.string()}),r$$=K.object({type:K.literal("mcp_list_tools.failed"),event_id:K.string().optional(),item_id:K.string().optional()}),o$$=K.object({type:K.string(),event_id:K.string().optional().nullable()}).passthrough(),a$$=K.discriminatedUnion("type",[ee,$$$,X$$,Y$$,Q$$,J$$,G$$,U$$,W$$,q$$,N$$,z$$,F$$,w$$,M$$,A$$,Z$$,P$$,_$$,v$$,E$$,I$$,R$$,j$$,T$$,cz,k$$,S$$,b$$,x$$,C$$,g$$,y$$,f$$,c$$,l$$,r$$,i$$,d$$,p$$,n$$]),KL$=K.discriminatedUnion("type",[H$$,K$$,V$$,B$$,D$$,O$$,L$$,h$$,m$$,u$$]);function j2($){let X=JSON.parse($.data.toString()),Y=a$$.safeParse(X);if(!Y.success){let J=o$$.safeParse(X);if(J.success)return{data:J.data,isGeneric:!0};return{data:null,isGeneric:!0}}return{data:Y.data,isGeneric:!1}}var FS="gpt-realtime",m4={outputModalities:["audio"],audio:{input:{format:{type:"audio/pcm",rate:24000},transcription:{model:"gpt-4o-mini-transcribe"},turnDetection:{type:"semantic_vad"},noiseReduction:null},output:{format:{type:"audio/pcm",rate:24000},speed:1}}};class d9 extends E2{#$;#X;#G=null;#Y=null;eventEmitter=new J0.EventEmitter;constructor($={}){super();this.#$=$.model??FS,this.#X=$.apiKey}get currentModel(){return this.#$}set currentModel($){this.#$=$}_afterAudioDoneEvent(){}get _rawSessionConfig(){return this.#Y??null}async _getApiKey($){let X=$.apiKey??this.#X;if(typeof X==="function")return await X();return X}_onMessage($){let{data:X,isGeneric:Y}=j2($);if(X===null)return;if(this.emit("*",X),Y)return;if(X.type==="error")this.emit("error",{type:"error",error:X});else this.emit(X.type,X);if(X.type==="response.created"){this.emit("turn_started",{type:"response_started",providerData:{...X}});return}if(X.type==="session.updated")this.#Y=X.session;if(X.type==="response.done"){let J=cz.safeParse(X);if(!J.success){O6.error("Error parsing response done event",J.error);return}let Q=J.data.response.usage?.input_tokens??0,G=J.data.response.usage?.output_tokens??0,U=Q+G,W=new h4({inputTokens:Q,inputTokensDetails:J.data.response.usage?.input_token_details??{},outputTokens:G,outputTokensDetails:J.data.response.usage?.output_token_details??{},totalTokens:U});this.emit("usage_update",W),this.emit("turn_done",{type:"response_done",response:{id:J.data.response.id??"",output:J.data.response.output??[],usage:{inputTokens:Q,inputTokensDetails:J.data.response.usage?.input_token_details??{},outputTokens:G,outputTokensDetails:J.data.response.usage?.output_token_details??{},totalTokens:U}}});return}if(X.type==="response.output_audio.done"){this.emit("audio_done"),this._afterAudioDoneEvent();return}if(X.type==="conversation.item.deleted"){this.emit("item_deleted",{itemId:X.item_id});return}if(X.type==="conversation.item.input_audio_transcription.completed"||X.type==="conversation.item.truncated"){this.sendEvent({type:"conversation.item.retrieve",item_id:X.item_id});return}if(X.type==="conversation.item.input_audio_transcription.delta"||X.type==="response.output_text.delta"||X.type==="response.output_audio_transcript.delta"||X.type==="response.function_call_arguments.delta"){if(X.type==="response.output_audio_transcript.delta")this.emit("audio_transcript_delta",{type:"transcript_delta",delta:X.delta,itemId:X.item_id,responseId:X.response_id});return}if(X.type==="conversation.item.added"||X.type==="conversation.item.done"||X.type==="conversation.item.retrieved"){if(X.item.type==="mcp_list_tools"&&X.type==="conversation.item.done"){let J=X.item.server_label??"",Q=X.item.tools??[];try{this.emit("mcp_tools_listed",{serverLabel:J,tools:Q})}catch(G){O6.error("Error emitting mcp_tools_listed",G,X.item)}return}if(X.item.type==="message"){let J=X.type==="conversation.item.added"||X.type==="conversation.item.done"?X.previous_item_id:null,Q=hz.parse({itemId:X.item.id,previousItemId:J,type:X.item.type,role:X.item.role,content:X.item.content,status:X.item.status});this.emit("item_update",Q);return}if(X.item.type==="mcp_approval_request"&&X.type==="conversation.item.done"){let J=X.item,Q=LS.parse({itemId:J.id,type:J.type,serverLabel:J.server_label,name:J.name,arguments:JSON.parse(J.arguments||"{}"),approved:J.approved});this.emit("item_update",Q),this.emit("mcp_approval_request",Q);return}if(X.item.type==="mcp_tool_call"||X.item.type==="mcp_call"){let J=X.type==="conversation.item.done"?"completed":"in_progress",Q=uz.parse({itemId:X.item.id,type:X.item.type,status:J,arguments:X.item.arguments,name:X.item.name,output:X.item.output});if(this.emit("item_update",Q),X.type==="conversation.item.done")this.emit("mcp_tool_call_completed",Q);return}}if(X.type==="response.mcp_call.in_progress"){let J=X;this.sendEvent({type:"conversation.item.retrieve",item_id:J.item_id});return}if(X.type==="mcp_list_tools.in_progress"){let J=X;if(J.item_id)this.sendEvent({type:"conversation.item.retrieve",item_id:J.item_id});return}if(X.type==="response.output_item.done"||X.type==="response.output_item.added"){let J=X.item;if(J.type==="function_call"&&J.status==="completed"){let Q=mz.parse({itemId:J.id,type:J.type,status:"in_progress",arguments:J.arguments,name:J.name,output:null});this.emit("item_update",Q),this.emit("function_call",{id:J.id,type:"function_call",callId:J.call_id??"",arguments:J.arguments??"",name:J.name??""});return}if(J.type==="mcp_tool_call"||J.type==="mcp_call"){let Q=uz.parse({itemId:J.id,type:J.type,status:X.type==="response.output_item.done"?"completed":"in_progress",arguments:J.arguments,name:J.name,output:J.output});this.emit("item_update",Q);return}if(J.type==="message"){let Q=hz.parse({itemId:X.item.id,type:X.item.type,role:X.item.role,content:X.item.content,status:X.type==="response.output_item.done"?J.status??"completed":J.status??"in_progress"});this.emit("item_update",Q);return}}}_onError($){this.emit("error",{type:"error",error:$})}_onOpen(){this.emit("connected")}_onClose(){this.emit("disconnected")}sendMessage($,X,{triggerResponse:Y=!0}={}){let J=typeof $==="string"?[{type:"input_text",text:$}]:$.content.map((Q)=>{if(Q.type==="input_image")return{type:"input_image",image_url:Q.image,...Q.providerData??{}};return Q});if(this.sendEvent({type:"conversation.item.create",item:{type:"message",role:"user",content:J},...X}),Y)this.sendEvent({type:"response.create"})}addImage($,{triggerResponse:X=!0}={}){this.sendMessage({type:"message",role:"user",content:[{type:"input_image",image:$}]},{},{triggerResponse:X})}_getMergedSessionConfig($){let X=OS($),Y=X.audio?.input?.noiseReduction,J=X.audio?.input?.transcription,Q=d9.buildTurnDetectionConfig(X.audio?.input?.turnDetection),G={type:"realtime",instructions:X.instructions,model:X.model??this.#$,output_modalities:X.outputModalities??m4.outputModalities,audio:{input:{format:X.audio?.input?.format??m4.audio?.input?.format,noise_reduction:Y===void 0?m4.audio?.input?.noiseReduction:Y,transcription:J===void 0?m4.audio?.input?.transcription:J,turn_detection:Q===void 0?m4.audio?.input?.turnDetection:Q},output:{format:X.audio?.output?.format??m4.audio?.output?.format,voice:X.audio?.output?.voice??m4.audio?.output?.voice,speed:X.audio?.output?.speed??m4.audio?.output?.speed}},tool_choice:X.toolChoice??m4.toolChoice,...X.providerData??{}};if(X.prompt)G.prompt={id:X.prompt.promptId,version:X.prompt.version,variables:X.prompt.variables};if(X.tools&&X.tools.length>0)G.tools=X.tools.map((U)=>{let W=(H)=>Object.fromEntries(Object.entries(H).filter(([,V])=>typeof V<"u"));if(U.type==="mcp")return W({type:"mcp",server_label:U.server_label,server_url:U.server_url,server_description:U.server_description,connector_id:U.connector_id,authorization:U.authorization,headers:U.headers,allowed_tools:U.allowed_tools,require_approval:U.require_approval});return W({type:U.type,name:U.name,description:U.description,parameters:U.parameters})});return G}buildSessionPayload($){return this._getMergedSessionConfig($)}static buildTurnDetectionConfig($){if(typeof $>"u")return;if($===null)return null;let{type:X,createResponse:Y,create_response:J,eagerness:Q,interruptResponse:G,interrupt_response:U,prefixPaddingMs:W,prefix_padding_ms:H,silenceDurationMs:V,silence_duration_ms:B,threshold:q,idleTimeoutMs:N,idle_timeout_ms:D,...L}=$,O={type:X,create_response:Y??J,eagerness:Q,interrupt_response:G??U,prefix_padding_ms:W??H,silence_duration_ms:V??B,idle_timeout_ms:N??D,threshold:q,...L};return Object.keys(O).forEach((F)=>{if(O[F]===void 0)delete O[F]}),Object.keys(O).length>0?O:void 0}set _tracingConfig($){this.#G=$}_updateTracingConfig($){if(typeof this.#G>"u")this.#G=null;if($==="auto"){this.sendEvent({type:"session.update",session:{type:"realtime",tracing:"auto"}});return}if(this.#G!==null&&typeof this.#G!=="string"&&typeof $!=="string"){O6.warn("Tracing config is already set, skipping setting it again. This likely happens when you already set a tracing config on session creation.");return}if($===null){O6.debug("Disabling tracing for this session. It cannot be turned on for this session from this point on."),this.sendEvent({type:"session.update",session:{type:"realtime",tracing:null}});return}if(this.#G===null||typeof this.#G==="string"){this.sendEvent({type:"session.update",session:{type:"realtime",tracing:$}});return}if($?.group_id!==this.#G?.group_id||$?.metadata!==this.#G?.metadata||$?.workflow_name!==this.#G?.workflow_name){O6.warn("Mismatch in tracing config. Ignoring the new tracing config. This likely happens when you already set a tracing config on session creation. Current tracing config: %s, new tracing config: %s",JSON.stringify(this.#G),JSON.stringify($));return}this.sendEvent({type:"session.update",session:{type:"realtime",tracing:$}})}updateSessionConfig($){let X=this.buildSessionPayload($);this.sendEvent({type:"session.update",session:X})}sendFunctionCallOutput($,X,Y=!0){this.sendEvent({type:"conversation.item.create",item:{type:"function_call_output",output:X,call_id:$.callId}});try{let J=mz.parse({itemId:$.id,previousItemId:$.previousItemId,type:"function_call",status:"completed",arguments:$.arguments,name:$.name,output:X});this.emit("item_update",J)}catch(J){O6.error("Error parsing tool call item",J,$)}if(Y)this.sendEvent({type:"response.create"})}sendAudio($,{commit:X=!1}={}){if(this.sendEvent({type:"input_audio_buffer.append",audio:Cz($)}),X)this.sendEvent({type:"input_audio_buffer.commit"})}resetHistory($,X){let{removals:Y,additions:J,updates:Q}=HS($,X),G=new Set(Y.map((W)=>W.itemId));for(let W of Q)G.add(W.itemId);if(G.size>0)for(let W of G)this.sendEvent({type:"conversation.item.delete",item_id:W});let U=[...J,...Q];for(let W of U)if(W.type==="message"){let H={type:"message",role:W.role,content:W.content,id:W.itemId};if(W.role!=="system"&&W.status)H.status=W.status;this.sendEvent({type:"conversation.item.create",item:H})}else if(W.type==="function_call")O6.warn("Function calls cannot be manually added or updated at the moment. Ignoring.")}sendMcpResponse($,X){this.sendEvent({type:"conversation.item.create",previous_item_id:$.itemId,item:{type:"mcp_approval_response",approval_request_id:$.itemId,approve:X}})}}class T2 extends d9{options;#$;#X={status:"disconnected",peerConnection:void 0,dataChannel:void 0,callId:void 0};#G;#Y=!1;#U=!1;#J;#W=0;constructor($={}){if(typeof RTCPeerConnection>"u")throw Error("WebRTC is not supported in this environment");super($);this.options=$,this.#$=$.baseUrl??"https://api.openai.com/v1/realtime/calls",this.#G=$.useInsecureApiKey??!1}get callId(){return this.#X.callId}get status(){return this.#X.status}get connectionState(){return this.#X}get muted(){return this.#U}async connect($){if(this.#X.status==="connected")return;if(this.#X.status==="connecting"){if(this.#J)return this.#J;O6.warn("Realtime connection already in progress but no promise found");return}let X=$.model??this.currentModel;this.currentModel=X;let Y=$.url??this.#$,J=await this._getApiKey($),Q=typeof J==="string"&&J.startsWith("ek_");if(QG()&&!this.#G&&!Q)throw new $$("Using the WebRTC connection in a browser environment requires an ephemeral client key. If you need to use a regular API key, use the WebSocket transport or set the `useInsecureApiKey` option to true.");let G=++this.#W;return this.#J=new Promise(async(U,W)=>{try{let H={...$.initialSessionConfig||{},model:this.currentModel},V=new URL(Y),B=new RTCPeerConnection,q=B.createDataChannel("oai-events"),N=void 0,D=(z)=>{z.onconnectionstatechange=()=>{switch(z.connectionState){case"disconnected":case"failed":case"closed":this.close();break}}};D(B),this.#X={status:"connecting",peerConnection:B,dataChannel:q,callId:N},this.emit("connection_change",this.#X.status),q.addEventListener("open",()=>{this.#X={status:"connecting",peerConnection:B,dataChannel:q,callId:N};let z=!1,w,_=()=>{if(z)return;if(z=!0,w!==void 0)clearTimeout(w);if(q.removeEventListener("message",j),q.removeEventListener("close",C),this.#X.status!=="connecting"||this.#X.dataChannel!==q||q.readyState!=="open"){if(this.#X.dataChannel===q)this.close();W(Error("Connection closed before session config was acknowledged"));return}this.#X={status:"connected",peerConnection:B,dataChannel:q,callId:N},this.emit("connection_change",this.#X.status),this._onOpen(),U()},j=(c)=>{if(JSON.parse(c.data).type==="session.updated")_()},C=()=>{_()};w=setTimeout(()=>{if(!z)O6.warn("Timed out waiting for session.updated ack — resolving connect() anyway"),_()},5000),q.addEventListener("message",j),q.addEventListener("close",C),q.addEventListener("message",(c)=>{this._onMessage(c);let{data:o,isGeneric:W$}=j2(c);if(!o||W$)return;if(o.type==="response.created")this.#Y=!0;else if(o.type==="response.done")this.#Y=!1;if(o.type==="session.created"){this._tracingConfig=o.session.tracing;let s=typeof H.tracing>"u"?"auto":H.tracing;this._updateTracingConfig(s)}}),this.updateSessionConfig(H)}),q.addEventListener("error",(z)=>{this.close(),this._onError(z),W(z)});let L=this.options.audioElement??document.createElement("audio");L.autoplay=!0,B.ontrack=(z)=>{L.srcObject=z.streams[0]};let O=this.options.mediaStream??await navigator.mediaDevices.getUserMedia({audio:!0});if(B.addTrack(O.getAudioTracks()[0]),this.options.changePeerConnection){let z=B;if(B=await this.options.changePeerConnection(B),z!==B)z.onconnectionstatechange=null;D(B),this.#X={...this.#X,peerConnection:B}}let F=await B.createOffer();if(await B.setLocalDescription(F),!F.sdp)throw Error("Failed to create offer");let Z=await fetch(V,{method:"POST",body:F.sdp,headers:{"Content-Type":"application/sdp",Authorization:`Bearer ${J}`,"X-OpenAI-Agents-SDK":mG["X-OpenAI-Agents-SDK"]}});N=Z.headers?.get("Location")?.split("/").pop(),this.#X={...this.#X,callId:N};let M={type:"answer",sdp:await Z.text()};await B.setRemoteDescription(M)}catch(H){this.close(),this._onError(H),W(H)}}).finally(()=>{if(this.#W===G)this.#J=void 0}),this.#J}sendEvent($){if(!this.#X.dataChannel||this.#X.dataChannel.readyState!=="open")throw Error("WebRTC data channel is not connected. Make sure you call `connect()` before sending events.");this.#X.dataChannel.send(JSON.stringify($))}mute($){if(this.#U=$,this.#X.peerConnection)this.#X.peerConnection.getSenders().forEach((Y)=>{if(Y.track)Y.track.enabled=!$})}_afterAudioDoneEvent(){this.#Y=!1}close(){if(this.#X.dataChannel)this.#X.dataChannel.close();if(this.#X.peerConnection){let $=this.#X.peerConnection;$.onconnectionstatechange=null,$.getSenders().forEach((X)=>{X.track?.stop()}),$.close()}if(this.#X.status!=="disconnected")this.#X={status:"disconnected",peerConnection:void 0,dataChannel:void 0,callId:void 0},this.emit("connection_change",this.#X.status),this._onClose()}interrupt(){if(this.#Y)this.sendEvent({type:"response.cancel"}),this.#Y=!1;this.sendEvent({type:"output_audio_buffer.clear"})}}function wS(){return!1}var MS=!1;class UX extends d9{#$;#X;#G;#Y={status:"disconnected",websocket:void 0};#U;#J;#W;_firstAudioTimestamp;_audioLengthMs=0;#Q=!1;#H;#V;#K(){this.#J=void 0,this._firstAudioTimestamp=void 0,this._audioLengthMs=0,this.#W=void 0}constructor($={}){super($);this.#X=$.url,this.#G=$.url,this.#U=$.useInsecureApiKey??!1,this.#H=$.createWebSocket,this.#V=$.skipOpenEventListeners??!1}getCommonRequestHeaders(){return mG}get status(){return this.#Y.status}get connectionState(){return this.#Y}get muted(){return null}get currentItemId(){return this.#J}_onAudio($){this.emit("audio",$)}_afterAudioDoneEvent(){this.#K()}async#q($,X,Y){if(this.#Y.websocket){$();return}if(!this.#$)throw new $$("API key is not set. Please call `connect()` with an API key first.");if(wS()&&!this.#$.startsWith("ek_")&&!this.#U)throw new $$("Using the WebSocket connection in a browser environment requires an ephemeral client key. If you have to use a regular API key, set the `useInsecureApiKey` option to true.");let J=null;if(this.#H)J=await this.#H({url:this.#X,apiKey:this.#$});else{let G=MS?["realtime","openai-insecure-api-key."+this.#$,VS]:{headers:{Authorization:`Bearer ${this.#$}`,...this.getCommonRequestHeaders()}};J=new U8.default(this.#X,G)}this.#Y={status:"connecting",websocket:J},this.emit("connection_change",this.#Y.status);let Q=()=>{this.#Y={status:"connected",websocket:J},this.emit("connection_change",this.#Y.status),this._onOpen(),$()};if(this.#V===!0)Q();else J.addEventListener("open",Q);J.addEventListener("error",(G)=>{this._onError(G),this.#Y={status:"disconnected",websocket:void 0},this.emit("connection_change",this.#Y.status),X(G)}),J.addEventListener("message",(G)=>{this._onMessage(G);let{data:U,isGeneric:W}=j2(G);if(!U||W)return;if(U.type==="response.output_audio.delta"){if(this.#W=U.content_index,this.#J=U.item_id,this._firstAudioTimestamp===void 0)this._firstAudioTimestamp=Date.now(),this._audioLengthMs=0;let H=xz(U.delta),V=this._rawSessionConfig?.audio?.output?.format;if(V&&typeof V==="object"){let q=V.type;if(q==="audio/pcmu"||q==="audio/pcma")this._audioLengthMs+=H.byteLength/8;else if(q==="audio/pcm"){let N=V.rate??24000;this._audioLengthMs+=H.byteLength/2/N*1000}else this._audioLengthMs+=H.byteLength/24/2}else if(typeof V==="string")if(V.startsWith("g711_"))this._audioLengthMs+=H.byteLength/8;else this._audioLengthMs+=H.byteLength/24/2;else this._audioLengthMs+=H.byteLength/24/2;let B={type:"audio",data:H,responseId:U.response_id};this._onAudio(B)}else if(U.type==="input_audio_buffer.speech_started"){let H=this._rawSessionConfig?.audio?.input?.turn_detection?.interrupt_response??!1;this.interrupt(!H)}else if(U.type==="response.created")this.#Q=!0;else if(U.type==="response.done")this.#Q=!1;else if(U.type==="session.created"){this._tracingConfig=U.session.tracing;let H=typeof Y.tracing>"u"?"auto":Y.tracing;this._updateTracingConfig(H)}}),J.addEventListener("close",()=>{this.#Y={status:"disconnected",websocket:void 0},this.emit("connection_change",this.#Y.status),this._onClose()})}async connect($){let X=$.model??this.currentModel;this.currentModel=X,this.#$=await this._getApiKey($);let Y=$.callId,J;if($.url)J=$.url,this.#G=$.url;else if(Y)J=`wss://api.openai.com/v1/realtime?call_id=${Y}`;else if(this.#G)J=this.#G;else J=`wss://api.openai.com/v1/realtime?model=${this.currentModel}`;this.#X=J;let Q={...$.initialSessionConfig||{},model:this.currentModel};await new Promise((G,U)=>{this.#q(G,U,Q).catch(U)}),await this.updateSessionConfig(Q)}sendEvent($){if(!this.#Y.websocket)throw Error("WebSocket is not connected. Make sure you call `connect()` before sending events.");this.#Y.websocket.send(JSON.stringify($))}close(){this.#Y.websocket?.close(),this.#J=void 0,this._firstAudioTimestamp=void 0,this._audioLengthMs=0,this.#W=void 0}mute($){throw Error("Mute is not supported for the WebSocket transport. You have to mute the audio input yourself.")}sendAudio($,X={}){if(this.#Y.status==="connected")super.sendAudio($,X)}_cancelResponse(){if(this.#Q)this.sendEvent({type:"response.cancel"}),this.#Q=!1}_interrupt($,X=!0){if($<0)return;if(X)this._cancelResponse();let Y=this._audioLengthMs??Number.POSITIVE_INFINITY,J=Math.max(0,Math.floor(Math.min($,Y)));this.emit("audio_interrupted"),this.sendEvent({type:"conversation.item.truncate",item_id:this.#J,content_index:this.#W,audio_end_ms:J})}interrupt($=!0){if(!this.#J||typeof this._firstAudioTimestamp!=="number")return;let X=Date.now()-this._firstAudioTimestamp;if(X>=0)this._interrupt(X,$);this.#K()}}var t$$=Symbol("backgroundResult");function lz($){return typeof $==="object"&&$!==null&&t$$ in $}function AS($){return $.type==="function"||$.type==="hosted_tool"&&$.name==="hosted_mcp"}function ZS($){if($.type==="function")return $;if($.type==="hosted_tool"&&$.name==="hosted_mcp"){let X=$.providerData.server_url&&$.providerData.server_url.length>0?$.providerData.server_url:void 0;return{type:"mcp",server_label:$.providerData.server_label,server_url:X,headers:$.providerData.headers,allowed_tools:$.providerData.allowed_tools,require_approval:$.providerData.require_approval}}throw new $$(`Invalid tool type: ${$}`)}function s$$(){return JSON.parse(JSON.stringify(m4))}var iz="Tool execution was not approved.";function e$$($){return $ instanceof Error?$.message:String($)}class k2 extends J0.EventEmitter{initialAgent;options;#$;#X;#G;#Y;#U=[];#J;#W={};#Q=[];#H;#V={};#K=!1;#q=new Map;#B=[];#D=s$$();#O=!0;constructor($,X={}){super();if(this.initialAgent=$,this.options=X,typeof X.transport>"u"&&KS()||X.transport==="webrtc")this.#$=new T2;else if(X.transport==="websocket"||typeof X.transport>"u")this.#$=new UX;else this.#$=X.transport;this.#X=$,this.#Y=new I6({...X.context??{},history:this.#Q}),this.#U=(X.outputGuardrails??[]).map(NS),this.#J=qS(X.outputGuardrailSettings??{}),this.#H=X.historyStoreAudio??!1,this.#O=X.automaticallyTriggerResponseForMcpToolCalls??!0}get transport(){return this.#$}get currentAgent(){return this.#X}get usage(){return this.#Y.usage}get context(){return this.#Y}get muted(){return this.#$.muted}get history(){return this.#Q}get availableMcpTools(){return this.#B}async#N($){this.#X=$;let X=await this.#X.getEnabledHandoffs(this.#Y),Y=X.map((U)=>U.getHandoffAsFunctionTool()),J=(await this.#X.getAllTools(this.#Y)).filter(AS).map(ZS),Q=typeof this.#X.tools<"u"||typeof this.#X.mcpServers<"u",G=X.length>0;this.#G=Q||G?[...J,...Y]:void 0,this.#w()}async#L($={}){let X=$??{},Y=this.options.config??{},J=await this.#X.getSystemPrompt(this.#Y),Q=(q)=>{return q.audio?.output?.voice},G=this.options.tracingDisabled?null:this.options.workflowName?{workflow_name:this.options.workflowName}:"auto";if(G!==null&&G!=="auto"){if(this.options.groupId)G.group_id=this.options.groupId;if(this.options.traceMetadata)G.metadata=this.options.traceMetadata}else if(this.options.groupId||this.options.traceMetadata)O6.warn("In order to set traceMetadata or a groupId you need to specify a workflowName.");let U=Q(X)??Q(Y),W=X.voice??Y.voice,H=typeof U<"u"?U:typeof W<"u"?W:this.#X.voice,B={...{...this.#D??{},...Y,...X},instructions:J,voice:H,model:this.options.model,tools:this.#G,tracing:G,prompt:typeof this.#X.prompt==="function"?await this.#X.prompt(this.#Y,this.#X):this.#X.prompt};return this.#D=B,B}async getInitialSessionConfig($={}){return await this.#N(this.initialAgent),this.#L({...this.options.config??{},...$??{}})}static async computeInitialSessionConfig($,X={},Y={}){let J=new k2($,X);try{return await J.getInitialSessionConfig(Y)}finally{J.close()}}async updateAgent($){return this.#X.emit("agent_handoff",this.#Y,$),this.emit("agent_handoff",this.#Y,this.#X,$),await this.#N($),await this.#$.updateSessionConfig(await this.#L()),$}async#M($,X){let Y=await X.onInvokeHandoff(this.#Y,$.arguments);this.#X.emit("agent_handoff",this.#Y,Y),this.emit("agent_handoff",this.#Y,this.#X,Y),await this.#N(Y),await this.#$.updateSessionConfig(await this.#L());let J=e7(Y);return this.#$.sendFunctionCallOutput($,J,!0),Y}async#A($,X){let{toolErrorFormatter:Y}=this.options;if(!Y)return iz;try{let J=await Y({kind:"approval_rejected",toolType:"function",toolName:$,callId:X,defaultMessage:iz,runContext:this.#Y});if(typeof J==="string")return J;if(typeof J<"u")O6.warn("toolErrorFormatter returned a non-string value. Falling back to the default tool approval rejection message.")}catch(J){O6.warn(`toolErrorFormatter threw while formatting approval rejection: ${e$$(J)}`)}return iz}async#z($,X){this.#Y.context.history=JSON.parse(JSON.stringify(this.#Q));let Y=$.arguments;if(X.parameters)if(p6(X.parameters))Y=X.parameters.parse(Y);else Y=JSON.parse(Y);if(await X.needsApproval(this.#Y,Y,$.callId)){let H=this.context.isToolApproved({toolName:X.name,callId:$.callId});if(H===!1){this.emit("agent_tool_start",this.#Y,this.#X,X,{toolCall:$}),this.#X.emit("agent_tool_start",this.#Y,X,{toolCall:$});let V=await this.#A(X.name,$.callId);this.#$.sendFunctionCallOutput($,V,!0),this.emit("agent_tool_end",this.#Y,this.#X,X,V,{toolCall:$}),this.#X.emit("agent_tool_end",this.#Y,X,V,{toolCall:$});return}else if(typeof H>"u"){this.emit("tool_approval_requested",this.#Y,this.#X,{type:"function_approval",tool:X,approvalItem:new P$($,this.#X)});return}}let Q=await YX({guardrails:X.inputGuardrails,context:this.#Y,agent:this.#X,toolCall:$});this.emit("agent_tool_start",this.#Y,this.#X,X,{toolCall:$}),this.#X.emit("agent_tool_start",this.#Y,X,{toolCall:$}),this.#Y.context.history=JSON.parse(JSON.stringify(this.#Q));let G=Q.type==="reject"?Q.message:await u7({tool:X,runContext:this.#Y,input:$.arguments,details:{toolCall:$}}),U=Q.type==="reject"?G:await QX({guardrails:X.outputGuardrails,context:this.#Y,agent:this.#X,toolCall:$,toolOutput:G}),W;if(lz(U))W=P4(U.content),this.#$.sendFunctionCallOutput($,W,!1);else W=P4(U),this.#$.sendFunctionCallOutput($,W,!0);this.emit("agent_tool_end",this.#Y,this.#X,X,W,{toolCall:$}),this.#X.emit("agent_tool_end",this.#Y,X,W,{toolCall:$})}async#Z($){let X=await this.#X.getEnabledHandoffs(this.#Y),Y=new Map(X.map((U)=>[U.toolName,U])),J=await this.#X.getAllTools(this.#Y),Q=new Map(J.map((U)=>[U.name,U])),G=Y.get($.name);if(G)await this.#M($,G);else{let U=Q.get($.name);if(U&&U.type==="function")await this.#z($,U);else throw new d$(`Tool ${$.name} not found`)}}async#F($,X,Y){if(this.#U.length===0)return;let J={agent:this.#X,agentOutput:$,context:this.#Y},G=(await Promise.all(this.#U.map((U)=>U.run(J)))).find((U)=>U.output.tripwireTriggered);if(G){if(this.#V[X])return;this.#V[X]=!0;let U=new c0(`Output guardrail triggered: ${JSON.stringify(G.output.outputInfo)}`,G);this.emit("guardrail_tripped",this.#Y,this.#X,U,{itemId:Y}),this.interrupt();let W=DS(G);this.sendMessage(W);return}}#P(){this.#$.on("*",(Y)=>{if(this.emit("transport_event",Y),Y.type==="conversation.item.input_audio_transcription.completed")try{let J=Y;this.#Q=yz(this.#Q,J,this.#H),this.#Y.context.history=this.#Q,this.emit("history_updated",this.#Q)}catch(J){this.emit("error",{type:"error",error:J})}}),this.#$.on("mcp_tools_listed",({serverLabel:Y,tools:J})=>{try{this.#q.set(Y,J??[]),this.#w()}catch(Q){this.emit("error",{type:"error",error:Q})}}),this.#$.on("audio",(Y)=>{if(!this.#K)this.#K=!0,this.emit("audio_start",this.#Y,this.#X);this.emit("audio",Y)}),this.#$.on("turn_started",()=>{this.#K=!1,this.emit("agent_start",this.#Y,this.#X),this.#X.emit("agent_start",this.#Y,this.#X)}),this.#$.on("turn_done",(Y)=>{let J=Y.response.output[Y.response.output.length-1],Q=gz(J)??"",G=J?.id??"";this.emit("agent_end",this.#Y,this.#X,Q),this.#X.emit("agent_end",this.#Y,Q),this.#F(Q,Y.response.id,G)}),this.#$.on("audio_done",()=>{if(this.#K)this.#K=!1;this.emit("audio_stopped",this.#Y,this.#X)});let $=0,X;this.#$.on("audio_transcript_delta",(Y)=>{try{let{delta:J,itemId:Q,responseId:G}=Y;if(X!==Q)X=Q,$=0;let W=(this.#W[Q]??"")+J;if(this.#W[Q]=W,this.#J.debounceTextLength<0)return;let H=Math.floor(W.length/this.#J.debounceTextLength);if(H>$)$=H,this.#F(W,G,Q)}catch(J){this.emit("error",{type:"error",error:J})}}),this.#$.on("item_update",(Y)=>{try{let J=!this.#Q.some((Q)=>Q.itemId===Y.itemId);if(this.#Q=yz(this.#Q,Y,this.#H),this.#Y.context.history=this.#Q,J){let Q=this.#Q.find((G)=>G.itemId===Y.itemId);if(Q)this.emit("history_added",Q)}this.emit("history_updated",this.#Q)}catch(J){this.emit("error",{type:"error",error:J})}}),this.#$.on("item_deleted",(Y)=>{try{this.#Q=this.#Q.filter((J)=>J.itemId!==Y.itemId),this.#Y.context.history=this.#Q,this.emit("history_updated",this.#Q)}catch(J){this.emit("error",{type:"error",error:J})}}),this.#$.on("function_call",async(Y)=>{try{await this.#Z(Y)}catch(J){O6.error("Error handling function call",J),this.emit("error",{type:"error",error:J})}}),this.#$.on("usage_update",(Y)=>{this.#Y.usage.add(Y)}),this.#$.on("audio_interrupted",()=>{if(this.#K)this.#K=!1;this.emit("audio_interrupted",this.#Y,this.#X)}),this.#$.on("error",(Y)=>{this.emit("error",Y)}),this.#$.on("mcp_tool_call_completed",(Y)=>{if(this.emit("mcp_tool_call_completed",this.#Y,this.#X,Y),this.#O)this.#$.sendEvent({type:"response.create"})}),this.#$.on("mcp_approval_request",(Y)=>{this.emit("tool_approval_requested",this.#Y,this.#X,{type:"mcp_approval_request",approvalItem:BS(this.#X,Y)})})}#w(){let $=this.#G?.filter((U)=>U.type==="mcp"),X=(U)=>{let W=U.allowed_tools;if(!W)return;if(Array.isArray(W))return W;if(W&&Array.isArray(W.tool_names))return W.tool_names;return},Y=new Map;for(let U of $){let W=this.#q.get(U.server_label)??[],H=X(U);for(let V of W){if(H&&!H.includes(V.name))continue;if(!Y.has(V.name))Y.set(V.name,V)}}let J=Array.from(Y.values()),Q=this.#B;if(Q.length!==J.length||JSON.stringify(Q.map((U)=>U.name).sort())!==JSON.stringify(J.map((U)=>U.name).sort()))this.#B=J,this.emit("mcp_tools_changed",this.#B)}async connect($){await this.#N(this.initialAgent),this.#P(),await this.#$.connect({apiKey:$.apiKey??this.options.apiKey,model:this.options.model,url:$.url,callId:$.callId,initialSessionConfig:await this.#L(this.options.config)}),this.#Q=[],this.emit("history_updated",this.#Q)}updateHistory($){let X;if(typeof $==="function")X=$(this.#Q);else X=$;this.#$.resetHistory(this.#Q,X)}sendMessage($,X={}){this.#$.sendMessage($,X)}addImage($,{triggerResponse:X=!0}={}){this.#$.addImage($,{triggerResponse:X})}mute($){this.#$.mute($)}close(){this.#V={},this.#$.close()}sendAudio($,X={}){this.#$.sendAudio($,X)}interrupt(){this.#$.interrupt()}async approve($,X={alwaysApprove:!1}){this.#Y.approveTool($,X);let Y=$.toolName??$.rawItem.name,J=this.#X.tools.find((Q)=>Q.name===Y);if(J&&J.type==="function"&&$.rawItem.type==="function_call")await this.#z($.rawItem,J);else if($.rawItem.type==="hosted_tool_call"){if(X.alwaysApprove)O6.warn("Always approving MCP tools is not supported. Use the allowed tools configuration instead.");let Q=fz($);this.#$.sendMcpResponse(Q,!0)}else throw new d$(`Tool ${Y??"unknown"} not found`)}async reject($,X={alwaysReject:!1}){this.#Y.rejectTool($,X);let Y=$.toolName??$.rawItem.name,J=this.#X.tools.find((Q)=>Q.name===Y);if(J&&J.type==="function"&&$.rawItem.type==="function_call")await this.#z($.rawItem,J);else if($.rawItem.type==="hosted_tool_call"){if(X.alwaysReject)O6.warn("Always rejecting MCP tools is not supported. Use the allowed tools configuration instead.");let Q=fz($);this.#$.sendMcpResponse(Q,!1)}else throw new d$(`Tool ${Y??"unknown"} not found`)}}Z6();Z6();Z6();Z6();Z6();Z6();Z6();Z6();Z6();Z6();Z6();Z6();Z6();Z6();var $6$=class{apply($,X){if(!X.type)return;let Y=Array.isArray(X.type)?X.type:[X.type],J=new Set(Y);if(!J.has("string"))$.string=!1;if(!J.has("number")&&!J.has("integer"))$.number=!1;if(!J.has("boolean"))$.boolean=!1;if(!J.has("null"))$.null=!1;if(!J.has("array"))$.array=!1;if(!J.has("object"))$.object=!1;if(J.has("integer")&&$.number!==!1){let Q=$.number||K.number();if(Q instanceof K.ZodNumber)$.number=Q.int()}}},X6$=class{apply($,X){if(X.const===void 0)return;let Y=X.const;if($.string=!1,$.number=!1,$.boolean=!1,$.null=!1,$.array=!1,$.object=!1,typeof Y==="string")$.string=K.literal(Y);else if(typeof Y==="number")$.number=K.literal(Y);else if(typeof Y==="boolean")$.boolean=K.literal(Y);else if(Y===null)$.null=K.null();else if(Array.isArray(Y))$.array=void 0;else if(typeof Y==="object")$.object=void 0}},Y6$=class{apply($,X){if(!X.enum)return;if(X.enum.length===0){if(!X.type)$.string=!1,$.number=!1,$.boolean=!1,$.null=!1,$.array=!1,$.object=!1;return}let Y={string:X.enum.filter((J)=>typeof J==="string"),number:X.enum.filter((J)=>typeof J==="number"),boolean:X.enum.filter((J)=>typeof J==="boolean"),null:X.enum.filter((J)=>J===null),array:X.enum.filter((J)=>Array.isArray(J)),object:X.enum.filter((J)=>typeof J==="object"&&J!==null&&!Array.isArray(J))};$.string=this.createTypeSchema(Y.string,"string"),$.number=this.createTypeSchema(Y.number,"number"),$.boolean=this.createTypeSchema(Y.boolean,"boolean"),$.null=Y.null.length>0?K.null():!1,$.array=Y.array.length>0?void 0:!1,$.object=Y.object.length>0?void 0:!1}createTypeSchema($,X){if($.length===0)return!1;if($.length===1)return K.literal($[0]);if(X==="string")return K.enum($);if(X==="number"){let[Y,J,...Q]=$;return K.union([K.literal(Y),K.literal(J),...Q.map((G)=>K.literal(G))])}if(X==="boolean")return K.union([K.literal(!0),K.literal(!1)]);return!1}},Q6$=class{apply($,X){let Y=X;if(Y.type==="string"&&Y.format==="binary"&&Y.contentEncoding==="binary"){let J=K.file();if(Y.minLength!==void 0)J=J.min(Y.minLength);if(Y.maxLength!==void 0)J=J.max(Y.maxLength);if(Y.contentMediaType!==void 0)J=J.mime(Y.contentMediaType);$.file=J,$.string=!1}}},J6$=class{apply($,X){let Y=X;if(X.type===void 0&&(Y.minLength!==void 0||Y.maxLength!==void 0||Y.pattern!==void 0)){if($.string===void 0)$.string=K.string()}}},G6$=class{apply($,X){let Y=X;if(Y.minLength===void 0)return;if($.string!==!1){let J=$.string||K.string();if(J instanceof K.ZodString)$.string=J.refine((Q)=>{return Array.from(Q).length>=Y.minLength},{message:`String must be at least ${Y.minLength} characters long`})}}},U6$=class{apply($,X){let Y=X;if(Y.maxLength===void 0)return;if($.string!==!1){let J=$.string||K.string();if(J instanceof K.ZodString)$.string=J.refine((Q)=>{return Array.from(Q).length<=Y.maxLength},{message:`String must be at most ${Y.maxLength} characters long`})}}},W6$=class{apply($,X){let Y=X;if(!Y.pattern)return;if($.string!==!1){let J=$.string||K.string();if(J instanceof K.ZodString){let Q=new RegExp(Y.pattern);$.string=J.regex(Q)}}}},H6$=class{apply($,X){let Y=X;if(Y.minimum===void 0)return;if($.number!==!1){let J=$.number||K.number();if(J instanceof K.ZodNumber)$.number=J.min(Y.minimum)}}},K6$=class{apply($,X){let Y=X;if(Y.maximum===void 0)return;if($.number!==!1){let J=$.number||K.number();if(J instanceof K.ZodNumber)$.number=J.max(Y.maximum)}}},V6$=class{apply($,X){let Y=X;if(Y.exclusiveMinimum===void 0)return;if($.number!==!1){let J=$.number||K.number();if(J instanceof K.ZodNumber)if(typeof Y.exclusiveMinimum==="number")$.number=J.gt(Y.exclusiveMinimum);else $.number=!1}}},B6$=class{apply($,X){let Y=X;if(Y.exclusiveMaximum===void 0)return;if($.number!==!1){let J=$.number||K.number();if(J instanceof K.ZodNumber)if(typeof Y.exclusiveMaximum==="number")$.number=J.lt(Y.exclusiveMaximum);else $.number=!1}}},q6$=class{apply($,X){let Y=X;if(Y.multipleOf===void 0)return;if($.number!==!1){let J=$.number||K.number();if(J instanceof K.ZodNumber)$.number=J.refine((Q)=>{if(Y.multipleOf===0)return!1;let G=Q/Y.multipleOf,U=Math.round(G),W=Math.min(Math.abs(Q)*Number.EPSILON*10,Math.abs(Y.multipleOf)*Number.EPSILON*10);return Math.abs(G-U)<=W/Math.abs(Y.multipleOf)},{message:`Must be a multiple of ${Y.multipleOf}`})}}},N6$=class{apply($,X){let Y=X;if(X.type===void 0&&(Y.minItems!==void 0||Y.maxItems!==void 0||Y.items!==void 0||Y.prefixItems!==void 0)){if($.array===void 0)$.array=K.array(K.any())}}},D6$=class{apply($,X){let Y=X;if(Y.minItems===void 0)return;if($.array!==!1)$.array=($.array||K.array(K.any())).min(Y.minItems)}},O6$=class{apply($,X){let Y=X;if(Y.maxItems===void 0)return;if($.array!==!1)$.array=($.array||K.array(K.any())).max(Y.maxItems)}},L6$=class{apply($,X){let Y=X;if($.array===!1)return;if(Array.isArray(Y.items))$.array=$.array||K.array(K.any());else if(Y.items&&typeof Y.items!=="boolean"&&!Y.prefixItems){let J=x6(Y.items),Q=K.array(J);if($.array&&$.array instanceof K.ZodArray){let G=$.array._def;if(G.checks)G.checks.forEach((U)=>{if(U._zod&&U._zod.def){let W=U._zod.def;if(W.check==="min_length"&&W.minimum!==void 0)Q=Q.min(W.minimum);else if(W.check==="max_length"&&W.maximum!==void 0)Q=Q.max(W.maximum)}})}$.array=Q}else if(typeof Y.items==="boolean"&&Y.items===!1)if(!Y.prefixItems)$.array=K.array(K.any()).max(0);else $.array=$.array||K.array(K.any());else if(typeof Y.items==="boolean"&&Y.items===!0)$.array=$.array||K.array(K.any());else if(Y.prefixItems)$.array=$.array||K.array(K.any())}},z6$=class{apply($,X){if(X.type!=="array")return;let Y=X;if(!Array.isArray(Y.items))return;if($.array===!1)return;let J=Y.items.map((G)=>x6(G)),Q;if(J.length===0)Q=K.tuple([]);else Q=K.tuple(J);if(Y.minItems!==void 0&&Y.minItems>J.length)Q=!1;if(Y.maxItems!==void 0&&Y.maxItems<J.length)Q=!1;$.tuple=Q,$.array=!1}},F6$=class{apply($,X){let Y=X;if($.object===!1)return;if(Y.properties||Y.required||Y.additionalProperties!==void 0)$.object=$.object||K.object({}).passthrough()}},w6$=class{apply($,X){let Y=X;if(X.type===void 0&&(Y.maxProperties!==void 0||Y.minProperties!==void 0)){if($.object===void 0)$.object=K.object({}).passthrough()}}},M6$=class{apply($,X){let Y=X;if(Y.maxProperties===void 0)return;if($.object!==!1){let J=$.object||K.object({}).passthrough();$.object=J.refine((Q)=>Object.keys(Q).length<=Y.maxProperties,{message:`Object must have at most ${Y.maxProperties} properties`})}}},A6$=class{apply($,X){let Y=X;if(Y.minProperties===void 0)return;if($.object!==!1){let J=$.object||K.object({}).passthrough();$.object=J.refine((Q)=>Object.keys(Q).length>=Y.minProperties,{message:`Object must have at least ${Y.minProperties} properties`})}}};function WX($,X){if($===X)return!0;if($==null||X==null)return $===X;if(typeof $!==typeof X)return!1;if(Array.isArray($)&&Array.isArray(X)){if($.length!==X.length)return!1;return $.every((Y,J)=>WX(Y,X[J]))}if(typeof $==="object"&&typeof X==="object"){let Y=Object.keys($),J=Object.keys(X);if(Y.length!==J.length)return!1;return Y.every((Q)=>J.includes(Q)&&WX($[Q],X[Q]))}return!1}function Z6$(){return($)=>{if(!Array.isArray($))return!0;let X=[];return $.every((Y)=>{if(X.some((Q)=>WX(Y,Q)))return!1;return X.push(Y),!0})}}function lG($,X){return $.safeParse(X).success}var P6$=class{apply($,X){if(!X.not)return $;let Y=x6(X.not);return $.refine((J)=>!lG(Y,J),{message:"Value must not match the 'not' schema"})}},_6$=class{apply($,X){if(X.uniqueItems!==!0)return $;return $.refine(Z6$(),{message:"Array items must be unique"})}},v6$=class{apply($,X){if(!X.allOf||X.allOf.length===0)return $;return X.allOf.map((J)=>x6(J)).reduce((J,Q)=>K.intersection(J,Q),$)}},E6$=class{apply($,X){if(!X.anyOf||X.anyOf.length===0)return $;let Y=X.anyOf.length===1?x6(X.anyOf[0]):K.union([x6(X.anyOf[0]),x6(X.anyOf[1]),...X.anyOf.slice(2).map((J)=>x6(J))]);return K.intersection($,Y)}},I6$=class{apply($,X){if(!X.oneOf||X.oneOf.length===0)return $;let Y=X.oneOf.map((J)=>x6(J));return $.refine((J)=>{let Q=0;for(let G of Y)if(G.safeParse(J).success){if(Q++,Q>1)return!1}return Q===1},{message:"Value must match exactly one of the oneOf schemas"})}},R6$=class{apply($,X){let Y=X;if(Y.prefixItems&&Array.isArray(Y.prefixItems)){let Q=Y.prefixItems.map((G)=>x6(G));return $.refine((G)=>{if(!Array.isArray(G))return!0;for(let U=0;U<Math.min(G.length,Q.length);U++)if(!lG(Q[U],G[U]))return!1;if(G.length>Q.length){if(typeof Y.items==="boolean"&&Y.items===!1)return!1;else if(Y.items&&typeof Y.items==="object"&&!Array.isArray(Y.items)){let U=x6(Y.items);for(let W=Q.length;W<G.length;W++)if(!lG(U,G[W]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return $}},j6$=class{apply($,X){let Y=X;if(!Y.properties&&!Y.required&&Y.additionalProperties!==!1)return $;if($ instanceof K.ZodObject||$ instanceof K.ZodRecord){let J={};if(Y.properties){for(let[Q,G]of Object.entries(Y.properties))if(G!==void 0)J[Q]=x6(G)}if(Y.required&&Array.isArray(Y.required)){let Q=new Set(Y.required);for(let G of Object.keys(J))if(!Q.has(G))J[G]=J[G].optional()}else for(let Q of Object.keys(J))J[Q]=J[Q].optional();if(Y.additionalProperties===!1)return K.object(J);else return K.object(J).passthrough()}return $.refine((J)=>{if(typeof J!=="object"||J===null||Array.isArray(J))return!0;if(Y.properties){for(let[Q,G]of Object.entries(Y.properties))if(G!==void 0){if(Object.getOwnPropertyDescriptor(J,Q)!==void 0){if(!x6(G).safeParse(J[Q]).success)return!1}}}if(Y.required&&Array.isArray(Y.required)){for(let Q of Y.required)if(Object.getOwnPropertyDescriptor(J,Q)===void 0)return!1}if(Y.additionalProperties===!1&&Y.properties){let Q=new Set(Object.keys(Y.properties));for(let G in J)if(!Q.has(G))return!1}return!0},{message:"Object constraints validation failed"})}},T6$=class{apply($,X){if(!X.enum||X.enum.length===0)return $;let Y=X.enum.filter((J)=>Array.isArray(J)||typeof J==="object"&&J!==null);if(Y.length===0)return $;return $.refine((J)=>{if(typeof J!=="object"||J===null)return!0;return Y.some((Q)=>WX(J,Q))},{message:"Value must match one of the enum values"})}},k6$=class{apply($,X){if(X.const===void 0)return $;let Y=X.const;if(typeof Y!=="object"||Y===null)return $;return $.refine((J)=>WX(J,Y),{message:"Value must equal the const value"})}},S6$=class{apply($,X){if(X.description)$=$.describe(X.description);return $}},b6$=class{apply($,X){var Y;let J=X;if(!((Y=J.required)==null?void 0:Y.includes("__proto__"))||X.type!==void 0)return $;return K.any().refine((Q)=>this.validateRequired(Q,J.required),{message:"Missing required properties"})}validateRequired($,X){if(typeof $!=="object"||$===null||Array.isArray($))return!0;return X.every((Y)=>Object.prototype.hasOwnProperty.call($,Y))}},x6$=class{apply($,X){var Y;let J=X;if(J.contains===void 0)return $;let Q=x6(J.contains),G=(Y=J.minContains)!=null?Y:1,U=J.maxContains;return $.refine((W)=>{if(!Array.isArray(W))return!0;let H=0;for(let V of W)if(lG(Q,V))H++;if(H<G)return!1;if(U!==void 0&&H>U)return!1;return!0},{message:"Array must contain required items matching the schema"})}},C6$=class{apply($,X){let{default:Y}=X;if(Y===void 0)return $;if(!$.safeParse(Y).success)return $;return $.default(Y)}},g6$=[new X6$,new Y6$,new $6$,new Q6$,new J6$,new N6$,new w6$,new G6$,new U6$,new W6$,new H6$,new K6$,new V6$,new B6$,new q6$,new z6$,new D6$,new O6$,new L6$,new M6$,new A6$,new F6$],y6$=[new b6$,new T6$,new k6$,new v6$,new E6$,new I6$,new R6$,new j6$,new x6$,new P6$,new _6$,new C6$,new S6$];function x6($){if(typeof $==="boolean")return $?K.any():K.never();let X={};for(let Q of g6$)Q.apply(X,$);let Y=[];if(X.string!==!1)Y.push(X.string||K.string());if(X.number!==!1)Y.push(X.number||K.number());if(X.boolean!==!1)Y.push(X.boolean||K.boolean());if(X.null!==!1)Y.push(X.null||K.null());if(X.array!==!1)Y.push(X.array||K.array(K.any()));if(X.tuple!==!1&&X.tuple!==void 0)Y.push(X.tuple);if(X.object!==!1)if(X.object)Y.push(X.object);else{let Q=K.custom((G)=>{return typeof G==="object"&&G!==null&&!Array.isArray(G)},"Must be an object, not an array");Y.push(Q)}if(X.file!==!1&&X.file!==void 0)Y.push(X.file);let J;if(Y.length===0)J=K.never();else if(Y.length===1)J=Y[0];else if(!Object.keys($).some((G)=>G!=="$schema"&&G!=="title"&&G!=="description"))J=K.any();else J=K.union(Y);for(let Q of y6$)J=Q.apply(J,$);return J}var t0=require("react/jsx-runtime"),f6$=({data:$,setUiAjaxConfiguration:X})=>{let{name:Y,titles:J,instructions:Q,tools:G,token:U,autoStart:W,muted:H,language:V,outputModalities:B,sxMap:q,iconUrl:N,iconPosition:D,useSocketioSupport:L,useCentrifugeSupport:O,useMittSupport:F,centrifugeChannel:Z}=$,{apiServer:M,enableRenderingLog:z}=C2(),[w,_]=C6.useState(null),[j,C]=C6.useState(null),[c,o]=C6.useState(null),[W$,s]=C6.useState(!1),[N$,H$]=C6.useState([]),[,p$]=C6.useState(null),P=C6.useRef(null),i=C6.useMemo(()=>{return G.map((g$)=>{let R6=nU(X??(()=>{}),g$.kwargs,g$.depsNames,g$.pathname,{apiServer:M,renderingLogEnabled:z});return Y0({name:g$.name,description:g$.description,parameters:x6(g$.params),async execute(K0){console.log(`Calling tool: ${g$.name} with: ${JSON.stringify(K0)}`);let n$=await R6(K0);if(!Array.isArray(n$))return[];return n$.filter((o6)=>o6.name===`pietoolOutput_${Y}`).map((o6)=>o6.data.output)}})})},[G,X]),d=()=>{if(console.log("Disconnecting session..."),j)j.close();C(null),_(null),s(!1)},F$=async(g$)=>{if(!j){console.error("Session not initialized");return}if(W$){console.log("Already connected, skipping...");return}try{j.on("history_updated",(R6)=>{H$(R6)}),console.log("Connecting to session..."),p$(null),await j.connect({apiKey:g$}),s(!0),console.log("Connected successfully")}catch(R6){console.error("Failed to connect to session:",R6),p$(R6 instanceof Error?R6.message:"Failed to connect"),s(!1)}};return C6.useEffect(()=>{if(!P.current)return;if(!c)navigator.mediaDevices.getUserMedia({audio:!0}).then(async(g$)=>{o(new T2({mediaStream:g$,audioElement:P.current}))})},[P]),C6.useEffect(()=>{if(!P.current)return;if(!c)return;if(w===null||j===null){let g$=new uG({name:Y,instructions:Q,tools:i}),R6=new k2(g$,{model:"gpt-realtime",transport:c,config:{outputModalities:B,audio:{input:{transcription:{language:V??void 0,model:"gpt-4o-mini-transcribe"}}},inputAudioTranscription:{language:V??void 0,model:"gpt-4o-mini-transcribe"}}});_(g$),C(R6)}},[w,j,Y,Q,i,P,c]),C6.useEffect(()=>{if(w!==null&&j!==null&&W&&U&&!W$)console.log("Auto-connecting..."),F$(U).catch((g$)=>{console.error("Auto-connection failed:",g$)})},[w,j]),C6.useEffect(()=>{return()=>{console.log("Disconnecting..."),d()}},[]),t0.jsxs(X6,{card:"VoiceAgentCard",data:$,methods:{initializeAI:async(g$)=>{if(w!==null&&j!==null&&g$.token&&!W$)console.log("Connecting via initialize event..."),await F$(g$.token).catch((R6)=>{console.error("Auto-connection failed:",R6)})},stop:()=>{d()}},useCentrifugeSupport:O,useSocketioSupport:L,useMittSupport:F,centrifugeChannel:Z,children:[t0.jsxs("button",{id:Y,value:Y,onClick:async()=>{if(W$)d();else if(U)await F$(U)},style:j0(W$?q.enabled:q.disabled),type:"button",children:[N&&D==="start"&&t0.jsx("img",{src:N,alt:""}),O1(W$?J.enabled:J.disabled),N&&D==="end"&&t0.jsx("img",{src:N,alt:""})]}),t0.jsx("input",{type:"hidden",name:Y,value:JSON.stringify(N$)}),t0.jsx("audio",{ref:P,autoPlay:!0,muted:H,style:{display:"none"}})]})},dz=PS.default(f6$);var iG=require("react");var pz=require("react/jsx-runtime"),h6$=({data:$})=>{let{name:X,value:Y,useSocketioSupport:J,useCentrifugeSupport:Q,useMittSupport:G,centrifugeChannel:U}=$,[W,H]=iG.useState(Y);return iG.useEffect(()=>{H(Y)},[Y]),pz.jsx(X6,{card:"HiddenCard",data:$,useSocketioSupport:J,useCentrifugeSupport:Q,useMittSupport:G,centrifugeChannel:U,methods:{update:({value:V})=>{H(V)}},children:pz.jsx("input",{type:"hidden",id:X,name:X,value:W})})},nz=h6$;var dG=require("react");var pG=require("react/jsx-runtime"),m6$=({data:$})=>{let{url:X}=$,Y=dG.useContext(I8);return dG.useEffect(()=>{if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(X))window.location.href=X;else Y?.(X)},[X,Y]),pG.jsx(pG.Fragment,{})},rz=m6$;var ES=require("react"),H0=V$(require("react")),aG=require("react"),nG=V$(require("react")),rG=V$(require("react"));function _S($){var X,Y,J="";if(typeof $=="string"||typeof $=="number")J+=$;else if(typeof $=="object")if(Array.isArray($)){var Q=$.length;for(X=0;X<Q;X++)$[X]&&(Y=_S($[X]))&&(J&&(J+=" "),J+=Y)}else for(Y in $)$[Y]&&(J&&(J+=" "),J+=Y);return J}function u6$(){for(var $,X,Y=0,J="",Q=arguments.length;Y<Q;Y++)($=arguments[Y])&&(X=_S($))&&(J&&(J+=" "),J+=X);return J}var k1=u6$;var S1=V$(require("react")),eG=require("react"),s0=require("react"),$U=require("react");var U0=V$(require("react")),r6=V$(require("react"));function c6$($){if(!$||typeof document>"u")return;let X=document.head||document.getElementsByTagName("head")[0],Y=document.createElement("style");Y.type="text/css",X.firstChild?X.insertBefore(Y,X.firstChild):X.appendChild(Y),Y.styleSheet?Y.styleSheet.cssText=$:Y.appendChild(document.createTextNode($))}c6$(":root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:\"\";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:\"\";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n");var KX=($)=>typeof $=="number"&&!isNaN($),p9=($)=>typeof $=="string",W0=($)=>typeof $=="function",l6$=($)=>p9($)||KX($),oz=($)=>p9($)||W0($)?$:null,i6$=($,X)=>$===!1||KX($)&&$>0?$:X,az=($)=>ES.isValidElement($)||p9($)||W0($)||KX($);function d6$($,X,Y=300){let{scrollHeight:J,style:Q}=$;requestAnimationFrame(()=>{Q.minHeight="initial",Q.height=J+"px",Q.transition=`all ${Y}ms`,requestAnimationFrame(()=>{Q.height="0",Q.padding="0",Q.margin="0",setTimeout(X,Y)})})}function oG({enter:$,exit:X,appendPosition:Y=!1,collapse:J=!0,collapseDuration:Q=300}){return function({children:G,position:U,preventExitTransition:W,done:H,nodeRef:V,isIn:B,playToast:q}){let N=Y?`${$}--${U}`:$,D=Y?`${X}--${U}`:X,L=H0.useRef(0);return H0.useLayoutEffect(()=>{let O=V.current,F=N.split(" "),Z=(M)=>{M.target===V.current&&(q(),O.removeEventListener("animationend",Z),O.removeEventListener("animationcancel",Z),L.current===0&&M.type!=="animationcancel"&&O.classList.remove(...F))};(()=>{O.classList.add(...F),O.addEventListener("animationend",Z),O.addEventListener("animationcancel",Z)})()},[]),H0.useEffect(()=>{let O=V.current,F=()=>{O.removeEventListener("animationend",F),J?d6$(O,H,Q):H()};B||(W?F():(()=>{L.current=1,O.className+=` ${D}`,O.addEventListener("animationend",F)})())},[B]),H0.default.createElement(H0.default.Fragment,null,G)}}function vS($,X){return{content:IS($.content,$.props),containerId:$.props.containerId,id:$.props.toastId,theme:$.props.theme,type:$.props.type,data:$.props.data||{},isLoading:$.props.isLoading,icon:$.props.icon,reason:$.removalReason,status:X}}function IS($,X,Y=!1){return aG.isValidElement($)&&!p9($.type)?aG.cloneElement($,{closeToast:X.closeToast,toastProps:X,data:X.data,isPaused:Y}):W0($)?$({closeToast:X.closeToast,toastProps:X,data:X.data,isPaused:Y}):$}function p6$({closeToast:$,theme:X,ariaLabel:Y="close"}){return nG.default.createElement("button",{className:`Toastify__close-button Toastify__close-button--${X}`,type:"button",onClick:(J)=>{J.stopPropagation(),$(!0)},"aria-label":Y},nG.default.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},nG.default.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}function n6$({delay:$,isRunning:X,closeToast:Y,type:J="default",hide:Q,className:G,controlledProgress:U,progress:W,rtl:H,isIn:V,theme:B}){let q=Q||U&&W===0,N={animationDuration:`${$}ms`,animationPlayState:X?"running":"paused"};U&&(N.transform=`scaleX(${W})`);let D=k1("Toastify__progress-bar",U?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${B}`,`Toastify__progress-bar--${J}`,{["Toastify__progress-bar--rtl"]:H}),L=W0(G)?G({rtl:H,type:J,defaultClassName:D}):k1(D,G),O={[U&&W>=1?"onTransitionEnd":"onAnimationEnd"]:U&&W<1?null:()=>{V&&Y()}};return rG.default.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":q},rG.default.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${B} Toastify__progress-bar--${J}`}),rG.default.createElement("div",{role:"progressbar","aria-hidden":q?"true":"false","aria-label":"notification timer",className:L,style:N,...O}))}var r6$=1,RS=()=>`${r6$++}`;function o6$($,X,Y){let J=1,Q=0,G=[],U=[],W=X,H=new Map,V=new Set,B=(M)=>(V.add(M),()=>V.delete(M)),q=()=>{U=Array.from(H.values()),V.forEach((M)=>M())},N=({containerId:M,toastId:z,updateId:w})=>{let _=M?M!==$:$!==1,j=H.has(z)&&w==null;return _||j},D=(M,z)=>{H.forEach((w)=>{var _;(z==null||z===w.props.toastId)&&((_=w.toggle)==null||_.call(w,M))})},L=(M)=>{var z,w;(w=(z=M.props)==null?void 0:z.onClose)==null||w.call(z,M.removalReason),M.isActive=!1},O=(M)=>{if(M==null)H.forEach(L);else{let z=H.get(M);z&&L(z)}q()},F=()=>{Q-=G.length,G=[]},Z=(M)=>{var z,w;let{toastId:_,updateId:j}=M.props,C=j==null;M.staleId&&H.delete(M.staleId),M.isActive=!0,H.set(_,M),q(),Y(vS(M,C?"added":"updated")),C&&((w=(z=M.props).onOpen)==null||w.call(z))};return{id:$,props:W,observe:B,toggle:D,removeToast:O,toasts:H,clearQueue:F,buildToast:(M,z)=>{if(N(z))return;let{toastId:w,updateId:_,data:j,staleId:C,delay:c}=z,o=_==null;o&&Q++;let W$={...W,style:W.toastStyle,key:J++,...Object.fromEntries(Object.entries(z).filter(([N$,H$])=>H$!=null)),toastId:w,updateId:_,data:j,isIn:!1,className:oz(z.className||W.toastClassName),progressClassName:oz(z.progressClassName||W.progressClassName),autoClose:z.isLoading?!1:i6$(z.autoClose,W.autoClose),closeToast(N$){H.get(w).removalReason=N$,O(w)},deleteToast(){let N$=H.get(w);if(N$!=null){if(Y(vS(N$,"removed")),H.delete(w),Q--,Q<0&&(Q=0),G.length>0){Z(G.shift());return}q()}}};W$.closeButton=W.closeButton,z.closeButton===!1||az(z.closeButton)?W$.closeButton=z.closeButton:z.closeButton===!0&&(W$.closeButton=az(W.closeButton)?W.closeButton:!0);let s={content:M,props:W$,staleId:C};W.limit&&W.limit>0&&Q>W.limit&&o?G.push(s):KX(c)?setTimeout(()=>{Z(s)},c):Z(s)},setProps(M){W=M},setToggle:(M,z)=>{let w=H.get(M);w&&(w.toggle=z)},isToastActive:(M)=>{var z;return(z=H.get(M))==null?void 0:z.isActive},getSnapshot:()=>U}}var n6=new Map,HX=[],tz=new Set,a6$=($)=>tz.forEach((X)=>X($)),jS=()=>n6.size>0;function t6$(){HX.forEach(($)=>kS($.content,$.options)),HX=[]}var s6$=($,{containerId:X})=>{var Y;return(Y=n6.get(X||1))==null?void 0:Y.toasts.get($)};function TS($,X){var Y;if(X)return!!((Y=n6.get(X))!=null&&Y.isToastActive($));let J=!1;return n6.forEach((Q)=>{Q.isToastActive($)&&(J=!0)}),J}function e6$($){if(!jS()){HX=HX.filter((X)=>$!=null&&X.options.toastId!==$);return}if($==null||l6$($))n6.forEach((X)=>{X.removeToast($)});else if($&&(("containerId"in $)||("id"in $))){let X=n6.get($.containerId);X?X.removeToast($.id):n6.forEach((Y)=>{Y.removeToast($.id)})}}var $4$=($={})=>{n6.forEach((X)=>{X.props.limit&&(!$.containerId||X.id===$.containerId)&&X.clearQueue()})};function kS($,X){az($)&&(jS()||HX.push({content:$,options:X}),n6.forEach((Y)=>{Y.buildToast($,X)}))}function X4$($){var X;(X=n6.get($.containerId||1))==null||X.setToggle($.id,$.fn)}function SS($,X){n6.forEach((Y)=>{(X==null||!(X!=null&&X.containerId)||(X==null?void 0:X.containerId)===Y.id)&&Y.toggle($,X==null?void 0:X.id)})}function Y4$($){let X=$.containerId||1;return{subscribe(Y){let J=o6$(X,$,a6$);n6.set(X,J);let Q=J.observe(Y);return t6$(),()=>{Q(),n6.delete(X)}},setProps(Y){var J;(J=n6.get(X))==null||J.setProps(Y)},getSnapshot(){var Y;return(Y=n6.get(X))==null?void 0:Y.getSnapshot()}}}function Q4$($){return tz.add($),()=>{tz.delete($)}}function J4$($){return $&&(p9($.toastId)||KX($.toastId))?$.toastId:RS()}function VX($,X){return kS($,X),X.toastId}function tG($,X){return{...X,type:X&&X.type||$,toastId:J4$(X)}}function sG($){return(X,Y)=>VX(X,tG($,Y))}function E$($,X){return VX($,tG("default",X))}E$.loading=($,X)=>VX($,tG("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...X}));function G4$($,{pending:X,error:Y,success:J},Q){let G;X&&(G=p9(X)?E$.loading(X,Q):E$.loading(X.render,{...Q,...X}));let U={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},W=(V,B,q)=>{if(B==null){E$.dismiss(G);return}let N={type:V,...U,...Q,data:q},D=p9(B)?{render:B}:B;return G?E$.update(G,{...N,...D}):E$(D.render,{...N,...D}),q},H=W0($)?$():$;return H.then((V)=>W("success",J,V)).catch((V)=>W("error",Y,V)),H}E$.promise=G4$;E$.success=sG("success");E$.info=sG("info");E$.error=sG("error");E$.warning=sG("warning");E$.warn=E$.warning;E$.dark=($,X)=>VX($,tG("default",{theme:"dark",...X}));function U4$($){e6$($)}E$.dismiss=U4$;E$.clearWaitingQueue=$4$;E$.isActive=TS;E$.update=($,X={})=>{let Y=s6$($,X);if(Y){let{props:J,content:Q}=Y,G={delay:100,...J,...X,toastId:X.toastId||$,updateId:RS()};G.toastId!==$&&(G.staleId=$);let U=G.render||Q;delete G.render,VX(U,G)}};E$.done=($)=>{E$.update($,{progress:1})};E$.onChange=Q4$;E$.play=($)=>SS(!0,$);E$.pause=($)=>SS(!1,$);function W4$($){var X;let{subscribe:Y,getSnapshot:J,setProps:Q}=eG.useRef(Y4$($)).current;Q($);let G=(X=eG.useSyncExternalStore(Y,J,J))==null?void 0:X.slice();function U(W){if(!G)return[];let H=new Map;return $.newestOnTop&&G.reverse(),G.forEach((V)=>{let{position:B}=V.props;H.has(B)||H.set(B,[]),H.get(B).push(V)}),Array.from(H,(V)=>W(V[0],V[1]))}return{getToastToRender:U,isToastActive:TS,count:G==null?void 0:G.length}}function H4$($){let[X,Y]=s0.useState(!1),[J,Q]=s0.useState(!1),G=s0.useRef(null),U=s0.useRef({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:W,pauseOnHover:H,closeToast:V,onClick:B,closeOnClick:q}=$;X4$({id:$.toastId,containerId:$.containerId,fn:Y}),s0.useEffect(()=>{if($.pauseOnFocusLoss)return N(),()=>{D()}},[$.pauseOnFocusLoss]);function N(){document.hasFocus()||Z(),window.addEventListener("focus",F),window.addEventListener("blur",Z)}function D(){window.removeEventListener("focus",F),window.removeEventListener("blur",Z)}function L(C){if($.draggable===!0||$.draggable===C.pointerType){M();let c=G.current;U.canCloseOnClick=!0,U.canDrag=!0,c.style.transition="none",$.draggableDirection==="x"?(U.start=C.clientX,U.removalDistance=c.offsetWidth*($.draggablePercent/100)):(U.start=C.clientY,U.removalDistance=c.offsetHeight*($.draggablePercent===80?$.draggablePercent*1.5:$.draggablePercent)/100)}}function O(C){let{top:c,bottom:o,left:W$,right:s}=G.current.getBoundingClientRect();C.nativeEvent.type!=="touchend"&&$.pauseOnHover&&C.clientX>=W$&&C.clientX<=s&&C.clientY>=c&&C.clientY<=o?Z():F()}function F(){Y(!0)}function Z(){Y(!1)}function M(){U.didMove=!1,document.addEventListener("pointermove",w),document.addEventListener("pointerup",_)}function z(){document.removeEventListener("pointermove",w),document.removeEventListener("pointerup",_)}function w(C){let c=G.current;if(U.canDrag&&c){U.didMove=!0,X&&Z(),$.draggableDirection==="x"?U.delta=C.clientX-U.start:U.delta=C.clientY-U.start,U.start!==C.clientX&&(U.canCloseOnClick=!1);let o=$.draggableDirection==="x"?`${U.delta}px, var(--y)`:`0, calc(${U.delta}px + var(--y))`;c.style.transform=`translate3d(${o},0)`,c.style.opacity=`${1-Math.abs(U.delta/U.removalDistance)}`}}function _(){z();let C=G.current;if(U.canDrag&&U.didMove&&C){if(U.canDrag=!1,Math.abs(U.delta)>U.removalDistance){Q(!0),$.closeToast(!0),$.collapseAll();return}C.style.transition="transform 0.2s, opacity 0.2s",C.style.removeProperty("transform"),C.style.removeProperty("opacity")}}let j={onPointerDown:L,onPointerUp:O};return W&&H&&(j.onMouseEnter=Z,$.stacked||(j.onMouseLeave=F)),q&&(j.onClick=(C)=>{B&&B(C),U.canCloseOnClick&&V(!0)}),{playToast:F,pauseToast:Z,isRunning:X,preventExitTransition:J,toastRef:G,eventHandlers:j}}var K4$=typeof window<"u"?$U.useLayoutEffect:$U.useEffect,XU=({theme:$,type:X,isLoading:Y,...J})=>r6.default.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:$==="colored"?"currentColor":`var(--toastify-icon-color-${X})`,...J});function V4$($){return r6.default.createElement(XU,{...$},r6.default.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))}function B4$($){return r6.default.createElement(XU,{...$},r6.default.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))}function q4$($){return r6.default.createElement(XU,{...$},r6.default.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))}function N4$($){return r6.default.createElement(XU,{...$},r6.default.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))}function D4$(){return r6.default.createElement("div",{className:"Toastify__spinner"})}var sz={info:B4$,warning:V4$,success:q4$,error:N4$,spinner:D4$},O4$=($)=>($ in sz);function L4$({theme:$,type:X,isLoading:Y,icon:J}){let Q=null,G={theme:$,type:X};return J===!1||(W0(J)?Q=J({...G,isLoading:Y}):r6.isValidElement(J)?Q=r6.cloneElement(J,G):Y?Q=sz.spinner():O4$(X)&&(Q=sz[X](G))),Q}var z4$=($)=>{let{isRunning:X,preventExitTransition:Y,toastRef:J,eventHandlers:Q,playToast:G}=H4$($),{closeButton:U,children:W,autoClose:H,onClick:V,type:B,hideProgressBar:q,closeToast:N,transition:D,position:L,className:O,style:F,progressClassName:Z,updateId:M,role:z,progress:w,rtl:_,toastId:j,deleteToast:C,isIn:c,isLoading:o,closeOnClick:W$,theme:s,ariaLabel:N$}=$,H$=k1("Toastify__toast",`Toastify__toast-theme--${s}`,`Toastify__toast--${B}`,{["Toastify__toast--rtl"]:_},{["Toastify__toast--close-on-click"]:W$}),p$=W0(O)?O({rtl:_,position:L,type:B,defaultClassName:H$}):k1(H$,O),P=L4$($),i=!!w||!H,d={closeToast:N,type:B,theme:s},F$=null;return U===!1||(W0(U)?F$=U(d):U0.isValidElement(U)?F$=U0.cloneElement(U,d):F$=p6$(d)),U0.default.createElement(D,{isIn:c,done:C,position:L,preventExitTransition:Y,nodeRef:J,playToast:G},U0.default.createElement("div",{id:j,tabIndex:0,onClick:V,"data-in":c,className:p$,...Q,style:F,ref:J,...c&&{role:z,"aria-label":N$}},P!=null&&U0.default.createElement("div",{className:k1("Toastify__toast-icon",{["Toastify--animate-icon Toastify__zoom-enter"]:!o})},P),IS(W,$,!X),F$,!$.customProgressBar&&U0.default.createElement(n6$,{...M&&!i?{key:`p-${M}`}:{},rtl:_,theme:s,delay:H,isRunning:X,isIn:c,closeToast:N,hide:q,type:B,className:Z,controlledProgress:i,progress:w||0})))},YU=($,X=!1)=>({enter:`Toastify--animate Toastify__${$}-enter`,exit:`Toastify--animate Toastify__${$}-exit`,appendPosition:X}),ez=oG(YU("bounce",!0)),bS=oG(YU("slide",!0)),xS=oG(YU("zoom")),CS=oG(YU("flip")),F4$={position:"top-right",transition:ez,autoClose:5000,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light","aria-label":"Notifications Alt+T",hotKeys:($)=>$.altKey&&$.code==="KeyT"};function gS($){let X={...F4$,...$},Y=$.stacked,[J,Q]=S1.useState(!0),G=S1.useRef(null),{getToastToRender:U,isToastActive:W,count:H}=W4$(X),{className:V,style:B,rtl:q,containerId:N,hotKeys:D}=X;function L(F){let Z=k1("Toastify__toast-container",`Toastify__toast-container--${F}`,{["Toastify__toast-container--rtl"]:q});return W0(V)?V({position:F,rtl:q,defaultClassName:Z}):k1(Z,oz(V))}function O(){Y&&(Q(!0),E$.play())}return K4$(()=>{var F;if(Y){let Z=G.current.querySelectorAll('[data-in="true"]'),M=12,z=(F=X.position)==null?void 0:F.includes("top"),w=0,_=0;Array.from(Z).reverse().forEach((j,C)=>{let c=j;c.classList.add("Toastify__toast--stacked"),C>0&&(c.dataset.collapsed=`${J}`),c.dataset.pos||(c.dataset.pos=z?"top":"bot");let o=w*(J?0.2:1)+(J?0:M*C);c.style.setProperty("--y",`${z?o:o*-1}px`),c.style.setProperty("--g",`${M}`),c.style.setProperty("--s",`${1-(J?_:0)}`),w+=c.offsetHeight,_+=0.025})}},[J,H,Y]),S1.useEffect(()=>{function F(Z){var M;let z=G.current;D(Z)&&((M=z.querySelector('[tabIndex="0"]'))==null||M.focus(),Q(!1),E$.pause()),Z.key==="Escape"&&(document.activeElement===z||z!=null&&z.contains(document.activeElement))&&(Q(!0),E$.play())}return document.addEventListener("keydown",F),()=>{document.removeEventListener("keydown",F)}},[D]),S1.default.createElement("section",{ref:G,className:"Toastify",id:N,onMouseEnter:()=>{Y&&(Q(!1),E$.pause())},onMouseLeave:O,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":X["aria-label"]},U((F,Z)=>{let M=Z.length?{...B}:{...B,pointerEvents:"none"};return S1.default.createElement("div",{tabIndex:-1,className:L(F),"data-stacked":Y,style:M,key:`c-${F}`},Z.map(({content:z,props:w})=>S1.default.createElement(z4$,{...w,stacked:Y,collapseAll:O,isIn:W(w.toastId,w.containerId),key:`t-${w.key}`},z)))}))}var yS=require("react");var S2=require("react/jsx-runtime"),w4$=($)=>{if($==="bounce")return ez;else if($==="slide")return bS;else if($==="zoom")return xS;else if($==="flip")return CS},M4$=({data:$})=>{let{useCentrifugeSupport:X,useSocketioSupport:Y,useMittSupport:J,centrifugeChannel:Q}=$,G=yS.useContext(I8);return S2.jsx(S2.Fragment,{children:S2.jsx(X6,{card:"IOEventsCard",data:$,useCentrifugeSupport:X,useSocketioSupport:Y,useMittSupport:J,centrifugeChannel:Q,methods:{toast:(q)=>{let N={...q,transition:w4$(q.transition),position:q.position??"bottom-right",autoClose:q.autoClose??5000,style:{backgroundColor:"black",...q.sx}};E$(q.message,N)},showTelegramPopup:(q)=>{window.Telegram.WebApp.showPopup(q)},notify:(q)=>{if(typeof window>"u"||!window.Notification){console.warn("[IOEventsCard] Notifications API is not available");return}let{title:N,...D}=q,L=()=>{try{new window.Notification(N,D)}catch(F){console.error("[IOEventsCard] Failed to show notification",F)}},O=window.Notification.permission;if(O==="granted"){L();return}if(O==="denied"){console.warn("[IOEventsCard] Notification permission denied");return}window.Notification.requestPermission().then((F)=>{if(F==="granted")L()})},log:(q)=>{console.log("Log event",q)},redirect:(q)=>{if(q.to){let N=q.to;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(N))window.location.href=N;else G?.(N)}else window.location.reload()}},children:S2.jsx(gS,{})})})},$F=M4$;
|