@m6d/cortex-react 0.6.1 → 0.8.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,9 +1,13 @@
1
- var M2=Object.create;var{getPrototypeOf:O2,defineProperty:z0,getOwnPropertyNames:P2}=Object;var A2=Object.prototype.hasOwnProperty;var H_=(_,$,X)=>{X=_!=null?M2(O2(_)):{};let Y=$||!_||!_.__esModule?z0(X,"default",{value:_,enumerable:!0}):X;for(let Q of P2(_))if(!A2.call(Y,Q))z0(Y,Q,{get:()=>_[Q],enumerable:!0});return Y};var B_=((_)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(_,{get:($,X)=>(typeof require<"u"?require:$)[X]}):_)(function(_){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+_+'" is not supported')});import{useEffect as o8,useRef as H2,useState as t_}from"react";var e_=["en","ar"];var _1=["image/png","image/jpeg","image/webp","application/pdf"];var V0=5;function K0(_,$){if(!_1.some((X)=>X===_))return"type";if($>10485760)return"size";return"ok"}function $1(_){return{..._,role:_.role==="trigger"?"user":_.role}}var W0="clientToolAnswers";function D0(_){return _.approval?.id??`approval_${_.id}`}var X1="X-Cortex-Timezone";function Y1(_){let $=_.getHeaders();return $ instanceof Promise?$.then(H0):Promise.resolve(H0($))}function H0(_){let $={..._},X=E2(),Y=Object.keys($).some((Q)=>Q.toLowerCase()===X1.toLowerCase());if(X&&!Y)$[X1]=X;return $}function E2(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function R2(_,$){let X=_.baseUrl;return(typeof X==="string"?X:X()).replace(/\/$/,"")+$}function y2(_){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 Q1(_){function $(){return Y1(_())}function X(Q){return R2(_(),Q)}async function Y(Q,N){let Z=new Headers(await $());if(new Headers(N?.headers).forEach((z,V)=>{Z.set(V,z)}),N?.body instanceof FormData)Z.delete("Content-Type");else if(!Z.has("Content-Type"))Z.set("Content-Type","application/json");let G=await fetch(X(Q),{...N,headers:Z});if(!G.ok)throw Error(`HTTP ${G.status}: ${G.statusText}`);let J=await G.text();return J?JSON.parse(J):void 0}return{getCapabilities(){return Y("/capabilities")},listThreads(){return Y("/threads")},createThread(){return Y("/threads",{method:"POST"})},deleteThread(Q){return Y(`/threads/${Q}`,{method:"DELETE"})},listMessages(Q){return Y(`/threads/${Q}/messages`)},listLlmRequests(Q){return Y(`/messages/${Q}/llm-requests`)},abortStream(Q){return Y(`/chat/${Q}/abort`,{method:"POST"})},initiateToolCall(Q,N){return Y(`/chat/${Q}/tools/${N}/initiate`,{method:"POST"})},uploadAttachment(Q,N){let Z=new FormData;return Z.append("file",N),Y(`/threads/${Q}/files`,{method:"POST",body:Z})},deleteAttachment(Q){return Y(`/files/${Q}`,{method:"DELETE"})},async downloadAttachment(Q){let N=await fetch(X(`/files/${Q}`),{headers:await $()});if(!N.ok)throw Error(`HTTP ${N.status}: ${N.statusText}`);return{blob:await N.blob(),name:y2(N.headers.get("Content-Disposition"))??Q}},resolveHeaders:$,resolveUrl:X}}var w2={complete:"success",error:"error","approval-requested":"approval","approval-responded":"approval","awaiting-input":"pending","input-streaming":"pending","input-complete":"pending"},I2={"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 N1(_){let{state:$,approval:X}=_;return{modifier:w2[$],labelKey:X?.approved===!1?"translate_declined":$==="approval-responded"&&X?.approved?"translate_approved":I2[$],pulse:$==="awaiting-input"||$==="input-streaming"?"default":$==="approval-requested"?"violet":void 0}}function Z1(_){let $=_.output;if($===void 0||$===null)return"";if(typeof $==="string")return $;return JSON.stringify($,null,2)}var B0={code:"javascript",query:"cypher"};function G1(_){let $=_&&typeof _==="object"?_:null,X=$?Object.entries(B0).flatMap(([Q,N])=>{let Z=$[Q];return typeof Z==="string"?[{key:Q,lang:N,value:Z.replace(/\\n/g,`
2
- `)}]:[]}):[],Y=_;if($){let Q=Object.fromEntries(Object.entries($).filter(([N])=>!Object.hasOwn(B0,N)));Y=Object.keys(Q).length>0?Q:null}return{codeSnippets:X,remainingInput:Y,remainingInputText:Y?JSON.stringify(Y,null,2):""}}var F0=10,b2={"awaiting-input":"starting","input-streaming":"starting","input-complete":"processing","approval-requested":"approval","approval-responded":"processing",complete:"complete",error:"error"};function C2(_){let $=0;for(let X=0;X<_.length;X++)$=$*31+_.charCodeAt(X)|0;return Math.abs($)%F0}function S2(_){let $=_.input;if(!$||typeof $!=="object"||!("status"in $))return;let X=$.status;return typeof X==="string"&&X.trim()?X.trim():void 0}function v2(_){let $=_.output;if(typeof $==="string")try{$=JSON.parse($)}catch{return!1}return!!$&&typeof $==="object"&&"error"in $&&$.error===!0}function T2(_){let $=_.output;if(!$||typeof $!=="object"||!("rowCount"in $))return;return typeof $.rowCount==="number"?$.rowCount:void 0}function f2(_,$,X){if(X)return"translate_declined";if($==="error")return"translate_tool_error";if($==="approval")return"translate_needs_approval";let Y=_.name==="readAttachment"?"attachment":"tool",Q=Y==="tool"?`_${C2(_.id)}`:"";return`translate_${Y}_${$==="complete"?"done":"status"}${Q}`}function F_(_){let $=_.approval?.approved===!1,Y=$||_.state==="complete"&&v2(_)?"error":b2[_.state]??"processing";return{state:Y,active:Y==="starting"||Y==="processing",gated:_.approval!==void 0,titleKey:f2(_,Y,$),statement:S2(_),rowCount:Y==="complete"?T2(_):void 0}}function J1(_,$){let X=_.metadata;if(!X||typeof X!=="object"||!("cortex"in X))return;return X.cortex?.approval?.[$]||void 0}function z1(_){return Array.from({length:F0},($,X)=>`translate_${_}_${X}`)}function U_(_,$){return _.filter((X,Y)=>{if(X.type==="tool-result")return!1;if($.debugMode)return!0;if($.fold?.get(X)?.kind==="hidden")return!1;if(X.type==="text"&&!X.content.trim())return!1;let Q=Y===_.length-1;return X.type!=="thinking"||$.isStreaming&&Q})}function V1(_){return _.filter(($)=>$.type==="text").map(($)=>$.content).join(`
1
+ var r2=Object.create;var{getPrototypeOf:o2,defineProperty:S0,getOwnPropertyNames:a2}=Object;var t2=Object.prototype.hasOwnProperty;var E_=(_,$,Y)=>{Y=_!=null?r2(o2(_)):{};let Q=$||!_||!_.__esModule?S0(Y,"default",{value:_,enumerable:!0}):Y;for(let X of a2(_))if(!t2.call(Q,X))S0(Q,X,{get:()=>_[X],enumerable:!0});return Q};var k_=((_)=>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 d4,useRef as l2,useState as G1}from"react";var z1=["en","ar"];var K1=["image/png","image/jpeg","image/webp","application/pdf"];var b0=5;function T0(_,$){if(!K1.some((Y)=>Y===_))return"type";if($>10485760)return"size";return"ok"}var v0=["executeCode","queryDataset","describeDataset"];function W1(_){return{..._,role:_.role==="trigger"?"user":_.role}}var f0="clientToolAnswers";function j0(_){return _.approval?.id??`approval_${_.id}`}var D1="X-Cortex-Timezone";function H1(_){let $=_.getHeaders();return $ instanceof Promise?$.then(g0):Promise.resolve(g0($))}function g0(_){let $={..._},Y=s2(),Q=Object.keys($).some((X)=>X.toLowerCase()===D1.toLowerCase());if(Y&&!Q)$[D1]=Y;return $}function s2(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function e2(_,$){let Y=_.baseUrl;return(typeof Y==="string"?Y:Y()).replace(/\/$/,"")+$}function _5(_){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 B1(_){function $(){return H1(_())}function Y(X){return e2(_(),X)}async function Q(X,Z){let G=new Headers(await $());if(new Headers(Z?.headers).forEach((N,z)=>{G.set(z,N)}),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:_5(Z.headers.get("Content-Disposition"))??X}},resolveHeaders:$,resolveUrl:Y}}var $5=["completed","cancelled","failed"],p_="requestLocation";function m0(_,$,Y){if($!==Y)return null;if(typeof _!=="object"||_===null)return null;let Q=_;if(Q.type!=="cortex:client-tool")return null;let X=$5.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 Y5=new Set(["complete","error"]);function f(_){return Y5.has(_)}function __(_){return(Q5(_)?.parts??[]).filter((Y)=>Y.type==="tool-call"&&!f(Y.state))}function R_(_){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 Q5(_){for(let $=_.length-1;$>=0;$-=1){let Y=_[$];if(Y?.role==="assistant")return Y}return}var x0={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_cut_off:"انقطع هذا المقطع قبل اكتماله.",translate_media_failed:"تعذر عرض هذا المقطع.",translate_media_source:"المصدر",translate_media_pending:"جارٍ الرسم",translate_image_unavailable:"الصورة غير متاحة",translate_image_unavailable_alt:"الصورة غير متاحة: {{alt}}",translate_send:"إرسال",translate_table_expand:"توسيع الجدول",translate_table_export:"تصدير إلى Excel",translate_close:"إغلاق",translate_approval_needed:"بحاجة إلى موافقتك",translate_approval_action:"تنفيذ {{tool}}",translate_details:"التفاصيل",translate_approved_failed:"تمت الموافقة لكنه فشل",translate_empty_value:"(فارغ)",translate_approval_cancelled:"لم يُتخذ قرار"};var h0={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_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_image_unavailable:"Image unavailable",translate_image_unavailable_alt:"Image unavailable: {{alt}}",translate_send:"Send",translate_table_expand:"Expand table",translate_table_export:"Export to Excel",translate_close:"Close",translate_approval_needed:"Needs your approval",translate_approval_action:"Run {{tool}}",translate_details:"Details",translate_approved_failed:"Approved, but it failed",translate_empty_value:"(empty)",translate_approval_cancelled:"Not decided"};var G5={en:h0,ar:x0};function q1(_){return _&&z1.includes(_)?_:z1[0]}function D_(_,$,Y){let Q=G5[_][$];if(!Y)return Q;return Q.replace(/\{\{\s*(\w+)\s*\}\}/g,(X,Z)=>(Z in Y)?String(Y[Z]):X)}function I_(_,$,Y){return _===1?$:Y}var J5={complete:"success",error:"error","approval-requested":"approval","approval-responded":"approval","awaiting-input":"pending","input-streaming":"pending","input-complete":"pending"},V5={"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 F1(_){let{state:$,approval:Y}=_;return{modifier:J5[$],labelKey:Y?.approved===!1?"translate_declined":$==="approval-responded"&&Y?.approved?"translate_approved":V5[$],pulse:$==="awaiting-input"||$==="input-streaming"?"default":$==="approval-requested"?"violet":void 0}}function U1(_){let $=_.output;if($===void 0||$===null)return"";if(typeof $==="string")return $;return JSON.stringify($,null,2)}var u0={code:"javascript",query:"cypher"};function L1(_){let $=_&&typeof _==="object"?_:null,Y=$?Object.entries(u0).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(u0,Z)));Q=Object.keys(X).length>0?X:null}return{codeSnippets:Y,remainingInput:Q,remainingInputText:Q?JSON.stringify(Q,null,2):""}}var p0=10,N5={"awaiting-input":"starting","input-streaming":"starting","input-complete":"processing","approval-requested":"approval","approval-responded":"processing",complete:"complete",error:"error"};function z5(_){let $=0;for(let Y=0;Y<_.length;Y++)$=$*31+_.charCodeAt(Y)|0;return Math.abs($)%p0}function K5(_){if(!v0.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 W5(_){let $=_.output;if(typeof $==="string")try{$=JSON.parse($)}catch{return!1}return!!$&&typeof $==="object"&&"error"in $&&$.error===!0}function D5(_){let $=_.output;if(!$||typeof $!=="object"||!("rowCount"in $))return;return typeof $.rowCount==="number"?$.rowCount:void 0}function H5(_,$,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"?`_${z5(_.id)}`:"";return`translate_${Q}_${$==="complete"?"done":"status"}${X}`}function r(_){let $=_.approval?.approved===!1,Q=$||_.state==="complete"&&W5(_)?"error":N5[_.state]??"processing";return{state:Q,active:Q==="starting"||Q==="processing",gated:_.approval!==void 0||_.state==="approval-requested",titleKey:H5(_,Q,$),statement:K5(_),rowCount:Q==="complete"?D5(_):void 0}}function B5(_,$){let Y=_.metadata;if(!Y||typeof Y!=="object"||!("cortex"in Y))return;return Y.cortex?.approval?.[$]||void 0}function O1(_,$){let Y=_.approval?.approved,{state:Q}=r(_),X=Y===void 0?_.state==="approval-requested"?"pending":"cancelled":!Y?"declined":Q==="error"?"failed":"approved";return{sentence:B5(_,$)??D_($,"translate_approval_action",{tool:l0(_.name)}),rows:F5(_.input,$),decision:X,decisionKey:q5[X]}}var q5={pending:void 0,approved:"translate_approved",declined:"translate_declined",failed:"translate_approved_failed",cancelled:"translate_approval_cancelled"};function l0(_){let $=_.replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/[_\-.]+/g," ").trim().toLowerCase();return $.charAt(0).toUpperCase()+$.slice(1)}function F5(_,$){if(!_||typeof _!=="object"||Array.isArray(_))return[];return Object.entries(_).filter(([,Y])=>Y!==void 0).map(([Y,Q])=>({key:Y,label:l0(Y),value:Q===null||Q===""?D_($,"translate_empty_value"):typeof Q==="string"?Q:typeof Q==="number"||typeof Q==="boolean"?String(Q):JSON.stringify(Q)}))}function P1(_){return Array.from({length:p0},($,Y)=>`translate_${_}_${Y}`)}function H_(_,$){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 M1(_){return _.filter(($)=>$.type==="text").map(($)=>$.content).join(`
3
3
 
4
- `)}var j2=new Set(["complete","error"]);function m(_){return j2.has(_)}function r(_){return(g2(_)?.parts??[]).filter((X)=>X.type==="tool-call"&&!m(X.state))}function K1(_){let $=_.at(-1);if($?.role!=="assistant")return;let X=$.parts.at(-1),Y=X?.type==="tool-call"||X?.type==="tool-result",Q=$.parts.every((N)=>N.type!=="tool-call"||m(N.state));return Y&&Q?void 0:$}function g2(_){for(let $=_.length-1;$>=0;$-=1){let X=_[$];if(X?.role==="assistant")return X}return}function W1(){let _=new Map;return($,X)=>{let Y=new Map;for(let[Q,N]of m2($,X)){let Z=_.get(Q);Y.set(Q,Z&&c2(Z,N)?Z:N)}return _=Y,Y}}function m2(_,$){let X=new Map;if($.debugMode)return X;let Q=$.agentWorking||r(_).length>0?x2(_):_,N=[];function Z(){let G=N[0]?.part.id;if(N.length>1&&G&&!$.opened.has(G))for(let[J,{messageId:z,part:V}]of N.entries()){let W=X.get(z)??new Map;X.set(z,W);let q=J===N.length-1;W.set(V,q?{kind:"more",count:N.length-1,runId:G}:{kind:"hidden"})}N=[]}for(let G of Q){if(G.role!=="assistant"){Z();continue}let J=U_(G.parts,{debugMode:!1,isStreaming:!1});for(let z of J)if(z.type==="tool-call"&&m(z.state)&&$.foldable(z))N.push({messageId:G.id,part:z});else Z()}return Z(),X}function x2(_){let $=_.map((X)=>X.role).lastIndexOf("user");return $<0?[]:_.slice(0,$)}function c2(_,$){if(_.size!==$.size)return!1;for(let[X,Y]of _){let Q=$.get(X);if(!Q||Q.kind!==Y.kind)return!1;if(Y.kind==="more"&&Q.kind==="more"){if(Y.count!==Q.count||Y.runId!==Q.runId)return!1}}return!0}import{EventType as L0}from"@tanstack/ai";import{fetchServerSentEvents as U0}from"@tanstack/ai-client";function h2(_){for(let $=_.length-1;$>=0;$-=1){let X=_[$],Y="parts"in X&&X.parts.some((Q)=>Q.type==="tool-result"||Q.type==="tool-call"&&Q.state==="approval-responded");if(X.role==="user"||Y)return _.slice($,$+1)}return _.slice(-1)}function u2(_){if(_.state==="approval-responded"){let $=_.approval?.approved;if($===void 0)return null;return{toolCallId:_.id,output:null,state:$?"approved":"denied"}}if(!m(_.state))return null;return{toolCallId:_.id,output:_.output??null,state:_.state==="error"?"error":"complete"}}function l2(_){let[$]=_;if(!$||$.role!=="assistant"||!("parts"in $))return null;let X=$.parts.flatMap((Y)=>{let Q=Y.type==="tool-call"?u2(Y):null;return Q?[Q]:[]});return X.length>0?X:null}async function*q0(_,$,X){for await(let Y of _){if(Y.type!==L0.MESSAGES_SNAPSHOT){yield Y;continue}let Q=$.localMessages(),N=Q.findIndex((G)=>G.id===X),Z=N===-1?[]:Q.slice(N+1).filter((G)=>G.role==="user");$.onTranscriptCarried?.(Y.timestamp??Date.now()),yield{...Y,messages:[...Y.messages,...Z]}}}function D1(_){let{api:$,thread:X}=_,Y=async()=>({headers:await $.resolveHeaders()}),Q=U0(()=>$.resolveUrl("/chat"),Y),N=function(J,z,V,W){let q=h2(J),L=l2(q),U=L?Q.connect([],{...z,[W0]:L},V,W):Q.connect(q,z,V,W);return q0(U,_,J.at(-1)?.id)},Z=U0(()=>$.resolveUrl(`/chat/${X.id}/stream`),Y),G=[];return{connect:N,async*joinRun(J,z){yield{type:L0.MESSAGES_SNAPSHOT,timestamp:Date.now(),messages:G},yield*q0(Z.joinRun(J,z),_,G.at(-1)?.id)},hydrate:async()=>{let J=await p2(_);return G=J.messages,J}}}async function p2(_){let{api:$,thread:X,mode:Y}=_,Q=X.isRunning?{runId:X.id}:null;if(Y==="skip")return{messages:[],activeRun:Q,interrupts:null};if(Y==="load")_.setLoadingMessages?.(!0);try{let Z=(await $.listMessages(X.id)).map($1);return _.onHydrated?.(Z),{messages:Z,activeRun:Q,interrupts:null}}finally{_.setLoadingMessages?.(!1)}}async function H1(_){if(_.isStale?.()||_.isStreaming())return;try{let $=await _.api.listMessages(_.threadId);if(_.isStale?.()||_.isStreaming())return;let X=$.map($1);return _.setMessages(X),X}catch{return}}function q_(){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(_,(X)=>X.toString(16).padStart(2,"0")).join("");return`${$.slice(0,8)}-${$.slice(8,12)}-${$.slice(12,16)}-${$.slice(16,20)}-${$.slice(20)}`}function B1(_){let{api:$}=_,X=new Set,Y=new Set,Q=[],N=[];function Z(){return Q}function G(H){return X.add(H),()=>{X.delete(H)}}function J(H){Q=H;for(let D of X)D()}function z(H,D){J(Q.map((K)=>K.localId===H?{...K,...D}:K))}function V(H){if(Y.delete(H))return;z(H,{status:"error"})}function W(H){let D=[];for(let K of H){let O=K0(K.type,K.size)!=="ok"||Q.filter((T)=>T.status!=="error").length>=V0,C=q_();if(J([...Q,{localId:C,filename:K.name,status:O?"error":"uploading"}]),!O)D.push({localId:C,file:K})}if(!D.length)return;_.ensureThread().then((K)=>{for(let{localId:O,file:C}of D){if(Y.delete(O))continue;z(O,{threadId:K}),$.uploadAttachment(K,C).then((T)=>{if(Y.delete(O)){$.deleteAttachment(T.id).catch(()=>{});return}z(O,{status:"ready",attachmentId:T.id,summary:T})},()=>V(O))}},()=>{for(let{localId:K}of D)V(K)})}function q(H){let D=Q.find((K)=>K.localId===H);if(!D)return;if(D.status==="uploading"){Y.add(H),J(Q.filter((K)=>K.localId!==H));return}if(D.attachmentId){z(H,{status:"deleting"}),$.deleteAttachment(D.attachmentId).then(()=>J(Q.filter((K)=>K.localId!==H)),()=>z(H,{status:"error"}));return}J(Q.filter((K)=>K.localId!==H))}function L(H){let D=[];for(let K of Q){if(K.threadId!==void 0&&K.threadId!==H){D.push(K);continue}if(K.status==="uploading")Y.add(K.localId);else if(K.status==="ready"&&K.threadId===H&&K.attachmentId)$.deleteAttachment(K.attachmentId).catch(()=>{})}J(D)}function U(){let H=Q.flatMap((D)=>D.status==="ready"&&D.summary?[{...D,status:"ready",summary:D.summary}]:[]);return J(Q.filter((D)=>D.status!=="ready")),N=H,H}function k(H){let D=N;if(N=[],D.some((K)=>K.threadId!==H))return;J([...D.map((K)=>({...K,status:"error"})),...Q])}function M(){N=[]}return{getState:Z,subscribe:G,accept:W,remove:q,clear:L,consumeReady:U,restoreConsumed:k,discardConsumed:M}}function F1(_){return{uploading:_.some(($)=>$.status==="uploading"),busy:_.some(($)=>$.status==="uploading"||$.status==="deleting"),hasReady:_.some(($)=>$.status==="ready")}}var d2=["completed","cancelled","failed"],k0="requestLocation";function M0(_,$,X){if($!==X)return null;if(typeof _!=="object"||_===null)return null;let Y=_;if(Y.type!=="cortex:client-tool")return null;let Q=d2.find((Z)=>Z===Y.status);if(!Q)return null;let N=Y.reference;return{type:"cortex:client-tool",status:Q,...typeof N==="string"?{reference:N}:{},...Y.result!==void 0?{result:Y.result}:{}}}function U1(_,$,X){try{return new URL(_).origin===$&&!X?"allow-scripts allow-forms allow-popups":"allow-scripts allow-forms allow-popups allow-same-origin"}catch{return"allow-scripts allow-forms allow-popups"}}function q1(_,$,X){try{return X===!0&&new URL(_).origin===$}catch{return!1}}function L1(_,$){try{return _.contentWindow?.location.origin===$}catch{return!1}}function k1(_){let $=!1,X=!1,Y,Q;function N(J){if(!$)_.onState(J)}function Z(){if($)return;X=!1,N({phase:"error"})}function G(J){if($||X)return;X=!0,N({phase:"settling"});try{let z=_.submit(J);if(z instanceof Promise)z.catch(Z)}catch{Z()}}return{async start(){N({phase:"initiating"});try{let J=await _.initiate();if(!J.embed){N({phase:"unavailable"});return}if(!/^https?:$/.test(new URL(J.embedUrl).protocol)){N({phase:"error"});return}Y=J.embedOrigin,N({phase:"embedded",embedUrl:J.embedUrl,surface:J.surface,embedOrigin:J.embedOrigin})}catch(J){let z=J instanceof Error?J.message:"";N({phase:/HTTP 404/.test(z)?"unavailable":"error"})}},setSource(J){if(J!==null&&J!==void 0)Q=J},handleMessage(J){if(!Y)return;if(Q===void 0||J.source!==Q)return;let z=M0(J.data,J.origin,Y);if(!z)return;G({status:z.status,reference:z.reference,result:z.result})},cancel(){G({status:"cancelled"})},terminate(){if($||X)return;Y=void 0,Q=void 0,N({phase:"error"})},dispose(){$=!0}}}function M1(_,$,X){let Y=_.interrupts.find((Q)=>Q.id===$);if(!Y||!("resolveInterrupt"in Y))return _.addToolApprovalResponse({id:$,approved:X});return Y.resolveInterrupt({approved:X}),Promise.resolve()}async function L_(_,$){let X=await import("leaflet"),Y=!$.interactive,Q=X.map(_,{center:$.center,zoom:$.zoom,zoomControl:!Y,dragging:!Y,scrollWheelZoom:!Y,doubleClickZoom:!Y,touchZoom:!Y,boxZoom:!Y,keyboard:!Y});X.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(Q);let N=new ResizeObserver(()=>Q.invalidateSize());return N.observe(_),{leaflet:X,map:Q,dispose(){N.disconnect(),Q.remove()}}}var S_={position:void 0,locating:!1,locateFailed:!1,mapFailed:!1,submitting:!1,deliveryFailed:!1},n2={center:{lat:20,lng:0},zoom:2},i2=13,P0=16,r2=1e4;function O1(_,$){let X=S_,Y=!1,Q=!1,N,Z,G,J=0;function z(L){if(X={...X,...L},!Y)$.onState(X)}function V(){let L=X.position;if(!N||!L)return;let{leaflet:U,map:k}=N;if(Z)Z.setLatLng(L);else{let M=U.marker(L,{draggable:!X.submitting}).addTo(k);M.on("dragend",()=>{let{lat:H,lng:D}=M.getLatLng();W({lat:H,lng:O0(D)})}),Z=M}G?.remove(),G=L.accuracy?U.circle(L,{radius:L.accuracy}).addTo(k):void 0}function W(L){if(X.submitting)return;J+=1,z({position:L,locating:!1,locateFailed:!1}),V()}function q(L){if(Y||Q)return;Q=!0,J+=1,Z?.dragging?.disable(),z({submitting:!0,locating:!1,deliveryFailed:!1});let U=()=>{Q=!1,Z?.dragging?.enable(),z({submitting:!1,deliveryFailed:!0})};try{let k=$.submit(L);if(k instanceof Promise)k.catch(U)}catch{U()}}return{async start(){let L=$.center?{center:$.center,zoom:i2}:n2,U;try{U=await L_(_,{...L,interactive:!0})}catch{z({mapFailed:!0});return}if(Y){U.dispose();return}N=U,U.map.on("click",(k)=>W({lat:k.latlng.lat,lng:O0(k.latlng.lng)})),V()},locate(){if(X.locating||X.submitting)return;if(!navigator.geolocation){z({locateFailed:!0});return}J+=1;let L=J;z({locating:!0,locateFailed:!1}),navigator.geolocation.getCurrentPosition(({coords:U})=>{if(Y||L!==J)return;let k={lat:U.latitude,lng:U.longitude,accuracy:Math.round(U.accuracy)};W(k),N?.map.setView(k,P0)},()=>{if(L===J)z({locating:!1,locateFailed:!0})},{enableHighAccuracy:!0,timeout:r2})},confirm(){if(X.position)q({status:"completed",result:X.position})},cancel(){q({status:"cancelled"})},dispose(){Y=!0,N?.dispose()}}}function P1(_,$,X){let Y=!1,Q;return L_(_,{center:$,zoom:P0,interactive:!1}).then((N)=>{if(Y){N.dispose();return}Q=N.dispose,N.leaflet.marker($).addTo(N.map)},()=>{if(!Y)X()}),()=>{Y=!0,Q?.()}}function O0(_){if(_>=-180&&_<=180)return _;return((_+180)%360+360)%360-180}function A0(_){if(!_||typeof _!=="object")return!1;let{lat:$,lng:X}=_;return typeof $==="number"&&typeof X==="number"&&Math.abs($)<=90&&Math.abs(X)<=180}function A1(_){let $=_&&typeof _==="object"?_.center:void 0;return A0($)?$:void 0}function E1(_){if(!_||typeof _!=="object")return;let{status:$,result:X}=_;if($!=="completed"||!A0(X))return;let{accuracy:Y}=X;return{...X,...typeof Y==="number"?{accuracy:Y}:{}}}function v_(_){let $=`${_.lat.toFixed(4)}, ${_.lng.toFixed(4)}`;return _.accuracy?`${$} ±${_.accuracy} m`:$}function R1(_){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 y1(_){return Math.min(1000*2**(_-1),30000)}var o2=1e4;function w1(_){let $,X,Y=0,Q=!1;function N(){let{wsUrl:G,transport:J}=_.getConfig();if(G===!1)return;let z=a2(G,J.baseUrl);Y1(J).then((V)=>{if(Q)return;$=new WebSocket(t2(z,V)),$.addEventListener("open",()=>{let W=$;setTimeout(()=>{if($===W&&!Q)Y=0},o2),_.onOpen?.()}),$.addEventListener("message",(W)=>{let q=W.data;if(typeof q!=="string")return;let L;try{L=JSON.parse(q)}catch{return}_.onEvent(L)}),$.addEventListener("close",Z)}).catch(Z)}function Z(){if(Q||X)return;Y+=1,X=setTimeout(()=>{X=void 0,N()},y1(Y))}return N(),{close(){Q=!0,clearTimeout(X),$?.close()}}}function a2(_,$){if(_)return _;let X=typeof $==="string"?$:$(),Y=new URL(X,window.location.origin);return Y.protocol=Y.protocol==="https:"?"wss:":"ws:",Y.pathname=Y.pathname.replace(/\/$/,"")+"/ws",Y.toString()}function t2(_,$){let X=$.Authorization??$.authorization;if(!X?.startsWith("Bearer "))return _;let Y=new URL(_,window.location.origin);if(Y.searchParams.has("token"))return Y.toString();return Y.searchParams.set("token",X.slice(7)),Y.toString()}function I1(_,$,X=y1){let Y=!1,Q,N=0;function Z(){_.getCapabilities().then((G)=>{if(!Y)$(G)},()=>{if(Y)return;N+=1,Q=setTimeout(Z,X(N))})}return Z(),function(){Y=!0,clearTimeout(Q)}}function T_(_){return[..._].sort(($,X)=>{let Y=Date.parse(X.updatedAt)-Date.parse($.updatedAt);if(Y!==0)return Y;return Date.parse(X.createdAt)-Date.parse($.createdAt)})}function k_(_,$){let X=[..._],Y=X.findIndex((Q)=>Q.id===$.id);if(Y===-1)X.push($);else X[Y]={...X[Y],...$};return T_(X)}function f_(_,$){return _.filter((X)=>X.id!==$)}function b1(_,$){switch($.type){case"thread:deleted":return f_(_,$.payload.threadId);case"thread:created":case"thread:title-updated":case"thread:run-started":case"thread:run-finished":case"thread:messages-updated":return k_(_,$.payload.thread);default:return _}}import{marked as s2}from"marked";import e2 from"dompurify";function C1(_,$=[]){if(!_)return"";let X=s2.parse(_,{async:!1});if(X=X.replace(/<table>/g,'<div style="overflow-x:auto"><table style="width:auto">').replace(/<\/table>/g,"</table></div>").replace(/<(t[hd])([\s>])/g,'<$1 style="padding:0.5rem 1rem"$2'),$.length)X=_5(X,$);return e2.sanitize(X,{FORBID_TAGS:["img","picture","source"]})}function _5(_,$){let X=document.createElement("template");X.innerHTML=_;let Y=[...$].sort((Z,G)=>Z.length-G.length),Q=Y[Y.length-1]?.length??0,N=0;for(let Z of $5(X.content)){if(N>=Q)break;Z.replaceWith(...X5(Z.data,N,Y)),N+=Z.data.length}return X.innerHTML}function $5(_){let $=document.createTreeWalker(_,4),X=[];for(let Y=$.nextNode();Y;Y=$.nextNode())if(Y.data.trim())X.push(Y);return X.reverse()}function X5(_,$,X){let Y=[],Q=_.length;for(let N of X){if(N.length<=$)continue;if(Q<=0)break;let Z=Math.min(Q,N.length-$);if(Z<Q&&/[\uDC00-\uDFFF]/.test(_[Q-Z]))Z+=1;let G=document.createElement("span");G.className="cortex-stream-fade",G.style.animationDelay=`-${N.age}ms`,G.textContent=_.slice(Q-Z,Q),Y.unshift(G),Q-=Z,$+=Z}if(Q>0)Y.unshift(document.createTextNode(_.slice(0,Q)));return Y}function E0(){let _=null;return($)=>{let X=/^ {0,3}(`{3,}|~{3,})(.*)$/.exec($),Y=X?.[1],Q=X?.[2]??"";if(Y){let N=Y.charAt(0);if(_){if(N===_.marker&&Y.length>=_.length&&Q.trim()==="")return _=null,"close";return"inside"}if(N==="`"&&Q.includes("`"))return"outside";return _={marker:N,length:Y.length},"open"}return _?"inside":"outside"}}var Y5=/^\s*!\[([^\]]*)\]\(attachment#([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\)\s*$/i,Q5=/^\s*(`{3,}|~{3,})/;function S1(_,$){let X=[],Y=[],Q=null;function N(){if(Y.length)X.push({kind:"markdown",text:Y.join(`
5
- `)});Y=[]}function Z(z){if(Q)X.push({kind:"media",...Q,source:Q.source.join(`
6
- `),closed:z});Q=null}let G=E0(),J=_.split(`
7
- `);for(let[z,V]of J.entries()){let W=G(V);if(Q){if(W==="close")Z(!0);else Q.source.push(V);continue}if(W==="open"&&z===J.length-1)break;let q=N5(V,W,$);if(!q){Y.push(V);continue}if(N(),q.kind==="media")Q={language:q.language,source:[]};else X.push(q)}return Z(!1),N(),X}function N5(_,$,X){if($==="open"){let Q=_.replace(Q5,"").trim().split(/\s+/)[0],N=X.find((Z)=>Z===Q);return N?{kind:"media",language:N}:void 0}let Y=$==="outside"?Y5.exec(_):null;return Y?{kind:"attachment",alt:Y[1]??"",id:(Y[2]??"").toLowerCase()}:void 0}var w0=new Set(["flatten","fold","density","impute","regression","loess","quantile","sample"]),Z5=`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: ${[...w0,"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 I0(_,$){if(_==="url")return"Charts may only use inline data and no URLs.";if(_==="sequence"||_==="graticule")return"Charts may only use inline data.";if(w0.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(G5.has(_)&&typeof $==="string"&&!J5($))return"Charts may only use simple expressions over datum.";if(_==="usermeta")return"Charts may not carry usermeta.";if(typeof $==="string"&&j_($))return"Charts may not reference URLs.";if((_==="width"||_==="height")&&z5($)>4000)return"Charts may be at most 4000 pixels wide or tall.";return}var G5=new Set(["calculate","filter","test","signal","labelExpr"]),R0=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 J5(_){if(_.length>500||/[\\`]/.test(_))return!1;let $=_.replace(/'[^']*'|"[^"]*"/g,'""');for(let[,Y]of $.matchAll(/([A-Za-z_$][\w$]*)\s*\(/g))if(!R0.has(Y??""))return!1;let X=$.replace(/(datum|parent)(\s*\.[\w$]+|\s*\[\s*""\s*\])+|\b\d[\w.]*/g,"").matchAll(/[A-Za-z_$][\w$]*/g);for(let[Y]of X)if(!R0.has(Y)&&!["true","false","null"].includes(Y))return!1;return!0}function z5(_){if(typeof _==="number")return _;let $=_?.step;return typeof $==="number"?$:0}function y0(_,$){let X=_?.features,Y=Array.isArray(_)?_.length:Array.isArray(X)?X.length:-1;if(Y<0)return I0($,_)??T1(v1(_,$),M_);return Y>200?"Charts may hold at most 200 rows.":void 0}function M_(_,$=""){if($==="values")return y0(_,$);if($==="datasets")return T1(v1(_),y0);return I0($,_)??T1(v1(_,$),(X,Y)=>M_(X,Y))}function v1(_,$=""){if(Array.isArray(_))return _.map((X)=>[$,X]);return _&&typeof _==="object"?Object.entries(_):[]}function T1(_,$){for(let[X,Y]of _){let Q=$(Y,X);if(Q)return Q}return}var b0=/url\(([^)]*)\)/gi,f1="src|image|image-set|-webkit-image-set|cross-fade|element",j1=new RegExp(String.raw`\b(url|${f1})\(`,"i"),V5=new RegExp(String.raw`\b(${f1})\(`,"i"),K5=new RegExp(String.raw`\b(${f1})\([^)]*\)`,"gi"),W5=/\\([0-9a-f]{1,6})\s?|\\(.)/gi;function D5(_){return _.replace(W5,($,X,Y)=>{if(!X)return Y??"";let Q=parseInt(X,16),N=Q===0||Q>=55296&&Q<=57343||Q>1114111;return String.fromCodePoint(N?65533:Q)})}function C0(_){return _.trim().replace(/^(['"])(.*)\1$/s,"$2").trim()}function j_(_){if(_.includes("\\")||V5.test(_))return!0;for(let[,$]of _.matchAll(b0))if(!C0($??"").startsWith("#"))return!0;return!1}function g1(_){return D5(_).replace(K5,"none").replace(b0,($,X)=>C0(X).startsWith("#")?$:"none")}var g0={async mermaid(_,$,{scheme:X}){let[{default:Y},{default:Q}]=await Promise.all([import("mermaid"),import("dompurify")]);if(j1.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 N=F5($);if(!B5.test(N))throw Error(`Unsupported diagram type: ${N}`);let Z=S0.then(async()=>{if(!v0)Y.initialize({startOnLoad:!1,securityLevel:"strict",htmlLabels:!1}),v0=!0;let z=`%%{init: {"theme": "${X==="dark"?"dark":"default"}"}}%%
8
- ${$}`;return await Y.parse(z),(await Y.render(`cortex-mermaid-${U5()}`,z,_)).svg});S0=Z.catch(()=>{return});let G=await Z,J=document.createElement("div");return J.innerHTML=Q.sanitize(G,{USE_PROFILES:{svg:!0,svgFilters:!0}}),f0(J),_.replaceChildren(...J.childNodes),()=>{_.innerHTML=""}},async "vega-lite"(_,$,{scheme:X}){let Y=JSON.parse($),Q=M_(Y);if(Q)throw Error(Q);let[{default:N},Z]=await Promise.all([import("vega-embed"),import("vega")]),G=()=>Promise.reject(Error("Charts may only use inline data.")),J=document.createElement("div"),z=await N(J,Y,{actions:!1,renderer:"svg",mode:"vega-lite",loader:{...Z.loader(),load:G,sanitize:G},ast:!0,...X==="dark"?{theme:"dark"}:{},config:{background:"transparent"}});return f0(J),_.replaceChildren(J),()=>z.finalize()},async map(_,$){let X=L5(JSON.parse($)),{leaflet:Y,map:Q,dispose:N}=await L_(_,{...X,interactive:!0});for(let Z of X.markers){let G=Y.marker(Z.position).addTo(Q);if(Z.label){let J=document.createElement("span");J.textContent=Z.label,G.bindTooltip(J)}}return N}},H5={mermaid:"translate_media_pending_mermaid","vega-lite":"translate_media_pending_vega_lite",map:"translate_media_pending_map"};function m1(_){return H5[_]??"translate_media_pending"}function x1(_){return Object.keys({...g0,..._})}function c1(_,$){let{language:X,source:Y,context:Q,overrides:N,onError:Z}=$,G=_.appendChild(document.createElement("div")),J=N?.[X]??g0[X],z,V=!1;return(J?J(G,Y,Q):Promise.reject(Error(`No renderer for ${X}.`))).then((q)=>{if(V)q();else z=q},(q)=>{if(!V)Z(q instanceof Error?q.message:String(q))}),()=>{V=!0,z?.(),G.remove()}}var B5=/^(flowchart|graph|sequenceDiagram|stateDiagram(-v2)?|erDiagram|gantt|pie|classDiagram|journey|timeline|mindmap)$/;function F5(_){let $=_.split(`
9
- `).find((X)=>/\S/.test(X)&&!/^\s*%%/.test(X));return/^\s*(\S+)/.exec($??"")?.[1]??""}var S0=Promise.resolve(),v0=!1,T0=0;function U5(){return T0+=1,T0}var q5=new Set(["image","use","feImage"]);function f0(_){for(let $ of[_,..._.querySelectorAll("*")]){for(let X of[...$.attributes])if((X.name==="href"||X.name==="xlink:href")&&q5.has($.tagName)&&!X.value.trim().startsWith("#")||j_(X.value))$.removeAttribute(X.name);if($.tagName==="style"&&$.textContent)$.textContent=g1($.textContent)}}function L5(_){if(!_||typeof _!=="object")throw Error("A map needs a JSON object.");let $=_,X=$.zoom??10;if(typeof X!=="number"||X<0||X>22)throw Error("zoom must be 0 to 22.");let Y=$.markers??[];if(!Array.isArray(Y))throw Error("markers must be a list.");return{center:j0($.center,"center"),zoom:X,markers:Y.map((Q,N)=>{let Z=Q??{},G=Z.label;return{position:j0(Z.position,`markers[${N}].position`),label:typeof G==="string"?G:void 0}})}}function j0(_,$){let X=Array.isArray(_)?_:[],[Y,Q]=X;if(typeof Y!=="number"||typeof Q!=="number"||Math.abs(Y)>90||Math.abs(Q)>180)throw Error(`${$} must be [latitude, longitude].`);return{lat:Y,lng:Q}}function h1(_,$){if(_!=="system")return $(_??"light"),()=>{};let X=window.matchMedia("(prefers-color-scheme: dark)"),Y=()=>$(X.matches?"dark":"light");return Y(),X.addEventListener("change",Y),()=>X.removeEventListener("change",Y)}import O_ from"highlight.js/lib/core";import k5 from"highlight.js/lib/languages/javascript";import M5 from"highlight.js/lib/languages/json";import O5 from"highlight.js/lib/languages/sql";var m0=!1;function P5(){if(m0)return;m0=!0,O_.registerLanguage("javascript",k5),O_.registerLanguage("json",M5),O_.registerLanguage("cypher",O5)}function u1(_,$){if(!_)return"";return P5(),O_.getLanguage($)?O_.highlight(_,{language:$}).value:A5(_)}function A5(_){return _.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var x0={translate_new:"جديد",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_thinking:"جارٍ معالجة الطلب...",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_approval_prompt:"يريد المساعد تنفيذ إجراء. هل تسمح بذلك؟",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_cut_off:"انقطع هذا المقطع قبل اكتماله.",translate_media_failed:"تعذر عرض هذا المقطع.",translate_media_source:"المصدر",translate_media_pending:"جارٍ الرسم",translate_image_unavailable:"الصورة غير متاحة",translate_image_unavailable_alt:"الصورة غير متاحة: {{alt}}",translate_send:"إرسال"};var c0={translate_new:"New",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_thinking:"Thinking things through...",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_approval_prompt:"The assistant wants to take an action. Allow it?",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_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_image_unavailable:"Image unavailable",translate_image_unavailable_alt:"Image unavailable: {{alt}}",translate_send:"Send"};var y5={en:c0,ar:x0};function l1(_){return _&&e_.includes(_)?_:e_[0]}function p1(_,$,X){let Y=y5[_][$];if(!X)return Y;return Y.replace(/\{\{\s*(\w+)\s*\}\}/g,(Q,N)=>(N in X)?String(X[N]):Q)}function P_(_,$,X){return _===1?$:X}function N_(_){if(typeof _==="string"){let $=_.trim();if(!($.startsWith("{")&&$.endsWith("}")||$.startsWith("[")&&$.endsWith("]")))return _;try{return N_(JSON.parse($))}catch{return _}}if(Array.isArray(_))return _.map(($)=>N_($));if(_!==null&&typeof _==="object"){let $={};for(let[X,Y]of Object.entries(_))$[X]=N_(Y);return $}return _}function d1(_,$){if(Array.isArray(_)){let X=_;return{kind:"container",open:"[",close:"]",summary:h0(X.length,"item","items"),entries:X.map((Y,Q)=>({key:null,value:Y,path:`${$}[${Q}]`}))}}if(_!==null&&typeof _==="object"){let X=Object.entries(_);return{kind:"container",open:"{",close:"}",summary:h0(X.length,"property","properties"),entries:X.map(([Y,Q])=>({key:Y,value:Q,path:`${$}.${Y}`}))}}return{kind:"primitive",text:w5(_),className:I5(_)}}function h0(_,$,X){return`${_} ${_===1?$:X}`}function w5(_){if(_===null||_===void 0)return"null";if(typeof _==="string")return JSON.stringify(_);if(typeof _==="number"||typeof _==="boolean")return String(_);return JSON.stringify(_)??"null"}function I5(_){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 n1(_){if(!_)return null;try{return JSON.parse(_)}catch{return _}}function i1(_){if(!_)return"";try{return JSON.stringify(JSON.parse(_),null,2)}catch{return _}}function Z_(_,$){if(_===void 0||typeof _==="string"||Array.isArray(_))return _;let X=_;return X[$]??X.en??Object.values(X)[0]}function u(_,$,X=Date.now()){let Y=new Date(_);if(Number.isNaN(Y.getTime()))return"";let Q=Y.toDateString()===new Date(X).toDateString();return new Intl.DateTimeFormat($,{...Q?{}:{dateStyle:"medium"},timeStyle:"short"}).format(Y)}function r1(_,$){let X=URL.createObjectURL(_),Y=document.createElement("a");Y.href=X,Y.download=$,Y.click(),URL.revokeObjectURL(X)}class o{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((X)=>X.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 X=this.isDone?o.DONE_DRAIN_FRACTION:o.DRAIN_FRACTION,Y=Math.max(o.MIN_CHARS_PER_FRAME,Math.ceil($*X));if(this.releases=this.releases.filter((Q)=>_-Q.at<o.FADE_WINDOW_MS),this.releases.push({from:this.displayedLength,at:_}),this.displayedLength=Math.min(this.fullText.length,this.displayedLength+Y),this.onUpdate(this.fullText.substring(0,this.displayedLength),this.releases.map((Q)=>({length:this.displayedLength-Q.from,age:_-Q.at}))),this.displayedLength<this.fullText.length)this.scheduleFrame();else this.animationFrameId=null}stopAnimation(){if(this.animationFrameId)cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null}}var b5=2;function o1(_){let $=!1,X=!1,Y=!1,Q=!1,N=!1,Z=!1,G,J=new Set,z=0,V=!1;function W(){if($&&z===0)return!1;if(z+=1,!$)$=!0,_.setRunning(!0);return!0}function q(H){if(z-=1,H)V=!0;else if(z===0&&!V)$=!1,_.setRunning(!1)}async function L(H,D){for(let K=0;K<b5;K+=1){let O=await _.refreshMessages().catch(()=>{return});if(!_.isAlive())return!1;if(!O)continue;if(!r(O).some((T)=>T.id===H.id))return!0;if(await _.deliver(D).then(()=>!0,()=>!1))return!0}return!1}async function U(H,D){let K;try{let Q_=D({toolCallId:H.id,toolName:H.name,input:H.input},{threadId:_.threadId});if(Q_===null||Q_===void 0)return;K=await Promise.resolve(Q_)}catch{J.delete(H.id);return}if(K===null||K===void 0)return;if(!_.isAlive())return;let O=W(),C={toolCallId:H.id,tool:H.name,output:K},T=await _.deliver(C).then(()=>!0,()=>L(H,C));if(O)q(T);if(!T)J.delete(H.id)}function k(H){let D=r(H),K=_.onToolCall();if(!K)return D.length>0;for(let O of D){if(O.state!=="input-complete"||J.has(O.id))continue;J.add(O.id),U(O,K)}return D.length>0}async function M(H){let D=Q;if(Q=!1,!D&&$){if(k(H()))return;if(Y)_.reloadThreads().catch(()=>{});else _.setRunning(!1)}if(G===void 0&&(Z||D))return;G=void 0;let K=await _.refreshMessages();if(!D&&$&&K)k(K)}return{chunkArrived(){X=!0},transcriptCarried(H){if(Z=!0,G!==void 0&&G<=H)G=void 0},transcriptUpdated(H){if(!N){_.refreshMessages();return}G=Math.max(G??0,Date.parse(H))},streamFailed(){if(Y=!0,X)_.onTurnFinished();else _.onSendFailed()},loadingChanged(H,D){if(H){N=!0,Y=!1,Z=!1;return}if(!N)return;N=!1,_.onTurnFinished(),M(D)},hydrated(H,D){if(D)return;setTimeout(()=>{if(_.isAlive())k(H)},0)},sendStarted(){_.setRunning(!0),$=!0,X=!1},abortConfirmed(){Q=!0,_.setRunning(!1)}}}function A_(_){if(_.input.total<=0)return null;return Math.round(_.input.cacheRead/_.input.total*100)}import{createContext as u0,useContext as l0}from"react";var a1=u0(void 0);function B(){let _=l0(a1);if(!_)throw Error("useCortex must be used inside <CortexChatWidget>");return _}var g_={messages:[],isAgentWorking:!1,isLoadingMessages:!1,hasPendingToolCalls:!1},m_=u0(g_);function x_(){return l0(m_)}import{useEffect as C5,useState as S5}from"react";function p0(_,$){let[X,Y]=S5();return C5(()=>{return Y(void 0),I1(_,Y)},[_,$]),X}import{useRef as c5}from"react";import{useRef as v5,useState as T5,useSyncExternalStore as f5}from"react";function d0(_,$){let X=v5($);X.current=$;let[Y]=T5(()=>B1({api:_,ensureThread:()=>X.current()})),Q=f5(Y.subscribe,Y.getState,Y.getState);return{store:Y,value:{items:Q,...F1(Q),accept:Y.accept,remove:Y.remove,consumeReady:Y.consumeReady}}}import{useEffect as j5,useRef as g5}from"react";function n0(_,$){let X=g5(void 0);j5(()=>{if($===X.current)return;_.clear(X.current),X.current=$},[$,_])}import{useRef as i0}from"react";function r0(_){let $=i0([]),X=i0(void 0);function Y(){let N=_.selectedRef.current;if(N)return Promise.resolve(N.id);return X.current??=_.api.createThread().then((Z)=>{return X.current=void 0,_.onCreated(Z),Z.id},(Z)=>{throw X.current=void 0,Z}),X.current}async function Q(N,Z=[]){let G=_.sessionRef.current;if(G){await G.send(N,Z);return}$.current.push({prompt:N,attachments:Z});try{await Y()}catch(J){throw $.current=[],J}}return{ensureThread:Y,send:Q,pendingSendRef:$}}import{useRef as m5,useState as x5}from"react";function o0(_){let[$,X]=x5(),Y=$?.thread,Q=Y?_.threads?.find((z)=>z.id===Y.id)??Y:void 0,N=m5(Q);N.current=Q;function Z(z,V){if(N.current?.id===z.id&&_.hasSession())return;let W=N.current;if(N.current=z,X({thread:z,mode:V,epoch:0}),W&&W.id!==z.id)_.getHooks()?.onThreadDeselected?.(W);_.getHooks()?.onThreadSelected?.(z)}function G(){let z=N.current;if(!z&&!_.hasSession())return;if(N.current=void 0,X(void 0),z)_.getHooks()?.onThreadDeselected?.(z)}function J(z,V){X((W)=>({thread:z,mode:"reload",epoch:(W?.epoch??0)+1,initialMessages:V}))}return{session:$,selected:Q,selectedRef:N,select:Z,deselect:G,remount:J}}function a0(_){let{api:$,threads:X}=_,Y=c5(void 0),Q=o0({threads:X.threads,getHooks:_.getHooks,hasSession:()=>Y.current!==void 0}),N=r0({api:$,sessionRef:Y,selectedRef:Q.selectedRef,onCreated:(z)=>{X.upsert(z),Q.select(z,"skip")}}),Z=d0($,N.ensureThread);n0(Z.store,Q.selected?.id);async function G(z){if(Q.selectedRef.current?.id===z)Q.deselect();await X.remove(z)}function J(z){Q.select(z,"load")}return{sessionRef:Y,selection:Q,queue:Z,deleteThread:G,openThread:J,...N}}import{useEffect as h5,useRef as u5}from"react";function t0(_){let $=u5(_);$.current=_,h5(()=>{$.current.onMount();let X=!1,Y=w1({getConfig:()=>$.current.getConfig(),onEvent:(Q)=>$.current.onEvent(Q),onOpen:()=>{if(X)$.current.onReconnect();X=!0}});return()=>Y.close()},[])}function s0(_){let{threads:$,selectedRef:X,sessionRef:Y}=_;function Q(Z){$.applyEvent(Z);let G=X.current?.id;switch(Z.type){case"thread:deleted":if(G===Z.payload.threadId)_.deselect();break;case"thread:run-started":if(G===Z.payload.thread.id)Y.current?.reattach(Z.payload.thread);break;case"thread:messages-updated":Y.current?.transcriptUpdated(Z.payload.thread.id,Z.payload.thread.updatedAt);break}}function N(){_.onReconnect(),$.reload().then((Z)=>{let G=X.current;if(!G)return;Y.current?.reattach(Z.find((J)=>J.id===G.id)??G)})}return{onEvent:Q,onReconnect:N}}function e0(_){return{abort:async()=>{await _.current?.abort()},addToolResult:($,X,Y)=>_.current?.addToolResult($,X,Y)??Promise.resolve(),respondToApproval:($,X)=>_.current?.respondToApproval($,X)??Promise.resolve()}}import{useState as l5}from"react";function _6(_){let[$,X]=l5();async function Y(){let J=T_(await _.listThreads());return X(J),J}function Q(J){X((z)=>k_(z??[],J))}function N(J,z){X((V)=>{let W=V?.find((q)=>q.id===J);return W?k_(V??[],{...W,isRunning:z}):V})}async function Z(J){await _.deleteThread(J),X((z)=>z?f_(z,J):z)}function G(J){X((z)=>{let V=b1(z??[],J);return z||V.length?V:z})}return{threads:$,reload:Y,upsert:Q,setRunning:N,remove:Z,applyEvent:G}}import{useState as $6}from"react";function X6(){let[_,$]=$6("chat"),[X,Y]=$6(!1);return{screen:_,sidebarOpen:X,showChat:()=>{$("chat"),Y(!1)},openHistory:()=>$("threads"),closeHistory:()=>$("chat"),toggleSidebar:()=>Y((Q)=>!Q),closeSidebar:()=>Y(!1)}}function F(..._){return _.filter(Boolean).join(" ")}import{jsx as l,jsxs as Y6}from"react/jsx-runtime";function Q6({onToggleSidebar:_,onToggleDebug:$,onOpenHistory:X}){let{config:Y,locale:Q,t:N,debugMode:Z,selectedThread:G}=B();return Y6("div",{className:"cortex-widget__chat-header",children:[l("button",{onClick:_,className:"cortex-widget__sidebar-toggle-btn",children:l("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:l("path",{d:"M2.5 4h11M2.5 8h11M2.5 12h11",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),l("div",{className:"cortex-widget__chat-title-wrap",children:l("p",{className:"cortex-widget__chat-title",children:G?.title??Z_(Y.agentName,Q)??N("translate_new_chat")})}),Y.showDebugButton&&l("button",{onClick:$,className:F("cortex-widget__debug-btn",Z?"cortex-widget__debug-btn--on":"cortex-widget__debug-btn--off"),children:Z?N("translate_debug"):N("translate_normal")}),l("button",{type:"button",onClick:X,"aria-label":N("translate_history"),className:"cortex-widget__history-btn",children:Y6("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[l("circle",{cx:"8",cy:"8",r:"5.75",stroke:"currentColor",strokeWidth:"1.3"}),l("path",{d:"M8 5v3l2 1.5",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})]})})]})}var I={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{forwardRef as a5,useEffect as t5,useImperativeHandle as s5,useRef as V6,useState as e5}from"react";import{useState as p5}from"react";function N6(_,$){let[X,Y]=p5(!1);return{dragging:X,onDragOver:(Q)=>{if(Q.preventDefault(),_)Y(!0)},onDragLeave:(Q)=>{if(!Q.currentTarget.contains(Q.relatedTarget))Y(!1)},onDrop:(Q)=>{if(Q.preventDefault(),Y(!1),_)$([...Q.dataTransfer.files])},onPaste:(Q)=>{let N=Q.clipboardData.files;if(!_||!N.length)return;Q.preventDefault(),$([...N])}}}import{jsx as p,jsxs as t1}from"react/jsx-runtime";function Z6(){let{queue:_,t:$}=B();if(!_.items.length)return null;return p("div",{className:"cortex-attachment-queue",children:_.items.map((X)=>t1("div",{className:F("cortex-attachment-chip",X.status==="error"&&"cortex-attachment-chip--error"),title:X.status==="error"?$("translate_attachment_rejected"):"",children:[X.status==="uploading"||X.status==="deleting"?t1("svg",{className:"cortex-attachment-chip__spinner",viewBox:"0 0 16 16",fill:"none",children:[p("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"2",className:"cortex-attachment-chip__spinner-track"}),p("path",{d:"M14 8a6 6 0 0 0-6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):t1("svg",{viewBox:"0 0 16 16",className:"cortex-attachment-chip__icon",fill:"none",children:[p("path",{d:I.file[0],stroke:"currentColor",strokeWidth:"1.25"}),p("path",{d:I.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),p("span",{className:"cortex-attachment-chip__name",children:X.filename}),p("button",{type:"button",onClick:()=>_.remove(X.localId),className:"cortex-attachment-chip__remove",disabled:X.status==="deleting","aria-label":$("translate_remove_attachment"),children:p("svg",{viewBox:"0 0 16 16",fill:"none",children:p("path",{d:"M4.5 4.5l7 7m0-7l-7 7",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]},X.localId))})}import{useRef as d5}from"react";import{jsx as __,jsxs as G6,Fragment as i5}from"react/jsx-runtime";var n5=_1.join(",");function J6({attachmentsEnabled:_,canSend:$,onSend:X}){let{t:Y,queue:Q}=B(),N=d5(null);return G6("div",{className:"cortex-widget__input-actions",children:[_&&G6(i5,{children:[__("button",{type:"button",onClick:()=>N.current?.click(),className:"cortex-widget__attach-btn","aria-label":Y("translate_attach_files"),children:__("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:__("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"})})}),__("input",{ref:N,type:"file",multiple:!0,accept:n5,onChange:(Z)=>{Q.accept([...Z.target.files??[]]),Z.target.value=""},className:"cortex-widget__file-input"})]}),__("button",{onClick:X,"aria-label":Y("translate_send"),className:F("cortex-widget__send-btn",!$&&"cortex-widget__send-btn--empty",$&&"cortex-widget__send-btn--ready"),disabled:!$,children:__("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__send-icon",children:__("path",{d:"M3 8h10M9 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]})}import{useLayoutEffect as r5}from"react";import{jsx as o5}from"react/jsx-runtime";function z6(_){let{t:$}=B();r5(()=>{let Y=_.inputRef.current;if(!Y)return;Y.style.height="0px",Y.style.height=`${Y.scrollHeight}px`},[_.inputRef,_.value]);function X(Y){if(Y.key==="Enter"&&!Y.shiftKey)Y.preventDefault(),_.onSubmit()}return o5("textarea",{ref:_.inputRef,onKeyDown:X,onPaste:_.onPaste,value:_.value,onChange:(Y)=>_.onChange(Y.target.value),placeholder:_.dragging?$("translate_drop_files_here"):_.disabled?"":$("translate_type_a_message"),disabled:_.disabled,rows:1,className:F("cortex-widget__textarea",_.disabled&&"cortex-widget__textarea--disabled")})}import{jsx as G_,jsxs as s1}from"react/jsx-runtime";var K6=a5(function($,X){let{t:Y,queue:Q,send:N,abort:Z,capabilities:G}=B(),{isAgentWorking:J}=x_(),z=G?.attachments??!1,[V,W]=e5(""),q=N6(z,Q.accept),L=V6(null);s5(X,()=>({focusInput:()=>L.current?.focus()}));let U=V6(J);t5(()=>{if(U.current&&!J)L.current?.focus();U.current=J},[J]);let k=!Q.busy&&(Boolean(V.trim())||Q.hasReady);function M(){if(J||!k)return;let H=V.trim()||Y("translate_attachment_caption"),D=Q.consumeReady();W(""),N(H,D.map((K)=>K.summary))}return s1("div",{className:"cortex-widget__input-area",onDragOver:q.onDragOver,onDragLeave:q.onDragLeave,onDrop:q.onDrop,children:[G_(Z6,{}),s1("div",{className:F("cortex-widget__input-box",J&&"cortex-widget__input-box--disabled",!J&&"cortex-widget__input-box--enabled",q.dragging&&"cortex-widget__input-box--dragging"),children:[G_(z6,{inputRef:L,value:V,onChange:W,onSubmit:M,onPaste:q.onPaste,disabled:J,dragging:q.dragging}),J?s1("button",{onClick:()=>void Z(),className:"cortex-stop-btn",children:[G_("span",{className:"cortex-stop-btn__ring"}),G_("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"cortex-stop-btn__icon",children:G_("rect",{x:"1",y:"1",width:"10",height:"10",rx:"2.5",fill:"currentColor"})})]}):G_(J6,{attachmentsEnabled:z,canSend:k,onSend:M})]})]})});import{jsx as W6}from"react/jsx-runtime";function c_({capabilities:_,composerRef:$}){let{t:X}=B();if(_===void 0)return null;return _.messages===!1?W6("p",{className:"cortex-widget__messages-disabled",children:X("translate_messages_disabled")}):W6(K6,{ref:$})}import{jsx as h,jsxs as D6}from"react/jsx-runtime";function H6(_){let{locale:$,t:X,threads:Y,send:Q,capabilities:N}=B(),Z=N?.messages===!1,G=N!==void 0,J=Z_(N?.suggestions,$),z=Z_(N?.greeting,$)||X("translate_greeting");return D6("div",{className:"cortex-widget__landing",children:[h("div",{className:"cortex-widget__landing-icon",children:h("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",children:h("path",{d:I.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),h("p",{className:"cortex-widget__landing-greeting",children:z}),G&&!Z&&!!J?.length&&h("div",{className:"cortex-widget__landing-chips",children:J.map((V,W)=>h("button",{type:"button",onClick:()=>void Q(V.prompt),className:"cortex-widget__landing-chip",children:V.title},W))}),h(c_,{capabilities:N}),!!Y?.length&&h("div",{className:"cortex-widget__landing-recent",children:Y.slice(0,2).map((V)=>{let W=u(V.updatedAt,$);return D6("button",{type:"button",onClick:()=>_.onThreadSelected(V),className:"cortex-widget__landing-recent-item",children:[h("p",{className:"cortex-widget__landing-recent-title",children:V.title??X("translate_untitled")}),W&&h("p",{className:"cortex-widget__landing-recent-time",children:W})]},V.id)})})]})}import{useCallback as r_,useEffect as o_,useMemo as S8,useRef as C_,useState as N0}from"react";import{jsx as h_,jsxs as B6}from"react/jsx-runtime";function F6(){let{t:_}=B();return B6("div",{className:"cortex-widget__working",children:[B6("div",{className:"cortex-widget__working-dots",children:[h_("span",{className:"cortex-working-dot"}),h_("span",{className:"cortex-working-dot"}),h_("span",{className:"cortex-working-dot"})]}),h_("span",{className:"cortex-widget__working-text",children:_("translate_thinking")})]})}import{memo as b8}from"react";import{Fragment as y8}from"react";import{useRef as _8,useState as $8}from"react";import{jsx as J_,jsxs as X8}from"react/jsx-runtime";function j({value:_,className:$}){let{t:X}=B(),[Y,Q]=$8(!1),N=_8(null);async function Z(G){G.stopPropagation(),G.preventDefault();try{if(await navigator.clipboard.writeText(_),Q(!0),N.current)clearTimeout(N.current);N.current=setTimeout(()=>Q(!1),1500)}catch{}}return J_("span",{className:F("cortex-copy-btn",$),children:J_("button",{className:F("cortex-copy-btn__button",Y&&"cortex-copy-btn__button--copied"),onClick:(G)=>void Z(G),"aria-label":Y?X("translate_copied"):X("translate_copy"),type:"button",children:Y?J_("svg",{className:"cortex-copy-btn__icon cortex-copy-btn__icon--check",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:J_("path",{d:"M5 13l4 4L19 7",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}):X8("svg",{className:"cortex-copy-btn__icon",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:[J_("rect",{x:"9",y:"9",width:"12",height:"12",rx:"2",stroke:"currentColor",strokeWidth:"2"}),J_("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 u_,jsxs as U6}from"react/jsx-runtime";function q6(){let{t:_}=B();return U6("div",{className:"cortex-aborted-flag",children:[u_("span",{className:"cortex-aborted-flag__line"}),U6("span",{className:"cortex-aborted-flag__label",children:[u_("svg",{className:"cortex-aborted-flag__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:u_("path",{d:"M6 1.5v5M6 8.75v.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})}),_("translate_aborted")]}),u_("span",{className:"cortex-aborted-flag__line"})]})}import{jsx as z_,jsxs as L6}from"react/jsx-runtime";function k6(_){let{api:$,t:X}=B();async function Y(Q){let{blob:N,name:Z}=await $.downloadAttachment(Q);r1(N,Z)}return z_("div",{className:F("cortex-message-attachments",_.isUser&&"cortex-message-attachments--user"),children:_.attachments.map((Q)=>L6("button",{type:"button",onClick:()=>void Y(Q.id),className:"cortex-message-attachment","aria-label":`${X("translate_download")}: ${Q.filename}`,children:[L6("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__icon",fill:"none",children:[z_("path",{d:I.file[0],stroke:"currentColor",strokeWidth:"1.25"}),z_("path",{d:I.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),z_("span",{className:"cortex-message-attachment__name",children:Q.filename}),z_("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__dl-icon",fill:"none",children:z_("path",{d:"M8 3v7m0 0L5.5 7.5M8 10l2.5-2.5M3 13h10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},Q.id))})}import{useRef as N8,useState as E_}from"react";import{useMemo as Y8,useState as Q8}from"react";import{jsx as f,jsxs as $_,Fragment as l_}from"react/jsx-runtime";function a({data:_,expandDepth:$,className:X}){let Y=Y8(()=>N_(_),[_]),[Q,N]=Q8({});function Z(J,z){return Q[J]??z>=$}function G(J,z){N((V)=>({...V,[J]:!Z(J,z)}))}return f("div",{className:F("cortex-json-tree",X),children:f(M6,{value:Y,path:"$",depth:0,isCollapsed:Z,toggle:G})})}function M6({value:_,path:$,depth:X,isCollapsed:Y,toggle:Q}){let N=d1(_,$);if(N.kind==="primitive")return f("span",{className:N.className,children:N.text});if(N.entries.length===0)return $_("span",{className:"cortex-json-tree__bracket",children:[N.open,N.close]});let Z=Y($,X);function G(J){Q($,X),J.stopPropagation()}return $_(l_,{children:[$_("span",{className:"cortex-json-tree__toggle",onClick:G,role:"button",children:[f("span",{className:F("cortex-json-tree__arrow",Z&&"cortex-json-tree__arrow--collapsed"),children:"▾"}),f("span",{className:"cortex-json-tree__bracket",children:N.open})]}),Z?$_(l_,{children:[f("span",{className:"cortex-json-tree__collapsed-hint",onClick:G,role:"button",children:N.summary}),f("span",{className:"cortex-json-tree__bracket",children:N.close})]}):$_(l_,{children:[f("div",{className:"cortex-json-tree__indent",children:N.entries.map((J,z)=>$_("div",{className:"cortex-json-tree__line",children:[J.key!==null&&$_(l_,{children:[f("span",{className:"cortex-json-tree__key",children:`"${J.key}"`}),f("span",{className:"cortex-json-tree__colon",children:": "})]}),f(M6,{value:J.value,path:J.path,depth:X+1,isCollapsed:Y,toggle:Q}),z<N.entries.length-1&&f("span",{className:"cortex-json-tree__comma",children:","})]},J.path))}),f("span",{className:"cortex-json-tree__bracket",children:N.close})]})]})}function E(_){return _.toLocaleString("en-US")}import{jsx as V_,jsxs as K_}from"react/jsx-runtime";function O6({usage:_}){let{t:$}=B();return K_("div",{className:"cortex-llm-inspector__usage-rows",children:[K_("div",{className:"cortex-llm-inspector__usage-row",children:[V_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_input")}),V_("span",{className:"cortex-llm-inspector__usage-val",children:E(_.input.total)}),K_("span",{className:"cortex-llm-inspector__usage-detail",children:[$("translate_fresh")," ",E(_.input.noCache)," · ",$("translate_read")," ",E(_.input.cacheRead)," · ",$("translate_write")," ",E(_.input.cacheWrite)]})]}),K_("div",{className:"cortex-llm-inspector__usage-row",children:[V_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_output")}),V_("span",{className:"cortex-llm-inspector__usage-val",children:E(_.output.total)}),K_("span",{className:"cortex-llm-inspector__usage-detail",children:[$("translate_text")," ",E(_.output.text)," · ",$("translate_reasoning")," ",E(_.output.reasoning)]})]}),K_("div",{className:"cortex-llm-inspector__usage-row cortex-llm-inspector__usage-row--total",children:[V_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_total")}),V_("span",{className:"cortex-llm-inspector__usage-val",children:E(_.total)})]})]})}import{jsx as P6,jsxs as p_}from"react/jsx-runtime";function A6({usage:_}){let $=A_(_);return p_("span",{className:"cortex-llm-inspector__step-metrics",children:[p_("span",{className:"cortex-llm-inspector__metric",children:[P6("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--input"}),E(_.input.total)]}),p_("span",{className:"cortex-llm-inspector__metric",children:[P6("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--output"}),E(_.output.total)]}),$!==null&&p_("span",{className:"cortex-llm-inspector__cache-pct",children:[$,"%"]})]})}import{jsx as y,jsxs as t}from"react/jsx-runtime";function E6({messageId:_}){let{t:$,api:X}=B(),[Y,Q]=E_(!1),[N,Z]=E_(!1),[G,J]=E_([]),[z,V]=E_(null),[W,q]=E_({}),L=N8(!1);async function U(){if(!L.current){Z(!0);try{J(await X.listLlmRequests(_))}finally{Z(!1),L.current=!0}}Q((K)=>!K)}function k(K){V((O)=>O===K?null:K)}function M(K){return W[K]??"prompt"}function H(K,O){q((C)=>({...C,[K]:O}))}function D(K){return M(K.id)==="prompt"?K.prompt:K.output}return t("div",{className:F("cortex-llm-inspector",Y&&"cortex-llm-inspector--open"),children:[t("button",{className:"cortex-llm-inspector__trigger",onClick:()=>void U(),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")}),N?y("span",{className:"cortex-llm-inspector__loading",children:$("translate_loading")}):G.length>0?y("span",{className:"cortex-llm-inspector__badge",children:G.length}):null,y("svg",{className:"cortex-llm-inspector__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:y("path",{d:I.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:t("div",{className:"cortex-llm-inspector__panel",children:[G.length===0&&!N&&y("div",{className:"cortex-llm-inspector__empty",children:$("translate_no_llm_requests")}),G.map((K,O)=>t("div",{className:F("cortex-llm-inspector__step",z===K.id&&"cortex-llm-inspector__step--expanded"),children:[t("button",{className:"cortex-llm-inspector__step-header",onClick:()=>k(K.id),children:[y("span",{className:"cortex-llm-inspector__step-label",children:$("translate_step_n",{number:O+1})}),K.tokenUsage&&y(A6,{usage:K.tokenUsage}),y("svg",{className:"cortex-llm-inspector__step-chevron",width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",children:y("path",{d:I.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:t("div",{className:"cortex-llm-inspector__step-body",children:[K.tokenUsage&&y(O6,{usage:K.tokenUsage}),t("div",{className:"cortex-llm-inspector__tabs",children:[y("button",{className:F("cortex-llm-inspector__tab",M(K.id)==="prompt"&&"cortex-llm-inspector__tab--active"),onClick:()=>H(K.id,"prompt"),children:$("translate_request")}),y("button",{className:F("cortex-llm-inspector__tab",M(K.id)==="response"&&"cortex-llm-inspector__tab--active"),onClick:()=>H(K.id,"response"),children:$("translate_response")})]}),t("div",{className:"cortex-llm-inspector__json-pane",children:[y(j,{className:"cortex-llm-inspector__json-copy",value:i1(D(K))}),y(a,{data:n1(D(K)),expandDepth:2})]})]})})})]},K.id))]})})})]})}import{useState as Z8}from"react";import{jsx as P,jsxs as b}from"react/jsx-runtime";function R6({usage:_,modelId:$}){let{t:X}=B(),[Y,Q]=Z8(!1),N=A_(_)??0;return b("div",{className:F("cortex-token-usage",Y&&"cortex-token-usage--expanded"),children:[b("button",{className:"cortex-token-usage__summary",onClick:()=>Q((Z)=>!Z),children:[b("span",{className:"cortex-token-usage__total",children:[P("span",{className:"cortex-token-usage__total-number",children:E(_.total)}),P("span",{className:"cortex-token-usage__total-label",children:X("translate_tokens")})]}),$?P("span",{className:"cortex-token-usage__model",children:$}):null,b("span",{className:"cortex-token-usage__pills",children:[b("span",{className:"cortex-token-usage__pill",children:[P("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),E(_.input.total)]}),b("span",{className:"cortex-token-usage__pill",children:[P("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),E(_.output.total)]})]}),N>0&&b("span",{className:"cortex-token-usage__cache-badge",children:[N,"%"]}),P("svg",{className:"cortex-token-usage__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:P("path",{d:I.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),P("div",{className:"cortex-token-usage__details",children:P("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:[P("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),P("span",{className:"cortex-token-usage__col-label",children:X("translate_input")}),P("span",{className:"cortex-token-usage__col-total",children:E(_.input.total)})]}),b("div",{className:"cortex-token-usage__rows",children:[_.input.noCache?b("div",{className:"cortex-token-usage__row",children:[P("span",{className:"cortex-token-usage__row-label",children:X("translate_fresh")}),P("span",{className:"cortex-token-usage__row-value",children:E(_.input.noCache)})]}):null,_.input.cacheRead?b("div",{className:"cortex-token-usage__row",children:[P("span",{className:"cortex-token-usage__row-label",children:X("translate_cache_read")}),P("span",{className:"cortex-token-usage__row-value",children:E(_.input.cacheRead)})]}):null,_.input.cacheWrite?b("div",{className:"cortex-token-usage__row",children:[P("span",{className:"cortex-token-usage__row-label",children:X("translate_cache_write")}),P("span",{className:"cortex-token-usage__row-value",children:E(_.input.cacheWrite)})]}):null]}),N>0&&b("div",{className:"cortex-token-usage__cache-bar-row",children:[P("div",{className:"cortex-token-usage__cache-bar",children:P("div",{className:"cortex-token-usage__cache-fill",style:{width:`${N}%`}})}),P("span",{className:"cortex-token-usage__cache-label",children:X("translate_n_percent_cached",{percent:N})})]})]}),b("div",{className:"cortex-token-usage__col",children:[b("div",{className:"cortex-token-usage__col-header",children:[P("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),P("span",{className:"cortex-token-usage__col-label",children:X("translate_output")}),P("span",{className:"cortex-token-usage__col-total",children:E(_.output.total)})]}),b("div",{className:"cortex-token-usage__rows",children:[_.output.text?b("div",{className:"cortex-token-usage__row",children:[P("span",{className:"cortex-token-usage__row-label",children:X("translate_text")}),P("span",{className:"cortex-token-usage__row-value",children:E(_.output.text)})]}):null,_.output.reasoning?b("div",{className:"cortex-token-usage__row",children:[P("span",{className:"cortex-token-usage__row-label",children:X("translate_reasoning")}),P("span",{className:"cortex-token-usage__row-value",children:E(_.output.reasoning)})]}):null]})]})]})})})]})}import{jsx as y6,jsxs as G8}from"react/jsx-runtime";function w6({messageId:_,isAssistant:$,metadata:X}){let{tokenUsage:Y}=X;if(!Y&&!$)return null;return G8("div",{className:"cortex-message-debug-zone",children:[Y&&y6(R6,{usage:Y,modelId:X.modelId}),$&&y6(E6,{messageId:_})]})}import{jsx as g,jsxs as R_}from"react/jsx-runtime";function I6(_){let{reasoningPart:$,streaming:X=!1}=_,{t:Y}=B();return R_("details",{className:"cortex-reasoning-details",children:[R_("summary",{className:"cortex-reasoning-details__summary",children:[R_("div",{className:"cortex-reasoning-details__header",children:[g("span",{className:"cortex-reasoning-details__icon",children:R_("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:[g("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"}),g("path",{d:"M7.5 17.5h5M8.5 8a2 2 0 0 1 2-2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})]})}),g("div",{className:"cortex-reasoning-details__title-group",children:R_("div",{className:"cortex-reasoning-details__title-row",children:[g("div",{className:"cortex-reasoning-details__title",children:Y("translate_reasoning")}),g("span",{className:F("cortex-reasoning-details__badge",X?"cortex-reasoning-details__badge--streaming":"cortex-reasoning-details__badge--done"),children:X?Y("translate_streaming"):Y("translate_done")})]})})]}),g("span",{className:"cortex-reasoning-details__chevron","aria-hidden":"true",children:g("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:g("path",{d:I.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),g("div",{className:"cortex-reasoning-details__body",children:g("div",{className:"cortex-reasoning-details__content",children:g("pre",{className:"cortex-reasoning-details__pre",children:$.content.trim()?$.content:Y("translate_no_reasoning")})})})]})}import{useEffect as T6,useMemo as H8,useRef as _0,useState as B8}from"react";import{useEffect as J8,useState as b6}from"react";import{jsx as e1,jsxs as z8}from"react/jsx-runtime";function C6(_){let{id:$,alt:X,attachment:Y}=_,{api:Q,t:N}=B(),[Z,G]=b6(),[J,z]=b6(!1);if(J8(()=>{let V,W=!1;return G(void 0),z(!1),Q.downloadAttachment($).then(({blob:q})=>{if(W)return;V=URL.createObjectURL(q),G(V)},()=>{if(!W)z(!0)}),()=>{if(W=!0,V)URL.revokeObjectURL(V)}},[Q,$]),J)return e1("p",{className:"cortex-attachment-image__caption",children:X?N("translate_image_unavailable_alt",{alt:X}):N("translate_image_unavailable")});if(!Z)return null;return z8("figure",{className:"cortex-attachment-image",children:[e1("img",{src:Z,alt:X}),Y&&e1("figcaption",{className:"cortex-attachment-image__caption",children:Y.filename})]})}import{useEffect as V8,useRef as K8,useState as S6}from"react";import{jsx as d,jsxs as d_}from"react/jsx-runtime";function W8(_){let{t:$}=B();if(!_.pending&&!_.debugMode)return null;return d_("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:$(m1(_.language))}),_.debugMode&&_.closed&&d_("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(j,{value:_.source})]})]})}function D8(_){let{debugMode:$,t:X}=B();return d("div",{className:"cortex-media-block__body",children:d_("p",{className:"cortex-media-block__error",children:[_.cutOff?X("translate_media_cut_off"):X("translate_media_failed"),!_.cutOff&&$&&` ${_.reason}`]})})}function v6(_){let{language:$,source:X,closed:Y,streaming:Q}=_,{config:N,debugMode:Z,scheme:G}=B(),J=K8(null),[z,V]=S6(),[W,q]=S6(!1);V8(()=>{V(void 0);let M=J.current;if(!Y||!G||!M)return;return c1(M,{language:$,source:X,context:{scheme:G},overrides:N.mediaRenderers,onError:V})},[$,X,Y,G,N.mediaRenderers]);let L=!Y&&!Q,U=L||Boolean(z);return d_("div",{className:"cortex-media-block",children:[d(W8,{language:$,source:X,pending:!Y&&Q,closed:Y,debugMode:Z,sourceShown:W,onToggleSource:U?void 0:()=>q((M)=>!M)}),U&&d(D8,{cutOff:L,reason:z}),d("div",{ref:J,hidden:U,className:F("cortex-media-block__body",`cortex-media-block__body--${$}`)}),Z&&(U||W)&&d("pre",{className:"cortex-media-block__source",children:X})]})}import{jsx as y_}from"react/jsx-runtime";function f6(_){let{role:$,textPart:X,streaming:Y=!1,attachments:Q=[]}=_,{config:N}=B(),Z=$==="assistant"&&Y?"":X.content,[G,J]=B8({text:Z,fading:[]}),z=_0(Z),V=_0(null),W=_0(!0);T6(()=>{function U(k,M){z.current=k,J((H)=>H.text===k&&!H.fading.length&&!M.length?H:{text:k,fading:M})}if($!=="assistant"||!Y){V.current?.destroy(),V.current=null,U(X.content,[]),W.current=!1;return}if(!V.current)V.current=new o(U),V.current.seed(z.current);if(W.current){W.current=!1,V.current.seed(X.content);return}V.current.update(X.content,!1)},[$,Y,X]),T6(()=>()=>{V.current?.destroy(),V.current=null},[]);let q=H8(()=>{let U=$==="assistant"?S1(G.text,x1(N.mediaRenderers)):[{kind:"markdown",text:G.text}];return U.map((k,M)=>k.kind==="markdown"?{...k,html:{__html:C1(k.text,M===U.length-1?G.fading:[])}}:k)},[$,G,N.mediaRenderers]),L=Y||G.text!==X.content;return y_("div",{className:F("cortex-text-part",$==="assistant"&&"cortex-text-part--assistant",$==="user"&&"cortex-text-part--user"),children:y_("div",{className:F("cortex-text-bubble",$==="assistant"&&"cortex-text-bubble--assistant",$==="user"&&"cortex-text-bubble--user"),children:q.map((U,k)=>{switch(U.kind){case"markdown":return y_("div",{dangerouslySetInnerHTML:U.html},k);case"media":return y_(v6,{...U,streaming:L},k);case"attachment":return y_(C6,{id:U.id,alt:U.alt,attachment:Q.find((M)=>M.id.toLowerCase()===U.id)},k)}})})})}import{jsx as v,jsxs as s}from"react/jsx-runtime";function j6({toolCallPart:_}){let{t:$}=B(),{state:X,approval:Y}=_,Q=_.output,N=Z1(_);if(X==="complete")return s("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--success",children:[s("div",{className:"cortex-debug-tool__section-bar",children:[v("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--success",children:$("translate_output")}),v("span",{className:"cortex-debug-tool__section-lang",children:"json"}),v(j,{value:N})]}),v("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:v(a,{data:Q,expandDepth:2})})]});if(X==="error")return s("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--error",children:[s("div",{className:"cortex-debug-tool__section-bar",children:[v("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--error",children:$("translate_error")}),v(j,{value:N})]}),v("pre",{dir:"ltr",className:"cortex-debug-tool__error-pre",children:N})]});if(X==="approval-requested")return s("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--approval",children:[s("div",{className:"cortex-debug-tool__section-bar",children:[v("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--approval",children:$("translate_approval_requested")}),v("span",{className:"cortex-debug-tool__section-lang",children:Y?.id})]}),v("div",{className:"cortex-debug-tool__message cortex-debug-tool__message--approval",children:$("translate_waiting_for_approval")})]});if(X==="approval-responded")return s("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--approval",children:[s("div",{className:"cortex-debug-tool__section-bar",children:[v("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--approval",children:$("translate_approval_response")}),v("span",{className:"cortex-debug-tool__section-lang",children:Y?.id})]}),v("div",{className:"cortex-debug-tool__message cortex-debug-tool__message--approval",children:$(Y?.approved?"translate_tool_approved":"translate_tool_response_received")})]});return null}import{jsx as F8,jsxs as U8}from"react/jsx-runtime";function g6({toolCallPart:_}){let{t:$}=B(),X=N1(_);return U8("span",{className:F("cortex-debug-tool__state",X.modifier&&`cortex-debug-tool__state--${X.modifier}`),children:[X.pulse&&F8("span",{className:F("cortex-debug-tool__pulse",X.pulse==="violet"&&"cortex-debug-tool__pulse--violet")}),$(X.labelKey)]})}import{jsx as S,jsxs as n}from"react/jsx-runtime";function m6({toolCallPart:_}){let{t:$}=B(),{codeSnippets:X,remainingInput:Y,remainingInputText:Q}=G1(_.input);return n("details",{className:"cortex-debug-tool","data-state":_.state,children:[S("summary",{className:"cortex-debug-tool__summary",children:n("div",{className:"cortex-debug-tool__header",children:[n("div",{className:"cortex-debug-tool__meta",children:[S("div",{className:"cortex-debug-tool__title-row",children:S("span",{className:"cortex-debug-tool__name",title:_.name,children:_.name})}),S("div",{className:"cortex-debug-tool__id-row",children:S("span",{className:"cortex-debug-tool__id",children:_.id})})]}),n("div",{className:"cortex-debug-tool__actions",children:[S(g6,{toolCallPart:_}),S("svg",{className:"cortex-debug-tool__chevron",width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:S("path",{d:I.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})}),n("div",{className:"cortex-debug-tool__body",children:[X.map((N)=>n("div",{className:"cortex-debug-tool__section",children:[n("div",{className:"cortex-debug-tool__section-bar",children:[S("span",{className:"cortex-debug-tool__section-label",children:N.key}),S("span",{className:"cortex-debug-tool__section-lang",children:N.lang}),S(j,{value:N.value})]}),S("pre",{dir:"ltr",className:"cortex-debug-tool__pre",children:S("code",{className:"hljs",dangerouslySetInnerHTML:{__html:u1(N.value,N.lang)}})})]},N.key)),!!Y&&n("div",{className:"cortex-debug-tool__section",children:[n("div",{className:"cortex-debug-tool__section-bar",children:[S("span",{className:"cortex-debug-tool__section-label",children:$("translate_input")}),S("span",{className:"cortex-debug-tool__section-lang",children:"json"}),S(j,{value:Q})]}),S("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:S(a,{data:Y,expandDepth:2})})]}),S(j6,{toolCallPart:_})]})]})}import{useEffect as q8,useRef as L8,useState as x6}from"react";import{jsx as w_,jsxs as c6}from"react/jsx-runtime";function I_({activity:_,className:$}){let{t:X}=B(),Y=z1(_),[Q,N]=x6(0),[Z,G]=x6("idle"),J=L8(Y.length);return J.current=Y.length,q8(()=>{let z,V;function W(){z=setTimeout(()=>{G("exiting"),z=setTimeout(()=>{N((q)=>(q+1)%J.current),G("enter-start"),V=requestAnimationFrame(()=>{G("entering"),z=setTimeout(()=>{G("idle"),W()},300)})},300)},2000)}return W(),()=>{if(z)clearTimeout(z);if(V)cancelAnimationFrame(V)}},[]),c6("div",{className:F("cortex-subtle-activity",$),children:[c6("div",{className:"cortex-subtle-activity__dots",children:[w_("span",{className:"cortex-subtle-activity__dot"}),w_("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d1"}),w_("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d2"})]}),w_("div",{className:"cortex-subtle-activity__label-mask",children:w_("span",{className:F("cortex-subtle-activity__label",`cortex-subtle-activity__label--${Z}`),children:X(Y[Q])})})]})}import{useEffect as d6,useRef as $0,useState as p6}from"react";import{useEffect as h6,useRef as n_,useState as u6}from"react";import{jsx as w,jsxs as x}from"react/jsx-runtime";function l6({toolCallPart:_,setOutput:$}){let{t:X}=B(),{state:Y,id:Q,input:N}=_;if(Y==="complete"||Y==="error"){let Z=E1(_.output);return Z?w(M8,{position:Z}):x("div",{className:"cortex-tool-pill",children:[w("span",{className:"cortex-tool-pill__icon",children:w("svg",{className:F("cortex-tool-pill__svg cortex-tool-pill__svg--visible",Y==="error"&&"cortex-tool-pill__svg--error"),viewBox:"0 0 20 20",fill:"none",children:w("path",{d:"M6.5 6.5 L13.5 13.5 M13.5 6.5 L6.5 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}),w("span",{className:"cortex-tool-pill__title",children:X("translate_location_not_shared")})]})}if(Y!=="input-complete")return null;return w(k8,{center:A1(N),submit:$},Q)}function k8({center:_,submit:$}){let{t:X}=B(),Y=n_(null),Q=n_(void 0),[N,Z]=u6(S_),G=n_({center:_,submit:$});G.current={center:_,submit:$},h6(()=>{let z=Y.current;if(!z)return;let V=O1(z,{center:G.current.center,onState:Z,submit:(W)=>G.current.submit(W)});return Q.current=V,V.start(),()=>{if(V.dispose(),Q.current===V)Q.current=void 0}},[]);let J=R1(N);return x("div",{className:"cortex-location-input",children:[x("div",{className:"cortex-location-input__map",children:[w("div",{className:"cortex-location-input__canvas",ref:Y}),w("button",{type:"button",className:"cortex-location-input__locate","aria-label":X("translate_location_locate"),title:X("translate_location_locate"),disabled:N.locating||N.submitting,onClick:()=>Q.current?.locate(),children:w(O8,{})})]}),x("div",{className:"cortex-location-input__foot",children:[N.position&&!N.deliveryFailed?w("span",{className:"cortex-location-input__coords",children:v_(N.position)}):x("span",{className:F("cortex-location-input__hint",J.failed&&"cortex-location-input__hint--failed"),children:[N.locating&&w("span",{className:"cortex-location-input__spinner"}),X(J.key)]}),x("span",{className:"cortex-location-input__actions",children:[w("button",{type:"button",className:"cortex-location-input__skip",disabled:N.submitting,onClick:()=>Q.current?.cancel(),children:X("translate_location_skip")}),w("button",{type:"button",className:"cortex-location-input__send",disabled:!N.position||N.submitting,onClick:()=>Q.current?.confirm(),children:X("translate_location_send")})]})]})]})}function M8({position:_}){let{t:$}=B(),X=n_(null),[Y,Q]=u6(!1),{lat:N,lng:Z}=_;return h6(()=>{let G=X.current;if(!G)return;return Q(!1),P1(G,{lat:N,lng:Z},()=>Q(!0))},[N,Z]),x("div",{className:"cortex-location-input cortex-location-input--settled",children:[x("div",{className:"cortex-location-input__map cortex-location-input__map--still",children:[w("div",{className:"cortex-location-input__canvas",ref:X,hidden:Y}),Y&&w("span",{className:"cortex-location-input__still-failed",children:$("translate_location_map_failed")})]}),x("div",{className:"cortex-location-input__body",children:[x("span",{className:"cortex-location-input__title",children:[w("svg",{viewBox:"0 0 20 20",fill:"none",children:w("path",{d:"M5.5 10.5 L8.5 13.5 L14.5 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),$("translate_location_shared")]}),w("span",{className:"cortex-location-input__coords",children:v_(_)})]})]})}function O8(){return x("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:[w("circle",{cx:"10",cy:"10",r:"5.5"}),w("circle",{cx:"10",cy:"10",r:"1.6",fill:"currentColor",stroke:"none"}),w("path",{d:"M10 1.5v3M10 15.5v3M1.5 10h3M15.5 10h3"})]})}import{jsx as R,jsxs as W_}from"react/jsx-runtime";var P8=new Map([[k0,l6]]);function n6({message:_,toolCallPart:$,agentWorking:X}){let{config:Y,addToolResult:Q}=B(),N=$.state==="input-complete"&&!X,Z=$.state==="approval-requested"&&!X,G=Y.toolComponents?.[$.name]??(N||m($.state)?P8.get($.name):void 0);return R("div",{className:"cortex-tool-call-animated",children:G?R(G,{toolCallPart:$,message:_,setOutput:(J)=>Q($.id,$.name,J)}):N?R(A8,{toolCallPart:$}):R(i6,{toolCallPart:$,asking:Z})})}function A8({toolCallPart:_}){let{api:$,t:X,addToolResult:Y,selectedThread:Q,config:N}=B(),Z=Q?.id,[G,J]=p6({phase:"initiating"}),[z]=p6(N.trustSameOriginEmbeds),V=$0(void 0),W=$0({api:$,addToolResult:Y,toolName:_.name});if(W.current={api:$,addToolResult:Y,toolName:_.name},d6(()=>{if(!Z)return;let L=k1({initiate:()=>W.current.api.initiateToolCall(Z,_.id),onState:J,submit:(k)=>W.current.addToolResult(_.id,W.current.toolName,k)});V.current=L,L.start();let U=(k)=>L.handleMessage(k);return window.addEventListener("message",U),()=>{if(window.removeEventListener("message",U),L.dispose(),V.current===L)V.current=void 0}},[_.id,Z]),!Z||G.phase==="unavailable"||G.phase==="settling")return R(i6,{toolCallPart:_});let q=W_("div",{className:"cortex-client-tool-embed",children:[W_("div",{className:"cortex-client-tool-embed__bar",children:[R("span",{children:X("translate_client_tool_title")}),R("button",{type:"button",className:"cortex-client-tool-embed__cancel",onClick:()=>V.current?.cancel(),children:X("translate_client_tool_cancel")})]}),G.phase==="embedded"?R("iframe",{className:"cortex-client-tool-embed__frame",src:G.embedUrl,sandbox:U1(G.embedUrl,window.location.origin,z),title:X("translate_client_tool_title"),ref:(L)=>V.current?.setSource(L?.contentWindow),onLoad:(L)=>{if(!q1(G.embedUrl,window.location.origin,z)&&L1(L.currentTarget,window.location.origin))V.current?.terminate()}}):G.phase==="error"?W_("div",{className:"cortex-client-tool-embed__status",children:[R("span",{children:X("translate_client_tool_failed")}),R("button",{type:"button",className:"cortex-client-tool-embed__retry",onClick:()=>void V.current?.start(),children:X("translate_client_tool_retry")})]}):R("div",{className:"cortex-client-tool-embed__status",children:X("translate_client_tool_loading")})]});return G.phase==="embedded"&&G.surface==="modal"?R(E8,{label:X("translate_client_tool_title"),onCancel:()=>V.current?.cancel(),children:q}):q}function E8({label:_,onCancel:$,children:X}){let Y=$0(null);return d6(()=>{let Q=Y.current;return Q?.showModal(),()=>Q?.close()},[]),R("dialog",{ref:Y,className:"cortex-client-tool-embed-dialog","aria-label":_,onCancel:(Q)=>{Q.preventDefault(),$()},children:X})}function i6({toolCallPart:_,asking:$=!1}){let{t:X,locale:Y,respondToApproval:Q}=B(),{state:N,active:Z,gated:G,titleKey:J,statement:z,rowCount:V}=F_(_),W=D0(_);return W_("div",{className:F("cortex-tool-pill",G&&"cortex-tool-pill--gated",$&&"cortex-tool-pill--asking"),children:[W_("span",{className:"cortex-tool-pill__icon",children:[$&&R("span",{className:"cortex-tool-pill__dot"}),R("span",{className:F("cortex-tool-pill__spinner",Z&&"cortex-tool-pill__spinner--visible")}),R("svg",{className:F("cortex-tool-pill__svg","cortex-tool-pill__svg--check",N==="complete"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:R("path",{d:"M5.5 10.5 L8.5 13.5 L14.5 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),R("svg",{className:F("cortex-tool-pill__svg","cortex-tool-pill__svg--error",N==="error"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:R("path",{d:"M6.5 6.5 L13.5 13.5 M13.5 6.5 L6.5 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})]}),R("span",{className:F("cortex-tool-pill__title",N==="error"&&"cortex-tool-pill__title--error",N==="starting"&&z&&"cortex-tool-pill__title--pending"),children:$?J1(_,Y)??X("translate_approval_prompt"):z??X(J)}),V!==void 0&&R("span",{className:"cortex-tool-pill__meta",children:X("translate_rows_read",{count:V})}),$&&W_("span",{className:"cortex-tool-pill__actions",children:[R("button",{type:"button",className:"cortex-tool-pill__action cortex-tool-pill__action--approve",onClick:()=>void Q(W,!0),children:X("translate_approve")}),R("button",{type:"button",className:"cortex-tool-pill__action",onClick:()=>void Q(W,!1),children:X("translate_deny")})]})]})}import{jsx as X0}from"react/jsx-runtime";function r6({message:_,toolCallPart:$,agentWorking:X}){if(!m($.state)&&!F_($).statement){if($.name==="queryGraph")return X0(I_,{activity:"graph"});if($.name==="executeCode")return X0(I_,{activity:"code"})}return X0(n6,{toolCallPart:$,message:_,agentWorking:X})}import{jsx as D_,jsxs as R8}from"react/jsx-runtime";function o6(_){let{message:$,part:X,debugMode:Y,animate:Q,streaming:N,agentWorking:Z,attachments:G}=_,{t:J}=B();function z(){switch(X.type){case"text":return D_(f6,{textPart:X,role:$.role,streaming:N,attachments:G});case"thinking":return Y?D_(I6,{reasoningPart:X,streaming:N}):D_(I_,{activity:"reasoning",className:"cortex-reasoning-animated"});case"tool-call":return Y?D_(m6,{toolCallPart:X}):D_(r6,{toolCallPart:X,message:$,agentWorking:Z});default:return R8("p",{className:"cortex-unhandled-type",children:[J("translate_unhandled_type")," ",X.type]})}}return D_("div",{className:F("cortex-message-part",Q&&"cortex-message-part--animated"),children:z()})}import{jsx as i,jsxs as Y0}from"react/jsx-runtime";function w8({isUser:_,clipboardText:$,createdAt:X}){let{locale:Y}=B();return Y0("div",{className:F("cortex-message-actions",_&&"cortex-message-actions--user"),children:[$&&i(j,{value:$}),X&&i("time",{className:"cortex-message-actions__time",dateTime:X,children:u(X,Y)})]})}function I8({count:_,animate:$,onOpen:X}){let{t:Y}=B();return i("button",{type:"button",className:F("cortex-tool-fold",$&&"cortex-message-part--animated"),onClick:X,children:Y(P_(_,"translate_one_more_step","translate_n_more_steps"),{count:_})})}function a6(_){let{message:$,parts:X,metadata:Y,debugMode:Q,animate:N,isStreaming:Z,agentWorking:G,closesTurn:J,fold:z,onOpenRun:V}=_,W=$.role==="assistant",q=$.role==="user",L=Z?X.length-1:-1,U=Y?.attachments??[],k=X.map((K)=>K.type).lastIndexOf("text"),M=(q||W)&&!Z&&k>=0,H=k<X.length-1?k:-1,D=M&&i(w8,{isUser:q,clipboardText:V1(X),createdAt:Y?.createdAt});return Y0("div",{className:"cortex-message-parts",children:[X.map((K,O)=>{let C=z?.get(K);return Y0(y8,{children:[i(o6,{part:K,message:$,debugMode:Q,animate:N,streaming:O===L,agentWorking:G,attachments:U}),C?.kind==="more"&&i(I8,{count:C.count,animate:N,onOpen:()=>V(C.runId)}),O===H&&D]},$.parts.indexOf(K))}),U.length>0&&i(k6,{attachments:U,isUser:q}),Y?.isAborted&&i(q6,{}),H===-1&&D,Q&&Y&&J&&i(w6,{messageId:$.id,isAssistant:W,metadata:Y})]})}import{jsx as X_,jsxs as Q0}from"react/jsx-runtime";function t6({firing:_,debugMode:$}){let{t:X,locale:Y}=B();return Q0("div",{className:F("cortex-trigger-block",$&&"cortex-trigger-block--debug"),children:[Q0("div",{className:"cortex-trigger-block__head",children:[X_("svg",{className:"cortex-trigger-block__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:X_("path",{d:"M6.75 1 2.5 6.75h3l-.25 4.25L9.5 5.25h-3z",fill:"currentColor"})}),$&&X_("span",{children:X("translate_trigger_fired")}),X_("span",{className:"cortex-trigger-block__name",children:_.name}),X_("time",{className:"cortex-trigger-block__time",dateTime:_.firedAt,children:u(_.firedAt,Y)})]}),$&&Q0("details",{className:"cortex-trigger-block__payload",children:[X_("summary",{children:X("translate_trigger_payload")}),X_(a,{data:_.payload,expandDepth:2})]})]})}import{jsx as b_}from"react/jsx-runtime";var s6=b8(function($){let{message:X,metadata:Y,isStreaming:Q,agentWorking:N,closesTurn:Z,debugMode:G,animate:J,fold:z,onOpenRun:V}=$,W=U_(X.parts,{debugMode:G,isStreaming:Q,fold:z});if(Y?.trigger)return b_("div",{className:"cortex-message",children:b_(t6,{firing:Y.trigger,debugMode:G})});if(W.length===0&&!Y?.attachments?.length)return b_("div",{className:"cortex-message"});return b_("div",{className:"cortex-message",children:b_(a6,{message:X,parts:W,metadata:Y,debugMode:G,animate:J,isStreaming:Q,agentWorking:N,closesTurn:Z,fold:z,onOpenRun:V})})});import{jsx as i_}from"react/jsx-runtime";var C8=[{role:"user",lines:[13,9]},{role:"assistant",lines:[16,18,12]},{role:"user",lines:[11]},{role:"assistant",lines:[14,15]}];function e6(){return i_("div",{className:"cortex-widget__messages-skeleton",children:C8.map((_,$)=>i_("div",{className:`cortex-widget__msg-skel cortex-widget__msg-skel--${_.role}`,children:i_("div",{className:`cortex-widget__msg-skel-bubble cortex-widget__msg-skel-bubble--${_.role}`,children:_.lines.map((X)=>i_("div",{className:"cortex-skeleton cortex-widget__msg-skel-line",style:{width:`${X}rem`}},X))})},$))})}import{jsx as Y_,jsxs as g8,Fragment as j8}from"react/jsx-runtime";function v8(_){let $=C_(null),X=C_(null),Y=C_(!0),Q=C_(!0),N=C_(!1),Z=r_(()=>{if(N.current)return;N.current=!0,queueMicrotask(()=>{N.current=!1;let V=$.current;if(!V)return;V.scrollTop=V.scrollHeight,Q.current=!0,Y.current=!1})},[]);o_(()=>{let V=X.current;if(!_||!$.current||!V)return;if(Z(),typeof ResizeObserver>"u")return;let W=0,q=new ResizeObserver(([L])=>{let U=L?.contentRect.height??0,k=U>W;if(W=U,k&&(Y.current||Q.current))Z()});return q.observe(V),()=>q.disconnect()},[_,Z]);let G=r_(()=>{Y.current=!0},[]),J=r_(()=>{if(Y.current)Z()},[Z]);function z(){let V=$.current;if(V)Q.current=V.scrollHeight-V.scrollTop-V.clientHeight<100}return{containerRef:$,contentRef:X,onScroll:z,pin:G,settlePinned:J}}function T8({pin:_,settlePinned:$},X,Y){let[Q,N]=N0(!1);o_(()=>{N(!1),_(),queueMicrotask(()=>N(!0))},[X,_]);let Z=Y[Y.length-1],G=Z?.role==="user"?Z.id:void 0;return o_(()=>{if(G)_()},[G,_]),o_(()=>{$()},[Y,$]),Q}function f8(_,$,X){let{config:Y}=B(),[Q,N]=N0(new Set),Z=r_((V)=>N((W)=>new Set(W).add(V)),[]),[G]=N0(W1),J=Y.toolComponents;return{folds:S8(()=>G(_,{agentWorking:$,debugMode:X,opened:Q,foldable:(V)=>!J?.[V.name]}),[G,_,$,X,Q,J]),openRun:Z}}function _2(_){let{selectedThread:$}=B(),{messages:X,isAgentWorking:Y,isLoadingMessages:Q,hasPendingToolCalls:N}=x_(),{capabilities:Z,composerRef:G}=_,J=!Q||Y,z=v8(J),V=T8(z,$?.id,X),W=Y?K1(X)?.id:void 0,{folds:q,openRun:L}=f8(X,Y,_.debugMode);return g8(j8,{children:[!J?Y_(e6,{}):Y_("div",{className:_.className,children:Y_("div",{ref:z.containerRef,className:"cortex-message-list",onScroll:z.onScroll,children:Y_("div",{ref:z.contentRef,className:"cortex-message-list__content",children:X.map((U,k)=>Y_(s6,{message:U,metadata:U.metadata,isStreaming:U.id===W,agentWorking:Y,fold:q.get(U.id),onOpenRun:L,closesTurn:U.role==="assistant"&&X[k+1]?.role!=="assistant",debugMode:_.debugMode,animate:V},U.id))})})}),Y&&!N&&Y_(F6,{}),!N&&Y_(c_,{capabilities:Z,composerRef:G})]})}import{jsx as a_,jsxs as m8}from"react/jsx-runtime";function $2(_){let{debugMode:$,selectedThread:X}=B(),{screens:Y}=_;return m8("div",{className:F("cortex-widget__screen",Y.screen==="chat"&&"cortex-widget__screen--active",Y.screen!=="chat"&&"cortex-widget__screen--right"),children:[a_(Q6,{onToggleSidebar:Y.toggleSidebar,onToggleDebug:_.onToggleDebug,onOpenHistory:Y.openHistory}),X?a_(_2,{className:"cortex-widget__messages",debugMode:$,capabilities:_.capabilities,composerRef:_.composerRef}):a_(H6,{onThreadSelected:_.onThreadSelected}),a_("div",{className:"cortex-widget__sidebar-backdrop",onClick:Y.closeSidebar})]})}import{useState as l8}from"react";import{useEffect as Z0,useRef as N2,useState as G0}from"react";import{useChat as u8}from"@tanstack/ai-react";import{useEffect as x8,useLayoutEffect as c8,useState as h8}from"react";function X2(_,{sessionRef:$,pendingSendRef:X}){let[Y]=h8(_);return c8(()=>{return $.current=Y,()=>{if($.current===Y)$.current=void 0}},[Y,$]),x8(()=>{if(!X.current.length)return;let Q=setTimeout(()=>{let N=X.current;X.current=[],(async()=>{for(let{prompt:Z,attachments:G}of N)await Y.send(Z,G)})()});return()=>clearTimeout(Q)},[Y,X]),Y}import{useRef as Y2}from"react";function Q2(_){let $=Y2(_);$.current=_;let X=Y2(Promise.resolve(void 0));async function Y(Q){let N=$.current;if(!N.isAlive()||Q!==N.threadId)return;return H1({api:N.api,threadId:Q,isStale:()=>!$.current.isAlive(),isStreaming:()=>$.current.isStreaming(),setMessages:(Z)=>$.current.setMessages(Z)})}return function(N){return X.current=X.current.then(()=>Y(N)),X.current}}function Z2(_){let{thread:$,api:X}=_,Y=N2(!0),[Q,N]=G0(!1),Z=N2(null),G=Q2({api:X,threadId:$.id,isAlive:()=>Y.current,isStreaming:()=>Z.current.chat.isLoading,setMessages:(D)=>Z.current.chat.setMessages(D)}),[J]=G0(()=>o1({threadId:$.id,isAlive:()=>Y.current,onToolCall:()=>Z.current.props.configRef.current.hooks?.onToolCall,deliver:(D)=>Z.current.chat.addToolResult(D),setRunning:(D)=>Z.current.props.setRunning($.id,D),reloadThreads:()=>Z.current.props.reloadThreads(),refreshMessages:()=>G($.id),onTurnFinished:()=>Z.current.props.onTurnFinished(),onSendFailed:()=>Z.current.props.onSendFailed()})),[z]=G0(()=>D1({api:X,thread:{id:$.id,isRunning:$.isRunning},mode:_.mode,localMessages:()=>Z.current.chat.messages,onHydrated:(D)=>{if(Y.current)J.hydrated(D,$.isRunning)},onTranscriptCarried:(D)=>{if(Y.current)J.transcriptCarried(D)},setLoadingMessages:(D)=>{if(Y.current)N(D)}})),V=u8({threadId:$.id,persistence:!0,initialMessages:_.initialMessages,connection:z,onChunk:()=>{if(Y.current)J.chunkArrived()},onError:()=>{if(Y.current)J.streamFailed()}});Z.current={chat:V,props:_};async function W(D,K){J.sendStarted();let O={id:q_(),role:"user",parts:[{type:"text",content:D}],metadata:{createdAt:new Date().toISOString(),attachments:K}};await Z.current.chat.append(O)}async function q(){if(!Z.current.chat.isLoading)return;let{aborted:D}=await X.abortStream($.id).catch(()=>({aborted:!1}));if(!Y.current)return;if(D)J.abortConfirmed();Z.current.chat.stop()}function L(D,K,O){return Z.current.chat.addToolResult({toolCallId:D,tool:K,output:O}).catch((C)=>{throw G($.id),C})}function U(D,K){return M1(Z.current.chat,D,K)}function k(D){if(Z.current.chat.isLoading)return;if(D.isRunning){Z.current.props.remount(D,Z.current.chat.messages);return}G(D.id)}Z0(()=>{return Y.current=!0,()=>{Y.current=!1}},[]),X2(()=>({threadId:$.id,send:W,abort:q,addToolResult:L,respondToApproval:U,reattach:k,transcriptUpdated:(D,K)=>{if(D===$.id)J.transcriptUpdated(K)}}),{sessionRef:_.sessionRef,pendingSendRef:_.pendingSendRef});let{messages:M,isLoading:H}=V;return Z0(()=>{J.loadingChanged(H,()=>Z.current.chat.messages)},[J,H]),Z0(()=>{Z.current.props.publish({messages:M,isAgentWorking:H,isLoadingMessages:Q,hasPendingToolCalls:!H&&r(M).length>0})},[M,H,Q]),null}import{jsx as G2,jsxs as p8}from"react/jsx-runtime";function J2({selection:_,threads:$,children:X,...Y}){let{session:Q}=_,[N,Z]=l8();if(!Q)return G2(m_.Provider,{value:g_,children:X});let G=`${Q.thread.id}:${Q.epoch}`,J=N&&(N.key===G||Q.mode==="reload")?N.value:g_;return p8(m_.Provider,{value:J,children:[G2(Z2,{thread:Q.thread,mode:Q.mode,initialMessages:Q.initialMessages,setRunning:$.setRunning,reloadThreads:$.reload,remount:_.remount,publish:(z)=>Z({key:G,value:z}),...Y},G),X]})}import{useSyncExternalStore as d8}from"react";function z2(_){return d8(($)=>{let X=window.matchMedia(_);return X.addEventListener("change",$),()=>X.removeEventListener("change",$)},()=>window.matchMedia(_).matches,()=>!1)}import{jsx as A,jsxs as c,Fragment as n8}from"react/jsx-runtime";function V2(_){let{locale:$,t:X,threads:Y,selectedThread:Q,deleteThread:N}=B(),Z=Y?.length??0;return c("div",{className:_.className,"aria-hidden":_.hidden||void 0,inert:_.hidden||void 0,children:[c("div",{className:"cortex-widget__threads-header",children:[A("button",{type:"button",onClick:()=>_.onBackRequested(),"aria-label":X("translate_back"),className:"cortex-widget__back-btn",children:A("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"cortex-widget__back-icon",children:A("path",{d:"M10 3L5 8l5 5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),c("div",{children:[A("h2",{className:"cortex-widget__threads-title",children:X("translate_history")}),A("p",{className:"cortex-widget__threads-count",children:X(P_(Z,"translate_one_conversation","translate_n_conversations"),{count:Z})})]}),c("button",{onClick:()=>_.onNewChatRequested(),className:"cortex-widget__new-chat-btn",children:[A("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",children:A("path",{d:"M8 3v10M3 8h10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})}),X("translate_new")]})]}),A("div",{className:"cortex-widget__threads-list",children:Y===void 0?[1,2,3,4].map((G)=>c("div",{className:"cortex-widget__thread-skeleton",children:[A("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-icon"}),A("div",{className:"cortex-widget__thread-skeleton-lines",children:A("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-line",style:{width:`${40+G*12}%`}})})]},G)):c(n8,{children:[Y.map((G)=>{let J=G.id===Q?.id,z=u(G.updatedAt,$);return c("button",{onClick:()=>_.onThreadSelected(G),className:F("cortex-widget__thread-item",J&&"cortex-widget__thread-item--active"),children:[A("div",{className:F("cortex-widget__thread-icon",J&&"cortex-widget__thread-icon--active"),children:A("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:A("path",{d:I.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),c("div",{className:"cortex-widget__thread-info",children:[c("div",{className:"cortex-widget__thread-title-row",children:[A("p",{className:F("cortex-widget__thread-title",J&&"cortex-widget__thread-title--active"),children:G.title??X("translate_untitled")}),G.isRunning&&c("span",{className:F("cortex-widget__thread-running",J&&"cortex-widget__thread-running--active"),children:[A("span",{className:"cortex-widget__thread-running-dot"}),X("translate_running")]})]}),z&&A("p",{className:"cortex-widget__thread-time",children:z})]}),A("span",{role:"button",tabIndex:0,onClick:(V)=>{V.stopPropagation(),N(G.id)},onKeyDown:(V)=>{if(V.key!=="Enter"&&V.key!==" ")return;V.preventDefault(),V.stopPropagation(),N(G.id)},className:F("cortex-widget__thread-delete",J&&"cortex-widget__thread-delete--active"),children:A("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",children:A("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})})}),A("svg",{className:F("cortex-widget__thread-arrow",J&&"cortex-widget__thread-arrow--active"),width:"10",height:"10",viewBox:"0 0 16 16",fill:"none",children:A("path",{d:"M6 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},G.id)}),!Y.length&&c("div",{className:"cortex-widget__threads-empty",children:[A("div",{className:"cortex-widget__threads-empty-icon",children:A("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__threads-empty-svg",children:A("path",{d:I.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),A("p",{className:"cortex-widget__threads-empty-title",children:X("translate_no_threads_yet")}),A("p",{className:"cortex-widget__threads-empty-subtitle",children:X("translate_start_a_new_conversation")}),A("button",{onClick:()=>_.onNewChatRequested(),className:"cortex-widget__new-chat-btn cortex-widget__new-chat-btn--empty-state",children:X("translate_new_chat")})]})]})})]})}import{jsx as W2,jsxs as r8}from"react/jsx-runtime";var i8="(max-width: 768px)";function K2(_){_.preventDefault()}function D2(_){let{screens:$}=_,X=z2(i8),Y=_.viewMode==="full"?X&&!$.sidebarOpen:$.screen!=="threads";return W2("div",{className:F("cortex-widget",_.className),"data-cortex-theme":_.theme,children:r8("div",{className:F("cortex-widget__container",_.viewMode==="full"&&"cortex-widget__container--full",$.sidebarOpen&&"cortex-widget__container--sidebar-open"),onDragOver:K2,onDrop:K2,children:[W2(V2,{className:F("cortex-widget__screen",$.screen==="threads"&&"cortex-widget__screen--active",$.screen!=="threads"&&"cortex-widget__screen--left"),hidden:Y,onThreadSelected:_.onThreadSelected,onNewChatRequested:_.onNewChat,onBackRequested:$.closeHistory}),_.children]})})}import{jsx as s_}from"react/jsx-runtime";function a8({config:_,className:$}){let X=H2(_);X.current=_;let[Y]=t_(()=>Q1(()=>X.current.transport)),Q=_6(Y),[N,Z]=t_(!1),[G,J]=t_();o8(()=>h1(_.theme,J),[_.theme]);let z=X6(),[V,W]=t_(0),q=p0(Y,V),L=H2(null),U=a0({api:Y,threads:Q,getHooks:()=>X.current.hooks}),{sessionRef:k,selection:M,queue:H,send:D,pendingSendRef:K}=U,{selected:O,selectedRef:C}=M,T=s0({threads:Q,selectedRef:C,sessionRef:k,deselect:M.deselect,onReconnect:()=>W((e)=>e+1)});t0({getConfig:()=>X.current,onEvent:T.onEvent,onMount:()=>void Q.reload(),onReconnect:T.onReconnect});let Q_=l1(_.locale),B2={config:_,locale:Q_,t:(e,k2)=>p1(Q_,e,k2),api:Y,debugMode:N,scheme:G,capabilities:q,threads:Q.threads,selectedThread:O,deleteThread:U.deleteThread,send:D,...e0(k),queue:H.value};function F2(){H.store.discardConsumed(),setTimeout(()=>L.current?.focusInput())}function U2(){H.store.restoreConsumed(C.current?.id)}function J0(e){U.openThread(e),z.showChat()}function q2(){M.deselect(),z.showChat()}function L2(){Z((e)=>!e)}return s_(a1.Provider,{value:B2,children:s_(D2,{className:$,theme:_.theme,viewMode:_.viewMode??"helper",screens:z,onThreadSelected:J0,onNewChat:q2,children:s_(J2,{selection:M,threads:Q,api:Y,configRef:X,sessionRef:k,pendingSendRef:K,onTurnFinished:F2,onSendFailed:U2,children:s_($2,{screens:z,capabilities:q,composerRef:L,onToggleDebug:L2,onThreadSelected:J0})})})})}export{a8 as CortexChatWidget};
4
+ `)}function A1(_,$){if($&&_.name in $)return!1;return _.name!==p_||!f(_.state)}function c0(_,$){if(_.type!=="tool-call")return!0;return!f(_.state)&&!_.approval&&$.foldable(_)}function E1(_,$){let Y=R_(_);if(!Y)return;let Q=H_(Y.parts,{debugMode:!1,isStreaming:!0}),X=Q.at(-1);if(X&&c0(X,$))return X;return Q.filter((Z)=>Z.type==="tool-call"&&c0(Z,$)).at(-1)}function k1(){let _=new Map;return($,Y)=>{let Q=new Map;for(let[X,Z]of U5($,Y)){let G=_.get(X);Q.set(X,G&&O5(G,Z)?G:Z)}return _=Q,Q}}function U5(_,$){let Y=new Map;if($.debugMode)return Y;let X=$.agentWorking||__(_).length>0?L5(_):_,Z=[];function G(){let J=Z[0]?.part.id;if(Z.length>1&&J&&!$.opened.has(J))for(let[V,{messageId:N,part:z}]of Z.entries()){let K=Y.get(N)??new Map;Y.set(N,K);let U=V===Z.length-1;K.set(z,U?{kind:"more",count:Z.length-1,runId:J}:{kind:"hidden"})}Z=[]}for(let J of X){if(J.role!=="assistant"){G();continue}let V=H_(J.parts,{debugMode:!1,isStreaming:!1});for(let N of V)if(N.type==="tool-call"&&f(N.state)&&$.foldable(N))Z.push({messageId:J.id,part:N});else G()}return G(),Y}function L5(_){let $=_.map((Y)=>Y.role).lastIndexOf("user");return $<0?[]:_.slice(0,$)}function O5(_,$){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 i0}from"@tanstack/ai";import{fetchServerSentEvents as d0}from"@tanstack/ai-client";function P5(_){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 M5(_){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 A5(_){let[$]=_;if(!$||$.role!=="assistant"||!("parts"in $))return null;let Y=$.parts.flatMap((Q)=>{let X=Q.type==="tool-call"?M5(Q):null;return X?[X]:[]});return Y.length>0?Y:null}async function*n0(_,$,Y){for await(let Q of _){if(Q.type!==i0.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 R1(_){let{api:$,thread:Y}=_,Q=async()=>({headers:await $.resolveHeaders()}),X=d0(()=>$.resolveUrl("/chat"),Q),Z=function(V,N,z,K){let U=P5(V),D=A5(U),H=D?X.connect([],{...N,[f0]:D},z,K):X.connect(U,N,z,K);return n0(H,_,V.at(-1)?.id)},G=d0(()=>$.resolveUrl(`/chat/${Y.id}/stream`),Q),J=[];return{connect:Z,async*joinRun(V,N){yield{type:i0.MESSAGES_SNAPSHOT,timestamp:Date.now(),messages:J},yield*n0(G.joinRun(V,N),_,J.at(-1)?.id)},hydrate:async()=>{let V=await E5(_);return J=V.messages,V}}}async function E5(_){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(W1);return _.onHydrated?.(G),{messages:G,activeRun:X,interrupts:null}}finally{_.setLoadingMessages?.(!1)}}async function I1(_){if(_.isStale?.()||_.isStreaming())return;try{let $=await _.api.listMessages(_.threadId);if(_.isStale?.()||_.isStreaming())return;let Y=$.map(W1);return _.setMessages(Y),Y}catch{return}}function y_(){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 y1(_){let{api:$}=_,Y=new Set,Q=new Set,X=[],Z=[];function G(){return X}function J(q){return Y.add(q),()=>{Y.delete(q)}}function V(q){X=q;for(let B of Y)B()}function N(q,B){V(X.map((W)=>W.localId===q?{...W,...B}:W))}function z(q){if(Q.delete(q))return;N(q,{status:"error"})}function K(q){let B=[];for(let W of q){let M=T0(W.type,W.size)!=="ok"||X.filter((R)=>R.status!=="error").length>=b0,A=y_();if(V([...X,{localId:A,filename:W.name,status:M?"error":"uploading"}]),!M)B.push({localId:A,file:W})}if(!B.length)return;_.ensureThread().then((W)=>{for(let{localId:M,file:A}of B){if(Q.delete(M))continue;N(M,{threadId:W}),$.uploadAttachment(W,A).then((R)=>{if(Q.delete(M)){$.deleteAttachment(R.id).catch(()=>{});return}N(M,{status:"ready",attachmentId:R.id,summary:R})},()=>z(M))}},()=>{for(let{localId:W}of B)z(W)})}function U(q){let B=X.find((W)=>W.localId===q);if(!B)return;if(B.status==="uploading"){Q.add(q),V(X.filter((W)=>W.localId!==q));return}if(B.attachmentId){N(q,{status:"deleting"}),$.deleteAttachment(B.attachmentId).then(()=>V(X.filter((W)=>W.localId!==q)),()=>N(q,{status:"error"}));return}V(X.filter((W)=>W.localId!==q))}function D(q){let B=[];for(let W of X){if(W.threadId!==void 0&&W.threadId!==q){B.push(W);continue}if(W.status==="uploading")Q.add(W.localId);else if(W.status==="ready"&&W.threadId===q&&W.attachmentId)$.deleteAttachment(W.attachmentId).catch(()=>{})}V(B)}function H(){let q=X.flatMap((B)=>B.status==="ready"&&B.summary?[{...B,status:"ready",summary:B.summary}]:[]);return V(X.filter((B)=>B.status!=="ready")),Z=q,q}function O(q){let B=Z;if(Z=[],B.some((W)=>W.threadId!==q))return;V([...B.map((W)=>({...W,status:"error"})),...X])}function P(){Z=[]}return{getState:G,subscribe:J,accept:K,remove:U,clear:D,consumeReady:H,restoreConsumed:O,discardConsumed:P}}function w1(_){return{uploading:_.some(($)=>$.status==="uploading"),busy:_.some(($)=>$.status==="uploading"||$.status==="deleting"),hasReady:_.some(($)=>$.status==="ready")}}function C1(_,$,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 S1(_,$,Y){try{return Y===!0&&new URL(_).origin===$}catch{return!1}}function b1(_,$){try{return _.contentWindow?.location.origin===$}catch{return!1}}function T1(_){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 N=_.submit(V);if(N instanceof Promise)N.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 N=V instanceof Error?V.message:"";Z({phase:/HTTP 404/.test(N)?"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 N=m0(V.data,V.origin,Q);if(!N)return;J({status:N.status,reference:N.reference,result:N.result})},cancel(){J({status:"cancelled"})},terminate(){if($||Y)return;Q=void 0,X=void 0,Z({phase:"error"})},dispose(){$=!0}}}function v1(_,$,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 w_(_,$){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 l_={position:void 0,locating:!1,locateFailed:!1,mapFailed:!1,submitting:!1,deliveryFailed:!1},k5={center:{lat:20,lng:0},zoom:2},R5=13,o0=16,I5=1e4;function f1(_,$){let Y=l_,Q=!1,X=!1,Z,G,J,V=0;function N(D){if(Y={...Y,...D},!Q)$.onState(Y)}function z(){let D=Y.position;if(!Z||!D)return;let{leaflet:H,map:O}=Z;if(G)G.setLatLng(D);else{let P=H.marker(D,{draggable:!Y.submitting}).addTo(O);P.on("dragend",()=>{let{lat:q,lng:B}=P.getLatLng();K({lat:q,lng:r0(B)})}),G=P}J?.remove(),J=D.accuracy?H.circle(D,{radius:D.accuracy}).addTo(O):void 0}function K(D){if(Y.submitting)return;V+=1,N({position:D,locating:!1,locateFailed:!1}),z()}function U(D){if(Q||X)return;X=!0,V+=1,G?.dragging?.disable(),N({submitting:!0,locating:!1,deliveryFailed:!1});let H=()=>{X=!1,G?.dragging?.enable(),N({submitting:!1,deliveryFailed:!0})};try{let O=$.submit(D);if(O instanceof Promise)O.catch(H)}catch{H()}}return{async start(){let D=$.center?{center:$.center,zoom:R5}:k5,H;try{H=await w_(_,{...D,interactive:!0})}catch{N({mapFailed:!0});return}if(Q){H.dispose();return}Z=H,H.map.on("click",(O)=>K({lat:O.latlng.lat,lng:r0(O.latlng.lng)})),z()},locate(){if(Y.locating||Y.submitting)return;if(!navigator.geolocation){N({locateFailed:!0});return}V+=1;let D=V;N({locating:!0,locateFailed:!1}),navigator.geolocation.getCurrentPosition(({coords:H})=>{if(Q||D!==V)return;let O={lat:H.latitude,lng:H.longitude,accuracy:Math.round(H.accuracy)};K(O),Z?.map.setView(O,o0)},()=>{if(D===V)N({locating:!1,locateFailed:!0})},{enableHighAccuracy:!0,timeout:I5})},confirm(){if(Y.position)U({status:"completed",result:Y.position})},cancel(){U({status:"cancelled"})},dispose(){Q=!0,Z?.dispose()}}}function j1(_,$,Y){let Q=!1,X;return w_(_,{center:$,zoom:o0,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 r0(_){if(_>=-180&&_<=180)return _;return((_+180)%360+360)%360-180}function a0(_){if(!_||typeof _!=="object")return!1;let{lat:$,lng:Y}=_;return typeof $==="number"&&typeof Y==="number"&&Math.abs($)<=90&&Math.abs(Y)<=180}function g1(_){let $=_&&typeof _==="object"?_.center:void 0;return a0($)?$:void 0}function m1(_){if(!_||typeof _!=="object")return;let{status:$,result:Y}=_;if($!=="completed"||!a0(Y))return;let{accuracy:Q}=Y;return{...Y,...typeof Q==="number"?{accuracy:Q}:{}}}function d_(_){let $=`${_.lat.toFixed(4)}, ${_.lng.toFixed(4)}`;return _.accuracy?`${$} ±${_.accuracy} m`:$}function x1(_){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 h1(_){return Math.min(1000*2**(_-1),30000)}var y5=1e4;function u1(_){let $,Y,Q=0,X=!1;function Z(){let{wsUrl:J,transport:V}=_.getConfig();if(J===!1)return;let N=w5(J,V.baseUrl);H1(V).then((z)=>{if(X)return;$=new WebSocket(C5(N,z)),$.addEventListener("open",()=>{let K=$;setTimeout(()=>{if($===K&&!X)Q=0},y5),_.onOpen?.()}),$.addEventListener("message",(K)=>{let U=K.data;if(typeof U!=="string")return;let D;try{D=JSON.parse(U)}catch{return}_.onEvent(D)}),$.addEventListener("close",G)}).catch(G)}function G(){if(X||Y)return;Q+=1,Y=setTimeout(()=>{Y=void 0,Z()},h1(Q))}return Z(),{close(){X=!0,clearTimeout(Y),$?.close()}}}function w5(_,$){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 C5(_,$){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 c1(_,$,Y=h1){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 n_(_){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 C_(_,$){let Y=[..._],Q=Y.findIndex((X)=>X.id===$.id);if(Q===-1)Y.push($);else Y[Q]={...Y[Q],...$};return n_(Y)}function i_(_,$){return _.filter((Y)=>Y.id!==$)}function p1(_,$){switch($.type){case"thread:deleted":return i_(_,$.payload.threadId);case"thread:created":case"thread:title-updated":case"thread:run-started":case"thread:run-finished":case"thread:messages-updated":return C_(_,$.payload.thread);default:return _}}import{marked as S5}from"marked";import b5 from"dompurify";function S_(_,$=[]){if(!_)return"";let Y=S5.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=T5(Y,$);return b5.sanitize(Y,{FORBID_TAGS:["img","picture","source"]})}function T5(_,$){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 v5(Y.content)){if(Z>=X)break;G.replaceWith(...f5(G.data,Z,Q)),Z+=G.data.length}return Y.innerHTML}function v5(_){let $=document.createTreeWalker(_,4),Y=[];for(let Q=$.nextNode();Q;Q=$.nextNode())if(Q.data.trim())Y.push(Q);return Y.reverse()}function f5(_,$,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 s0}from"marked";function t0(){let _=null;return($)=>{let Y=/^ {0,3}(`{3,}|~{3,})(.*)$/.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"}}var j5=/^\s*!\[([^\]]*)\]\(attachment#([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\)\s*$/i,g5=/^\s*(`{3,}|~{3,})/;function l1(_,$){let Y=[],Q=[],X=null;function Z(N=!1){if(Q.length)Y.push(...x5(Q.join(`
5
+ `),N));Q=[]}function G(N){if(X)Y.push({kind:"media",...X,source:X.source.join(`
6
+ `),closed:N});X=null}let J=t0(),V=_.split(`
7
+ `);for(let[N,z]of V.entries()){let K=J(z);if(X){if(K==="close")G(!0);else X.source.push(z);continue}if(K==="open"&&N===V.length-1)break;let U=m5(z,K,$);if(!U){Q.push(z);continue}if(Z(),U.kind==="media")X={language:U.language,source:[]};else Y.push(U)}return G(!1),Z(!0),Y}function m5(_,$,Y){if($==="open"){let X=_.replace(g5,"").trim().split(/\s+/)[0],Z=Y.find((G)=>G===X);return Z?{kind:"media",language:Z}:void 0}let Q=$==="outside"?j5.exec(_):null;return Q?{kind:"attachment",alt:Q[1]??"",id:(Q[2]??"").toLowerCase()}:void 0}function x5(_,$){let Y=s0.lexer(_);if(!Y.some((z)=>z.type==="table"))return[{kind:"markdown",text:_}];let Q=[];s0.walkTokens(Y,(z)=>{if(z.type==="def")Q.push(z.raw.trim())});let X=Q.join(`
8
+ `),Z=(z)=>X?`${X}
9
+
10
+ ${z}`:z,G=[],J="";function V(){if(J.trim())G.push({kind:"markdown",text:Z(J)});J=""}let N=Y.filter((z)=>z.type!=="def");for(let[z,K]of N.entries()){if(K.type!=="table"){J+=K.raw;continue}V();let U=N.slice(z+1).some((D)=>D.raw.trim()!=="");G.push({kind:"table",text:Z(K.raw.trimEnd()),closed:U||!$})}return V(),G}var h5=/^-?(?:0|[1-9]\d*)(?:\.\d*[1-9])?$/;function u5(_){return h5.test(_)&&_!=="-0"&&_.replace(/[-.]/g,"").replace(/^0/,"").length<=15}var c5=32767,e0=new TextEncoder;function d1(_){return Array.from(_.rows,($)=>Array.from($.cells,p5))}function p5(_){let $=_.cloneNode(!0);if($ instanceof Element)$.querySelectorAll("br").forEach((Y)=>Y.replaceWith(`
11
+ `));return($.textContent??"").trim()}function n1(_){return new Blob([a5(i5(_))],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}function l5(_){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 d5(_){let $="";for(let Y=_+1;Y>0;Y=Math.floor((Y-1)/26))$=String.fromCharCode(65+(Y-1)%26)+$;return $}function n5(_){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=`${d5(G)}${Q+1}`,V=Q===0?' s="1"':"";return Q>0&&u5(Z)?`<c r="${J}"${V}><v>${Z}</v></c>`:`<c r="${J}"${V} t="inlineStr"><is><t xml:space="preserve">${l5(Z.slice(0,c5))}</t></is></c>`}).join("");return`<row r="${Q+1}">${X}</row>`}).join("")}</sheetData></worksheet>`}function i5(_){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:n5(_)}]}var r5=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 o5(_){let $=4294967295;for(let Y of _)$=(r5[($^Y)&255]??0)^$>>>8;return($^4294967295)>>>0}function a5(_){let $=[],Y=[],Q=0;for(let N of _){let z=e0.encode(N.name),K=e0.encode(N.text),U=o5(K),D=new DataView(new ArrayBuffer(30));D.setUint32(0,67324752,!0),D.setUint16(4,20,!0),D.setUint16(6,2048,!0),D.setUint32(14,U,!0),D.setUint32(18,K.length,!0),D.setUint32(22,K.length,!0),D.setUint16(26,z.length,!0),$.push(new Uint8Array(D.buffer),z,K);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,U,!0),H.setUint32(20,K.length,!0),H.setUint32(24,K.length,!0),H.setUint16(28,z.length,!0),H.setUint32(42,Q,!0),Y.push(new Uint8Array(H.buffer),z),Q+=30+z.length+K.length}let X=Y.reduce((N,z)=>N+z.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((N,z)=>N+z.length,0)),V=0;for(let N of G)J.set(N,V),V+=N.length;return J}var Y6=new Set(["flatten","fold","density","impute","regression","loess","quantile","sample"]),t5=`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: ${[...Y6,"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 Q6(_,$){if(_==="url")return"Charts may only use inline data and no URLs.";if(_==="sequence"||_==="graticule")return"Charts may only use inline data.";if(Y6.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(s5.has(_)&&typeof $==="string"&&!e5($))return"Charts may only use simple expressions over datum.";if(_==="usermeta")return"Charts may not carry usermeta.";if(typeof $==="string"&&r_($))return"Charts may not reference URLs.";if((_==="width"||_==="height")&&_8($)>4000)return"Charts may be at most 4000 pixels wide or tall.";return}var s5=new Set(["calculate","filter","test","signal","labelExpr"]),_6=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 e5(_){if(_.length>500||/[\\`]/.test(_))return!1;let $=_.replace(/'[^']*'|"[^"]*"/g,'""');for(let[,Q]of $.matchAll(/([A-Za-z_$][\w$]*)\s*\(/g))if(!_6.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(!_6.has(Q)&&!["true","false","null"].includes(Q))return!1;return!0}function _8(_){if(typeof _==="number")return _;let $=_?.step;return typeof $==="number"?$:0}function $6(_,$){let Y=_?.features,Q=Array.isArray(_)?_.length:Array.isArray(Y)?Y.length:-1;if(Q<0)return Q6($,_)??r1(i1(_,$),b_);return Q>200?"Charts may hold at most 200 rows.":void 0}function b_(_,$=""){if($==="values")return $6(_,$);if($==="datasets")return r1(i1(_),$6);return Q6($,_)??r1(i1(_,$),(Y,Q)=>b_(Y,Q))}function i1(_,$=""){if(Array.isArray(_))return _.map((Y)=>[$,Y]);return _&&typeof _==="object"?Object.entries(_):[]}function r1(_,$){for(let[Y,Q]of _){let X=$(Q,Y);if(X)return X}return}var X6=/url\(([^)]*)\)/gi,o1="src|image|image-set|-webkit-image-set|cross-fade|element",a1=new RegExp(String.raw`\b(url|${o1})\(`,"i"),$8=new RegExp(String.raw`\b(${o1})\(`,"i"),Y8=new RegExp(String.raw`\b(${o1})\([^)]*\)`,"gi"),Q8=/\\([0-9a-f]{1,6})\s?|\\(.)/gi;function X8(_){return _.replace(Q8,($,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 Z6(_){return _.trim().replace(/^(['"])(.*)\1$/s,"$2").trim()}function r_(_){if(_.includes("\\")||$8.test(_))return!0;for(let[,$]of _.matchAll(X6))if(!Z6($??"").startsWith("#"))return!0;return!1}function t1(_){return X8(_).replace(Y8,"none").replace(X6,($,Y)=>Z6(Y).startsWith("#")?$:"none")}var K6={async mermaid(_,$,{scheme:Y}){let[{default:Q},{default:X}]=await Promise.all([import("mermaid"),import("dompurify")]);if(a1.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=J8($);if(!G8.test(Z))throw Error(`Unsupported diagram type: ${Z}`);let G=G6.then(async()=>{if(!J6)Q.initialize({startOnLoad:!1,securityLevel:"strict",htmlLabels:!1}),J6=!0;let N=`%%{init: {"theme": "${Y==="dark"?"dark":"default"}"}}%%
12
+ ${$}`;return await Q.parse(N),(await Q.render(`cortex-mermaid-${V8()}`,N,_)).svg});G6=G.catch(()=>{return});let J=await G,V=document.createElement("div");return V.innerHTML=X.sanitize(J,{USE_PROFILES:{svg:!0,svgFilters:!0}}),N6(V),_.replaceChildren(...V.childNodes),()=>{_.innerHTML=""}},async "vega-lite"(_,$,{scheme:Y}){let Q=JSON.parse($),X=b_(Q);if(X)throw Error(X);let[{default:Z},G]=await Promise.all([import("vega-embed"),import("vega")]),J=()=>Promise.reject(Error("Charts may only use inline data.")),V=document.createElement("div"),N=await Z(V,Q,{actions:!1,renderer:"svg",mode:"vega-lite",loader:{...G.loader(),load:J,sanitize:J},ast:!0,...Y==="dark"?{theme:"dark"}:{},config:{background:"transparent"}});return N6(V),_.replaceChildren(V),()=>N.finalize()},async map(_,$){let Y=z8(JSON.parse($)),{leaflet:Q,map:X,dispose:Z}=await w_(_,{...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}},Z8={mermaid:"translate_media_pending_mermaid","vega-lite":"translate_media_pending_vega_lite",map:"translate_media_pending_map"};function s1(_){return Z8[_]??"translate_media_pending"}function e1(_){return Object.keys({...K6,..._})}function _0(_,$){let{language:Y,source:Q,context:X,overrides:Z,onError:G}=$,J=_.appendChild(document.createElement("div")),V=Z?.[Y]??K6[Y],N,z=!1;return(V?V(J,Q,X):Promise.reject(Error(`No renderer for ${Y}.`))).then((U)=>{if(z)U();else N=U},(U)=>{if(!z)G(U instanceof Error?U.message:String(U))}),()=>{z=!0,N?.(),J.remove()}}var G8=/^(flowchart|graph|sequenceDiagram|stateDiagram(-v2)?|erDiagram|gantt|pie|classDiagram|journey|timeline|mindmap)$/;function J8(_){let $=_.split(`
13
+ `).find((Y)=>/\S/.test(Y)&&!/^\s*%%/.test(Y));return/^\s*(\S+)/.exec($??"")?.[1]??""}var G6=Promise.resolve(),J6=!1,V6=0;function V8(){return V6+=1,V6}var N8=new Set(["image","use","feImage"]);function N6(_){for(let $ of[_,..._.querySelectorAll("*")]){for(let Y of[...$.attributes])if((Y.name==="href"||Y.name==="xlink:href")&&N8.has($.tagName)&&!Y.value.trim().startsWith("#")||r_(Y.value))$.removeAttribute(Y.name);if($.tagName==="style"&&$.textContent)$.textContent=t1($.textContent)}}function z8(_){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:z6($.center,"center"),zoom:Y,markers:Q.map((X,Z)=>{let G=X??{},J=G.label;return{position:z6(G.position,`markers[${Z}].position`),label:typeof J==="string"?J:void 0}})}}function z6(_,$){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 $0(_,$){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 T_ from"highlight.js/lib/core";import K8 from"highlight.js/lib/languages/javascript";import W8 from"highlight.js/lib/languages/json";import D8 from"highlight.js/lib/languages/sql";var W6=!1;function H8(){if(W6)return;W6=!0,T_.registerLanguage("javascript",K8),T_.registerLanguage("json",W8),T_.registerLanguage("cypher",D8)}function Y0(_,$){if(!_)return"";return H8(),T_.getLanguage($)?T_.highlight(_,{language:$}).value:B8(_)}function B8(_){return _.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function B_(_){if(typeof _==="string"){let $=_.trim();if(!($.startsWith("{")&&$.endsWith("}")||$.startsWith("[")&&$.endsWith("]")))return _;try{return B_(JSON.parse($))}catch{return _}}if(Array.isArray(_))return _.map(($)=>B_($));if(_!==null&&typeof _==="object"){let $={};for(let[Y,Q]of Object.entries(_))$[Y]=B_(Q);return $}return _}function Q0(_,$){if(Array.isArray(_)){let Y=_;return{kind:"container",open:"[",close:"]",summary:D6(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:D6(Y.length,"property","properties"),entries:Y.map(([Q,X])=>({key:Q,value:X,path:`${$}.${Q}`}))}}return{kind:"primitive",text:q8(_),className:F8(_)}}function D6(_,$,Y){return`${_} ${_===1?$:Y}`}function q8(_){if(_===null||_===void 0)return"null";if(typeof _==="string")return JSON.stringify(_);if(typeof _==="number"||typeof _==="boolean")return String(_);return JSON.stringify(_)??"null"}function F8(_){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 X0(_){if(!_)return null;try{return JSON.parse(_)}catch{return _}}function Z0(_){if(!_)return"";try{return JSON.stringify(JSON.parse(_),null,2)}catch{return _}}function $_(_,$){if(_===void 0||typeof _==="string"||Array.isArray(_))return _;let Y=_;return Y[$]??Y.en??Object.values(Y)[0]}function o(_,$,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 v_(_,$){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 G0=new WeakMap;function J0(_,$){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`]);G0.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 V0(_,$){let Y=_.closest(".cortex-widget__screen"),Q=Y?G0.get(Y):void 0;if(!Y||!Q)return;G0.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((q)=>q.finish()),o_(G);let J=Z.getBoundingClientRect(),V=Y.getBoundingClientRect(),N=getComputedStyle(Z),z=parseFloat(N.paddingTop)+parseFloat(N.borderTopWidth),K=Q.rtl?parseFloat(N.paddingRight)+parseFloat(N.borderRightWidth):parseFloat(N.paddingLeft)+parseFloat(N.borderLeftWidth),U=Q.rtl?Q.from.right+K-J.width:Q.from.left-K,D=G.scrollTop-Q.scrollTop;if(D)_.style.setProperty("--cortex-slide",`${D}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=Z.cloneNode(!0);H.classList.add("cortex-send-flight"),H.setAttribute("aria-hidden","true"),Object.assign(H.style,{left:`${J.left-V.left}px`,top:`${J.top-V.top}px`,width:`${J.width}px`}),H.style.setProperty("--cortex-fly-x",`${U-J.left}px`),H.style.setProperty("--cortex-fly-y",`${Q.from.top-z-J.top}px`),Z.style.visibility="hidden",Y.append(H);let O=G.scrollTop,P=()=>{H.style.top=`${J.top-V.top-(G.scrollTop-O)}px`};G.addEventListener("scroll",P,{passive:!0}),q6(H).then(()=>{G.removeEventListener("scroll",P),Z.style.visibility="",H.remove()})}function o_(_){_.scrollTop=B6(_)}function N0(_){return B6(_)-_.scrollTop}function B6(_){let $=_.querySelector(".cortex-message-list__content");if(!$)return _.scrollHeight-_.clientHeight;let Y=getComputedStyle(_);return $.offsetHeight+parseFloat(Y.paddingTop)+parseFloat(Y.paddingBottom)-_.clientHeight}function z0(_){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",`${U8(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"),q6(_,!0).then(()=>{if($)return;_.classList.remove("cortex-working-avatar--shown","cortex-working-avatar--leaving")})},dispose(){Q?.disconnect()}}}function U8(_,$){let Y=_.querySelector(".cortex-text-bubble");if(!Y)return H6(_,$)+_.offsetHeight/2;let Q=getComputedStyle(Y);return H6(Y,$)+parseFloat(Q.paddingTop)+parseFloat(Q.borderTopWidth)+parseFloat(Q.lineHeight)/2}function H6(_,$){let Y=0;for(let Q=_;Q instanceof HTMLElement&&Q!==$;)Y+=Q.offsetTop,Q=Q.offsetParent;return Y}function q6(_,$=!1){return Promise.allSettled(_.getAnimations({subtree:$}).map((Y)=>Y.finished))}var L8=2;function K0(_){let $=!1,Y=!1,Q=!1,X=!1,Z=!1,G=!1,J,V=new Set,N=0,z=!1;function K(){if($&&N===0)return!1;if(N+=1,!$)$=!0,_.setRunning(!0);return!0}function U(q){if(N-=1,q)z=!0;else if(N===0&&!z)$=!1,_.setRunning(!1)}async function D(q,B){for(let W=0;W<L8;W+=1){let M=await _.refreshMessages().catch(()=>{return});if(!_.isAlive())return!1;if(!M)continue;if(!__(M).some((R)=>R.id===q.id))return!0;if(await _.deliver(B).then(()=>!0,()=>!1))return!0}return!1}async function H(q,B){let W;try{let n=B({toolCallId:q.id,toolName:q.name,input:q.input},{threadId:_.threadId});if(n===null||n===void 0)return;W=await Promise.resolve(n)}catch{V.delete(q.id);return}if(W===null||W===void 0)return;if(!_.isAlive())return;let M=K(),A={toolCallId:q.id,tool:q.name,output:W},R=await _.deliver(A).then(()=>!0,()=>D(q,A));if(M)U(R);if(!R)V.delete(q.id)}function O(q){let B=__(q),W=_.onToolCall();if(!W)return B.length>0;for(let M of B){if(M.state!=="input-complete"||V.has(M.id))continue;V.add(M.id),H(M,W)}return B.length>0}async function P(q){let B=X;if(X=!1,!B&&$){if(O(q()))return;if(Q)_.reloadThreads().catch(()=>{});else _.setRunning(!1)}if(J===void 0&&(G||B))return;J=void 0;let W=await _.refreshMessages();if(!B&&$&&W)O(W)}return{chunkArrived(){Y=!0},transcriptCarried(q){if(G=!0,J!==void 0&&J<=q)J=void 0},transcriptUpdated(q){if(!Z){_.refreshMessages();return}J=Math.max(J??0,Date.parse(q))},streamFailed(){if(Q=!0,Y)_.onTurnFinished();else _.onSendFailed()},loadingChanged(q,B){if(q){Z=!0,Q=!1,G=!1;return}if(!Z)return;Z=!1,_.onTurnFinished(),P(B)},hydrated(q,B){if(B)return;setTimeout(()=>{if(_.isAlive())O(q)},0)},sendStarted(){_.setRunning(!0),$=!0,Y=!1},abortConfirmed(){X=!0,_.setRunning(!1)}}}function f_(_){if(_.input.total<=0)return null;return Math.round(_.input.cacheRead/_.input.total*100)}import{createContext as F6,useContext as U6}from"react";var W0=F6(void 0);function L(){let _=U6(W0);if(!_)throw Error("useCortex must be used inside <CortexChatWidget>");return _}var D0={messages:[],isAgentWorking:!1,isLoadingMessages:!1,hasPendingToolCalls:!1},H0=F6(D0);function q_(){return U6(H0)}import{useEffect as O8,useState as P8}from"react";function L6(_,$){let[Y,Q]=P8();return O8(()=>{return Q(void 0),c1(_,Q)},[_,$]),Y}import{useRef as w8}from"react";import{useRef as M8,useState as A8,useSyncExternalStore as E8}from"react";function O6(_,$){let Y=M8($);Y.current=$;let[Q]=A8(()=>y1({api:_,ensureThread:()=>Y.current()})),X=E8(Q.subscribe,Q.getState,Q.getState);return{store:Q,value:{items:X,...w1(X),accept:Q.accept,remove:Q.remove,consumeReady:Q.consumeReady}}}import{useEffect as k8,useRef as R8}from"react";function P6(_,$){let Y=R8(void 0);k8(()=>{if($===Y.current)return;_.clear(Y.current),Y.current=$},[$,_])}import{useRef as M6}from"react";function A6(_){let $=M6([]),Y=M6(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 I8,useState as y8}from"react";function E6(_){let[$,Y]=y8(),Q=$?.thread,X=Q?_.threads?.find((N)=>N.id===Q.id)??Q:void 0,Z=I8(X);Z.current=X;function G(N,z){if(Z.current?.id===N.id&&_.hasSession())return;let K=Z.current;if(Z.current=N,Y({thread:N,mode:z,epoch:0}),K&&K.id!==N.id)_.getHooks()?.onThreadDeselected?.(K);_.getHooks()?.onThreadSelected?.(N)}function J(){let N=Z.current;if(!N&&!_.hasSession())return;if(Z.current=void 0,Y(void 0),N)_.getHooks()?.onThreadDeselected?.(N)}function V(N,z){Y((K)=>({thread:N,mode:"reload",epoch:(K?.epoch??0)+1,initialMessages:z}))}return{session:$,selected:X,selectedRef:Z,select:G,deselect:J,remount:V}}function k6(_){let{api:$,threads:Y}=_,Q=w8(void 0),X=E6({threads:Y.threads,getHooks:_.getHooks,hasSession:()=>Q.current!==void 0}),Z=A6({api:$,sessionRef:Q,selectedRef:X.selectedRef,onCreated:(N)=>{Y.upsert(N),X.select(N,"skip")}}),G=O6($,Z.ensureThread);P6(G.store,X.selected?.id);async function J(N){if(X.selectedRef.current?.id===N)X.deselect();await Y.remove(N)}function V(N){X.select(N,"load")}return{sessionRef:Q,selection:X,queue:G,deleteThread:J,openThread:V,...Z}}import{useEffect as C8,useRef as S8}from"react";function R6(_){let $=S8(_);$.current=_,C8(()=>{$.current.onMount();let Y=!1,Q=u1({getConfig:()=>$.current.getConfig(),onEvent:(X)=>$.current.onEvent(X),onOpen:()=>{if(Y)$.current.onReconnect();Y=!0}});return()=>Q.close()},[])}function I6(_){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 y6(_){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 b8}from"react";function w6(_){let[$,Y]=b8();async function Q(){let V=n_(await _.listThreads());return Y(V),V}function X(V){Y((N)=>C_(N??[],V))}function Z(V,N){Y((z)=>{let K=z?.find((U)=>U.id===V);return K?C_(z??[],{...K,isRunning:N}):z})}async function G(V){await _.deleteThread(V),Y((N)=>N?i_(N,V):N)}function J(V){Y((N)=>{let z=p1(N??[],V);return N||z.length?z:N})}return{threads:$,reload:Q,upsert:X,setRunning:Z,remove:G,applyEvent:J}}import{useState as C6}from"react";function S6(_){let[$,Y]=C6("chat"),[Q,X]=C6(!1);return{screen:$,sidebarOpen:Q,showChat:()=>{Y("chat"),X(!1)},openHistory:()=>_==="full"?X(!0):Y("threads"),closeHistory:()=>_==="full"?X(!1):Y("chat"),toggleSidebar:()=>X((Z)=>!Z),closeSidebar:()=>X(!1)}}function F(..._){return _.filter(Boolean).join(" ")}import{jsx as m,jsxs as b6}from"react/jsx-runtime";function T6({onToggleSidebar:_,onToggleDebug:$,onNewChat:Y,onOpenHistory:Q}){let{config:X,locale:Z,t:G,debugMode:J,selectedThread:V}=L();return b6("div",{className:"cortex-widget__chat-header",children:[m("button",{onClick:_,className:"cortex-widget__sidebar-toggle-btn",children:m("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:m("path",{d:"M2.5 4h11M2.5 8h11M2.5 12h11",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),m("div",{className:"cortex-widget__chat-title-wrap",children:m("p",{className:"cortex-widget__chat-title",children:V?.title??$_(X.agentName,Z)??G("translate_new_chat")})}),X.showDebugButton&&m("button",{onClick:$,className:F("cortex-widget__debug-btn",J?"cortex-widget__debug-btn--on":"cortex-widget__debug-btn--off"),children:J?G("translate_debug"):G("translate_normal")}),m("button",{type:"button",onClick:Y,"aria-label":G("translate_new_chat"),title:G("translate_new_chat"),className:"cortex-widget__header-btn cortex-widget__new-btn",children:m("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:m("path",{d:"M8 3v10M3 8h10",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),m("button",{type:"button",onClick:Q,"aria-label":G("translate_history"),title:G("translate_history"),className:"cortex-widget__header-btn cortex-widget__history-btn",children:b6("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[m("circle",{cx:"8",cy:"8",r:"5.75",stroke:"currentColor",strokeWidth:"1.3"}),m("path",{d:"M8 5v3l2 1.5",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})]})})]})}var S={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{forwardRef as x8,useEffect as h8,useImperativeHandle as u8,useRef as x6,useState as c8}from"react";import{useState as T8}from"react";function v6(_,$){let[Y,Q]=T8(!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])}}}import{jsx as a,jsxs as B0}from"react/jsx-runtime";function f6(){let{queue:_,t:$}=L();if(!_.items.length)return null;return a("div",{className:"cortex-attachment-queue",children:_.items.map((Y)=>B0("div",{className:F("cortex-attachment-chip",Y.status==="error"&&"cortex-attachment-chip--error"),title:Y.status==="error"?$("translate_attachment_rejected"):"",children:[Y.status==="uploading"||Y.status==="deleting"?B0("svg",{className:"cortex-attachment-chip__spinner",viewBox:"0 0 16 16",fill:"none",children:[a("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"2",className:"cortex-attachment-chip__spinner-track"}),a("path",{d:"M14 8a6 6 0 0 0-6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):B0("svg",{viewBox:"0 0 16 16",className:"cortex-attachment-chip__icon",fill:"none",children:[a("path",{d:S.file[0],stroke:"currentColor",strokeWidth:"1.25"}),a("path",{d:S.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),a("span",{className:"cortex-attachment-chip__name",children:Y.filename}),a("button",{type:"button",onClick:()=>_.remove(Y.localId),className:"cortex-attachment-chip__remove",disabled:Y.status==="deleting","aria-label":$("translate_remove_attachment"),children:a("svg",{viewBox:"0 0 16 16",fill:"none",children:a("path",{d:"M4.5 4.5l7 7m0-7l-7 7",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]},Y.localId))})}import{useRef as v8}from"react";import{jsx as J_,jsxs as j6,Fragment as j8}from"react/jsx-runtime";var f8=K1.join(",");function g6({attachmentsEnabled:_,canSend:$,onSend:Y}){let{t:Q,queue:X}=L(),Z=v8(null);return j6("div",{className:"cortex-widget__input-actions",children:[_&&j6(j8,{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:f8,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:F("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 g8}from"react";import{jsx as m8}from"react/jsx-runtime";function m6(_){let{t:$}=L();g8(()=>{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 m8("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:F("cortex-widget__textarea",_.disabled&&"cortex-widget__textarea--disabled")})}import{jsx as F_,jsxs as q0}from"react/jsx-runtime";var h6=x8(function($,Y){let{t:Q,queue:X,send:Z,abort:G,capabilities:J}=L(),{isAgentWorking:V}=q_(),N=J?.attachments??!1,[z,K]=c8(""),U=v6(N,X.accept),D=x6(null);u8(Y,()=>({focusInput:()=>D.current?.focus()}));let H=x6(V);h8(()=>{if(H.current&&!V)D.current?.focus();H.current=V},[V]);let O=!X.busy&&(Boolean(z.trim())||X.hasReady);function P(){if(V||!O)return;let q=z.trim()||Q("translate_attachment_caption"),B=X.consumeReady();if(D.current)J0(D.current,q);K(""),Z(q,B.map((W)=>W.summary))}return q0("div",{className:"cortex-widget__input-area",onDragOver:U.onDragOver,onDragLeave:U.onDragLeave,onDrop:U.onDrop,children:[F_(f6,{}),q0("div",{className:F("cortex-widget__input-box",V&&"cortex-widget__input-box--disabled",!V&&"cortex-widget__input-box--enabled",U.dragging&&"cortex-widget__input-box--dragging"),children:[F_(m6,{inputRef:D,value:z,onChange:K,onSubmit:P,onPaste:U.onPaste,disabled:V,dragging:U.dragging}),V?q0("button",{onClick:()=>void G(),className:"cortex-stop-btn",children:[F_("span",{className:"cortex-stop-btn__ring"}),F_("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"cortex-stop-btn__icon",children:F_("rect",{x:"1",y:"1",width:"10",height:"10",rx:"2.5",fill:"currentColor"})})]}):F_(g6,{attachmentsEnabled:N,canSend:O,onSend:P})]})]})});import{jsx as u6}from"react/jsx-runtime";function a_({capabilities:_,composerRef:$}){let{t:Y}=L();if(_===void 0)return null;return _.messages===!1?u6("p",{className:"cortex-widget__messages-disabled",children:Y("translate_messages_disabled")}):u6(h6,{ref:$})}import{jsx as l,jsxs as c6}from"react/jsx-runtime";function p6(_){let{locale:$,t:Y,threads:Q,send:X,capabilities:Z}=L(),G=Z?.messages===!1,J=Z!==void 0,V=$_(Z?.suggestions,$),N=$_(Z?.greeting,$)||Y("translate_greeting");return c6("div",{className:"cortex-widget__landing",children:[l("div",{className:"cortex-widget__landing-icon",children:l("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",children:l("path",{d:S.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),l("p",{className:"cortex-widget__landing-greeting",children:N}),J&&!G&&!!V?.length&&l("div",{className:"cortex-widget__landing-chips",children:V.map((z,K)=>l("button",{type:"button",onClick:()=>void X(z.prompt),className:"cortex-widget__landing-chip",children:z.title},K))}),l(a_,{capabilities:Z}),!!Q?.length&&l("div",{className:"cortex-widget__landing-recent",children:Q.slice(0,2).map((z)=>{let K=o(z.updatedAt,$);return c6("button",{type:"button",onClick:()=>_.onThreadSelected(z),className:"cortex-widget__landing-recent-item",children:[l("p",{className:"cortex-widget__landing-recent-title",children:z.title??Y("translate_untitled")}),K&&l("p",{className:"cortex-widget__landing-recent-time",children:K})]},z.id)})})]})}import{useCallback as u_,useEffect as A0,useLayoutEffect as E0,useMemo as I4,useRef as W_,useState as k0}from"react";import{memo as k4}from"react";import{Fragment as M4}from"react";import{useRef as p8,useState as l8}from"react";import{jsx as U_,jsxs as d8}from"react/jsx-runtime";function x({value:_,className:$}){let{t:Y}=L(),[Q,X]=l8(!1),Z=p8(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 U_("span",{className:F("cortex-copy-btn",$),children:U_("button",{className:F("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?U_("svg",{className:"cortex-copy-btn__icon cortex-copy-btn__icon--check",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:U_("path",{d:"M5 13l4 4L19 7",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}):d8("svg",{className:"cortex-copy-btn__icon",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:[U_("rect",{x:"9",y:"9",width:"12",height:"12",rx:"2",stroke:"currentColor",strokeWidth:"2"}),U_("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 t_,jsxs as l6}from"react/jsx-runtime";function d6(){let{t:_}=L();return l6("div",{className:"cortex-aborted-flag",children:[t_("span",{className:"cortex-aborted-flag__line"}),l6("span",{className:"cortex-aborted-flag__label",children:[t_("svg",{className:"cortex-aborted-flag__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:t_("path",{d:"M6 1.5v5M6 8.75v.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})}),_("translate_aborted")]}),t_("span",{className:"cortex-aborted-flag__line"})]})}import{jsx as L_,jsxs as n6}from"react/jsx-runtime";function i6(_){let{api:$,t:Y}=L();async function Q(X){let{blob:Z,name:G}=await $.downloadAttachment(X);v_(Z,G)}return L_("div",{className:F("cortex-message-attachments",_.isUser&&"cortex-message-attachments--user"),children:_.attachments.map((X)=>n6("button",{type:"button",onClick:()=>void Q(X.id),className:"cortex-message-attachment","aria-label":`${Y("translate_download")}: ${X.filename}`,children:[n6("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__icon",fill:"none",children:[L_("path",{d:S.file[0],stroke:"currentColor",strokeWidth:"1.25"}),L_("path",{d:S.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),L_("span",{className:"cortex-message-attachment__name",children:X.filename}),L_("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__dl-icon",fill:"none",children:L_("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 r8,useState as j_}from"react";import{useMemo as n8,useState as i8}from"react";import{jsx as g,jsxs as V_,Fragment as s_}from"react/jsx-runtime";function Q_({data:_,expandDepth:$,className:Y}){let Q=n8(()=>B_(_),[_]),[X,Z]=i8({});function G(V,N){return X[V]??N>=$}function J(V,N){Z((z)=>({...z,[V]:!G(V,N)}))}return g("div",{className:F("cortex-json-tree",Y),children:g(r6,{value:Q,path:"$",depth:0,isCollapsed:G,toggle:J})})}function r6({value:_,path:$,depth:Y,isCollapsed:Q,toggle:X}){let Z=Q0(_,$);if(Z.kind==="primitive")return g("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_(s_,{children:[V_("span",{className:"cortex-json-tree__toggle",onClick:J,role:"button",children:[g("span",{className:F("cortex-json-tree__arrow",G&&"cortex-json-tree__arrow--collapsed"),children:"▾"}),g("span",{className:"cortex-json-tree__bracket",children:Z.open})]}),G?V_(s_,{children:[g("span",{className:"cortex-json-tree__collapsed-hint",onClick:J,role:"button",children:Z.summary}),g("span",{className:"cortex-json-tree__bracket",children:Z.close})]}):V_(s_,{children:[g("div",{className:"cortex-json-tree__indent",children:Z.entries.map((V,N)=>V_("div",{className:"cortex-json-tree__line",children:[V.key!==null&&V_(s_,{children:[g("span",{className:"cortex-json-tree__key",children:`"${V.key}"`}),g("span",{className:"cortex-json-tree__colon",children:": "})]}),g(r6,{value:V.value,path:V.path,depth:Y+1,isCollapsed:Q,toggle:X}),N<Z.entries.length-1&&g("span",{className:"cortex-json-tree__comma",children:","})]},V.path))}),g("span",{className:"cortex-json-tree__bracket",children:Z.close})]})]})}function I(_){return _.toLocaleString("en-US")}import{jsx as O_,jsxs as P_}from"react/jsx-runtime";function o6({usage:_}){let{t:$}=L();return P_("div",{className:"cortex-llm-inspector__usage-rows",children:[P_("div",{className:"cortex-llm-inspector__usage-row",children:[O_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_input")}),O_("span",{className:"cortex-llm-inspector__usage-val",children:I(_.input.total)}),P_("span",{className:"cortex-llm-inspector__usage-detail",children:[$("translate_fresh")," ",I(_.input.noCache)," · ",$("translate_read")," ",I(_.input.cacheRead)," · ",$("translate_write")," ",I(_.input.cacheWrite)]})]}),P_("div",{className:"cortex-llm-inspector__usage-row",children:[O_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_output")}),O_("span",{className:"cortex-llm-inspector__usage-val",children:I(_.output.total)}),P_("span",{className:"cortex-llm-inspector__usage-detail",children:[$("translate_text")," ",I(_.output.text)," · ",$("translate_reasoning")," ",I(_.output.reasoning)]})]}),P_("div",{className:"cortex-llm-inspector__usage-row cortex-llm-inspector__usage-row--total",children:[O_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_total")}),O_("span",{className:"cortex-llm-inspector__usage-val",children:I(_.total)})]})]})}import{jsx as a6,jsxs as e_}from"react/jsx-runtime";function t6({usage:_}){let $=f_(_);return e_("span",{className:"cortex-llm-inspector__step-metrics",children:[e_("span",{className:"cortex-llm-inspector__metric",children:[a6("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--input"}),I(_.input.total)]}),e_("span",{className:"cortex-llm-inspector__metric",children:[a6("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--output"}),I(_.output.total)]}),$!==null&&e_("span",{className:"cortex-llm-inspector__cache-pct",children:[$,"%"]})]})}import{jsx as w,jsxs as X_}from"react/jsx-runtime";function s6({messageId:_}){let{t:$,api:Y}=L(),[Q,X]=j_(!1),[Z,G]=j_(!1),[J,V]=j_([]),[N,z]=j_(null),[K,U]=j_({}),D=r8(!1);async function H(){if(!D.current){G(!0);try{V(await Y.listLlmRequests(_))}finally{G(!1),D.current=!0}}X((W)=>!W)}function O(W){z((M)=>M===W?null:W)}function P(W){return K[W]??"prompt"}function q(W,M){U((A)=>({...A,[W]:M}))}function B(W){return P(W.id)==="prompt"?W.prompt:W.output}return X_("div",{className:F("cortex-llm-inspector",Q&&"cortex-llm-inspector--open"),children:[X_("button",{className:"cortex-llm-inspector__trigger",onClick:()=>void H(),children:[w("svg",{className:"cortex-llm-inspector__icon",width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:w("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"})}),w("span",{children:$("translate_inspect_llm_requests")}),Z?w("span",{className:"cortex-llm-inspector__loading",children:$("translate_loading")}):J.length>0?w("span",{className:"cortex-llm-inspector__badge",children:J.length}):null,w("svg",{className:"cortex-llm-inspector__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:w("path",{d:S.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),w("div",{className:"cortex-llm-inspector__panel-wrapper",children:w("div",{className:"cortex-llm-inspector__panel-inner",children:X_("div",{className:"cortex-llm-inspector__panel",children:[J.length===0&&!Z&&w("div",{className:"cortex-llm-inspector__empty",children:$("translate_no_llm_requests")}),J.map((W,M)=>X_("div",{className:F("cortex-llm-inspector__step",N===W.id&&"cortex-llm-inspector__step--expanded"),children:[X_("button",{className:"cortex-llm-inspector__step-header",onClick:()=>O(W.id),children:[w("span",{className:"cortex-llm-inspector__step-label",children:$("translate_step_n",{number:M+1})}),W.tokenUsage&&w(t6,{usage:W.tokenUsage}),w("svg",{className:"cortex-llm-inspector__step-chevron",width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",children:w("path",{d:S.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),w("div",{className:"cortex-llm-inspector__step-body-wrapper",children:w("div",{className:"cortex-llm-inspector__step-body-inner",children:X_("div",{className:"cortex-llm-inspector__step-body",children:[W.tokenUsage&&w(o6,{usage:W.tokenUsage}),X_("div",{className:"cortex-llm-inspector__tabs",children:[w("button",{className:F("cortex-llm-inspector__tab",P(W.id)==="prompt"&&"cortex-llm-inspector__tab--active"),onClick:()=>q(W.id,"prompt"),children:$("translate_request")}),w("button",{className:F("cortex-llm-inspector__tab",P(W.id)==="response"&&"cortex-llm-inspector__tab--active"),onClick:()=>q(W.id,"response"),children:$("translate_response")})]}),X_("div",{className:"cortex-llm-inspector__json-pane",children:[w(x,{className:"cortex-llm-inspector__json-copy",value:Z0(B(W))}),w(Q_,{data:X0(B(W)),expandDepth:2})]})]})})})]},W.id))]})})})]})}import{useState as o8}from"react";import{jsx as k,jsxs as b}from"react/jsx-runtime";function e6({usage:_,modelId:$}){let{t:Y}=L(),[Q,X]=o8(!1),Z=f_(_)??0;return b("div",{className:F("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:[k("span",{className:"cortex-token-usage__total-number",children:I(_.total)}),k("span",{className:"cortex-token-usage__total-label",children:Y("translate_tokens")})]}),$?k("span",{className:"cortex-token-usage__model",children:$}):null,b("span",{className:"cortex-token-usage__pills",children:[b("span",{className:"cortex-token-usage__pill",children:[k("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),I(_.input.total)]}),b("span",{className:"cortex-token-usage__pill",children:[k("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),I(_.output.total)]})]}),Z>0&&b("span",{className:"cortex-token-usage__cache-badge",children:[Z,"%"]}),k("svg",{className:"cortex-token-usage__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:k("path",{d:S.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),k("div",{className:"cortex-token-usage__details",children:k("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:[k("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),k("span",{className:"cortex-token-usage__col-label",children:Y("translate_input")}),k("span",{className:"cortex-token-usage__col-total",children:I(_.input.total)})]}),b("div",{className:"cortex-token-usage__rows",children:[_.input.noCache?b("div",{className:"cortex-token-usage__row",children:[k("span",{className:"cortex-token-usage__row-label",children:Y("translate_fresh")}),k("span",{className:"cortex-token-usage__row-value",children:I(_.input.noCache)})]}):null,_.input.cacheRead?b("div",{className:"cortex-token-usage__row",children:[k("span",{className:"cortex-token-usage__row-label",children:Y("translate_cache_read")}),k("span",{className:"cortex-token-usage__row-value",children:I(_.input.cacheRead)})]}):null,_.input.cacheWrite?b("div",{className:"cortex-token-usage__row",children:[k("span",{className:"cortex-token-usage__row-label",children:Y("translate_cache_write")}),k("span",{className:"cortex-token-usage__row-value",children:I(_.input.cacheWrite)})]}):null]}),Z>0&&b("div",{className:"cortex-token-usage__cache-bar-row",children:[k("div",{className:"cortex-token-usage__cache-bar",children:k("div",{className:"cortex-token-usage__cache-fill",style:{width:`${Z}%`}})}),k("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:[k("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),k("span",{className:"cortex-token-usage__col-label",children:Y("translate_output")}),k("span",{className:"cortex-token-usage__col-total",children:I(_.output.total)})]}),b("div",{className:"cortex-token-usage__rows",children:[_.output.text?b("div",{className:"cortex-token-usage__row",children:[k("span",{className:"cortex-token-usage__row-label",children:Y("translate_text")}),k("span",{className:"cortex-token-usage__row-value",children:I(_.output.text)})]}):null,_.output.reasoning?b("div",{className:"cortex-token-usage__row",children:[k("span",{className:"cortex-token-usage__row-label",children:Y("translate_reasoning")}),k("span",{className:"cortex-token-usage__row-value",children:I(_.output.reasoning)})]}):null]})]})]})})})]})}import{jsx as _2,jsxs as a8}from"react/jsx-runtime";function $2({messageId:_,isAssistant:$,metadata:Y}){let{tokenUsage:Q}=Y;if(!Q&&!$)return null;return a8("div",{className:"cortex-message-debug-zone",children:[Q&&_2(e6,{usage:Q,modelId:Y.modelId}),$&&_2(s6,{messageId:_})]})}import{jsx as h,jsxs as g_}from"react/jsx-runtime";function Y2(_){let{reasoningPart:$,streaming:Y=!1}=_,{t:Q}=L();return g_("details",{className:"cortex-reasoning-details",children:[g_("summary",{className:"cortex-reasoning-details__summary",children:[g_("div",{className:"cortex-reasoning-details__header",children:[h("span",{className:"cortex-reasoning-details__icon",children:g_("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:[h("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"}),h("path",{d:"M7.5 17.5h5M8.5 8a2 2 0 0 1 2-2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})]})}),h("div",{className:"cortex-reasoning-details__title-group",children:g_("div",{className:"cortex-reasoning-details__title-row",children:[h("div",{className:"cortex-reasoning-details__title",children:Q("translate_reasoning")}),h("span",{className:F("cortex-reasoning-details__badge",Y?"cortex-reasoning-details__badge--streaming":"cortex-reasoning-details__badge--done"),children:Y?Q("translate_streaming"):Q("translate_done")})]})})]}),h("span",{className:"cortex-reasoning-details__chevron","aria-hidden":"true",children:h("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:h("path",{d:S.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),h("div",{className:"cortex-reasoning-details__body",children:h("div",{className:"cortex-reasoning-details__content",children:h("pre",{className:"cortex-reasoning-details__pre",children:$.content.trim()?$.content:Q("translate_no_reasoning")})})})]})}import{useEffect as N2,useMemo as J4,useRef as U0,useState as V4}from"react";import{useEffect as t8,useState as Q2}from"react";import{jsx as F0,jsxs as s8}from"react/jsx-runtime";function X2(_){let{id:$,alt:Y,attachment:Q}=_,{api:X,t:Z}=L(),[G,J]=Q2(),[V,N]=Q2(!1);if(t8(()=>{let z,K=!1;return J(void 0),N(!1),X.downloadAttachment($).then(({blob:U})=>{if(K)return;z=URL.createObjectURL(U),J(z)},()=>{if(!K)N(!0)}),()=>{if(K=!0,z)URL.revokeObjectURL(z)}},[X,$]),V)return F0("p",{className:"cortex-attachment-image__caption",children:Y?Z("translate_image_unavailable_alt",{alt:Y}):Z("translate_image_unavailable")});if(!G)return null;return s8("figure",{className:"cortex-attachment-image",children:[F0("img",{src:G,alt:Y}),Q&&F0("figcaption",{className:"cortex-attachment-image__caption",children:Q.filename})]})}import{useEffect as e8,useRef as _4,useState as Z2}from"react";import{jsx as t,jsxs as _1}from"react/jsx-runtime";function $4(_){let{t:$}=L();if(!_.pending&&!_.debugMode)return null;return _1("div",{className:"cortex-media-block__head",children:[_.debugMode&&t("span",{className:"cortex-media-block__lang",children:_.language}),_.pending&&t("span",{className:"cortex-media-block__pending",children:$(s1(_.language))}),_.debugMode&&_.closed&&_1("span",{className:"cortex-media-block__actions",children:[_.onToggleSource&&t("button",{type:"button",className:"cortex-media-block__action","aria-pressed":_.sourceShown,onClick:_.onToggleSource,children:$("translate_media_source")}),t(x,{value:_.source})]})]})}function Y4(_){let{debugMode:$,t:Y}=L();return t("div",{className:"cortex-media-block__body",children:_1("p",{className:"cortex-media-block__error",children:[_.cutOff?Y("translate_media_cut_off"):Y("translate_media_failed"),!_.cutOff&&$&&` ${_.reason}`]})})}function G2(_){let{language:$,source:Y,closed:Q,streaming:X}=_,{config:Z,debugMode:G,scheme:J}=L(),V=_4(null),[N,z]=Z2(),[K,U]=Z2(!1);e8(()=>{z(void 0);let P=V.current;if(!Q||!J||!P)return;return _0(P,{language:$,source:Y,context:{scheme:J},overrides:Z.mediaRenderers,onError:z})},[$,Y,Q,J,Z.mediaRenderers]);let D=!Q&&!X,H=D||Boolean(N);return _1("div",{className:"cortex-media-block",children:[t($4,{language:$,source:Y,pending:!Q&&X,closed:Q,debugMode:G,sourceShown:K,onToggleSource:H?void 0:()=>U((P)=>!P)}),H&&t(Y4,{cutOff:D,reason:N}),t("div",{ref:V,hidden:H,className:F("cortex-media-block__body",`cortex-media-block__body--${$}`)}),G&&(H||K)&&t("pre",{className:"cortex-media-block__source",children:Y})]})}import{useMemo as Q4,useRef as J2,useState as X4}from"react";import{jsx as u,jsxs as $1,Fragment as G4}from"react/jsx-runtime";var Z4="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 V2(_){let{t:$}=L(),Y=J2(null),Q=J2(null),[X,Z]=X4(!1),G=Q4(()=>({__html:S_(_.text)}),[_.text]);function J(){let N=Y.current?.querySelector("table");if(N)v_(n1(d1(N)),"table.xlsx")}let V=u("button",{type:"button",className:"cortex-table-block__action","aria-label":$("translate_table_export"),title:$("translate_table_export"),onClick:J,children:u("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:u("path",{d:Z4,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})});return $1("div",{className:"cortex-table-block",children:[u("div",{className:"cortex-table-block__actions",children:_.closed&&$1(G4,{children:[u("button",{type:"button",className:"cortex-table-block__action","aria-label":$("translate_table_expand"),title:$("translate_table_expand"),onClick:()=>{Z(!0),Q.current?.showModal()},children:u("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:u("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"})})}),V]})}),u("div",{ref:Y,dangerouslySetInnerHTML:G}),$1("dialog",{ref:Q,className:"cortex-table-block__dialog","aria-label":$("translate_table_expand"),onClose:()=>Z(!1),children:[$1("div",{className:"cortex-table-block__dialog-head",children:[V,u("button",{type:"button",className:"cortex-table-block__action","aria-label":$("translate_close"),title:$("translate_close"),onClick:()=>Q.current?.close(),children:u("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:u("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})})]}),X&&u("div",{className:"cortex-table-block__dialog-body",dangerouslySetInnerHTML:G})]})]})}import{jsx as M_}from"react/jsx-runtime";function z2(_){let{role:$,textPart:Y,streaming:Q=!1,attachments:X=[]}=_,{config:Z}=L(),G=$==="assistant"&&Q?"":Y.content,[J,V]=V4({text:G,fading:[]}),N=U0(G),z=U0(null),K=U0(!0);N2(()=>{function H(O,P){N.current=O,V((q)=>q.text===O&&!q.fading.length&&!P.length?q:{text:O,fading:P})}if($!=="assistant"||!Q){z.current?.destroy(),z.current=null,H(Y.content,[]),K.current=!1;return}if(!z.current)z.current=new Y_(H),z.current.seed(N.current);if(K.current){K.current=!1,z.current.seed(Y.content);return}z.current.update(Y.content,!1)},[$,Q,Y]),N2(()=>()=>{z.current?.destroy(),z.current=null},[]);let U=J4(()=>{let H=$==="assistant"?l1(J.text,e1(Z.mediaRenderers)):[{kind:"markdown",text:J.text}];return H.map((O,P)=>O.kind==="markdown"?{...O,html:{__html:S_(O.text,P===H.length-1?J.fading:[])}}:O)},[$,J,Z.mediaRenderers]),D=Q||J.text!==Y.content;return M_("div",{className:F("cortex-text-part",$==="assistant"&&"cortex-text-part--assistant",$==="user"&&"cortex-text-part--user"),children:M_("div",{className:F("cortex-text-bubble",$==="assistant"&&"cortex-text-bubble--assistant",$==="user"&&"cortex-text-bubble--user"),children:U.map((H,O)=>{switch(H.kind){case"markdown":return M_("div",{dangerouslySetInnerHTML:H.html},O);case"media":return M_(G2,{...H,streaming:D},O);case"table":return M_(V2,{text:H.text,closed:H.closed||!D},O);case"attachment":return M_(X2,{id:H.id,alt:H.alt,attachment:X.find((P)=>P.id.toLowerCase()===H.id)},O)}})})})}import{jsx as j,jsxs as Z_}from"react/jsx-runtime";function K2({toolCallPart:_}){let{t:$}=L(),{state:Y,approval:Q}=_,X=_.output,Z=U1(_);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:[j("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--success",children:$("translate_output")}),j("span",{className:"cortex-debug-tool__section-lang",children:"json"}),j(x,{value:Z})]}),j("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:j(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:[j("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--error",children:$("translate_error")}),j(x,{value:Z})]}),j("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:[j("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--approval",children:$("translate_approval_requested")}),j("span",{className:"cortex-debug-tool__section-lang",children:Q?.id})]}),j("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:[j("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--approval",children:$("translate_approval_response")}),j("span",{className:"cortex-debug-tool__section-lang",children:Q?.id})]}),j("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 N4,jsxs as z4}from"react/jsx-runtime";function W2({toolCallPart:_}){let{t:$}=L(),Y=F1(_);return z4("span",{className:F("cortex-debug-tool__state",Y.modifier&&`cortex-debug-tool__state--${Y.modifier}`),children:[Y.pulse&&N4("span",{className:F("cortex-debug-tool__pulse",Y.pulse==="violet"&&"cortex-debug-tool__pulse--violet")}),$(Y.labelKey)]})}import{jsx as T,jsxs as s}from"react/jsx-runtime";function D2({toolCallPart:_}){let{t:$}=L(),{codeSnippets:Y,remainingInput:Q,remainingInputText:X}=L1(_.input);return s("details",{className:"cortex-debug-tool","data-state":_.state,children:[T("summary",{className:"cortex-debug-tool__summary",children:s("div",{className:"cortex-debug-tool__header",children:[s("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})})]}),s("div",{className:"cortex-debug-tool__actions",children:[T(W2,{toolCallPart:_}),T("svg",{className:"cortex-debug-tool__chevron",width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:T("path",{d:S.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})}),s("div",{className:"cortex-debug-tool__body",children:[Y.map((Z)=>s("div",{className:"cortex-debug-tool__section",children:[s("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(x,{value:Z.value})]}),T("pre",{dir:"ltr",className:"cortex-debug-tool__pre",children:T("code",{className:"hljs",dangerouslySetInnerHTML:{__html:Y0(Z.value,Z.lang)}})})]},Z.key)),!!Q&&s("div",{className:"cortex-debug-tool__section",children:[s("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(x,{value:X})]}),T("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:T(Q_,{data:Q,expandDepth:2})})]}),T(K2,{toolCallPart:_})]})]})}import{useEffect as K4,useRef as W4,useState as H2}from"react";import{jsx as m_,jsxs as B2}from"react/jsx-runtime";function N_({activity:_,className:$}){let{t:Y}=L(),Q=P1(_),[X,Z]=H2(0),[G,J]=H2("idle"),V=W4(Q.length);return V.current=Q.length,K4(()=>{let N,z;function K(){N=setTimeout(()=>{J("exiting"),N=setTimeout(()=>{Z((U)=>(U+1)%V.current),J("enter-start"),z=requestAnimationFrame(()=>{J("entering"),N=setTimeout(()=>{J("idle"),K()},300)})},300)},2000)}return K(),()=>{if(N)clearTimeout(N);if(z)cancelAnimationFrame(z)}},[]),B2("div",{className:F("cortex-subtle-activity",$),children:[B2("div",{className:"cortex-subtle-activity__dots",children:[m_("span",{className:"cortex-subtle-activity__dot"}),m_("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d1"}),m_("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d2"})]}),m_("div",{className:"cortex-subtle-activity__label-mask",children:m_("span",{className:F("cortex-subtle-activity__label",`cortex-subtle-activity__label--${G}`),children:Y(Q[X])})})]})}import{useEffect as M2,useRef as L0,useState as P2}from"react";import{useState as D4}from"react";import{jsx as v,jsxs as z_,Fragment as q2}from"react/jsx-runtime";function F2({toolCallPart:_,asking:$}){let{t:Y,locale:Q,respondToApproval:X}=L(),[Z,G]=D4(!1),{sentence:J,rows:V,decision:N,decisionKey:z}=O1(_,Q),K=`cortex-approval-${_.id}`,U=j0(_),D=N==="pending",{state:H,active:O}=r(_);return z_("div",{className:F("cortex-approval-card",D&&"cortex-approval-card--asking"),children:[D?z_(q2,{children:[z_("div",{className:"cortex-approval-card__head",children:[v("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:v("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")]}),v("p",{className:"cortex-approval-card__sentence",id:K,children:J})]}):z_("div",{className:"cortex-approval-card__line",children:[z_("span",{className:"cortex-tool-pill__icon","aria-hidden":"true",children:[v("span",{className:F("cortex-tool-pill__spinner",O&&"cortex-tool-pill__spinner--visible")}),v("svg",{className:F("cortex-tool-pill__svg cortex-tool-pill__svg--check",H==="complete"&&"cortex-tool-pill__svg--visible"),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"})}),v("svg",{className:F("cortex-tool-pill__svg cortex-tool-pill__svg--error",H==="error"&&"cortex-tool-pill__svg--visible"),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"})})]}),z&&v("span",{className:"cortex-approval-card__decision",children:Y(z)}),v("span",{className:"cortex-approval-card__summary",children:J}),v("button",{type:"button",className:"cortex-approval-card__details","aria-expanded":Z,onClick:()=>G((P)=>!P),children:Y("translate_details")})]}),!D&&Z&&v("p",{className:"cortex-approval-card__sentence cortex-approval-card__sentence--full",children:J}),V.length>0&&(D||Z)&&v("dl",{className:"cortex-approval-card__rows",children:V.map((P)=>z_(q2,{children:[v("dt",{children:P.label}),v("dd",{children:P.value})]},P.key))}),D&&$&&z_("div",{className:"cortex-approval-card__foot",children:[v("button",{type:"button",className:"cortex-approval-card__button cortex-approval-card__button--approve","aria-describedby":K,onClick:()=>void X(U,!0),children:Y("translate_approve")}),v("button",{type:"button",className:"cortex-approval-card__button","aria-describedby":K,onClick:()=>void X(U,!1),children:Y("translate_deny")})]})]})}import{useEffect as U2,useRef as Y1,useState as L2}from"react";import{jsx as C,jsxs as c}from"react/jsx-runtime";function O2({toolCallPart:_,setOutput:$}){let{t:Y}=L(),{state:Q,id:X,input:Z}=_;if(Q==="complete"||Q==="error"){let G=m1(_.output);return G?C(B4,{position:G}):c("div",{className:"cortex-tool-pill",children:[C("span",{className:"cortex-tool-pill__icon",children:C("svg",{className:F("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(H4,{center:g1(Z),submit:$},X)}function H4({center:_,submit:$}){let{t:Y}=L(),Q=Y1(null),X=Y1(void 0),[Z,G]=L2(l_),J=Y1({center:_,submit:$});J.current={center:_,submit:$},U2(()=>{let N=Q.current;if(!N)return;let z=f1(N,{center:J.current.center,onState:G,submit:(K)=>J.current.submit(K)});return X.current=z,z.start(),()=>{if(z.dispose(),X.current===z)X.current=void 0}},[]);let V=x1(Z);return c("div",{className:"cortex-location-input",children:[c("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(q4,{})})]}),c("div",{className:"cortex-location-input__foot",children:[Z.position&&!Z.deliveryFailed?C("span",{className:"cortex-location-input__coords",children:d_(Z.position)}):c("span",{className:F("cortex-location-input__hint",V.failed&&"cortex-location-input__hint--failed"),children:[Z.locating&&C("span",{className:"cortex-location-input__spinner"}),Y(V.key)]}),c("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 B4({position:_}){let{t:$}=L(),Y=Y1(null),[Q,X]=L2(!1),{lat:Z,lng:G}=_;return U2(()=>{let J=Y.current;if(!J)return;return X(!1),j1(J,{lat:Z,lng:G},()=>X(!0))},[Z,G]),c("div",{className:"cortex-location-input cortex-location-input--settled",children:[c("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")})]}),c("div",{className:"cortex-location-input__body",children:[c("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:d_(_)})]})]})}function q4(){return c("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 y,jsxs as x_}from"react/jsx-runtime";var F4=new Map([[p_,O2]]);function A2({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)?F4.get($.name):void 0);return y("div",{className:"cortex-tool-call-animated",children:J?y(J,{toolCallPart:$,message:_,setOutput:(V)=>X($.id,$.name,V)}):Z?y(U4,{toolCallPart:$}):y(E2,{toolCallPart:$,asking:G})})}function U4({toolCallPart:_}){let{api:$,t:Y,addToolResult:Q,selectedThread:X,config:Z}=L(),G=X?.id,[J,V]=P2({phase:"initiating"}),[N]=P2(Z.trustSameOriginEmbeds),z=L0(void 0),K=L0({api:$,addToolResult:Q,toolName:_.name});if(K.current={api:$,addToolResult:Q,toolName:_.name},M2(()=>{if(!G)return;let D=T1({initiate:()=>K.current.api.initiateToolCall(G,_.id),onState:V,submit:(O)=>K.current.addToolResult(_.id,K.current.toolName,O)});z.current=D,D.start();let H=(O)=>D.handleMessage(O);return window.addEventListener("message",H),()=>{if(window.removeEventListener("message",H),D.dispose(),z.current===D)z.current=void 0}},[_.id,G]),!G||J.phase==="unavailable"||J.phase==="settling")return y(E2,{toolCallPart:_,asking:!1});let U=x_("div",{className:"cortex-client-tool-embed",children:[x_("div",{className:"cortex-client-tool-embed__bar",children:[y("span",{children:Y("translate_client_tool_title")}),y("button",{type:"button",className:"cortex-client-tool-embed__cancel",onClick:()=>z.current?.cancel(),children:Y("translate_client_tool_cancel")})]}),J.phase==="embedded"?y("iframe",{className:"cortex-client-tool-embed__frame",src:J.embedUrl,sandbox:C1(J.embedUrl,window.location.origin,N),title:Y("translate_client_tool_title"),ref:(D)=>z.current?.setSource(D?.contentWindow),onLoad:(D)=>{if(!S1(J.embedUrl,window.location.origin,N)&&b1(D.currentTarget,window.location.origin))z.current?.terminate()}}):J.phase==="error"?x_("div",{className:"cortex-client-tool-embed__status",children:[y("span",{children:Y("translate_client_tool_failed")}),y("button",{type:"button",className:"cortex-client-tool-embed__retry",onClick:()=>void z.current?.start(),children:Y("translate_client_tool_retry")})]}):y("div",{className:"cortex-client-tool-embed__status",children:Y("translate_client_tool_loading")})]});return J.phase==="embedded"&&J.surface==="modal"?y(L4,{label:Y("translate_client_tool_title"),onCancel:()=>z.current?.cancel(),children:U}):U}function L4({label:_,onCancel:$,children:Y}){let Q=L0(null);return M2(()=>{let X=Q.current;return X?.showModal(),()=>X?.close()},[]),y("dialog",{ref:Q,className:"cortex-client-tool-embed-dialog","aria-label":_,onCancel:(X)=>{X.preventDefault(),$()},children:Y})}function E2({toolCallPart:_,asking:$}){return r(_).gated?y(F2,{toolCallPart:_,asking:$}):y(O4,{toolCallPart:_})}function O4({toolCallPart:_}){let{t:$}=L(),{state:Y,active:Q,titleKey:X,statement:Z,rowCount:G}=r(_);return x_("div",{className:"cortex-tool-pill",children:[x_("span",{className:"cortex-tool-pill__icon",children:[y("span",{className:F("cortex-tool-pill__spinner",Q&&"cortex-tool-pill__spinner--visible")}),y("svg",{className:F("cortex-tool-pill__svg","cortex-tool-pill__svg--check",Y==="complete"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:y("path",{d:"M5.5 10.5 L8.5 13.5 L14.5 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),y("svg",{className:F("cortex-tool-pill__svg","cortex-tool-pill__svg--error",Y==="error"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:y("path",{d:"M6.5 6.5 L13.5 13.5 M13.5 6.5 L6.5 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})]}),y("span",{className:F("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&&y("span",{className:"cortex-tool-pill__meta",children:$("translate_rows_read",{count:G})})]})}import{jsx as O0}from"react/jsx-runtime";function k2({message:_,toolCallPart:$,agentWorking:Y}){if(!f($.state)&&!r($).statement){if($.name==="queryGraph")return O0(N_,{activity:"graph"});if($.name==="executeCode")return O0(N_,{activity:"code"})}return O0(A2,{toolCallPart:$,message:_,agentWorking:Y})}import{jsx as A_,jsxs as P4}from"react/jsx-runtime";function R2(_){let{message:$,part:Y,debugMode:Q,animate:X,streaming:Z,agentWorking:G,attachments:J}=_,{t:V}=L();function N(){switch(Y.type){case"text":return A_(z2,{textPart:Y,role:$.role,streaming:Z,attachments:J});case"thinking":return Q?A_(Y2,{reasoningPart:Y,streaming:Z}):A_(N_,{activity:"reasoning",className:"cortex-reasoning-animated"});case"tool-call":return Q?A_(D2,{toolCallPart:Y}):A_(k2,{toolCallPart:Y,message:$,agentWorking:G});default:return P4("p",{className:"cortex-unhandled-type",children:[V("translate_unhandled_type")," ",Y.type]})}}return A_("div",{className:F("cortex-message-part",X&&"cortex-message-part--animated",_.folded&&"cortex-message-part--folded"),"data-cortex-frontier":_.frontier?"":void 0,children:N()})}import{jsx as e,jsxs as P0}from"react/jsx-runtime";function A4({isUser:_,clipboardText:$,createdAt:Y}){let{locale:Q}=L();return P0("div",{className:F("cortex-message-actions",_&&"cortex-message-actions--user"),children:[$&&e(x,{value:$}),Y&&e("time",{className:"cortex-message-actions__time",dateTime:Y,children:o(Y,Q)})]})}function E4({count:_,animate:$,onOpen:Y}){let{t:Q}=L();return e("button",{type:"button",className:F("cortex-tool-fold",$&&"cortex-message-part--animated"),onClick:Y,children:Q(I_(_,"translate_one_more_step","translate_n_more_steps"),{count:_})})}function I2(_){let{message:$,parts:Y,metadata:Q,debugMode:X,animate:Z,isStreaming:G,agentWorking:J,closesTurn:V,fold:N,onOpenRun:z,frontier:K}=_,U=$.role==="assistant",D=$.role==="user",H=G?Y.length-1:-1,O=Q?.attachments??[],P=Y.filter((R)=>N?.get(R)?.kind!=="hidden"),q=P.filter((R)=>R.type==="text").at(-1),B=q?Y.indexOf(q):-1,W=(D||U)&&!G&&B>=0,M=q!==P.at(-1)?B:-1,A=W&&e(A4,{isUser:D,clipboardText:M1(Y),createdAt:Q?.createdAt});return P0("div",{className:"cortex-message-parts",children:[Y.map((R,n)=>{let G_=N?.get(R);return P0(M4,{children:[e(R2,{part:R,message:$,debugMode:X,animate:Z,streaming:n===H,agentWorking:J,attachments:O,frontier:R===K,folded:G_?.kind==="hidden"}),G_?.kind==="more"&&e(E4,{count:G_.count,animate:Z,onOpen:()=>z(G_.runId)}),n===M&&A]},$.parts.indexOf(R))}),O.length>0&&e(i6,{attachments:O,isUser:D}),Q?.isAborted&&e(d6,{}),M===-1&&A,X&&Q&&V&&e($2,{messageId:$.id,isAssistant:U,metadata:Q})]})}import{jsx as K_,jsxs as M0}from"react/jsx-runtime";function y2({firing:_,debugMode:$}){let{t:Y,locale:Q}=L();return M0("div",{className:F("cortex-trigger-block",$&&"cortex-trigger-block--debug"),children:[M0("div",{className:"cortex-trigger-block__head",children:[K_("svg",{className:"cortex-trigger-block__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:K_("path",{d:"M6.75 1 2.5 6.75h3l-.25 4.25L9.5 5.25h-3z",fill:"currentColor"})}),$&&K_("span",{children:Y("translate_trigger_fired")}),K_("span",{className:"cortex-trigger-block__name",children:_.name}),K_("time",{className:"cortex-trigger-block__time",dateTime:_.firedAt,children:o(_.firedAt,Q)})]}),$&&M0("details",{className:"cortex-trigger-block__payload",children:[K_("summary",{children:Y("translate_trigger_payload")}),K_(Q_,{data:_.payload,expandDepth:2})]})]})}import{jsx as h_}from"react/jsx-runtime";var w2=k4(function($){let{message:Y,metadata:Q,isStreaming:X,agentWorking:Z,closesTurn:G,debugMode:J,animate:V,fold:N,onOpenRun:z,workingTurn:K,frontier:U}=$,D=H_(Y.parts,{debugMode:J,isStreaming:X});if(Q?.trigger)return h_("div",{className:"cortex-message",children:h_(y2,{firing:Q.trigger,debugMode:J})});if(D.length===0&&!Q?.attachments?.length)return h_("div",{className:"cortex-message"});return h_("div",{className:F("cortex-message",K&&"cortex-message--working-turn"),children:h_(I2,{message:Y,parts:D,metadata:Q,debugMode:J,animate:V,isStreaming:X,agentWorking:Z,closesTurn:G,fold:N,onOpenRun:z,frontier:U})})});import{jsx as Q1}from"react/jsx-runtime";var R4=[{role:"user",lines:[13,9]},{role:"assistant",lines:[16,18,12]},{role:"user",lines:[11]},{role:"assistant",lines:[14,15]}];function C2(){return Q1("div",{className:"cortex-widget__messages-skeleton",children:R4.map((_,$)=>Q1("div",{className:`cortex-widget__msg-skel cortex-widget__msg-skel--${_.role}`,children:Q1("div",{className:`cortex-widget__msg-skel-bubble cortex-widget__msg-skel-bubble--${_.role}`,children:_.lines.map((Y)=>Q1("div",{className:"cortex-skeleton cortex-widget__msg-skel-line",style:{width:`${Y}rem`}},Y))})},$))})}import{jsx as p,jsxs as X1,Fragment as b4}from"react/jsx-runtime";function y4(_){let $=W_(null),Y=W_(null),Q=W_(!0),X=W_(!0),Z=W_(!1),G=u_(()=>{if(Z.current)return;Z.current=!0,queueMicrotask(()=>{Z.current=!1;let z=$.current;if(!z)return;o_(z),X.current=!0,Q.current=!1})},[]);A0(()=>{let z=Y.current;if(!_||!$.current||!z)return;if(G(),typeof ResizeObserver>"u")return;let K=0,U=new ResizeObserver(([D])=>{let H=D?.contentRect.height??0,O=H>K;if(K=H,O&&(Q.current||X.current))G()});return U.observe(z),()=>U.disconnect()},[_,G]);let J=u_(()=>{Q.current=!0},[]),V=u_(()=>{if(Q.current)G()},[G]);function N(){let z=$.current;if(z)X.current=N0(z)<100}return{containerRef:$,contentRef:Y,onScroll:N,pin:J,settlePinned:V}}function w4({pin:_,settlePinned:$,contentRef:Y},Q,X){let[Z,G]=k0(!1);A0(()=>{G(!1),_(),queueMicrotask(()=>G(!0))},[Q,_]);let J=X[X.length-1],V=J?.role==="user"?J.id:void 0,N=V?J?.parts.find((z)=>z.type==="text")?.content:void 0;return E0(()=>{if(!V)return;_();let z=Y.current;if(z&&N!==void 0)V0(z,N)},[V,N,_,Y]),A0(()=>{$()},[X,$]),Z}function C4(_,$,Y,Q){let[X,Z]=k0(new Set),G=u_((N)=>Z((z)=>new Set(z).add(N)),[]),[J]=k0(k1);return{folds:I4(()=>J(_,{agentWorking:$,debugMode:Y,opened:X,foldable:Q}),[J,_,$,Y,X,Q]),openRun:G}}function S4({working:_}){let $=W_(null),Y=W_(void 0);return E0(()=>{let Q=$.current;if(!Q)return;let X=z0(Q);return Y.current=X,()=>{X.dispose(),Y.current=void 0}},[]),E0(()=>Y.current?.sync(_)),X1("div",{ref:$,className:"cortex-working-avatar","aria-hidden":"true",children:[X1("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[p("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"}),p("path",{d:"M20 3v4M22 5h-4M4 17v2M5 18H3"})]}),p("span",{className:"cortex-working-avatar__ring"})]})}function S2(_){let{config:$,selectedThread:Y}=L(),{messages:Q,isAgentWorking:X,isLoadingMessages:Z,hasPendingToolCalls:G}=q_(),{capabilities:J,composerRef:V,debugMode:N}=_,z=!Z||X,K=y4(z),U=w4(K,Y?.id,Q),D=X?R_(Q)?.id:void 0,H=$.toolComponents,O=u_((A)=>A1(A,H),[H]),{folds:P,openRun:q}=C4(Q,X,N,O),B=Q.map((A)=>A.role).lastIndexOf("user"),W=X&&!N,M=W?E1(Q,{foldable:O}):void 0;return X1(b4,{children:[!z?p(C2,{}):p("div",{className:_.className,children:p("div",{ref:K.containerRef,className:"cortex-message-list",onScroll:K.onScroll,children:X1("div",{ref:K.contentRef,className:"cortex-message-list__content",children:[Q.map((A,R)=>p(w2,{message:A,metadata:A.metadata,isStreaming:A.id===D,agentWorking:X,fold:P.get(A.id),onOpenRun:q,closesTurn:A.role==="assistant"&&Q[R+1]?.role!=="assistant",debugMode:N,animate:U,workingTurn:W&&R>B,frontier:A.id===D?M:void 0},A.id)),X&&!M&&p("div",{className:"cortex-working-thinking","data-cortex-frontier":"",children:p(N_,{activity:"reasoning"})}),p(S4,{working:X},Y?.id)]})})}),!G&&p(a_,{capabilities:J,composerRef:V})]})}import{jsx as Z1,jsxs as T4}from"react/jsx-runtime";function b2(_){let{debugMode:$,selectedThread:Y}=L(),{screens:Q}=_;return T4("div",{className:F("cortex-widget__screen",Q.screen==="chat"&&"cortex-widget__screen--active",Q.screen!=="chat"&&"cortex-widget__screen--right"),children:[_.header??Z1(T6,{onToggleSidebar:Q.toggleSidebar,onToggleDebug:_.onToggleDebug,onNewChat:_.onNewChat,onOpenHistory:Q.openHistory}),Y?Z1(S2,{className:"cortex-widget__messages",debugMode:$,capabilities:_.capabilities,composerRef:_.composerRef}):Z1(p6,{onThreadSelected:_.onThreadSelected}),Z1("div",{className:"cortex-widget__sidebar-backdrop",onClick:Q.closeSidebar})]})}import{useState as m4}from"react";import{useEffect as R0,useRef as j2,useState as I0}from"react";import{useChat as g4}from"@tanstack/ai-react";import{useEffect as v4,useLayoutEffect as f4,useState as j4}from"react";function T2(_,{sessionRef:$,pendingSendRef:Y}){let[Q]=j4(_);return f4(()=>{return $.current=Q,()=>{if($.current===Q)$.current=void 0}},[Q,$]),v4(()=>{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 v2}from"react";function f2(_){let $=v2(_);$.current=_;let Y=v2(Promise.resolve(void 0));async function Q(X){let Z=$.current;if(!Z.isAlive()||X!==Z.threadId)return;return I1({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 g2(_){let{thread:$,api:Y}=_,Q=j2(!0),[X,Z]=I0(!1),G=j2(null),J=f2({api:Y,threadId:$.id,isAlive:()=>Q.current,isStreaming:()=>G.current.chat.isLoading,setMessages:(B)=>G.current.chat.setMessages(B)}),[V]=I0(()=>K0({threadId:$.id,isAlive:()=>Q.current,onToolCall:()=>G.current.props.configRef.current.hooks?.onToolCall,deliver:(B)=>G.current.chat.addToolResult(B),setRunning:(B)=>G.current.props.setRunning($.id,B),reloadThreads:()=>G.current.props.reloadThreads(),refreshMessages:()=>J($.id),onTurnFinished:()=>G.current.props.onTurnFinished(),onSendFailed:()=>G.current.props.onSendFailed()})),[N]=I0(()=>R1({api:Y,thread:{id:$.id,isRunning:$.isRunning},mode:_.mode,localMessages:()=>G.current.chat.messages,onHydrated:(B)=>{if(Q.current)V.hydrated(B,$.isRunning)},onTranscriptCarried:(B)=>{if(Q.current)V.transcriptCarried(B)},setLoadingMessages:(B)=>{if(Q.current)Z(B)}})),z=g4({threadId:$.id,persistence:!0,initialMessages:_.initialMessages,connection:N,onChunk:()=>{if(Q.current)V.chunkArrived()},onError:()=>{if(Q.current)V.streamFailed()}});G.current={chat:z,props:_};async function K(B,W){V.sendStarted();let M={id:y_(),role:"user",parts:[{type:"text",content:B}],metadata:{createdAt:new Date().toISOString(),attachments:W}};await G.current.chat.append(M)}async function U(){if(!G.current.chat.isLoading)return;let{aborted:B}=await Y.abortStream($.id).catch(()=>({aborted:!1}));if(!Q.current)return;if(B)V.abortConfirmed();G.current.chat.stop()}function D(B,W,M){return G.current.chat.addToolResult({toolCallId:B,tool:W,output:M}).catch((A)=>{throw J($.id),A})}function H(B,W){return v1(G.current.chat,B,W)}function O(B){if(G.current.chat.isLoading)return;if(B.isRunning){G.current.props.remount(B,G.current.chat.messages);return}J(B.id)}R0(()=>{return Q.current=!0,()=>{Q.current=!1}},[]),T2(()=>({threadId:$.id,send:K,abort:U,addToolResult:D,respondToApproval:H,reattach:O,transcriptUpdated:(B,W)=>{if(B===$.id)V.transcriptUpdated(W)}}),{sessionRef:_.sessionRef,pendingSendRef:_.pendingSendRef});let{messages:P,isLoading:q}=z;return R0(()=>{V.loadingChanged(q,()=>G.current.chat.messages)},[V,q]),R0(()=>{G.current.props.publish({messages:P,isAgentWorking:q,isLoadingMessages:X,hasPendingToolCalls:!q&&__(P).length>0})},[P,q,X]),null}import{jsx as x4,jsxs as h4}from"react/jsx-runtime";function m2({selection:_,threads:$,children:Y,...Q}){let{session:X}=_,[Z,G]=m4(),J=X&&`${X.thread.id}:${X.epoch}`,V=X&&Z&&(Z.key===J||X.mode==="reload")?Z.value:D0;return h4(H0.Provider,{value:V,children:[X&&J&&x4(g2,{thread:X.thread,mode:X.mode,initialMessages:X.initialMessages,setRunning:$.setRunning,reloadThreads:$.reload,remount:_.remount,publish:(N)=>G({key:J,value:N}),...Q},J),Y]})}import{useSyncExternalStore as u4}from"react";function x2(_){return u4(($)=>{let Y=window.matchMedia(_);return Y.addEventListener("change",$),()=>Y.removeEventListener("change",$)},()=>window.matchMedia(_).matches,()=>!1)}import{jsx as E,jsxs as d,Fragment as c4}from"react/jsx-runtime";function h2(_){let{locale:$,t:Y,threads:Q,selectedThread:X,deleteThread:Z}=L(),G=Q?.length??0;return d("div",{className:_.className,"aria-hidden":_.hidden||void 0,inert:_.hidden||void 0,children:[_.header??d("div",{className:"cortex-widget__threads-header",children:[E("button",{type:"button",onClick:()=>_.onBackRequested(),"aria-label":Y("translate_back"),className:"cortex-widget__header-btn cortex-widget__back-btn",children:E("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"cortex-widget__back-icon",children:E("path",{d:"M10 3L5 8l5 5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),d("div",{children:[E("h2",{className:"cortex-widget__threads-title",children:Y("translate_history")}),E("p",{className:"cortex-widget__threads-count",children:Y(I_(G,"translate_one_conversation","translate_n_conversations"),{count:G})})]}),E("button",{type:"button",onClick:()=>_.onNewChatRequested(),"aria-label":Y("translate_new_chat"),title:Y("translate_new_chat"),className:"cortex-widget__header-btn cortex-widget__new-btn",children:E("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:E("path",{d:"M8 3v10M3 8h10",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})})]}),E("div",{className:"cortex-widget__threads-list",children:Q===void 0?[1,2,3,4].map((J)=>d("div",{className:"cortex-widget__thread-skeleton",children:[E("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-icon"}),E("div",{className:"cortex-widget__thread-skeleton-lines",children:E("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-line",style:{width:`${40+J*12}%`}})})]},J)):d(c4,{children:[Q.map((J)=>{let V=J.id===X?.id,N=o(J.updatedAt,$);return d("button",{onClick:()=>_.onThreadSelected(J),className:F("cortex-widget__thread-item",V&&"cortex-widget__thread-item--active"),children:[E("div",{className:F("cortex-widget__thread-icon",V&&"cortex-widget__thread-icon--active"),children:E("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:E("path",{d:S.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),d("div",{className:"cortex-widget__thread-info",children:[d("div",{className:"cortex-widget__thread-title-row",children:[E("p",{className:F("cortex-widget__thread-title",V&&"cortex-widget__thread-title--active"),children:J.title??Y("translate_untitled")}),J.isRunning&&d("span",{className:F("cortex-widget__thread-running",V&&"cortex-widget__thread-running--active"),children:[E("span",{className:"cortex-widget__thread-running-dot"}),Y("translate_running")]})]}),N&&E("p",{className:"cortex-widget__thread-time",children:N})]}),E("span",{role:"button",tabIndex:0,onClick:(z)=>{z.stopPropagation(),Z(J.id)},onKeyDown:(z)=>{if(z.key!=="Enter"&&z.key!==" ")return;z.preventDefault(),z.stopPropagation(),Z(J.id)},className:F("cortex-widget__thread-delete",V&&"cortex-widget__thread-delete--active"),children:E("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",children:E("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})})}),E("svg",{className:F("cortex-widget__thread-arrow",V&&"cortex-widget__thread-arrow--active"),width:"10",height:"10",viewBox:"0 0 16 16",fill:"none",children:E("path",{d:"M6 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},J.id)}),!Q.length&&d("div",{className:"cortex-widget__threads-empty",children:[E("div",{className:"cortex-widget__threads-empty-icon",children:E("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__threads-empty-svg",children:E("path",{d:S.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),E("p",{className:"cortex-widget__threads-empty-title",children:Y("translate_no_threads_yet")}),E("p",{className:"cortex-widget__threads-empty-subtitle",children:Y("translate_start_a_new_conversation")}),E("button",{onClick:()=>_.onNewChatRequested(),className:"cortex-widget__new-chat-btn cortex-widget__new-chat-btn--empty-state",children:Y("translate_new_chat")})]})]})})]})}import{jsx as c2,jsxs as l4}from"react/jsx-runtime";var p4="(max-width: 768px)";function u2(_){_.preventDefault()}function p2(_){let{screens:$}=_,Y=x2(p4),Q=_.viewMode==="full"?Y&&!$.sidebarOpen:$.screen!=="threads";return c2("div",{className:F("cortex-widget",_.className),"data-cortex-theme":_.theme,children:l4("div",{className:F("cortex-widget__container",_.viewMode==="full"&&"cortex-widget__container--full",$.sidebarOpen&&"cortex-widget__container--sidebar-open"),onDragOver:u2,onDrop:u2,children:[c2(h2,{className:F("cortex-widget__screen",$.screen==="threads"&&"cortex-widget__screen--active",$.screen!=="threads"&&"cortex-widget__screen--left"),hidden:Q,header:_.header,onThreadSelected:_.onThreadSelected,onNewChatRequested:_.onNewChat,onBackRequested:$.closeHistory}),_.children]})})}import{jsx as c_}from"react/jsx-runtime";function n4(_){let{isAgentWorking:$}=q_();return _.render({..._.context,isWorking:$})}function i4({config:_,className:$,renderHeader:Y}){let Q=l2(_);Q.current=_;let[X]=G1(()=>B1(()=>Q.current.transport)),Z=w6(X),[G,J]=G1(!1),[V,N]=G1();d4(()=>$0(_.theme,N),[_.theme]);let z=_.viewMode??"helper",K=S6(z),[U,D]=G1(0),H=L6(X,U),O=l2(null),P=k6({api:X,threads:Z,getHooks:()=>Q.current.hooks}),{sessionRef:q,selection:B,queue:W,send:M,pendingSendRef:A}=P,{selected:R,selectedRef:n}=B,G_=I6({threads:Z,selectedRef:n,sessionRef:q,deselect:B.deselect,onReconnect:()=>D((i)=>i+1)});R6({getConfig:()=>Q.current,onEvent:G_.onEvent,onMount:()=>void Z.reload(),onReconnect:G_.onReconnect});let J1=q1(_.locale),d2={config:_,locale:J1,t:(i,N1)=>D_(J1,i,N1),api:X,debugMode:G,scheme:V,capabilities:H,threads:Z.threads,selectedThread:R,deleteThread:P.deleteThread,send:M,...y6(q),queue:W.value};function n2(){W.store.discardConsumed(),setTimeout(()=>O.current?.focusInput())}function i2(){W.store.restoreConsumed(n.current?.id)}function y0(i){P.openThread(i),K.showChat()}function V1(){B.deselect(),K.showChat()}function w0(){J((i)=>!i)}function C0(i){if(!Y)return;let N1={screen:i,viewMode:z,title:R?.title??null,agentName:$_(_.agentName,J1),debug:{shown:Boolean(_.showDebugButton),on:G},newChat:V1,openHistory:K.openHistory,closeHistory:K.closeHistory,toggleDebug:w0};return c_(n4,{render:Y,context:N1})}return c_(W0.Provider,{value:d2,children:c_(m2,{selection:B,threads:Z,api:X,configRef:Q,sessionRef:q,pendingSendRef:A,onTurnFinished:n2,onSendFailed:i2,children:c_(p2,{className:$,theme:_.theme,viewMode:z,screens:K,header:C0("threads"),onThreadSelected:y0,onNewChat:V1,children:c_(b2,{screens:K,capabilities:H,composerRef:O,header:C0("chat"),onToggleDebug:w0,onNewChat:V1,onThreadSelected:y0})})})})}export{i4 as CortexChatWidget};