@m6d/cortex-react 0.11.1 → 0.12.0

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/index.js CHANGED
@@ -1,14 +1,14 @@
1
- var K5=Object.create;var{getPrototypeOf:N5,defineProperty:g0,getOwnPropertyNames:z5}=Object;var W5=Object.prototype.hasOwnProperty;var D_=(_,$,Y)=>{Y=_!=null?K5(N5(_)):{};let Q=$||!_||!_.__esModule?g0(Y,"default",{value:_,enumerable:!0}):Y;for(let X of z5(_))if(!W5.call(Q,X))g0(Q,X,{get:()=>_[X],enumerable:!0});return Q};var B_=((_)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(_,{get:($,Y)=>(typeof require<"u"?require:$)[Y]}):_)(function(_){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+_+'" is not supported')});import{useEffect as L7,useRef as _5,useState as H1}from"react";var B1=["en","ar"];var q1=["image/png","image/jpeg","image/webp","application/pdf"];var m0=5;function x0(_,$){if(!q1.some((Y)=>Y===_))return"type";if($>10485760)return"size";return"ok"}var h0=["executeCode","queryDataset","describeDataset"];function F1(_){return{..._,role:_.role==="trigger"?"user":_.role}}var u0="clientToolAnswers";function c0(_){return _.approval?.id??`approval_${_.id}`}var U1="X-Cortex-Timezone";function L1(_){let $=_.getHeaders();return $ instanceof Promise?$.then(p0):Promise.resolve(p0($))}function p0(_){let $={..._},Y=H5(),Q=Object.keys($).some((X)=>X.toLowerCase()===U1.toLowerCase());if(Y&&!Q)$[U1]=Y;return $}function H5(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function D5(_,$){let Y=_.baseUrl;return(typeof Y==="string"?Y:Y()).replace(/\/$/,"")+$}function B5(_){let $=_?.match(/filename\*\s*=\s*[^']*'[^']*'([^;\r\n]+)/i)?.[1]?.trim().replace(/^"|"$/g,"");if($)try{return decodeURIComponent($)}catch{}return _?.match(/filename\s*=\s*"?([^";\r\n]+)"?/i)?.[1]}function P1(_){function $(){return L1(_())}function Y(X){return D5(_(),X)}async function Q(X,Z){let G=new Headers(await $());if(new Headers(Z?.headers).forEach((K,N)=>{G.set(N,K)}),Z?.body instanceof FormData)G.delete("Content-Type");else if(!G.has("Content-Type"))G.set("Content-Type","application/json");let J=await fetch(Y(X),{...Z,headers:G});if(!J.ok)throw Error(`HTTP ${J.status}: ${J.statusText}`);let V=await J.text();return V?JSON.parse(V):void 0}return{getCapabilities(){return Q("/capabilities")},listThreads(){return Q("/threads")},createThread(){return Q("/threads",{method:"POST"})},deleteThread(X){return Q(`/threads/${X}`,{method:"DELETE"})},listMessages(X){return Q(`/threads/${X}/messages`)},listLlmRequests(X){return Q(`/messages/${X}/llm-requests`)},abortStream(X){return Q(`/chat/${X}/abort`,{method:"POST"})},initiateToolCall(X,Z){return Q(`/chat/${X}/tools/${Z}/initiate`,{method:"POST"})},uploadAttachment(X,Z){let G=new FormData;return G.append("file",Z),Q(`/threads/${X}/files`,{method:"POST",body:G})},deleteAttachment(X){return Q(`/files/${X}`,{method:"DELETE"})},async downloadAttachment(X){let Z=await fetch(Y(`/files/${X}`),{headers:await $()});if(!Z.ok)throw Error(`HTTP ${Z.status}: ${Z.statusText}`);return{blob:await Z.blob(),name:B5(Z.headers.get("Content-Disposition"))??X}},resolveHeaders:$,resolveUrl:Y}}function q_(_,$){if(_===void 0||typeof _==="string"||Array.isArray(_))return _;let Y=_;return Y[$]??Y.en??Object.values(Y)[0]}var d0={translate_history:"السجل",translate_back:"رجوع",translate_greeting:"بماذا يمكنني مساعدتك اليوم؟",translate_n_conversations:"{{count}} محادثات",translate_one_conversation:"محادثة واحدة",translate_no_threads_yet:"لا توجد محادثات بعد",translate_start_a_new_conversation:"ابدأ محادثة جديدة",translate_untitled:"بدون عنوان",translate_new_chat:"محادثة جديدة",translate_normal:"عادي",translate_debug:"تصحيح",translate_type_a_message:"اكتب رسالة...",translate_completed:"مكتمل",translate_attach_files:"إرفاق ملفات",translate_drop_files_here:"أفلت ملفاتك هنا...",translate_remove_attachment:"إزالة المرفق",translate_attachment_rejected:"لا يمكن إرفاق هذا الملف",translate_attachment_caption:"من فضلك اطّلع على الملفات المرفقة.",translate_download:"تنزيل",translate_tool_status_0:"جارٍ جلب البيانات…",translate_tool_status_1:"جارٍ تحليل المعلومات…",translate_tool_status_2:"جارٍ معالجة الطلب…",translate_tool_status_3:"جارٍ تجميع النتائج…",translate_tool_status_4:"جارٍ تحضير الرد…",translate_tool_status_5:"جارٍ البحث…",translate_tool_status_6:"جارٍ فحص السجلات…",translate_tool_status_7:"جارٍ مراجعة التفاصيل…",translate_tool_status_8:"جارٍ إجراء الحسابات…",translate_tool_status_9:"جارٍ سحب المعلومات…",translate_tool_done_0:"تم جلب البيانات بنجاح",translate_tool_done_1:"تم التحليل بنجاح",translate_tool_done_2:"تمت معالجة الطلب بنجاح",translate_tool_done_3:"تم تجميع النتائج بنجاح",translate_tool_done_4:"تم تحضير الرد بنجاح",translate_tool_done_5:"تم البحث بنجاح",translate_tool_done_6:"تم فحص السجلات بنجاح",translate_tool_done_7:"تمت المراجعة بنجاح",translate_tool_done_8:"تمت الحسابات بنجاح",translate_tool_done_9:"تم استرجاع المعلومات بنجاح",translate_rows_read:"{{count}} صفوف",translate_one_more_step:"وخطوة أخرى",translate_n_more_steps:"و{{count}} خطوات أخرى",translate_tool_error:"حدث خطأ",translate_attachment_status:"جارٍ قراءة الملف المرفق…",translate_attachment_done:"تمت قراءة الملف المرفق",translate_graph_0:"جارٍ استكشاف الروابط...",translate_graph_1:"جارٍ رسم الخريطة...",translate_graph_2:"جارٍ اكتشاف العلاقات...",translate_graph_3:"جارٍ تتبع الروابط...",translate_graph_4:"جارٍ التنقل في المعرفة...",translate_graph_5:"جارٍ كشف الرؤى...",translate_graph_6:"جارٍ ربط النقاط...",translate_graph_7:"جارٍ تتبع المسار...",translate_graph_8:"جارٍ تجميع الأجزاء...",translate_graph_9:"جارٍ بناء الصورة...",translate_code_0:"جارٍ حساب الأرقام...",translate_code_1:"جارٍ معالجة البيانات...",translate_code_2:"جارٍ تنفيذ طلبك...",translate_code_3:"جارٍ تحليل الأرقام...",translate_code_4:"جارٍ تجميع كل شيء...",translate_code_5:"جارٍ تحليل النتائج...",translate_code_6:"جارٍ العمل خلف الكواليس...",translate_code_7:"جارٍ ترتيب التفاصيل...",translate_code_8:"جارٍ تحضير إجابتك...",translate_code_9:"أوشك على الانتهاء...",translate_reasoning_0:"جارٍ التفكير...",translate_reasoning_1:"جارٍ دراسة الخيارات...",translate_reasoning_2:"جارٍ تقييم الاحتمالات...",translate_reasoning_3:"جارٍ التأمل في هذا...",translate_reasoning_4:"جارٍ إيجاد الحل...",translate_reasoning_5:"جارٍ ترتيب الأفكار...",translate_reasoning_6:"جارٍ التمعن في الأمر...",translate_reasoning_7:"جارٍ إيجاد أفضل طريقة...",translate_reasoning_8:"جارٍ تنظيم أفكاري...",translate_reasoning_9:"أوشك على الانتهاء...",translate_running:"قيد التنفيذ",translate_aborted:"تم الإلغاء",translate_input:"المدخلات",translate_output:"المخرجات",translate_calling:"جارٍ الاستدعاء",translate_input_ready:"المدخلات جاهزة",translate_needs_approval:"بحاجة إلى موافقة",translate_approved:"تمت الموافقة",translate_responded:"تم الرد",translate_declined:"تم الرفض",translate_approve:"موافقة",translate_deny:"رفض",translate_error:"خطأ",translate_approval_requested:"طلب موافقة",translate_approval_response:"رد الموافقة",translate_waiting_for_approval:"في انتظار الموافقة لتنفيذ هذه الأداة.",translate_tool_approved:"تمت الموافقة.",translate_tool_response_received:"تم استلام الرد.",translate_tokens:"رمز",translate_fresh:"جديد",translate_cache_read:"قراءة من الذاكرة",translate_cache_write:"كتابة في الذاكرة",translate_n_percent_cached:"{{percent}}٪ مخزّن مؤقتًا",translate_text:"نص",translate_reasoning:"الاستنتاج",translate_read:"قراءة",translate_write:"كتابة",translate_total:"الإجمالي",translate_request:"الطلب",translate_response:"الرد",translate_step_n:"الخطوة {{number}}",translate_inspect_llm_requests:"فحص طلبات النموذج",translate_loading:"جارٍ التحميل…",translate_no_llm_requests:"لا توجد طلبات نموذج مسجّلة لهذه الرسالة.",translate_unhandled_type:"نوع غير مدعوم:",translate_client_tool_title:"أكمل هذه الخطوة للمتابعة",translate_client_tool_loading:"جارٍ تجهيز خطوة آمنة...",translate_client_tool_failed:"تعذّر تحميل هذه الخطوة",translate_client_tool_retry:"حاول مرة أخرى",translate_client_tool_cancel:"إلغاء",translate_location_hint:"انقر على الخريطة لتثبيت الدبوس",translate_location_locate:"استخدم موقعي",translate_location_locating:"جارٍ تحديد موقعك",translate_location_locate_failed:"موقعك غير متاح",translate_location_map_failed:"تعذّر تحميل الخريطة",translate_location_send_failed:"تعذّر الإرسال، حاول مرة أخرى",translate_location_skip:"ليس الآن",translate_location_send:"إرسال",translate_location_shared:"تمت مشاركة الموقع",translate_location_not_shared:"لم تتم مشاركة الموقع",translate_trigger_fired:"تم التشغيل بواسطة",translate_trigger_payload:"الحمولة",translate_messages_disabled:"يعمل هذا الوكيل من مشغّلاته فقط.",translate_streaming:"جارٍ البث",translate_done:"تم",translate_no_reasoning:"لا يوجد تفكير مسجّل.",translate_copy:"نسخ إلى الحافظة",translate_copied:"تم النسخ",translate_media_pending_mermaid:"جارٍ رسم المخطط",translate_media_pending_vega_lite:"جارٍ رسم الرسم البياني",translate_media_pending_map:"جارٍ رسم الخريطة",translate_media_pending_report:"جارٍ كتابة التقرير",translate_media_cut_off:"انقطع هذا المقطع قبل اكتماله.",translate_media_failed:"تعذر عرض هذا المقطع.",translate_media_source:"المصدر",translate_media_pending:"جارٍ الرسم",translate_media_mermaid:"مخطط",translate_media_vega_lite:"رسم بياني",translate_media_map:"خريطة",translate_media_report:"تقرير",translate_media:"معاينة",translate_image_unavailable:"الصورة غير متاحة",translate_image_unavailable_alt:"الصورة غير متاحة: {{alt}}",translate_image:"صورة",translate_send:"إرسال",translate_table:"جدول",translate_expand:"توسيع {{name}}",translate_table_export:"تصدير إلى Excel",translate_close:"إغلاق",translate_approval_needed:"بحاجة إلى موافقتك",translate_approval_action:"تنفيذ {{tool}}",translate_approved_failed:"تمت الموافقة لكنه فشل",translate_approval_cancelled:"لم يُتخذ قرار"};var l0={translate_history:"History",translate_back:"Back",translate_greeting:"What can I help you with today?",translate_n_conversations:"{{count}} conversations",translate_one_conversation:"1 conversation",translate_no_threads_yet:"No threads yet",translate_start_a_new_conversation:"Start a new conversation",translate_untitled:"Untitled",translate_new_chat:"New Chat",translate_normal:"Normal",translate_debug:"Debug",translate_type_a_message:"Type a message...",translate_completed:"Completed",translate_attach_files:"Attach files",translate_drop_files_here:"Drop your files here...",translate_remove_attachment:"Remove attachment",translate_attachment_rejected:"This file cannot be attached",translate_attachment_caption:"Please take a look at the attached files.",translate_download:"Download",translate_tool_status_0:"Fetching data...",translate_tool_status_1:"Analyzing information...",translate_tool_status_2:"Processing request...",translate_tool_status_3:"Gathering results...",translate_tool_status_4:"Preparing response...",translate_tool_status_5:"Looking things up...",translate_tool_status_6:"Checking records...",translate_tool_status_7:"Reviewing details...",translate_tool_status_8:"Running calculations...",translate_tool_status_9:"Pulling information...",translate_tool_done_0:"Data fetched successfully",translate_tool_done_1:"Analysis completed successfully",translate_tool_done_2:"Request processed successfully",translate_tool_done_3:"Results gathered successfully",translate_tool_done_4:"Response prepared successfully",translate_tool_done_5:"Lookup completed successfully",translate_tool_done_6:"Records checked successfully",translate_tool_done_7:"Review completed successfully",translate_tool_done_8:"Calculations completed successfully",translate_tool_done_9:"Information retrieved successfully",translate_rows_read:"{{count}} rows",translate_one_more_step:"and 1 more step",translate_n_more_steps:"and {{count}} more steps",translate_tool_error:"Something went wrong",translate_attachment_status:"Reading the attached file...",translate_attachment_done:"Finished reading the file",translate_graph_0:"Exploring connections...",translate_graph_1:"Mapping out the links...",translate_graph_2:"Discovering relationships...",translate_graph_3:"Tracing the connections...",translate_graph_4:"Navigating the knowledge...",translate_graph_5:"Uncovering insights...",translate_graph_6:"Connecting the dots...",translate_graph_7:"Following the trail...",translate_graph_8:"Piecing things together...",translate_graph_9:"Building the picture...",translate_code_0:"Running the numbers...",translate_code_1:"Working through the data...",translate_code_2:"Processing your request...",translate_code_3:"Crunching the figures...",translate_code_4:"Putting it all together...",translate_code_5:"Analyzing the results...",translate_code_6:"Working behind the scenes...",translate_code_7:"Sorting through the details...",translate_code_8:"Preparing your answer...",translate_code_9:"Almost ready...",translate_reasoning_0:"Thinking it through...",translate_reasoning_1:"Considering the options...",translate_reasoning_2:"Weighing the possibilities...",translate_reasoning_3:"Reflecting on this...",translate_reasoning_4:"Working it out...",translate_reasoning_5:"Putting thoughts together...",translate_reasoning_6:"Mulling it over...",translate_reasoning_7:"Finding the best approach...",translate_reasoning_8:"Organizing my thoughts...",translate_reasoning_9:"Almost there...",translate_running:"Running",translate_aborted:"Aborted",translate_input:"Input",translate_output:"Output",translate_calling:"Calling",translate_input_ready:"Input ready",translate_needs_approval:"Needs approval",translate_approved:"Approved",translate_responded:"Responded",translate_declined:"Declined",translate_approve:"Approve",translate_deny:"Deny",translate_error:"Error",translate_approval_requested:"Approval requested",translate_approval_response:"Approval response",translate_waiting_for_approval:"Waiting for approval to execute this tool.",translate_tool_approved:"Approved.",translate_tool_response_received:"Response received.",translate_tokens:"tokens",translate_fresh:"Fresh",translate_cache_read:"Cache read",translate_cache_write:"Cache write",translate_n_percent_cached:"{{percent}}% cached",translate_text:"Text",translate_reasoning:"Reasoning",translate_read:"Read",translate_write:"Write",translate_total:"Total",translate_request:"Request",translate_response:"Response",translate_step_n:"Step {{number}}",translate_inspect_llm_requests:"Inspect LLM requests",translate_loading:"loading…",translate_no_llm_requests:"No LLM requests recorded for this message.",translate_unhandled_type:"Unhandled type:",translate_client_tool_title:"Complete this step to continue",translate_client_tool_loading:"Preparing a secure step...",translate_client_tool_failed:"This step could not be loaded",translate_client_tool_retry:"Try again",translate_client_tool_cancel:"Cancel",translate_location_hint:"Tap the map to drop a pin",translate_location_locate:"Use my location",translate_location_locating:"Finding your location",translate_location_locate_failed:"Your location is not available",translate_location_map_failed:"The map could not be loaded",translate_location_send_failed:"Could not send, try again",translate_location_skip:"Not now",translate_location_send:"Send",translate_location_shared:"Location shared",translate_location_not_shared:"Location not shared",translate_trigger_fired:"Triggered by",translate_trigger_payload:"Payload",translate_messages_disabled:"This agent only runs from its triggers.",translate_streaming:"Streaming",translate_done:"Done",translate_no_reasoning:"No reasoning provided.",translate_copy:"Copy to clipboard",translate_copied:"Copied",translate_media_pending_mermaid:"Drawing diagram",translate_media_pending_vega_lite:"Drawing chart",translate_media_pending_map:"Drawing map",translate_media_pending_report:"Writing report",translate_media_cut_off:"This block was cut off before it finished.",translate_media_failed:"Could not render this block.",translate_media_source:"Source",translate_media_pending:"Drawing",translate_media_mermaid:"Diagram",translate_media_vega_lite:"Chart",translate_media_map:"Map",translate_media_report:"Report",translate_media:"Preview",translate_image_unavailable:"Image unavailable",translate_image_unavailable_alt:"Image unavailable: {{alt}}",translate_image:"Image",translate_send:"Send",translate_table:"Table",translate_expand:"Expand {{name}}",translate_table_export:"Export to Excel",translate_close:"Close",translate_approval_needed:"Needs your approval",translate_approval_action:"Run {{tool}}",translate_approved_failed:"Approved, but it failed",translate_approval_cancelled:"Not decided"};var U5={en:l0,ar:d0};function O1(_){return _&&B1.includes(_)?_:B1[0]}function n(_,$,Y){let Q=U5[_][$];if(!Y)return Q;return Q.replace(/\{\{\s*(\w+)\s*\}\}/g,(X,Z)=>(Z in Y)?String(Y[Z]):X)}function C_(_,$,Y){return _===1?$:Y}function M1(_,$,Y){let Q=_!==void 0&&_.messages!==!1;return{greeting:q_(_?.greeting,$)||n($,"translate_greeting"),suggestions:Q&&q_(_.suggestions,$)||[],send:(X)=>{if(Q)Y(X)}}}var L5=["completed","cancelled","failed"],a_="requestLocation";function i0(_,$,Y){if($!==Y)return null;if(typeof _!=="object"||_===null)return null;let Q=_;if(Q.type!=="cortex:client-tool")return null;let X=L5.find((G)=>G===Q.status);if(!X)return null;let Z=Q.reference;return{type:"cortex:client-tool",status:X,...typeof Z==="string"?{reference:Z}:{},...Q.result!==void 0?{result:Q.result}:{}}}var P5=new Set(["complete","error"]);function f(_){return P5.has(_)}function $_(_){return(O5(_)?.parts??[]).filter((Y)=>Y.type==="tool-call"&&!f(Y.state))}function S_(_){let $=_.at(-1);if($?.role!=="assistant")return;let Y=$.parts.at(-1),Q=Y?.type==="tool-call"||Y?.type==="tool-result",X=$.parts.every((Z)=>Z.type!=="tool-call"||f(Z.state));return Q&&X?void 0:$}function O5(_){for(let $=_.length-1;$>=0;$-=1){let Y=_[$];if(Y?.role==="assistant")return Y}return}var M5={complete:"success",error:"error","approval-requested":"approval","approval-responded":"approval","awaiting-input":"pending","input-streaming":"pending","input-complete":"pending"},A5={"awaiting-input":"translate_calling","input-streaming":"translate_calling","input-complete":"translate_input_ready","approval-requested":"translate_needs_approval","approval-responded":"translate_responded",complete:"translate_completed",error:"translate_error"};function A1(_){let{state:$,approval:Y}=_;return{modifier:M5[$],labelKey:Y?.approved===!1?"translate_declined":$==="approval-responded"&&Y?.approved?"translate_approved":A5[$],pulse:$==="awaiting-input"||$==="input-streaming"?"default":$==="approval-requested"?"violet":void 0}}function E1(_){let $=_.output;if($===void 0||$===null)return"";if(typeof $==="string")return $;return JSON.stringify($,null,2)}var n0={code:"javascript",query:"cypher"};function k1(_){let $=_&&typeof _==="object"?_:null,Y=$?Object.entries(n0).flatMap(([X,Z])=>{let G=$[X];return typeof G==="string"?[{key:X,lang:Z,value:G.replace(/\\n/g,`
2
- `)}]:[]}):[],Q=_;if($){let X=Object.fromEntries(Object.entries($).filter(([Z])=>!Object.hasOwn(n0,Z)));Q=Object.keys(X).length>0?X:null}return{codeSnippets:Y,remainingInput:Q,remainingInputText:Q?JSON.stringify(Q,null,2):""}}var a0=10,E5={"awaiting-input":"starting","input-streaming":"starting","input-complete":"processing","approval-requested":"approval","approval-responded":"processing",complete:"complete",error:"error"};function k5(_){let $=0;for(let Y=0;Y<_.length;Y++)$=$*31+_.charCodeAt(Y)|0;return Math.abs($)%a0}function R5(_){if(!h0.some((Q)=>Q===_.name))return;let $=_.input;if(!$||typeof $!=="object"||!("status"in $))return;let Y=$.status;return typeof Y==="string"&&Y.trim()?Y.trim():void 0}function I5(_){let $=_.output;if(typeof $==="string")try{$=JSON.parse($)}catch{return!1}return!!$&&typeof $==="object"&&"error"in $&&$.error===!0}function y5(_){let $=_.output;if(!$||typeof $!=="object"||!("rowCount"in $))return;return typeof $.rowCount==="number"?$.rowCount:void 0}function C5(_,$,Y){if(Y)return"translate_declined";if($==="error")return"translate_tool_error";if($==="approval")return"translate_needs_approval";let Q=_.name==="readAttachment"?"attachment":"tool",X=Q==="tool"?`_${k5(_.id)}`:"";return`translate_${Q}_${$==="complete"?"done":"status"}${X}`}function r(_){let $=_.approval?.approved===!1,Q=$||_.state==="complete"&&I5(_)?"error":E5[_.state]??"processing";return{state:Q,active:Q==="starting"||Q==="processing",gated:_.approval!==void 0||_.state==="approval-requested",titleKey:C5(_,Q,$),statement:R5(_),rowCount:Q==="complete"?y5(_):void 0}}function S5(_,$){let Y=_.metadata;if(!Y||typeof Y!=="object"||!("cortex"in Y))return;return Y.cortex?.approval?.[$]||void 0}function R1(_,$){let Y=_.approval?.approved,{state:Q}=r(_),X=Y===void 0?_.state==="approval-requested"?"pending":"cancelled":!Y?"declined":Q==="error"?"failed":"approved";return{sentence:S5(_,$)??n($,"translate_approval_action",{tool:b5(_.name)}),decision:X,decisionKey:w5[X]}}var w5={pending:void 0,approved:"translate_approved",declined:"translate_declined",failed:"translate_approved_failed",cancelled:"translate_approval_cancelled"};function b5(_){let $=_.replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/[_\-.]+/g," ").trim().toLowerCase();return $.charAt(0).toUpperCase()+$.slice(1)}function I1(_){return Array.from({length:a0},($,Y)=>`translate_${_}_${Y}`)}function F_(_,$){return _.filter((Y,Q)=>{if(Y.type==="tool-result")return!1;if($.debugMode)return!0;if(Y.type==="text"&&!Y.content.trim())return!1;let X=Q===_.length-1;return Y.type!=="thinking"||$.isStreaming&&X})}function y1(_){return _.filter(($)=>$.type==="text").map(($)=>$.content).join(`
1
+ var k5=Object.create;var{getPrototypeOf:I5,defineProperty:Z6,getOwnPropertyNames:y5}=Object;var S5=Object.prototype.hasOwnProperty;var M_=(_,$,Z)=>{Z=_!=null?k5(I5(_)):{};let Q=$||!_||!_.__esModule?Z6(Z,"default",{value:_,enumerable:!0}):Z;for(let X of y5(_))if(!S5.call(Q,X))Z6(Q,X,{get:()=>_[X],enumerable:!0});return Q};var A_=((_)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(_,{get:($,Z)=>(typeof require<"u"?require:$)[Z]}):_)(function(_){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+_+'" is not supported')});import{useEffect as x3,useRef as A5,useState as k1}from"react";var S1=["en","ar"];var x_=["image/png","image/jpeg","image/webp","application/pdf"],Q6=10485760;var C1=5;function X6(_){if(!x_.some(($)=>$===_.type))return"type";if(_.size>10485760)return"size";if(_.name.length>255)return"name";return"ok"}var J6=["executeCode","queryDataset","describeDataset"];function h_(_){return _.metadata?.cortex??void 0}function b1(_){return{..._,role:_.role==="trigger"?"user":_.role}}var Y6="clientToolAnswers";function V6(_){return _.approval?.id??`approval_${_.id}`}var w1="X-Cortex-Timezone";function T1(_){let $=_.getHeaders();return $ instanceof Promise?$.then(G6):Promise.resolve(G6($))}function G6(_){let $={..._},Z=C5(),Q=Object.keys($).some((X)=>X.toLowerCase()===w1.toLowerCase());if(Z&&!Q)$[w1]=Z;return $}function C5(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function b5(_,$){let Z=_.baseUrl;return(typeof Z==="string"?Z:Z()).replace(/\/$/,"")+$}function w5(_){let $=_?.match(/filename\*\s*=\s*[^']*'[^']*'([^;\r\n]+)/i)?.[1]?.trim().replace(/^"|"$/g,"");if($)try{return decodeURIComponent($)}catch{}return _?.match(/filename\s*=\s*"?([^";\r\n]+)"?/i)?.[1]}function v1(_){function $(){return T1(_())}function Z(X){return b5(_(),X)}async function Q(X,J){let Y=new Headers(await $());if(new Headers(J?.headers).forEach((G,K)=>{Y.set(K,G)}),J?.body instanceof FormData)Y.delete("Content-Type");else if(!Y.has("Content-Type"))Y.set("Content-Type","application/json");let V=await fetch(Z(X),{...J,headers:Y});if(!V.ok)throw Error(`HTTP ${V.status}: ${V.statusText}`);let z=await V.text();return z?JSON.parse(z):void 0}return{getCapabilities(){return Q("/capabilities")},listThreads(){return Q("/threads")},createThread(){let X=_().threadBody;return Q("/threads",{method:"POST",...X&&{body:JSON.stringify(X)}})},deleteThread(X){return Q(`/threads/${X}`,{method:"DELETE"})},listMessages(X){return Q(`/threads/${X}/messages`)},listLlmRequests(X,J){return Q(`/threads/${X}/messages/${J}/llm-requests`)},abortStream(X){return Q(`/chat/${X}/abort`,{method:"POST"})},initiateToolCall(X,J){return Q(`/chat/${X}/tools/${J}/initiate`,{method:"POST"})},uploadAttachment(X,J){let Y=new FormData;return Y.append("file",J),Q(`/threads/${X}/files`,{method:"POST",body:Y})},deleteAttachment(X){return Q(`/files/${X}`,{method:"DELETE"})},async downloadAttachment(X){let J=await fetch(Z(`/files/${X}`),{headers:await $()});if(!J.ok)throw Error(`HTTP ${J.status}: ${J.statusText}`);return{blob:await J.blob(),name:w5(J.headers.get("Content-Disposition"))??X}},resolveHeaders:$,resolveUrl:Z}}function E_(_,$){if(_===void 0||typeof _==="string"||Array.isArray(_))return _;let Z=_;return Z[$]??Z.en??Object.values(Z)[0]}var z6={translate_history:"السجل",translate_back:"رجوع",translate_greeting:"بماذا يمكنني مساعدتك اليوم؟",translate_conversations:{zero:"لا محادثات",one:"محادثة واحدة",two:"محادثتان",few:"{{count}} محادثات",many:"{{count}} محادثة",other:"{{count}} محادثة"},translate_no_threads_yet:"لا توجد محادثات بعد",translate_start_a_new_conversation:"ابدأ محادثة جديدة",translate_untitled:"بدون عنوان",translate_new_chat:"محادثة جديدة",translate_normal:"عادي",translate_debug:"تصحيح",translate_type_a_message:"اكتب رسالة...",translate_completed:"مكتمل",translate_attach_files:"إرفاق ملفات",translate_drop_files_here:"أفلت ملفاتك هنا...",translate_remove_attachment:"إزالة المرفق",translate_attachment_rejected:"لا يمكن إرفاق هذا الملف",translate_attachment_rejected_type:"يمكن إرفاق ملفات {{types}} فقط",translate_attachment_rejected_size:"الحد الأقصى لحجم الملف {{size}} ميغابايت",translate_attachment_rejected_name:"اسم الملف طويل جدًا",translate_attachment_rejected_count:{zero:"لا يمكن إرفاق ملفات بالرسالة",one:"يمكن إرفاق ملف واحد كحد أقصى لكل رسالة",two:"يمكن إرفاق ملفين كحد أقصى لكل رسالة",few:"يمكن إرفاق {{count}} ملفات كحد أقصى لكل رسالة",many:"يمكن إرفاق {{count}} ملفًا كحد أقصى لكل رسالة",other:"يمكن إرفاق {{count}} ملف كحد أقصى لكل رسالة"},translate_attachment_caption:"من فضلك اطّلع على الملفات المرفقة.",translate_download:"تنزيل",translate_tool_status:"جارٍ تنفيذ خطوة…",translate_tool_done:"اكتملت الخطوة",translate_tool_cancelled:"أُلغيت الخطوة",translate_rows:{zero:"لا صفوف",one:"صف واحد",two:"صفان",few:"{{count}} صفوف",many:"{{count}} صفًا",other:"{{count}} صف"},translate_more_steps:{zero:"ولا خطوات أخرى",one:"وخطوة أخرى",two:"وخطوتان أخريان",few:"و{{count}} خطوات أخرى",many:"و{{count}} خطوة أخرى",other:"و{{count}} خطوة أخرى"},translate_tool_error:"حدث خطأ",translate_attachment_status:"جارٍ قراءة الملف المرفق…",translate_attachment_done:"تمت قراءة الملف المرفق",translate_code_0:"جارٍ حساب الأرقام...",translate_code_1:"جارٍ معالجة البيانات...",translate_code_2:"جارٍ تنفيذ طلبك...",translate_code_3:"جارٍ تحليل الأرقام...",translate_code_4:"جارٍ تجميع كل شيء...",translate_code_5:"جارٍ تحليل النتائج...",translate_code_6:"جارٍ العمل خلف الكواليس...",translate_code_7:"جارٍ ترتيب التفاصيل...",translate_code_8:"جارٍ تحضير إجابتك...",translate_code_9:"أوشك على الانتهاء...",translate_reasoning_0:"جارٍ التفكير...",translate_reasoning_1:"جارٍ دراسة الخيارات...",translate_reasoning_2:"جارٍ تقييم الاحتمالات...",translate_reasoning_3:"جارٍ التأمل في هذا...",translate_reasoning_4:"جارٍ إيجاد الحل...",translate_reasoning_5:"جارٍ ترتيب الأفكار...",translate_reasoning_6:"جارٍ التمعن في الأمر...",translate_reasoning_7:"جارٍ إيجاد أفضل طريقة...",translate_reasoning_8:"جارٍ تنظيم أفكاري...",translate_reasoning_9:"أوشك على الانتهاء...",translate_running:"قيد التنفيذ",translate_aborted:"تم الإلغاء",translate_input:"المدخلات",translate_output:"المخرجات",translate_calling:"جارٍ الاستدعاء",translate_input_ready:"المدخلات جاهزة",translate_needs_approval:"بحاجة إلى موافقة",translate_approved:"تمت الموافقة",translate_responded:"تم الرد",translate_declined:"تم الرفض",translate_approve:"موافقة",translate_deny:"رفض",translate_error:"خطأ",translate_approval_pending:"وافق على الطلب أعلاه أو ارفضه أولًا.",translate_approval_requested:"طلب موافقة",translate_approval_response:"رد الموافقة",translate_waiting_for_approval:"في انتظار الموافقة لتنفيذ هذه الأداة.",translate_tool_approved:"تمت الموافقة.",translate_tool_response_received:"تم استلام الرد.",translate_tokens:"رمز",translate_fresh:"جديد",translate_cache_read:"قراءة من الذاكرة",translate_cache_write:"كتابة في الذاكرة",translate_n_percent_cached:"{{percent}}٪ مخزّن مؤقتًا",translate_text:"نص",translate_reasoning:"الاستنتاج",translate_read:"قراءة",translate_write:"كتابة",translate_total:"الإجمالي",translate_request:"الطلب",translate_response:"الرد",translate_step_n:"الخطوة {{number}}",translate_inspect_llm_requests:"فحص طلبات النموذج",translate_loading:"جارٍ التحميل…",translate_no_llm_requests:"لا توجد طلبات نموذج مسجّلة لهذه الرسالة.",translate_unhandled_type:"نوع غير مدعوم:",translate_client_tool_title:"أكمل هذه الخطوة للمتابعة",translate_client_tool_loading:"جارٍ تجهيز خطوة آمنة...",translate_client_tool_failed:"تعذّر تحميل هذه الخطوة",translate_client_tool_retry:"حاول مرة أخرى",translate_client_tool_cancel:"إلغاء",translate_location_hint:"انقر على الخريطة لتثبيت الدبوس",translate_location_locate:"استخدم موقعي",translate_location_locating:"جارٍ تحديد موقعك",translate_location_locate_failed:"موقعك غير متاح",translate_location_map_failed:"تعذّر تحميل الخريطة",translate_location_send_failed:"تعذّر الإرسال، حاول مرة أخرى",translate_location_skip:"ليس الآن",translate_location_send:"إرسال",translate_location_shared:"تمت مشاركة الموقع",translate_location_not_shared:"لم تتم مشاركة الموقع",translate_trigger_fired:"تم التشغيل بواسطة",translate_trigger_payload:"الحمولة",translate_messages_disabled:"يعمل هذا الوكيل من مشغّلاته فقط.",translate_access_refused:"لم يقبل هذا الوكيل تسجيل دخولك.",translate_agent_unreachable:"تعذّر الوصول إلى هذا الوكيل الآن. نعيد المحاولة...",translate_agent_missing:"هذا الوكيل غير متاح.",translate_streaming:"جارٍ البث",translate_done:"تم",translate_no_reasoning:"لا يوجد تفكير مسجّل.",translate_copy:"نسخ إلى الحافظة",translate_copied:"تم النسخ",translate_media_pending_mermaid:"جارٍ رسم المخطط",translate_media_pending_vega_lite:"جارٍ رسم الرسم البياني",translate_media_pending_map:"جارٍ رسم الخريطة",translate_media_pending_report:"جارٍ كتابة التقرير",translate_media_cut_off:"انقطع هذا المقطع قبل اكتماله.",translate_media_failed:"تعذر عرض هذا المقطع.",translate_media_source:"المصدر",translate_media_pending:"جارٍ الرسم",translate_media_mermaid:"مخطط",translate_media_vega_lite:"رسم بياني",translate_media_map:"خريطة",translate_media_report:"تقرير",translate_media:"معاينة",translate_image_unavailable:"الصورة غير متاحة",translate_image_unavailable_alt:"الصورة غير متاحة: {{alt}}",translate_image:"صورة",translate_send:"إرسال",translate_stop:"إيقاف",translate_delete_conversation:"حذف المحادثة",translate_table:"جدول",translate_expand:"توسيع {{name}}",translate_table_export:"تصدير إلى Excel",translate_close:"إغلاق",translate_approval_needed:"بحاجة إلى موافقتك",translate_approval_action:"تنفيذ {{tool}}",translate_approved_failed:"تمت الموافقة لكنه فشل",translate_approval_cancelled:"لم يُتخذ قرار"};var K6={translate_history:"History",translate_back:"Back",translate_greeting:"What can I help you with today?",translate_conversations:{one:"1 conversation",other:"{{count}} conversations"},translate_no_threads_yet:"No threads yet",translate_start_a_new_conversation:"Start a new conversation",translate_untitled:"Untitled",translate_new_chat:"New Chat",translate_normal:"Normal",translate_debug:"Debug",translate_type_a_message:"Type a message...",translate_completed:"Completed",translate_attach_files:"Attach files",translate_drop_files_here:"Drop your files here...",translate_remove_attachment:"Remove attachment",translate_attachment_rejected:"This file cannot be attached",translate_attachment_rejected_type:"Only {{types}} files can be attached",translate_attachment_rejected_size:"Files can be up to {{size}} MB",translate_attachment_rejected_name:"The file name is too long",translate_attachment_rejected_count:{one:"Up to 1 file per message",other:"Up to {{count}} files per message"},translate_attachment_caption:"Please take a look at the attached files.",translate_download:"Download",translate_tool_status:"Running a step...",translate_tool_done:"Step completed",translate_tool_cancelled:"Step cancelled",translate_rows:{one:"1 row",other:"{{count}} rows"},translate_more_steps:{one:"and 1 more step",other:"and {{count}} more steps"},translate_tool_error:"Something went wrong",translate_attachment_status:"Reading the attached file...",translate_attachment_done:"Finished reading the file",translate_code_0:"Running the numbers...",translate_code_1:"Working through the data...",translate_code_2:"Processing your request...",translate_code_3:"Crunching the figures...",translate_code_4:"Putting it all together...",translate_code_5:"Analyzing the results...",translate_code_6:"Working behind the scenes...",translate_code_7:"Sorting through the details...",translate_code_8:"Preparing your answer...",translate_code_9:"Almost ready...",translate_reasoning_0:"Thinking it through...",translate_reasoning_1:"Considering the options...",translate_reasoning_2:"Weighing the possibilities...",translate_reasoning_3:"Reflecting on this...",translate_reasoning_4:"Working it out...",translate_reasoning_5:"Putting thoughts together...",translate_reasoning_6:"Mulling it over...",translate_reasoning_7:"Finding the best approach...",translate_reasoning_8:"Organizing my thoughts...",translate_reasoning_9:"Almost there...",translate_running:"Running",translate_aborted:"Aborted",translate_input:"Input",translate_output:"Output",translate_calling:"Calling",translate_input_ready:"Input ready",translate_needs_approval:"Needs approval",translate_approved:"Approved",translate_responded:"Responded",translate_declined:"Declined",translate_approve:"Approve",translate_deny:"Deny",translate_error:"Error",translate_approval_pending:"Approve or deny the request above first.",translate_approval_requested:"Approval requested",translate_approval_response:"Approval response",translate_waiting_for_approval:"Waiting for approval to execute this tool.",translate_tool_approved:"Approved.",translate_tool_response_received:"Response received.",translate_tokens:"tokens",translate_fresh:"Fresh",translate_cache_read:"Cache read",translate_cache_write:"Cache write",translate_n_percent_cached:"{{percent}}% cached",translate_text:"Text",translate_reasoning:"Reasoning",translate_read:"Read",translate_write:"Write",translate_total:"Total",translate_request:"Request",translate_response:"Response",translate_step_n:"Step {{number}}",translate_inspect_llm_requests:"Inspect LLM requests",translate_loading:"loading…",translate_no_llm_requests:"No LLM requests recorded for this message.",translate_unhandled_type:"Unhandled type:",translate_client_tool_title:"Complete this step to continue",translate_client_tool_loading:"Preparing a secure step...",translate_client_tool_failed:"This step could not be loaded",translate_client_tool_retry:"Try again",translate_client_tool_cancel:"Cancel",translate_location_hint:"Tap the map to drop a pin",translate_location_locate:"Use my location",translate_location_locating:"Finding your location",translate_location_locate_failed:"Your location is not available",translate_location_map_failed:"The map could not be loaded",translate_location_send_failed:"Could not send, try again",translate_location_skip:"Not now",translate_location_send:"Send",translate_location_shared:"Location shared",translate_location_not_shared:"Location not shared",translate_trigger_fired:"Triggered by",translate_trigger_payload:"Payload",translate_messages_disabled:"This agent only runs from its triggers.",translate_access_refused:"This agent did not accept your sign-in.",translate_agent_unreachable:"This agent cannot be reached right now. Trying again...",translate_agent_missing:"This agent is not available.",translate_streaming:"Streaming",translate_done:"Done",translate_no_reasoning:"No reasoning provided.",translate_copy:"Copy to clipboard",translate_copied:"Copied",translate_media_pending_mermaid:"Drawing diagram",translate_media_pending_vega_lite:"Drawing chart",translate_media_pending_map:"Drawing map",translate_media_pending_report:"Writing report",translate_media_cut_off:"This block was cut off before it finished.",translate_media_failed:"Could not render this block.",translate_media_source:"Source",translate_media_pending:"Drawing",translate_media_mermaid:"Diagram",translate_media_vega_lite:"Chart",translate_media_map:"Map",translate_media_report:"Report",translate_media:"Preview",translate_image_unavailable:"Image unavailable",translate_image_unavailable_alt:"Image unavailable: {{alt}}",translate_image:"Image",translate_send:"Send",translate_stop:"Stop",translate_delete_conversation:"Delete conversation",translate_table:"Table",translate_expand:"Expand {{name}}",translate_table_export:"Export to Excel",translate_close:"Close",translate_approval_needed:"Needs your approval",translate_approval_action:"Run {{tool}}",translate_approved_failed:"Approved, but it failed",translate_approval_cancelled:"Not decided"};var j5={en:K6,ar:z6};function j1(_){return _&&S1.includes(_)?_:S1[0]}function o(_,$,Z){let Q=j5[_][$],X=typeof Q==="string"?Q:Q[new Intl.PluralRules(_).select(Number(Z?.count))]??Q.other;if(!Z)return X;return X.replace(/\{\{\s*(\w+)\s*\}\}/g,(J,Y)=>(Y in Z)?String(Z[Y]):J)}function f1(_,$,Z){let Q=_!==void 0&&_.messages!==!1;return{greeting:_===void 0?"":E_(_.greeting,$)||o($,"translate_greeting"),suggestions:Q&&E_(_.suggestions,$)||[],send:(X)=>{if(Q)Z(X)}}}var f5=["completed","cancelled","failed"],G1="requestLocation";function W6(_,$,Z){if($!==Z)return null;if(typeof _!=="object"||_===null)return null;let Q=_;if(Q.type!=="cortex:client-tool")return null;let X=f5.find((Y)=>Y===Q.status);if(!X)return null;let J=Q.reference;return{type:"cortex:client-tool",status:X,...typeof J==="string"?{reference:J}:{},...Q.result!==void 0?{result:Q.result}:{}}}var g5=new Set(["complete","error"]);function p(_){return g5.has(_)}function z_(_){return(m5(_)?.parts??[]).filter((Z)=>Z.type==="tool-call"&&!p(Z.state))}function g1(_){for(let $=_.length-1;$>=0;$-=1){let Z=_[$];if(Z?.parts.some((X)=>X.type==="tool-call"&&X.state==="approval-requested"))return!0;if(Z?.role==="user")return!1}return!1}function u_(_){let $=_.at(-1);if($?.role!=="assistant")return;let Z=$.parts.at(-1),Q=Z?.type==="tool-call"||Z?.type==="tool-result",X=$.parts.every((J)=>J.type!=="tool-call"||p(J.state));return Q&&X?void 0:$}function m5(_){for(let $=_.length-1;$>=0;$-=1){let Z=_[$];if(Z?.role==="assistant")return Z}return}var x5={complete:"success",error:"error","approval-requested":"approval","approval-responded":"approval","awaiting-input":"pending","input-streaming":"pending","input-complete":"pending"},h5={"awaiting-input":"translate_calling","input-streaming":"translate_calling","input-complete":"translate_input_ready","approval-requested":"translate_needs_approval","approval-responded":"translate_responded",complete:"translate_completed",error:"translate_error"};function m1(_){let{state:$,approval:Z}=_;return{modifier:x5[$],labelKey:Z?.approved===!1?"translate_declined":$==="approval-responded"&&Z?.approved?"translate_approved":h5[$],pulse:$==="awaiting-input"||$==="input-streaming"?"default":$==="approval-requested"?"violet":void 0}}function x1(_){let $=_.output;if($===void 0||$===null)return"";if(typeof $==="string")return $;return JSON.stringify($,null,2)}var N6={code:"javascript"};function h1(_){let $=_&&typeof _==="object"?_:null,Z=$?Object.entries(N6).flatMap(([X,J])=>{let Y=$[X];return typeof Y==="string"?[{key:X,lang:J,value:Y.replace(/\\n/g,`
2
+ `)}]:[]}):[],Q=_;if($){let X=Object.fromEntries(Object.entries($).filter(([J])=>!Object.hasOwn(N6,J)));Q=Object.keys(X).length>0?X:null}return{codeSnippets:Z,remainingInput:Q,remainingInputText:Q?JSON.stringify(Q,null,2):""}}var u5=10,c5={"awaiting-input":"starting","input-streaming":"starting","input-complete":"processing","approval-requested":"approval","approval-responded":"processing",complete:"complete",error:"error"};function p5(_){if(!J6.some((Q)=>Q===_.name))return;let $=_.input;if(!$||typeof $!=="object"||!("status"in $))return;let Z=$.status;return typeof Z==="string"&&Z.trim()?Z.trim():void 0}function d5(_){let $=_.output;if(typeof $==="string")try{$=JSON.parse($)}catch{return}if(!$||typeof $!=="object")return;if("error"in $&&$.error===!0)return"failed";if(!h_(_)?.embed||!("status"in $))return;let Z=$.status;return Z==="failed"||Z==="cancelled"?Z:void 0}function l5(_){let $=_.output;if(!$||typeof $!=="object"||!("rowCount"in $))return;let Z=$.rowCount;return typeof Z==="number"?Z:void 0}function i5(_,$,Z){if(Z==="declined")return"translate_declined";if(Z==="cancelled")return"translate_tool_cancelled";if($==="error")return"translate_tool_error";if($==="approval")return"translate_needs_approval";return`translate_${_.name==="readAttachment"?"attachment":"tool"}_${$==="complete"?"done":"status"}`}function Z_(_){let $=_.approval?.approved===!1?"declined":_.state==="complete"?d5(_):void 0,Z=$?"error":c5[_.state]??"processing";return{state:Z,active:Z==="starting"||Z==="processing",gated:_.approval!==void 0||_.state==="approval-requested",titleKey:i5(_,Z,$),statement:p5(_),rows:Z==="complete"?l5(_):void 0}}function n5(_,$){return h_(_)?.approval?.[$]||void 0}function u1(_,$){let Z=_.approval?.approved,{state:Q}=Z_(_),X=Z===void 0?_.state==="approval-requested"?"pending":"cancelled":!Z?"declined":Q==="error"?"failed":"approved";return{sentence:n5(_,$)??o($,"translate_approval_action",{tool:a5(_.name)}),decision:X,decisionKey:r5[X]}}var r5={pending:void 0,approved:"translate_approved",declined:"translate_declined",failed:"translate_approved_failed",cancelled:"translate_approval_cancelled"};function a5(_){let $=_.replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/[_\-.]+/g," ").trim().toLowerCase();return $.charAt(0).toUpperCase()+$.slice(1)}function c1(_){return Array.from({length:u5},($,Z)=>`translate_${_}_${Z}`)}function R_(_,$){return _.filter((Z,Q)=>{if(Z.type==="tool-result")return!1;if($.debugMode)return!0;if(Z.type==="text"&&!Z.content.trim())return!1;let X=Q===_.length-1;return Z.type!=="thinking"||$.isStreaming&&X})}function p1(_,$){return _.length>0||Boolean($?.attachments?.length||$?.isAborted)}function d1(_){return _.filter(($)=>$.type==="text").map(($)=>$.content).join(`
3
3
 
4
- `)}function C1(_,$){if($&&_.name in $)return!1;return _.name!==a_||!f(_.state)}function r0(_,$){if(_.type!=="tool-call")return!0;return!f(_.state)&&!_.approval&&$.foldable(_)}function S1(_,$){let Y=S_(_);if(!Y)return;let Q=F_(Y.parts,{debugMode:!1,isStreaming:!0}),X=Q.at(-1);if(X&&r0(X,$))return X;return Q.filter((Z)=>Z.type==="tool-call"&&r0(Z,$)).at(-1)}function w1(){let _=new Map;return($,Y)=>{let Q=new Map;for(let[X,Z]of T5($,Y)){let G=_.get(X);Q.set(X,G&&f5(G,Z)?G:Z)}return _=Q,Q}}function T5(_,$){let Y=new Map;if($.debugMode)return Y;let X=$.agentWorking||$_(_).length>0?v5(_):_,Z=[];function G(){let J=Z[0]?.part.id;if(Z.length>1&&J&&!$.opened.has(J))for(let[V,{messageId:K,part:N}]of Z.entries()){let z=Y.get(K)??new Map;Y.set(K,z);let F=V===Z.length-1;z.set(N,F?{kind:"more",count:Z.length-1,runId:J}:{kind:"hidden"})}Z=[]}for(let J of X){if(J.role!=="assistant"){G();continue}let V=F_(J.parts,{debugMode:!1,isStreaming:!1});for(let K of V)if(K.type==="tool-call"&&f(K.state)&&$.foldable(K))Z.push({messageId:J.id,part:K});else G()}return G(),Y}function v5(_){let $=_.map((Y)=>Y.role).lastIndexOf("user");return $<0?[]:_.slice(0,$)}function f5(_,$){if(_.size!==$.size)return!1;for(let[Y,Q]of _){let X=$.get(Y);if(!X||X.kind!==Q.kind)return!1;if(Q.kind==="more"&&X.kind==="more"){if(Q.count!==X.count||Q.runId!==X.runId)return!1}}return!0}import{EventType as t0}from"@tanstack/ai";import{fetchServerSentEvents as o0}from"@tanstack/ai-client";function j5(_){for(let $=_.length-1;$>=0;$-=1){let Y=_[$],Q="parts"in Y&&Y.parts.some((X)=>X.type==="tool-result"||X.type==="tool-call"&&X.state==="approval-responded");if(Y.role==="user"||Q)return _.slice($,$+1)}return _.slice(-1)}function g5(_){if(_.state==="approval-responded"){let $=_.approval?.approved;if($===void 0)return null;return{toolCallId:_.id,output:null,state:$?"approved":"denied"}}if(!f(_.state))return null;return{toolCallId:_.id,output:_.output??null,state:_.state==="error"?"error":"complete"}}function m5(_){let[$]=_;if(!$||$.role!=="assistant"||!("parts"in $))return null;let Y=$.parts.flatMap((Q)=>{let X=Q.type==="tool-call"?g5(Q):null;return X?[X]:[]});return Y.length>0?Y:null}async function*s0(_,$,Y){for await(let Q of _){if(Q.type!==t0.MESSAGES_SNAPSHOT){yield Q;continue}let X=$.localMessages(),Z=X.findIndex((J)=>J.id===Y),G=Z===-1?[]:X.slice(Z+1).filter((J)=>J.role==="user");$.onTranscriptCarried?.(Q.timestamp??Date.now()),yield{...Q,messages:[...Q.messages,...G]}}}function b1(_){let{api:$,thread:Y}=_,Q=async()=>({headers:await $.resolveHeaders()}),X=o0(()=>$.resolveUrl("/chat"),Q),Z=function(V,K,N,z){let F=j5(V),B=m5(F),q=B?X.connect([],{...K,[u0]:B},N,z):X.connect(F,K,N,z);return s0(q,_,V.at(-1)?.id)},G=o0(()=>$.resolveUrl(`/chat/${Y.id}/stream`),Q),J=[];return{connect:Z,async*joinRun(V,K){yield{type:t0.MESSAGES_SNAPSHOT,timestamp:Date.now(),messages:J},yield*s0(G.joinRun(V,K),_,J.at(-1)?.id)},hydrate:async()=>{let V=await x5(_);return J=V.messages,V}}}async function x5(_){let{api:$,thread:Y,mode:Q}=_,X=Y.isRunning?{runId:Y.id}:null;if(Q==="skip")return{messages:[],activeRun:X,interrupts:null};if(Q==="load")_.setLoadingMessages?.(!0);try{let G=(await $.listMessages(Y.id)).map(F1);return _.onHydrated?.(G),{messages:G,activeRun:X,interrupts:null}}finally{_.setLoadingMessages?.(!1)}}async function T1(_){if(_.isStale?.()||_.isStreaming())return;try{let $=await _.api.listMessages(_.threadId);if(_.isStale?.()||_.isStreaming())return;let Y=$.map(F1);return _.setMessages(Y),Y}catch{return}}function w_(){if(typeof crypto.randomUUID==="function")return crypto.randomUUID();let _=crypto.getRandomValues(new Uint8Array(16));_[6]=_[6]&15|64,_[8]=_[8]&63|128;let $=Array.from(_,(Y)=>Y.toString(16).padStart(2,"0")).join("");return`${$.slice(0,8)}-${$.slice(8,12)}-${$.slice(12,16)}-${$.slice(16,20)}-${$.slice(20)}`}function v1(_){let{api:$}=_,Y=new Set,Q=new Set,X=[],Z=[];function G(){return X}function J(H){return Y.add(H),()=>{Y.delete(H)}}function V(H){X=H;for(let D of Y)D()}function K(H,D){V(X.map((W)=>W.localId===H?{...W,...D}:W))}function N(H){if(Q.delete(H))return;K(H,{status:"error"})}function z(H){let D=[];for(let W of H){let M=x0(W.type,W.size)!=="ok"||X.filter((k)=>k.status!=="error").length>=m0,A=w_();if(V([...X,{localId:A,filename:W.name,status:M?"error":"uploading"}]),!M)D.push({localId:A,file:W})}if(!D.length)return;_.ensureThread().then((W)=>{for(let{localId:M,file:A}of D){if(Q.delete(M))continue;K(M,{threadId:W}),$.uploadAttachment(W,A).then((k)=>{if(Q.delete(M)){$.deleteAttachment(k.id).catch(()=>{});return}K(M,{status:"ready",attachmentId:k.id,summary:k})},()=>N(M))}},()=>{for(let{localId:W}of D)N(W)})}function F(H){let D=X.find((W)=>W.localId===H);if(!D)return;if(D.status==="uploading"){Q.add(H),V(X.filter((W)=>W.localId!==H));return}if(D.attachmentId){K(H,{status:"deleting"}),$.deleteAttachment(D.attachmentId).then(()=>V(X.filter((W)=>W.localId!==H)),()=>K(H,{status:"error"}));return}V(X.filter((W)=>W.localId!==H))}function B(H){let D=[];for(let W of X){if(W.threadId!==void 0&&W.threadId!==H){D.push(W);continue}if(W.status==="uploading")Q.add(W.localId);else if(W.status==="ready"&&W.threadId===H&&W.attachmentId)$.deleteAttachment(W.attachmentId).catch(()=>{})}V(D)}function q(){let H=X.flatMap((D)=>D.status==="ready"&&D.summary?[{...D,status:"ready",summary:D.summary}]:[]);return V(X.filter((D)=>D.status!=="ready")),Z=H,H}function P(H){let D=Z;if(Z=[],D.some((W)=>W.threadId!==H))return;V([...D.map((W)=>({...W,status:"error"})),...X])}function O(){Z=[]}return{getState:G,subscribe:J,accept:z,remove:F,clear:B,consumeReady:q,restoreConsumed:P,discardConsumed:O}}function f1(_){return{uploading:_.some(($)=>$.status==="uploading"),busy:_.some(($)=>$.status==="uploading"||$.status==="deleting"),hasReady:_.some(($)=>$.status==="ready")}}function j1(_,$,Y){try{return new URL(_).origin===$&&!Y?"allow-scripts allow-forms allow-popups":"allow-scripts allow-forms allow-popups allow-same-origin"}catch{return"allow-scripts allow-forms allow-popups"}}function g1(_,$,Y){try{return Y===!0&&new URL(_).origin===$}catch{return!1}}function m1(_,$){try{return _.contentWindow?.location.origin===$}catch{return!1}}function x1(_){let $=!1,Y=!1,Q,X;function Z(V){if(!$)_.onState(V)}function G(){if($)return;Y=!1,Z({phase:"error"})}function J(V){if($||Y)return;Y=!0,Z({phase:"settling"});try{let K=_.submit(V);if(K instanceof Promise)K.catch(G)}catch{G()}}return{async start(){Z({phase:"initiating"});try{let V=await _.initiate();if(!V.embed){Z({phase:"unavailable"});return}if(!/^https?:$/.test(new URL(V.embedUrl).protocol)){Z({phase:"error"});return}Q=V.embedOrigin,Z({phase:"embedded",embedUrl:V.embedUrl,surface:V.surface,embedOrigin:V.embedOrigin})}catch(V){let K=V instanceof Error?V.message:"";Z({phase:/HTTP 404/.test(K)?"unavailable":"error"})}},setSource(V){if(V!==null&&V!==void 0)X=V},handleMessage(V){if(!Q)return;if(X===void 0||V.source!==X)return;let K=i0(V.data,V.origin,Q);if(!K)return;J({status:K.status,reference:K.reference,result:K.result})},cancel(){J({status:"cancelled"})},terminate(){if($||Y)return;Q=void 0,X=void 0,Z({phase:"error"})},dispose(){$=!0}}}function h1(_,$,Y){let Q=_.interrupts.find((X)=>X.id===$);if(!Q||!("resolveInterrupt"in Q))return _.addToolApprovalResponse({id:$,approved:Y});return Q.resolveInterrupt({approved:Y}),Promise.resolve()}async function b_(_,$){let Y=await import("leaflet"),Q=!$.interactive,X=Y.map(_,{center:$.center,zoom:$.zoom,zoomControl:!Q,dragging:!Q,scrollWheelZoom:!Q,doubleClickZoom:!Q,touchZoom:!Q,boxZoom:!Q,keyboard:!Q});Y.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(X);let Z=new ResizeObserver(()=>X.invalidateSize());return Z.observe(_),{leaflet:Y,map:X,dispose(){Z.disconnect(),X.remove()}}}var o_={position:void 0,locating:!1,locateFailed:!1,mapFailed:!1,submitting:!1,deliveryFailed:!1},h5={center:{lat:20,lng:0},zoom:2},u5=13,_6=16,c5=1e4;function u1(_,$){let Y=o_,Q=!1,X=!1,Z,G,J,V=0;function K(B){if(Y={...Y,...B},!Q)$.onState(Y)}function N(){let B=Y.position;if(!Z||!B)return;let{leaflet:q,map:P}=Z;if(G)G.setLatLng(B);else{let O=q.marker(B,{draggable:!Y.submitting}).addTo(P);O.on("dragend",()=>{let{lat:H,lng:D}=O.getLatLng();z({lat:H,lng:e0(D)})}),G=O}J?.remove(),J=B.accuracy?q.circle(B,{radius:B.accuracy}).addTo(P):void 0}function z(B){if(Y.submitting)return;V+=1,K({position:B,locating:!1,locateFailed:!1}),N()}function F(B){if(Q||X)return;X=!0,V+=1,G?.dragging?.disable(),K({submitting:!0,locating:!1,deliveryFailed:!1});let q=()=>{X=!1,G?.dragging?.enable(),K({submitting:!1,deliveryFailed:!0})};try{let P=$.submit(B);if(P instanceof Promise)P.catch(q)}catch{q()}}return{async start(){let B=$.center?{center:$.center,zoom:u5}:h5,q;try{q=await b_(_,{...B,interactive:!0})}catch{K({mapFailed:!0});return}if(Q){q.dispose();return}Z=q,q.map.on("click",(P)=>z({lat:P.latlng.lat,lng:e0(P.latlng.lng)})),N()},locate(){if(Y.locating||Y.submitting)return;if(!navigator.geolocation){K({locateFailed:!0});return}V+=1;let B=V;K({locating:!0,locateFailed:!1}),navigator.geolocation.getCurrentPosition(({coords:q})=>{if(Q||B!==V)return;let P={lat:q.latitude,lng:q.longitude,accuracy:Math.round(q.accuracy)};z(P),Z?.map.setView(P,_6)},()=>{if(B===V)K({locating:!1,locateFailed:!0})},{enableHighAccuracy:!0,timeout:c5})},confirm(){if(Y.position)F({status:"completed",result:Y.position})},cancel(){F({status:"cancelled"})},dispose(){Q=!0,Z?.dispose()}}}function c1(_,$,Y){let Q=!1,X;return b_(_,{center:$,zoom:_6,interactive:!1}).then((Z)=>{if(Q){Z.dispose();return}X=Z.dispose,Z.leaflet.marker($).addTo(Z.map)},()=>{if(!Q)Y()}),()=>{Q=!0,X?.()}}function e0(_){if(_>=-180&&_<=180)return _;return((_+180)%360+360)%360-180}function $6(_){if(!_||typeof _!=="object")return!1;let{lat:$,lng:Y}=_;return typeof $==="number"&&typeof Y==="number"&&Math.abs($)<=90&&Math.abs(Y)<=180}function p1(_){let $=_&&typeof _==="object"?_.center:void 0;return $6($)?$:void 0}function d1(_){if(!_||typeof _!=="object")return;let{status:$,result:Y}=_;if($!=="completed"||!$6(Y))return;let{accuracy:Q}=Y;return{...Y,...typeof Q==="number"?{accuracy:Q}:{}}}function s_(_){let $=`${_.lat.toFixed(4)}, ${_.lng.toFixed(4)}`;return _.accuracy?`${$} ±${_.accuracy} m`:$}function l1(_){if(_.locating)return{key:"translate_location_locating",failed:!1};if(_.deliveryFailed)return{key:"translate_location_send_failed",failed:!0};if(_.locateFailed)return{key:"translate_location_locate_failed",failed:!0};if(_.mapFailed)return{key:"translate_location_map_failed",failed:!0};return{key:"translate_location_hint",failed:!1}}function i1(_){return Math.min(1000*2**(_-1),30000)}var p5=1e4;function n1(_){let $,Y,Q=0,X=!1;function Z(){let{wsUrl:J,transport:V}=_.getConfig();if(J===!1)return;let K=d5(J,V.baseUrl);L1(V).then((N)=>{if(X)return;$=new WebSocket(l5(K,N)),$.addEventListener("open",()=>{let z=$;setTimeout(()=>{if($===z&&!X)Q=0},p5),_.onOpen?.()}),$.addEventListener("message",(z)=>{let F=z.data;if(typeof F!=="string")return;let B;try{B=JSON.parse(F)}catch{return}_.onEvent(B)}),$.addEventListener("close",G)}).catch(G)}function G(){if(X||Y)return;Q+=1,Y=setTimeout(()=>{Y=void 0,Z()},i1(Q))}return Z(),{close(){X=!0,clearTimeout(Y),$?.close()}}}function d5(_,$){if(_)return _;let Y=typeof $==="string"?$:$(),Q=new URL(Y,window.location.origin);return Q.protocol=Q.protocol==="https:"?"wss:":"ws:",Q.pathname=Q.pathname.replace(/\/$/,"")+"/ws",Q.toString()}function l5(_,$){let Y=$.Authorization??$.authorization;if(!Y?.startsWith("Bearer "))return _;let Q=new URL(_,window.location.origin);if(Q.searchParams.has("token"))return Q.toString();return Q.searchParams.set("token",Y.slice(7)),Q.toString()}function r1(_,$,Y=i1){let Q=!1,X,Z=0;function G(){_.getCapabilities().then((J)=>{if(!Q)$(J)},()=>{if(Q)return;Z+=1,X=setTimeout(G,Y(Z))})}return G(),function(){Q=!0,clearTimeout(X)}}function t_(_){return[..._].sort(($,Y)=>{let Q=Date.parse(Y.updatedAt)-Date.parse($.updatedAt);if(Q!==0)return Q;return Date.parse(Y.createdAt)-Date.parse($.createdAt)})}function T_(_,$){let Y=[..._],Q=Y.findIndex((X)=>X.id===$.id);if(Q===-1)Y.push($);else Y[Q]={...Y[Q],...$};return t_(Y)}function e_(_,$){return _.filter((Y)=>Y.id!==$)}function a1(_,$){switch($.type){case"thread:deleted":return e_(_,$.payload.threadId);case"thread:created":case"thread:title-updated":case"thread:run-started":case"thread:run-finished":case"thread:messages-updated":return T_(_,$.payload.thread);default:return _}}import{marked as i5}from"marked";import n5 from"dompurify";function v_(_,$=[]){if(!_)return"";let Y=i5.parse(_,{async:!1});if(Y=Y.replace(/<table>/g,'<div style="overflow-x:auto"><table style="width:max-content">').replace(/<\/table>/g,"</table></div>").replace(/<(t[hd])([\s>])/g,'<$1 style="padding:0.5rem 1rem"$2'),$.length)Y=r5(Y,$);return n5.sanitize(Y,{FORBID_TAGS:["img","picture","source"]})}function r5(_,$){let Y=document.createElement("template");Y.innerHTML=_;let Q=[...$].sort((G,J)=>G.length-J.length),X=Q[Q.length-1]?.length??0,Z=0;for(let G of a5(Y.content)){if(Z>=X)break;G.replaceWith(...o5(G.data,Z,Q)),Z+=G.data.length}return Y.innerHTML}function a5(_){let $=document.createTreeWalker(_,4),Y=[];for(let Q=$.nextNode();Q;Q=$.nextNode())if(Q.data.trim())Y.push(Q);return Y.reverse()}function o5(_,$,Y){let Q=[],X=_.length;for(let Z of Y){if(Z.length<=$)continue;if(X<=0)break;let G=Math.min(X,Z.length-$);if(G<X&&/[\uDC00-\uDFFF]/.test(_[X-G]))G+=1;let J=document.createElement("span");J.className="cortex-stream-fade",J.style.animationDelay=`-${Z.age}ms`,J.textContent=_.slice(X-G,X),Q.unshift(J),X-=G,$+=G}if(X>0)Q.unshift(document.createTextNode(_.slice(0,X)));return Q}import{marked as Z6}from"marked";var Y6=/^ {0,3}(`{3,}|~{3,})(.*)$/;function Q6(){let _=null;return($)=>{let Y=Y6.exec($),Q=Y?.[1],X=Y?.[2]??"";if(Q){let Z=Q.charAt(0);if(_){if(Z===_.marker&&Q.length>=_.length&&X.trim()==="")return _=null,"close";return"inside"}if(Z==="`"&&X.includes("`"))return"outside";return _={marker:Z,length:Q.length},"open"}return _?"inside":"outside"}}function X6(_){return Y6.exec(_)?.[2]?.trim().split(/\s+/)[0]??""}var s5=/^\s*!\[([^\]]*)\]\(attachment#([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\)\s*$/i;function o1(_,$){let Y=[],Q=[],X=null;function Z(K=!1){if(Q.length)Y.push(...e5(Q.join(`
5
- `),K));Q=[]}function G(K){if(X)Y.push({kind:"media",...X,source:X.source.join(`
6
- `),closed:K});X=null}let J=Q6(),V=_.split(`
7
- `);for(let[K,N]of V.entries()){let z=J(N);if(X){if(z==="close")G(!0);else X.source.push(N);continue}if(z==="open"&&K===V.length-1)break;let F=t5(N,z,$);if(!F){Q.push(N);continue}if(Z(),F.kind==="media")X={language:F.language,source:[]};else Y.push(F)}return G(!1),Z(!0),Y}function t5(_,$,Y){if($==="open"){let X=X6(_),Z=Y.find((G)=>G===X);return Z?{kind:"media",language:Z}:void 0}let Q=$==="outside"?s5.exec(_):null;return Q?{kind:"attachment",alt:Q[1]??"",id:(Q[2]??"").toLowerCase()}:void 0}function e5(_,$){let Y=Z6.lexer(_);if(!Y.some((N)=>N.type==="table"))return[{kind:"markdown",text:_}];let Q=[];Z6.walkTokens(Y,(N)=>{if(N.type==="def")Q.push(N.raw.trim())});let X=Q.join(`
8
- `),Z=(N)=>X?`${X}
4
+ `)}function l1(_,$){if($&&_.name in $)return!1;return _.name!==G1||!p(_.state)}function H6(_,$){if(_.type!=="tool-call")return!0;return!p(_.state)&&!_.approval&&$.foldable(_)}function i1(_,$){let Z=u_(_);if(!Z)return;let Q=R_(Z.parts,{debugMode:!1,isStreaming:!0}),X=Q.at(-1);if(X&&H6(X,$))return X;return Q.filter((J)=>J.type==="tool-call"&&H6(J,$)).at(-1)}function n1(){let _=new Map;return($,Z)=>{let Q=new Map;for(let[X,J]of o5($,Z)){let Y=_.get(X);Q.set(X,Y&&t5(Y,J)?Y:J)}return _=Q,Q}}function o5(_,$){let Z=new Map;if($.debugMode)return Z;let X=$.agentWorking||z_(_).length>0?s5(_):_,J=[];function Y(){let V=J[0]?.part.id;if(J.length>1&&V&&!$.opened.has(V))for(let[z,{messageId:G,part:K}]of J.entries()){let W=Z.get(G)??new Map;Z.set(G,W);let N=z===J.length-1;W.set(K,N?{kind:"more",count:J.length-1,runId:V}:{kind:"hidden"})}J=[]}for(let V of X){if(V.role!=="assistant"){Y();continue}let z=R_(V.parts,{debugMode:!1,isStreaming:!1});for(let G of z)if(G.type==="tool-call"&&p(G.state)&&$.foldable(G))J.push({messageId:V.id,part:G});else Y()}return Y(),Z}function s5(_){let $=_.map((Z)=>Z.role).lastIndexOf("user");return $<0?[]:_.slice(0,$)}function t5(_,$){if(_.size!==$.size)return!1;for(let[Z,Q]of _){let X=$.get(Z);if(!X||X.kind!==Q.kind)return!1;if(Q.kind==="more"&&X.kind==="more"){if(Q.count!==X.count||Q.runId!==X.runId)return!1}}return!0}import{EventType as B6}from"@tanstack/ai";import{fetchServerSentEvents as q6}from"@tanstack/ai-client";function e5(_){for(let $=_.length-1;$>=0;$-=1){let Z=_[$],Q="parts"in Z&&Z.parts.some((X)=>X.type==="tool-result"||X.type==="tool-call"&&X.state==="approval-responded");if(Z.role==="user"||Q)return _.slice($,$+1)}return _.slice(-1)}function _8(_){if(_.state==="approval-responded"){let $=_.approval?.approved;if($===void 0)return null;return{toolCallId:_.id,output:null,state:$?"approved":"denied"}}if(!p(_.state))return null;return{toolCallId:_.id,output:_.output??null,state:_.state==="error"?"error":"complete"}}function $8(_){let[$]=_;if(!$||$.role!=="assistant"||!("parts"in $))return null;let Z=$.parts.flatMap((Q)=>{let X=Q.type==="tool-call"?_8(Q):null;return X?[X]:[]});return Z.length>0?Z:null}async function Z8(_){if(_.status!==409)return;let $=await _.clone().json().catch(()=>{return});return $!==null&&typeof $==="object"&&"outcome"in $&&$.outcome==="dropped"&&"reason"in $&&$.reason==="approval_pending"?"approval_pending":void 0}async function*D6(_,$,Z){for await(let Q of _){if(Q.type!==B6.MESSAGES_SNAPSHOT){yield Q;continue}let X=$.localMessages(),J=X.findIndex((V)=>V.id===Z),Y=J===-1?[]:X.slice(J+1).filter((V)=>V.role==="user");$.onTranscriptCarried?.(Q.timestamp??Date.now()),yield{...Q,messages:[...Q.messages,...Y]}}}function r1(_){let{api:$,thread:Z}=_,Q=Object.assign(async(N,q)=>{let H=await fetch(N,q),U=await Z8(H);if(U)_.onRefused?.(U);return H},fetch),X=async()=>({headers:await $.resolveHeaders(),fetchClient:Q}),J=0;async function*Y(N){J+=1,_.onStreamStarted?.();try{yield*N}finally{J-=1}}let V=q6(()=>$.resolveUrl("/chat"),X),z=function(N,q,H,U){let E=e5(N),M=$8(E),R=M?V.connect([],{...q,[Y6]:M},H,U):V.connect(E,q,H,U);return Y(D6(R,_,N.at(-1)?.id))},G=q6(()=>$.resolveUrl(`/chat/${Z.id}/stream`),X),K=[];async function*W(N,q){yield{type:B6.MESSAGES_SNAPSHOT,timestamp:Date.now(),messages:K},yield*D6(G.joinRun(N,q),_,K.at(-1)?.id)}return{connect:z,joinRun:(N,q)=>Y(W(N,q)),streaming:()=>J>0,hydrate:async()=>{let N=await Q8(_);return K=N.messages,N}}}async function Q8(_){let{api:$,thread:Z,mode:Q}=_,X=Z.isRunning?{runId:Z.id}:null;if(Q==="skip")return{messages:[],activeRun:X,interrupts:null};if(Q==="load")_.setLoadingMessages?.(!0);try{let Y=(await $.listMessages(Z.id)).map(b1);return _.onHydrated?.(Y),{messages:Y,activeRun:X,interrupts:null}}finally{_.setLoadingMessages?.(!1)}}async function a1(_){if(_.isStale?.()||_.isStreaming())return;try{let $=await _.api.listMessages(_.threadId);if(_.isStale?.()||_.isStreaming())return;let Z=$.map(b1);return _.setMessages(Z),Z}catch{return}}function c_(){if(typeof crypto.randomUUID==="function")return crypto.randomUUID();let _=crypto.getRandomValues(new Uint8Array(16));_[6]=_[6]&15|64,_[8]=_[8]&63|128;let $=Array.from(_,(Z)=>Z.toString(16).padStart(2,"0")).join("");return`${$.slice(0,8)}-${$.slice(8,12)}-${$.slice(12,16)}-${$.slice(16,20)}-${$.slice(20)}`}var X8={type:"translate_attachment_rejected_type",size:"translate_attachment_rejected_size",name:"translate_attachment_rejected_name",count:"translate_attachment_rejected_count"};function o1(_,$){if(!_.refusal)return o($,"translate_attachment_rejected");return o($,X8[_.refusal],{types:new Intl.ListFormat($).format(x_.map((Z)=>Z.slice(Z.indexOf("/")+1).toUpperCase())),size:Q6/1024/1024,count:C1})}function s1(_){let{api:$}=_,Z=new Set,Q=new Set,X=[],J=[],Y=Promise.resolve();function V(){return X}function z(P){return Z.add(P),()=>{Z.delete(P)}}function G(P){X=P;for(let B of Z)B()}function K(P,B){G(X.map((L)=>L.localId===P?{...L,...B}:L))}function W(P){if(Q.delete(P))return;K(P,{status:"error"})}async function N(P,B,L){if(Q.delete(P))return;let O;try{O=await $.uploadAttachment(B,L)}catch{W(P);return}if(Q.delete(P)){$.deleteAttachment(O.id).catch(()=>{});return}K(P,{status:"ready",attachmentId:O.id,summary:O})}function q(P){let B=[];for(let L of P){let O=X6(L),k=X.filter((m_)=>m_.status!=="error").length>=C1,b=O!=="ok"?O:k?"count":void 0,h=c_();if(G([...X,b?{localId:h,filename:L.name,status:"error",refusal:b}:{localId:h,filename:L.name,status:"uploading"}]),!b)B.push({localId:h,file:L})}if(!B.length)return;_.ensureThread().then((L)=>{for(let{localId:O,file:k}of B){if(Q.delete(O))continue;K(O,{threadId:L}),Y=Y.then(()=>N(O,L,k)).catch(()=>{})}},()=>{for(let{localId:L}of B)W(L)})}function H(P){let B=X.find((L)=>L.localId===P);if(!B)return;if(B.status==="uploading"){Q.add(P),G(X.filter((L)=>L.localId!==P));return}if(B.attachmentId){K(P,{status:"deleting"}),$.deleteAttachment(B.attachmentId).then(()=>G(X.filter((L)=>L.localId!==P)),()=>K(P,{status:"error"}));return}G(X.filter((L)=>L.localId!==P))}function U(P){let B=[];for(let L of X){if(L.threadId!==void 0&&L.threadId!==P){B.push(L);continue}if(L.status==="uploading")Q.add(L.localId);else if(L.status==="ready"&&L.threadId===P&&L.attachmentId)$.deleteAttachment(L.attachmentId).catch(()=>{})}G(B)}function E(){let P=X.flatMap((B)=>B.status==="ready"&&B.summary?[{...B,status:"ready",summary:B.summary}]:[]);return G(X.filter((B)=>B.status!=="ready")),J=P,P}function M(P){let B=J;if(J=[],B.some((L)=>L.threadId!==P))return;G([...B.map((L)=>({...L,status:"error"})),...X])}function R(){J=[]}return{getState:V,subscribe:z,accept:q,remove:H,clear:U,consumeReady:E,restoreConsumed:M,discardConsumed:R}}function t1(_){return{uploading:_.some(($)=>$.status==="uploading"),busy:_.some(($)=>$.status==="uploading"||$.status==="deleting"),hasReady:_.some(($)=>$.status==="ready")}}function e1(_,$,Z){try{return new URL(_).origin===$&&!Z?"allow-scripts allow-forms allow-popups":"allow-scripts allow-forms allow-popups allow-same-origin"}catch{return"allow-scripts allow-forms allow-popups"}}function _0(_,$,Z){try{return Z===!0&&new URL(_).origin===$}catch{return!1}}function $0(_,$){try{return _.contentWindow?.location.origin===$}catch{return!1}}function Z0(_){let $=!1,Z=!1,Q,X;function J(z){if(!$)_.onState(z)}function Y(){if($)return;Z=!1,J({phase:"error"})}function V(z){if($||Z)return;Z=!0,J({phase:"settling"});try{let G=_.submit(z);if(G instanceof Promise)G.catch(Y)}catch{Y()}}return{async start(){J({phase:"initiating"});try{let z=await _.initiate();if(!/^https?:$/.test(new URL(z.embedUrl).protocol)){J({phase:"error"});return}Q=z.embedOrigin,J({phase:"embedded",embedUrl:z.embedUrl,surface:z.surface,embedOrigin:z.embedOrigin})}catch(z){let G=z instanceof Error?z.message:"";J({phase:/HTTP 404/.test(G)?"unavailable":"error"})}},setSource(z){if(z!==null&&z!==void 0)X=z},handleMessage(z){if(!Q)return;if(X===void 0||z.source!==X)return;let G=W6(z.data,z.origin,Q);if(!G)return;V({status:G.status,reference:G.reference,result:G.result})},cancel(){V({status:"cancelled"})},terminate(){if($||Z)return;Q=void 0,X=void 0,J({phase:"error"})},dispose(){$=!0}}}function Q0(_,$,Z){let Q=_.interrupts.find((X)=>X.id===$);if(!Q||!("resolveInterrupt"in Q))return _.addToolApprovalResponse({id:$,approved:Z});return Q.resolveInterrupt({approved:Z}),Promise.resolve()}async function p_(_,$){let Z=await import("leaflet"),Q=!$.interactive,X=Z.map(_,{center:$.center,zoom:$.zoom,zoomControl:!Q,dragging:!Q,scrollWheelZoom:!Q,doubleClickZoom:!Q,touchZoom:!Q,boxZoom:!Q,keyboard:!Q});Z.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(X);let J=new ResizeObserver(()=>X.invalidateSize());return J.observe(_),{leaflet:Z,map:X,dispose(){J.disconnect(),X.remove()}}}var z1={position:void 0,locating:!1,locateFailed:!1,mapFailed:!1,submitting:!1,deliveryFailed:!1},J8={center:{lat:20,lng:0},zoom:2},Y8=13,F6=16,V8=1e4;function X0(_,$){let Z=z1,Q=!1,X=!1,J,Y,V,z=0;function G(q){if(Z={...Z,...q},!Q)$.onState(Z)}function K(){let q=Z.position;if(!J||!q)return;let{leaflet:H,map:U}=J;if(Y)Y.setLatLng(q);else{let E=H.marker(q,{draggable:!Z.submitting}).addTo(U);E.on("dragend",()=>{let{lat:M,lng:R}=E.getLatLng();W({lat:M,lng:U6(R)})}),Y=E}V?.remove(),V=q.accuracy?H.circle(q,{radius:q.accuracy}).addTo(U):void 0}function W(q){if(Z.submitting)return;z+=1,G({position:q,locating:!1,locateFailed:!1}),K()}function N(q){if(Q||X)return;X=!0,z+=1,Y?.dragging?.disable(),G({submitting:!0,locating:!1,deliveryFailed:!1});let H=()=>{X=!1,Y?.dragging?.enable(),G({submitting:!1,deliveryFailed:!0})};try{let U=$.submit(q);if(U instanceof Promise)U.catch(H)}catch{H()}}return{async start(){let q=$.center?{center:$.center,zoom:Y8}:J8,H;try{H=await p_(_,{...q,interactive:!0})}catch{G({mapFailed:!0});return}if(Q){H.dispose();return}J=H,H.map.on("click",(U)=>W({lat:U.latlng.lat,lng:U6(U.latlng.lng)})),K()},locate(){if(Z.locating||Z.submitting)return;if(!navigator.geolocation){G({locateFailed:!0});return}z+=1;let q=z;G({locating:!0,locateFailed:!1}),navigator.geolocation.getCurrentPosition(({coords:H})=>{if(Q||q!==z)return;let U={lat:H.latitude,lng:H.longitude,accuracy:Math.round(H.accuracy)};W(U),J?.map.setView(U,F6)},()=>{if(q===z)G({locating:!1,locateFailed:!0})},{enableHighAccuracy:!0,timeout:V8})},confirm(){if(Z.position)N({status:"completed",result:Z.position})},cancel(){N({status:"cancelled"})},dispose(){Q=!0,J?.dispose()}}}function J0(_,$,Z){let Q=!1,X;return p_(_,{center:$,zoom:F6,interactive:!1}).then((J)=>{if(Q){J.dispose();return}X=J.dispose,J.leaflet.marker($).addTo(J.map)},()=>{if(!Q)Z()}),()=>{Q=!0,X?.()}}function U6(_){if(_>=-180&&_<=180)return _;return((_+180)%360+360)%360-180}function L6(_){if(!_||typeof _!=="object")return!1;let{lat:$,lng:Z}=_;return typeof $==="number"&&typeof Z==="number"&&Math.abs($)<=90&&Math.abs(Z)<=180}function Y0(_){let $=_&&typeof _==="object"?_.center:void 0;return L6($)?$:void 0}function V0(_){if(!_||typeof _!=="object")return;let{status:$,result:Z}=_;if($!=="completed"||!L6(Z))return;let{accuracy:Q}=Z;return{...Z,...typeof Q==="number"?{accuracy:Q}:{}}}function K1(_){let $=`${_.lat.toFixed(4)}, ${_.lng.toFixed(4)}`;return _.accuracy?`${$} ±${_.accuracy} m`:$}function G0(_){if(_.locating)return{key:"translate_location_locating",failed:!1};if(_.deliveryFailed)return{key:"translate_location_send_failed",failed:!0};if(_.locateFailed)return{key:"translate_location_locate_failed",failed:!0};if(_.mapFailed)return{key:"translate_location_map_failed",failed:!0};return{key:"translate_location_hint",failed:!1}}var z0=30000;function K0(_){return Math.min(1000*2**(_-1),z0)}var G8=1e4;function W0(_){let $,Z,Q=0,X=!1,J=!1;function Y(){let{wsUrl:z,transport:G}=_.getConfig();if(z===!1)return;let K=z8(z,G.baseUrl);T1(G).then((W)=>{if(X)return;$=new WebSocket(K8(K,W)),$.addEventListener("open",()=>{J=!0;let N=$;setTimeout(()=>{if($===N&&!X)Q=0},G8),_.onOpen?.()}),$.addEventListener("message",(N)=>{let q=N.data;if(typeof q!=="string")return;let H;try{H=JSON.parse(q)}catch{return}_.onEvent(H)}),$.addEventListener("close",()=>{J=!1,V()})}).catch(V)}function V(){if(X||Z)return;Q+=1,Z=setTimeout(()=>{Z=void 0,Y()},K0(Q))}return Y(),{close(){X=!0,J=!1,clearTimeout(Z),$?.close()},isOpen(){return J}}}function z8(_,$){if(_)return _;let Z=typeof $==="string"?$:$(),Q=new URL(Z,window.location.origin);return Q.protocol=Q.protocol==="https:"?"wss:":"ws:",Q.pathname=Q.pathname.replace(/\/$/,"")+"/ws",Q.toString()}function K8(_,$){let Z=$.Authorization??$.authorization;if(!Z?.startsWith("Bearer "))return _;let Q=new URL(_,window.location.origin);if(Q.searchParams.has("token"))return Q.toString();return Q.searchParams.set("token",Z.slice(7)),Q.toString()}var N0={unreachable:"translate_agent_unreachable",refused:"translate_access_refused",missing:"translate_agent_missing"};function W8(_){let $=_ instanceof Error?/^HTTP (\d+)\b/.exec(_.message)?.[1]:void 0;if($==="401")return"refused";if($==="404")return"missing";return"unreachable"}function d_(_,$,Z=K0){let Q=!1,X,J=0;function Y(){_().then((V)=>{if(!Q)$.onAnswered(V)},(V)=>{if(Q)return;let z=W8(V);if($.onMissed?.(z),z==="missing")return;J+=1,X=setTimeout(Y,z==="refused"?z0:Z(J))})}return Y(),function(){Q=!0,clearTimeout(X)}}function H0(_){return[..._].sort(($,Z)=>{let Q=Date.parse(Z.updatedAt)-Date.parse($.updatedAt);if(Q!==0)return Q;return Date.parse(Z.createdAt)-Date.parse($.createdAt)})}function l_(_,$){let Z=[..._],Q=Z.findIndex((X)=>X.id===$.id);if(Q===-1)Z.push($);else Z[Q]={...Z[Q],...$};return H0(Z)}function W1(_,$){return _.filter((Z)=>Z.id!==$)}function q0(_,$,Z){return _.map((Q)=>Q.id===$?{...Q,title:Z}:Q)}var N8=[0,1000,2000,3000,4000];function D0(_){let $=_.delays??N8,Z=!1,Q;function X(){let V=_.selected();return!Z&&!_.socketOpen()&&V?.id===_.threadId&&!V.title}async function J(V){if(!X())return;let G=(await _.listThreads().catch(()=>{return}))?.find((K)=>K.id===_.threadId)?.title;if(!X())return;if(G)_.setTitle(G);else Y(V+1)}function Y(V){let z=$[V];if(z!==void 0)Q=setTimeout(()=>void J(V),z)}return Y(0),function(){Z=!0,clearTimeout(Q)}}function B0(_,$){switch($.type){case"thread:deleted":return W1(_,$.payload.threadId);case"thread:created":case"thread:title-updated":case"thread:run-started":case"thread:run-finished":case"thread:messages-updated":return l_(_,$.payload.thread);default:return _}}function U0(){let _=new Map,$=new Map,Z=0;function Q(X){if(X.type==="thread:run-started")return _.set(X.payload.thread.id,X.payload.runId),!0;if(X.type!=="thread:run-finished")return!0;let J=_.get(X.payload.thread.id);return J===void 0||J===X.payload.runId}return{admits(X){let J=Q(X);if(J&&"thread"in X.payload)$.set(X.payload.thread.id,++Z);return J},running(X,J){return $.set(X,++Z),(Y)=>{let V=Y?.find((z)=>z.id===X);return Y&&V?l_(Y,{...V,isRunning:J}):Y}},async read(X){_.clear();let J=++Z,Y=H0(await X());function V(z){return Y.map((G)=>{let K=$.get(G.id)??0,W=K>J?z?.find((N)=>N.id===G.id):void 0;if(K<J)$.set(G.id,J);return W?{...G,isRunning:W.isRunning}:G})}return{listed:Y,show:V}}}}import{marked as H8}from"marked";import q8 from"dompurify";function i_(_,$=[]){if(!_)return"";let Z=document.createElement("template");if(Z.innerHTML=H8.parse(_,{async:!1}).replace(/<table>/g,'<div style="overflow-x:auto"><table style="width:max-content">').replace(/<\/table>/g,"</table></div>").replace(/<(t[hd])([\s>])/g,'<$1 style="padding:0.5rem 1rem"$2'),B8(Z.content),$.length)U8(Z.content,$);return q8.sanitize(Z.innerHTML,{FORBID_TAGS:["img","picture","source"]})}var D8=/[\p{Script=Arabic}\p{Script=Hebrew}]/u;function B8(_){for(let $ of Array.from(_.children))if($.localName!=="div")$.setAttribute("dir","auto");_.querySelectorAll("table").forEach(($)=>{let Z=/\p{L}/u.exec($.textContent??"")?.[0];if(!Z)return;let Q=D8.test(Z)?"rtl":"ltr";if($.setAttribute("dir",Q),$.parentElement?.childElementCount===1)$.parentElement.setAttribute("dir",Q)}),_.querySelectorAll("th, td").forEach(($)=>$.setAttribute("dir","auto")),_.querySelectorAll("pre").forEach(($)=>$.setAttribute("dir","ltr"))}function U8(_,$){let Z=[...$].sort((J,Y)=>J.length-Y.length),Q=Z[Z.length-1]?.length??0,X=0;for(let J of F8(_)){if(X>=Q)break;J.replaceWith(...L8(J.data,X,Z)),X+=J.data.length}}function F8(_){let $=document.createTreeWalker(_,4),Z=[];for(let Q=$.nextNode();Q;Q=$.nextNode())if(Q.data.trim())Z.push(Q);return Z.reverse()}function L8(_,$,Z){let Q=[],X=_.length;for(let J of Z){if(J.length<=$)continue;if(X<=0)break;let Y=Math.min(X,J.length-$);if(Y<X&&/[\uDC00-\uDFFF]/.test(_[X-Y]))Y+=1;let V=document.createElement("span");V.className="cortex-stream-fade",V.style.animationDelay=`-${J.age}ms`,V.textContent=_.slice(X-Y,X),Q.unshift(V),X-=Y,$+=Y}if(X>0)Q.unshift(document.createTextNode(_.slice(0,X)));return Q}import{marked as A6}from"marked";var O6=/^ {0,3}(`{3,}|~{3,})(.*)$/;function P6(){let _=null;return($)=>{let Z=O6.exec($),Q=Z?.[1],X=Z?.[2]??"";if(Q){let J=Q.charAt(0);if(_){if(J===_.marker&&Q.length>=_.length&&X.trim()==="")return _=null,"close";return"inside"}if(J==="`"&&X.includes("`"))return"outside";return _={marker:J,length:Q.length},"open"}return _?"inside":"outside"}}function M6(_){return O6.exec(_)?.[2]?.trim().split(/\s+/)[0]??""}var O8=/^\s*!\[([^\]]*)\]\(attachment#([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\)\s*$/i;function F0(_,$){let Z=[],Q=[],X=null;function J(G=!1){if(Q.length)Z.push(...M8(Q.join(`
5
+ `),G));Q=[]}function Y(G){if(X)Z.push({kind:"media",...X,source:X.source.join(`
6
+ `),closed:G});X=null}let V=P6(),z=_.split(`
7
+ `);for(let[G,K]of z.entries()){let W=V(K);if(X){if(W==="close")Y(!0);else X.source.push(K);continue}if(W==="open"&&G===z.length-1)break;let N=P8(K,W,$);if(!N){Q.push(K);continue}if(J(),N.kind==="media")X={language:N.language,source:[]};else Z.push(N)}return Y(!1),J(!0),Z}function P8(_,$,Z){if($==="open"){let X=M6(_),J=Z.find((Y)=>Y===X);return J?{kind:"media",language:J}:void 0}let Q=$==="outside"?O8.exec(_):null;return Q?{kind:"attachment",alt:Q[1]??"",id:(Q[2]??"").toLowerCase()}:void 0}function M8(_,$){let Z=A6.lexer(_);if(!Z.some((K)=>K.type==="table"))return[{kind:"markdown",text:_}];let Q=[];A6.walkTokens(Z,(K)=>{if(K.type==="def")Q.push(K.raw.trim())});let X=Q.join(`
8
+ `),J=(K)=>X?`${X}
9
9
 
10
- ${N}`:N,G=[],J="";function V(){if(J.trim())G.push({kind:"markdown",text:Z(J)});J=""}let K=Y.filter((N)=>N.type!=="def");for(let[N,z]of K.entries()){if(z.type!=="table"){J+=z.raw;continue}V();let F=K.slice(N+1).some((B)=>B.raw.trim()!=="");G.push({kind:"table",text:Z(z.raw.trimEnd()),closed:F||!$})}return V(),G}var _8=/^-?(?:0|[1-9]\d*)(?:\.\d*[1-9])?$/;function $8(_){return _8.test(_)&&_!=="-0"&&_.replace(/[-.]/g,"").replace(/^0/,"").length<=15}var Y8=32767,G6=new TextEncoder;function s1(_){return Array.from(_.rows,($)=>Array.from($.cells,Q8))}function Q8(_){let $=_.cloneNode(!0);if($ instanceof Element)$.querySelectorAll("br").forEach((Y)=>Y.replaceWith(`
11
- `));return($.textContent??"").trim()}function t1(_){return new Blob([N8(J8(_))],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}function X8(_){return _.replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\ufffe\uffff]/g,"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/_(x[0-9a-f]{4}_)/gi,"_x005F_$1")}function Z8(_){let $="";for(let Y=_+1;Y>0;Y=Math.floor((Y-1)/26))$=String.fromCharCode(65+(Y-1)%26)+$;return $}function G8(_){return`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><sheetData>${_.map((Y,Q)=>{let X=Y.map((Z,G)=>{let J=`${Z8(G)}${Q+1}`,V=Q===0?' s="1"':"";return Q>0&&$8(Z)?`<c r="${J}"${V}><v>${Z}</v></c>`:`<c r="${J}"${V} t="inlineStr"><is><t xml:space="preserve">${X8(Z.slice(0,Y8))}</t></is></c>`}).join("");return`<row r="${Q+1}">${X}</row>`}).join("")}</sheetData></worksheet>`}function J8(_){return[{name:"[Content_Types].xml",text:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/></Types>'},{name:"_rels/.rels",text:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>'},{name:"xl/workbook.xml",text:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><sheets><sheet name="Sheet1" sheetId="1" r:id="rId1"/></sheets></workbook>'},{name:"xl/_rels/workbook.xml.rels",text:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/></Relationships>'},{name:"xl/styles.xml",text:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><fonts count="2"><font><sz val="11"/><name val="Calibri"/></font><font><b/><sz val="11"/><name val="Calibri"/></font></fonts><fills count="2"><fill><patternFill patternType="none"/></fill><fill><patternFill patternType="gray125"/></fill></fills><borders count="1"><border/></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs><cellXfs count="2"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/><xf numFmtId="0" fontId="1" fillId="0" borderId="0" xfId="0" applyFont="1"/></cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles></styleSheet>'},{name:"xl/worksheets/sheet1.xml",text:G8(_)}]}var V8=Array.from({length:256},(_,$)=>{let Y=$;for(let Q=0;Q<8;Q++)Y=Y&1?3988292384^Y>>>1:Y>>>1;return Y>>>0});function K8(_){let $=4294967295;for(let Y of _)$=(V8[($^Y)&255]??0)^$>>>8;return($^4294967295)>>>0}function N8(_){let $=[],Y=[],Q=0;for(let K of _){let N=G6.encode(K.name),z=G6.encode(K.text),F=K8(z),B=new DataView(new ArrayBuffer(30));B.setUint32(0,67324752,!0),B.setUint16(4,20,!0),B.setUint16(6,2048,!0),B.setUint32(14,F,!0),B.setUint32(18,z.length,!0),B.setUint32(22,z.length,!0),B.setUint16(26,N.length,!0),$.push(new Uint8Array(B.buffer),N,z);let q=new DataView(new ArrayBuffer(46));q.setUint32(0,33639248,!0),q.setUint16(4,20,!0),q.setUint16(6,20,!0),q.setUint16(8,2048,!0),q.setUint32(16,F,!0),q.setUint32(20,z.length,!0),q.setUint32(24,z.length,!0),q.setUint16(28,N.length,!0),q.setUint32(42,Q,!0),Y.push(new Uint8Array(q.buffer),N),Q+=30+N.length+z.length}let X=Y.reduce((K,N)=>K+N.length,0),Z=new DataView(new ArrayBuffer(22));Z.setUint32(0,101010256,!0),Z.setUint16(8,_.length,!0),Z.setUint16(10,_.length,!0),Z.setUint32(12,X,!0),Z.setUint32(16,Q,!0);let G=[...$,...Y,new Uint8Array(Z.buffer)],J=new Uint8Array(G.reduce((K,N)=>K+N.length,0)),V=0;for(let K of G)J.set(K,V),V+=K.length;return J}var K6=new Set(["flatten","fold","density","impute","regression","loess","quantile","sample"]),z8=`Use Vega-Lite JSON with inline \`data.values\` only, at most 200 rows, and no \`url\` anywhere. Compute folds, trend lines and densities yourself. For several series, write one row per series and x value, or keep one row per x value and draw a layer per series (color by \`datum\`) when that would exceed the row limit. These keys are refused anywhere in the spec: ${[...K6,"params","selection"].join(", ")}. Expressions in \`calculate\`, \`filter\` and \`labelExpr\` may use only datum fields, literals, operators and simple math or date-part functions (no format or timeFormat), so put formatted values in the rows or use an axis \`format\`.`;function N6(_,$){if(_==="url")return"Charts may only use inline data and no URLs.";if(_==="sequence"||_==="graticule")return"Charts may only use inline data.";if(K6.has(_))return"Charts may not use transforms that generate rows.";if(_==="params"||_==="selection"||_==="signals"||_==="on")return"Charts may not be interactive.";if(_==="expr")return"Charts may not carry expressions.";if(W8.has(_)&&typeof $==="string"&&!H8($))return"Charts may only use simple expressions over datum.";if(_==="usermeta")return"Charts may not carry usermeta.";if(typeof $==="string"&&_1($))return"Charts may not reference URLs.";if((_==="width"||_==="height")&&D8($)>4000)return"Charts may be at most 4000 pixels wide or tall.";return}var W8=new Set(["calculate","filter","test","signal","labelExpr"]),J6=new Set(["abs","ceil","floor","round","min","max","sqrt","pow","log","exp","year","month","date","day","hours","minutes","toNumber","toString","toDate","isValid","isNaN","if","indexof","length"]);function H8(_){if(_.length>500||/[\\`]/.test(_))return!1;let $=_.replace(/'[^']*'|"[^"]*"/g,'""');for(let[,Q]of $.matchAll(/([A-Za-z_$][\w$]*)\s*\(/g))if(!J6.has(Q??""))return!1;let Y=$.replace(/(datum|parent)(\s*\.[\w$]+|\s*\[\s*""\s*\])+|\b\d[\w.]*/g,"").matchAll(/[A-Za-z_$][\w$]*/g);for(let[Q]of Y)if(!J6.has(Q)&&!["true","false","null"].includes(Q))return!1;return!0}function D8(_){if(typeof _==="number")return _;let $=_?.step;return typeof $==="number"?$:0}function V6(_,$){let Y=_?.features,Q=Array.isArray(_)?_.length:Array.isArray(Y)?Y.length:-1;if(Q<0)return N6($,_)??_0(e1(_,$),f_);return Q>200?"Charts may hold at most 200 rows.":void 0}function f_(_,$=""){if($==="values")return V6(_,$);if($==="datasets")return _0(e1(_),V6);return N6($,_)??_0(e1(_,$),(Y,Q)=>f_(Y,Q))}function e1(_,$=""){if(Array.isArray(_))return _.map((Y)=>[$,Y]);return _&&typeof _==="object"?Object.entries(_):[]}function _0(_,$){for(let[Y,Q]of _){let X=$(Q,Y);if(X)return X}return}var z6=/url\(([^)]*)\)/gi,$0="src|image|image-set|-webkit-image-set|cross-fade|element",Y0=new RegExp(String.raw`\b(url|${$0})\(`,"i"),B8=new RegExp(String.raw`\b(${$0})\(`,"i"),q8=new RegExp(String.raw`\b(${$0})\([^)]*\)`,"gi"),F8=/\\([0-9a-f]{1,6})\s?|\\(.)/gi,U8=/@import[^;]*;?/gi;function L8(_){return _.replace(F8,($,Y,Q)=>{if(!Y)return Q??"";let X=parseInt(Y,16),Z=X===0||X>=55296&&X<=57343||X>1114111;return String.fromCodePoint(Z?65533:X)})}function W6(_){return _.trim().replace(/^(['"])(.*)\1$/s,"$2").trim()}function _1(_){if(_.includes("\\")||B8.test(_))return!0;for(let[,$]of _.matchAll(z6))if(!W6($??"").startsWith("#"))return!0;return!1}function Q0(_){return L8(_).replaceAll("\\"," ").replace(U8," ").replace(q8,"none").replace(z6,($,Y)=>W6(Y).startsWith("#")?$:"none")}var P8=new Set(["src","srcset","poster","background","action","formaction","ping"]);function j_(_){for(let $ of[_,..._.querySelectorAll("*")]){for(let Y of[...$.attributes])if(P8.has(Y.name)||(Y.name==="href"||Y.name==="xlink:href")&&$.localName!=="a"&&!Y.value.trim().startsWith("#")||_1(Y.value))$.removeAttribute(Y.name);if($.localName==="style"&&$.textContent)$.textContent=Q0($.textContent)}}var O8=`
10
+ ${K}`:K,Y=[],V="";function z(){if(V.trim())Y.push({kind:"markdown",text:J(V)});V=""}let G=Z.filter((K)=>K.type!=="def");for(let[K,W]of G.entries()){if(W.type!=="table"){V+=W.raw;continue}z();let N=G.slice(K+1).some((q)=>q.raw.trim()!=="");Y.push({kind:"table",text:J(W.raw.trimEnd()),closed:N||!$})}return z(),Y}var A8=/^-?(?:0|[1-9]\d*)(?:\.\d*[1-9])?$/;function E8(_){return A8.test(_)&&_!=="-0"&&_.replace(/[-.]/g,"").replace(/^0/,"").length<=15}var R8=32767,E6=new TextEncoder;function L0(_){return Array.from(_.rows,($)=>Array.from($.cells,k8))}function k8(_){let $=_.cloneNode(!0);if($ instanceof Element)$.querySelectorAll("br").forEach((Z)=>Z.replaceWith(`
11
+ `));return($.textContent??"").trim()}function O0(_){return new Blob([T8(C8(_))],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}function I8(_){return _.replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\ufffe\uffff]/g,"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/_(x[0-9a-f]{4}_)/gi,"_x005F_$1")}function y8(_){let $="";for(let Z=_+1;Z>0;Z=Math.floor((Z-1)/26))$=String.fromCharCode(65+(Z-1)%26)+$;return $}function S8(_){return`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><sheetData>${_.map((Z,Q)=>{let X=Z.map((J,Y)=>{let V=`${y8(Y)}${Q+1}`,z=Q===0?' s="1"':"";return Q>0&&E8(J)?`<c r="${V}"${z}><v>${J}</v></c>`:`<c r="${V}"${z} t="inlineStr"><is><t xml:space="preserve">${I8(J.slice(0,R8))}</t></is></c>`}).join("");return`<row r="${Q+1}">${X}</row>`}).join("")}</sheetData></worksheet>`}function C8(_){return[{name:"[Content_Types].xml",text:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/></Types>'},{name:"_rels/.rels",text:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>'},{name:"xl/workbook.xml",text:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><sheets><sheet name="Sheet1" sheetId="1" r:id="rId1"/></sheets></workbook>'},{name:"xl/_rels/workbook.xml.rels",text:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/></Relationships>'},{name:"xl/styles.xml",text:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><fonts count="2"><font><sz val="11"/><name val="Calibri"/></font><font><b/><sz val="11"/><name val="Calibri"/></font></fonts><fills count="2"><fill><patternFill patternType="none"/></fill><fill><patternFill patternType="gray125"/></fill></fills><borders count="1"><border/></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs><cellXfs count="2"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/><xf numFmtId="0" fontId="1" fillId="0" borderId="0" xfId="0" applyFont="1"/></cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles></styleSheet>'},{name:"xl/worksheets/sheet1.xml",text:S8(_)}]}var b8=Array.from({length:256},(_,$)=>{let Z=$;for(let Q=0;Q<8;Q++)Z=Z&1?3988292384^Z>>>1:Z>>>1;return Z>>>0});function w8(_){let $=4294967295;for(let Z of _)$=(b8[($^Z)&255]??0)^$>>>8;return($^4294967295)>>>0}function T8(_){let $=[],Z=[],Q=0;for(let G of _){let K=E6.encode(G.name),W=E6.encode(G.text),N=w8(W),q=new DataView(new ArrayBuffer(30));q.setUint32(0,67324752,!0),q.setUint16(4,20,!0),q.setUint16(6,2048,!0),q.setUint32(14,N,!0),q.setUint32(18,W.length,!0),q.setUint32(22,W.length,!0),q.setUint16(26,K.length,!0),$.push(new Uint8Array(q.buffer),K,W);let H=new DataView(new ArrayBuffer(46));H.setUint32(0,33639248,!0),H.setUint16(4,20,!0),H.setUint16(6,20,!0),H.setUint16(8,2048,!0),H.setUint32(16,N,!0),H.setUint32(20,W.length,!0),H.setUint32(24,W.length,!0),H.setUint16(28,K.length,!0),H.setUint32(42,Q,!0),Z.push(new Uint8Array(H.buffer),K),Q+=30+K.length+W.length}let X=Z.reduce((G,K)=>G+K.length,0),J=new DataView(new ArrayBuffer(22));J.setUint32(0,101010256,!0),J.setUint16(8,_.length,!0),J.setUint16(10,_.length,!0),J.setUint32(12,X,!0),J.setUint32(16,Q,!0);let Y=[...$,...Z,new Uint8Array(J.buffer)],V=new Uint8Array(Y.reduce((G,K)=>G+K.length,0)),z=0;for(let G of Y)V.set(G,z),z+=G.length;return V}var I6=new Set(["flatten","fold","density","impute","regression","loess","quantile","sample"]),v8=`Use Vega-Lite JSON with inline \`data.values\` only, at most 200 rows, and no \`url\` anywhere. Compute folds, trend lines and densities yourself. For several series, write one row per series and x value, or keep one row per x value and draw a layer per series (color by \`datum\`) when that would exceed the row limit. These keys are refused anywhere in the spec: ${[...I6,"params","selection"].join(", ")}. Expressions in \`calculate\`, \`filter\` and \`labelExpr\` may use only datum fields, literals, operators and simple math or date-part functions (no format or timeFormat), so put formatted values in the rows or use an axis \`format\`.`;function y6(_,$){if(_==="url")return"Charts may only use inline data and no URLs.";if(_==="sequence"||_==="graticule")return"Charts may only use inline data.";if(I6.has(_))return"Charts may not use transforms that generate rows.";if(_==="params"||_==="selection"||_==="signals"||_==="on")return"Charts may not be interactive.";if(_==="expr")return"Charts may not carry expressions.";if(j8.has(_)&&typeof $==="string"&&!f8($))return"Charts may only use simple expressions over datum.";if(_==="usermeta")return"Charts may not carry usermeta.";if(typeof $==="string"&&N1($))return"Charts may not reference URLs.";if((_==="width"||_==="height")&&g8($)>4000)return"Charts may be at most 4000 pixels wide or tall.";return}var j8=new Set(["calculate","filter","test","signal","labelExpr"]),R6=new Set(["abs","ceil","floor","round","min","max","sqrt","pow","log","exp","year","month","date","day","hours","minutes","toNumber","toString","toDate","isValid","isNaN","if","indexof","length"]);function f8(_){if(_.length>500||/[\\`]/.test(_))return!1;let $=_.replace(/'[^']*'|"[^"]*"/g,'""');for(let[,Q]of $.matchAll(/([A-Za-z_$][\w$]*)\s*\(/g))if(!R6.has(Q??""))return!1;let Z=$.replace(/(datum|parent)(\s*\.[\w$]+|\s*\[\s*""\s*\])+|\b\d[\w.]*/g,"").matchAll(/[A-Za-z_$][\w$]*/g);for(let[Q]of Z)if(!R6.has(Q)&&!["true","false","null"].includes(Q))return!1;return!0}function g8(_){if(typeof _==="number")return _;let $=_?.step;return typeof $==="number"?$:0}function k6(_,$){let Z=_?.features,Q=Array.isArray(_)?_.length:Array.isArray(Z)?Z.length:-1;if(Q<0)return y6($,_)??M0(P0(_,$),n_);return Q>200?"Charts may hold at most 200 rows.":void 0}function n_(_,$=""){if($==="values")return k6(_,$);if($==="datasets")return M0(P0(_),k6);return y6($,_)??M0(P0(_,$),(Z,Q)=>n_(Z,Q))}function P0(_,$=""){if(Array.isArray(_))return _.map((Z)=>[$,Z]);return _&&typeof _==="object"?Object.entries(_):[]}function M0(_,$){for(let[Z,Q]of _){let X=$(Q,Z);if(X)return X}return}var S6=/url\(([^)]*)\)/gi,A0="src|image|image-set|-webkit-image-set|cross-fade|element",E0=new RegExp(String.raw`\b(url|${A0})\(`,"i"),m8=new RegExp(String.raw`\b(${A0})\(`,"i"),x8=new RegExp(String.raw`\b(${A0})\([^)]*\)`,"gi"),h8=/\\([0-9a-f]{1,6})\s?|\\(.)/gi,u8=/@import[^;]*;?/gi;function c8(_){return _.replace(h8,($,Z,Q)=>{if(!Z)return Q??"";let X=parseInt(Z,16),J=X===0||X>=55296&&X<=57343||X>1114111;return String.fromCodePoint(J?65533:X)})}function C6(_){return _.trim().replace(/^(['"])(.*)\1$/s,"$2").trim()}function N1(_){if(_.includes("\\")||m8.test(_))return!0;for(let[,$]of _.matchAll(S6))if(!C6($??"").startsWith("#"))return!0;return!1}function R0(_){return c8(_).replaceAll("\\"," ").replace(u8," ").replace(x8,"none").replace(S6,($,Z)=>C6(Z).startsWith("#")?$:"none")}var p8=new Set(["src","srcset","poster","background","action","formaction","ping"]);function r_(_){for(let $ of[_,..._.querySelectorAll("*")]){for(let Z of[...$.attributes])if(p8.has(Z.name)||(Z.name==="href"||Z.name==="xlink:href")&&$.localName!=="a"&&!Z.value.trim().startsWith("#")||N1(Z.value))$.removeAttribute(Z.name);if($.localName==="style"&&$.textContent)$.textContent=R0($.textContent)}}var d8=`
12
12
  @layer {
13
13
  :host {
14
14
  display: block !important;
@@ -186,6 +186,6 @@ ${N}`:N,G=[],J="";function V(){if(J.trim())G.push({kind:"markdown",text:Z(J)});J
186
186
  display: block;
187
187
  }
188
188
  }
189
- `,M8=/(["'])(?:(?!\1)[^\n\r\f])*\1?|\/\*[\s\S]*?(?:\*\/|$)/g;function A8(_){return/:host|@(-[a-z]+-)?keyframes|@property/i.test(H6(_))}function H6(_){return _.replace(M8,($)=>$.startsWith("/*")?"":$)}async function D6(_){let{default:$}=await import("dompurify"),Y=$.sanitize(_,{FORCE_BODY:!0,RETURN_DOM_FRAGMENT:!0,USE_PROFILES:{html:!0,svg:!0,svgFilters:!0},FORBID_TAGS:["img","picture","source","video","audio","track","a","area","form","input","button","select","textarea","dialog","template","slot","marquee","animatecolor","animatemotion","animatetransform","image","feimage"],FORBID_ATTR:["popover","popovertarget","popovertargetaction"]}),Q=Y.ownerDocument.createElement("div");Q.append(Y);for(let X of Q.querySelectorAll("[style]"))k8(X);j_(Q);for(let X of Q.querySelectorAll("style"))if(A8(X.textContent??""))X.remove();return Q}var E8=/^(-[a-z]+-)?(animation|transition)/i;function k8(_){let $=H6(_.getAttribute("style")??"").split(";");_.setAttribute("style",$.filter((Y)=>!E8.test(Y.trim())).join(";"))}function B6(_,$,Y,Q){let X=document.createElement("style");X.textContent=O8,$.className="cortex-report",_.attachShadow({mode:"open"}).append(X,$);let Z=[...$.querySelectorAll("figure[data-chart]")].map((G)=>{let{box:J,spec:V}=R8(G);return Y(J,V,()=>{let K=document.createElement("p");K.className="cortex-report-chart-failed",K.textContent=Q,J.append(K)})});return()=>{for(let G of Z)G()}}function R8(_){let $=[..._.childNodes].filter((X)=>X.nodeName!=="FIGCAPTION"),Y=document.createElement("div");_.insertBefore(Y,$.find((X)=>X.textContent?.trim())??null);for(let X of $)X.remove();let Q=$.map((X)=>X.textContent).join("");return{box:Y,spec:I8.exec(Q)?.[2]??Q}}var I8=/^\s*(`{3,}|~{3,})[^\n]*\n([\s\S]*?)\n\s*\1\s*$/;var P6={async mermaid(_,$,{scheme:Y}){let[{default:Q},{default:X}]=await Promise.all([import("mermaid"),import("dompurify")]);if(Y0.test($)||$.includes("\\"))throw Error("Diagrams may not reference URLs.");if(/%%\{/.test($))throw Error("Diagrams may not carry init directives.");if(/^\s*---\s*$/m.test($))throw Error("Diagrams may not carry frontmatter.");if(/\bimg\s*:/.test($))throw Error("Diagrams may not embed images.");let Z=S8($);if(!C8.test(Z))throw Error(`Unsupported diagram type: ${Z}`);let G=q6.then(async()=>{if(!F6)Q.initialize({startOnLoad:!1,securityLevel:"strict",htmlLabels:!1}),F6=!0;let K=`%%{init: {"theme": "${Y==="dark"?"dark":"default"}"}}%%
190
- ${$}`;return await Q.parse(K),(await Q.render(`cortex-mermaid-${f8()}`,K,_)).svg});q6=G.catch(()=>{return});let J=await G,V=document.createElement("div");return V.innerHTML=X.sanitize(J,{USE_PROFILES:{svg:!0,svgFilters:!0}}),j_(V),_.replaceChildren(...V.childNodes),()=>{_.innerHTML=""}},async "vega-lite"(_,$,{scheme:Y}){let Q=JSON.parse($),X=f_(Q);if(X)throw Error(X);if(!Q||typeof Q!=="object"||Array.isArray(Q))throw Error("A chart needs a JSON object.");let Z=Q,[{default:G},J]=await Promise.all([import("vega-embed"),import("vega")]),V=()=>Promise.reject(Error("Charts may only use inline data."));async function K(H){let D=document.createElement("div"),W=await G(D,T8(Z,H),{actions:!1,renderer:"svg",mode:"vega-lite",loader:{...J.loader(),load:V,sanitize:V},ast:!0,...Y==="dark"?{theme:"dark"}:{},config:{background:"transparent"}});return j_(D),{drawing:D,result:W,width:H}}let N=await K(_.clientWidth);_.replaceChildren(N.drawing);let z=!1,F,B=0;function q(){F??=(async()=>{let H=_.clientWidth;while(!z&&H>0&&H!==N.width&&H!==B){try{let D=await K(H);if(z){D.result.finalize();return}N.result.finalize(),N=D,_.replaceChildren(D.drawing)}catch{B=H}H=_.clientWidth}})().finally(()=>{F=void 0})}let P=new ResizeObserver(q);if(O6(Z))P.observe(_);function O(){let H=document.getElementById(v8),D=M6(_)??document.body;if(H&&H.parentElement!==D)D.append(H)}return _.addEventListener("pointermove",O),()=>{z=!0,P.disconnect(),_.removeEventListener("pointermove",O),N.result.finalize()}},async map(_,$){let Y=j8(JSON.parse($)),{leaflet:Q,map:X,dispose:Z}=await b_(_,{...Y,interactive:!0});for(let G of Y.markers){let J=Q.marker(G.position).addTo(X);if(G.label){let V=document.createElement("span");V.textContent=G.label,J.bindTooltip(V)}}return Z},async report(_,$,Y){let Q=await D6($);return B6(_,Q,(X,Z,G)=>Y1(X,{language:"vega-lite",source:Z,context:Y,overrides:void 0,onError:G}),n(Y.locale,"translate_media_failed"))}},y8={mermaid:{title:"translate_media_mermaid",pending:"translate_media_pending_mermaid"},"vega-lite":{title:"translate_media_vega_lite",pending:"translate_media_pending_vega_lite"},map:{title:"translate_media_map",pending:"translate_media_pending_map"},report:{title:"translate_media_report",pending:"translate_media_pending_report"}};function $1(_){return y8[_]??{title:"translate_media",pending:"translate_media_pending"}}function Z0(_){return Object.keys({...P6,..._})}function Y1(_,$){let{language:Y,source:Q,context:X,overrides:Z,onError:G}=$,J=_.appendChild(document.createElement("div")),V=Z?.[Y]??P6[Y],K,N=!1;return(V?V(J,Q,X):Promise.reject(Error(`No renderer for ${Y}.`))).then((F)=>{if(N)F();else K=F},(F)=>{if(!N)G(F instanceof Error?F.message:String(F))}),()=>{N=!0,K?.(),J.remove()}}var C8=/^(flowchart|graph|sequenceDiagram|stateDiagram(-v2)?|erDiagram|gantt|pie|classDiagram|journey|timeline|mindmap)$/;function S8(_){let $=_.split(`
191
- `).find((Y)=>/\S/.test(Y)&&!/^\s*%%/.test(Y));return/^\s*(\S+)/.exec($??"")?.[1]??""}function X0(_){return _===void 0||_==="container"}var w8=["row","column","facet"];function O6(_){let $=_.encoding,Y=typeof $==="object"&&$!==null&&w8.some((Q)=>(Q in $));return(("mark"in _)||("layer"in _))&&X0(_.width)&&!Y}function b8(_){let $={..._};if(X0($.width))delete $.width;if(X0($.height))delete $.height;return $}function T8(_,$){let Y=b8(_);if($<=0||!O6(_))return Y;return{...Y,width:$,height:Y.height??Math.round(Math.min(480,Math.max(200,$/2))),autosize:Y.autosize??{type:"fit",contains:"padding"}}}var v8="vg-tooltip-element";function M6(_){let $=_.getRootNode();return _.closest("dialog")??($ instanceof ShadowRoot?M6($.host):null)}var q6=Promise.resolve(),F6=!1,U6=0;function f8(){return U6+=1,U6}function j8(_){if(!_||typeof _!=="object")throw Error("A map needs a JSON object.");let $=_,Y=$.zoom??10;if(typeof Y!=="number"||Y<0||Y>22)throw Error("zoom must be 0 to 22.");let Q=$.markers??[];if(!Array.isArray(Q))throw Error("markers must be a list.");return{center:L6($.center,"center"),zoom:Y,markers:Q.map((X,Z)=>{let G=X??{},J=G.label;return{position:L6(G.position,`markers[${Z}].position`),label:typeof J==="string"?J:void 0}})}}function L6(_,$){let Y=Array.isArray(_)?_:[],[Q,X]=Y;if(typeof Q!=="number"||typeof X!=="number"||Math.abs(Q)>90||Math.abs(X)>180)throw Error(`${$} must be [latitude, longitude].`);return{lat:Q,lng:X}}function G0(_,$){if(_!=="system")return $(_??"light"),()=>{};let Y=window.matchMedia("(prefers-color-scheme: dark)"),Q=()=>$(Y.matches?"dark":"light");return Q(),Y.addEventListener("change",Q),()=>Y.removeEventListener("change",Q)}import g_ from"highlight.js/lib/core";import g8 from"highlight.js/lib/languages/javascript";import m8 from"highlight.js/lib/languages/json";import x8 from"highlight.js/lib/languages/sql";var A6=!1;function h8(){if(A6)return;A6=!0,g_.registerLanguage("javascript",g8),g_.registerLanguage("json",m8),g_.registerLanguage("cypher",x8)}function J0(_,$){if(!_)return"";return h8(),g_.getLanguage($)?g_.highlight(_,{language:$}).value:u8(_)}function u8(_){return _.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function U_(_){if(typeof _==="string"){let $=_.trim();if(!($.startsWith("{")&&$.endsWith("}")||$.startsWith("[")&&$.endsWith("]")))return _;try{return U_(JSON.parse($))}catch{return _}}if(Array.isArray(_))return _.map(($)=>U_($));if(_!==null&&typeof _==="object"){let $={};for(let[Y,Q]of Object.entries(_))$[Y]=U_(Q);return $}return _}function V0(_,$){if(Array.isArray(_)){let Y=_;return{kind:"container",open:"[",close:"]",summary:E6(Y.length,"item","items"),entries:Y.map((Q,X)=>({key:null,value:Q,path:`${$}[${X}]`}))}}if(_!==null&&typeof _==="object"){let Y=Object.entries(_);return{kind:"container",open:"{",close:"}",summary:E6(Y.length,"property","properties"),entries:Y.map(([Q,X])=>({key:Q,value:X,path:`${$}.${Q}`}))}}return{kind:"primitive",text:c8(_),className:p8(_)}}function E6(_,$,Y){return`${_} ${_===1?$:Y}`}function c8(_){if(_===null||_===void 0)return"null";if(typeof _==="string")return JSON.stringify(_);if(typeof _==="number"||typeof _==="boolean")return String(_);return JSON.stringify(_)??"null"}function p8(_){if(_===null||_===void 0)return"cortex-json-tree__null";if(typeof _==="string")return"cortex-json-tree__string";if(typeof _==="number")return"cortex-json-tree__number";if(typeof _==="boolean")return"cortex-json-tree__boolean";return""}function K0(_){if(!_)return null;try{return JSON.parse(_)}catch{return _}}function N0(_){if(!_)return"";try{return JSON.stringify(JSON.parse(_),null,2)}catch{return _}}function a(_,$,Y=Date.now()){let Q=new Date(_);if(Number.isNaN(Q.getTime()))return"";let X=Q.toDateString()===new Date(Y).toDateString();return new Intl.DateTimeFormat($,{...X?{}:{dateStyle:"medium"},timeStyle:"short"}).format(Q)}function m_(_,$){let Y=URL.createObjectURL(_),Q=document.createElement("a");Q.href=Y,Q.download=$,document.body.append(Q),Q.click(),Q.remove(),setTimeout(()=>URL.revokeObjectURL(Y),40000)}class Y_{onUpdate;fullText="";displayedLength=0;animationFrameId=null;isDone=!1;releases=[];static DRAIN_FRACTION=0.03;static MIN_CHARS_PER_FRAME=1;static DONE_DRAIN_FRACTION=0.1;static FADE_WINDOW_MS=500;constructor(_){this.onUpdate=_}seed(_){this.fullText=_,this.displayedLength=_.length,this.releases=[],this.onUpdate(_,[])}update(_,$){if(this.fullText=_,this.isDone=$,this.displayedLength=Math.min(this.displayedLength,this.fullText.length),this.releases=this.releases.filter((Y)=>Y.from<this.displayedLength),$&&this.displayedLength>=this.fullText.length){this.onUpdate(this.fullText,[]),this.stopAnimation();return}if(!this.animationFrameId)this.scheduleFrame()}destroy(){this.stopAnimation()}scheduleFrame(){this.animationFrameId=requestAnimationFrame((_)=>this.tick(_))}tick(_){let $=this.fullText.length-this.displayedLength;if($<=0){this.animationFrameId=null;return}let Y=this.isDone?Y_.DONE_DRAIN_FRACTION:Y_.DRAIN_FRACTION,Q=Math.max(Y_.MIN_CHARS_PER_FRAME,Math.ceil($*Y));if(this.releases=this.releases.filter((X)=>_-X.at<Y_.FADE_WINDOW_MS),this.releases.push({from:this.displayedLength,at:_}),this.displayedLength=Math.min(this.fullText.length,this.displayedLength+Q),this.onUpdate(this.fullText.substring(0,this.displayedLength),this.releases.map((X)=>({length:this.displayedLength-X.from,age:_-X.at}))),this.displayedLength<this.fullText.length)this.scheduleFrame();else this.animationFrameId=null}stopAnimation(){if(this.animationFrameId)cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null}}var z0=new WeakMap;function W0(_,$){let Y=_.closest(".cortex-widget__screen"),Q=Y?.querySelector(".cortex-message-list");if(!Y||!Q||!_.value.trim())return;let X=getComputedStyle(_),Z=_.getBoundingClientRect(),G=(J)=>parseFloat(X[`padding${J}`])+parseFloat(X[`border${J}Width`]);z0.set(Y,{text:$,textarea:_,from:new DOMRect(Z.left+G("Left"),Z.top+G("Top"),Z.width-G("Left")-G("Right"),Z.height-G("Top")-G("Bottom")),rtl:X.direction==="rtl",scrollTop:Q.scrollTop})}function H0(_,$){let Y=_.closest(".cortex-widget__screen"),Q=Y?z0.get(Y):void 0;if(!Y||!Q)return;z0.delete(Y);let X=_.querySelectorAll(":scope > .cortex-message"),Z=X[X.length-1]?.querySelector(".cortex-text-bubble--user"),G=_.closest(".cortex-message-list");if(!Z||!G||Q.text!==$||!Q.textarea.isConnected)return;Z.closest(".cortex-message-part")?.getAnimations().forEach((H)=>H.finish()),Q1(G);let J=Z.getBoundingClientRect(),V=Y.getBoundingClientRect(),K=getComputedStyle(Z),N=parseFloat(K.paddingTop)+parseFloat(K.borderTopWidth),z=Q.rtl?parseFloat(K.paddingRight)+parseFloat(K.borderRightWidth):parseFloat(K.paddingLeft)+parseFloat(K.borderLeftWidth),F=Q.rtl?Q.from.right+z-J.width:Q.from.left-z,B=G.scrollTop-Q.scrollTop;if(B)_.style.setProperty("--cortex-slide",`${B}px`),_.classList.remove("cortex-message-list__content--settling"),_.offsetWidth,_.classList.add("cortex-message-list__content--settling"),_.getAnimations()[0]?.finished.then(()=>_.classList.remove("cortex-message-list__content--settling"),()=>{return});let q=Z.cloneNode(!0);q.classList.add("cortex-send-flight"),q.setAttribute("aria-hidden","true"),Object.assign(q.style,{left:`${J.left-V.left}px`,top:`${J.top-V.top}px`,width:`${J.width}px`}),q.style.setProperty("--cortex-fly-x",`${F-J.left}px`),q.style.setProperty("--cortex-fly-y",`${Q.from.top-N-J.top}px`),Z.style.visibility="hidden",Y.append(q);let P=G.scrollTop,O=()=>{q.style.top=`${J.top-V.top-(G.scrollTop-P)}px`};G.addEventListener("scroll",O,{passive:!0}),I6(q).then(()=>{G.removeEventListener("scroll",O),Z.style.visibility="",q.remove()})}function Q1(_){_.scrollTop=R6(_)}function D0(_){return R6(_)-_.scrollTop}function R6(_){let $=_.querySelector(".cortex-message-list__content");if(!$)return _.scrollHeight-_.clientHeight;let Y=getComputedStyle(_);return $.offsetHeight+parseFloat(Y.paddingTop)+parseFloat(Y.paddingBottom)-_.clientHeight}function B0(_){let $=!1,Y=_.parentElement,Q=typeof ResizeObserver>"u"?void 0:new ResizeObserver(X);Q?.observe(Y);function X(){let Z=Y.querySelector(":scope > .cortex-working-thinking, :scope > .cortex-message > .cortex-message-parts > [data-cortex-frontier]");if(!Z)return!1;return _.style.setProperty("--cortex-avatar-y",`${d8(Z,Y)-_.offsetHeight/2}px`),!0}return{sync(Z){if(Z===$){if(Z)X();return}if(Z){if(!X())return;_.classList.remove("cortex-working-avatar--leaving"),_.offsetWidth,_.classList.add("cortex-working-avatar--shown"),$=!0;return}$=!1,_.classList.add("cortex-working-avatar--leaving"),I6(_,!0).then(()=>{if($)return;_.classList.remove("cortex-working-avatar--shown","cortex-working-avatar--leaving")})},dispose(){Q?.disconnect()}}}function d8(_,$){let Y=_.querySelector(".cortex-text-bubble");if(!Y)return k6(_,$)+_.offsetHeight/2;let Q=getComputedStyle(Y);return k6(Y,$)+parseFloat(Q.paddingTop)+parseFloat(Q.borderTopWidth)+parseFloat(Q.lineHeight)/2}function k6(_,$){let Y=0;for(let Q=_;Q instanceof HTMLElement&&Q!==$;)Y+=Q.offsetTop,Q=Q.offsetParent;return Y}function I6(_,$=!1){return Promise.allSettled(_.getAnimations({subtree:$}).map((Y)=>Y.finished))}var l8=2;function q0(_){let $=!1,Y=!1,Q=!1,X=!1,Z=!1,G=!1,J,V=new Set,K=0,N=!1;function z(){if($&&K===0)return!1;if(K+=1,!$)$=!0,_.setRunning(!0);return!0}function F(H){if(K-=1,H)N=!0;else if(K===0&&!N)$=!1,_.setRunning(!1)}async function B(H,D){for(let W=0;W<l8;W+=1){let M=await _.refreshMessages().catch(()=>{return});if(!_.isAlive())return!1;if(!M)continue;if(!$_(M).some((k)=>k.id===H.id))return!0;if(await _.deliver(D).then(()=>!0,()=>!1))return!0}return!1}async function q(H,D){let W;try{let i=D({toolCallId:H.id,toolName:H.name,input:H.input},{threadId:_.threadId});if(i===null||i===void 0)return;W=await Promise.resolve(i)}catch{V.delete(H.id);return}if(W===null||W===void 0)return;if(!_.isAlive())return;let M=z(),A={toolCallId:H.id,tool:H.name,output:W},k=await _.deliver(A).then(()=>!0,()=>B(H,A));if(M)F(k);if(!k)V.delete(H.id)}function P(H){let D=$_(H),W=_.onToolCall();if(!W)return D.length>0;for(let M of D){if(M.state!=="input-complete"||V.has(M.id))continue;V.add(M.id),q(M,W)}return D.length>0}async function O(H){let D=X;if(X=!1,!D&&$){if(P(H()))return;if(Q)_.reloadThreads().catch(()=>{});else _.setRunning(!1)}if(J===void 0&&(G||D))return;J=void 0;let W=await _.refreshMessages();if(!D&&$&&W)P(W)}return{chunkArrived(){Y=!0},transcriptCarried(H){if(G=!0,J!==void 0&&J<=H)J=void 0},transcriptUpdated(H){if(!Z){_.refreshMessages();return}J=Math.max(J??0,Date.parse(H))},streamFailed(){if(Q=!0,Y)_.onTurnFinished();else _.onSendFailed()},loadingChanged(H,D){if(H){Z=!0,Q=!1,G=!1;return}if(!Z)return;Z=!1,_.onTurnFinished(),O(D)},hydrated(H,D){if(D)return;setTimeout(()=>{if(_.isAlive())P(H)},0)},sendStarted(){_.setRunning(!0),$=!0,Y=!1},abortConfirmed(){X=!0,_.setRunning(!1)}}}function x_(_){if(_.input.total<=0)return null;return Math.round(_.input.cacheRead/_.input.total*100)}import{createContext as y6,useContext as C6}from"react";var F0=y6(void 0);function L(){let _=C6(F0);if(!_)throw Error("useCortex must be used inside <CortexChatWidget>");return _}var U0={messages:[],isAgentWorking:!1,isLoadingMessages:!1,hasPendingToolCalls:!1},L0=y6(U0);function L_(){return C6(L0)}import{useEffect as i8,useState as n8}from"react";function S6(_,$){let[Y,Q]=n8();return i8(()=>{return Q(void 0),r1(_,Q)},[_,$]),Y}import{useRef as $4}from"react";import{useRef as r8,useState as a8,useSyncExternalStore as o8}from"react";function w6(_,$){let Y=r8($);Y.current=$;let[Q]=a8(()=>v1({api:_,ensureThread:()=>Y.current()})),X=o8(Q.subscribe,Q.getState,Q.getState);return{store:Q,value:{items:X,...f1(X),accept:Q.accept,remove:Q.remove,consumeReady:Q.consumeReady}}}import{useEffect as s8,useRef as t8}from"react";function b6(_,$){let Y=t8(void 0);s8(()=>{if($===Y.current)return;_.clear(Y.current),Y.current=$},[$,_])}import{useRef as T6}from"react";function v6(_){let $=T6([]),Y=T6(void 0);function Q(){let Z=_.selectedRef.current;if(Z)return Promise.resolve(Z.id);return Y.current??=_.api.createThread().then((G)=>{return Y.current=void 0,_.onCreated(G),G.id},(G)=>{throw Y.current=void 0,G}),Y.current}async function X(Z,G=[]){let J=_.sessionRef.current;if(J){await J.send(Z,G);return}$.current.push({prompt:Z,attachments:G});try{await Q()}catch(V){throw $.current=[],V}}return{ensureThread:Q,send:X,pendingSendRef:$}}import{useRef as e8,useState as _4}from"react";function f6(_){let[$,Y]=_4(),Q=$?.thread,X=Q?_.threads?.find((K)=>K.id===Q.id)??Q:void 0,Z=e8(X);Z.current=X;function G(K,N){if(Z.current?.id===K.id&&_.hasSession())return;let z=Z.current;if(Z.current=K,Y({thread:K,mode:N,epoch:0}),z&&z.id!==K.id)_.getHooks()?.onThreadDeselected?.(z);_.getHooks()?.onThreadSelected?.(K)}function J(){let K=Z.current;if(!K&&!_.hasSession())return;if(Z.current=void 0,Y(void 0),K)_.getHooks()?.onThreadDeselected?.(K)}function V(K,N){Y((z)=>({thread:K,mode:"reload",epoch:(z?.epoch??0)+1,initialMessages:N}))}return{session:$,selected:X,selectedRef:Z,select:G,deselect:J,remount:V}}function j6(_){let{api:$,threads:Y}=_,Q=$4(void 0),X=f6({threads:Y.threads,getHooks:_.getHooks,hasSession:()=>Q.current!==void 0}),Z=v6({api:$,sessionRef:Q,selectedRef:X.selectedRef,onCreated:(K)=>{Y.upsert(K),X.select(K,"skip")}}),G=w6($,Z.ensureThread);b6(G.store,X.selected?.id);async function J(K){if(X.selectedRef.current?.id===K)X.deselect();await Y.remove(K)}function V(K){X.select(K,"load")}return{sessionRef:Q,selection:X,queue:G,deleteThread:J,openThread:V,...Z}}import{useEffect as Y4,useRef as Q4}from"react";function g6(_){let $=Q4(_);$.current=_,Y4(()=>{$.current.onMount();let Y=!1,Q=n1({getConfig:()=>$.current.getConfig(),onEvent:(X)=>$.current.onEvent(X),onOpen:()=>{if(Y)$.current.onReconnect();Y=!0}});return()=>Q.close()},[])}function m6(_){let{threads:$,selectedRef:Y,sessionRef:Q}=_;function X(G){$.applyEvent(G);let J=Y.current?.id;switch(G.type){case"thread:deleted":if(J===G.payload.threadId)_.deselect();break;case"thread:run-started":if(J===G.payload.thread.id)Q.current?.reattach(G.payload.thread);break;case"thread:messages-updated":Q.current?.transcriptUpdated(G.payload.thread.id,G.payload.thread.updatedAt);break}}function Z(){_.onReconnect(),$.reload().then((G)=>{let J=Y.current;if(!J)return;Q.current?.reattach(G.find((V)=>V.id===J.id)??J)})}return{onEvent:X,onReconnect:Z}}function x6(_){return{abort:async()=>{await _.current?.abort()},addToolResult:($,Y,Q)=>_.current?.addToolResult($,Y,Q)??Promise.resolve(),respondToApproval:($,Y)=>_.current?.respondToApproval($,Y)??Promise.resolve()}}import{useState as X4}from"react";function h6(_){let[$,Y]=X4();async function Q(){let V=t_(await _.listThreads());return Y(V),V}function X(V){Y((K)=>T_(K??[],V))}function Z(V,K){Y((N)=>{let z=N?.find((F)=>F.id===V);return z?T_(N??[],{...z,isRunning:K}):N})}async function G(V){await _.deleteThread(V),Y((K)=>K?e_(K,V):K)}function J(V){Y((K)=>{let N=a1(K??[],V);return K||N.length?N:K})}return{threads:$,reload:Q,upsert:X,setRunning:Z,remove:G,applyEvent:J}}import{useState as u6}from"react";function c6(_){let[$,Y]=u6("chat"),[Q,X]=u6(!1);return{screen:$,sidebarOpen:Q,showChat:()=>{Y("chat"),X(!1)},openHistory:()=>_==="full"?X(!0):Y("threads"),closeHistory:()=>_==="full"?X(!1):Y("chat"),closeSidebar:()=>X(!1)}}import{forwardRef as z4,useEffect as W4,useImperativeHandle as H4,useRef as r6,useState as D4}from"react";function U(..._){return _.filter(Boolean).join(" ")}import{useState as Z4}from"react";function p6(_,$){let[Y,Q]=Z4(!1);return{dragging:Y,onDragOver:(X)=>{if(X.preventDefault(),_)Q(!0)},onDragLeave:(X)=>{if(!X.currentTarget.contains(X.relatedTarget))Q(!1)},onDrop:(X)=>{if(X.preventDefault(),Q(!1),_)$([...X.dataTransfer.files])},onPaste:(X)=>{let Z=X.clipboardData.files;if(!_||!Z.length)return;X.preventDefault(),$([...Z])}}}var w={bubble:"M13.5 7.6c0 2.4-2.5 4.4-5.5 4.4-.6 0-1.2-.08-1.7-.23L3 13l.8-2.3C3 9.8 2.5 8.7 2.5 7.6 2.5 5.2 5 3.2 8 3.2s5.5 2 5.5 4.4Z",chevronDown:"M3 4.5L6 7.5L9 4.5",chevronDownLarge:"m5.75 8.25 4.25 4.25 4.25-4.25",file:["M4 1.5h5.172a2 2 0 0 1 1.414.586l2.328 2.328a2 2 0 0 1 .586 1.414V12.5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2Z","M9.5 1.5v2a2 2 0 0 0 2 2h2"]};import{jsx as o,jsxs as P0}from"react/jsx-runtime";function d6(){let{queue:_,t:$}=L();if(!_.items.length)return null;return o("div",{className:"cortex-attachment-queue",children:_.items.map((Y)=>P0("div",{className:U("cortex-attachment-chip",Y.status==="error"&&"cortex-attachment-chip--error"),title:Y.status==="error"?$("translate_attachment_rejected"):"",children:[Y.status==="uploading"||Y.status==="deleting"?P0("svg",{className:"cortex-attachment-chip__spinner",viewBox:"0 0 16 16",fill:"none",children:[o("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"2",className:"cortex-attachment-chip__spinner-track"}),o("path",{d:"M14 8a6 6 0 0 0-6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):P0("svg",{viewBox:"0 0 16 16",className:"cortex-attachment-chip__icon",fill:"none",children:[o("path",{d:w.file[0],stroke:"currentColor",strokeWidth:"1.25"}),o("path",{d:w.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),o("span",{className:"cortex-attachment-chip__name",children:Y.filename}),o("button",{type:"button",onClick:()=>_.remove(Y.localId),className:"cortex-attachment-chip__remove",disabled:Y.status==="deleting","aria-label":$("translate_remove_attachment"),children:o("svg",{viewBox:"0 0 16 16",fill:"none",children:o("path",{d:"M4.5 4.5l7 7m0-7l-7 7",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]},Y.localId))})}import{useRef as G4}from"react";import{jsx as J_,jsxs as l6,Fragment as V4}from"react/jsx-runtime";var J4=q1.join(",");function i6({attachmentsEnabled:_,canSend:$,onSend:Y}){let{t:Q,queue:X}=L(),Z=G4(null);return l6("div",{className:"cortex-widget__input-actions",children:[_&&l6(V4,{children:[J_("button",{type:"button",onClick:()=>Z.current?.click(),className:"cortex-widget__attach-btn","aria-label":Q("translate_attach_files"),children:J_("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:J_("path",{d:"M10.5 5.5 6.2 9.8a1.4 1.4 0 0 0 2 2l4.6-4.6a2.8 2.8 0 0 0-4-4L4.2 7.8a4.2 4.2 0 0 0 6 6l4-4",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),J_("input",{ref:Z,type:"file",multiple:!0,accept:J4,onChange:(G)=>{X.accept([...G.target.files??[]]),G.target.value=""},className:"cortex-widget__file-input"})]}),J_("button",{onClick:Y,"aria-label":Q("translate_send"),className:U("cortex-widget__send-btn",!$&&"cortex-widget__send-btn--empty",$&&"cortex-widget__send-btn--ready"),disabled:!$,children:J_("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__send-icon",children:J_("path",{d:"M3 8h10M9 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]})}import{useLayoutEffect as K4}from"react";import{jsx as N4}from"react/jsx-runtime";function n6(_){let{t:$}=L();K4(()=>{let Q=_.inputRef.current;if(!Q)return;Q.style.height="0px",Q.style.height=`${Q.scrollHeight}px`},[_.inputRef,_.value]);function Y(Q){if(Q.key==="Enter"&&!Q.shiftKey)Q.preventDefault(),_.onSubmit()}return N4("textarea",{ref:_.inputRef,onKeyDown:Y,onPaste:_.onPaste,value:_.value,onChange:(Q)=>_.onChange(Q.target.value),placeholder:_.dragging?$("translate_drop_files_here"):_.disabled?"":$("translate_type_a_message"),disabled:_.disabled,rows:1,className:U("cortex-widget__textarea",_.disabled&&"cortex-widget__textarea--disabled")})}import{jsx as P_,jsxs as O0}from"react/jsx-runtime";var a6=z4(function($,Y){let{t:Q,queue:X,send:Z,abort:G,capabilities:J}=L(),{isAgentWorking:V}=L_(),K=J?.attachments??!1,[N,z]=D4(""),F=p6(K,X.accept),B=r6(null);H4(Y,()=>({focusInput:()=>B.current?.focus()}));let q=r6(V);W4(()=>{if(q.current&&!V)B.current?.focus();q.current=V},[V]);let P=!X.busy&&(Boolean(N.trim())||X.hasReady);function O(){if(V||!P)return;let H=N.trim()||Q("translate_attachment_caption"),D=X.consumeReady();if(B.current)W0(B.current,H);z(""),Z(H,D.map((W)=>W.summary))}return O0("div",{className:"cortex-widget__input-area",onDragOver:F.onDragOver,onDragLeave:F.onDragLeave,onDrop:F.onDrop,children:[P_(d6,{}),O0("div",{className:U("cortex-widget__input-box",V&&"cortex-widget__input-box--disabled",!V&&"cortex-widget__input-box--enabled",F.dragging&&"cortex-widget__input-box--dragging"),children:[P_(n6,{inputRef:B,value:N,onChange:z,onSubmit:O,onPaste:F.onPaste,disabled:V,dragging:F.dragging}),V?O0("button",{onClick:()=>void G(),className:"cortex-stop-btn",children:[P_("span",{className:"cortex-stop-btn__ring"}),P_("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"cortex-stop-btn__icon",children:P_("rect",{x:"1",y:"1",width:"10",height:"10",rx:"2.5",fill:"currentColor"})})]}):P_(i6,{attachmentsEnabled:K,canSend:P,onSend:O})]})]})});import{jsx as o6}from"react/jsx-runtime";function X1({capabilities:_,composerRef:$}){let{t:Y}=L();if(_===void 0)return null;return _.messages===!1?o6("p",{className:"cortex-widget__messages-disabled",children:Y("translate_messages_disabled")}):o6(a6,{ref:$})}import{jsx as v,jsxs as Z1}from"react/jsx-runtime";function s6(_){let{t:$}=L(),Y=v("button",{type:"button",onClick:_.newChat,"aria-label":$("translate_new_chat"),title:$("translate_new_chat"),className:"cortex-widget__header-btn cortex-widget__new-btn",children:v("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:v("path",{d:"M8 3v10M3 8h10",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})});if(_.screen==="threads")return Z1("div",{className:"cortex-widget__threads-header",children:[v("button",{type:"button",onClick:_.closeHistory,"aria-label":$("translate_back"),className:"cortex-widget__header-btn cortex-widget__back-btn",children:v("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"cortex-widget__back-icon",children:v("path",{d:"M10 3L5 8l5 5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),Z1("div",{children:[v("h2",{className:"cortex-widget__threads-title",children:$("translate_history")}),v("p",{className:"cortex-widget__threads-count",children:$(C_(_.threadCount,"translate_one_conversation","translate_n_conversations"),{count:_.threadCount})})]}),Y]});return Z1("div",{className:"cortex-widget__chat-header",children:[v("button",{onClick:_.openHistory,className:"cortex-widget__sidebar-toggle-btn",children:v("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:v("path",{d:"M2.5 4h11M2.5 8h11M2.5 12h11",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),v("div",{className:"cortex-widget__chat-title-wrap",children:v("p",{className:"cortex-widget__chat-title",children:_.title??_.agentName??$("translate_new_chat")})}),_.debug.shown&&v("button",{onClick:_.toggleDebug,className:U("cortex-widget__debug-btn",_.debug.on?"cortex-widget__debug-btn--on":"cortex-widget__debug-btn--off"),children:_.debug.on?$("translate_debug"):$("translate_normal")}),Y,v("button",{type:"button",onClick:_.openHistory,"aria-label":$("translate_history"),title:$("translate_history"),className:"cortex-widget__header-btn cortex-widget__history-btn",children:Z1("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[v("circle",{cx:"8",cy:"8",r:"5.75",stroke:"currentColor",strokeWidth:"1.3"}),v("path",{d:"M8 5v3l2 1.5",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})]})})]})}import{jsx as s,jsxs as t6}from"react/jsx-runtime";function e6(_){let{locale:$,t:Y}=L();return t6("div",{className:"cortex-widget__landing",children:[s("div",{className:"cortex-widget__landing-icon",children:s("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",children:s("path",{d:w.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),s("p",{className:"cortex-widget__landing-greeting",children:_.greeting}),!!_.suggestions.length&&s("div",{className:"cortex-widget__landing-chips",children:_.suggestions.map((Q,X)=>s("button",{type:"button",onClick:()=>_.send(Q.prompt),className:"cortex-widget__landing-chip",children:Q.title},X))}),_.composer,!!_.threads?.length&&s("div",{className:"cortex-widget__landing-recent",children:_.threads.slice(0,2).map((Q)=>{let X=a(Q.updatedAt,$);return t6("button",{type:"button",onClick:()=>_.openThread(Q),className:"cortex-widget__landing-recent-item",children:[s("p",{className:"cortex-widget__landing-recent-title",children:Q.title??Y("translate_untitled")}),X&&s("p",{className:"cortex-widget__landing-recent-time",children:X})]},Q.id)})})]})}import{useCallback as n_,useEffect as y0,useLayoutEffect as C0,useMemo as $7,useRef as W_,useState as S0}from"react";import{memo as e4}from"react";import{Fragment as o4}from"react";import{useRef as B4,useState as q4}from"react";import{jsx as O_,jsxs as F4}from"react/jsx-runtime";function h({value:_,className:$}){let{t:Y}=L(),[Q,X]=q4(!1),Z=B4(null);async function G(J){J.stopPropagation(),J.preventDefault();try{if(await navigator.clipboard.writeText(_),X(!0),Z.current)clearTimeout(Z.current);Z.current=setTimeout(()=>X(!1),1500)}catch{}}return O_("span",{className:U("cortex-copy-btn",$),children:O_("button",{className:U("cortex-copy-btn__button",Q&&"cortex-copy-btn__button--copied"),onClick:(J)=>void G(J),"aria-label":Q?Y("translate_copied"):Y("translate_copy"),type:"button",children:Q?O_("svg",{className:"cortex-copy-btn__icon cortex-copy-btn__icon--check",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:O_("path",{d:"M5 13l4 4L19 7",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}):F4("svg",{className:"cortex-copy-btn__icon",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:[O_("rect",{x:"9",y:"9",width:"12",height:"12",rx:"2",stroke:"currentColor",strokeWidth:"2"}),O_("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]})})})}import{jsx as G1,jsxs as _2}from"react/jsx-runtime";function $2(){let{t:_}=L();return _2("div",{className:"cortex-aborted-flag",children:[G1("span",{className:"cortex-aborted-flag__line"}),_2("span",{className:"cortex-aborted-flag__label",children:[G1("svg",{className:"cortex-aborted-flag__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:G1("path",{d:"M6 1.5v5M6 8.75v.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})}),_("translate_aborted")]}),G1("span",{className:"cortex-aborted-flag__line"})]})}import{jsx as M_,jsxs as Y2}from"react/jsx-runtime";function Q2(_){let{api:$,t:Y}=L();async function Q(X){let{blob:Z,name:G}=await $.downloadAttachment(X);m_(Z,G)}return M_("div",{className:U("cortex-message-attachments",_.isUser&&"cortex-message-attachments--user"),children:_.attachments.map((X)=>Y2("button",{type:"button",onClick:()=>void Q(X.id),className:"cortex-message-attachment","aria-label":`${Y("translate_download")}: ${X.filename}`,children:[Y2("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__icon",fill:"none",children:[M_("path",{d:w.file[0],stroke:"currentColor",strokeWidth:"1.25"}),M_("path",{d:w.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),M_("span",{className:"cortex-message-attachment__name",children:X.filename}),M_("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__dl-icon",fill:"none",children:M_("path",{d:"M8 3v7m0 0L5.5 7.5M8 10l2.5-2.5M3 13h10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},X.id))})}import{useRef as P4,useState as h_}from"react";import{useMemo as U4,useState as L4}from"react";import{jsx as x,jsxs as V_,Fragment as J1}from"react/jsx-runtime";function Q_({data:_,expandDepth:$,className:Y}){let Q=U4(()=>U_(_),[_]),[X,Z]=L4({});function G(V,K){return X[V]??K>=$}function J(V,K){Z((N)=>({...N,[V]:!G(V,K)}))}return x("div",{className:U("cortex-json-tree",Y),children:x(X2,{value:Q,path:"$",depth:0,isCollapsed:G,toggle:J})})}function X2({value:_,path:$,depth:Y,isCollapsed:Q,toggle:X}){let Z=V0(_,$);if(Z.kind==="primitive")return x("span",{className:Z.className,children:Z.text});if(Z.entries.length===0)return V_("span",{className:"cortex-json-tree__bracket",children:[Z.open,Z.close]});let G=Q($,Y);function J(V){X($,Y),V.stopPropagation()}return V_(J1,{children:[V_("span",{className:"cortex-json-tree__toggle",onClick:J,role:"button",children:[x("span",{className:U("cortex-json-tree__arrow",G&&"cortex-json-tree__arrow--collapsed"),children:"▾"}),x("span",{className:"cortex-json-tree__bracket",children:Z.open})]}),G?V_(J1,{children:[x("span",{className:"cortex-json-tree__collapsed-hint",onClick:J,role:"button",children:Z.summary}),x("span",{className:"cortex-json-tree__bracket",children:Z.close})]}):V_(J1,{children:[x("div",{className:"cortex-json-tree__indent",children:Z.entries.map((V,K)=>V_("div",{className:"cortex-json-tree__line",children:[V.key!==null&&V_(J1,{children:[x("span",{className:"cortex-json-tree__key",children:`"${V.key}"`}),x("span",{className:"cortex-json-tree__colon",children:": "})]}),x(X2,{value:V.value,path:V.path,depth:Y+1,isCollapsed:Q,toggle:X}),K<Z.entries.length-1&&x("span",{className:"cortex-json-tree__comma",children:","})]},V.path))}),x("span",{className:"cortex-json-tree__bracket",children:Z.close})]})]})}function R(_){return _.toLocaleString("en-US")}import{jsx as A_,jsxs as E_}from"react/jsx-runtime";function Z2({usage:_}){let{t:$}=L();return E_("div",{className:"cortex-llm-inspector__usage-rows",children:[E_("div",{className:"cortex-llm-inspector__usage-row",children:[A_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_input")}),A_("span",{className:"cortex-llm-inspector__usage-val",children:R(_.input.total)}),E_("span",{className:"cortex-llm-inspector__usage-detail",children:[$("translate_fresh")," ",R(_.input.noCache)," · ",$("translate_read")," ",R(_.input.cacheRead)," · ",$("translate_write")," ",R(_.input.cacheWrite)]})]}),E_("div",{className:"cortex-llm-inspector__usage-row",children:[A_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_output")}),A_("span",{className:"cortex-llm-inspector__usage-val",children:R(_.output.total)}),E_("span",{className:"cortex-llm-inspector__usage-detail",children:[$("translate_text")," ",R(_.output.text)," · ",$("translate_reasoning")," ",R(_.output.reasoning)]})]}),E_("div",{className:"cortex-llm-inspector__usage-row cortex-llm-inspector__usage-row--total",children:[A_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_total")}),A_("span",{className:"cortex-llm-inspector__usage-val",children:R(_.total)})]})]})}import{jsx as G2,jsxs as V1}from"react/jsx-runtime";function J2({usage:_}){let $=x_(_);return V1("span",{className:"cortex-llm-inspector__step-metrics",children:[V1("span",{className:"cortex-llm-inspector__metric",children:[G2("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--input"}),R(_.input.total)]}),V1("span",{className:"cortex-llm-inspector__metric",children:[G2("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--output"}),R(_.output.total)]}),$!==null&&V1("span",{className:"cortex-llm-inspector__cache-pct",children:[$,"%"]})]})}import{jsx as y,jsxs as X_}from"react/jsx-runtime";function V2({messageId:_}){let{t:$,api:Y}=L(),[Q,X]=h_(!1),[Z,G]=h_(!1),[J,V]=h_([]),[K,N]=h_(null),[z,F]=h_({}),B=P4(!1);async function q(){if(!B.current){G(!0);try{V(await Y.listLlmRequests(_))}finally{G(!1),B.current=!0}}X((W)=>!W)}function P(W){N((M)=>M===W?null:W)}function O(W){return z[W]??"prompt"}function H(W,M){F((A)=>({...A,[W]:M}))}function D(W){return O(W.id)==="prompt"?W.prompt:W.output}return X_("div",{className:U("cortex-llm-inspector",Q&&"cortex-llm-inspector--open"),children:[X_("button",{className:"cortex-llm-inspector__trigger",onClick:()=>void q(),children:[y("svg",{className:"cortex-llm-inspector__icon",width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:y("path",{d:"M6 2a4 4 0 1 0 0 8 4 4 0 0 0 0-8ZM0 6a6 6 0 1 1 10.89 3.477l4.817 4.816a1 1 0 0 1-1.414 1.414l-4.816-4.816A6 6 0 0 1 0 6Z",fill:"currentColor"})}),y("span",{children:$("translate_inspect_llm_requests")}),Z?y("span",{className:"cortex-llm-inspector__loading",children:$("translate_loading")}):J.length>0?y("span",{className:"cortex-llm-inspector__badge",children:J.length}):null,y("svg",{className:"cortex-llm-inspector__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:y("path",{d:w.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),y("div",{className:"cortex-llm-inspector__panel-wrapper",children:y("div",{className:"cortex-llm-inspector__panel-inner",children:X_("div",{className:"cortex-llm-inspector__panel",children:[J.length===0&&!Z&&y("div",{className:"cortex-llm-inspector__empty",children:$("translate_no_llm_requests")}),J.map((W,M)=>X_("div",{className:U("cortex-llm-inspector__step",K===W.id&&"cortex-llm-inspector__step--expanded"),children:[X_("button",{className:"cortex-llm-inspector__step-header",onClick:()=>P(W.id),children:[y("span",{className:"cortex-llm-inspector__step-label",children:$("translate_step_n",{number:M+1})}),W.tokenUsage&&y(J2,{usage:W.tokenUsage}),y("svg",{className:"cortex-llm-inspector__step-chevron",width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",children:y("path",{d:w.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),y("div",{className:"cortex-llm-inspector__step-body-wrapper",children:y("div",{className:"cortex-llm-inspector__step-body-inner",children:X_("div",{className:"cortex-llm-inspector__step-body",children:[W.tokenUsage&&y(Z2,{usage:W.tokenUsage}),X_("div",{className:"cortex-llm-inspector__tabs",children:[y("button",{className:U("cortex-llm-inspector__tab",O(W.id)==="prompt"&&"cortex-llm-inspector__tab--active"),onClick:()=>H(W.id,"prompt"),children:$("translate_request")}),y("button",{className:U("cortex-llm-inspector__tab",O(W.id)==="response"&&"cortex-llm-inspector__tab--active"),onClick:()=>H(W.id,"response"),children:$("translate_response")})]}),X_("div",{className:"cortex-llm-inspector__json-pane",children:[y(h,{className:"cortex-llm-inspector__json-copy",value:N0(D(W))}),y(Q_,{data:K0(D(W)),expandDepth:2})]})]})})})]},W.id))]})})})]})}import{useState as O4}from"react";import{jsx as E,jsxs as b}from"react/jsx-runtime";function K2({usage:_,modelId:$}){let{t:Y}=L(),[Q,X]=O4(!1),Z=x_(_)??0;return b("div",{className:U("cortex-token-usage",Q&&"cortex-token-usage--expanded"),children:[b("button",{className:"cortex-token-usage__summary",onClick:()=>X((G)=>!G),children:[b("span",{className:"cortex-token-usage__total",children:[E("span",{className:"cortex-token-usage__total-number",children:R(_.total)}),E("span",{className:"cortex-token-usage__total-label",children:Y("translate_tokens")})]}),$?E("span",{className:"cortex-token-usage__model",children:$}):null,b("span",{className:"cortex-token-usage__pills",children:[b("span",{className:"cortex-token-usage__pill",children:[E("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),R(_.input.total)]}),b("span",{className:"cortex-token-usage__pill",children:[E("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),R(_.output.total)]})]}),Z>0&&b("span",{className:"cortex-token-usage__cache-badge",children:[Z,"%"]}),E("svg",{className:"cortex-token-usage__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:E("path",{d:w.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),E("div",{className:"cortex-token-usage__details",children:E("div",{className:"cortex-token-usage__details-inner",children:b("div",{className:"cortex-token-usage__columns",children:[b("div",{className:"cortex-token-usage__col",children:[b("div",{className:"cortex-token-usage__col-header",children:[E("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),E("span",{className:"cortex-token-usage__col-label",children:Y("translate_input")}),E("span",{className:"cortex-token-usage__col-total",children:R(_.input.total)})]}),b("div",{className:"cortex-token-usage__rows",children:[_.input.noCache?b("div",{className:"cortex-token-usage__row",children:[E("span",{className:"cortex-token-usage__row-label",children:Y("translate_fresh")}),E("span",{className:"cortex-token-usage__row-value",children:R(_.input.noCache)})]}):null,_.input.cacheRead?b("div",{className:"cortex-token-usage__row",children:[E("span",{className:"cortex-token-usage__row-label",children:Y("translate_cache_read")}),E("span",{className:"cortex-token-usage__row-value",children:R(_.input.cacheRead)})]}):null,_.input.cacheWrite?b("div",{className:"cortex-token-usage__row",children:[E("span",{className:"cortex-token-usage__row-label",children:Y("translate_cache_write")}),E("span",{className:"cortex-token-usage__row-value",children:R(_.input.cacheWrite)})]}):null]}),Z>0&&b("div",{className:"cortex-token-usage__cache-bar-row",children:[E("div",{className:"cortex-token-usage__cache-bar",children:E("div",{className:"cortex-token-usage__cache-fill",style:{width:`${Z}%`}})}),E("span",{className:"cortex-token-usage__cache-label",children:Y("translate_n_percent_cached",{percent:Z})})]})]}),b("div",{className:"cortex-token-usage__col",children:[b("div",{className:"cortex-token-usage__col-header",children:[E("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),E("span",{className:"cortex-token-usage__col-label",children:Y("translate_output")}),E("span",{className:"cortex-token-usage__col-total",children:R(_.output.total)})]}),b("div",{className:"cortex-token-usage__rows",children:[_.output.text?b("div",{className:"cortex-token-usage__row",children:[E("span",{className:"cortex-token-usage__row-label",children:Y("translate_text")}),E("span",{className:"cortex-token-usage__row-value",children:R(_.output.text)})]}):null,_.output.reasoning?b("div",{className:"cortex-token-usage__row",children:[E("span",{className:"cortex-token-usage__row-label",children:Y("translate_reasoning")}),E("span",{className:"cortex-token-usage__row-value",children:R(_.output.reasoning)})]}):null]})]})]})})})]})}import{jsx as N2,jsxs as M4}from"react/jsx-runtime";function z2({messageId:_,isAssistant:$,metadata:Y}){let{tokenUsage:Q}=Y;if(!Q&&!$)return null;return M4("div",{className:"cortex-message-debug-zone",children:[Q&&N2(K2,{usage:Q,modelId:Y.modelId}),$&&N2(V2,{messageId:_})]})}import{jsx as u,jsxs as u_}from"react/jsx-runtime";function W2(_){let{reasoningPart:$,streaming:Y=!1}=_,{t:Q}=L();return u_("details",{className:"cortex-reasoning-details",children:[u_("summary",{className:"cortex-reasoning-details__summary",children:[u_("div",{className:"cortex-reasoning-details__header",children:[u("span",{className:"cortex-reasoning-details__icon",children:u_("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:[u("path",{d:"M10 2C6.686 2 4 4.686 4 8c0 1.655.672 3.154 1.757 4.243.362.363.576.858.576 1.371V14.5a1 1 0 0 0 1 1h5.334a1 1 0 0 0 1-1v-.886c0-.513.214-1.008.576-1.371A5.978 5.978 0 0 0 16 8c0-3.314-2.686-6-6-6Z",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}),u("path",{d:"M7.5 17.5h5M8.5 8a2 2 0 0 1 2-2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})]})}),u("div",{className:"cortex-reasoning-details__title-group",children:u_("div",{className:"cortex-reasoning-details__title-row",children:[u("div",{className:"cortex-reasoning-details__title",children:Q("translate_reasoning")}),u("span",{className:U("cortex-reasoning-details__badge",Y?"cortex-reasoning-details__badge--streaming":"cortex-reasoning-details__badge--done"),children:Y?Q("translate_streaming"):Q("translate_done")})]})})]}),u("span",{className:"cortex-reasoning-details__chevron","aria-hidden":"true",children:u("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:u("path",{d:w.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),u("div",{className:"cortex-reasoning-details__body",children:u("div",{className:"cortex-reasoning-details__content",children:u("pre",{className:"cortex-reasoning-details__pre",children:$.content.trim()?$.content:Q("translate_no_reasoning")})})})]})}import{useEffect as L2,useMemo as f4,useRef as A0,useState as j4}from"react";import{useEffect as k4,useState as H2}from"react";import{useRef as A4,useState as E4}from"react";import{jsx as t,jsxs as K1}from"react/jsx-runtime";function k_(_){let{label:$,ready:Y=!0,actions:Q,expanded:X,children:Z}=_,{t:G}=L(),J=A4(null),[V,K]=E4(!1);return K1("div",{className:"cortex-expandable",children:[Y&&K1("div",{className:"cortex-expandable__toolbar",role:"group","aria-label":$,children:[Q,t("button",{type:"button",className:"cortex-expandable__action","aria-label":G("translate_expand",{name:$}),title:G("translate_expand",{name:$}),onClick:()=>{K(!0),J.current?.showModal()},children:t("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:t("path",{d:"M9.5 2.5h4v4M6.5 13.5h-4v-4M13.5 2.5 9 7M2.5 13.5 7 9",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),t("div",{className:"cortex-expandable__content",children:Z}),K1("dialog",{ref:J,className:"cortex-expandable__dialog","aria-label":$,closedby:"any",onClose:()=>K(!1),children:[K1("div",{className:"cortex-expandable__head",children:[t("span",{className:"cortex-expandable__title",children:$}),Q,t("button",{type:"button",className:"cortex-expandable__action","aria-label":G("translate_close"),title:G("translate_close"),onClick:()=>J.current?.close(),children:t("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:t("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})})]}),V&&t("div",{className:"cortex-expandable__body",children:X})]})]})}import{jsx as c_,jsxs as R4}from"react/jsx-runtime";function D2(_){let{id:$,alt:Y,attachment:Q}=_,{api:X,t:Z}=L(),[G,J]=H2(),[V,K]=H2(!1);if(k4(()=>{let N,z=!1;return J(void 0),K(!1),X.downloadAttachment($).then(({blob:F})=>{if(z)return;N=URL.createObjectURL(F),J(N)},()=>{if(!z)K(!0)}),()=>{if(z=!0,N)URL.revokeObjectURL(N)}},[X,$]),V)return c_("p",{className:"cortex-attachment-image__caption",children:Y?Z("translate_image_unavailable_alt",{alt:Y}):Z("translate_image_unavailable")});if(!G)return null;return R4("figure",{className:"cortex-attachment-image",children:[c_(k_,{label:Q?.filename||Y||Z("translate_image"),expanded:c_("img",{className:"cortex-attachment-image__expanded",src:G,alt:Y}),children:c_("img",{src:G,alt:Y})}),Q&&c_("figcaption",{className:"cortex-attachment-image__caption",children:Q.filename})]})}import{useEffect as I4,useRef as y4,useState as M0}from"react";import{jsx as j,jsxs as p_,Fragment as w4}from"react/jsx-runtime";function C4(_){let{t:$}=L();if(!_.pending&&!_.debugMode)return null;return p_("div",{className:"cortex-media-block__head",children:[_.debugMode&&j("span",{className:"cortex-media-block__lang",children:_.language}),_.pending&&j("span",{className:"cortex-media-block__pending",children:$($1(_.language).pending)}),_.debugMode&&_.closed&&p_("span",{className:"cortex-media-block__actions",children:[_.onToggleSource&&j("button",{type:"button",className:"cortex-media-block__action","aria-pressed":_.sourceShown,onClick:_.onToggleSource,children:$("translate_media_source")}),j(h,{value:_.source})]})]})}function B2(_){let{debugMode:$,t:Y}=L();return j("div",{className:"cortex-media-block__body",children:p_("p",{className:"cortex-media-block__error",children:[_.cutOff?Y("translate_media_cut_off"):Y("translate_media_failed"),!_.cutOff&&$&&` ${_.reason}`]})})}function q2(_){let{language:$,source:Y,closed:Q,hidden:X,onError:Z}=_,{config:G,scheme:J,locale:V}=L(),K=y4(null);return I4(()=>{Z(void 0);let N=K.current;if(!Q||!J||!N)return;return Y1(N,{language:$,source:Y,context:{scheme:J,locale:V},overrides:G.mediaRenderers,onError:Z})},[$,Y,Q,J,V,G.mediaRenderers,Z]),j("div",{ref:K,hidden:X,className:U("cortex-media-block__body",`cortex-media-block__body--${$}`)})}function S4(_){let[$,Y]=M0();return p_(w4,{children:[$&&j(B2,{cutOff:!1,reason:$}),j(q2,{language:_.language,source:_.source,closed:!0,hidden:Boolean($),onError:Y})]})}function F2(_){let{language:$,source:Y,closed:Q,streaming:X}=_,{debugMode:Z,t:G}=L(),[J,V]=M0(),[K,N]=M0(!1),z=!Q&&!X,F=z||Boolean(J);return p_("div",{className:"cortex-media-block",children:[j(C4,{language:$,source:Y,pending:!Q&&X,closed:Q,debugMode:Z,sourceShown:K,onToggleSource:F?void 0:()=>N((q)=>!q)}),F&&j(B2,{cutOff:z,reason:J}),j(k_,{label:G($1($).title),ready:Q&&!F,expanded:j(S4,{language:$,source:Y}),children:j(q2,{language:$,source:Y,closed:Q,hidden:F,onError:V})}),Z&&(F||K)&&j("pre",{className:"cortex-media-block__source",children:Y})]})}import{useMemo as b4,useRef as T4}from"react";import{jsx as K_}from"react/jsx-runtime";var v4="M8 2.5v7.5M5 7l3 3 3-3M2.75 11v1.25a1.25 1.25 0 0 0 1.25 1.25h8a1.25 1.25 0 0 0 1.25-1.25V11";function U2(_){let{t:$}=L(),Y=T4(null),Q=b4(()=>({__html:v_(_.text)}),[_.text]);function X(){let Z=Y.current?.querySelector("table");if(Z)m_(t1(s1(Z)),"table.xlsx")}return K_("div",{className:"cortex-table-block",children:K_(k_,{label:$("translate_table"),ready:_.closed,actions:K_("button",{type:"button",className:"cortex-expandable__action","aria-label":$("translate_table_export"),title:$("translate_table_export"),onClick:X,children:K_("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:K_("path",{d:v4,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),expanded:K_("div",{className:"cortex-table-block__expanded",dangerouslySetInnerHTML:Q}),children:K_("div",{ref:Y,dangerouslySetInnerHTML:Q})})})}import{jsx as R_}from"react/jsx-runtime";function P2(_){let{role:$,textPart:Y,streaming:Q=!1,attachments:X=[]}=_,{config:Z}=L(),G=$==="assistant"&&Q?"":Y.content,[J,V]=j4({text:G,fading:[]}),K=A0(G),N=A0(null),z=A0(!0);L2(()=>{function q(P,O){K.current=P,V((H)=>H.text===P&&!H.fading.length&&!O.length?H:{text:P,fading:O})}if($!=="assistant"||!Q){N.current?.destroy(),N.current=null,q(Y.content,[]),z.current=!1;return}if(!N.current)N.current=new Y_(q),N.current.seed(K.current);if(z.current){z.current=!1,N.current.seed(Y.content);return}N.current.update(Y.content,!1)},[$,Q,Y]),L2(()=>()=>{N.current?.destroy(),N.current=null},[]);let F=f4(()=>{let q=$==="assistant"?o1(J.text,Z0(Z.mediaRenderers)):[{kind:"markdown",text:J.text}];return q.map((P,O)=>P.kind==="markdown"?{...P,html:{__html:v_(P.text,O===q.length-1?J.fading:[])}}:P)},[$,J,Z.mediaRenderers]),B=Q||J.text!==Y.content;return R_("div",{className:U("cortex-text-part",$==="assistant"&&"cortex-text-part--assistant",$==="user"&&"cortex-text-part--user"),children:R_("div",{className:U("cortex-text-bubble",$==="assistant"&&"cortex-text-bubble--assistant",$==="user"&&"cortex-text-bubble--user"),children:F.map((q,P)=>{switch(q.kind){case"markdown":return R_("div",{dangerouslySetInnerHTML:q.html},P);case"media":return R_(F2,{...q,streaming:B},P);case"table":return R_(U2,{text:q.text,closed:q.closed||!B},P);case"attachment":return R_(D2,{id:q.id,alt:q.alt,attachment:X.find((O)=>O.id.toLowerCase()===q.id)},P)}})})})}import{jsx as g,jsxs as Z_}from"react/jsx-runtime";function O2({toolCallPart:_}){let{t:$}=L(),{state:Y,approval:Q}=_,X=_.output,Z=E1(_);if(Y==="complete")return Z_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--success",children:[Z_("div",{className:"cortex-debug-tool__section-bar",children:[g("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--success",children:$("translate_output")}),g("span",{className:"cortex-debug-tool__section-lang",children:"json"}),g(h,{value:Z})]}),g("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:g(Q_,{data:X,expandDepth:2})})]});if(Y==="error")return Z_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--error",children:[Z_("div",{className:"cortex-debug-tool__section-bar",children:[g("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--error",children:$("translate_error")}),g(h,{value:Z})]}),g("pre",{dir:"ltr",className:"cortex-debug-tool__error-pre",children:Z})]});if(Y==="approval-requested")return Z_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--approval",children:[Z_("div",{className:"cortex-debug-tool__section-bar",children:[g("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--approval",children:$("translate_approval_requested")}),g("span",{className:"cortex-debug-tool__section-lang",children:Q?.id})]}),g("div",{className:"cortex-debug-tool__message cortex-debug-tool__message--approval",children:$("translate_waiting_for_approval")})]});if(Y==="approval-responded")return Z_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--approval",children:[Z_("div",{className:"cortex-debug-tool__section-bar",children:[g("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--approval",children:$("translate_approval_response")}),g("span",{className:"cortex-debug-tool__section-lang",children:Q?.id})]}),g("div",{className:"cortex-debug-tool__message cortex-debug-tool__message--approval",children:$(Q?.approved?"translate_tool_approved":"translate_tool_response_received")})]});return null}import{jsx as g4,jsxs as m4}from"react/jsx-runtime";function M2({toolCallPart:_}){let{t:$}=L(),Y=A1(_);return m4("span",{className:U("cortex-debug-tool__state",Y.modifier&&`cortex-debug-tool__state--${Y.modifier}`),children:[Y.pulse&&g4("span",{className:U("cortex-debug-tool__pulse",Y.pulse==="violet"&&"cortex-debug-tool__pulse--violet")}),$(Y.labelKey)]})}import{jsx as T,jsxs as e}from"react/jsx-runtime";function A2({toolCallPart:_}){let{t:$}=L(),{codeSnippets:Y,remainingInput:Q,remainingInputText:X}=k1(_.input);return e("details",{className:"cortex-debug-tool","data-state":_.state,children:[T("summary",{className:"cortex-debug-tool__summary",children:e("div",{className:"cortex-debug-tool__header",children:[e("div",{className:"cortex-debug-tool__meta",children:[T("div",{className:"cortex-debug-tool__title-row",children:T("span",{className:"cortex-debug-tool__name",title:_.name,children:_.name})}),T("div",{className:"cortex-debug-tool__id-row",children:T("span",{className:"cortex-debug-tool__id",children:_.id})})]}),e("div",{className:"cortex-debug-tool__actions",children:[T(M2,{toolCallPart:_}),T("svg",{className:"cortex-debug-tool__chevron",width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:T("path",{d:w.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})}),e("div",{className:"cortex-debug-tool__body",children:[Y.map((Z)=>e("div",{className:"cortex-debug-tool__section",children:[e("div",{className:"cortex-debug-tool__section-bar",children:[T("span",{className:"cortex-debug-tool__section-label",children:Z.key}),T("span",{className:"cortex-debug-tool__section-lang",children:Z.lang}),T(h,{value:Z.value})]}),T("pre",{dir:"ltr",className:"cortex-debug-tool__pre",children:T("code",{className:"hljs",dangerouslySetInnerHTML:{__html:J0(Z.value,Z.lang)}})})]},Z.key)),!!Q&&e("div",{className:"cortex-debug-tool__section",children:[e("div",{className:"cortex-debug-tool__section-bar",children:[T("span",{className:"cortex-debug-tool__section-label",children:$("translate_input")}),T("span",{className:"cortex-debug-tool__section-lang",children:"json"}),T(h,{value:X})]}),T("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:T(Q_,{data:Q,expandDepth:2})})]}),T(O2,{toolCallPart:_})]})]})}import{useEffect as x4,useRef as h4,useState as E2}from"react";import{jsx as d_,jsxs as k2}from"react/jsx-runtime";function N_({activity:_,className:$}){let{t:Y}=L(),Q=I1(_),[X,Z]=E2(0),[G,J]=E2("idle"),V=h4(Q.length);return V.current=Q.length,x4(()=>{let K,N;function z(){K=setTimeout(()=>{J("exiting"),K=setTimeout(()=>{Z((F)=>(F+1)%V.current),J("enter-start"),N=requestAnimationFrame(()=>{J("entering"),K=setTimeout(()=>{J("idle"),z()},300)})},300)},2000)}return z(),()=>{if(K)clearTimeout(K);if(N)cancelAnimationFrame(N)}},[]),k2("div",{className:U("cortex-subtle-activity",$),children:[k2("div",{className:"cortex-subtle-activity__dots",children:[d_("span",{className:"cortex-subtle-activity__dot"}),d_("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d1"}),d_("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d2"})]}),d_("div",{className:"cortex-subtle-activity__label-mask",children:d_("span",{className:U("cortex-subtle-activity__label",`cortex-subtle-activity__label--${G}`),children:Y(Q[X])})})]})}import{useEffect as w2,useRef as E0,useState as S2}from"react";import{jsx as c,jsxs as I_,Fragment as u4}from"react/jsx-runtime";function R2({toolCallPart:_,asking:$}){let{t:Y,locale:Q,respondToApproval:X}=L(),{sentence:Z,decision:G,decisionKey:J}=R1(_,Q),V=`cortex-approval-${_.id}`,K=c0(_),N=G==="pending",{state:z,active:F}=r(_);return I_("div",{className:U("cortex-approval-card",N&&"cortex-approval-card--asking"),children:[N?I_(u4,{children:[I_("div",{className:"cortex-approval-card__head",children:[c("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:c("path",{d:"M8 1.75 2.75 3.75v4c0 3 2.2 5.3 5.25 6.5 3.05-1.2 5.25-3.5 5.25-6.5v-4L8 1.75Z",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"})}),Y("translate_approval_needed")]}),c("p",{className:"cortex-approval-card__sentence",id:V,children:Z})]}):I_("div",{className:"cortex-approval-card__line",children:[I_("span",{className:"cortex-tool-pill__icon","aria-hidden":"true",children:[c("span",{className:U("cortex-tool-pill__spinner",F&&"cortex-tool-pill__spinner--visible")}),c("svg",{className:U("cortex-tool-pill__svg cortex-tool-pill__svg--check",z==="complete"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:c("path",{d:"M5.5 10.5 L8.5 13.5 L14.5 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),c("svg",{className:U("cortex-tool-pill__svg cortex-tool-pill__svg--error",z==="error"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:c("path",{d:"M6.5 6.5 L13.5 13.5 M13.5 6.5 L6.5 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})]}),J&&c("span",{className:"cortex-approval-card__decision",children:Y(J)}),c("span",{className:"cortex-approval-card__summary",children:Z})]}),N&&$&&I_("div",{className:"cortex-approval-card__foot",children:[c("button",{type:"button",className:"cortex-approval-card__button cortex-approval-card__button--approve","aria-describedby":V,onClick:()=>void X(K,!0),children:Y("translate_approve")}),c("button",{type:"button",className:"cortex-approval-card__button","aria-describedby":V,onClick:()=>void X(K,!1),children:Y("translate_deny")})]})]})}import{useEffect as I2,useRef as N1,useState as y2}from"react";import{jsx as C,jsxs as p}from"react/jsx-runtime";function C2({toolCallPart:_,setOutput:$}){let{t:Y}=L(),{state:Q,id:X,input:Z}=_;if(Q==="complete"||Q==="error"){let G=d1(_.output);return G?C(p4,{position:G}):p("div",{className:"cortex-tool-pill",children:[C("span",{className:"cortex-tool-pill__icon",children:C("svg",{className:U("cortex-tool-pill__svg cortex-tool-pill__svg--visible",Q==="error"&&"cortex-tool-pill__svg--error"),viewBox:"0 0 20 20",fill:"none",children:C("path",{d:"M6.5 6.5 L13.5 13.5 M13.5 6.5 L6.5 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}),C("span",{className:"cortex-tool-pill__title",children:Y("translate_location_not_shared")})]})}if(Q!=="input-complete")return null;return C(c4,{center:p1(Z),submit:$},X)}function c4({center:_,submit:$}){let{t:Y}=L(),Q=N1(null),X=N1(void 0),[Z,G]=y2(o_),J=N1({center:_,submit:$});J.current={center:_,submit:$},I2(()=>{let K=Q.current;if(!K)return;let N=u1(K,{center:J.current.center,onState:G,submit:(z)=>J.current.submit(z)});return X.current=N,N.start(),()=>{if(N.dispose(),X.current===N)X.current=void 0}},[]);let V=l1(Z);return p("div",{className:"cortex-location-input",children:[p("div",{className:"cortex-location-input__map",children:[C("div",{className:"cortex-location-input__canvas",ref:Q}),C("button",{type:"button",className:"cortex-location-input__locate","aria-label":Y("translate_location_locate"),title:Y("translate_location_locate"),disabled:Z.locating||Z.submitting,onClick:()=>X.current?.locate(),children:C(d4,{})})]}),p("div",{className:"cortex-location-input__foot",children:[Z.position&&!Z.deliveryFailed?C("span",{className:"cortex-location-input__coords",children:s_(Z.position)}):p("span",{className:U("cortex-location-input__hint",V.failed&&"cortex-location-input__hint--failed"),children:[Z.locating&&C("span",{className:"cortex-location-input__spinner"}),Y(V.key)]}),p("span",{className:"cortex-location-input__actions",children:[C("button",{type:"button",className:"cortex-location-input__skip",disabled:Z.submitting,onClick:()=>X.current?.cancel(),children:Y("translate_location_skip")}),C("button",{type:"button",className:"cortex-location-input__send",disabled:!Z.position||Z.submitting,onClick:()=>X.current?.confirm(),children:Y("translate_location_send")})]})]})]})}function p4({position:_}){let{t:$}=L(),Y=N1(null),[Q,X]=y2(!1),{lat:Z,lng:G}=_;return I2(()=>{let J=Y.current;if(!J)return;return X(!1),c1(J,{lat:Z,lng:G},()=>X(!0))},[Z,G]),p("div",{className:"cortex-location-input cortex-location-input--settled",children:[p("div",{className:"cortex-location-input__map cortex-location-input__map--still",children:[C("div",{className:"cortex-location-input__canvas",ref:Y,hidden:Q}),Q&&C("span",{className:"cortex-location-input__still-failed",children:$("translate_location_map_failed")})]}),p("div",{className:"cortex-location-input__body",children:[p("span",{className:"cortex-location-input__title",children:[C("svg",{viewBox:"0 0 20 20",fill:"none",children:C("path",{d:"M5.5 10.5 L8.5 13.5 L14.5 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),$("translate_location_shared")]}),C("span",{className:"cortex-location-input__coords",children:s_(_)})]})]})}function d4(){return p("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:[C("circle",{cx:"10",cy:"10",r:"5.5"}),C("circle",{cx:"10",cy:"10",r:"1.6",fill:"currentColor",stroke:"none"}),C("path",{d:"M10 1.5v3M10 15.5v3M1.5 10h3M15.5 10h3"})]})}import{jsx as I,jsxs as l_}from"react/jsx-runtime";var l4=new Map([[a_,C2]]);function b2({message:_,toolCallPart:$,agentWorking:Y}){let{config:Q,addToolResult:X}=L(),Z=$.state==="input-complete"&&!Y,G=$.state==="approval-requested"&&!Y,J=Q.toolComponents?.[$.name]??(Z||f($.state)?l4.get($.name):void 0);return I("div",{className:"cortex-tool-call-animated",children:J?I(J,{toolCallPart:$,message:_,setOutput:(V)=>X($.id,$.name,V)}):Z?I(i4,{toolCallPart:$}):I(T2,{toolCallPart:$,asking:G})})}function i4({toolCallPart:_}){let{api:$,t:Y,addToolResult:Q,selectedThread:X,config:Z}=L(),G=X?.id,[J,V]=S2({phase:"initiating"}),[K]=S2(Z.trustSameOriginEmbeds),N=E0(void 0),z=E0({api:$,addToolResult:Q,toolName:_.name});if(z.current={api:$,addToolResult:Q,toolName:_.name},w2(()=>{if(!G)return;let B=x1({initiate:()=>z.current.api.initiateToolCall(G,_.id),onState:V,submit:(P)=>z.current.addToolResult(_.id,z.current.toolName,P)});N.current=B,B.start();let q=(P)=>B.handleMessage(P);return window.addEventListener("message",q),()=>{if(window.removeEventListener("message",q),B.dispose(),N.current===B)N.current=void 0}},[_.id,G]),!G||J.phase==="unavailable"||J.phase==="settling")return I(T2,{toolCallPart:_,asking:!1});let F=l_("div",{className:"cortex-client-tool-embed",children:[l_("div",{className:"cortex-client-tool-embed__bar",children:[I("span",{children:Y("translate_client_tool_title")}),I("button",{type:"button",className:"cortex-client-tool-embed__cancel",onClick:()=>N.current?.cancel(),children:Y("translate_client_tool_cancel")})]}),J.phase==="embedded"?I("iframe",{className:"cortex-client-tool-embed__frame",src:J.embedUrl,sandbox:j1(J.embedUrl,window.location.origin,K),title:Y("translate_client_tool_title"),ref:(B)=>N.current?.setSource(B?.contentWindow),onLoad:(B)=>{if(!g1(J.embedUrl,window.location.origin,K)&&m1(B.currentTarget,window.location.origin))N.current?.terminate()}}):J.phase==="error"?l_("div",{className:"cortex-client-tool-embed__status",children:[I("span",{children:Y("translate_client_tool_failed")}),I("button",{type:"button",className:"cortex-client-tool-embed__retry",onClick:()=>void N.current?.start(),children:Y("translate_client_tool_retry")})]}):I("div",{className:"cortex-client-tool-embed__status",children:Y("translate_client_tool_loading")})]});return J.phase==="embedded"&&J.surface==="modal"?I(n4,{label:Y("translate_client_tool_title"),onCancel:()=>N.current?.cancel(),children:F}):F}function n4({label:_,onCancel:$,children:Y}){let Q=E0(null);return w2(()=>{let X=Q.current;return X?.showModal(),()=>X?.close()},[]),I("dialog",{ref:Q,className:"cortex-client-tool-embed-dialog","aria-label":_,onCancel:(X)=>{X.preventDefault(),$()},children:Y})}function T2({toolCallPart:_,asking:$}){return r(_).gated?I(R2,{toolCallPart:_,asking:$}):I(r4,{toolCallPart:_})}function r4({toolCallPart:_}){let{t:$}=L(),{state:Y,active:Q,titleKey:X,statement:Z,rowCount:G}=r(_);return l_("div",{className:"cortex-tool-pill",children:[l_("span",{className:"cortex-tool-pill__icon",children:[I("span",{className:U("cortex-tool-pill__spinner",Q&&"cortex-tool-pill__spinner--visible")}),I("svg",{className:U("cortex-tool-pill__svg","cortex-tool-pill__svg--check",Y==="complete"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:I("path",{d:"M5.5 10.5 L8.5 13.5 L14.5 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),I("svg",{className:U("cortex-tool-pill__svg","cortex-tool-pill__svg--error",Y==="error"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:I("path",{d:"M6.5 6.5 L13.5 13.5 M13.5 6.5 L6.5 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})]}),I("span",{className:U("cortex-tool-pill__title",Y==="error"&&"cortex-tool-pill__title--error",Y==="starting"&&Z&&"cortex-tool-pill__title--pending"),children:Z??$(X)}),G!==void 0&&I("span",{className:"cortex-tool-pill__meta",children:$("translate_rows_read",{count:G})})]})}import{jsx as k0}from"react/jsx-runtime";function v2({message:_,toolCallPart:$,agentWorking:Y}){if(!f($.state)&&!r($).statement){if($.name==="queryGraph")return k0(N_,{activity:"graph"});if($.name==="executeCode")return k0(N_,{activity:"code"})}return k0(b2,{toolCallPart:$,message:_,agentWorking:Y})}import{jsx as y_,jsxs as a4}from"react/jsx-runtime";function f2(_){let{message:$,part:Y,debugMode:Q,animate:X,streaming:Z,agentWorking:G,attachments:J}=_,{t:V}=L();function K(){switch(Y.type){case"text":return y_(P2,{textPart:Y,role:$.role,streaming:Z,attachments:J});case"thinking":return Q?y_(W2,{reasoningPart:Y,streaming:Z}):y_(N_,{activity:"reasoning",className:"cortex-reasoning-animated"});case"tool-call":return Q?y_(A2,{toolCallPart:Y}):y_(v2,{toolCallPart:Y,message:$,agentWorking:G});default:return a4("p",{className:"cortex-unhandled-type",children:[V("translate_unhandled_type")," ",Y.type]})}}return y_("div",{className:U("cortex-message-part",X&&"cortex-message-part--animated",_.folded&&"cortex-message-part--folded"),"data-cortex-frontier":_.frontier?"":void 0,children:K()})}import{jsx as __,jsxs as R0}from"react/jsx-runtime";function s4({isUser:_,clipboardText:$,createdAt:Y}){let{locale:Q}=L();return R0("div",{className:U("cortex-message-actions",_&&"cortex-message-actions--user"),children:[$&&__(h,{value:$}),Y&&__("time",{className:"cortex-message-actions__time",dateTime:Y,children:a(Y,Q)})]})}function t4({count:_,animate:$,onOpen:Y}){let{t:Q}=L();return __("button",{type:"button",className:U("cortex-tool-fold",$&&"cortex-message-part--animated"),onClick:Y,children:Q(C_(_,"translate_one_more_step","translate_n_more_steps"),{count:_})})}function j2(_){let{message:$,parts:Y,metadata:Q,debugMode:X,animate:Z,isStreaming:G,agentWorking:J,closesTurn:V,fold:K,onOpenRun:N,frontier:z}=_,F=$.role==="assistant",B=$.role==="user",q=G?Y.length-1:-1,P=Q?.attachments??[],O=Y.filter((k)=>K?.get(k)?.kind!=="hidden"),H=O.filter((k)=>k.type==="text").at(-1),D=H?Y.indexOf(H):-1,W=(B||F)&&!G&&D>=0,M=H!==O.at(-1)?D:-1,A=W&&__(s4,{isUser:B,clipboardText:y1(Y),createdAt:Q?.createdAt});return R0("div",{className:"cortex-message-parts",children:[Y.map((k,i)=>{let G_=K?.get(k);return R0(o4,{children:[__(f2,{part:k,message:$,debugMode:X,animate:Z,streaming:i===q,agentWorking:J,attachments:P,frontier:k===z,folded:G_?.kind==="hidden"}),G_?.kind==="more"&&__(t4,{count:G_.count,animate:Z,onOpen:()=>N(G_.runId)}),i===M&&A]},$.parts.indexOf(k))}),P.length>0&&__(Q2,{attachments:P,isUser:B}),Q?.isAborted&&__($2,{}),M===-1&&A,X&&Q&&V&&__(z2,{messageId:$.id,isAssistant:F,metadata:Q})]})}import{jsx as z_,jsxs as I0}from"react/jsx-runtime";function g2({firing:_,debugMode:$}){let{t:Y,locale:Q}=L();return I0("div",{className:U("cortex-trigger-block",$&&"cortex-trigger-block--debug"),children:[I0("div",{className:"cortex-trigger-block__head",children:[z_("svg",{className:"cortex-trigger-block__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:z_("path",{d:"M6.75 1 2.5 6.75h3l-.25 4.25L9.5 5.25h-3z",fill:"currentColor"})}),$&&z_("span",{children:Y("translate_trigger_fired")}),z_("span",{className:"cortex-trigger-block__name",children:_.name}),z_("time",{className:"cortex-trigger-block__time",dateTime:_.firedAt,children:a(_.firedAt,Q)})]}),$&&I0("details",{className:"cortex-trigger-block__payload",children:[z_("summary",{children:Y("translate_trigger_payload")}),z_(Q_,{data:_.payload,expandDepth:2})]})]})}import{jsx as i_}from"react/jsx-runtime";var m2=e4(function($){let{message:Y,metadata:Q,isStreaming:X,agentWorking:Z,closesTurn:G,debugMode:J,animate:V,fold:K,onOpenRun:N,workingTurn:z,frontier:F}=$,B=F_(Y.parts,{debugMode:J,isStreaming:X});if(Q?.trigger)return i_("div",{className:"cortex-message",children:i_(g2,{firing:Q.trigger,debugMode:J})});if(B.length===0&&!Q?.attachments?.length)return i_("div",{className:"cortex-message"});return i_("div",{className:U("cortex-message",z&&"cortex-message--working-turn"),children:i_(j2,{message:Y,parts:B,metadata:Q,debugMode:J,animate:V,isStreaming:X,agentWorking:Z,closesTurn:G,fold:K,onOpenRun:N,frontier:F})})});import{jsx as z1}from"react/jsx-runtime";var _7=[{role:"user",lines:[13,9]},{role:"assistant",lines:[16,18,12]},{role:"user",lines:[11]},{role:"assistant",lines:[14,15]}];function x2(){return z1("div",{className:"cortex-widget__messages-skeleton",children:_7.map((_,$)=>z1("div",{className:`cortex-widget__msg-skel cortex-widget__msg-skel--${_.role}`,children:z1("div",{className:`cortex-widget__msg-skel-bubble cortex-widget__msg-skel-bubble--${_.role}`,children:_.lines.map((Y)=>z1("div",{className:"cortex-skeleton cortex-widget__msg-skel-line",style:{width:`${Y}rem`}},Y))})},$))})}import{jsx as d,jsxs as W1,Fragment as G7}from"react/jsx-runtime";function Y7(_){let $=W_(null),Y=W_(null),Q=W_(!0),X=W_(!0),Z=W_(!1),G=n_(()=>{if(Z.current)return;Z.current=!0,queueMicrotask(()=>{Z.current=!1;let N=$.current;if(!N)return;Q1(N),X.current=!0,Q.current=!1})},[]);y0(()=>{let N=Y.current;if(!_||!$.current||!N)return;if(G(),typeof ResizeObserver>"u")return;let z=0,F=new ResizeObserver(([B])=>{let q=B?.contentRect.height??0,P=q>z;if(z=q,P&&(Q.current||X.current))G()});return F.observe(N),()=>F.disconnect()},[_,G]);let J=n_(()=>{Q.current=!0},[]),V=n_(()=>{if(Q.current)G()},[G]);function K(){let N=$.current;if(N)X.current=D0(N)<100}return{containerRef:$,contentRef:Y,onScroll:K,pin:J,settlePinned:V}}function Q7({pin:_,settlePinned:$,contentRef:Y},Q,X){let[Z,G]=S0(!1);y0(()=>{G(!1),_(),queueMicrotask(()=>G(!0))},[Q,_]);let J=X[X.length-1],V=J?.role==="user"?J.id:void 0,K=V?J?.parts.find((N)=>N.type==="text")?.content:void 0;return C0(()=>{if(!V)return;_();let N=Y.current;if(N&&K!==void 0)H0(N,K)},[V,K,_,Y]),y0(()=>{$()},[X,$]),Z}function X7(_,$,Y,Q){let[X,Z]=S0(new Set),G=n_((K)=>Z((N)=>new Set(N).add(K)),[]),[J]=S0(w1);return{folds:$7(()=>J(_,{agentWorking:$,debugMode:Y,opened:X,foldable:Q}),[J,_,$,Y,X,Q]),openRun:G}}function Z7({working:_}){let $=W_(null),Y=W_(void 0);return C0(()=>{let Q=$.current;if(!Q)return;let X=B0(Q);return Y.current=X,()=>{X.dispose(),Y.current=void 0}},[]),C0(()=>Y.current?.sync(_)),W1("div",{ref:$,className:"cortex-working-avatar","aria-hidden":"true",children:[W1("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[d("path",{d:"M9.94 15.5a2 2 0 0 0-1.44-1.44l-6.13-1.58a.5.5 0 0 1 0-.96L8.5 9.94A2 2 0 0 0 9.94 8.5l1.58-6.14a.5.5 0 0 1 .96 0l1.58 6.14a2 2 0 0 0 1.44 1.44l6.14 1.58a.5.5 0 0 1 0 .96l-6.14 1.58a2 2 0 0 0-1.44 1.44l-1.58 6.14a.5.5 0 0 1-.96 0z"}),d("path",{d:"M20 3v4M22 5h-4M4 17v2M5 18H3"})]}),d("span",{className:"cortex-working-avatar__ring"})]})}function h2(_){let{config:$,selectedThread:Y}=L(),{messages:Q,isAgentWorking:X,isLoadingMessages:Z,hasPendingToolCalls:G}=L_(),{capabilities:J,composerRef:V,debugMode:K}=_,N=!Z||X,z=Y7(N),F=Q7(z,Y?.id,Q),B=X?S_(Q)?.id:void 0,q=$.toolComponents,P=n_((A)=>C1(A,q),[q]),{folds:O,openRun:H}=X7(Q,X,K,P),D=Q.map((A)=>A.role).lastIndexOf("user"),W=X&&!K,M=W?S1(Q,{foldable:P}):void 0;return W1(G7,{children:[!N?d(x2,{}):d("div",{className:_.className,children:d("div",{ref:z.containerRef,className:"cortex-message-list",onScroll:z.onScroll,children:W1("div",{ref:z.contentRef,className:"cortex-message-list__content",children:[Q.map((A,k)=>d(m2,{message:A,metadata:A.metadata,isStreaming:A.id===B,agentWorking:X,fold:O.get(A.id),onOpenRun:H,closesTurn:A.role==="assistant"&&Q[k+1]?.role!=="assistant",debugMode:K,animate:F,workingTurn:W&&k>D,frontier:A.id===B?M:void 0},A.id)),X&&!M&&d("div",{className:"cortex-working-thinking","data-cortex-frontier":"",children:d(N_,{activity:"reasoning"})}),d(Z7,{working:X},Y?.id)]})})}),!G&&d(X1,{capabilities:J,composerRef:V})]})}import{jsx as u2,jsxs as J7}from"react/jsx-runtime";function c2(_){let{debugMode:$,selectedThread:Y}=L(),{screens:Q}=_;return J7("div",{className:U("cortex-widget__screen",Q.screen==="chat"&&"cortex-widget__screen--active",Q.screen!=="chat"&&"cortex-widget__screen--right"),children:[_.header,Y?u2(h2,{className:"cortex-widget__messages",debugMode:$,capabilities:_.capabilities,composerRef:_.composerRef}):_.landing,u2("div",{className:"cortex-widget__sidebar-backdrop",onClick:Q.closeSidebar})]})}import{useState as W7}from"react";import{useEffect as w0,useRef as i2,useState as b0}from"react";import{useChat as z7}from"@tanstack/ai-react";import{useEffect as V7,useLayoutEffect as K7,useState as N7}from"react";function p2(_,{sessionRef:$,pendingSendRef:Y}){let[Q]=N7(_);return K7(()=>{return $.current=Q,()=>{if($.current===Q)$.current=void 0}},[Q,$]),V7(()=>{if(!Y.current.length)return;let X=setTimeout(()=>{let Z=Y.current;Y.current=[],(async()=>{for(let{prompt:G,attachments:J}of Z)await Q.send(G,J)})()});return()=>clearTimeout(X)},[Q,Y]),Q}import{useRef as d2}from"react";function l2(_){let $=d2(_);$.current=_;let Y=d2(Promise.resolve(void 0));async function Q(X){let Z=$.current;if(!Z.isAlive()||X!==Z.threadId)return;return T1({api:Z.api,threadId:X,isStale:()=>!$.current.isAlive(),isStreaming:()=>$.current.isStreaming(),setMessages:(G)=>$.current.setMessages(G)})}return function(Z){return Y.current=Y.current.then(()=>Q(Z)),Y.current}}function n2(_){let{thread:$,api:Y}=_,Q=i2(!0),[X,Z]=b0(!1),G=i2(null),J=l2({api:Y,threadId:$.id,isAlive:()=>Q.current,isStreaming:()=>G.current.chat.isLoading,setMessages:(D)=>G.current.chat.setMessages(D)}),[V]=b0(()=>q0({threadId:$.id,isAlive:()=>Q.current,onToolCall:()=>G.current.props.configRef.current.hooks?.onToolCall,deliver:(D)=>G.current.chat.addToolResult(D),setRunning:(D)=>G.current.props.setRunning($.id,D),reloadThreads:()=>G.current.props.reloadThreads(),refreshMessages:()=>J($.id),onTurnFinished:()=>G.current.props.onTurnFinished(),onSendFailed:()=>G.current.props.onSendFailed()})),[K]=b0(()=>b1({api:Y,thread:{id:$.id,isRunning:$.isRunning},mode:_.mode,localMessages:()=>G.current.chat.messages,onHydrated:(D)=>{if(Q.current)V.hydrated(D,$.isRunning)},onTranscriptCarried:(D)=>{if(Q.current)V.transcriptCarried(D)},setLoadingMessages:(D)=>{if(Q.current)Z(D)}})),N=z7({threadId:$.id,persistence:!0,initialMessages:_.initialMessages,connection:K,onChunk:()=>{if(Q.current)V.chunkArrived()},onError:()=>{if(Q.current)V.streamFailed()}});G.current={chat:N,props:_};async function z(D,W){V.sendStarted();let M={id:w_(),role:"user",parts:[{type:"text",content:D}],metadata:{createdAt:new Date().toISOString(),attachments:W}};await G.current.chat.append(M)}async function F(){if(!G.current.chat.isLoading)return;let{aborted:D}=await Y.abortStream($.id).catch(()=>({aborted:!1}));if(!Q.current)return;if(D)V.abortConfirmed();G.current.chat.stop()}function B(D,W,M){return G.current.chat.addToolResult({toolCallId:D,tool:W,output:M}).catch((A)=>{throw J($.id),A})}function q(D,W){return h1(G.current.chat,D,W)}function P(D){if(G.current.chat.isLoading)return;if(D.isRunning){G.current.props.remount(D,G.current.chat.messages);return}J(D.id)}w0(()=>{return Q.current=!0,()=>{Q.current=!1}},[]),p2(()=>({threadId:$.id,send:z,abort:F,addToolResult:B,respondToApproval:q,reattach:P,transcriptUpdated:(D,W)=>{if(D===$.id)V.transcriptUpdated(W)}}),{sessionRef:_.sessionRef,pendingSendRef:_.pendingSendRef});let{messages:O,isLoading:H}=N;return w0(()=>{V.loadingChanged(H,()=>G.current.chat.messages)},[V,H]),w0(()=>{G.current.props.publish({messages:O,isAgentWorking:H,isLoadingMessages:X,hasPendingToolCalls:!H&&$_(O).length>0})},[O,H,X]),null}import{jsx as H7,jsxs as D7}from"react/jsx-runtime";function r2({selection:_,threads:$,children:Y,...Q}){let{session:X}=_,[Z,G]=W7(),J=X&&`${X.thread.id}:${X.epoch}`,V=X&&Z&&(Z.key===J||X.mode==="reload")?Z.value:U0;return D7(L0.Provider,{value:V,children:[X&&J&&H7(n2,{thread:X.thread,mode:X.mode,initialMessages:X.initialMessages,setRunning:$.setRunning,reloadThreads:$.reload,remount:_.remount,publish:(K)=>G({key:J,value:K}),...Q},J),Y]})}import{jsx as S,jsxs as H_,Fragment as B7}from"react/jsx-runtime";function a2(_){let{locale:$,t:Y}=L(),{threads:Q}=_;return S("div",{className:"cortex-widget__threads-list",children:Q===void 0?[1,2,3,4].map((X)=>H_("div",{className:"cortex-widget__thread-skeleton",children:[S("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-icon"}),S("div",{className:"cortex-widget__thread-skeleton-lines",children:S("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-line",style:{width:`${40+X*12}%`}})})]},X)):H_(B7,{children:[Q.map((X)=>{let Z=X.id===_.selectedThreadId,G=a(X.updatedAt,$);return H_("button",{onClick:()=>_.openThread(X),className:U("cortex-widget__thread-item",Z&&"cortex-widget__thread-item--active"),children:[S("div",{className:U("cortex-widget__thread-icon",Z&&"cortex-widget__thread-icon--active"),children:S("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:S("path",{d:w.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),H_("div",{className:"cortex-widget__thread-info",children:[H_("div",{className:"cortex-widget__thread-title-row",children:[S("p",{className:U("cortex-widget__thread-title",Z&&"cortex-widget__thread-title--active"),children:X.title??Y("translate_untitled")}),X.isRunning&&H_("span",{className:U("cortex-widget__thread-running",Z&&"cortex-widget__thread-running--active"),children:[S("span",{className:"cortex-widget__thread-running-dot"}),Y("translate_running")]})]}),G&&S("p",{className:"cortex-widget__thread-time",children:G})]}),S("span",{role:"button",tabIndex:0,onClick:(J)=>{J.stopPropagation(),_.deleteThread(X.id)},onKeyDown:(J)=>{if(J.key!=="Enter"&&J.key!==" ")return;J.preventDefault(),J.stopPropagation(),_.deleteThread(X.id)},className:U("cortex-widget__thread-delete",Z&&"cortex-widget__thread-delete--active"),children:S("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",children:S("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})})}),S("svg",{className:U("cortex-widget__thread-arrow",Z&&"cortex-widget__thread-arrow--active"),width:"10",height:"10",viewBox:"0 0 16 16",fill:"none",children:S("path",{d:"M6 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},X.id)}),!Q.length&&H_("div",{className:"cortex-widget__threads-empty",children:[S("div",{className:"cortex-widget__threads-empty-icon",children:S("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__threads-empty-svg",children:S("path",{d:w.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),S("p",{className:"cortex-widget__threads-empty-title",children:Y("translate_no_threads_yet")}),S("p",{className:"cortex-widget__threads-empty-subtitle",children:Y("translate_start_a_new_conversation")}),S("button",{onClick:_.newChat,className:"cortex-widget__new-chat-btn cortex-widget__new-chat-btn--empty-state",children:Y("translate_new_chat")})]})]})})}import{useSyncExternalStore as q7}from"react";function o2(_){return q7(($)=>{let Y=window.matchMedia(_);return Y.addEventListener("change",$),()=>Y.removeEventListener("change",$)},()=>window.matchMedia(_).matches,()=>!1)}import{jsx as U7,jsxs as t2}from"react/jsx-runtime";var F7="(max-width: 768px)";function s2(_){_.preventDefault()}function e2(_){let{screens:$}=_,Y=o2(F7),Q=_.viewMode==="full"?Y&&!$.sidebarOpen:$.screen!=="threads";return U7("div",{className:U("cortex-widget",_.className),"data-cortex-theme":_.theme,children:t2("div",{className:U("cortex-widget__container",_.viewMode==="full"&&"cortex-widget__container--full",$.sidebarOpen&&"cortex-widget__container--sidebar-open"),onDragOver:s2,onDrop:s2,children:[t2("div",{className:U("cortex-widget__screen",$.screen==="threads"&&"cortex-widget__screen--active",$.screen!=="threads"&&"cortex-widget__screen--left"),"aria-hidden":Q||void 0,inert:Q||void 0,children:[_.header,_.threadList]}),_.children]})})}import{jsx as l}from"react/jsx-runtime";var P7={header:s6,landing:e6,threadList:a2};function T0(_,$){return _?.[$]??P7[$]}function O7(_){let{isAgentWorking:$}=L_();return l(_.component,{..._.context,isWorking:$})}function M7({config:_,className:$,slots:Y}){let Q=_5(_);Q.current=_;let[X]=H1(()=>P1(()=>Q.current.transport)),Z=h6(X),[G,J]=H1(!1),[V,K]=H1();L7(()=>G0(_.theme,K),[_.theme]);let N=_.viewMode??"helper",z=c6(N),[F,B]=H1(0),q=S6(X,F),P=_5(null),O=j6({api:X,threads:Z,getHooks:()=>Q.current.hooks}),{sessionRef:H,selection:D,queue:W,send:M,pendingSendRef:A}=O,{selected:k,selectedRef:i}=D,G_=m6({threads:Z,selectedRef:i,sessionRef:H,deselect:D.deselect,onReconnect:()=>B((m)=>m+1)});g6({getConfig:()=>Q.current,onEvent:G_.onEvent,onMount:()=>void Z.reload(),onReconnect:G_.onReconnect});let r_=O1(_.locale),$5={config:_,locale:r_,t:(m,D1)=>n(r_,m,D1),api:X,debugMode:G,scheme:V,capabilities:q,selectedThread:k,send:M,...x6(H),queue:W.value};function Y5(){W.store.discardConsumed(),setTimeout(()=>P.current?.focusInput())}function Q5(){W.store.restoreConsumed(i.current?.id)}function v0(m){O.openThread(m),z.showChat()}function f0(){D.deselect(),z.showChat()}function X5(){J((m)=>!m)}function j0(m){let D1={screen:m,viewMode:N,title:k?.title??null,agentName:q_(_.agentName,r_),threadCount:Z.threads?.length??0,debug:{shown:Boolean(_.showDebugButton),on:G},newChat:f0,openHistory:z.openHistory,closeHistory:z.closeHistory,toggleDebug:X5};return l(O7,{component:T0(Y,"header"),context:D1})}let Z5=T0(Y,"landing"),G5={...M1(q,r_,(m)=>void M(m)),threads:Z.threads,composer:l("div",{className:"cortex-widget__landing-composer",children:l(X1,{capabilities:q})}),openThread:v0,openHistory:z.openHistory},J5=T0(Y,"threadList"),V5={threads:Z.threads,selectedThreadId:k?.id,openThread:v0,deleteThread:(m)=>void O.deleteThread(m),newChat:f0};return l(F0.Provider,{value:$5,children:l(r2,{selection:D,threads:Z,api:X,configRef:Q,sessionRef:H,pendingSendRef:A,onTurnFinished:Y5,onSendFailed:Q5,children:l(e2,{className:$,theme:_.theme,viewMode:N,screens:z,header:j0("threads"),threadList:l(J5,{...V5}),children:l(c2,{screens:z,capabilities:q,composerRef:P,header:j0("chat"),landing:l(Z5,{...G5})})})})})}export{M7 as CortexChatWidget};
189
+ `,l8=/(["'])(?:(?!\1)[^\n\r\f])*\1?|\/\*[\s\S]*?(?:\*\/|$)/g;function i8(_){return/:host|@(-[a-z]+-)?keyframes|@property/i.test(b6(_))}function b6(_){return _.replace(l8,($)=>$.startsWith("/*")?"":$)}async function w6(_){let{default:$}=await import("dompurify"),Z=$.sanitize(_,{FORCE_BODY:!0,RETURN_DOM_FRAGMENT:!0,USE_PROFILES:{html:!0,svg:!0,svgFilters:!0},FORBID_TAGS:["img","picture","source","video","audio","track","a","area","form","input","button","select","textarea","dialog","template","slot","marquee","animatecolor","animatemotion","animatetransform","image","feimage"],FORBID_ATTR:["popover","popovertarget","popovertargetaction"]}),Q=Z.ownerDocument.createElement("div");Q.append(Z);for(let X of Q.querySelectorAll("[style]"))r8(X);r_(Q);for(let X of Q.querySelectorAll("style"))if(i8(X.textContent??""))X.remove();return Q}var n8=/^(-[a-z]+-)?(animation|transition)/i;function r8(_){let $=b6(_.getAttribute("style")??"").split(";");_.setAttribute("style",$.filter((Z)=>!n8.test(Z.trim())).join(";"))}function T6(_,$,Z,Q){let X=document.createElement("style");X.textContent=d8,$.className="cortex-report",_.attachShadow({mode:"open"}).append(X,$);let J=[...$.querySelectorAll("figure[data-chart]")].map((Y)=>{let{box:V,spec:z}=a8(Y);return Z(V,z,()=>{let G=document.createElement("p");G.className="cortex-report-chart-failed",G.textContent=Q,V.append(G)})});return()=>{for(let Y of J)Y()}}function a8(_){let $=[..._.childNodes].filter((X)=>X.nodeName!=="FIGCAPTION"),Z=document.createElement("div");_.insertBefore(Z,$.find((X)=>X.textContent?.trim())??null);for(let X of $)X.remove();let Q=$.map((X)=>X.textContent).join("");return{box:Z,spec:o8.exec(Q)?.[2]??Q}}var o8=/^\s*(`{3,}|~{3,})[^\n]*\n([\s\S]*?)\n\s*\1\s*$/;var m6={async mermaid(_,$,{scheme:Z}){let[{default:Q},{default:X}]=await Promise.all([import("mermaid"),import("dompurify")]);if(E0.test($)||$.includes("\\"))throw Error("Diagrams may not reference URLs.");if(/%%\{/.test($))throw Error("Diagrams may not carry init directives.");if(/^\s*---\s*$/m.test($))throw Error("Diagrams may not carry frontmatter.");if(/\bimg\s*:/.test($))throw Error("Diagrams may not embed images.");let J=e8($);if(!t8.test(J))throw Error(`Unsupported diagram type: ${J}`);let Y=v6.then(async()=>{if(!j6)Q.initialize({startOnLoad:!1,securityLevel:"strict",htmlLabels:!1}),j6=!0;let G=`%%{init: {"theme": "${Z==="dark"?"dark":"default"}"}}%%
190
+ ${$}`;return await Q.parse(G),(await Q.render(`cortex-mermaid-${X4()}`,G,_)).svg});v6=Y.catch(()=>{return});let V=await Y,z=document.createElement("div");return z.innerHTML=X.sanitize(V,{USE_PROFILES:{svg:!0,svgFilters:!0}}),r_(z),_.replaceChildren(...z.childNodes),()=>{_.innerHTML=""}},async "vega-lite"(_,$,{scheme:Z}){let Q=JSON.parse($),X=n_(Q);if(X)throw Error(X);if(!Q||typeof Q!=="object"||Array.isArray(Q))throw Error("A chart needs a JSON object.");let J=Q,[{default:Y},V]=await Promise.all([import("vega-embed"),import("vega")]),z=()=>Promise.reject(Error("Charts may only use inline data."));async function G(M){let R=document.createElement("div"),P=await Y(R,Z4(J,M),{actions:!1,renderer:"svg",mode:"vega-lite",loader:{...V.loader(),load:z,sanitize:z},ast:!0,...Z==="dark"?{theme:"dark"}:{},config:{background:"transparent"}});return r_(R),{drawing:R,result:P,width:M}}let K=await G(_.clientWidth);_.replaceChildren(K.drawing);let W=!1,N,q=0;function H(){N??=(async()=>{let M=_.clientWidth;while(!W&&M>0&&M!==K.width&&M!==q){try{let R=await G(M);if(W){R.result.finalize();return}K.result.finalize(),K=R,_.replaceChildren(R.drawing)}catch{q=M}M=_.clientWidth}})().finally(()=>{N=void 0})}let U=new ResizeObserver(H);if(x6(J))U.observe(_);function E(){let M=document.getElementById(Q4),R=h6(_)??document.body;if(M&&M.parentElement!==R)R.append(M)}return _.addEventListener("pointermove",E),()=>{W=!0,U.disconnect(),_.removeEventListener("pointermove",E),K.result.finalize()}},async map(_,$){let Z=J4(JSON.parse($)),{leaflet:Q,map:X,dispose:J}=await p_(_,{...Z,interactive:!0});for(let Y of Z.markers){let V=Q.marker(Y.position).addTo(X);if(Y.label){let z=document.createElement("span");z.textContent=Y.label,V.bindTooltip(z)}}return J},async report(_,$,Z){let Q=await w6($);return T6(_,Q,(X,J,Y)=>q1(X,{language:"vega-lite",source:J,context:Z,overrides:void 0,onError:Y}),o(Z.locale,"translate_media_failed"))}},s8={mermaid:{title:"translate_media_mermaid",pending:"translate_media_pending_mermaid"},"vega-lite":{title:"translate_media_vega_lite",pending:"translate_media_pending_vega_lite"},map:{title:"translate_media_map",pending:"translate_media_pending_map"},report:{title:"translate_media_report",pending:"translate_media_pending_report"}};function H1(_){return s8[_]??{title:"translate_media",pending:"translate_media_pending"}}function I0(_){return Object.keys({...m6,..._})}function q1(_,$){let{language:Z,source:Q,context:X,overrides:J,onError:Y}=$,V=_.appendChild(document.createElement("div")),z=J?.[Z]??m6[Z],G,K=!1;return(z?z(V,Q,X):Promise.reject(Error(`No renderer for ${Z}.`))).then((N)=>{if(K)N();else G=N},(N)=>{if(!K)Y(N instanceof Error?N.message:String(N))}),()=>{K=!0,G?.(),V.remove()}}var t8=/^(flowchart|graph|sequenceDiagram|stateDiagram(-v2)?|erDiagram|gantt|pie|classDiagram|journey|timeline|mindmap)$/;function e8(_){let $=_.split(`
191
+ `).find((Z)=>/\S/.test(Z)&&!/^\s*%%/.test(Z));return/^\s*(\S+)/.exec($??"")?.[1]??""}function k0(_){return _===void 0||_==="container"}var _4=["row","column","facet"];function x6(_){let $=_.encoding,Z=typeof $==="object"&&$!==null&&_4.some((Q)=>(Q in $));return(("mark"in _)||("layer"in _))&&k0(_.width)&&!Z}function $4(_){let $={..._};if(k0($.width))delete $.width;if(k0($.height))delete $.height;return $}function Z4(_,$){let Z=$4(_);if($<=0||!x6(_))return Z;return{...Z,width:$,height:Z.height??Math.round(Math.min(480,Math.max(200,$/2))),autosize:Z.autosize??{type:"fit",contains:"padding"}}}var Q4="vg-tooltip-element";function h6(_){let $=_.getRootNode();return _.closest("dialog")??($ instanceof ShadowRoot?h6($.host):null)}var v6=Promise.resolve(),j6=!1,f6=0;function X4(){return f6+=1,f6}function J4(_){if(!_||typeof _!=="object")throw Error("A map needs a JSON object.");let $=_,Z=$.zoom??10;if(typeof Z!=="number"||Z<0||Z>22)throw Error("zoom must be 0 to 22.");let Q=$.markers??[];if(!Array.isArray(Q))throw Error("markers must be a list.");return{center:g6($.center,"center"),zoom:Z,markers:Q.map((X,J)=>{let Y=X??{},V=Y.label;return{position:g6(Y.position,`markers[${J}].position`),label:typeof V==="string"?V:void 0}})}}function g6(_,$){let Z=Array.isArray(_)?_:[],[Q,X]=Z;if(typeof Q!=="number"||typeof X!=="number"||Math.abs(Q)>90||Math.abs(X)>180)throw Error(`${$} must be [latitude, longitude].`);return{lat:Q,lng:X}}function y0(_,$){if(_!=="system")return $(_??"light"),()=>{};let Z=window.matchMedia("(prefers-color-scheme: dark)"),Q=()=>$(Z.matches?"dark":"light");return Q(),Z.addEventListener("change",Q),()=>Z.removeEventListener("change",Q)}import D1 from"highlight.js/lib/core";import Y4 from"highlight.js/lib/languages/javascript";import V4 from"highlight.js/lib/languages/json";var u6=!1;function G4(){if(u6)return;u6=!0,D1.registerLanguage("javascript",Y4),D1.registerLanguage("json",V4)}function S0(_,$){if(!_)return"";return G4(),D1.getLanguage($)?D1.highlight(_,{language:$}).value:z4(_)}function z4(_){return _.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function k_(_){if(typeof _==="string"){let $=_.trim();if(!($.startsWith("{")&&$.endsWith("}")||$.startsWith("[")&&$.endsWith("]")))return _;try{return k_(JSON.parse($))}catch{return _}}if(Array.isArray(_))return _.map(($)=>k_($));if(_!==null&&typeof _==="object"){let $={};for(let[Z,Q]of Object.entries(_))$[Z]=k_(Q);return $}return _}function C0(_,$){if(Array.isArray(_)){let Z=_;return{kind:"container",open:"[",close:"]",summary:c6(Z.length,"item","items"),entries:Z.map((Q,X)=>({key:null,value:Q,path:`${$}[${X}]`}))}}if(_!==null&&typeof _==="object"){let Z=Object.entries(_);return{kind:"container",open:"{",close:"}",summary:c6(Z.length,"property","properties"),entries:Z.map(([Q,X])=>({key:Q,value:X,path:`${$}.${Q}`}))}}return{kind:"primitive",text:K4(_),className:W4(_)}}function c6(_,$,Z){return`${_} ${_===1?$:Z}`}function K4(_){if(_===null||_===void 0)return"null";if(typeof _==="string")return JSON.stringify(_);if(typeof _==="number"||typeof _==="boolean")return String(_);return JSON.stringify(_)??"null"}function W4(_){if(_===null||_===void 0)return"cortex-json-tree__null";if(typeof _==="string")return"cortex-json-tree__string";if(typeof _==="number")return"cortex-json-tree__number";if(typeof _==="boolean")return"cortex-json-tree__boolean";return""}function b0(_){if(!_)return null;try{return JSON.parse(_)}catch{return _}}function w0(_){if(!_)return"";try{return JSON.stringify(JSON.parse(_),null,2)}catch{return _}}function Q_(_,$,Z=Date.now()){let Q=new Date(_);if(Number.isNaN(Q.getTime()))return"";let X=Q.toDateString()===new Date(Z).toDateString();return new Intl.DateTimeFormat($,{...X?{}:{dateStyle:"medium"},timeStyle:"short"}).format(Q)}function a_(_,$){let Z=URL.createObjectURL(_),Q=document.createElement("a");Q.href=Z,Q.download=$,document.body.append(Q),Q.click(),Q.remove(),setTimeout(()=>URL.revokeObjectURL(Z),40000)}class K_{onUpdate;fullText="";displayedLength=0;animationFrameId=null;isDone=!1;releases=[];static DRAIN_FRACTION=0.03;static MIN_CHARS_PER_FRAME=1;static DONE_DRAIN_FRACTION=0.1;static FADE_WINDOW_MS=500;constructor(_){this.onUpdate=_}seed(_){this.fullText=_,this.displayedLength=_.length,this.releases=[],this.onUpdate(_,[])}update(_,$){if(this.fullText=_,this.isDone=$,this.displayedLength=Math.min(this.displayedLength,this.fullText.length),this.releases=this.releases.filter((Z)=>Z.from<this.displayedLength),$&&this.displayedLength>=this.fullText.length){this.onUpdate(this.fullText,[]),this.stopAnimation();return}if(!this.animationFrameId)this.scheduleFrame()}destroy(){this.stopAnimation()}scheduleFrame(){this.animationFrameId=requestAnimationFrame((_)=>this.tick(_))}tick(_){let $=this.fullText.length-this.displayedLength;if($<=0){this.animationFrameId=null;return}let Z=this.isDone?K_.DONE_DRAIN_FRACTION:K_.DRAIN_FRACTION,Q=Math.max(K_.MIN_CHARS_PER_FRAME,Math.ceil($*Z));if(this.releases=this.releases.filter((X)=>_-X.at<K_.FADE_WINDOW_MS),this.releases.push({from:this.displayedLength,at:_}),this.displayedLength=Math.min(this.fullText.length,this.displayedLength+Q),this.onUpdate(this.fullText.substring(0,this.displayedLength),this.releases.map((X)=>({length:this.displayedLength-X.from,age:_-X.at}))),this.displayedLength<this.fullText.length)this.scheduleFrame();else this.animationFrameId=null}stopAnimation(){if(this.animationFrameId)cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null}}var T0=new WeakMap;function v0(_,$){let Z=_.closest(".cortex-widget__screen"),Q=Z?.querySelector(".cortex-message-list");if(!Z||!Q||!_.value.trim())return;let X=getComputedStyle(_),J=_.getBoundingClientRect(),Y=(V)=>parseFloat(X[`padding${V}`])+parseFloat(X[`border${V}Width`]);T0.set(Z,{text:$,textarea:_,from:new DOMRect(J.left+Y("Left"),J.top+Y("Top"),J.width-Y("Left")-Y("Right"),J.height-Y("Top")-Y("Bottom")),rtl:X.direction==="rtl",scrollTop:Q.scrollTop})}function j0(_,$){let Z=_.closest(".cortex-widget__screen"),Q=Z?T0.get(Z):void 0;if(!Z||!Q)return;T0.delete(Z);let X=_.querySelectorAll(":scope > .cortex-message"),J=X[X.length-1]?.querySelector(".cortex-text-bubble--user"),Y=_.closest(".cortex-message-list");if(!J||!Y||Q.text!==$||!Q.textarea.isConnected)return;J.closest(".cortex-message-part")?.getAnimations().forEach((M)=>M.finish()),B1(Y);let V=J.getBoundingClientRect(),z=Z.getBoundingClientRect(),G=getComputedStyle(J),K=parseFloat(G.paddingTop)+parseFloat(G.borderTopWidth),W=Q.rtl?parseFloat(G.paddingRight)+parseFloat(G.borderRightWidth):parseFloat(G.paddingLeft)+parseFloat(G.borderLeftWidth),N=Q.rtl?Q.from.right+W-V.width:Q.from.left-W,q=Y.scrollTop-Q.scrollTop;if(q)_.style.setProperty("--cortex-slide",`${q}px`),_.classList.remove("cortex-message-list__content--settling"),_.offsetWidth,_.classList.add("cortex-message-list__content--settling"),_.getAnimations()[0]?.finished.then(()=>_.classList.remove("cortex-message-list__content--settling"),()=>{return});let H=J.cloneNode(!0);H.classList.add("cortex-send-flight"),H.setAttribute("aria-hidden","true"),Object.assign(H.style,{left:`${V.left-z.left}px`,top:`${V.top-z.top}px`,width:`${V.width}px`}),H.style.setProperty("--cortex-fly-x",`${N-V.left}px`),H.style.setProperty("--cortex-fly-y",`${Q.from.top-K-V.top}px`),J.style.visibility="hidden",Z.append(H);let U=Y.scrollTop,E=()=>{H.style.top=`${V.top-z.top-(Y.scrollTop-U)}px`};Y.addEventListener("scroll",E,{passive:!0}),l6(H).then(()=>{Y.removeEventListener("scroll",E),J.style.visibility="",H.remove()})}function B1(_){_.scrollTop=d6(_)}function f0(_){return d6(_)-_.scrollTop}function d6(_){let $=_.querySelector(".cortex-message-list__content");if(!$)return _.scrollHeight-_.clientHeight;let Z=getComputedStyle(_);return $.offsetHeight+parseFloat(Z.paddingTop)+parseFloat(Z.paddingBottom)-_.clientHeight}function g0(_){let $=!1,Z=_.parentElement,Q=typeof ResizeObserver>"u"?void 0:new ResizeObserver(()=>{if($)X()});Q?.observe(Z);function X(){let J=Z.querySelector(":scope > .cortex-working-thinking, :scope > .cortex-message > .cortex-message-parts > [data-cortex-frontier]");if(!J)return!1;return _.style.setProperty("--cortex-avatar-y",`${N4(J,Z)-_.offsetHeight/2}px`),!0}return{sync(J){if(J===$){if(J)X();return}if(J){if(!X())return;_.classList.remove("cortex-working-avatar--leaving"),_.offsetWidth,_.classList.add("cortex-working-avatar--shown"),$=!0;return}$=!1;let[,Y="0px"]=getComputedStyle(_).translate.split(" ");_.style.setProperty("--cortex-avatar-y",Y),_.classList.add("cortex-working-avatar--leaving"),l6(_,!0).then(()=>{if($)return;_.classList.remove("cortex-working-avatar--shown","cortex-working-avatar--leaving")})},dispose(){Q?.disconnect()}}}function N4(_,$){let Z=_.querySelector(".cortex-text-bubble");if(!Z)return p6(_,$)+_.offsetHeight/2;let Q=getComputedStyle(Z);return p6(Z,$)+parseFloat(Q.paddingTop)+parseFloat(Q.borderTopWidth)+parseFloat(Q.lineHeight)/2}function p6(_,$){let Z=0;for(let Q=_;Q instanceof HTMLElement&&Q!==$;)Z+=Q.offsetTop,Q=Q.offsetParent;return Z}function l6(_,$=!1){return Promise.allSettled(_.getAnimations({subtree:$}).map((Z)=>Z.finished))}import{EventType as H4}from"@tanstack/ai";function m0(_){return _.refusal==="approval_pending"?"translate_approval_pending":"translate_error"}var q4=2;function x0(_){let $=!1,Z=!1,Q=!1,X,J,Y,V,z=!1,G=!1,K,W,N=new Set,q=0,H=!1,U=new Set,E=new Set,M,R=new Map,P=0,B=0,L=0;async function O(A){let I=Symbol("delivery");U.add(I);try{if(await A(),M&&await M.over)E.add(I);if(E.has(I))throw Error("The answer did not reach Cortex")}finally{U.delete(I),E.delete(I)}}function k(){if($&&q===0)return!1;if(q+=1,!$)$=!0,_.setRunning(!0);return!0}function b(A){if(q-=1,A)H=!0;else if(q===0&&!H)$=!1,_.setRunning(!1)}async function h(){let A=P,I=++B,w=()=>P!==A||L>I||!_.isAlive(),m=await _.refreshMessages(w).catch(()=>{return});if(!m||w())return!1;L=I;let P_=new Set(z_(m).map((c)=>c.id));for(let c of R.keys())if(!P_.has(c))R.delete(c);if($)G_(m);let q_=[...R.values()];if(q_.some((c)=>c.failedResends>=q4))return!1;for(let c of q_)if(!await O(()=>_.deliver(c.answer)).then(()=>!0,()=>!1))return c.failedResends+=1,h();return!0}async function m_(A,I){let w;try{let c=I({toolCallId:A.id,toolName:A.name,input:A.input},{threadId:_.threadId});if(c===null||c===void 0)return;w=await Promise.resolve(c)}catch{N.delete(A.id);return}if(w===null||w===void 0)return;if(!_.isAlive())return;let m=k(),P_={toolCallId:A.id,tool:A.name,output:w};R.set(A.id,{answer:P_,failedResends:0});let q_=await O(()=>_.deliver(P_)).then(()=>!0,h);if(m)b(q_)}function G_(A){let I=z_(A),w=_.onToolCall();if(!w)return I.length>0;for(let m of I){if(m.state!=="input-complete"||N.has(m.id))continue;N.add(m.id),m_(m,w)}return I.length>0}async function I1(A){if(Q)_.reloadThreads().catch(()=>{});else _.setRunning(!1);if($&&!z&&G_(A()))return;if(W===void 0&&K!==void 0)return;W=void 0,await h()}return{chunkArrived(A){if(Z=!0,U.clear(),A.type===H4.RUN_ERROR&&A.code!=="aborted")X={reason:A.message||void 0}},transcriptCarried(A){if(K=A,W!==void 0&&W<=A)W=void 0},transcriptUpdated(A){let I=Date.parse(A);if(K!==void 0&&I<=K)return;if(!G){h();return}W=Math.max(W??0,I)},streamFailed(){Q=!0;let A=U.size>0;for(let m of U)E.add(m);if(U.clear(),z)return;if(Z)_.onTurnFinished();else _.onSendFailed();if(J){if(_.setTurnFailed({reason:void 0,refusal:J}),V!==void 0)_.returnDraft(V);return}let w=X??($&&!A&&!Z?{reason:void 0}:void 0);if(w)_.setTurnFailed(w)},loadingChanged(A,I){if(A){G=!0;return}if(!G)return;G=!1,_.onTurnFinished(),I1(I)},hydrated(A,I){if(I)return;setTimeout(()=>{if(_.isAlive())G_(A)},0)},deliverAnswer(A){let I=k(),w=O(A).catch(async(m)=>{throw await h(),m});return w.then(()=>{if(I)b(!0)},()=>{if(I)b(!1)}),w},interruptStateChanged(A){if(A.resuming){if(M)return;let I=()=>{},w=new Promise((m)=>{I=m});M={errorsAtStart:A.interruptErrors.length,over:w,end:I};return}M?.end(A.interruptErrors.length>M.errorsAtStart),M=void 0},readBack:h,streamStarted(){if($)_.setRunning(!0);P+=1,Q=!1,X=void 0,J=void 0,V=Y,Y=void 0,K=void 0,z=!1,_.setTurnFailed(void 0)},sendStarted(A){P+=1,Y=A,_.returnDraft(void 0),$=!0,Z=!1},sendRefused(A){J=A},abortConfirmed(){z=!0}}}function o_(_){if(_.input.total<=0)return null;return Math.round(_.input.cacheRead/_.input.total*100)}import{createContext as i6,useContext as n6}from"react";var h0=i6(void 0);function F(){let _=n6(h0);if(!_)throw Error("useCortex must be used inside <CortexChatWidget>");return _}var u0={messages:[],isAgentWorking:!1,isLoadingMessages:!1,hasPendingToolCalls:!1,awaitsApproval:!1,returnedDraft:void 0,turnFailure:void 0},c0=i6(u0);function I_(){return n6(c0)}import{useEffect as D4,useState as r6}from"react";function a6(_,$){let[Z,Q]=r6(),[X,J]=r6();return D4(()=>{return Q(void 0),J(void 0),d_(()=>_.getCapabilities(),{onAnswered:(Y)=>{Q(Y),J(void 0)},onMissed:J})},[_,$]),{capabilities:Z,unanswered:X}}import{useRef as A4}from"react";import{useRef as B4,useState as U4,useSyncExternalStore as F4}from"react";function o6(_,$){let Z=B4($);Z.current=$;let[Q]=U4(()=>s1({api:_,ensureThread:()=>Z.current()})),X=F4(Q.subscribe,Q.getState,Q.getState);return{store:Q,value:{items:X,...t1(X),accept:Q.accept,remove:Q.remove,consumeReady:Q.consumeReady}}}import{useEffect as L4,useRef as O4}from"react";function s6(_,$){let Z=O4(void 0);L4(()=>{if($===Z.current)return;_.clear(Z.current),Z.current=$},[$,_])}import{useRef as t6}from"react";function e6(_){let $=t6([]),Z=t6(void 0);function Q(){let J=_.selectedRef.current;if(J)return Promise.resolve(J.id);return Z.current??=_.api.createThread().then((Y)=>{return Z.current=void 0,_.onCreated(Y),Y.id},(Y)=>{throw Z.current=void 0,Y}),Z.current}async function X(J,Y=[]){let V=_.sessionRef.current;if(V){await V.send(J,Y);return}$.current.push({prompt:J,attachments:Y});try{await Q()}catch(z){throw $.current=[],z}}return{ensureThread:Q,send:X,pendingSendRef:$}}import{useRef as P4,useState as M4}from"react";function _2(_){let[$,Z]=M4(),Q=$?.thread,X=Q?_.threads?.find((G)=>G.id===Q.id)??Q:void 0,J=P4(X);J.current=X;function Y(G,K){if(J.current?.id===G.id&&_.hasSession())return;let W=J.current;if(J.current=G,Z({thread:G,mode:K,epoch:0}),W&&W.id!==G.id)_.getHooks()?.onThreadDeselected?.(W);_.getHooks()?.onThreadSelected?.(G)}function V(){let G=J.current;if(!G&&!_.hasSession())return;if(J.current=void 0,Z(void 0),G)_.getHooks()?.onThreadDeselected?.(G)}function z(G,K){Z((W)=>({thread:G,mode:"reload",epoch:(W?.epoch??0)+1,initialMessages:K}))}return{session:$,selected:X,selectedRef:J,select:Y,deselect:V,remount:z}}function $2(_){let{api:$,threads:Z}=_,Q=A4(void 0),X=_2({threads:Z.threads,getHooks:_.getHooks,hasSession:()=>Q.current!==void 0}),J=e6({api:$,sessionRef:Q,selectedRef:X.selectedRef,onCreated:(G)=>{Z.upsert(G),X.select(G,"skip")}}),Y=o6($,J.ensureThread);s6(Y.store,X.selected?.id);async function V(G){if(X.selectedRef.current?.id===G)X.deselect();await Z.remove(G)}function z(G){X.select(G,"load")}return{sessionRef:Q,selection:X,queue:Y,deleteThread:V,openThread:z,...J}}import{useEffect as E4,useRef as Z2}from"react";function Q2(_){let $=Z2(_);$.current=_;let Z=Z2(void 0);return E4(()=>{let Q=!1,X=W0({getConfig:()=>$.current.getConfig(),onEvent:(J)=>$.current.onEvent(J),onOpen:()=>{if(Q)$.current.onReconnect();Q=!0}});return Z.current=X,()=>{X.close(),Z.current=void 0}},[]),{isOpen:()=>Z.current?.isOpen()??!1}}function X2(_){let{threads:$,selectedRef:Z,sessionRef:Q}=_;function X(Y){$.applyEvent(Y);let V=Z.current?.id;switch(Y.type){case"thread:deleted":if(V===Y.payload.threadId)_.deselect();break;case"thread:run-started":if(V===Y.payload.thread.id)Q.current?.reattach(Y.payload.thread);break;case"thread:messages-updated":case"thread:run-finished":Q.current?.transcriptUpdated(Y.payload.thread.id,Y.payload.thread.updatedAt);break}}function J(){_.onReconnect(),$.reload().then((Y)=>{let V=Z.current;if(!Y||!V)return;Q.current?.reattach(Y.find((z)=>z.id===V.id)??V)})}return{onEvent:X,onReconnect:J}}function J2(_){return{abort:async()=>{await _.current?.abort()},addToolResult:($,Z,Q)=>_.current?.addToolResult($,Z,Q)??Promise.resolve(),respondToApproval:($,Z)=>_.current?.respondToApproval($,Z)??Promise.resolve()}}import{useEffect as Y2,useRef as R4,useState as V2}from"react";function G2(_){let[$,Z]=V2(),[Q]=V2(U0),X=R4(void 0);Y2(()=>()=>X.current?.(),[]),Y2(()=>d_(()=>Q.read(()=>_.listThreads()),{onAnswered:({show:W})=>Z(W),onMissed:(W)=>{if(W!=="unreachable")Z((N)=>N??[])}}),[_,Q]);async function J(){let W=await Q.read(()=>_.listThreads()).catch(()=>{return});if(W)Z(W.show);return W?.listed}function Y(W){Z((N)=>l_(N??[],W))}function V(W,N){Z(Q.running(W,N))}function z(W,N){X.current?.();let q=W()?.id;if(!q)return;X.current=D0({threadId:q,listThreads:()=>_.listThreads(),selected:W,socketOpen:N,setTitle:(H)=>Z((U)=>U&&q0(U,q,H))})}async function G(W){await _.deleteThread(W),Z((N)=>N?W1(N,W):N)}function K(W){if(!Q.admits(W))return;Z((N)=>{let q=B0(N??[],W);return N||q.length?q:N})}return{threads:$,reload:J,upsert:Y,setRunning:V,followTitle:z,remove:G,applyEvent:K}}import{useState as z2}from"react";function K2(_){let[$,Z]=z2("chat"),[Q,X]=z2(!1);return{screen:$,sidebarOpen:Q,showChat:()=>{Z("chat"),X(!1)},openHistory:()=>_==="full"?X(!0):Z("threads"),closeHistory:()=>_==="full"?X(!1):Z("chat"),closeSidebar:()=>X(!1)}}import{forwardRef as w4,useEffect as T4,useImperativeHandle as v4,useRef as B2,useState as U2}from"react";function D(..._){return _.filter(Boolean).join(" ")}import{useState as k4}from"react";function W2(_,$){let[Z,Q]=k4(!1);return{dragging:Z,onDragOver:(X)=>{if(X.preventDefault(),_)Q(!0)},onDragLeave:(X)=>{if(!X.currentTarget.contains(X.relatedTarget))Q(!1)},onDrop:(X)=>{if(X.preventDefault(),Q(!1),_)$([...X.dataTransfer.files])},onPaste:(X)=>{let J=X.clipboardData.files;if(!_||!J.length)return;X.preventDefault(),$([...J])}}}var f={bubble:"M13.5 7.6c0 2.4-2.5 4.4-5.5 4.4-.6 0-1.2-.08-1.7-.23L3 13l.8-2.3C3 9.8 2.5 8.7 2.5 7.6 2.5 5.2 5 3.2 8 3.2s5.5 2 5.5 4.4Z",chevronDown:"M3 4.5L6 7.5L9 4.5",chevronDownLarge:"m5.75 8.25 4.25 4.25 4.25-4.25",file:["M4 1.5h5.172a2 2 0 0 1 1.414.586l2.328 2.328a2 2 0 0 1 .586 1.414V12.5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2Z","M9.5 1.5v2a2 2 0 0 0 2 2h2"]};import{jsx as n,jsxs as s_}from"react/jsx-runtime";function N2(){let{queue:_,t:$,locale:Z}=F();if(!_.items.length)return null;return n("div",{className:"cortex-attachment-queue",children:_.items.map((Q)=>s_("div",{className:D("cortex-attachment-chip",Q.status==="error"&&"cortex-attachment-chip--error"),children:[Q.status==="uploading"||Q.status==="deleting"?s_("svg",{className:"cortex-attachment-chip__spinner",viewBox:"0 0 16 16",fill:"none",children:[n("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"2",className:"cortex-attachment-chip__spinner-track"}),n("path",{d:"M14 8a6 6 0 0 0-6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):Q.status==="error"?s_("svg",{viewBox:"0 0 16 16",className:"cortex-attachment-chip__icon",fill:"none",children:[n("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"1.25"}),n("path",{d:"M8 4.75v4M8 10.75v.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})]}):s_("svg",{viewBox:"0 0 16 16",className:"cortex-attachment-chip__icon",fill:"none",children:[n("path",{d:f.file[0],stroke:"currentColor",strokeWidth:"1.25"}),n("path",{d:f.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),s_("span",{className:"cortex-attachment-chip__text",children:[n("span",{className:"cortex-attachment-chip__name",children:n("bdi",{children:Q.filename})}),Q.status==="error"&&n("span",{className:"cortex-attachment-chip__reason",children:o1(Q,Z)})]}),n("button",{type:"button",onClick:()=>_.remove(Q.localId),className:"cortex-attachment-chip__remove",disabled:Q.status==="deleting","aria-label":$("translate_remove_attachment"),children:n("svg",{viewBox:"0 0 16 16",fill:"none",children:n("path",{d:"M4.5 4.5l7 7m0-7l-7 7",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]},Q.localId))})}import{useRef as I4}from"react";import{jsx as D_,jsxs as H2,Fragment as S4}from"react/jsx-runtime";var y4=x_.join(",");function q2({attachmentsEnabled:_,canSend:$,onSend:Z}){let{t:Q,queue:X}=F(),J=I4(null);return H2("div",{className:"cortex-widget__input-actions",children:[_&&H2(S4,{children:[D_("button",{type:"button",onClick:()=>J.current?.click(),className:"cortex-widget__attach-btn","aria-label":Q("translate_attach_files"),children:D_("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:D_("path",{d:"M10.5 5.5 6.2 9.8a1.4 1.4 0 0 0 2 2l4.6-4.6a2.8 2.8 0 0 0-4-4L4.2 7.8a4.2 4.2 0 0 0 6 6l4-4",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),D_("input",{ref:J,type:"file",multiple:!0,accept:y4,onChange:(Y)=>{X.accept([...Y.target.files??[]]),Y.target.value=""},className:"cortex-widget__file-input"})]}),D_("button",{onClick:Z,"aria-label":Q("translate_send"),className:D("cortex-widget__send-btn",!$&&"cortex-widget__send-btn--empty",$&&"cortex-widget__send-btn--ready"),disabled:!$,children:D_("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__send-icon",children:D_("path",{d:"M3 8h10M9 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]})}import{useLayoutEffect as C4}from"react";import{jsx as b4}from"react/jsx-runtime";function D2(_){let{t:$}=F();C4(()=>{let Q=_.inputRef.current;if(!Q)return;Q.style.height="0px",Q.style.height=`${Q.scrollHeight}px`},[_.inputRef,_.value]);function Z(Q){if(Q.key==="Enter"&&!Q.shiftKey)Q.preventDefault(),_.onSubmit()}return b4("textarea",{ref:_.inputRef,onKeyDown:Z,onPaste:_.onPaste,value:_.value,onChange:(Q)=>_.onChange(Q.target.value),placeholder:_.dragging?$("translate_drop_files_here"):_.disabled?"":$("translate_type_a_message"),disabled:_.disabled,rows:1,className:D("cortex-widget__textarea",_.disabled&&"cortex-widget__textarea--disabled")})}import{jsx as y_,jsxs as p0}from"react/jsx-runtime";function j4(_){let[$,Z]=U2(_??""),[Q,X]=U2(_);if(_!==Q){if(X(_),_&&!$)Z(_)}return[$,Z]}var F2=w4(function($,Z){let{t:Q,queue:X,send:J,abort:Y,capabilities:V}=F(),{isAgentWorking:z,awaitsApproval:G,returnedDraft:K}=I_(),W=V?.attachments??!1,[N,q]=j4(K),H=W2(W,X.accept),U=B2(null);v4(Z,()=>({focusInput:()=>U.current?.focus()}));let E=B2(z);T4(()=>{if(E.current&&!z)U.current?.focus();E.current=z},[z]);let M=!G&&!X.busy&&(Boolean(N.trim())||X.hasReady);function R(){if(z||!M)return;let P=N.trim()||Q("translate_attachment_caption"),B=X.consumeReady();if(U.current)v0(U.current,P);q(""),J(P,B.map((L)=>L.summary))}return p0("div",{className:"cortex-widget__input-area",onDragOver:H.onDragOver,onDragLeave:H.onDragLeave,onDrop:H.onDrop,children:[y_(N2,{}),p0("div",{className:D("cortex-widget__input-box",z&&"cortex-widget__input-box--disabled",!z&&"cortex-widget__input-box--enabled",H.dragging&&"cortex-widget__input-box--dragging"),children:[y_(D2,{inputRef:U,value:N,onChange:q,onSubmit:R,onPaste:H.onPaste,disabled:z,dragging:H.dragging}),z?p0("button",{type:"button","aria-label":Q("translate_stop"),onClick:()=>void Y(),className:"cortex-stop-btn",children:[y_("span",{className:"cortex-stop-btn__ring"}),y_("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"cortex-stop-btn__icon",children:y_("rect",{x:"1",y:"1",width:"10",height:"10",rx:"2.5",fill:"currentColor"})})]}):y_(q2,{attachmentsEnabled:W,canSend:M,onSend:R})]})]})});import{jsx as d0}from"react/jsx-runtime";function U1({capabilities:_,composerRef:$}){let{t:Z,unanswered:Q}=F();if(_===void 0)return Q?d0("p",{className:"cortex-widget__messages-disabled",children:Z(N0[Q])}):null;return _.messages===!1?d0("p",{className:"cortex-widget__messages-disabled",children:Z("translate_messages_disabled")}):d0(F2,{ref:$})}import{jsx as u,jsxs as F1}from"react/jsx-runtime";function L2(_){let{t:$}=F(),Z=u("button",{type:"button",onClick:_.newChat,"aria-label":$("translate_new_chat"),title:$("translate_new_chat"),className:"cortex-widget__header-btn cortex-widget__new-btn",children:u("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:u("path",{d:"M8 3v10M3 8h10",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})});if(_.screen==="threads")return F1("div",{className:"cortex-widget__threads-header",children:[u("button",{type:"button",onClick:_.closeHistory,"aria-label":$("translate_back"),className:"cortex-widget__header-btn cortex-widget__back-btn",children:u("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"cortex-widget__back-icon",children:u("path",{d:"M10 3L5 8l5 5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),F1("div",{children:[u("h2",{className:"cortex-widget__threads-title",children:$("translate_history")}),_.threadCount!==void 0&&u("p",{className:"cortex-widget__threads-count",children:$("translate_conversations",{count:_.threadCount})})]}),Z]});return F1("div",{className:"cortex-widget__chat-header",children:[u("button",{onClick:_.openHistory,className:"cortex-widget__sidebar-toggle-btn",children:u("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:u("path",{d:"M2.5 4h11M2.5 8h11M2.5 12h11",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),u("div",{className:"cortex-widget__chat-title-wrap",children:u("p",{className:"cortex-widget__chat-title",children:_.title??_.agentName??$("translate_new_chat")})}),_.debug.shown&&u("button",{onClick:_.toggleDebug,className:D("cortex-widget__debug-btn",_.debug.on?"cortex-widget__debug-btn--on":"cortex-widget__debug-btn--off"),children:_.debug.on?$("translate_debug"):$("translate_normal")}),Z,u("button",{type:"button",onClick:_.openHistory,"aria-label":$("translate_history"),title:$("translate_history"),className:"cortex-widget__header-btn cortex-widget__history-btn",children:F1("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[u("circle",{cx:"8",cy:"8",r:"5.75",stroke:"currentColor",strokeWidth:"1.3"}),u("path",{d:"M8 5v3l2 1.5",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})]})})]})}import{jsx as X_,jsxs as O2}from"react/jsx-runtime";function P2(_){let{locale:$,t:Z}=F();return O2("div",{className:"cortex-widget__landing",children:[X_("div",{className:"cortex-widget__landing-icon",children:X_("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",children:X_("path",{d:f.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),X_("p",{className:"cortex-widget__landing-greeting",children:_.greeting}),!!_.suggestions.length&&X_("div",{className:"cortex-widget__landing-chips",children:_.suggestions.map((Q,X)=>X_("button",{type:"button",onClick:()=>_.send(Q.prompt),className:"cortex-widget__landing-chip",children:Q.title},X))}),_.composer,!!_.threads?.length&&X_("div",{className:"cortex-widget__landing-recent",children:_.threads.slice(0,2).map((Q)=>{let X=Q_(Q.updatedAt,$);return O2("button",{type:"button",onClick:()=>_.openThread(Q),className:"cortex-widget__landing-recent-item",children:[X_("p",{className:"cortex-widget__landing-recent-title",children:Q.title??Z("translate_untitled")}),X&&X_("p",{className:"cortex-widget__landing-recent-time",children:X})]},Q.id)})})]})}import{useCallback as J1,useEffect as o0,useLayoutEffect as s0,useMemo as M3,useRef as L_,useState as t0}from"react";import{memo as O3}from"react";import{Fragment as U3}from"react";import{useRef as f4,useState as g4}from"react";import{jsx as S_,jsxs as m4}from"react/jsx-runtime";function s({value:_,className:$}){let{t:Z}=F(),[Q,X]=g4(!1),J=f4(null);async function Y(V){V.stopPropagation(),V.preventDefault();try{if(await navigator.clipboard.writeText(_),X(!0),J.current)clearTimeout(J.current);J.current=setTimeout(()=>X(!1),1500)}catch{}}return S_("span",{className:D("cortex-copy-btn",$),children:S_("button",{className:D("cortex-copy-btn__button",Q&&"cortex-copy-btn__button--copied"),onClick:(V)=>void Y(V),"aria-label":Q?Z("translate_copied"):Z("translate_copy"),type:"button",children:Q?S_("svg",{className:"cortex-copy-btn__icon cortex-copy-btn__icon--check",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:S_("path",{d:"M5 13l4 4L19 7",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}):m4("svg",{className:"cortex-copy-btn__icon",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:[S_("rect",{x:"9",y:"9",width:"12",height:"12",rx:"2",stroke:"currentColor",strokeWidth:"2"}),S_("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]})})})}import{jsx as L1,jsxs as M2}from"react/jsx-runtime";function O1({label:_}){return M2("div",{className:"cortex-aborted-flag",children:[L1("span",{className:"cortex-aborted-flag__line"}),M2("span",{className:"cortex-aborted-flag__label",children:[L1("svg",{className:"cortex-aborted-flag__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:L1("path",{d:"M6 1.5v5M6 8.75v.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})}),_]}),L1("span",{className:"cortex-aborted-flag__line"})]})}import{jsx as C_,jsxs as A2}from"react/jsx-runtime";function E2(_){let{api:$,t:Z}=F();async function Q(X){let{blob:J,name:Y}=await $.downloadAttachment(X);a_(J,Y)}return C_("div",{className:D("cortex-message-attachments",_.isUser&&"cortex-message-attachments--user"),children:_.attachments.map((X)=>A2("button",{type:"button",onClick:()=>void Q(X.id),className:"cortex-message-attachment","aria-label":`${Z("translate_download")}: ${X.filename}`,children:[A2("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__icon",fill:"none",children:[C_("path",{d:f.file[0],stroke:"currentColor",strokeWidth:"1.25"}),C_("path",{d:f.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),C_("span",{className:"cortex-message-attachment__name",children:X.filename}),C_("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__dl-icon",fill:"none",children:C_("path",{d:"M8 3v7m0 0L5.5 7.5M8 10l2.5-2.5M3 13h10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},X.id))})}import{useRef as u4,useState as t_}from"react";import{useMemo as x4,useState as h4}from"react";import{jsx as r,jsxs as B_,Fragment as P1}from"react/jsx-runtime";function W_({data:_,expandDepth:$,className:Z}){let Q=x4(()=>k_(_),[_]),[X,J]=h4({});function Y(z,G){return X[z]??G>=$}function V(z,G){J((K)=>({...K,[z]:!Y(z,G)}))}return r("div",{className:D("cortex-json-tree",Z),children:r(R2,{value:Q,path:"$",depth:0,isCollapsed:Y,toggle:V})})}function R2({value:_,path:$,depth:Z,isCollapsed:Q,toggle:X}){let J=C0(_,$);if(J.kind==="primitive")return r("span",{className:J.className,children:J.text});if(J.entries.length===0)return B_("span",{className:"cortex-json-tree__bracket",children:[J.open,J.close]});let Y=Q($,Z);function V(z){X($,Z),z.stopPropagation()}return B_(P1,{children:[B_("span",{className:"cortex-json-tree__toggle",onClick:V,role:"button",children:[r("span",{className:D("cortex-json-tree__arrow",Y&&"cortex-json-tree__arrow--collapsed"),children:"▾"}),r("span",{className:"cortex-json-tree__bracket",children:J.open})]}),Y?B_(P1,{children:[r("span",{className:"cortex-json-tree__collapsed-hint",onClick:V,role:"button",children:J.summary}),r("span",{className:"cortex-json-tree__bracket",children:J.close})]}):B_(P1,{children:[r("div",{className:"cortex-json-tree__indent",children:J.entries.map((z,G)=>B_("div",{className:"cortex-json-tree__line",children:[z.key!==null&&B_(P1,{children:[r("span",{className:"cortex-json-tree__key",children:`"${z.key}"`}),r("span",{className:"cortex-json-tree__colon",children:": "})]}),r(R2,{value:z.value,path:z.path,depth:Z+1,isCollapsed:Q,toggle:X}),G<J.entries.length-1&&r("span",{className:"cortex-json-tree__comma",children:","})]},z.path))}),r("span",{className:"cortex-json-tree__bracket",children:J.close})]})]})}function S(_){return _.toLocaleString("en-US")}import{jsx as b_,jsxs as w_}from"react/jsx-runtime";function k2({usage:_}){let{t:$}=F();return w_("div",{className:"cortex-llm-inspector__usage-rows",children:[w_("div",{className:"cortex-llm-inspector__usage-row",children:[b_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_input")}),b_("span",{className:"cortex-llm-inspector__usage-val",children:S(_.input.total)}),w_("span",{className:"cortex-llm-inspector__usage-detail",children:[$("translate_fresh")," ",S(_.input.noCache)," · ",$("translate_read")," ",S(_.input.cacheRead)," · ",$("translate_write")," ",S(_.input.cacheWrite)]})]}),w_("div",{className:"cortex-llm-inspector__usage-row",children:[b_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_output")}),b_("span",{className:"cortex-llm-inspector__usage-val",children:S(_.output.total)}),w_("span",{className:"cortex-llm-inspector__usage-detail",children:[$("translate_text")," ",S(_.output.text)," · ",$("translate_reasoning")," ",S(_.output.reasoning)]})]}),w_("div",{className:"cortex-llm-inspector__usage-row cortex-llm-inspector__usage-row--total",children:[b_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_total")}),b_("span",{className:"cortex-llm-inspector__usage-val",children:S(_.total)})]})]})}import{jsx as I2,jsxs as M1}from"react/jsx-runtime";function y2({usage:_}){let $=o_(_);return M1("span",{className:"cortex-llm-inspector__step-metrics",children:[M1("span",{className:"cortex-llm-inspector__metric",children:[I2("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--input"}),S(_.input.total)]}),M1("span",{className:"cortex-llm-inspector__metric",children:[I2("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--output"}),S(_.output.total)]}),$!==null&&M1("span",{className:"cortex-llm-inspector__cache-pct",children:[$,"%"]})]})}import{jsx as T,jsxs as N_}from"react/jsx-runtime";function S2({messageId:_}){let{t:$,api:Z,selectedThread:Q}=F(),[X,J]=t_(!1),[Y,V]=t_(!1),[z,G]=t_([]),[K,W]=t_(null),[N,q]=t_({}),H=u4(!1);async function U(){if(!H.current&&Q){V(!0);try{G(await Z.listLlmRequests(Q.id,_))}finally{V(!1),H.current=!0}}J((B)=>!B)}function E(B){W((L)=>L===B?null:B)}function M(B){return N[B]??"prompt"}function R(B,L){q((O)=>({...O,[B]:L}))}function P(B){return M(B.id)==="prompt"?B.prompt:B.output}return N_("div",{className:D("cortex-llm-inspector",X&&"cortex-llm-inspector--open"),children:[N_("button",{className:"cortex-llm-inspector__trigger",onClick:()=>void U(),children:[T("svg",{className:"cortex-llm-inspector__icon",width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:T("path",{d:"M6 2a4 4 0 1 0 0 8 4 4 0 0 0 0-8ZM0 6a6 6 0 1 1 10.89 3.477l4.817 4.816a1 1 0 0 1-1.414 1.414l-4.816-4.816A6 6 0 0 1 0 6Z",fill:"currentColor"})}),T("span",{children:$("translate_inspect_llm_requests")}),Y?T("span",{className:"cortex-llm-inspector__loading",children:$("translate_loading")}):z.length>0?T("span",{className:"cortex-llm-inspector__badge",children:z.length}):null,T("svg",{className:"cortex-llm-inspector__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:T("path",{d:f.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),T("div",{className:"cortex-llm-inspector__panel-wrapper",children:T("div",{className:"cortex-llm-inspector__panel-inner",children:N_("div",{className:"cortex-llm-inspector__panel",children:[z.length===0&&!Y&&T("div",{className:"cortex-llm-inspector__empty",children:$("translate_no_llm_requests")}),z.map((B,L)=>N_("div",{className:D("cortex-llm-inspector__step",K===B.id&&"cortex-llm-inspector__step--expanded"),children:[N_("button",{className:"cortex-llm-inspector__step-header",onClick:()=>E(B.id),children:[T("span",{className:"cortex-llm-inspector__step-label",children:$("translate_step_n",{number:L+1})}),B.tokenUsage&&T(y2,{usage:B.tokenUsage}),T("svg",{className:"cortex-llm-inspector__step-chevron",width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",children:T("path",{d:f.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),T("div",{className:"cortex-llm-inspector__step-body-wrapper",children:T("div",{className:"cortex-llm-inspector__step-body-inner",children:N_("div",{className:"cortex-llm-inspector__step-body",children:[B.tokenUsage&&T(k2,{usage:B.tokenUsage}),N_("div",{className:"cortex-llm-inspector__tabs",children:[T("button",{className:D("cortex-llm-inspector__tab",M(B.id)==="prompt"&&"cortex-llm-inspector__tab--active"),onClick:()=>R(B.id,"prompt"),children:$("translate_request")}),T("button",{className:D("cortex-llm-inspector__tab",M(B.id)==="response"&&"cortex-llm-inspector__tab--active"),onClick:()=>R(B.id,"response"),children:$("translate_response")})]}),N_("div",{className:"cortex-llm-inspector__json-pane",children:[T(s,{className:"cortex-llm-inspector__json-copy",value:w0(P(B))}),T(W_,{data:b0(P(B)),expandDepth:2})]})]})})})]},B.id))]})})})]})}import{useState as c4}from"react";import{jsx as y,jsxs as g}from"react/jsx-runtime";function C2({usage:_,modelId:$}){let{t:Z}=F(),[Q,X]=c4(!1),J=o_(_)??0;return g("div",{className:D("cortex-token-usage",Q&&"cortex-token-usage--expanded"),children:[g("button",{className:"cortex-token-usage__summary",onClick:()=>X((Y)=>!Y),children:[g("span",{className:"cortex-token-usage__total",children:[y("span",{className:"cortex-token-usage__total-number",children:S(_.total)}),y("span",{className:"cortex-token-usage__total-label",children:Z("translate_tokens")})]}),$?y("span",{className:"cortex-token-usage__model",children:$}):null,g("span",{className:"cortex-token-usage__pills",children:[g("span",{className:"cortex-token-usage__pill",children:[y("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),S(_.input.total)]}),g("span",{className:"cortex-token-usage__pill",children:[y("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),S(_.output.total)]})]}),J>0&&g("span",{className:"cortex-token-usage__cache-badge",children:[J,"%"]}),y("svg",{className:"cortex-token-usage__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:y("path",{d:f.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),y("div",{className:"cortex-token-usage__details",children:y("div",{className:"cortex-token-usage__details-inner",children:g("div",{className:"cortex-token-usage__columns",children:[g("div",{className:"cortex-token-usage__col",children:[g("div",{className:"cortex-token-usage__col-header",children:[y("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),y("span",{className:"cortex-token-usage__col-label",children:Z("translate_input")}),y("span",{className:"cortex-token-usage__col-total",children:S(_.input.total)})]}),g("div",{className:"cortex-token-usage__rows",children:[_.input.noCache?g("div",{className:"cortex-token-usage__row",children:[y("span",{className:"cortex-token-usage__row-label",children:Z("translate_fresh")}),y("span",{className:"cortex-token-usage__row-value",children:S(_.input.noCache)})]}):null,_.input.cacheRead?g("div",{className:"cortex-token-usage__row",children:[y("span",{className:"cortex-token-usage__row-label",children:Z("translate_cache_read")}),y("span",{className:"cortex-token-usage__row-value",children:S(_.input.cacheRead)})]}):null,_.input.cacheWrite?g("div",{className:"cortex-token-usage__row",children:[y("span",{className:"cortex-token-usage__row-label",children:Z("translate_cache_write")}),y("span",{className:"cortex-token-usage__row-value",children:S(_.input.cacheWrite)})]}):null]}),J>0&&g("div",{className:"cortex-token-usage__cache-bar-row",children:[y("div",{className:"cortex-token-usage__cache-bar",children:y("div",{className:"cortex-token-usage__cache-fill",style:{width:`${J}%`}})}),y("span",{className:"cortex-token-usage__cache-label",children:Z("translate_n_percent_cached",{percent:J})})]})]}),g("div",{className:"cortex-token-usage__col",children:[g("div",{className:"cortex-token-usage__col-header",children:[y("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),y("span",{className:"cortex-token-usage__col-label",children:Z("translate_output")}),y("span",{className:"cortex-token-usage__col-total",children:S(_.output.total)})]}),g("div",{className:"cortex-token-usage__rows",children:[_.output.text?g("div",{className:"cortex-token-usage__row",children:[y("span",{className:"cortex-token-usage__row-label",children:Z("translate_text")}),y("span",{className:"cortex-token-usage__row-value",children:S(_.output.text)})]}):null,_.output.reasoning?g("div",{className:"cortex-token-usage__row",children:[y("span",{className:"cortex-token-usage__row-label",children:Z("translate_reasoning")}),y("span",{className:"cortex-token-usage__row-value",children:S(_.output.reasoning)})]}):null]})]})]})})})]})}import{jsx as b2,jsxs as p4}from"react/jsx-runtime";function w2({messageId:_,isAssistant:$,metadata:Z}){let{tokenUsage:Q}=Z;if(!Q&&!$)return null;return p4("div",{className:"cortex-message-debug-zone",children:[Q&&b2(C2,{usage:Q,modelId:Z.modelId}),$&&b2(S2,{messageId:_})]})}import{jsx as t,jsxs as e_}from"react/jsx-runtime";function T2(_){let{reasoningPart:$,streaming:Z=!1}=_,{t:Q}=F();return e_("details",{className:"cortex-reasoning-details",children:[e_("summary",{className:"cortex-reasoning-details__summary",children:[e_("div",{className:"cortex-reasoning-details__header",children:[t("span",{className:"cortex-reasoning-details__icon",children:e_("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:[t("path",{d:"M10 2C6.686 2 4 4.686 4 8c0 1.655.672 3.154 1.757 4.243.362.363.576.858.576 1.371V14.5a1 1 0 0 0 1 1h5.334a1 1 0 0 0 1-1v-.886c0-.513.214-1.008.576-1.371A5.978 5.978 0 0 0 16 8c0-3.314-2.686-6-6-6Z",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}),t("path",{d:"M7.5 17.5h5M8.5 8a2 2 0 0 1 2-2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})]})}),t("div",{className:"cortex-reasoning-details__title-group",children:e_("div",{className:"cortex-reasoning-details__title-row",children:[t("div",{className:"cortex-reasoning-details__title",children:Q("translate_reasoning")}),t("span",{className:D("cortex-reasoning-details__badge",Z?"cortex-reasoning-details__badge--streaming":"cortex-reasoning-details__badge--done"),children:Z?Q("translate_streaming"):Q("translate_done")})]})})]}),t("span",{className:"cortex-reasoning-details__chevron","aria-hidden":"true",children:t("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:t("path",{d:f.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),t("div",{className:"cortex-reasoning-details__body",children:t("div",{className:"cortex-reasoning-details__content",children:t("pre",{dir:"auto",className:"cortex-reasoning-details__pre",children:$.content.trim()?$.content:Q("translate_no_reasoning")})})})]})}import{useEffect as h2,useMemo as Z3,useRef as i0,useState as Q3}from"react";import{useEffect as i4,useState as v2}from"react";import{useRef as d4,useState as l4}from"react";import{jsx as J_,jsxs as A1}from"react/jsx-runtime";function T_(_){let{label:$,ready:Z=!0,actions:Q,expanded:X,children:J}=_,{t:Y}=F(),V=d4(null),[z,G]=l4(!1);return A1("div",{className:"cortex-expandable",children:[Z&&A1("div",{className:"cortex-expandable__toolbar",role:"group","aria-label":$,children:[Q,J_("button",{type:"button",className:"cortex-expandable__action","aria-label":Y("translate_expand",{name:$}),title:Y("translate_expand",{name:$}),onClick:()=>{G(!0),V.current?.showModal()},children:J_("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:J_("path",{d:"M9.5 2.5h4v4M6.5 13.5h-4v-4M13.5 2.5 9 7M2.5 13.5 7 9",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),J_("div",{className:"cortex-expandable__content",children:J}),A1("dialog",{ref:V,className:"cortex-expandable__dialog","aria-label":$,closedby:"any",onClose:()=>G(!1),children:[A1("div",{className:"cortex-expandable__head",children:[J_("span",{className:"cortex-expandable__title",children:$}),Q,J_("button",{type:"button",className:"cortex-expandable__action","aria-label":Y("translate_close"),title:Y("translate_close"),onClick:()=>V.current?.close(),children:J_("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:J_("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})})]}),z&&J_("div",{className:"cortex-expandable__body",children:X})]})]})}import{jsx as _1,jsxs as n4}from"react/jsx-runtime";function j2(_){let{id:$,alt:Z,attachment:Q}=_,{api:X,t:J}=F(),[Y,V]=v2(),[z,G]=v2(!1);if(i4(()=>{let K,W=!1;return V(void 0),G(!1),X.downloadAttachment($).then(({blob:N})=>{if(W)return;K=URL.createObjectURL(N),V(K)},()=>{if(!W)G(!0)}),()=>{if(W=!0,K)URL.revokeObjectURL(K)}},[X,$]),z)return _1("p",{className:"cortex-attachment-image__caption",children:Z?J("translate_image_unavailable_alt",{alt:Z}):J("translate_image_unavailable")});if(!Y)return null;return n4("figure",{className:"cortex-attachment-image",children:[_1(T_,{label:Q?.filename||Z||J("translate_image"),expanded:_1("img",{className:"cortex-attachment-image__expanded",src:Y,alt:Z}),children:_1("img",{src:Y,alt:Z})}),Q&&_1("figcaption",{className:"cortex-attachment-image__caption",children:Q.filename})]})}import{useEffect as r4,useRef as a4,useState as l0}from"react";import{jsx as d,jsxs as $1,Fragment as t4}from"react/jsx-runtime";function o4(_){let{t:$}=F();if(!_.pending&&!_.debugMode)return null;return $1("div",{className:"cortex-media-block__head",children:[_.debugMode&&d("span",{className:"cortex-media-block__lang",children:_.language}),_.pending&&d("span",{className:"cortex-media-block__pending",children:$(H1(_.language).pending)}),_.debugMode&&_.closed&&$1("span",{className:"cortex-media-block__actions",children:[_.onToggleSource&&d("button",{type:"button",className:"cortex-media-block__action","aria-pressed":_.sourceShown,onClick:_.onToggleSource,children:$("translate_media_source")}),d(s,{value:_.source})]})]})}function f2(_){let{debugMode:$,t:Z}=F();return d("div",{className:"cortex-media-block__body",children:$1("p",{className:"cortex-media-block__error",children:[_.cutOff?Z("translate_media_cut_off"):Z("translate_media_failed"),!_.cutOff&&$&&` ${_.reason}`]})})}function g2(_){let{language:$,source:Z,closed:Q,hidden:X,onError:J}=_,{config:Y,scheme:V,locale:z}=F(),G=a4(null);return r4(()=>{J(void 0);let K=G.current;if(!Q||!V||!K)return;return q1(K,{language:$,source:Z,context:{scheme:V,locale:z},overrides:Y.mediaRenderers,onError:J})},[$,Z,Q,V,z,Y.mediaRenderers,J]),d("div",{ref:G,hidden:X,className:D("cortex-media-block__body",`cortex-media-block__body--${$}`)})}function s4(_){let[$,Z]=l0();return $1(t4,{children:[$&&d(f2,{cutOff:!1,reason:$}),d(g2,{language:_.language,source:_.source,closed:!0,hidden:Boolean($),onError:Z})]})}function m2(_){let{language:$,source:Z,closed:Q,streaming:X}=_,{debugMode:J,t:Y}=F(),[V,z]=l0(),[G,K]=l0(!1),W=!Q&&!X,N=W||Boolean(V);return $1("div",{className:"cortex-media-block",children:[d(o4,{language:$,source:Z,pending:!Q&&X,closed:Q,debugMode:J,sourceShown:G,onToggleSource:N?void 0:()=>K((H)=>!H)}),N&&d(f2,{cutOff:W,reason:V}),d(T_,{label:Y(H1($).title),ready:Q&&!N,expanded:d(s4,{language:$,source:Z}),children:d(g2,{language:$,source:Z,closed:Q,hidden:N,onError:z})}),J&&(N||G)&&d("pre",{dir:"ltr",className:"cortex-media-block__source",children:Z})]})}import{useMemo as e4,useRef as _3}from"react";import{jsx as U_}from"react/jsx-runtime";var $3="M8 2.5v7.5M5 7l3 3 3-3M2.75 11v1.25a1.25 1.25 0 0 0 1.25 1.25h8a1.25 1.25 0 0 0 1.25-1.25V11";function x2(_){let{t:$}=F(),Z=_3(null),Q=e4(()=>({__html:i_(_.text)}),[_.text]);function X(){let J=Z.current?.querySelector("table");if(J)a_(O0(L0(J)),"table.xlsx")}return U_("div",{className:"cortex-table-block",children:U_(T_,{label:$("translate_table"),ready:_.closed,actions:U_("button",{type:"button",className:"cortex-expandable__action","aria-label":$("translate_table_export"),title:$("translate_table_export"),onClick:X,children:U_("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:U_("path",{d:$3,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),expanded:U_("div",{className:"cortex-table-block__expanded",dangerouslySetInnerHTML:Q}),children:U_("div",{ref:Z,dangerouslySetInnerHTML:Q})})})}import{jsx as v_}from"react/jsx-runtime";function u2(_){let{role:$,textPart:Z,streaming:Q=!1,attachments:X=[]}=_,{config:J}=F(),Y=$==="assistant"&&Q?"":Z.content,[V,z]=Q3({text:Y,fading:[]}),G=i0(Y),K=i0(null),W=i0(!0);h2(()=>{function H(U,E){G.current=U,z((M)=>M.text===U&&!M.fading.length&&!E.length?M:{text:U,fading:E})}if($!=="assistant"||!Q){K.current?.destroy(),K.current=null,H(Z.content,[]),W.current=!1;return}if(!K.current)K.current=new K_(H),K.current.seed(G.current);if(W.current){W.current=!1,K.current.seed(Z.content);return}K.current.update(Z.content,!1)},[$,Q,Z]),h2(()=>()=>{K.current?.destroy(),K.current=null},[]);let N=Z3(()=>{let H=$==="assistant"?F0(V.text,I0(J.mediaRenderers)):[{kind:"markdown",text:V.text}];return H.map((U,E)=>U.kind==="markdown"?{...U,html:{__html:i_(U.text,E===H.length-1?V.fading:[])}}:U)},[$,V,J.mediaRenderers]),q=Q||V.text!==Z.content;return v_("div",{className:D("cortex-text-part",$==="assistant"&&"cortex-text-part--assistant",$==="user"&&"cortex-text-part--user"),children:v_("div",{className:D("cortex-text-bubble",$==="assistant"&&"cortex-text-bubble--assistant",$==="user"&&"cortex-text-bubble--user"),children:N.map((H,U)=>{switch(H.kind){case"markdown":return v_("div",{dangerouslySetInnerHTML:H.html},U);case"media":return v_(m2,{...H,streaming:q},U);case"table":return v_(x2,{text:H.text,closed:H.closed||!q},U);case"attachment":return v_(j2,{id:H.id,alt:H.alt,attachment:X.find((E)=>E.id.toLowerCase()===H.id)},U)}})})})}import{jsx as l,jsxs as H_}from"react/jsx-runtime";function c2({toolCallPart:_}){let{t:$}=F(),{state:Z,approval:Q}=_,X=_.output,J=x1(_);if(Z==="complete")return H_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--success",children:[H_("div",{className:"cortex-debug-tool__section-bar",children:[l("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--success",children:$("translate_output")}),l("span",{className:"cortex-debug-tool__section-lang",children:"json"}),l(s,{value:J})]}),l("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:l(W_,{data:X,expandDepth:2})})]});if(Z==="error")return H_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--error",children:[H_("div",{className:"cortex-debug-tool__section-bar",children:[l("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--error",children:$("translate_error")}),l(s,{value:J})]}),l("pre",{dir:"ltr",className:"cortex-debug-tool__error-pre",children:J})]});if(Z==="approval-requested")return H_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--approval",children:[H_("div",{className:"cortex-debug-tool__section-bar",children:[l("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--approval",children:$("translate_approval_requested")}),l("span",{className:"cortex-debug-tool__section-lang",children:Q?.id})]}),l("div",{className:"cortex-debug-tool__message cortex-debug-tool__message--approval",children:$("translate_waiting_for_approval")})]});if(Z==="approval-responded")return H_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--approval",children:[H_("div",{className:"cortex-debug-tool__section-bar",children:[l("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--approval",children:$("translate_approval_response")}),l("span",{className:"cortex-debug-tool__section-lang",children:Q?.id})]}),l("div",{className:"cortex-debug-tool__message cortex-debug-tool__message--approval",children:$(Q?.approved?"translate_tool_approved":"translate_tool_response_received")})]});return null}import{jsx as X3,jsxs as J3}from"react/jsx-runtime";function p2({toolCallPart:_}){let{t:$}=F(),Z=m1(_);return J3("span",{className:D("cortex-debug-tool__state",Z.modifier&&`cortex-debug-tool__state--${Z.modifier}`),children:[Z.pulse&&X3("span",{className:D("cortex-debug-tool__pulse",Z.pulse==="violet"&&"cortex-debug-tool__pulse--violet")}),$(Z.labelKey)]})}import{jsx as x,jsxs as Y_}from"react/jsx-runtime";function d2({toolCallPart:_}){let{t:$}=F(),{codeSnippets:Z,remainingInput:Q,remainingInputText:X}=h1(_.input);return Y_("details",{className:"cortex-debug-tool","data-state":_.state,children:[x("summary",{className:"cortex-debug-tool__summary",children:Y_("div",{className:"cortex-debug-tool__header",children:[Y_("div",{className:"cortex-debug-tool__meta",children:[x("div",{className:"cortex-debug-tool__title-row",children:x("span",{className:"cortex-debug-tool__name",title:_.name,children:_.name})}),x("div",{className:"cortex-debug-tool__id-row",children:x("span",{className:"cortex-debug-tool__id",children:_.id})})]}),Y_("div",{className:"cortex-debug-tool__actions",children:[x(p2,{toolCallPart:_}),x("svg",{className:"cortex-debug-tool__chevron",width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:x("path",{d:f.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})}),Y_("div",{className:"cortex-debug-tool__body",children:[Z.map((J)=>Y_("div",{className:"cortex-debug-tool__section",children:[Y_("div",{className:"cortex-debug-tool__section-bar",children:[x("span",{className:"cortex-debug-tool__section-label",children:J.key}),x("span",{className:"cortex-debug-tool__section-lang",children:J.lang}),x(s,{value:J.value})]}),x("pre",{dir:"ltr",className:"cortex-debug-tool__pre",children:x("code",{className:"hljs",dangerouslySetInnerHTML:{__html:S0(J.value,J.lang)}})})]},J.key)),!!Q&&Y_("div",{className:"cortex-debug-tool__section",children:[Y_("div",{className:"cortex-debug-tool__section-bar",children:[x("span",{className:"cortex-debug-tool__section-label",children:$("translate_input")}),x("span",{className:"cortex-debug-tool__section-lang",children:"json"}),x(s,{value:X})]}),x("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:x(W_,{data:Q,expandDepth:2})})]}),x(c2,{toolCallPart:_})]})]})}import{useEffect as Y3,useRef as V3,useState as l2}from"react";import{jsx as Z1,jsxs as i2}from"react/jsx-runtime";function j_({activity:_,className:$}){let{t:Z}=F(),Q=c1(_),[X,J]=l2(0),[Y,V]=l2("idle"),z=V3(Q.length);return z.current=Q.length,Y3(()=>{let G,K;function W(){G=setTimeout(()=>{V("exiting"),G=setTimeout(()=>{J((N)=>(N+1)%z.current),V("enter-start"),K=requestAnimationFrame(()=>{V("entering"),G=setTimeout(()=>{V("idle"),W()},300)})},300)},2000)}return W(),()=>{if(G)clearTimeout(G);if(K)cancelAnimationFrame(K)}},[]),i2("div",{className:D("cortex-subtle-activity",$),children:[i2("div",{className:"cortex-subtle-activity__dots",children:[Z1("span",{className:"cortex-subtle-activity__dot"}),Z1("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d1"}),Z1("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d2"})]}),Z1("div",{className:"cortex-subtle-activity__label-mask",children:Z1("span",{className:D("cortex-subtle-activity__label",`cortex-subtle-activity__label--${Y}`),children:Z(Q[X])})})]})}import{useEffect as t2,useRef as n0,useState as s2}from"react";import{jsx as e,jsxs as f_,Fragment as G3}from"react/jsx-runtime";function n2({toolCallPart:_,asking:$}){let{t:Z,locale:Q,respondToApproval:X}=F(),{sentence:J,decision:Y,decisionKey:V}=u1(_,Q),z=`cortex-approval-${_.id}`,G=V6(_),K=Y==="pending",{state:W,active:N}=Z_(_);function q(H){X(G,H).catch(()=>{})}return f_("div",{className:D("cortex-approval-card",K&&"cortex-approval-card--asking"),children:[K?f_(G3,{children:[f_("div",{className:"cortex-approval-card__head",children:[e("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:e("path",{d:"M8 1.75 2.75 3.75v4c0 3 2.2 5.3 5.25 6.5 3.05-1.2 5.25-3.5 5.25-6.5v-4L8 1.75Z",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"})}),Z("translate_approval_needed")]}),e("p",{className:"cortex-approval-card__sentence",id:z,children:J})]}):f_("div",{className:"cortex-approval-card__line",children:[f_("span",{className:"cortex-tool-pill__icon","aria-hidden":"true",children:[e("span",{className:D("cortex-tool-pill__spinner",N&&"cortex-tool-pill__spinner--visible")}),e("svg",{className:D("cortex-tool-pill__svg cortex-tool-pill__svg--check",W==="complete"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:e("path",{d:"M5.5 10.5 L8.5 13.5 L14.5 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),e("svg",{className:D("cortex-tool-pill__svg cortex-tool-pill__svg--error",W==="error"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:e("path",{d:"M6.5 6.5 L13.5 13.5 M13.5 6.5 L6.5 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})]}),V&&e("span",{className:"cortex-approval-card__decision",children:Z(V)}),e("span",{className:"cortex-approval-card__summary",children:J})]}),K&&$&&f_("div",{className:"cortex-approval-card__foot",children:[e("button",{type:"button",className:"cortex-approval-card__button cortex-approval-card__button--approve","aria-describedby":z,onClick:()=>q(!0),children:Z("translate_approve")}),e("button",{type:"button",className:"cortex-approval-card__button","aria-describedby":z,onClick:()=>q(!1),children:Z("translate_deny")})]})]})}import{useEffect as r2,useRef as E1,useState as a2}from"react";import{jsx as v,jsxs as __}from"react/jsx-runtime";function o2({toolCallPart:_,setOutput:$}){let{t:Z}=F(),{state:Q,id:X,input:J}=_;if(Q==="complete"||Q==="error"){let Y=V0(_.output);return Y?v(K3,{position:Y}):__("div",{className:"cortex-tool-pill",children:[v("span",{className:"cortex-tool-pill__icon",children:v("svg",{className:D("cortex-tool-pill__svg cortex-tool-pill__svg--visible",Q==="error"&&"cortex-tool-pill__svg--error"),viewBox:"0 0 20 20",fill:"none",children:v("path",{d:"M6.5 6.5 L13.5 13.5 M13.5 6.5 L6.5 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}),v("span",{className:"cortex-tool-pill__title",children:Z("translate_location_not_shared")})]})}if(Q!=="input-complete")return null;return v(z3,{center:Y0(J),submit:$},X)}function z3({center:_,submit:$}){let{t:Z}=F(),Q=E1(null),X=E1(void 0),[J,Y]=a2(z1),V=E1({center:_,submit:$});V.current={center:_,submit:$},r2(()=>{let G=Q.current;if(!G)return;let K=X0(G,{center:V.current.center,onState:Y,submit:(W)=>V.current.submit(W)});return X.current=K,K.start(),()=>{if(K.dispose(),X.current===K)X.current=void 0}},[]);let z=G0(J);return __("div",{className:"cortex-location-input",children:[__("div",{className:"cortex-location-input__map",children:[v("div",{className:"cortex-location-input__canvas",ref:Q}),v("button",{type:"button",className:"cortex-location-input__locate","aria-label":Z("translate_location_locate"),title:Z("translate_location_locate"),disabled:J.locating||J.submitting,onClick:()=>X.current?.locate(),children:v(W3,{})})]}),__("div",{className:"cortex-location-input__foot",children:[J.position&&!J.deliveryFailed?v("span",{className:"cortex-location-input__coords",children:K1(J.position)}):__("span",{className:D("cortex-location-input__hint",z.failed&&"cortex-location-input__hint--failed"),children:[J.locating&&v("span",{className:"cortex-location-input__spinner"}),Z(z.key)]}),__("span",{className:"cortex-location-input__actions",children:[v("button",{type:"button",className:"cortex-location-input__skip",disabled:J.submitting,onClick:()=>X.current?.cancel(),children:Z("translate_location_skip")}),v("button",{type:"button",className:"cortex-location-input__send",disabled:!J.position||J.submitting,onClick:()=>X.current?.confirm(),children:Z("translate_location_send")})]})]})]})}function K3({position:_}){let{t:$}=F(),Z=E1(null),[Q,X]=a2(!1),{lat:J,lng:Y}=_;return r2(()=>{let V=Z.current;if(!V)return;return X(!1),J0(V,{lat:J,lng:Y},()=>X(!0))},[J,Y]),__("div",{className:"cortex-location-input cortex-location-input--settled",children:[__("div",{className:"cortex-location-input__map cortex-location-input__map--still",children:[v("div",{className:"cortex-location-input__canvas",ref:Z,hidden:Q}),Q&&v("span",{className:"cortex-location-input__still-failed",children:$("translate_location_map_failed")})]}),__("div",{className:"cortex-location-input__body",children:[__("span",{className:"cortex-location-input__title",children:[v("svg",{viewBox:"0 0 20 20",fill:"none",children:v("path",{d:"M5.5 10.5 L8.5 13.5 L14.5 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),$("translate_location_shared")]}),v("span",{className:"cortex-location-input__coords",children:K1(_)})]})]})}function W3(){return __("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:[v("circle",{cx:"10",cy:"10",r:"5.5"}),v("circle",{cx:"10",cy:"10",r:"1.6",fill:"currentColor",stroke:"none"}),v("path",{d:"M10 1.5v3M10 15.5v3M1.5 10h3M15.5 10h3"})]})}import{jsx as C,jsxs as Q1}from"react/jsx-runtime";var N3=new Map([[G1,o2]]);function e2({message:_,toolCallPart:$,agentWorking:Z}){let{config:Q,addToolResult:X}=F(),J=$.state==="input-complete"&&!Z,Y=J&&h_($)?.embed!==void 0,V=$.state==="approval-requested"&&!Z,z=Q.toolComponents?.[$.name]??(J||p($.state)?N3.get($.name):void 0);return C("div",{className:"cortex-tool-call-animated",children:z?C(z,{toolCallPart:$,message:_,setOutput:(G)=>X($.id,$.name,G)}):Y?C(H3,{toolCallPart:$}):C(_5,{toolCallPart:$,asking:V})})}function H3({toolCallPart:_}){let{api:$,t:Z,addToolResult:Q,selectedThread:X,config:J}=F(),Y=X?.id,[V,z]=s2({phase:"initiating"}),[G]=s2(J.trustSameOriginEmbeds),K=n0(void 0),W=n0({api:$,addToolResult:Q,toolName:_.name});if(W.current={api:$,addToolResult:Q,toolName:_.name},t2(()=>{if(!Y)return;let q=Z0({initiate:()=>W.current.api.initiateToolCall(Y,_.id),onState:z,submit:(U)=>W.current.addToolResult(_.id,W.current.toolName,U)});K.current=q,q.start();let H=(U)=>q.handleMessage(U);return window.addEventListener("message",H),()=>{if(window.removeEventListener("message",H),q.dispose(),K.current===q)K.current=void 0}},[_.id,Y]),!Y||V.phase==="unavailable")return C(_5,{toolCallPart:_,asking:!1});let N=Q1("div",{className:"cortex-client-tool-embed",children:[Q1("div",{className:"cortex-client-tool-embed__bar",children:[C("span",{children:Z("translate_client_tool_title")}),C("button",{type:"button",className:"cortex-client-tool-embed__cancel",onClick:()=>K.current?.cancel(),children:Z("translate_client_tool_cancel")})]}),V.phase==="embedded"?C("iframe",{className:"cortex-client-tool-embed__frame",src:V.embedUrl,sandbox:e1(V.embedUrl,window.location.origin,G),title:Z("translate_client_tool_title"),ref:(q)=>K.current?.setSource(q?.contentWindow),onLoad:(q)=>{if(!_0(V.embedUrl,window.location.origin,G)&&$0(q.currentTarget,window.location.origin))K.current?.terminate()}}):V.phase==="error"?Q1("div",{className:"cortex-client-tool-embed__status",children:[C("span",{children:Z("translate_client_tool_failed")}),C("button",{type:"button",className:"cortex-client-tool-embed__retry",onClick:()=>void K.current?.start(),children:Z("translate_client_tool_retry")})]}):C("div",{className:"cortex-client-tool-embed__status",children:Z("translate_client_tool_loading")})]});return V.phase==="embedded"&&V.surface==="modal"?C(q3,{label:Z("translate_client_tool_title"),onCancel:()=>K.current?.cancel(),children:N}):N}function q3({label:_,onCancel:$,children:Z}){let Q=n0(null);return t2(()=>{let X=Q.current;return X?.showModal(),()=>X?.close()},[]),C("dialog",{ref:Q,className:"cortex-client-tool-embed-dialog","aria-label":_,onCancel:(X)=>{X.preventDefault(),$()},children:Z})}function _5({toolCallPart:_,asking:$}){return Z_(_).gated?C(n2,{toolCallPart:_,asking:$}):C(D3,{toolCallPart:_})}function D3({toolCallPart:_}){let{t:$}=F(),{state:Z,active:Q,titleKey:X,statement:J,rows:Y}=Z_(_);return Q1("div",{className:"cortex-tool-pill",children:[Q1("span",{className:"cortex-tool-pill__icon",children:[C("span",{className:D("cortex-tool-pill__spinner",Q&&"cortex-tool-pill__spinner--visible")}),C("svg",{className:D("cortex-tool-pill__svg","cortex-tool-pill__svg--check",Z==="complete"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:C("path",{d:"M5.5 10.5 L8.5 13.5 L14.5 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),C("svg",{className:D("cortex-tool-pill__svg","cortex-tool-pill__svg--error",Z==="error"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:C("path",{d:"M6.5 6.5 L13.5 13.5 M13.5 6.5 L6.5 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})]}),C("span",{className:D("cortex-tool-pill__title",Z==="error"&&"cortex-tool-pill__title--error",Z==="starting"&&J&&"cortex-tool-pill__title--pending"),children:J??$(X)}),Y!==void 0&&C("span",{className:"cortex-tool-pill__meta",children:$("translate_rows",{count:Y})})]})}import{jsx as $5}from"react/jsx-runtime";function Z5({message:_,toolCallPart:$,agentWorking:Z}){if(!p($.state)&&!Z_($).statement){if($.name==="executeCode")return $5(j_,{activity:"code"})}return $5(e2,{toolCallPart:$,message:_,agentWorking:Z})}import{jsx as g_,jsxs as B3}from"react/jsx-runtime";function Q5(_){let{message:$,part:Z,debugMode:Q,animate:X,streaming:J,agentWorking:Y,attachments:V}=_,{t:z}=F();function G(){switch(Z.type){case"text":return g_(u2,{textPart:Z,role:$.role,streaming:J,attachments:V});case"thinking":return Q?g_(T2,{reasoningPart:Z,streaming:J}):g_(j_,{activity:"reasoning",className:"cortex-reasoning-animated"});case"tool-call":return Q?g_(d2,{toolCallPart:Z}):g_(Z5,{toolCallPart:Z,message:$,agentWorking:Y});default:return B3("p",{className:"cortex-unhandled-type",children:[z("translate_unhandled_type")," ",Z.type]})}}return g_("div",{className:D("cortex-message-part",X&&"cortex-message-part--animated",_.folded&&"cortex-message-part--folded"),"data-cortex-frontier":_.frontier?"":void 0,children:G()})}import{jsx as V_,jsxs as r0}from"react/jsx-runtime";function F3({isUser:_,clipboardText:$,createdAt:Z}){let{locale:Q}=F();return r0("div",{className:D("cortex-message-actions",_&&"cortex-message-actions--user"),children:[$&&V_(s,{value:$}),Z&&V_("time",{className:"cortex-message-actions__time",dateTime:Z,children:Q_(Z,Q)})]})}function L3({count:_,animate:$,onOpen:Z}){let{t:Q}=F();return V_("button",{type:"button",className:D("cortex-tool-fold",$&&"cortex-message-part--animated"),onClick:Z,children:Q("translate_more_steps",{count:_})})}function X5(_){let{message:$,parts:Z,metadata:Q,debugMode:X,animate:J,isStreaming:Y,agentWorking:V,closesTurn:z,fold:G,onOpenRun:K,frontier:W}=_,{t:N}=F(),q=$.role==="assistant",H=$.role==="user",U=Y?Z.length-1:-1,E=Q?.attachments??[],M=Z.filter((k)=>G?.get(k)?.kind!=="hidden"),R=M.filter((k)=>k.type==="text").at(-1),P=R?Z.indexOf(R):-1,B=(H||q)&&!Y&&P>=0,L=R!==M.at(-1)?P:-1,O=B&&V_(F3,{isUser:H,clipboardText:d1(Z),createdAt:Q?.createdAt});return r0("div",{className:"cortex-message-parts",children:[Z.map((k,b)=>{let h=G?.get(k);return r0(U3,{children:[V_(Q5,{part:k,message:$,debugMode:X,animate:J,streaming:b===U,agentWorking:V,attachments:E,frontier:k===W,folded:h?.kind==="hidden"}),h?.kind==="more"&&V_(L3,{count:h.count,animate:J,onOpen:()=>K(h.runId)}),b===L&&O]},$.parts.indexOf(k))}),E.length>0&&V_(E2,{attachments:E,isUser:H}),Q?.isAborted&&V_(O1,{label:N("translate_aborted")}),L===-1&&O,X&&Q&&z&&V_(w2,{messageId:$.id,isAssistant:q,metadata:Q})]})}import{jsx as F_,jsxs as a0}from"react/jsx-runtime";function J5({firing:_,debugMode:$}){let{t:Z,locale:Q}=F();return a0("div",{className:D("cortex-trigger-block",$&&"cortex-trigger-block--debug"),children:[a0("div",{className:"cortex-trigger-block__head",children:[F_("svg",{className:"cortex-trigger-block__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:F_("path",{d:"M6.75 1 2.5 6.75h3l-.25 4.25L9.5 5.25h-3z",fill:"currentColor"})}),$&&F_("span",{children:Z("translate_trigger_fired")}),F_("span",{className:"cortex-trigger-block__name",children:_.name}),F_("time",{className:"cortex-trigger-block__time",dateTime:_.firedAt,children:Q_(_.firedAt,Q)})]}),$&&a0("details",{className:"cortex-trigger-block__payload",children:[F_("summary",{children:Z("translate_trigger_payload")}),F_(W_,{data:_.payload,expandDepth:2})]})]})}import{jsx as X1}from"react/jsx-runtime";var Y5=O3(function($){let{message:Z,metadata:Q,isStreaming:X,agentWorking:J,closesTurn:Y,debugMode:V,animate:z,fold:G,onOpenRun:K,workingTurn:W,frontier:N}=$,q=R_(Z.parts,{debugMode:V,isStreaming:X});if(Q?.trigger)return X1("div",{className:"cortex-message",children:X1(J5,{firing:Q.trigger,debugMode:V})});if(!p1(q,Q))return X1("div",{className:"cortex-message"});return X1("div",{className:D("cortex-message",W&&"cortex-message--working-turn"),children:X1(X5,{message:Z,parts:q,metadata:Q,debugMode:V,animate:z,isStreaming:X,agentWorking:J,closesTurn:Y,fold:G,onOpenRun:K,frontier:N})})});import{jsx as R1}from"react/jsx-runtime";var P3=[{role:"user",lines:[13,9]},{role:"assistant",lines:[16,18,12]},{role:"user",lines:[11]},{role:"assistant",lines:[14,15]}];function V5(){return R1("div",{className:"cortex-widget__messages-skeleton",children:P3.map((_,$)=>R1("div",{className:`cortex-widget__msg-skel cortex-widget__msg-skel--${_.role}`,children:R1("div",{className:`cortex-widget__msg-skel-bubble cortex-widget__msg-skel-bubble--${_.role}`,children:_.lines.map((Z)=>R1("div",{className:"cortex-skeleton cortex-widget__msg-skel-line",style:{width:`${Z}rem`}},Z))})},$))})}import{jsx as a,jsxs as Y1,Fragment as G5}from"react/jsx-runtime";function A3(_){let $=L_(null),Z=L_(null),Q=L_(!0),X=L_(!0),J=L_(!1),Y=J1(()=>{if(J.current)return;J.current=!0,queueMicrotask(()=>{J.current=!1;let K=$.current;if(!K)return;B1(K),X.current=!0,Q.current=!1})},[]);o0(()=>{let K=Z.current;if(!_||!$.current||!K)return;if(Y(),typeof ResizeObserver>"u")return;let W=0,N=new ResizeObserver(([q])=>{let H=q?.contentRect.height??0,U=H>W;if(W=H,U&&(Q.current||X.current))Y()});return N.observe(K),()=>N.disconnect()},[_,Y]);let V=J1(()=>{Q.current=!0},[]),z=J1(()=>{if(Q.current)Y()},[Y]);function G(){let K=$.current;if(K)X.current=f0(K)<100}return{containerRef:$,contentRef:Z,onScroll:G,pin:V,settlePinned:z}}function E3({pin:_,settlePinned:$,contentRef:Z},Q,X){let[J,Y]=t0(!1);o0(()=>{Y(!1),_(),queueMicrotask(()=>Y(!0))},[Q,_]);let V=X[X.length-1],z=V?.role==="user"?V.id:void 0,G=z?V?.parts.find((K)=>K.type==="text")?.content:void 0;return s0(()=>{if(!z)return;_();let K=Z.current;if(K&&G!==void 0)j0(K,G)},[z,G,_,Z]),o0(()=>{$()},[X,$]),J}function R3(_,$,Z,Q){let[X,J]=t0(new Set),Y=J1((G)=>J((K)=>new Set(K).add(G)),[]),[V]=t0(n1);return{folds:M3(()=>V(_,{agentWorking:$,debugMode:Z,opened:X,foldable:Q}),[V,_,$,Z,X,Q]),openRun:Y}}function k3({working:_}){let $=L_(null),Z=L_(void 0);return s0(()=>{let Q=$.current;if(!Q)return;let X=g0(Q);return Z.current=X,()=>{X.dispose(),Z.current=void 0}},[]),s0(()=>Z.current?.sync(_)),Y1("div",{ref:$,className:"cortex-working-avatar","aria-hidden":"true",children:[Y1("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[a("path",{d:"M9.94 15.5a2 2 0 0 0-1.44-1.44l-6.13-1.58a.5.5 0 0 1 0-.96L8.5 9.94A2 2 0 0 0 9.94 8.5l1.58-6.14a.5.5 0 0 1 .96 0l1.58 6.14a2 2 0 0 0 1.44 1.44l6.14 1.58a.5.5 0 0 1 0 .96l-6.14 1.58a2 2 0 0 0-1.44 1.44l-1.58 6.14a.5.5 0 0 1-.96 0z"}),a("path",{d:"M20 3v4M22 5h-4M4 17v2M5 18H3"})]}),a("span",{className:"cortex-working-avatar__ring"})]})}function z5(_){let{config:$,selectedThread:Z,t:Q}=F(),{messages:X,isAgentWorking:J,isLoadingMessages:Y,hasPendingToolCalls:V,turnFailure:z}=I_(),{capabilities:G,composerRef:K,debugMode:W}=_,N=!Y||J,q=A3(N),H=E3(q,Z?.id,X),U=J?u_(X)?.id:void 0,E=$.toolComponents,M=J1((k)=>l1(k,E),[E]),{folds:R,openRun:P}=R3(X,J,W,M),B=X.map((k)=>k.role).lastIndexOf("user"),L=J&&!W,O=L?i1(X,{foldable:M}):void 0;return Y1(G5,{children:[!N?a(V5,{}):a("div",{className:_.className,children:a("div",{ref:q.containerRef,className:"cortex-message-list",onScroll:q.onScroll,children:Y1("div",{ref:q.contentRef,className:"cortex-message-list__content",children:[X.map((k,b)=>a(Y5,{message:k,metadata:k.metadata,isStreaming:k.id===U,agentWorking:J,fold:R.get(k.id),onOpenRun:P,closesTurn:k.role==="assistant"&&X[b+1]?.role!=="assistant",debugMode:W,animate:H,workingTurn:L&&b>B,frontier:k.id===U?O:void 0},k.id)),z&&Y1(G5,{children:[a(O1,{label:Q(m0(z))}),$.showDebugButton&&z.reason&&a("p",{className:"cortex-aborted-flag__reason",children:z.reason})]}),J&&!O&&a("div",{className:"cortex-working-thinking","data-cortex-frontier":"",children:a(j_,{activity:"reasoning"})}),a(k3,{working:J},Z?.id)]})})}),!V&&a(U1,{capabilities:G,composerRef:K})]})}import{jsx as K5,jsxs as I3}from"react/jsx-runtime";function W5(_){let{debugMode:$,selectedThread:Z}=F(),{screens:Q}=_;return I3("div",{className:D("cortex-widget__screen",Q.screen==="chat"&&"cortex-widget__screen--active",Q.screen!=="chat"&&"cortex-widget__screen--right"),children:[_.header,Z?K5(z5,{className:"cortex-widget__messages",debugMode:$,capabilities:_.capabilities,composerRef:_.composerRef}):_.landing,K5("div",{className:"cortex-widget__sidebar-backdrop",onClick:Q.closeSidebar})]})}import{useState as w3}from"react";import{useEffect as e0,useRef as D5,useState as V1}from"react";import{useChat as b3}from"@tanstack/ai-react";import{useEffect as y3,useLayoutEffect as S3,useState as C3}from"react";function N5(_,{sessionRef:$,pendingSendRef:Z}){let[Q]=C3(_);return S3(()=>{return $.current=Q,()=>{if($.current===Q)$.current=void 0}},[Q,$]),y3(()=>{if(!Z.current.length)return;let X=setTimeout(()=>{let J=Z.current;Z.current=[],(async()=>{for(let{prompt:Y,attachments:V}of J)await Q.send(Y,V)})()});return()=>clearTimeout(X)},[Q,Z]),Q}import{useRef as H5}from"react";function q5(_){let $=H5(_);$.current=_;let Z=H5(Promise.resolve(void 0));async function Q(X,J){let Y=$.current;if(!Y.isAlive()||X!==Y.threadId)return;return a1({api:Y.api,threadId:X,isStale:()=>!$.current.isAlive()||J(),isStreaming:()=>$.current.isStreaming(),setMessages:(V)=>$.current.setMessages(V)})}return function(J,Y){return Z.current=Z.current.then(()=>Q(J,Y)),Z.current}}function B5(_){let{thread:$,api:Z}=_,Q=D5(!0),[X,J]=V1(!1),[Y,V]=V1(),[z,G]=V1(),K=D5(null),W=q5({api:Z,threadId:$.id,isAlive:()=>Q.current,isStreaming:()=>q.streaming(),setMessages:(O)=>K.current.chat.setMessages(O)}),[N]=V1(()=>x0({threadId:$.id,isAlive:()=>Q.current,onToolCall:()=>K.current.props.configRef.current.hooks?.onToolCall,deliver:(O)=>K.current.chat.addToolResult(O),setRunning:(O)=>K.current.props.setRunning($.id,O),reloadThreads:()=>K.current.props.reloadThreads(),refreshMessages:(O)=>W($.id,O),onTurnFinished:()=>K.current.props.onTurnFinished(),onSendFailed:()=>K.current.props.onSendFailed(),setTurnFailed:(O)=>{if(Q.current)V(O)},returnDraft:(O)=>{if(Q.current)G(O)}})),[q]=V1(()=>r1({api:Z,thread:{id:$.id,isRunning:$.isRunning},mode:_.mode,localMessages:()=>K.current.chat.messages,onHydrated:(O)=>{if(Q.current)N.hydrated(O,$.isRunning)},onTranscriptCarried:(O)=>{if(Q.current)N.transcriptCarried(O)},onStreamStarted:()=>{if(Q.current)N.streamStarted()},onRefused:(O)=>{if(Q.current)N.sendRefused(O)},setLoadingMessages:(O)=>{if(Q.current)J(O)}})),H=b3({threadId:$.id,persistence:!0,initialMessages:_.initialMessages,connection:q,onChunk:(O)=>{if(Q.current)N.chunkArrived(O)},onError:()=>{if(Q.current)N.streamFailed()},onInterruptStateChange:(O)=>{if(Q.current)N.interruptStateChanged(O)}});K.current={chat:H,props:_};async function U(O,k){N.sendStarted(O);let b={id:c_(),role:"user",parts:[{type:"text",content:O}],metadata:{createdAt:new Date().toISOString(),attachments:k}};await K.current.chat.append(b)}async function E(){if(!K.current.chat.isLoading)return;let{aborted:O}=await Z.abortStream($.id).catch(()=>({aborted:!1}));if(!Q.current)return;if(O)N.abortConfirmed();else K.current.chat.stop()}function M(O,k,b){return N.deliverAnswer(()=>K.current.chat.addToolResult({toolCallId:O,tool:k,output:b}))}function R(O,k){return N.deliverAnswer(()=>Q0(K.current.chat,O,k))}function P(O){if(K.current.chat.isLoading)return;if(O.isRunning){K.current.props.remount(O,K.current.chat.messages);return}N.readBack()}e0(()=>{return Q.current=!0,()=>{Q.current=!1}},[]),N5(()=>({threadId:$.id,send:U,abort:E,addToolResult:M,respondToApproval:R,reattach:P,transcriptUpdated:(O,k)=>{if(O===$.id)N.transcriptUpdated(k)}}),{sessionRef:_.sessionRef,pendingSendRef:_.pendingSendRef});let{messages:B,isLoading:L}=H;return e0(()=>{N.loadingChanged(L,()=>K.current.chat.messages)},[N,L]),e0(()=>{K.current.props.publish({messages:B,isAgentWorking:L,isLoadingMessages:X,hasPendingToolCalls:!L&&z_(B).length>0,awaitsApproval:g1(B),returnedDraft:z,turnFailure:Y})},[B,L,X,Y,z]),null}import{jsx as T3,jsxs as v3}from"react/jsx-runtime";function U5({selection:_,threads:$,children:Z,...Q}){let{session:X}=_,[J,Y]=w3(),V=X&&`${X.thread.id}:${X.epoch}`,z=X&&J&&(J.key===V||X.mode==="reload")?J.value:u0;return v3(c0.Provider,{value:z,children:[X&&V&&T3(B5,{thread:X.thread,mode:X.mode,initialMessages:X.initialMessages,setRunning:$.setRunning,reloadThreads:$.reload,remount:_.remount,publish:(G)=>Y({key:V,value:G}),...Q},V),Z]})}import{jsx as j,jsxs as O_,Fragment as j3}from"react/jsx-runtime";function F5(_){let{locale:$,t:Z}=F(),{threads:Q}=_;return j("div",{className:"cortex-widget__threads-list",children:Q===void 0?[1,2,3,4].map((X)=>O_("div",{className:"cortex-widget__thread-skeleton",children:[j("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-icon"}),j("div",{className:"cortex-widget__thread-skeleton-lines",children:j("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-line",style:{width:`${40+X*12}%`}})})]},X)):O_(j3,{children:[Q.map((X)=>{let J=X.id===_.selectedThreadId,Y=Q_(X.updatedAt,$);return O_("div",{className:D("cortex-widget__thread-item",J&&"cortex-widget__thread-item--active"),children:[j("div",{className:D("cortex-widget__thread-icon",J&&"cortex-widget__thread-icon--active"),children:j("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:j("path",{d:f.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),O_("button",{type:"button",onClick:()=>_.openThread(X),className:"cortex-widget__thread-info",children:[O_("div",{className:"cortex-widget__thread-title-row",children:[j("p",{dir:"auto",className:D("cortex-widget__thread-title",J&&"cortex-widget__thread-title--active"),children:X.title??Z("translate_untitled")}),X.isRunning&&O_("span",{className:D("cortex-widget__thread-running",J&&"cortex-widget__thread-running--active"),children:[j("span",{className:"cortex-widget__thread-running-dot"}),Z("translate_running")]})]}),Y&&j("p",{className:"cortex-widget__thread-time",children:Y})]}),j("button",{type:"button","aria-label":Z("translate_delete_conversation"),onClick:()=>_.deleteThread(X.id),className:D("cortex-widget__thread-delete",J&&"cortex-widget__thread-delete--active"),children:j("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",children:j("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})})}),j("svg",{className:D("cortex-widget__thread-arrow",J&&"cortex-widget__thread-arrow--active"),width:"10",height:"10",viewBox:"0 0 16 16",fill:"none",children:j("path",{d:"M6 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},X.id)}),!Q.length&&O_("div",{className:"cortex-widget__threads-empty",children:[j("div",{className:"cortex-widget__threads-empty-icon",children:j("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__threads-empty-svg",children:j("path",{d:f.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),j("p",{className:"cortex-widget__threads-empty-title",children:Z("translate_no_threads_yet")}),j("p",{className:"cortex-widget__threads-empty-subtitle",children:Z("translate_start_a_new_conversation")}),j("button",{onClick:_.newChat,className:"cortex-widget__new-chat-btn cortex-widget__new-chat-btn--empty-state",children:Z("translate_new_chat")})]})]})})}import{useSyncExternalStore as f3}from"react";function L5(_){return f3(($)=>{let Z=window.matchMedia(_);return Z.addEventListener("change",$),()=>Z.removeEventListener("change",$)},()=>window.matchMedia(_).matches,()=>!1)}import{jsx as m3,jsxs as P5}from"react/jsx-runtime";var g3="(max-width: 768px)";function O5(_){_.preventDefault()}function M5(_){let{screens:$}=_,Z=L5(g3),Q=_.viewMode==="full"?Z&&!$.sidebarOpen:$.screen!=="threads";return m3("div",{className:D("cortex-widget",_.className),"data-cortex-theme":_.theme,children:P5("div",{className:D("cortex-widget__container",_.viewMode==="full"&&"cortex-widget__container--full",$.sidebarOpen&&"cortex-widget__container--sidebar-open"),onDragOver:O5,onDrop:O5,children:[P5("div",{className:D("cortex-widget__screen",$.screen==="threads"&&"cortex-widget__screen--active",$.screen!=="threads"&&"cortex-widget__screen--left"),"aria-hidden":Q||void 0,inert:Q||void 0,children:[_.header,_.threadList]}),_.children]})})}import{jsx as $_}from"react/jsx-runtime";var h3={header:L2,landing:P2,threadList:F5};function _6(_,$){return _?.[$]??h3[$]}function u3(_){let{isAgentWorking:$}=I_();return $_(_.component,{..._.context,isWorking:$})}function c3({config:_,className:$,slots:Z}){let Q=A5(_);Q.current=_;let[X]=k1(()=>v1(()=>Q.current.transport)),J=G2(X),[Y,V]=k1(!1),[z,G]=k1();x3(()=>y0(_.theme,G),[_.theme]);let K=_.viewMode??"helper",W=K2(K),[N,q]=k1(0),{capabilities:H,unanswered:U}=a6(X,N),E=A5(null),M=$2({api:X,threads:J,getHooks:()=>Q.current.hooks}),{sessionRef:R,selection:P,queue:B,send:L,pendingSendRef:O}=M,{selected:k,selectedRef:b}=P,h=X2({threads:J,selectedRef:b,sessionRef:R,deselect:P.deselect,onReconnect:()=>q((i)=>i+1)}),m_=Q2({getConfig:()=>Q.current,onEvent:h.onEvent,onReconnect:h.onReconnect}),G_=j1(_.locale),I1={config:_,locale:G_,t:(i,y1)=>o(G_,i,y1),api:X,debugMode:Y,scheme:z,capabilities:H,unanswered:U,selectedThread:k,send:L,...J2(R),queue:B.value};function A(){B.store.discardConsumed(),setTimeout(()=>E.current?.focusInput()),J.followTitle(()=>b.current,m_.isOpen)}function I(){B.store.restoreConsumed(b.current?.id)}function w(i){M.openThread(i),W.showChat()}function m(){P.deselect(),W.showChat()}function P_(){V((i)=>!i)}function q_(i){let y1={screen:i,viewMode:K,title:k?.title??null,agentName:E_(_.agentName,G_),threadCount:J.threads?.length,debug:{shown:Boolean(_.showDebugButton),on:Y},newChat:m,openHistory:W.openHistory,closeHistory:W.closeHistory,toggleDebug:P_};return $_(u3,{component:_6(Z,"header"),context:y1})}let c=_6(Z,"landing"),$6={...f1(H,G_,(i)=>void L(i)),threads:J.threads,composer:$_("div",{className:"cortex-widget__landing-composer",children:$_(U1,{capabilities:H})}),openThread:w,openHistory:W.openHistory},E5=_6(Z,"threadList"),R5={threads:J.threads,selectedThreadId:k?.id,openThread:w,deleteThread:(i)=>void M.deleteThread(i),newChat:m};return $_(h0.Provider,{value:I1,children:$_(U5,{selection:P,threads:J,api:X,configRef:Q,sessionRef:R,pendingSendRef:O,onTurnFinished:A,onSendFailed:I,children:$_(M5,{className:$,theme:_.theme,viewMode:K,screens:W,header:q_("threads"),threadList:$_(E5,{...R5}),children:$_(W5,{screens:W,capabilities:H,composerRef:E,header:q_("chat"),landing:$_(c,{...$6})})})})})}export{c3 as CortexChatWidget};