@m6d/cortex-react 0.13.0 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,14 +1,13 @@
1
- var I5=Object.create;var{getPrototypeOf:y5,defineProperty:Q6,getOwnPropertyNames:S5}=Object;var C5=Object.prototype.hasOwnProperty;var M_=(_,$,Z)=>{Z=_!=null?I5(y5(_)):{};let Q=$||!_||!_.__esModule?Q6(Z,"default",{value:_,enumerable:!0}):Z;for(let X of S5(_))if(!C5.call(Q,X))Q6(Q,X,{get:()=>_[X],enumerable:!0});return Q};var A_=((_)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(_,{get:($,Z)=>(typeof require<"u"?require:$)[Z]}):_)(function(_){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+_+'" is not supported')});import{useEffect as h3,useRef as E5,useState as k1}from"react";var S1=["en","ar"];var x_=["image/png","image/jpeg","image/webp","application/pdf"],X6=10485760;var C1=5;function J6(_){if(!x_.some(($)=>$===_.type))return"type";if(_.size>10485760)return"size";if(_.name.length>255)return"name";return"ok"}var Y6=["executeCode","queryDataset","describeDataset"],b1="approvalTitle";function G1(_){return _.metadata?.cortex??void 0}function w1(_){return{..._,role:_.role==="trigger"?"user":_.role}}var G6="clientToolAnswers";function V6(_){return _.approval?.id??`approval_${_.id}`}var T1="X-Cortex-Timezone";function v1(_){let $=_.getHeaders();return $ instanceof Promise?$.then(z6):Promise.resolve(z6($))}function z6(_){let $={..._},Z=b5(),Q=Object.keys($).some((X)=>X.toLowerCase()===T1.toLowerCase());if(Z&&!Q)$[T1]=Z;return $}function b5(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function w5(_,$){let Z=_.baseUrl;return(typeof Z==="string"?Z:Z()).replace(/\/$/,"")+$}function T5(_){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 j1(_){function $(){return v1(_())}function Z(X){return w5(_(),X)}async function Q(X,J){let Y=new Headers(await $());if(new Headers(J?.headers).forEach((V,K)=>{Y.set(K,V)}),J?.body instanceof FormData)Y.delete("Content-Type");else if(!Y.has("Content-Type"))Y.set("Content-Type","application/json");let G=await fetch(Z(X),{...J,headers:Y});if(!G.ok)throw Error(`HTTP ${G.status}: ${G.statusText}`);let z=await G.text();return z?JSON.parse(z):void 0}return{getCapabilities(){return Q("/capabilities")},listThreads(){return Q("/threads")},createThread(){let X=_().threadBody;return Q("/threads",{method:"POST",...X&&{body:JSON.stringify(X)}})},deleteThread(X){return Q(`/threads/${X}`,{method:"DELETE"})},listMessages(X){return Q(`/threads/${X}/messages`)},listLlmRequests(X,J){return Q(`/threads/${X}/messages/${J}/llm-requests`)},abortStream(X){return Q(`/chat/${X}/abort`,{method:"POST"})},initiateToolCall(X,J){return Q(`/chat/${X}/tools/${J}/initiate`,{method:"POST"})},uploadAttachment(X,J){let Y=new FormData;return Y.append("file",J),Q(`/threads/${X}/files`,{method:"POST",body:Y})},deleteAttachment(X){return Q(`/files/${X}`,{method:"DELETE"})},async downloadAttachment(X){let J=await fetch(Z(`/files/${X}`),{headers:await $()});if(!J.ok)throw Error(`HTTP ${J.status}: ${J.statusText}`);return{blob:await J.blob(),name:T5(J.headers.get("Content-Disposition"))??X}},resolveHeaders:$,resolveUrl:Z}}function E_(_,$){if(_===void 0||typeof _==="string"||Array.isArray(_))return _;let Z=_;return Z[$]??Z.en??Object.values(Z)[0]}var K6={translate_history:"السجل",translate_back:"رجوع",translate_greeting:"بماذا يمكنني مساعدتك اليوم؟",translate_conversations:{zero:"لا محادثات",one:"محادثة واحدة",two:"محادثتان",few:"{{count}} محادثات",many:"{{count}} محادثة",other:"{{count}} محادثة"},translate_no_threads_yet:"لا توجد محادثات بعد",translate_start_a_new_conversation:"ابدأ محادثة جديدة",translate_untitled:"بدون عنوان",translate_new_chat:"محادثة جديدة",translate_normal:"عادي",translate_debug:"تصحيح",translate_type_a_message:"اكتب رسالة...",translate_completed:"مكتمل",translate_attach_files:"إرفاق ملفات",translate_drop_files_here:"أفلت ملفاتك هنا...",translate_remove_attachment:"إزالة المرفق",translate_attachment_rejected:"لا يمكن إرفاق هذا الملف",translate_attachment_rejected_type:"يمكن إرفاق ملفات {{types}} فقط",translate_attachment_rejected_size:"الحد الأقصى لحجم الملف {{size}} ميغابايت",translate_attachment_rejected_name:"اسم الملف طويل جدًا",translate_attachment_rejected_count:{zero:"لا يمكن إرفاق ملفات بالرسالة",one:"يمكن إرفاق ملف واحد كحد أقصى لكل رسالة",two:"يمكن إرفاق ملفين كحد أقصى لكل رسالة",few:"يمكن إرفاق {{count}} ملفات كحد أقصى لكل رسالة",many:"يمكن إرفاق {{count}} ملفًا كحد أقصى لكل رسالة",other:"يمكن إرفاق {{count}} ملف كحد أقصى لكل رسالة"},translate_attachment_caption:"من فضلك اطّلع على الملفات المرفقة.",translate_download:"تنزيل",translate_tool_status:"جارٍ تنفيذ خطوة…",translate_tool_done:"اكتملت الخطوة",translate_tool_cancelled:"أُلغيت الخطوة",translate_rows:{zero:"لا صفوف",one:"صف واحد",two:"صفان",few:"{{count}} صفوف",many:"{{count}} صفًا",other:"{{count}} صف"},translate_more_steps:{zero:"ولا خطوات أخرى",one:"وخطوة أخرى",two:"وخطوتان أخريان",few:"و{{count}} خطوات أخرى",many:"و{{count}} خطوة أخرى",other:"و{{count}} خطوة أخرى"},translate_tool_error:"حدث خطأ",translate_attachment_status:"جارٍ قراءة الملف المرفق…",translate_attachment_done:"تمت قراءة الملف المرفق",translate_code_0:"جارٍ حساب الأرقام...",translate_code_1:"جارٍ معالجة البيانات...",translate_code_2:"جارٍ تنفيذ طلبك...",translate_code_3:"جارٍ تحليل الأرقام...",translate_code_4:"جارٍ تجميع كل شيء...",translate_code_5:"جارٍ تحليل النتائج...",translate_code_6:"جارٍ العمل خلف الكواليس...",translate_code_7:"جارٍ ترتيب التفاصيل...",translate_code_8:"جارٍ تحضير إجابتك...",translate_code_9:"أوشك على الانتهاء...",translate_reasoning_0:"جارٍ التفكير...",translate_reasoning_1:"جارٍ دراسة الخيارات...",translate_reasoning_2:"جارٍ تقييم الاحتمالات...",translate_reasoning_3:"جارٍ التأمل في هذا...",translate_reasoning_4:"جارٍ إيجاد الحل...",translate_reasoning_5:"جارٍ ترتيب الأفكار...",translate_reasoning_6:"جارٍ التمعن في الأمر...",translate_reasoning_7:"جارٍ إيجاد أفضل طريقة...",translate_reasoning_8:"جارٍ تنظيم أفكاري...",translate_reasoning_9:"أوشك على الانتهاء...",translate_running:"قيد التنفيذ",translate_aborted:"تم الإلغاء",translate_input:"المدخلات",translate_output:"المخرجات",translate_calling:"جارٍ الاستدعاء",translate_input_ready:"المدخلات جاهزة",translate_needs_approval:"بحاجة إلى موافقة",translate_approved:"تمت الموافقة",translate_responded:"تم الرد",translate_declined:"تم الرفض",translate_approve:"موافقة",translate_deny:"رفض",translate_error:"خطأ",translate_approval_pending:"وافق على الطلب أعلاه أو ارفضه أولًا.",translate_approval_requested:"طلب موافقة",translate_approval_response:"رد الموافقة",translate_waiting_for_approval:"في انتظار الموافقة لتنفيذ هذه الأداة.",translate_tool_approved:"تمت الموافقة.",translate_tool_response_received:"تم استلام الرد.",translate_tokens:"رمز",translate_fresh:"جديد",translate_cache_read:"قراءة من الذاكرة",translate_cache_write:"كتابة في الذاكرة",translate_n_percent_cached:"{{percent}}٪ مخزّن مؤقتًا",translate_text:"نص",translate_reasoning:"الاستنتاج",translate_read:"قراءة",translate_write:"كتابة",translate_total:"الإجمالي",translate_request:"الطلب",translate_response:"الرد",translate_step_n:"الخطوة {{number}}",translate_inspect_llm_requests:"فحص طلبات النموذج",translate_loading:"جارٍ التحميل…",translate_no_llm_requests:"لا توجد طلبات نموذج مسجّلة لهذه الرسالة.",translate_unhandled_type:"نوع غير مدعوم:",translate_client_tool_title:"أكمل هذه الخطوة للمتابعة",translate_client_tool_loading:"جارٍ تجهيز خطوة آمنة...",translate_client_tool_failed:"تعذّر تحميل هذه الخطوة",translate_client_tool_retry:"حاول مرة أخرى",translate_client_tool_cancel:"إلغاء",translate_location_hint:"انقر على الخريطة لتثبيت الدبوس",translate_location_locate:"استخدم موقعي",translate_location_locating:"جارٍ تحديد موقعك",translate_location_locate_failed:"موقعك غير متاح",translate_location_map_failed:"تعذّر تحميل الخريطة",translate_location_send_failed:"تعذّر الإرسال، حاول مرة أخرى",translate_location_skip:"ليس الآن",translate_location_send:"إرسال",translate_location_shared:"تمت مشاركة الموقع",translate_location_not_shared:"لم تتم مشاركة الموقع",translate_trigger_fired:"تم التشغيل بواسطة",translate_trigger_payload:"الحمولة",translate_messages_disabled:"يعمل هذا الوكيل من مشغّلاته فقط.",translate_access_refused:"لم يقبل هذا الوكيل تسجيل دخولك.",translate_agent_unreachable:"تعذّر الوصول إلى هذا الوكيل الآن. نعيد المحاولة...",translate_agent_missing:"هذا الوكيل غير متاح.",translate_streaming:"جارٍ البث",translate_done:"تم",translate_no_reasoning:"لا يوجد تفكير مسجّل.",translate_copy:"نسخ إلى الحافظة",translate_copied:"تم النسخ",translate_media_pending_mermaid:"جارٍ رسم المخطط",translate_media_pending_vega_lite:"جارٍ رسم الرسم البياني",translate_media_pending_map:"جارٍ رسم الخريطة",translate_media_pending_report:"جارٍ كتابة التقرير",translate_media_cut_off:"انقطع هذا المقطع قبل اكتماله.",translate_media_failed:"تعذر عرض هذا المقطع.",translate_media_source:"المصدر",translate_media_pending:"جارٍ الرسم",translate_media_mermaid:"مخطط",translate_media_vega_lite:"رسم بياني",translate_media_map:"خريطة",translate_media_report:"تقرير",translate_media:"معاينة",translate_image_unavailable:"الصورة غير متاحة",translate_image_unavailable_alt:"الصورة غير متاحة: {{alt}}",translate_image:"صورة",translate_send:"إرسال",translate_stop:"إيقاف",translate_delete_conversation:"حذف المحادثة",translate_table:"جدول",translate_expand:"توسيع {{name}}",translate_table_export:"تصدير إلى Excel",translate_close:"إغلاق",translate_approval_needed:"بحاجة إلى موافقتك",translate_approval_action:"تنفيذ {{tool}}",translate_approved_failed:"تمت الموافقة لكنه فشل",translate_approval_cancelled:"لم يُتخذ قرار"};var W6={translate_history:"History",translate_back:"Back",translate_greeting:"What can I help you with today?",translate_conversations:{one:"1 conversation",other:"{{count}} conversations"},translate_no_threads_yet:"No threads yet",translate_start_a_new_conversation:"Start a new conversation",translate_untitled:"Untitled",translate_new_chat:"New Chat",translate_normal:"Normal",translate_debug:"Debug",translate_type_a_message:"Type a message...",translate_completed:"Completed",translate_attach_files:"Attach files",translate_drop_files_here:"Drop your files here...",translate_remove_attachment:"Remove attachment",translate_attachment_rejected:"This file cannot be attached",translate_attachment_rejected_type:"Only {{types}} files can be attached",translate_attachment_rejected_size:"Files can be up to {{size}} MB",translate_attachment_rejected_name:"The file name is too long",translate_attachment_rejected_count:{one:"Up to 1 file per message",other:"Up to {{count}} files per message"},translate_attachment_caption:"Please take a look at the attached files.",translate_download:"Download",translate_tool_status:"Running a step...",translate_tool_done:"Step completed",translate_tool_cancelled:"Step cancelled",translate_rows:{one:"1 row",other:"{{count}} rows"},translate_more_steps:{one:"and 1 more step",other:"and {{count}} more steps"},translate_tool_error:"Something went wrong",translate_attachment_status:"Reading the attached file...",translate_attachment_done:"Finished reading the file",translate_code_0:"Running the numbers...",translate_code_1:"Working through the data...",translate_code_2:"Processing your request...",translate_code_3:"Crunching the figures...",translate_code_4:"Putting it all together...",translate_code_5:"Analyzing the results...",translate_code_6:"Working behind the scenes...",translate_code_7:"Sorting through the details...",translate_code_8:"Preparing your answer...",translate_code_9:"Almost ready...",translate_reasoning_0:"Thinking it through...",translate_reasoning_1:"Considering the options...",translate_reasoning_2:"Weighing the possibilities...",translate_reasoning_3:"Reflecting on this...",translate_reasoning_4:"Working it out...",translate_reasoning_5:"Putting thoughts together...",translate_reasoning_6:"Mulling it over...",translate_reasoning_7:"Finding the best approach...",translate_reasoning_8:"Organizing my thoughts...",translate_reasoning_9:"Almost there...",translate_running:"Running",translate_aborted:"Aborted",translate_input:"Input",translate_output:"Output",translate_calling:"Calling",translate_input_ready:"Input ready",translate_needs_approval:"Needs approval",translate_approved:"Approved",translate_responded:"Responded",translate_declined:"Declined",translate_approve:"Approve",translate_deny:"Deny",translate_error:"Error",translate_approval_pending:"Approve or deny the request above first.",translate_approval_requested:"Approval requested",translate_approval_response:"Approval response",translate_waiting_for_approval:"Waiting for approval to execute this tool.",translate_tool_approved:"Approved.",translate_tool_response_received:"Response received.",translate_tokens:"tokens",translate_fresh:"Fresh",translate_cache_read:"Cache read",translate_cache_write:"Cache write",translate_n_percent_cached:"{{percent}}% cached",translate_text:"Text",translate_reasoning:"Reasoning",translate_read:"Read",translate_write:"Write",translate_total:"Total",translate_request:"Request",translate_response:"Response",translate_step_n:"Step {{number}}",translate_inspect_llm_requests:"Inspect LLM requests",translate_loading:"loading…",translate_no_llm_requests:"No LLM requests recorded for this message.",translate_unhandled_type:"Unhandled type:",translate_client_tool_title:"Complete this step to continue",translate_client_tool_loading:"Preparing a secure step...",translate_client_tool_failed:"This step could not be loaded",translate_client_tool_retry:"Try again",translate_client_tool_cancel:"Cancel",translate_location_hint:"Tap the map to drop a pin",translate_location_locate:"Use my location",translate_location_locating:"Finding your location",translate_location_locate_failed:"Your location is not available",translate_location_map_failed:"The map could not be loaded",translate_location_send_failed:"Could not send, try again",translate_location_skip:"Not now",translate_location_send:"Send",translate_location_shared:"Location shared",translate_location_not_shared:"Location not shared",translate_trigger_fired:"Triggered by",translate_trigger_payload:"Payload",translate_messages_disabled:"This agent only runs from its triggers.",translate_access_refused:"This agent did not accept your sign-in.",translate_agent_unreachable:"This agent cannot be reached right now. Trying again...",translate_agent_missing:"This agent is not available.",translate_streaming:"Streaming",translate_done:"Done",translate_no_reasoning:"No reasoning provided.",translate_copy:"Copy to clipboard",translate_copied:"Copied",translate_media_pending_mermaid:"Drawing diagram",translate_media_pending_vega_lite:"Drawing chart",translate_media_pending_map:"Drawing map",translate_media_pending_report:"Writing report",translate_media_cut_off:"This block was cut off before it finished.",translate_media_failed:"Could not render this block.",translate_media_source:"Source",translate_media_pending:"Drawing",translate_media_mermaid:"Diagram",translate_media_vega_lite:"Chart",translate_media_map:"Map",translate_media_report:"Report",translate_media:"Preview",translate_image_unavailable:"Image unavailable",translate_image_unavailable_alt:"Image unavailable: {{alt}}",translate_image:"Image",translate_send:"Send",translate_stop:"Stop",translate_delete_conversation:"Delete conversation",translate_table:"Table",translate_expand:"Expand {{name}}",translate_table_export:"Export to Excel",translate_close:"Close",translate_approval_needed:"Needs your approval",translate_approval_action:"Run {{tool}}",translate_approved_failed:"Approved, but it failed",translate_approval_cancelled:"Not decided"};var f5={en:W6,ar:K6};function f1(_){return _&&S1.includes(_)?_:S1[0]}function o(_,$,Z){let Q=f5[_][$],X=typeof Q==="string"?Q:Q[new Intl.PluralRules(_).select(Number(Z?.count))]??Q.other;if(!Z)return X;return X.replace(/\{\{\s*(\w+)\s*\}\}/g,(J,Y)=>(Y in Z)?String(Z[Y]):J)}function g1(_,$,Z){let Q=_!==void 0&&_.messages!==!1;return{greeting:_===void 0?"":E_(_.greeting,$)||o($,"translate_greeting"),suggestions:Q&&E_(_.suggestions,$)||[],send:(X)=>{if(Q)Z(X)}}}var g5=["completed","cancelled","failed"],V1="requestLocation";function N6(_,$,Z){if($!==Z)return null;if(typeof _!=="object"||_===null)return null;let Q=_;if(Q.type!=="cortex:client-tool")return null;let X=g5.find((Y)=>Y===Q.status);if(!X)return null;let J=Q.reference;return{type:"cortex:client-tool",status:X,...typeof J==="string"?{reference:J}:{},...Q.result!==void 0?{result:Q.result}:{}}}var m5=new Set(["complete","error"]);function p(_){return m5.has(_)}function z_(_){return(x5(_)?.parts??[]).filter((Z)=>Z.type==="tool-call"&&!p(Z.state))}function m1(_){for(let $=_.length-1;$>=0;$-=1){let Z=_[$];if(Z?.parts.some((X)=>X.type==="tool-call"&&X.state==="approval-requested"))return!0;if(Z?.role==="user")return!1}return!1}function h_(_){let $=_.at(-1);if($?.role!=="assistant")return;let Z=$.parts.at(-1),Q=Z?.type==="tool-call"||Z?.type==="tool-result",X=$.parts.every((J)=>J.type!=="tool-call"||p(J.state));return Q&&X?void 0:$}function x5(_){for(let $=_.length-1;$>=0;$-=1){let Z=_[$];if(Z?.role==="assistant")return Z}return}var h5={complete:"success",error:"error","approval-requested":"approval","approval-responded":"approval","awaiting-input":"pending","input-streaming":"pending","input-complete":"pending"},u5={"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 x1(_){let{state:$,approval:Z}=_;return{modifier:h5[$],labelKey:Z?.approved===!1?"translate_declined":$==="approval-responded"&&Z?.approved?"translate_approved":u5[$],pulse:$==="awaiting-input"||$==="input-streaming"?"default":$==="approval-requested"?"violet":void 0}}function h1(_){let $=_.output;if($===void 0||$===null)return"";if(typeof $==="string")return $;return JSON.stringify($,null,2)}var H6={code:"javascript"};function u1(_){let $=_&&typeof _==="object"?_:null,Z=$?Object.entries(H6).flatMap(([X,J])=>{let Y=$[X];return typeof Y==="string"?[{key:X,lang:J,value:Y.replace(/\\n/g,`
2
- `)}]:[]}):[],Q=_;if($){let X=Object.fromEntries(Object.entries($).filter(([J])=>!Object.hasOwn(H6,J)));Q=Object.keys(X).length>0?X:null}return{codeSnippets:Z,remainingInput:Q,remainingInputText:Q?JSON.stringify(Q,null,2):""}}var c5=10,p5={"awaiting-input":"starting","input-streaming":"starting","input-complete":"processing","approval-requested":"approval","approval-responded":"processing",complete:"complete",error:"error"};function d5(_){if(!Y6.some((Q)=>Q===_.name))return;let $=_.input;if(!$||typeof $!=="object"||!("status"in $))return;let Z=$.status;return typeof Z==="string"&&Z.trim()?Z.trim():void 0}function l5(_){let $=_.output;if(typeof $==="string")try{$=JSON.parse($)}catch{return}if(!$||typeof $!=="object")return;if("error"in $&&$.error===!0)return"failed";if(!G1(_)?.embed||!("status"in $))return;let Z=$.status;return Z==="failed"||Z==="cancelled"?Z:void 0}function i5(_){let $=_.output;if(!$||typeof $!=="object"||!("rowCount"in $))return;let Z=$.rowCount;return typeof Z==="number"?Z:void 0}function n5(_,$,Z){if(Z==="declined")return"translate_declined";if(Z==="cancelled")return"translate_tool_cancelled";if($==="error")return"translate_tool_error";if($==="approval")return"translate_needs_approval";return`translate_${_.name==="readAttachment"?"attachment":"tool"}_${$==="complete"?"done":"status"}`}function Z_(_){let $=_.approval?.approved===!1?"declined":_.state==="complete"?l5(_):void 0,Z=$?"error":p5[_.state]??"processing";return{state:Z,active:Z==="starting"||Z==="processing",gated:_.approval!==void 0||_.state==="approval-requested",titleKey:n5(_,Z,$),statement:d5(_),rows:Z==="complete"?i5(_):void 0}}function r5(_){let $=_.input;if(!$||typeof $!=="object"||!(b1 in $))return;let Z=$[b1];return typeof Z==="string"&&Z.trim()?Z.trim():void 0}function c1(_,$){let Z=_.approval?.approved,{state:Q}=Z_(_),X=Z===void 0?_.state==="approval-requested"?"pending":"cancelled":!Z?"declined":Q==="error"?"failed":"approved";return{sentence:r5(_)??o($,"translate_approval_action",{tool:o5(_.name)}),decision:X,decisionKey:a5[X]}}var a5={pending:void 0,approved:"translate_approved",declined:"translate_declined",failed:"translate_approved_failed",cancelled:"translate_approval_cancelled"};function o5(_){let $=_.replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/[_\-.]+/g," ").trim().toLowerCase();return $.charAt(0).toUpperCase()+$.slice(1)}function p1(_){return Array.from({length:c5},($,Z)=>`translate_${_}_${Z}`)}function R_(_,$){return _.filter((Z,Q)=>{if(Z.type==="tool-result")return!1;if($.debugMode)return!0;if(Z.type==="text"&&!Z.content.trim())return!1;let X=Q===_.length-1;return Z.type!=="thinking"||$.isStreaming&&X})}function d1(_,$){return _.length>0||Boolean($?.attachments?.length||$?.isAborted)}function l1(_){return _.filter(($)=>$.type==="text").map(($)=>$.content).join(`
3
-
4
- `)}function i1(_,$){if($&&_.name in $)return!1;return _.name!==V1||!p(_.state)}function q6(_,$){if(_.type!=="tool-call")return!0;return!p(_.state)&&!_.approval&&$.foldable(_)}function n1(_,$){let Z=h_(_);if(!Z)return;let Q=R_(Z.parts,{debugMode:!1,isStreaming:!0}),X=Q.at(-1);if(X&&q6(X,$))return X;return Q.filter((J)=>J.type==="tool-call"&&q6(J,$)).at(-1)}function r1(){let _=new Map;return($,Z)=>{let Q=new Map;for(let[X,J]of s5($,Z)){let Y=_.get(X);Q.set(X,Y&&e5(Y,J)?Y:J)}return _=Q,Q}}function s5(_,$){let Z=new Map;if($.debugMode)return Z;let X=$.agentWorking||z_(_).length>0?t5(_):_,J=[];function Y(){let G=J[0]?.part.id;if(J.length>1&&G&&!$.opened.has(G))for(let[z,{messageId:V,part:K}]of J.entries()){let W=Z.get(V)??new Map;Z.set(V,W);let N=z===J.length-1;W.set(K,N?{kind:"more",count:J.length-1,runId:G}:{kind:"hidden"})}J=[]}for(let G of X){if(G.role!=="assistant"){Y();continue}let z=R_(G.parts,{debugMode:!1,isStreaming:!1});for(let V of z)if(V.type==="tool-call"&&p(V.state)&&$.foldable(V))J.push({messageId:G.id,part:V});else Y()}return Y(),Z}function t5(_){let $=_.map((Z)=>Z.role).lastIndexOf("user");return $<0?[]:_.slice(0,$)}function e5(_,$){if(_.size!==$.size)return!1;for(let[Z,Q]of _){let X=$.get(Z);if(!X||X.kind!==Q.kind)return!1;if(Q.kind==="more"&&X.kind==="more"){if(Q.count!==X.count||Q.runId!==X.runId)return!1}}return!0}import{EventType as U6}from"@tanstack/ai";import{fetchServerSentEvents as B6}from"@tanstack/ai-client";function _8(_){for(let $=_.length-1;$>=0;$-=1){let Z=_[$],Q="parts"in Z&&Z.parts.some((X)=>X.type==="tool-result"||X.type==="tool-call"&&X.state==="approval-responded");if(Z.role==="user"||Q)return _.slice($,$+1)}return _.slice(-1)}function $8(_){if(_.state==="approval-responded"){let $=_.approval?.approved;if($===void 0)return null;return{toolCallId:_.id,output:null,state:$?"approved":"denied"}}if(!p(_.state))return null;return{toolCallId:_.id,output:_.output??null,state:_.state==="error"?"error":"complete"}}function Z8(_){let[$]=_;if(!$||$.role!=="assistant"||!("parts"in $))return null;let Z=$.parts.flatMap((Q)=>{let X=Q.type==="tool-call"?$8(Q):null;return X?[X]:[]});return Z.length>0?Z:null}async function Q8(_){if(_.status!==409)return;let $=await _.clone().json().catch(()=>{return});return $!==null&&typeof $==="object"&&"outcome"in $&&$.outcome==="dropped"&&"reason"in $&&$.reason==="approval_pending"?"approval_pending":void 0}async function*D6(_,$,Z){for await(let Q of _){if(Q.type!==U6.MESSAGES_SNAPSHOT){yield Q;continue}let X=$.localMessages(),J=X.findIndex((G)=>G.id===Z),Y=J===-1?[]:X.slice(J+1).filter((G)=>G.role==="user");$.onTranscriptCarried?.(Q.timestamp??Date.now()),yield{...Q,messages:[...Q.messages,...Y]}}}function a1(_){let{api:$,thread:Z}=_,Q=Object.assign(async(N,q)=>{let H=await fetch(N,q),U=await Q8(H);if(U)_.onRefused?.(U);return H},fetch),X=async()=>({headers:await $.resolveHeaders(),fetchClient:Q}),J=0;async function*Y(N){J+=1,_.onStreamStarted?.();try{yield*N}finally{J-=1}}let G=B6(()=>$.resolveUrl("/chat"),X),z=function(N,q,H,U){let E=_8(N),M=Z8(E),R=M?G.connect([],{...q,[G6]:M},H,U):G.connect(E,q,H,U);return Y(D6(R,_,N.at(-1)?.id))},V=B6(()=>$.resolveUrl(`/chat/${Z.id}/stream`),X),K=[];async function*W(N,q){yield{type:U6.MESSAGES_SNAPSHOT,timestamp:Date.now(),messages:K},yield*D6(V.joinRun(N,q),_,K.at(-1)?.id)}return{connect:z,joinRun:(N,q)=>Y(W(N,q)),streaming:()=>J>0,hydrate:async()=>{let N=await X8(_);return K=N.messages,N}}}async function X8(_){let{api:$,thread:Z,mode:Q}=_,X=Z.isRunning?{runId:Z.id}:null;if(Q==="skip")return{messages:[],activeRun:X,interrupts:null};if(Q==="load")_.setLoadingMessages?.(!0);try{let Y=(await $.listMessages(Z.id)).map(w1);return _.onHydrated?.(Y),{messages:Y,activeRun:X,interrupts:null}}finally{_.setLoadingMessages?.(!1)}}async function o1(_){if(_.isStale?.()||_.isStreaming())return;try{let $=await _.api.listMessages(_.threadId);if(_.isStale?.()||_.isStreaming())return;let Z=$.map(w1);return _.setMessages(Z),Z}catch{return}}function u_(){if(typeof crypto.randomUUID==="function")return crypto.randomUUID();let _=crypto.getRandomValues(new Uint8Array(16));_[6]=_[6]&15|64,_[8]=_[8]&63|128;let $=Array.from(_,(Z)=>Z.toString(16).padStart(2,"0")).join("");return`${$.slice(0,8)}-${$.slice(8,12)}-${$.slice(12,16)}-${$.slice(16,20)}-${$.slice(20)}`}var J8={type:"translate_attachment_rejected_type",size:"translate_attachment_rejected_size",name:"translate_attachment_rejected_name",count:"translate_attachment_rejected_count"};function s1(_,$){if(!_.refusal)return o($,"translate_attachment_rejected");return o($,J8[_.refusal],{types:new Intl.ListFormat($).format(x_.map((Z)=>Z.slice(Z.indexOf("/")+1).toUpperCase())),size:X6/1024/1024,count:C1})}function t1(_){let{api:$}=_,Z=new Set,Q=new Set,X=[],J=[],Y=Promise.resolve();function G(){return X}function z(P){return Z.add(P),()=>{Z.delete(P)}}function V(P){X=P;for(let D of Z)D()}function K(P,D){V(X.map((L)=>L.localId===P?{...L,...D}:L))}function W(P){if(Q.delete(P))return;K(P,{status:"error"})}async function N(P,D,L){if(Q.delete(P))return;let O;try{O=await $.uploadAttachment(D,L)}catch{W(P);return}if(Q.delete(P)){$.deleteAttachment(O.id).catch(()=>{});return}K(P,{status:"ready",attachmentId:O.id,summary:O})}function q(P){let D=[];for(let L of P){let O=J6(L),k=X.filter((m_)=>m_.status!=="error").length>=C1,b=O!=="ok"?O:k?"count":void 0,h=u_();if(V([...X,b?{localId:h,filename:L.name,status:"error",refusal:b}:{localId:h,filename:L.name,status:"uploading"}]),!b)D.push({localId:h,file:L})}if(!D.length)return;_.ensureThread().then((L)=>{for(let{localId:O,file:k}of D){if(Q.delete(O))continue;K(O,{threadId:L}),Y=Y.then(()=>N(O,L,k)).catch(()=>{})}},()=>{for(let{localId:L}of D)W(L)})}function H(P){let D=X.find((L)=>L.localId===P);if(!D)return;if(D.status==="uploading"){Q.add(P),V(X.filter((L)=>L.localId!==P));return}if(D.attachmentId){K(P,{status:"deleting"}),$.deleteAttachment(D.attachmentId).then(()=>V(X.filter((L)=>L.localId!==P)),()=>K(P,{status:"error"}));return}V(X.filter((L)=>L.localId!==P))}function U(P){let D=[];for(let L of X){if(L.threadId!==void 0&&L.threadId!==P){D.push(L);continue}if(L.status==="uploading")Q.add(L.localId);else if(L.status==="ready"&&L.threadId===P&&L.attachmentId)$.deleteAttachment(L.attachmentId).catch(()=>{})}V(D)}function E(){let P=X.flatMap((D)=>D.status==="ready"&&D.summary?[{...D,status:"ready",summary:D.summary}]:[]);return V(X.filter((D)=>D.status!=="ready")),J=P,P}function M(P){let D=J;if(J=[],D.some((L)=>L.threadId!==P))return;V([...D.map((L)=>({...L,status:"error"})),...X])}function R(){J=[]}return{getState:G,subscribe:z,accept:q,remove:H,clear:U,consumeReady:E,restoreConsumed:M,discardConsumed:R}}function e1(_){return{uploading:_.some(($)=>$.status==="uploading"),busy:_.some(($)=>$.status==="uploading"||$.status==="deleting"),hasReady:_.some(($)=>$.status==="ready")}}function _0(_,$,Z){try{return new URL(_).origin===$&&!Z?"allow-scripts allow-forms allow-popups":"allow-scripts allow-forms allow-popups allow-same-origin"}catch{return"allow-scripts allow-forms allow-popups"}}function $0(_,$,Z){try{return Z===!0&&new URL(_).origin===$}catch{return!1}}function Z0(_,$){try{return _.contentWindow?.location.origin===$}catch{return!1}}function Q0(_){let $=!1,Z=!1,Q,X;function J(z){if(!$)_.onState(z)}function Y(){if($)return;Z=!1,J({phase:"error"})}function G(z){if($||Z)return;Z=!0,J({phase:"settling"});try{let V=_.submit(z);if(V instanceof Promise)V.catch(Y)}catch{Y()}}return{async start(){J({phase:"initiating"});try{let z=await _.initiate();if(!/^https?:$/.test(new URL(z.embedUrl).protocol)){J({phase:"error"});return}Q=z.embedOrigin,J({phase:"embedded",embedUrl:z.embedUrl,surface:z.surface,embedOrigin:z.embedOrigin})}catch(z){let V=z instanceof Error?z.message:"";J({phase:/HTTP 404/.test(V)?"unavailable":"error"})}},setSource(z){if(z!==null&&z!==void 0)X=z},handleMessage(z){if(!Q)return;if(X===void 0||z.source!==X)return;let V=N6(z.data,z.origin,Q);if(!V)return;G({status:V.status,reference:V.reference,result:V.result})},cancel(){G({status:"cancelled"})},terminate(){if($||Z)return;Q=void 0,X=void 0,J({phase:"error"})},dispose(){$=!0}}}function X0(_,$,Z){let Q=_.interrupts.find((X)=>X.id===$);if(!Q||!("resolveInterrupt"in Q))return _.addToolApprovalResponse({id:$,approved:Z});return Q.resolveInterrupt({approved:Z}),Promise.resolve()}async function c_(_,$){let Z=await import("leaflet"),Q=!$.interactive,X=Z.map(_,{center:$.center,zoom:$.zoom,zoomControl:!Q,dragging:!Q,scrollWheelZoom:!Q,doubleClickZoom:!Q,touchZoom:!Q,boxZoom:!Q,keyboard:!Q});Z.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(X);let J=new ResizeObserver(()=>X.invalidateSize());return J.observe(_),{leaflet:Z,map:X,dispose(){J.disconnect(),X.remove()}}}var z1={position:void 0,locating:!1,locateFailed:!1,mapFailed:!1,submitting:!1,deliveryFailed:!1},Y8={center:{lat:20,lng:0},zoom:2},G8=13,L6=16,V8=1e4;function J0(_,$){let Z=z1,Q=!1,X=!1,J,Y,G,z=0;function V(q){if(Z={...Z,...q},!Q)$.onState(Z)}function K(){let q=Z.position;if(!J||!q)return;let{leaflet:H,map:U}=J;if(Y)Y.setLatLng(q);else{let E=H.marker(q,{draggable:!Z.submitting}).addTo(U);E.on("dragend",()=>{let{lat:M,lng:R}=E.getLatLng();W({lat:M,lng:F6(R)})}),Y=E}G?.remove(),G=q.accuracy?H.circle(q,{radius:q.accuracy}).addTo(U):void 0}function W(q){if(Z.submitting)return;z+=1,V({position:q,locating:!1,locateFailed:!1}),K()}function N(q){if(Q||X)return;X=!0,z+=1,Y?.dragging?.disable(),V({submitting:!0,locating:!1,deliveryFailed:!1});let H=()=>{X=!1,Y?.dragging?.enable(),V({submitting:!1,deliveryFailed:!0})};try{let U=$.submit(q);if(U instanceof Promise)U.catch(H)}catch{H()}}return{async start(){let q=$.center?{center:$.center,zoom:G8}:Y8,H;try{H=await c_(_,{...q,interactive:!0})}catch{V({mapFailed:!0});return}if(Q){H.dispose();return}J=H,H.map.on("click",(U)=>W({lat:U.latlng.lat,lng:F6(U.latlng.lng)})),K()},locate(){if(Z.locating||Z.submitting)return;if(!navigator.geolocation){V({locateFailed:!0});return}z+=1;let q=z;V({locating:!0,locateFailed:!1}),navigator.geolocation.getCurrentPosition(({coords:H})=>{if(Q||q!==z)return;let U={lat:H.latitude,lng:H.longitude,accuracy:Math.round(H.accuracy)};W(U),J?.map.setView(U,L6)},()=>{if(q===z)V({locating:!1,locateFailed:!0})},{enableHighAccuracy:!0,timeout:V8})},confirm(){if(Z.position)N({status:"completed",result:Z.position})},cancel(){N({status:"cancelled"})},dispose(){Q=!0,J?.dispose()}}}function Y0(_,$,Z){let Q=!1,X;return c_(_,{center:$,zoom:L6,interactive:!1}).then((J)=>{if(Q){J.dispose();return}X=J.dispose,J.leaflet.marker($).addTo(J.map)},()=>{if(!Q)Z()}),()=>{Q=!0,X?.()}}function F6(_){if(_>=-180&&_<=180)return _;return((_+180)%360+360)%360-180}function O6(_){if(!_||typeof _!=="object")return!1;let{lat:$,lng:Z}=_;return typeof $==="number"&&typeof Z==="number"&&Math.abs($)<=90&&Math.abs(Z)<=180}function G0(_){let $=_&&typeof _==="object"?_.center:void 0;return O6($)?$:void 0}function V0(_){if(!_||typeof _!=="object")return;let{status:$,result:Z}=_;if($!=="completed"||!O6(Z))return;let{accuracy:Q}=Z;return{...Z,...typeof Q==="number"?{accuracy:Q}:{}}}function K1(_){let $=`${_.lat.toFixed(4)}, ${_.lng.toFixed(4)}`;return _.accuracy?`${$} ±${_.accuracy} m`:$}function z0(_){if(_.locating)return{key:"translate_location_locating",failed:!1};if(_.deliveryFailed)return{key:"translate_location_send_failed",failed:!0};if(_.locateFailed)return{key:"translate_location_locate_failed",failed:!0};if(_.mapFailed)return{key:"translate_location_map_failed",failed:!0};return{key:"translate_location_hint",failed:!1}}var K0=30000;function W0(_){return Math.min(1000*2**(_-1),K0)}var z8=1e4;function N0(_){let $,Z,Q=0,X=!1,J=!1;function Y(){let{wsUrl:z,transport:V}=_.getConfig();if(z===!1)return;let K=K8(z,V.baseUrl);v1(V).then((W)=>{if(X)return;$=new WebSocket(W8(K,W)),$.addEventListener("open",()=>{J=!0;let N=$;setTimeout(()=>{if($===N&&!X)Q=0},z8),_.onOpen?.()}),$.addEventListener("message",(N)=>{let q=N.data;if(typeof q!=="string")return;let H;try{H=JSON.parse(q)}catch{return}_.onEvent(H)}),$.addEventListener("close",()=>{J=!1,G()})}).catch(G)}function G(){if(X||Z)return;Q+=1,Z=setTimeout(()=>{Z=void 0,Y()},W0(Q))}return Y(),{close(){X=!0,J=!1,clearTimeout(Z),$?.close()},isOpen(){return J}}}function K8(_,$){if(_)return _;let Z=typeof $==="string"?$:$(),Q=new URL(Z,window.location.origin);return Q.protocol=Q.protocol==="https:"?"wss:":"ws:",Q.pathname=Q.pathname.replace(/\/$/,"")+"/ws",Q.toString()}function W8(_,$){let Z=$.Authorization??$.authorization;if(!Z?.startsWith("Bearer "))return _;let Q=new URL(_,window.location.origin);if(Q.searchParams.has("token"))return Q.toString();return Q.searchParams.set("token",Z.slice(7)),Q.toString()}var H0={unreachable:"translate_agent_unreachable",refused:"translate_access_refused",missing:"translate_agent_missing"};function N8(_){let $=_ instanceof Error?/^HTTP (\d+)\b/.exec(_.message)?.[1]:void 0;if($==="401")return"refused";if($==="404")return"missing";return"unreachable"}function p_(_,$,Z=W0){let Q=!1,X,J=0;function Y(){_().then((G)=>{if(!Q)$.onAnswered(G)},(G)=>{if(Q)return;let z=N8(G);if($.onMissed?.(z),z==="missing")return;J+=1,X=setTimeout(Y,z==="refused"?K0:Z(J))})}return Y(),function(){Q=!0,clearTimeout(X)}}function q0(_){return[..._].sort(($,Z)=>{let Q=Date.parse(Z.updatedAt)-Date.parse($.updatedAt);if(Q!==0)return Q;return Date.parse(Z.createdAt)-Date.parse($.createdAt)})}function d_(_,$){let Z=[..._],Q=Z.findIndex((X)=>X.id===$.id);if(Q===-1)Z.push($);else Z[Q]={...Z[Q],...$};return q0(Z)}function W1(_,$){return _.filter((Z)=>Z.id!==$)}function B0(_,$,Z){return _.map((Q)=>Q.id===$?{...Q,title:Z}:Q)}var H8=[0,1000,2000,3000,4000];function D0(_){let $=_.delays??H8,Z=!1,Q;function X(){let G=_.selected();return!Z&&!_.socketOpen()&&G?.id===_.threadId&&!G.title}async function J(G){if(!X())return;let V=(await _.listThreads().catch(()=>{return}))?.find((K)=>K.id===_.threadId)?.title;if(!X())return;if(V)_.setTitle(V);else Y(G+1)}function Y(G){let z=$[G];if(z!==void 0)Q=setTimeout(()=>void J(G),z)}return Y(0),function(){Z=!0,clearTimeout(Q)}}function U0(_,$){switch($.type){case"thread:deleted":return W1(_,$.payload.threadId);case"thread:created":case"thread:title-updated":case"thread:run-started":case"thread:run-finished":case"thread:messages-updated":return d_(_,$.payload.thread);default:return _}}function F0(){let _=new Map,$=new Map,Z=0;function Q(X){if(X.type==="thread:run-started")return _.set(X.payload.thread.id,X.payload.runId),!0;if(X.type!=="thread:run-finished")return!0;let J=_.get(X.payload.thread.id);return J===void 0||J===X.payload.runId}return{admits(X){let J=Q(X);if(J&&"thread"in X.payload)$.set(X.payload.thread.id,++Z);return J},running(X,J){return $.set(X,++Z),(Y)=>{let G=Y?.find((z)=>z.id===X);return Y&&G?d_(Y,{...G,isRunning:J}):Y}},async read(X){_.clear();let J=++Z,Y=q0(await X());function G(z){return Y.map((V)=>{let K=$.get(V.id)??0,W=K>J?z?.find((N)=>N.id===V.id):void 0;if(K<J)$.set(V.id,J);return W?{...V,isRunning:W.isRunning}:V})}return{listed:Y,show:G}}}}import{marked as q8}from"marked";import B8 from"dompurify";function l_(_,$=[]){if(!_)return"";let Z=document.createElement("template");if(Z.innerHTML=q8.parse(_,{async:!1}).replace(/<table>/g,'<div style="overflow-x:auto"><table style="width:max-content">').replace(/<\/table>/g,"</table></div>").replace(/<(t[hd])([\s>])/g,'<$1 style="padding:0.5rem 1rem"$2'),U8(Z.content),$.length)F8(Z.content,$);return B8.sanitize(Z.innerHTML,{FORBID_TAGS:["img","picture","source"]})}var D8=/[\p{Script=Arabic}\p{Script=Hebrew}]/u;function U8(_){for(let $ of Array.from(_.children))if($.localName!=="div")$.setAttribute("dir","auto");_.querySelectorAll("table").forEach(($)=>{let Z=/\p{L}/u.exec($.textContent??"")?.[0];if(!Z)return;let Q=D8.test(Z)?"rtl":"ltr";if($.setAttribute("dir",Q),$.parentElement?.childElementCount===1)$.parentElement.setAttribute("dir",Q)}),_.querySelectorAll("th, td").forEach(($)=>$.setAttribute("dir","auto")),_.querySelectorAll("pre").forEach(($)=>$.setAttribute("dir","ltr"))}function F8(_,$){let Z=[...$].sort((J,Y)=>J.length-Y.length),Q=Z[Z.length-1]?.length??0,X=0;for(let J of L8(_)){if(X>=Q)break;J.replaceWith(...O8(J.data,X,Z)),X+=J.data.length}}function L8(_){let $=document.createTreeWalker(_,4),Z=[];for(let Q=$.nextNode();Q;Q=$.nextNode())if(Q.data.trim())Z.push(Q);return Z.reverse()}function O8(_,$,Z){let Q=[],X=_.length;for(let J of Z){if(J.length<=$)continue;if(X<=0)break;let Y=Math.min(X,J.length-$);if(Y<X&&/[\uDC00-\uDFFF]/.test(_[X-Y]))Y+=1;let G=document.createElement("span");G.className="cortex-stream-fade",G.style.animationDelay=`-${J.age}ms`,G.textContent=_.slice(X-Y,X),Q.unshift(G),X-=Y,$+=Y}if(X>0)Q.unshift(document.createTextNode(_.slice(0,X)));return Q}import{marked as E6}from"marked";var P6=/^ {0,3}(`{3,}|~{3,})(.*)$/;function M6(){let _=null;return($)=>{let Z=P6.exec($),Q=Z?.[1],X=Z?.[2]??"";if(Q){let J=Q.charAt(0);if(_){if(J===_.marker&&Q.length>=_.length&&X.trim()==="")return _=null,"close";return"inside"}if(J==="`"&&X.includes("`"))return"outside";return _={marker:J,length:Q.length},"open"}return _?"inside":"outside"}}function A6(_){return P6.exec(_)?.[2]?.trim().split(/\s+/)[0]??""}var P8=/^\s*!\[([^\]]*)\]\(attachment#([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\)\s*$/i;function L0(_,$){let Z=[],Q=[],X=null;function J(V=!1){if(Q.length)Z.push(...A8(Q.join(`
5
- `),V));Q=[]}function Y(V){if(X)Z.push({kind:"media",...X,source:X.source.join(`
6
- `),closed:V});X=null}let G=M6(),z=_.split(`
7
- `);for(let[V,K]of z.entries()){let W=G(K);if(X){if(W==="close")Y(!0);else X.source.push(K);continue}if(W==="open"&&V===z.length-1)break;let N=M8(K,W,$);if(!N){Q.push(K);continue}if(J(),N.kind==="media")X={language:N.language,source:[]};else Z.push(N)}return Y(!1),J(!0),Z}function M8(_,$,Z){if($==="open"){let X=A6(_),J=Z.find((Y)=>Y===X);return J?{kind:"media",language:J}:void 0}let Q=$==="outside"?P8.exec(_):null;return Q?{kind:"attachment",alt:Q[1]??"",id:(Q[2]??"").toLowerCase()}:void 0}function A8(_,$){let Z=E6.lexer(_);if(!Z.some((K)=>K.type==="table"))return[{kind:"markdown",text:_}];let Q=[];E6.walkTokens(Z,(K)=>{if(K.type==="def")Q.push(K.raw.trim())});let X=Q.join(`
8
- `),J=(K)=>X?`${X}
9
-
10
- ${K}`:K,Y=[],G="";function z(){if(G.trim())Y.push({kind:"markdown",text:J(G)});G=""}let V=Z.filter((K)=>K.type!=="def");for(let[K,W]of V.entries()){if(W.type!=="table"){G+=W.raw;continue}z();let N=V.slice(K+1).some((q)=>q.raw.trim()!=="");Y.push({kind:"table",text:J(W.raw.trimEnd()),closed:N||!$})}return z(),Y}var E8=/^-?(?:0|[1-9]\d*)(?:\.\d*[1-9])?$/;function R8(_){return E8.test(_)&&_!=="-0"&&_.replace(/[-.]/g,"").replace(/^0/,"").length<=15}var k8=32767,R6=new TextEncoder;function O0(_){return Array.from(_.rows,($)=>Array.from($.cells,I8))}function I8(_){let $=_.cloneNode(!0);if($ instanceof Element)$.querySelectorAll("br").forEach((Z)=>Z.replaceWith(`
11
- `));return($.textContent??"").trim()}function P0(_){return new Blob([v8(b8(_))],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}function y8(_){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 S8(_){let $="";for(let Z=_+1;Z>0;Z=Math.floor((Z-1)/26))$=String.fromCharCode(65+(Z-1)%26)+$;return $}function C8(_){return`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><sheetData>${_.map((Z,Q)=>{let X=Z.map((J,Y)=>{let G=`${S8(Y)}${Q+1}`,z=Q===0?' s="1"':"";return Q>0&&R8(J)?`<c r="${G}"${z}><v>${J}</v></c>`:`<c r="${G}"${z} t="inlineStr"><is><t xml:space="preserve">${y8(J.slice(0,k8))}</t></is></c>`}).join("");return`<row r="${Q+1}">${X}</row>`}).join("")}</sheetData></worksheet>`}function b8(_){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:C8(_)}]}var w8=Array.from({length:256},(_,$)=>{let Z=$;for(let Q=0;Q<8;Q++)Z=Z&1?3988292384^Z>>>1:Z>>>1;return Z>>>0});function T8(_){let $=4294967295;for(let Z of _)$=(w8[($^Z)&255]??0)^$>>>8;return($^4294967295)>>>0}function v8(_){let $=[],Z=[],Q=0;for(let V of _){let K=R6.encode(V.name),W=R6.encode(V.text),N=T8(W),q=new DataView(new ArrayBuffer(30));q.setUint32(0,67324752,!0),q.setUint16(4,20,!0),q.setUint16(6,2048,!0),q.setUint32(14,N,!0),q.setUint32(18,W.length,!0),q.setUint32(22,W.length,!0),q.setUint16(26,K.length,!0),$.push(new Uint8Array(q.buffer),K,W);let H=new DataView(new ArrayBuffer(46));H.setUint32(0,33639248,!0),H.setUint16(4,20,!0),H.setUint16(6,20,!0),H.setUint16(8,2048,!0),H.setUint32(16,N,!0),H.setUint32(20,W.length,!0),H.setUint32(24,W.length,!0),H.setUint16(28,K.length,!0),H.setUint32(42,Q,!0),Z.push(new Uint8Array(H.buffer),K),Q+=30+K.length+W.length}let X=Z.reduce((V,K)=>V+K.length,0),J=new DataView(new ArrayBuffer(22));J.setUint32(0,101010256,!0),J.setUint16(8,_.length,!0),J.setUint16(10,_.length,!0),J.setUint32(12,X,!0),J.setUint32(16,Q,!0);let Y=[...$,...Z,new Uint8Array(J.buffer)],G=new Uint8Array(Y.reduce((V,K)=>V+K.length,0)),z=0;for(let V of Y)G.set(V,z),z+=V.length;return G}var y6=new Set(["flatten","fold","density","impute","regression","loess","quantile","sample"]),j8=`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 S6(_,$){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(f8.has(_)&&typeof $==="string"&&!g8($))return"Charts may only use simple expressions over datum.";if(_==="usermeta")return"Charts may not carry usermeta.";if(typeof $==="string"&&N1($))return"Charts may not reference URLs.";if((_==="width"||_==="height")&&m8($)>4000)return"Charts may be at most 4000 pixels wide or tall.";return}var f8=new Set(["calculate","filter","test","signal","labelExpr"]),k6=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 g8(_){if(_.length>500||/[\\`]/.test(_))return!1;let $=_.replace(/'[^']*'|"[^"]*"/g,'""');for(let[,Q]of $.matchAll(/([A-Za-z_$][\w$]*)\s*\(/g))if(!k6.has(Q??""))return!1;let Z=$.replace(/(datum|parent)(\s*\.[\w$]+|\s*\[\s*""\s*\])+|\b\d[\w.]*/g,"").matchAll(/[A-Za-z_$][\w$]*/g);for(let[Q]of Z)if(!k6.has(Q)&&!["true","false","null"].includes(Q))return!1;return!0}function m8(_){if(typeof _==="number")return _;let $=_?.step;return typeof $==="number"?$:0}function I6(_,$){let Z=_?.features,Q=Array.isArray(_)?_.length:Array.isArray(Z)?Z.length:-1;if(Q<0)return S6($,_)??A0(M0(_,$),i_);return Q>200?"Charts may hold at most 200 rows.":void 0}function i_(_,$=""){if($==="values")return I6(_,$);if($==="datasets")return A0(M0(_),I6);return S6($,_)??A0(M0(_,$),(Z,Q)=>i_(Z,Q))}function M0(_,$=""){if(Array.isArray(_))return _.map((Z)=>[$,Z]);return _&&typeof _==="object"?Object.entries(_):[]}function A0(_,$){for(let[Z,Q]of _){let X=$(Q,Z);if(X)return X}return}var C6=/url\(([^)]*)\)/gi,E0="src|image|image-set|-webkit-image-set|cross-fade|element",R0=new RegExp(String.raw`\b(url|${E0})\(`,"i"),x8=new RegExp(String.raw`\b(${E0})\(`,"i"),h8=new RegExp(String.raw`\b(${E0})\([^)]*\)`,"gi"),u8=/\\([0-9a-f]{1,6})\s?|\\(.)/gi,c8=/@import[^;]*;?/gi;function p8(_){return _.replace(u8,($,Z,Q)=>{if(!Z)return Q??"";let X=parseInt(Z,16),J=X===0||X>=55296&&X<=57343||X>1114111;return String.fromCodePoint(J?65533:X)})}function b6(_){return _.trim().replace(/^(['"])(.*)\1$/s,"$2").trim()}function N1(_){if(_.includes("\\")||x8.test(_))return!0;for(let[,$]of _.matchAll(C6))if(!b6($??"").startsWith("#"))return!0;return!1}function k0(_){return p8(_).replaceAll("\\"," ").replace(c8," ").replace(h8,"none").replace(C6,($,Z)=>b6(Z).startsWith("#")?$:"none")}var d8=new Set(["src","srcset","poster","background","action","formaction","ping"]);function n_(_){for(let $ of[_,..._.querySelectorAll("*")]){for(let Z of[...$.attributes])if(d8.has(Z.name)||(Z.name==="href"||Z.name==="xlink:href")&&$.localName!=="a"&&!Z.value.trim().startsWith("#")||N1(Z.value))$.removeAttribute(Z.name);if($.localName==="style"&&$.textContent)$.textContent=k0($.textContent)}}var l8=`
1
+ var S8=Object.create;var{getPrototypeOf:C8,defineProperty:o0,getOwnPropertyNames:T8}=Object;var v8=Object.prototype.hasOwnProperty;var A_=(_,$,Q)=>{Q=_!=null?S8(C8(_)):{};let Z=$||!_||!_.__esModule?o0(Q,"default",{value:_,enumerable:!0}):Q;for(let J of T8(_))if(!v8.call(Z,J))o0(Z,J,{get:()=>_[J],enumerable:!0});return Z};var k_=((_)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(_,{get:($,Q)=>(typeof require<"u"?require:$)[Q]}):_)(function(_){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+_+'" is not supported')});import{useEffect as x5,useMemo as F8,useState as h5}from"react";var w8=["completed","cancelled","failed"],W1="requestLocation";function a0(_,$,Q){if($!==Q)return null;if(typeof _!=="object"||_===null)return null;let Z=_;if(Z.type!=="cortex:client-tool")return null;let J=w8.find((X)=>X===Z.status);if(!J)return null;let Y=Z.reference;return{type:"cortex:client-tool",status:J,...typeof Y==="string"?{reference:Y}:{},...Z.result!==void 0?{result:Z.result}:{}}}var v1=["en","ar"],s0=v1[0],t0={en:"ltr",ar:"rtl"};var u_=["image/png","image/jpeg","image/webp","application/pdf"],w1=10485760,f8=255,f1=5;function e0(_){if(!u_.some(($)=>$===_.type))return"type";if(_.size>w1)return"size";if(_.name.length>f8)return"name";return"ok"}var _4=["executeCode","queryDataset","describeDataset"],j8="approvalTitle";function j1(_,$){if(!_||typeof _!=="object")return;let Q=Reflect.get(_,$);return typeof Q==="string"&&Q.trim()?Q.trim():void 0}function $4(_){return j1(_,j8)}function g1(_){return _.metadata?.cortex??void 0}function m1(_){return{..._,role:_.role==="trigger"?"user":_.role}}var Q4="clientToolAnswers";function Z4(_){return _.approval?.id??`approval_${_.id}`}function J4(_){return _.approval!==void 0||_.state==="approval-requested"}var x1="X-Cortex-Timezone",Y4="X-Cortex-Operator",X4="X-Cortex-Inspect",g8=["busy","approval_pending","budget","rate_limited"],i5=[...g8,"invalid_payload","missing_thread_key","no_turn","no_output","invalid_output"];function V4(_){if(_>=500)return"lost";return _>=400?"refused":"persisted"}var m8=new Set(["complete","error"]);function a(_){return m8.has(_)}function F_(_){return(x8(_)?.parts??[]).filter((Q)=>Q.type==="tool-call"&&!a(Q.state))}function z4(_){for(let $=_.length-1;$>=0;$-=1){let Q=_[$];if(Q?.parts.some((J)=>J.type==="tool-call"&&J.state==="approval-requested"))return!0;if(Q?.role==="user")return!1}return!1}function h1(_){let $=_.at(-1);if($?.role!=="assistant")return;let Q=$.parts.at(-1),Z=Q?.type==="tool-call"||Q?.type==="tool-result",J=$.parts.every((Y)=>Y.type!=="tool-call"||a(Y.state));return Z&&J?void 0:$}function x8(_){for(let $=_.length-1;$>=0;$-=1){let Q=_[$];if(Q?.role==="assistant")return Q}return}var h8={complete:"success",error:"error","approval-requested":"approval","approval-responded":"approval","awaiting-input":"pending","input-streaming":"pending","input-complete":"pending"},u8={"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 u1(_){let{state:$,approval:Q}=_;return{modifier:h8[$],labelKey:Q?.approved===!1?"translate_declined":$==="approval-responded"&&Q?.approved?"translate_approved":u8[$],pulse:$==="awaiting-input"||$==="input-streaming"?"default":$==="approval-requested"?"violet":void 0}}function K4(_){let $=_.output;if($===void 0||$===null)return"";if(typeof $==="string")return $;return JSON.stringify($,null,2)}var G4={code:"javascript"};function c1(_){let $=_&&typeof _==="object"?_:null,Q=$?Object.entries(G4).flatMap(([J,Y])=>{let X=$[J];return typeof X==="string"?[{key:J,lang:Y,value:X.replace(/\\n/g,`
2
+ `)}]:[]}):[],Z=_;if($){let J=Object.fromEntries(Object.entries($).filter(([Y])=>!Object.hasOwn(G4,Y)));Z=Object.keys(J).length>0?J:null}return{codeSnippets:Q,remainingInput:Z,remainingInputText:Z?JSON.stringify(Z,null,2):""}}var c8=10,p8={"awaiting-input":"starting","input-streaming":"starting","input-complete":"processing","approval-requested":"approval","approval-responded":"processing",complete:"complete",error:"error"};function d8(_){let $=_.output;if(typeof $==="string")try{$=JSON.parse($)}catch{return}if(!$||typeof $!=="object")return;if("error"in $&&$.error===!0)return"failed";if(!g1(_)?.embed||!("status"in $))return;let Q=$.status;return Q==="failed"||Q==="cancelled"?Q:void 0}function l8(_){let $=_.output;if(!$||typeof $!=="object"||!("rowCount"in $))return;let Q=$.rowCount;return typeof Q==="number"?Q:void 0}function i8(_,$,Q){if(Q==="declined")return"translate_declined";if(Q==="cancelled")return"translate_tool_cancelled";if($==="error")return"translate_tool_error";if($==="approval")return"translate_needs_approval";return`translate_${_.name==="readAttachment"?"attachment":"tool"}_${$==="complete"?"done":"status"}`}function c_(_){let $=_.approval?.approved===!1?"declined":_.state==="complete"?d8(_):void 0,Q=$?"error":p8[_.state]??"processing";return{state:Q,active:Q==="starting"||Q==="processing",gated:J4(_),titleKey:i8(_,Q,$),statement:_4.some((Z)=>Z===_.name)?j1(_.input,"status"):void 0,rows:Q==="complete"?l8(_):void 0}}function p1(_){let $=_.approval?.approved,{state:Q,active:Z}=c_(_),J=$===void 0?_.state==="approval-requested"?"pending":"cancelled":!$?"declined":Q==="error"?"failed":"approved";return{title:$4(_.input),fallbackKey:"translate_approval_action",fallbackParams:{tool:r8(_.name)},decision:J,decisionKey:n8[J],state:Q,active:Z}}var n8={pending:void 0,approved:"translate_approved",declined:"translate_declined",failed:"translate_approved_failed",cancelled:"translate_approval_cancelled"};function r8(_){let $=_.replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/[_\-.]+/g," ").trim().toLowerCase();return $.charAt(0).toUpperCase()+$.slice(1)}function d1(_){return Array.from({length:c8},($,Q)=>`translate_${_}_${Q}`)}function p_(_,$){return _.filter((Q,Z)=>{if(Q.type==="tool-result")return!1;if($.debugMode)return!0;if(Q.type==="text"&&!Q.content.trim())return!1;let J=Z===_.length-1;return Q.type!=="thinking"||$.isStreaming&&J})}var o8=[W1];function W4(_){return o8.find(($)=>$===_)}function q4(_,$){let{consumerTools:Q,capabilities:Z}=$;if(Z?.messages!==!0&&!a(_.state))return;return Q&&Object.hasOwn(Q,_.name)?Q[_.name]:void 0}function D4(_,$){if(q4(_,$))return!1;return!W4(_.name)||!a(_.state)}function l1(_,$){let Q=c_(_),Z=$.capabilities?.messages===!0&&!$.agentWorking;if(_.state==="approval-requested"&&Z)return{kind:"approval",asking:!0};if($.debugMode)return{kind:"debug"};let J=q4(_,$);if(J)return{kind:"consumer",component:J};let Y=_.state==="input-complete"&&Z,X=Y||a(_.state)?W4(_.name):void 0;if(X)return{kind:"builtIn",component:$.builtInTools[X]};if(Y&&!$.embedUnavailable&&g1(_)?.embed)return{kind:"embed"};if(_.name==="executeCode"&&!a(_.state)&&!Q.statement)return{kind:"activity",activity:"code"};if(Q.gated)return{kind:"approval",asking:!1};return{kind:"pill"}}function i1(_){let $=_.approval?.id;switch(_.state){case"complete":return{kind:"output",text:K4(_)};case"error":return{kind:"error",text:K4(_)};case"approval-requested":return{kind:"approval",approvalId:$,labelKey:"translate_approval_requested",messageKey:"translate_waiting_for_approval"};case"approval-responded":return{kind:"approval",approvalId:$,labelKey:"translate_approval_response",messageKey:_.approval?.approved?"translate_tool_approved":"translate_tool_response_received"};default:return}}var n1=new WeakMap;function r1(_,$){let Q=_.closest(".cortex-widget__screen"),Z=Q?.querySelector(".cortex-message-list");if(!Q||!Z||!_.value.trim())return;let J=getComputedStyle(_),Y=_.getBoundingClientRect(),X=(V)=>parseFloat(J[`padding${V}`])+parseFloat(J[`border${V}Width`]);n1.set(Q,{text:$,textarea:_,from:new DOMRect(Y.left+X("Left"),Y.top+X("Top"),Y.width-X("Left")-X("Right"),Y.height-X("Top")-X("Bottom")),rtl:J.direction==="rtl",scrollTop:Z.scrollTop})}function a8(_,$){let Q=_.closest(".cortex-widget__screen"),Z=Q?n1.get(Q):void 0;if(!Q||!Z)return;n1.delete(Q);let J=_.querySelectorAll(":scope > .cortex-message"),Y=J[J.length-1]?.querySelector(".cortex-text-bubble--user"),X=_.closest(".cortex-message-list");if(!Y||!X||Z.text!==$||!Z.textarea.isConnected)return;Y.closest(".cortex-message-part")?.getAnimations().forEach((O)=>O.finish()),B4(X);let V=Y.getBoundingClientRect(),K=Q.getBoundingClientRect(),z=getComputedStyle(Y),W=parseFloat(z.paddingTop)+parseFloat(z.borderTopWidth),G=Z.rtl?parseFloat(z.paddingRight)+parseFloat(z.borderRightWidth):parseFloat(z.paddingLeft)+parseFloat(z.borderLeftWidth),q=Z.rtl?Z.from.right+G-V.width:Z.from.left-G,U=X.scrollTop-Z.scrollTop;if(U)_.style.setProperty("--cortex-slide",`${U}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 D=Y.cloneNode(!0);D.classList.add("cortex-send-flight"),D.setAttribute("aria-hidden","true"),Object.assign(D.style,{left:`${V.left-K.left}px`,top:`${V.top-K.top}px`,width:`${V.width}px`}),D.style.setProperty("--cortex-fly-x",`${q-V.left}px`),D.style.setProperty("--cortex-fly-y",`${Z.from.top-W-V.top}px`),Y.style.visibility="hidden",Q.append(D);let L=X.scrollTop,y=()=>{D.style.top=`${V.top-K.top-(X.scrollTop-L)}px`};X.addEventListener("scroll",y,{passive:!0}),N4(D).then(()=>{X.removeEventListener("scroll",y),Y.style.visibility="",D.remove()})}function B4(_){_.scrollTop=F4(_)}var s8=100;function o1(_,$){let Q=!0,Z=!0,J=!1,Y=0,X;function V(){if(J)return;J=!0,queueMicrotask(()=>{J=!1,B4(_),Z=!0,Q=!1})}function K(){Z=F4(_)-_.scrollTop<s8}let z=typeof ResizeObserver>"u"?void 0:new ResizeObserver(([W])=>{let G=W?.contentRect.height??0,q=G>Y;if(Y=G,q&&(Q||Z))V()});return z?.observe($),_.addEventListener("scroll",K,{passive:!0}),V(),{pin(){Q=!0},messagesChanged(W){if(W?.role==="user"&&W.id!==X){X=W.id,Q=!0;let G=W.parts.find((q)=>q.type==="text")?.content;if(G!==void 0)a8($,G)}if(Q)V()},dispose(){z?.disconnect(),_.removeEventListener("scroll",K)}}}function F4(_){let $=_.querySelector(".cortex-message-list__content");if(!$)return _.scrollHeight-_.clientHeight;let Q=getComputedStyle(_);return $.offsetHeight+parseFloat(Q.paddingTop)+parseFloat(Q.paddingBottom)-_.clientHeight}function a1(_){let $=!1,Q=_.parentElement,Z=typeof ResizeObserver>"u"?void 0:new ResizeObserver(()=>{if($)J()});Z?.observe(Q);function J(){let Y=Q.querySelector(":scope > .cortex-working-thinking, :scope > .cortex-message > .cortex-message-parts > [data-cortex-frontier]");if(!Y)return!1;return _.style.setProperty("--cortex-avatar-y",`${t8(Y,Q)-_.offsetHeight/2}px`),!0}return{sync(Y){if(Y===$){if(Y)J();return}if(Y){if(!J())return;_.classList.remove("cortex-working-avatar--leaving"),_.offsetWidth,_.classList.add("cortex-working-avatar--shown"),$=!0;return}$=!1;let[,X="0px"]=getComputedStyle(_).translate.split(" ");_.style.setProperty("--cortex-avatar-y",X),_.classList.add("cortex-working-avatar--leaving"),N4(_,!0).then(()=>{if($)return;_.classList.remove("cortex-working-avatar--shown","cortex-working-avatar--leaving")})},dispose(){Z?.disconnect()}}}function t8(_,$){let Q=_.querySelector(".cortex-text-bubble");if(!Q)return U4(_,$)+_.offsetHeight/2;let Z=getComputedStyle(Q);return U4(Q,$)+parseFloat(Z.paddingTop)+parseFloat(Z.borderTopWidth)+parseFloat(Z.lineHeight)/2}function U4(_,$){let Q=0;for(let Z=_;Z instanceof HTMLElement&&Z!==$;)Q+=Z.offsetTop,Z=Z.offsetParent;return Q}function N4(_,$=!1){return Promise.allSettled(_.getAnimations({subtree:$}).map((Q)=>Q.finished))}function s1(_,$){let Q=0,Z,J;function Y(){Z=setTimeout(()=>{$({index:Q,phase:"exiting"}),Z=setTimeout(()=>{Q=(Q+1)%_,$({index:Q,phase:"enter-start"}),J=requestAnimationFrame(()=>{$({index:Q,phase:"entering"}),Z=setTimeout(()=>{$({index:Q,phase:"idle"}),Y()},300)})},300)},2000)}return Y(),()=>{if(clearTimeout(Z),J!==void 0)cancelAnimationFrame(J)}}function t1(_,$){function Q(){$.sendDraft((X)=>r1(_,X))}function Z(X){if(X.key!=="Enter"||X.shiftKey)return;X.preventDefault(),Q()}function J(){_.style.height="0px",_.style.height=`${_.scrollHeight}px`}function Y(){_.removeEventListener("keydown",Z)}return _.addEventListener("keydown",Z),{send:Q,fit:J,dispose:Y}}function e1(_){return{onDragOver:($)=>{if($.preventDefault(),_.enabled)_.setDragging(!0)},onDragLeave:($)=>{if(!$.currentTarget?.contains($.relatedTarget))_.setDragging(!1)},onDrop:($)=>{if($.preventDefault(),_.setDragging(!1),_.enabled)_.accept([...$.dataTransfer?.files??[]])},onPaste:($)=>{let Q=[...$.clipboardData?.files??[]];if(!_.enabled||!Q.length)return;$.preventDefault(),_.accept(Q)}}}function y_(_,$){if(_===void 0||typeof _==="string"||Array.isArray(_))return _;let Q=_;return Q[$]??Q.en??Object.values(Q)[0]}var H4={translate_history:"السجل",translate_back:"رجوع",translate_greeting:"بماذا يمكنني مساعدتك اليوم؟",translate_conversations:{zero:"لا محادثات",one:"محادثة واحدة",two:"محادثتان",few:"{{count}} محادثات",many:"{{count}} محادثة",other:"{{count}} محادثة"},translate_no_threads_yet:"لا توجد محادثات بعد",translate_start_a_new_conversation:"ابدأ محادثة جديدة",translate_untitled:"بدون عنوان",translate_new_chat:"محادثة جديدة",translate_normal:"عادي",translate_debug:"تصحيح",translate_type_a_message:"اكتب رسالة...",translate_completed:"مكتمل",translate_attach_files:"إرفاق ملفات",translate_drop_files_here:"أفلت ملفاتك هنا...",translate_remove_attachment:"إزالة المرفق",translate_attachment_rejected:"لا يمكن إرفاق هذا الملف",translate_attachment_rejected_type:"يمكن إرفاق ملفات {{types}} فقط",translate_attachment_rejected_size:"الحد الأقصى لحجم الملف {{size}} ميغابايت",translate_attachment_rejected_name:"اسم الملف طويل جدًا",translate_attachment_rejected_count:{zero:"لا يمكن إرفاق ملفات بالرسالة",one:"يمكن إرفاق ملف واحد كحد أقصى لكل رسالة",two:"يمكن إرفاق ملفين كحد أقصى لكل رسالة",few:"يمكن إرفاق {{count}} ملفات كحد أقصى لكل رسالة",many:"يمكن إرفاق {{count}} ملفًا كحد أقصى لكل رسالة",other:"يمكن إرفاق {{count}} ملف كحد أقصى لكل رسالة"},translate_attachment_caption:"من فضلك اطّلع على الملفات المرفقة.",translate_download:"تنزيل",translate_tool_status:"جارٍ تنفيذ خطوة…",translate_tool_done:"اكتملت الخطوة",translate_tool_cancelled:"أُلغيت الخطوة",translate_rows:{zero:"لا صفوف",one:"صف واحد",two:"صفان",few:"{{count}} صفوف",many:"{{count}} صفًا",other:"{{count}} صف"},translate_more_steps:{zero:"ولا خطوات أخرى",one:"وخطوة أخرى",two:"وخطوتان أخريان",few:"و{{count}} خطوات أخرى",many:"و{{count}} خطوة أخرى",other:"و{{count}} خطوة أخرى"},translate_tool_error:"حدث خطأ",translate_attachment_status:"جارٍ قراءة الملف المرفق…",translate_attachment_done:"تمت قراءة الملف المرفق",translate_code_0:"جارٍ حساب الأرقام...",translate_code_1:"جارٍ معالجة البيانات...",translate_code_2:"جارٍ تنفيذ طلبك...",translate_code_3:"جارٍ تحليل الأرقام...",translate_code_4:"جارٍ تجميع كل شيء...",translate_code_5:"جارٍ تحليل النتائج...",translate_code_6:"جارٍ العمل خلف الكواليس...",translate_code_7:"جارٍ ترتيب التفاصيل...",translate_code_8:"جارٍ تحضير إجابتك...",translate_code_9:"أوشك على الانتهاء...",translate_reasoning_0:"جارٍ التفكير...",translate_reasoning_1:"جارٍ دراسة الخيارات...",translate_reasoning_2:"جارٍ تقييم الاحتمالات...",translate_reasoning_3:"جارٍ التأمل في هذا...",translate_reasoning_4:"جارٍ إيجاد الحل...",translate_reasoning_5:"جارٍ ترتيب الأفكار...",translate_reasoning_6:"جارٍ التمعن في الأمر...",translate_reasoning_7:"جارٍ إيجاد أفضل طريقة...",translate_reasoning_8:"جارٍ تنظيم أفكاري...",translate_reasoning_9:"أوشك على الانتهاء...",translate_running:"قيد التنفيذ",translate_aborted:"تم الإلغاء",translate_input:"المدخلات",translate_output:"المخرجات",translate_calling:"جارٍ الاستدعاء",translate_input_ready:"المدخلات جاهزة",translate_needs_approval:"بحاجة إلى موافقة",translate_approved:"تمت الموافقة",translate_responded:"تم الرد",translate_declined:"تم الرفض",translate_approve:"موافقة",translate_deny:"رفض",translate_error:"خطأ",translate_approval_pending:"وافق على الطلب أعلاه أو ارفضه أولًا.",translate_approval_requested:"طلب موافقة",translate_approval_response:"رد الموافقة",translate_waiting_for_approval:"في انتظار الموافقة لتنفيذ هذه الأداة.",translate_tool_approved:"تمت الموافقة.",translate_tool_response_received:"تم استلام الرد.",translate_tokens:"رمز",translate_fresh:"جديد",translate_cache_read:"قراءة من الذاكرة",translate_cache_write:"كتابة في الذاكرة",translate_n_percent_cached:"{{percent}}٪ مخزّن مؤقتًا",translate_text:"نص",translate_reasoning:"الاستنتاج",translate_read:"قراءة",translate_write:"كتابة",translate_total:"الإجمالي",translate_request:"الطلب",translate_response:"الرد",translate_step_n:"الخطوة {{number}}",translate_inspect_llm_requests:"فحص طلبات النموذج",translate_loading:"جارٍ التحميل…",translate_no_llm_requests:"لا توجد طلبات نموذج مسجّلة لهذه الرسالة.",translate_unhandled_type:"نوع غير مدعوم:",translate_client_tool_title:"أكمل هذه الخطوة للمتابعة",translate_client_tool_loading:"جارٍ تجهيز خطوة آمنة...",translate_client_tool_failed:"تعذّر تحميل هذه الخطوة",translate_client_tool_retry:"حاول مرة أخرى",translate_client_tool_cancel:"إلغاء",translate_location_hint:"انقر على الخريطة لتثبيت الدبوس",translate_location_locate:"استخدم موقعي",translate_location_locating:"جارٍ تحديد موقعك",translate_location_locate_failed:"موقعك غير متاح",translate_location_map_failed:"تعذّر تحميل الخريطة",translate_location_send_failed:"تعذّر الإرسال، حاول مرة أخرى",translate_location_skip:"ليس الآن",translate_location_send:"إرسال",translate_location_shared:"تمت مشاركة الموقع",translate_location_not_shared:"لم تتم مشاركة الموقع",translate_trigger_fired:"تم التشغيل بواسطة",translate_trigger_payload:"الحمولة",translate_messages_disabled:"يعمل هذا الوكيل من مشغّلاته فقط.",translate_read_only:"أنت تطّلع على هذه المحادثة. لا يمكن إرسال شيء من هنا.",translate_access_refused:"لم يقبل هذا الوكيل تسجيل دخولك.",translate_agent_unreachable:"تعذّر الوصول إلى هذا الوكيل الآن. نعيد المحاولة...",translate_agent_missing:"هذا الوكيل غير متاح.",translate_streaming:"جارٍ البث",translate_done:"تم",translate_no_reasoning:"لا يوجد تفكير مسجّل.",translate_copy:"نسخ إلى الحافظة",translate_copied:"تم النسخ",translate_media_pending_mermaid:"جارٍ رسم المخطط",translate_media_pending_vega_lite:"جارٍ رسم الرسم البياني",translate_media_pending_map:"جارٍ رسم الخريطة",translate_media_pending_report:"جارٍ كتابة التقرير",translate_media_cut_off:"انقطع هذا المقطع قبل اكتماله.",translate_media_failed:"تعذر عرض هذا المقطع.",translate_media_source:"المصدر",translate_media_pending:"جارٍ الرسم",translate_media_mermaid:"مخطط",translate_media_vega_lite:"رسم بياني",translate_media_map:"خريطة",translate_media_report:"تقرير",translate_media:"معاينة",translate_image_unavailable:"الصورة غير متاحة",translate_image_unavailable_alt:"الصورة غير متاحة: {{alt}}",translate_image:"صورة",translate_send:"إرسال",translate_stop:"إيقاف",translate_delete_conversation:"حذف المحادثة",translate_table:"جدول",translate_expand:"توسيع {{name}}",translate_table_export:"تصدير إلى Excel",translate_close:"إغلاق",translate_approval_needed:"بحاجة إلى موافقتك",translate_approval_action:"تنفيذ {{tool}}",translate_approved_failed:"تمت الموافقة لكنه فشل",translate_approval_cancelled:"لم يُتخذ قرار"};var P4={translate_history:"History",translate_back:"Back",translate_greeting:"What can I help you with today?",translate_conversations:{one:"1 conversation",other:"{{count}} conversations"},translate_no_threads_yet:"No threads yet",translate_start_a_new_conversation:"Start a new conversation",translate_untitled:"Untitled",translate_new_chat:"New Chat",translate_normal:"Normal",translate_debug:"Debug",translate_type_a_message:"Type a message...",translate_completed:"Completed",translate_attach_files:"Attach files",translate_drop_files_here:"Drop your files here...",translate_remove_attachment:"Remove attachment",translate_attachment_rejected:"This file cannot be attached",translate_attachment_rejected_type:"Only {{types}} files can be attached",translate_attachment_rejected_size:"Files can be up to {{size}} MB",translate_attachment_rejected_name:"The file name is too long",translate_attachment_rejected_count:{one:"Up to 1 file per message",other:"Up to {{count}} files per message"},translate_attachment_caption:"Please take a look at the attached files.",translate_download:"Download",translate_tool_status:"Running a step...",translate_tool_done:"Step completed",translate_tool_cancelled:"Step cancelled",translate_rows:{one:"1 row",other:"{{count}} rows"},translate_more_steps:{one:"and 1 more step",other:"and {{count}} more steps"},translate_tool_error:"Something went wrong",translate_attachment_status:"Reading the attached file...",translate_attachment_done:"Finished reading the file",translate_code_0:"Running the numbers...",translate_code_1:"Working through the data...",translate_code_2:"Processing your request...",translate_code_3:"Crunching the figures...",translate_code_4:"Putting it all together...",translate_code_5:"Analyzing the results...",translate_code_6:"Working behind the scenes...",translate_code_7:"Sorting through the details...",translate_code_8:"Preparing your answer...",translate_code_9:"Almost ready...",translate_reasoning_0:"Thinking it through...",translate_reasoning_1:"Considering the options...",translate_reasoning_2:"Weighing the possibilities...",translate_reasoning_3:"Reflecting on this...",translate_reasoning_4:"Working it out...",translate_reasoning_5:"Putting thoughts together...",translate_reasoning_6:"Mulling it over...",translate_reasoning_7:"Finding the best approach...",translate_reasoning_8:"Organizing my thoughts...",translate_reasoning_9:"Almost there...",translate_running:"Running",translate_aborted:"Aborted",translate_input:"Input",translate_output:"Output",translate_calling:"Calling",translate_input_ready:"Input ready",translate_needs_approval:"Needs approval",translate_approved:"Approved",translate_responded:"Responded",translate_declined:"Declined",translate_approve:"Approve",translate_deny:"Deny",translate_error:"Error",translate_approval_pending:"Approve or deny the request above first.",translate_approval_requested:"Approval requested",translate_approval_response:"Approval response",translate_waiting_for_approval:"Waiting for approval to execute this tool.",translate_tool_approved:"Approved.",translate_tool_response_received:"Response received.",translate_tokens:"tokens",translate_fresh:"Fresh",translate_cache_read:"Cache read",translate_cache_write:"Cache write",translate_n_percent_cached:"{{percent}}% cached",translate_text:"Text",translate_reasoning:"Reasoning",translate_read:"Read",translate_write:"Write",translate_total:"Total",translate_request:"Request",translate_response:"Response",translate_step_n:"Step {{number}}",translate_inspect_llm_requests:"Inspect LLM requests",translate_loading:"loading…",translate_no_llm_requests:"No LLM requests recorded for this message.",translate_unhandled_type:"Unhandled type:",translate_client_tool_title:"Complete this step to continue",translate_client_tool_loading:"Preparing a secure step...",translate_client_tool_failed:"This step could not be loaded",translate_client_tool_retry:"Try again",translate_client_tool_cancel:"Cancel",translate_location_hint:"Tap the map to drop a pin",translate_location_locate:"Use my location",translate_location_locating:"Finding your location",translate_location_locate_failed:"Your location is not available",translate_location_map_failed:"The map could not be loaded",translate_location_send_failed:"Could not send, try again",translate_location_skip:"Not now",translate_location_send:"Send",translate_location_shared:"Location shared",translate_location_not_shared:"Location not shared",translate_trigger_fired:"Triggered by",translate_trigger_payload:"Payload",translate_messages_disabled:"This agent only runs from its triggers.",translate_read_only:"You're viewing this conversation. Nothing can be sent from here.",translate_access_refused:"This agent did not accept your sign-in.",translate_agent_unreachable:"This agent cannot be reached right now. Trying again...",translate_agent_missing:"This agent is not available.",translate_streaming:"Streaming",translate_done:"Done",translate_no_reasoning:"No reasoning provided.",translate_copy:"Copy to clipboard",translate_copied:"Copied",translate_media_pending_mermaid:"Drawing diagram",translate_media_pending_vega_lite:"Drawing chart",translate_media_pending_map:"Drawing map",translate_media_pending_report:"Writing report",translate_media_cut_off:"This block was cut off before it finished.",translate_media_failed:"Could not render this block.",translate_media_source:"Source",translate_media_pending:"Drawing",translate_media_mermaid:"Diagram",translate_media_vega_lite:"Chart",translate_media_map:"Map",translate_media_report:"Report",translate_media:"Preview",translate_image_unavailable:"Image unavailable",translate_image_unavailable_alt:"Image unavailable: {{alt}}",translate_image:"Image",translate_send:"Send",translate_stop:"Stop",translate_delete_conversation:"Delete conversation",translate_table:"Table",translate_expand:"Expand {{name}}",translate_table_export:"Export to Excel",translate_close:"Close",translate_approval_needed:"Needs your approval",translate_approval_action:"Run {{tool}}",translate_approved_failed:"Approved, but it failed",translate_approval_cancelled:"Not decided"};var $6={en:P4,ar:H4};function b_(_){return _&&v1.includes(_)?_:s0}function $_(_,$,Q){let Z=$6[_][$],J=typeof Z==="string"?Z:Z[new Intl.PluralRules(_).select(Number(Q?.count))]??Z.other;if(!Q)return J;return J.replace(/\{\{\s*(\w+)\s*\}\}/g,(Y,X)=>(X in Q)?String(Q[X]):Y)}function M4(_,$,Q){let Z=_!==void 0&&_.messages!==!1;return{greeting:_===void 0?"":y_(_.greeting,$)||$_($,"translate_greeting"),suggestions:Z&&y_(_.suggestions,$)||[],send:(J)=>{if(Z)Q(J)}}}class N_ extends Error{status;constructor(_,$){super(`HTTP ${_}: ${$}`);this.status=_;this.name="CortexHttpError"}}function _0(_){let $=_.getHeaders();return $ instanceof Promise?$.then(L4):Promise.resolve(L4($))}function L4(_){let $={..._},Q=Q6(),Z=Object.keys($).some((J)=>J.toLowerCase()===x1.toLowerCase());if(Q&&!Z)$[x1]=Q;return $}function Q6(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function Z6(_,$){let Q=_.baseUrl;return(typeof Q==="string"?Q:Q()).replace(/\/$/,"")+$}function J6(_){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 R4(_){function $(){return _0(_())}function Q(J){return Z6(_(),J)}async function Z(J,Y){let X=new Headers(await $());if(new Headers(Y?.headers).forEach((z,W)=>{X.set(W,z)}),Y?.body instanceof FormData)X.delete("Content-Type");else if(!X.has("Content-Type"))X.set("Content-Type","application/json");let V=await fetch(Q(J),{...Y,headers:X});if(!V.ok)throw new N_(V.status,V.statusText);let K=await V.text();return K?JSON.parse(K):void 0}return{getCapabilities(){return Z("/capabilities")},listThreads(){return Z("/threads")},createThread(){let J=_().threadBody;return Z("/threads",{method:"POST",...J&&{body:JSON.stringify(J)}})},deleteThread(J){return Z(`/threads/${J}`,{method:"DELETE"})},listMessages(J){return Z(`/threads/${J}/messages`)},listLlmRequests(J,Y){return Z(`/threads/${J}/messages/${Y}/llm-requests`)},abortStream(J){return Z(`/chat/${J}/abort`,{method:"POST"})},initiateToolCall(J,Y){return Z(`/chat/${J}/tools/${Y}/initiate`,{method:"POST"})},uploadAttachment(J,Y){let X=new FormData;return X.append("file",Y),Z(`/threads/${J}/files`,{method:"POST",body:X})},deleteAttachment(J){return Z(`/files/${J}`,{method:"DELETE"})},async downloadAttachment(J){let Y=await fetch(Q(`/files/${J}`),{headers:await $()});if(!Y.ok)throw new N_(Y.status,Y.statusText);return{blob:await Y.blob(),name:J6(Y.headers.get("Content-Disposition"))??J}},resolveHeaders:$,resolveUrl:Q}}var $0=30000;function Q0(_){return Math.min(1000*2**(_-1),$0)}var Y6=1e4;function O4(_){let $,Q,Z=0,J=!1,Y=!1;function X(){let{wsUrl:K,transport:z}=_.getConfig();if(K===!1)return;let W=X6(K,z.baseUrl);_0(z).then((G)=>{if(J)return;$=new WebSocket(V6(W,G)),$.addEventListener("open",()=>{Y=!0;let q=$;setTimeout(()=>{if($===q&&!J)Z=0},Y6),_.onOpen?.()}),$.addEventListener("message",(q)=>{let U=q.data;if(typeof U!=="string")return;let D;try{D=JSON.parse(U)}catch{return}_.onEvent(D)}),$.addEventListener("close",()=>{Y=!1,V()})}).catch(V)}function V(){if(J||Q)return;Z+=1,Q=setTimeout(()=>{Q=void 0,X()},Q0(Z))}return X(),{close(){J=!0,Y=!1,clearTimeout(Q),$?.close()},isOpen(){return Y}}}function X6(_,$){if(_)return _;let Q=typeof $==="string"?$:$(),Z=new URL(Q,window.location.origin);return Z.protocol=Z.protocol==="https:"?"wss:":"ws:",Z.pathname=Z.pathname.replace(/\/$/,"")+"/ws",Z.toString()}function V6(_,$){let Q=(X)=>Object.entries($).find(([V])=>V.toLowerCase()===X.toLowerCase())?.[1],Z=Q("Authorization"),J=Object.entries({token:Z?.startsWith("Bearer ")?Z.slice(7):void 0,operator:Q(Y4),inspect:Q(X4)}).filter((X)=>Boolean(X[1]));if(J.length===0)return _;let Y=new URL(_,window.location.origin);for(let[X,V]of J)if(!Y.searchParams.has(X))Y.searchParams.set(X,V);return Y.toString()}var E4={unreachable:"translate_agent_unreachable",refused:"translate_access_refused",missing:"translate_agent_missing"};function z6(_){let $=_ instanceof N_?_.status:void 0;if($===401)return"refused";if($===404)return"missing";return"unreachable"}function Z0(_,$,Q=Q0){let Z=!1,J,Y=0;function X(){_().then((V)=>{if(!Z)$.onAnswered(V)},(V)=>{if(Z)return;let K=z6(V);if($.onMissed?.(K),K==="missing")return;Y+=1,J=setTimeout(X,K==="refused"?$0:Q(Y))})}return X(),function(){Z=!0,clearTimeout(J)}}function q1(){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(_,(Q)=>Q.toString(16).padStart(2,"0")).join("");return`${$.slice(0,8)}-${$.slice(8,12)}-${$.slice(12,16)}-${$.slice(16,20)}-${$.slice(20)}`}var K6={type:"translate_attachment_rejected_type",size:"translate_attachment_rejected_size",name:"translate_attachment_rejected_name",count:"translate_attachment_rejected_count"};function J0(_,$){if(!_.refusal)return $_($,"translate_attachment_rejected");return $_($,K6[_.refusal],{types:new Intl.ListFormat($).format(u_.map((Q)=>Q.slice(Q.indexOf("/")+1).toUpperCase())),size:w1/1024/1024,count:f1})}function A4(_){let{api:$}=_,Q=new Set,Z=new Set,J=[],Y=[],X=Promise.resolve();function V(){return J}function K(B){return Q.add(B),()=>{Q.delete(B)}}function z(B){J=B;for(let P of Q)P()}function W(B,P){z(J.map((E)=>E.localId===B?{...E,...P}:E))}function G(B){if(Z.delete(B))return;W(B,{status:"error"})}async function q(B,P,E){if(Z.delete(B))return;let w;try{w=await $.uploadAttachment(P,E)}catch{G(B);return}if(Z.delete(B)){$.deleteAttachment(w.id).catch(()=>{});return}W(B,{status:"ready",attachmentId:w.id,summary:w})}function U(B){let P=[];for(let E of B){let w=e0(E),C=J.filter((r)=>r.status!=="error").length>=f1,i=w!=="ok"?w:C?"count":void 0,g=q1();if(z([...J,i?{localId:g,filename:E.name,status:"error",refusal:i}:{localId:g,filename:E.name,status:"uploading"}]),!i)P.push({localId:g,file:E})}if(!P.length)return;_.ensureThread().then((E)=>{for(let{localId:w,file:C}of P){if(Z.delete(w))continue;W(w,{threadId:E}),X=X.then(()=>q(w,E,C)).catch(()=>{})}},()=>{for(let{localId:E}of P)G(E)})}function D(B){let P=J.find((E)=>E.localId===B);if(!P)return;if(P.status==="uploading"){Z.add(B),z(J.filter((E)=>E.localId!==B));return}if(P.attachmentId){W(B,{status:"deleting"}),$.deleteAttachment(P.attachmentId).then(()=>z(J.filter((E)=>E.localId!==B)),()=>W(B,{status:"error"}));return}z(J.filter((E)=>E.localId!==B))}function L(B){let P=[];for(let E of J){if(E.threadId!==void 0&&E.threadId!==B){P.push(E);continue}if(E.status==="uploading")Z.add(E.localId);else if(E.status==="ready"&&E.threadId===B&&E.attachmentId)$.deleteAttachment(E.attachmentId).catch(()=>{})}if(P.length!==J.length)z(P)}function y(){let B=J.flatMap((P)=>P.status==="ready"&&P.summary?[{...P,status:"ready",summary:P.summary}]:[]);return z(J.filter((P)=>P.status!=="ready")),Y=B,B}function O(B){let P=Y;if(Y=[],P.some((E)=>E.threadId!==B))return;z([...P.map((E)=>({...E,status:"error"})),...J])}function k(){Y=[]}return{getState:V,subscribe:K,accept:U,remove:D,clear:L,consumeReady:y,restoreConsumed:O,discardConsumed:k}}function k4(_){return{uploading:_.some(($)=>$.status==="uploading"),busy:_.some(($)=>$.status==="uploading"||$.status==="deleting"),hasReady:_.some(($)=>$.status==="ready")}}import{ChatClient as H6}from"@tanstack/ai-client";import{EventType as I4}from"@tanstack/ai";import{fetchServerSentEvents as y4}from"@tanstack/ai-client";function G6(_){for(let $=_.length-1;$>=0;$-=1){let Q=_[$],Z="parts"in Q&&Q.parts.some((J)=>J.type==="tool-result"||J.type==="tool-call"&&J.state==="approval-responded");if(Q.role==="user"||Z)return _.slice($,$+1)}return _.slice(-1)}function W6(_){if(_.state==="approval-responded"){let $=_.approval?.approved;if($===void 0)return null;return{toolCallId:_.id,output:null,state:$?"approved":"denied"}}if(!a(_.state))return null;return{toolCallId:_.id,output:_.output??null,state:_.state==="error"?"error":"complete"}}function q6(_){let[$]=_;if(!$||$.role!=="assistant"||!("parts"in $))return null;let Q=$.parts.flatMap((Z)=>{let J=Z.type==="tool-call"?W6(Z):null;return J?[J]:[]});return Q.length>0?Q:null}async function D6(_){if(_.status!==409)return;let $=await _.clone().json().catch(()=>{return});return $!==null&&typeof $==="object"&&"outcome"in $&&$.outcome==="dropped"&&"reason"in $&&$.reason==="approval_pending"?"approval_pending":void 0}async function*b4(_,$,Q){for await(let Z of _){if(Z.type!==I4.MESSAGES_SNAPSHOT){yield Z;continue}let J=$.localMessages(),Y=J.findIndex((V)=>V.id===Q),X=Y===-1?[]:J.slice(Y+1).filter((V)=>V.role==="user");$.onTranscriptCarried?.(Z.timestamp??Date.now()),yield{...Z,messages:[...Z.messages,...X]}}}function S4(_){let{api:$,thread:Q}=_,Z=async()=>({headers:await $.resolveHeaders()}),J=0;async function*Y(G,q){J+=1,_.onStreamStarted?.();try{yield*G}finally{J-=1,q?.()}}function X(G){let q=Object.assign(async(U,D)=>{let L=await fetch(U,D).catch((O)=>{throw G("lost"),O});G(V4(L.status));let y=await D6(L);if(y)_.onRefused?.(y);return L},fetch);return y4(()=>$.resolveUrl("/chat"),async()=>({...await Z(),fetchClient:q}))}let V=function(G,q,U,D){let L=G6(G),y=q6(L),O=y?.map((E)=>E.toolCallId),k,B=X((E)=>{if(k)return;if(k=E,O&&k==="persisted")_.onReceipt?.(O,k)}),P=y?B.connect([],{...q,[Q4]:y},U,D):B.connect(L,q,U,D);return Y(b4(P,_,G.at(-1)?.id),()=>{if(O&&k!=="persisted")_.onReceipt?.(O,k??"lost")})},K=y4(()=>$.resolveUrl(`/chat/${Q.id}/stream`),Z),z=[];async function*W(G,q){yield{type:I4.MESSAGES_SNAPSHOT,timestamp:Date.now(),messages:z},yield*b4(K.joinRun(G,q),_,z.at(-1)?.id)}return{connect:V,joinRun:(G,q)=>Y(W(G,q)),streaming:()=>J>0,hydrate:async()=>{let G=await U6(_);return z=G.messages,G}}}async function U6(_){let{api:$,thread:Q,mode:Z}=_,J=Q.isRunning?{runId:Q.id}:null;if(Z==="skip")return{messages:[],activeRun:J,interrupts:null};if(Z==="load")_.setLoadingMessages?.(!0);try{let X=(await $.listMessages(Q.id)).map(m1);return _.onHydrated?.(X),{messages:X,activeRun:J,interrupts:null}}finally{_.setLoadingMessages?.(!1)}}async function C4(_){if(_.isStale?.()||_.isStreaming())return;try{let $=await _.api.listMessages(_.threadId);if(_.isStale?.()||_.isStreaming())return;let Q=$.map(m1);return _.setMessages(Q),Q}catch{return}}import{EventType as B6}from"@tanstack/ai";function F6(_){return new Set(F_(_).filter(($)=>$.state!=="approval-responded").map(($)=>$.id))}function Y0(_){return _.refusal==="approval_pending"?"translate_approval_pending":"translate_error"}var N6=2;function T4(_){let $=!1,Q=!1,Z=!1,J,Y,X,V,K=!1,z=!1,W,G,q=new Set,U=new Map,D=new Map,L=0,y=0,O=0,k=!1;function B(){if($)return;$=!0,_.setRunning(!0)}function P(R,b){U.get(R)?.waiters.forEach(b),U.delete(R)}function E(R,b,I=!1){for(let v of R){let j=U.get(v);if(!j)continue;if(j.failure=b,I)j.mayHaveLanded=!0}r()}async function w(R,b,I){try{await b()}catch(v){if(I)I.failures+=1;E([R],v instanceof Error?v:Error("The answer was not sent"))}}function C(R){for(let[b,I]of U)if(!R.has(b)){if(I.mayHaveLanded)B();P(b,(v)=>v.resolve())}else if(I.failure){let{failure:v}=I;P(b,(j)=>j.reject(v))}else w(b,I.deliver)}function i(R){for(let[I,v]of D){if(R.has(I))continue;if(D.delete(I),v.mayHaveLanded)B()}let b=[...D.values()];if(b.some((I)=>I.failures>N6))return;for(let I of b)g(I)}function g(R){if(!_.answers())return k=!0,Promise.resolve();return w(R.answer.toolCallId,()=>_.deliver(R.answer),R)}async function r(){let R=L,b=++y,I=()=>L!==R||O>b||!_.isAlive(),v=await _.refreshMessages(I).catch(()=>{return});if(!v||I())return;O=b;let j=F6(v),q_=k;if(k=!1,C(j),i(j),$||q_)E_(v)}async function h_(R,b){let I;try{let q_=b({toolCallId:R.id,toolName:R.name,input:R.input},{threadId:_.threadId});if(q_===null||q_===void 0)return;I=await Promise.resolve(q_)}catch{q.delete(R.id);return}if(I===null||I===void 0)return;if(!_.isAlive())return;let j={answer:{toolCallId:R.id,tool:R.name,output:I},failures:0,mayHaveLanded:!1};D.set(R.id,j),await g(j)}function E_(R){let b=F_(R),I=_.onToolCall();if(!I)return b.length>0;if(!_.answers())return k||=b.length>0,b.length>0;for(let v of b){if(v.state!=="input-complete"||q.has(v.id))continue;q.add(v.id),h_(v,I)}return b.length>0}async function K1(R){if(Z)_.reloadThreads().catch(()=>{});else _.setRunning(!1);if($&&!K&&E_(R()))return;if(G===void 0&&W!==void 0)return;G=void 0,await r()}return{chunkArrived(R){if(Q=!0,R.type===B6.RUN_ERROR&&R.code!=="aborted")J={reason:R.message||void 0}},transcriptCarried(R){if(W=R,G!==void 0&&G<=R)G=void 0},transcriptUpdated(R){let b=Date.parse(R);if(W!==void 0&&b<=W)return;if(!z){r();return}G=Math.max(G??0,b)},streamFailed(){if(Z=!0,K)return;if(Q)_.onTurnFinished();else _.onSendFailed();if(Y){if(_.setTurnFailed({reason:void 0,refusal:Y}),V!==void 0)_.returnDraft(V);return}let b=J??(V!==void 0&&!Q?{reason:void 0}:void 0);if(b)_.setTurnFailed(b)},loadingChanged(R,b){if(R){z=!0;return}if(!z)return;z=!1,_.onTurnFinished(),K1(b)},hydrated(R,b){if(b)return;setTimeout(()=>{if(_.isAlive())E_(R)},0)},deliverAnswer(R,b){return new Promise((I,v)=>{let j=[...U.get(R)?.waiters??[],{resolve:I,reject:v}];U.set(R,{deliver:b,waiters:j}),w(R,b)})},receiptArrived(R,b){if(b==="persisted"){for(let v of R)D.delete(v),P(v,(j)=>j.resolve());B();return}let I=b==="lost";for(let v of R){let j=D.get(v);if(!j)continue;j.failures+=1,j.mayHaveLanded||=I}E(R,Error(I?"The answer was lost":"Cortex refused the answer"),I)},readBack:r,resumeAnswers(){if(k&&!z)r()},streamStarted(){if($)_.setRunning(!0);L+=1,Z=!1,J=void 0,Y=void 0,V=X,X=void 0,W=void 0,K=!1,_.setTurnFailed(void 0)},sendStarted(R){L+=1,X=R,$=!0,Q=!1},sendRefused(R){Y=R},abortConfirmed(){K=!0}}}var D1={messages:[],isAgentWorking:!1,isLoadingMessages:!1,hasPendingToolCalls:!1,awaitsApproval:!1,turnFailure:void 0};function v4(_){let{api:$}=_,Q=_.thread.id,Z=new Set,J=D1,Y=V(_.thread,_.mode);function X(D,L){if(Object.is(J[D],L))return;let y={...J,[D]:L};J={...y,hasPendingToolCalls:!y.isAgentWorking&&F_(y.messages).length>0,awaitsApproval:z4(y.messages)},Z.forEach((O)=>O())}function V(D,L,y){let O=!0;function k(C){return(...i)=>{if(O)C(...i)}}let B=Promise.resolve(),P=T4({threadId:Q,isAlive:()=>O,onToolCall:()=>_.getHooks()?.onToolCall,answers:_.answers,deliver:(C)=>w.addToolResult(C),setRunning:_.setRunning,reloadThreads:_.reloadThreads,refreshMessages:(C)=>{let i=B.then(()=>C4({api:$,threadId:Q,isStale:()=>!O||C(),isStreaming:E.streaming,setMessages:(g)=>w.setMessagesManually(g)}));return B=i,i},onTurnFinished:_.onTurnFinished,onSendFailed:_.onSendFailed,setTurnFailed:k((C)=>X("turnFailure",C)),returnDraft:k(_.onReturned)}),E=S4({api:$,thread:D,mode:L,localMessages:()=>w.getMessages(),onHydrated:k((C)=>P.hydrated(C,D.isRunning)),onTranscriptCarried:k((C)=>P.transcriptCarried(C)),onStreamStarted:k(()=>P.streamStarted()),onRefused:k((C)=>P.sendRefused(C)),onReceipt:k((C,i)=>P.receiptArrived(C,i)),setLoadingMessages:k((C)=>X("isLoadingMessages",C))}),w=new H6({threadId:Q,persistence:!0,initialMessages:y,connection:E,onChunk:k((C)=>P.chunkArrived(C)),onError:k(()=>P.streamFailed()),onMessagesChange:k((C)=>X("messages",C)),onLoadingChange:k((C)=>{X("isAgentWorking",C);let i=()=>w.getMessages();if(C){P.loadingChanged(!0,i);return}setTimeout(k(()=>{if(!w.getIsLoading())P.loadingChanged(!1,i)}))})});return w.attach(),{client:w,lifecycle:P,isAlive:()=>O,close(){O=!1,w.detach(),w.stop(),w.dispose()}}}async function K(D,L=()=>[]){if(!Y.isAlive()||J.isAgentWorking||J.awaitsApproval)return!1;let{client:y,lifecycle:O}=Y;return O.loadingChanged(!1,()=>y.getMessages()),O.sendStarted(D),await y.append({id:q1(),role:"user",parts:[{type:"text",content:D}],metadata:{createdAt:new Date().toISOString(),attachments:L()}}),!0}async function z(){let{client:D,lifecycle:L,isAlive:y}=Y;if(!y()||!D.getIsLoading())return;let{aborted:O}=await $.abortStream(Q).catch(()=>({aborted:!1}));if(!y())return;if(O)L.abortConfirmed();else D.stop()}function W(D,L,y){let{client:O,lifecycle:k,isAlive:B}=Y;if(!B())return Promise.resolve();return k.deliverAnswer(D,()=>O.addToolResult({toolCallId:D,tool:L,output:y}))}function G(D,L){let{client:y,lifecycle:O,isAlive:k}=Y;if(!k())return Promise.resolve();let B=Z4(D);return O.deliverAnswer(D.id,async()=>{let P=y.getInterrupts().find((E)=>E.id===B);if(P&&"resolveInterrupt"in P)P.resolveInterrupt({approved:L});else await y.addToolApprovalResponse({id:B,approved:L})})}function q(D){if(!Y.isAlive()||D.id!==Q||Y.client.getIsLoading())return;if(!D.isRunning){Y.lifecycle.readBack();return}Y.close(),X("isLoadingMessages",!1),X("turnFailure",void 0),Y=V(D,"reload",J.messages)}function U(D){if(Y.isAlive()&&D.id===Q)Y.lifecycle.transcriptUpdated(D.updatedAt)}return{threadId:Q,getState:()=>J,subscribe:(D)=>{return Z.add(D),()=>{Z.delete(D)}},send:K,abort:z,addToolResult:W,respondToApproval:G,reattach:q,transcriptUpdated:U,resumeAnswers:()=>{if(Y.isAlive())Y.lifecycle.resumeAnswers()},dispose(){Y.close(),Z.clear()}}}function X0(_){return[..._].sort(($,Q)=>{let Z=Date.parse(Q.updatedAt)-Date.parse($.updatedAt);if(Z!==0)return Z;return Date.parse(Q.createdAt)-Date.parse($.createdAt)})}function V0(_,$){let Q=[..._],Z=Q.findIndex((J)=>J.id===$.id);if(Z===-1)Q.push($);else Q[Z]={...Q[Z],...$};return X0(Q)}function w4(_,$){return _.filter((Q)=>Q.id!==$)}function P6(_,$,Q){return _.map((Z)=>Z.id===$?{...Z,title:Q}:Z)}var M6=[0,1000,2000,3000,4000];function f4(_){let $=_.delays??M6,Q=!1,Z;function J(){let V=_.selected();return!Q&&!_.socketOpen()&&V?.id===_.threadId&&!V.title}async function Y(V){if(!J())return;let z=(await _.listThreads().catch(()=>{return}))?.find((W)=>W.id===_.threadId)?.title;if(!J())return;if(z)_.setTitle(z);else X(V+1)}function X(V){let K=$[V];if(K!==void 0)Z=setTimeout(()=>void Y(V),K)}return X(0),function(){Q=!0,clearTimeout(Z)}}function j4(_,$){switch($.type){case"thread:deleted":return w4(_,$.payload.threadId);case"thread:created":case"thread:title-updated":case"thread:run-started":case"thread:run-finished":case"thread:messages-updated":return V0(_,$.payload.thread);default:return _}}function g4(){let _=new Map,$=new Map,Q=new Map,Z=new Set,J=0,Y=0;function X(V){if(V.type==="thread:run-started")return _.set(V.payload.thread.id,V.payload.runId),!0;if(V.type!=="thread:run-finished")return!0;let K=_.get(V.payload.thread.id);return K===void 0||K===V.payload.runId}return{admits(V){if(!X(V))return!1;if("thread"in V.payload)$.set(V.payload.thread.id,++J);if(V.type==="thread:deleted")Z.add(V.payload.threadId);return!0},running(V,K){return Q.set(V,++J),(z)=>{let W=z?.find((G)=>G.id===V);return z&&W?V0(z,{...W,isRunning:K}):z}},created(V){return $.set(V.id,++J),(K)=>V0(K??[],V)},retitled(V,K){return $.set(V,++J),(z)=>z&&P6(z,V,K)},deleted(V){return Z.add(V),(K)=>K&&w4(K,V)},async read(V){_.clear();let K=++J,z=X0(await V()),W=K<Y;Y=Math.max(Y,K);function G(q){if(W&&q)return q;let U=new Map(z.map((D)=>[D.id,D]));for(let D of q??[]){let L=U.get(D.id);if(($.get(D.id)??0)>K)U.set(D.id,D);else if(L&&(Q.get(D.id)??0)>K)U.set(D.id,{...L,isRunning:D.isRunning})}for(let D of Z)U.delete(D);return X0([...U.values()])}return{listed:z,show:G}}}}function m4(_,$){for(let Q in _)if(!Object.is(_[Q],$[Q]))return!1;return!0}function d_(_,$){let{capabilities:Q,session:Z}=_,J=k4(_.attachments);return Q!==void 0&&Q.messages!==!1&&!_.creating&&!Z.isAgentWorking&&!Z.awaitsApproval&&!J.busy&&(Boolean($.trim())||J.hasReady)}function z0(_){let{capabilities:$,unanswered:Q}=_;if(_.session.hasPendingToolCalls)return;if($===void 0)return Q&&E4[Q];if($.messages)return"composer";return $.readOnly?"translate_read_only":"translate_messages_disabled"}function K0(_){let{getConfig:$}=_,Q=R4(()=>$().transport),Z=new Set,J=g4(),Y=A4({api:Q,ensureThread:n0}),X={threads:void 0,selected:void 0,session:D1,capabilities:void 0,unanswered:void 0,attachments:Y.getState(),creating:!1,screen:"chat",sidebarOpen:!1,debugMode:!1},V={...X,parts:x4(X)},K="",z,W=0,G,q,U,D,L,y,O,k=[],B=!1,P={reported:V.session,debug:!1,session:V.session};Y.subscribe(()=>g({attachments:Y.getState()}));function E(){for(let F of Z)F()}function w(F){return Z.add(F),()=>{Z.delete(F)}}function C(F){let A=z;return A&&(F?.find((T)=>T.id===A.id)??A)}function i(F){let A=q?.getState()??D1;if(A===P.reported&&F===P.debug)return P.session;let T=A.turnFailure,x=F||T?.reason===void 0?A:{...A,turnFailure:{...T,reason:void 0}};return P={reported:A,debug:F,session:x},x}function g(F={}){let A={...V,...F},T={...A,selected:C(A.threads),session:i(Boolean(A.capabilities?.debug)),creating:G?.generation===W&&G.forMessage},x=x4(T),o={...T,parts:m4(x,V.parts)?V.parts:x};if(m4(o,V))return;V=o,E()}function r(F){g({threads:F(V.threads)})}function h_(F){if(F===K)return;K=F,E()}function E_(F){if(F)h_(K?`${F}
3
+ ${K}`:F)}function K1(F,A=!1){let T=V.selected;r(F);let x=V.selected;if(x){if(A||x.isRunning&&!T?.isRunning)q?.reattach(x);else if(x.updatedAt!==T?.updatedAt)q?.transcriptUpdated(x)}R()}function R(){let F=$().thread,A=!B&&F&&V.threads?.find((T)=>T.id===F);if(!A)return;B=!0,i0(A)}async function b(F=!1){let A=D,T=await J.read(()=>Q.listThreads()).catch(()=>{return});if(!T||!D||D!==A)return!1;return K1(T.show,F),!0}function I(){y?.(),g({capabilities:void 0,unanswered:void 0}),y=Z0(()=>Q.getCapabilities(),{onAnswered:(F)=>{if(g({capabilities:F,unanswered:void 0,debugMode:V.debugMode&&F.debug}),G1())q?.resumeAnswers()},onMissed:(F)=>g({unanswered:F})})}function v(){O?.();let F=z?.id;if(!F)return;O=f4({threadId:F,listThreads:()=>Q.listThreads(),selected:()=>V.selected,socketOpen:()=>D?.isOpen()??!1,setTitle:(A)=>r(J.retitled(F,A))})}function j(F){q?.dispose(),q=void 0,U=void 0;let A=C(V.threads);if(D&&A){let T=v4({api:Q,thread:A,mode:F,getHooks:()=>$().hooks,answers:G1,setRunning:(x)=>{if(x||!U)r(J.running(A.id,x))},reloadThreads:()=>b(),onTurnFinished:()=>{if(Y.discardConsumed(),v(),U)b().then((x)=>{U=void 0;let o=V.selected;if(x&&o?.isRunning)q?.reattach(o)})},onSendFailed:()=>Y.restoreConsumed(A.id),onReturned:E_});q=T,T.subscribe(()=>g())}g()}function q_(){W+=1,Y.clear(z?.id)}function l0(){g({screen:"chat",sidebarOpen:!1})}function i0(F){if(l0(),z?.id===F.id)return;let A=V.selected;q_(),z=F,j("load");let T=$().hooks;if(A)T?.onThreadDeselected?.(A);T?.onThreadSelected?.(F)}function C1(){let F=V.selected;if(q_(),z=void 0,j("load"),F)$().hooks?.onThreadDeselected?.(F)}function N8(){C1(),l0()}async function H8(F){if(z?.id===F)C1();await Q.deleteThread(F),r(J.deleted(F))}function P8(){return new Promise((F)=>{if(D)F();else k.push(F)})}function n0(F=!1){if(z)return Promise.resolve(z.id);if(G?.generation===W)G={...G,forMessage:G.forMessage||F};else{let A=W,T=()=>{if(G?.generation===A)G=void 0},x=Q.createThread().then(async(o)=>{if(r(J.created(o)),await P8(),T(),W===A)z=o,j("skip"),$().hooks?.onThreadSelected?.(o);return o.id},(o)=>{throw T(),g(),o});G={generation:A,threadId:x,forMessage:F}}return g(),G.threadId}function M8(F){let A=K;if(!d_(V,A))return;F(A.trim()),h_(""),r0(A)}function T1(F){return E_(F),{sent:!1,text:F}}async function r0(F){if(!d_(V,F))return T1(F);let A=W,T=await n0(!0).catch(()=>{return}),x=q;if(!x||x.threadId!==T||W!==A)return T1(F);let o=$_(b_($().locale),"translate_attachment_caption");return await x.send(F.trim()||o,()=>Y.consumeReady().map((I8)=>I8.summary))?{sent:!0}:T1(F)}function L8(F){if(J.admits(F))r((A)=>{let T=j4(A??[],F);return A||T.length?T:A});switch(F.type){case"thread:deleted":if(z?.id===F.payload.threadId)C1();break;case"thread:run-started":if(F.payload.thread.id===z?.id&&V.session.isAgentWorking)U=F.payload.runId;q?.reattach(F.payload.thread);break;case"thread:run-finished":if(F.payload.runId===U)U=void 0;q?.transcriptUpdated(F.payload.thread);break;case"thread:messages-updated":q?.transcriptUpdated(F.payload.thread);break}}function R8(){I(),b(!0)}function O8(){if(D)return;let F=!1;D=O4({getConfig:$,onEvent:L8,onOpen:()=>{if(F)R8();F=!0}}),L=Z0(()=>J.read(()=>Q.listThreads()),{onAnswered:({show:A})=>K1(A),onMissed:(A)=>{if(A!=="unreachable")r((T)=>T??[])}}),I(),j("load");for(let A of k.splice(0))A()}function E8(){if(!D)return;D.close(),D=void 0,L?.(),y?.(),O?.(),j("load")}function A8(){if($().viewMode==="full")g({sidebarOpen:!0});else g({screen:"threads"})}function k8(){if($().viewMode==="full")g({sidebarOpen:!1});else g({screen:"chat"})}function G1(){return V.capabilities?.messages===!0}function y8(F,A,T){if(!G1())return Promise.resolve();return q?.addToolResult(F,A,T)??Promise.resolve()}function b8(F,A){if(!G1())return Promise.resolve();return q?.respondToApproval(F,A)??Promise.resolve()}return{api:Q,getState:()=>V,getDraft:()=>K,subscribe:w,start:O8,stop:E8,setDraft:h_,submit:r0,sendDraft:M8,abort:()=>q?.abort()??Promise.resolve(),addToolResult:y8,respondToApproval:b8,openThread:i0,newChat:N8,deleteThread:H8,attachFiles:Y.accept,removeAttachment:Y.remove,openHistory:A8,closeHistory:k8,toggleDebug:()=>g({debugMode:!V.debugMode})}}function x4(_){let{threads:$,selected:Q,capabilities:Z,debugMode:J}=_;return{threads:$,selected:Q,capabilities:Z,debugMode:J,isWorking:_.session.isAgentWorking}}function G0(_,$,Q,Z){let J=b_(Q.locale),Y=$.capabilities?.readOnly===!1?{newChat:_.newChat,deleteThread:(V)=>void _.deleteThread(V)}:void 0;function X(V){return{screen:V,viewMode:Q.viewMode??"helper",title:$.selected?.title??null,agentName:y_(Q.agentName,J),threadCount:$.threads?.length,isWorking:$.isWorking,debug:{shown:Boolean($.capabilities?.debug),on:$.debugMode},newChat:Y?.newChat,openHistory:_.openHistory,closeHistory:_.closeHistory,toggleDebug:_.toggleDebug}}return{chatHeader:X("chat"),threadsHeader:X("threads"),landing:{...M4($.capabilities,J,(V)=>void _.submit(V)),threads:$.threads,composer:Z,openThread:_.openThread,openHistory:_.openHistory},threadList:{threads:$.threads,selectedThreadId:$.selected?.id,openThread:_.openThread,...Y}}}var h4="allow-scripts allow-forms allow-popups";function L6(_,$){try{return _.contentWindow?.location.origin===$}catch{return!1}}function W0(_){let $=_.host.location.origin,Q=!1,Z=!1,J,Y=!1,X;function V(q){if(!Q)_.onState(q)}function K(){if(Q)return;Z=!1,V({phase:"error"})}function z(q){if(Q||Z)return;Z=!0,V({phase:"settling"});try{let U=_.submit(q);if(U instanceof Promise)U.catch(K)}catch{K()}}function W(q){if(!J)return;if(X===void 0||q.source!==X)return;let U=a0(q.data,q.origin,J);if(!U)return;z({status:U.status,reference:U.reference,result:U.result})}function G(){if(Q||Z)return;J=void 0,X=void 0,V({phase:"error"})}return _.host.addEventListener("message",W),{async start(){V({phase:"initiating"});try{let q=await _.initiate(),U=new URL(q.embedUrl);if(!/^https?:$/.test(U.protocol)){V({phase:"error"});return}let D=U.origin===$;Y=D&&_.trustSameOrigin===!0,J=q.embedOrigin,V({phase:"embedded",embedUrl:q.embedUrl,surface:q.surface,sandbox:D&&!Y?h4:`${h4} allow-same-origin`})}catch(q){let U=q instanceof N_&&q.status===404;V({phase:U?"unavailable":"error"})}},setSource(q){if(q!==null&&q!==void 0)X=q},frameLoaded(q){if(!Y&&L6(q,$))G()},cancel(){z({status:"cancelled"})},dispose(){Q=!0,_.host.removeEventListener("message",W)}}}async function l_(_,$){let Q=await import("leaflet"),Z=!$.interactive,J=Q.map(_,{center:$.center,zoom:$.zoom,zoomControl:!Z,dragging:!Z,scrollWheelZoom:!Z,doubleClickZoom:!Z,touchZoom:!Z,boxZoom:!Z,keyboard:!Z});Q.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(J);let Y=new ResizeObserver(()=>J.invalidateSize());return Y.observe(_),{leaflet:Q,map:J,dispose(){Y.disconnect(),J.remove()}}}var U1={position:void 0,locating:!1,locateFailed:!1,mapFailed:!1,submitting:!1,deliveryFailed:!1},R6={center:{lat:20,lng:0},zoom:2},O6=13,c4=16,E6=1e4;function q0(_,$){let Q=U1,Z=!1,J=!1,Y,X,V,K=0;function z(U){if(Q={...Q,...U},!Z)$.onState(Q)}function W(){let U=Q.position;if(!Y||!U)return;let{leaflet:D,map:L}=Y;if(X)X.setLatLng(U);else{let y=D.marker(U,{draggable:!Q.submitting}).addTo(L);y.on("dragend",()=>{let{lat:O,lng:k}=y.getLatLng();G({lat:O,lng:u4(k)})}),X=y}V?.remove(),V=U.accuracy?D.circle(U,{radius:U.accuracy}).addTo(L):void 0}function G(U){if(Q.submitting)return;K+=1,z({position:U,locating:!1,locateFailed:!1}),W()}function q(U){if(Z||J)return;J=!0,K+=1,X?.dragging?.disable(),z({submitting:!0,locating:!1,deliveryFailed:!1});let D=()=>{J=!1,X?.dragging?.enable(),z({submitting:!1,deliveryFailed:!0})};try{let L=$.submit(U);if(L instanceof Promise)L.catch(D)}catch{D()}}return{async start(){let U=$.center?{center:$.center,zoom:O6}:R6,D;try{D=await l_(_,{...U,interactive:!0})}catch{z({mapFailed:!0});return}if(Z){D.dispose();return}Y=D,D.map.on("click",(L)=>G({lat:L.latlng.lat,lng:u4(L.latlng.lng)})),W()},locate(){if(Q.locating||Q.submitting)return;if(!navigator.geolocation){z({locateFailed:!0});return}K+=1;let U=K;z({locating:!0,locateFailed:!1}),navigator.geolocation.getCurrentPosition(({coords:D})=>{if(Z||U!==K)return;let L={lat:D.latitude,lng:D.longitude,accuracy:Math.round(D.accuracy)};G(L),Y?.map.setView(L,c4)},()=>{if(U===K)z({locating:!1,locateFailed:!0})},{enableHighAccuracy:!0,timeout:E6})},confirm(){if(Q.position)q({status:"completed",result:Q.position})},cancel(){q({status:"cancelled"})},dispose(){Z=!0,Y?.dispose()}}}function D0(_,$,Q){let Z=!1,J;return l_(_,{center:$,zoom:c4,interactive:!1}).then((Y)=>{if(Z){Y.dispose();return}J=Y.dispose,Y.leaflet.marker($).addTo(Y.map)},()=>{if(!Z)Q()}),()=>{Z=!0,J?.()}}function u4(_){if(_>=-180&&_<=180)return _;return((_+180)%360+360)%360-180}function p4(_){if(!_||typeof _!=="object")return!1;let{lat:$,lng:Q}=_;return typeof $==="number"&&typeof Q==="number"&&Math.abs($)<=90&&Math.abs(Q)<=180}function U0(_){let $=_&&typeof _==="object"?_.center:void 0;return p4($)?$:void 0}function B0(_){if(!_||typeof _!=="object")return;let{status:$,result:Q}=_;if($!=="completed"||!p4(Q))return;let{accuracy:Z}=Q;return{...Q,...typeof Z==="number"?{accuracy:Z}:{}}}function B1(_){let $=`${_.lat.toFixed(4)}, ${_.lng.toFixed(4)}`;return _.accuracy?`${$} ±${_.accuracy} m`:$}function F0(_){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}}import{marked as A6}from"marked";import k6 from"dompurify";function i_(_,$=[]){if(!_)return"";let Q=document.createElement("template");if(Q.innerHTML=A6.parse(_,{async:!1}).replace(/<table>/g,'<div style="overflow-x:auto"><table style="width:max-content">').replace(/<\/table>/g,"</table></div>").replace(/<(t[hd])([\s>])/g,'<$1 style="padding:0.5rem 1rem"$2'),b6(Q.content),$.length)I6(Q.content,$);return k6.sanitize(Q.innerHTML,{FORBID_TAGS:["img","picture","source"]})}var y6=/[\p{Script=Arabic}\p{Script=Hebrew}]/u;function b6(_){for(let $ of Array.from(_.children))if($.localName!=="div")$.setAttribute("dir","auto");_.querySelectorAll("table").forEach(($)=>{let Q=/\p{L}/u.exec($.textContent??"")?.[0];if(!Q)return;let Z=y6.test(Q)?"rtl":"ltr";if($.setAttribute("dir",Z),$.parentElement?.childElementCount===1)$.parentElement.setAttribute("dir",Z)}),_.querySelectorAll("th, td").forEach(($)=>$.setAttribute("dir","auto")),_.querySelectorAll("pre").forEach(($)=>$.setAttribute("dir","ltr"))}function I6(_,$){let Q=[...$].sort((Y,X)=>Y.length-X.length),Z=Q[Q.length-1]?.length??0,J=0;for(let Y of S6(_)){if(J>=Z)break;Y.replaceWith(...C6(Y.data,J,Q)),J+=Y.data.length}}function S6(_){let $=document.createTreeWalker(_,4),Q=[];for(let Z=$.nextNode();Z;Z=$.nextNode())if(Z.data.trim())Q.push(Z);return Q.reverse()}function C6(_,$,Q){let Z=[],J=_.length;for(let Y of Q){if(Y.length<=$)continue;if(J<=0)break;let X=Math.min(J,Y.length-$);if(X<J&&/[\uDC00-\uDFFF]/.test(_.charAt(J-X)))X+=1;let V=document.createElement("span");V.className="cortex-stream-fade",V.style.animationDelay=`-${Y.age}ms`,V.textContent=_.slice(J-X,J),Z.unshift(V),J-=X,$+=X}if(J>0)Z.unshift(document.createTextNode(_.slice(0,J)));return Z}import{marked as n4}from"marked";var d4=/^ {0,3}(`{3,}|~{3,})(.*)$/;function l4(){let _=null;return($)=>{let Q=d4.exec($),Z=Q?.[1],J=Q?.[2]??"";if(Z){let Y=Z.charAt(0);if(_){if(Y===_.marker&&Z.length>=_.length&&J.trim()==="")return _=null,"close";return"inside"}if(Y==="`"&&J.includes("`"))return"outside";return _={marker:Y,length:Z.length},"open"}return _?"inside":"outside"}}function i4(_){return d4.exec(_)?.[2]?.trim().split(/\s+/)[0]??""}var T6=/^\s*!\[([^\]]*)\]\(attachment#([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\)\s*$/i;function N0(_,$){if($.role!=="assistant")return[{kind:"markdown",text:_}];return v6(_,$.languages).map((Q)=>{switch(Q.kind){case"table":return{...Q,closed:Q.closed||!$.arriving};case"attachment":return{...Q,attachment:$.attachments?.find((Z)=>Z.id.toLowerCase()===Q.id)};default:return Q}})}function v6(_,$){let Q=[],Z=[],J=null;function Y(z=!1){if(Z.length)Q.push(...f6(Z.join(`
4
+ `),z));Z=[]}function X(z){if(J)Q.push({kind:"media",...J,source:J.source.join(`
5
+ `),closed:z});J=null}let V=l4(),K=_.split(`
6
+ `);for(let[z,W]of K.entries()){let G=V(W);if(J){if(G==="close")X(!0);else J.source.push(W);continue}if(G==="open"&&z===K.length-1)break;let q=w6(W,G,$);if(!q){Z.push(W);continue}if(Y(),q.kind==="media")J={language:q.language,source:[]};else Q.push(q)}return X(!1),Y(!0),Q}function w6(_,$,Q){if($==="open"){let J=i4(_),Y=Q.find((X)=>X===J);return Y?{kind:"media",language:Y}:void 0}let Z=$==="outside"?T6.exec(_):null;return Z?{kind:"attachment",alt:Z[1]??"",id:(Z[2]??"").toLowerCase()}:void 0}function f6(_,$){let Q=n4.lexer(_);if(!Q.some((W)=>W.type==="table"))return[{kind:"markdown",text:_}];let Z=[];n4.walkTokens(Q,(W)=>{if(W.type==="def")Z.push(W.raw.trim())});let J=Z.join(`
7
+ `),Y=(W)=>J?`${J}
8
+
9
+ ${W}`:W,X=[],V="";function K(){if(V.trim())X.push({kind:"markdown",text:Y(V)});V=""}let z=Q.filter((W)=>W.type!=="def");for(let[W,G]of z.entries()){if(G.type!=="table"){V+=G.raw;continue}K();let q=z.slice(W+1).some((U)=>U.raw.trim()!=="");X.push({kind:"table",text:Y(G.raw.trimEnd()),closed:q||!$})}return K(),X}function F1(_,$){let Q=URL.createObjectURL(_),Z=document.createElement("a");Z.href=Q,Z.download=$,document.body.append(Z),Z.click(),Z.remove(),setTimeout(()=>URL.revokeObjectURL(Q),40000)}var j6=/^-?(?:0|[1-9]\d*)(?:\.\d*[1-9])?$/;function g6(_){return j6.test(_)&&_!=="-0"&&_.replace(/[-.]/g,"").replace(/^0/,"").length<=15}var m6=32767,r4=new TextEncoder;function H0(_){let $=_.querySelector("table");if($)F1(u6(x6($)),"table.xlsx")}function x6(_){return Array.from(_.rows,($)=>Array.from($.cells,h6))}function h6(_){let $=_.cloneNode(!0);if($ instanceof Element)$.querySelectorAll("br").forEach((Q)=>Q.replaceWith(`
10
+ `));return($.textContent??"").trim()}function u6(_){return new Blob([r6(l6(_))],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}function c6(_){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 p6(_){let $="";for(let Q=_+1;Q>0;Q=Math.floor((Q-1)/26))$=String.fromCharCode(65+(Q-1)%26)+$;return $}function d6(_){return`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><sheetData>${_.map((Q,Z)=>{let J=Q.map((Y,X)=>{let V=`${p6(X)}${Z+1}`,K=Z===0?' s="1"':"";return Z>0&&g6(Y)?`<c r="${V}"${K}><v>${Y}</v></c>`:`<c r="${V}"${K} t="inlineStr"><is><t xml:space="preserve">${c6(Y.slice(0,m6))}</t></is></c>`}).join("");return`<row r="${Z+1}">${J}</row>`}).join("")}</sheetData></worksheet>`}function l6(_){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:d6(_)}]}var i6=Array.from({length:256},(_,$)=>{let Q=$;for(let Z=0;Z<8;Z++)Q=Q&1?3988292384^Q>>>1:Q>>>1;return Q>>>0});function n6(_){let $=4294967295;for(let Q of _)$=(i6[($^Q)&255]??0)^$>>>8;return($^4294967295)>>>0}function r6(_){let $=[],Q=[],Z=0;for(let z of _){let W=r4.encode(z.name),G=r4.encode(z.text),q=n6(G),U=new DataView(new ArrayBuffer(30));U.setUint32(0,67324752,!0),U.setUint16(4,20,!0),U.setUint16(6,2048,!0),U.setUint32(14,q,!0),U.setUint32(18,G.length,!0),U.setUint32(22,G.length,!0),U.setUint16(26,W.length,!0),$.push(new Uint8Array(U.buffer),W,G);let D=new DataView(new ArrayBuffer(46));D.setUint32(0,33639248,!0),D.setUint16(4,20,!0),D.setUint16(6,20,!0),D.setUint16(8,2048,!0),D.setUint32(16,q,!0),D.setUint32(20,G.length,!0),D.setUint32(24,G.length,!0),D.setUint16(28,W.length,!0),D.setUint32(42,Z,!0),Q.push(new Uint8Array(D.buffer),W),Z+=30+W.length+G.length}let J=Q.reduce((z,W)=>z+W.length,0),Y=new DataView(new ArrayBuffer(22));Y.setUint32(0,101010256,!0),Y.setUint16(8,_.length,!0),Y.setUint16(10,_.length,!0),Y.setUint32(12,J,!0),Y.setUint32(16,Z,!0);let X=[...$,...Q,new Uint8Array(Y.buffer)],V=new Uint8Array(X.reduce((z,W)=>z+W.length,0)),K=0;for(let z of X)V.set(z,K),K+=z.length;return V}function P0(_,$,Q){let Z=!1,J;return Q({url:void 0,failed:!1}),_.downloadAttachment($).then(({blob:Y})=>{if(Z)return;J=URL.createObjectURL(Y),Q({url:J,failed:!1})},()=>{if(!Z)Q({url:void 0,failed:!0})}),()=>{if(Z=!0,J)URL.revokeObjectURL(J)}}async function M0(_,$){let Q=await _.downloadAttachment($).catch(()=>{return});if(Q)F1(Q.blob,Q.name)}var s4=new Set(["flatten","fold","density","impute","regression","loess","quantile","sample"]),o6=`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: ${[...s4,"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 t4(_,$){if(_==="url")return"Charts may only use inline data and no URLs.";if(_==="sequence"||_==="graticule")return"Charts may only use inline data.";if(s4.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(a6.has(_)&&typeof $==="string"&&!s6($))return"Charts may only use simple expressions over datum.";if(_==="usermeta")return"Charts may not carry usermeta.";if(typeof $==="string"&&N1($))return"Charts may not reference URLs.";if((_==="width"||_==="height")&&t6($)>4000)return"Charts may be at most 4000 pixels wide or tall.";return}var a6=new Set(["calculate","filter","test","signal","labelExpr"]),o4=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 s6(_){if(_.length>500||/[\\`]/.test(_))return!1;let $=_.replace(/'[^']*'|"[^"]*"/g,'""');for(let[,Z]of $.matchAll(/([A-Za-z_$][\w$]*)\s*\(/g))if(!o4.has(Z??""))return!1;let Q=$.replace(/(datum|parent)(\s*\.[\w$]+|\s*\[\s*""\s*\])+|\b\d[\w.]*/g,"").matchAll(/[A-Za-z_$][\w$]*/g);for(let[Z]of Q)if(!o4.has(Z)&&!["true","false","null"].includes(Z))return!1;return!0}function t6(_){if(typeof _==="number")return _;let $=_?.step;return typeof $==="number"?$:0}function a4(_,$){let Q=_?.features,Z=Array.isArray(_)?_.length:Array.isArray(Q)?Q.length:-1;if(Z<0)return t4($,_)??R0(L0(_,$),n_);return Z>200?"Charts may hold at most 200 rows.":void 0}function n_(_,$=""){if($==="values")return a4(_,$);if($==="datasets")return R0(L0(_),a4);return t4($,_)??R0(L0(_,$),(Q,Z)=>n_(Q,Z))}function L0(_,$=""){if(Array.isArray(_))return _.map((Q)=>[$,Q]);return _&&typeof _==="object"?Object.entries(_):[]}function R0(_,$){for(let[Q,Z]of _){let J=$(Z,Q);if(J)return J}return}var e4=/url\(([^)]*)\)/gi,O0="src|image|image-set|-webkit-image-set|cross-fade|element",E0=new RegExp(String.raw`\b(url|${O0})\(`,"i"),e6=new RegExp(String.raw`\b(${O0})\(`,"i"),_$=new RegExp(String.raw`\b(${O0})\([^)]*\)`,"gi"),$$=/\\([0-9a-f]{1,6})\s?|\\(.)/gi,Q$=/@import[^;]*;?/gi;function Z$(_){return _.replace($$,($,Q,Z)=>{if(!Q)return Z??"";let J=parseInt(Q,16),Y=J===0||J>=55296&&J<=57343||J>1114111;return String.fromCodePoint(Y?65533:J)})}function _2(_){return _.trim().replace(/^(['"])(.*)\1$/s,"$2").trim()}function N1(_){if(_.includes("\\")||e6.test(_))return!0;for(let[,$]of _.matchAll(e4))if(!_2($??"").startsWith("#"))return!0;return!1}function A0(_){return Z$(_).replaceAll("\\"," ").replace(Q$," ").replace(_$,"none").replace(e4,($,Q)=>_2(Q).startsWith("#")?$:"none")}var J$=new Set(["src","srcset","poster","background","action","formaction","ping"]);function r_(_){for(let $ of[_,..._.querySelectorAll("*")]){for(let Q of[...$.attributes])if(J$.has(Q.name)||(Q.name==="href"||Q.name==="xlink:href")&&$.localName!=="a"&&!Q.value.trim().startsWith("#")||N1(Q.value))$.removeAttribute(Q.name);if($.localName==="style"&&$.textContent)$.textContent=A0($.textContent)}}var Y$=`
12
11
  @layer {
13
12
  :host {
14
13
  display: block !important;
@@ -186,6 +185,8 @@ ${K}`:K,Y=[],G="";function z(){if(G.trim())Y.push({kind:"markdown",text:J(G)});G
186
185
  display: block;
187
186
  }
188
187
  }
189
- `,i8=/(["'])(?:(?!\1)[^\n\r\f])*\1?|\/\*[\s\S]*?(?:\*\/|$)/g;function n8(_){return/:host|@(-[a-z]+-)?keyframes|@property/i.test(w6(_))}function w6(_){return _.replace(i8,($)=>$.startsWith("/*")?"":$)}async function T6(_){let{default:$}=await import("dompurify"),Z=$.sanitize(_,{FORCE_BODY:!0,RETURN_DOM_FRAGMENT:!0,USE_PROFILES:{html:!0,svg:!0,svgFilters:!0},FORBID_TAGS:["img","picture","source","video","audio","track","a","area","form","input","button","select","textarea","dialog","template","slot","marquee","animatecolor","animatemotion","animatetransform","image","feimage"],FORBID_ATTR:["popover","popovertarget","popovertargetaction"]}),Q=Z.ownerDocument.createElement("div");Q.append(Z);for(let X of Q.querySelectorAll("[style]"))a8(X);n_(Q);for(let X of Q.querySelectorAll("style"))if(n8(X.textContent??""))X.remove();return Q}var r8=/^(-[a-z]+-)?(animation|transition)/i;function a8(_){let $=w6(_.getAttribute("style")??"").split(";");_.setAttribute("style",$.filter((Z)=>!r8.test(Z.trim())).join(";"))}function v6(_,$,Z,Q){let X=document.createElement("style");X.textContent=l8,$.className="cortex-report",_.attachShadow({mode:"open"}).append(X,$);let J=[...$.querySelectorAll("figure[data-chart]")].map((Y)=>{let{box:G,spec:z}=o8(Y);return Z(G,z,()=>{let V=document.createElement("p");V.className="cortex-report-chart-failed",V.textContent=Q,G.append(V)})});return()=>{for(let Y of J)Y()}}function o8(_){let $=[..._.childNodes].filter((X)=>X.nodeName!=="FIGCAPTION"),Z=document.createElement("div");_.insertBefore(Z,$.find((X)=>X.textContent?.trim())??null);for(let X of $)X.remove();let Q=$.map((X)=>X.textContent).join("");return{box:Z,spec:s8.exec(Q)?.[2]??Q}}var s8=/^\s*(`{3,}|~{3,})[^\n]*\n([\s\S]*?)\n\s*\1\s*$/;var x6={async mermaid(_,$,{scheme:Z}){let[{default:Q},{default:X}]=await Promise.all([import("mermaid"),import("dompurify")]);if(R0.test($)||$.includes("\\"))throw Error("Diagrams may not reference URLs.");if(/%%\{/.test($))throw Error("Diagrams may not carry init directives.");if(/^\s*---\s*$/m.test($))throw Error("Diagrams may not carry frontmatter.");if(/\bimg\s*:/.test($))throw Error("Diagrams may not embed images.");let J=_4($);if(!e8.test(J))throw Error(`Unsupported diagram type: ${J}`);let Y=j6.then(async()=>{if(!f6)Q.initialize({startOnLoad:!1,securityLevel:"strict",htmlLabels:!1}),f6=!0;let V=`%%{init: {"theme": "${Z==="dark"?"dark":"default"}"}}%%
190
- ${$}`;return await Q.parse(V),(await Q.render(`cortex-mermaid-${J4()}`,V,_)).svg});j6=Y.catch(()=>{return});let G=await Y,z=document.createElement("div");return z.innerHTML=X.sanitize(G,{USE_PROFILES:{svg:!0,svgFilters:!0}}),n_(z),_.replaceChildren(...z.childNodes),()=>{_.innerHTML=""}},async "vega-lite"(_,$,{scheme:Z}){let Q=JSON.parse($),X=i_(Q);if(X)throw Error(X);if(!Q||typeof Q!=="object"||Array.isArray(Q))throw Error("A chart needs a JSON object.");let J=Q,[{default:Y},G]=await Promise.all([import("vega-embed"),import("vega")]),z=()=>Promise.reject(Error("Charts may only use inline data."));async function V(M){let R=document.createElement("div"),P=await Y(R,Q4(J,M),{actions:!1,renderer:"svg",mode:"vega-lite",loader:{...G.loader(),load:z,sanitize:z},ast:!0,...Z==="dark"?{theme:"dark"}:{},config:{background:"transparent"}});return n_(R),{drawing:R,result:P,width:M}}let K=await V(_.clientWidth);_.replaceChildren(K.drawing);let W=!1,N,q=0;function H(){N??=(async()=>{let M=_.clientWidth;while(!W&&M>0&&M!==K.width&&M!==q){try{let R=await V(M);if(W){R.result.finalize();return}K.result.finalize(),K=R,_.replaceChildren(R.drawing)}catch{q=M}M=_.clientWidth}})().finally(()=>{N=void 0})}let U=new ResizeObserver(H);if(h6(J))U.observe(_);function E(){let M=document.getElementById(X4),R=u6(_)??document.body;if(M&&M.parentElement!==R)R.append(M)}return _.addEventListener("pointermove",E),()=>{W=!0,U.disconnect(),_.removeEventListener("pointermove",E),K.result.finalize()}},async map(_,$){let Z=Y4(JSON.parse($)),{leaflet:Q,map:X,dispose:J}=await c_(_,{...Z,interactive:!0});for(let Y of Z.markers){let G=Q.marker(Y.position).addTo(X);if(Y.label){let z=document.createElement("span");z.textContent=Y.label,G.bindTooltip(z)}}return J},async report(_,$,Z){let Q=await T6($);return v6(_,Q,(X,J,Y)=>q1(X,{language:"vega-lite",source:J,context:Z,overrides:void 0,onError:Y}),o(Z.locale,"translate_media_failed"))}},t8={mermaid:{title:"translate_media_mermaid",pending:"translate_media_pending_mermaid"},"vega-lite":{title:"translate_media_vega_lite",pending:"translate_media_pending_vega_lite"},map:{title:"translate_media_map",pending:"translate_media_pending_map"},report:{title:"translate_media_report",pending:"translate_media_pending_report"}};function H1(_){return t8[_]??{title:"translate_media",pending:"translate_media_pending"}}function y0(_){return Object.keys({...x6,..._})}function q1(_,$){let{language:Z,source:Q,context:X,overrides:J,onError:Y}=$,G=_.appendChild(document.createElement("div")),z=J?.[Z]??x6[Z],V,K=!1;return(z?z(G,Q,X):Promise.reject(Error(`No renderer for ${Z}.`))).then((N)=>{if(K)N();else V=N},(N)=>{if(!K)Y(N instanceof Error?N.message:String(N))}),()=>{K=!0,V?.(),G.remove()}}var e8=/^(flowchart|graph|sequenceDiagram|stateDiagram(-v2)?|erDiagram|gantt|pie|classDiagram|journey|timeline|mindmap)$/;function _4(_){let $=_.split(`
191
- `).find((Z)=>/\S/.test(Z)&&!/^\s*%%/.test(Z));return/^\s*(\S+)/.exec($??"")?.[1]??""}function I0(_){return _===void 0||_==="container"}var $4=["row","column","facet"];function h6(_){let $=_.encoding,Z=typeof $==="object"&&$!==null&&$4.some((Q)=>(Q in $));return(("mark"in _)||("layer"in _))&&I0(_.width)&&!Z}function Z4(_){let $={..._};if(I0($.width))delete $.width;if(I0($.height))delete $.height;return $}function Q4(_,$){let Z=Z4(_);if($<=0||!h6(_))return Z;return{...Z,width:$,height:Z.height??Math.round(Math.min(480,Math.max(200,$/2))),autosize:Z.autosize??{type:"fit",contains:"padding"}}}var X4="vg-tooltip-element";function u6(_){let $=_.getRootNode();return _.closest("dialog")??($ instanceof ShadowRoot?u6($.host):null)}var j6=Promise.resolve(),f6=!1,g6=0;function J4(){return g6+=1,g6}function Y4(_){if(!_||typeof _!=="object")throw Error("A map needs a JSON object.");let $=_,Z=$.zoom??10;if(typeof Z!=="number"||Z<0||Z>22)throw Error("zoom must be 0 to 22.");let Q=$.markers??[];if(!Array.isArray(Q))throw Error("markers must be a list.");return{center:m6($.center,"center"),zoom:Z,markers:Q.map((X,J)=>{let Y=X??{},G=Y.label;return{position:m6(Y.position,`markers[${J}].position`),label:typeof G==="string"?G:void 0}})}}function m6(_,$){let Z=Array.isArray(_)?_:[],[Q,X]=Z;if(typeof Q!=="number"||typeof X!=="number"||Math.abs(Q)>90||Math.abs(X)>180)throw Error(`${$} must be [latitude, longitude].`);return{lat:Q,lng:X}}function S0(_,$){if(_!=="system")return $(_??"light"),()=>{};let Z=window.matchMedia("(prefers-color-scheme: dark)"),Q=()=>$(Z.matches?"dark":"light");return Q(),Z.addEventListener("change",Q),()=>Z.removeEventListener("change",Q)}import B1 from"highlight.js/lib/core";import G4 from"highlight.js/lib/languages/javascript";import V4 from"highlight.js/lib/languages/json";var c6=!1;function z4(){if(c6)return;c6=!0,B1.registerLanguage("javascript",G4),B1.registerLanguage("json",V4)}function C0(_,$){if(!_)return"";return z4(),B1.getLanguage($)?B1.highlight(_,{language:$}).value:K4(_)}function K4(_){return _.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function k_(_){if(typeof _==="string"){let $=_.trim();if(!($.startsWith("{")&&$.endsWith("}")||$.startsWith("[")&&$.endsWith("]")))return _;try{return k_(JSON.parse($))}catch{return _}}if(Array.isArray(_))return _.map(($)=>k_($));if(_!==null&&typeof _==="object"){let $={};for(let[Z,Q]of Object.entries(_))$[Z]=k_(Q);return $}return _}function b0(_,$){if(Array.isArray(_)){let Z=_;return{kind:"container",open:"[",close:"]",summary:p6(Z.length,"item","items"),entries:Z.map((Q,X)=>({key:null,value:Q,path:`${$}[${X}]`}))}}if(_!==null&&typeof _==="object"){let Z=Object.entries(_);return{kind:"container",open:"{",close:"}",summary:p6(Z.length,"property","properties"),entries:Z.map(([Q,X])=>({key:Q,value:X,path:`${$}.${Q}`}))}}return{kind:"primitive",text:W4(_),className:N4(_)}}function p6(_,$,Z){return`${_} ${_===1?$:Z}`}function W4(_){if(_===null||_===void 0)return"null";if(typeof _==="string")return JSON.stringify(_);if(typeof _==="number"||typeof _==="boolean")return String(_);return JSON.stringify(_)??"null"}function N4(_){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 w0(_){if(!_)return null;try{return JSON.parse(_)}catch{return _}}function T0(_){if(!_)return"";try{return JSON.stringify(JSON.parse(_),null,2)}catch{return _}}function Q_(_,$,Z=Date.now()){let Q=new Date(_);if(Number.isNaN(Q.getTime()))return"";let X=Q.toDateString()===new Date(Z).toDateString();return new Intl.DateTimeFormat($,{...X?{}:{dateStyle:"medium"},timeStyle:"short"}).format(Q)}function r_(_,$){let Z=URL.createObjectURL(_),Q=document.createElement("a");Q.href=Z,Q.download=$,document.body.append(Q),Q.click(),Q.remove(),setTimeout(()=>URL.revokeObjectURL(Z),40000)}class K_{onUpdate;fullText="";displayedLength=0;animationFrameId=null;isDone=!1;releases=[];static DRAIN_FRACTION=0.03;static MIN_CHARS_PER_FRAME=1;static DONE_DRAIN_FRACTION=0.1;static FADE_WINDOW_MS=500;constructor(_){this.onUpdate=_}seed(_){this.fullText=_,this.displayedLength=_.length,this.releases=[],this.onUpdate(_,[])}update(_,$){if(this.fullText=_,this.isDone=$,this.displayedLength=Math.min(this.displayedLength,this.fullText.length),this.releases=this.releases.filter((Z)=>Z.from<this.displayedLength),$&&this.displayedLength>=this.fullText.length){this.onUpdate(this.fullText,[]),this.stopAnimation();return}if(!this.animationFrameId)this.scheduleFrame()}destroy(){this.stopAnimation()}scheduleFrame(){this.animationFrameId=requestAnimationFrame((_)=>this.tick(_))}tick(_){let $=this.fullText.length-this.displayedLength;if($<=0){this.animationFrameId=null;return}let Z=this.isDone?K_.DONE_DRAIN_FRACTION:K_.DRAIN_FRACTION,Q=Math.max(K_.MIN_CHARS_PER_FRAME,Math.ceil($*Z));if(this.releases=this.releases.filter((X)=>_-X.at<K_.FADE_WINDOW_MS),this.releases.push({from:this.displayedLength,at:_}),this.displayedLength=Math.min(this.fullText.length,this.displayedLength+Q),this.onUpdate(this.fullText.substring(0,this.displayedLength),this.releases.map((X)=>({length:this.displayedLength-X.from,age:_-X.at}))),this.displayedLength<this.fullText.length)this.scheduleFrame();else this.animationFrameId=null}stopAnimation(){if(this.animationFrameId)cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null}}var v0=new WeakMap;function j0(_,$){let Z=_.closest(".cortex-widget__screen"),Q=Z?.querySelector(".cortex-message-list");if(!Z||!Q||!_.value.trim())return;let X=getComputedStyle(_),J=_.getBoundingClientRect(),Y=(G)=>parseFloat(X[`padding${G}`])+parseFloat(X[`border${G}Width`]);v0.set(Z,{text:$,textarea:_,from:new DOMRect(J.left+Y("Left"),J.top+Y("Top"),J.width-Y("Left")-Y("Right"),J.height-Y("Top")-Y("Bottom")),rtl:X.direction==="rtl",scrollTop:Q.scrollTop})}function f0(_,$){let Z=_.closest(".cortex-widget__screen"),Q=Z?v0.get(Z):void 0;if(!Z||!Q)return;v0.delete(Z);let X=_.querySelectorAll(":scope > .cortex-message"),J=X[X.length-1]?.querySelector(".cortex-text-bubble--user"),Y=_.closest(".cortex-message-list");if(!J||!Y||Q.text!==$||!Q.textarea.isConnected)return;J.closest(".cortex-message-part")?.getAnimations().forEach((M)=>M.finish()),D1(Y);let G=J.getBoundingClientRect(),z=Z.getBoundingClientRect(),V=getComputedStyle(J),K=parseFloat(V.paddingTop)+parseFloat(V.borderTopWidth),W=Q.rtl?parseFloat(V.paddingRight)+parseFloat(V.borderRightWidth):parseFloat(V.paddingLeft)+parseFloat(V.borderLeftWidth),N=Q.rtl?Q.from.right+W-G.width:Q.from.left-W,q=Y.scrollTop-Q.scrollTop;if(q)_.style.setProperty("--cortex-slide",`${q}px`),_.classList.remove("cortex-message-list__content--settling"),_.offsetWidth,_.classList.add("cortex-message-list__content--settling"),_.getAnimations()[0]?.finished.then(()=>_.classList.remove("cortex-message-list__content--settling"),()=>{return});let H=J.cloneNode(!0);H.classList.add("cortex-send-flight"),H.setAttribute("aria-hidden","true"),Object.assign(H.style,{left:`${G.left-z.left}px`,top:`${G.top-z.top}px`,width:`${G.width}px`}),H.style.setProperty("--cortex-fly-x",`${N-G.left}px`),H.style.setProperty("--cortex-fly-y",`${Q.from.top-K-G.top}px`),J.style.visibility="hidden",Z.append(H);let U=Y.scrollTop,E=()=>{H.style.top=`${G.top-z.top-(Y.scrollTop-U)}px`};Y.addEventListener("scroll",E,{passive:!0}),i6(H).then(()=>{Y.removeEventListener("scroll",E),J.style.visibility="",H.remove()})}function D1(_){_.scrollTop=l6(_)}function g0(_){return l6(_)-_.scrollTop}function l6(_){let $=_.querySelector(".cortex-message-list__content");if(!$)return _.scrollHeight-_.clientHeight;let Z=getComputedStyle(_);return $.offsetHeight+parseFloat(Z.paddingTop)+parseFloat(Z.paddingBottom)-_.clientHeight}function m0(_){let $=!1,Z=_.parentElement,Q=typeof ResizeObserver>"u"?void 0:new ResizeObserver(()=>{if($)X()});Q?.observe(Z);function X(){let J=Z.querySelector(":scope > .cortex-working-thinking, :scope > .cortex-message > .cortex-message-parts > [data-cortex-frontier]");if(!J)return!1;return _.style.setProperty("--cortex-avatar-y",`${H4(J,Z)-_.offsetHeight/2}px`),!0}return{sync(J){if(J===$){if(J)X();return}if(J){if(!X())return;_.classList.remove("cortex-working-avatar--leaving"),_.offsetWidth,_.classList.add("cortex-working-avatar--shown"),$=!0;return}$=!1;let[,Y="0px"]=getComputedStyle(_).translate.split(" ");_.style.setProperty("--cortex-avatar-y",Y),_.classList.add("cortex-working-avatar--leaving"),i6(_,!0).then(()=>{if($)return;_.classList.remove("cortex-working-avatar--shown","cortex-working-avatar--leaving")})},dispose(){Q?.disconnect()}}}function H4(_,$){let Z=_.querySelector(".cortex-text-bubble");if(!Z)return d6(_,$)+_.offsetHeight/2;let Q=getComputedStyle(Z);return d6(Z,$)+parseFloat(Q.paddingTop)+parseFloat(Q.borderTopWidth)+parseFloat(Q.lineHeight)/2}function d6(_,$){let Z=0;for(let Q=_;Q instanceof HTMLElement&&Q!==$;)Z+=Q.offsetTop,Q=Q.offsetParent;return Z}function i6(_,$=!1){return Promise.allSettled(_.getAnimations({subtree:$}).map((Z)=>Z.finished))}import{EventType as q4}from"@tanstack/ai";function x0(_){return _.refusal==="approval_pending"?"translate_approval_pending":"translate_error"}var B4=2;function h0(_){let $=!1,Z=!1,Q=!1,X,J,Y,G,z=!1,V=!1,K,W,N=new Set,q=0,H=!1,U=new Set,E=new Set,M,R=new Map,P=0,D=0,L=0;async function O(A){let I=Symbol("delivery");U.add(I);try{if(await A(),M&&await M.over)E.add(I);if(E.has(I))throw Error("The answer did not reach Cortex")}finally{U.delete(I),E.delete(I)}}function k(){if($&&q===0)return!1;if(q+=1,!$)$=!0,_.setRunning(!0);return!0}function b(A){if(q-=1,A)H=!0;else if(q===0&&!H)$=!1,_.setRunning(!1)}async function h(){let A=P,I=++D,w=()=>P!==A||L>I||!_.isAlive(),m=await _.refreshMessages(w).catch(()=>{return});if(!m||w())return!1;L=I;let P_=new Set(z_(m).map((c)=>c.id));for(let c of R.keys())if(!P_.has(c))R.delete(c);if($)V_(m);let q_=[...R.values()];if(q_.some((c)=>c.failedResends>=B4))return!1;for(let c of q_)if(!await O(()=>_.deliver(c.answer)).then(()=>!0,()=>!1))return c.failedResends+=1,h();return!0}async function m_(A,I){let w;try{let c=I({toolCallId:A.id,toolName:A.name,input:A.input},{threadId:_.threadId});if(c===null||c===void 0)return;w=await Promise.resolve(c)}catch{N.delete(A.id);return}if(w===null||w===void 0)return;if(!_.isAlive())return;let m=k(),P_={toolCallId:A.id,tool:A.name,output:w};R.set(A.id,{answer:P_,failedResends:0});let q_=await O(()=>_.deliver(P_)).then(()=>!0,h);if(m)b(q_)}function V_(A){let I=z_(A),w=_.onToolCall();if(!w)return I.length>0;for(let m of I){if(m.state!=="input-complete"||N.has(m.id))continue;N.add(m.id),m_(m,w)}return I.length>0}async function I1(A){if(Q)_.reloadThreads().catch(()=>{});else _.setRunning(!1);if($&&!z&&V_(A()))return;if(W===void 0&&K!==void 0)return;W=void 0,await h()}return{chunkArrived(A){if(Z=!0,U.clear(),A.type===q4.RUN_ERROR&&A.code!=="aborted")X={reason:A.message||void 0}},transcriptCarried(A){if(K=A,W!==void 0&&W<=A)W=void 0},transcriptUpdated(A){let I=Date.parse(A);if(K!==void 0&&I<=K)return;if(!V){h();return}W=Math.max(W??0,I)},streamFailed(){Q=!0;let A=U.size>0;for(let m of U)E.add(m);if(U.clear(),z)return;if(Z)_.onTurnFinished();else _.onSendFailed();if(J){if(_.setTurnFailed({reason:void 0,refusal:J}),G!==void 0)_.returnDraft(G);return}let w=X??($&&!A&&!Z?{reason:void 0}:void 0);if(w)_.setTurnFailed(w)},loadingChanged(A,I){if(A){V=!0;return}if(!V)return;V=!1,_.onTurnFinished(),I1(I)},hydrated(A,I){if(I)return;setTimeout(()=>{if(_.isAlive())V_(A)},0)},deliverAnswer(A){let I=k(),w=O(A).catch(async(m)=>{throw await h(),m});return w.then(()=>{if(I)b(!0)},()=>{if(I)b(!1)}),w},interruptStateChanged(A){if(A.resuming){if(M)return;let I=()=>{},w=new Promise((m)=>{I=m});M={errorsAtStart:A.interruptErrors.length,over:w,end:I};return}M?.end(A.interruptErrors.length>M.errorsAtStart),M=void 0},readBack:h,streamStarted(){if($)_.setRunning(!0);P+=1,Q=!1,X=void 0,J=void 0,G=Y,Y=void 0,K=void 0,z=!1,_.setTurnFailed(void 0)},sendStarted(A){P+=1,Y=A,_.returnDraft(void 0),$=!0,Z=!1},sendRefused(A){J=A},abortConfirmed(){z=!0}}}function a_(_){if(_.input.total<=0)return null;return Math.round(_.input.cacheRead/_.input.total*100)}import{createContext as n6,useContext as r6}from"react";var u0=n6(void 0);function F(){let _=r6(u0);if(!_)throw Error("useCortex must be used inside <CortexChatWidget>");return _}var c0={messages:[],isAgentWorking:!1,isLoadingMessages:!1,hasPendingToolCalls:!1,awaitsApproval:!1,returnedDraft:void 0,turnFailure:void 0},p0=n6(c0);function I_(){return r6(p0)}import{useEffect as D4,useState as a6}from"react";function o6(_,$){let[Z,Q]=a6(),[X,J]=a6();return D4(()=>{return Q(void 0),J(void 0),p_(()=>_.getCapabilities(),{onAnswered:(Y)=>{Q(Y),J(void 0)},onMissed:J})},[_,$]),{capabilities:Z,unanswered:X}}import{useRef as E4}from"react";import{useRef as U4,useState as F4,useSyncExternalStore as L4}from"react";function s6(_,$){let Z=U4($);Z.current=$;let[Q]=F4(()=>t1({api:_,ensureThread:()=>Z.current()})),X=L4(Q.subscribe,Q.getState,Q.getState);return{store:Q,value:{items:X,...e1(X),accept:Q.accept,remove:Q.remove,consumeReady:Q.consumeReady}}}import{useEffect as O4,useRef as P4}from"react";function t6(_,$){let Z=P4(void 0);O4(()=>{if($===Z.current)return;_.clear(Z.current),Z.current=$},[$,_])}import{useRef as e6}from"react";function _2(_){let $=e6([]),Z=e6(void 0);function Q(){let J=_.selectedRef.current;if(J)return Promise.resolve(J.id);return Z.current??=_.api.createThread().then((Y)=>{return Z.current=void 0,_.onCreated(Y),Y.id},(Y)=>{throw Z.current=void 0,Y}),Z.current}async function X(J,Y=[]){let G=_.sessionRef.current;if(G){await G.send(J,Y);return}$.current.push({prompt:J,attachments:Y});try{await Q()}catch(z){throw $.current=[],z}}return{ensureThread:Q,send:X,pendingSendRef:$}}import{useRef as M4,useState as A4}from"react";function $2(_){let[$,Z]=A4(),Q=$?.thread,X=Q?_.threads?.find((V)=>V.id===Q.id)??Q:void 0,J=M4(X);J.current=X;function Y(V,K){if(J.current?.id===V.id&&_.hasSession())return;let W=J.current;if(J.current=V,Z({thread:V,mode:K,epoch:0}),W&&W.id!==V.id)_.getHooks()?.onThreadDeselected?.(W);_.getHooks()?.onThreadSelected?.(V)}function G(){let V=J.current;if(!V&&!_.hasSession())return;if(J.current=void 0,Z(void 0),V)_.getHooks()?.onThreadDeselected?.(V)}function z(V,K){Z((W)=>({thread:V,mode:"reload",epoch:(W?.epoch??0)+1,initialMessages:K}))}return{session:$,selected:X,selectedRef:J,select:Y,deselect:G,remount:z}}function Z2(_){let{api:$,threads:Z}=_,Q=E4(void 0),X=$2({threads:Z.threads,getHooks:_.getHooks,hasSession:()=>Q.current!==void 0}),J=_2({api:$,sessionRef:Q,selectedRef:X.selectedRef,onCreated:(V)=>{Z.upsert(V),X.select(V,"skip")}}),Y=s6($,J.ensureThread);t6(Y.store,X.selected?.id);async function G(V){if(X.selectedRef.current?.id===V)X.deselect();await Z.remove(V)}function z(V){X.select(V,"load")}return{sessionRef:Q,selection:X,queue:Y,deleteThread:G,openThread:z,...J}}import{useEffect as R4,useRef as Q2}from"react";function X2(_){let $=Q2(_);$.current=_;let Z=Q2(void 0);return R4(()=>{let Q=!1,X=N0({getConfig:()=>$.current.getConfig(),onEvent:(J)=>$.current.onEvent(J),onOpen:()=>{if(Q)$.current.onReconnect();Q=!0}});return Z.current=X,()=>{X.close(),Z.current=void 0}},[]),{isOpen:()=>Z.current?.isOpen()??!1}}function J2(_){let{threads:$,selectedRef:Z,sessionRef:Q}=_;function X(Y){$.applyEvent(Y);let G=Z.current?.id;switch(Y.type){case"thread:deleted":if(G===Y.payload.threadId)_.deselect();break;case"thread:run-started":if(G===Y.payload.thread.id)Q.current?.reattach(Y.payload.thread);break;case"thread:messages-updated":case"thread:run-finished":Q.current?.transcriptUpdated(Y.payload.thread.id,Y.payload.thread.updatedAt);break}}function J(){_.onReconnect(),$.reload().then((Y)=>{let G=Z.current;if(!Y||!G)return;Q.current?.reattach(Y.find((z)=>z.id===G.id)??G)})}return{onEvent:X,onReconnect:J}}function Y2(_){return{abort:async()=>{await _.current?.abort()},addToolResult:($,Z,Q)=>_.current?.addToolResult($,Z,Q)??Promise.resolve(),respondToApproval:($,Z)=>_.current?.respondToApproval($,Z)??Promise.resolve()}}import{useEffect as G2,useRef as k4,useState as V2}from"react";function z2(_){let[$,Z]=V2(),[Q]=V2(F0),X=k4(void 0);G2(()=>()=>X.current?.(),[]),G2(()=>p_(()=>Q.read(()=>_.listThreads()),{onAnswered:({show:W})=>Z(W),onMissed:(W)=>{if(W!=="unreachable")Z((N)=>N??[])}}),[_,Q]);async function J(){let W=await Q.read(()=>_.listThreads()).catch(()=>{return});if(W)Z(W.show);return W?.listed}function Y(W){Z((N)=>d_(N??[],W))}function G(W,N){Z(Q.running(W,N))}function z(W,N){X.current?.();let q=W()?.id;if(!q)return;X.current=D0({threadId:q,listThreads:()=>_.listThreads(),selected:W,socketOpen:N,setTitle:(H)=>Z((U)=>U&&B0(U,q,H))})}async function V(W){await _.deleteThread(W),Z((N)=>N?W1(N,W):N)}function K(W){if(!Q.admits(W))return;Z((N)=>{let q=U0(N??[],W);return N||q.length?q:N})}return{threads:$,reload:J,upsert:Y,setRunning:G,followTitle:z,remove:V,applyEvent:K}}import{useState as K2}from"react";function W2(_){let[$,Z]=K2("chat"),[Q,X]=K2(!1);return{screen:$,sidebarOpen:Q,showChat:()=>{Z("chat"),X(!1)},openHistory:()=>_==="full"?X(!0):Z("threads"),closeHistory:()=>_==="full"?X(!1):Z("chat"),closeSidebar:()=>X(!1)}}import{forwardRef as T4,useEffect as v4,useImperativeHandle as j4,useRef as U2,useState as F2}from"react";function B(..._){return _.filter(Boolean).join(" ")}import{useState as I4}from"react";function N2(_,$){let[Z,Q]=I4(!1);return{dragging:Z,onDragOver:(X)=>{if(X.preventDefault(),_)Q(!0)},onDragLeave:(X)=>{if(!X.currentTarget.contains(X.relatedTarget))Q(!1)},onDrop:(X)=>{if(X.preventDefault(),Q(!1),_)$([...X.dataTransfer.files])},onPaste:(X)=>{let J=X.clipboardData.files;if(!_||!J.length)return;X.preventDefault(),$([...J])}}}var f={bubble:"M13.5 7.6c0 2.4-2.5 4.4-5.5 4.4-.6 0-1.2-.08-1.7-.23L3 13l.8-2.3C3 9.8 2.5 8.7 2.5 7.6 2.5 5.2 5 3.2 8 3.2s5.5 2 5.5 4.4Z",chevronDown:"M3 4.5L6 7.5L9 4.5",chevronDownLarge:"m5.75 8.25 4.25 4.25 4.25-4.25",file:["M4 1.5h5.172a2 2 0 0 1 1.414.586l2.328 2.328a2 2 0 0 1 .586 1.414V12.5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2Z","M9.5 1.5v2a2 2 0 0 0 2 2h2"]};import{jsx as n,jsxs as o_}from"react/jsx-runtime";function H2(){let{queue:_,t:$,locale:Z}=F();if(!_.items.length)return null;return n("div",{className:"cortex-attachment-queue",children:_.items.map((Q)=>o_("div",{className:B("cortex-attachment-chip",Q.status==="error"&&"cortex-attachment-chip--error"),children:[Q.status==="uploading"||Q.status==="deleting"?o_("svg",{className:"cortex-attachment-chip__spinner",viewBox:"0 0 16 16",fill:"none",children:[n("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"2",className:"cortex-attachment-chip__spinner-track"}),n("path",{d:"M14 8a6 6 0 0 0-6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):Q.status==="error"?o_("svg",{viewBox:"0 0 16 16",className:"cortex-attachment-chip__icon",fill:"none",children:[n("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"1.25"}),n("path",{d:"M8 4.75v4M8 10.75v.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})]}):o_("svg",{viewBox:"0 0 16 16",className:"cortex-attachment-chip__icon",fill:"none",children:[n("path",{d:f.file[0],stroke:"currentColor",strokeWidth:"1.25"}),n("path",{d:f.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),o_("span",{className:"cortex-attachment-chip__text",children:[n("span",{className:"cortex-attachment-chip__name",children:n("bdi",{children:Q.filename})}),Q.status==="error"&&n("span",{className:"cortex-attachment-chip__reason",children:s1(Q,Z)})]}),n("button",{type:"button",onClick:()=>_.remove(Q.localId),className:"cortex-attachment-chip__remove",disabled:Q.status==="deleting","aria-label":$("translate_remove_attachment"),children:n("svg",{viewBox:"0 0 16 16",fill:"none",children:n("path",{d:"M4.5 4.5l7 7m0-7l-7 7",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]},Q.localId))})}import{useRef as y4}from"react";import{jsx as B_,jsxs as q2,Fragment as C4}from"react/jsx-runtime";var S4=x_.join(",");function B2({attachmentsEnabled:_,canSend:$,onSend:Z}){let{t:Q,queue:X}=F(),J=y4(null);return q2("div",{className:"cortex-widget__input-actions",children:[_&&q2(C4,{children:[B_("button",{type:"button",onClick:()=>J.current?.click(),className:"cortex-widget__attach-btn","aria-label":Q("translate_attach_files"),children:B_("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:B_("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"})})}),B_("input",{ref:J,type:"file",multiple:!0,accept:S4,onChange:(Y)=>{X.accept([...Y.target.files??[]]),Y.target.value=""},className:"cortex-widget__file-input"})]}),B_("button",{onClick:Z,"aria-label":Q("translate_send"),className:B("cortex-widget__send-btn",!$&&"cortex-widget__send-btn--empty",$&&"cortex-widget__send-btn--ready"),disabled:!$,children:B_("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__send-icon",children:B_("path",{d:"M3 8h10M9 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]})}import{useLayoutEffect as b4}from"react";import{jsx as w4}from"react/jsx-runtime";function D2(_){let{t:$}=F();b4(()=>{let Q=_.inputRef.current;if(!Q)return;Q.style.height="0px",Q.style.height=`${Q.scrollHeight}px`},[_.inputRef,_.value]);function Z(Q){if(Q.key==="Enter"&&!Q.shiftKey)Q.preventDefault(),_.onSubmit()}return w4("textarea",{ref:_.inputRef,onKeyDown:Z,onPaste:_.onPaste,value:_.value,onChange:(Q)=>_.onChange(Q.target.value),placeholder:_.dragging?$("translate_drop_files_here"):_.disabled?"":$("translate_type_a_message"),disabled:_.disabled,rows:1,className:B("cortex-widget__textarea",_.disabled&&"cortex-widget__textarea--disabled")})}import{jsx as y_,jsxs as d0}from"react/jsx-runtime";function f4(_){let[$,Z]=F2(_??""),[Q,X]=F2(_);if(_!==Q){if(X(_),_&&!$)Z(_)}return[$,Z]}var L2=T4(function($,Z){let{t:Q,queue:X,send:J,abort:Y,capabilities:G}=F(),{isAgentWorking:z,awaitsApproval:V,returnedDraft:K}=I_(),W=G?.attachments??!1,[N,q]=f4(K),H=N2(W,X.accept),U=U2(null);j4(Z,()=>({focusInput:()=>U.current?.focus()}));let E=U2(z);v4(()=>{if(E.current&&!z)U.current?.focus();E.current=z},[z]);let M=!V&&!X.busy&&(Boolean(N.trim())||X.hasReady);function R(){if(z||!M)return;let P=N.trim()||Q("translate_attachment_caption"),D=X.consumeReady();if(U.current)j0(U.current,P);q(""),J(P,D.map((L)=>L.summary))}return d0("div",{className:"cortex-widget__input-area",onDragOver:H.onDragOver,onDragLeave:H.onDragLeave,onDrop:H.onDrop,children:[y_(H2,{}),d0("div",{className:B("cortex-widget__input-box",z&&"cortex-widget__input-box--disabled",!z&&"cortex-widget__input-box--enabled",H.dragging&&"cortex-widget__input-box--dragging"),children:[y_(D2,{inputRef:U,value:N,onChange:q,onSubmit:R,onPaste:H.onPaste,disabled:z,dragging:H.dragging}),z?d0("button",{type:"button","aria-label":Q("translate_stop"),onClick:()=>void Y(),className:"cortex-stop-btn",children:[y_("span",{className:"cortex-stop-btn__ring"}),y_("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"cortex-stop-btn__icon",children:y_("rect",{x:"1",y:"1",width:"10",height:"10",rx:"2.5",fill:"currentColor"})})]}):y_(B2,{attachmentsEnabled:W,canSend:M,onSend:R})]})]})});import{jsx as l0}from"react/jsx-runtime";function U1({capabilities:_,composerRef:$}){let{t:Z,unanswered:Q}=F();if(_===void 0)return Q?l0("p",{className:"cortex-widget__messages-disabled",children:Z(H0[Q])}):null;return _.messages===!1?l0("p",{className:"cortex-widget__messages-disabled",children:Z("translate_messages_disabled")}):l0(L2,{ref:$})}import{jsx as u,jsxs as F1}from"react/jsx-runtime";function O2(_){let{t:$}=F(),Z=u("button",{type:"button",onClick:_.newChat,"aria-label":$("translate_new_chat"),title:$("translate_new_chat"),className:"cortex-widget__header-btn cortex-widget__new-btn",children:u("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:u("path",{d:"M8 3v10M3 8h10",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})});if(_.screen==="threads")return F1("div",{className:"cortex-widget__threads-header",children:[u("button",{type:"button",onClick:_.closeHistory,"aria-label":$("translate_back"),className:"cortex-widget__header-btn cortex-widget__back-btn",children:u("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"cortex-widget__back-icon",children:u("path",{d:"M10 3L5 8l5 5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),F1("div",{children:[u("h2",{className:"cortex-widget__threads-title",children:$("translate_history")}),_.threadCount!==void 0&&u("p",{className:"cortex-widget__threads-count",children:$("translate_conversations",{count:_.threadCount})})]}),Z]});return F1("div",{className:"cortex-widget__chat-header",children:[u("button",{onClick:_.openHistory,className:"cortex-widget__sidebar-toggle-btn",children:u("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:u("path",{d:"M2.5 4h11M2.5 8h11M2.5 12h11",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),u("div",{className:"cortex-widget__chat-title-wrap",children:u("p",{className:"cortex-widget__chat-title",children:_.title??_.agentName??$("translate_new_chat")})}),_.debug.shown&&u("button",{onClick:_.toggleDebug,className:B("cortex-widget__debug-btn",_.debug.on?"cortex-widget__debug-btn--on":"cortex-widget__debug-btn--off"),children:_.debug.on?$("translate_debug"):$("translate_normal")}),Z,u("button",{type:"button",onClick:_.openHistory,"aria-label":$("translate_history"),title:$("translate_history"),className:"cortex-widget__header-btn cortex-widget__history-btn",children:F1("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[u("circle",{cx:"8",cy:"8",r:"5.75",stroke:"currentColor",strokeWidth:"1.3"}),u("path",{d:"M8 5v3l2 1.5",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})]})})]})}import{jsx as X_,jsxs as P2}from"react/jsx-runtime";function M2(_){let{locale:$,t:Z}=F();return P2("div",{className:"cortex-widget__landing",children:[X_("div",{className:"cortex-widget__landing-icon",children:X_("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",children:X_("path",{d:f.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),X_("p",{className:"cortex-widget__landing-greeting",children:_.greeting}),!!_.suggestions.length&&X_("div",{className:"cortex-widget__landing-chips",children:_.suggestions.map((Q,X)=>X_("button",{type:"button",onClick:()=>_.send(Q.prompt),className:"cortex-widget__landing-chip",children:Q.title},X))}),_.composer,!!_.threads?.length&&X_("div",{className:"cortex-widget__landing-recent",children:_.threads.slice(0,2).map((Q)=>{let X=Q_(Q.updatedAt,$);return P2("button",{type:"button",onClick:()=>_.openThread(Q),className:"cortex-widget__landing-recent-item",children:[X_("p",{className:"cortex-widget__landing-recent-title",children:Q.title??Z("translate_untitled")}),X&&X_("p",{className:"cortex-widget__landing-recent-time",children:X})]},Q.id)})})]})}import{useCallback as X1,useEffect as s0,useLayoutEffect as t0,useMemo as A3,useRef as L_,useState as e0}from"react";import{memo as P3}from"react";import{Fragment as F3}from"react";import{useRef as g4,useState as m4}from"react";import{jsx as S_,jsxs as x4}from"react/jsx-runtime";function s({value:_,className:$}){let{t:Z}=F(),[Q,X]=m4(!1),J=g4(null);async function Y(G){G.stopPropagation(),G.preventDefault();try{if(await navigator.clipboard.writeText(_),X(!0),J.current)clearTimeout(J.current);J.current=setTimeout(()=>X(!1),1500)}catch{}}return S_("span",{className:B("cortex-copy-btn",$),children:S_("button",{className:B("cortex-copy-btn__button",Q&&"cortex-copy-btn__button--copied"),onClick:(G)=>void Y(G),"aria-label":Q?Z("translate_copied"):Z("translate_copy"),type:"button",children:Q?S_("svg",{className:"cortex-copy-btn__icon cortex-copy-btn__icon--check",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:S_("path",{d:"M5 13l4 4L19 7",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}):x4("svg",{className:"cortex-copy-btn__icon",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:[S_("rect",{x:"9",y:"9",width:"12",height:"12",rx:"2",stroke:"currentColor",strokeWidth:"2"}),S_("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]})})})}import{jsx as L1,jsxs as A2}from"react/jsx-runtime";function O1({label:_}){return A2("div",{className:"cortex-aborted-flag",children:[L1("span",{className:"cortex-aborted-flag__line"}),A2("span",{className:"cortex-aborted-flag__label",children:[L1("svg",{className:"cortex-aborted-flag__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:L1("path",{d:"M6 1.5v5M6 8.75v.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})}),_]}),L1("span",{className:"cortex-aborted-flag__line"})]})}import{jsx as C_,jsxs as E2}from"react/jsx-runtime";function R2(_){let{api:$,t:Z}=F();async function Q(X){let{blob:J,name:Y}=await $.downloadAttachment(X);r_(J,Y)}return C_("div",{className:B("cortex-message-attachments",_.isUser&&"cortex-message-attachments--user"),children:_.attachments.map((X)=>E2("button",{type:"button",onClick:()=>void Q(X.id),className:"cortex-message-attachment","aria-label":`${Z("translate_download")}: ${X.filename}`,children:[E2("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__icon",fill:"none",children:[C_("path",{d:f.file[0],stroke:"currentColor",strokeWidth:"1.25"}),C_("path",{d:f.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),C_("span",{className:"cortex-message-attachment__name",children:X.filename}),C_("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__dl-icon",fill:"none",children:C_("path",{d:"M8 3v7m0 0L5.5 7.5M8 10l2.5-2.5M3 13h10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},X.id))})}import{useRef as c4,useState as s_}from"react";import{useMemo as h4,useState as u4}from"react";import{jsx as r,jsxs as D_,Fragment as P1}from"react/jsx-runtime";function W_({data:_,expandDepth:$,className:Z}){let Q=h4(()=>k_(_),[_]),[X,J]=u4({});function Y(z,V){return X[z]??V>=$}function G(z,V){J((K)=>({...K,[z]:!Y(z,V)}))}return r("div",{className:B("cortex-json-tree",Z),children:r(k2,{value:Q,path:"$",depth:0,isCollapsed:Y,toggle:G})})}function k2({value:_,path:$,depth:Z,isCollapsed:Q,toggle:X}){let J=b0(_,$);if(J.kind==="primitive")return r("span",{className:J.className,children:J.text});if(J.entries.length===0)return D_("span",{className:"cortex-json-tree__bracket",children:[J.open,J.close]});let Y=Q($,Z);function G(z){X($,Z),z.stopPropagation()}return D_(P1,{children:[D_("span",{className:"cortex-json-tree__toggle",onClick:G,role:"button",children:[r("span",{className:B("cortex-json-tree__arrow",Y&&"cortex-json-tree__arrow--collapsed"),children:"▾"}),r("span",{className:"cortex-json-tree__bracket",children:J.open})]}),Y?D_(P1,{children:[r("span",{className:"cortex-json-tree__collapsed-hint",onClick:G,role:"button",children:J.summary}),r("span",{className:"cortex-json-tree__bracket",children:J.close})]}):D_(P1,{children:[r("div",{className:"cortex-json-tree__indent",children:J.entries.map((z,V)=>D_("div",{className:"cortex-json-tree__line",children:[z.key!==null&&D_(P1,{children:[r("span",{className:"cortex-json-tree__key",children:`"${z.key}"`}),r("span",{className:"cortex-json-tree__colon",children:": "})]}),r(k2,{value:z.value,path:z.path,depth:Z+1,isCollapsed:Q,toggle:X}),V<J.entries.length-1&&r("span",{className:"cortex-json-tree__comma",children:","})]},z.path))}),r("span",{className:"cortex-json-tree__bracket",children:J.close})]})]})}function S(_){return _.toLocaleString("en-US")}import{jsx as b_,jsxs as w_}from"react/jsx-runtime";function I2({usage:_}){let{t:$}=F();return w_("div",{className:"cortex-llm-inspector__usage-rows",children:[w_("div",{className:"cortex-llm-inspector__usage-row",children:[b_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_input")}),b_("span",{className:"cortex-llm-inspector__usage-val",children:S(_.input.total)}),w_("span",{className:"cortex-llm-inspector__usage-detail",children:[$("translate_fresh")," ",S(_.input.noCache)," · ",$("translate_read")," ",S(_.input.cacheRead)," · ",$("translate_write")," ",S(_.input.cacheWrite)]})]}),w_("div",{className:"cortex-llm-inspector__usage-row",children:[b_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_output")}),b_("span",{className:"cortex-llm-inspector__usage-val",children:S(_.output.total)}),w_("span",{className:"cortex-llm-inspector__usage-detail",children:[$("translate_text")," ",S(_.output.text)," · ",$("translate_reasoning")," ",S(_.output.reasoning)]})]}),w_("div",{className:"cortex-llm-inspector__usage-row cortex-llm-inspector__usage-row--total",children:[b_("span",{className:"cortex-llm-inspector__usage-lbl",children:$("translate_total")}),b_("span",{className:"cortex-llm-inspector__usage-val",children:S(_.total)})]})]})}import{jsx as y2,jsxs as M1}from"react/jsx-runtime";function S2({usage:_}){let $=a_(_);return M1("span",{className:"cortex-llm-inspector__step-metrics",children:[M1("span",{className:"cortex-llm-inspector__metric",children:[y2("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--input"}),S(_.input.total)]}),M1("span",{className:"cortex-llm-inspector__metric",children:[y2("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--output"}),S(_.output.total)]}),$!==null&&M1("span",{className:"cortex-llm-inspector__cache-pct",children:[$,"%"]})]})}import{jsx as T,jsxs as N_}from"react/jsx-runtime";function C2({messageId:_}){let{t:$,api:Z,selectedThread:Q}=F(),[X,J]=s_(!1),[Y,G]=s_(!1),[z,V]=s_([]),[K,W]=s_(null),[N,q]=s_({}),H=c4(!1);async function U(){if(!H.current&&Q){G(!0);try{V(await Z.listLlmRequests(Q.id,_))}finally{G(!1),H.current=!0}}J((D)=>!D)}function E(D){W((L)=>L===D?null:D)}function M(D){return N[D]??"prompt"}function R(D,L){q((O)=>({...O,[D]:L}))}function P(D){return M(D.id)==="prompt"?D.prompt:D.output}return N_("div",{className:B("cortex-llm-inspector",X&&"cortex-llm-inspector--open"),children:[N_("button",{className:"cortex-llm-inspector__trigger",onClick:()=>void U(),children:[T("svg",{className:"cortex-llm-inspector__icon",width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:T("path",{d:"M6 2a4 4 0 1 0 0 8 4 4 0 0 0 0-8ZM0 6a6 6 0 1 1 10.89 3.477l4.817 4.816a1 1 0 0 1-1.414 1.414l-4.816-4.816A6 6 0 0 1 0 6Z",fill:"currentColor"})}),T("span",{children:$("translate_inspect_llm_requests")}),Y?T("span",{className:"cortex-llm-inspector__loading",children:$("translate_loading")}):z.length>0?T("span",{className:"cortex-llm-inspector__badge",children:z.length}):null,T("svg",{className:"cortex-llm-inspector__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:T("path",{d:f.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),T("div",{className:"cortex-llm-inspector__panel-wrapper",children:T("div",{className:"cortex-llm-inspector__panel-inner",children:N_("div",{className:"cortex-llm-inspector__panel",children:[z.length===0&&!Y&&T("div",{className:"cortex-llm-inspector__empty",children:$("translate_no_llm_requests")}),z.map((D,L)=>N_("div",{className:B("cortex-llm-inspector__step",K===D.id&&"cortex-llm-inspector__step--expanded"),children:[N_("button",{className:"cortex-llm-inspector__step-header",onClick:()=>E(D.id),children:[T("span",{className:"cortex-llm-inspector__step-label",children:$("translate_step_n",{number:L+1})}),D.tokenUsage&&T(S2,{usage:D.tokenUsage}),T("svg",{className:"cortex-llm-inspector__step-chevron",width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",children:T("path",{d:f.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),T("div",{className:"cortex-llm-inspector__step-body-wrapper",children:T("div",{className:"cortex-llm-inspector__step-body-inner",children:N_("div",{className:"cortex-llm-inspector__step-body",children:[D.tokenUsage&&T(I2,{usage:D.tokenUsage}),N_("div",{className:"cortex-llm-inspector__tabs",children:[T("button",{className:B("cortex-llm-inspector__tab",M(D.id)==="prompt"&&"cortex-llm-inspector__tab--active"),onClick:()=>R(D.id,"prompt"),children:$("translate_request")}),T("button",{className:B("cortex-llm-inspector__tab",M(D.id)==="response"&&"cortex-llm-inspector__tab--active"),onClick:()=>R(D.id,"response"),children:$("translate_response")})]}),N_("div",{className:"cortex-llm-inspector__json-pane",children:[T(s,{className:"cortex-llm-inspector__json-copy",value:T0(P(D))}),T(W_,{data:w0(P(D)),expandDepth:2})]})]})})})]},D.id))]})})})]})}import{useState as p4}from"react";import{jsx as y,jsxs as g}from"react/jsx-runtime";function b2({usage:_,modelId:$}){let{t:Z}=F(),[Q,X]=p4(!1),J=a_(_)??0;return g("div",{className:B("cortex-token-usage",Q&&"cortex-token-usage--expanded"),children:[g("button",{className:"cortex-token-usage__summary",onClick:()=>X((Y)=>!Y),children:[g("span",{className:"cortex-token-usage__total",children:[y("span",{className:"cortex-token-usage__total-number",children:S(_.total)}),y("span",{className:"cortex-token-usage__total-label",children:Z("translate_tokens")})]}),$?y("span",{className:"cortex-token-usage__model",children:$}):null,g("span",{className:"cortex-token-usage__pills",children:[g("span",{className:"cortex-token-usage__pill",children:[y("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),S(_.input.total)]}),g("span",{className:"cortex-token-usage__pill",children:[y("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),S(_.output.total)]})]}),J>0&&g("span",{className:"cortex-token-usage__cache-badge",children:[J,"%"]}),y("svg",{className:"cortex-token-usage__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:y("path",{d:f.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),y("div",{className:"cortex-token-usage__details",children:y("div",{className:"cortex-token-usage__details-inner",children:g("div",{className:"cortex-token-usage__columns",children:[g("div",{className:"cortex-token-usage__col",children:[g("div",{className:"cortex-token-usage__col-header",children:[y("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),y("span",{className:"cortex-token-usage__col-label",children:Z("translate_input")}),y("span",{className:"cortex-token-usage__col-total",children:S(_.input.total)})]}),g("div",{className:"cortex-token-usage__rows",children:[_.input.noCache?g("div",{className:"cortex-token-usage__row",children:[y("span",{className:"cortex-token-usage__row-label",children:Z("translate_fresh")}),y("span",{className:"cortex-token-usage__row-value",children:S(_.input.noCache)})]}):null,_.input.cacheRead?g("div",{className:"cortex-token-usage__row",children:[y("span",{className:"cortex-token-usage__row-label",children:Z("translate_cache_read")}),y("span",{className:"cortex-token-usage__row-value",children:S(_.input.cacheRead)})]}):null,_.input.cacheWrite?g("div",{className:"cortex-token-usage__row",children:[y("span",{className:"cortex-token-usage__row-label",children:Z("translate_cache_write")}),y("span",{className:"cortex-token-usage__row-value",children:S(_.input.cacheWrite)})]}):null]}),J>0&&g("div",{className:"cortex-token-usage__cache-bar-row",children:[y("div",{className:"cortex-token-usage__cache-bar",children:y("div",{className:"cortex-token-usage__cache-fill",style:{width:`${J}%`}})}),y("span",{className:"cortex-token-usage__cache-label",children:Z("translate_n_percent_cached",{percent:J})})]})]}),g("div",{className:"cortex-token-usage__col",children:[g("div",{className:"cortex-token-usage__col-header",children:[y("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),y("span",{className:"cortex-token-usage__col-label",children:Z("translate_output")}),y("span",{className:"cortex-token-usage__col-total",children:S(_.output.total)})]}),g("div",{className:"cortex-token-usage__rows",children:[_.output.text?g("div",{className:"cortex-token-usage__row",children:[y("span",{className:"cortex-token-usage__row-label",children:Z("translate_text")}),y("span",{className:"cortex-token-usage__row-value",children:S(_.output.text)})]}):null,_.output.reasoning?g("div",{className:"cortex-token-usage__row",children:[y("span",{className:"cortex-token-usage__row-label",children:Z("translate_reasoning")}),y("span",{className:"cortex-token-usage__row-value",children:S(_.output.reasoning)})]}):null]})]})]})})})]})}import{jsx as w2,jsxs as d4}from"react/jsx-runtime";function T2({messageId:_,isAssistant:$,metadata:Z}){let{tokenUsage:Q}=Z;if(!Q&&!$)return null;return d4("div",{className:"cortex-message-debug-zone",children:[Q&&w2(b2,{usage:Q,modelId:Z.modelId}),$&&w2(C2,{messageId:_})]})}import{jsx as t,jsxs as t_}from"react/jsx-runtime";function v2(_){let{reasoningPart:$,streaming:Z=!1}=_,{t:Q}=F();return t_("details",{className:"cortex-reasoning-details",children:[t_("summary",{className:"cortex-reasoning-details__summary",children:[t_("div",{className:"cortex-reasoning-details__header",children:[t("span",{className:"cortex-reasoning-details__icon",children:t_("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:[t("path",{d:"M10 2C6.686 2 4 4.686 4 8c0 1.655.672 3.154 1.757 4.243.362.363.576.858.576 1.371V14.5a1 1 0 0 0 1 1h5.334a1 1 0 0 0 1-1v-.886c0-.513.214-1.008.576-1.371A5.978 5.978 0 0 0 16 8c0-3.314-2.686-6-6-6Z",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}),t("path",{d:"M7.5 17.5h5M8.5 8a2 2 0 0 1 2-2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})]})}),t("div",{className:"cortex-reasoning-details__title-group",children:t_("div",{className:"cortex-reasoning-details__title-row",children:[t("div",{className:"cortex-reasoning-details__title",children:Q("translate_reasoning")}),t("span",{className:B("cortex-reasoning-details__badge",Z?"cortex-reasoning-details__badge--streaming":"cortex-reasoning-details__badge--done"),children:Z?Q("translate_streaming"):Q("translate_done")})]})})]}),t("span",{className:"cortex-reasoning-details__chevron","aria-hidden":"true",children:t("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:t("path",{d:f.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),t("div",{className:"cortex-reasoning-details__body",children:t("div",{className:"cortex-reasoning-details__content",children:t("pre",{dir:"auto",className:"cortex-reasoning-details__pre",children:$.content.trim()?$.content:Q("translate_no_reasoning")})})})]})}import{useEffect as u2,useMemo as Q3,useRef as n0,useState as X3}from"react";import{useEffect as n4,useState as j2}from"react";import{useRef as l4,useState as i4}from"react";import{jsx as J_,jsxs as A1}from"react/jsx-runtime";function T_(_){let{label:$,ready:Z=!0,actions:Q,expanded:X,children:J}=_,{t:Y}=F(),G=l4(null),[z,V]=i4(!1);return A1("div",{className:"cortex-expandable",children:[Z&&A1("div",{className:"cortex-expandable__toolbar",role:"group","aria-label":$,children:[Q,J_("button",{type:"button",className:"cortex-expandable__action","aria-label":Y("translate_expand",{name:$}),title:Y("translate_expand",{name:$}),onClick:()=>{V(!0),G.current?.showModal()},children:J_("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:J_("path",{d:"M9.5 2.5h4v4M6.5 13.5h-4v-4M13.5 2.5 9 7M2.5 13.5 7 9",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),J_("div",{className:"cortex-expandable__content",children:J}),A1("dialog",{ref:G,className:"cortex-expandable__dialog","aria-label":$,closedby:"any",onClose:()=>V(!1),children:[A1("div",{className:"cortex-expandable__head",children:[J_("span",{className:"cortex-expandable__title",children:$}),Q,J_("button",{type:"button",className:"cortex-expandable__action","aria-label":Y("translate_close"),title:Y("translate_close"),onClick:()=>G.current?.close(),children:J_("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:J_("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})})]}),z&&J_("div",{className:"cortex-expandable__body",children:X})]})]})}import{jsx as e_,jsxs as r4}from"react/jsx-runtime";function f2(_){let{id:$,alt:Z,attachment:Q}=_,{api:X,t:J}=F(),[Y,G]=j2(),[z,V]=j2(!1);if(n4(()=>{let K,W=!1;return G(void 0),V(!1),X.downloadAttachment($).then(({blob:N})=>{if(W)return;K=URL.createObjectURL(N),G(K)},()=>{if(!W)V(!0)}),()=>{if(W=!0,K)URL.revokeObjectURL(K)}},[X,$]),z)return e_("p",{className:"cortex-attachment-image__caption",children:Z?J("translate_image_unavailable_alt",{alt:Z}):J("translate_image_unavailable")});if(!Y)return null;return r4("figure",{className:"cortex-attachment-image",children:[e_(T_,{label:Q?.filename||Z||J("translate_image"),expanded:e_("img",{className:"cortex-attachment-image__expanded",src:Y,alt:Z}),children:e_("img",{src:Y,alt:Z})}),Q&&e_("figcaption",{className:"cortex-attachment-image__caption",children:Q.filename})]})}import{useEffect as a4,useRef as o4,useState as i0}from"react";import{jsx as d,jsxs as _1,Fragment as e4}from"react/jsx-runtime";function s4(_){let{t:$}=F();if(!_.pending&&!_.debugMode)return null;return _1("div",{className:"cortex-media-block__head",children:[_.debugMode&&d("span",{className:"cortex-media-block__lang",children:_.language}),_.pending&&d("span",{className:"cortex-media-block__pending",children:$(H1(_.language).pending)}),_.debugMode&&_.closed&&_1("span",{className:"cortex-media-block__actions",children:[_.onToggleSource&&d("button",{type:"button",className:"cortex-media-block__action","aria-pressed":_.sourceShown,onClick:_.onToggleSource,children:$("translate_media_source")}),d(s,{value:_.source})]})]})}function g2(_){let{debugMode:$,t:Z}=F();return d("div",{className:"cortex-media-block__body",children:_1("p",{className:"cortex-media-block__error",children:[_.cutOff?Z("translate_media_cut_off"):Z("translate_media_failed"),!_.cutOff&&$&&` ${_.reason}`]})})}function m2(_){let{language:$,source:Z,closed:Q,hidden:X,onError:J}=_,{config:Y,scheme:G,locale:z}=F(),V=o4(null);return a4(()=>{J(void 0);let K=V.current;if(!Q||!G||!K)return;return q1(K,{language:$,source:Z,context:{scheme:G,locale:z},overrides:Y.mediaRenderers,onError:J})},[$,Z,Q,G,z,Y.mediaRenderers,J]),d("div",{ref:V,hidden:X,className:B("cortex-media-block__body",`cortex-media-block__body--${$}`)})}function t4(_){let[$,Z]=i0();return _1(e4,{children:[$&&d(g2,{cutOff:!1,reason:$}),d(m2,{language:_.language,source:_.source,closed:!0,hidden:Boolean($),onError:Z})]})}function x2(_){let{language:$,source:Z,closed:Q,streaming:X}=_,{debugMode:J,t:Y}=F(),[G,z]=i0(),[V,K]=i0(!1),W=!Q&&!X,N=W||Boolean(G);return _1("div",{className:"cortex-media-block",children:[d(s4,{language:$,source:Z,pending:!Q&&X,closed:Q,debugMode:J,sourceShown:V,onToggleSource:N?void 0:()=>K((H)=>!H)}),N&&d(g2,{cutOff:W,reason:G}),d(T_,{label:Y(H1($).title),ready:Q&&!N,expanded:d(t4,{language:$,source:Z}),children:d(m2,{language:$,source:Z,closed:Q,hidden:N,onError:z})}),J&&(N||V)&&d("pre",{dir:"ltr",className:"cortex-media-block__source",children:Z})]})}import{useMemo as _3,useRef as $3}from"react";import{jsx as U_}from"react/jsx-runtime";var Z3="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 h2(_){let{t:$}=F(),Z=$3(null),Q=_3(()=>({__html:l_(_.text)}),[_.text]);function X(){let J=Z.current?.querySelector("table");if(J)r_(P0(O0(J)),"table.xlsx")}return U_("div",{className:"cortex-table-block",children:U_(T_,{label:$("translate_table"),ready:_.closed,actions:U_("button",{type:"button",className:"cortex-expandable__action","aria-label":$("translate_table_export"),title:$("translate_table_export"),onClick:X,children:U_("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:U_("path",{d:Z3,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),expanded:U_("div",{className:"cortex-table-block__expanded",dangerouslySetInnerHTML:Q}),children:U_("div",{ref:Z,dangerouslySetInnerHTML:Q})})})}import{jsx as v_}from"react/jsx-runtime";function c2(_){let{role:$,textPart:Z,streaming:Q=!1,attachments:X=[]}=_,{config:J}=F(),Y=$==="assistant"&&Q?"":Z.content,[G,z]=X3({text:Y,fading:[]}),V=n0(Y),K=n0(null),W=n0(!0);u2(()=>{function H(U,E){V.current=U,z((M)=>M.text===U&&!M.fading.length&&!E.length?M:{text:U,fading:E})}if($!=="assistant"||!Q){K.current?.destroy(),K.current=null,H(Z.content,[]),W.current=!1;return}if(!K.current)K.current=new K_(H),K.current.seed(V.current);if(W.current){W.current=!1,K.current.seed(Z.content);return}K.current.update(Z.content,!1)},[$,Q,Z]),u2(()=>()=>{K.current?.destroy(),K.current=null},[]);let N=Q3(()=>{let H=$==="assistant"?L0(G.text,y0(J.mediaRenderers)):[{kind:"markdown",text:G.text}];return H.map((U,E)=>U.kind==="markdown"?{...U,html:{__html:l_(U.text,E===H.length-1?G.fading:[])}}:U)},[$,G,J.mediaRenderers]),q=Q||G.text!==Z.content;return v_("div",{className:B("cortex-text-part",$==="assistant"&&"cortex-text-part--assistant",$==="user"&&"cortex-text-part--user"),children:v_("div",{className:B("cortex-text-bubble",$==="assistant"&&"cortex-text-bubble--assistant",$==="user"&&"cortex-text-bubble--user"),children:N.map((H,U)=>{switch(H.kind){case"markdown":return v_("div",{dangerouslySetInnerHTML:H.html},U);case"media":return v_(x2,{...H,streaming:q},U);case"table":return v_(h2,{text:H.text,closed:H.closed||!q},U);case"attachment":return v_(f2,{id:H.id,alt:H.alt,attachment:X.find((E)=>E.id.toLowerCase()===H.id)},U)}})})})}import{jsx as l,jsxs as H_}from"react/jsx-runtime";function p2({toolCallPart:_}){let{t:$}=F(),{state:Z,approval:Q}=_,X=_.output,J=h1(_);if(Z==="complete")return H_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--success",children:[H_("div",{className:"cortex-debug-tool__section-bar",children:[l("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--success",children:$("translate_output")}),l("span",{className:"cortex-debug-tool__section-lang",children:"json"}),l(s,{value:J})]}),l("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:l(W_,{data:X,expandDepth:2})})]});if(Z==="error")return H_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--error",children:[H_("div",{className:"cortex-debug-tool__section-bar",children:[l("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--error",children:$("translate_error")}),l(s,{value:J})]}),l("pre",{dir:"ltr",className:"cortex-debug-tool__error-pre",children:J})]});if(Z==="approval-requested")return H_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--approval",children:[H_("div",{className:"cortex-debug-tool__section-bar",children:[l("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--approval",children:$("translate_approval_requested")}),l("span",{className:"cortex-debug-tool__section-lang",children:Q?.id})]}),l("div",{className:"cortex-debug-tool__message cortex-debug-tool__message--approval",children:$("translate_waiting_for_approval")})]});if(Z==="approval-responded")return H_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--approval",children:[H_("div",{className:"cortex-debug-tool__section-bar",children:[l("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--approval",children:$("translate_approval_response")}),l("span",{className:"cortex-debug-tool__section-lang",children:Q?.id})]}),l("div",{className:"cortex-debug-tool__message cortex-debug-tool__message--approval",children:$(Q?.approved?"translate_tool_approved":"translate_tool_response_received")})]});return null}import{jsx as J3,jsxs as Y3}from"react/jsx-runtime";function d2({toolCallPart:_}){let{t:$}=F(),Z=x1(_);return Y3("span",{className:B("cortex-debug-tool__state",Z.modifier&&`cortex-debug-tool__state--${Z.modifier}`),children:[Z.pulse&&J3("span",{className:B("cortex-debug-tool__pulse",Z.pulse==="violet"&&"cortex-debug-tool__pulse--violet")}),$(Z.labelKey)]})}import{jsx as x,jsxs as Y_}from"react/jsx-runtime";function l2({toolCallPart:_}){let{t:$}=F(),{codeSnippets:Z,remainingInput:Q,remainingInputText:X}=u1(_.input);return Y_("details",{className:"cortex-debug-tool","data-state":_.state,children:[x("summary",{className:"cortex-debug-tool__summary",children:Y_("div",{className:"cortex-debug-tool__header",children:[Y_("div",{className:"cortex-debug-tool__meta",children:[x("div",{className:"cortex-debug-tool__title-row",children:x("span",{className:"cortex-debug-tool__name",title:_.name,children:_.name})}),x("div",{className:"cortex-debug-tool__id-row",children:x("span",{className:"cortex-debug-tool__id",children:_.id})})]}),Y_("div",{className:"cortex-debug-tool__actions",children:[x(d2,{toolCallPart:_}),x("svg",{className:"cortex-debug-tool__chevron",width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:x("path",{d:f.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})}),Y_("div",{className:"cortex-debug-tool__body",children:[Z.map((J)=>Y_("div",{className:"cortex-debug-tool__section",children:[Y_("div",{className:"cortex-debug-tool__section-bar",children:[x("span",{className:"cortex-debug-tool__section-label",children:J.key}),x("span",{className:"cortex-debug-tool__section-lang",children:J.lang}),x(s,{value:J.value})]}),x("pre",{dir:"ltr",className:"cortex-debug-tool__pre",children:x("code",{className:"hljs",dangerouslySetInnerHTML:{__html:C0(J.value,J.lang)}})})]},J.key)),!!Q&&Y_("div",{className:"cortex-debug-tool__section",children:[Y_("div",{className:"cortex-debug-tool__section-bar",children:[x("span",{className:"cortex-debug-tool__section-label",children:$("translate_input")}),x("span",{className:"cortex-debug-tool__section-lang",children:"json"}),x(s,{value:X})]}),x("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:x(W_,{data:Q,expandDepth:2})})]}),x(p2,{toolCallPart:_})]})]})}import{useEffect as G3,useRef as V3,useState as i2}from"react";import{jsx as $1,jsxs as n2}from"react/jsx-runtime";function j_({activity:_,className:$}){let{t:Z}=F(),Q=p1(_),[X,J]=i2(0),[Y,G]=i2("idle"),z=V3(Q.length);return z.current=Q.length,G3(()=>{let V,K;function W(){V=setTimeout(()=>{G("exiting"),V=setTimeout(()=>{J((N)=>(N+1)%z.current),G("enter-start"),K=requestAnimationFrame(()=>{G("entering"),V=setTimeout(()=>{G("idle"),W()},300)})},300)},2000)}return W(),()=>{if(V)clearTimeout(V);if(K)cancelAnimationFrame(K)}},[]),n2("div",{className:B("cortex-subtle-activity",$),children:[n2("div",{className:"cortex-subtle-activity__dots",children:[$1("span",{className:"cortex-subtle-activity__dot"}),$1("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d1"}),$1("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d2"})]}),$1("div",{className:"cortex-subtle-activity__label-mask",children:$1("span",{className:B("cortex-subtle-activity__label",`cortex-subtle-activity__label--${Y}`),children:Z(Q[X])})})]})}import{useEffect as e2,useRef as r0,useState as t2}from"react";import{jsx as e,jsxs as f_,Fragment as z3}from"react/jsx-runtime";function r2({toolCallPart:_,asking:$}){let{t:Z,locale:Q,respondToApproval:X}=F(),{sentence:J,decision:Y,decisionKey:G}=c1(_,Q),z=`cortex-approval-${_.id}`,V=V6(_),K=Y==="pending",{state:W,active:N}=Z_(_);function q(H){X(V,H).catch(()=>{})}return f_("div",{className:B("cortex-approval-card",K&&"cortex-approval-card--asking"),children:[K?f_(z3,{children:[f_("div",{className:"cortex-approval-card__head",children:[e("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:e("path",{d:"M8 1.75 2.75 3.75v4c0 3 2.2 5.3 5.25 6.5 3.05-1.2 5.25-3.5 5.25-6.5v-4L8 1.75Z",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"})}),Z("translate_approval_needed")]}),e("p",{className:"cortex-approval-card__sentence",id:z,children:J})]}):f_("div",{className:"cortex-approval-card__line",children:[f_("span",{className:"cortex-tool-pill__icon","aria-hidden":"true",children:[e("span",{className:B("cortex-tool-pill__spinner",N&&"cortex-tool-pill__spinner--visible")}),e("svg",{className:B("cortex-tool-pill__svg cortex-tool-pill__svg--check",W==="complete"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:e("path",{d:"M5.5 10.5 L8.5 13.5 L14.5 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),e("svg",{className:B("cortex-tool-pill__svg cortex-tool-pill__svg--error",W==="error"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:e("path",{d:"M6.5 6.5 L13.5 13.5 M13.5 6.5 L6.5 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})]}),G&&e("span",{className:"cortex-approval-card__decision",children:Z(G)}),e("span",{className:"cortex-approval-card__summary",children:J})]}),K&&$&&f_("div",{className:"cortex-approval-card__foot",children:[e("button",{type:"button",className:"cortex-approval-card__button cortex-approval-card__button--approve","aria-describedby":z,onClick:()=>q(!0),children:Z("translate_approve")}),e("button",{type:"button",className:"cortex-approval-card__button","aria-describedby":z,onClick:()=>q(!1),children:Z("translate_deny")})]})]})}import{useEffect as a2,useRef as E1,useState as o2}from"react";import{jsx as v,jsxs as __}from"react/jsx-runtime";function s2({toolCallPart:_,setOutput:$}){let{t:Z}=F(),{state:Q,id:X,input:J}=_;if(Q==="complete"||Q==="error"){let Y=V0(_.output);return Y?v(W3,{position:Y}):__("div",{className:"cortex-tool-pill",children:[v("span",{className:"cortex-tool-pill__icon",children:v("svg",{className:B("cortex-tool-pill__svg cortex-tool-pill__svg--visible",Q==="error"&&"cortex-tool-pill__svg--error"),viewBox:"0 0 20 20",fill:"none",children:v("path",{d:"M6.5 6.5 L13.5 13.5 M13.5 6.5 L6.5 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}),v("span",{className:"cortex-tool-pill__title",children:Z("translate_location_not_shared")})]})}if(Q!=="input-complete")return null;return v(K3,{center:G0(J),submit:$},X)}function K3({center:_,submit:$}){let{t:Z}=F(),Q=E1(null),X=E1(void 0),[J,Y]=o2(z1),G=E1({center:_,submit:$});G.current={center:_,submit:$},a2(()=>{let V=Q.current;if(!V)return;let K=J0(V,{center:G.current.center,onState:Y,submit:(W)=>G.current.submit(W)});return X.current=K,K.start(),()=>{if(K.dispose(),X.current===K)X.current=void 0}},[]);let z=z0(J);return __("div",{className:"cortex-location-input",children:[__("div",{className:"cortex-location-input__map",children:[v("div",{className:"cortex-location-input__canvas",ref:Q}),v("button",{type:"button",className:"cortex-location-input__locate","aria-label":Z("translate_location_locate"),title:Z("translate_location_locate"),disabled:J.locating||J.submitting,onClick:()=>X.current?.locate(),children:v(N3,{})})]}),__("div",{className:"cortex-location-input__foot",children:[J.position&&!J.deliveryFailed?v("span",{className:"cortex-location-input__coords",children:K1(J.position)}):__("span",{className:B("cortex-location-input__hint",z.failed&&"cortex-location-input__hint--failed"),children:[J.locating&&v("span",{className:"cortex-location-input__spinner"}),Z(z.key)]}),__("span",{className:"cortex-location-input__actions",children:[v("button",{type:"button",className:"cortex-location-input__skip",disabled:J.submitting,onClick:()=>X.current?.cancel(),children:Z("translate_location_skip")}),v("button",{type:"button",className:"cortex-location-input__send",disabled:!J.position||J.submitting,onClick:()=>X.current?.confirm(),children:Z("translate_location_send")})]})]})]})}function W3({position:_}){let{t:$}=F(),Z=E1(null),[Q,X]=o2(!1),{lat:J,lng:Y}=_;return a2(()=>{let G=Z.current;if(!G)return;return X(!1),Y0(G,{lat:J,lng:Y},()=>X(!0))},[J,Y]),__("div",{className:"cortex-location-input cortex-location-input--settled",children:[__("div",{className:"cortex-location-input__map cortex-location-input__map--still",children:[v("div",{className:"cortex-location-input__canvas",ref:Z,hidden:Q}),Q&&v("span",{className:"cortex-location-input__still-failed",children:$("translate_location_map_failed")})]}),__("div",{className:"cortex-location-input__body",children:[__("span",{className:"cortex-location-input__title",children:[v("svg",{viewBox:"0 0 20 20",fill:"none",children:v("path",{d:"M5.5 10.5 L8.5 13.5 L14.5 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),$("translate_location_shared")]}),v("span",{className:"cortex-location-input__coords",children:K1(_)})]})]})}function N3(){return __("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:[v("circle",{cx:"10",cy:"10",r:"5.5"}),v("circle",{cx:"10",cy:"10",r:"1.6",fill:"currentColor",stroke:"none"}),v("path",{d:"M10 1.5v3M10 15.5v3M1.5 10h3M15.5 10h3"})]})}import{jsx as C,jsxs as Z1}from"react/jsx-runtime";var H3=new Map([[V1,s2]]);function _5({message:_,toolCallPart:$,agentWorking:Z}){let{config:Q,addToolResult:X}=F(),J=$.state==="input-complete"&&!Z,Y=J&&G1($)?.embed!==void 0,G=$.state==="approval-requested"&&!Z,z=Q.toolComponents?.[$.name]??(J||p($.state)?H3.get($.name):void 0);return C("div",{className:"cortex-tool-call-animated",children:z?C(z,{toolCallPart:$,message:_,setOutput:(V)=>X($.id,$.name,V)}):Y?C(q3,{toolCallPart:$}):C($5,{toolCallPart:$,asking:G})})}function q3({toolCallPart:_}){let{api:$,t:Z,addToolResult:Q,selectedThread:X,config:J}=F(),Y=X?.id,[G,z]=t2({phase:"initiating"}),[V]=t2(J.trustSameOriginEmbeds),K=r0(void 0),W=r0({api:$,addToolResult:Q,toolName:_.name});if(W.current={api:$,addToolResult:Q,toolName:_.name},e2(()=>{if(!Y)return;let q=Q0({initiate:()=>W.current.api.initiateToolCall(Y,_.id),onState:z,submit:(U)=>W.current.addToolResult(_.id,W.current.toolName,U)});K.current=q,q.start();let H=(U)=>q.handleMessage(U);return window.addEventListener("message",H),()=>{if(window.removeEventListener("message",H),q.dispose(),K.current===q)K.current=void 0}},[_.id,Y]),!Y||G.phase==="unavailable")return C($5,{toolCallPart:_,asking:!1});let N=Z1("div",{className:"cortex-client-tool-embed",children:[Z1("div",{className:"cortex-client-tool-embed__bar",children:[C("span",{children:Z("translate_client_tool_title")}),C("button",{type:"button",className:"cortex-client-tool-embed__cancel",onClick:()=>K.current?.cancel(),children:Z("translate_client_tool_cancel")})]}),G.phase==="embedded"?C("iframe",{className:"cortex-client-tool-embed__frame",src:G.embedUrl,sandbox:_0(G.embedUrl,window.location.origin,V),title:Z("translate_client_tool_title"),ref:(q)=>K.current?.setSource(q?.contentWindow),onLoad:(q)=>{if(!$0(G.embedUrl,window.location.origin,V)&&Z0(q.currentTarget,window.location.origin))K.current?.terminate()}}):G.phase==="error"?Z1("div",{className:"cortex-client-tool-embed__status",children:[C("span",{children:Z("translate_client_tool_failed")}),C("button",{type:"button",className:"cortex-client-tool-embed__retry",onClick:()=>void K.current?.start(),children:Z("translate_client_tool_retry")})]}):C("div",{className:"cortex-client-tool-embed__status",children:Z("translate_client_tool_loading")})]});return G.phase==="embedded"&&G.surface==="modal"?C(B3,{label:Z("translate_client_tool_title"),onCancel:()=>K.current?.cancel(),children:N}):N}function B3({label:_,onCancel:$,children:Z}){let Q=r0(null);return e2(()=>{let X=Q.current;return X?.showModal(),()=>X?.close()},[]),C("dialog",{ref:Q,className:"cortex-client-tool-embed-dialog","aria-label":_,onCancel:(X)=>{X.preventDefault(),$()},children:Z})}function $5({toolCallPart:_,asking:$}){return Z_(_).gated?C(r2,{toolCallPart:_,asking:$}):C(D3,{toolCallPart:_})}function D3({toolCallPart:_}){let{t:$}=F(),{state:Z,active:Q,titleKey:X,statement:J,rows:Y}=Z_(_);return Z1("div",{className:"cortex-tool-pill",children:[Z1("span",{className:"cortex-tool-pill__icon",children:[C("span",{className:B("cortex-tool-pill__spinner",Q&&"cortex-tool-pill__spinner--visible")}),C("svg",{className:B("cortex-tool-pill__svg","cortex-tool-pill__svg--check",Z==="complete"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:C("path",{d:"M5.5 10.5 L8.5 13.5 L14.5 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),C("svg",{className:B("cortex-tool-pill__svg","cortex-tool-pill__svg--error",Z==="error"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:C("path",{d:"M6.5 6.5 L13.5 13.5 M13.5 6.5 L6.5 13.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})]}),C("span",{className:B("cortex-tool-pill__title",Z==="error"&&"cortex-tool-pill__title--error",Z==="starting"&&J&&"cortex-tool-pill__title--pending"),children:J??$(X)}),Y!==void 0&&C("span",{className:"cortex-tool-pill__meta",children:$("translate_rows",{count:Y})})]})}import{jsx as Z5}from"react/jsx-runtime";function Q5({message:_,toolCallPart:$,agentWorking:Z}){if(!p($.state)&&!Z_($).statement){if($.name==="executeCode")return Z5(j_,{activity:"code"})}return Z5(_5,{toolCallPart:$,message:_,agentWorking:Z})}import{jsx as g_,jsxs as U3}from"react/jsx-runtime";function X5(_){let{message:$,part:Z,debugMode:Q,animate:X,streaming:J,agentWorking:Y,attachments:G}=_,{t:z}=F();function V(){switch(Z.type){case"text":return g_(c2,{textPart:Z,role:$.role,streaming:J,attachments:G});case"thinking":return Q?g_(v2,{reasoningPart:Z,streaming:J}):g_(j_,{activity:"reasoning",className:"cortex-reasoning-animated"});case"tool-call":return Q?g_(l2,{toolCallPart:Z}):g_(Q5,{toolCallPart:Z,message:$,agentWorking:Y});default:return U3("p",{className:"cortex-unhandled-type",children:[z("translate_unhandled_type")," ",Z.type]})}}return g_("div",{className:B("cortex-message-part",X&&"cortex-message-part--animated",_.folded&&"cortex-message-part--folded"),"data-cortex-frontier":_.frontier?"":void 0,children:V()})}import{jsx as G_,jsxs as a0}from"react/jsx-runtime";function L3({isUser:_,clipboardText:$,createdAt:Z}){let{locale:Q}=F();return a0("div",{className:B("cortex-message-actions",_&&"cortex-message-actions--user"),children:[$&&G_(s,{value:$}),Z&&G_("time",{className:"cortex-message-actions__time",dateTime:Z,children:Q_(Z,Q)})]})}function O3({count:_,animate:$,onOpen:Z}){let{t:Q}=F();return G_("button",{type:"button",className:B("cortex-tool-fold",$&&"cortex-message-part--animated"),onClick:Z,children:Q("translate_more_steps",{count:_})})}function J5(_){let{message:$,parts:Z,metadata:Q,debugMode:X,animate:J,isStreaming:Y,agentWorking:G,closesTurn:z,fold:V,onOpenRun:K,frontier:W}=_,{t:N}=F(),q=$.role==="assistant",H=$.role==="user",U=Y?Z.length-1:-1,E=Q?.attachments??[],M=Z.filter((k)=>V?.get(k)?.kind!=="hidden"),R=M.filter((k)=>k.type==="text").at(-1),P=R?Z.indexOf(R):-1,D=(H||q)&&!Y&&P>=0,L=R!==M.at(-1)?P:-1,O=D&&G_(L3,{isUser:H,clipboardText:l1(Z),createdAt:Q?.createdAt});return a0("div",{className:"cortex-message-parts",children:[Z.map((k,b)=>{let h=V?.get(k);return a0(F3,{children:[G_(X5,{part:k,message:$,debugMode:X,animate:J,streaming:b===U,agentWorking:G,attachments:E,frontier:k===W,folded:h?.kind==="hidden"}),h?.kind==="more"&&G_(O3,{count:h.count,animate:J,onOpen:()=>K(h.runId)}),b===L&&O]},$.parts.indexOf(k))}),E.length>0&&G_(R2,{attachments:E,isUser:H}),Q?.isAborted&&G_(O1,{label:N("translate_aborted")}),L===-1&&O,X&&Q&&z&&G_(T2,{messageId:$.id,isAssistant:q,metadata:Q})]})}import{jsx as F_,jsxs as o0}from"react/jsx-runtime";function Y5({firing:_,debugMode:$}){let{t:Z,locale:Q}=F();return o0("div",{className:B("cortex-trigger-block",$&&"cortex-trigger-block--debug"),children:[o0("div",{className:"cortex-trigger-block__head",children:[F_("svg",{className:"cortex-trigger-block__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:F_("path",{d:"M6.75 1 2.5 6.75h3l-.25 4.25L9.5 5.25h-3z",fill:"currentColor"})}),$&&F_("span",{children:Z("translate_trigger_fired")}),F_("span",{className:"cortex-trigger-block__name",children:_.name}),F_("time",{className:"cortex-trigger-block__time",dateTime:_.firedAt,children:Q_(_.firedAt,Q)})]}),$&&o0("details",{className:"cortex-trigger-block__payload",children:[F_("summary",{children:Z("translate_trigger_payload")}),F_(W_,{data:_.payload,expandDepth:2})]})]})}import{jsx as Q1}from"react/jsx-runtime";var G5=P3(function($){let{message:Z,metadata:Q,isStreaming:X,agentWorking:J,closesTurn:Y,debugMode:G,animate:z,fold:V,onOpenRun:K,workingTurn:W,frontier:N}=$,q=R_(Z.parts,{debugMode:G,isStreaming:X});if(Q?.trigger)return Q1("div",{className:"cortex-message",children:Q1(Y5,{firing:Q.trigger,debugMode:G})});if(!d1(q,Q))return Q1("div",{className:"cortex-message"});return Q1("div",{className:B("cortex-message",W&&"cortex-message--working-turn"),children:Q1(J5,{message:Z,parts:q,metadata:Q,debugMode:G,animate:z,isStreaming:X,agentWorking:J,closesTurn:Y,fold:V,onOpenRun:K,frontier:N})})});import{jsx as R1}from"react/jsx-runtime";var M3=[{role:"user",lines:[13,9]},{role:"assistant",lines:[16,18,12]},{role:"user",lines:[11]},{role:"assistant",lines:[14,15]}];function V5(){return R1("div",{className:"cortex-widget__messages-skeleton",children:M3.map((_,$)=>R1("div",{className:`cortex-widget__msg-skel cortex-widget__msg-skel--${_.role}`,children:R1("div",{className:`cortex-widget__msg-skel-bubble cortex-widget__msg-skel-bubble--${_.role}`,children:_.lines.map((Z)=>R1("div",{className:"cortex-skeleton cortex-widget__msg-skel-line",style:{width:`${Z}rem`}},Z))})},$))})}import{jsx as a,jsxs as J1,Fragment as z5}from"react/jsx-runtime";function E3(_){let $=L_(null),Z=L_(null),Q=L_(!0),X=L_(!0),J=L_(!1),Y=X1(()=>{if(J.current)return;J.current=!0,queueMicrotask(()=>{J.current=!1;let K=$.current;if(!K)return;D1(K),X.current=!0,Q.current=!1})},[]);s0(()=>{let K=Z.current;if(!_||!$.current||!K)return;if(Y(),typeof ResizeObserver>"u")return;let W=0,N=new ResizeObserver(([q])=>{let H=q?.contentRect.height??0,U=H>W;if(W=H,U&&(Q.current||X.current))Y()});return N.observe(K),()=>N.disconnect()},[_,Y]);let G=X1(()=>{Q.current=!0},[]),z=X1(()=>{if(Q.current)Y()},[Y]);function V(){let K=$.current;if(K)X.current=g0(K)<100}return{containerRef:$,contentRef:Z,onScroll:V,pin:G,settlePinned:z}}function R3({pin:_,settlePinned:$,contentRef:Z},Q,X){let[J,Y]=e0(!1);s0(()=>{Y(!1),_(),queueMicrotask(()=>Y(!0))},[Q,_]);let G=X[X.length-1],z=G?.role==="user"?G.id:void 0,V=z?G?.parts.find((K)=>K.type==="text")?.content:void 0;return t0(()=>{if(!z)return;_();let K=Z.current;if(K&&V!==void 0)f0(K,V)},[z,V,_,Z]),s0(()=>{$()},[X,$]),J}function k3(_,$,Z,Q){let[X,J]=e0(new Set),Y=X1((V)=>J((K)=>new Set(K).add(V)),[]),[G]=e0(r1);return{folds:A3(()=>G(_,{agentWorking:$,debugMode:Z,opened:X,foldable:Q}),[G,_,$,Z,X,Q]),openRun:Y}}function I3({working:_}){let $=L_(null),Z=L_(void 0);return t0(()=>{let Q=$.current;if(!Q)return;let X=m0(Q);return Z.current=X,()=>{X.dispose(),Z.current=void 0}},[]),t0(()=>Z.current?.sync(_)),J1("div",{ref:$,className:"cortex-working-avatar","aria-hidden":"true",children:[J1("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[a("path",{d:"M9.94 15.5a2 2 0 0 0-1.44-1.44l-6.13-1.58a.5.5 0 0 1 0-.96L8.5 9.94A2 2 0 0 0 9.94 8.5l1.58-6.14a.5.5 0 0 1 .96 0l1.58 6.14a2 2 0 0 0 1.44 1.44l6.14 1.58a.5.5 0 0 1 0 .96l-6.14 1.58a2 2 0 0 0-1.44 1.44l-1.58 6.14a.5.5 0 0 1-.96 0z"}),a("path",{d:"M20 3v4M22 5h-4M4 17v2M5 18H3"})]}),a("span",{className:"cortex-working-avatar__ring"})]})}function K5(_){let{config:$,selectedThread:Z,t:Q}=F(),{messages:X,isAgentWorking:J,isLoadingMessages:Y,hasPendingToolCalls:G,turnFailure:z}=I_(),{capabilities:V,composerRef:K,debugMode:W}=_,N=!Y||J,q=E3(N),H=R3(q,Z?.id,X),U=J?h_(X)?.id:void 0,E=$.toolComponents,M=X1((k)=>i1(k,E),[E]),{folds:R,openRun:P}=k3(X,J,W,M),D=X.map((k)=>k.role).lastIndexOf("user"),L=J&&!W,O=L?n1(X,{foldable:M}):void 0;return J1(z5,{children:[!N?a(V5,{}):a("div",{className:_.className,children:a("div",{ref:q.containerRef,className:"cortex-message-list",onScroll:q.onScroll,children:J1("div",{ref:q.contentRef,className:"cortex-message-list__content",children:[X.map((k,b)=>a(G5,{message:k,metadata:k.metadata,isStreaming:k.id===U,agentWorking:J,fold:R.get(k.id),onOpenRun:P,closesTurn:k.role==="assistant"&&X[b+1]?.role!=="assistant",debugMode:W,animate:H,workingTurn:L&&b>D,frontier:k.id===U?O:void 0},k.id)),z&&J1(z5,{children:[a(O1,{label:Q(x0(z))}),$.showDebugButton&&z.reason&&a("p",{className:"cortex-aborted-flag__reason",children:z.reason})]}),J&&!O&&a("div",{className:"cortex-working-thinking","data-cortex-frontier":"",children:a(j_,{activity:"reasoning"})}),a(I3,{working:J},Z?.id)]})})}),!G&&a(U1,{capabilities:V,composerRef:K})]})}import{jsx as W5,jsxs as y3}from"react/jsx-runtime";function N5(_){let{debugMode:$,selectedThread:Z}=F(),{screens:Q}=_;return y3("div",{className:B("cortex-widget__screen",Q.screen==="chat"&&"cortex-widget__screen--active",Q.screen!=="chat"&&"cortex-widget__screen--right"),children:[_.header,Z?W5(K5,{className:"cortex-widget__messages",debugMode:$,capabilities:_.capabilities,composerRef:_.composerRef}):_.landing,W5("div",{className:"cortex-widget__sidebar-backdrop",onClick:Q.closeSidebar})]})}import{useState as T3}from"react";import{useEffect as _6,useRef as D5,useState as Y1}from"react";import{useChat as w3}from"@tanstack/ai-react";import{useEffect as S3,useLayoutEffect as C3,useState as b3}from"react";function H5(_,{sessionRef:$,pendingSendRef:Z}){let[Q]=b3(_);return C3(()=>{return $.current=Q,()=>{if($.current===Q)$.current=void 0}},[Q,$]),S3(()=>{if(!Z.current.length)return;let X=setTimeout(()=>{let J=Z.current;Z.current=[],(async()=>{for(let{prompt:Y,attachments:G}of J)await Q.send(Y,G)})()});return()=>clearTimeout(X)},[Q,Z]),Q}import{useRef as q5}from"react";function B5(_){let $=q5(_);$.current=_;let Z=q5(Promise.resolve(void 0));async function Q(X,J){let Y=$.current;if(!Y.isAlive()||X!==Y.threadId)return;return o1({api:Y.api,threadId:X,isStale:()=>!$.current.isAlive()||J(),isStreaming:()=>$.current.isStreaming(),setMessages:(G)=>$.current.setMessages(G)})}return function(J,Y){return Z.current=Z.current.then(()=>Q(J,Y)),Z.current}}function U5(_){let{thread:$,api:Z}=_,Q=D5(!0),[X,J]=Y1(!1),[Y,G]=Y1(),[z,V]=Y1(),K=D5(null),W=B5({api:Z,threadId:$.id,isAlive:()=>Q.current,isStreaming:()=>q.streaming(),setMessages:(O)=>K.current.chat.setMessages(O)}),[N]=Y1(()=>h0({threadId:$.id,isAlive:()=>Q.current,onToolCall:()=>K.current.props.configRef.current.hooks?.onToolCall,deliver:(O)=>K.current.chat.addToolResult(O),setRunning:(O)=>K.current.props.setRunning($.id,O),reloadThreads:()=>K.current.props.reloadThreads(),refreshMessages:(O)=>W($.id,O),onTurnFinished:()=>K.current.props.onTurnFinished(),onSendFailed:()=>K.current.props.onSendFailed(),setTurnFailed:(O)=>{if(Q.current)G(O)},returnDraft:(O)=>{if(Q.current)V(O)}})),[q]=Y1(()=>a1({api:Z,thread:{id:$.id,isRunning:$.isRunning},mode:_.mode,localMessages:()=>K.current.chat.messages,onHydrated:(O)=>{if(Q.current)N.hydrated(O,$.isRunning)},onTranscriptCarried:(O)=>{if(Q.current)N.transcriptCarried(O)},onStreamStarted:()=>{if(Q.current)N.streamStarted()},onRefused:(O)=>{if(Q.current)N.sendRefused(O)},setLoadingMessages:(O)=>{if(Q.current)J(O)}})),H=w3({threadId:$.id,persistence:!0,initialMessages:_.initialMessages,connection:q,onChunk:(O)=>{if(Q.current)N.chunkArrived(O)},onError:()=>{if(Q.current)N.streamFailed()},onInterruptStateChange:(O)=>{if(Q.current)N.interruptStateChanged(O)}});K.current={chat:H,props:_};async function U(O,k){N.sendStarted(O);let b={id:u_(),role:"user",parts:[{type:"text",content:O}],metadata:{createdAt:new Date().toISOString(),attachments:k}};await K.current.chat.append(b)}async function E(){if(!K.current.chat.isLoading)return;let{aborted:O}=await Z.abortStream($.id).catch(()=>({aborted:!1}));if(!Q.current)return;if(O)N.abortConfirmed();else K.current.chat.stop()}function M(O,k,b){return N.deliverAnswer(()=>K.current.chat.addToolResult({toolCallId:O,tool:k,output:b}))}function R(O,k){return N.deliverAnswer(()=>X0(K.current.chat,O,k))}function P(O){if(K.current.chat.isLoading)return;if(O.isRunning){K.current.props.remount(O,K.current.chat.messages);return}N.readBack()}_6(()=>{return Q.current=!0,()=>{Q.current=!1}},[]),H5(()=>({threadId:$.id,send:U,abort:E,addToolResult:M,respondToApproval:R,reattach:P,transcriptUpdated:(O,k)=>{if(O===$.id)N.transcriptUpdated(k)}}),{sessionRef:_.sessionRef,pendingSendRef:_.pendingSendRef});let{messages:D,isLoading:L}=H;return _6(()=>{N.loadingChanged(L,()=>K.current.chat.messages)},[N,L]),_6(()=>{K.current.props.publish({messages:D,isAgentWorking:L,isLoadingMessages:X,hasPendingToolCalls:!L&&z_(D).length>0,awaitsApproval:m1(D),returnedDraft:z,turnFailure:Y})},[D,L,X,Y,z]),null}import{jsx as v3,jsxs as j3}from"react/jsx-runtime";function F5({selection:_,threads:$,children:Z,...Q}){let{session:X}=_,[J,Y]=T3(),G=X&&`${X.thread.id}:${X.epoch}`,z=X&&J&&(J.key===G||X.mode==="reload")?J.value:c0;return j3(p0.Provider,{value:z,children:[X&&G&&v3(U5,{thread:X.thread,mode:X.mode,initialMessages:X.initialMessages,setRunning:$.setRunning,reloadThreads:$.reload,remount:_.remount,publish:(V)=>Y({key:G,value:V}),...Q},G),Z]})}import{jsx as j,jsxs as O_,Fragment as f3}from"react/jsx-runtime";function L5(_){let{locale:$,t:Z}=F(),{threads:Q}=_;return j("div",{className:"cortex-widget__threads-list",children:Q===void 0?[1,2,3,4].map((X)=>O_("div",{className:"cortex-widget__thread-skeleton",children:[j("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-icon"}),j("div",{className:"cortex-widget__thread-skeleton-lines",children:j("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-line",style:{width:`${40+X*12}%`}})})]},X)):O_(f3,{children:[Q.map((X)=>{let J=X.id===_.selectedThreadId,Y=Q_(X.updatedAt,$);return O_("div",{className:B("cortex-widget__thread-item",J&&"cortex-widget__thread-item--active"),children:[j("div",{className:B("cortex-widget__thread-icon",J&&"cortex-widget__thread-icon--active"),children:j("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:j("path",{d:f.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),O_("button",{type:"button",onClick:()=>_.openThread(X),className:"cortex-widget__thread-info",children:[O_("div",{className:"cortex-widget__thread-title-row",children:[j("p",{dir:"auto",className:B("cortex-widget__thread-title",J&&"cortex-widget__thread-title--active"),children:X.title??Z("translate_untitled")}),X.isRunning&&O_("span",{className:B("cortex-widget__thread-running",J&&"cortex-widget__thread-running--active"),children:[j("span",{className:"cortex-widget__thread-running-dot"}),Z("translate_running")]})]}),Y&&j("p",{className:"cortex-widget__thread-time",children:Y})]}),j("button",{type:"button","aria-label":Z("translate_delete_conversation"),onClick:()=>_.deleteThread(X.id),className:B("cortex-widget__thread-delete",J&&"cortex-widget__thread-delete--active"),children:j("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",children:j("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})})}),j("svg",{className:B("cortex-widget__thread-arrow",J&&"cortex-widget__thread-arrow--active"),width:"10",height:"10",viewBox:"0 0 16 16",fill:"none",children:j("path",{d:"M6 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},X.id)}),!Q.length&&O_("div",{className:"cortex-widget__threads-empty",children:[j("div",{className:"cortex-widget__threads-empty-icon",children:j("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__threads-empty-svg",children:j("path",{d:f.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),j("p",{className:"cortex-widget__threads-empty-title",children:Z("translate_no_threads_yet")}),j("p",{className:"cortex-widget__threads-empty-subtitle",children:Z("translate_start_a_new_conversation")}),j("button",{onClick:_.newChat,className:"cortex-widget__new-chat-btn cortex-widget__new-chat-btn--empty-state",children:Z("translate_new_chat")})]})]})})}import{useSyncExternalStore as g3}from"react";function O5(_){return g3(($)=>{let Z=window.matchMedia(_);return Z.addEventListener("change",$),()=>Z.removeEventListener("change",$)},()=>window.matchMedia(_).matches,()=>!1)}import{jsx as x3,jsxs as M5}from"react/jsx-runtime";var m3="(max-width: 768px)";function P5(_){_.preventDefault()}function A5(_){let{screens:$}=_,Z=O5(m3),Q=_.viewMode==="full"?Z&&!$.sidebarOpen:$.screen!=="threads";return x3("div",{className:B("cortex-widget",_.className),"data-cortex-theme":_.theme,children:M5("div",{className:B("cortex-widget__container",_.viewMode==="full"&&"cortex-widget__container--full",$.sidebarOpen&&"cortex-widget__container--sidebar-open"),onDragOver:P5,onDrop:P5,children:[M5("div",{className:B("cortex-widget__screen",$.screen==="threads"&&"cortex-widget__screen--active",$.screen!=="threads"&&"cortex-widget__screen--left"),"aria-hidden":Q||void 0,inert:Q||void 0,children:[_.header,_.threadList]}),_.children]})})}import{jsx as $_}from"react/jsx-runtime";var u3={header:O2,landing:M2,threadList:L5};function $6(_,$){return _?.[$]??u3[$]}function c3(_){let{isAgentWorking:$}=I_();return $_(_.component,{..._.context,isWorking:$})}function p3({config:_,className:$,slots:Z}){let Q=E5(_);Q.current=_;let[X]=k1(()=>j1(()=>Q.current.transport)),J=z2(X),[Y,G]=k1(!1),[z,V]=k1();h3(()=>S0(_.theme,V),[_.theme]);let K=_.viewMode??"helper",W=W2(K),[N,q]=k1(0),{capabilities:H,unanswered:U}=o6(X,N),E=E5(null),M=Z2({api:X,threads:J,getHooks:()=>Q.current.hooks}),{sessionRef:R,selection:P,queue:D,send:L,pendingSendRef:O}=M,{selected:k,selectedRef:b}=P,h=J2({threads:J,selectedRef:b,sessionRef:R,deselect:P.deselect,onReconnect:()=>q((i)=>i+1)}),m_=X2({getConfig:()=>Q.current,onEvent:h.onEvent,onReconnect:h.onReconnect}),V_=f1(_.locale),I1={config:_,locale:V_,t:(i,y1)=>o(V_,i,y1),api:X,debugMode:Y,scheme:z,capabilities:H,unanswered:U,selectedThread:k,send:L,...Y2(R),queue:D.value};function A(){D.store.discardConsumed(),setTimeout(()=>E.current?.focusInput()),J.followTitle(()=>b.current,m_.isOpen)}function I(){D.store.restoreConsumed(b.current?.id)}function w(i){M.openThread(i),W.showChat()}function m(){P.deselect(),W.showChat()}function P_(){G((i)=>!i)}function q_(i){let y1={screen:i,viewMode:K,title:k?.title??null,agentName:E_(_.agentName,V_),threadCount:J.threads?.length,debug:{shown:Boolean(_.showDebugButton),on:Y},newChat:m,openHistory:W.openHistory,closeHistory:W.closeHistory,toggleDebug:P_};return $_(c3,{component:$6(Z,"header"),context:y1})}let c=$6(Z,"landing"),Z6={...g1(H,V_,(i)=>void L(i)),threads:J.threads,composer:$_("div",{className:"cortex-widget__landing-composer",children:$_(U1,{capabilities:H})}),openThread:w,openHistory:W.openHistory},R5=$6(Z,"threadList"),k5={threads:J.threads,selectedThreadId:k?.id,openThread:w,deleteThread:(i)=>void M.deleteThread(i),newChat:m};return $_(u0.Provider,{value:I1,children:$_(F5,{selection:P,threads:J,api:X,configRef:Q,sessionRef:R,pendingSendRef:O,onTurnFinished:A,onSendFailed:I,children:$_(A5,{className:$,theme:_.theme,viewMode:K,screens:W,header:q_("threads"),threadList:$_(R5,{...k5}),children:$_(N5,{screens:W,capabilities:H,composerRef:E,header:q_("chat"),landing:$_(c,{...Z6})})})})})}export{p3 as CortexChatWidget};
188
+ `,X$=/(["'])(?:(?!\1)[^\n\r\f])*\1?|\/\*[\s\S]*?(?:\*\/|$)/g;function V$(_){return/:host|@(-[a-z]+-)?keyframes|@property/i.test($2(_))}function $2(_){return _.replace(X$,($)=>$.startsWith("/*")?"":$)}async function Q2(_){let{default:$}=await import("dompurify"),Q=$.sanitize(_,{FORCE_BODY:!0,RETURN_DOM_FRAGMENT:!0,USE_PROFILES:{html:!0,svg:!0,svgFilters:!0},FORBID_TAGS:["img","picture","source","video","audio","track","a","area","form","input","button","select","textarea","dialog","template","slot","marquee","animatecolor","animatemotion","animatetransform","image","feimage"],FORBID_ATTR:["popover","popovertarget","popovertargetaction"]}),Z=Q.ownerDocument.createElement("div");Z.append(Q);for(let J of Z.querySelectorAll("[style]"))K$(J);r_(Z);for(let J of Z.querySelectorAll("style"))if(V$(J.textContent??""))J.remove();return Z}var z$=/^(-[a-z]+-)?(animation|transition)/i;function K$(_){let $=$2(_.getAttribute("style")??"").split(";");_.setAttribute("style",$.filter((Q)=>!z$.test(Q.trim())).join(";"))}function Z2(_,$,Q,Z){let J=document.createElement("style");J.textContent=Y$,$.className="cortex-report",_.attachShadow({mode:"open"}).append(J,$);let Y=[...$.querySelectorAll("figure[data-chart]")].map((X)=>{let{box:V,spec:K}=G$(X);return Q(V,K,()=>{let z=document.createElement("p");z.className="cortex-report-chart-failed",z.textContent=Z,V.append(z)})});return()=>{for(let X of Y)X()}}function G$(_){let $=[..._.childNodes].filter((J)=>J.nodeName!=="FIGCAPTION"),Q=document.createElement("div");_.insertBefore(Q,$.find((J)=>J.textContent?.trim())??null);for(let J of $)J.remove();let Z=$.map((J)=>J.textContent).join("");return{box:Q,spec:W$.exec(Z)?.[2]??Z}}var W$=/^\s*(`{3,}|~{3,})[^\n]*\n([\s\S]*?)\n\s*\1\s*$/;var z2={async mermaid(_,$,{scheme:Q}){let[{default:Z},{default:J}]=await Promise.all([import("mermaid"),import("dompurify")]);if(E0.test($)||$.includes("\\"))throw Error("Diagrams may not reference URLs.");if(/%%\{/.test($))throw Error("Diagrams may not carry init directives.");if(/^\s*---\s*$/m.test($))throw Error("Diagrams may not carry frontmatter.");if(/\bimg\s*:/.test($))throw Error("Diagrams may not embed images.");let Y=U$($);if(!D$.test(Y))throw Error(`Unsupported diagram type: ${Y}`);let X=J2.then(async()=>{if(!Y2)Z.initialize({startOnLoad:!1,securityLevel:"strict",htmlLabels:!1}),Y2=!0;let z=`%%{init: {"theme": "${Q==="dark"?"dark":"default"}"}}%%
189
+ ${$}`;return await Z.parse(z),(await Z.render(`cortex-mermaid-${P$()}`,z,_)).svg});J2=X.catch(()=>{return});let V=await X,K=document.createElement("div");return K.innerHTML=J.sanitize(V,{USE_PROFILES:{svg:!0,svgFilters:!0}}),r_(K),_.replaceChildren(...K.childNodes),()=>{_.innerHTML=""}},async "vega-lite"(_,$,{scheme:Q}){let Z=JSON.parse($),J=n_(Z);if(J)throw Error(J);if(!Z||typeof Z!=="object"||Array.isArray(Z))throw Error("A chart needs a JSON object.");let Y=Z,[{default:X},V]=await Promise.all([import("vega-embed"),import("vega")]),K=()=>Promise.reject(Error("Charts may only use inline data."));async function z(O){let k=document.createElement("div"),B=await X(k,N$(Y,O),{actions:!1,renderer:"svg",mode:"vega-lite",loader:{...V.loader(),load:K,sanitize:K},ast:!0,...Q==="dark"?{theme:"dark"}:{},config:{background:"transparent"}});return r_(k),{drawing:k,result:B,width:O}}let W=await z(_.clientWidth);_.replaceChildren(W.drawing);let G=!1,q,U=0;function D(){q??=(async()=>{let O=_.clientWidth;while(!G&&O>0&&O!==W.width&&O!==U){try{let k=await z(O);if(G){k.result.finalize();return}W.result.finalize(),W=k,_.replaceChildren(k.drawing)}catch{U=O}O=_.clientWidth}})().finally(()=>{q=void 0})}let L=new ResizeObserver(D);if(K2(Y))L.observe(_);function y(){let O=document.getElementById(H$),k=G2(_)??document.body;if(O&&O.parentElement!==k)k.append(O)}return _.addEventListener("pointermove",y),()=>{G=!0,L.disconnect(),_.removeEventListener("pointermove",y),W.result.finalize()}},async map(_,$){let Q=M$(JSON.parse($)),{leaflet:Z,map:J,dispose:Y}=await l_(_,{...Q,interactive:!0});for(let X of Q.markers){let V=Z.marker(X.position).addTo(J);if(X.label){let K=document.createElement("span");K.textContent=X.label,V.bindTooltip(K)}}return Y},async report(_,$,Q){let Z=await Q2($);return Z2(_,Z,(J,Y,X)=>P1(J,{language:"vega-lite",source:Y,context:Q,overrides:void 0,onError:X}),$_(Q.locale,"translate_media_failed"))}},q$={mermaid:{title:"translate_media_mermaid",pending:"translate_media_pending_mermaid"},"vega-lite":{title:"translate_media_vega_lite",pending:"translate_media_pending_vega_lite"},map:{title:"translate_media_map",pending:"translate_media_pending_map"},report:{title:"translate_media_report",pending:"translate_media_pending_report"}};function H1(_){return q$[_]??{title:"translate_media",pending:"translate_media_pending"}}function y0(_){return Object.keys({...z2,..._})}function P1(_,$){let{language:Q,source:Z,context:J,overrides:Y,onError:X}=$,V=_.appendChild(document.createElement("div")),K=Y?.[Q]??z2[Q],z,W=!1;return(K?K(V,Z,J):Promise.reject(Error(`No renderer for ${Q}.`))).then((q)=>{if(W)q();else z=q},(q)=>{if(!W)X(q instanceof Error?q.message:String(q))}),()=>{W=!0,z?.(),V.remove()}}var D$=/^(flowchart|graph|sequenceDiagram|stateDiagram(-v2)?|erDiagram|gantt|pie|classDiagram|journey|timeline|mindmap)$/;function U$(_){let $=_.split(`
190
+ `).find((Q)=>/\S/.test(Q)&&!/^\s*%%/.test(Q));return/^\s*(\S+)/.exec($??"")?.[1]??""}function k0(_){return _===void 0||_==="container"}var B$=["row","column","facet"];function K2(_){let $=_.encoding,Q=typeof $==="object"&&$!==null&&B$.some((Z)=>(Z in $));return(("mark"in _)||("layer"in _))&&k0(_.width)&&!Q}function F$(_){let $={..._};if(k0($.width))delete $.width;if(k0($.height))delete $.height;return $}function N$(_,$){let Q=F$(_);if($<=0||!K2(_))return Q;return{...Q,width:$,height:Q.height??Math.round(Math.min(480,Math.max(200,$/2))),autosize:Q.autosize??{type:"fit",contains:"padding"}}}var H$="vg-tooltip-element";function G2(_){let $=_.getRootNode();return _.closest("dialog")??($ instanceof ShadowRoot?G2($.host):null)}var J2=Promise.resolve(),Y2=!1,X2=0;function P$(){return X2+=1,X2}function M$(_){if(!_||typeof _!=="object")throw Error("A map needs a JSON object.");let $=_,Q=$.zoom??10;if(typeof Q!=="number"||Q<0||Q>22)throw Error("zoom must be 0 to 22.");let Z=$.markers??[];if(!Array.isArray(Z))throw Error("markers must be a list.");return{center:V2($.center,"center"),zoom:Q,markers:Z.map((J,Y)=>{let X=J??{},V=X.label;return{position:V2(X.position,`markers[${Y}].position`),label:typeof V==="string"?V:void 0}})}}function V2(_,$){let Q=Array.isArray(_)?_:[],[Z,J]=Q;if(typeof Z!=="number"||typeof J!=="number"||Math.abs(Z)>90||Math.abs(J)>180)throw Error(`${$} must be [latitude, longitude].`);return{lat:Z,lng:J}}function b0(_,$){if(_!=="system")return $(_??"light"),()=>{};let Q=window.matchMedia("(prefers-color-scheme: dark)"),Z=()=>$(Q.matches?"dark":"light");return Z(),Q.addEventListener("change",Z),()=>Q.removeEventListener("change",Z)}import M1 from"highlight.js/lib/core";import L$ from"highlight.js/lib/languages/javascript";import R$ from"highlight.js/lib/languages/json";var W2=!1;function O$(){if(W2)return;W2=!0,M1.registerLanguage("javascript",L$),M1.registerLanguage("json",R$)}function I0(_,$){if(!_)return"";return O$(),M1.getLanguage($)?M1.highlight(_,{language:$}).value:E$(_)}function E$(_){return _.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function I_(_){if(typeof _==="string"){let $=_.trim();if(!($.startsWith("{")&&$.endsWith("}")||$.startsWith("[")&&$.endsWith("]")))return _;try{return I_(JSON.parse($))}catch{return _}}if(Array.isArray(_))return _.map(($)=>I_($));if(_!==null&&typeof _==="object"){let $={};for(let[Q,Z]of Object.entries(_))$[Q]=I_(Z);return $}return _}function S0(_,$){if(Array.isArray(_)){let Q=_;return{kind:"container",open:"[",close:"]",summary:q2(Q.length,"item","items"),entries:Q.map((Z,J)=>({key:null,value:Z,path:`${$}[${J}]`}))}}if(_!==null&&typeof _==="object"){let Q=Object.entries(_);return{kind:"container",open:"{",close:"}",summary:q2(Q.length,"property","properties"),entries:Q.map(([Z,J])=>({key:Z,value:J,path:`${$}.${Z}`}))}}return{kind:"primitive",text:A$(_),className:k$(_)}}function q2(_,$,Q){return`${_} ${_===1?$:Q}`}function A$(_){if(_===null||_===void 0)return"null";if(typeof _==="string")return JSON.stringify(_);if(typeof _==="number"||typeof _==="boolean")return String(_);return JSON.stringify(_)??"null"}function k$(_){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 C0(_){if(!_)return null;try{return JSON.parse(_)}catch{return _}}function T0(_){if(!_)return"";try{return JSON.stringify(JSON.parse(_),null,2)}catch{return _}}function X_(_,$,Q=Date.now()){let Z=new Date(_);if(Number.isNaN(Z.getTime()))return"";let J=Z.toDateString()===new Date(Q).toDateString();return new Intl.DateTimeFormat($,{...J?{}:{dateStyle:"medium"},timeStyle:"short"}).format(Z)}class H_{onUpdate;fullText="";displayedLength=0;animationFrameId=null;followed=!1;releases=[];static DRAIN_FRACTION=0.03;static MIN_CHARS_PER_FRAME=1;static FADE_WINDOW_MS=500;constructor(_){this.onUpdate=_}follow(_,$){let Q=!this.followed;if(this.followed=!0,Q||!$){this.stopAnimation(),this.show(_);return}if(this.fullText=_,this.displayedLength=Math.min(this.displayedLength,_.length),this.releases=this.releases.filter((Z)=>Z.from<this.displayedLength),!this.animationFrameId)this.scheduleFrame()}destroy(){this.stopAnimation()}show(_){this.fullText=_,this.displayedLength=_.length,this.releases=[],this.onUpdate(_,[])}scheduleFrame(){this.animationFrameId=requestAnimationFrame((_)=>this.tick(_))}tick(_){let $=this.fullText.length-this.displayedLength;if($<=0){this.animationFrameId=null;return}let Q=Math.max(H_.MIN_CHARS_PER_FRAME,Math.ceil($*H_.DRAIN_FRACTION));if(this.releases=this.releases.filter((Z)=>_-Z.at<H_.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((Z)=>({length:this.displayedLength-Z.from,age:_-Z.at}))),this.displayedLength<this.fullText.length)this.scheduleFrame();else this.animationFrameId=null}stopAnimation(){if(this.animationFrameId)cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null}}function D2(){let _=new Map;return($,Q)=>{let Z=new Map;for(let[J,Y]of y$($,Q)){let X=_.get(J);Z.set(J,X&&I$(X,Y)?X:Y)}return _=Z,Z}}function y$(_,$){let Q=new Map;if($.debugMode)return Q;let J=$.agentWorking||F_(_).length>0?b$(_):_,Y=[];function X(){let V=Y[0]?.part.id;if(Y.length>1&&V&&!$.opened.has(V))for(let[K,{messageId:z,part:W}]of Y.entries()){let G=Q.get(z)??new Map;Q.set(z,G);let q=K===Y.length-1;G.set(W,q?{kind:"more",count:Y.length-1,runId:V}:{kind:"hidden"})}Y=[]}for(let V of J){if(V.role!=="assistant"){X();continue}let K=p_(V.parts,{debugMode:!1,isStreaming:!1});for(let z of K)if(z.type==="tool-call"&&a(z.state)&&$.foldable(z))Y.push({messageId:V.id,part:z});else X()}return X(),Q}function b$(_){let $=_.map((Q)=>Q.role).lastIndexOf("user");return $<0?[]:_.slice(0,$)}function I$(_,$){if(_.size!==$.size)return!1;for(let[Q,Z]of _){let J=$.get(Q);if(!J||J.kind!==Z.kind)return!1;if(Z.kind==="more"&&J.kind==="more"){if(Z.count!==J.count||Z.runId!==J.runId)return!1}}return!0}function v0(){let _=D2();return($,Q)=>{let Z=(W)=>D4(W,Q),J=_($,{...Q,foldable:Z}),Y=Q.agentWorking?h1($)?.id:void 0,X=Q.agentWorking&&!Q.debugMode,V=X?S$($,{foldable:Z}):void 0,K=$.map((W)=>W.role).lastIndexOf("user");return{rows:$.map((W,G)=>({message:W,isStreaming:W.id===Y,closesTurn:W.role==="assistant"&&$[G+1]?.role!=="assistant",workingTurn:X&&G>K,frontier:W.id===Y?V:void 0,fold:J.get(W.id)})),thinking:Q.agentWorking&&!V}}}function U2(_,$){if(_.type!=="tool-call")return!0;return!a(_.state)&&!_.approval&&$.foldable(_)}function S$(_,$){let Q=h1(_);if(!Q)return;let Z=p_(Q.parts,{debugMode:!1,isStreaming:!0}),J=Z.at(-1);if(J&&U2(J,$))return J;return Z.filter((Y)=>Y.type==="tool-call"&&U2(Y,$)).at(-1)}function w0(_,$){let Q=_.metadata,Z=p_(_.parts,$),J=Z.filter((V)=>$.fold?.get(V)?.kind!=="hidden"),Y=J.filter((V)=>V.type==="text").at(-1),X=(_.role==="user"||_.role==="assistant")&&!$.isStreaming;return{metadata:Q,parts:Z,drawsBody:Z.length>0||Boolean(Q?.attachments?.length||Q?.isAborted),streamingPart:$.isStreaming?Z.at(-1):void 0,actionsAfter:X&&Y?Y===J.at(-1)?"end":Y:void 0,debugStrip:$.debugMode&&Q!==void 0&&$.closesTurn}}function f0(_){return _.filter(($)=>$.type==="text").map(($)=>$.content).join(`
191
+
192
+ `)}var M={alert:"M8 4.75v4M8 10.75v.5",alertSmall:"M6 1.5v5M6 8.75v.5",arrowRight:"M3 8h10M9 4l4 4-4 4",bolt:"M6.75 1 2.5 6.75h3l-.25 4.25L9.5 5.25h-3z",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",bulb:["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","M7.5 17.5h5M8.5 8a2 2 0 0 1 2-2"],check:"M5 13l4 4L19 7",chevronDown:"M3 4.5L6 7.5L9 4.5",chevronDownLarge:"m5.75 8.25 4.25 4.25 4.25-4.25",chevronLeft:"M10 3L5 8l5 5",chevronRight:"M6 4l4 4-4 4",clockHands:"M8 5v3l2 1.5",close:"M4 4l8 8M12 4l-8 8",closeSmall:"M4.5 4.5l7 7m0-7l-7 7",copy:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1",crosshair:"M10 1.5v3M10 15.5v3M1.5 10h3M15.5 10h3",download:"M8 3v7m0 0L5.5 7.5M8 10l2.5-2.5M3 13h10",downloadTray:"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",expand:"M9.5 2.5h4v4M6.5 13.5h-4v-4M13.5 2.5 9 7M2.5 13.5 7 9",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"],menu:"M2.5 4h11M2.5 8h11M2.5 12h11",paperclip:"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",plus:"M8 3v10M3 8h10",search:"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",shield:"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",sparkles:["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","M20 3v4M22 5h-4M4 17v2M5 18H3"],spinnerArc:"M14 8a6 6 0 0 0-6-6",statusCheck:"M5.5 10.5 L8.5 13.5 L14.5 7",statusCross:"M6.5 6.5 L13.5 13.5 M13.5 6.5 L6.5 13.5"};function o_(_){if(_.input.total<=0)return null;return Math.round(_.input.cacheRead/_.input.total*100)}function m(_){return _.toLocaleString("en-US")}import{createContext as C$,useContext as T$,useSyncExternalStore as v$}from"react";var j0=C$(void 0);function N(){let _=T$(j0);if(!_)throw Error("useCortex must be used inside <CortexChatWidget>");return _}function S(_){let{widget:$}=N(),Q=()=>_($.getState());return v$($.subscribe,Q,Q)}import{useEffect as w$,useRef as f$,useState as j$,useSyncExternalStore as g$}from"react";function B2(_){let $=f$(_);$.current=_;let[Q]=j$(()=>K0({getConfig:()=>$.current}));w$(()=>{return Q.start(),Q.stop},[Q]);let Z=()=>Q.getState().parts,J=g$(Q.subscribe,Z,Z);return{widget:Q,parts:J}}import{useEffect as c$,useLayoutEffect as M2,useRef as m0,useState as p$,useSyncExternalStore as d$}from"react";function H(..._){return _.filter(Boolean).join(" ")}import{jsx as t,jsxs as a_}from"react/jsx-runtime";function F2(){let{widget:_,t:$,locale:Q}=N(),Z=S((J)=>J.attachments);if(!Z.length)return null;return t("div",{className:"cortex-attachment-queue",children:Z.map((J)=>a_("div",{className:H("cortex-attachment-chip",J.status==="error"&&"cortex-attachment-chip--error"),children:[J.status==="uploading"||J.status==="deleting"?a_("svg",{className:"cortex-attachment-chip__spinner",viewBox:"0 0 16 16",fill:"none",children:[t("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"2",className:"cortex-attachment-chip__spinner-track"}),t("path",{d:M.spinnerArc,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):J.status==="error"?a_("svg",{viewBox:"0 0 16 16",className:"cortex-attachment-chip__icon",fill:"none",children:[t("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"1.25"}),t("path",{d:M.alert,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})]}):a_("svg",{viewBox:"0 0 16 16",className:"cortex-attachment-chip__icon",fill:"none",children:[t("path",{d:M.file[0],stroke:"currentColor",strokeWidth:"1.25"}),t("path",{d:M.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),a_("span",{className:"cortex-attachment-chip__text",children:[t("span",{className:"cortex-attachment-chip__name",children:t("bdi",{children:J.filename})}),J.status==="error"&&t("span",{className:"cortex-attachment-chip__reason",children:J0(J,Q)})]}),t("button",{type:"button",onClick:()=>_.removeAttachment(J.localId),className:"cortex-attachment-chip__remove",disabled:J.status==="deleting","aria-label":$("translate_remove_attachment"),children:t("svg",{viewBox:"0 0 16 16",fill:"none",children:t("path",{d:M.closeSmall,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]},J.localId))})}import{useRef as m$}from"react";import{jsx as P_,jsxs as N2,Fragment as h$}from"react/jsx-runtime";var x$=u_.join(",");function H2({attachmentsEnabled:_,canSend:$,onSend:Q}){let{t:Z,widget:J}=N(),Y=m$(null);return N2("div",{className:"cortex-widget__input-actions",children:[_&&N2(h$,{children:[P_("button",{type:"button",onClick:()=>Y.current?.click(),className:"cortex-widget__attach-btn","aria-label":Z("translate_attach_files"),children:P_("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:P_("path",{d:M.paperclip,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),P_("input",{ref:Y,type:"file",multiple:!0,accept:x$,onChange:(X)=>{J.attachFiles([...X.target.files??[]]),X.target.value=""},className:"cortex-widget__file-input"})]}),P_("button",{onClick:Q,"aria-label":Z("translate_send"),className:H("cortex-widget__send-btn",!$&&"cortex-widget__send-btn--empty",$&&"cortex-widget__send-btn--ready"),disabled:!$,children:P_("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__send-icon",children:P_("path",{d:M.arrowRight,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]})}import{jsx as u$}from"react/jsx-runtime";function P2(_){let{t:$}=N();return u$("textarea",{ref:_.inputRef,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:H("cortex-widget__textarea",_.disabled&&"cortex-widget__textarea--disabled")})}import{jsx as S_,jsxs as g0}from"react/jsx-runtime";function l$(_,$){let Q=m0(null),Z=m0(void 0);return M2(()=>{if(!Q.current)return;let J=t1(Q.current,_);return Z.current=J,J.dispose},[_]),M2(()=>Z.current?.fit(),[$]),{messageInput:Q,input:Z}}function L2(){let{t:_,widget:$}=N(),Q=d$($.subscribe,$.getDraft,$.getDraft),Z=S((U)=>U.session.isAgentWorking),J=S((U)=>U.session.isAgentWorking||U.creating),Y=S((U)=>U.capabilities?.attachments??!1),X=S((U)=>d_(U,Q)),[V,K]=p$(!1),z=e1({enabled:Y,accept:$.attachFiles,setDragging:K}),{messageInput:W,input:G}=l$($,Q),q=m0(J);return c$(()=>{if(q.current&&!J)W.current?.focus();q.current=J},[J,W]),g0("div",{className:"cortex-widget__input-area",onDragOver:z.onDragOver,onDragLeave:z.onDragLeave,onDrop:z.onDrop,children:[S_(F2,{}),g0("div",{className:H("cortex-widget__input-box",J&&"cortex-widget__input-box--disabled",!J&&"cortex-widget__input-box--enabled",V&&"cortex-widget__input-box--dragging"),children:[S_(P2,{inputRef:W,value:Q,onChange:$.setDraft,onPaste:z.onPaste,disabled:J,dragging:V}),Z?g0("button",{type:"button","aria-label":_("translate_stop"),onClick:()=>void $.abort(),className:"cortex-stop-btn",children:[S_("span",{className:"cortex-stop-btn__ring"}),S_("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"cortex-stop-btn__icon",children:S_("rect",{x:"1",y:"1",width:"10",height:"10",rx:"2.5",fill:"currentColor"})})]}):S_(H2,{attachmentsEnabled:Y,canSend:X,onSend:()=>G.current?.send()})]})]})}import{jsx as R2}from"react/jsx-runtime";function L1(){let{t:_}=N(),$=S(z0);if($==="composer")return R2(L2,{});return $?R2("p",{className:"cortex-widget__messages-disabled",children:_($)}):null}import{jsx as n,jsxs as R1}from"react/jsx-runtime";function O2(_){let{t:$}=N(),Q=_.newChat&&n("button",{type:"button",onClick:_.newChat,"aria-label":$("translate_new_chat"),title:$("translate_new_chat"),className:"cortex-widget__header-btn cortex-widget__new-btn",children:n("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:n("path",{d:M.plus,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})});if(_.screen==="threads")return R1("div",{className:"cortex-widget__threads-header",children:[n("button",{type:"button",onClick:_.closeHistory,"aria-label":$("translate_back"),className:"cortex-widget__header-btn cortex-widget__back-btn",children:n("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"cortex-widget__back-icon",children:n("path",{d:M.chevronLeft,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),R1("div",{children:[n("h2",{className:"cortex-widget__threads-title",children:$("translate_history")}),_.threadCount!==void 0&&n("p",{className:"cortex-widget__threads-count",children:$("translate_conversations",{count:_.threadCount})})]}),Q]});return R1("div",{className:"cortex-widget__chat-header",children:[n("button",{onClick:_.openHistory,className:"cortex-widget__sidebar-toggle-btn",children:n("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:n("path",{d:M.menu,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),n("div",{className:"cortex-widget__chat-title-wrap",children:n("p",{className:"cortex-widget__chat-title",children:_.title??_.agentName??$("translate_new_chat")})}),_.debug.shown&&n("button",{onClick:_.toggleDebug,className:H("cortex-widget__debug-btn",_.debug.on?"cortex-widget__debug-btn--on":"cortex-widget__debug-btn--off"),children:_.debug.on?$("translate_debug"):$("translate_normal")}),Q,n("button",{type:"button",onClick:_.openHistory,"aria-label":$("translate_history"),title:$("translate_history"),className:"cortex-widget__header-btn cortex-widget__history-btn",children:R1("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[n("circle",{cx:"8",cy:"8",r:"5.75",stroke:"currentColor",strokeWidth:"1.3"}),n("path",{d:M.clockHands,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})]})})]})}import{jsx as V_,jsxs as E2}from"react/jsx-runtime";function A2(_){let{locale:$,t:Q}=N();return E2("div",{className:"cortex-widget__landing",children:[V_("div",{className:"cortex-widget__landing-icon",children:V_("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",children:V_("path",{d:M.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),V_("p",{className:"cortex-widget__landing-greeting",children:_.greeting}),!!_.suggestions.length&&V_("div",{className:"cortex-widget__landing-chips",children:_.suggestions.map((Z,J)=>V_("button",{type:"button",onClick:()=>_.send(Z.prompt),className:"cortex-widget__landing-chip",children:Z.title},J))}),_.composer,!!_.threads?.length&&V_("div",{className:"cortex-widget__landing-recent",children:_.threads.slice(0,2).map((Z)=>{let J=X_(Z.updatedAt,$);return E2("button",{type:"button",onClick:()=>_.openThread(Z),className:"cortex-widget__landing-recent-item",children:[V_("p",{className:"cortex-widget__landing-recent-title",children:Z.title??Q("translate_untitled")}),J&&V_("p",{className:"cortex-widget__landing-recent-time",children:J})]},Z.id)})})]})}import{useCallback as C5,useEffect as T5,useLayoutEffect as X1,useMemo as v5,useRef as V1,useState as p0}from"react";import{memo as I5}from"react";import{Fragment as k5}from"react";import{useRef as i$,useState as n$}from"react";import{jsx as C_,jsxs as r$}from"react/jsx-runtime";function Q_({value:_,className:$}){let{t:Q}=N(),[Z,J]=n$(!1),Y=i$(null);async function X(V){V.stopPropagation(),V.preventDefault();try{if(await navigator.clipboard.writeText(_),J(!0),Y.current)clearTimeout(Y.current);Y.current=setTimeout(()=>J(!1),1500)}catch{}}return C_("span",{className:H("cortex-copy-btn",$),children:C_("button",{className:H("cortex-copy-btn__button",Z&&"cortex-copy-btn__button--copied"),onClick:(V)=>void X(V),"aria-label":Z?Q("translate_copied"):Q("translate_copy"),type:"button",children:Z?C_("svg",{className:"cortex-copy-btn__icon cortex-copy-btn__icon--check",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:C_("path",{d:M.check,stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}):r$("svg",{className:"cortex-copy-btn__icon",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:[C_("rect",{x:"9",y:"9",width:"12",height:"12",rx:"2",stroke:"currentColor",strokeWidth:"2"}),C_("path",{d:M.copy,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]})})})}import{jsx as O1,jsxs as k2}from"react/jsx-runtime";function E1({label:_}){return k2("div",{className:"cortex-aborted-flag",children:[O1("span",{className:"cortex-aborted-flag__line"}),k2("span",{className:"cortex-aborted-flag__label",children:[O1("svg",{className:"cortex-aborted-flag__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:O1("path",{d:M.alertSmall,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})}),_]}),O1("span",{className:"cortex-aborted-flag__line"})]})}import{jsx as T_,jsxs as y2}from"react/jsx-runtime";function b2(_){let{widget:$,t:Q}=N();return T_("div",{className:H("cortex-message-attachments",_.isUser&&"cortex-message-attachments--user"),children:_.attachments.map((Z)=>y2("button",{type:"button",onClick:()=>void M0($.api,Z.id),className:"cortex-message-attachment","aria-label":`${Q("translate_download")}: ${Z.filename}`,children:[y2("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__icon",fill:"none",children:[T_("path",{d:M.file[0],stroke:"currentColor",strokeWidth:"1.25"}),T_("path",{d:M.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),T_("span",{className:"cortex-message-attachment__name",children:Z.filename}),T_("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__dl-icon",fill:"none",children:T_("path",{d:M.download,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},Z.id))})}import{useState as s_}from"react";import{useMemo as o$,useState as a$}from"react";import{jsx as e,jsxs as M_,Fragment as A1}from"react/jsx-runtime";function D_({data:_,expandDepth:$,className:Q}){let Z=o$(()=>I_(_),[_]),[J,Y]=a$({});function X(K,z){return J[K]??z>=$}function V(K,z){Y((W)=>({...W,[K]:!X(K,z)}))}return e("div",{className:H("cortex-json-tree",Q),children:e(I2,{value:Z,path:"$",depth:0,isCollapsed:X,toggle:V})})}function I2({value:_,path:$,depth:Q,isCollapsed:Z,toggle:J}){let Y=S0(_,$);if(Y.kind==="primitive")return e("span",{className:Y.className,children:Y.text});if(Y.entries.length===0)return M_("span",{className:"cortex-json-tree__bracket",children:[Y.open,Y.close]});let X=Z($,Q);function V(K){J($,Q),K.stopPropagation()}return M_(A1,{children:[M_("span",{className:"cortex-json-tree__toggle",onClick:V,role:"button",children:[e("span",{className:H("cortex-json-tree__arrow",X&&"cortex-json-tree__arrow--collapsed"),children:"▾"}),e("span",{className:"cortex-json-tree__bracket",children:Y.open})]}),X?M_(A1,{children:[e("span",{className:"cortex-json-tree__collapsed-hint",onClick:V,role:"button",children:Y.summary}),e("span",{className:"cortex-json-tree__bracket",children:Y.close})]}):M_(A1,{children:[e("div",{className:"cortex-json-tree__indent",children:Y.entries.map((K,z)=>M_("div",{className:"cortex-json-tree__line",children:[K.key!==null&&M_(A1,{children:[e("span",{className:"cortex-json-tree__key",children:`"${K.key}"`}),e("span",{className:"cortex-json-tree__colon",children:": "})]}),e(I2,{value:K.value,path:K.path,depth:Q+1,isCollapsed:Z,toggle:J}),z<Y.entries.length-1&&e("span",{className:"cortex-json-tree__comma",children:","})]},K.path))}),e("span",{className:"cortex-json-tree__bracket",children:Y.close})]})]})}import{jsx as v_,jsxs as w_}from"react/jsx-runtime";function S2({usage:_}){let{t:$}=N();return w_("div",{className:"cortex-llm-inspector__usage-rows",children:[w_("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:m(_.input.total)}),w_("span",{className:"cortex-llm-inspector__usage-detail",children:[$("translate_fresh")," ",m(_.input.noCache)," · ",$("translate_read")," ",m(_.input.cacheRead)," · ",$("translate_write")," ",m(_.input.cacheWrite)]})]}),w_("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:m(_.output.total)}),w_("span",{className:"cortex-llm-inspector__usage-detail",children:[$("translate_text")," ",m(_.output.text)," · ",$("translate_reasoning")," ",m(_.output.reasoning)]})]}),w_("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:m(_.total)})]})]})}import{jsx as C2,jsxs as k1}from"react/jsx-runtime";function T2({usage:_}){let $=o_(_);return k1("span",{className:"cortex-llm-inspector__step-metrics",children:[k1("span",{className:"cortex-llm-inspector__metric",children:[C2("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--input"}),m(_.input.total)]}),k1("span",{className:"cortex-llm-inspector__metric",children:[C2("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--output"}),m(_.output.total)]}),$!==null&&k1("span",{className:"cortex-llm-inspector__cache-pct",children:[$,"%"]})]})}import{jsx as h,jsxs as U_}from"react/jsx-runtime";function v2({messageId:_}){let{t:$,widget:Q}=N(),Z=S((B)=>B.selected?.id),[J,Y]=s_(!1),[X,V]=s_("idle"),[K,z]=s_([]),[W,G]=s_(null),[q,U]=s_({});async function D(){if(!J&&X!=="loaded"&&Z){V("loading");try{z(await Q.api.listLlmRequests(Z,_)),V("loaded")}catch{V("failed")}}Y((B)=>!B)}function L(B){G((P)=>P===B?null:B)}function y(B){return q[B]??"prompt"}function O(B,P){U((E)=>({...E,[B]:P}))}function k(B){return y(B.id)==="prompt"?B.prompt:B.output}return U_("div",{className:H("cortex-llm-inspector",J&&"cortex-llm-inspector--open"),children:[U_("button",{className:"cortex-llm-inspector__trigger",onClick:()=>void D(),children:[h("svg",{className:"cortex-llm-inspector__icon",width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:h("path",{d:M.search,fill:"currentColor"})}),h("span",{children:$("translate_inspect_llm_requests")}),X==="loading"?h("span",{className:"cortex-llm-inspector__loading",children:$("translate_loading")}):K.length>0?h("span",{className:"cortex-llm-inspector__badge",children:K.length}):null,h("svg",{className:"cortex-llm-inspector__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:h("path",{d:M.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),h("div",{className:"cortex-llm-inspector__panel-wrapper",children:h("div",{className:"cortex-llm-inspector__panel-inner",children:U_("div",{className:"cortex-llm-inspector__panel",children:[K.length===0&&X!=="loading"&&h("div",{className:"cortex-llm-inspector__empty",children:$(X==="failed"?"translate_error":"translate_no_llm_requests")}),K.map((B,P)=>U_("div",{className:H("cortex-llm-inspector__step",W===B.id&&"cortex-llm-inspector__step--expanded"),children:[U_("button",{className:"cortex-llm-inspector__step-header",onClick:()=>L(B.id),children:[h("span",{className:"cortex-llm-inspector__step-label",children:$("translate_step_n",{number:P+1})}),B.tokenUsage&&h(T2,{usage:B.tokenUsage}),h("svg",{className:"cortex-llm-inspector__step-chevron",width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",children:h("path",{d:M.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),h("div",{className:"cortex-llm-inspector__step-body-wrapper",children:h("div",{className:"cortex-llm-inspector__step-body-inner",children:U_("div",{className:"cortex-llm-inspector__step-body",children:[B.tokenUsage&&h(S2,{usage:B.tokenUsage}),U_("div",{className:"cortex-llm-inspector__tabs",children:[h("button",{className:H("cortex-llm-inspector__tab",y(B.id)==="prompt"&&"cortex-llm-inspector__tab--active"),onClick:()=>O(B.id,"prompt"),children:$("translate_request")}),h("button",{className:H("cortex-llm-inspector__tab",y(B.id)==="response"&&"cortex-llm-inspector__tab--active"),onClick:()=>O(B.id,"response"),children:$("translate_response")})]}),U_("div",{className:"cortex-llm-inspector__json-pane",children:[h(Q_,{className:"cortex-llm-inspector__json-copy",value:T0(k(B))}),h(D_,{data:C0(k(B)),expandDepth:2})]})]})})})]},B.id))]})})})]})}import{useState as s$}from"react";import{jsx as f,jsxs as c}from"react/jsx-runtime";function w2({usage:_,modelId:$}){let{t:Q}=N(),[Z,J]=s$(!1),Y=o_(_)??0;return c("div",{className:H("cortex-token-usage",Z&&"cortex-token-usage--expanded"),children:[c("button",{className:"cortex-token-usage__summary",onClick:()=>J((X)=>!X),children:[c("span",{className:"cortex-token-usage__total",children:[f("span",{className:"cortex-token-usage__total-number",children:m(_.total)}),f("span",{className:"cortex-token-usage__total-label",children:Q("translate_tokens")})]}),$?f("span",{className:"cortex-token-usage__model",children:$}):null,c("span",{className:"cortex-token-usage__pills",children:[c("span",{className:"cortex-token-usage__pill",children:[f("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),m(_.input.total)]}),c("span",{className:"cortex-token-usage__pill",children:[f("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),m(_.output.total)]})]}),Y>0&&c("span",{className:"cortex-token-usage__cache-badge",children:[Y,"%"]}),f("svg",{className:"cortex-token-usage__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:f("path",{d:M.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),f("div",{className:"cortex-token-usage__details",children:f("div",{className:"cortex-token-usage__details-inner",children:c("div",{className:"cortex-token-usage__columns",children:[c("div",{className:"cortex-token-usage__col",children:[c("div",{className:"cortex-token-usage__col-header",children:[f("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),f("span",{className:"cortex-token-usage__col-label",children:Q("translate_input")}),f("span",{className:"cortex-token-usage__col-total",children:m(_.input.total)})]}),c("div",{className:"cortex-token-usage__rows",children:[_.input.noCache?c("div",{className:"cortex-token-usage__row",children:[f("span",{className:"cortex-token-usage__row-label",children:Q("translate_fresh")}),f("span",{className:"cortex-token-usage__row-value",children:m(_.input.noCache)})]}):null,_.input.cacheRead?c("div",{className:"cortex-token-usage__row",children:[f("span",{className:"cortex-token-usage__row-label",children:Q("translate_cache_read")}),f("span",{className:"cortex-token-usage__row-value",children:m(_.input.cacheRead)})]}):null,_.input.cacheWrite?c("div",{className:"cortex-token-usage__row",children:[f("span",{className:"cortex-token-usage__row-label",children:Q("translate_cache_write")}),f("span",{className:"cortex-token-usage__row-value",children:m(_.input.cacheWrite)})]}):null]}),Y>0&&c("div",{className:"cortex-token-usage__cache-bar-row",children:[f("div",{className:"cortex-token-usage__cache-bar",children:f("div",{className:"cortex-token-usage__cache-fill",style:{width:`${Y}%`}})}),f("span",{className:"cortex-token-usage__cache-label",children:Q("translate_n_percent_cached",{percent:Y})})]})]}),c("div",{className:"cortex-token-usage__col",children:[c("div",{className:"cortex-token-usage__col-header",children:[f("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),f("span",{className:"cortex-token-usage__col-label",children:Q("translate_output")}),f("span",{className:"cortex-token-usage__col-total",children:m(_.output.total)})]}),c("div",{className:"cortex-token-usage__rows",children:[_.output.text?c("div",{className:"cortex-token-usage__row",children:[f("span",{className:"cortex-token-usage__row-label",children:Q("translate_text")}),f("span",{className:"cortex-token-usage__row-value",children:m(_.output.text)})]}):null,_.output.reasoning?c("div",{className:"cortex-token-usage__row",children:[f("span",{className:"cortex-token-usage__row-label",children:Q("translate_reasoning")}),f("span",{className:"cortex-token-usage__row-value",children:m(_.output.reasoning)})]}):null]})]})]})})})]})}import{jsx as f2,jsxs as t$}from"react/jsx-runtime";function j2({messageId:_,metadata:$}){let{tokenUsage:Q}=$;return t$("div",{className:"cortex-message-debug-zone",children:[Q&&f2(w2,{usage:Q,modelId:$.modelId}),f2(v2,{messageId:_})]})}import{jsx as Z_,jsxs as t_}from"react/jsx-runtime";function g2(_){let{reasoningPart:$,streaming:Q=!1}=_,{t:Z}=N();return t_("details",{className:"cortex-reasoning-details",children:[t_("summary",{className:"cortex-reasoning-details__summary",children:[t_("div",{className:"cortex-reasoning-details__header",children:[Z_("span",{className:"cortex-reasoning-details__icon",children:t_("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:[Z_("path",{d:M.bulb[0],stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}),Z_("path",{d:M.bulb[1],stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})]})}),Z_("div",{className:"cortex-reasoning-details__title-group",children:t_("div",{className:"cortex-reasoning-details__title-row",children:[Z_("div",{className:"cortex-reasoning-details__title",children:Z("translate_reasoning")}),Z_("span",{className:H("cortex-reasoning-details__badge",Q?"cortex-reasoning-details__badge--streaming":"cortex-reasoning-details__badge--done"),children:Q?Z("translate_streaming"):Z("translate_done")})]})})]}),Z_("span",{className:"cortex-reasoning-details__chevron","aria-hidden":"true",children:Z_("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:Z_("path",{d:M.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),Z_("div",{className:"cortex-reasoning-details__body",children:Z_("div",{className:"cortex-reasoning-details__content",children:Z_("pre",{dir:"auto",className:"cortex-reasoning-details__pre",children:$.content.trim()?$.content:Z("translate_no_reasoning")})})})]})}import{useEffect as p2,useMemo as W5,useState as d2}from"react";import{useEffect as $5,useState as Q5}from"react";import{useRef as e$,useState as _5}from"react";import{jsx as z_,jsxs as y1}from"react/jsx-runtime";function f_(_){let{label:$,ready:Q=!0,actions:Z,expanded:J,children:Y}=_,{t:X}=N(),V=e$(null),[K,z]=_5(!1);return y1("div",{className:"cortex-expandable",children:[Q&&y1("div",{className:"cortex-expandable__toolbar",role:"group","aria-label":$,children:[Z,z_("button",{type:"button",className:"cortex-expandable__action","aria-label":X("translate_expand",{name:$}),title:X("translate_expand",{name:$}),onClick:()=>{z(!0),V.current?.showModal()},children:z_("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:z_("path",{d:M.expand,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),z_("div",{className:"cortex-expandable__content",children:Y}),y1("dialog",{ref:V,className:"cortex-expandable__dialog","aria-label":$,closedby:"any",onClose:()=>z(!1),children:[y1("div",{className:"cortex-expandable__head",children:[z_("span",{className:"cortex-expandable__title",children:$}),Z,z_("button",{type:"button",className:"cortex-expandable__action","aria-label":X("translate_close"),title:X("translate_close"),onClick:()=>V.current?.close(),children:z_("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:z_("path",{d:M.close,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})})]}),K&&z_("div",{className:"cortex-expandable__body",children:J})]})]})}import{jsx as e_,jsxs as Z5}from"react/jsx-runtime";function m2(_){let{id:$,alt:Q,attachment:Z}=_,{widget:J,t:Y}=N(),[{url:X,failed:V},K]=Q5({url:void 0,failed:!1});if($5(()=>P0(J.api,$,K),[J,$]),V)return e_("p",{className:"cortex-attachment-image__caption",children:Q?Y("translate_image_unavailable_alt",{alt:Q}):Y("translate_image_unavailable")});if(!X)return null;return Z5("figure",{className:"cortex-attachment-image",children:[e_(f_,{label:Z?.filename||Q||Y("translate_image"),expanded:e_("img",{className:"cortex-attachment-image__expanded",src:X,alt:Q}),children:e_("img",{src:X,alt:Q})}),Z&&e_("figcaption",{className:"cortex-attachment-image__caption",children:Z.filename})]})}import{useEffect as J5,useRef as Y5,useState as x0}from"react";import{jsx as s,jsxs as _1,Fragment as z5}from"react/jsx-runtime";function X5(_){let{t:$}=N();if(!_.pending&&!_.debugMode)return null;return _1("div",{className:"cortex-media-block__head",children:[_.debugMode&&s("span",{className:"cortex-media-block__lang",children:_.language}),_.pending&&s("span",{className:"cortex-media-block__pending",children:$(H1(_.language).pending)}),_.debugMode&&_.closed&&_1("span",{className:"cortex-media-block__actions",children:[_.onToggleSource&&s("button",{type:"button",className:"cortex-media-block__action","aria-pressed":_.sourceShown,onClick:_.onToggleSource,children:$("translate_media_source")}),s(Q_,{value:_.source})]})]})}function x2(_){let{t:$}=N(),Q=S((Z)=>Z.debugMode);return s("div",{className:"cortex-media-block__body",children:_1("p",{className:"cortex-media-block__error",children:[_.cutOff?$("translate_media_cut_off"):$("translate_media_failed"),!_.cutOff&&Q&&` ${_.reason}`]})})}function h2(_){let{language:$,source:Q,closed:Z,hidden:J,onError:Y}=_,{config:X,scheme:V,locale:K}=N(),z=Y5(null);return J5(()=>{Y(void 0);let W=z.current;if(!Z||!V||!W)return;return P1(W,{language:$,source:Q,context:{scheme:V,locale:K},overrides:X.mediaRenderers,onError:Y})},[$,Q,Z,V,K,X.mediaRenderers,Y]),s("div",{ref:z,hidden:J,className:H("cortex-media-block__body",`cortex-media-block__body--${$}`)})}function V5(_){let[$,Q]=x0();return _1(z5,{children:[$&&s(x2,{cutOff:!1,reason:$}),s(h2,{language:_.language,source:_.source,closed:!0,hidden:Boolean($),onError:Q})]})}function u2(_){let{language:$,source:Q,closed:Z,streaming:J}=_,{t:Y}=N(),X=S((D)=>D.debugMode),[V,K]=x0(),[z,W]=x0(!1),G=!Z&&!J,q=G||Boolean(V);return _1("div",{className:"cortex-media-block",children:[s(X5,{language:$,source:Q,pending:!Z&&J,closed:Z,debugMode:X,sourceShown:z,onToggleSource:q?void 0:()=>W((D)=>!D)}),q&&s(x2,{cutOff:G,reason:V}),s(f_,{label:Y(H1($).title),ready:Z&&!q,expanded:s(V5,{language:$,source:Q}),children:s(h2,{language:$,source:Q,closed:Z,hidden:q,onError:K})}),X&&(q||z)&&s("pre",{dir:"ltr",className:"cortex-media-block__source",children:Q})]})}import{useMemo as K5,useRef as G5}from"react";import{jsx as L_}from"react/jsx-runtime";function c2(_){let{t:$}=N(),Q=G5(null),Z=K5(()=>({__html:i_(_.text)}),[_.text]);return L_("div",{className:"cortex-table-block",children:L_(f_,{label:$("translate_table"),ready:_.closed,actions:L_("button",{type:"button",className:"cortex-expandable__action","aria-label":$("translate_table_export"),title:$("translate_table_export"),onClick:()=>Q.current&&H0(Q.current),children:L_("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:L_("path",{d:M.downloadTray,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),expanded:L_("div",{className:"cortex-table-block__expanded",dangerouslySetInnerHTML:Z}),children:L_("div",{ref:Q,dangerouslySetInnerHTML:Z})})})}import{jsx as j_}from"react/jsx-runtime";function l2(_){let{role:$,textPart:Q,streaming:Z=!1,attachments:J}=_,{config:Y}=N(),[X,V]=d2({text:Q.content,fading:[]}),[K]=d2(()=>new H_((G,q)=>V((U)=>U.text===G&&!U.fading.length&&!q.length?U:{text:G,fading:q})));p2(()=>K.follow(Q.content,$==="assistant"&&Z),[K,$,Z,Q]),p2(()=>()=>K.destroy(),[K]);let z=Z||X.text!==Q.content,W=W5(()=>{let G=N0(X.text,{role:$,languages:y0(Y.mediaRenderers),attachments:J,arriving:z});return G.map((q,U)=>q.kind==="markdown"?{...q,html:{__html:i_(q.text,U===G.length-1?X.fading:[])}}:q)},[$,X,Y.mediaRenderers,J,z]);return j_("div",{className:H("cortex-text-part",$==="assistant"&&"cortex-text-part--assistant",$==="user"&&"cortex-text-part--user"),children:j_("div",{className:H("cortex-text-bubble",$==="assistant"&&"cortex-text-bubble--assistant",$==="user"&&"cortex-text-bubble--user"),children:W.map((G,q)=>{switch(G.kind){case"markdown":return j_("div",{dangerouslySetInnerHTML:G.html},q);case"media":return j_(u2,{...G,streaming:z},q);case"table":return j_(c2,{text:G.text,closed:G.closed},q);case"attachment":return j_(m2,{...G},q)}})})})}import{useEffect as _8,useRef as h0,useState as $8}from"react";import{useEffect as q5,useState as D5}from"react";import{jsx as $1,jsxs as i2}from"react/jsx-runtime";function g_({activity:_,className:$}){let{t:Q}=N(),Z=d1(_),[J,Y]=D5({index:0,phase:"idle"}),X=Z.length;return q5(()=>s1(X,Y),[X]),i2("div",{className:H("cortex-subtle-activity",$),children:[i2("div",{className:"cortex-subtle-activity__dots",children:[$1("span",{className:"cortex-subtle-activity__dot"}),$1("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d1"}),$1("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d2"})]}),$1("div",{className:"cortex-subtle-activity__label-mask",children:$1("span",{className:H("cortex-subtle-activity__label",`cortex-subtle-activity__label--${J.phase}`),children:Q(Z[J.index])})})]})}import{jsx as Q1,jsxs as U5}from"react/jsx-runtime";function m_({state:_,active:$}){return U5("span",{className:"cortex-tool-pill__icon","aria-hidden":"true",children:[Q1("span",{className:H("cortex-tool-pill__spinner",$&&"cortex-tool-pill__spinner--visible")}),Q1("svg",{className:H("cortex-tool-pill__svg cortex-tool-pill__svg--check",_==="complete"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:Q1("path",{d:M.statusCheck,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),Q1("svg",{className:H("cortex-tool-pill__svg",_==="error"&&"cortex-tool-pill__svg--error",(_==="error"||_==="declined")&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:Q1("path",{d:M.statusCross,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})]})}import{jsx as B_,jsxs as Z1,Fragment as B5}from"react/jsx-runtime";function n2({toolCallPart:_,asking:$}){let{t:Q,widget:Z}=N(),J=p1(_),Y=J.title??Q(J.fallbackKey,J.fallbackParams),X=`cortex-approval-${_.id}`,V=J.decision==="pending";function K(z){Z.respondToApproval(_,z).catch(()=>{})}return Z1("div",{className:H("cortex-approval-card",V&&"cortex-approval-card--asking"),children:[V?Z1(B5,{children:[Z1("div",{className:"cortex-approval-card__head",children:[B_("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:B_("path",{d:M.shield,stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"})}),Q("translate_approval_needed")]}),B_("p",{className:"cortex-approval-card__sentence",id:X,children:Y})]}):Z1("div",{className:"cortex-approval-card__line",children:[B_(m_,{state:J.state,active:J.active}),J.decisionKey&&B_("span",{className:"cortex-approval-card__decision",children:Q(J.decisionKey)}),B_("span",{className:"cortex-approval-card__summary",children:Y})]}),V&&$&&Z1("div",{className:"cortex-approval-card__foot",children:[B_("button",{type:"button",className:"cortex-approval-card__button cortex-approval-card__button--approve","aria-describedby":X,onClick:()=>K(!0),children:Q("translate_approve")}),B_("button",{type:"button",className:"cortex-approval-card__button","aria-describedby":X,onClick:()=>K(!1),children:Q("translate_deny")})]})]})}import{useEffect as r2,useRef as b1,useState as o2}from"react";import{jsx as p,jsxs as J_}from"react/jsx-runtime";function a2({toolCallPart:_,setOutput:$}){let{t:Q}=N(),{state:Z,id:J,input:Y}=_;if(Z==="complete"||Z==="error"){let X=B0(_.output);return X?p(N5,{position:X}):J_("div",{className:"cortex-tool-pill",children:[p(m_,{state:Z==="error"?"error":"declined",active:!1}),p("span",{className:"cortex-tool-pill__title",children:Q("translate_location_not_shared")})]})}if(Z!=="input-complete")return null;return p(F5,{center:U0(Y),submit:$},J)}function F5({center:_,submit:$}){let{t:Q}=N(),Z=b1(null),J=b1(void 0),[Y,X]=o2(U1),V=b1({center:_,submit:$});V.current={center:_,submit:$},r2(()=>{let z=Z.current;if(!z)return;let W=q0(z,{center:V.current.center,onState:X,submit:(G)=>V.current.submit(G)});return J.current=W,W.start(),()=>{if(W.dispose(),J.current===W)J.current=void 0}},[]);let K=F0(Y);return J_("div",{className:"cortex-location-input",children:[J_("div",{className:"cortex-location-input__map",children:[p("div",{className:"cortex-location-input__canvas",ref:Z}),p("button",{type:"button",className:"cortex-location-input__locate","aria-label":Q("translate_location_locate"),title:Q("translate_location_locate"),disabled:Y.locating||Y.submitting,onClick:()=>J.current?.locate(),children:p(H5,{})})]}),J_("div",{className:"cortex-location-input__foot",children:[Y.position&&!Y.deliveryFailed?p("span",{className:"cortex-location-input__coords",children:B1(Y.position)}):J_("span",{className:H("cortex-location-input__hint",K.failed&&"cortex-location-input__hint--failed"),children:[Y.locating&&p("span",{className:"cortex-location-input__spinner"}),Q(K.key)]}),J_("span",{className:"cortex-location-input__actions",children:[p("button",{type:"button",className:"cortex-location-input__skip",disabled:Y.submitting,onClick:()=>J.current?.cancel(),children:Q("translate_location_skip")}),p("button",{type:"button",className:"cortex-location-input__send",disabled:!Y.position||Y.submitting,onClick:()=>J.current?.confirm(),children:Q("translate_location_send")})]})]})]})}function N5({position:_}){let{t:$}=N(),Q=b1(null),[Z,J]=o2(!1),{lat:Y,lng:X}=_;return r2(()=>{let V=Q.current;if(!V)return;return J(!1),D0(V,{lat:Y,lng:X},()=>J(!0))},[Y,X]),J_("div",{className:"cortex-location-input cortex-location-input--settled",children:[J_("div",{className:"cortex-location-input__map cortex-location-input__map--still",children:[p("div",{className:"cortex-location-input__canvas",ref:Q,hidden:Z}),Z&&p("span",{className:"cortex-location-input__still-failed",children:$("translate_location_map_failed")})]}),J_("div",{className:"cortex-location-input__body",children:[J_("span",{className:"cortex-location-input__title",children:[p("svg",{viewBox:"0 0 20 20",fill:"none",children:p("path",{d:M.statusCheck,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),$("translate_location_shared")]}),p("span",{className:"cortex-location-input__coords",children:B1(_)})]})]})}function H5(){return J_("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:[p("circle",{cx:"10",cy:"10",r:"5.5"}),p("circle",{cx:"10",cy:"10",r:"1.6",fill:"currentColor",stroke:"none"}),p("path",{d:M.crosshair})]})}import{jsx as Y_,jsxs as x_}from"react/jsx-runtime";function s2({toolCallPart:_}){let{t:$}=N(),Q=i1(_),Z=_.output;switch(Q?.kind){case"output":return x_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--success",children:[x_("div",{className:"cortex-debug-tool__section-bar",children:[Y_("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--success",children:$("translate_output")}),Y_("span",{className:"cortex-debug-tool__section-lang",children:"json"}),Y_(Q_,{value:Q.text})]}),Y_("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:Y_(D_,{data:Z,expandDepth:2})})]});case"error":return x_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--error",children:[x_("div",{className:"cortex-debug-tool__section-bar",children:[Y_("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--error",children:$("translate_error")}),Y_(Q_,{value:Q.text})]}),Y_("pre",{dir:"ltr",className:"cortex-debug-tool__error-pre",children:Q.text})]});case"approval":return x_("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--approval",children:[x_("div",{className:"cortex-debug-tool__section-bar",children:[Y_("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--approval",children:$(Q.labelKey)}),Y_("span",{className:"cortex-debug-tool__section-lang",children:Q.approvalId})]}),Y_("div",{className:"cortex-debug-tool__message cortex-debug-tool__message--approval",children:$(Q.messageKey)})]});default:return null}}import{jsx as P5,jsxs as M5}from"react/jsx-runtime";function t2({toolCallPart:_}){let{t:$}=N(),Q=u1(_);return M5("span",{className:H("cortex-debug-tool__state",Q.modifier&&`cortex-debug-tool__state--${Q.modifier}`),children:[Q.pulse&&P5("span",{className:H("cortex-debug-tool__pulse",Q.pulse==="violet"&&"cortex-debug-tool__pulse--violet")}),$(Q.labelKey)]})}import{jsx as d,jsxs as K_}from"react/jsx-runtime";function e2({toolCallPart:_}){let{t:$}=N(),{codeSnippets:Q,remainingInput:Z,remainingInputText:J}=c1(_.input);return K_("details",{className:"cortex-debug-tool","data-state":_.state,children:[d("summary",{className:"cortex-debug-tool__summary",children:K_("div",{className:"cortex-debug-tool__header",children:[K_("div",{className:"cortex-debug-tool__meta",children:[d("div",{className:"cortex-debug-tool__title-row",children:d("span",{className:"cortex-debug-tool__name",title:_.name,children:_.name})}),d("div",{className:"cortex-debug-tool__id-row",children:d("span",{className:"cortex-debug-tool__id",children:_.id})})]}),K_("div",{className:"cortex-debug-tool__actions",children:[d(t2,{toolCallPart:_}),d("svg",{className:"cortex-debug-tool__chevron",width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:d("path",{d:M.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})}),K_("div",{className:"cortex-debug-tool__body",children:[Q.map((Y)=>K_("div",{className:"cortex-debug-tool__section",children:[K_("div",{className:"cortex-debug-tool__section-bar",children:[d("span",{className:"cortex-debug-tool__section-label",children:Y.key}),d("span",{className:"cortex-debug-tool__section-lang",children:Y.lang}),d(Q_,{value:Y.value})]}),d("pre",{dir:"ltr",className:"cortex-debug-tool__pre",children:d("code",{className:"hljs",dangerouslySetInnerHTML:{__html:I0(Y.value,Y.lang)}})})]},Y.key)),!!Z&&K_("div",{className:"cortex-debug-tool__section",children:[K_("div",{className:"cortex-debug-tool__section-bar",children:[d("span",{className:"cortex-debug-tool__section-label",children:$("translate_input")}),d("span",{className:"cortex-debug-tool__section-lang",children:"json"}),d(Q_,{value:J})]}),d("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:d(D_,{data:Z,expandDepth:2})})]}),d(s2,{toolCallPart:_})]})]})}import{jsx as l,jsxs as I1}from"react/jsx-runtime";var L5={[W1]:a2};function Q8({message:_,toolCallPart:$}){let{config:Q,widget:Z}=N(),J=S((G)=>G.session.isAgentWorking),Y=S((G)=>G.capabilities),X=S((G)=>G.debugMode),[V,K]=$8(!1),z=l1($,{agentWorking:J,capabilities:Y,debugMode:X,consumerTools:Q.toolComponents,builtInTools:L5,embedUnavailable:V});function W(){switch(z.kind){case"consumer":case"builtIn":return l(z.component,{toolCallPart:$,message:_,setOutput:(G)=>Z.addToolResult($.id,$.name,G)});case"embed":return l(R5,{toolCallPart:$,onUnavailable:()=>K(!0)});case"approval":return l(n2,{toolCallPart:$,asking:z.asking});case"debug":return l(e2,{toolCallPart:$});case"activity":return l(g_,{activity:z.activity});case"pill":return l(E5,{toolCallPart:$})}}return l("div",{className:"cortex-tool-call-animated",children:W()})}function R5({toolCallPart:_,onUnavailable:$}){let{t:Q,widget:Z,config:J}=N(),Y=S((G)=>G.selected?.id),[X,V]=$8({phase:"initiating"}),K=h0(void 0),z=h0({widget:Z,config:J,onUnavailable:$,toolName:_.name});if(z.current={widget:Z,config:J,onUnavailable:$,toolName:_.name},_8(()=>{if(!Y){z.current.onUnavailable();return}let G=W0({initiate:()=>z.current.widget.api.initiateToolCall(Y,_.id),onState:(q)=>{if(V(q),q.phase==="unavailable")z.current.onUnavailable()},submit:(q)=>z.current.widget.addToolResult(_.id,z.current.toolName,q),host:window,trustSameOrigin:z.current.config.trustSameOriginEmbeds});return K.current=G,G.start(),()=>{if(G.dispose(),K.current===G)K.current=void 0}},[_.id,Y]),!Y||X.phase==="unavailable")return null;let W=I1("div",{className:"cortex-client-tool-embed",children:[I1("div",{className:"cortex-client-tool-embed__bar",children:[l("span",{children:Q("translate_client_tool_title")}),l("button",{type:"button",className:"cortex-client-tool-embed__cancel",onClick:()=>K.current?.cancel(),children:Q("translate_client_tool_cancel")})]}),X.phase==="embedded"?l("iframe",{className:"cortex-client-tool-embed__frame",src:X.embedUrl,sandbox:X.sandbox,title:Q("translate_client_tool_title"),ref:(G)=>K.current?.setSource(G?.contentWindow),onLoad:(G)=>K.current?.frameLoaded(G.currentTarget)}):X.phase==="error"?I1("div",{className:"cortex-client-tool-embed__status",children:[l("span",{children:Q("translate_client_tool_failed")}),l("button",{type:"button",className:"cortex-client-tool-embed__retry",onClick:()=>void K.current?.start(),children:Q("translate_client_tool_retry")})]}):l("div",{className:"cortex-client-tool-embed__status",children:Q("translate_client_tool_loading")})]});return X.phase==="embedded"&&X.surface==="modal"?l(O5,{label:Q("translate_client_tool_title"),onCancel:()=>K.current?.cancel(),children:W}):W}function O5({label:_,onCancel:$,children:Q}){let Z=h0(null);return _8(()=>{let J=Z.current;return J?.showModal(),()=>J?.close()},[]),l("dialog",{ref:Z,className:"cortex-client-tool-embed-dialog","aria-label":_,onCancel:(J)=>{J.preventDefault(),$()},children:Q})}function E5({toolCallPart:_}){let{t:$}=N(),{state:Q,active:Z,titleKey:J,statement:Y,rows:X}=c_(_);return I1("div",{className:"cortex-tool-pill",children:[l(m_,{state:Q,active:Z}),l("span",{className:H("cortex-tool-pill__title",Q==="error"&&"cortex-tool-pill__title--error",Q==="starting"&&Y&&"cortex-tool-pill__title--pending"),children:Y??$(J)}),X!==void 0&&l("span",{className:"cortex-tool-pill__meta",children:$("translate_rows",{count:X})})]})}import{jsx as J1,jsxs as A5}from"react/jsx-runtime";function Z8(_){let{message:$,part:Q,animate:Z,streaming:J,attachments:Y}=_,{t:X}=N(),V=S((z)=>z.debugMode);function K(){switch(Q.type){case"text":return J1(l2,{textPart:Q,role:$.role,streaming:J,attachments:Y});case"thinking":return V?J1(g2,{reasoningPart:Q,streaming:J}):J1(g_,{activity:"reasoning",className:"cortex-reasoning-animated"});case"tool-call":return J1(Q8,{toolCallPart:Q,message:$});default:return A5("p",{className:"cortex-unhandled-type",children:[X("translate_unhandled_type")," ",Q.type]})}}return J1("div",{className:H("cortex-message-part",Z&&"cortex-message-part--animated",_.folded&&"cortex-message-part--folded"),"data-cortex-frontier":_.frontier?"":void 0,children:K()})}import{jsx as G_,jsxs as u0}from"react/jsx-runtime";function y5({isUser:_,clipboardText:$,createdAt:Q}){let{locale:Z}=N();return u0("div",{className:H("cortex-message-actions",_&&"cortex-message-actions--user"),children:[$&&G_(Q_,{value:$}),Q&&G_("time",{className:"cortex-message-actions__time",dateTime:Q,children:X_(Q,Z)})]})}function b5({count:_,animate:$,onOpen:Q}){let{t:Z}=N();return G_("button",{type:"button",className:H("cortex-tool-fold",$&&"cortex-message-part--animated"),onClick:Q,children:Z("translate_more_steps",{count:_})})}function J8(_){let{message:$,layout:Q,animate:Z,fold:J,onOpenRun:Y,frontier:X}=_,{parts:V,metadata:K,actionsAfter:z}=Q,{t:W}=N(),G=$.role==="user",q=K?.attachments,U=z&&G_(y5,{isUser:G,clipboardText:f0(V),createdAt:K?.createdAt});return u0("div",{className:"cortex-message-parts",children:[V.map((D)=>{let L=J?.get(D);return u0(k5,{children:[G_(Z8,{part:D,message:$,animate:Z,streaming:D===Q.streamingPart,attachments:q,frontier:D===X,folded:L?.kind==="hidden"}),L?.kind==="more"&&G_(b5,{count:L.count,animate:Z,onOpen:()=>Y(L.runId)}),D===z&&U]},$.parts.indexOf(D))}),q?.length?G_(b2,{attachments:q,isUser:G}):null,K?.isAborted&&G_(E1,{label:W("translate_aborted")}),z==="end"&&U,Q.debugStrip&&K&&G_(j2,{messageId:$.id,metadata:K})]})}import{jsx as R_,jsxs as c0}from"react/jsx-runtime";function Y8({firing:_}){let{t:$,locale:Q}=N(),Z=S((J)=>J.debugMode);return c0("div",{className:H("cortex-trigger-block",Z&&"cortex-trigger-block--debug"),children:[c0("div",{className:"cortex-trigger-block__head",children:[R_("svg",{className:"cortex-trigger-block__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:R_("path",{d:M.bolt,fill:"currentColor"})}),Z&&R_("span",{children:$("translate_trigger_fired")}),R_("span",{className:"cortex-trigger-block__name",children:_.name}),R_("time",{className:"cortex-trigger-block__time",dateTime:_.firedAt,children:X_(_.firedAt,Q)})]}),Z&&c0("details",{className:"cortex-trigger-block__payload",children:[R_("summary",{children:$("translate_trigger_payload")}),R_(D_,{data:_.payload,expandDepth:2})]})]})}import{jsx as Y1}from"react/jsx-runtime";var X8=I5(function($){let{message:Q,isStreaming:Z,closesTurn:J,animate:Y,fold:X,onOpenRun:V,workingTurn:K,frontier:z}=$,W=S((q)=>q.debugMode),G=w0(Q,{debugMode:W,isStreaming:Z,fold:X,closesTurn:J});if(G.metadata?.trigger)return Y1("div",{className:"cortex-message",children:Y1(Y8,{firing:G.metadata.trigger})});if(!G.drawsBody)return Y1("div",{className:"cortex-message"});return Y1("div",{className:H("cortex-message",K&&"cortex-message--working-turn"),children:Y1(J8,{message:Q,layout:G,animate:Y,fold:X,onOpenRun:V,frontier:z})})});import{jsx as S1}from"react/jsx-runtime";var S5=[{role:"user",lines:[13,9]},{role:"assistant",lines:[16,18,12]},{role:"user",lines:[11]},{role:"assistant",lines:[14,15]}];function V8(){return S1("div",{className:"cortex-widget__messages-skeleton",children:S5.map((_,$)=>S1("div",{className:`cortex-widget__msg-skel cortex-widget__msg-skel--${_.role}`,children:S1("div",{className:`cortex-widget__msg-skel-bubble cortex-widget__msg-skel-bubble--${_.role}`,children:_.lines.map((Q)=>S1("div",{className:"cortex-skeleton cortex-widget__msg-skel-line",style:{width:`${Q}rem`}},Q))})},$))})}import{jsx as __,jsxs as z1,Fragment as z8}from"react/jsx-runtime";function w5(_,$,Q){let Z=V1(null),J=V1(null),Y=V1(void 0),[X,V]=p0(!1);return X1(()=>{let K=Z.current,z=J.current;if(!_||!K||!z)return;let W=o1(K,z);return Y.current=W,()=>{W.dispose(),Y.current=void 0}},[_]),X1(()=>Y.current?.pin(),[$]),X1(()=>Y.current?.messagesChanged(Q.at(-1)),[Q]),T5(()=>{V(!1),queueMicrotask(()=>V(!0))},[$]),{containerRef:Z,contentRef:J,animateNewParts:X}}function f5({working:_}){let $=V1(null),Q=V1(void 0);return X1(()=>{let Z=$.current;if(!Z)return;let J=a1(Z);return Q.current=J,()=>{J.dispose(),Q.current=void 0}},[]),X1(()=>Q.current?.sync(_)),z1("div",{ref:$,className:"cortex-working-avatar","aria-hidden":"true",children:[z1("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[__("path",{d:M.sparkles[0]}),__("path",{d:M.sparkles[1]})]}),__("span",{className:"cortex-working-avatar__ring"})]})}function K8(_){let{config:$,t:Q}=N(),Z=S((B)=>B.selected?.id),{messages:J,isAgentWorking:Y,isLoadingMessages:X,turnFailure:V}=S((B)=>B.session),K=S((B)=>B.debugMode),z=S((B)=>B.capabilities),W=!X||Y,G=w5(W,Z,J),[q,U]=p0(new Set),D=C5((B)=>U((P)=>new Set(P).add(B)),[]),L=$.toolComponents,[y]=p0(v0),{rows:O,thinking:k}=v5(()=>y(J,{agentWorking:Y,debugMode:K,opened:q,consumerTools:L,capabilities:z}),[y,J,Y,K,q,L,z]);return z1(z8,{children:[!W?__(V8,{}):__("div",{className:_.className,children:__("div",{ref:G.containerRef,className:"cortex-message-list",children:z1("div",{ref:G.contentRef,className:"cortex-message-list__content",children:[O.map((B)=>__(X8,{...B,onOpenRun:D,animate:G.animateNewParts},B.message.id)),V&&z1(z8,{children:[__(E1,{label:Q(Y0(V))}),V.reason&&__("p",{className:"cortex-aborted-flag__reason",children:V.reason})]}),k&&__("div",{className:"cortex-working-thinking","data-cortex-frontier":"",children:__(g_,{activity:"reasoning"})}),__(f5,{working:Y},Z)]})})}),__(L1,{})]})}import{jsx as G8,jsxs as j5}from"react/jsx-runtime";function W8(_){let{widget:$}=N(),Q=S((J)=>J.screen),Z=S((J)=>J.selected!==void 0);return j5("div",{className:H("cortex-widget__screen",Q==="chat"&&"cortex-widget__screen--active",Q!=="chat"&&"cortex-widget__screen--right"),children:[_.header,Z?G8(K8,{className:"cortex-widget__messages"}):_.landing,G8("div",{className:"cortex-widget__sidebar-backdrop",onClick:$.closeHistory})]})}import{jsx as u,jsxs as O_,Fragment as g5}from"react/jsx-runtime";function q8(_){let{locale:$,t:Q}=N(),{threads:Z,deleteThread:J}=_;return u("div",{className:"cortex-widget__threads-list",children:Z===void 0?[1,2,3,4].map((Y)=>O_("div",{className:"cortex-widget__thread-skeleton",children:[u("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-icon"}),u("div",{className:"cortex-widget__thread-skeleton-lines",children:u("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-line",style:{width:`${40+Y*12}%`}})})]},Y)):O_(g5,{children:[Z.map((Y)=>{let X=Y.id===_.selectedThreadId,V=X_(Y.updatedAt,$);return O_("div",{className:H("cortex-widget__thread-item",X&&"cortex-widget__thread-item--active"),children:[u("div",{className:H("cortex-widget__thread-icon",X&&"cortex-widget__thread-icon--active"),children:u("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:u("path",{d:M.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),O_("button",{type:"button",onClick:()=>_.openThread(Y),className:"cortex-widget__thread-info",children:[O_("div",{className:"cortex-widget__thread-title-row",children:[u("p",{dir:"auto",className:H("cortex-widget__thread-title",X&&"cortex-widget__thread-title--active"),children:Y.title??Q("translate_untitled")}),Y.isRunning&&O_("span",{className:H("cortex-widget__thread-running",X&&"cortex-widget__thread-running--active"),children:[u("span",{className:"cortex-widget__thread-running-dot"}),Q("translate_running")]})]}),V&&u("p",{className:"cortex-widget__thread-time",children:V})]}),J&&u("button",{type:"button","aria-label":Q("translate_delete_conversation"),onClick:()=>J(Y.id),className:H("cortex-widget__thread-delete",X&&"cortex-widget__thread-delete--active"),children:u("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",children:u("path",{d:M.close,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})})}),u("svg",{className:H("cortex-widget__thread-arrow",X&&"cortex-widget__thread-arrow--active"),width:"10",height:"10",viewBox:"0 0 16 16",fill:"none",children:u("path",{d:M.chevronRight,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},Y.id)}),!Z.length&&O_("div",{className:"cortex-widget__threads-empty",children:[u("div",{className:"cortex-widget__threads-empty-icon",children:u("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__threads-empty-svg",children:u("path",{d:M.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),u("p",{className:"cortex-widget__threads-empty-title",children:Q("translate_no_threads_yet")}),u("p",{className:"cortex-widget__threads-empty-subtitle",children:Q("translate_start_a_new_conversation")}),_.newChat&&u("button",{onClick:_.newChat,className:"cortex-widget__new-chat-btn cortex-widget__new-chat-btn--empty-state",children:Q("translate_new_chat")})]})]})})}import{jsx as m5,jsxs as U8}from"react/jsx-runtime";function D8(_){_.preventDefault()}function B8(_){let{locale:$}=N(),Q=S((J)=>J.screen),Z=S((J)=>J.sidebarOpen);return m5("div",{className:H("cortex-widget",_.className),"data-cortex-theme":_.theme,dir:t0[$],children:U8("div",{className:H("cortex-widget__container",_.viewMode==="full"&&"cortex-widget__container--full",Z&&"cortex-widget__container--sidebar-open"),onDragOver:D8,onDrop:D8,children:[U8("div",{className:H("cortex-widget__screen",Q==="threads"&&"cortex-widget__screen--active",Q!=="threads"&&"cortex-widget__screen--left"),children:[_.header,_.threadList]}),_.children]})})}import{jsx as W_}from"react/jsx-runtime";var u5={header:O2,landing:A2,threadList:q8};function d0(_,$){return _?.[$]??u5[$]}function c5({config:_,className:$,slots:Q}){let{widget:Z,parts:J}=B2(_),[Y,X]=h5();x5(()=>b0(_.theme,X),[_.theme]);let V=b_(_.locale),K=F8(()=>({config:_,locale:V,t:(W,G)=>$_(V,W,G),scheme:Y,widget:Z}),[_,V,Y,Z]),z=F8(()=>{let W=G0(Z,J,_,W_("div",{className:"cortex-widget__landing-composer",children:W_(L1,{})})),G=d0(Q,"header"),q=d0(Q,"landing"),U=d0(Q,"threadList");return{threadsHeader:W_(G,{...W.threadsHeader}),threadList:W_(U,{...W.threadList}),chatHeader:W_(G,{...W.chatHeader}),landing:W_(q,{...W.landing})}},[Z,J,_,Q]);return W_(j0.Provider,{value:K,children:W_(B8,{className:$,theme:_.theme,viewMode:_.viewMode??"helper",header:z.threadsHeader,threadList:z.threadList,children:W_(W8,{header:z.chatHeader,landing:z.landing})})})}export{c5 as CortexChatWidget};