@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
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { PieSimpleComponentProps } from
|
|
2
|
-
import { ToastOptions } from
|
|
3
|
-
import { CSSProperties } from
|
|
1
|
+
import { PieSimpleComponentProps } from '../../../../types';
|
|
2
|
+
import { ToastOptions } from 'react-toastify';
|
|
3
|
+
import { CSSProperties } from 'react';
|
|
4
4
|
export interface IOEventsCardData {
|
|
5
5
|
name: string;
|
|
6
6
|
useSocketioSupport?: boolean;
|
|
@@ -13,6 +13,9 @@ export interface IOEventData extends Omit<ToastOptions, 'transition' | 'style' |
|
|
|
13
13
|
transition: 'bounce' | 'slide' | 'zoom' | 'flip';
|
|
14
14
|
sx: CSSProperties;
|
|
15
15
|
}
|
|
16
|
+
export interface NotificationEvent extends NotificationOptions {
|
|
17
|
+
title: string;
|
|
18
|
+
}
|
|
16
19
|
export interface IOEventsCardProps extends PieSimpleComponentProps<IOEventsCardData> {
|
|
17
20
|
}
|
|
18
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/IOEventsCard/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/IOEventsCard/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CACrC,YAAY,EACZ,YAAY,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAC1E;IACG,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;IAChD,EAAE,EAAE,aAAa,CAAA;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC1D,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB,CAAC,gBAAgB,CAAC;CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IOEventsCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/IOEventsCard/ui/IOEventsCard.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAe,iBAAiB,
|
|
1
|
+
{"version":3,"file":"IOEventsCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/IOEventsCard/ui/IOEventsCard.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAe,iBAAiB,EAAqB,MAAM,UAAU,CAAA;AAiB5E,QAAA,MAAM,YAAY,GAAI,UAAU,iBAAiB,4CA2HhD,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -73,4 +73,4 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
73
73
|
Failed Guardrail Reason: ${$.guardrail.policyHint}.
|
|
74
74
|
Failure Details: ${JSON.stringify($.output.outputInfo??{})}.
|
|
75
75
|
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.
|
|
76
|
-
`.trim()}function T1($,X){return $ in X&&typeof X[$]<"u"}function qy($){return T1("modalities",$)||T1("inputAudioFormat",$)||T1("outputAudioFormat",$)||T1("inputAudioTranscription",$)||T1("turnDetection",$)||T1("inputAudioNoiseReduction",$)||T1("speed",$)}function LA($){if(!qy($)){let X=$.audio?.input?{format:c3($.audio.input.format),noiseReduction:$.audio.input.noiseReduction??null,transcription:$.audio.input.transcription,turnDetection:$.audio.input.turnDetection}:void 0,U=$.audio?.output?.voice??$.voice,Q=$.audio?.output||typeof U<"u"?{format:c3($.audio?.output?.format),voice:U,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||Q?{input:X,output:Q}:void 0}}return{model:$.model,instructions:$.instructions,toolChoice:$.toolChoice,tools:$.tools,tracing:$.tracing,providerData:$.providerData,prompt:$.prompt,outputModalities:$.modalities,audio:{input:{format:c3($.inputAudioFormat),noiseReduction:$.inputAudioNoiseReduction??null,transcription:$.inputAudioTranscription,turnDetection:$.turnDetection},output:{format:c3($.outputAudioFormat),voice:$.voice,speed:$.speed}}}}function c3($){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 x5$=q.object({itemId:q.string()}),pK=q.discriminatedUnion("role",[q.object({itemId:q.string(),previousItemId:q.string().nullable().optional(),type:q.literal("message"),role:q.literal("system"),content:q.array(q.object({type:q.literal("input_text"),text:q.string()}))}),q.object({itemId:q.string(),previousItemId:q.string().nullable().optional(),type:q.literal("message"),role:q.literal("user"),status:q.enum(["in_progress","completed"]),content:q.array(q.object({type:q.literal("input_text"),text:q.string()}).or(q.object({type:q.literal("input_audio"),audio:q.string().nullable().optional(),transcript:q.string().nullable()})))}),q.object({itemId:q.string(),previousItemId:q.string().nullable().optional(),type:q.literal("message"),role:q.literal("assistant"),status:q.enum(["in_progress","completed","incomplete"]),content:q.array(q.object({type:q.literal("output_text"),text:q.string()}).or(q.object({type:q.literal("output_audio"),audio:q.string().nullable().optional(),transcript:q.string().nullable().optional()})))})]),nK=q.object({itemId:q.string(),previousItemId:q.string().nullable().optional(),type:q.literal("function_call"),status:q.enum(["in_progress","completed","incomplete"]),arguments:q.string(),name:q.string(),output:q.string().nullable()}),rK=q.object({itemId:q.string(),previousItemId:q.string().nullable().optional(),type:q.enum(["mcp_call","mcp_tool_call"]),status:q.enum(["in_progress","completed","incomplete"]),arguments:q.string(),name:q.string(),output:q.string().nullable()}),OA=q.object({itemId:q.string(),type:q.literal("mcp_approval_request"),serverLabel:q.string(),name:q.string(),arguments:q.record(q.string(),q.any()),approved:q.boolean().optional().nullable()});var Hy=v1("openai-agents:realtime"),T$=Hy;var _A=q.object({id:q.string().optional().nullable(),conversation_id:q.string().optional().nullable(),max_output_tokens:q.number().or(q.literal("inf")).optional().nullable(),metadata:q.record(q.string(),q.any()).optional().nullable(),output_modalities:q.array(q.string()).optional().nullable(),object:q.literal("realtime.response").optional().nullable(),output:q.array(q.any()).optional().nullable(),audio:q.object({output:q.object({format:q.any().optional().nullable(),voice:q.string().optional().nullable()}).optional().nullable()}).optional().nullable(),status:q.enum(["completed","incomplete","failed","cancelled","in_progress"]).optional().nullable(),status_details:q.record(q.string(),q.any()).optional().nullable(),usage:q.object({input_tokens:q.number().optional(),input_token_details:q.record(q.string(),q.any()).optional().nullable(),output_tokens:q.number().optional(),output_token_details:q.record(q.string(),q.any()).optional().nullable()}).optional().nullable()}),Ky=q.object({id:q.string().optional(),audio:q.string().nullable().optional(),text:q.string().nullable().optional(),transcript:q.string().nullable().optional(),type:q.union([q.literal("input_text"),q.literal("input_audio"),q.literal("item_reference"),q.literal("output_text"),q.literal("output_audio")])}),o0=q.object({id:q.string().optional(),arguments:q.string().optional(),call_id:q.string().optional(),content:q.array(Ky).optional(),name:q.string().optional(),output:q.string().nullable().optional(),role:q.enum(["user","assistant","system"]).optional(),status:q.enum(["completed","incomplete","in_progress"]).optional(),type:q.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:q.string().nullable().optional(),approve:q.boolean().nullable().optional(),reason:q.string().nullable().optional(),server_label:q.string().optional(),error:q.any().nullable().optional(),tools:q.array(q.object({name:q.string(),description:q.string(),input_schema:q.record(q.string(),q.any()).optional()}).passthrough()).optional()}).passthrough(),Vy=q.object({type:q.literal("conversation.created"),event_id:q.string(),conversation:q.object({id:q.string().optional(),object:q.literal("realtime.conversation").optional()})}),By=q.object({type:q.literal("conversation.item.added"),event_id:q.string(),item:o0,previous_item_id:q.string().nullable().optional()}),Dy=q.object({type:q.literal("conversation.item.done"),event_id:q.string(),item:o0,previous_item_id:q.string().nullable().optional()}),Ly=q.object({type:q.literal("conversation.item.deleted"),event_id:q.string(),item_id:q.string()}),Oy=q.object({type:q.literal("conversation.item.input_audio_transcription.completed"),event_id:q.string(),item_id:q.string(),content_index:q.number(),transcript:q.string(),logprobs:q.array(q.any()).nullable().optional(),usage:q.object({type:q.literal("tokens"),total_tokens:q.number(),input_tokens:q.number(),input_token_details:q.object({text_tokens:q.number(),audio_tokens:q.number()}),output_tokens:q.number()}).optional()}),_y=q.object({type:q.literal("conversation.item.input_audio_transcription.delta"),event_id:q.string(),item_id:q.string(),content_index:q.number().optional(),delta:q.string().optional(),logprobs:q.array(q.any()).nullable().optional()}),Ny=q.object({type:q.literal("conversation.item.input_audio_transcription.failed"),event_id:q.string(),item_id:q.string(),content_index:q.number(),error:q.object({code:q.string().optional(),message:q.string().optional(),param:q.string().optional(),type:q.string().optional()})}),Fy=q.object({type:q.literal("conversation.item.retrieved"),event_id:q.string(),item:o0}),wy=q.object({type:q.literal("conversation.item.truncated"),event_id:q.string(),item_id:q.string(),audio_end_ms:q.number(),content_index:q.number()}),zy=q.object({type:q.literal("conversation.item.create"),item:o0,event_id:q.string().optional(),previous_item_id:q.string().nullable().optional()}),My=q.object({type:q.literal("conversation.item.delete"),item_id:q.string(),event_id:q.string().optional()}),Ay=q.object({type:q.literal("conversation.item.retrieve"),item_id:q.string(),event_id:q.string().optional()}),Py=q.object({type:q.literal("conversation.item.truncate"),item_id:q.string(),audio_end_ms:q.number(),content_index:q.number(),event_id:q.string().optional()}),Zy=q.object({type:q.literal("error"),event_id:q.string().optional(),error:q.any().optional()}),vy=q.object({type:q.literal("input_audio_buffer.cleared"),event_id:q.string()}),Ey=q.object({type:q.literal("input_audio_buffer.append"),audio:q.string(),event_id:q.string().optional()}),ky=q.object({type:q.literal("input_audio_buffer.clear"),event_id:q.string().optional()}),Iy=q.object({type:q.literal("input_audio_buffer.commit"),event_id:q.string().optional()}),jy=q.object({type:q.literal("input_audio_buffer.committed"),event_id:q.string(),item_id:q.string(),previous_item_id:q.string().nullable().optional()}),by=q.object({type:q.literal("input_audio_buffer.speech_started"),event_id:q.string(),item_id:q.string(),audio_start_ms:q.number()}),Ry=q.object({type:q.literal("input_audio_buffer.speech_stopped"),event_id:q.string(),item_id:q.string(),audio_end_ms:q.number()}),Sy=q.object({type:q.literal("output_audio_buffer.started"),event_id:q.string()}).passthrough(),Ty=q.object({type:q.literal("output_audio_buffer.stopped"),event_id:q.string()}).passthrough(),xy=q.object({type:q.literal("output_audio_buffer.cleared"),event_id:q.string()}),Cy=q.object({type:q.literal("rate_limits.updated"),event_id:q.string(),rate_limits:q.array(q.object({limit:q.number().optional(),name:q.enum(["requests","tokens"]).optional(),remaining:q.number().optional(),reset_seconds:q.number().optional()}))}),gy=q.object({type:q.literal("response.output_audio.delta"),event_id:q.string(),item_id:q.string(),content_index:q.number(),delta:q.string(),output_index:q.number(),response_id:q.string()}),fy=q.object({type:q.literal("response.output_audio.done"),event_id:q.string(),item_id:q.string(),content_index:q.number(),output_index:q.number(),response_id:q.string()}),hy=q.object({type:q.literal("response.output_audio_transcript.delta"),event_id:q.string(),item_id:q.string(),content_index:q.number(),delta:q.string(),output_index:q.number(),response_id:q.string()}),yy=q.object({type:q.literal("response.output_audio_transcript.done"),event_id:q.string(),item_id:q.string(),content_index:q.number(),transcript:q.string(),output_index:q.number(),response_id:q.string()}),my=q.object({type:q.literal("response.content_part.added"),event_id:q.string(),item_id:q.string(),content_index:q.number(),output_index:q.number(),response_id:q.string(),part:q.object({audio:q.string().optional(),text:q.string().optional(),transcript:q.string().optional(),type:q.enum(["text","audio"]).optional()})}),uy=q.object({type:q.literal("response.content_part.done"),event_id:q.string(),item_id:q.string(),content_index:q.number(),output_index:q.number(),response_id:q.string(),part:q.object({audio:q.string().optional(),text:q.string().optional(),transcript:q.string().optional(),type:q.enum(["text","audio"]).optional()})}),cy=q.object({type:q.literal("response.created"),event_id:q.string(),response:_A}),oK=q.object({type:q.literal("response.done"),event_id:q.string(),response:_A}),dy=q.object({type:q.literal("response.function_call_arguments.delta"),event_id:q.string(),item_id:q.string(),call_id:q.string(),delta:q.string(),output_index:q.number(),response_id:q.string()}),ly=q.object({type:q.literal("response.function_call_arguments.done"),event_id:q.string(),item_id:q.string(),call_id:q.string(),arguments:q.string(),output_index:q.number(),response_id:q.string()}),iy=q.object({type:q.literal("response.output_item.added"),event_id:q.string(),item:o0,output_index:q.number(),response_id:q.string()}),py=q.object({type:q.literal("response.output_item.done"),event_id:q.string(),item:o0,output_index:q.number(),response_id:q.string()}),ny=q.object({type:q.literal("response.output_text.delta"),event_id:q.string(),item_id:q.string(),content_index:q.number(),delta:q.string(),output_index:q.number(),response_id:q.string()}),ry=q.object({type:q.literal("response.output_text.done"),event_id:q.string(),item_id:q.string(),content_index:q.number(),text:q.string(),output_index:q.number(),response_id:q.string()}),oy=q.object({type:q.literal("session.created"),event_id:q.string(),session:q.any()}),ay=q.object({type:q.literal("session.updated"),event_id:q.string(),session:q.any()}),ty=q.object({type:q.literal("response.cancel"),event_id:q.string().optional(),response_id:q.string().optional()}),sy=q.object({type:q.literal("response.create"),event_id:q.string().optional(),response:q.any().optional()}),ey=q.object({type:q.literal("session.update"),event_id:q.string().optional(),session:q.any()}),$m=q.object({type:q.literal("mcp_list_tools.in_progress"),event_id:q.string().optional(),item_id:q.string().optional()}),Xm=q.object({type:q.literal("mcp_list_tools.completed"),event_id:q.string().optional(),item_id:q.string().optional()}),Um=q.object({type:q.literal("response.mcp_call_arguments.delta"),event_id:q.string(),response_id:q.string(),item_id:q.string(),output_index:q.number(),delta:q.string(),obfuscation:q.string()}),Ym=q.object({type:q.literal("response.mcp_call_arguments.done"),event_id:q.string(),response_id:q.string(),item_id:q.string(),output_index:q.number(),arguments:q.string()}),Qm=q.object({type:q.literal("response.mcp_call.in_progress"),event_id:q.string(),output_index:q.number(),item_id:q.string()}),Wm=q.object({type:q.literal("response.mcp_call.completed"),event_id:q.string(),output_index:q.number(),item_id:q.string()}),Jm=q.object({type:q.literal("mcp_list_tools.failed"),event_id:q.string().optional(),item_id:q.string().optional()}),Gm=q.object({type:q.string(),event_id:q.string().optional().nullable()}).passthrough(),qm=q.discriminatedUnion("type",[Vy,By,Dy,Ly,Oy,_y,Ny,Fy,wy,Zy,vy,jy,by,Ry,Sy,Ty,xy,Cy,gy,fy,hy,yy,my,uy,cy,oK,dy,ly,iy,py,ny,ry,oy,ay,$m,Xm,Jm,Um,Ym,Qm,Wm]),y5$=q.discriminatedUnion("type",[zy,My,Ay,Py,Ey,ky,Iy,ty,sy,ey]);function a0($){let X=JSON.parse($.data.toString()),U=qm.safeParse(X);if(!U.success){let Q=Gm.safeParse(X);if(Q.success)return{data:Q.data,isGeneric:!0};return{data:null,isGeneric:!0}}return{data:U.data,isGeneric:!1}}var NA="gpt-realtime",j6={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 x1 extends n0{#$;#X;#W=null;#U=null;eventEmitter=new M4;constructor($={}){super();this.#$=$.model??NA,this.#X=$.apiKey}get currentModel(){return this.#$}set currentModel($){this.#$=$}_afterAudioDoneEvent(){}get _rawSessionConfig(){return this.#U??null}async _getApiKey($){let X=$.apiKey??this.#X;if(typeof X==="function")return await X();return X}_onMessage($){let{data:X,isGeneric:U}=a0($);if(X===null)return;if(this.emit("*",X),U)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.#U=X.session;if(X.type==="response.done"){let Q=oK.safeParse(X);if(!Q.success){T$.error("Error parsing response done event",Q.error);return}let Y=Q.data.response.usage?.input_tokens??0,W=Q.data.response.usage?.output_tokens??0,J=Y+W,G=new I6({inputTokens:Y,inputTokensDetails:Q.data.response.usage?.input_token_details??{},outputTokens:W,outputTokensDetails:Q.data.response.usage?.output_token_details??{},totalTokens:J});this.emit("usage_update",G),this.emit("turn_done",{type:"response_done",response:{id:Q.data.response.id??"",output:Q.data.response.output??[],usage:{inputTokens:Y,inputTokensDetails:Q.data.response.usage?.input_token_details??{},outputTokens:W,outputTokensDetails:Q.data.response.usage?.output_token_details??{},totalTokens:J}}});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 Q=X.item.server_label??"",Y=X.item.tools??[];try{this.emit("mcp_tools_listed",{serverLabel:Q,tools:Y})}catch(W){T$.error("Error emitting mcp_tools_listed",W,X.item)}return}if(X.item.type==="message"){let Q=X.type==="conversation.item.added"||X.type==="conversation.item.done"?X.previous_item_id:null,Y=pK.parse({itemId:X.item.id,previousItemId:Q,type:X.item.type,role:X.item.role,content:X.item.content,status:X.item.status});this.emit("item_update",Y);return}if(X.item.type==="mcp_approval_request"&&X.type==="conversation.item.done"){let Q=X.item,Y=OA.parse({itemId:Q.id,type:Q.type,serverLabel:Q.server_label,name:Q.name,arguments:JSON.parse(Q.arguments||"{}"),approved:Q.approved});this.emit("item_update",Y),this.emit("mcp_approval_request",Y);return}if(X.item.type==="mcp_tool_call"||X.item.type==="mcp_call"){let Q=X.type==="conversation.item.done"?"completed":"in_progress",Y=rK.parse({itemId:X.item.id,type:X.item.type,status:Q,arguments:X.item.arguments,name:X.item.name,output:X.item.output});if(this.emit("item_update",Y),X.type==="conversation.item.done")this.emit("mcp_tool_call_completed",Y);return}}if(X.type==="response.mcp_call.in_progress"){let Q=X;this.sendEvent({type:"conversation.item.retrieve",item_id:Q.item_id});return}if(X.type==="mcp_list_tools.in_progress"){let Q=X;if(Q.item_id)this.sendEvent({type:"conversation.item.retrieve",item_id:Q.item_id});return}if(X.type==="response.output_item.done"||X.type==="response.output_item.added"){let Q=X.item;if(Q.type==="function_call"&&Q.status==="completed"){let Y=nK.parse({itemId:Q.id,type:Q.type,status:"in_progress",arguments:Q.arguments,name:Q.name,output:null});this.emit("item_update",Y),this.emit("function_call",{id:Q.id,type:"function_call",callId:Q.call_id??"",arguments:Q.arguments??"",name:Q.name??""});return}if(Q.type==="mcp_tool_call"||Q.type==="mcp_call"){let Y=rK.parse({itemId:Q.id,type:Q.type,status:X.type==="response.output_item.done"?"completed":"in_progress",arguments:Q.arguments,name:Q.name,output:Q.output});this.emit("item_update",Y);return}if(Q.type==="message"){let Y=pK.parse({itemId:X.item.id,type:X.item.type,role:X.item.role,content:X.item.content,status:X.type==="response.output_item.done"?Q.status??"completed":Q.status??"in_progress"});this.emit("item_update",Y);return}}}_onError($){this.emit("error",{type:"error",error:$})}_onOpen(){this.emit("connected")}_onClose(){this.emit("disconnected")}sendMessage($,X,{triggerResponse:U=!0}={}){let Q=typeof $==="string"?[{type:"input_text",text:$}]:$.content.map((Y)=>{if(Y.type==="input_image")return{type:"input_image",image_url:Y.image,...Y.providerData??{}};return Y});if(this.sendEvent({type:"conversation.item.create",item:{type:"message",role:"user",content:Q},...X}),U)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=LA($),U=X.audio?.input?.noiseReduction,Q=X.audio?.input?.transcription,Y=x1.buildTurnDetectionConfig(X.audio?.input?.turnDetection),W={type:"realtime",instructions:X.instructions,model:X.model??this.#$,output_modalities:X.outputModalities??j6.outputModalities,audio:{input:{format:X.audio?.input?.format??j6.audio?.input?.format,noise_reduction:U===void 0?j6.audio?.input?.noiseReduction:U,transcription:Q===void 0?j6.audio?.input?.transcription:Q,turn_detection:Y===void 0?j6.audio?.input?.turnDetection:Y},output:{format:X.audio?.output?.format??j6.audio?.output?.format,voice:X.audio?.output?.voice??j6.audio?.output?.voice,speed:X.audio?.output?.speed??j6.audio?.output?.speed}},tool_choice:X.toolChoice??j6.toolChoice,...X.providerData??{}};if(X.prompt)W.prompt={id:X.prompt.promptId,version:X.prompt.version,variables:X.prompt.variables};if(X.tools&&X.tools.length>0)W.tools=X.tools.map((J)=>{let G=(H)=>Object.fromEntries(Object.entries(H).filter(([,K])=>typeof K<"u"));if(J.type==="mcp")return G({type:"mcp",server_label:J.server_label,server_url:J.server_url,server_description:J.server_description,connector_id:J.connector_id,authorization:J.authorization,headers:J.headers,allowed_tools:J.allowed_tools,require_approval:J.require_approval});return G({type:J.type,name:J.name,description:J.description,parameters:J.parameters})});return W}buildSessionPayload($){return this._getMergedSessionConfig($)}static buildTurnDetectionConfig($){if(typeof $>"u")return;if($===null)return null;let{type:X,createResponse:U,create_response:Q,eagerness:Y,interruptResponse:W,interrupt_response:J,prefixPaddingMs:G,prefix_padding_ms:H,silenceDurationMs:K,silence_duration_ms:V,threshold:B,idleTimeoutMs:D,idle_timeout_ms:L,..._}=$,O={type:X,create_response:U??Q,eagerness:Y,interrupt_response:W??J,prefix_padding_ms:G??H,silence_duration_ms:K??V,idle_timeout_ms:D??L,threshold:B,..._};return Object.keys(O).forEach((N)=>{if(O[N]===void 0)delete O[N]}),Object.keys(O).length>0?O:void 0}set _tracingConfig($){this.#W=$}_updateTracingConfig($){if(typeof this.#W>"u")this.#W=null;if($==="auto"){this.sendEvent({type:"session.update",session:{type:"realtime",tracing:"auto"}});return}if(this.#W!==null&&typeof this.#W!=="string"&&typeof $!=="string"){T$.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){T$.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.#W===null||typeof this.#W==="string"){this.sendEvent({type:"session.update",session:{type:"realtime",tracing:$}});return}if($?.group_id!==this.#W?.group_id||$?.metadata!==this.#W?.metadata||$?.workflow_name!==this.#W?.workflow_name){T$.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.#W),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,U=!0){this.sendEvent({type:"conversation.item.create",item:{type:"function_call_output",output:X,call_id:$.callId}});try{let Q=nK.parse({itemId:$.id,previousItemId:$.previousItemId,type:"function_call",status:"completed",arguments:$.arguments,name:$.name,output:X});this.emit("item_update",Q)}catch(Q){T$.error("Error parsing tool call item",Q,$)}if(U)this.sendEvent({type:"response.create"})}sendAudio($,{commit:X=!1}={}){if(this.sendEvent({type:"input_audio_buffer.append",audio:cK($)}),X)this.sendEvent({type:"input_audio_buffer.commit"})}resetHistory($,X){let{removals:U,additions:Q,updates:Y}=GA($,X),W=new Set(U.map((G)=>G.itemId));for(let G of Y)W.add(G.itemId);if(W.size>0)for(let G of W)this.sendEvent({type:"conversation.item.delete",item_id:G});let J=[...Q,...Y];for(let G of J)if(G.type==="message"){let H={type:"message",role:G.role,content:G.content,id:G.itemId};if(G.role!=="system"&&G.status)H.status=G.status;this.sendEvent({type:"conversation.item.create",item:H})}else if(G.type==="function_call")T$.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 t0 extends x1{options;#$;#X={status:"disconnected",peerConnection:void 0,dataChannel:void 0,callId:void 0};#W;#U=!1;#J=!1;#Q;#G=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.#W=$.useInsecureApiKey??!1}get callId(){return this.#X.callId}get status(){return this.#X.status}get connectionState(){return this.#X}get muted(){return this.#J}async connect($){if(this.#X.status==="connected")return;if(this.#X.status==="connecting"){if(this.#Q)return this.#Q;T$.warn("Realtime connection already in progress but no promise found");return}let X=$.model??this.currentModel;this.currentModel=X;let U=$.url??this.#$,Q=await this._getApiKey($),Y=typeof Q==="string"&&Q.startsWith("ek_");if(Y3()&&!this.#W&&!Y)throw new p("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 W=++this.#G;return this.#Q=new Promise(async(J,G)=>{try{let H={...$.initialSessionConfig||{},model:this.currentModel},K=new URL(U),V=new RTCPeerConnection,B=V.createDataChannel("oai-events"),D=void 0,L=(F)=>{F.onconnectionstatechange=()=>{switch(F.connectionState){case"disconnected":case"failed":case"closed":this.close();break}}};L(V),this.#X={status:"connecting",peerConnection:V,dataChannel:B,callId:D},this.emit("connection_change",this.#X.status),B.addEventListener("open",()=>{this.#X={status:"connecting",peerConnection:V,dataChannel:B,callId:D};let F=!1,M,Z=()=>{if(F)return;if(F=!0,M!==void 0)clearTimeout(M);if(B.removeEventListener("message",E),B.removeEventListener("close",C),this.#X.status!=="connecting"||this.#X.dataChannel!==B||B.readyState!=="open"){if(this.#X.dataChannel===B)this.close();G(Error("Connection closed before session config was acknowledged"));return}this.#X={status:"connected",peerConnection:V,dataChannel:B,callId:D},this.emit("connection_change",this.#X.status),this._onOpen(),J()},E=(h)=>{if(JSON.parse(h.data).type==="session.updated")Z()},C=()=>{Z()};M=setTimeout(()=>{if(!F)T$.warn("Timed out waiting for session.updated ack — resolving connect() anyway"),Z()},5000),B.addEventListener("message",E),B.addEventListener("close",C),B.addEventListener("message",(h)=>{this._onMessage(h);let{data:l,isGeneric:U$}=a0(h);if(!l||U$)return;if(l.type==="response.created")this.#U=!0;else if(l.type==="response.done")this.#U=!1;if(l.type==="session.created"){this._tracingConfig=l.session.tracing;let i=typeof H.tracing>"u"?"auto":H.tracing;this._updateTracingConfig(i)}}),this.updateSessionConfig(H)}),B.addEventListener("error",(F)=>{this.close(),this._onError(F),G(F)});let _=this.options.audioElement??document.createElement("audio");_.autoplay=!0,V.ontrack=(F)=>{_.srcObject=F.streams[0]};let O=this.options.mediaStream??await navigator.mediaDevices.getUserMedia({audio:!0});if(V.addTrack(O.getAudioTracks()[0]),this.options.changePeerConnection){let F=V;if(V=await this.options.changePeerConnection(V),F!==V)F.onconnectionstatechange=null;L(V),this.#X={...this.#X,peerConnection:V}}let N=await V.createOffer();if(await V.setLocalDescription(N),!N.sdp)throw Error("Failed to create offer");let P=await fetch(K,{method:"POST",body:N.sdp,headers:{"Content-Type":"application/sdp",Authorization:`Bearer ${Q}`,"X-OpenAI-Agents-SDK":m3["X-OpenAI-Agents-SDK"]}});D=P.headers?.get("Location")?.split("/").pop(),this.#X={...this.#X,callId:D};let z={type:"answer",sdp:await P.text()};await V.setRemoteDescription(z)}catch(H){this.close(),this._onError(H),G(H)}}).finally(()=>{if(this.#G===W)this.#Q=void 0}),this.#Q}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.#J=$,this.#X.peerConnection)this.#X.peerConnection.getSenders().forEach((U)=>{if(U.track)U.track.enabled=!$})}_afterAudioDoneEvent(){this.#U=!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.#U)this.sendEvent({type:"response.cancel"}),this.#U=!1;this.sendEvent({type:"output_audio_buffer.clear"})}}var FA=globalThis.WebSocket;function wA(){return!0}var zA=!0;class X8 extends x1{#$;#X;#W;#U={status:"disconnected",websocket:void 0};#J;#Q;#G;_firstAudioTimestamp;_audioLengthMs=0;#Y=!1;#q;#K;#H(){this.#Q=void 0,this._firstAudioTimestamp=void 0,this._audioLengthMs=0,this.#G=void 0}constructor($={}){super($);this.#X=$.url,this.#W=$.url,this.#J=$.useInsecureApiKey??!1,this.#q=$.createWebSocket,this.#K=$.skipOpenEventListeners??!1}getCommonRequestHeaders(){return m3}get status(){return this.#U.status}get connectionState(){return this.#U}get muted(){return null}get currentItemId(){return this.#Q}_onAudio($){this.emit("audio",$)}_afterAudioDoneEvent(){this.#H()}async#B($,X,U){if(this.#U.websocket){$();return}if(!this.#$)throw new p("API key is not set. Please call `connect()` with an API key first.");if(wA()&&!this.#$.startsWith("ek_")&&!this.#J)throw new p("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 Q=null;if(this.#q)Q=await this.#q({url:this.#X,apiKey:this.#$});else{let W=zA?["realtime","openai-insecure-api-key."+this.#$,HA]:{headers:{Authorization:`Bearer ${this.#$}`,...this.getCommonRequestHeaders()}};Q=new FA(this.#X,W)}this.#U={status:"connecting",websocket:Q},this.emit("connection_change",this.#U.status);let Y=()=>{this.#U={status:"connected",websocket:Q},this.emit("connection_change",this.#U.status),this._onOpen(),$()};if(this.#K===!0)Y();else Q.addEventListener("open",Y);Q.addEventListener("error",(W)=>{this._onError(W),this.#U={status:"disconnected",websocket:void 0},this.emit("connection_change",this.#U.status),X(W)}),Q.addEventListener("message",(W)=>{this._onMessage(W);let{data:J,isGeneric:G}=a0(W);if(!J||G)return;if(J.type==="response.output_audio.delta"){if(this.#G=J.content_index,this.#Q=J.item_id,this._firstAudioTimestamp===void 0)this._firstAudioTimestamp=Date.now(),this._audioLengthMs=0;let H=uK(J.delta),K=this._rawSessionConfig?.audio?.output?.format;if(K&&typeof K==="object"){let B=K.type;if(B==="audio/pcmu"||B==="audio/pcma")this._audioLengthMs+=H.byteLength/8;else if(B==="audio/pcm"){let D=K.rate??24000;this._audioLengthMs+=H.byteLength/2/D*1000}else this._audioLengthMs+=H.byteLength/24/2}else if(typeof K==="string")if(K.startsWith("g711_"))this._audioLengthMs+=H.byteLength/8;else this._audioLengthMs+=H.byteLength/24/2;else this._audioLengthMs+=H.byteLength/24/2;let V={type:"audio",data:H,responseId:J.response_id};this._onAudio(V)}else if(J.type==="input_audio_buffer.speech_started"){let H=this._rawSessionConfig?.audio?.input?.turn_detection?.interrupt_response??!1;this.interrupt(!H)}else if(J.type==="response.created")this.#Y=!0;else if(J.type==="response.done")this.#Y=!1;else if(J.type==="session.created"){this._tracingConfig=J.session.tracing;let H=typeof U.tracing>"u"?"auto":U.tracing;this._updateTracingConfig(H)}}),Q.addEventListener("close",()=>{this.#U={status:"disconnected",websocket:void 0},this.emit("connection_change",this.#U.status),this._onClose()})}async connect($){let X=$.model??this.currentModel;this.currentModel=X,this.#$=await this._getApiKey($);let U=$.callId,Q;if($.url)Q=$.url,this.#W=$.url;else if(U)Q=`wss://api.openai.com/v1/realtime?call_id=${U}`;else if(this.#W)Q=this.#W;else Q=`wss://api.openai.com/v1/realtime?model=${this.currentModel}`;this.#X=Q;let Y={...$.initialSessionConfig||{},model:this.currentModel};await new Promise((W,J)=>{this.#B(W,J,Y).catch(J)}),await this.updateSessionConfig(Y)}sendEvent($){if(!this.#U.websocket)throw Error("WebSocket is not connected. Make sure you call `connect()` before sending events.");this.#U.websocket.send(JSON.stringify($))}close(){this.#U.websocket?.close(),this.#Q=void 0,this._firstAudioTimestamp=void 0,this._audioLengthMs=0,this.#G=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.#U.status==="connected")super.sendAudio($,X)}_cancelResponse(){if(this.#Y)this.sendEvent({type:"response.cancel"}),this.#Y=!1}_interrupt($,X=!0){if($<0)return;if(X)this._cancelResponse();let U=this._audioLengthMs??Number.POSITIVE_INFINITY,Q=Math.max(0,Math.floor(Math.min($,U)));this.emit("audio_interrupted"),this.sendEvent({type:"conversation.item.truncate",item_id:this.#Q,content_index:this.#G,audio_end_ms:Q})}interrupt($=!0){if(!this.#Q||typeof this._firstAudioTimestamp!=="number")return;let X=Date.now()-this._firstAudioTimestamp;if(X>=0)this._interrupt(X,$);this.#H()}}var Hm=Symbol("backgroundResult");function aK($){return typeof $==="object"&&$!==null&&Hm in $}function MA($){return $.type==="function"||$.type==="hosted_tool"&&$.name==="hosted_mcp"}function AA($){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 p(`Invalid tool type: ${$}`)}function Km(){return JSON.parse(JSON.stringify(j6))}var tK="Tool execution was not approved.";function Vm($){return $ instanceof Error?$.message:String($)}class s0 extends M4{initialAgent;options;#$;#X;#W;#U;#J=[];#Q;#G={};#Y=[];#q;#K={};#H=!1;#B=new Map;#V=[];#L=Km();#O=!0;constructor($,X={}){super();if(this.initialAgent=$,this.options=X,typeof X.transport>"u"&&qA()||X.transport==="webrtc")this.#$=new t0;else if(X.transport==="websocket"||typeof X.transport>"u")this.#$=new X8;else this.#$=X.transport;this.#X=$,this.#U=new f$({...X.context??{},history:this.#Y}),this.#J=(X.outputGuardrails??[]).map(BA),this.#Q=VA(X.outputGuardrailSettings??{}),this.#q=X.historyStoreAudio??!1,this.#O=X.automaticallyTriggerResponseForMcpToolCalls??!0}get transport(){return this.#$}get currentAgent(){return this.#X}get usage(){return this.#U.usage}get context(){return this.#U}get muted(){return this.#$.muted}get history(){return this.#Y}get availableMcpTools(){return this.#V}async#D($){this.#X=$;let X=await this.#X.getEnabledHandoffs(this.#U),U=X.map((J)=>J.getHandoffAsFunctionTool()),Q=(await this.#X.getAllTools(this.#U)).filter(MA).map(AA),Y=typeof this.#X.tools<"u"||typeof this.#X.mcpServers<"u",W=X.length>0;this.#W=Y||W?[...Q,...U]:void 0,this.#w()}async#_($={}){let X=$??{},U=this.options.config??{},Q=await this.#X.getSystemPrompt(this.#U),Y=(B)=>{return B.audio?.output?.voice},W=this.options.tracingDisabled?null:this.options.workflowName?{workflow_name:this.options.workflowName}:"auto";if(W!==null&&W!=="auto"){if(this.options.groupId)W.group_id=this.options.groupId;if(this.options.traceMetadata)W.metadata=this.options.traceMetadata}else if(this.options.groupId||this.options.traceMetadata)T$.warn("In order to set traceMetadata or a groupId you need to specify a workflowName.");let J=Y(X)??Y(U),G=X.voice??U.voice,H=typeof J<"u"?J:typeof G<"u"?G:this.#X.voice,V={...{...this.#L??{},...U,...X},instructions:Q,voice:H,model:this.options.model,tools:this.#W,tracing:W,prompt:typeof this.#X.prompt==="function"?await this.#X.prompt(this.#U,this.#X):this.#X.prompt};return this.#L=V,V}async getInitialSessionConfig($={}){return await this.#D(this.initialAgent),this.#_({...this.options.config??{},...$??{}})}static async computeInitialSessionConfig($,X={},U={}){let Q=new s0($,X);try{return await Q.getInitialSessionConfig(U)}finally{Q.close()}}async updateAgent($){return this.#X.emit("agent_handoff",this.#U,$),this.emit("agent_handoff",this.#U,this.#X,$),await this.#D($),await this.#$.updateSessionConfig(await this.#_()),$}async#z($,X){let U=await X.onInvokeHandoff(this.#U,$.arguments);this.#X.emit("agent_handoff",this.#U,U),this.emit("agent_handoff",this.#U,this.#X,U),await this.#D(U),await this.#$.updateSessionConfig(await this.#_());let Q=r9(U);return this.#$.sendFunctionCallOutput($,Q,!0),U}async#M($,X){let{toolErrorFormatter:U}=this.options;if(!U)return tK;try{let Q=await U({kind:"approval_rejected",toolType:"function",toolName:$,callId:X,defaultMessage:tK,runContext:this.#U});if(typeof Q==="string")return Q;if(typeof Q<"u")T$.warn("toolErrorFormatter returned a non-string value. Falling back to the default tool approval rejection message.")}catch(Q){T$.warn(`toolErrorFormatter threw while formatting approval rejection: ${Vm(Q)}`)}return tK}async#N($,X){this.#U.context.history=JSON.parse(JSON.stringify(this.#Y));let U=$.arguments;if(X.parameters)if(e$(X.parameters))U=X.parameters.parse(U);else U=JSON.parse(U);if(await X.needsApproval(this.#U,U,$.callId)){let H=this.context.isToolApproved({toolName:X.name,callId:$.callId});if(H===!1){this.emit("agent_tool_start",this.#U,this.#X,X,{toolCall:$}),this.#X.emit("agent_tool_start",this.#U,X,{toolCall:$});let K=await this.#M(X.name,$.callId);this.#$.sendFunctionCallOutput($,K,!0),this.emit("agent_tool_end",this.#U,this.#X,X,K,{toolCall:$}),this.#X.emit("agent_tool_end",this.#U,X,K,{toolCall:$});return}else if(typeof H>"u"){this.emit("tool_approval_requested",this.#U,this.#X,{type:"function_approval",tool:X,approvalItem:new H$($,this.#X)});return}}let Y=await t9({guardrails:X.inputGuardrails,context:this.#U,agent:this.#X,toolCall:$});this.emit("agent_tool_start",this.#U,this.#X,X,{toolCall:$}),this.#X.emit("agent_tool_start",this.#U,X,{toolCall:$}),this.#U.context.history=JSON.parse(JSON.stringify(this.#Y));let W=Y.type==="reject"?Y.message:await f9({tool:X,runContext:this.#U,input:$.arguments,details:{toolCall:$}}),J=Y.type==="reject"?W:await s9({guardrails:X.outputGuardrails,context:this.#U,agent:this.#X,toolCall:$,toolOutput:W}),G;if(aK(J))G=N6(J.content),this.#$.sendFunctionCallOutput($,G,!1);else G=N6(J),this.#$.sendFunctionCallOutput($,G,!0);this.emit("agent_tool_end",this.#U,this.#X,X,G,{toolCall:$}),this.#X.emit("agent_tool_end",this.#U,X,G,{toolCall:$})}async#A($){let X=await this.#X.getEnabledHandoffs(this.#U),U=new Map(X.map((J)=>[J.toolName,J])),Q=await this.#X.getAllTools(this.#U),Y=new Map(Q.map((J)=>[J.name,J])),W=U.get($.name);if(W)await this.#z($,W);else{let J=Y.get($.name);if(J&&J.type==="function")await this.#N($,J);else throw new P$(`Tool ${$.name} not found`)}}async#F($,X,U){if(this.#J.length===0)return;let Q={agent:this.#X,agentOutput:$,context:this.#U},W=(await Promise.all(this.#J.map((J)=>J.run(Q)))).find((J)=>J.output.tripwireTriggered);if(W){if(this.#K[X])return;this.#K[X]=!0;let J=new d4(`Output guardrail triggered: ${JSON.stringify(W.output.outputInfo)}`,W);this.emit("guardrail_tripped",this.#U,this.#X,J,{itemId:U}),this.interrupt();let G=DA(W);this.sendMessage(G);return}}#P(){this.#$.on("*",(U)=>{if(this.emit("transport_event",U),U.type==="conversation.item.input_audio_transcription.completed")try{let Q=U;this.#Y=lK(this.#Y,Q,this.#q),this.#U.context.history=this.#Y,this.emit("history_updated",this.#Y)}catch(Q){this.emit("error",{type:"error",error:Q})}}),this.#$.on("mcp_tools_listed",({serverLabel:U,tools:Q})=>{try{this.#B.set(U,Q??[]),this.#w()}catch(Y){this.emit("error",{type:"error",error:Y})}}),this.#$.on("audio",(U)=>{if(!this.#H)this.#H=!0,this.emit("audio_start",this.#U,this.#X);this.emit("audio",U)}),this.#$.on("turn_started",()=>{this.#H=!1,this.emit("agent_start",this.#U,this.#X),this.#X.emit("agent_start",this.#U,this.#X)}),this.#$.on("turn_done",(U)=>{let Q=U.response.output[U.response.output.length-1],Y=dK(Q)??"",W=Q?.id??"";this.emit("agent_end",this.#U,this.#X,Y),this.#X.emit("agent_end",this.#U,Y),this.#F(Y,U.response.id,W)}),this.#$.on("audio_done",()=>{if(this.#H)this.#H=!1;this.emit("audio_stopped",this.#U,this.#X)});let $=0,X;this.#$.on("audio_transcript_delta",(U)=>{try{let{delta:Q,itemId:Y,responseId:W}=U;if(X!==Y)X=Y,$=0;let G=(this.#G[Y]??"")+Q;if(this.#G[Y]=G,this.#Q.debounceTextLength<0)return;let H=Math.floor(G.length/this.#Q.debounceTextLength);if(H>$)$=H,this.#F(G,W,Y)}catch(Q){this.emit("error",{type:"error",error:Q})}}),this.#$.on("item_update",(U)=>{try{let Q=!this.#Y.some((Y)=>Y.itemId===U.itemId);if(this.#Y=lK(this.#Y,U,this.#q),this.#U.context.history=this.#Y,Q){let Y=this.#Y.find((W)=>W.itemId===U.itemId);if(Y)this.emit("history_added",Y)}this.emit("history_updated",this.#Y)}catch(Q){this.emit("error",{type:"error",error:Q})}}),this.#$.on("item_deleted",(U)=>{try{this.#Y=this.#Y.filter((Q)=>Q.itemId!==U.itemId),this.#U.context.history=this.#Y,this.emit("history_updated",this.#Y)}catch(Q){this.emit("error",{type:"error",error:Q})}}),this.#$.on("function_call",async(U)=>{try{await this.#A(U)}catch(Q){T$.error("Error handling function call",Q),this.emit("error",{type:"error",error:Q})}}),this.#$.on("usage_update",(U)=>{this.#U.usage.add(U)}),this.#$.on("audio_interrupted",()=>{if(this.#H)this.#H=!1;this.emit("audio_interrupted",this.#U,this.#X)}),this.#$.on("error",(U)=>{this.emit("error",U)}),this.#$.on("mcp_tool_call_completed",(U)=>{if(this.emit("mcp_tool_call_completed",this.#U,this.#X,U),this.#O)this.#$.sendEvent({type:"response.create"})}),this.#$.on("mcp_approval_request",(U)=>{this.emit("tool_approval_requested",this.#U,this.#X,{type:"mcp_approval_request",approvalItem:KA(this.#X,U)})})}#w(){let $=this.#W?.filter((J)=>J.type==="mcp"),X=(J)=>{let G=J.allowed_tools;if(!G)return;if(Array.isArray(G))return G;if(G&&Array.isArray(G.tool_names))return G.tool_names;return},U=new Map;for(let J of $){let G=this.#B.get(J.server_label)??[],H=X(J);for(let K of G){if(H&&!H.includes(K.name))continue;if(!U.has(K.name))U.set(K.name,K)}}let Q=Array.from(U.values()),Y=this.#V;if(Y.length!==Q.length||JSON.stringify(Y.map((J)=>J.name).sort())!==JSON.stringify(Q.map((J)=>J.name).sort()))this.#V=Q,this.emit("mcp_tools_changed",this.#V)}async connect($){await this.#D(this.initialAgent),this.#P(),await this.#$.connect({apiKey:$.apiKey??this.options.apiKey,model:this.options.model,url:$.url,callId:$.callId,initialSessionConfig:await this.#_(this.options.config)}),this.#Y=[],this.emit("history_updated",this.#Y)}updateHistory($){let X;if(typeof $==="function")X=$(this.#Y);else X=$;this.#$.resetHistory(this.#Y,X)}sendMessage($,X={}){this.#$.sendMessage($,X)}addImage($,{triggerResponse:X=!0}={}){this.#$.addImage($,{triggerResponse:X})}mute($){this.#$.mute($)}close(){this.#K={},this.#$.close()}sendAudio($,X={}){this.#$.sendAudio($,X)}interrupt(){this.#$.interrupt()}async approve($,X={alwaysApprove:!1}){this.#U.approveTool($,X);let U=$.toolName??$.rawItem.name,Q=this.#X.tools.find((Y)=>Y.name===U);if(Q&&Q.type==="function"&&$.rawItem.type==="function_call")await this.#N($.rawItem,Q);else if($.rawItem.type==="hosted_tool_call"){if(X.alwaysApprove)T$.warn("Always approving MCP tools is not supported. Use the allowed tools configuration instead.");let Y=iK($);this.#$.sendMcpResponse(Y,!0)}else throw new P$(`Tool ${U??"unknown"} not found`)}async reject($,X={alwaysReject:!1}){this.#U.rejectTool($,X);let U=$.toolName??$.rawItem.name,Q=this.#X.tools.find((Y)=>Y.name===U);if(Q&&Q.type==="function"&&$.rawItem.type==="function_call")await this.#N($.rawItem,Q);else if($.rawItem.type==="hosted_tool_call"){if(X.alwaysReject)T$.warn("Always rejecting MCP tools is not supported. Use the allowed tools configuration instead.");let Y=iK($);this.#$.sendMcpResponse(Y,!1)}else throw new P$(`Tool ${U??"unknown"} not found`)}}var Bm=class{apply($,X){if(!X.type)return;let U=Array.isArray(X.type)?X.type:[X.type],Q=new Set(U);if(!Q.has("string"))$.string=!1;if(!Q.has("number")&&!Q.has("integer"))$.number=!1;if(!Q.has("boolean"))$.boolean=!1;if(!Q.has("null"))$.null=!1;if(!Q.has("array"))$.array=!1;if(!Q.has("object"))$.object=!1;if(Q.has("integer")&&$.number!==!1){let Y=$.number||q.number();if(Y instanceof q.ZodNumber)$.number=Y.int()}}},Dm=class{apply($,X){if(X.const===void 0)return;let U=X.const;if($.string=!1,$.number=!1,$.boolean=!1,$.null=!1,$.array=!1,$.object=!1,typeof U==="string")$.string=q.literal(U);else if(typeof U==="number")$.number=q.literal(U);else if(typeof U==="boolean")$.boolean=q.literal(U);else if(U===null)$.null=q.null();else if(Array.isArray(U))$.array=void 0;else if(typeof U==="object")$.object=void 0}},Lm=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 U={string:X.enum.filter((Q)=>typeof Q==="string"),number:X.enum.filter((Q)=>typeof Q==="number"),boolean:X.enum.filter((Q)=>typeof Q==="boolean"),null:X.enum.filter((Q)=>Q===null),array:X.enum.filter((Q)=>Array.isArray(Q)),object:X.enum.filter((Q)=>typeof Q==="object"&&Q!==null&&!Array.isArray(Q))};$.string=this.createTypeSchema(U.string,"string"),$.number=this.createTypeSchema(U.number,"number"),$.boolean=this.createTypeSchema(U.boolean,"boolean"),$.null=U.null.length>0?q.null():!1,$.array=U.array.length>0?void 0:!1,$.object=U.object.length>0?void 0:!1}createTypeSchema($,X){if($.length===0)return!1;if($.length===1)return q.literal($[0]);if(X==="string")return q.enum($);if(X==="number"){let[U,Q,...Y]=$;return q.union([q.literal(U),q.literal(Q),...Y.map((W)=>q.literal(W))])}if(X==="boolean")return q.union([q.literal(!0),q.literal(!1)]);return!1}},Om=class{apply($,X){let U=X;if(U.type==="string"&&U.format==="binary"&&U.contentEncoding==="binary"){let Q=q.file();if(U.minLength!==void 0)Q=Q.min(U.minLength);if(U.maxLength!==void 0)Q=Q.max(U.maxLength);if(U.contentMediaType!==void 0)Q=Q.mime(U.contentMediaType);$.file=Q,$.string=!1}}},_m=class{apply($,X){let U=X;if(X.type===void 0&&(U.minLength!==void 0||U.maxLength!==void 0||U.pattern!==void 0)){if($.string===void 0)$.string=q.string()}}},Nm=class{apply($,X){let U=X;if(U.minLength===void 0)return;if($.string!==!1){let Q=$.string||q.string();if(Q instanceof q.ZodString)$.string=Q.refine((Y)=>{return Array.from(Y).length>=U.minLength},{message:`String must be at least ${U.minLength} characters long`})}}},Fm=class{apply($,X){let U=X;if(U.maxLength===void 0)return;if($.string!==!1){let Q=$.string||q.string();if(Q instanceof q.ZodString)$.string=Q.refine((Y)=>{return Array.from(Y).length<=U.maxLength},{message:`String must be at most ${U.maxLength} characters long`})}}},wm=class{apply($,X){let U=X;if(!U.pattern)return;if($.string!==!1){let Q=$.string||q.string();if(Q instanceof q.ZodString){let Y=new RegExp(U.pattern);$.string=Q.regex(Y)}}}},zm=class{apply($,X){let U=X;if(U.minimum===void 0)return;if($.number!==!1){let Q=$.number||q.number();if(Q instanceof q.ZodNumber)$.number=Q.min(U.minimum)}}},Mm=class{apply($,X){let U=X;if(U.maximum===void 0)return;if($.number!==!1){let Q=$.number||q.number();if(Q instanceof q.ZodNumber)$.number=Q.max(U.maximum)}}},Am=class{apply($,X){let U=X;if(U.exclusiveMinimum===void 0)return;if($.number!==!1){let Q=$.number||q.number();if(Q instanceof q.ZodNumber)if(typeof U.exclusiveMinimum==="number")$.number=Q.gt(U.exclusiveMinimum);else $.number=!1}}},Pm=class{apply($,X){let U=X;if(U.exclusiveMaximum===void 0)return;if($.number!==!1){let Q=$.number||q.number();if(Q instanceof q.ZodNumber)if(typeof U.exclusiveMaximum==="number")$.number=Q.lt(U.exclusiveMaximum);else $.number=!1}}},Zm=class{apply($,X){let U=X;if(U.multipleOf===void 0)return;if($.number!==!1){let Q=$.number||q.number();if(Q instanceof q.ZodNumber)$.number=Q.refine((Y)=>{if(U.multipleOf===0)return!1;let W=Y/U.multipleOf,J=Math.round(W),G=Math.min(Math.abs(Y)*Number.EPSILON*10,Math.abs(U.multipleOf)*Number.EPSILON*10);return Math.abs(W-J)<=G/Math.abs(U.multipleOf)},{message:`Must be a multiple of ${U.multipleOf}`})}}},vm=class{apply($,X){let U=X;if(X.type===void 0&&(U.minItems!==void 0||U.maxItems!==void 0||U.items!==void 0||U.prefixItems!==void 0)){if($.array===void 0)$.array=q.array(q.any())}}},Em=class{apply($,X){let U=X;if(U.minItems===void 0)return;if($.array!==!1)$.array=($.array||q.array(q.any())).min(U.minItems)}},km=class{apply($,X){let U=X;if(U.maxItems===void 0)return;if($.array!==!1)$.array=($.array||q.array(q.any())).max(U.maxItems)}},Im=class{apply($,X){let U=X;if($.array===!1)return;if(Array.isArray(U.items))$.array=$.array||q.array(q.any());else if(U.items&&typeof U.items!=="boolean"&&!U.prefixItems){let Q=d$(U.items),Y=q.array(Q);if($.array&&$.array instanceof q.ZodArray){let W=$.array._def;if(W.checks)W.checks.forEach((J)=>{if(J._zod&&J._zod.def){let G=J._zod.def;if(G.check==="min_length"&&G.minimum!==void 0)Y=Y.min(G.minimum);else if(G.check==="max_length"&&G.maximum!==void 0)Y=Y.max(G.maximum)}})}$.array=Y}else if(typeof U.items==="boolean"&&U.items===!1)if(!U.prefixItems)$.array=q.array(q.any()).max(0);else $.array=$.array||q.array(q.any());else if(typeof U.items==="boolean"&&U.items===!0)$.array=$.array||q.array(q.any());else if(U.prefixItems)$.array=$.array||q.array(q.any())}},jm=class{apply($,X){if(X.type!=="array")return;let U=X;if(!Array.isArray(U.items))return;if($.array===!1)return;let Q=U.items.map((W)=>d$(W)),Y;if(Q.length===0)Y=q.tuple([]);else Y=q.tuple(Q);if(U.minItems!==void 0&&U.minItems>Q.length)Y=!1;if(U.maxItems!==void 0&&U.maxItems<Q.length)Y=!1;$.tuple=Y,$.array=!1}},bm=class{apply($,X){let U=X;if($.object===!1)return;if(U.properties||U.required||U.additionalProperties!==void 0)$.object=$.object||q.object({}).passthrough()}},Rm=class{apply($,X){let U=X;if(X.type===void 0&&(U.maxProperties!==void 0||U.minProperties!==void 0)){if($.object===void 0)$.object=q.object({}).passthrough()}}},Sm=class{apply($,X){let U=X;if(U.maxProperties===void 0)return;if($.object!==!1){let Q=$.object||q.object({}).passthrough();$.object=Q.refine((Y)=>Object.keys(Y).length<=U.maxProperties,{message:`Object must have at most ${U.maxProperties} properties`})}}},Tm=class{apply($,X){let U=X;if(U.minProperties===void 0)return;if($.object!==!1){let Q=$.object||q.object({}).passthrough();$.object=Q.refine((Y)=>Object.keys(Y).length>=U.minProperties,{message:`Object must have at least ${U.minProperties} properties`})}}};function U8($,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((U,Q)=>U8(U,X[Q]))}if(typeof $==="object"&&typeof X==="object"){let U=Object.keys($),Q=Object.keys(X);if(U.length!==Q.length)return!1;return U.every((Y)=>Q.includes(Y)&&U8($[Y],X[Y]))}return!1}function xm(){return($)=>{if(!Array.isArray($))return!0;let X=[];return $.every((U)=>{if(X.some((Y)=>U8(U,Y)))return!1;return X.push(U),!0})}}function d3($,X){return $.safeParse(X).success}var Cm=class{apply($,X){if(!X.not)return $;let U=d$(X.not);return $.refine((Q)=>!d3(U,Q),{message:"Value must not match the 'not' schema"})}},gm=class{apply($,X){if(X.uniqueItems!==!0)return $;return $.refine(xm(),{message:"Array items must be unique"})}},fm=class{apply($,X){if(!X.allOf||X.allOf.length===0)return $;return X.allOf.map((Q)=>d$(Q)).reduce((Q,Y)=>q.intersection(Q,Y),$)}},hm=class{apply($,X){if(!X.anyOf||X.anyOf.length===0)return $;let U=X.anyOf.length===1?d$(X.anyOf[0]):q.union([d$(X.anyOf[0]),d$(X.anyOf[1]),...X.anyOf.slice(2).map((Q)=>d$(Q))]);return q.intersection($,U)}},ym=class{apply($,X){if(!X.oneOf||X.oneOf.length===0)return $;let U=X.oneOf.map((Q)=>d$(Q));return $.refine((Q)=>{let Y=0;for(let W of U)if(W.safeParse(Q).success){if(Y++,Y>1)return!1}return Y===1},{message:"Value must match exactly one of the oneOf schemas"})}},mm=class{apply($,X){let U=X;if(U.prefixItems&&Array.isArray(U.prefixItems)){let Y=U.prefixItems.map((W)=>d$(W));return $.refine((W)=>{if(!Array.isArray(W))return!0;for(let J=0;J<Math.min(W.length,Y.length);J++)if(!d3(Y[J],W[J]))return!1;if(W.length>Y.length){if(typeof U.items==="boolean"&&U.items===!1)return!1;else if(U.items&&typeof U.items==="object"&&!Array.isArray(U.items)){let J=d$(U.items);for(let G=Y.length;G<W.length;G++)if(!d3(J,W[G]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return $}},um=class{apply($,X){let U=X;if(!U.properties&&!U.required&&U.additionalProperties!==!1)return $;if($ instanceof q.ZodObject||$ instanceof q.ZodRecord){let Q={};if(U.properties){for(let[Y,W]of Object.entries(U.properties))if(W!==void 0)Q[Y]=d$(W)}if(U.required&&Array.isArray(U.required)){let Y=new Set(U.required);for(let W of Object.keys(Q))if(!Y.has(W))Q[W]=Q[W].optional()}else for(let Y of Object.keys(Q))Q[Y]=Q[Y].optional();if(U.additionalProperties===!1)return q.object(Q);else return q.object(Q).passthrough()}return $.refine((Q)=>{if(typeof Q!=="object"||Q===null||Array.isArray(Q))return!0;if(U.properties){for(let[Y,W]of Object.entries(U.properties))if(W!==void 0){if(Object.getOwnPropertyDescriptor(Q,Y)!==void 0){if(!d$(W).safeParse(Q[Y]).success)return!1}}}if(U.required&&Array.isArray(U.required)){for(let Y of U.required)if(Object.getOwnPropertyDescriptor(Q,Y)===void 0)return!1}if(U.additionalProperties===!1&&U.properties){let Y=new Set(Object.keys(U.properties));for(let W in Q)if(!Y.has(W))return!1}return!0},{message:"Object constraints validation failed"})}},cm=class{apply($,X){if(!X.enum||X.enum.length===0)return $;let U=X.enum.filter((Q)=>Array.isArray(Q)||typeof Q==="object"&&Q!==null);if(U.length===0)return $;return $.refine((Q)=>{if(typeof Q!=="object"||Q===null)return!0;return U.some((Y)=>U8(Q,Y))},{message:"Value must match one of the enum values"})}},dm=class{apply($,X){if(X.const===void 0)return $;let U=X.const;if(typeof U!=="object"||U===null)return $;return $.refine((Q)=>U8(Q,U),{message:"Value must equal the const value"})}},lm=class{apply($,X){if(X.description)$=$.describe(X.description);return $}},im=class{apply($,X){var U;let Q=X;if(!((U=Q.required)==null?void 0:U.includes("__proto__"))||X.type!==void 0)return $;return q.any().refine((Y)=>this.validateRequired(Y,Q.required),{message:"Missing required properties"})}validateRequired($,X){if(typeof $!=="object"||$===null||Array.isArray($))return!0;return X.every((U)=>Object.prototype.hasOwnProperty.call($,U))}},pm=class{apply($,X){var U;let Q=X;if(Q.contains===void 0)return $;let Y=d$(Q.contains),W=(U=Q.minContains)!=null?U:1,J=Q.maxContains;return $.refine((G)=>{if(!Array.isArray(G))return!0;let H=0;for(let K of G)if(d3(Y,K))H++;if(H<W)return!1;if(J!==void 0&&H>J)return!1;return!0},{message:"Array must contain required items matching the schema"})}},nm=class{apply($,X){let{default:U}=X;if(U===void 0)return $;if(!$.safeParse(U).success)return $;return $.default(U)}},rm=[new Dm,new Lm,new Bm,new Om,new _m,new vm,new Rm,new Nm,new Fm,new wm,new zm,new Mm,new Am,new Pm,new Zm,new jm,new Em,new km,new Im,new Sm,new Tm,new bm],om=[new im,new cm,new dm,new fm,new hm,new ym,new mm,new um,new pm,new Cm,new gm,new nm,new lm];function d$($){if(typeof $==="boolean")return $?q.any():q.never();let X={};for(let Y of rm)Y.apply(X,$);let U=[];if(X.string!==!1)U.push(X.string||q.string());if(X.number!==!1)U.push(X.number||q.number());if(X.boolean!==!1)U.push(X.boolean||q.boolean());if(X.null!==!1)U.push(X.null||q.null());if(X.array!==!1)U.push(X.array||q.array(q.any()));if(X.tuple!==!1&&X.tuple!==void 0)U.push(X.tuple);if(X.object!==!1)if(X.object)U.push(X.object);else{let Y=q.custom((W)=>{return typeof W==="object"&&W!==null&&!Array.isArray(W)},"Must be an object, not an array");U.push(Y)}if(X.file!==!1&&X.file!==void 0)U.push(X.file);let Q;if(U.length===0)Q=q.never();else if(U.length===1)Q=U[0];else if(!Object.keys($).some((W)=>W!=="$schema"&&W!=="title"&&W!=="description"))Q=q.any();else Q=q.union(U);for(let Y of om)Q=Y.apply(Q,$);return Q}import{jsx as i3,jsxs as PA}from"react/jsx-runtime";var sm=({data:$,setUiAjaxConfiguration:X})=>{let{name:U,titles:Q,instructions:Y,tools:W,token:J,autoStart:G,muted:H,language:K,outputModalities:V,sxMap:B,iconUrl:D,iconPosition:L,useSocketioSupport:_,useCentrifugeSupport:O,useMittSupport:N,centrifugeChannel:P}=$,{apiServer:z,enableRenderingLog:F}=U2(),[M,Z]=e0(null),[E,C]=e0(null),[h,l]=e0(null),[U$,i]=e0(!1),[Y$,G$]=e0([]),[,x$]=e0(null),A=tm(null),m=am(()=>{return W.map((N$)=>{let X6=M7(X??(()=>{}),N$.kwargs,N$.depsNames,N$.pathname,{apiServer:z,renderingLogEnabled:F});return w4({name:N$.name,description:N$.description,parameters:d$(N$.params),async execute(J8){console.log(`Calling tool: ${N$.name} with: ${JSON.stringify(J8)}`);let $2=await X6(J8);if(!Array.isArray($2))return[];return $2.filter((g1)=>g1.name===`pietoolOutput_${U}`).map((g1)=>g1.data.output)}})})},[W,X]),d=()=>{if(console.log("Disconnecting session..."),E)E.close();C(null),Z(null),i(!1)},K$=async(N$)=>{if(!E){console.error("Session not initialized");return}if(U$){console.log("Already connected, skipping...");return}try{E.on("history_updated",(X6)=>{G$(X6)}),console.log("Connecting to session..."),x$(null),await E.connect({apiKey:N$}),i(!0),console.log("Connected successfully")}catch(X6){console.error("Failed to connect to session:",X6),x$(X6 instanceof Error?X6.message:"Failed to connect"),i(!1)}};return l3(()=>{if(!A.current)return;if(!h)navigator.mediaDevices.getUserMedia({audio:!0}).then(async(N$)=>{l(new t0({mediaStream:N$,audioElement:A.current}))})},[A]),l3(()=>{if(!A.current)return;if(!h)return;if(M===null||E===null){let N$=new u3({name:U,instructions:Y,tools:m}),X6=new s0(N$,{model:"gpt-realtime",transport:h,config:{outputModalities:V,audio:{input:{transcription:{language:K??void 0,model:"gpt-4o-mini-transcribe"}}},inputAudioTranscription:{language:K??void 0,model:"gpt-4o-mini-transcribe"}}});Z(N$),C(X6)}},[M,E,U,Y,m,A,h]),l3(()=>{if(M!==null&&E!==null&&G&&J&&!U$)console.log("Auto-connecting..."),K$(J).catch((N$)=>{console.error("Auto-connection failed:",N$)})},[M,E]),l3(()=>{return()=>{console.log("Disconnecting..."),d()}},[]),PA(k$,{card:"VoiceAgentCard",data:$,methods:{initializeAI:async(N$)=>{if(M!==null&&E!==null&&N$.token&&!U$)console.log("Connecting via initialize event..."),await K$(N$.token).catch((X6)=>{console.error("Auto-connection failed:",X6)})},stop:()=>{d()}},useCentrifugeSupport:O,useSocketioSupport:_,useMittSupport:N,centrifugeChannel:P,children:[PA("button",{id:U,value:U,onClick:async()=>{if(U$)d();else if(J)await K$(J)},style:R4(U$?B.enabled:B.disabled),type:"button",children:[D&&L==="start"&&i3("img",{src:D,alt:""}),c6(U$?Q.enabled:Q.disabled),D&&L==="end"&&i3("img",{src:D,alt:""})]}),i3("input",{type:"hidden",name:U,value:JSON.stringify(Y$)}),i3("audio",{ref:A,autoPlay:!0,muted:H,style:{display:"none"}})]})},ZA=A6(sm);import{useEffect as em,useState as $u}from"react";import{jsx as vA}from"react/jsx-runtime";var Xu=({data:$})=>{let{name:X,value:U,useSocketioSupport:Q,useCentrifugeSupport:Y,useMittSupport:W,centrifugeChannel:J}=$,[G,H]=$u(U);return em(()=>{H(U)},[U]),vA(k$,{card:"HiddenCard",data:$,useSocketioSupport:Q,useCentrifugeSupport:Y,useMittSupport:W,centrifugeChannel:J,methods:{update:({value:K})=>{H(K)}},children:vA("input",{type:"hidden",id:X,name:X,value:G})})},EA=Xu;import{useContext as Uu,useEffect as Yu}from"react";import{jsx as Ju,Fragment as Wu}from"react/jsx-runtime";var Qu=({data:$})=>{let{url:X}=$,U=Uu(t1);return Yu(()=>{if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(X))window.location.href=X;else U?.(X)},[X,U]),Ju(Wu,{})},kA=Qu;import{isValidElement as Hu}from"react";import jA,{useEffect as Bu,useLayoutEffect as Du,useRef as Lu}from"react";import{cloneElement as _u,isValidElement as Nu}from"react";import sK from"react";import eK from"react";function IA($){var X,U,Q="";if(typeof $=="string"||typeof $=="number")Q+=$;else if(typeof $=="object")if(Array.isArray($)){var Y=$.length;for(X=0;X<Y;X++)$[X]&&(U=IA($[X]))&&(Q&&(Q+=" "),Q+=U)}else for(U in $)$[U]&&(Q&&(Q+=" "),Q+=U);return Q}function Gu(){for(var $,X,U=0,Q="",Y=arguments.length;U<Y;U++)($=arguments[U])&&(X=IA($))&&(Q&&(Q+=" "),Q+=X);return Q}var Q4=Gu;import $V,{useEffect as zu,useRef as Mu,useState as Au}from"react";import{useRef as gu,useSyncExternalStore as fu}from"react";import{useEffect as yu,useRef as RA,useState as SA}from"react";import{useEffect as uu,useLayoutEffect as cu}from"react";import p3,{cloneElement as lu,isValidElement as iu}from"react";import W4,{cloneElement as pu,isValidElement as nu}from"react";function qu($){if(!$||typeof document>"u")return;let X=document.head||document.getElementsByTagName("head")[0],U=document.createElement("style");U.type="text/css",X.firstChild?X.insertBefore(U,X.firstChild):X.appendChild(U),U.styleSheet?U.styleSheet.cssText=$:U.appendChild(document.createTextNode($))}qu(":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 Q8=($)=>typeof $=="number"&&!isNaN($),C1=($)=>typeof $=="string",P4=($)=>typeof $=="function",Ku=($)=>C1($)||Q8($),XV=($)=>C1($)||P4($)?$:null,Vu=($,X)=>$===!1||Q8($)&&$>0?$:X,UV=($)=>Hu($)||C1($)||P4($)||Q8($);function Ou($,X,U=300){let{scrollHeight:Q,style:Y}=$;requestAnimationFrame(()=>{Y.minHeight="initial",Y.height=Q+"px",Y.transition=`all ${U}ms`,requestAnimationFrame(()=>{Y.height="0",Y.padding="0",Y.margin="0",setTimeout(X,U)})})}function n3({enter:$,exit:X,appendPosition:U=!1,collapse:Q=!0,collapseDuration:Y=300}){return function({children:W,position:J,preventExitTransition:G,done:H,nodeRef:K,isIn:V,playToast:B}){let D=U?`${$}--${J}`:$,L=U?`${X}--${J}`:X,_=Lu(0);return Du(()=>{let O=K.current,N=D.split(" "),P=(z)=>{z.target===K.current&&(B(),O.removeEventListener("animationend",P),O.removeEventListener("animationcancel",P),_.current===0&&z.type!=="animationcancel"&&O.classList.remove(...N))};(()=>{O.classList.add(...N),O.addEventListener("animationend",P),O.addEventListener("animationcancel",P)})()},[]),Bu(()=>{let O=K.current,N=()=>{O.removeEventListener("animationend",N),Q?Ou(O,H,Y):H()};V||(G?N():(()=>{_.current=1,O.className+=` ${L}`,O.addEventListener("animationend",N)})())},[V]),jA.createElement(jA.Fragment,null,W)}}function bA($,X){return{content:TA($.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 TA($,X,U=!1){return Nu($)&&!C1($.type)?_u($,{closeToast:X.closeToast,toastProps:X,data:X.data,isPaused:U}):P4($)?$({closeToast:X.closeToast,toastProps:X,data:X.data,isPaused:U}):$}function Fu({closeToast:$,theme:X,ariaLabel:U="close"}){return sK.createElement("button",{className:`Toastify__close-button Toastify__close-button--${X}`,type:"button",onClick:(Q)=>{Q.stopPropagation(),$(!0)},"aria-label":U},sK.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},sK.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 wu({delay:$,isRunning:X,closeToast:U,type:Q="default",hide:Y,className:W,controlledProgress:J,progress:G,rtl:H,isIn:K,theme:V}){let B=Y||J&&G===0,D={animationDuration:`${$}ms`,animationPlayState:X?"running":"paused"};J&&(D.transform=`scaleX(${G})`);let L=Q4("Toastify__progress-bar",J?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${V}`,`Toastify__progress-bar--${Q}`,{["Toastify__progress-bar--rtl"]:H}),_=P4(W)?W({rtl:H,type:Q,defaultClassName:L}):Q4(L,W),O={[J&&G>=1?"onTransitionEnd":"onAnimationEnd"]:J&&G<1?null:()=>{K&&U()}};return eK.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":B},eK.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${V} Toastify__progress-bar--${Q}`}),eK.createElement("div",{role:"progressbar","aria-hidden":B?"true":"false","aria-label":"notification timer",className:_,style:D,...O}))}var Pu=1,xA=()=>`${Pu++}`;function Zu($,X,U){let Q=1,Y=0,W=[],J=[],G=X,H=new Map,K=new Set,V=(z)=>(K.add(z),()=>K.delete(z)),B=()=>{J=Array.from(H.values()),K.forEach((z)=>z())},D=({containerId:z,toastId:F,updateId:M})=>{let Z=z?z!==$:$!==1,E=H.has(F)&&M==null;return Z||E},L=(z,F)=>{H.forEach((M)=>{var Z;(F==null||F===M.props.toastId)&&((Z=M.toggle)==null||Z.call(M,z))})},_=(z)=>{var F,M;(M=(F=z.props)==null?void 0:F.onClose)==null||M.call(F,z.removalReason),z.isActive=!1},O=(z)=>{if(z==null)H.forEach(_);else{let F=H.get(z);F&&_(F)}B()},N=()=>{Y-=W.length,W=[]},P=(z)=>{var F,M;let{toastId:Z,updateId:E}=z.props,C=E==null;z.staleId&&H.delete(z.staleId),z.isActive=!0,H.set(Z,z),B(),U(bA(z,C?"added":"updated")),C&&((M=(F=z.props).onOpen)==null||M.call(F))};return{id:$,props:G,observe:V,toggle:L,removeToast:O,toasts:H,clearQueue:N,buildToast:(z,F)=>{if(D(F))return;let{toastId:M,updateId:Z,data:E,staleId:C,delay:h}=F,l=Z==null;l&&Y++;let U$={...G,style:G.toastStyle,key:Q++,...Object.fromEntries(Object.entries(F).filter(([Y$,G$])=>G$!=null)),toastId:M,updateId:Z,data:E,isIn:!1,className:XV(F.className||G.toastClassName),progressClassName:XV(F.progressClassName||G.progressClassName),autoClose:F.isLoading?!1:Vu(F.autoClose,G.autoClose),closeToast(Y$){H.get(M).removalReason=Y$,O(M)},deleteToast(){let Y$=H.get(M);if(Y$!=null){if(U(bA(Y$,"removed")),H.delete(M),Y--,Y<0&&(Y=0),W.length>0){P(W.shift());return}B()}}};U$.closeButton=G.closeButton,F.closeButton===!1||UV(F.closeButton)?U$.closeButton=F.closeButton:F.closeButton===!0&&(U$.closeButton=UV(G.closeButton)?G.closeButton:!0);let i={content:z,props:U$,staleId:C};G.limit&&G.limit>0&&Y>G.limit&&l?W.push(i):Q8(h)?setTimeout(()=>{P(i)},h):P(i)},setProps(z){G=z},setToggle:(z,F)=>{let M=H.get(z);M&&(M.toggle=F)},isToastActive:(z)=>{var F;return(F=H.get(z))==null?void 0:F.isActive},getSnapshot:()=>J}}var $6=new Map,Y8=[],YV=new Set,vu=($)=>YV.forEach((X)=>X($)),CA=()=>$6.size>0;function Eu(){Y8.forEach(($)=>fA($.content,$.options)),Y8=[]}var ku=($,{containerId:X})=>{var U;return(U=$6.get(X||1))==null?void 0:U.toasts.get($)};function gA($,X){var U;if(X)return!!((U=$6.get(X))!=null&&U.isToastActive($));let Q=!1;return $6.forEach((Y)=>{Y.isToastActive($)&&(Q=!0)}),Q}function Iu($){if(!CA()){Y8=Y8.filter((X)=>$!=null&&X.options.toastId!==$);return}if($==null||Ku($))$6.forEach((X)=>{X.removeToast($)});else if($&&(("containerId"in $)||("id"in $))){let X=$6.get($.containerId);X?X.removeToast($.id):$6.forEach((U)=>{U.removeToast($.id)})}}var ju=($={})=>{$6.forEach((X)=>{X.props.limit&&(!$.containerId||X.id===$.containerId)&&X.clearQueue()})};function fA($,X){UV($)&&(CA()||Y8.push({content:$,options:X}),$6.forEach((U)=>{U.buildToast($,X)}))}function bu($){var X;(X=$6.get($.containerId||1))==null||X.setToggle($.id,$.fn)}function hA($,X){$6.forEach((U)=>{(X==null||!(X!=null&&X.containerId)||(X==null?void 0:X.containerId)===U.id)&&U.toggle($,X==null?void 0:X.id)})}function Ru($){let X=$.containerId||1;return{subscribe(U){let Q=Zu(X,$,vu);$6.set(X,Q);let Y=Q.observe(U);return Eu(),()=>{Y(),$6.delete(X)}},setProps(U){var Q;(Q=$6.get(X))==null||Q.setProps(U)},getSnapshot(){var U;return(U=$6.get(X))==null?void 0:U.getSnapshot()}}}function Su($){return YV.add($),()=>{YV.delete($)}}function Tu($){return $&&(C1($.toastId)||Q8($.toastId))?$.toastId:xA()}function W8($,X){return fA($,X),X.toastId}function r3($,X){return{...X,type:X&&X.type||$,toastId:Tu(X)}}function o3($){return(X,U)=>W8(X,r3($,U))}function V$($,X){return W8($,r3("default",X))}V$.loading=($,X)=>W8($,r3("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...X}));function xu($,{pending:X,error:U,success:Q},Y){let W;X&&(W=C1(X)?V$.loading(X,Y):V$.loading(X.render,{...Y,...X}));let J={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},G=(K,V,B)=>{if(V==null){V$.dismiss(W);return}let D={type:K,...J,...Y,data:B},L=C1(V)?{render:V}:V;return W?V$.update(W,{...D,...L}):V$(L.render,{...D,...L}),B},H=P4($)?$():$;return H.then((K)=>G("success",Q,K)).catch((K)=>G("error",U,K)),H}V$.promise=xu;V$.success=o3("success");V$.info=o3("info");V$.error=o3("error");V$.warning=o3("warning");V$.warn=V$.warning;V$.dark=($,X)=>W8($,r3("default",{theme:"dark",...X}));function Cu($){Iu($)}V$.dismiss=Cu;V$.clearWaitingQueue=ju;V$.isActive=gA;V$.update=($,X={})=>{let U=ku($,X);if(U){let{props:Q,content:Y}=U,W={delay:100,...Q,...X,toastId:X.toastId||$,updateId:xA()};W.toastId!==$&&(W.staleId=$);let J=W.render||Y;delete W.render,W8(J,W)}};V$.done=($)=>{V$.update($,{progress:1})};V$.onChange=Su;V$.play=($)=>hA(!0,$);V$.pause=($)=>hA(!1,$);function hu($){var X;let{subscribe:U,getSnapshot:Q,setProps:Y}=gu(Ru($)).current;Y($);let W=(X=fu(U,Q,Q))==null?void 0:X.slice();function J(G){if(!W)return[];let H=new Map;return $.newestOnTop&&W.reverse(),W.forEach((K)=>{let{position:V}=K.props;H.has(V)||H.set(V,[]),H.get(V).push(K)}),Array.from(H,(K)=>G(K[0],K[1]))}return{getToastToRender:J,isToastActive:gA,count:W==null?void 0:W.length}}function mu($){let[X,U]=SA(!1),[Q,Y]=SA(!1),W=RA(null),J=RA({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:G,pauseOnHover:H,closeToast:K,onClick:V,closeOnClick:B}=$;bu({id:$.toastId,containerId:$.containerId,fn:U}),yu(()=>{if($.pauseOnFocusLoss)return D(),()=>{L()}},[$.pauseOnFocusLoss]);function D(){document.hasFocus()||P(),window.addEventListener("focus",N),window.addEventListener("blur",P)}function L(){window.removeEventListener("focus",N),window.removeEventListener("blur",P)}function _(C){if($.draggable===!0||$.draggable===C.pointerType){z();let h=W.current;J.canCloseOnClick=!0,J.canDrag=!0,h.style.transition="none",$.draggableDirection==="x"?(J.start=C.clientX,J.removalDistance=h.offsetWidth*($.draggablePercent/100)):(J.start=C.clientY,J.removalDistance=h.offsetHeight*($.draggablePercent===80?$.draggablePercent*1.5:$.draggablePercent)/100)}}function O(C){let{top:h,bottom:l,left:U$,right:i}=W.current.getBoundingClientRect();C.nativeEvent.type!=="touchend"&&$.pauseOnHover&&C.clientX>=U$&&C.clientX<=i&&C.clientY>=h&&C.clientY<=l?P():N()}function N(){U(!0)}function P(){U(!1)}function z(){J.didMove=!1,document.addEventListener("pointermove",M),document.addEventListener("pointerup",Z)}function F(){document.removeEventListener("pointermove",M),document.removeEventListener("pointerup",Z)}function M(C){let h=W.current;if(J.canDrag&&h){J.didMove=!0,X&&P(),$.draggableDirection==="x"?J.delta=C.clientX-J.start:J.delta=C.clientY-J.start,J.start!==C.clientX&&(J.canCloseOnClick=!1);let l=$.draggableDirection==="x"?`${J.delta}px, var(--y)`:`0, calc(${J.delta}px + var(--y))`;h.style.transform=`translate3d(${l},0)`,h.style.opacity=`${1-Math.abs(J.delta/J.removalDistance)}`}}function Z(){F();let C=W.current;if(J.canDrag&&J.didMove&&C){if(J.canDrag=!1,Math.abs(J.delta)>J.removalDistance){Y(!0),$.closeToast(!0),$.collapseAll();return}C.style.transition="transform 0.2s, opacity 0.2s",C.style.removeProperty("transform"),C.style.removeProperty("opacity")}}let E={onPointerDown:_,onPointerUp:O};return G&&H&&(E.onMouseEnter=P,$.stacked||(E.onMouseLeave=N)),B&&(E.onClick=(C)=>{V&&V(C),J.canCloseOnClick&&K(!0)}),{playToast:N,pauseToast:P,isRunning:X,preventExitTransition:Q,toastRef:W,eventHandlers:E}}var du=typeof window<"u"?cu:uu,a3=({theme:$,type:X,isLoading:U,...Q})=>W4.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:$==="colored"?"currentColor":`var(--toastify-icon-color-${X})`,...Q});function ru($){return W4.createElement(a3,{...$},W4.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 ou($){return W4.createElement(a3,{...$},W4.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 au($){return W4.createElement(a3,{...$},W4.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 tu($){return W4.createElement(a3,{...$},W4.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 su(){return W4.createElement("div",{className:"Toastify__spinner"})}var QV={info:ou,warning:ru,success:au,error:tu,spinner:su},eu=($)=>($ in QV);function $c({theme:$,type:X,isLoading:U,icon:Q}){let Y=null,W={theme:$,type:X};return Q===!1||(P4(Q)?Y=Q({...W,isLoading:U}):nu(Q)?Y=pu(Q,W):U?Y=QV.spinner():eu(X)&&(Y=QV[X](W))),Y}var Xc=($)=>{let{isRunning:X,preventExitTransition:U,toastRef:Q,eventHandlers:Y,playToast:W}=mu($),{closeButton:J,children:G,autoClose:H,onClick:K,type:V,hideProgressBar:B,closeToast:D,transition:L,position:_,className:O,style:N,progressClassName:P,updateId:z,role:F,progress:M,rtl:Z,toastId:E,deleteToast:C,isIn:h,isLoading:l,closeOnClick:U$,theme:i,ariaLabel:Y$}=$,G$=Q4("Toastify__toast",`Toastify__toast-theme--${i}`,`Toastify__toast--${V}`,{["Toastify__toast--rtl"]:Z},{["Toastify__toast--close-on-click"]:U$}),x$=P4(O)?O({rtl:Z,position:_,type:V,defaultClassName:G$}):Q4(G$,O),A=$c($),m=!!M||!H,d={closeToast:D,type:V,theme:i},K$=null;return J===!1||(P4(J)?K$=J(d):iu(J)?K$=lu(J,d):K$=Fu(d)),p3.createElement(L,{isIn:h,done:C,position:_,preventExitTransition:U,nodeRef:Q,playToast:W},p3.createElement("div",{id:E,tabIndex:0,onClick:K,"data-in":h,className:x$,...Y,style:N,ref:Q,...h&&{role:F,"aria-label":Y$}},A!=null&&p3.createElement("div",{className:Q4("Toastify__toast-icon",{["Toastify--animate-icon Toastify__zoom-enter"]:!l})},A),TA(G,$,!X),K$,!$.customProgressBar&&p3.createElement(wu,{...z&&!m?{key:`p-${z}`}:{},rtl:Z,theme:i,delay:H,isRunning:X,isIn:h,closeToast:D,hide:B,type:V,className:P,controlledProgress:m,progress:M||0})))},t3=($,X=!1)=>({enter:`Toastify--animate Toastify__${$}-enter`,exit:`Toastify--animate Toastify__${$}-exit`,appendPosition:X}),WV=n3(t3("bounce",!0)),yA=n3(t3("slide",!0)),mA=n3(t3("zoom")),uA=n3(t3("flip")),Uc={position:"top-right",transition:WV,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 cA($){let X={...Uc,...$},U=$.stacked,[Q,Y]=Au(!0),W=Mu(null),{getToastToRender:J,isToastActive:G,count:H}=hu(X),{className:K,style:V,rtl:B,containerId:D,hotKeys:L}=X;function _(N){let P=Q4("Toastify__toast-container",`Toastify__toast-container--${N}`,{["Toastify__toast-container--rtl"]:B});return P4(K)?K({position:N,rtl:B,defaultClassName:P}):Q4(P,XV(K))}function O(){U&&(Y(!0),V$.play())}return du(()=>{var N;if(U){let P=W.current.querySelectorAll('[data-in="true"]'),z=12,F=(N=X.position)==null?void 0:N.includes("top"),M=0,Z=0;Array.from(P).reverse().forEach((E,C)=>{let h=E;h.classList.add("Toastify__toast--stacked"),C>0&&(h.dataset.collapsed=`${Q}`),h.dataset.pos||(h.dataset.pos=F?"top":"bot");let l=M*(Q?0.2:1)+(Q?0:z*C);h.style.setProperty("--y",`${F?l:l*-1}px`),h.style.setProperty("--g",`${z}`),h.style.setProperty("--s",`${1-(Q?Z:0)}`),M+=h.offsetHeight,Z+=0.025})}},[Q,H,U]),zu(()=>{function N(P){var z;let F=W.current;L(P)&&((z=F.querySelector('[tabIndex="0"]'))==null||z.focus(),Y(!1),V$.pause()),P.key==="Escape"&&(document.activeElement===F||F!=null&&F.contains(document.activeElement))&&(Y(!0),V$.play())}return document.addEventListener("keydown",N),()=>{document.removeEventListener("keydown",N)}},[L]),$V.createElement("section",{ref:W,className:"Toastify",id:D,onMouseEnter:()=>{U&&(Y(!1),V$.pause())},onMouseLeave:O,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":X["aria-label"]},J((N,P)=>{let z=P.length?{...V}:{...V,pointerEvents:"none"};return $V.createElement("div",{tabIndex:-1,className:_(N),"data-stacked":U,style:z,key:`c-${N}`},P.map(({content:F,props:M})=>$V.createElement(Xc,{...M,stacked:U,collapseAll:O,isIn:G(M.toastId,M.containerId),key:`t-${M.key}`},F)))}))}import{useContext as Yc}from"react";import{jsx as JV,Fragment as Jc}from"react/jsx-runtime";var Qc=($)=>{if($==="bounce")return WV;else if($==="slide")return yA;else if($==="zoom")return mA;else if($==="flip")return uA},Wc=({data:$})=>{let{useCentrifugeSupport:X,useSocketioSupport:U,useMittSupport:Q,centrifugeChannel:Y}=$,W=Yc(t1);return JV(Jc,{children:JV(k$,{card:"IOEventsCard",data:$,useCentrifugeSupport:X,useSocketioSupport:U,useMittSupport:Q,centrifugeChannel:Y,methods:{toast:(V)=>{let B={...V,transition:Qc(V.transition),position:V.position??"bottom-right",autoClose:V.autoClose??5000,style:{backgroundColor:"black",...V.sx}};V$(V.message,B)},showTelegramPopup:(V)=>{window.Telegram.WebApp.showPopup(V)},log:(V)=>{console.log("Log event",V)},redirect:(V)=>{if(V.to){let B=V.to;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(B))window.location.href=B;else W?.(B)}else window.location.reload()}},children:JV(cA,{})})})},dA=Wc;export{s_ as UnionCard,U1 as UI,a_ as SequenceCard,o_ as RedirectButtonCard,k$ as PieCard,ZA as OpenAIVoiceAgentCard,dA as IOEventsCard,EA as HiddenCard,e_ as HTMLEmbedCard,uD as ChatCard,kA as AutoRedirectCard,r_ as AjaxButtonCard};
|
|
76
|
+
`.trim()}function T1($,X){return $ in X&&typeof X[$]<"u"}function qy($){return T1("modalities",$)||T1("inputAudioFormat",$)||T1("outputAudioFormat",$)||T1("inputAudioTranscription",$)||T1("turnDetection",$)||T1("inputAudioNoiseReduction",$)||T1("speed",$)}function LA($){if(!qy($)){let X=$.audio?.input?{format:c3($.audio.input.format),noiseReduction:$.audio.input.noiseReduction??null,transcription:$.audio.input.transcription,turnDetection:$.audio.input.turnDetection}:void 0,U=$.audio?.output?.voice??$.voice,Q=$.audio?.output||typeof U<"u"?{format:c3($.audio?.output?.format),voice:U,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||Q?{input:X,output:Q}:void 0}}return{model:$.model,instructions:$.instructions,toolChoice:$.toolChoice,tools:$.tools,tracing:$.tracing,providerData:$.providerData,prompt:$.prompt,outputModalities:$.modalities,audio:{input:{format:c3($.inputAudioFormat),noiseReduction:$.inputAudioNoiseReduction??null,transcription:$.inputAudioTranscription,turnDetection:$.turnDetection},output:{format:c3($.outputAudioFormat),voice:$.voice,speed:$.speed}}}}function c3($){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 x5$=q.object({itemId:q.string()}),pK=q.discriminatedUnion("role",[q.object({itemId:q.string(),previousItemId:q.string().nullable().optional(),type:q.literal("message"),role:q.literal("system"),content:q.array(q.object({type:q.literal("input_text"),text:q.string()}))}),q.object({itemId:q.string(),previousItemId:q.string().nullable().optional(),type:q.literal("message"),role:q.literal("user"),status:q.enum(["in_progress","completed"]),content:q.array(q.object({type:q.literal("input_text"),text:q.string()}).or(q.object({type:q.literal("input_audio"),audio:q.string().nullable().optional(),transcript:q.string().nullable()})))}),q.object({itemId:q.string(),previousItemId:q.string().nullable().optional(),type:q.literal("message"),role:q.literal("assistant"),status:q.enum(["in_progress","completed","incomplete"]),content:q.array(q.object({type:q.literal("output_text"),text:q.string()}).or(q.object({type:q.literal("output_audio"),audio:q.string().nullable().optional(),transcript:q.string().nullable().optional()})))})]),nK=q.object({itemId:q.string(),previousItemId:q.string().nullable().optional(),type:q.literal("function_call"),status:q.enum(["in_progress","completed","incomplete"]),arguments:q.string(),name:q.string(),output:q.string().nullable()}),rK=q.object({itemId:q.string(),previousItemId:q.string().nullable().optional(),type:q.enum(["mcp_call","mcp_tool_call"]),status:q.enum(["in_progress","completed","incomplete"]),arguments:q.string(),name:q.string(),output:q.string().nullable()}),OA=q.object({itemId:q.string(),type:q.literal("mcp_approval_request"),serverLabel:q.string(),name:q.string(),arguments:q.record(q.string(),q.any()),approved:q.boolean().optional().nullable()});var Hy=v1("openai-agents:realtime"),T$=Hy;var _A=q.object({id:q.string().optional().nullable(),conversation_id:q.string().optional().nullable(),max_output_tokens:q.number().or(q.literal("inf")).optional().nullable(),metadata:q.record(q.string(),q.any()).optional().nullable(),output_modalities:q.array(q.string()).optional().nullable(),object:q.literal("realtime.response").optional().nullable(),output:q.array(q.any()).optional().nullable(),audio:q.object({output:q.object({format:q.any().optional().nullable(),voice:q.string().optional().nullable()}).optional().nullable()}).optional().nullable(),status:q.enum(["completed","incomplete","failed","cancelled","in_progress"]).optional().nullable(),status_details:q.record(q.string(),q.any()).optional().nullable(),usage:q.object({input_tokens:q.number().optional(),input_token_details:q.record(q.string(),q.any()).optional().nullable(),output_tokens:q.number().optional(),output_token_details:q.record(q.string(),q.any()).optional().nullable()}).optional().nullable()}),Ky=q.object({id:q.string().optional(),audio:q.string().nullable().optional(),text:q.string().nullable().optional(),transcript:q.string().nullable().optional(),type:q.union([q.literal("input_text"),q.literal("input_audio"),q.literal("item_reference"),q.literal("output_text"),q.literal("output_audio")])}),o0=q.object({id:q.string().optional(),arguments:q.string().optional(),call_id:q.string().optional(),content:q.array(Ky).optional(),name:q.string().optional(),output:q.string().nullable().optional(),role:q.enum(["user","assistant","system"]).optional(),status:q.enum(["completed","incomplete","in_progress"]).optional(),type:q.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:q.string().nullable().optional(),approve:q.boolean().nullable().optional(),reason:q.string().nullable().optional(),server_label:q.string().optional(),error:q.any().nullable().optional(),tools:q.array(q.object({name:q.string(),description:q.string(),input_schema:q.record(q.string(),q.any()).optional()}).passthrough()).optional()}).passthrough(),Vy=q.object({type:q.literal("conversation.created"),event_id:q.string(),conversation:q.object({id:q.string().optional(),object:q.literal("realtime.conversation").optional()})}),By=q.object({type:q.literal("conversation.item.added"),event_id:q.string(),item:o0,previous_item_id:q.string().nullable().optional()}),Dy=q.object({type:q.literal("conversation.item.done"),event_id:q.string(),item:o0,previous_item_id:q.string().nullable().optional()}),Ly=q.object({type:q.literal("conversation.item.deleted"),event_id:q.string(),item_id:q.string()}),Oy=q.object({type:q.literal("conversation.item.input_audio_transcription.completed"),event_id:q.string(),item_id:q.string(),content_index:q.number(),transcript:q.string(),logprobs:q.array(q.any()).nullable().optional(),usage:q.object({type:q.literal("tokens"),total_tokens:q.number(),input_tokens:q.number(),input_token_details:q.object({text_tokens:q.number(),audio_tokens:q.number()}),output_tokens:q.number()}).optional()}),_y=q.object({type:q.literal("conversation.item.input_audio_transcription.delta"),event_id:q.string(),item_id:q.string(),content_index:q.number().optional(),delta:q.string().optional(),logprobs:q.array(q.any()).nullable().optional()}),Ny=q.object({type:q.literal("conversation.item.input_audio_transcription.failed"),event_id:q.string(),item_id:q.string(),content_index:q.number(),error:q.object({code:q.string().optional(),message:q.string().optional(),param:q.string().optional(),type:q.string().optional()})}),Fy=q.object({type:q.literal("conversation.item.retrieved"),event_id:q.string(),item:o0}),wy=q.object({type:q.literal("conversation.item.truncated"),event_id:q.string(),item_id:q.string(),audio_end_ms:q.number(),content_index:q.number()}),zy=q.object({type:q.literal("conversation.item.create"),item:o0,event_id:q.string().optional(),previous_item_id:q.string().nullable().optional()}),My=q.object({type:q.literal("conversation.item.delete"),item_id:q.string(),event_id:q.string().optional()}),Ay=q.object({type:q.literal("conversation.item.retrieve"),item_id:q.string(),event_id:q.string().optional()}),Py=q.object({type:q.literal("conversation.item.truncate"),item_id:q.string(),audio_end_ms:q.number(),content_index:q.number(),event_id:q.string().optional()}),Zy=q.object({type:q.literal("error"),event_id:q.string().optional(),error:q.any().optional()}),vy=q.object({type:q.literal("input_audio_buffer.cleared"),event_id:q.string()}),Ey=q.object({type:q.literal("input_audio_buffer.append"),audio:q.string(),event_id:q.string().optional()}),ky=q.object({type:q.literal("input_audio_buffer.clear"),event_id:q.string().optional()}),Iy=q.object({type:q.literal("input_audio_buffer.commit"),event_id:q.string().optional()}),jy=q.object({type:q.literal("input_audio_buffer.committed"),event_id:q.string(),item_id:q.string(),previous_item_id:q.string().nullable().optional()}),by=q.object({type:q.literal("input_audio_buffer.speech_started"),event_id:q.string(),item_id:q.string(),audio_start_ms:q.number()}),Ry=q.object({type:q.literal("input_audio_buffer.speech_stopped"),event_id:q.string(),item_id:q.string(),audio_end_ms:q.number()}),Sy=q.object({type:q.literal("output_audio_buffer.started"),event_id:q.string()}).passthrough(),Ty=q.object({type:q.literal("output_audio_buffer.stopped"),event_id:q.string()}).passthrough(),xy=q.object({type:q.literal("output_audio_buffer.cleared"),event_id:q.string()}),Cy=q.object({type:q.literal("rate_limits.updated"),event_id:q.string(),rate_limits:q.array(q.object({limit:q.number().optional(),name:q.enum(["requests","tokens"]).optional(),remaining:q.number().optional(),reset_seconds:q.number().optional()}))}),gy=q.object({type:q.literal("response.output_audio.delta"),event_id:q.string(),item_id:q.string(),content_index:q.number(),delta:q.string(),output_index:q.number(),response_id:q.string()}),fy=q.object({type:q.literal("response.output_audio.done"),event_id:q.string(),item_id:q.string(),content_index:q.number(),output_index:q.number(),response_id:q.string()}),hy=q.object({type:q.literal("response.output_audio_transcript.delta"),event_id:q.string(),item_id:q.string(),content_index:q.number(),delta:q.string(),output_index:q.number(),response_id:q.string()}),yy=q.object({type:q.literal("response.output_audio_transcript.done"),event_id:q.string(),item_id:q.string(),content_index:q.number(),transcript:q.string(),output_index:q.number(),response_id:q.string()}),my=q.object({type:q.literal("response.content_part.added"),event_id:q.string(),item_id:q.string(),content_index:q.number(),output_index:q.number(),response_id:q.string(),part:q.object({audio:q.string().optional(),text:q.string().optional(),transcript:q.string().optional(),type:q.enum(["text","audio"]).optional()})}),uy=q.object({type:q.literal("response.content_part.done"),event_id:q.string(),item_id:q.string(),content_index:q.number(),output_index:q.number(),response_id:q.string(),part:q.object({audio:q.string().optional(),text:q.string().optional(),transcript:q.string().optional(),type:q.enum(["text","audio"]).optional()})}),cy=q.object({type:q.literal("response.created"),event_id:q.string(),response:_A}),oK=q.object({type:q.literal("response.done"),event_id:q.string(),response:_A}),dy=q.object({type:q.literal("response.function_call_arguments.delta"),event_id:q.string(),item_id:q.string(),call_id:q.string(),delta:q.string(),output_index:q.number(),response_id:q.string()}),ly=q.object({type:q.literal("response.function_call_arguments.done"),event_id:q.string(),item_id:q.string(),call_id:q.string(),arguments:q.string(),output_index:q.number(),response_id:q.string()}),iy=q.object({type:q.literal("response.output_item.added"),event_id:q.string(),item:o0,output_index:q.number(),response_id:q.string()}),py=q.object({type:q.literal("response.output_item.done"),event_id:q.string(),item:o0,output_index:q.number(),response_id:q.string()}),ny=q.object({type:q.literal("response.output_text.delta"),event_id:q.string(),item_id:q.string(),content_index:q.number(),delta:q.string(),output_index:q.number(),response_id:q.string()}),ry=q.object({type:q.literal("response.output_text.done"),event_id:q.string(),item_id:q.string(),content_index:q.number(),text:q.string(),output_index:q.number(),response_id:q.string()}),oy=q.object({type:q.literal("session.created"),event_id:q.string(),session:q.any()}),ay=q.object({type:q.literal("session.updated"),event_id:q.string(),session:q.any()}),ty=q.object({type:q.literal("response.cancel"),event_id:q.string().optional(),response_id:q.string().optional()}),sy=q.object({type:q.literal("response.create"),event_id:q.string().optional(),response:q.any().optional()}),ey=q.object({type:q.literal("session.update"),event_id:q.string().optional(),session:q.any()}),$m=q.object({type:q.literal("mcp_list_tools.in_progress"),event_id:q.string().optional(),item_id:q.string().optional()}),Xm=q.object({type:q.literal("mcp_list_tools.completed"),event_id:q.string().optional(),item_id:q.string().optional()}),Um=q.object({type:q.literal("response.mcp_call_arguments.delta"),event_id:q.string(),response_id:q.string(),item_id:q.string(),output_index:q.number(),delta:q.string(),obfuscation:q.string()}),Ym=q.object({type:q.literal("response.mcp_call_arguments.done"),event_id:q.string(),response_id:q.string(),item_id:q.string(),output_index:q.number(),arguments:q.string()}),Qm=q.object({type:q.literal("response.mcp_call.in_progress"),event_id:q.string(),output_index:q.number(),item_id:q.string()}),Wm=q.object({type:q.literal("response.mcp_call.completed"),event_id:q.string(),output_index:q.number(),item_id:q.string()}),Jm=q.object({type:q.literal("mcp_list_tools.failed"),event_id:q.string().optional(),item_id:q.string().optional()}),Gm=q.object({type:q.string(),event_id:q.string().optional().nullable()}).passthrough(),qm=q.discriminatedUnion("type",[Vy,By,Dy,Ly,Oy,_y,Ny,Fy,wy,Zy,vy,jy,by,Ry,Sy,Ty,xy,Cy,gy,fy,hy,yy,my,uy,cy,oK,dy,ly,iy,py,ny,ry,oy,ay,$m,Xm,Jm,Um,Ym,Qm,Wm]),y5$=q.discriminatedUnion("type",[zy,My,Ay,Py,Ey,ky,Iy,ty,sy,ey]);function a0($){let X=JSON.parse($.data.toString()),U=qm.safeParse(X);if(!U.success){let Q=Gm.safeParse(X);if(Q.success)return{data:Q.data,isGeneric:!0};return{data:null,isGeneric:!0}}return{data:U.data,isGeneric:!1}}var NA="gpt-realtime",j6={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 x1 extends n0{#$;#X;#W=null;#U=null;eventEmitter=new M4;constructor($={}){super();this.#$=$.model??NA,this.#X=$.apiKey}get currentModel(){return this.#$}set currentModel($){this.#$=$}_afterAudioDoneEvent(){}get _rawSessionConfig(){return this.#U??null}async _getApiKey($){let X=$.apiKey??this.#X;if(typeof X==="function")return await X();return X}_onMessage($){let{data:X,isGeneric:U}=a0($);if(X===null)return;if(this.emit("*",X),U)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.#U=X.session;if(X.type==="response.done"){let Q=oK.safeParse(X);if(!Q.success){T$.error("Error parsing response done event",Q.error);return}let Y=Q.data.response.usage?.input_tokens??0,W=Q.data.response.usage?.output_tokens??0,J=Y+W,G=new I6({inputTokens:Y,inputTokensDetails:Q.data.response.usage?.input_token_details??{},outputTokens:W,outputTokensDetails:Q.data.response.usage?.output_token_details??{},totalTokens:J});this.emit("usage_update",G),this.emit("turn_done",{type:"response_done",response:{id:Q.data.response.id??"",output:Q.data.response.output??[],usage:{inputTokens:Y,inputTokensDetails:Q.data.response.usage?.input_token_details??{},outputTokens:W,outputTokensDetails:Q.data.response.usage?.output_token_details??{},totalTokens:J}}});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 Q=X.item.server_label??"",Y=X.item.tools??[];try{this.emit("mcp_tools_listed",{serverLabel:Q,tools:Y})}catch(W){T$.error("Error emitting mcp_tools_listed",W,X.item)}return}if(X.item.type==="message"){let Q=X.type==="conversation.item.added"||X.type==="conversation.item.done"?X.previous_item_id:null,Y=pK.parse({itemId:X.item.id,previousItemId:Q,type:X.item.type,role:X.item.role,content:X.item.content,status:X.item.status});this.emit("item_update",Y);return}if(X.item.type==="mcp_approval_request"&&X.type==="conversation.item.done"){let Q=X.item,Y=OA.parse({itemId:Q.id,type:Q.type,serverLabel:Q.server_label,name:Q.name,arguments:JSON.parse(Q.arguments||"{}"),approved:Q.approved});this.emit("item_update",Y),this.emit("mcp_approval_request",Y);return}if(X.item.type==="mcp_tool_call"||X.item.type==="mcp_call"){let Q=X.type==="conversation.item.done"?"completed":"in_progress",Y=rK.parse({itemId:X.item.id,type:X.item.type,status:Q,arguments:X.item.arguments,name:X.item.name,output:X.item.output});if(this.emit("item_update",Y),X.type==="conversation.item.done")this.emit("mcp_tool_call_completed",Y);return}}if(X.type==="response.mcp_call.in_progress"){let Q=X;this.sendEvent({type:"conversation.item.retrieve",item_id:Q.item_id});return}if(X.type==="mcp_list_tools.in_progress"){let Q=X;if(Q.item_id)this.sendEvent({type:"conversation.item.retrieve",item_id:Q.item_id});return}if(X.type==="response.output_item.done"||X.type==="response.output_item.added"){let Q=X.item;if(Q.type==="function_call"&&Q.status==="completed"){let Y=nK.parse({itemId:Q.id,type:Q.type,status:"in_progress",arguments:Q.arguments,name:Q.name,output:null});this.emit("item_update",Y),this.emit("function_call",{id:Q.id,type:"function_call",callId:Q.call_id??"",arguments:Q.arguments??"",name:Q.name??""});return}if(Q.type==="mcp_tool_call"||Q.type==="mcp_call"){let Y=rK.parse({itemId:Q.id,type:Q.type,status:X.type==="response.output_item.done"?"completed":"in_progress",arguments:Q.arguments,name:Q.name,output:Q.output});this.emit("item_update",Y);return}if(Q.type==="message"){let Y=pK.parse({itemId:X.item.id,type:X.item.type,role:X.item.role,content:X.item.content,status:X.type==="response.output_item.done"?Q.status??"completed":Q.status??"in_progress"});this.emit("item_update",Y);return}}}_onError($){this.emit("error",{type:"error",error:$})}_onOpen(){this.emit("connected")}_onClose(){this.emit("disconnected")}sendMessage($,X,{triggerResponse:U=!0}={}){let Q=typeof $==="string"?[{type:"input_text",text:$}]:$.content.map((Y)=>{if(Y.type==="input_image")return{type:"input_image",image_url:Y.image,...Y.providerData??{}};return Y});if(this.sendEvent({type:"conversation.item.create",item:{type:"message",role:"user",content:Q},...X}),U)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=LA($),U=X.audio?.input?.noiseReduction,Q=X.audio?.input?.transcription,Y=x1.buildTurnDetectionConfig(X.audio?.input?.turnDetection),W={type:"realtime",instructions:X.instructions,model:X.model??this.#$,output_modalities:X.outputModalities??j6.outputModalities,audio:{input:{format:X.audio?.input?.format??j6.audio?.input?.format,noise_reduction:U===void 0?j6.audio?.input?.noiseReduction:U,transcription:Q===void 0?j6.audio?.input?.transcription:Q,turn_detection:Y===void 0?j6.audio?.input?.turnDetection:Y},output:{format:X.audio?.output?.format??j6.audio?.output?.format,voice:X.audio?.output?.voice??j6.audio?.output?.voice,speed:X.audio?.output?.speed??j6.audio?.output?.speed}},tool_choice:X.toolChoice??j6.toolChoice,...X.providerData??{}};if(X.prompt)W.prompt={id:X.prompt.promptId,version:X.prompt.version,variables:X.prompt.variables};if(X.tools&&X.tools.length>0)W.tools=X.tools.map((J)=>{let G=(H)=>Object.fromEntries(Object.entries(H).filter(([,K])=>typeof K<"u"));if(J.type==="mcp")return G({type:"mcp",server_label:J.server_label,server_url:J.server_url,server_description:J.server_description,connector_id:J.connector_id,authorization:J.authorization,headers:J.headers,allowed_tools:J.allowed_tools,require_approval:J.require_approval});return G({type:J.type,name:J.name,description:J.description,parameters:J.parameters})});return W}buildSessionPayload($){return this._getMergedSessionConfig($)}static buildTurnDetectionConfig($){if(typeof $>"u")return;if($===null)return null;let{type:X,createResponse:U,create_response:Q,eagerness:Y,interruptResponse:W,interrupt_response:J,prefixPaddingMs:G,prefix_padding_ms:H,silenceDurationMs:K,silence_duration_ms:V,threshold:B,idleTimeoutMs:D,idle_timeout_ms:L,..._}=$,O={type:X,create_response:U??Q,eagerness:Y,interrupt_response:W??J,prefix_padding_ms:G??H,silence_duration_ms:K??V,idle_timeout_ms:D??L,threshold:B,..._};return Object.keys(O).forEach((N)=>{if(O[N]===void 0)delete O[N]}),Object.keys(O).length>0?O:void 0}set _tracingConfig($){this.#W=$}_updateTracingConfig($){if(typeof this.#W>"u")this.#W=null;if($==="auto"){this.sendEvent({type:"session.update",session:{type:"realtime",tracing:"auto"}});return}if(this.#W!==null&&typeof this.#W!=="string"&&typeof $!=="string"){T$.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){T$.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.#W===null||typeof this.#W==="string"){this.sendEvent({type:"session.update",session:{type:"realtime",tracing:$}});return}if($?.group_id!==this.#W?.group_id||$?.metadata!==this.#W?.metadata||$?.workflow_name!==this.#W?.workflow_name){T$.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.#W),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,U=!0){this.sendEvent({type:"conversation.item.create",item:{type:"function_call_output",output:X,call_id:$.callId}});try{let Q=nK.parse({itemId:$.id,previousItemId:$.previousItemId,type:"function_call",status:"completed",arguments:$.arguments,name:$.name,output:X});this.emit("item_update",Q)}catch(Q){T$.error("Error parsing tool call item",Q,$)}if(U)this.sendEvent({type:"response.create"})}sendAudio($,{commit:X=!1}={}){if(this.sendEvent({type:"input_audio_buffer.append",audio:cK($)}),X)this.sendEvent({type:"input_audio_buffer.commit"})}resetHistory($,X){let{removals:U,additions:Q,updates:Y}=GA($,X),W=new Set(U.map((G)=>G.itemId));for(let G of Y)W.add(G.itemId);if(W.size>0)for(let G of W)this.sendEvent({type:"conversation.item.delete",item_id:G});let J=[...Q,...Y];for(let G of J)if(G.type==="message"){let H={type:"message",role:G.role,content:G.content,id:G.itemId};if(G.role!=="system"&&G.status)H.status=G.status;this.sendEvent({type:"conversation.item.create",item:H})}else if(G.type==="function_call")T$.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 t0 extends x1{options;#$;#X={status:"disconnected",peerConnection:void 0,dataChannel:void 0,callId:void 0};#W;#U=!1;#J=!1;#Q;#G=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.#W=$.useInsecureApiKey??!1}get callId(){return this.#X.callId}get status(){return this.#X.status}get connectionState(){return this.#X}get muted(){return this.#J}async connect($){if(this.#X.status==="connected")return;if(this.#X.status==="connecting"){if(this.#Q)return this.#Q;T$.warn("Realtime connection already in progress but no promise found");return}let X=$.model??this.currentModel;this.currentModel=X;let U=$.url??this.#$,Q=await this._getApiKey($),Y=typeof Q==="string"&&Q.startsWith("ek_");if(Y3()&&!this.#W&&!Y)throw new p("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 W=++this.#G;return this.#Q=new Promise(async(J,G)=>{try{let H={...$.initialSessionConfig||{},model:this.currentModel},K=new URL(U),V=new RTCPeerConnection,B=V.createDataChannel("oai-events"),D=void 0,L=(F)=>{F.onconnectionstatechange=()=>{switch(F.connectionState){case"disconnected":case"failed":case"closed":this.close();break}}};L(V),this.#X={status:"connecting",peerConnection:V,dataChannel:B,callId:D},this.emit("connection_change",this.#X.status),B.addEventListener("open",()=>{this.#X={status:"connecting",peerConnection:V,dataChannel:B,callId:D};let F=!1,M,Z=()=>{if(F)return;if(F=!0,M!==void 0)clearTimeout(M);if(B.removeEventListener("message",E),B.removeEventListener("close",C),this.#X.status!=="connecting"||this.#X.dataChannel!==B||B.readyState!=="open"){if(this.#X.dataChannel===B)this.close();G(Error("Connection closed before session config was acknowledged"));return}this.#X={status:"connected",peerConnection:V,dataChannel:B,callId:D},this.emit("connection_change",this.#X.status),this._onOpen(),J()},E=(h)=>{if(JSON.parse(h.data).type==="session.updated")Z()},C=()=>{Z()};M=setTimeout(()=>{if(!F)T$.warn("Timed out waiting for session.updated ack — resolving connect() anyway"),Z()},5000),B.addEventListener("message",E),B.addEventListener("close",C),B.addEventListener("message",(h)=>{this._onMessage(h);let{data:l,isGeneric:U$}=a0(h);if(!l||U$)return;if(l.type==="response.created")this.#U=!0;else if(l.type==="response.done")this.#U=!1;if(l.type==="session.created"){this._tracingConfig=l.session.tracing;let i=typeof H.tracing>"u"?"auto":H.tracing;this._updateTracingConfig(i)}}),this.updateSessionConfig(H)}),B.addEventListener("error",(F)=>{this.close(),this._onError(F),G(F)});let _=this.options.audioElement??document.createElement("audio");_.autoplay=!0,V.ontrack=(F)=>{_.srcObject=F.streams[0]};let O=this.options.mediaStream??await navigator.mediaDevices.getUserMedia({audio:!0});if(V.addTrack(O.getAudioTracks()[0]),this.options.changePeerConnection){let F=V;if(V=await this.options.changePeerConnection(V),F!==V)F.onconnectionstatechange=null;L(V),this.#X={...this.#X,peerConnection:V}}let N=await V.createOffer();if(await V.setLocalDescription(N),!N.sdp)throw Error("Failed to create offer");let P=await fetch(K,{method:"POST",body:N.sdp,headers:{"Content-Type":"application/sdp",Authorization:`Bearer ${Q}`,"X-OpenAI-Agents-SDK":m3["X-OpenAI-Agents-SDK"]}});D=P.headers?.get("Location")?.split("/").pop(),this.#X={...this.#X,callId:D};let z={type:"answer",sdp:await P.text()};await V.setRemoteDescription(z)}catch(H){this.close(),this._onError(H),G(H)}}).finally(()=>{if(this.#G===W)this.#Q=void 0}),this.#Q}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.#J=$,this.#X.peerConnection)this.#X.peerConnection.getSenders().forEach((U)=>{if(U.track)U.track.enabled=!$})}_afterAudioDoneEvent(){this.#U=!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.#U)this.sendEvent({type:"response.cancel"}),this.#U=!1;this.sendEvent({type:"output_audio_buffer.clear"})}}var FA=globalThis.WebSocket;function wA(){return!0}var zA=!0;class X8 extends x1{#$;#X;#W;#U={status:"disconnected",websocket:void 0};#J;#Q;#G;_firstAudioTimestamp;_audioLengthMs=0;#Y=!1;#q;#K;#H(){this.#Q=void 0,this._firstAudioTimestamp=void 0,this._audioLengthMs=0,this.#G=void 0}constructor($={}){super($);this.#X=$.url,this.#W=$.url,this.#J=$.useInsecureApiKey??!1,this.#q=$.createWebSocket,this.#K=$.skipOpenEventListeners??!1}getCommonRequestHeaders(){return m3}get status(){return this.#U.status}get connectionState(){return this.#U}get muted(){return null}get currentItemId(){return this.#Q}_onAudio($){this.emit("audio",$)}_afterAudioDoneEvent(){this.#H()}async#B($,X,U){if(this.#U.websocket){$();return}if(!this.#$)throw new p("API key is not set. Please call `connect()` with an API key first.");if(wA()&&!this.#$.startsWith("ek_")&&!this.#J)throw new p("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 Q=null;if(this.#q)Q=await this.#q({url:this.#X,apiKey:this.#$});else{let W=zA?["realtime","openai-insecure-api-key."+this.#$,HA]:{headers:{Authorization:`Bearer ${this.#$}`,...this.getCommonRequestHeaders()}};Q=new FA(this.#X,W)}this.#U={status:"connecting",websocket:Q},this.emit("connection_change",this.#U.status);let Y=()=>{this.#U={status:"connected",websocket:Q},this.emit("connection_change",this.#U.status),this._onOpen(),$()};if(this.#K===!0)Y();else Q.addEventListener("open",Y);Q.addEventListener("error",(W)=>{this._onError(W),this.#U={status:"disconnected",websocket:void 0},this.emit("connection_change",this.#U.status),X(W)}),Q.addEventListener("message",(W)=>{this._onMessage(W);let{data:J,isGeneric:G}=a0(W);if(!J||G)return;if(J.type==="response.output_audio.delta"){if(this.#G=J.content_index,this.#Q=J.item_id,this._firstAudioTimestamp===void 0)this._firstAudioTimestamp=Date.now(),this._audioLengthMs=0;let H=uK(J.delta),K=this._rawSessionConfig?.audio?.output?.format;if(K&&typeof K==="object"){let B=K.type;if(B==="audio/pcmu"||B==="audio/pcma")this._audioLengthMs+=H.byteLength/8;else if(B==="audio/pcm"){let D=K.rate??24000;this._audioLengthMs+=H.byteLength/2/D*1000}else this._audioLengthMs+=H.byteLength/24/2}else if(typeof K==="string")if(K.startsWith("g711_"))this._audioLengthMs+=H.byteLength/8;else this._audioLengthMs+=H.byteLength/24/2;else this._audioLengthMs+=H.byteLength/24/2;let V={type:"audio",data:H,responseId:J.response_id};this._onAudio(V)}else if(J.type==="input_audio_buffer.speech_started"){let H=this._rawSessionConfig?.audio?.input?.turn_detection?.interrupt_response??!1;this.interrupt(!H)}else if(J.type==="response.created")this.#Y=!0;else if(J.type==="response.done")this.#Y=!1;else if(J.type==="session.created"){this._tracingConfig=J.session.tracing;let H=typeof U.tracing>"u"?"auto":U.tracing;this._updateTracingConfig(H)}}),Q.addEventListener("close",()=>{this.#U={status:"disconnected",websocket:void 0},this.emit("connection_change",this.#U.status),this._onClose()})}async connect($){let X=$.model??this.currentModel;this.currentModel=X,this.#$=await this._getApiKey($);let U=$.callId,Q;if($.url)Q=$.url,this.#W=$.url;else if(U)Q=`wss://api.openai.com/v1/realtime?call_id=${U}`;else if(this.#W)Q=this.#W;else Q=`wss://api.openai.com/v1/realtime?model=${this.currentModel}`;this.#X=Q;let Y={...$.initialSessionConfig||{},model:this.currentModel};await new Promise((W,J)=>{this.#B(W,J,Y).catch(J)}),await this.updateSessionConfig(Y)}sendEvent($){if(!this.#U.websocket)throw Error("WebSocket is not connected. Make sure you call `connect()` before sending events.");this.#U.websocket.send(JSON.stringify($))}close(){this.#U.websocket?.close(),this.#Q=void 0,this._firstAudioTimestamp=void 0,this._audioLengthMs=0,this.#G=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.#U.status==="connected")super.sendAudio($,X)}_cancelResponse(){if(this.#Y)this.sendEvent({type:"response.cancel"}),this.#Y=!1}_interrupt($,X=!0){if($<0)return;if(X)this._cancelResponse();let U=this._audioLengthMs??Number.POSITIVE_INFINITY,Q=Math.max(0,Math.floor(Math.min($,U)));this.emit("audio_interrupted"),this.sendEvent({type:"conversation.item.truncate",item_id:this.#Q,content_index:this.#G,audio_end_ms:Q})}interrupt($=!0){if(!this.#Q||typeof this._firstAudioTimestamp!=="number")return;let X=Date.now()-this._firstAudioTimestamp;if(X>=0)this._interrupt(X,$);this.#H()}}var Hm=Symbol("backgroundResult");function aK($){return typeof $==="object"&&$!==null&&Hm in $}function MA($){return $.type==="function"||$.type==="hosted_tool"&&$.name==="hosted_mcp"}function AA($){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 p(`Invalid tool type: ${$}`)}function Km(){return JSON.parse(JSON.stringify(j6))}var tK="Tool execution was not approved.";function Vm($){return $ instanceof Error?$.message:String($)}class s0 extends M4{initialAgent;options;#$;#X;#W;#U;#J=[];#Q;#G={};#Y=[];#q;#K={};#H=!1;#B=new Map;#V=[];#L=Km();#O=!0;constructor($,X={}){super();if(this.initialAgent=$,this.options=X,typeof X.transport>"u"&&qA()||X.transport==="webrtc")this.#$=new t0;else if(X.transport==="websocket"||typeof X.transport>"u")this.#$=new X8;else this.#$=X.transport;this.#X=$,this.#U=new f$({...X.context??{},history:this.#Y}),this.#J=(X.outputGuardrails??[]).map(BA),this.#Q=VA(X.outputGuardrailSettings??{}),this.#q=X.historyStoreAudio??!1,this.#O=X.automaticallyTriggerResponseForMcpToolCalls??!0}get transport(){return this.#$}get currentAgent(){return this.#X}get usage(){return this.#U.usage}get context(){return this.#U}get muted(){return this.#$.muted}get history(){return this.#Y}get availableMcpTools(){return this.#V}async#D($){this.#X=$;let X=await this.#X.getEnabledHandoffs(this.#U),U=X.map((J)=>J.getHandoffAsFunctionTool()),Q=(await this.#X.getAllTools(this.#U)).filter(MA).map(AA),Y=typeof this.#X.tools<"u"||typeof this.#X.mcpServers<"u",W=X.length>0;this.#W=Y||W?[...Q,...U]:void 0,this.#w()}async#_($={}){let X=$??{},U=this.options.config??{},Q=await this.#X.getSystemPrompt(this.#U),Y=(B)=>{return B.audio?.output?.voice},W=this.options.tracingDisabled?null:this.options.workflowName?{workflow_name:this.options.workflowName}:"auto";if(W!==null&&W!=="auto"){if(this.options.groupId)W.group_id=this.options.groupId;if(this.options.traceMetadata)W.metadata=this.options.traceMetadata}else if(this.options.groupId||this.options.traceMetadata)T$.warn("In order to set traceMetadata or a groupId you need to specify a workflowName.");let J=Y(X)??Y(U),G=X.voice??U.voice,H=typeof J<"u"?J:typeof G<"u"?G:this.#X.voice,V={...{...this.#L??{},...U,...X},instructions:Q,voice:H,model:this.options.model,tools:this.#W,tracing:W,prompt:typeof this.#X.prompt==="function"?await this.#X.prompt(this.#U,this.#X):this.#X.prompt};return this.#L=V,V}async getInitialSessionConfig($={}){return await this.#D(this.initialAgent),this.#_({...this.options.config??{},...$??{}})}static async computeInitialSessionConfig($,X={},U={}){let Q=new s0($,X);try{return await Q.getInitialSessionConfig(U)}finally{Q.close()}}async updateAgent($){return this.#X.emit("agent_handoff",this.#U,$),this.emit("agent_handoff",this.#U,this.#X,$),await this.#D($),await this.#$.updateSessionConfig(await this.#_()),$}async#z($,X){let U=await X.onInvokeHandoff(this.#U,$.arguments);this.#X.emit("agent_handoff",this.#U,U),this.emit("agent_handoff",this.#U,this.#X,U),await this.#D(U),await this.#$.updateSessionConfig(await this.#_());let Q=r9(U);return this.#$.sendFunctionCallOutput($,Q,!0),U}async#M($,X){let{toolErrorFormatter:U}=this.options;if(!U)return tK;try{let Q=await U({kind:"approval_rejected",toolType:"function",toolName:$,callId:X,defaultMessage:tK,runContext:this.#U});if(typeof Q==="string")return Q;if(typeof Q<"u")T$.warn("toolErrorFormatter returned a non-string value. Falling back to the default tool approval rejection message.")}catch(Q){T$.warn(`toolErrorFormatter threw while formatting approval rejection: ${Vm(Q)}`)}return tK}async#N($,X){this.#U.context.history=JSON.parse(JSON.stringify(this.#Y));let U=$.arguments;if(X.parameters)if(e$(X.parameters))U=X.parameters.parse(U);else U=JSON.parse(U);if(await X.needsApproval(this.#U,U,$.callId)){let H=this.context.isToolApproved({toolName:X.name,callId:$.callId});if(H===!1){this.emit("agent_tool_start",this.#U,this.#X,X,{toolCall:$}),this.#X.emit("agent_tool_start",this.#U,X,{toolCall:$});let K=await this.#M(X.name,$.callId);this.#$.sendFunctionCallOutput($,K,!0),this.emit("agent_tool_end",this.#U,this.#X,X,K,{toolCall:$}),this.#X.emit("agent_tool_end",this.#U,X,K,{toolCall:$});return}else if(typeof H>"u"){this.emit("tool_approval_requested",this.#U,this.#X,{type:"function_approval",tool:X,approvalItem:new H$($,this.#X)});return}}let Y=await t9({guardrails:X.inputGuardrails,context:this.#U,agent:this.#X,toolCall:$});this.emit("agent_tool_start",this.#U,this.#X,X,{toolCall:$}),this.#X.emit("agent_tool_start",this.#U,X,{toolCall:$}),this.#U.context.history=JSON.parse(JSON.stringify(this.#Y));let W=Y.type==="reject"?Y.message:await f9({tool:X,runContext:this.#U,input:$.arguments,details:{toolCall:$}}),J=Y.type==="reject"?W:await s9({guardrails:X.outputGuardrails,context:this.#U,agent:this.#X,toolCall:$,toolOutput:W}),G;if(aK(J))G=N6(J.content),this.#$.sendFunctionCallOutput($,G,!1);else G=N6(J),this.#$.sendFunctionCallOutput($,G,!0);this.emit("agent_tool_end",this.#U,this.#X,X,G,{toolCall:$}),this.#X.emit("agent_tool_end",this.#U,X,G,{toolCall:$})}async#A($){let X=await this.#X.getEnabledHandoffs(this.#U),U=new Map(X.map((J)=>[J.toolName,J])),Q=await this.#X.getAllTools(this.#U),Y=new Map(Q.map((J)=>[J.name,J])),W=U.get($.name);if(W)await this.#z($,W);else{let J=Y.get($.name);if(J&&J.type==="function")await this.#N($,J);else throw new P$(`Tool ${$.name} not found`)}}async#F($,X,U){if(this.#J.length===0)return;let Q={agent:this.#X,agentOutput:$,context:this.#U},W=(await Promise.all(this.#J.map((J)=>J.run(Q)))).find((J)=>J.output.tripwireTriggered);if(W){if(this.#K[X])return;this.#K[X]=!0;let J=new d4(`Output guardrail triggered: ${JSON.stringify(W.output.outputInfo)}`,W);this.emit("guardrail_tripped",this.#U,this.#X,J,{itemId:U}),this.interrupt();let G=DA(W);this.sendMessage(G);return}}#P(){this.#$.on("*",(U)=>{if(this.emit("transport_event",U),U.type==="conversation.item.input_audio_transcription.completed")try{let Q=U;this.#Y=lK(this.#Y,Q,this.#q),this.#U.context.history=this.#Y,this.emit("history_updated",this.#Y)}catch(Q){this.emit("error",{type:"error",error:Q})}}),this.#$.on("mcp_tools_listed",({serverLabel:U,tools:Q})=>{try{this.#B.set(U,Q??[]),this.#w()}catch(Y){this.emit("error",{type:"error",error:Y})}}),this.#$.on("audio",(U)=>{if(!this.#H)this.#H=!0,this.emit("audio_start",this.#U,this.#X);this.emit("audio",U)}),this.#$.on("turn_started",()=>{this.#H=!1,this.emit("agent_start",this.#U,this.#X),this.#X.emit("agent_start",this.#U,this.#X)}),this.#$.on("turn_done",(U)=>{let Q=U.response.output[U.response.output.length-1],Y=dK(Q)??"",W=Q?.id??"";this.emit("agent_end",this.#U,this.#X,Y),this.#X.emit("agent_end",this.#U,Y),this.#F(Y,U.response.id,W)}),this.#$.on("audio_done",()=>{if(this.#H)this.#H=!1;this.emit("audio_stopped",this.#U,this.#X)});let $=0,X;this.#$.on("audio_transcript_delta",(U)=>{try{let{delta:Q,itemId:Y,responseId:W}=U;if(X!==Y)X=Y,$=0;let G=(this.#G[Y]??"")+Q;if(this.#G[Y]=G,this.#Q.debounceTextLength<0)return;let H=Math.floor(G.length/this.#Q.debounceTextLength);if(H>$)$=H,this.#F(G,W,Y)}catch(Q){this.emit("error",{type:"error",error:Q})}}),this.#$.on("item_update",(U)=>{try{let Q=!this.#Y.some((Y)=>Y.itemId===U.itemId);if(this.#Y=lK(this.#Y,U,this.#q),this.#U.context.history=this.#Y,Q){let Y=this.#Y.find((W)=>W.itemId===U.itemId);if(Y)this.emit("history_added",Y)}this.emit("history_updated",this.#Y)}catch(Q){this.emit("error",{type:"error",error:Q})}}),this.#$.on("item_deleted",(U)=>{try{this.#Y=this.#Y.filter((Q)=>Q.itemId!==U.itemId),this.#U.context.history=this.#Y,this.emit("history_updated",this.#Y)}catch(Q){this.emit("error",{type:"error",error:Q})}}),this.#$.on("function_call",async(U)=>{try{await this.#A(U)}catch(Q){T$.error("Error handling function call",Q),this.emit("error",{type:"error",error:Q})}}),this.#$.on("usage_update",(U)=>{this.#U.usage.add(U)}),this.#$.on("audio_interrupted",()=>{if(this.#H)this.#H=!1;this.emit("audio_interrupted",this.#U,this.#X)}),this.#$.on("error",(U)=>{this.emit("error",U)}),this.#$.on("mcp_tool_call_completed",(U)=>{if(this.emit("mcp_tool_call_completed",this.#U,this.#X,U),this.#O)this.#$.sendEvent({type:"response.create"})}),this.#$.on("mcp_approval_request",(U)=>{this.emit("tool_approval_requested",this.#U,this.#X,{type:"mcp_approval_request",approvalItem:KA(this.#X,U)})})}#w(){let $=this.#W?.filter((J)=>J.type==="mcp"),X=(J)=>{let G=J.allowed_tools;if(!G)return;if(Array.isArray(G))return G;if(G&&Array.isArray(G.tool_names))return G.tool_names;return},U=new Map;for(let J of $){let G=this.#B.get(J.server_label)??[],H=X(J);for(let K of G){if(H&&!H.includes(K.name))continue;if(!U.has(K.name))U.set(K.name,K)}}let Q=Array.from(U.values()),Y=this.#V;if(Y.length!==Q.length||JSON.stringify(Y.map((J)=>J.name).sort())!==JSON.stringify(Q.map((J)=>J.name).sort()))this.#V=Q,this.emit("mcp_tools_changed",this.#V)}async connect($){await this.#D(this.initialAgent),this.#P(),await this.#$.connect({apiKey:$.apiKey??this.options.apiKey,model:this.options.model,url:$.url,callId:$.callId,initialSessionConfig:await this.#_(this.options.config)}),this.#Y=[],this.emit("history_updated",this.#Y)}updateHistory($){let X;if(typeof $==="function")X=$(this.#Y);else X=$;this.#$.resetHistory(this.#Y,X)}sendMessage($,X={}){this.#$.sendMessage($,X)}addImage($,{triggerResponse:X=!0}={}){this.#$.addImage($,{triggerResponse:X})}mute($){this.#$.mute($)}close(){this.#K={},this.#$.close()}sendAudio($,X={}){this.#$.sendAudio($,X)}interrupt(){this.#$.interrupt()}async approve($,X={alwaysApprove:!1}){this.#U.approveTool($,X);let U=$.toolName??$.rawItem.name,Q=this.#X.tools.find((Y)=>Y.name===U);if(Q&&Q.type==="function"&&$.rawItem.type==="function_call")await this.#N($.rawItem,Q);else if($.rawItem.type==="hosted_tool_call"){if(X.alwaysApprove)T$.warn("Always approving MCP tools is not supported. Use the allowed tools configuration instead.");let Y=iK($);this.#$.sendMcpResponse(Y,!0)}else throw new P$(`Tool ${U??"unknown"} not found`)}async reject($,X={alwaysReject:!1}){this.#U.rejectTool($,X);let U=$.toolName??$.rawItem.name,Q=this.#X.tools.find((Y)=>Y.name===U);if(Q&&Q.type==="function"&&$.rawItem.type==="function_call")await this.#N($.rawItem,Q);else if($.rawItem.type==="hosted_tool_call"){if(X.alwaysReject)T$.warn("Always rejecting MCP tools is not supported. Use the allowed tools configuration instead.");let Y=iK($);this.#$.sendMcpResponse(Y,!1)}else throw new P$(`Tool ${U??"unknown"} not found`)}}var Bm=class{apply($,X){if(!X.type)return;let U=Array.isArray(X.type)?X.type:[X.type],Q=new Set(U);if(!Q.has("string"))$.string=!1;if(!Q.has("number")&&!Q.has("integer"))$.number=!1;if(!Q.has("boolean"))$.boolean=!1;if(!Q.has("null"))$.null=!1;if(!Q.has("array"))$.array=!1;if(!Q.has("object"))$.object=!1;if(Q.has("integer")&&$.number!==!1){let Y=$.number||q.number();if(Y instanceof q.ZodNumber)$.number=Y.int()}}},Dm=class{apply($,X){if(X.const===void 0)return;let U=X.const;if($.string=!1,$.number=!1,$.boolean=!1,$.null=!1,$.array=!1,$.object=!1,typeof U==="string")$.string=q.literal(U);else if(typeof U==="number")$.number=q.literal(U);else if(typeof U==="boolean")$.boolean=q.literal(U);else if(U===null)$.null=q.null();else if(Array.isArray(U))$.array=void 0;else if(typeof U==="object")$.object=void 0}},Lm=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 U={string:X.enum.filter((Q)=>typeof Q==="string"),number:X.enum.filter((Q)=>typeof Q==="number"),boolean:X.enum.filter((Q)=>typeof Q==="boolean"),null:X.enum.filter((Q)=>Q===null),array:X.enum.filter((Q)=>Array.isArray(Q)),object:X.enum.filter((Q)=>typeof Q==="object"&&Q!==null&&!Array.isArray(Q))};$.string=this.createTypeSchema(U.string,"string"),$.number=this.createTypeSchema(U.number,"number"),$.boolean=this.createTypeSchema(U.boolean,"boolean"),$.null=U.null.length>0?q.null():!1,$.array=U.array.length>0?void 0:!1,$.object=U.object.length>0?void 0:!1}createTypeSchema($,X){if($.length===0)return!1;if($.length===1)return q.literal($[0]);if(X==="string")return q.enum($);if(X==="number"){let[U,Q,...Y]=$;return q.union([q.literal(U),q.literal(Q),...Y.map((W)=>q.literal(W))])}if(X==="boolean")return q.union([q.literal(!0),q.literal(!1)]);return!1}},Om=class{apply($,X){let U=X;if(U.type==="string"&&U.format==="binary"&&U.contentEncoding==="binary"){let Q=q.file();if(U.minLength!==void 0)Q=Q.min(U.minLength);if(U.maxLength!==void 0)Q=Q.max(U.maxLength);if(U.contentMediaType!==void 0)Q=Q.mime(U.contentMediaType);$.file=Q,$.string=!1}}},_m=class{apply($,X){let U=X;if(X.type===void 0&&(U.minLength!==void 0||U.maxLength!==void 0||U.pattern!==void 0)){if($.string===void 0)$.string=q.string()}}},Nm=class{apply($,X){let U=X;if(U.minLength===void 0)return;if($.string!==!1){let Q=$.string||q.string();if(Q instanceof q.ZodString)$.string=Q.refine((Y)=>{return Array.from(Y).length>=U.minLength},{message:`String must be at least ${U.minLength} characters long`})}}},Fm=class{apply($,X){let U=X;if(U.maxLength===void 0)return;if($.string!==!1){let Q=$.string||q.string();if(Q instanceof q.ZodString)$.string=Q.refine((Y)=>{return Array.from(Y).length<=U.maxLength},{message:`String must be at most ${U.maxLength} characters long`})}}},wm=class{apply($,X){let U=X;if(!U.pattern)return;if($.string!==!1){let Q=$.string||q.string();if(Q instanceof q.ZodString){let Y=new RegExp(U.pattern);$.string=Q.regex(Y)}}}},zm=class{apply($,X){let U=X;if(U.minimum===void 0)return;if($.number!==!1){let Q=$.number||q.number();if(Q instanceof q.ZodNumber)$.number=Q.min(U.minimum)}}},Mm=class{apply($,X){let U=X;if(U.maximum===void 0)return;if($.number!==!1){let Q=$.number||q.number();if(Q instanceof q.ZodNumber)$.number=Q.max(U.maximum)}}},Am=class{apply($,X){let U=X;if(U.exclusiveMinimum===void 0)return;if($.number!==!1){let Q=$.number||q.number();if(Q instanceof q.ZodNumber)if(typeof U.exclusiveMinimum==="number")$.number=Q.gt(U.exclusiveMinimum);else $.number=!1}}},Pm=class{apply($,X){let U=X;if(U.exclusiveMaximum===void 0)return;if($.number!==!1){let Q=$.number||q.number();if(Q instanceof q.ZodNumber)if(typeof U.exclusiveMaximum==="number")$.number=Q.lt(U.exclusiveMaximum);else $.number=!1}}},Zm=class{apply($,X){let U=X;if(U.multipleOf===void 0)return;if($.number!==!1){let Q=$.number||q.number();if(Q instanceof q.ZodNumber)$.number=Q.refine((Y)=>{if(U.multipleOf===0)return!1;let W=Y/U.multipleOf,J=Math.round(W),G=Math.min(Math.abs(Y)*Number.EPSILON*10,Math.abs(U.multipleOf)*Number.EPSILON*10);return Math.abs(W-J)<=G/Math.abs(U.multipleOf)},{message:`Must be a multiple of ${U.multipleOf}`})}}},vm=class{apply($,X){let U=X;if(X.type===void 0&&(U.minItems!==void 0||U.maxItems!==void 0||U.items!==void 0||U.prefixItems!==void 0)){if($.array===void 0)$.array=q.array(q.any())}}},Em=class{apply($,X){let U=X;if(U.minItems===void 0)return;if($.array!==!1)$.array=($.array||q.array(q.any())).min(U.minItems)}},km=class{apply($,X){let U=X;if(U.maxItems===void 0)return;if($.array!==!1)$.array=($.array||q.array(q.any())).max(U.maxItems)}},Im=class{apply($,X){let U=X;if($.array===!1)return;if(Array.isArray(U.items))$.array=$.array||q.array(q.any());else if(U.items&&typeof U.items!=="boolean"&&!U.prefixItems){let Q=d$(U.items),Y=q.array(Q);if($.array&&$.array instanceof q.ZodArray){let W=$.array._def;if(W.checks)W.checks.forEach((J)=>{if(J._zod&&J._zod.def){let G=J._zod.def;if(G.check==="min_length"&&G.minimum!==void 0)Y=Y.min(G.minimum);else if(G.check==="max_length"&&G.maximum!==void 0)Y=Y.max(G.maximum)}})}$.array=Y}else if(typeof U.items==="boolean"&&U.items===!1)if(!U.prefixItems)$.array=q.array(q.any()).max(0);else $.array=$.array||q.array(q.any());else if(typeof U.items==="boolean"&&U.items===!0)$.array=$.array||q.array(q.any());else if(U.prefixItems)$.array=$.array||q.array(q.any())}},jm=class{apply($,X){if(X.type!=="array")return;let U=X;if(!Array.isArray(U.items))return;if($.array===!1)return;let Q=U.items.map((W)=>d$(W)),Y;if(Q.length===0)Y=q.tuple([]);else Y=q.tuple(Q);if(U.minItems!==void 0&&U.minItems>Q.length)Y=!1;if(U.maxItems!==void 0&&U.maxItems<Q.length)Y=!1;$.tuple=Y,$.array=!1}},bm=class{apply($,X){let U=X;if($.object===!1)return;if(U.properties||U.required||U.additionalProperties!==void 0)$.object=$.object||q.object({}).passthrough()}},Rm=class{apply($,X){let U=X;if(X.type===void 0&&(U.maxProperties!==void 0||U.minProperties!==void 0)){if($.object===void 0)$.object=q.object({}).passthrough()}}},Sm=class{apply($,X){let U=X;if(U.maxProperties===void 0)return;if($.object!==!1){let Q=$.object||q.object({}).passthrough();$.object=Q.refine((Y)=>Object.keys(Y).length<=U.maxProperties,{message:`Object must have at most ${U.maxProperties} properties`})}}},Tm=class{apply($,X){let U=X;if(U.minProperties===void 0)return;if($.object!==!1){let Q=$.object||q.object({}).passthrough();$.object=Q.refine((Y)=>Object.keys(Y).length>=U.minProperties,{message:`Object must have at least ${U.minProperties} properties`})}}};function U8($,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((U,Q)=>U8(U,X[Q]))}if(typeof $==="object"&&typeof X==="object"){let U=Object.keys($),Q=Object.keys(X);if(U.length!==Q.length)return!1;return U.every((Y)=>Q.includes(Y)&&U8($[Y],X[Y]))}return!1}function xm(){return($)=>{if(!Array.isArray($))return!0;let X=[];return $.every((U)=>{if(X.some((Y)=>U8(U,Y)))return!1;return X.push(U),!0})}}function d3($,X){return $.safeParse(X).success}var Cm=class{apply($,X){if(!X.not)return $;let U=d$(X.not);return $.refine((Q)=>!d3(U,Q),{message:"Value must not match the 'not' schema"})}},gm=class{apply($,X){if(X.uniqueItems!==!0)return $;return $.refine(xm(),{message:"Array items must be unique"})}},fm=class{apply($,X){if(!X.allOf||X.allOf.length===0)return $;return X.allOf.map((Q)=>d$(Q)).reduce((Q,Y)=>q.intersection(Q,Y),$)}},hm=class{apply($,X){if(!X.anyOf||X.anyOf.length===0)return $;let U=X.anyOf.length===1?d$(X.anyOf[0]):q.union([d$(X.anyOf[0]),d$(X.anyOf[1]),...X.anyOf.slice(2).map((Q)=>d$(Q))]);return q.intersection($,U)}},ym=class{apply($,X){if(!X.oneOf||X.oneOf.length===0)return $;let U=X.oneOf.map((Q)=>d$(Q));return $.refine((Q)=>{let Y=0;for(let W of U)if(W.safeParse(Q).success){if(Y++,Y>1)return!1}return Y===1},{message:"Value must match exactly one of the oneOf schemas"})}},mm=class{apply($,X){let U=X;if(U.prefixItems&&Array.isArray(U.prefixItems)){let Y=U.prefixItems.map((W)=>d$(W));return $.refine((W)=>{if(!Array.isArray(W))return!0;for(let J=0;J<Math.min(W.length,Y.length);J++)if(!d3(Y[J],W[J]))return!1;if(W.length>Y.length){if(typeof U.items==="boolean"&&U.items===!1)return!1;else if(U.items&&typeof U.items==="object"&&!Array.isArray(U.items)){let J=d$(U.items);for(let G=Y.length;G<W.length;G++)if(!d3(J,W[G]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return $}},um=class{apply($,X){let U=X;if(!U.properties&&!U.required&&U.additionalProperties!==!1)return $;if($ instanceof q.ZodObject||$ instanceof q.ZodRecord){let Q={};if(U.properties){for(let[Y,W]of Object.entries(U.properties))if(W!==void 0)Q[Y]=d$(W)}if(U.required&&Array.isArray(U.required)){let Y=new Set(U.required);for(let W of Object.keys(Q))if(!Y.has(W))Q[W]=Q[W].optional()}else for(let Y of Object.keys(Q))Q[Y]=Q[Y].optional();if(U.additionalProperties===!1)return q.object(Q);else return q.object(Q).passthrough()}return $.refine((Q)=>{if(typeof Q!=="object"||Q===null||Array.isArray(Q))return!0;if(U.properties){for(let[Y,W]of Object.entries(U.properties))if(W!==void 0){if(Object.getOwnPropertyDescriptor(Q,Y)!==void 0){if(!d$(W).safeParse(Q[Y]).success)return!1}}}if(U.required&&Array.isArray(U.required)){for(let Y of U.required)if(Object.getOwnPropertyDescriptor(Q,Y)===void 0)return!1}if(U.additionalProperties===!1&&U.properties){let Y=new Set(Object.keys(U.properties));for(let W in Q)if(!Y.has(W))return!1}return!0},{message:"Object constraints validation failed"})}},cm=class{apply($,X){if(!X.enum||X.enum.length===0)return $;let U=X.enum.filter((Q)=>Array.isArray(Q)||typeof Q==="object"&&Q!==null);if(U.length===0)return $;return $.refine((Q)=>{if(typeof Q!=="object"||Q===null)return!0;return U.some((Y)=>U8(Q,Y))},{message:"Value must match one of the enum values"})}},dm=class{apply($,X){if(X.const===void 0)return $;let U=X.const;if(typeof U!=="object"||U===null)return $;return $.refine((Q)=>U8(Q,U),{message:"Value must equal the const value"})}},lm=class{apply($,X){if(X.description)$=$.describe(X.description);return $}},im=class{apply($,X){var U;let Q=X;if(!((U=Q.required)==null?void 0:U.includes("__proto__"))||X.type!==void 0)return $;return q.any().refine((Y)=>this.validateRequired(Y,Q.required),{message:"Missing required properties"})}validateRequired($,X){if(typeof $!=="object"||$===null||Array.isArray($))return!0;return X.every((U)=>Object.prototype.hasOwnProperty.call($,U))}},pm=class{apply($,X){var U;let Q=X;if(Q.contains===void 0)return $;let Y=d$(Q.contains),W=(U=Q.minContains)!=null?U:1,J=Q.maxContains;return $.refine((G)=>{if(!Array.isArray(G))return!0;let H=0;for(let K of G)if(d3(Y,K))H++;if(H<W)return!1;if(J!==void 0&&H>J)return!1;return!0},{message:"Array must contain required items matching the schema"})}},nm=class{apply($,X){let{default:U}=X;if(U===void 0)return $;if(!$.safeParse(U).success)return $;return $.default(U)}},rm=[new Dm,new Lm,new Bm,new Om,new _m,new vm,new Rm,new Nm,new Fm,new wm,new zm,new Mm,new Am,new Pm,new Zm,new jm,new Em,new km,new Im,new Sm,new Tm,new bm],om=[new im,new cm,new dm,new fm,new hm,new ym,new mm,new um,new pm,new Cm,new gm,new nm,new lm];function d$($){if(typeof $==="boolean")return $?q.any():q.never();let X={};for(let Y of rm)Y.apply(X,$);let U=[];if(X.string!==!1)U.push(X.string||q.string());if(X.number!==!1)U.push(X.number||q.number());if(X.boolean!==!1)U.push(X.boolean||q.boolean());if(X.null!==!1)U.push(X.null||q.null());if(X.array!==!1)U.push(X.array||q.array(q.any()));if(X.tuple!==!1&&X.tuple!==void 0)U.push(X.tuple);if(X.object!==!1)if(X.object)U.push(X.object);else{let Y=q.custom((W)=>{return typeof W==="object"&&W!==null&&!Array.isArray(W)},"Must be an object, not an array");U.push(Y)}if(X.file!==!1&&X.file!==void 0)U.push(X.file);let Q;if(U.length===0)Q=q.never();else if(U.length===1)Q=U[0];else if(!Object.keys($).some((W)=>W!=="$schema"&&W!=="title"&&W!=="description"))Q=q.any();else Q=q.union(U);for(let Y of om)Q=Y.apply(Q,$);return Q}import{jsx as i3,jsxs as PA}from"react/jsx-runtime";var sm=({data:$,setUiAjaxConfiguration:X})=>{let{name:U,titles:Q,instructions:Y,tools:W,token:J,autoStart:G,muted:H,language:K,outputModalities:V,sxMap:B,iconUrl:D,iconPosition:L,useSocketioSupport:_,useCentrifugeSupport:O,useMittSupport:N,centrifugeChannel:P}=$,{apiServer:z,enableRenderingLog:F}=U2(),[M,Z]=e0(null),[E,C]=e0(null),[h,l]=e0(null),[U$,i]=e0(!1),[Y$,G$]=e0([]),[,x$]=e0(null),A=tm(null),m=am(()=>{return W.map((N$)=>{let X6=M7(X??(()=>{}),N$.kwargs,N$.depsNames,N$.pathname,{apiServer:z,renderingLogEnabled:F});return w4({name:N$.name,description:N$.description,parameters:d$(N$.params),async execute(J8){console.log(`Calling tool: ${N$.name} with: ${JSON.stringify(J8)}`);let $2=await X6(J8);if(!Array.isArray($2))return[];return $2.filter((g1)=>g1.name===`pietoolOutput_${U}`).map((g1)=>g1.data.output)}})})},[W,X]),d=()=>{if(console.log("Disconnecting session..."),E)E.close();C(null),Z(null),i(!1)},K$=async(N$)=>{if(!E){console.error("Session not initialized");return}if(U$){console.log("Already connected, skipping...");return}try{E.on("history_updated",(X6)=>{G$(X6)}),console.log("Connecting to session..."),x$(null),await E.connect({apiKey:N$}),i(!0),console.log("Connected successfully")}catch(X6){console.error("Failed to connect to session:",X6),x$(X6 instanceof Error?X6.message:"Failed to connect"),i(!1)}};return l3(()=>{if(!A.current)return;if(!h)navigator.mediaDevices.getUserMedia({audio:!0}).then(async(N$)=>{l(new t0({mediaStream:N$,audioElement:A.current}))})},[A]),l3(()=>{if(!A.current)return;if(!h)return;if(M===null||E===null){let N$=new u3({name:U,instructions:Y,tools:m}),X6=new s0(N$,{model:"gpt-realtime",transport:h,config:{outputModalities:V,audio:{input:{transcription:{language:K??void 0,model:"gpt-4o-mini-transcribe"}}},inputAudioTranscription:{language:K??void 0,model:"gpt-4o-mini-transcribe"}}});Z(N$),C(X6)}},[M,E,U,Y,m,A,h]),l3(()=>{if(M!==null&&E!==null&&G&&J&&!U$)console.log("Auto-connecting..."),K$(J).catch((N$)=>{console.error("Auto-connection failed:",N$)})},[M,E]),l3(()=>{return()=>{console.log("Disconnecting..."),d()}},[]),PA(k$,{card:"VoiceAgentCard",data:$,methods:{initializeAI:async(N$)=>{if(M!==null&&E!==null&&N$.token&&!U$)console.log("Connecting via initialize event..."),await K$(N$.token).catch((X6)=>{console.error("Auto-connection failed:",X6)})},stop:()=>{d()}},useCentrifugeSupport:O,useSocketioSupport:_,useMittSupport:N,centrifugeChannel:P,children:[PA("button",{id:U,value:U,onClick:async()=>{if(U$)d();else if(J)await K$(J)},style:R4(U$?B.enabled:B.disabled),type:"button",children:[D&&L==="start"&&i3("img",{src:D,alt:""}),c6(U$?Q.enabled:Q.disabled),D&&L==="end"&&i3("img",{src:D,alt:""})]}),i3("input",{type:"hidden",name:U,value:JSON.stringify(Y$)}),i3("audio",{ref:A,autoPlay:!0,muted:H,style:{display:"none"}})]})},ZA=A6(sm);import{useEffect as em,useState as $u}from"react";import{jsx as vA}from"react/jsx-runtime";var Xu=({data:$})=>{let{name:X,value:U,useSocketioSupport:Q,useCentrifugeSupport:Y,useMittSupport:W,centrifugeChannel:J}=$,[G,H]=$u(U);return em(()=>{H(U)},[U]),vA(k$,{card:"HiddenCard",data:$,useSocketioSupport:Q,useCentrifugeSupport:Y,useMittSupport:W,centrifugeChannel:J,methods:{update:({value:K})=>{H(K)}},children:vA("input",{type:"hidden",id:X,name:X,value:G})})},EA=Xu;import{useContext as Uu,useEffect as Yu}from"react";import{jsx as Ju,Fragment as Wu}from"react/jsx-runtime";var Qu=({data:$})=>{let{url:X}=$,U=Uu(t1);return Yu(()=>{if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(X))window.location.href=X;else U?.(X)},[X,U]),Ju(Wu,{})},kA=Qu;import{isValidElement as Hu}from"react";import jA,{useEffect as Bu,useLayoutEffect as Du,useRef as Lu}from"react";import{cloneElement as _u,isValidElement as Nu}from"react";import sK from"react";import eK from"react";function IA($){var X,U,Q="";if(typeof $=="string"||typeof $=="number")Q+=$;else if(typeof $=="object")if(Array.isArray($)){var Y=$.length;for(X=0;X<Y;X++)$[X]&&(U=IA($[X]))&&(Q&&(Q+=" "),Q+=U)}else for(U in $)$[U]&&(Q&&(Q+=" "),Q+=U);return Q}function Gu(){for(var $,X,U=0,Q="",Y=arguments.length;U<Y;U++)($=arguments[U])&&(X=IA($))&&(Q&&(Q+=" "),Q+=X);return Q}var Q4=Gu;import $V,{useEffect as zu,useRef as Mu,useState as Au}from"react";import{useRef as gu,useSyncExternalStore as fu}from"react";import{useEffect as yu,useRef as RA,useState as SA}from"react";import{useEffect as uu,useLayoutEffect as cu}from"react";import p3,{cloneElement as lu,isValidElement as iu}from"react";import W4,{cloneElement as pu,isValidElement as nu}from"react";function qu($){if(!$||typeof document>"u")return;let X=document.head||document.getElementsByTagName("head")[0],U=document.createElement("style");U.type="text/css",X.firstChild?X.insertBefore(U,X.firstChild):X.appendChild(U),U.styleSheet?U.styleSheet.cssText=$:U.appendChild(document.createTextNode($))}qu(":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 Q8=($)=>typeof $=="number"&&!isNaN($),C1=($)=>typeof $=="string",P4=($)=>typeof $=="function",Ku=($)=>C1($)||Q8($),XV=($)=>C1($)||P4($)?$:null,Vu=($,X)=>$===!1||Q8($)&&$>0?$:X,UV=($)=>Hu($)||C1($)||P4($)||Q8($);function Ou($,X,U=300){let{scrollHeight:Q,style:Y}=$;requestAnimationFrame(()=>{Y.minHeight="initial",Y.height=Q+"px",Y.transition=`all ${U}ms`,requestAnimationFrame(()=>{Y.height="0",Y.padding="0",Y.margin="0",setTimeout(X,U)})})}function n3({enter:$,exit:X,appendPosition:U=!1,collapse:Q=!0,collapseDuration:Y=300}){return function({children:W,position:J,preventExitTransition:G,done:H,nodeRef:K,isIn:V,playToast:B}){let D=U?`${$}--${J}`:$,L=U?`${X}--${J}`:X,_=Lu(0);return Du(()=>{let O=K.current,N=D.split(" "),P=(z)=>{z.target===K.current&&(B(),O.removeEventListener("animationend",P),O.removeEventListener("animationcancel",P),_.current===0&&z.type!=="animationcancel"&&O.classList.remove(...N))};(()=>{O.classList.add(...N),O.addEventListener("animationend",P),O.addEventListener("animationcancel",P)})()},[]),Bu(()=>{let O=K.current,N=()=>{O.removeEventListener("animationend",N),Q?Ou(O,H,Y):H()};V||(G?N():(()=>{_.current=1,O.className+=` ${L}`,O.addEventListener("animationend",N)})())},[V]),jA.createElement(jA.Fragment,null,W)}}function bA($,X){return{content:TA($.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 TA($,X,U=!1){return Nu($)&&!C1($.type)?_u($,{closeToast:X.closeToast,toastProps:X,data:X.data,isPaused:U}):P4($)?$({closeToast:X.closeToast,toastProps:X,data:X.data,isPaused:U}):$}function Fu({closeToast:$,theme:X,ariaLabel:U="close"}){return sK.createElement("button",{className:`Toastify__close-button Toastify__close-button--${X}`,type:"button",onClick:(Q)=>{Q.stopPropagation(),$(!0)},"aria-label":U},sK.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},sK.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 wu({delay:$,isRunning:X,closeToast:U,type:Q="default",hide:Y,className:W,controlledProgress:J,progress:G,rtl:H,isIn:K,theme:V}){let B=Y||J&&G===0,D={animationDuration:`${$}ms`,animationPlayState:X?"running":"paused"};J&&(D.transform=`scaleX(${G})`);let L=Q4("Toastify__progress-bar",J?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${V}`,`Toastify__progress-bar--${Q}`,{["Toastify__progress-bar--rtl"]:H}),_=P4(W)?W({rtl:H,type:Q,defaultClassName:L}):Q4(L,W),O={[J&&G>=1?"onTransitionEnd":"onAnimationEnd"]:J&&G<1?null:()=>{K&&U()}};return eK.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":B},eK.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${V} Toastify__progress-bar--${Q}`}),eK.createElement("div",{role:"progressbar","aria-hidden":B?"true":"false","aria-label":"notification timer",className:_,style:D,...O}))}var Pu=1,xA=()=>`${Pu++}`;function Zu($,X,U){let Q=1,Y=0,W=[],J=[],G=X,H=new Map,K=new Set,V=(z)=>(K.add(z),()=>K.delete(z)),B=()=>{J=Array.from(H.values()),K.forEach((z)=>z())},D=({containerId:z,toastId:F,updateId:M})=>{let Z=z?z!==$:$!==1,E=H.has(F)&&M==null;return Z||E},L=(z,F)=>{H.forEach((M)=>{var Z;(F==null||F===M.props.toastId)&&((Z=M.toggle)==null||Z.call(M,z))})},_=(z)=>{var F,M;(M=(F=z.props)==null?void 0:F.onClose)==null||M.call(F,z.removalReason),z.isActive=!1},O=(z)=>{if(z==null)H.forEach(_);else{let F=H.get(z);F&&_(F)}B()},N=()=>{Y-=W.length,W=[]},P=(z)=>{var F,M;let{toastId:Z,updateId:E}=z.props,C=E==null;z.staleId&&H.delete(z.staleId),z.isActive=!0,H.set(Z,z),B(),U(bA(z,C?"added":"updated")),C&&((M=(F=z.props).onOpen)==null||M.call(F))};return{id:$,props:G,observe:V,toggle:L,removeToast:O,toasts:H,clearQueue:N,buildToast:(z,F)=>{if(D(F))return;let{toastId:M,updateId:Z,data:E,staleId:C,delay:h}=F,l=Z==null;l&&Y++;let U$={...G,style:G.toastStyle,key:Q++,...Object.fromEntries(Object.entries(F).filter(([Y$,G$])=>G$!=null)),toastId:M,updateId:Z,data:E,isIn:!1,className:XV(F.className||G.toastClassName),progressClassName:XV(F.progressClassName||G.progressClassName),autoClose:F.isLoading?!1:Vu(F.autoClose,G.autoClose),closeToast(Y$){H.get(M).removalReason=Y$,O(M)},deleteToast(){let Y$=H.get(M);if(Y$!=null){if(U(bA(Y$,"removed")),H.delete(M),Y--,Y<0&&(Y=0),W.length>0){P(W.shift());return}B()}}};U$.closeButton=G.closeButton,F.closeButton===!1||UV(F.closeButton)?U$.closeButton=F.closeButton:F.closeButton===!0&&(U$.closeButton=UV(G.closeButton)?G.closeButton:!0);let i={content:z,props:U$,staleId:C};G.limit&&G.limit>0&&Y>G.limit&&l?W.push(i):Q8(h)?setTimeout(()=>{P(i)},h):P(i)},setProps(z){G=z},setToggle:(z,F)=>{let M=H.get(z);M&&(M.toggle=F)},isToastActive:(z)=>{var F;return(F=H.get(z))==null?void 0:F.isActive},getSnapshot:()=>J}}var $6=new Map,Y8=[],YV=new Set,vu=($)=>YV.forEach((X)=>X($)),CA=()=>$6.size>0;function Eu(){Y8.forEach(($)=>fA($.content,$.options)),Y8=[]}var ku=($,{containerId:X})=>{var U;return(U=$6.get(X||1))==null?void 0:U.toasts.get($)};function gA($,X){var U;if(X)return!!((U=$6.get(X))!=null&&U.isToastActive($));let Q=!1;return $6.forEach((Y)=>{Y.isToastActive($)&&(Q=!0)}),Q}function Iu($){if(!CA()){Y8=Y8.filter((X)=>$!=null&&X.options.toastId!==$);return}if($==null||Ku($))$6.forEach((X)=>{X.removeToast($)});else if($&&(("containerId"in $)||("id"in $))){let X=$6.get($.containerId);X?X.removeToast($.id):$6.forEach((U)=>{U.removeToast($.id)})}}var ju=($={})=>{$6.forEach((X)=>{X.props.limit&&(!$.containerId||X.id===$.containerId)&&X.clearQueue()})};function fA($,X){UV($)&&(CA()||Y8.push({content:$,options:X}),$6.forEach((U)=>{U.buildToast($,X)}))}function bu($){var X;(X=$6.get($.containerId||1))==null||X.setToggle($.id,$.fn)}function hA($,X){$6.forEach((U)=>{(X==null||!(X!=null&&X.containerId)||(X==null?void 0:X.containerId)===U.id)&&U.toggle($,X==null?void 0:X.id)})}function Ru($){let X=$.containerId||1;return{subscribe(U){let Q=Zu(X,$,vu);$6.set(X,Q);let Y=Q.observe(U);return Eu(),()=>{Y(),$6.delete(X)}},setProps(U){var Q;(Q=$6.get(X))==null||Q.setProps(U)},getSnapshot(){var U;return(U=$6.get(X))==null?void 0:U.getSnapshot()}}}function Su($){return YV.add($),()=>{YV.delete($)}}function Tu($){return $&&(C1($.toastId)||Q8($.toastId))?$.toastId:xA()}function W8($,X){return fA($,X),X.toastId}function r3($,X){return{...X,type:X&&X.type||$,toastId:Tu(X)}}function o3($){return(X,U)=>W8(X,r3($,U))}function V$($,X){return W8($,r3("default",X))}V$.loading=($,X)=>W8($,r3("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...X}));function xu($,{pending:X,error:U,success:Q},Y){let W;X&&(W=C1(X)?V$.loading(X,Y):V$.loading(X.render,{...Y,...X}));let J={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},G=(K,V,B)=>{if(V==null){V$.dismiss(W);return}let D={type:K,...J,...Y,data:B},L=C1(V)?{render:V}:V;return W?V$.update(W,{...D,...L}):V$(L.render,{...D,...L}),B},H=P4($)?$():$;return H.then((K)=>G("success",Q,K)).catch((K)=>G("error",U,K)),H}V$.promise=xu;V$.success=o3("success");V$.info=o3("info");V$.error=o3("error");V$.warning=o3("warning");V$.warn=V$.warning;V$.dark=($,X)=>W8($,r3("default",{theme:"dark",...X}));function Cu($){Iu($)}V$.dismiss=Cu;V$.clearWaitingQueue=ju;V$.isActive=gA;V$.update=($,X={})=>{let U=ku($,X);if(U){let{props:Q,content:Y}=U,W={delay:100,...Q,...X,toastId:X.toastId||$,updateId:xA()};W.toastId!==$&&(W.staleId=$);let J=W.render||Y;delete W.render,W8(J,W)}};V$.done=($)=>{V$.update($,{progress:1})};V$.onChange=Su;V$.play=($)=>hA(!0,$);V$.pause=($)=>hA(!1,$);function hu($){var X;let{subscribe:U,getSnapshot:Q,setProps:Y}=gu(Ru($)).current;Y($);let W=(X=fu(U,Q,Q))==null?void 0:X.slice();function J(G){if(!W)return[];let H=new Map;return $.newestOnTop&&W.reverse(),W.forEach((K)=>{let{position:V}=K.props;H.has(V)||H.set(V,[]),H.get(V).push(K)}),Array.from(H,(K)=>G(K[0],K[1]))}return{getToastToRender:J,isToastActive:gA,count:W==null?void 0:W.length}}function mu($){let[X,U]=SA(!1),[Q,Y]=SA(!1),W=RA(null),J=RA({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:G,pauseOnHover:H,closeToast:K,onClick:V,closeOnClick:B}=$;bu({id:$.toastId,containerId:$.containerId,fn:U}),yu(()=>{if($.pauseOnFocusLoss)return D(),()=>{L()}},[$.pauseOnFocusLoss]);function D(){document.hasFocus()||P(),window.addEventListener("focus",N),window.addEventListener("blur",P)}function L(){window.removeEventListener("focus",N),window.removeEventListener("blur",P)}function _(C){if($.draggable===!0||$.draggable===C.pointerType){z();let h=W.current;J.canCloseOnClick=!0,J.canDrag=!0,h.style.transition="none",$.draggableDirection==="x"?(J.start=C.clientX,J.removalDistance=h.offsetWidth*($.draggablePercent/100)):(J.start=C.clientY,J.removalDistance=h.offsetHeight*($.draggablePercent===80?$.draggablePercent*1.5:$.draggablePercent)/100)}}function O(C){let{top:h,bottom:l,left:U$,right:i}=W.current.getBoundingClientRect();C.nativeEvent.type!=="touchend"&&$.pauseOnHover&&C.clientX>=U$&&C.clientX<=i&&C.clientY>=h&&C.clientY<=l?P():N()}function N(){U(!0)}function P(){U(!1)}function z(){J.didMove=!1,document.addEventListener("pointermove",M),document.addEventListener("pointerup",Z)}function F(){document.removeEventListener("pointermove",M),document.removeEventListener("pointerup",Z)}function M(C){let h=W.current;if(J.canDrag&&h){J.didMove=!0,X&&P(),$.draggableDirection==="x"?J.delta=C.clientX-J.start:J.delta=C.clientY-J.start,J.start!==C.clientX&&(J.canCloseOnClick=!1);let l=$.draggableDirection==="x"?`${J.delta}px, var(--y)`:`0, calc(${J.delta}px + var(--y))`;h.style.transform=`translate3d(${l},0)`,h.style.opacity=`${1-Math.abs(J.delta/J.removalDistance)}`}}function Z(){F();let C=W.current;if(J.canDrag&&J.didMove&&C){if(J.canDrag=!1,Math.abs(J.delta)>J.removalDistance){Y(!0),$.closeToast(!0),$.collapseAll();return}C.style.transition="transform 0.2s, opacity 0.2s",C.style.removeProperty("transform"),C.style.removeProperty("opacity")}}let E={onPointerDown:_,onPointerUp:O};return G&&H&&(E.onMouseEnter=P,$.stacked||(E.onMouseLeave=N)),B&&(E.onClick=(C)=>{V&&V(C),J.canCloseOnClick&&K(!0)}),{playToast:N,pauseToast:P,isRunning:X,preventExitTransition:Q,toastRef:W,eventHandlers:E}}var du=typeof window<"u"?cu:uu,a3=({theme:$,type:X,isLoading:U,...Q})=>W4.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:$==="colored"?"currentColor":`var(--toastify-icon-color-${X})`,...Q});function ru($){return W4.createElement(a3,{...$},W4.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 ou($){return W4.createElement(a3,{...$},W4.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 au($){return W4.createElement(a3,{...$},W4.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 tu($){return W4.createElement(a3,{...$},W4.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 su(){return W4.createElement("div",{className:"Toastify__spinner"})}var QV={info:ou,warning:ru,success:au,error:tu,spinner:su},eu=($)=>($ in QV);function $c({theme:$,type:X,isLoading:U,icon:Q}){let Y=null,W={theme:$,type:X};return Q===!1||(P4(Q)?Y=Q({...W,isLoading:U}):nu(Q)?Y=pu(Q,W):U?Y=QV.spinner():eu(X)&&(Y=QV[X](W))),Y}var Xc=($)=>{let{isRunning:X,preventExitTransition:U,toastRef:Q,eventHandlers:Y,playToast:W}=mu($),{closeButton:J,children:G,autoClose:H,onClick:K,type:V,hideProgressBar:B,closeToast:D,transition:L,position:_,className:O,style:N,progressClassName:P,updateId:z,role:F,progress:M,rtl:Z,toastId:E,deleteToast:C,isIn:h,isLoading:l,closeOnClick:U$,theme:i,ariaLabel:Y$}=$,G$=Q4("Toastify__toast",`Toastify__toast-theme--${i}`,`Toastify__toast--${V}`,{["Toastify__toast--rtl"]:Z},{["Toastify__toast--close-on-click"]:U$}),x$=P4(O)?O({rtl:Z,position:_,type:V,defaultClassName:G$}):Q4(G$,O),A=$c($),m=!!M||!H,d={closeToast:D,type:V,theme:i},K$=null;return J===!1||(P4(J)?K$=J(d):iu(J)?K$=lu(J,d):K$=Fu(d)),p3.createElement(L,{isIn:h,done:C,position:_,preventExitTransition:U,nodeRef:Q,playToast:W},p3.createElement("div",{id:E,tabIndex:0,onClick:K,"data-in":h,className:x$,...Y,style:N,ref:Q,...h&&{role:F,"aria-label":Y$}},A!=null&&p3.createElement("div",{className:Q4("Toastify__toast-icon",{["Toastify--animate-icon Toastify__zoom-enter"]:!l})},A),TA(G,$,!X),K$,!$.customProgressBar&&p3.createElement(wu,{...z&&!m?{key:`p-${z}`}:{},rtl:Z,theme:i,delay:H,isRunning:X,isIn:h,closeToast:D,hide:B,type:V,className:P,controlledProgress:m,progress:M||0})))},t3=($,X=!1)=>({enter:`Toastify--animate Toastify__${$}-enter`,exit:`Toastify--animate Toastify__${$}-exit`,appendPosition:X}),WV=n3(t3("bounce",!0)),yA=n3(t3("slide",!0)),mA=n3(t3("zoom")),uA=n3(t3("flip")),Uc={position:"top-right",transition:WV,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 cA($){let X={...Uc,...$},U=$.stacked,[Q,Y]=Au(!0),W=Mu(null),{getToastToRender:J,isToastActive:G,count:H}=hu(X),{className:K,style:V,rtl:B,containerId:D,hotKeys:L}=X;function _(N){let P=Q4("Toastify__toast-container",`Toastify__toast-container--${N}`,{["Toastify__toast-container--rtl"]:B});return P4(K)?K({position:N,rtl:B,defaultClassName:P}):Q4(P,XV(K))}function O(){U&&(Y(!0),V$.play())}return du(()=>{var N;if(U){let P=W.current.querySelectorAll('[data-in="true"]'),z=12,F=(N=X.position)==null?void 0:N.includes("top"),M=0,Z=0;Array.from(P).reverse().forEach((E,C)=>{let h=E;h.classList.add("Toastify__toast--stacked"),C>0&&(h.dataset.collapsed=`${Q}`),h.dataset.pos||(h.dataset.pos=F?"top":"bot");let l=M*(Q?0.2:1)+(Q?0:z*C);h.style.setProperty("--y",`${F?l:l*-1}px`),h.style.setProperty("--g",`${z}`),h.style.setProperty("--s",`${1-(Q?Z:0)}`),M+=h.offsetHeight,Z+=0.025})}},[Q,H,U]),zu(()=>{function N(P){var z;let F=W.current;L(P)&&((z=F.querySelector('[tabIndex="0"]'))==null||z.focus(),Y(!1),V$.pause()),P.key==="Escape"&&(document.activeElement===F||F!=null&&F.contains(document.activeElement))&&(Y(!0),V$.play())}return document.addEventListener("keydown",N),()=>{document.removeEventListener("keydown",N)}},[L]),$V.createElement("section",{ref:W,className:"Toastify",id:D,onMouseEnter:()=>{U&&(Y(!1),V$.pause())},onMouseLeave:O,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":X["aria-label"]},J((N,P)=>{let z=P.length?{...V}:{...V,pointerEvents:"none"};return $V.createElement("div",{tabIndex:-1,className:_(N),"data-stacked":U,style:z,key:`c-${N}`},P.map(({content:F,props:M})=>$V.createElement(Xc,{...M,stacked:U,collapseAll:O,isIn:G(M.toastId,M.containerId),key:`t-${M.key}`},F)))}))}import{useContext as Yc}from"react";import{jsx as JV,Fragment as Jc}from"react/jsx-runtime";var Qc=($)=>{if($==="bounce")return WV;else if($==="slide")return yA;else if($==="zoom")return mA;else if($==="flip")return uA},Wc=({data:$})=>{let{useCentrifugeSupport:X,useSocketioSupport:U,useMittSupport:Q,centrifugeChannel:Y}=$,W=Yc(t1);return JV(Jc,{children:JV(k$,{card:"IOEventsCard",data:$,useCentrifugeSupport:X,useSocketioSupport:U,useMittSupport:Q,centrifugeChannel:Y,methods:{toast:(B)=>{let D={...B,transition:Qc(B.transition),position:B.position??"bottom-right",autoClose:B.autoClose??5000,style:{backgroundColor:"black",...B.sx}};V$(B.message,D)},showTelegramPopup:(B)=>{window.Telegram.WebApp.showPopup(B)},notify:(B)=>{if(typeof window>"u"||!window.Notification){console.warn("[IOEventsCard] Notifications API is not available");return}let{title:D,...L}=B,_=()=>{try{new window.Notification(D,L)}catch(N){console.error("[IOEventsCard] Failed to show notification",N)}},O=window.Notification.permission;if(O==="granted"){_();return}if(O==="denied"){console.warn("[IOEventsCard] Notification permission denied");return}window.Notification.requestPermission().then((N)=>{if(N==="granted")_()})},log:(B)=>{console.log("Log event",B)},redirect:(B)=>{if(B.to){let D=B.to;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(D))window.location.href=D;else W?.(D)}else window.location.reload()}},children:JV(cA,{})})})},dA=Wc;export{s_ as UnionCard,U1 as UI,a_ as SequenceCard,o_ as RedirectButtonCard,k$ as PieCard,ZA as OpenAIVoiceAgentCard,dA as IOEventsCard,EA as HiddenCard,e_ as HTMLEmbedCard,uD as ChatCard,kA as AutoRedirectCard,r_ as AjaxButtonCard};
|