@m6d/cortex-react 0.16.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.js +15 -12
- package/dist/styles.css +586 -2
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import{useEffect as
|
|
2
|
-
`)}]:[]}):[],r=e;if(t){let o=Object.fromEntries(Object.entries(t).filter(([a])=>!Object.hasOwn(Cr,a)));r=Object.keys(o).length>0?o:null}return{codeSnippets:n,remainingInput:r,remainingInputText:r?JSON.stringify(r,null,2):""}}var rs=10,os={"awaiting-input":"starting","input-streaming":"starting","input-complete":"processing","approval-requested":"approval","approval-responded":"processing",complete:"complete",error:"error"};function as(e){let t=e.output;if(typeof t==="string")try{t=JSON.parse(t)}catch{return}if(!t||typeof t!=="object")return;if("error"in t&&t.error===!0)return"failed";if(!jt(e)?.embed||!("status"in t))return;let n=t.status;return n==="failed"||n==="cancelled"?n:void 0}function ss(e){let t=e.output;if(!t||typeof t!=="object"||!("rowCount"in t))return;let n=t.rowCount;return typeof n==="number"?n:void 0}function is(e,t,n){if(n==="declined")return"translate_declined";if(n==="cancelled")return"translate_tool_cancelled";if(t==="error")return"translate_tool_error";if(t==="approval")return"translate_needs_approval";return`translate_${e.name==="readAttachment"?"attachment":"tool"}_${t==="complete"?"done":"status"}`}function je(e){let t=e.approval?.approved===!1?"declined":e.state==="complete"?as(e):void 0,n=t?"error":os[e.state]??"processing";return{state:n,active:n==="starting"||n==="processing",gated:xr(e),titleKey:is(e,n,t),statement:fr.some((r)=>r===e.name)?$t(e.input,"status"):void 0,rows:n==="complete"?ss(e):void 0}}function Jt(e){let t=e.approval?.approved,{state:n,active:r}=je(e),o=t===void 0?e.state==="approval-requested"?"pending":"cancelled":!t?"declined":n==="error"?"failed":"approved";return{title:gr(e.input),fallbackKey:"translate_approval_action",fallbackParams:{tool:cs(e.name)},decision:o,decisionKey:ls[o],state:n,active:r}}var ls={pending:void 0,approved:"translate_approved",declined:"translate_declined",failed:"translate_approved_failed",cancelled:"translate_approval_cancelled"};function cs(e){let t=e.replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/[_\-.]+/g," ").trim().toLowerCase();return t.charAt(0).toUpperCase()+t.slice(1)}function Xt(e){return Array.from({length:rs},(t,n)=>`translate_${e}_${n}`)}function ze(e,t){return e.filter((n,r)=>{if(n.type==="tool-result")return!1;if(t.debugMode)return!0;if(n.type==="text"&&!n.content.trim())return!1;let o=r===e.length-1;return n.type!=="thinking"||t.isStreaming&&o})}var ds=[_t];function kr(e){return ds.find((t)=>t===e)}function Sr(e,t){let{consumerTools:n,capabilities:r}=t;if(r?.messages!==!0&&!X(e.state))return;return n&&Object.hasOwn(n,e.name)?n[e.name]:void 0}function Mr(e,t){if(Sr(e,t))return!1;return!kr(e.name)||!X(e.state)}function Zt(e,t){let n=je(e),r=t.capabilities?.messages===!0&&!t.agentWorking;if(e.state==="approval-requested"&&r)return{kind:"approval",asking:!0};if(t.debugMode)return{kind:"debug"};let o=Sr(e,t);if(o)return{kind:"consumer",component:o};let a=e.state==="input-complete"&&r,i=a||X(e.state)?kr(e.name):void 0;if(i)return{kind:"builtIn",component:t.builtInTools[i]};if(a&&!t.embedUnavailable&&jt(e)?.embed)return{kind:"embed"};if(e.name==="executeCode"&&!X(e.state)&&!n.statement)return{kind:"activity",activity:"code"};if(n.gated)return{kind:"approval",asking:!1};return{kind:"pill"}}function Yt(e){let t=e.approval?.id;switch(e.state){case"complete":return{kind:"output",text:wr(e)};case"error":return{kind:"error",text:wr(e)};case"approval-requested":return{kind:"approval",approvalId:t,labelKey:"translate_approval_requested",messageKey:"translate_waiting_for_approval"};case"approval-responded":return{kind:"approval",approvalId:t,labelKey:"translate_approval_response",messageKey:e.approval?.approved?"translate_tool_approved":"translate_tool_response_received"};default:return}}var Qt=new WeakMap;function en(e,t){let n=e.closest(".cortex-widget__screen"),r=n?.querySelector(".cortex-message-list");if(!n||!r||!e.value.trim())return;let o=getComputedStyle(e),a=e.getBoundingClientRect(),i=(s)=>parseFloat(o[`padding${s}`])+parseFloat(o[`border${s}Width`]);Qt.set(n,{text:t,textarea:e,from:new DOMRect(a.left+i("Left"),a.top+i("Top"),a.width-i("Left")-i("Right"),a.height-i("Top")-i("Bottom")),rtl:o.direction==="rtl",scrollTop:r.scrollTop})}function us(e,t){let n=e.closest(".cortex-widget__screen"),r=n?Qt.get(n):void 0;if(!n||!r)return;Qt.delete(n);let o=e.querySelectorAll(":scope > .cortex-message"),a=o[o.length-1]?.querySelector(".cortex-text-bubble--user"),i=e.closest(".cortex-message-list");if(!a||!i||r.text!==t||!r.textarea.isConnected)return;a.closest(".cortex-message-part")?.getAnimations().forEach((C)=>C.finish()),Lr(i);let s=a.getBoundingClientRect(),l=n.getBoundingClientRect(),c=getComputedStyle(a),d=parseFloat(c.paddingTop)+parseFloat(c.borderTopWidth),u=r.rtl?parseFloat(c.paddingRight)+parseFloat(c.borderRightWidth):parseFloat(c.paddingLeft)+parseFloat(c.borderLeftWidth),p=r.rtl?r.from.right+u-s.width:r.from.left-u,f=i.scrollTop-r.scrollTop;if(f)e.style.setProperty("--cortex-slide",`${f}px`),e.classList.remove("cortex-message-list__content--settling"),e.offsetWidth,e.classList.add("cortex-message-list__content--settling"),e.getAnimations()[0]?.finished.then(()=>e.classList.remove("cortex-message-list__content--settling"),()=>{return});let m=a.cloneNode(!0);m.classList.add("cortex-send-flight"),m.setAttribute("aria-hidden","true"),Object.assign(m.style,{left:`${s.left-l.left}px`,top:`${s.top-l.top}px`,width:`${s.width}px`}),m.style.setProperty("--cortex-fly-x",`${p-s.left}px`),m.style.setProperty("--cortex-fly-y",`${r.from.top-d-s.top}px`),a.style.visibility="hidden",n.append(m);let x=i.scrollTop,M=()=>{m.style.top=`${s.top-l.top-(i.scrollTop-x)}px`};i.addEventListener("scroll",M,{passive:!0}),Er(m).then(()=>{i.removeEventListener("scroll",M),a.style.visibility="",m.remove()})}function Lr(e){e.scrollTop=Ar(e)}var ps=100;function tn(e,t){let n=!0,r=!0,o=!1,a=0,i;function s(){if(o)return;o=!0,queueMicrotask(()=>{o=!1,Lr(e),r=!0,n=!1})}function l(){r=Ar(e)-e.scrollTop<ps}let c=typeof ResizeObserver>"u"?void 0:new ResizeObserver(([d])=>{let u=d?.contentRect.height??0,p=u>a;if(a=u,p&&(n||r))s()});return c?.observe(t),e.addEventListener("scroll",l,{passive:!0}),s(),{pin(){n=!0},messagesChanged(d){if(d?.role==="user"&&d.id!==i){i=d.id,n=!0;let u=d.parts.find((p)=>p.type==="text")?.content;if(u!==void 0)us(t,u)}if(n)s()},dispose(){c?.disconnect(),e.removeEventListener("scroll",l)}}}function Ar(e){let t=e.querySelector(".cortex-message-list__content");if(!t)return e.scrollHeight-e.clientHeight;let n=getComputedStyle(e);return t.offsetHeight+parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)-e.clientHeight}function nn(e){let t=!1,n=e.parentElement,r=typeof ResizeObserver>"u"?void 0:new ResizeObserver(()=>{if(t)o()});r?.observe(n);function o(){let a=n.querySelector(":scope > .cortex-working-thinking, :scope > .cortex-message > .cortex-message-parts > [data-cortex-frontier]");if(!a)return!1;return e.style.setProperty("--cortex-avatar-y",`${ms(a,n)-e.offsetHeight/2}px`),!0}return{sync(a){if(a===t){if(a)o();return}if(a){if(!o())return;e.classList.remove("cortex-working-avatar--leaving"),e.offsetWidth,e.classList.add("cortex-working-avatar--shown"),t=!0;return}t=!1;let[,i="0px"]=getComputedStyle(e).translate.split(" ");e.style.setProperty("--cortex-avatar-y",i),e.classList.add("cortex-working-avatar--leaving"),Er(e,!0).then(()=>{if(t)return;e.classList.remove("cortex-working-avatar--shown","cortex-working-avatar--leaving")})},dispose(){r?.disconnect()}}}function ms(e,t){let n=e.querySelector(".cortex-text-bubble");if(!n)return Nr(e,t)+e.offsetHeight/2;let r=getComputedStyle(n);return Nr(n,t)+parseFloat(r.paddingTop)+parseFloat(r.borderTopWidth)+parseFloat(r.lineHeight)/2}function Nr(e,t){let n=0;for(let r=e;r instanceof HTMLElement&&r!==t;)n+=r.offsetTop,r=r.offsetParent;return n}function Er(e,t=!1){return Promise.allSettled(e.getAnimations({subtree:t}).map((n)=>n.finished))}function rn(e,t){let n=0,r,o;function a(){r=setTimeout(()=>{t({index:n,phase:"exiting"}),r=setTimeout(()=>{n=(n+1)%e,t({index:n,phase:"enter-start"}),o=requestAnimationFrame(()=>{t({index:n,phase:"entering"}),r=setTimeout(()=>{t({index:n,phase:"idle"}),a()},300)})},300)},2000)}return a(),()=>{if(clearTimeout(r),o!==void 0)cancelAnimationFrame(o)}}function on(e,t){function n(){t.sendDraft((l)=>en(e,l))}function r(l){if(l.key!=="Enter"||l.shiftKey)return;l.preventDefault(),n()}function o(){e.style.overflowY="hidden",e.style.height="0px",e.style.height=`${e.scrollHeight+1}px`,e.style.overflowY=""}let a=0,i=typeof ResizeObserver>"u"?void 0:new ResizeObserver(([l])=>{let c=l?.borderBoxSize[0]?.inlineSize??0;if(c===a)return;a=c,requestAnimationFrame(o)});function s(){e.removeEventListener("keydown",r),i?.disconnect()}return e.style.transition="none",e.addEventListener("keydown",r),i?.observe(e,{box:"border-box"}),{send:n,fit:o,dispose:s}}function an(e){return{onDragOver:(t)=>{if(t.preventDefault(),e.enabled)e.setDragging(!0)},onDragLeave:(t)=>{if(!t.currentTarget?.contains(t.relatedTarget))e.setDragging(!1)},onDrop:(t)=>{if(t.preventDefault(),e.setDragging(!1),e.enabled)e.accept([...t.dataTransfer?.files??[]])},onPaste:(t)=>{let n=[...t.clipboardData?.files??[]];if(!e.enabled||!n.length)return;t.preventDefault(),e.accept(n)}}}var Rr={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_visitor_unverified:"لم نتمكن من التأكد من أنك شخص حقيقي.",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 Ir={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_visitor_unverified:"We couldn't confirm you're a person.",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 _s={en:Ir,ar:Rr};function Me(e){return e&&Ut.includes(e)?e:dr}function Y(e,t,n){let r=_s[e][t],o=typeof r==="string"?r:r[new Intl.PluralRules(e).select(Number(n?.count))]??r.other;if(!n)return o;return o.replace(/\{\{\s*(\w+)\s*\}\}/g,(a,i)=>(i in n)?String(n[i]):a)}function Or(e,t,n){let r=e!==void 0&&e.messages!==!1;return{greeting:e===void 0?"":$e(e.greeting,t)||Y(t,"translate_greeting"),suggestions:r&&$e(e.suggestions,t)||[],send:(o)=>{if(r)n(o)}}}var Pr="cortex-recaptcha-enterprise",sn;function hs(e){return sn??=new Promise((t,n)=>{let r=()=>{let a=window.grecaptcha?.enterprise;if(a)a.ready(()=>t(a));else n(Error("reCAPTCHA Enterprise did not load"))};if(document.getElementById(Pr))return r();let o=document.createElement("script");o.id=Pr,o.src=`https://www.google.com/recaptcha/enterprise.js?render=${encodeURIComponent(e)}`,o.async=!0,o.addEventListener("load",r,{once:!0}),o.addEventListener("error",()=>{o.remove(),n(Error("reCAPTCHA Enterprise failed to load"))},{once:!0}),document.head.appendChild(o)}).catch((t)=>{throw sn=void 0,t}),sn}function Fr(e,t=document){for(let n of t.querySelectorAll(".grecaptcha-badge")){let r=n.querySelector("iframe")?.getAttribute("src");if(r&&new URL(r,"https://www.google.com").searchParams.get("k")===e)n.style.visibility="hidden"}}async function Hr(e){let t=await hs(e);Fr(e);let n=await t.execute(e,{action:mr});return Fr(e),n}class ge extends Error{status;constructor(e,t){super(`HTTP ${e}: ${t}`);this.status=e;this.name="CortexHttpError"}}class Ke extends Error{constructor(){super("The visitor check failed");this.name="CortexVisitorUnverified"}}var dn="cortex:visitor:",Ge=new Map,qe=new Map,un=new Set,ln=new Set;function Ur(e){try{return localStorage.getItem(dn+e)}catch{return null}}function Wr(e,t){try{if(t===null)localStorage.removeItem(dn+e);else localStorage.setItem(dn+e,t)}catch{}}async function Dr(e,t){let n=await fetch(`${e}/visitors`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(n.status===403)return await n.json();if(!n.ok)throw new ge(n.status,n.statusText);return await n.json()}async function xs(e){let t=await Dr(e,{});if("error"in t&&t.error==="recaptcha_required")t=await Dr(e,{recaptcha:await Hr(t.siteKey)});if("error"in t)throw new Ke;return un.add(t.token),Wr(e,t.token),t.token}function ys(e){let t=Ge.get(e)??Ur(e);if(t)return Ge.set(e,t),Promise.resolve(t);let n=qe.get(e);if(!n){n=xs(e),qe.set(e,n);let r=n,o=()=>{if(qe.get(e)===r)qe.delete(e)};r.then((a)=>{o(),Ge.set(e,a)},(a)=>{if(!(a instanceof Ke))o()})}return n}function bs(e,t){let n=Ge.get(e)===t;if(n)Ge.delete(e);let r=Ur(e)===t;if(r)Wr(e,null);return n||r}function pn(e){if(!e.getHeaders)return ys(Ve(e,"")).then((n)=>cn({Authorization:`Bearer ${n}`}));let t=e.getHeaders();return t instanceof Promise?t.then(cn):Promise.resolve(cn(t))}function cn(e){let t={...e},n=vs(),r=Object.keys(t).some((o)=>o.toLowerCase()===qt.toLowerCase());if(n&&!r)t[qt]=n;return t}function vs(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function Ve(e,t){let n=e.baseUrl;return(typeof n==="string"?n:n()).replace(/\/$/,"")+t}function Ts(e){let t=e?.match(/filename\*\s*=\s*[^']*'[^']*'([^;\r\n]+)/i)?.[1]?.trim().replace(/^"|"$/g,"");if(t)try{return decodeURIComponent(t)}catch{}return e?.match(/filename\s*=\s*"?([^";\r\n]+)"?/i)?.[1]}function Br(e){function t(){return pn(e())}function n(a){return Ve(e(),a)}function r(a,i){let s=e(),l=new Headers(i).get("Authorization")?.replace(/^Bearer /,"");if(s.getHeaders||l===void 0)return;if(a.ok)un.delete(l);if(a.status!==401)return;let c=Ve(s,""),d=bs(c,l);if(un.delete(l))return"refused";if(d){for(let u of[...ln])if(u.visitorOf()===c)u.heard()}return"stale"}async function o(a,i,s=!1){let l=new Headers(await t());if(new Headers(i?.headers).forEach((u,p)=>{l.set(p,u)}),i?.body instanceof FormData)l.delete("Content-Type");else if(!l.has("Content-Type"))l.set("Content-Type","application/json");let c=await fetch(n(a),{...i,headers:l});if(!c.ok){if(r(c,l)==="stale"&&!s)return o(a,i,!0);throw new ge(c.status,c.statusText)}r(c,l);let d=await c.text();return d?JSON.parse(d):void 0}return{onVisitorReplaced(a){let s={visitorOf:()=>{let l=e();return l.getHeaders?void 0:Ve(l,"")},heard:a};return ln.add(s),()=>{ln.delete(s)}},retrySignIn(){qe.delete(Ve(e(),""))},getCapabilities(){return o("/capabilities")},listThreads(){return o("/threads")},createThread(){let a=e().threadBody;return o("/threads",{method:"POST",...a&&{body:JSON.stringify(a)}})},deleteThread(a){return o(`/threads/${a}`,{method:"DELETE"})},listMessages(a){return o(`/threads/${a}/messages`)},listLlmRequests(a,i){return o(`/threads/${a}/messages/${i}/llm-requests`)},abortStream(a){return o(`/chat/${a}/abort`,{method:"POST"})},initiateToolCall(a,i){return o(`/chat/${a}/tools/${i}/initiate`,{method:"POST"})},uploadAttachment(a,i){let s=new FormData;return s.append("file",i),o(`/threads/${a}/files`,{method:"POST",body:s})},deleteAttachment(a){return o(`/files/${a}`,{method:"DELETE"})},async downloadAttachment(a){let i=await t(),s=await fetch(n(`/files/${a}`),{headers:i});if(r(s,i),!s.ok)throw new ge(s.status,s.statusText);return{blob:await s.blob(),name:Ts(s.headers.get("Content-Disposition"))??a}},resolveHeaders:t,resolveUrl:n,readVisitorAnswer:r}}var mn=30000;function fn(e){return Math.min(1000*2**(e-1),mn)}var ws=1e4;function $r(e){let t,n,r=0,o=!1,a=!1;function i(){let{wsUrl:l,transport:c}=e.getConfig();if(l===!1)return;let d=Cs(l,c.baseUrl);pn(c).then((u)=>{if(o)return;t=new WebSocket(ks(d,u)),t.addEventListener("open",()=>{a=!0;let p=t;setTimeout(()=>{if(t===p&&!o)r=0},ws),e.onOpen?.()}),t.addEventListener("message",(p)=>{let f=p.data;if(typeof f!=="string")return;let m;try{m=JSON.parse(f)}catch{return}e.onEvent(m)}),t.addEventListener("close",()=>{if(!a&&!o)e.onFailedOpen?.();a=!1,s()})}).catch(s)}function s(){if(o||n)return;r+=1,n=setTimeout(()=>{n=void 0,i()},fn(r))}return i(),{close(){o=!0,a=!1,clearTimeout(n),t?.close()},isOpen(){return a}}}function Cs(e,t){if(e)return e;let n=typeof t==="string"?t:t(),r=new URL(n,window.location.origin);return r.protocol=r.protocol==="https:"?"wss:":"ws:",r.pathname=r.pathname.replace(/\/$/,"")+"/ws",r.toString()}function ks(e,t){let n=(i)=>Object.entries(t).find(([s])=>s.toLowerCase()===i.toLowerCase())?.[1],r=n("Authorization"),o=Object.entries({token:r?.startsWith("Bearer ")?r.slice(7):void 0,operator:n(yr),inspect:n(br)}).filter((i)=>Boolean(i[1]));if(o.length===0)return e;let a=new URL(e,window.location.origin);for(let[i,s]of o)if(!a.searchParams.has(i))a.searchParams.set(i,s);return a.toString()}var jr={unreachable:"translate_agent_unreachable",refused:"translate_access_refused",unverified:"translate_visitor_unverified",missing:"translate_agent_missing"};function Ss(e){if(e instanceof Ke)return"unverified";let t=e instanceof ge?e.status:void 0;if(t===401)return"refused";if(t===404)return"missing";return"unreachable"}function gn(e,t,n=fn){let r=!1,o,a=0;function i(){e().then((s)=>{if(!r)t.onAnswered(s)},(s)=>{if(r)return;let l=Ss(s);if(t.onMissed?.(l),l==="missing")return;a+=1,o=setTimeout(i,l==="refused"||l==="unverified"?mn:n(a))})}return i(),function(){r=!0,clearTimeout(o)}}function ht(){if(typeof crypto.randomUUID==="function")return crypto.randomUUID();let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,(n)=>n.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}var Ms={type:"translate_attachment_rejected_type",size:"translate_attachment_rejected_size",name:"translate_attachment_rejected_name",count:"translate_attachment_rejected_count"};function _n(e,t){if(!e.refusal)return Y(t,"translate_attachment_rejected");return Y(t,Ms[e.refusal],{types:new Intl.ListFormat(t).format(Be.map((n)=>n.slice(n.indexOf("/")+1).toUpperCase())),size:Wt/1024/1024,count:Bt})}function zr(e){let{api:t}=e,n=new Set,r=new Set,o=[],a=[],i=Promise.resolve();function s(){return o}function l(g){return n.add(g),()=>{n.delete(g)}}function c(g){o=g;for(let b of n)b()}function d(g,b){c(o.map((k)=>k.localId===g?{...k,...b}:k))}function u(g){if(r.delete(g))return;d(g,{status:"error"})}async function p(g,b,k){if(r.delete(g))return;let I;try{I=await t.uploadAttachment(b,k)}catch{u(g);return}if(r.delete(g)){t.deleteAttachment(I.id).catch(()=>{});return}d(g,{status:"ready",attachmentId:I.id,summary:I})}function f(g){let b=[];for(let k of g){let I=pr(k),R=o.filter((le)=>le.status!=="error").length>=Bt,V=I!=="ok"?I:R?"count":void 0,oe=ht();if(c([...o,V?{localId:oe,filename:k.name,status:"error",refusal:V}:{localId:oe,filename:k.name,status:"uploading"}]),!V)b.push({localId:oe,file:k})}if(!b.length)return;e.ensureThread().then((k)=>{for(let{localId:I,file:R}of b){if(r.delete(I))continue;d(I,{threadId:k}),i=i.then(()=>p(I,k,R)).catch(()=>{})}},()=>{for(let{localId:k}of b)u(k)})}function m(g){let b=o.find((k)=>k.localId===g);if(!b)return;if(b.status==="uploading"){r.add(g),c(o.filter((k)=>k.localId!==g));return}if(b.attachmentId){d(g,{status:"deleting"}),t.deleteAttachment(b.attachmentId).then(()=>c(o.filter((k)=>k.localId!==g)),()=>d(g,{status:"error"}));return}c(o.filter((k)=>k.localId!==g))}function x(g){let b=[];for(let k of o){if(k.threadId!==void 0&&k.threadId!==g){b.push(k);continue}if(k.status==="uploading")r.add(k.localId);else if(k.status==="ready"&&k.threadId===g&&k.attachmentId)t.deleteAttachment(k.attachmentId).catch(()=>{})}if(b.length!==o.length)c(b)}function M(){let g=o.flatMap((b)=>b.status==="ready"&&b.summary?[{...b,status:"ready",summary:b.summary}]:[]);return c(o.filter((b)=>b.status!=="ready")),a=g,g}function C(g){let b=a;if(a=[],b.some((k)=>k.threadId!==g))return;c([...b.map((k)=>({...k,status:"error"})),...o])}function w(){a=[]}return{getState:s,subscribe:l,accept:f,remove:m,clear:x,consumeReady:M,restoreConsumed:C,discardConsumed:w}}function qr(e){return{uploading:e.some((t)=>t.status==="uploading"),busy:e.some((t)=>t.status==="uploading"||t.status==="deleting"),hasReady:e.some((t)=>t.status==="ready")}}import{ChatClient as Fs}from"@tanstack/ai-client";import{EventType as Kr}from"@tanstack/ai";import{fetchServerSentEvents as Vr}from"@tanstack/ai-client";function Ns(e){for(let t=e.length-1;t>=0;t-=1){let n=e[t],r="parts"in n&&n.parts.some((o)=>o.type==="tool-result"||o.type==="tool-call"&&o.state==="approval-responded");if(n.role==="user"||r)return e.slice(t,t+1)}return e.slice(-1)}function Ls(e){if(e.state==="approval-responded"){let t=e.approval?.approved;if(t===void 0)return null;return{toolCallId:e.id,output:null,state:t?"approved":"denied"}}if(!X(e.state))return null;return{toolCallId:e.id,output:e.output??null,state:e.state==="error"?"error":"complete"}}function As(e){let[t]=e;if(!t||t.role!=="assistant"||!("parts"in t))return null;let n=t.parts.flatMap((r)=>{let o=r.type==="tool-call"?Ls(r):null;return o?[o]:[]});return n.length>0?n:null}async function Es(e){if(e.status!==409)return;let t=await e.clone().json().catch(()=>{return});return t!==null&&typeof t==="object"&&"outcome"in t&&t.outcome==="dropped"&&"reason"in t&&t.reason==="approval_pending"?"approval_pending":void 0}async function*Gr(e,t,n){for await(let r of e){if(r.type!==Kr.MESSAGES_SNAPSHOT){yield r;continue}let o=t.localMessages(),a=o.findIndex((s)=>s.id===n),i=a===-1?[]:o.slice(a+1).filter((s)=>s.role==="user");t.onTranscriptCarried?.(r.timestamp??Date.now()),yield{...r,messages:[...r.messages,...i]}}}function Jr(e){let{api:t,thread:n}=e,r=async()=>({headers:await t.resolveHeaders()}),o=0;async function*a(u,p){o+=1,e.onStreamStarted?.();try{yield*u}finally{o-=1,p?.()}}function i(u,p){let f=Object.assign(async(m,x)=>{let M=await fetch(m,x).catch((g)=>{throw u("lost"),g});u(vr(M.status)),t.readVisitorAnswer(M,x?.headers);let C=new Headers(x?.headers).has("Last-Event-ID");if(p&&!C&&M.status===401)e.onMessageRefused?.();let w=await Es(M);if(w)e.onRefused?.(w);return M},fetch);return Vr(()=>t.resolveUrl("/chat"),async()=>({...await r(),fetchClient:f}))}let s=function(u,p,f,m){let x=Ns(u),M=As(x),C=M?.map((k)=>k.toolCallId),w,g=i((k)=>{if(w)return;if(w=k,C&&w==="persisted")e.onReceipt?.(C,w)},!M&&x[0]?.role==="user"),b=M?g.connect([],{...p,[_r]:M},f,m):g.connect(x,p,f,m);return a(Gr(b,e,u.at(-1)?.id),()=>{if(C&&w!=="persisted")e.onReceipt?.(C,w??"lost")})},l=Vr(()=>t.resolveUrl(`/chat/${n.id}/stream`),r),c=[];async function*d(u,p){yield{type:Kr.MESSAGES_SNAPSHOT,timestamp:Date.now(),messages:c},yield*Gr(l.joinRun(u,p),e,c.at(-1)?.id)}return{connect:s,joinRun:(u,p)=>a(d(u,p)),streaming:()=>o>0,hydrate:async()=>{let u=await Rs(e);return c=u.messages,u}}}async function Rs(e){let{api:t,thread:n,mode:r}=e,o=n.isRunning?{runId:n.id}:null;if(r==="skip")return{messages:[],activeRun:o,interrupts:null};if(r==="load")e.setLoadingMessages?.(!0);try{let i=(await t.listMessages(n.id)).map(zt);return e.onHydrated?.(i),{messages:i,activeRun:o,interrupts:null}}finally{e.setLoadingMessages?.(!1)}}async function Xr(e){if(e.isStale?.()||e.isStreaming())return;try{let t=await e.api.listMessages(e.threadId);if(e.isStale?.()||e.isStreaming())return;let n=t.map(zt);return e.setMessages(n),n}catch{return}}import{EventType as Is}from"@tanstack/ai";function Os(e){return new Set(be(e).filter((t)=>t.state!=="approval-responded").map((t)=>t.id))}function hn(e){return e.refusal==="approval_pending"?"translate_approval_pending":"translate_error"}var Ps=2;function Zr(e){let t=!1,n=!1,r=!1,o,a,i,s,l=!1,c=!1,d,u,p=new Set,f=new Map,m=new Map,x=0,M=0,C=0,w=!1;function g(){if(t)return;t=!0,e.setRunning(!0)}function b(T,N){f.get(T)?.waiters.forEach(N),f.delete(T)}function k(T,N,A=!1){for(let O of T){let D=f.get(O);if(!D)continue;if(D.failure=N,A)D.mayHaveLanded=!0}le()}async function I(T,N,A){try{await N()}catch(O){if(A)A.failures+=1;k([T],O instanceof Error?O:Error("The answer was not sent"))}}function R(T){for(let[N,A]of f)if(!T.has(N)){if(A.mayHaveLanded)g();b(N,(O)=>O.resolve())}else if(A.failure){let{failure:O}=A;b(N,(D)=>D.reject(O))}else I(N,A.deliver)}function V(T){for(let[A,O]of m){if(T.has(A))continue;if(m.delete(A),O.mayHaveLanded)g()}let N=[...m.values()];if(N.some((A)=>A.failures>Ps))return;for(let A of N)oe(A)}function oe(T){if(!e.answers())return w=!0,Promise.resolve();return I(T.answer.toolCallId,()=>e.deliver(T.answer),T)}async function le(){let T=x,N=++M,A=()=>x!==T||C>N||!e.isAlive(),O=await e.refreshMessages(A).catch(()=>{return});if(!O||A())return;C=N;let D=Os(O),ye=w;if(w=!1,R(D),V(D),t||ye)ae(O)}async function G(T,N){let A;try{let ye=N({toolCallId:T.id,toolName:T.name,input:T.input},{threadId:e.threadId});if(ye===null||ye===void 0)return;A=await Promise.resolve(ye)}catch{p.delete(T.id);return}if(A===null||A===void 0)return;if(!e.isAlive())return;let D={answer:{toolCallId:T.id,tool:T.name,output:A},failures:0,mayHaveLanded:!1};m.set(T.id,D),await oe(D)}function ae(T){let N=be(T),A=e.onToolCall();if(!A)return N.length>0;if(!e.answers())return w||=N.length>0,N.length>0;for(let O of N){if(O.state!=="input-complete"||p.has(O.id))continue;p.add(O.id),G(O,A)}return N.length>0}async function Ue(T){if(r)e.reloadThreads().catch(()=>{});else e.setRunning(!1);if(t&&!l&&ae(T()))return;if(u===void 0&&d!==void 0)return;u=void 0,await le()}return{chunkArrived(T){if(n=!0,T.type===Is.RUN_ERROR&&T.code!=="aborted")o={reason:T.message||void 0}},transcriptCarried(T){if(d=T,u!==void 0&&u<=T)u=void 0},transcriptUpdated(T){let N=Date.parse(T);if(d!==void 0&&N<=d)return;if(!c){le();return}u=Math.max(u??0,N)},streamFailed(){if(r=!0,l)return;if(n)e.onTurnFinished();else e.onSendFailed();if(a){if(e.setTurnFailed({reason:void 0,refusal:a}),s!==void 0)e.returnDraft(s);return}let N=o??(s!==void 0&&!n?{reason:void 0}:void 0);if(N)e.setTurnFailed(N)},loadingChanged(T,N){if(T){c=!0;return}if(!c)return;c=!1,e.onTurnFinished(),Ue(N)},hydrated(T,N){if(N)return;setTimeout(()=>{if(e.isAlive())ae(T)},0)},deliverAnswer(T,N){return new Promise((A,O)=>{let D=[...f.get(T)?.waiters??[],{resolve:A,reject:O}];f.set(T,{deliver:N,waiters:D}),I(T,N)})},receiptArrived(T,N){if(N==="persisted"){for(let O of T)m.delete(O),b(O,(D)=>D.resolve());g();return}let A=N==="lost";for(let O of T){let D=m.get(O);if(!D)continue;D.failures+=1,D.mayHaveLanded||=A}k(T,Error(A?"The answer was lost":"Cortex refused the answer"),A)},readBack:le,resumeAnswers(){if(w&&!c)le()},streamStarted(){if(t)e.setRunning(!0);x+=1,r=!1,o=void 0,a=void 0,s=i,i=void 0,d=void 0,l=!1,e.setTurnFailed(void 0)},sendStarted(T){x+=1,i=T,t=!0,n=!1},sendRefused(T){a=T},abortConfirmed(){l=!0}}}var xt={messages:[],isAgentWorking:!1,isLoadingMessages:!1,hasPendingToolCalls:!1,awaitsApproval:!1,turnFailure:void 0};function Yr(e){let{api:t}=e,n=e.thread.id,r=new Set,o=xt,a=s(e.thread,e.mode);function i(m,x){if(Object.is(o[m],x))return;let M={...o,[m]:x};o={...M,hasPendingToolCalls:!M.isAgentWorking&&be(M.messages).length>0,awaitsApproval:Tr(M.messages)},r.forEach((C)=>C())}function s(m,x,M){let C=!0;function w(R){return(...V)=>{if(C)R(...V)}}let g=Promise.resolve(),b=Zr({threadId:n,isAlive:()=>C,onToolCall:()=>e.getHooks()?.onToolCall,answers:e.answers,deliver:(R)=>I.addToolResult(R),setRunning:e.setRunning,reloadThreads:e.reloadThreads,refreshMessages:(R)=>{let V=g.then(()=>Xr({api:t,threadId:n,isStale:()=>!C||R(),isStreaming:k.streaming,setMessages:(oe)=>I.setMessagesManually(oe)}));return g=V,V},onTurnFinished:e.onTurnFinished,onSendFailed:e.onSendFailed,setTurnFailed:w((R)=>i("turnFailure",R)),returnDraft:w(e.onReturned)}),k=Jr({api:t,thread:m,mode:x,localMessages:()=>I.getMessages(),onHydrated:w((R)=>b.hydrated(R,m.isRunning)),onTranscriptCarried:w((R)=>b.transcriptCarried(R)),onStreamStarted:w(()=>b.streamStarted()),onRefused:w((R)=>b.sendRefused(R)),onMessageRefused:e.onMessageRefused,onReceipt:w((R,V)=>b.receiptArrived(R,V)),setLoadingMessages:w((R)=>i("isLoadingMessages",R))}),I=new Fs({threadId:n,persistence:!0,initialMessages:M,connection:k,onChunk:w((R)=>b.chunkArrived(R)),onError:w(()=>b.streamFailed()),onMessagesChange:w((R)=>i("messages",R)),onLoadingChange:w((R)=>{i("isAgentWorking",R);let V=()=>I.getMessages();if(R){b.loadingChanged(!0,V);return}setTimeout(w(()=>{if(!I.getIsLoading())b.loadingChanged(!1,V)}))})});return I.attach(),{client:I,lifecycle:b,isAlive:()=>C,close(){C=!1,I.detach(),I.stop(),I.dispose()}}}async function l(m,x=()=>[]){if(!a.isAlive()||o.isAgentWorking||o.awaitsApproval)return!1;let{client:M,lifecycle:C}=a;return C.loadingChanged(!1,()=>M.getMessages()),C.sendStarted(m),await M.append({id:ht(),role:"user",parts:[{type:"text",content:m}],metadata:{createdAt:new Date().toISOString(),attachments:x()}}),!0}async function c(){let{client:m,lifecycle:x,isAlive:M}=a;if(!M()||!m.getIsLoading())return;let{aborted:C}=await t.abortStream(n).catch(()=>({aborted:!1}));if(!M())return;if(C)x.abortConfirmed();else m.stop()}function d(m,x,M){let{client:C,lifecycle:w,isAlive:g}=a;if(!g())return Promise.resolve();return w.deliverAnswer(m,()=>C.addToolResult({toolCallId:m,tool:x,output:M}))}function u(m,x){let{client:M,lifecycle:C,isAlive:w}=a;if(!w())return Promise.resolve();let g=hr(m);return C.deliverAnswer(m.id,async()=>{let b=M.getInterrupts().find((k)=>k.id===g);if(b&&"resolveInterrupt"in b)b.resolveInterrupt({approved:x});else await M.addToolApprovalResponse({id:g,approved:x})})}function p(m){if(!a.isAlive()||m.id!==n||a.client.getIsLoading())return;if(!m.isRunning){a.lifecycle.readBack();return}a.close(),i("isLoadingMessages",!1),i("turnFailure",void 0),a=s(m,"reload",o.messages)}function f(m){if(a.isAlive()&&m.id===n)a.lifecycle.transcriptUpdated(m.updatedAt)}return{threadId:n,getState:()=>o,subscribe:(m)=>(r.add(m),()=>{r.delete(m)}),send:l,abort:c,addToolResult:d,respondToApproval:u,reattach:p,transcriptUpdated:f,resumeAnswers:()=>{if(a.isAlive())a.lifecycle.resumeAnswers()},dispose(){a.close(),r.clear()}}}function xn(e){return[...e].sort((t,n)=>{let r=Date.parse(n.updatedAt)-Date.parse(t.updatedAt);if(r!==0)return r;return Date.parse(n.createdAt)-Date.parse(t.createdAt)})}function yn(e,t){let n=[...e],r=n.findIndex((o)=>o.id===t.id);if(r===-1)n.push(t);else n[r]={...n[r],...t};return xn(n)}function Qr(e,t){return e.filter((n)=>n.id!==t)}function Hs(e,t,n){return e.map((r)=>r.id===t?{...r,title:n}:r)}var Ds=[0,1000,2000,3000,4000];function eo(e){let t=e.delays??Ds,n=!1,r;function o(){let s=e.selected();return!n&&!e.socketOpen()&&s?.id===e.threadId&&!s.title}async function a(s){if(!o())return;let c=(await e.listThreads().catch(()=>{return}))?.find((d)=>d.id===e.threadId)?.title;if(!o())return;if(c)e.setTitle(c);else i(s+1)}function i(s){let l=t[s];if(l!==void 0)r=setTimeout(()=>void a(s),l)}return i(0),function(){n=!0,clearTimeout(r)}}function to(e,t){switch(t.type){case"thread:deleted":return Qr(e,t.payload.threadId);case"thread:created":case"thread:title-updated":case"thread:run-started":case"thread:run-finished":case"thread:messages-updated":return yn(e,t.payload.thread);default:return e}}function no(){let e=new Map,t=new Map,n=new Map,r=new Set,o=0,a=0;function i(s){if(s.type==="thread:run-started")return e.set(s.payload.thread.id,s.payload.runId),!0;if(s.type!=="thread:run-finished")return!0;let l=e.get(s.payload.thread.id);return l===void 0||l===s.payload.runId}return{admits(s){if(!i(s))return!1;if("thread"in s.payload)t.set(s.payload.thread.id,++o);if(s.type==="thread:deleted")r.add(s.payload.threadId);return!0},running(s,l){return n.set(s,++o),(c)=>{let d=c?.find((u)=>u.id===s);return c&&d?yn(c,{...d,isRunning:l}):c}},created(s){return t.set(s.id,++o),(l)=>yn(l??[],s)},retitled(s,l){return t.set(s,++o),(c)=>c&&Hs(c,s,l)},deleted(s){return r.add(s),(l)=>l&&Qr(l,s)},async read(s){e.clear();let l=++o,c=xn(await s()),d=l<a;a=Math.max(a,l);function u(p){if(d&&p)return p;let f=new Map(c.map((m)=>[m.id,m]));for(let m of p??[]){let x=f.get(m.id);if((t.get(m.id)??0)>l)f.set(m.id,m);else if(x&&(n.get(m.id)??0)>l)f.set(m.id,{...x,isRunning:m.isRunning})}for(let m of r)f.delete(m);return xn([...f.values()])}return{listed:c,show:u}}}}function ro(e,t){for(let n in e)if(!Object.is(e[n],t[n]))return!1;return!0}function Je(e,t){let{capabilities:n,session:r}=e,o=qr(e.attachments);return n!==void 0&&n.messages!==!1&&!e.creating&&!r.isAgentWorking&&!r.awaitsApproval&&!o.busy&&(Boolean(t.trim())||o.hasReady)}function bn(e){let{capabilities:t,unanswered:n}=e;if(e.session.hasPendingToolCalls)return;if(t===void 0)return n&&jr[n];if(t.messages)return"composer";return t.readOnly?"translate_read_only":"translate_messages_disabled"}function vn(e){let{getConfig:t}=e,n=Br(()=>t().transport),r=new Set,o=no(),a=zr({api:n,ensureThread:sr}),i={threads:void 0,selected:void 0,session:xt,capabilities:void 0,displayName:void 0,unanswered:void 0,attachments:a.getState(),creating:!1,screen:"chat",sidebarOpen:!1,debugMode:!1},s={...i,parts:oo(i)},l="",c,d,u=0,p,f,m,x,M,C,w,g,b=[],k=!1,I={reported:s.session,debug:!1,session:s.session};a.subscribe(()=>G({attachments:a.getState()}));function R(){for(let _ of r)_()}function V(_){return r.add(_),()=>{r.delete(_)}}function oe(_){let S=d;return S&&(_?.find((E)=>E.id===S.id)??S)}function le(_){let S=f?.getState()??xt;if(S===I.reported&&_===I.debug)return I.session;let E=S.turnFailure,H=_||E?.reason===void 0?S:{...S,turnFailure:{...E,reason:void 0}};return I={reported:S,debug:_,session:H},H}function G(_={}){let S={...s,..._},E={...S,selected:oe(S.threads),session:le(Boolean(S.capabilities?.debug)),creating:p?.generation===u&&p.forMessage},H=oo(E),J={...E,parts:ro(H,s.parts)?s.parts:H};if(ro(J,s))return;s=J,R()}function ae(_){G({threads:_(s.threads)})}function Ue(_){if(_===l)return;l=_,R()}function T(_){if(_)Ue(l?`${_}
|
|
3
|
-
${l}`:_)}function N(_,S=!1){let E=s.selected;ae(_);let H=s.selected;if(H){if(S||H.isRunning&&!E?.isRunning)f?.reattach(H);else if(H.updatedAt!==E?.updatedAt)f?.transcriptUpdated(H)}A()}function A(){let _=t().thread,S=!k&&_&&s.threads?.find((E)=>E.id===_);if(!S)return;k=!0,ar(S)}async function O(_=!1){let S=x,E=await o.read(()=>n.listThreads()).catch(()=>{return});if(!E||!x||x!==S)return!1;return N(E.show,_),!0}function D(){C?.(),G({capabilities:void 0,unanswered:void 0}),C=gn(()=>n.getCapabilities(),{onAnswered:(_)=>{if(G({capabilities:_,displayName:_.displayName,unanswered:void 0,debugMode:s.debugMode&&_.debug}),gt())f?.resumeAnswers()},onMissed:(_)=>G({unanswered:_,displayName:s.displayName??{}})})}function ye(){w?.();let _=d?.id;if(!_)return;w=eo({threadId:_,listThreads:()=>n.listThreads(),selected:()=>s.selected,socketOpen:()=>x?.isOpen()??!1,setTitle:(S)=>ae(o.retitled(_,S))})}function We(_){f?.dispose(),f=void 0,m=void 0;let S=oe(s.threads);if(x&&S){let E=Yr({api:n,thread:S,mode:_,getHooks:()=>t().hooks,answers:gt,setRunning:(H)=>{if(H||!m)ae(o.running(S.id,H))},reloadThreads:()=>O(),onTurnFinished:()=>{if(a.discardConsumed(),ye(),m)O().then((H)=>{m=void 0;let J=s.selected;if(H&&J?.isRunning)f?.reattach(J)})},onSendFailed:()=>a.restoreConsumed(S.id),onReturned:T,onMessageRefused:()=>{if(c?.session!==E||f===E)return;if(t().transport.getHeaders)return;T(c.text),c=void 0}});f=E,E.subscribe(()=>G())}G()}function rr(){u+=1,a.clear(d?.id)}function or(){G({screen:"chat",sidebarOpen:!1})}function ar(_){if(or(),d?.id===_.id)return;let S=s.selected;rr(),d=_,We("load");let E=t().hooks;if(S)E?.onThreadDeselected?.(S);E?.onThreadSelected?.(_)}function ft(){let _=s.selected;if(rr(),d=void 0,We("load"),_)t().hooks?.onThreadDeselected?.(_)}function Ha(){ft(),or()}async function Da(_){if(d?.id===_)ft();await n.deleteThread(_),ae(o.deleted(_))}function Ua(){return new Promise((_)=>{if(x)_();else b.push(_)})}function sr(_=!1){if(d)return Promise.resolve(d.id);if(p?.generation===u)p={...p,forMessage:p.forMessage||_};else{let S=u,E=()=>{if(p?.generation===S)p=void 0},H=n.createThread().then(async(J)=>{if(ae(o.created(J)),await Ua(),E(),u===S)d=J,We("skip"),t().hooks?.onThreadSelected?.(J);return J.id},(J)=>{throw E(),G(),J});p={generation:S,threadId:H,forMessage:_}}return G(),p.threadId}function Wa(_){let S=l;if(!Je(s,S))return;_(S.trim()),Ue(""),ir(S)}function Ft(_){return T(_),{sent:!1,text:_}}async function ir(_){if(!Je(s,_))return Ft(_);let S=u,E=await sr(!0).catch(()=>{return}),H=f;if(!H||H.threadId!==E||u!==S)return Ft(_);let J=Y(Me(t().locale),"translate_attachment_caption"),lr={session:H,text:_};return c=lr,await H.send(_.trim()||J,()=>a.consumeReady().map((Ka)=>Ka.summary)).finally(()=>{if(c===lr)c=void 0})?{sent:!0}:Ft(_)}function Ba(_){if(o.admits(_))ae((S)=>{let E=to(S??[],_);return S||E.length?E:S});switch(_.type){case"thread:deleted":if(d?.id===_.payload.threadId)ft();break;case"thread:run-started":if(_.payload.thread.id===d?.id&&s.session.isAgentWorking)m=_.payload.runId;f?.reattach(_.payload.thread);break;case"thread:run-finished":if(_.payload.runId===m)m=void 0;f?.transcriptUpdated(_.payload.thread);break;case"thread:messages-updated":f?.transcriptUpdated(_.payload.thread);break}}function $a(){D(),O(!0)}function ja(){ft(),Dt(),Ht()}function Ht(){if(x)return;g=n.onVisitorReplaced(ja);let _=!1;x=$r({getConfig:t,onEvent:Ba,onOpen:()=>{if(_)$a();_=!0},onFailedOpen:()=>{if(!t().transport.getHeaders)n.getCapabilities().catch(()=>{return})}}),M=gn(()=>o.read(()=>n.listThreads()),{onAnswered:({show:S})=>N(S),onMissed:(S)=>{if(S!=="unreachable")ae((E)=>E??[])}}),D(),We("load");for(let S of b.splice(0))S()}function Dt(){if(!x)return;g?.(),x.close(),x=void 0,M?.(),C?.(),w?.(),We("load")}function za(){if(t().viewMode==="full")G({sidebarOpen:!0});else G({screen:"threads"})}function qa(){if(t().viewMode==="full")G({sidebarOpen:!1});else G({screen:"chat"})}function gt(){return s.capabilities?.messages===!0}function Va(_,S,E){if(!gt())return Promise.resolve();return f?.addToolResult(_,S,E)??Promise.resolve()}function Ga(_,S){if(!gt())return Promise.resolve();return f?.respondToApproval(_,S)??Promise.resolve()}return{api:n,getState:()=>s,getDraft:()=>l,subscribe:V,start:Ht,stop:Dt,setDraft:Ue,submit:ir,sendDraft:Wa,abort:()=>f?.abort()??Promise.resolve(),addToolResult:Va,respondToApproval:Ga,openThread:ar,newChat:Ha,deleteThread:Da,attachFiles:a.accept,removeAttachment:a.remove,openHistory:za,closeHistory:qa,toggleDebug:()=>G({debugMode:!s.debugMode}),retry:()=>{n.retrySignIn(),Dt(),Ht()}}}function oo(e){let{threads:t,selected:n,capabilities:r,displayName:o,debugMode:a}=e;return{threads:t,selected:n,capabilities:r,displayName:o,debugMode:a,isWorking:e.session.isAgentWorking}}function Tn(e,t,n,r){let o=Me(n.locale),a=t.capabilities?.readOnly===!1?{newChat:e.newChat,deleteThread:(l)=>void e.deleteThread(l)}:void 0,i=t.displayName===void 0?"":$e(t.displayName,o)??Y(o,"translate_new_chat");function s(l){return{screen:l,viewMode:n.viewMode??"helper",title:t.selected?.title??i,threadCount:t.threads?.length,isWorking:t.isWorking,debug:{shown:Boolean(t.capabilities?.debug),on:t.debugMode},newChat:a?.newChat,openHistory:e.openHistory,closeHistory:e.closeHistory,toggleDebug:e.toggleDebug}}return{chatHeader:s("chat"),threadsHeader:s("threads"),landing:{...Or(t.capabilities,o,(l)=>void e.submit(l)),threads:t.threads,composer:r,openThread:e.openThread,openHistory:e.openHistory},threadList:{threads:t.threads,selectedThreadId:t.selected?.id,openThread:e.openThread,...a}}}var ao="allow-scripts allow-forms allow-popups";function Us(e,t){try{return e.contentWindow?.location.origin===t}catch{return!1}}function wn(e){let t=e.host.location.origin,n=!1,r=!1,o,a=!1,i;function s(p){if(!n)e.onState(p)}function l(){if(n)return;r=!1,s({phase:"error"})}function c(p){if(n||r)return;r=!0,s({phase:"settling"});try{let f=e.submit(p);if(f instanceof Promise)f.catch(l)}catch{l()}}function d(p){if(!o)return;if(i===void 0||p.source!==i)return;let f=cr(p.data,p.origin,o);if(!f)return;c({status:f.status,reference:f.reference,result:f.result})}function u(){if(n||r)return;o=void 0,i=void 0,s({phase:"error"})}return e.host.addEventListener("message",d),{async start(){s({phase:"initiating"});try{let p=await e.initiate(),f=new URL(p.embedUrl);if(!/^https?:$/.test(f.protocol)){s({phase:"error"});return}let m=f.origin===t;a=m&&e.trustSameOrigin===!0,o=p.embedOrigin,s({phase:"embedded",embedUrl:p.embedUrl,surface:p.surface,sandbox:m&&!a?ao:`${ao} allow-same-origin`})}catch(p){let f=p instanceof ge&&p.status===404;s({phase:f?"unavailable":"error"})}},setSource(p){if(p!==null&&p!==void 0)i=p},frameLoaded(p){if(!a&&Us(p,t))u()},cancel(){c({status:"cancelled"})},dispose(){n=!0,e.host.removeEventListener("message",d)}}}async function Xe(e,t){let n=await import("leaflet"),r=!t.interactive,o=n.map(e,{center:t.center,zoom:t.zoom,zoomControl:!r,dragging:!r,scrollWheelZoom:!r,doubleClickZoom:!r,touchZoom:!r,boxZoom:!r,keyboard:!r});n.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(o);let a=new ResizeObserver(()=>o.invalidateSize());return a.observe(e),{leaflet:n,map:o,dispose(){a.disconnect(),o.remove()}}}var yt={position:void 0,locating:!1,locateFailed:!1,mapFailed:!1,submitting:!1,deliveryFailed:!1},Ws={center:{lat:20,lng:0},zoom:2},Bs=13,io=16,$s=1e4;function Cn(e,t){let n=yt,r=!1,o=!1,a,i,s,l=0;function c(f){if(n={...n,...f},!r)t.onState(n)}function d(){let f=n.position;if(!a||!f)return;let{leaflet:m,map:x}=a;if(i)i.setLatLng(f);else{let M=m.marker(f,{draggable:!n.submitting}).addTo(x);M.on("dragend",()=>{let{lat:C,lng:w}=M.getLatLng();u({lat:C,lng:so(w)})}),i=M}s?.remove(),s=f.accuracy?m.circle(f,{radius:f.accuracy}).addTo(x):void 0}function u(f){if(n.submitting)return;l+=1,c({position:f,locating:!1,locateFailed:!1}),d()}function p(f){if(r||o)return;o=!0,l+=1,i?.dragging?.disable(),c({submitting:!0,locating:!1,deliveryFailed:!1});let m=()=>{o=!1,i?.dragging?.enable(),c({submitting:!1,deliveryFailed:!0})};try{let x=t.submit(f);if(x instanceof Promise)x.catch(m)}catch{m()}}return{async start(){let f=t.center?{center:t.center,zoom:Bs}:Ws,m;try{m=await Xe(e,{...f,interactive:!0})}catch{c({mapFailed:!0});return}if(r){m.dispose();return}a=m,m.map.on("click",(x)=>u({lat:x.latlng.lat,lng:so(x.latlng.lng)})),d()},locate(){if(n.locating||n.submitting)return;if(!navigator.geolocation){c({locateFailed:!0});return}l+=1;let f=l;c({locating:!0,locateFailed:!1}),navigator.geolocation.getCurrentPosition(({coords:m})=>{if(r||f!==l)return;let x={lat:m.latitude,lng:m.longitude,accuracy:Math.round(m.accuracy)};u(x),a?.map.setView(x,io)},()=>{if(f===l)c({locating:!1,locateFailed:!0})},{enableHighAccuracy:!0,timeout:$s})},confirm(){if(n.position)p({status:"completed",result:n.position})},cancel(){p({status:"cancelled"})},dispose(){r=!0,a?.dispose()}}}function kn(e,t,n){let r=!1,o;return Xe(e,{center:t,zoom:io,interactive:!1}).then((a)=>{if(r){a.dispose();return}o=a.dispose,a.leaflet.marker(t).addTo(a.map)},()=>{if(!r)n()}),()=>{r=!0,o?.()}}function so(e){if(e>=-180&&e<=180)return e;return((e+180)%360+360)%360-180}function lo(e){if(!e||typeof e!=="object")return!1;let{lat:t,lng:n}=e;return typeof t==="number"&&typeof n==="number"&&Math.abs(t)<=90&&Math.abs(n)<=180}function Sn(e){let t=e&&typeof e==="object"?e.center:void 0;return lo(t)?t:void 0}function Mn(e){if(!e||typeof e!=="object")return;let{status:t,result:n}=e;if(t!=="completed"||!lo(n))return;let{accuracy:r}=n;return{...n,...typeof r==="number"?{accuracy:r}:{}}}function bt(e){let t=`${e.lat.toFixed(4)}, ${e.lng.toFixed(4)}`;return e.accuracy?`${t} ±${e.accuracy} m`:t}function Nn(e){if(e.locating)return{key:"translate_location_locating",failed:!1};if(e.deliveryFailed)return{key:"translate_location_send_failed",failed:!0};if(e.locateFailed)return{key:"translate_location_locate_failed",failed:!0};if(e.mapFailed)return{key:"translate_location_map_failed",failed:!0};return{key:"translate_location_hint",failed:!1}}import{marked as js}from"marked";import zs from"dompurify";function Ze(e,t=[]){if(!e)return"";let n=document.createElement("template");if(n.innerHTML=js.parse(e,{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'),Vs(n.content),t.length)Gs(n.content,t);return zs.sanitize(n.innerHTML,{FORBID_TAGS:["img","picture","source"]})}var qs=/[\p{Script=Arabic}\p{Script=Hebrew}]/u;function Vs(e){for(let t of Array.from(e.children))if(t.localName!=="div")t.setAttribute("dir","auto");e.querySelectorAll("table").forEach((t)=>{let n=/\p{L}/u.exec(t.textContent??"")?.[0];if(!n)return;let r=qs.test(n)?"rtl":"ltr";if(t.setAttribute("dir",r),t.parentElement?.childElementCount===1)t.parentElement.setAttribute("dir",r)}),e.querySelectorAll("th, td").forEach((t)=>t.setAttribute("dir","auto")),e.querySelectorAll("pre").forEach((t)=>t.setAttribute("dir","ltr"))}function Gs(e,t){let n=[...t].sort((a,i)=>a.length-i.length),r=n[n.length-1]?.length??0,o=0;for(let a of Ks(e)){if(o>=r)break;a.replaceWith(...Js(a.data,o,n)),o+=a.data.length}}function Ks(e){let t=document.createTreeWalker(e,4),n=[];for(let r=t.nextNode();r;r=t.nextNode())if(r.data.trim())n.push(r);return n.reverse()}function Js(e,t,n){let r=[],o=e.length;for(let a of n){if(a.length<=t)continue;if(o<=0)break;let i=Math.min(o,a.length-t);if(i<o&&/[\uDC00-\uDFFF]/.test(e.charAt(o-i)))i+=1;let s=document.createElement("span");s.className="cortex-stream-fade",s.style.animationDelay=`-${a.age}ms`,s.textContent=e.slice(o-i,o),r.unshift(s),o-=i,t+=i}if(o>0)r.unshift(document.createTextNode(e.slice(0,o)));return r}import{marked as mo}from"marked";var co=/^ {0,3}(`{3,}|~{3,})(.*)$/;function uo(){let e=null;return(t)=>{let n=co.exec(t),r=n?.[1],o=n?.[2]??"";if(r){let a=r.charAt(0);if(e){if(a===e.marker&&r.length>=e.length&&o.trim()==="")return e=null,"close";return"inside"}if(a==="`"&&o.includes("`"))return"outside";return e={marker:a,length:r.length},"open"}return e?"inside":"outside"}}function po(e){return co.exec(e)?.[2]?.trim().split(/\s+/)[0]??""}var Xs=/^\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 Ln(e,t){if(t.role!=="assistant")return[{kind:"markdown",text:e}];return Zs(e,t.languages).map((n)=>{switch(n.kind){case"table":return{...n,closed:n.closed||!t.arriving};case"attachment":return{...n,attachment:t.attachments?.find((r)=>r.id.toLowerCase()===n.id)};default:return n}})}function Zs(e,t){let n=[],r=[],o=null;function a(c=!1){if(r.length)n.push(...Qs(r.join(`
|
|
4
|
-
|
|
5
|
-
`),closed:c});o=null}let s=uo(),l=e.split(`
|
|
6
|
-
`);for(let[c,d]of l.entries()){let u=s(d);if(o){if(u==="close")i(!0);else o.source.push(d);continue}if(u==="open"&&c===l.length-1)break;let p=Ys(d,u,t);if(!p){r.push(d);continue}if(a(),p.kind==="media")o={language:p.language,source:[]};else n.push(p)}return i(!1),a(!0),n}function Ys(e,t,n){if(t==="open"){let o=po(e),a=n.find((i)=>i===o);return a?{kind:"media",language:a}:void 0}let r=t==="outside"?Xs.exec(e):null;return r?{kind:"attachment",alt:r[1]??"",id:(r[2]??"").toLowerCase()}:void 0}function Qs(e,t){let n=mo.lexer(e);if(!n.some((d)=>d.type==="table"))return[{kind:"markdown",text:e}];let r=[];mo.walkTokens(n,(d)=>{if(d.type==="def")r.push(d.raw.trim())});let o=r.join(`
|
|
1
|
+
import{useEffect as ku,useMemo as fi,useState as Tu}from"react";var Ri=["completed","cancelled","failed"],zt="requestLocation",Vt="connectAccount",wo=600000;function Co(e,t,n){if(t!==n)return null;if(typeof e!=="object"||e===null)return null;let r=e;if(r.type!=="cortex:client-tool")return null;let o=Ri.find((s)=>s===r.status);if(!o)return null;let a=r.reference;return{type:"cortex:client-tool",status:o,...typeof a==="string"?{reference:a}:{},...r.result!==void 0?{result:r.result}:{}}}var Tn=["en","ar"],ko=Tn[0],To={en:"ltr",ar:"rtl"};var So="busy";var pt=["image/png","image/jpeg","image/webp","application/pdf"],Sn=10485760,Ii=255,Mn=5;function Mo(e){if(!pt.some((t)=>t===e.type))return"type";if(e.size>Sn)return"size";if(e.name.length>Ii)return"name";return"ok"}var No="cortex_visitor";function $e(e,t){return e[t]??e.en??Object.values(e)[0]}var Ao=["executeCode","queryDataset","describeDataset"],Oi="approvalTitle",Nn="delegateTask";var An="scheduleWake";function Ce(e,t){if(!e||typeof e!=="object")return;let n=Reflect.get(e,t);return typeof n==="string"&&n.trim()?n.trim():void 0}function Lo(e){return Ce(e,Oi)}function qe(e){return e.metadata?.cortex??void 0}function mt(e){return{...e,role:e.role==="event"?"user":e.role}}var Eo="clientToolAnswers";function Ro(e){return e.approval?.id??`approval_${e.id}`}function Io(e){return e.approval!==void 0||e.state==="approval-requested"}var Ln="X-Cortex-Timezone",Oo="X-Cortex-Operator",Po="X-Cortex-Inspect";function Uo(e){if(e>=500)return"lost";return e>=400?"refused":"persisted"}function Ie(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var Pi={pending:"translate_check_back_at_pending",due:"translate_check_back_at_due",done:"translate_check_back_at_done",cancelled:"translate_check_back_cancelled"};function En(e){let t=e.output;if(!Ie(t))return;let{checkBackId:n,dueAt:r,state:o}=t;return typeof n==="string"&&typeof r==="string"?{checkBackId:n,dueAt:r,state:typeof o==="string"?o:void 0}:void 0}var Ui=["cancelled","refused"];function Wi(e,t){return e.some((n)=>{let r=n.metadata;return r?.event?.source==="schedule"&&r.event.inputId===t})}function Rn(e,t,{cancelled:n,now:r}){let o=En(e);if(!o)return;let{checkBackId:a,dueAt:s}=o,i=Wi(t,a)?"done":n.includes(a)||Ui.includes(o.state??"")?"cancelled":Date.parse(s)>r?"pending":"due";return{id:a,dueAt:s,note:Ce(e.input,"note"),state:i,statusKey:Pi[i]}}function In(e){if(e.source!=="schedule"||!Ie(e.payload))return;let{note:t,dueAt:n}=e.payload;return{note:typeof t==="string"?t:"",dueAt:typeof n==="string"?n:e.at}}var Hi=new Set(["complete","error"]);function ae(e){return Hi.has(e)}function Oe(e){return(Bi(e)?.parts??[]).filter((n)=>n.type==="tool-call"&&!ae(n.state))}function Wo(e){for(let t=e.length-1;t>=0;t-=1){let n=e[t];if(n?.parts.some((o)=>o.type==="tool-call"&&o.state==="approval-requested"))return!0;if(n?.role==="user")return!1}return!1}function Gt(e){let t=e.flatMap((r)=>r.parts.flatMap((o)=>{let a=o.type==="tool-call"&&o.state==="approval-requested"?qe(o)?.paused:void 0;return a?[a]:[]})),n=t.at(-1)?.runId;return n?{runId:n,pending:t.map(({interrupt:r})=>r)}:null}function On(e){let t=e.at(-1);if(t?.role!=="assistant")return;let n=t.parts.at(-1),r=n?.type==="tool-call"||n?.type==="tool-result",o=t.parts.every((a)=>a.type!=="tool-call"||ae(a.state));return r&&o?void 0:t}function Bi(e){for(let t=e.length-1;t>=0;t-=1){let n=e[t];if(n?.role==="assistant")return n}return}var Fi={complete:"success",error:"error","approval-requested":"approval","approval-responded":"approval","awaiting-input":"pending","input-streaming":"pending","input-complete":"pending"},Di={"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 Pn(e){let{state:t,approval:n}=e;return{modifier:Fi[t],labelKey:n?.approved===!1?"translate_declined":t==="approval-responded"&&n?.approved?"translate_approved":Di[t],pulse:t==="awaiting-input"||t==="input-streaming"?"default":t==="approval-requested"?"violet":void 0}}function Ho(e){let t=e.output;if(t===void 0||t===null)return"";if(typeof t==="string")return t;return JSON.stringify(t,null,2)}var Bo={code:"javascript"};function Un(e){let t=e&&typeof e==="object"?e:null,n=t?Object.entries(Bo).flatMap(([o,a])=>{let s=t[o];return typeof s==="string"?[{key:o,lang:a,value:s.replace(/\\n/g,`
|
|
2
|
+
`)}]:[]}):[],r=e;if(t){let o=Object.fromEntries(Object.entries(t).filter(([a])=>!Object.hasOwn(Bo,a)));r=Object.keys(o).length>0?o:null}return{codeSnippets:n,remainingInput:r,remainingInputText:r?JSON.stringify(r,null,2):""}}var $i=10,Fo={"awaiting-input":"starting","input-streaming":"starting","input-complete":"processing","approval-requested":"approval","approval-responded":"processing",complete:"complete",error:"error"};function qi(e){let t=e.output;if(typeof t==="string")try{t=JSON.parse(t)}catch{return}if(!t||typeof t!=="object")return;if("error"in t&&t.error===!0)return"failed";if(!qe(e)?.embed||!("status"in t))return;let n=t.status;return n==="failed"||n==="cancelled"?n:void 0}function ji(e){let t=e.output;if(!t||typeof t!=="object"||!("rowCount"in t))return;let n=t.rowCount;return typeof n==="number"?n:void 0}function Ki(e,t,n){if(n==="declined")return"translate_declined";if(n==="cancelled")return"translate_tool_cancelled";if(t==="error")return"translate_tool_error";if(t==="approval")return"translate_needs_approval";return`translate_${e.name==="readAttachment"?"attachment":e.name===Nn?"subagent_brief":e.name===An?"check_back":"tool"}_${t==="complete"?"done":"status"}`}function Pe(e){let t=e.approval?.approved===!1?"declined":e.state==="complete"?qi(e):void 0,n=t?"error":Fo[e.state]??"processing";return{state:n,active:n==="starting"||n==="processing",gated:Io(e),titleKey:Ki(e,n,t),statement:Ao.some((r)=>r===e.name)?Ce(e.input,"status"):void 0,rows:n==="complete"?ji(e):void 0}}function Wn(e){let t=e.approval?.approved,{state:n,active:r}=Pe(e),o=t===void 0?e.state==="approval-requested"?"pending":"cancelled":!t?"declined":n==="error"?"failed":"approved";return{title:Lo(e.input),fallbackKey:"translate_approval_action",fallbackParams:{tool:Vi(e.name)},decision:o,decisionKey:zi[o],state:n,active:r}}var zi={pending:void 0,approved:"translate_approved",declined:"translate_declined",failed:"translate_approved_failed",cancelled:"translate_approval_cancelled"};function Vi(e){let t=e.replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/[_\-.]+/g," ").trim().toLowerCase();return t.charAt(0).toUpperCase()+t.slice(1)}function Hn(e){return Array.from({length:$i},(t,n)=>`translate_${e}_${n}`)}function je(e,t){return e.filter((n,r)=>{if(n.type==="tool-result"||n.type==="subagent")return!1;if(t.debugMode)return!0;if(n.type==="text"&&!n.content.trim())return!1;let o=r===e.length-1;return n.type!=="thinking"||t.isStreaming&&o})}var Gi=[zt,Vt];function Do(e){return Gi.find((t)=>t===e)}function $o(e,t){let{consumerTools:n,capabilities:r}=t;if(r?.messages!==!0&&!ae(e.state))return;return n&&Object.hasOwn(n,e.name)?n[e.name]:void 0}function Bn(e){return e.name===Nn&&Fo[e.state]!=="starting"&&Ce(e.input,"sessionId")===void 0}function qo(e){if(Bn(e))return{kind:"subagent"};if(e.name===An&&En(e))return{kind:"checkBack"};return}function jo(e,t){if(qo(e)||$o(e,t))return!1;return!Do(e.name)||!ae(e.state)}function Fn(e,t){let n=Pe(e),r=t.capabilities?.messages===!0&&!t.agentWorking;if(e.state==="approval-requested"&&r)return{kind:"approval",asking:!0};let o=qo(e);if(o)return o;if(t.debugMode)return{kind:"debug"};let a=$o(e,t);if(a)return{kind:"consumer",component:a};let s=e.state==="input-complete"&&r,i=s||ae(e.state)?Do(e.name):void 0;if(i)return{kind:"builtIn",component:t.builtInTools[i]};if(s&&!t.embedUnavailable&&qe(e)?.embed)return{kind:"embed"};if(e.name==="executeCode"&&!ae(e.state)&&!n.statement)return{kind:"activity",activity:"code"};if(n.gated)return{kind:"approval",asking:!1};return{kind:"pill"}}function Dn(e){let t=e.approval?.id;switch(e.state){case"complete":return{kind:"output",text:Ho(e)};case"error":return{kind:"error",text:Ho(e)};case"approval-requested":return{kind:"approval",approvalId:t,labelKey:"translate_approval_requested",messageKey:"translate_waiting_for_approval"};case"approval-responded":return{kind:"approval",approvalId:t,labelKey:"translate_approval_response",messageKey:e.approval?.approved?"translate_tool_approved":"translate_tool_response_received"};default:return}}var $n={working:"translate_subagent_working",background:"translate_subagent_background",done:"translate_subagent_done",failed:"translate_subagent_failed"};function Vo(e,t){for(let n of t.parts)if(n.type==="subagent"&&n.subagent.parentToolCallId===e.id)return n.subagent;return}function Go(e){let t=e.output,n=Ie(t)?t.subagentRunId:void 0;return typeof n==="string"?n:void 0}function Qt(e,t){return Vo(e,t)?.id??Go(e)}function Jt(e,t){for(let n of e)for(let r of n.parts){if(r.type!=="tool-call"||!Bn(r))continue;if(Qt(r,n)===t)return{call:r,message:n}}return}function qn(e){if(e?.source!=="run"||!Ie(e.payload))return;let{subagentRunId:t,brief:n,status:r,reason:o,result:a}=e.payload;if(typeof t!=="string")return;return{subagentRunId:t,brief:typeof n==="string"?n:"",status:typeof r==="string"?r:void 0,reason:typeof o==="string"?o:void 0,result:typeof a==="string"?a:void 0}}function ft(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n]?.metadata;if(qn(r?.event)?.subagentRunId===t)return r?.event}return}function jn(e){let t=qn(e);if(!t)return;return{brief:t.brief,statusKey:t.status==="completed"?$n.done:$n.failed}}function Kn(e){return e.split(`
|
|
3
|
+
`).map((n)=>n.trim()).find(Boolean)?.replace(/^(#+|[-*+>]|\d+\.)\s+/,"").replace(/\*\*|__|`/g,"")||void 0}var Ko=80;function Qi(e){let t=e&&Kn(e);return t&&t.length>Ko?`${t.slice(0,Ko)}…`:t}function Ji(e){let t=e.filter((o)=>o.role==="assistant").at(-1),n=t&&je(t.parts,{debugMode:!1,isStreaming:!0}).at(-1);if(n?.type==="tool-call"){let{statement:o,titleKey:a}=Pe(n);return o?{kind:"step",text:o}:{kind:"step",key:a}}let r=n?.type==="text"?Kn(n.content):void 0;return r?{kind:"step",text:r}:void 0}function Yi(e){return e.flatMap((t)=>t.role==="assistant"?t.parts:[]).flatMap((t)=>t.type==="text"?[t.content]:[]).at(-1)}function zo(e,t){if(t==="timeout")return"translate_subagent_timed_out";return t==="cancelled"||t==="parent_cancelled"||t==="stopped"||e==="cancelled"?"translate_subagent_cancelled":"translate_tool_error"}function Ke(e){return e==="running"||e==="waiting"}var Xi={running:void 0,suspended:void 0,finished:"done",error:"failed"};function Zi(e,t){if(Ke(e))return t?"background":"working";return e==="completed"?"done":"failed"}function el(e,t,n){let{run:r}=n,o=r!==void 0&&r.subagentRunId!==t,a=o&&n.wake!==void 0&&n.wake.at<=r.createdAt;return{run:r,later:o,part:o?void 0:e,wake:qn(a?void 0:n.wake)}}function tl(e,t){if(Pe(e).state==="error")return"failed";if(ae(e.state))return"done";return t?"working":"failed"}function zn(e,t,n){let r=Vo(e,t),o=Go(e),a=r?.id??o,{run:s,later:i,part:l,wake:c}=el(r,a,n),d=l?.messages.length?l.messages:void 0,u=l&&Xi[l.status];function p(){if(c)return c.status==="completed"?"done":"failed";if(u)return u;if(s)return Zi(s.status,i||o!==void 0);if(l)return"working";return o?"background":tl(e,n.agentWorking)}let m=p();function f(){if(m==="failed")return{kind:"failed",key:c?zo(c.status,c.reason):zo(s?.status,s?.reason)};if(m==="working")return d&&Ji(d);if(m==="background")return;let I=(d&&Yi(d))??c?.result??(typeof s?.result==="string"?s.result:void 0),M=I&&Kn(I);return M?{kind:"result",text:M}:void 0}let w=l!==void 0&&n.agentWorking&&!u,T=s!==void 0&&Ke(s.status)&&u!==void 0,N=Ce(e.input,"brief");return{id:a,brief:N,label:Qi(N),status:m,statusKey:$n[m],running:m==="working"||m==="background",line:f(),readsRun:a!==void 0&&!w&&(!s||T&&!c)}}var Vn=new WeakMap;function Gn(e,t){let n=e.closest(".cortex-widget__screen"),r=n?.querySelector(".cortex-message-list");if(!n||!r||!e.value.trim())return;let o=getComputedStyle(e),a=e.getBoundingClientRect(),s=(i)=>parseFloat(o[`padding${i}`])+parseFloat(o[`border${i}Width`]);Vn.set(n,{text:t,textarea:e,from:new DOMRect(a.left+s("Left"),a.top+s("Top"),a.width-s("Left")-s("Right"),a.height-s("Top")-s("Bottom")),rtl:o.direction==="rtl",scrollTop:r.scrollTop})}function nl(e,t){let n=e.closest(".cortex-widget__screen"),r=n?Vn.get(n):void 0;if(!n||!r)return;Vn.delete(n);let o=e.querySelectorAll(":scope > .cortex-message"),a=o[o.length-1]?.querySelector(".cortex-text-bubble--user"),s=e.closest(".cortex-message-list");if(!a||!s||r.text!==t||!r.textarea.isConnected)return;a.closest(".cortex-message-part")?.getAnimations().forEach((N)=>N.finish()),Jo(s);let i=a.getBoundingClientRect(),l=n.getBoundingClientRect(),c=getComputedStyle(a),d=parseFloat(c.paddingTop)+parseFloat(c.borderTopWidth),u=r.rtl?parseFloat(c.paddingRight)+parseFloat(c.borderRightWidth):parseFloat(c.paddingLeft)+parseFloat(c.borderLeftWidth),p=r.rtl?r.from.right+u-i.width:r.from.left-u,m=s.scrollTop-r.scrollTop;if(m)e.style.setProperty("--cortex-slide",`${m}px`),e.classList.remove("cortex-message-list__content--settling"),e.offsetWidth,e.classList.add("cortex-message-list__content--settling"),e.getAnimations()[0]?.finished.then(()=>e.classList.remove("cortex-message-list__content--settling"),()=>{return});let f=a.cloneNode(!0);f.classList.add("cortex-send-flight"),f.setAttribute("aria-hidden","true"),Object.assign(f.style,{left:`${i.left-l.left}px`,top:`${i.top-l.top}px`,width:`${i.width}px`}),f.style.setProperty("--cortex-fly-x",`${p-i.left}px`),f.style.setProperty("--cortex-fly-y",`${r.from.top-d-i.top}px`),a.style.visibility="hidden",n.append(f);let w=s.scrollTop,T=()=>{f.style.top=`${i.top-l.top-(s.scrollTop-w)}px`};s.addEventListener("scroll",T,{passive:!0}),Xo(f).then(()=>{s.removeEventListener("scroll",T),a.style.visibility="",f.remove()})}function Jo(e){e.scrollTop=Yo(e)}var rl=100;function Qn(e,t){let n=!0,r=!0,o=!1,a=0,s;function i(){if(o)return;o=!0,queueMicrotask(()=>{o=!1,Jo(e),r=!0,n=!1})}function l(){r=Yo(e)-e.scrollTop<rl}let c=typeof ResizeObserver>"u"?void 0:new ResizeObserver(([d])=>{let u=d?.contentRect.height??0,p=u>a;if(a=u,p&&(n||r))i()});return c?.observe(t),e.addEventListener("scroll",l,{passive:!0}),i(),{pin(){n=!0},messagesChanged(d){if(d?.role==="user"&&d.id!==s){s=d.id,n=!0;let u=d.parts.find((p)=>p.type==="text")?.content;if(u!==void 0)nl(t,u)}if(n)i()},dispose(){c?.disconnect(),e.removeEventListener("scroll",l)}}}function Yo(e){let t=e.querySelector(".cortex-message-list__content");if(!t)return e.scrollHeight-e.clientHeight;let n=getComputedStyle(e);return t.offsetHeight+parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)-e.clientHeight}function Jn(e){let t=!1,n=e.parentElement,r=typeof ResizeObserver>"u"?void 0:new ResizeObserver(()=>{if(t)o()});r?.observe(n);function o(){let a=n.querySelector(":scope > .cortex-working-thinking, :scope > .cortex-message > .cortex-message-parts > [data-cortex-frontier]");if(!a)return!1;return e.style.setProperty("--cortex-avatar-y",`${ol(a,n)-e.offsetHeight/2}px`),!0}return{sync(a){if(a===t){if(a)o();return}if(a){if(!o())return;e.classList.remove("cortex-working-avatar--leaving"),e.offsetWidth,e.classList.add("cortex-working-avatar--shown"),t=!0;return}t=!1;let[,s="0px"]=getComputedStyle(e).translate.split(" ");e.style.setProperty("--cortex-avatar-y",s),e.classList.add("cortex-working-avatar--leaving"),Xo(e,!0).then(()=>{if(t)return;e.classList.remove("cortex-working-avatar--shown","cortex-working-avatar--leaving")})},dispose(){r?.disconnect()}}}function ol(e,t){let n=e.querySelector(".cortex-text-bubble");if(!n)return Qo(e,t)+e.offsetHeight/2;let r=getComputedStyle(n);return Qo(n,t)+parseFloat(r.paddingTop)+parseFloat(r.borderTopWidth)+parseFloat(r.lineHeight)/2}function Qo(e,t){let n=0;for(let r=e;r instanceof HTMLElement&&r!==t;)n+=r.offsetTop,r=r.offsetParent;return n}function Xo(e,t=!1){return Promise.allSettled(e.getAnimations({subtree:t}).map((n)=>n.finished))}function Yn(e,t){let n=0,r,o;function a(){r=setTimeout(()=>{t({index:n,phase:"exiting"}),r=setTimeout(()=>{n=(n+1)%e,t({index:n,phase:"enter-start"}),o=requestAnimationFrame(()=>{t({index:n,phase:"entering"}),r=setTimeout(()=>{t({index:n,phase:"idle"}),a()},300)})},300)},2000)}return a(),()=>{if(clearTimeout(r),o!==void 0)cancelAnimationFrame(o)}}function Xn(e){e.classList.add("cortex-widget__container--switching"),e.offsetWidth,e.classList.remove("cortex-widget__container--switching")}function Zn(e,t){function n(){t.sendDraft((l)=>Gn(e,l))}function r(l){if(l.key!=="Enter"||l.shiftKey)return;l.preventDefault(),n()}function o(){e.style.overflowY="hidden",e.style.height="0px",e.style.height=`${e.scrollHeight+1}px`,e.style.overflowY=""}let a=0,s=typeof ResizeObserver>"u"?void 0:new ResizeObserver(([l])=>{let c=l?.borderBoxSize[0]?.inlineSize??0;if(c===a)return;a=c,requestAnimationFrame(o)});function i(){e.removeEventListener("keydown",r),s?.disconnect()}return e.style.transition="none",e.addEventListener("keydown",r),s?.observe(e,{box:"border-box"}),{send:n,fit:o,dispose:i}}function er(e){return{onDragOver:(t)=>{if(t.preventDefault(),e.enabled)e.setDragging(!0)},onDragLeave:(t)=>{if(!t.currentTarget?.contains(t.relatedTarget))e.setDragging(!1)},onDrop:(t)=>{if(t.preventDefault(),e.setDragging(!1),e.enabled)e.accept([...t.dataTransfer?.files??[]])},onPaste:(t)=>{let n=[...t.clipboardData?.files??[]];if(!e.enabled||!n.length)return;t.preventDefault(),e.accept(n)}}}function gt(e,t){let n=e.ownerDocument,r=()=>[...e.querySelectorAll('[role^="menuitem"]')],o=e.querySelector('[aria-haspopup="menu"]'),a=r();(a.find((l)=>l.getAttribute("aria-checked")==="true")??a[0])?.focus();let s=(l)=>{if(!l.composedPath().includes(e))t()},i=(l)=>{if(l.key==="Escape")return t();let c=r(),d=c.findIndex((m)=>m===n.activeElement),p=new Map([["ArrowDown",d+1],["ArrowUp",d-1],["Home",0],["End",c.length-1]]).get(l.key);if(d<0||p===void 0)return;l.preventDefault(),c[(p+c.length)%c.length]?.focus()};return n.addEventListener("pointerdown",s),n.addEventListener("focusin",s),n.addEventListener("keydown",i),()=>{n.removeEventListener("pointerdown",s),n.removeEventListener("focusin",s),n.removeEventListener("keydown",i);let l=n.activeElement;if(!l||l===n.body||e.contains(l))o?.focus()}}var Zo={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_queue_placeholder:"أضف رسالة، ستُرسل بعد هذا الرد",translate_steer_placeholder:"أضف رسالة إلى هذا الرد",translate_queued:"في الانتظار",translate_steer:"توجيه",translate_queue:"انتظار",translate_default:"(افتراضي)",translate_send_immediately:"إرسال فوري",translate_send_after_finish:"إرسال بعد الانتهاء",translate_send_now:"أرسل الآن",translate_send_options:"خيارات الإرسال",translate_cancel_queued:"إلغاء هذه الرسالة",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_connect_title:"ربط {{server}}",translate_connect_reason:"يتيح لهذا المساعد استخدام {{server}} باسمك.",translate_connect_not_now:"ليس الآن",translate_connect_button:"ربط",translate_connect_waiting:"أكمل تسجيل الدخول في النافذة التي فُتحت.",translate_connect_failed:"تعذّر الربط، حاول مرة أخرى",translate_connect_connected:"تم ربط {{server}}",translate_connect_not_connected:"لم يتم ربط {{server}}",translate_connect_more_title:"منح {{server}} وصولًا إضافيًا",translate_connect_more_reason:"يحتاج هذا المساعد إلى وصول إضافي إلى {{server}} لإنجاز ذلك.",translate_connect_more_button:"منح الوصول",translate_trigger_fired:"تم التشغيل بواسطة",translate_trigger_payload:"الحمولة",translate_trigger_update:"تحديث",translate_messages_disabled:"يعمل هذا الوكيل من مشغّلاته فقط.",translate_read_only:"أنت تطّلع على هذه المحادثة. لا يمكن إرسال شيء من هنا.",translate_access_refused:"لم يقبل هذا الوكيل تسجيل دخولك.",translate_visitor_unverified:"لم نتمكن من التأكد من أنك شخص حقيقي.",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:"لم يُتخذ قرار",translate_subagent:"وكيل فرعي",translate_subagent_working:"يعمل",translate_subagent_done:"اكتمل",translate_subagent_failed:"تعذّر الإكمال",translate_subagent_background:"في الخلفية",translate_subagent_more:"إجراءات أخرى",translate_subagent_message:"مراسلة",translate_subagent_cancel:"إلغاء",translate_subagent_open:"فتح",translate_subagent_cancelled:"أُلغي",translate_subagent_timed_out:"نفد الوقت",translate_subagent_placeholder:"قل شيئاً لهذا الوكيل الفرعي...",translate_subagent_again:"انتهى. رسالة جديدة تشغّله مرة أخرى.",translate_subagent_from:"من وكيل فرعي",translate_subagent_from_agent:"من الوكيل",translate_subagent_you:"أنت",translate_subagent_brief_status:"جارٍ توجيه وكيل فرعي…",translate_subagent_brief_done:"تم توجيه وكيل فرعي",translate_check_back_status:"جارٍ جدولة متابعة…",translate_check_back_done:"جُدولت متابعة",translate_check_back_at_pending:"يعود للمتابعة {{time}}",translate_check_back_at_due:"حان موعد المتابعة {{time}}",translate_check_back_at_done:"تمت المتابعة {{time}}",translate_check_back_cancelled:"أُلغيت المتابعة",translate_check_back_cancel:"إلغاء",translate_check_back_from:"متابعة كما خُطط لها {{time}}"};var ea={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_queue_placeholder:"Add a message, it will be sent after this reply",translate_steer_placeholder:"Add a message to this reply",translate_queued:"Queued",translate_steer:"Steer",translate_queue:"Queue",translate_default:"(default)",translate_send_immediately:"Send immediately",translate_send_after_finish:"Send after finish",translate_send_now:"Send now",translate_send_options:"Send options",translate_cancel_queued:"Cancel this 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_connect_title:"Connect {{server}}",translate_connect_reason:"Lets this assistant use {{server}} as you.",translate_connect_not_now:"Not now",translate_connect_button:"Connect",translate_connect_waiting:"Finish signing in in the window that opened.",translate_connect_failed:"Could not connect, try again",translate_connect_connected:"{{server}} connected",translate_connect_not_connected:"{{server}} not connected",translate_connect_more_title:"Give {{server}} more access",translate_connect_more_reason:"This assistant needs more access to {{server}} to do this.",translate_connect_more_button:"Give access",translate_trigger_fired:"Triggered by",translate_trigger_payload:"Payload",translate_trigger_update:"Update",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_visitor_unverified:"We couldn't confirm you're a person.",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",translate_subagent:"Subagent",translate_subagent_working:"Working",translate_subagent_done:"Done",translate_subagent_failed:"Couldn't finish",translate_subagent_background:"In the background",translate_subagent_more:"More actions",translate_subagent_message:"Message",translate_subagent_cancel:"Cancel",translate_subagent_open:"Open",translate_subagent_cancelled:"Cancelled",translate_subagent_timed_out:"Ran out of time",translate_subagent_placeholder:"Tell this subagent something...",translate_subagent_again:"It ended. A message runs it again.",translate_subagent_from:"From a subagent",translate_subagent_from_agent:"From the agent",translate_subagent_you:"You",translate_subagent_brief_status:"Briefing a subagent...",translate_subagent_brief_done:"Briefed a subagent",translate_check_back_status:"Scheduling a check-back...",translate_check_back_done:"Scheduled a check-back",translate_check_back_at_pending:"Checks back at {{time}}",translate_check_back_at_due:"Check-back due {{time}}",translate_check_back_at_done:"Checked back at {{time}}",translate_check_back_cancelled:"Check-back cancelled",translate_check_back_cancel:"Cancel",translate_check_back_from:"Checked back, as planned at {{time}}"};var il={en:ea,ar:Zo};function Xe(e){return e&&Tn.includes(e)?e:ko}function pe(e,t,n){let r=il[e][t],o=typeof r==="string"?r:r[new Intl.PluralRules(e).select(Number(n?.count))]??r.other;if(!n)return o;return o.replace(/\{\{\s*(\w+)\s*\}\}/g,(a,s)=>(s in n)?String(n[s]):a)}function ta(e,t,n){let r=e!==void 0&&e.messages!==!1;return{greeting:e===void 0?"":$e(e.greeting,t)||pe(t,"translate_greeting"),suggestions:r&&$e(e.suggestions,t)||[],send:(o)=>{if(r)n(o)}}}var na="cortex-recaptcha-enterprise",tr;function ll(e){return tr??=new Promise((t,n)=>{let r=()=>{let a=window.grecaptcha?.enterprise;if(a)a.ready(()=>t(a));else n(Error("reCAPTCHA Enterprise did not load"))};if(document.getElementById(na))return r();let o=document.createElement("script");o.id=na,o.src=`https://www.google.com/recaptcha/enterprise.js?render=${encodeURIComponent(e)}`,o.async=!0,o.addEventListener("load",r,{once:!0}),o.addEventListener("error",()=>{o.remove(),n(Error("reCAPTCHA Enterprise failed to load"))},{once:!0}),document.head.appendChild(o)}).catch((t)=>{throw tr=void 0,t}),tr}function ra(e,t=document){for(let n of t.querySelectorAll(".grecaptcha-badge")){let r=n.querySelector("iframe")?.getAttribute("src");if(r&&new URL(r,"https://www.google.com").searchParams.get("k")===e)n.style.visibility="hidden"}}async function oa(e){let t=await ll(e);ra(e);let n=await t.execute(e,{action:No});return ra(e),n}class Se extends Error{status;constructor(e,t){super(`HTTP ${e}: ${t}`);this.status=e;this.name="CortexHttpError"}}class xt extends Error{constructor(){super("The visitor check failed");this.name="CortexVisitorUnverified"}}var or="cortex:visitor:",yt=new Map,_t=new Map,ar=new Set,nr=new Set;function sa(e){try{return localStorage.getItem(or+e)}catch{return null}}function ia(e,t){try{if(t===null)localStorage.removeItem(or+e);else localStorage.setItem(or+e,t)}catch{}}async function aa(e,t){let n=await fetch(`${e}/visitors`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(n.status===403)return await n.json();if(!n.ok)throw new Se(n.status,n.statusText);return await n.json()}async function cl(e){let t=await aa(e,{});if("error"in t&&t.error==="recaptcha_required")t=await aa(e,{recaptcha:await oa(t.siteKey)});if("error"in t)throw new xt;return ar.add(t.token),ia(e,t.token),t.token}function dl(e){let t=yt.get(e)??sa(e);if(t)return yt.set(e,t),Promise.resolve(t);let n=_t.get(e);if(!n){n=cl(e),_t.set(e,n);let r=n,o=()=>{if(_t.get(e)===r)_t.delete(e)};r.then((a)=>{o(),yt.set(e,a)},(a)=>{if(!(a instanceof xt))o()})}return n}function ul(e,t){let n=yt.get(e)===t;if(n)yt.delete(e);let r=sa(e)===t;if(r)ia(e,null);return n||r}function sr(e){if(!e.getHeaders)return dl(ht(e,"")).then((n)=>rr({Authorization:`Bearer ${n}`}));let t=e.getHeaders();return t instanceof Promise?t.then(rr):Promise.resolve(rr(t))}function rr(e){let t={...e},n=pl(),r=Object.keys(t).some((o)=>o.toLowerCase()===Ln.toLowerCase());if(n&&!r)t[Ln]=n;return t}function pl(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function ht(e,t){let n=e.baseUrl;return(typeof n==="string"?n:n()).replace(/\/$/,"")+t}function ml(e){let t=e?.match(/filename\*\s*=\s*[^']*'[^']*'([^;\r\n]+)/i)?.[1]?.trim().replace(/^"|"$/g,"");if(t)try{return decodeURIComponent(t)}catch{}return e?.match(/filename\s*=\s*"?([^";\r\n]+)"?/i)?.[1]}function la(e){function t(){return sr(e())}function n(a){return ht(e(),a)}function r(a,s){let i=e(),l=new Headers(s).get("Authorization")?.replace(/^Bearer /,"");if(i.getHeaders||l===void 0)return;if(a.ok)ar.delete(l);if(a.status!==401)return;let c=ht(i,""),d=ul(c,l);if(ar.delete(l))return"refused";if(d){for(let u of[...nr])if(u.visitorOf()===c)u.heard()}return"stale"}async function o(a,s,i=!1){let l=new Headers(await t());if(new Headers(s?.headers).forEach((u,p)=>{l.set(p,u)}),s?.body instanceof FormData)l.delete("Content-Type");else if(!l.has("Content-Type"))l.set("Content-Type","application/json");let c=await fetch(n(a),{...s,headers:l});if(!c.ok){if(r(c,l)==="stale"&&!i)return o(a,s,!0);throw new Se(c.status,c.statusText)}r(c,l);let d=await c.text();return d?JSON.parse(d):void 0}return{onVisitorReplaced(a){let i={visitorOf:()=>{let l=e();return l.getHeaders?void 0:ht(l,"")},heard:a};return nr.add(i),()=>{nr.delete(i)}},retrySignIn(){_t.delete(ht(e(),""))},getCapabilities(){return o("/capabilities")},listThreads(){return o("/threads")},createThread(){let a=e().threadBody;return o("/threads",{method:"POST",...a&&{body:JSON.stringify(a)}})},deleteThread(a){return o(`/threads/${a}`,{method:"DELETE"})},listMessages(a){return o(`/threads/${a}/messages`)},listLlmRequests(a,s){return o(`/threads/${a}/messages/${s}/llm-requests`)},abortStream(a){return o(`/chat/${a}/abort`,{method:"POST"})},async queueMessage(a,s,i,l){let c=new Headers(await t());c.set("Content-Type","application/json");let d=await fetch(n("/chat"),{method:"POST",headers:c,body:JSON.stringify({threadId:a,runId:s,messages:[{...i,role:"user"}],tools:[],context:[],forwardedProps:l?{[So]:l}:{}})});if(r(d,c),d.status===202)return await d.json();if(d.ok)return d.body?.cancel(),{state:"started"};if(d.status===409||d.status===429)return await d.json();throw new Se(d.status,d.statusText)},listInputs(a){return o(`/threads/${a}/inputs`)},cancelInput(a,s){return o(`/threads/${a}/inputs/${s}`,{method:"DELETE"})},moveInput(a,s,i){return o(`/threads/${a}/inputs/${s}`,{method:"PATCH",body:JSON.stringify({busy:i})})},getRun(a){return o(`/runs/${a}`)},cancelRun(a){return o(`/runs/${a}/cancel`,{method:"POST"})},initiateToolCall(a,s){return o(`/chat/${a}/tools/${s}/initiate`,{method:"POST"})},accountConnection(a,s,i){return o(`/connections/${encodeURIComponent(a)}?call=${encodeURIComponent(s)}`,{signal:i})},uploadAttachment(a,s){let i=new FormData;return i.append("file",s),o(`/threads/${a}/files`,{method:"POST",body:i})},deleteAttachment(a){return o(`/files/${a}`,{method:"DELETE"})},async downloadAttachment(a){let s=await t(),i=await fetch(n(`/files/${a}`),{headers:s});if(r(i,s),!i.ok)throw new Se(i.status,i.statusText);return{blob:await i.blob(),name:ml(i.headers.get("Content-Disposition"))??a}},resolveHeaders:t,resolveUrl:n,readVisitorAnswer:r}}var ir=30000;function lr(e){return Math.min(1000*2**(e-1),ir)}var fl=1e4;function ca(e){let t,n,r=0,o=!1,a=!1;function s(){let{wsUrl:l,transport:c}=e.getConfig();if(l===!1)return;let d=gl(l,c.baseUrl);sr(c).then((u)=>{if(o)return;t=new WebSocket(_l(d,u)),t.addEventListener("open",()=>{a=!0;let p=t;setTimeout(()=>{if(t===p&&!o)r=0},fl),e.onOpen?.()}),t.addEventListener("message",(p)=>{let m=p.data;if(typeof m!=="string")return;let f;try{f=JSON.parse(m)}catch{return}e.onEvent(f)}),t.addEventListener("close",()=>{if(!a&&!o)e.onFailedOpen?.();a=!1,i()})}).catch(i)}function i(){if(o||n)return;r+=1,n=setTimeout(()=>{n=void 0,s()},lr(r))}return s(),{close(){o=!0,a=!1,clearTimeout(n),t?.close()},isOpen(){return a}}}function gl(e,t){if(e)return e;let n=typeof t==="string"?t:t(),r=new URL(n,window.location.origin);return r.protocol=r.protocol==="https:"?"wss:":"ws:",r.pathname=r.pathname.replace(/\/$/,"")+"/ws",r.toString()}function _l(e,t){let n=(s)=>Object.entries(t).find(([i])=>i.toLowerCase()===s.toLowerCase())?.[1],r=n("Authorization"),o=Object.entries({token:r?.startsWith("Bearer ")?r.slice(7):void 0,operator:n(Oo),inspect:n(Po)}).filter((s)=>Boolean(s[1]));if(o.length===0)return e;let a=new URL(e,window.location.origin);for(let[s,i]of o)if(!a.searchParams.has(s))a.searchParams.set(s,i);return a.toString()}var da={unreachable:"translate_agent_unreachable",refused:"translate_access_refused",unverified:"translate_visitor_unverified",missing:"translate_agent_missing"};function hl(e){if(e instanceof xt)return"unverified";let t=e instanceof Se?e.status:void 0;if(t===401)return"refused";if(t===404)return"missing";return"unreachable"}function cr(e,t,n=lr){let r=!1,o,a=0;function s(){e().then((i)=>{if(!r)t.onAnswered(i)},(i)=>{if(r)return;let l=hl(i);if(t.onMissed?.(l),l==="missing")return;a+=1,o=setTimeout(s,l==="refused"||l==="unverified"?ir:n(a))})}return s(),function(){r=!0,clearTimeout(o)}}function Ze(){if(typeof crypto.randomUUID==="function")return crypto.randomUUID();let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,(n)=>n.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}var yl={type:"translate_attachment_rejected_type",size:"translate_attachment_rejected_size",name:"translate_attachment_rejected_name",count:"translate_attachment_rejected_count"};function dr(e,t){if(!e.refusal)return pe(t,"translate_attachment_rejected");return pe(t,yl[e.refusal],{types:new Intl.ListFormat(t).format(pt.map((n)=>n.slice(n.indexOf("/")+1).toUpperCase())),size:Sn/1024/1024,count:Mn})}function ua(e){let{api:t}=e,n=new Set,r=new Set,o=[],a=[],s=Promise.resolve();function i(){return o}function l(S){return n.add(S),()=>{n.delete(S)}}function c(S){o=S;for(let O of n)O()}function d(S,O){c(o.map((P)=>P.localId===S?{...P,...O}:P))}function u(S){if(r.delete(S))return;d(S,{status:"error"})}async function p(S,O,P){if(r.delete(S))return;let E;try{E=await t.uploadAttachment(O,P)}catch{u(S);return}if(r.delete(S)){t.deleteAttachment(E.id).catch(()=>{});return}d(S,{status:"ready",attachmentId:E.id,summary:E})}function m(S){let O=[];for(let P of S){let E=Mo(P),ne=o.filter((C)=>C.status!=="error").length>=Mn,re=E!=="ok"?E:ne?"count":void 0,le=Ze();if(c([...o,re?{localId:le,filename:P.name,status:"error",refusal:re}:{localId:le,filename:P.name,status:"uploading"}]),!re)O.push({localId:le,file:P})}if(!O.length)return;e.ensureThread().then((P)=>{for(let{localId:E,file:ne}of O){if(r.delete(E))continue;d(E,{threadId:P}),s=s.then(()=>p(E,P,ne)).catch(()=>{})}},()=>{for(let{localId:P}of O)u(P)})}function f(S){let O=o.find((P)=>P.localId===S);if(!O)return;if(O.status==="uploading"){r.add(S),c(o.filter((P)=>P.localId!==S));return}if(O.attachmentId){d(S,{status:"deleting"}),t.deleteAttachment(O.attachmentId).then(()=>c(o.filter((P)=>P.localId!==S)),()=>d(S,{status:"error"}));return}c(o.filter((P)=>P.localId!==S))}function w(S){let O=[];for(let P of o){if(P.threadId!==void 0&&P.threadId!==S){O.push(P);continue}if(P.status==="uploading")r.add(P.localId);else if(P.status==="ready"&&P.threadId===S&&P.attachmentId)t.deleteAttachment(P.attachmentId).catch(()=>{})}if(O.length!==o.length)c(O)}function T(){let S=o.flatMap((O)=>O.status==="ready"&&O.summary?[{...O,status:"ready",summary:O.summary}]:[]);return c(o.filter((O)=>O.status!=="ready")),S}function N(){let S=T();return a=S,S}function I(S){let O=a;a=[],M(O,S,"error")}function M(S,O,P){if(S.some((E)=>E.threadId!==O))return;c([...S.map((E)=>({...E,status:P})),...o])}function U(){a=[]}return{getState:i,subscribe:l,accept:m,remove:f,clear:w,takeReady:T,consumeReady:N,restoreConsumed:I,giveBack:M,discardConsumed:U}}function pa(e){return{uploading:e.some((t)=>t.status==="uploading"),busy:e.some((t)=>t.status==="uploading"||t.status==="deleting"),hasReady:e.some((t)=>t.status==="ready")}}import{EventType as Al}from"@tanstack/ai";import{ChatClient as Ll}from"@tanstack/ai-client";import{EventType as ur}from"@tanstack/ai";import{fetchServerSentEvents as ma}from"@tanstack/ai-client";function xl(e){for(let t=e.length-1;t>=0;t-=1){let n=e[t],r="parts"in n&&n.parts.some((o)=>o.type==="tool-result"||o.type==="tool-call"&&o.state==="approval-responded");if(n.role==="user"||r)return e.slice(t,t+1)}return e.slice(-1)}function bl(e){if(e.state==="approval-responded"){let t=e.approval?.approved;if(t===void 0)return null;return{toolCallId:e.id,output:null,state:t?"approved":"denied"}}if(!ae(e.state))return null;return{toolCallId:e.id,output:e.output??null,state:e.state==="error"?"error":"complete"}}function vl(e){let[t]=e;if(!t||t.role!=="assistant"||!("parts"in t))return null;let n=t.parts.flatMap((r)=>{let o=r.type==="tool-call"?bl(r):null;return o?[o]:[]});return n.length>0?n:null}async function wl(e){if(e.status!==409)return;let n=await e.clone().json().catch(()=>{return});return n?.state==="refused"&&n.reason==="approval_pending"?"approval_pending":void 0}async function Cl(e){if(e.status!==202)return;let n=await e.clone().json().catch(()=>{return});return n?.state==="waiting"&&typeof n.inputId==="string"?{inputId:n.inputId,delivery:n.delivery}:void 0}function kl(){let e={type:ur.RUN_FINISHED,timestamp:Date.now()};return new Response(`data: ${JSON.stringify(e)}
|
|
4
|
+
|
|
5
|
+
`,{headers:{"Content-Type":"text/event-stream"}})}async function*fa(e,t,n){for await(let r of e){if(r.type!==ur.MESSAGES_SNAPSHOT){yield r;continue}let o=t.localMessages(),a=o.findIndex((l)=>l.id===n),s=new Set(r.messages.map((l)=>l.id)),i=a===-1?[]:o.slice(a+1).filter((l)=>l.role==="user"&&!s.has(l.id));t.onTranscriptCarried?.(r.timestamp??Date.now()),yield{...r,messages:[...r.messages,...i]}}}function ga(e){let{api:t,thread:n}=e,r=async()=>({headers:await t.resolveHeaders()}),o=0;async function*a(u,p){o+=1,e.onStreamStarted?.();try{yield*u}finally{o-=1,p?.()}}function s(u,p,m){let f=Object.assign(async(w,T)=>{let N=await fetch(w,T).catch((S)=>{throw u("lost"),S});u(Uo(N.status)),t.readVisitorAnswer(N,T?.headers);let I=new Headers(T?.headers).has("Last-Event-ID");if(p&&!I&&N.status===401)e.onMessageRefused?.();let M=await wl(N);if(M)e.onRefused?.(M);let U=await Cl(N);if(U===void 0)return N;if(p)m(U);return kl()},fetch);return ma(()=>t.resolveUrl("/chat"),async()=>({...await r(),fetchClient:f}))}let i=function(u,p,m,f){let w=xl(u),T=vl(w),N=T?.map((S)=>S.toolCallId),I,M=s((S)=>{if(I)return;if(I=S,N&&I==="persisted")e.onReceipt?.(N,I)},!T&&w[0]?.role==="user",(S)=>{let[O]=w;if(O&&"parts"in O)e.onQueued?.(S,O,f.runId)}),U=T?M.connect([],{...p,[Eo]:T},m,f):M.connect(w,p,m,f);return a(fa(U,e,u.at(-1)?.id),()=>{if(N&&I!=="persisted")e.onReceipt?.(N,I??"lost")})},l=ma(()=>t.resolveUrl(`/chat/${n.id}/stream`),r),c=[];async function*d(u,p){yield{type:ur.MESSAGES_SNAPSHOT,timestamp:Date.now(),messages:c},yield*fa(l.joinRun(u,p),e,c.at(-1)?.id)}return{connect:i,joinRun:(u,p)=>a(d(u,p)),streaming:()=>o>0,hydrate:async()=>{let u=await Tl(e);return c=u.messages,u}}}async function Tl(e){let{api:t,thread:n,mode:r}=e,o=n.isRunning?{runId:n.id}:null;if(r==="skip")return{messages:[],activeRun:o,interrupts:null};if(r==="load")e.setLoadingMessages?.(!0);try{let s=(await t.listMessages(n.id)).map(mt);return e.onHydrated?.(s),{messages:s,activeRun:o,interrupts:Gt(s)}}finally{e.setLoadingMessages?.(!1)}}async function _a(e){if(e.isStale?.()||e.isStreaming())return;try{let t=await e.api.listMessages(e.threadId);if(e.isStale?.()||e.isStreaming())return;let n=t.map(mt);return e.setMessages(n),n}catch{return}}import{EventType as Sl}from"@tanstack/ai";function Ml(e){return new Set(Oe(e).filter((t)=>t.state!=="approval-responded").map((t)=>t.id))}function pr(e){return e.refusal==="approval_pending"?"translate_approval_pending":"translate_error"}var Nl=2;function ha(e){let t=!1,n=!1,r=!1,o,a,s,i,l=!1,c=!1,d,u,p=new Set,m=new Map,f=new Map,w=0,T=0,N=0,I=!1;function M(){if(t)return;t=!0,e.setRunning(!0)}function U(y,h){m.get(y)?.waiters.forEach(h),m.delete(y)}function S(y,h,A=!1){for(let R of y){let B=m.get(R);if(!B)continue;if(B.failure=h,A)B.mayHaveLanded=!0}re()}async function O(y,h,A){try{await h()}catch(R){if(A)A.failures+=1;S([y],R instanceof Error?R:Error("The answer was not sent"))}}function P(y){for(let[h,A]of m)if(!y.has(h)){if(A.mayHaveLanded)M();U(h,(R)=>R.resolve())}else if(A.failure){let{failure:R}=A;U(h,(B)=>B.reject(R))}else O(h,A.deliver)}function E(y){for(let[A,R]of f){if(y.has(A))continue;if(f.delete(A),R.mayHaveLanded)M()}let h=[...f.values()];if(h.some((A)=>A.failures>Nl))return;for(let A of h)ne(A)}function ne(y){if(!e.answers())return I=!0,Promise.resolve();return O(y.answer.toolCallId,()=>e.deliver(y.answer),y)}async function re(){let y=w,h=++T,A=()=>w!==y||N>h||!e.isAlive(),R=await e.refreshMessages(A).catch(()=>{return});if(!R||A())return;N=h;let B=Ml(R),K=I;if(I=!1,P(B),E(B),t||K)C(R)}async function le(y,h){let A;try{let K=h({toolCallId:y.id,toolName:y.name,input:y.input},{threadId:e.threadId});if(K===null||K===void 0)return;A=await Promise.resolve(K)}catch{p.delete(y.id);return}if(A===null||A===void 0)return;if(!e.isAlive())return;let B={answer:{toolCallId:y.id,tool:y.name,output:A},failures:0,mayHaveLanded:!1};f.set(y.id,B),await ne(B)}function C(y){let h=Oe(y),A=e.onToolCall();if(!A)return h.length>0;if(!e.answers())return I||=h.length>0,h.length>0;for(let R of h){if(R.state!=="input-complete"||p.has(R.id))continue;p.add(R.id),le(R,A)}return h.length>0}async function W(y){if(r)e.reloadThreads().catch(()=>{});else e.setRunning(!1);if(t&&!l&&C(y()))return;if(u===void 0&&d!==void 0)return;u=void 0,await re()}return{chunkArrived(y){if(n=!0,y.type===Sl.RUN_ERROR&&y.code!=="aborted")o={reason:y.message||void 0}},transcriptCarried(y){if(d=y,u!==void 0&&u<=y)u=void 0},transcriptUpdated(y){let h=Date.parse(y);if(d!==void 0&&h<=d)return;if(!c){re();return}u=Math.max(u??0,h)},streamFailed(){if(r=!0,l)return;if(n)e.onTurnFinished();else e.onSendFailed();if(a){if(e.setTurnFailed({reason:void 0,refusal:a}),i!==void 0)e.returnDraft(i);return}let h=o??(i!==void 0&&!n?{reason:void 0}:void 0);if(h)e.setTurnFailed(h)},loadingChanged(y,h){if(y){c=!0;return}if(!c)return;c=!1,e.onTurnFinished(),W(h)},hydrated(y,h){if(h)return;setTimeout(()=>{if(e.isAlive())C(y)},0)},deliverAnswer(y,h){return new Promise((A,R)=>{let B=[...m.get(y)?.waiters??[],{resolve:A,reject:R}];m.set(y,{deliver:h,waiters:B}),O(y,h)})},receiptArrived(y,h){if(h==="persisted"){for(let R of y)f.delete(R),U(R,(B)=>B.resolve());M();return}let A=h==="lost";for(let R of y){let B=f.get(R);if(!B)continue;B.failures+=1,B.mayHaveLanded||=A}S(y,Error(A?"The answer was lost":"Cortex refused the answer"),A)},readBack:re,resumeAnswers(){if(I&&!c)re()},streamStarted(){if(t)e.setRunning(!0);w+=1,r=!1,o=void 0,a=void 0,i=s,s=void 0,d=void 0,l=!1,e.setTurnFailed(void 0)},sendStarted(y){w+=1,s=y,t=!0,n=!1},sendRefused(y){a=y},abortConfirmed(){l=!0}}}var Ue={messages:[],isAgentWorking:!1,isLoadingMessages:!1,hasPendingToolCalls:!1,awaitsApproval:!1,turnFailure:void 0,queued:[]};function mr(e){let{api:t}=e,n=e.thread.id,r=new Set,o=Ue,a=e.thread,s=[],i=0,l=new Set,c=!1,d=T(e.thread,e.mode);if((e.whileBusy()??"refuse")!=="refuse")w();function u(C){let W=new Set(C.messages.map((h)=>h.id)),y=s.filter((h)=>!W.has(h.message.id));o={...C,hasPendingToolCalls:!C.isAgentWorking&&Oe(C.messages).length>0,awaitsApproval:Wo(C.messages),queued:El(y,o.queued)?o.queued:y},r.forEach((h)=>h())}function p(C,W){if(Object.is(o[C],W))return;u({...o,[C]:W})}function m(C){s=C,u(o)}function f(C,W){if(!s.some((y)=>y.inputId===C.inputId)){let h=!W.metadata?.attachments?.length&&W.parts.every((A)=>A.type==="text");m([...s,{...C,message:W,textOnly:h}])}w()}async function w(){let C=++i,W=await t.listInputs(n).catch(()=>{return});if(!W||C!==i||!d.isAlive())return;m(W.map(({message:y,...h})=>({...h,message:mt(y)})))}function T(C,W,y,h,A=!1){let R=!0,B=A;function K(H){return(...ce)=>{if(R)H(...ce)}}let Ye=Promise.resolve(),ue=ha({threadId:n,isAlive:()=>R,onToolCall:()=>e.getHooks()?.onToolCall,answers:e.answers,deliver:(H)=>oe.addToolResult(H),setRunning:e.setRunning,reloadThreads:e.reloadThreads,refreshMessages:(H)=>{let ce=Ye.then(()=>_a({api:t,threadId:n,isStale:()=>!R||H(),isStreaming:$t.streaming,setMessages:(ut)=>oe.setMessagesManually(ut)}));return Ye=ce,ce},onTurnFinished:e.onTurnFinished,onSendFailed:e.onSendFailed,setTurnFailed:K((H)=>p("turnFailure",H)),returnDraft:K(e.onReturned)}),$t=ga({api:t,thread:C,mode:W,localMessages:()=>oe.getMessages(),onHydrated:K((H)=>ue.hydrated(H,C.isRunning)),onTranscriptCarried:K((H)=>ue.transcriptCarried(H)),onStreamStarted:K(()=>ue.streamStarted()),onRefused:K((H)=>ue.sendRefused(H)),onMessageRefused:e.onMessageRefused,onReceipt:K((H,ce)=>ue.receiptArrived(H,ce)),onQueued:K((H,ce,ut)=>{l.add(ut),f(H,ce)}),setLoadingMessages:K((H)=>p("isLoadingMessages",H))}),oe=new Ll({threadId:n,persistence:!0,initialMessages:y,...h?{initialResumeSnapshot:{resumeState:{threadId:n,runId:h.runId},pendingInterrupts:h.pending}}:{},connection:$t,onChunk:K((H)=>{if(H.type===Al.RUN_STARTED&&l.has(H.runId))B=!0;ue.chunkArrived(H)}),onError:K(()=>ue.streamFailed()),onMessagesChange:K((H)=>p("messages",H)),onLoadingChange:K((H)=>{p("isAgentWorking",H);let ce=()=>oe.getMessages();if(H){ue.loadingChanged(!0,ce);return}setTimeout(K(()=>{if(oe.getIsLoading())return;if(ue.loadingChanged(!1,ce),c)c=!1,re({...a,isRunning:!0},!0);else if(B&&Oe(ce()).length>0)re({...a,isRunning:!1})}))})});return oe.attach(),{client:oe,lifecycle:ue,isAlive:()=>R,close(){R=!1,oe.detach(),oe.stop(),oe.dispose()}}}async function N(C,W=()=>[]){if(!d.isAlive()||o.isAgentWorking||o.awaitsApproval)return!1;let{client:y,lifecycle:h}=d;return h.loadingChanged(!1,()=>y.getMessages()),h.sendStarted(C),await y.append({id:Ze(),role:"user",parts:[{type:"text",content:C}],metadata:{createdAt:new Date().toISOString(),attachments:W()}}),!0}async function I(C,W,y){let h=e.whileBusy();if(!d.isAlive()||o.awaitsApproval||!h||h==="refuse")return"refused";let A={id:Ze(),role:"user",parts:[{type:"text",content:C}],metadata:{createdAt:new Date().toISOString(),attachments:W()}},R=Ze();l.add(R);let B=await t.queueMessage(n,R,{id:A.id,content:C,metadata:A.metadata},y).catch(()=>{return});if(!B)return"lost";if(B.state==="refused")return"refused";if(!d.isAlive())return"sent";if(B.state==="waiting")f(B,A);else if(d.client.getIsLoading())c=!0;else re({...a,isRunning:!0},!0);return"sent"}async function M(C){i+=1,m(s.filter((W)=>W.inputId!==C)),await t.cancelInput(n,C).catch(()=>{return}),await w()}async function U(C){let W=(A)=>s.map((R)=>R.inputId===C?{...R,delivery:A}:R),y=s.find((A)=>A.inputId===C)?.delivery;if(!y)return;if(i+=1,m(W("steer")),!await t.moveInput(n,C,"steer").then(()=>!0,()=>!1))m(W(y));await w()}async function S(){let{client:C,lifecycle:W,isAlive:y}=d;if(!y()||!C.getIsLoading())return;let{aborted:h}=await t.abortStream(n).catch(()=>({aborted:!1}));if(!y())return;if(h)W.abortConfirmed();else C.stop()}function O(C,W,y){let{client:h,lifecycle:A,isAlive:R}=d;if(!R())return Promise.resolve();return A.deliverAnswer(C,()=>h.addToolResult({toolCallId:C,tool:W,output:y}))}function P(C,W){if(!d.isAlive())return Promise.resolve();let y=E(Ro(C));return d.lifecycle.deliverAnswer(C.id,()=>{if(!y||!("resolveInterrupt"in y))return Promise.reject(Error("The call no longer waits for a decision"));return y.resolveInterrupt({approved:W}),Promise.resolve()})}function E(C){let W=()=>d.client.getInterrupts().find((A)=>A.id===C&&A.canResolve&&("resolveInterrupt"in A)),y=W(),h=Gt(o.messages);if(y||!h||d.client.getIsLoading())return y;return d.close(),d=T({...a,isRunning:!1},"skip",o.messages,h),W()}function ne(C){if(!d.isAlive()||C.id!==n||d.client.getIsLoading())return;if(C.isRunning)re(C);else d.lifecycle.readBack()}function re(C,W=!1){d.close(),p("isLoadingMessages",!1),p("turnFailure",void 0),a=C,d=T(C,"reload",o.messages,void 0,W)}function le(C){if(d.isAlive()&&C.id===n)d.lifecycle.transcriptUpdated(C.updatedAt)}return{threadId:n,getState:()=>o,subscribe:(C)=>(r.add(C),()=>{r.delete(C)}),send:N,sendWhileBusy:I,cancelQueued:M,sendQueuedNow:U,queueChanged:()=>void w(),abort:S,addToolResult:O,respondToApproval:P,reattach:ne,transcriptUpdated:le,resumeAnswers:()=>{if(d.isAlive())d.lifecycle.resumeAnswers()},dispose(){d.close(),r.clear()}}}function El(e,t){return e.length===t.length&&e.every((n,r)=>n.inputId===t[r]?.inputId&&n.delivery===t[r]?.delivery)}function ya(e){let t={},n=new Set,r=new Map;function o(s){let i=r.get(s);if(i)return i;let l=e.getRun(s).then((c)=>(t={...t,[s]:c},n.forEach((d)=>d()),c),()=>{return}).finally(()=>r.delete(s));return r.set(s,l),l}async function a(s){await e.cancelRun(s).catch(()=>{return}),await r.get(s),await o(s)}return{getState:()=>t,subscribe:(s)=>(n.add(s),()=>{n.delete(s)}),read:o,cancel:a}}function xa(e){if(!e.threadId)return;return{id:e.threadId,title:null,createdAt:e.createdAt,updatedAt:e.finishedAt??e.createdAt,isRunning:Ke(e.status)}}function fr(e){return[...e].sort((t,n)=>{let r=Date.parse(n.updatedAt)-Date.parse(t.updatedAt);if(r!==0)return r;return Date.parse(n.createdAt)-Date.parse(t.createdAt)})}function gr(e,t){let n=[...e],r=n.findIndex((o)=>o.id===t.id);if(r===-1)n.push(t);else n[r]={...n[r],...t};return fr(n)}function ba(e,t){return e.filter((n)=>n.id!==t)}function Rl(e,t,n){return e.map((r)=>r.id===t?{...r,title:n}:r)}var Il=[0,1000,2000,3000,4000];function va(e){let t=e.delays??Il,n=!1,r;function o(){let i=e.selected();return!n&&!e.socketOpen()&&i?.id===e.threadId&&!i.title}async function a(i){if(!o())return;let c=(await e.listThreads().catch(()=>{return}))?.find((d)=>d.id===e.threadId)?.title;if(!o())return;if(c)e.setTitle(c);else s(i+1)}function s(i){let l=t[i];if(l!==void 0)r=setTimeout(()=>void a(i),l)}return s(0),function(){n=!0,clearTimeout(r)}}function wa(e,t){switch(t.type){case"thread:deleted":return ba(e,t.payload.threadId);case"thread:created":case"thread:title-updated":case"thread:run-started":case"thread:run-finished":case"thread:messages-updated":return gr(e,t.payload.thread);default:return e}}function Ca(){let e=new Map,t=new Map,n=new Map,r=new Set,o=0,a=0;function s(i){if(i.type==="thread:run-started")return e.set(i.payload.thread.id,i.payload.runId),!0;if(i.type!=="thread:run-finished")return!0;let l=e.get(i.payload.thread.id);return l===void 0||l===i.payload.runId}return{admits(i){if(!s(i))return!1;if("thread"in i.payload)t.set(i.payload.thread.id,++o);if(i.type==="thread:deleted")r.add(i.payload.threadId);return!0},running(i,l){return n.set(i,++o),(c)=>{let d=c?.find((u)=>u.id===i);return c&&d?gr(c,{...d,isRunning:l}):c}},created(i){return t.set(i.id,++o),(l)=>gr(l??[],i)},retitled(i,l){return t.set(i,++o),(c)=>c&&Rl(c,i,l)},deleted(i){return r.add(i),(l)=>l&&ba(l,i)},async read(i){e.clear();let l=++o,c=fr(await i()),d=l<a;a=Math.max(a,l);function u(p){if(d&&p)return p;let m=new Map(c.map((f)=>[f.id,f]));for(let f of p??[]){let w=m.get(f.id);if((t.get(f.id)??0)>l)m.set(f.id,f);else if(w&&(n.get(f.id)??0)>l)m.set(f.id,{...w,isRunning:f.isRunning})}for(let f of r)m.delete(f);return fr([...m.values()])}return{listed:c,show:u}}}}function _r(e,t){for(let n in e)if(!Object.is(e[n],t[n]))return!1;return!0}function bt(e){if(e.copy)return!1;let t=(e.capabilities?.whileBusy??"refuse")!=="refuse";return e.creating||e.session.isAgentWorking&&!t}function Yt(e){let t=e.capabilities?.whileBusy??"refuse";if(!e.session.isAgentWorking||t==="refuse"||e.copy)return;return e.busyPick??t}var hr=[{busy:"steer",label:"translate_steer",hint:"translate_send_immediately"},{busy:"queue",label:"translate_queue",hint:"translate_send_after_finish"}];function yr(e){return e.capabilities?.attachments===!0&&!e.copy}function xr(e){if(e.copy)return e.session.isAgentWorking||e.selected?.isRunning===!0?"translate_subagent_placeholder":"translate_subagent_again";if(!e.session.isAgentWorking)return"translate_type_a_message";return Yt(e)==="steer"?"translate_steer_placeholder":"translate_queue_placeholder"}function et(e,t){let{capabilities:n,session:r}=e;if(e.copy)return n?.messages===!0&&Boolean(t.trim());let o=pa(e.attachments);return n!==void 0&&n.messages!==!1&&!bt(e)&&!r.awaitsApproval&&!o.busy&&(Boolean(t.trim())||o.hasReady)}function br(e){let{capabilities:t,unanswered:n}=e;if(e.session.hasPendingToolCalls)return;if(t===void 0)return n&&da[n];if(t.messages)return"composer";return t.readOnly?"translate_read_only":"translate_messages_disabled"}function vr(e){let{getConfig:t}=e,n=la(()=>t().transport),r=new Set,o=Ca(),a=ua({api:n,ensureThread:yo}),s=ya(n),i={threads:void 0,selected:void 0,session:Ue,capabilities:void 0,displayName:void 0,unanswered:void 0,attachments:a.getState(),creating:!1,busyPick:void 0,copies:s.getState(),cancelledCheckBacks:[],copy:void 0,screen:"chat",sidebarOpen:!1,debugMode:!1},l={...i,parts:Sa(i)},c=ka(C),d,u,p=0,m,f,w,T,N,I,M,U,S=[],O=!1,P=Ta(Ue),E,ne=ka(C),re=Ta(Ue),le=l;a.subscribe(()=>h({attachments:a.getState()})),s.subscribe(()=>{vn(),h({copies:s.getState()})});function C(){for(let g of r)g()}function W(g){return r.add(g),()=>{r.delete(g)}}function y(g){let x=u;return x&&(g?.find((L)=>L.id===x.id)??x)}function h(g={}){let x={...l,...g},L=P(f?.getState()??Ue,Boolean(x.capabilities?.debug)),j={...x,selected:y(x.threads),session:L,creating:m?.generation===p&&m.forMessage,busyPick:L.isAgentWorking?x.busyPick:void 0},D=Sa(j),ye={...j,parts:_r(D,l.parts)?l.parts:D},Te=!_r(ye,l);if(Te)l=ye;let kn=A(l);if(!Te&&kn===le)return;le=kn,C()}function A(g){let x=E?.session?.getState(),L={...g,selected:E?.thread,session:x?re(x,Boolean(g.capabilities?.debug)):E?Ol:Ue,attachments:Pl,creating:!1,busyPick:void 0,copy:E?.shown};return _r(L,le)?le:L}function R(g){h({threads:g(l.threads)})}function B(g,x=!1){let L=l.selected;R(g);let j=l.selected;if(j){if(x||j.isRunning&&!L?.isRunning)f?.reattach(j);else if(j.updatedAt!==L?.updatedAt)f?.transcriptUpdated(j)}K()}function K(){let g=t().thread,x=!O&&g&&l.threads?.find((L)=>L.id===g);if(!x)return;O=!0,ho(x)}async function Ye(g=!1){let x=T,L=await o.read(()=>n.listThreads()).catch(()=>{return});if(!L||!T||T!==x)return!1;return B(L.show,g),!0}function ue(){I?.(),h({capabilities:void 0,unanswered:void 0}),I=cr(()=>n.getCapabilities(),{onAnswered:(g)=>{if(h({capabilities:g,displayName:g.displayName,unanswered:void 0,debugMode:l.debugMode&&g.debug}),Kt())f?.resumeAnswers();if(g.whileBusy!=="refuse")f?.queueChanged()},onMissed:(g)=>h({unanswered:g,displayName:l.displayName??{}})})}function $t(){M?.();let g=u?.id;if(!g)return;M=va({threadId:g,listThreads:()=>n.listThreads(),selected:()=>l.selected,socketOpen:()=>T?.isOpen()??!1,setTitle:(x)=>R(o.retitled(g,x))})}function oe(g){f?.dispose(),f=void 0,w=void 0;let x=y(l.threads);if(T&&x){let L=mr({api:n,thread:x,mode:g,getHooks:()=>t().hooks,answers:Kt,whileBusy:()=>l.capabilities?.whileBusy,setRunning:(D)=>{if(D||!w)R(o.running(x.id,D))},reloadThreads:()=>Ye(),onTurnFinished:()=>{if(a.discardConsumed(),$t(),w)Ye().then((D)=>{w=void 0;let ye=l.selected;if(D&&ye?.isRunning)f?.reattach(ye)})},onSendFailed:()=>a.restoreConsumed(x.id),onReturned:c.giveBack,onMessageRefused:()=>{if(d?.session!==L||f===L)return;if(t().transport.getHeaders)return;c.giveBack(d.text),d=void 0}});f=L;let j=!1;L.subscribe(()=>{h(),gi();let D=L.getState().isAgentWorking;if(j&&!D)_i();j=D})}h()}function H(){p+=1,a.clear(u?.id),go(),h({busyPick:void 0,screen:l.screen==="copy"?"chat":l.screen})}function ce(g,x=!1){if(E?.shown.id===g)E.shown={id:g,focus:x};else go(),E={shown:{id:g,focus:x}};vn(),h({screen:"copy"}),s.read(g)}function ut(){if(l.screen==="copy")h({screen:"chat"})}function go(){E?.session?.dispose(),E=void 0,ne.set("")}function vn(){let g=E&&s.getState()[E.shown.id],x=g&&xa(g);if(!E||!x)return;let L=E.thread;if(E.thread=x,!T)return;if(!E.session)E.session=hi(E.shown.id,x);else if(x.isRunning!==L?.isRunning||x.updatedAt!==L.updatedAt)E.session.reattach(x)}function gi(){if(!E)return;let g=ft(l.session.messages,E.shown.id);if(g===E.wake)return;E.wake=g,s.read(E.shown.id)}function _i(){for(let[g,x]of Object.entries(s.getState()))if(Ke(x.status))s.read(g)}function hi(g,x){let L=mr({api:n,thread:x,mode:"load",getHooks:()=>{return},answers:()=>!1,whileBusy:()=>"steer",setRunning:(j)=>{if(!j)s.read(g)},reloadThreads:()=>s.read(g),onTurnFinished:()=>{return},onSendFailed:()=>{return},onReturned:ne.giveBack,onMessageRefused:()=>{return}});return L.subscribe(()=>{let j=s.getState()[g];if(L.getState().isAgentWorking&&j&&!Ke(j.status))s.read(g);h()}),L}function _o(){h({screen:"chat",sidebarOpen:!1})}function ho(g){if(_o(),u?.id===g.id)return;let x=l.selected;H(),u=g,oe("load");let L=t().hooks;if(x)L?.onThreadDeselected?.(x);L?.onThreadSelected?.(g)}function qt(){let g=l.selected;if(H(),u=void 0,oe("load"),g)t().hooks?.onThreadDeselected?.(g)}function yi(){qt(),_o()}async function xi(g){if(u?.id===g)qt();await n.deleteThread(g),R(o.deleted(g))}function bi(){return new Promise((g)=>{if(T)g();else S.push(g)})}function yo(g=!1){if(u)return Promise.resolve(u.id);if(m?.generation===p)m={...m,forMessage:m.forMessage||g};else{let x=p,L=()=>{if(m?.generation===x)m=void 0},j=n.createThread().then(async(D)=>{if(R(o.created(D)),await bi(),L(),p===x)u=D,oe("skip"),t().hooks?.onThreadSelected?.(D);return D.id},(D)=>{throw L(),h(),D});m={generation:x,threadId:j,forMessage:g}}return h(),m.threadId}function vi(g){let x=c.get();if(!et(l,x))return;let{busyPick:L}=l;g(x.trim()),c.set(""),h({busyPick:void 0}),bo(x,L)}function wi(g){let x=ne.get();if(!et(le,x))return;g(x.trim()),ne.set(""),xo(x)}async function xo(g){let x=E?.session,L=g.trim();return x!==void 0&&L!==""&&(x.getState().isAgentWorking?await x.sendWhileBusy(L,()=>[],"steer")==="sent":await x.send(L))?{sent:!0}:jt(g,ne)}function jt(g,x=c){return x.giveBack(g),{sent:!1,text:g}}async function bo(g,x){if(!et(l,g))return jt(g);let L=p,j=await yo(!0).catch(()=>{return}),D=f;if(!D||D.threadId!==j||p!==L)return jt(g);let ye=pe(Xe(t().locale),"translate_attachment_caption"),Te={session:D,text:g};return d=Te,await Ci(D,g.trim()||ye,x).finally(()=>{if(d===Te)d=void 0})?{sent:!0}:jt(g)}async function Ci(g,x,L){if(!g.getState().isAgentWorking)return g.send(x,()=>a.consumeReady().map(({summary:Te})=>Te));let j=p,D=[],ye=await g.sendWhileBusy(x,()=>(D=a.takeReady(),D.map(({summary:Te})=>Te)),L);if(ye!=="sent"&&p===j)a.giveBack(D,g.threadId,ye==="refused"?"ready":"error");return ye==="sent"}function ki(g){if(o.admits(g))R((x)=>{let L=wa(x??[],g);return x||L.length?L:x});switch(g.type){case"thread:deleted":if(u?.id===g.payload.threadId)qt();break;case"thread:run-started":if(g.payload.thread.id===u?.id&&l.session.isAgentWorking)w=g.payload.runId;f?.reattach(g.payload.thread);break;case"thread:run-finished":if(g.payload.runId===w)w=void 0;f?.transcriptUpdated(g.payload.thread);break;case"thread:messages-updated":f?.transcriptUpdated(g.payload.thread);break;case"thread:inputs-changed":if(g.payload.threadId===f?.threadId)f.queueChanged();break}}function Ti(){ue(),Ye(!0)}function Si(){qt(),Cn(),wn()}function wn(){if(T)return;U=n.onVisitorReplaced(Si);let g=!1;T=ca({getConfig:t,onEvent:ki,onOpen:()=>{if(g)Ti();g=!0},onFailedOpen:()=>{if(!t().transport.getHeaders)n.getCapabilities().catch(()=>{return})}}),N=cr(()=>o.read(()=>n.listThreads()),{onAnswered:({show:x})=>B(x),onMissed:(x)=>{if(x!=="unreachable")R((L)=>L??[])}}),ue(),vn(),oe("load");for(let x of S.splice(0))x()}function Cn(){if(!T)return;if(U?.(),T.close(),T=void 0,N?.(),I?.(),M?.(),E?.session?.dispose(),E)E.session=void 0;oe("load")}function Mi(){if(t().viewMode==="full")h({sidebarOpen:!0});else h({screen:"threads"})}function Ni(){if(t().viewMode==="full")h({sidebarOpen:!1});else h({screen:"chat"})}function Kt(){return l.capabilities?.messages===!0}function Ai(g,x,L){if(!Kt())return Promise.resolve();return f?.addToolResult(g,x,L)??Promise.resolve()}function Li(g,x){if(!Kt())return Promise.resolve();return f?.respondToApproval(g,x)??Promise.resolve()}let vo={api:n,getState:()=>l,getDraft:c.get,subscribe:W,start:wn,stop:Cn,setDraft:c.set,submit:bo,sendDraft:vi,abort:()=>f?.abort()??Promise.resolve(),cancelQueued:(g)=>f?.cancelQueued(g)??Promise.resolve(),async cancelCheckBack(g){let x=f?.threadId;if(!x)return;h({cancelledCheckBacks:[...l.cancelledCheckBacks,g]}),await n.cancelInput(x,g).catch(()=>h({cancelledCheckBacks:l.cancelledCheckBacks.filter((L)=>L!==g)}))},sendQueuedNow:(g)=>f?.sendQueuedNow(g)??Promise.resolve(),pickBusy:(g)=>h({busyPick:g}),readCopy:s.read,cancelCopy:s.cancel,openCopy:ce,closeCopy:ut,addToolResult:Ai,respondToApproval:Li,openThread:ho,newChat:yi,deleteThread:xi,attachFiles:a.accept,removeAttachment:a.remove,openHistory:Mi,closeHistory:Ni,toggleDebug:()=>h({debugMode:!l.debugMode}),retry:()=>{n.retrySignIn(),Cn(),wn()}},Ei={...vo,getState:()=>le,getDraft:ne.get,setDraft:ne.set,submit:xo,sendDraft:wi,abort:()=>E?.session?.abort()??Promise.resolve(),cancelQueued:(g)=>E?.session?.cancelQueued(g)??Promise.resolve(),sendQueuedNow:(g)=>E?.session?.sendQueuedNow(g)??Promise.resolve(),addToolResult:()=>Promise.resolve(),respondToApproval:()=>Promise.resolve()};return{...vo,copyScreen:Ei}}var Ol={...Ue,isLoadingMessages:!0},Pl=[];function ka(e){let t="";function n(r){if(r===t)return;t=r,e()}return{get:()=>t,set:n,giveBack:(r)=>{if(r)n(t?`${r}
|
|
6
|
+
${t}`:r)}}}function Ta(e){let t={reported:e,debug:!1,session:e};return(n,r)=>{if(n===t.reported&&r===t.debug)return t.session;let o=n.turnFailure,a=r||o?.reason===void 0?n:{...n,turnFailure:{...o,reason:void 0}};return t={reported:n,debug:r,session:a},a}}function Sa(e){let{threads:t,selected:n,capabilities:r,displayName:o,debugMode:a}=e;return{threads:t,selected:n,capabilities:r,displayName:o,debugMode:a,isWorking:e.session.isAgentWorking}}function wr(e,t,n,r){let o=Xe(n.locale),a=t.capabilities?.readOnly===!1?{newChat:e.newChat,deleteThread:(l)=>void e.deleteThread(l)}:void 0,s=t.displayName===void 0?"":$e(t.displayName,o)??pe(o,"translate_new_chat");function i(l){return{screen:l,viewMode:n.viewMode??"helper",title:t.selected?.title??s,threadCount:t.threads?.length,isWorking:t.isWorking,debug:{shown:Boolean(t.capabilities?.debug),on:t.debugMode},newChat:a?.newChat,openHistory:e.openHistory,closeHistory:e.closeHistory,toggleDebug:e.toggleDebug}}return{chatHeader:i("chat"),threadsHeader:i("threads"),landing:{...ta(t.capabilities,o,(l)=>void e.submit(l)),threads:t.threads,composer:r,openThread:e.openThread,openHistory:e.openHistory},threadList:{threads:t.threads,selectedThreadId:t.selected?.id,openThread:e.openThread,...a}}}var Ma="allow-scripts allow-forms allow-popups";function Ul(e,t){try{return e.contentWindow?.location.origin===t}catch{return!1}}function Cr(e){let t=e.host.location.origin,n=!1,r=!1,o,a=!1,s;function i(p){if(!n)e.onState(p)}function l(){if(n)return;r=!1,i({phase:"error"})}function c(p){if(n||r)return;r=!0,i({phase:"settling"});try{let m=e.submit(p);if(m instanceof Promise)m.catch(l)}catch{l()}}function d(p){if(!o)return;if(s===void 0||p.source!==s)return;let m=Co(p.data,p.origin,o);if(!m)return;c({status:m.status,reference:m.reference,result:m.result})}function u(){if(n||r)return;o=void 0,s=void 0,i({phase:"error"})}return e.host.addEventListener("message",d),{async start(){i({phase:"initiating"});try{let p=await e.initiate(),m=new URL(p.embedUrl);if(!/^https?:$/.test(m.protocol)){i({phase:"error"});return}let f=m.origin===t;a=f&&e.trustSameOrigin===!0,o=p.embedOrigin,i({phase:"embedded",embedUrl:p.embedUrl,surface:p.surface,sandbox:f&&!a?Ma:`${Ma} allow-same-origin`})}catch(p){let m=p instanceof Se&&p.status===404;i({phase:m?"unavailable":"error"})}},setSource(p){if(p!==null&&p!==void 0)s=p},frameLoaded(p){if(!a&&Ul(p,t))u()},cancel(){c({status:"cancelled"})},dispose(){n=!0,e.host.removeEventListener("message",d)}}}async function vt(e,t){let n=await import("leaflet"),r=!t.interactive,o=n.map(e,{center:t.center,zoom:t.zoom,zoomControl:!r,dragging:!r,scrollWheelZoom:!r,doubleClickZoom:!r,touchZoom:!r,boxZoom:!r,keyboard:!r});n.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(o);let a=new ResizeObserver(()=>o.invalidateSize());return a.observe(e),{leaflet:n,map:o,dispose(){a.disconnect(),o.remove()}}}var Xt={position:void 0,locating:!1,locateFailed:!1,mapFailed:!1,submitting:!1,deliveryFailed:!1},Wl={center:{lat:20,lng:0},zoom:2},Hl=13,Aa=16,Bl=1e4;function kr(e,t){let n=Xt,r=!1,o=!1,a,s,i,l=0;function c(m){if(n={...n,...m},!r)t.onState(n)}function d(){let m=n.position;if(!a||!m)return;let{leaflet:f,map:w}=a;if(s)s.setLatLng(m);else{let T=f.marker(m,{draggable:!n.submitting}).addTo(w);T.on("dragend",()=>{let{lat:N,lng:I}=T.getLatLng();u({lat:N,lng:Na(I)})}),s=T}i?.remove(),i=m.accuracy?f.circle(m,{radius:m.accuracy}).addTo(w):void 0}function u(m){if(n.submitting)return;l+=1,c({position:m,locating:!1,locateFailed:!1}),d()}function p(m){if(r||o)return;o=!0,l+=1,s?.dragging?.disable(),c({submitting:!0,locating:!1,deliveryFailed:!1});let f=()=>{o=!1,s?.dragging?.enable(),c({submitting:!1,deliveryFailed:!0})};try{let w=t.submit(m);if(w instanceof Promise)w.catch(f)}catch{f()}}return{async start(){let m=t.center?{center:t.center,zoom:Hl}:Wl,f;try{f=await vt(e,{...m,interactive:!0})}catch{c({mapFailed:!0});return}if(r){f.dispose();return}a=f,f.map.on("click",(w)=>u({lat:w.latlng.lat,lng:Na(w.latlng.lng)})),d()},locate(){if(n.locating||n.submitting)return;if(!navigator.geolocation){c({locateFailed:!0});return}l+=1;let m=l;c({locating:!0,locateFailed:!1}),navigator.geolocation.getCurrentPosition(({coords:f})=>{if(r||m!==l)return;let w={lat:f.latitude,lng:f.longitude,accuracy:Math.round(f.accuracy)};u(w),a?.map.setView(w,Aa)},()=>{if(m===l)c({locating:!1,locateFailed:!0})},{enableHighAccuracy:!0,timeout:Bl})},confirm(){if(n.position)p({status:"completed",result:n.position})},cancel(){p({status:"cancelled"})},dispose(){r=!0,a?.dispose()}}}function Tr(e,t,n){let r=!1,o;return vt(e,{center:t,zoom:Aa,interactive:!1}).then((a)=>{if(r){a.dispose();return}o=a.dispose,a.leaflet.marker(t).addTo(a.map)},()=>{if(!r)n()}),()=>{r=!0,o?.()}}function Na(e){if(e>=-180&&e<=180)return e;return((e+180)%360+360)%360-180}function La(e){if(!e||typeof e!=="object")return!1;let{lat:t,lng:n}=e;return typeof t==="number"&&typeof n==="number"&&Math.abs(t)<=90&&Math.abs(n)<=180}function Sr(e){let t=e&&typeof e==="object"?e.center:void 0;return La(t)?t:void 0}function Mr(e){if(!e||typeof e!=="object")return;let{status:t,result:n}=e;if(t!=="completed"||!La(n))return;let{accuracy:r}=n;return{...n,...typeof r==="number"?{accuracy:r}:{}}}function Zt(e){let t=`${e.lat.toFixed(4)}, ${e.lng.toFixed(4)}`;return e.accuracy?`${t} ±${e.accuracy} m`:t}function Nr(e){if(e.locating)return{key:"translate_location_locating",failed:!1};if(e.deliveryFailed)return{key:"translate_location_send_failed",failed:!0};if(e.locateFailed)return{key:"translate_location_locate_failed",failed:!0};if(e.mapFailed)return{key:"translate_location_map_failed",failed:!0};return{key:"translate_location_hint",failed:!1}}var en={phase:"asking",failed:!1},Fl=2000,Dl="popup,width=520,height=720";function Ar(e,t){let n=qe(e)?.connect,r=Ce(e.input,"server");if(!n||!r)return;let o=Object.hasOwn(n.servers,r)?n.servers[r]:void 0;return{startUrl:n.startUrl,agent:n.agent,server:r,label:(o&&$e(o.displayName,t))??r,moreAccess:o?.scope!==void 0}}function Lr(e){let t=e.output,n=Ie(t)?t.status:void 0;return{glyph:n==="completed"?"complete":n==="cancelled"&&e.state!=="error"?"declined":"error",titleKey:n==="completed"?"translate_connect_connected":"translate_connect_not_connected"}}var $l={connect:{titleKey:"translate_connect_title",reasonKey:"translate_connect_reason",actionKey:"translate_connect_button"},moreAccess:{titleKey:"translate_connect_more_title",reasonKey:"translate_connect_more_reason",actionKey:"translate_connect_more_button"}};function Er(e,t){let n=e.phase!=="signingIn",{titleKey:r,reasonKey:o,actionKey:a}=$l[t?"moreAccess":"connect"];return{asking:n,titleKey:r,lineKey:!n?"translate_connect_waiting":e.failed?"translate_connect_failed":o,actionKey:a,failed:n&&e.failed,dismissKey:n?"translate_connect_not_now":"translate_client_tool_cancel",disabled:e.phase==="sending"}}function ql(e){return new Headers(e).get("Authorization")?.replace(/^Bearer\s+/i,"")||void 0}function jl(e,t){return new Promise((n)=>{let r=()=>{clearTimeout(o),t.removeEventListener("abort",r),n()},o=setTimeout(r,e);t.addEventListener("abort",r,{once:!0})})}function Rr(e){let{call:t,host:n}=e,r=en,o=new AbortController,a,s=0;function i(m){if(r={...r,...m},!o.signal.aborted)e.onState(r)}function l(){if(!a)return;a.reads.abort(),clearTimeout(a.expiry),a.window.close(),a=void 0}function c(m){if(o.signal.aborted||r.phase==="sending")return;l(),i({phase:"sending",failed:!1});let f=()=>i({phase:"asking",failed:!0});try{let w=e.submit(m);if(w instanceof Promise)w.catch(f)}catch{f()}}function d(m,f){let{document:w}=n,T={token:f,agent:t.agent,server:t.server,threadId:e.threadId,toolCallId:e.toolCallId},N=Object.assign(w.createElement("form"),{method:"POST",action:t.startUrl,target:m,hidden:!0});N.append(...Object.entries(T).map(([I,M])=>Object.assign(w.createElement("input"),{type:"hidden",name:I,value:M}))),w.body.append(N),N.submit(),N.remove()}async function u(m){let f=await e.api.accountConnection(t.server,e.toolCallId,m).catch(()=>{return});if(!f||m.aborted)return;if(f.status==="connected")c({status:"completed"});else if(f.status==="refused")c({status:"failed"})}async function p(m,f){let w=await e.api.resolveHeaders().catch(()=>{return});if(f.aborted)return;let T=w&&ql(w);if(!T){l(),i({phase:"asking",failed:!0});return}d(m,T);while(!f.aborted)if(await jl(Fl,f),!f.aborted)await u(f)}return u(o.signal),{connect(){if(o.signal.aborted||r.phase!=="asking")return;s+=1;let m=`cortex-sign-in-${e.toolCallId}-${s}`,f=n.open("",m,Dl);if(!f){i({failed:!0});return}f.opener=null;let w=new AbortController,T=setTimeout(()=>c({status:"failed"}),wo);a={window:f,expiry:T,reads:w},i({phase:"signingIn",failed:!1}),p(m,w.signal)},cancel(){c({status:"cancelled"})},dispose(){o.abort(),l()}}}import{marked as Kl}from"marked";import zl from"dompurify";function wt(e,t=[]){if(!e)return"";let n=document.createElement("template");if(n.innerHTML=Kl.parse(e,{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'),Gl(n.content),t.length)Ql(n.content,t);return zl.sanitize(n.innerHTML,{FORBID_TAGS:["img","picture","source"]})}var Vl=/[\p{Script=Arabic}\p{Script=Hebrew}]/u;function Gl(e){for(let t of Array.from(e.children))if(t.localName!=="div")t.setAttribute("dir","auto");e.querySelectorAll("table").forEach((t)=>{let n=/\p{L}/u.exec(t.textContent??"")?.[0];if(!n)return;let r=Vl.test(n)?"rtl":"ltr";if(t.setAttribute("dir",r),t.parentElement?.childElementCount===1)t.parentElement.setAttribute("dir",r)}),e.querySelectorAll("th, td").forEach((t)=>t.setAttribute("dir","auto")),e.querySelectorAll("pre").forEach((t)=>t.setAttribute("dir","ltr"))}function Ql(e,t){let n=[...t].sort((a,s)=>a.length-s.length),r=n[n.length-1]?.length??0,o=0;for(let a of Jl(e)){if(o>=r)break;a.replaceWith(...Yl(a.data,o,n)),o+=a.data.length}}function Jl(e){let t=document.createTreeWalker(e,4),n=[];for(let r=t.nextNode();r;r=t.nextNode())if(r.data.trim())n.push(r);return n.reverse()}function Yl(e,t,n){let r=[],o=e.length;for(let a of n){if(a.length<=t)continue;if(o<=0)break;let s=Math.min(o,a.length-t);if(s<o&&/[\uDC00-\uDFFF]/.test(e.charAt(o-s)))s+=1;let i=document.createElement("span");i.className="cortex-stream-fade",i.style.animationDelay=`-${a.age}ms`,i.textContent=e.slice(o-s,o),r.unshift(i),o-=s,t+=s}if(o>0)r.unshift(document.createTextNode(e.slice(0,o)));return r}import{marked as Oa}from"marked";var Ea=/^ {0,3}(`{3,}|~{3,})(.*)$/;function Ra(){let e=null;return(t)=>{let n=Ea.exec(t),r=n?.[1],o=n?.[2]??"";if(r){let a=r.charAt(0);if(e){if(a===e.marker&&r.length>=e.length&&o.trim()==="")return e=null,"close";return"inside"}if(a==="`"&&o.includes("`"))return"outside";return e={marker:a,length:r.length},"open"}return e?"inside":"outside"}}function Ia(e){return Ea.exec(e)?.[2]?.trim().split(/\s+/)[0]??""}var Xl=/^\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 Ir(e,t){if(t.role!=="assistant")return[{kind:"markdown",text:e}];return Zl(e,t.languages).map((n)=>{switch(n.kind){case"table":return{...n,closed:n.closed||!t.arriving};case"attachment":return{...n,attachment:t.attachments?.find((r)=>r.id.toLowerCase()===n.id)};default:return n}})}function Zl(e,t){let n=[],r=[],o=null;function a(c=!1){if(r.length)n.push(...tc(r.join(`
|
|
7
|
+
`),c));r=[]}function s(c){if(o)n.push({kind:"media",...o,source:o.source.join(`
|
|
8
|
+
`),closed:c});o=null}let i=Ra(),l=e.split(`
|
|
9
|
+
`);for(let[c,d]of l.entries()){let u=i(d);if(o){if(u==="close")s(!0);else o.source.push(d);continue}if(u==="open"&&c===l.length-1)break;let p=ec(d,u,t);if(!p){r.push(d);continue}if(a(),p.kind==="media")o={language:p.language,source:[]};else n.push(p)}return s(!1),a(!0),n}function ec(e,t,n){if(t==="open"){let o=Ia(e),a=n.find((s)=>s===o);return a?{kind:"media",language:a}:void 0}let r=t==="outside"?Xl.exec(e):null;return r?{kind:"attachment",alt:r[1]??"",id:(r[2]??"").toLowerCase()}:void 0}function tc(e,t){let n=Oa.lexer(e);if(!n.some((d)=>d.type==="table"))return[{kind:"markdown",text:e}];let r=[];Oa.walkTokens(n,(d)=>{if(d.type==="def")r.push(d.raw.trim())});let o=r.join(`
|
|
7
10
|
`),a=(d)=>o?`${o}
|
|
8
11
|
|
|
9
|
-
${d}`:d,
|
|
10
|
-
`));return(t.textContent??"").trim()}function
|
|
12
|
+
${d}`:d,s=[],i="";function l(){if(i.trim())s.push({kind:"markdown",text:a(i)});i=""}let c=n.filter((d)=>d.type!=="def");for(let[d,u]of c.entries()){if(u.type!=="table"){i+=u.raw;continue}l();let p=c.slice(d+1).some((m)=>m.raw.trim()!=="");s.push({kind:"table",text:a(u.raw.trimEnd()),closed:p||!t})}return l(),s}function tn(e,t){let n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.append(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),40000)}var nc=/^-?(?:0|[1-9]\d*)(?:\.\d*[1-9])?$/;function rc(e){return nc.test(e)&&e!=="-0"&&e.replace(/[-.]/g,"").replace(/^0/,"").length<=15}var oc=32767,Pa=new TextEncoder;function Or(e){let t=e.querySelector("table");if(t)tn(ic(ac(t)),"table.xlsx")}function ac(e){return Array.from(e.rows,(t)=>Array.from(t.cells,sc))}function sc(e){let t=e.cloneNode(!0);if(t instanceof Element)t.querySelectorAll("br").forEach((n)=>n.replaceWith(`
|
|
13
|
+
`));return(t.textContent??"").trim()}function ic(e){return new Blob([fc(uc(e))],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}function lc(e){return e.replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\ufffe\uffff]/g,"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/_(x[0-9a-f]{4}_)/gi,"_x005F_$1")}function cc(e){let t="";for(let n=e+1;n>0;n=Math.floor((n-1)/26))t=String.fromCharCode(65+(n-1)%26)+t;return t}function dc(e){return`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><sheetData>${e.map((n,r)=>{let o=n.map((a,s)=>{let i=`${cc(s)}${r+1}`,l=r===0?' s="1"':"";return r>0&&rc(a)?`<c r="${i}"${l}><v>${a}</v></c>`:`<c r="${i}"${l} t="inlineStr"><is><t xml:space="preserve">${lc(a.slice(0,oc))}</t></is></c>`}).join("");return`<row r="${r+1}">${o}</row>`}).join("")}</sheetData></worksheet>`}function uc(e){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:dc(e)}]}var pc=Array.from({length:256},(e,t)=>{let n=t;for(let r=0;r<8;r++)n=n&1?3988292384^n>>>1:n>>>1;return n>>>0});function mc(e){let t=4294967295;for(let n of e)t=(pc[(t^n)&255]??0)^t>>>8;return(t^4294967295)>>>0}function fc(e){let t=[],n=[],r=0;for(let c of e){let d=Pa.encode(c.name),u=Pa.encode(c.text),p=mc(u),m=new DataView(new ArrayBuffer(30));m.setUint32(0,67324752,!0),m.setUint16(4,20,!0),m.setUint16(6,2048,!0),m.setUint32(14,p,!0),m.setUint32(18,u.length,!0),m.setUint32(22,u.length,!0),m.setUint16(26,d.length,!0),t.push(new Uint8Array(m.buffer),d,u);let f=new DataView(new ArrayBuffer(46));f.setUint32(0,33639248,!0),f.setUint16(4,20,!0),f.setUint16(6,20,!0),f.setUint16(8,2048,!0),f.setUint32(16,p,!0),f.setUint32(20,u.length,!0),f.setUint32(24,u.length,!0),f.setUint16(28,d.length,!0),f.setUint32(42,r,!0),n.push(new Uint8Array(f.buffer),d),r+=30+d.length+u.length}let o=n.reduce((c,d)=>c+d.length,0),a=new DataView(new ArrayBuffer(22));a.setUint32(0,101010256,!0),a.setUint16(8,e.length,!0),a.setUint16(10,e.length,!0),a.setUint32(12,o,!0),a.setUint32(16,r,!0);let s=[...t,...n,new Uint8Array(a.buffer)],i=new Uint8Array(s.reduce((c,d)=>c+d.length,0)),l=0;for(let c of s)i.set(c,l),l+=c.length;return i}function Pr(e,t,n){let r=!1,o;return n({url:void 0,failed:!1}),e.downloadAttachment(t).then(({blob:a})=>{if(r)return;o=URL.createObjectURL(a),n({url:o,failed:!1})},()=>{if(!r)n({url:void 0,failed:!0})}),()=>{if(r=!0,o)URL.revokeObjectURL(o)}}async function Ur(e,t){let n=await e.downloadAttachment(t).catch(()=>{return});if(n)tn(n.blob,n.name)}var Ha=new Set(["flatten","fold","density","impute","regression","loess","quantile","sample"]),gc=`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: ${[...Ha,"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 Ba(e,t){if(e==="url")return"Charts may only use inline data and no URLs.";if(e==="sequence"||e==="graticule")return"Charts may only use inline data.";if(Ha.has(e))return"Charts may not use transforms that generate rows.";if(e==="params"||e==="selection"||e==="signals"||e==="on")return"Charts may not be interactive.";if(e==="expr")return"Charts may not carry expressions.";if(_c.has(e)&&typeof t==="string"&&!hc(t))return"Charts may only use simple expressions over datum.";if(e==="usermeta")return"Charts may not carry usermeta.";if(typeof t==="string"&&nn(t))return"Charts may not reference URLs.";if((e==="width"||e==="height")&&yc(t)>4000)return"Charts may be at most 4000 pixels wide or tall.";return}var _c=new Set(["calculate","filter","test","signal","labelExpr"]),Ua=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 hc(e){if(e.length>500||/[\\`]/.test(e))return!1;let t=e.replace(/'[^']*'|"[^"]*"/g,'""');for(let[,r]of t.matchAll(/([A-Za-z_$][\w$]*)\s*\(/g))if(!Ua.has(r??""))return!1;let n=t.replace(/(datum|parent)(\s*\.[\w$]+|\s*\[\s*""\s*\])+|\b\d[\w.]*/g,"").matchAll(/[A-Za-z_$][\w$]*/g);for(let[r]of n)if(!Ua.has(r)&&!["true","false","null"].includes(r))return!1;return!0}function yc(e){if(typeof e==="number")return e;let t=e?.step;return typeof t==="number"?t:0}function Wa(e,t){let n=e?.features,r=Array.isArray(e)?e.length:Array.isArray(n)?n.length:-1;if(r<0)return Ba(t,e)??Hr(Wr(e,t),Ct);return r>200?"Charts may hold at most 200 rows.":void 0}function Ct(e,t=""){if(t==="values")return Wa(e,t);if(t==="datasets")return Hr(Wr(e),Wa);return Ba(t,e)??Hr(Wr(e,t),(n,r)=>Ct(n,r))}function Wr(e,t=""){if(Array.isArray(e))return e.map((n)=>[t,n]);return e&&typeof e==="object"?Object.entries(e):[]}function Hr(e,t){for(let[n,r]of e){let o=t(r,n);if(o)return o}return}var Fa=/url\(([^)]*)\)/gi,Br="src|image|image-set|-webkit-image-set|cross-fade|element",Fr=new RegExp(String.raw`\b(url|${Br})\(`,"i"),xc=new RegExp(String.raw`\b(${Br})\(`,"i"),bc=new RegExp(String.raw`\b(${Br})\([^)]*\)`,"gi"),vc=/\\([0-9a-f]{1,6})\s?|\\(.)/gi,wc=/@import[^;]*;?/gi;function Cc(e){return e.replace(vc,(t,n,r)=>{if(!n)return r??"";let o=parseInt(n,16),a=o===0||o>=55296&&o<=57343||o>1114111;return String.fromCodePoint(a?65533:o)})}function Da(e){return e.trim().replace(/^(['"])(.*)\1$/s,"$2").trim()}function nn(e){if(e.includes("\\")||xc.test(e))return!0;for(let[,t]of e.matchAll(Fa))if(!Da(t??"").startsWith("#"))return!0;return!1}function Dr(e){return Cc(e).replaceAll("\\"," ").replace(wc," ").replace(bc,"none").replace(Fa,(t,n)=>Da(n).startsWith("#")?t:"none")}var kc=new Set(["src","srcset","poster","background","action","formaction","ping"]);function kt(e){for(let t of[e,...e.querySelectorAll("*")]){for(let n of[...t.attributes])if(kc.has(n.name)||(n.name==="href"||n.name==="xlink:href")&&t.localName!=="a"&&!n.value.trim().startsWith("#")||nn(n.value))t.removeAttribute(n.name);if(t.localName==="style"&&t.textContent)t.textContent=Dr(t.textContent)}}var Tc=`
|
|
11
14
|
@layer {
|
|
12
15
|
:host {
|
|
13
16
|
display: block !important;
|
|
@@ -185,8 +188,8 @@ ${d}`:d,i=[],s="";function l(){if(s.trim())i.push({kind:"markdown",text:a(s)});s
|
|
|
185
188
|
display: block;
|
|
186
189
|
}
|
|
187
190
|
}
|
|
188
|
-
`,
|
|
189
|
-
${t}`;return await r.parse(c),(await r.render(`cortex-mermaid-${
|
|
190
|
-
`).find((n)=>/\S/.test(n)&&!/^\s*%%/.test(n));return/^\s*(\S+)/.exec(t??"")?.[1]??""}function
|
|
191
|
+
`,Sc=/(["'])(?:(?!\1)[^\n\r\f])*\1?|\/\*[\s\S]*?(?:\*\/|$)/g;function Mc(e){return/:host|@(-[a-z]+-)?keyframes|@property/i.test($a(e))}function $a(e){return e.replace(Sc,(t)=>t.startsWith("/*")?"":t)}async function qa(e){let{default:t}=await import("dompurify"),n=t.sanitize(e,{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"]}),r=n.ownerDocument.createElement("div");r.append(n);for(let o of r.querySelectorAll("[style]"))Ac(o);kt(r);for(let o of r.querySelectorAll("style"))if(Mc(o.textContent??""))o.remove();return r}var Nc=/^(-[a-z]+-)?(animation|transition)/i;function Ac(e){let t=$a(e.getAttribute("style")??"").split(";");e.setAttribute("style",t.filter((n)=>!Nc.test(n.trim())).join(";"))}function ja(e,t,n,r){let o=document.createElement("style");o.textContent=Tc,t.className="cortex-report",e.attachShadow({mode:"open"}).append(o,t);let a=[...t.querySelectorAll("figure[data-chart]")].map((s)=>{let{box:i,spec:l}=Lc(s);return n(i,l,()=>{let c=document.createElement("p");c.className="cortex-report-chart-failed",c.textContent=r,i.append(c)})});return()=>{for(let s of a)s()}}function Lc(e){let t=[...e.childNodes].filter((o)=>o.nodeName!=="FIGCAPTION"),n=document.createElement("div");e.insertBefore(n,t.find((o)=>o.textContent?.trim())??null);for(let o of t)o.remove();let r=t.map((o)=>o.textContent).join("");return{box:n,spec:Ec.exec(r)?.[2]??r}}var Ec=/^\s*(`{3,}|~{3,})[^\n]*\n([\s\S]*?)\n\s*\1\s*$/;var Qa={async mermaid(e,t,{scheme:n}){let[{default:r},{default:o}]=await Promise.all([import("mermaid"),import("dompurify")]);if(Fr.test(t)||t.includes("\\"))throw Error("Diagrams may not reference URLs.");if(/%%\{/.test(t))throw Error("Diagrams may not carry init directives.");if(/^\s*---\s*$/m.test(t))throw Error("Diagrams may not carry frontmatter.");if(/\bimg\s*:/.test(t))throw Error("Diagrams may not embed images.");let a=Oc(t);if(!Ic.test(a))throw Error(`Unsupported diagram type: ${a}`);let s=Ka.then(async()=>{if(!za)r.initialize({startOnLoad:!1,securityLevel:"strict",htmlLabels:!1}),za=!0;let c=`%%{init: {"theme": "${n==="dark"?"dark":"default"}"}}%%
|
|
192
|
+
${t}`;return await r.parse(c),(await r.render(`cortex-mermaid-${Bc()}`,c,e)).svg});Ka=s.catch(()=>{return});let i=await s,l=document.createElement("div");return l.innerHTML=o.sanitize(i,{USE_PROFILES:{svg:!0,svgFilters:!0}}),kt(l),e.replaceChildren(...l.childNodes),()=>{e.innerHTML=""}},async "vega-lite"(e,t,{scheme:n}){let r=JSON.parse(t),o=Ct(r);if(o)throw Error(o);if(!r||typeof r!=="object"||Array.isArray(r))throw Error("A chart needs a JSON object.");let a=r,[{default:s},i]=await Promise.all([import("vega-embed"),import("vega")]),l=()=>Promise.reject(Error("Charts may only use inline data."));async function c(N){let I=document.createElement("div"),M=await s(I,Wc(a,N),{actions:!1,renderer:"svg",mode:"vega-lite",loader:{...i.loader(),load:l,sanitize:l},ast:!0,...n==="dark"?{theme:"dark"}:{},config:{background:"transparent"}});return kt(I),{drawing:I,result:M,width:N}}let d=await c(e.clientWidth);e.replaceChildren(d.drawing);let u=!1,p,m=0;function f(){p??=(async()=>{let N=e.clientWidth;while(!u&&N>0&&N!==d.width&&N!==m){try{let I=await c(N);if(u){I.result.finalize();return}d.result.finalize(),d=I,e.replaceChildren(I.drawing)}catch{m=N}N=e.clientWidth}})().finally(()=>{p=void 0})}let w=new ResizeObserver(f);if(Ja(a))w.observe(e);function T(){let N=document.getElementById(Hc),I=Ya(e)??document.body;if(N&&N.parentElement!==I)I.append(N)}return e.addEventListener("pointermove",T),()=>{u=!0,w.disconnect(),e.removeEventListener("pointermove",T),d.result.finalize()}},async map(e,t){let n=Fc(JSON.parse(t)),{leaflet:r,map:o,dispose:a}=await vt(e,{...n,interactive:!0});for(let s of n.markers){let i=r.marker(s.position).addTo(o);if(s.label){let l=document.createElement("span");l.textContent=s.label,i.bindTooltip(l)}}return a},async report(e,t,n){let r=await qa(t);return ja(e,r,(o,a,s)=>on(o,{language:"vega-lite",source:a,context:n,overrides:void 0,onError:s}),pe(n.locale,"translate_media_failed"))}},Rc={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 rn(e){return Rc[e]??{title:"translate_media",pending:"translate_media_pending"}}function qr(e){return Object.keys({...Qa,...e})}function on(e,t){let{language:n,source:r,context:o,overrides:a,onError:s}=t,i=e.appendChild(document.createElement("div")),l=a?.[n]??Qa[n],c,d=!1;return(l?l(i,r,o):Promise.reject(Error(`No renderer for ${n}.`))).then((p)=>{if(d)p();else c=p},(p)=>{if(!d)s(p instanceof Error?p.message:String(p))}),()=>{d=!0,c?.(),i.remove()}}var Ic=/^(flowchart|graph|sequenceDiagram|stateDiagram(-v2)?|erDiagram|gantt|pie|classDiagram|journey|timeline|mindmap)$/;function Oc(e){let t=e.split(`
|
|
193
|
+
`).find((n)=>/\S/.test(n)&&!/^\s*%%/.test(n));return/^\s*(\S+)/.exec(t??"")?.[1]??""}function $r(e){return e===void 0||e==="container"}var Pc=["row","column","facet"];function Ja(e){let t=e.encoding,n=typeof t==="object"&&t!==null&&Pc.some((r)=>(r in t));return(("mark"in e)||("layer"in e))&&$r(e.width)&&!n}function Uc(e){let t={...e};if($r(t.width))delete t.width;if($r(t.height))delete t.height;return t}function Wc(e,t){let n=Uc(e);if(t<=0||!Ja(e))return n;return{...n,width:t,height:n.height??Math.round(Math.min(480,Math.max(200,t/2))),autosize:n.autosize??{type:"fit",contains:"padding"}}}var Hc="vg-tooltip-element";function Ya(e){let t=e.getRootNode();return e.closest("dialog")??(t instanceof ShadowRoot?Ya(t.host):null)}var Ka=Promise.resolve(),za=!1,Va=0;function Bc(){return Va+=1,Va}function Fc(e){if(!e||typeof e!=="object")throw Error("A map needs a JSON object.");let t=e,n=t.zoom??10;if(typeof n!=="number"||n<0||n>22)throw Error("zoom must be 0 to 22.");let r=t.markers??[];if(!Array.isArray(r))throw Error("markers must be a list.");return{center:Ga(t.center,"center"),zoom:n,markers:r.map((o,a)=>{let s=o??{},i=s.label;return{position:Ga(s.position,`markers[${a}].position`),label:typeof i==="string"?i:void 0}})}}function Ga(e,t){let n=Array.isArray(e)?e:[],[r,o]=n;if(typeof r!=="number"||typeof o!=="number"||Math.abs(r)>90||Math.abs(o)>180)throw Error(`${t} must be [latitude, longitude].`);return{lat:r,lng:o}}function jr(e,t){if(e!=="system")return t(e??"light"),()=>{};let n=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>t(n.matches?"dark":"light");return r(),n.addEventListener("change",r),()=>n.removeEventListener("change",r)}import an from"highlight.js/lib/core";import Dc from"highlight.js/lib/languages/javascript";import $c from"highlight.js/lib/languages/json";var Xa=!1;function qc(){if(Xa)return;Xa=!0,an.registerLanguage("javascript",Dc),an.registerLanguage("json",$c)}function Kr(e,t){if(!e)return"";return qc(),an.getLanguage(t)?an.highlight(e,{language:t}).value:jc(e)}function jc(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function tt(e){if(typeof e==="string"){let t=e.trim();if(!(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]")))return e;try{return tt(JSON.parse(t))}catch{return e}}if(Array.isArray(e))return e.map((t)=>tt(t));if(e!==null&&typeof e==="object"){let t={};for(let[n,r]of Object.entries(e))t[n]=tt(r);return t}return e}function zr(e,t){if(Array.isArray(e)){let n=e;return{kind:"container",open:"[",close:"]",summary:Za(n.length,"item","items"),entries:n.map((r,o)=>({key:null,value:r,path:`${t}[${o}]`}))}}if(e!==null&&typeof e==="object"){let n=Object.entries(e);return{kind:"container",open:"{",close:"}",summary:Za(n.length,"property","properties"),entries:n.map(([r,o])=>({key:r,value:o,path:`${t}.${r}`}))}}return{kind:"primitive",text:Kc(e),className:zc(e)}}function Za(e,t,n){return`${e} ${e===1?t:n}`}function Kc(e){if(e===null||e===void 0)return"null";if(typeof e==="string")return JSON.stringify(e);if(typeof e==="number"||typeof e==="boolean")return String(e);return JSON.stringify(e)??"null"}function zc(e){if(e===null||e===void 0)return"cortex-json-tree__null";if(typeof e==="string")return"cortex-json-tree__string";if(typeof e==="number")return"cortex-json-tree__number";if(typeof e==="boolean")return"cortex-json-tree__boolean";return""}function Vr(e){if(!e)return null;try{return JSON.parse(e)}catch{return e}}function Gr(e){if(!e)return"";try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function me(e,t,n=Date.now()){let r=new Date(e);if(Number.isNaN(r.getTime()))return"";let o=r.toDateString()===new Date(n).toDateString();return new Intl.DateTimeFormat(t,{...o?{}:{dateStyle:"medium"},timeStyle:"short"}).format(r)}class ze{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(e){this.onUpdate=e}follow(e,t){let n=!this.followed;if(this.followed=!0,n||!t){this.stopAnimation(),this.show(e);return}if(this.fullText=e,this.displayedLength=Math.min(this.displayedLength,e.length),this.releases=this.releases.filter((r)=>r.from<this.displayedLength),!this.animationFrameId)this.scheduleFrame()}destroy(){this.stopAnimation()}show(e){this.fullText=e,this.displayedLength=e.length,this.releases=[],this.onUpdate(e,[])}scheduleFrame(){this.animationFrameId=requestAnimationFrame((e)=>this.tick(e))}tick(e){let t=this.fullText.length-this.displayedLength;if(t<=0){this.animationFrameId=null;return}let n=Math.max(ze.MIN_CHARS_PER_FRAME,Math.ceil(t*ze.DRAIN_FRACTION));if(this.releases=this.releases.filter((r)=>e-r.at<ze.FADE_WINDOW_MS),this.releases.push({from:this.displayedLength,at:e}),this.displayedLength=Math.min(this.fullText.length,this.displayedLength+n),this.onUpdate(this.fullText.substring(0,this.displayedLength),this.releases.map((r)=>({length:this.displayedLength-r.from,age:e-r.at}))),this.displayedLength<this.fullText.length)this.scheduleFrame();else this.animationFrameId=null}stopAnimation(){if(this.animationFrameId)cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null}}function es(){let e=new Map;return(t,n)=>{let r=new Map;for(let[o,a]of Vc(t,n)){let s=e.get(o);r.set(o,s&&Qc(s,a)?s:a)}return e=r,r}}function Vc(e,t){let n=new Map;if(t.debugMode)return n;let o=t.agentWorking||Oe(e).length>0?Gc(e):e,a=[];function s(){let i=a[0]?.part.id;if(a.length>1&&i&&!t.opened.has(i))for(let[l,{messageId:c,part:d}]of a.entries()){let u=n.get(c)??new Map;n.set(c,u);let p=l===a.length-1;u.set(d,p?{kind:"more",count:a.length-1,runId:i}:{kind:"hidden"})}a=[]}for(let i of o){if(i.role!=="assistant"){s();continue}let l=je(i.parts,{debugMode:!1,isStreaming:!1});for(let c of l)if(c.type==="tool-call"&&ae(c.state)&&t.foldable(c))a.push({messageId:i.id,part:c});else s()}return s(),n}function Gc(e){let t=e.map((n)=>n.role).lastIndexOf("user");return t<0?[]:e.slice(0,t)}function Qc(e,t){if(e.size!==t.size)return!1;for(let[n,r]of e){let o=t.get(n);if(!o||o.kind!==r.kind)return!1;if(r.kind==="more"&&o.kind==="more"){if(r.count!==o.count||r.runId!==o.runId)return!1}}return!0}var Qr={agent:"translate_subagent_from_agent",you:"translate_subagent_you"};function Jr(){let e=es();return(t,n)=>{let r=(p)=>jo(p,n),o=e(t,{...n,foldable:r}),a=n.agentWorking?On(t)?.id:void 0,s=n.agentWorking&&!n.debugMode,i=s?Jc(t,{foldable:r}):void 0,l=t.map((p)=>p.role),c=l.lastIndexOf("user"),d=n.copyThread?l.indexOf("user"):-1;return{rows:t.map((p,m)=>({message:p,isStreaming:p.id===a,closesTurn:p.role==="assistant"&&t[m+1]?.role!=="assistant",workingTurn:s&&m>c,frontier:p.id===a?i:void 0,fold:o.get(p.id),sender:n.copyThread&&p.role==="user"?m===d?"agent":"you":void 0})),thinking:n.agentWorking&&!i}}}function ts(e,t){if(e.type!=="tool-call")return!0;return!ae(e.state)&&!e.approval&&t.foldable(e)}function Jc(e,t){let n=On(e);if(!n)return;let r=je(n.parts,{debugMode:!1,isStreaming:!0}),o=r.at(-1);if(o&&ts(o,t))return o;return r.filter((a)=>a.type==="tool-call"&&ts(a,t)).at(-1)}function Yr(e,t){let n=e.metadata,r=je(e.parts,t),o=r.filter((i)=>t.fold?.get(i)?.kind!=="hidden"),a=o.filter((i)=>i.type==="text").at(-1),s=(e.role==="user"||e.role==="assistant")&&!t.isStreaming;return{metadata:n,parts:r,drawsBody:r.length>0||Boolean(n?.attachments?.length||n?.isAborted),streamingPart:t.isStreaming?r.at(-1):void 0,actionsAfter:s&&a?a===o.at(-1)?"end":a:void 0,debugStrip:t.debugMode&&n!==void 0&&t.closesTurn}}function Tt(e){return e.filter((t)=>t.type==="text").map((t)=>t.content).join(`
|
|
191
194
|
|
|
192
|
-
`)}var v={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 et(e){if(e.input.total<=0)return null;return Math.round(e.input.cacheRead/e.input.total*100)}function F(e){return e.toLocaleString("en-US")}import{createContext as Ji,useContext as Xi,useSyncExternalStore as Zi}from"react";var Kn=Ji(void 0);function h(){let e=Xi(Kn);if(!e)throw Error("useCortex must be used inside <CortexChatWidget>");return e}function L(e){let{widget:t}=h(),n=()=>e(t.getState());return Zi(t.subscribe,n,n)}import{useEffect as Yi,useRef as Qi,useState as el,useSyncExternalStore as tl}from"react";function Po(e){let t=Qi(e);t.current=e;let[n]=el(()=>vn({getConfig:()=>t.current}));Yi(()=>(n.start(),n.stop),[n]);let r=()=>n.getState().parts,o=tl(n.subscribe,r,r);return{widget:n,parts:o}}import{useEffect as sl,useLayoutEffect as Wo,useRef as Xn,useState as il,useSyncExternalStore as ll}from"react";function y(...e){return e.filter(Boolean).join(" ")}import{jsx as Q,jsxs as tt}from"react/jsx-runtime";function Fo(){let{widget:e,t,locale:n}=h(),r=L((o)=>o.attachments);if(!r.length)return null;return Q("div",{className:"cortex-attachment-queue",children:r.map((o)=>tt("div",{className:y("cortex-attachment-chip",o.status==="error"&&"cortex-attachment-chip--error"),children:[o.status==="uploading"||o.status==="deleting"?tt("svg",{className:"cortex-attachment-chip__spinner",viewBox:"0 0 16 16",fill:"none",children:[Q("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"2",className:"cortex-attachment-chip__spinner-track"}),Q("path",{d:v.spinnerArc,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):o.status==="error"?tt("svg",{viewBox:"0 0 16 16",className:"cortex-attachment-chip__icon",fill:"none",children:[Q("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"1.25"}),Q("path",{d:v.alert,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})]}):tt("svg",{viewBox:"0 0 16 16",className:"cortex-attachment-chip__icon",fill:"none",children:[Q("path",{d:v.file[0],stroke:"currentColor",strokeWidth:"1.25"}),Q("path",{d:v.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),tt("span",{className:"cortex-attachment-chip__text",children:[Q("span",{className:"cortex-attachment-chip__name",children:Q("bdi",{children:o.filename})}),o.status==="error"&&Q("span",{className:"cortex-attachment-chip__reason",children:_n(o,n)})]}),Q("button",{type:"button",onClick:()=>e.removeAttachment(o.localId),className:"cortex-attachment-chip__remove",disabled:o.status==="deleting","aria-label":t("translate_remove_attachment"),children:Q("svg",{viewBox:"0 0 16 16",fill:"none",children:Q("path",{d:v.closeSmall,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]},o.localId))})}import{useRef as nl}from"react";import{jsx as Te,jsxs as Ho,Fragment as ol}from"react/jsx-runtime";var rl=Be.join(",");function Do({attachmentsEnabled:e,canSend:t,onSend:n}){let{t:r,widget:o}=h(),a=nl(null);return Ho("div",{className:"cortex-widget__input-actions",children:[e&&Ho(ol,{children:[Te("button",{type:"button",onClick:()=>a.current?.click(),className:"cortex-widget__attach-btn","aria-label":r("translate_attach_files"),children:Te("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:Te("path",{d:v.paperclip,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),Te("input",{ref:a,type:"file",multiple:!0,accept:rl,onChange:(i)=>{o.attachFiles([...i.target.files??[]]),i.target.value=""},className:"cortex-widget__file-input"})]}),Te("button",{onClick:n,"aria-label":r("translate_send"),className:y("cortex-widget__send-btn",!t&&"cortex-widget__send-btn--empty",t&&"cortex-widget__send-btn--ready"),disabled:!t,children:Te("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__send-icon",children:Te("path",{d:v.arrowRight,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]})}import{jsx as al}from"react/jsx-runtime";function Uo(e){let{t}=h();return al("textarea",{ref:e.inputRef,onPaste:e.onPaste,value:e.value,onChange:(n)=>e.onChange(n.target.value),placeholder:e.dragging?t("translate_drop_files_here"):e.disabled?"":t("translate_type_a_message"),disabled:e.disabled,rows:1,className:y("cortex-widget__textarea",e.disabled&&"cortex-widget__textarea--disabled")})}import{jsx as Le,jsxs as Jn}from"react/jsx-runtime";function cl(e,t){let n=Xn(null),r=Xn(void 0);return Wo(()=>{if(!n.current)return;let o=on(n.current,e);return r.current=o,o.dispose},[e]),Wo(()=>r.current?.fit(),[t]),{messageInput:n,input:r}}function Bo(){let{t:e,widget:t}=h(),n=ll(t.subscribe,t.getDraft,t.getDraft),r=L((f)=>f.session.isAgentWorking),o=L((f)=>f.session.isAgentWorking||f.creating),a=L((f)=>f.capabilities?.attachments??!1),i=L((f)=>Je(f,n)),[s,l]=il(!1),c=an({enabled:a,accept:t.attachFiles,setDragging:l}),{messageInput:d,input:u}=cl(t,n),p=Xn(o);return sl(()=>{if(p.current&&!o)d.current?.focus();p.current=o},[o,d]),Jn("div",{className:"cortex-widget__input-area",onDragOver:c.onDragOver,onDragLeave:c.onDragLeave,onDrop:c.onDrop,children:[Le(Fo,{}),Jn("div",{className:y("cortex-widget__input-box",o&&"cortex-widget__input-box--disabled",!o&&"cortex-widget__input-box--enabled",s&&"cortex-widget__input-box--dragging"),children:[Le(Uo,{inputRef:d,value:n,onChange:t.setDraft,onPaste:c.onPaste,disabled:o,dragging:s}),r?Jn("button",{type:"button","aria-label":e("translate_stop"),onClick:()=>void t.abort(),className:"cortex-stop-btn",children:[Le("span",{className:"cortex-stop-btn__ring"}),Le("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"cortex-stop-btn__icon",children:Le("rect",{x:"1",y:"1",width:"10",height:"10",rx:"2.5",fill:"currentColor"})})]}):Le(Do,{attachmentsEnabled:a,canSend:i,onSend:()=>u.current?.send()})]})]})}import{jsx as $o,jsxs as dl}from"react/jsx-runtime";function St(){let{t:e,widget:t}=h(),n=L(bn),r=L((o)=>o.unanswered==="unverified");if(n==="composer")return $o(Bo,{});if(!n)return null;return dl("p",{className:"cortex-widget__messages-disabled",children:[e(n),r?$o("button",{type:"button",className:"cortex-widget__retry",onClick:t.retry,children:e("translate_client_tool_retry")}):null]})}import{jsx as K,jsxs as Mt}from"react/jsx-runtime";function jo(e){let{t}=h(),n=e.newChat&&K("button",{type:"button",onClick:e.newChat,"aria-label":t("translate_new_chat"),title:t("translate_new_chat"),className:"cortex-widget__header-btn cortex-widget__new-btn",children:K("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:K("path",{d:v.plus,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})});if(e.screen==="threads")return Mt("div",{className:"cortex-widget__threads-header",children:[K("button",{type:"button",onClick:e.closeHistory,"aria-label":t("translate_back"),className:"cortex-widget__header-btn cortex-widget__back-btn",children:K("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"cortex-widget__back-icon",children:K("path",{d:v.chevronLeft,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),Mt("div",{children:[K("h2",{className:"cortex-widget__threads-title",children:t("translate_history")}),e.threadCount!==void 0&&K("p",{className:"cortex-widget__threads-count",children:t("translate_conversations",{count:e.threadCount})})]}),n]});return Mt("div",{className:"cortex-widget__chat-header",children:[K("button",{onClick:e.openHistory,className:"cortex-widget__sidebar-toggle-btn",children:K("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:K("path",{d:v.menu,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),K("div",{className:"cortex-widget__chat-title-wrap",children:K("p",{className:"cortex-widget__chat-title",children:e.title})}),e.debug.shown&&K("button",{onClick:e.toggleDebug,className:y("cortex-widget__debug-btn",e.debug.on?"cortex-widget__debug-btn--on":"cortex-widget__debug-btn--off"),children:e.debug.on?t("translate_debug"):t("translate_normal")}),n,K("button",{type:"button",onClick:e.openHistory,"aria-label":t("translate_history"),title:t("translate_history"),className:"cortex-widget__header-btn cortex-widget__history-btn",children:Mt("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[K("circle",{cx:"8",cy:"8",r:"5.75",stroke:"currentColor",strokeWidth:"1.3"}),K("path",{d:v.clockHands,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})]})})]})}import{jsx as de,jsxs as zo}from"react/jsx-runtime";function qo(e){let{locale:t,t:n}=h();return zo("div",{className:"cortex-widget__landing",children:[de("div",{className:"cortex-widget__landing-icon",children:de("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",children:de("path",{d:v.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),de("p",{className:"cortex-widget__landing-greeting",children:e.greeting}),!!e.suggestions.length&&de("div",{className:"cortex-widget__landing-chips",children:e.suggestions.map((r,o)=>de("button",{type:"button",onClick:()=>e.send(r.prompt),className:"cortex-widget__landing-chip",children:r.title},o))}),e.composer,!!e.threads?.length&&de("div",{className:"cortex-widget__landing-recent",children:e.threads.slice(0,2).map((r)=>{let o=ce(r.updatedAt,t);return zo("button",{type:"button",onClick:()=>e.openThread(r),className:"cortex-widget__landing-recent-item",children:[de("p",{className:"cortex-widget__landing-recent-title",children:r.title??n("translate_untitled")}),o&&de("p",{className:"cortex-widget__landing-recent-time",children:o})]},r.id)})})]})}import{useCallback as Xl,useEffect as Zl,useLayoutEffect as ut,useMemo as Yl,useRef as pt,useState as tr}from"react";import{memo as Kl}from"react";import{Fragment as ql}from"react";import{useRef as ul,useState as pl}from"react";import{jsx as Ae,jsxs as ml}from"react/jsx-runtime";function ne({value:e,className:t}){let{t:n}=h(),[r,o]=pl(!1),a=ul(null);async function i(s){s.stopPropagation(),s.preventDefault();try{if(await navigator.clipboard.writeText(e),o(!0),a.current)clearTimeout(a.current);a.current=setTimeout(()=>o(!1),1500)}catch{}}return Ae("span",{className:y("cortex-copy-btn",t),children:Ae("button",{className:y("cortex-copy-btn__button",r&&"cortex-copy-btn__button--copied"),onClick:(s)=>void i(s),"aria-label":r?n("translate_copied"):n("translate_copy"),type:"button",children:r?Ae("svg",{className:"cortex-copy-btn__icon cortex-copy-btn__icon--check",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:Ae("path",{d:v.check,stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}):ml("svg",{className:"cortex-copy-btn__icon",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:[Ae("rect",{x:"9",y:"9",width:"12",height:"12",rx:"2",stroke:"currentColor",strokeWidth:"2"}),Ae("path",{d:v.copy,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]})})})}import{jsx as Nt,jsxs as Vo}from"react/jsx-runtime";function Lt({label:e}){return Vo("div",{className:"cortex-aborted-flag",children:[Nt("span",{className:"cortex-aborted-flag__line"}),Vo("span",{className:"cortex-aborted-flag__label",children:[Nt("svg",{className:"cortex-aborted-flag__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:Nt("path",{d:v.alertSmall,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})}),e]}),Nt("span",{className:"cortex-aborted-flag__line"})]})}import{jsx as Ee,jsxs as Go}from"react/jsx-runtime";function Ko(e){let{widget:t,t:n}=h();return Ee("div",{className:y("cortex-message-attachments",e.isUser&&"cortex-message-attachments--user"),children:e.attachments.map((r)=>Go("button",{type:"button",onClick:()=>void Rn(t.api,r.id),className:"cortex-message-attachment","aria-label":`${n("translate_download")}: ${r.filename}`,children:[Go("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__icon",fill:"none",children:[Ee("path",{d:v.file[0],stroke:"currentColor",strokeWidth:"1.25"}),Ee("path",{d:v.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),Ee("span",{className:"cortex-message-attachment__name",children:r.filename}),Ee("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__dl-icon",fill:"none",children:Ee("path",{d:v.download,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},r.id))})}import{useState as nt}from"react";import{useMemo as fl,useState as gl}from"react";import{jsx as ee,jsxs as we,Fragment as At}from"react/jsx-runtime";function _e({data:e,expandDepth:t,className:n}){let r=fl(()=>Ne(e),[e]),[o,a]=gl({});function i(l,c){return o[l]??c>=t}function s(l,c){a((d)=>({...d,[l]:!i(l,c)}))}return ee("div",{className:y("cortex-json-tree",n),children:ee(Jo,{value:r,path:"$",depth:0,isCollapsed:i,toggle:s})})}function Jo({value:e,path:t,depth:n,isCollapsed:r,toggle:o}){let a=$n(e,t);if(a.kind==="primitive")return ee("span",{className:a.className,children:a.text});if(a.entries.length===0)return we("span",{className:"cortex-json-tree__bracket",children:[a.open,a.close]});let i=r(t,n);function s(l){o(t,n),l.stopPropagation()}return we(At,{children:[we("span",{className:"cortex-json-tree__toggle",onClick:s,role:"button",children:[ee("span",{className:y("cortex-json-tree__arrow",i&&"cortex-json-tree__arrow--collapsed"),children:"▾"}),ee("span",{className:"cortex-json-tree__bracket",children:a.open})]}),i?we(At,{children:[ee("span",{className:"cortex-json-tree__collapsed-hint",onClick:s,role:"button",children:a.summary}),ee("span",{className:"cortex-json-tree__bracket",children:a.close})]}):we(At,{children:[ee("div",{className:"cortex-json-tree__indent",children:a.entries.map((l,c)=>we("div",{className:"cortex-json-tree__line",children:[l.key!==null&&we(At,{children:[ee("span",{className:"cortex-json-tree__key",children:`"${l.key}"`}),ee("span",{className:"cortex-json-tree__colon",children:": "})]}),ee(Jo,{value:l.value,path:l.path,depth:n+1,isCollapsed:r,toggle:o}),c<a.entries.length-1&&ee("span",{className:"cortex-json-tree__comma",children:","})]},l.path))}),ee("span",{className:"cortex-json-tree__bracket",children:a.close})]})]})}import{jsx as Re,jsxs as Ie}from"react/jsx-runtime";function Xo({usage:e}){let{t}=h();return Ie("div",{className:"cortex-llm-inspector__usage-rows",children:[Ie("div",{className:"cortex-llm-inspector__usage-row",children:[Re("span",{className:"cortex-llm-inspector__usage-lbl",children:t("translate_input")}),Re("span",{className:"cortex-llm-inspector__usage-val",children:F(e.input.total)}),Ie("span",{className:"cortex-llm-inspector__usage-detail",children:[t("translate_fresh")," ",F(e.input.noCache)," · ",t("translate_read")," ",F(e.input.cacheRead)," · ",t("translate_write")," ",F(e.input.cacheWrite)]})]}),Ie("div",{className:"cortex-llm-inspector__usage-row",children:[Re("span",{className:"cortex-llm-inspector__usage-lbl",children:t("translate_output")}),Re("span",{className:"cortex-llm-inspector__usage-val",children:F(e.output.total)}),Ie("span",{className:"cortex-llm-inspector__usage-detail",children:[t("translate_text")," ",F(e.output.text)," · ",t("translate_reasoning")," ",F(e.output.reasoning)]})]}),Ie("div",{className:"cortex-llm-inspector__usage-row cortex-llm-inspector__usage-row--total",children:[Re("span",{className:"cortex-llm-inspector__usage-lbl",children:t("translate_total")}),Re("span",{className:"cortex-llm-inspector__usage-val",children:F(e.total)})]})]})}import{jsx as Zo,jsxs as Et}from"react/jsx-runtime";function Yo({usage:e}){let t=et(e);return Et("span",{className:"cortex-llm-inspector__step-metrics",children:[Et("span",{className:"cortex-llm-inspector__metric",children:[Zo("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--input"}),F(e.input.total)]}),Et("span",{className:"cortex-llm-inspector__metric",children:[Zo("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--output"}),F(e.output.total)]}),t!==null&&Et("span",{className:"cortex-llm-inspector__cache-pct",children:[t,"%"]})]})}import{jsx as U,jsxs as he}from"react/jsx-runtime";function Qo({messageId:e}){let{t,widget:n}=h(),r=L((g)=>g.selected?.id),[o,a]=nt(!1),[i,s]=nt("idle"),[l,c]=nt([]),[d,u]=nt(null),[p,f]=nt({});async function m(){if(!o&&i!=="loaded"&&r){s("loading");try{c(await n.api.listLlmRequests(r,e)),s("loaded")}catch{s("failed")}}a((g)=>!g)}function x(g){u((b)=>b===g?null:g)}function M(g){return p[g]??"prompt"}function C(g,b){f((k)=>({...k,[g]:b}))}function w(g){return M(g.id)==="prompt"?g.prompt:g.output}return he("div",{className:y("cortex-llm-inspector",o&&"cortex-llm-inspector--open"),children:[he("button",{className:"cortex-llm-inspector__trigger",onClick:()=>void m(),children:[U("svg",{className:"cortex-llm-inspector__icon",width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:U("path",{d:v.search,fill:"currentColor"})}),U("span",{children:t("translate_inspect_llm_requests")}),i==="loading"?U("span",{className:"cortex-llm-inspector__loading",children:t("translate_loading")}):l.length>0?U("span",{className:"cortex-llm-inspector__badge",children:l.length}):null,U("svg",{className:"cortex-llm-inspector__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:U("path",{d:v.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),U("div",{className:"cortex-llm-inspector__panel-wrapper",children:U("div",{className:"cortex-llm-inspector__panel-inner",children:he("div",{className:"cortex-llm-inspector__panel",children:[l.length===0&&i!=="loading"&&U("div",{className:"cortex-llm-inspector__empty",children:t(i==="failed"?"translate_error":"translate_no_llm_requests")}),l.map((g,b)=>he("div",{className:y("cortex-llm-inspector__step",d===g.id&&"cortex-llm-inspector__step--expanded"),children:[he("button",{className:"cortex-llm-inspector__step-header",onClick:()=>x(g.id),children:[U("span",{className:"cortex-llm-inspector__step-label",children:t("translate_step_n",{number:b+1})}),g.tokenUsage&&U(Yo,{usage:g.tokenUsage}),U("svg",{className:"cortex-llm-inspector__step-chevron",width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",children:U("path",{d:v.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),U("div",{className:"cortex-llm-inspector__step-body-wrapper",children:U("div",{className:"cortex-llm-inspector__step-body-inner",children:he("div",{className:"cortex-llm-inspector__step-body",children:[g.tokenUsage&&U(Xo,{usage:g.tokenUsage}),he("div",{className:"cortex-llm-inspector__tabs",children:[U("button",{className:y("cortex-llm-inspector__tab",M(g.id)==="prompt"&&"cortex-llm-inspector__tab--active"),onClick:()=>C(g.id,"prompt"),children:t("translate_request")}),U("button",{className:y("cortex-llm-inspector__tab",M(g.id)==="response"&&"cortex-llm-inspector__tab--active"),onClick:()=>C(g.id,"response"),children:t("translate_response")})]}),he("div",{className:"cortex-llm-inspector__json-pane",children:[U(ne,{className:"cortex-llm-inspector__json-copy",value:zn(w(g))}),U(_e,{data:jn(w(g)),expandDepth:2})]})]})})})]},g.id))]})})})]})}import{useState as _l}from"react";import{jsx as P,jsxs as B}from"react/jsx-runtime";function ea({usage:e,modelId:t}){let{t:n}=h(),[r,o]=_l(!1),a=et(e)??0;return B("div",{className:y("cortex-token-usage",r&&"cortex-token-usage--expanded"),children:[B("button",{className:"cortex-token-usage__summary",onClick:()=>o((i)=>!i),children:[B("span",{className:"cortex-token-usage__total",children:[P("span",{className:"cortex-token-usage__total-number",children:F(e.total)}),P("span",{className:"cortex-token-usage__total-label",children:n("translate_tokens")})]}),t?P("span",{className:"cortex-token-usage__model",children:t}):null,B("span",{className:"cortex-token-usage__pills",children:[B("span",{className:"cortex-token-usage__pill",children:[P("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),F(e.input.total)]}),B("span",{className:"cortex-token-usage__pill",children:[P("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),F(e.output.total)]})]}),a>0&&B("span",{className:"cortex-token-usage__cache-badge",children:[a,"%"]}),P("svg",{className:"cortex-token-usage__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:P("path",{d:v.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),P("div",{className:"cortex-token-usage__details",children:P("div",{className:"cortex-token-usage__details-inner",children:B("div",{className:"cortex-token-usage__columns",children:[B("div",{className:"cortex-token-usage__col",children:[B("div",{className:"cortex-token-usage__col-header",children:[P("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),P("span",{className:"cortex-token-usage__col-label",children:n("translate_input")}),P("span",{className:"cortex-token-usage__col-total",children:F(e.input.total)})]}),B("div",{className:"cortex-token-usage__rows",children:[e.input.noCache?B("div",{className:"cortex-token-usage__row",children:[P("span",{className:"cortex-token-usage__row-label",children:n("translate_fresh")}),P("span",{className:"cortex-token-usage__row-value",children:F(e.input.noCache)})]}):null,e.input.cacheRead?B("div",{className:"cortex-token-usage__row",children:[P("span",{className:"cortex-token-usage__row-label",children:n("translate_cache_read")}),P("span",{className:"cortex-token-usage__row-value",children:F(e.input.cacheRead)})]}):null,e.input.cacheWrite?B("div",{className:"cortex-token-usage__row",children:[P("span",{className:"cortex-token-usage__row-label",children:n("translate_cache_write")}),P("span",{className:"cortex-token-usage__row-value",children:F(e.input.cacheWrite)})]}):null]}),a>0&&B("div",{className:"cortex-token-usage__cache-bar-row",children:[P("div",{className:"cortex-token-usage__cache-bar",children:P("div",{className:"cortex-token-usage__cache-fill",style:{width:`${a}%`}})}),P("span",{className:"cortex-token-usage__cache-label",children:n("translate_n_percent_cached",{percent:a})})]})]}),B("div",{className:"cortex-token-usage__col",children:[B("div",{className:"cortex-token-usage__col-header",children:[P("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),P("span",{className:"cortex-token-usage__col-label",children:n("translate_output")}),P("span",{className:"cortex-token-usage__col-total",children:F(e.output.total)})]}),B("div",{className:"cortex-token-usage__rows",children:[e.output.text?B("div",{className:"cortex-token-usage__row",children:[P("span",{className:"cortex-token-usage__row-label",children:n("translate_text")}),P("span",{className:"cortex-token-usage__row-value",children:F(e.output.text)})]}):null,e.output.reasoning?B("div",{className:"cortex-token-usage__row",children:[P("span",{className:"cortex-token-usage__row-label",children:n("translate_reasoning")}),P("span",{className:"cortex-token-usage__row-value",children:F(e.output.reasoning)})]}):null]})]})]})})})]})}import{jsx as ta,jsxs as hl}from"react/jsx-runtime";function na({messageId:e,metadata:t}){let{tokenUsage:n}=t;return hl("div",{className:"cortex-message-debug-zone",children:[n&&ta(ea,{usage:n,modelId:t.modelId}),ta(Qo,{messageId:e})]})}import{jsx as re,jsxs as rt}from"react/jsx-runtime";function ra(e){let{reasoningPart:t,streaming:n=!1}=e,{t:r}=h();return rt("details",{className:"cortex-reasoning-details",children:[rt("summary",{className:"cortex-reasoning-details__summary",children:[rt("div",{className:"cortex-reasoning-details__header",children:[re("span",{className:"cortex-reasoning-details__icon",children:rt("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:[re("path",{d:v.bulb[0],stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}),re("path",{d:v.bulb[1],stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})]})}),re("div",{className:"cortex-reasoning-details__title-group",children:rt("div",{className:"cortex-reasoning-details__title-row",children:[re("div",{className:"cortex-reasoning-details__title",children:r("translate_reasoning")}),re("span",{className:y("cortex-reasoning-details__badge",n?"cortex-reasoning-details__badge--streaming":"cortex-reasoning-details__badge--done"),children:n?r("translate_streaming"):r("translate_done")})]})})]}),re("span",{className:"cortex-reasoning-details__chevron","aria-hidden":"true",children:re("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:re("path",{d:v.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),re("div",{className:"cortex-reasoning-details__body",children:re("div",{className:"cortex-reasoning-details__content",children:re("pre",{dir:"auto",className:"cortex-reasoning-details__pre",children:t.content.trim()?t.content:r("translate_no_reasoning")})})})]})}import{useEffect as ca,useMemo as Al,useState as da}from"react";import{useEffect as bl,useState as vl}from"react";import{useRef as xl,useState as yl}from"react";import{jsx as ue,jsxs as Rt}from"react/jsx-runtime";function Oe(e){let{label:t,ready:n=!0,actions:r,expanded:o,children:a}=e,{t:i}=h(),s=xl(null),[l,c]=yl(!1);return Rt("div",{className:"cortex-expandable",children:[n&&Rt("div",{className:"cortex-expandable__toolbar",role:"group","aria-label":t,children:[r,ue("button",{type:"button",className:"cortex-expandable__action","aria-label":i("translate_expand",{name:t}),title:i("translate_expand",{name:t}),onClick:()=>{c(!0),s.current?.showModal()},children:ue("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:ue("path",{d:v.expand,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),ue("div",{className:"cortex-expandable__content",children:a}),Rt("dialog",{ref:s,className:"cortex-expandable__dialog","aria-label":t,closedby:"any",onClose:()=>c(!1),children:[Rt("div",{className:"cortex-expandable__head",children:[ue("span",{className:"cortex-expandable__title",children:t}),r,ue("button",{type:"button",className:"cortex-expandable__action","aria-label":i("translate_close"),title:i("translate_close"),onClick:()=>s.current?.close(),children:ue("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:ue("path",{d:v.close,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})})]}),l&&ue("div",{className:"cortex-expandable__body",children:o})]})]})}import{jsx as ot,jsxs as Tl}from"react/jsx-runtime";function oa(e){let{id:t,alt:n,attachment:r}=e,{widget:o,t:a}=h(),[{url:i,failed:s},l]=vl({url:void 0,failed:!1});if(bl(()=>En(o.api,t,l),[o,t]),s)return ot("p",{className:"cortex-attachment-image__caption",children:n?a("translate_image_unavailable_alt",{alt:n}):a("translate_image_unavailable")});if(!i)return null;return Tl("figure",{className:"cortex-attachment-image",children:[ot(Oe,{label:r?.filename||n||a("translate_image"),expanded:ot("img",{className:"cortex-attachment-image__expanded",src:i,alt:n}),children:ot("img",{src:i,alt:n})}),r&&ot("figcaption",{className:"cortex-attachment-image__caption",children:r.filename})]})}import{useEffect as wl,useRef as Cl,useState as Zn}from"react";import{jsx as Z,jsxs as at,Fragment as Ml}from"react/jsx-runtime";function kl(e){let{t}=h();if(!e.pending&&!e.debugMode)return null;return at("div",{className:"cortex-media-block__head",children:[e.debugMode&&Z("span",{className:"cortex-media-block__lang",children:e.language}),e.pending&&Z("span",{className:"cortex-media-block__pending",children:t(wt(e.language).pending)}),e.debugMode&&e.closed&&at("span",{className:"cortex-media-block__actions",children:[e.onToggleSource&&Z("button",{type:"button",className:"cortex-media-block__action","aria-pressed":e.sourceShown,onClick:e.onToggleSource,children:t("translate_media_source")}),Z(ne,{value:e.source})]})]})}function aa(e){let{t}=h(),n=L((r)=>r.debugMode);return Z("div",{className:"cortex-media-block__body",children:at("p",{className:"cortex-media-block__error",children:[e.cutOff?t("translate_media_cut_off"):t("translate_media_failed"),!e.cutOff&&n&&` ${e.reason}`]})})}function sa(e){let{language:t,source:n,closed:r,hidden:o,onError:a}=e,{config:i,scheme:s,locale:l}=h(),c=Cl(null);return wl(()=>{a(void 0);let d=c.current;if(!r||!s||!d)return;return Ct(d,{language:t,source:n,context:{scheme:s,locale:l},overrides:i.mediaRenderers,onError:a})},[t,n,r,s,l,i.mediaRenderers,a]),Z("div",{ref:c,hidden:o,className:y("cortex-media-block__body",`cortex-media-block__body--${t}`)})}function Sl(e){let[t,n]=Zn();return at(Ml,{children:[t&&Z(aa,{cutOff:!1,reason:t}),Z(sa,{language:e.language,source:e.source,closed:!0,hidden:Boolean(t),onError:n})]})}function ia(e){let{language:t,source:n,closed:r,streaming:o}=e,{t:a}=h(),i=L((m)=>m.debugMode),[s,l]=Zn(),[c,d]=Zn(!1),u=!r&&!o,p=u||Boolean(s);return at("div",{className:"cortex-media-block",children:[Z(kl,{language:t,source:n,pending:!r&&o,closed:r,debugMode:i,sourceShown:c,onToggleSource:p?void 0:()=>d((m)=>!m)}),p&&Z(aa,{cutOff:u,reason:s}),Z(Oe,{label:a(wt(t).title),ready:r&&!p,expanded:Z(Sl,{language:t,source:n}),children:Z(sa,{language:t,source:n,closed:r,hidden:p,onError:l})}),i&&(p||c)&&Z("pre",{dir:"ltr",className:"cortex-media-block__source",children:n})]})}import{useMemo as Nl,useRef as Ll}from"react";import{jsx as Ce}from"react/jsx-runtime";function la(e){let{t}=h(),n=Ll(null),r=Nl(()=>({__html:Ze(e.text)}),[e.text]);return Ce("div",{className:"cortex-table-block",children:Ce(Oe,{label:t("translate_table"),ready:e.closed,actions:Ce("button",{type:"button",className:"cortex-expandable__action","aria-label":t("translate_table_export"),title:t("translate_table_export"),onClick:()=>n.current&&An(n.current),children:Ce("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:Ce("path",{d:v.downloadTray,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),expanded:Ce("div",{className:"cortex-table-block__expanded",dangerouslySetInnerHTML:r}),children:Ce("div",{ref:n,dangerouslySetInnerHTML:r})})})}import{jsx as Pe}from"react/jsx-runtime";function ua(e){let{role:t,textPart:n,streaming:r=!1,attachments:o}=e,{config:a}=h(),[i,s]=da({text:n.content,fading:[]}),[l]=da(()=>new ve((u,p)=>s((f)=>f.text===u&&!f.fading.length&&!p.length?f:{text:u,fading:p})));ca(()=>l.follow(n.content,t==="assistant"&&r),[l,t,r,n]),ca(()=>()=>l.destroy(),[l]);let c=r||i.text!==n.content,d=Al(()=>{let u=Ln(i.text,{role:t,languages:Un(a.mediaRenderers),attachments:o,arriving:c});return u.map((p,f)=>p.kind==="markdown"?{...p,html:{__html:Ze(p.text,f===u.length-1?i.fading:[])}}:p)},[t,i,a.mediaRenderers,o,c]);return Pe("div",{className:y("cortex-text-part",t==="assistant"&&"cortex-text-part--assistant",t==="user"&&"cortex-text-part--user"),children:Pe("div",{className:y("cortex-text-bubble",t==="assistant"&&"cortex-text-bubble--assistant",t==="user"&&"cortex-text-bubble--user"),children:d.map((u,p)=>{switch(u.kind){case"markdown":return Pe("div",{dangerouslySetInnerHTML:u.html},p);case"media":return Pe(ia,{...u,streaming:c},p);case"table":return Pe(la,{text:u.text,closed:u.closed},p);case"attachment":return Pe(oa,{...u},p)}})})})}import{useEffect as ba,useRef as Yn,useState as va}from"react";import{useEffect as El,useState as Rl}from"react";import{jsx as st,jsxs as pa}from"react/jsx-runtime";function Fe({activity:e,className:t}){let{t:n}=h(),r=Xt(e),[o,a]=Rl({index:0,phase:"idle"}),i=r.length;return El(()=>rn(i,a),[i]),pa("div",{className:y("cortex-subtle-activity",t),children:[pa("div",{className:"cortex-subtle-activity__dots",children:[st("span",{className:"cortex-subtle-activity__dot"}),st("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d1"}),st("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d2"})]}),st("div",{className:"cortex-subtle-activity__label-mask",children:st("span",{className:y("cortex-subtle-activity__label",`cortex-subtle-activity__label--${o.phase}`),children:n(r[o.index])})})]})}import{jsx as it,jsxs as Il}from"react/jsx-runtime";function He({state:e,active:t}){return Il("span",{className:"cortex-tool-pill__icon","aria-hidden":"true",children:[it("span",{className:y("cortex-tool-pill__spinner",t&&"cortex-tool-pill__spinner--visible")}),it("svg",{className:y("cortex-tool-pill__svg cortex-tool-pill__svg--check",e==="complete"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:it("path",{d:v.statusCheck,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),it("svg",{className:y("cortex-tool-pill__svg",e==="error"&&"cortex-tool-pill__svg--error",(e==="error"||e==="declined")&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:it("path",{d:v.statusCross,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})]})}import{jsx as xe,jsxs as lt,Fragment as Ol}from"react/jsx-runtime";function ma({toolCallPart:e,asking:t}){let{t:n,widget:r}=h(),o=Jt(e),a=o.title??n(o.fallbackKey,o.fallbackParams),i=`cortex-approval-${e.id}`,s=o.decision==="pending";function l(c){r.respondToApproval(e,c).catch(()=>{})}return lt("div",{className:y("cortex-approval-card",s&&"cortex-approval-card--asking"),children:[s?lt(Ol,{children:[lt("div",{className:"cortex-approval-card__head",children:[xe("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:xe("path",{d:v.shield,stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"})}),n("translate_approval_needed")]}),xe("p",{className:"cortex-approval-card__sentence",id:i,children:a})]}):lt("div",{className:"cortex-approval-card__line",children:[xe(He,{state:o.state,active:o.active}),o.decisionKey&&xe("span",{className:"cortex-approval-card__decision",children:n(o.decisionKey)}),xe("span",{className:"cortex-approval-card__summary",children:a})]}),s&&t&<("div",{className:"cortex-approval-card__foot",children:[xe("button",{type:"button",className:"cortex-approval-card__button cortex-approval-card__button--approve","aria-describedby":i,onClick:()=>l(!0),children:n("translate_approve")}),xe("button",{type:"button",className:"cortex-approval-card__button","aria-describedby":i,onClick:()=>l(!1),children:n("translate_deny")})]})]})}import{useEffect as fa,useRef as It,useState as ga}from"react";import{jsx as j,jsxs as se}from"react/jsx-runtime";function _a({toolCallPart:e,setOutput:t}){let{t:n}=h(),{state:r,id:o,input:a}=e;if(r==="complete"||r==="error"){let i=Mn(e.output);return i?j(Fl,{position:i}):se("div",{className:"cortex-tool-pill",children:[j(He,{state:r==="error"?"error":"declined",active:!1}),j("span",{className:"cortex-tool-pill__title",children:n("translate_location_not_shared")})]})}if(r!=="input-complete")return null;return j(Pl,{center:Sn(a),submit:t},o)}function Pl({center:e,submit:t}){let{t:n}=h(),r=It(null),o=It(void 0),[a,i]=ga(yt),s=It({center:e,submit:t});s.current={center:e,submit:t},fa(()=>{let c=r.current;if(!c)return;let d=Cn(c,{center:s.current.center,onState:i,submit:(u)=>s.current.submit(u)});return o.current=d,d.start(),()=>{if(d.dispose(),o.current===d)o.current=void 0}},[]);let l=Nn(a);return se("div",{className:"cortex-location-input",children:[se("div",{className:"cortex-location-input__map",children:[j("div",{className:"cortex-location-input__canvas",ref:r}),j("button",{type:"button",className:"cortex-location-input__locate","aria-label":n("translate_location_locate"),title:n("translate_location_locate"),disabled:a.locating||a.submitting,onClick:()=>o.current?.locate(),children:j(Hl,{})})]}),se("div",{className:"cortex-location-input__foot",children:[a.position&&!a.deliveryFailed?j("span",{className:"cortex-location-input__coords",children:bt(a.position)}):se("span",{className:y("cortex-location-input__hint",l.failed&&"cortex-location-input__hint--failed"),children:[a.locating&&j("span",{className:"cortex-location-input__spinner"}),n(l.key)]}),se("span",{className:"cortex-location-input__actions",children:[j("button",{type:"button",className:"cortex-location-input__skip",disabled:a.submitting,onClick:()=>o.current?.cancel(),children:n("translate_location_skip")}),j("button",{type:"button",className:"cortex-location-input__send",disabled:!a.position||a.submitting,onClick:()=>o.current?.confirm(),children:n("translate_location_send")})]})]})]})}function Fl({position:e}){let{t}=h(),n=It(null),[r,o]=ga(!1),{lat:a,lng:i}=e;return fa(()=>{let s=n.current;if(!s)return;return o(!1),kn(s,{lat:a,lng:i},()=>o(!0))},[a,i]),se("div",{className:"cortex-location-input cortex-location-input--settled",children:[se("div",{className:"cortex-location-input__map cortex-location-input__map--still",children:[j("div",{className:"cortex-location-input__canvas",ref:n,hidden:r}),r&&j("span",{className:"cortex-location-input__still-failed",children:t("translate_location_map_failed")})]}),se("div",{className:"cortex-location-input__body",children:[se("span",{className:"cortex-location-input__title",children:[j("svg",{viewBox:"0 0 20 20",fill:"none",children:j("path",{d:v.statusCheck,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),t("translate_location_shared")]}),j("span",{className:"cortex-location-input__coords",children:bt(e)})]})]})}function Hl(){return se("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:[j("circle",{cx:"10",cy:"10",r:"5.5"}),j("circle",{cx:"10",cy:"10",r:"1.6",fill:"currentColor",stroke:"none"}),j("path",{d:v.crosshair})]})}import{jsx as ie,jsxs as De}from"react/jsx-runtime";function ha({toolCallPart:e}){let{t}=h(),n=Yt(e),r=e.output;switch(n?.kind){case"output":return De("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--success",children:[De("div",{className:"cortex-debug-tool__section-bar",children:[ie("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--success",children:t("translate_output")}),ie("span",{className:"cortex-debug-tool__section-lang",children:"json"}),ie(ne,{value:n.text})]}),ie("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:ie(_e,{data:r,expandDepth:2})})]});case"error":return De("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--error",children:[De("div",{className:"cortex-debug-tool__section-bar",children:[ie("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--error",children:t("translate_error")}),ie(ne,{value:n.text})]}),ie("pre",{dir:"ltr",className:"cortex-debug-tool__error-pre",children:n.text})]});case"approval":return De("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--approval",children:[De("div",{className:"cortex-debug-tool__section-bar",children:[ie("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--approval",children:t(n.labelKey)}),ie("span",{className:"cortex-debug-tool__section-lang",children:n.approvalId})]}),ie("div",{className:"cortex-debug-tool__message cortex-debug-tool__message--approval",children:t(n.messageKey)})]});default:return null}}import{jsx as Dl,jsxs as Ul}from"react/jsx-runtime";function xa({toolCallPart:e}){let{t}=h(),n=Gt(e);return Ul("span",{className:y("cortex-debug-tool__state",n.modifier&&`cortex-debug-tool__state--${n.modifier}`),children:[n.pulse&&Dl("span",{className:y("cortex-debug-tool__pulse",n.pulse==="violet"&&"cortex-debug-tool__pulse--violet")}),t(n.labelKey)]})}import{jsx as z,jsxs as pe}from"react/jsx-runtime";function ya({toolCallPart:e}){let{t}=h(),{codeSnippets:n,remainingInput:r,remainingInputText:o}=Kt(e.input);return pe("details",{className:"cortex-debug-tool","data-state":e.state,children:[z("summary",{className:"cortex-debug-tool__summary",children:pe("div",{className:"cortex-debug-tool__header",children:[pe("div",{className:"cortex-debug-tool__meta",children:[z("div",{className:"cortex-debug-tool__title-row",children:z("span",{className:"cortex-debug-tool__name",title:e.name,children:e.name})}),z("div",{className:"cortex-debug-tool__id-row",children:z("span",{className:"cortex-debug-tool__id",children:e.id})})]}),pe("div",{className:"cortex-debug-tool__actions",children:[z(xa,{toolCallPart:e}),z("svg",{className:"cortex-debug-tool__chevron",width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:z("path",{d:v.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})}),pe("div",{className:"cortex-debug-tool__body",children:[n.map((a)=>pe("div",{className:"cortex-debug-tool__section",children:[pe("div",{className:"cortex-debug-tool__section-bar",children:[z("span",{className:"cortex-debug-tool__section-label",children:a.key}),z("span",{className:"cortex-debug-tool__section-lang",children:a.lang}),z(ne,{value:a.value})]}),z("pre",{dir:"ltr",className:"cortex-debug-tool__pre",children:z("code",{className:"hljs",dangerouslySetInnerHTML:{__html:Bn(a.value,a.lang)}})})]},a.key)),!!r&&pe("div",{className:"cortex-debug-tool__section",children:[pe("div",{className:"cortex-debug-tool__section-bar",children:[z("span",{className:"cortex-debug-tool__section-label",children:t("translate_input")}),z("span",{className:"cortex-debug-tool__section-lang",children:"json"}),z(ne,{value:o})]}),z("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:z(_e,{data:r,expandDepth:2})})]}),z(ha,{toolCallPart:e})]})]})}import{jsx as q,jsxs as Ot}from"react/jsx-runtime";var Wl={[_t]:_a};function Ta({message:e,toolCallPart:t}){let{config:n,widget:r}=h(),o=L((u)=>u.session.isAgentWorking),a=L((u)=>u.capabilities),i=L((u)=>u.debugMode),[s,l]=va(!1),c=Zt(t,{agentWorking:o,capabilities:a,debugMode:i,consumerTools:n.toolComponents,builtInTools:Wl,embedUnavailable:s});function d(){switch(c.kind){case"consumer":case"builtIn":return q(c.component,{toolCallPart:t,message:e,setOutput:(u)=>r.addToolResult(t.id,t.name,u)});case"embed":return q(Bl,{toolCallPart:t,onUnavailable:()=>l(!0)});case"approval":return q(ma,{toolCallPart:t,asking:c.asking});case"debug":return q(ya,{toolCallPart:t});case"activity":return q(Fe,{activity:c.activity});case"pill":return q(jl,{toolCallPart:t})}}return q("div",{className:"cortex-tool-call-animated",children:d()})}function Bl({toolCallPart:e,onUnavailable:t}){let{t:n,widget:r,config:o}=h(),a=L((u)=>u.selected?.id),[i,s]=va({phase:"initiating"}),l=Yn(void 0),c=Yn({widget:r,config:o,onUnavailable:t,toolName:e.name});if(c.current={widget:r,config:o,onUnavailable:t,toolName:e.name},ba(()=>{if(!a){c.current.onUnavailable();return}let u=wn({initiate:()=>c.current.widget.api.initiateToolCall(a,e.id),onState:(p)=>{if(s(p),p.phase==="unavailable")c.current.onUnavailable()},submit:(p)=>c.current.widget.addToolResult(e.id,c.current.toolName,p),host:window,trustSameOrigin:c.current.config.trustSameOriginEmbeds});return l.current=u,u.start(),()=>{if(u.dispose(),l.current===u)l.current=void 0}},[e.id,a]),!a||i.phase==="unavailable")return null;let d=Ot("div",{className:"cortex-client-tool-embed",children:[Ot("div",{className:"cortex-client-tool-embed__bar",children:[q("span",{children:n("translate_client_tool_title")}),q("button",{type:"button",className:"cortex-client-tool-embed__cancel",onClick:()=>l.current?.cancel(),children:n("translate_client_tool_cancel")})]}),i.phase==="embedded"?q("iframe",{className:"cortex-client-tool-embed__frame",src:i.embedUrl,sandbox:i.sandbox,title:n("translate_client_tool_title"),ref:(u)=>l.current?.setSource(u?.contentWindow),onLoad:(u)=>l.current?.frameLoaded(u.currentTarget)}):i.phase==="error"?Ot("div",{className:"cortex-client-tool-embed__status",children:[q("span",{children:n("translate_client_tool_failed")}),q("button",{type:"button",className:"cortex-client-tool-embed__retry",onClick:()=>void l.current?.start(),children:n("translate_client_tool_retry")})]}):q("div",{className:"cortex-client-tool-embed__status",children:n("translate_client_tool_loading")})]});return i.phase==="embedded"&&i.surface==="modal"?q($l,{label:n("translate_client_tool_title"),onCancel:()=>l.current?.cancel(),children:d}):d}function $l({label:e,onCancel:t,children:n}){let r=Yn(null);return ba(()=>{let o=r.current;return o?.showModal(),()=>o?.close()},[]),q("dialog",{ref:r,className:"cortex-client-tool-embed-dialog","aria-label":e,onCancel:(o)=>{o.preventDefault(),t()},children:n})}function jl({toolCallPart:e}){let{t}=h(),{state:n,active:r,titleKey:o,statement:a,rows:i}=je(e);return Ot("div",{className:"cortex-tool-pill",children:[q(He,{state:n,active:r}),q("span",{className:y("cortex-tool-pill__title",n==="error"&&"cortex-tool-pill__title--error",n==="starting"&&a&&"cortex-tool-pill__title--pending"),children:a??t(o)}),i!==void 0&&q("span",{className:"cortex-tool-pill__meta",children:t("translate_rows",{count:i})})]})}import{jsx as ct,jsxs as zl}from"react/jsx-runtime";function wa(e){let{message:t,part:n,animate:r,streaming:o,attachments:a}=e,{t:i}=h(),s=L((c)=>c.debugMode);function l(){switch(n.type){case"text":return ct(ua,{textPart:n,role:t.role,streaming:o,attachments:a});case"thinking":return s?ct(ra,{reasoningPart:n,streaming:o}):ct(Fe,{activity:"reasoning",className:"cortex-reasoning-animated"});case"tool-call":return ct(Ta,{toolCallPart:n,message:t});default:return zl("p",{className:"cortex-unhandled-type",children:[i("translate_unhandled_type")," ",n.type]})}}return ct("div",{className:y("cortex-message-part",r&&"cortex-message-part--animated",e.folded&&"cortex-message-part--folded"),"data-cortex-frontier":e.frontier?"":void 0,children:l()})}import{jsx as me,jsxs as Qn}from"react/jsx-runtime";function Vl({isUser:e,clipboardText:t,createdAt:n}){let{locale:r}=h();return Qn("div",{className:y("cortex-message-actions",e&&"cortex-message-actions--user"),children:[t&&me(ne,{value:t}),n&&me("time",{className:"cortex-message-actions__time",dateTime:n,children:ce(n,r)})]})}function Gl({count:e,animate:t,onOpen:n}){let{t:r}=h();return me("button",{type:"button",className:y("cortex-tool-fold",t&&"cortex-message-part--animated"),onClick:n,children:r("translate_more_steps",{count:e})})}function Ca(e){let{message:t,layout:n,animate:r,fold:o,onOpenRun:a,frontier:i}=e,{parts:s,metadata:l,actionsAfter:c}=n,{t:d}=h(),u=t.role==="user",p=l?.attachments,f=c&&me(Vl,{isUser:u,clipboardText:Gn(s),createdAt:l?.createdAt});return Qn("div",{className:"cortex-message-parts",children:[s.map((m)=>{let x=o?.get(m);return Qn(ql,{children:[me(wa,{part:m,message:t,animate:r,streaming:m===n.streamingPart,attachments:p,frontier:m===i,folded:x?.kind==="hidden"}),x?.kind==="more"&&me(Gl,{count:x.count,animate:r,onOpen:()=>a(x.runId)}),m===c&&f]},t.parts.indexOf(m))}),p?.length?me(Ko,{attachments:p,isUser:u}):null,l?.isAborted&&me(Lt,{label:d("translate_aborted")}),c==="end"&&f,n.debugStrip&&l&&me(na,{messageId:t.id,metadata:l})]})}import{jsx as ke,jsxs as er}from"react/jsx-runtime";function ka({firing:e}){let{t,locale:n}=h(),r=L((o)=>o.debugMode);return er("div",{className:y("cortex-trigger-block",r&&"cortex-trigger-block--debug"),children:[er("div",{className:"cortex-trigger-block__head",children:[ke("svg",{className:"cortex-trigger-block__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:ke("path",{d:v.bolt,fill:"currentColor"})}),r&&ke("span",{children:t("translate_trigger_fired")}),ke("span",{className:"cortex-trigger-block__name",children:e.name}),ke("time",{className:"cortex-trigger-block__time",dateTime:e.firedAt,children:ce(e.firedAt,n)})]}),r&&er("details",{className:"cortex-trigger-block__payload",children:[ke("summary",{children:t("translate_trigger_payload")}),ke(_e,{data:e.payload,expandDepth:2})]})]})}import{jsx as dt}from"react/jsx-runtime";var Sa=Kl(function(t){let{message:n,isStreaming:r,closesTurn:o,animate:a,fold:i,onOpenRun:s,workingTurn:l,frontier:c}=t,d=L((p)=>p.debugMode),u=Vn(n,{debugMode:d,isStreaming:r,fold:i,closesTurn:o});if(u.metadata?.trigger)return dt("div",{className:"cortex-message",children:dt(ka,{firing:u.metadata.trigger})});if(!u.drawsBody)return dt("div",{className:"cortex-message"});return dt("div",{className:y("cortex-message",l&&"cortex-message--working-turn"),children:dt(Ca,{message:n,layout:u,animate:a,fold:i,onOpenRun:s,frontier:c})})});import{jsx as Pt}from"react/jsx-runtime";var Jl=[{role:"user",lines:[13,9]},{role:"assistant",lines:[16,18,12]},{role:"user",lines:[11]},{role:"assistant",lines:[14,15]}];function Ma(){return Pt("div",{className:"cortex-widget__messages-skeleton",children:Jl.map((e,t)=>Pt("div",{className:`cortex-widget__msg-skel cortex-widget__msg-skel--${e.role}`,children:Pt("div",{className:`cortex-widget__msg-skel-bubble cortex-widget__msg-skel-bubble--${e.role}`,children:e.lines.map((n)=>Pt("div",{className:"cortex-skeleton cortex-widget__msg-skel-line",style:{width:`${n}rem`}},n))})},t))})}import{jsx as te,jsxs as mt,Fragment as Na}from"react/jsx-runtime";function Ql(e,t,n){let r=pt(null),o=pt(null),a=pt(void 0),[i,s]=tr(!1);return ut(()=>{let l=r.current,c=o.current;if(!e||!l||!c)return;let d=tn(l,c);return a.current=d,()=>{d.dispose(),a.current=void 0}},[e]),ut(()=>a.current?.pin(),[t]),ut(()=>a.current?.messagesChanged(n.at(-1)),[n]),Zl(()=>{s(!1),queueMicrotask(()=>s(!0))},[t]),{containerRef:r,contentRef:o,animateNewParts:i}}function ec({working:e}){let t=pt(null),n=pt(void 0);return ut(()=>{let r=t.current;if(!r)return;let o=nn(r);return n.current=o,()=>{o.dispose(),n.current=void 0}},[]),ut(()=>n.current?.sync(e)),mt("div",{ref:t,className:"cortex-working-avatar","aria-hidden":"true",children:[mt("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[te("path",{d:v.sparkles[0]}),te("path",{d:v.sparkles[1]})]}),te("span",{className:"cortex-working-avatar__ring"})]})}function La(e){let{config:t,t:n}=h(),r=L((g)=>g.selected?.id),{messages:o,isAgentWorking:a,isLoadingMessages:i,turnFailure:s}=L((g)=>g.session),l=L((g)=>g.debugMode),c=L((g)=>g.capabilities),d=!i||a,u=Ql(d,r,o),[p,f]=tr(new Set),m=Xl((g)=>f((b)=>new Set(b).add(g)),[]),x=t.toolComponents,[M]=tr(qn),{rows:C,thinking:w}=Yl(()=>M(o,{agentWorking:a,debugMode:l,opened:p,consumerTools:x,capabilities:c}),[M,o,a,l,p,x,c]);return mt(Na,{children:[!d?te(Ma,{}):te("div",{className:e.className,children:te("div",{ref:u.containerRef,className:"cortex-message-list",children:mt("div",{ref:u.contentRef,className:"cortex-message-list__content",children:[C.map((g)=>te(Sa,{...g,onOpenRun:m,animate:u.animateNewParts},g.message.id)),s&&mt(Na,{children:[te(Lt,{label:n(hn(s))}),s.reason&&te("p",{className:"cortex-aborted-flag__reason",children:s.reason})]}),w&&te("div",{className:"cortex-working-thinking","data-cortex-frontier":"",children:te(Fe,{activity:"reasoning"})}),te(ec,{working:a},r)]})})}),te(St,{})]})}import{jsx as Aa,jsxs as tc}from"react/jsx-runtime";function Ea(e){let{widget:t}=h(),n=L((o)=>o.screen),r=L((o)=>o.selected!==void 0);return tc("div",{className:y("cortex-widget__screen",n==="chat"&&"cortex-widget__screen--active",n!=="chat"&&"cortex-widget__screen--right"),children:[e.header,r?Aa(La,{className:"cortex-widget__messages"}):e.landing,Aa("div",{className:"cortex-widget__sidebar-backdrop",onClick:t.closeHistory})]})}import{jsx as W,jsxs as Se,Fragment as nc}from"react/jsx-runtime";function Ra(e){let{locale:t,t:n}=h(),{threads:r,deleteThread:o}=e;return W("div",{className:"cortex-widget__threads-list",children:r===void 0?[1,2,3,4].map((a)=>Se("div",{className:"cortex-widget__thread-skeleton",children:[W("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-icon"}),W("div",{className:"cortex-widget__thread-skeleton-lines",children:W("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-line",style:{width:`${40+a*12}%`}})})]},a)):Se(nc,{children:[r.map((a)=>{let i=a.id===e.selectedThreadId,s=ce(a.updatedAt,t);return Se("div",{className:y("cortex-widget__thread-item",i&&"cortex-widget__thread-item--active"),children:[W("div",{className:y("cortex-widget__thread-icon",i&&"cortex-widget__thread-icon--active"),children:W("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:W("path",{d:v.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),Se("button",{type:"button",onClick:()=>e.openThread(a),className:"cortex-widget__thread-info",children:[Se("div",{className:"cortex-widget__thread-title-row",children:[W("p",{dir:"auto",className:y("cortex-widget__thread-title",i&&"cortex-widget__thread-title--active"),children:a.title??n("translate_untitled")}),a.isRunning&&Se("span",{className:y("cortex-widget__thread-running",i&&"cortex-widget__thread-running--active"),children:[W("span",{className:"cortex-widget__thread-running-dot"}),n("translate_running")]})]}),s&&W("p",{className:"cortex-widget__thread-time",children:s})]}),o&&W("button",{type:"button","aria-label":n("translate_delete_conversation"),onClick:()=>o(a.id),className:y("cortex-widget__thread-delete",i&&"cortex-widget__thread-delete--active"),children:W("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",children:W("path",{d:v.close,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})})}),W("svg",{className:y("cortex-widget__thread-arrow",i&&"cortex-widget__thread-arrow--active"),width:"10",height:"10",viewBox:"0 0 16 16",fill:"none",children:W("path",{d:v.chevronRight,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},a.id)}),!r.length&&Se("div",{className:"cortex-widget__threads-empty",children:[W("div",{className:"cortex-widget__threads-empty-icon",children:W("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__threads-empty-svg",children:W("path",{d:v.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),W("p",{className:"cortex-widget__threads-empty-title",children:n("translate_no_threads_yet")}),W("p",{className:"cortex-widget__threads-empty-subtitle",children:n("translate_start_a_new_conversation")}),e.newChat&&W("button",{onClick:e.newChat,className:"cortex-widget__new-chat-btn cortex-widget__new-chat-btn--empty-state",children:n("translate_new_chat")})]})]})})}import{jsx as rc,jsxs as Oa}from"react/jsx-runtime";function Ia(e){e.preventDefault()}function Pa(e){let{locale:t}=h(),n=L((o)=>o.screen),r=L((o)=>o.sidebarOpen);return rc("div",{className:y("cortex-widget",e.className),"data-cortex-theme":e.theme,dir:ur[t],children:Oa("div",{className:y("cortex-widget__container",e.viewMode==="full"&&"cortex-widget__container--full",r&&"cortex-widget__container--sidebar-open"),onDragOver:Ia,onDrop:Ia,children:[Oa("div",{className:y("cortex-widget__screen",n==="threads"&&"cortex-widget__screen--active",n!=="threads"&&"cortex-widget__screen--left"),children:[e.header,e.threadList]}),e.children]})})}import{jsx as fe}from"react/jsx-runtime";var sc={header:jo,landing:qo,threadList:Ra};function nr(e,t){return e?.[t]??sc[t]}function ic({config:e,className:t,slots:n}){let{widget:r,parts:o}=Po(e),[a,i]=ac();oc(()=>Wn(e.theme,i),[e.theme]);let s=Me(e.locale),l=Fa(()=>({config:e,locale:s,t:(d,u)=>Y(s,d,u),scheme:a,widget:r}),[e,s,a,r]),c=Fa(()=>{let d=Tn(r,o,e,fe("div",{className:"cortex-widget__landing-composer",children:fe(St,{})})),u=nr(n,"header"),p=nr(n,"landing"),f=nr(n,"threadList");return{threadsHeader:fe(u,{...d.threadsHeader}),threadList:fe(f,{...d.threadList}),chatHeader:fe(u,{...d.chatHeader}),landing:fe(p,{...d.landing})}},[r,o,e,n]);return fe(Kn.Provider,{value:l,children:fe(Pa,{className:t,theme:e.theme,viewMode:e.viewMode??"helper",header:c.threadsHeader,threadList:c.threadList,children:fe(Ea,{header:c.chatHeader,landing:c.landing})})})}export{ic as CortexChatWidget};
|
|
195
|
+
`)}var v={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 St(e){if(e.input.total<=0)return null;return Math.round(e.input.cacheRead/e.input.total*100)}function q(e){return e.toLocaleString("en-US")}import{createContext as Yc,useContext as Xc,useSyncExternalStore as Zc}from"react";var Mt=Yc(void 0);function _(){let e=Xc(Mt);if(!e)throw Error("useCortex must be used inside <CortexChatWidget>");return e}function k(e){let{widget:t}=_(),n=()=>e(t.getState());return Zc(t.subscribe,n,n)}import{useEffect as ed,useRef as td,useState as nd,useSyncExternalStore as rd}from"react";function ns(e){let t=td(e);t.current=e;let[n]=nd(()=>vr({getConfig:()=>t.current}));ed(()=>(n.start(),n.stop),[n]);let r=()=>n.getState().parts,o=rd(n.subscribe,r,r);return{widget:n,parts:o}}import{useEffect as cs,useLayoutEffect as ds,useRef as Zr,useState as dd,useSyncExternalStore as ud}from"react";function b(...e){return e.filter(Boolean).join(" ")}import{jsx as fe,jsxs as Nt}from"react/jsx-runtime";function rs(){let{widget:e,t,locale:n}=_(),r=k((o)=>o.attachments);if(!r.length)return null;return fe("div",{className:"cortex-attachment-queue",children:r.map((o)=>Nt("div",{className:b("cortex-attachment-chip",o.status==="error"&&"cortex-attachment-chip--error"),children:[o.status==="uploading"||o.status==="deleting"?Nt("svg",{className:"cortex-attachment-chip__spinner",viewBox:"0 0 16 16",fill:"none",children:[fe("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"2",className:"cortex-attachment-chip__spinner-track"}),fe("path",{d:v.spinnerArc,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):o.status==="error"?Nt("svg",{viewBox:"0 0 16 16",className:"cortex-attachment-chip__icon",fill:"none",children:[fe("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"1.25"}),fe("path",{d:v.alert,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})]}):Nt("svg",{viewBox:"0 0 16 16",className:"cortex-attachment-chip__icon",fill:"none",children:[fe("path",{d:v.file[0],stroke:"currentColor",strokeWidth:"1.25"}),fe("path",{d:v.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),Nt("span",{className:"cortex-attachment-chip__text",children:[fe("span",{className:"cortex-attachment-chip__name",children:fe("bdi",{children:o.filename})}),o.status==="error"&&fe("span",{className:"cortex-attachment-chip__reason",children:dr(o,n)})]}),fe("button",{type:"button",onClick:()=>e.removeAttachment(o.localId),className:"cortex-attachment-chip__remove",disabled:o.status==="deleting","aria-label":t("translate_remove_attachment"),children:fe("svg",{viewBox:"0 0 16 16",fill:"none",children:fe("path",{d:v.closeSmall,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]},o.localId))})}import{useEffect as od,useRef as os,useState as ad}from"react";import{jsx as X,jsxs as Ve,Fragment as ss}from"react/jsx-runtime";var sd=pt.join(",");function as({attachmentsEnabled:e,canSend:t,onSend:n}){let{t:r,widget:o}=_(),a=os(null);return Ve("div",{className:"cortex-widget__input-actions",children:[e&&Ve(ss,{children:[X("button",{type:"button",onClick:()=>a.current?.click(),className:"cortex-widget__attach-btn","aria-label":r("translate_attach_files"),children:X("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:X("path",{d:v.paperclip,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),X("input",{ref:a,type:"file",multiple:!0,accept:sd,onChange:(s)=>{o.attachFiles([...s.target.files??[]]),s.target.value=""},className:"cortex-widget__file-input"})]}),X(id,{canSend:t,onSend:n})]})}function id({canSend:e,onSend:t}){let{t:n}=_(),r=k(Yt),o=os(null);return Ve("div",{ref:o,className:"cortex-send-split",children:[X("button",{onClick:t,"aria-label":n("translate_send"),className:b("cortex-widget__send-btn",!e&&"cortex-widget__send-btn--empty",e&&"cortex-widget__send-btn--ready"),disabled:!e,children:X("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__send-icon",children:X("path",{d:v.arrowRight,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),r&&X(ld,{busy:r,split:o})]})}function ld({busy:e,split:t}){let{t:n,widget:r}=_(),o=k((i)=>i.capabilities?.whileBusy),[a,s]=ad(!1);return od(()=>{if(!a||!t.current)return;return gt(t.current,()=>s(!1))},[a,t]),Ve(ss,{children:[X("button",{type:"button",className:"cortex-send-split__caret","aria-label":n("translate_send_options"),"aria-haspopup":"menu","aria-expanded":a,onClick:()=>s(!a),children:X("svg",{width:"10",height:"10",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",children:X("path",{d:v.chevronDown,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}),a&&X("div",{className:"cortex-send-menu",role:"menu",children:hr.map((i)=>Ve("button",{type:"button",role:"menuitemradio","aria-checked":i.busy===e,className:"cortex-send-menu__item",onClick:()=>{r.pickBusy(i.busy),s(!1)},children:[X("svg",{className:"cortex-send-menu__check",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:i.busy===e&&X("path",{d:v.check,stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}),Ve("span",{children:[Ve("span",{className:"cortex-send-menu__label",children:[n(i.label),i.busy===o&&X("span",{className:"cortex-send-menu__default",children:n("translate_default")})]}),X("span",{className:"cortex-send-menu__hint",children:n(i.hint)})]})]},i.busy))})]})}import{jsx as cd}from"react/jsx-runtime";function is(e){let{t}=_();return cd("textarea",{ref:e.inputRef,onPaste:e.onPaste,value:e.value,onChange:(n)=>e.onChange(n.target.value),placeholder:e.dragging?t("translate_drop_files_here"):e.disabled?"":e.placeholder,disabled:e.disabled,rows:1,className:b("cortex-widget__textarea",e.disabled&&"cortex-widget__textarea--disabled")})}import{jsx as nt,jsxs as Xr}from"react/jsx-runtime";function ls(){let{t:e,widget:t}=_(),r=k((o)=>o.session.queued).filter((o)=>o.delivery!=="steer");if(!r.length)return null;return Xr("div",{className:"cortex-queued-tray",children:[nt("div",{className:"cortex-queued-tray__head",children:Xr("span",{className:"cortex-queued-tray__label",children:[e("translate_queued")," · ",r.length]})}),r.map(({inputId:o,message:a,textOnly:s})=>Xr("div",{className:"cortex-queued-tray__row",children:[nt("span",{className:"cortex-queued-tray__text",children:Tt(a.parts)}),s&&nt("button",{type:"button",className:"cortex-queued-tray__send-now",onClick:()=>void t.sendQueuedNow(o),children:e("translate_send_now")}),nt("button",{type:"button",className:"cortex-queued-tray__cancel","aria-label":e("translate_cancel_queued"),onClick:()=>void t.cancelQueued(o),children:nt("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",children:nt("path",{d:v.closeSmall,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]},o))]})}import{jsx as Me,jsxs as sn,Fragment as gd}from"react/jsx-runtime";function pd(e,t){let n=Zr(null),r=Zr(void 0);return ds(()=>{if(!n.current)return;let o=Zn(n.current,e);return r.current=o,o.dispose},[e]),ds(()=>r.current?.fit(),[t]),{messageInput:n,input:r}}function us(){let{t:e,widget:t}=_(),n=ud(t.subscribe,t.getDraft,t.getDraft),r=k(bt),o=k(xr),a=k(yr),s=k((f)=>et(f,n)),i=k((f)=>f.screen==="copy"?f.copy:void 0),[l,c]=dd(!1),d=er({enabled:a,accept:t.attachFiles,setDragging:c}),{messageInput:u,input:p}=pd(t,n),m=Zr(r);return cs(()=>{if(m.current&&!r)u.current?.focus();m.current=r},[r,u]),cs(()=>{if(i?.focus)u.current?.focus({preventScroll:!0})},[i,u]),sn("div",{className:"cortex-widget__input-area",onDragOver:d.onDragOver,onDragLeave:d.onDragLeave,onDrop:d.onDrop,children:[Me(ls,{}),Me(rs,{}),sn("div",{className:b("cortex-widget__input-box",r&&"cortex-widget__input-box--disabled",!r&&"cortex-widget__input-box--enabled",l&&"cortex-widget__input-box--dragging"),children:[Me(is,{inputRef:u,value:n,onChange:t.setDraft,onPaste:d.onPaste,placeholder:e(o),disabled:r,dragging:l}),Me(md,{attachmentsEnabled:a,canSend:s,onSend:()=>p.current?.send()})]})]})}function md(e){let t=k((r)=>r.session.isAgentWorking),n=k(bt);return sn(gd,{children:[(!t||!n)&&Me(as,{...e}),t&&Me(fd,{})]})}function fd(){let{t:e,widget:t}=_();return sn("button",{type:"button","aria-label":e("translate_stop"),onClick:()=>void t.abort(),className:"cortex-stop-btn",children:[Me("span",{className:"cortex-stop-btn__ring"}),Me("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"cortex-stop-btn__icon",children:Me("rect",{x:"1",y:"1",width:"10",height:"10",rx:"2.5",fill:"currentColor"})})]})}import{jsx as ps,jsxs as _d}from"react/jsx-runtime";function ln(){let{t:e,widget:t}=_(),n=k(br),r=k((o)=>o.unanswered==="unverified");if(n==="composer")return ps(us,{});if(!n)return null;return _d("p",{className:"cortex-widget__messages-disabled",children:[e(n),r?ps("button",{type:"button",className:"cortex-widget__retry",onClick:t.retry,children:e("translate_client_tool_retry")}):null]})}import{jsx as Z,jsxs as cn}from"react/jsx-runtime";function ms(e){let{t}=_(),n=e.newChat&&Z("button",{type:"button",onClick:e.newChat,"aria-label":t("translate_new_chat"),title:t("translate_new_chat"),className:"cortex-widget__header-btn cortex-widget__new-btn",children:Z("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:Z("path",{d:v.plus,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})});if(e.screen==="threads")return cn("div",{className:"cortex-widget__threads-header",children:[Z("button",{type:"button",onClick:e.closeHistory,"aria-label":t("translate_back"),className:"cortex-widget__header-btn cortex-widget__back-btn",children:Z("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"cortex-widget__back-icon",children:Z("path",{d:v.chevronLeft,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),cn("div",{children:[Z("h2",{className:"cortex-widget__threads-title",children:t("translate_history")}),e.threadCount!==void 0&&Z("p",{className:"cortex-widget__threads-count",children:t("translate_conversations",{count:e.threadCount})})]}),n]});return cn("div",{className:"cortex-widget__chat-header",children:[Z("button",{onClick:e.openHistory,className:"cortex-widget__sidebar-toggle-btn",children:Z("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:Z("path",{d:v.menu,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),Z("div",{className:"cortex-widget__chat-title-wrap",children:Z("p",{className:"cortex-widget__chat-title",children:e.title})}),e.debug.shown&&Z("button",{onClick:e.toggleDebug,className:b("cortex-widget__debug-btn",e.debug.on?"cortex-widget__debug-btn--on":"cortex-widget__debug-btn--off"),children:e.debug.on?t("translate_debug"):t("translate_normal")}),n,Z("button",{type:"button",onClick:e.openHistory,"aria-label":t("translate_history"),title:t("translate_history"),className:"cortex-widget__header-btn cortex-widget__history-btn",children:cn("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[Z("circle",{cx:"8",cy:"8",r:"5.75",stroke:"currentColor",strokeWidth:"1.3"}),Z("path",{d:v.clockHands,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})]})})]})}import{jsx as Ne,jsxs as fs}from"react/jsx-runtime";function gs(e){let{locale:t,t:n}=_();return fs("div",{className:"cortex-widget__landing",children:[Ne("div",{className:"cortex-widget__landing-icon",children:Ne("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",children:Ne("path",{d:v.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),Ne("p",{className:"cortex-widget__landing-greeting",children:e.greeting}),!!e.suggestions.length&&Ne("div",{className:"cortex-widget__landing-chips",children:e.suggestions.map((r,o)=>Ne("button",{type:"button",onClick:()=>e.send(r.prompt),className:"cortex-widget__landing-chip",children:r.title},o))}),e.composer,!!e.threads?.length&&Ne("div",{className:"cortex-widget__landing-recent",children:e.threads.slice(0,2).map((r)=>{let o=me(r.updatedAt,t);return fs("button",{type:"button",onClick:()=>e.openThread(r),className:"cortex-widget__landing-recent-item",children:[Ne("p",{className:"cortex-widget__landing-recent-title",children:r.title??n("translate_untitled")}),o&&Ne("p",{className:"cortex-widget__landing-recent-time",children:o})]},r.id)})})]})}import{useCallback as cu,useEffect as du,useLayoutEffect as Bt,useMemo as uu,useRef as Ft,useState as mo}from"react";import{memo as su}from"react";import{Fragment as ru}from"react";import{useRef as hd,useState as yd}from"react";import{jsx as rt,jsxs as xd}from"react/jsx-runtime";function _e({value:e,className:t}){let{t:n}=_(),[r,o]=yd(!1),a=hd(null);async function s(i){i.stopPropagation(),i.preventDefault();try{if(await navigator.clipboard.writeText(e),o(!0),a.current)clearTimeout(a.current);a.current=setTimeout(()=>o(!1),1500)}catch{}}return rt("span",{className:b("cortex-copy-btn",t),children:rt("button",{className:b("cortex-copy-btn__button",r&&"cortex-copy-btn__button--copied"),onClick:(i)=>void s(i),"aria-label":r?n("translate_copied"):n("translate_copy"),type:"button",children:r?rt("svg",{className:"cortex-copy-btn__icon cortex-copy-btn__icon--check",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:rt("path",{d:v.check,stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}):xd("svg",{className:"cortex-copy-btn__icon",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:[rt("rect",{x:"9",y:"9",width:"12",height:"12",rx:"2",stroke:"currentColor",strokeWidth:"2"}),rt("path",{d:v.copy,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]})})})}import{jsx as dn,jsxs as _s}from"react/jsx-runtime";function un({label:e}){return _s("div",{className:"cortex-aborted-flag",children:[dn("span",{className:"cortex-aborted-flag__line"}),_s("span",{className:"cortex-aborted-flag__label",children:[dn("svg",{className:"cortex-aborted-flag__icon",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:dn("path",{d:v.alertSmall,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})}),e]}),dn("span",{className:"cortex-aborted-flag__line"})]})}import{jsx as ot,jsxs as hs}from"react/jsx-runtime";function ys(e){let{widget:t,t:n}=_();return ot("div",{className:b("cortex-message-attachments",e.isUser&&"cortex-message-attachments--user"),children:e.attachments.map((r)=>hs("button",{type:"button",onClick:()=>void Ur(t.api,r.id),className:"cortex-message-attachment","aria-label":`${n("translate_download")}: ${r.filename}`,children:[hs("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__icon",fill:"none",children:[ot("path",{d:v.file[0],stroke:"currentColor",strokeWidth:"1.25"}),ot("path",{d:v.file[1],stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]}),ot("span",{className:"cortex-message-attachment__name",children:r.filename}),ot("svg",{viewBox:"0 0 16 16",className:"cortex-message-attachment__dl-icon",fill:"none",children:ot("path",{d:v.download,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},r.id))})}import{useState as At}from"react";import{useMemo as bd,useState as vd}from"react";import{jsx as ge,jsxs as Ge,Fragment as pn}from"react/jsx-runtime";function We({data:e,expandDepth:t,className:n}){let r=bd(()=>tt(e),[e]),[o,a]=vd({});function s(l,c){return o[l]??c>=t}function i(l,c){a((d)=>({...d,[l]:!s(l,c)}))}return ge("div",{className:b("cortex-json-tree",n),children:ge(xs,{value:r,path:"$",depth:0,isCollapsed:s,toggle:i})})}function xs({value:e,path:t,depth:n,isCollapsed:r,toggle:o}){let a=zr(e,t);if(a.kind==="primitive")return ge("span",{className:a.className,children:a.text});if(a.entries.length===0)return Ge("span",{className:"cortex-json-tree__bracket",children:[a.open,a.close]});let s=r(t,n);function i(l){o(t,n),l.stopPropagation()}return Ge(pn,{children:[Ge("span",{className:"cortex-json-tree__toggle",onClick:i,role:"button",children:[ge("span",{className:b("cortex-json-tree__arrow",s&&"cortex-json-tree__arrow--collapsed"),children:"▾"}),ge("span",{className:"cortex-json-tree__bracket",children:a.open})]}),s?Ge(pn,{children:[ge("span",{className:"cortex-json-tree__collapsed-hint",onClick:i,role:"button",children:a.summary}),ge("span",{className:"cortex-json-tree__bracket",children:a.close})]}):Ge(pn,{children:[ge("div",{className:"cortex-json-tree__indent",children:a.entries.map((l,c)=>Ge("div",{className:"cortex-json-tree__line",children:[l.key!==null&&Ge(pn,{children:[ge("span",{className:"cortex-json-tree__key",children:`"${l.key}"`}),ge("span",{className:"cortex-json-tree__colon",children:": "})]}),ge(xs,{value:l.value,path:l.path,depth:n+1,isCollapsed:r,toggle:o}),c<a.entries.length-1&&ge("span",{className:"cortex-json-tree__comma",children:","})]},l.path))}),ge("span",{className:"cortex-json-tree__bracket",children:a.close})]})]})}import{jsx as at,jsxs as st}from"react/jsx-runtime";function bs({usage:e}){let{t}=_();return st("div",{className:"cortex-llm-inspector__usage-rows",children:[st("div",{className:"cortex-llm-inspector__usage-row",children:[at("span",{className:"cortex-llm-inspector__usage-lbl",children:t("translate_input")}),at("span",{className:"cortex-llm-inspector__usage-val",children:q(e.input.total)}),st("span",{className:"cortex-llm-inspector__usage-detail",children:[t("translate_fresh")," ",q(e.input.noCache)," · ",t("translate_read")," ",q(e.input.cacheRead)," · ",t("translate_write")," ",q(e.input.cacheWrite)]})]}),st("div",{className:"cortex-llm-inspector__usage-row",children:[at("span",{className:"cortex-llm-inspector__usage-lbl",children:t("translate_output")}),at("span",{className:"cortex-llm-inspector__usage-val",children:q(e.output.total)}),st("span",{className:"cortex-llm-inspector__usage-detail",children:[t("translate_text")," ",q(e.output.text)," · ",t("translate_reasoning")," ",q(e.output.reasoning)]})]}),st("div",{className:"cortex-llm-inspector__usage-row cortex-llm-inspector__usage-row--total",children:[at("span",{className:"cortex-llm-inspector__usage-lbl",children:t("translate_total")}),at("span",{className:"cortex-llm-inspector__usage-val",children:q(e.total)})]})]})}import{jsx as vs,jsxs as mn}from"react/jsx-runtime";function ws({usage:e}){let t=St(e);return mn("span",{className:"cortex-llm-inspector__step-metrics",children:[mn("span",{className:"cortex-llm-inspector__metric",children:[vs("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--input"}),q(e.input.total)]}),mn("span",{className:"cortex-llm-inspector__metric",children:[vs("span",{className:"cortex-llm-inspector__dot cortex-llm-inspector__dot--output"}),q(e.output.total)]}),t!==null&&mn("span",{className:"cortex-llm-inspector__cache-pct",children:[t,"%"]})]})}import{jsx as z,jsxs as He}from"react/jsx-runtime";function Cs({messageId:e}){let{t,widget:n}=_(),r=k((M)=>M.selected?.id),[o,a]=At(!1),[s,i]=At("idle"),[l,c]=At([]),[d,u]=At(null),[p,m]=At({});async function f(){if(!o&&s!=="loaded"&&r){i("loading");try{c(await n.api.listLlmRequests(r,e)),i("loaded")}catch{i("failed")}}a((M)=>!M)}function w(M){u((U)=>U===M?null:M)}function T(M){return p[M]??"prompt"}function N(M,U){m((S)=>({...S,[M]:U}))}function I(M){return T(M.id)==="prompt"?M.prompt:M.output}return He("div",{className:b("cortex-llm-inspector",o&&"cortex-llm-inspector--open"),children:[He("button",{className:"cortex-llm-inspector__trigger",onClick:()=>void f(),children:[z("svg",{className:"cortex-llm-inspector__icon",width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:z("path",{d:v.search,fill:"currentColor"})}),z("span",{children:t("translate_inspect_llm_requests")}),s==="loading"?z("span",{className:"cortex-llm-inspector__loading",children:t("translate_loading")}):l.length>0?z("span",{className:"cortex-llm-inspector__badge",children:l.length}):null,z("svg",{className:"cortex-llm-inspector__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:z("path",{d:v.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),z("div",{className:"cortex-llm-inspector__panel-wrapper",children:z("div",{className:"cortex-llm-inspector__panel-inner",children:He("div",{className:"cortex-llm-inspector__panel",children:[l.length===0&&s!=="loading"&&z("div",{className:"cortex-llm-inspector__empty",children:t(s==="failed"?"translate_error":"translate_no_llm_requests")}),l.map((M,U)=>He("div",{className:b("cortex-llm-inspector__step",d===M.id&&"cortex-llm-inspector__step--expanded"),children:[He("button",{className:"cortex-llm-inspector__step-header",onClick:()=>w(M.id),children:[z("span",{className:"cortex-llm-inspector__step-label",children:t("translate_step_n",{number:U+1})}),M.tokenUsage&&z(ws,{usage:M.tokenUsage}),z("svg",{className:"cortex-llm-inspector__step-chevron",width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",children:z("path",{d:v.chevronDown,stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),z("div",{className:"cortex-llm-inspector__step-body-wrapper",children:z("div",{className:"cortex-llm-inspector__step-body-inner",children:He("div",{className:"cortex-llm-inspector__step-body",children:[M.tokenUsage&&z(bs,{usage:M.tokenUsage}),He("div",{className:"cortex-llm-inspector__tabs",children:[z("button",{className:b("cortex-llm-inspector__tab",T(M.id)==="prompt"&&"cortex-llm-inspector__tab--active"),onClick:()=>N(M.id,"prompt"),children:t("translate_request")}),z("button",{className:b("cortex-llm-inspector__tab",T(M.id)==="response"&&"cortex-llm-inspector__tab--active"),onClick:()=>N(M.id,"response"),children:t("translate_response")})]}),He("div",{className:"cortex-llm-inspector__json-pane",children:[z(_e,{className:"cortex-llm-inspector__json-copy",value:Gr(I(M))}),z(We,{data:Vr(I(M)),expandDepth:2})]})]})})})]},M.id))]})})})]})}import{useState as wd}from"react";import{jsx as F,jsxs as G}from"react/jsx-runtime";function ks({usage:e,modelId:t}){let{t:n}=_(),[r,o]=wd(!1),a=St(e)??0;return G("div",{className:b("cortex-token-usage",r&&"cortex-token-usage--expanded"),children:[G("button",{className:"cortex-token-usage__summary",onClick:()=>o((s)=>!s),children:[G("span",{className:"cortex-token-usage__total",children:[F("span",{className:"cortex-token-usage__total-number",children:q(e.total)}),F("span",{className:"cortex-token-usage__total-label",children:n("translate_tokens")})]}),t?F("span",{className:"cortex-token-usage__model",children:t}):null,G("span",{className:"cortex-token-usage__pills",children:[G("span",{className:"cortex-token-usage__pill",children:[F("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),q(e.input.total)]}),G("span",{className:"cortex-token-usage__pill",children:[F("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--output"}),q(e.output.total)]})]}),a>0&&G("span",{className:"cortex-token-usage__cache-badge",children:[a,"%"]}),F("svg",{className:"cortex-token-usage__chevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:F("path",{d:v.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: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:[F("span",{className:"cortex-token-usage__dot cortex-token-usage__dot--input"}),F("span",{className:"cortex-token-usage__col-label",children:n("translate_input")}),F("span",{className:"cortex-token-usage__col-total",children:q(e.input.total)})]}),G("div",{className:"cortex-token-usage__rows",children:[e.input.noCache?G("div",{className:"cortex-token-usage__row",children:[F("span",{className:"cortex-token-usage__row-label",children:n("translate_fresh")}),F("span",{className:"cortex-token-usage__row-value",children:q(e.input.noCache)})]}):null,e.input.cacheRead?G("div",{className:"cortex-token-usage__row",children:[F("span",{className:"cortex-token-usage__row-label",children:n("translate_cache_read")}),F("span",{className:"cortex-token-usage__row-value",children:q(e.input.cacheRead)})]}):null,e.input.cacheWrite?G("div",{className:"cortex-token-usage__row",children:[F("span",{className:"cortex-token-usage__row-label",children:n("translate_cache_write")}),F("span",{className:"cortex-token-usage__row-value",children:q(e.input.cacheWrite)})]}):null]}),a>0&&G("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:`${a}%`}})}),F("span",{className:"cortex-token-usage__cache-label",children:n("translate_n_percent_cached",{percent:a})})]})]}),G("div",{className:"cortex-token-usage__col",children:[G("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:n("translate_output")}),F("span",{className:"cortex-token-usage__col-total",children:q(e.output.total)})]}),G("div",{className:"cortex-token-usage__rows",children:[e.output.text?G("div",{className:"cortex-token-usage__row",children:[F("span",{className:"cortex-token-usage__row-label",children:n("translate_text")}),F("span",{className:"cortex-token-usage__row-value",children:q(e.output.text)})]}):null,e.output.reasoning?G("div",{className:"cortex-token-usage__row",children:[F("span",{className:"cortex-token-usage__row-label",children:n("translate_reasoning")}),F("span",{className:"cortex-token-usage__row-value",children:q(e.output.reasoning)})]}):null]})]})]})})})]})}import{jsx as Ts,jsxs as Cd}from"react/jsx-runtime";function Ss({messageId:e,metadata:t}){let{tokenUsage:n}=t;return Cd("div",{className:"cortex-message-debug-zone",children:[n&&Ts(ks,{usage:n,modelId:t.modelId}),Ts(Cs,{messageId:e})]})}import{jsx as he,jsxs as Lt}from"react/jsx-runtime";function Ms(e){let{reasoningPart:t,streaming:n=!1}=e,{t:r}=_();return Lt("details",{className:"cortex-reasoning-details",children:[Lt("summary",{className:"cortex-reasoning-details__summary",children:[Lt("div",{className:"cortex-reasoning-details__header",children:[he("span",{className:"cortex-reasoning-details__icon",children:Lt("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:[he("path",{d:v.bulb[0],stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}),he("path",{d:v.bulb[1],stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})]})}),he("div",{className:"cortex-reasoning-details__title-group",children:Lt("div",{className:"cortex-reasoning-details__title-row",children:[he("div",{className:"cortex-reasoning-details__title",children:r("translate_reasoning")}),he("span",{className:b("cortex-reasoning-details__badge",n?"cortex-reasoning-details__badge--streaming":"cortex-reasoning-details__badge--done"),children:n?r("translate_streaming"):r("translate_done")})]})})]}),he("span",{className:"cortex-reasoning-details__chevron","aria-hidden":"true",children:he("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:he("path",{d:v.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),he("div",{className:"cortex-reasoning-details__body",children:he("div",{className:"cortex-reasoning-details__content",children:he("pre",{dir:"auto",className:"cortex-reasoning-details__pre",children:t.content.trim()?t.content:r("translate_no_reasoning")})})})]})}import{useEffect as Is,useMemo as Ud,useState as Os}from"react";import{useEffect as Sd,useState as Md}from"react";import{useRef as kd,useState as Td}from"react";import{jsx as Ae,jsxs as fn}from"react/jsx-runtime";function it(e){let{label:t,ready:n=!0,actions:r,expanded:o,children:a}=e,{t:s}=_(),i=kd(null),[l,c]=Td(!1);return fn("div",{className:"cortex-expandable",children:[n&&fn("div",{className:"cortex-expandable__toolbar",role:"group","aria-label":t,children:[r,Ae("button",{type:"button",className:"cortex-expandable__action","aria-label":s("translate_expand",{name:t}),title:s("translate_expand",{name:t}),onClick:()=>{c(!0),i.current?.showModal()},children:Ae("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:Ae("path",{d:v.expand,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),Ae("div",{className:"cortex-expandable__content",children:a}),fn("dialog",{ref:i,className:"cortex-expandable__dialog","aria-label":t,closedby:"any",onClose:()=>c(!1),children:[fn("div",{className:"cortex-expandable__head",children:[Ae("span",{className:"cortex-expandable__title",children:t}),r,Ae("button",{type:"button",className:"cortex-expandable__action","aria-label":s("translate_close"),title:s("translate_close"),onClick:()=>i.current?.close(),children:Ae("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:Ae("path",{d:v.close,stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})})]}),l&&Ae("div",{className:"cortex-expandable__body",children:o})]})]})}import{jsx as Et,jsxs as Nd}from"react/jsx-runtime";function Ns(e){let{id:t,alt:n,attachment:r}=e,{widget:o,t:a}=_(),[{url:s,failed:i},l]=Md({url:void 0,failed:!1});if(Sd(()=>Pr(o.api,t,l),[o,t]),i)return Et("p",{className:"cortex-attachment-image__caption",children:n?a("translate_image_unavailable_alt",{alt:n}):a("translate_image_unavailable")});if(!s)return null;return Nd("figure",{className:"cortex-attachment-image",children:[Et(it,{label:r?.filename||n||a("translate_image"),expanded:Et("img",{className:"cortex-attachment-image__expanded",src:s,alt:n}),children:Et("img",{src:s,alt:n})}),r&&Et("figcaption",{className:"cortex-attachment-image__caption",children:r.filename})]})}import{useEffect as Ad,useRef as Ld,useState as eo}from"react";import{jsx as de,jsxs as Rt,Fragment as Id}from"react/jsx-runtime";function Ed(e){let{t}=_();if(!e.pending&&!e.debugMode)return null;return Rt("div",{className:"cortex-media-block__head",children:[e.debugMode&&de("span",{className:"cortex-media-block__lang",children:e.language}),e.pending&&de("span",{className:"cortex-media-block__pending",children:t(rn(e.language).pending)}),e.debugMode&&e.closed&&Rt("span",{className:"cortex-media-block__actions",children:[e.onToggleSource&&de("button",{type:"button",className:"cortex-media-block__action","aria-pressed":e.sourceShown,onClick:e.onToggleSource,children:t("translate_media_source")}),de(_e,{value:e.source})]})]})}function As(e){let{t}=_(),n=k((r)=>r.debugMode);return de("div",{className:"cortex-media-block__body",children:Rt("p",{className:"cortex-media-block__error",children:[e.cutOff?t("translate_media_cut_off"):t("translate_media_failed"),!e.cutOff&&n&&` ${e.reason}`]})})}function Ls(e){let{language:t,source:n,closed:r,hidden:o,onError:a}=e,{config:s,scheme:i,locale:l}=_(),c=Ld(null);return Ad(()=>{a(void 0);let d=c.current;if(!r||!i||!d)return;return on(d,{language:t,source:n,context:{scheme:i,locale:l},overrides:s.mediaRenderers,onError:a})},[t,n,r,i,l,s.mediaRenderers,a]),de("div",{ref:c,hidden:o,className:b("cortex-media-block__body",`cortex-media-block__body--${t}`)})}function Rd(e){let[t,n]=eo();return Rt(Id,{children:[t&&de(As,{cutOff:!1,reason:t}),de(Ls,{language:e.language,source:e.source,closed:!0,hidden:Boolean(t),onError:n})]})}function Es(e){let{language:t,source:n,closed:r,streaming:o}=e,{t:a}=_(),s=k((f)=>f.debugMode),[i,l]=eo(),[c,d]=eo(!1),u=!r&&!o,p=u||Boolean(i);return Rt("div",{className:"cortex-media-block",children:[de(Ed,{language:t,source:n,pending:!r&&o,closed:r,debugMode:s,sourceShown:c,onToggleSource:p?void 0:()=>d((f)=>!f)}),p&&de(As,{cutOff:u,reason:i}),de(it,{label:a(rn(t).title),ready:r&&!p,expanded:de(Rd,{language:t,source:n}),children:de(Ls,{language:t,source:n,closed:r,hidden:p,onError:l})}),s&&(p||c)&&de("pre",{dir:"ltr",className:"cortex-media-block__source",children:n})]})}import{useMemo as Od,useRef as Pd}from"react";import{jsx as Qe}from"react/jsx-runtime";function Rs(e){let{t}=_(),n=Pd(null),r=Od(()=>({__html:wt(e.text)}),[e.text]);return Qe("div",{className:"cortex-table-block",children:Qe(it,{label:t("translate_table"),ready:e.closed,actions:Qe("button",{type:"button",className:"cortex-expandable__action","aria-label":t("translate_table_export"),title:t("translate_table_export"),onClick:()=>n.current&&Or(n.current),children:Qe("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:Qe("path",{d:v.downloadTray,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),expanded:Qe("div",{className:"cortex-table-block__expanded",dangerouslySetInnerHTML:r}),children:Qe("div",{ref:n,dangerouslySetInnerHTML:r})})})}import{jsx as lt}from"react/jsx-runtime";function gn(e){let{role:t,textPart:n,streaming:r=!1,attachments:o}=e,{config:a}=_(),[s,i]=Os({text:n.content,fading:[]}),[l]=Os(()=>new ze((u,p)=>i((m)=>m.text===u&&!m.fading.length&&!p.length?m:{text:u,fading:p})));Is(()=>l.follow(n.content,t==="assistant"&&r),[l,t,r,n]),Is(()=>()=>l.destroy(),[l]);let c=r||s.text!==n.content,d=Ud(()=>{let u=Ir(s.text,{role:t,languages:qr(a.mediaRenderers),attachments:o,arriving:c});return u.map((p,m)=>p.kind==="markdown"?{...p,html:{__html:wt(p.text,m===u.length-1?s.fading:[])}}:p)},[t,s,a.mediaRenderers,o,c]);return lt("div",{className:b("cortex-text-part",t==="assistant"&&"cortex-text-part--assistant",t==="user"&&"cortex-text-part--user"),children:lt("div",{className:b("cortex-text-bubble",t==="assistant"&&"cortex-text-bubble--assistant",t==="user"&&"cortex-text-bubble--user"),children:d.map((u,p)=>{switch(u.kind){case"markdown":return lt("div",{dangerouslySetInnerHTML:u.html},p);case"media":return lt(Es,{...u,streaming:c},p);case"table":return lt(Rs,{text:u.text,closed:u.closed},p);case"attachment":return lt(Ns,{...u},p)}})})})}import{useEffect as Qs,useRef as uo,useState as Js}from"react";import{useEffect as Wd,useState as Hd}from"react";import{jsx as It,jsxs as Ps}from"react/jsx-runtime";function ct({activity:e,className:t}){let{t:n}=_(),r=Hn(e),[o,a]=Hd({index:0,phase:"idle"}),s=r.length;return Wd(()=>Yn(s,a),[s]),Ps("div",{className:b("cortex-subtle-activity",t),children:[Ps("div",{className:"cortex-subtle-activity__dots",children:[It("span",{className:"cortex-subtle-activity__dot"}),It("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d1"}),It("span",{className:"cortex-subtle-activity__dot cortex-subtle-activity__dot--d2"})]}),It("div",{className:"cortex-subtle-activity__label-mask",children:It("span",{className:b("cortex-subtle-activity__label",`cortex-subtle-activity__label--${o.phase}`),children:n(r[o.index])})})]})}import{jsx as Ot,jsxs as Bd}from"react/jsx-runtime";function Be({state:e,active:t}){return Bd("span",{className:"cortex-tool-pill__icon","aria-hidden":"true",children:[Ot("span",{className:b("cortex-tool-pill__spinner",t&&"cortex-tool-pill__spinner--visible")}),Ot("svg",{className:b("cortex-tool-pill__svg cortex-tool-pill__svg--check",e==="complete"&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:Ot("path",{d:v.statusCheck,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),Ot("svg",{className:b("cortex-tool-pill__svg",e==="error"&&"cortex-tool-pill__svg--error",(e==="error"||e==="declined")&&"cortex-tool-pill__svg--visible"),viewBox:"0 0 20 20",fill:"none",children:Ot("path",{d:v.statusCross,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})]})}import{jsx as Fe,jsxs as Pt,Fragment as Fd}from"react/jsx-runtime";function Us({toolCallPart:e,asking:t}){let{t:n,widget:r}=_(),o=Wn(e),a=o.title??n(o.fallbackKey,o.fallbackParams),s=`cortex-approval-${e.id}`,i=o.decision==="pending";function l(c){r.respondToApproval(e,c).catch(()=>{})}return Pt("div",{className:b("cortex-approval-card",i&&"cortex-approval-card--asking"),children:[i?Pt(Fd,{children:[Pt("div",{className:"cortex-approval-card__head",children:[Fe("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:Fe("path",{d:v.shield,stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"})}),n("translate_approval_needed")]}),Fe("p",{className:"cortex-approval-card__sentence",id:s,children:a})]}):Pt("div",{className:"cortex-approval-card__line",children:[Fe(Be,{state:o.state,active:o.active}),o.decisionKey&&Fe("span",{className:"cortex-approval-card__decision",children:n(o.decisionKey)}),Fe("span",{className:"cortex-approval-card__summary",children:a})]}),i&&t&&Pt("div",{className:"cortex-approval-card__foot",children:[Fe("button",{type:"button",className:"cortex-approval-card__button cortex-approval-card__button--primary","aria-describedby":s,onClick:()=>l(!0),children:n("translate_approve")}),Fe("button",{type:"button",className:"cortex-approval-card__button","aria-describedby":s,onClick:()=>l(!1),children:n("translate_deny")})]})]})}import{useEffect as Ws,useRef as to,useState as Dd}from"react";import{jsx as De,jsxs as no}from"react/jsx-runtime";function Hs({toolCallPart:e,setOutput:t}){let{t:n,locale:r}=_(),o=k((l)=>l.selected?.id),{state:a,id:s}=e,i=Ar(e,r);if(a==="complete"||a==="error"){let{glyph:l,titleKey:c}=Lr(e);return no("div",{className:"cortex-tool-pill",children:[De(Be,{state:l,active:!1}),De("span",{className:"cortex-tool-pill__title",children:n(c,{server:i?.label??""})})]})}if(a!=="input-complete"||!i||!o)return null;return De($d,{call:i,threadId:o,toolCallId:s,submit:t},s)}function $d({call:e,threadId:t,toolCallId:n,submit:r}){let{t:o,widget:a}=_(),s=to(void 0),[i,l]=Dd(en),c=to({call:e,submit:r});c.current={call:e,submit:r},Ws(()=>{let T=Rr({call:c.current.call,threadId:t,toolCallId:n,api:a.api,host:window,onState:l,submit:(N)=>c.current.submit(N)});return s.current=T,()=>{if(T.dispose(),s.current===T)s.current=void 0}},[t,n,a]);let d=Er(i,e.moreAccess),u=to(null);Ws(()=>{if(!d.asking)u.current?.focus()},[d.asking]);let p={server:e.label},m=`cortex-connect-${n}`,f=`${m}-status`,w=d.asking?m:f;return no("div",{className:"cortex-connect-card",children:[De("span",{className:"cortex-connect-card__server",children:e.label}),d.asking&&De("p",{className:"cortex-connect-card__title",id:m,children:o(d.titleKey,p)}),De("p",{className:b("cortex-connect-card__text",d.failed&&"cortex-connect-card__text--failed"),id:f,role:"status",children:o(d.lineKey,p)}),no("div",{className:"cortex-connect-card__actions",children:[De("button",{ref:u,type:"button",className:"cortex-connect-card__button","aria-describedby":w,disabled:d.disabled,onClick:()=>s.current?.cancel(),children:o(d.dismissKey)}),d.asking&&De("button",{type:"button",className:"cortex-connect-card__button cortex-connect-card__button--primary","aria-describedby":w,disabled:d.disabled,onClick:()=>s.current?.connect(),children:o(d.actionKey)})]})]})}import{useEffect as Bs,useRef as _n,useState as Fs}from"react";import{jsx as Q,jsxs as xe}from"react/jsx-runtime";function Ds({toolCallPart:e,setOutput:t}){let{t:n}=_(),{state:r,id:o,input:a}=e;if(r==="complete"||r==="error"){let s=Mr(e.output);return s?Q(jd,{position:s}):xe("div",{className:"cortex-tool-pill",children:[Q(Be,{state:r==="error"?"error":"declined",active:!1}),Q("span",{className:"cortex-tool-pill__title",children:n("translate_location_not_shared")})]})}if(r!=="input-complete")return null;return Q(qd,{center:Sr(a),submit:t},o)}function qd({center:e,submit:t}){let{t:n}=_(),r=_n(null),o=_n(void 0),[a,s]=Fs(Xt),i=_n({center:e,submit:t});i.current={center:e,submit:t},Bs(()=>{let c=r.current;if(!c)return;let d=kr(c,{center:i.current.center,onState:s,submit:(u)=>i.current.submit(u)});return o.current=d,d.start(),()=>{if(d.dispose(),o.current===d)o.current=void 0}},[]);let l=Nr(a);return xe("div",{className:"cortex-location-input",children:[xe("div",{className:"cortex-location-input__map",children:[Q("div",{className:"cortex-location-input__canvas",ref:r}),Q("button",{type:"button",className:"cortex-location-input__locate","aria-label":n("translate_location_locate"),title:n("translate_location_locate"),disabled:a.locating||a.submitting,onClick:()=>o.current?.locate(),children:Q(Kd,{})})]}),xe("div",{className:"cortex-location-input__foot",children:[a.position&&!a.deliveryFailed?Q("span",{className:"cortex-location-input__coords",children:Zt(a.position)}):xe("span",{className:b("cortex-location-input__hint",l.failed&&"cortex-location-input__hint--failed"),children:[a.locating&&Q("span",{className:"cortex-location-input__spinner"}),n(l.key)]}),xe("span",{className:"cortex-location-input__actions",children:[Q("button",{type:"button",className:"cortex-location-input__skip",disabled:a.submitting,onClick:()=>o.current?.cancel(),children:n("translate_location_skip")}),Q("button",{type:"button",className:"cortex-location-input__send",disabled:!a.position||a.submitting,onClick:()=>o.current?.confirm(),children:n("translate_location_send")})]})]})]})}function jd({position:e}){let{t}=_(),n=_n(null),[r,o]=Fs(!1),{lat:a,lng:s}=e;return Bs(()=>{let i=n.current;if(!i)return;return o(!1),Tr(i,{lat:a,lng:s},()=>o(!0))},[a,s]),xe("div",{className:"cortex-location-input cortex-location-input--settled",children:[xe("div",{className:"cortex-location-input__map cortex-location-input__map--still",children:[Q("div",{className:"cortex-location-input__canvas",ref:n,hidden:r}),r&&Q("span",{className:"cortex-location-input__still-failed",children:t("translate_location_map_failed")})]}),xe("div",{className:"cortex-location-input__body",children:[xe("span",{className:"cortex-location-input__title",children:[Q("svg",{viewBox:"0 0 20 20",fill:"none",children:Q("path",{d:v.statusCheck,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),t("translate_location_shared")]}),Q("span",{className:"cortex-location-input__coords",children:Zt(e)})]})]})}function Kd(){return xe("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:[Q("circle",{cx:"10",cy:"10",r:"5.5"}),Q("circle",{cx:"10",cy:"10",r:"1.6",fill:"currentColor",stroke:"none"}),Q("path",{d:v.crosshair})]})}import{jsx as be,jsxs as dt}from"react/jsx-runtime";function $s({toolCallPart:e}){let{t}=_(),n=Dn(e),r=e.output;switch(n?.kind){case"output":return dt("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--success",children:[dt("div",{className:"cortex-debug-tool__section-bar",children:[be("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--success",children:t("translate_output")}),be("span",{className:"cortex-debug-tool__section-lang",children:"json"}),be(_e,{value:n.text})]}),be("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:be(We,{data:r,expandDepth:2})})]});case"error":return dt("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--error",children:[dt("div",{className:"cortex-debug-tool__section-bar",children:[be("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--error",children:t("translate_error")}),be(_e,{value:n.text})]}),be("pre",{dir:"ltr",className:"cortex-debug-tool__error-pre",children:n.text})]});case"approval":return dt("div",{className:"cortex-debug-tool__section cortex-debug-tool__section--approval",children:[dt("div",{className:"cortex-debug-tool__section-bar",children:[be("span",{className:"cortex-debug-tool__section-label cortex-debug-tool__section-label--approval",children:t(n.labelKey)}),be("span",{className:"cortex-debug-tool__section-lang",children:n.approvalId})]}),be("div",{className:"cortex-debug-tool__message cortex-debug-tool__message--approval",children:t(n.messageKey)})]});default:return null}}import{jsx as zd,jsxs as Vd}from"react/jsx-runtime";function qs({toolCallPart:e}){let{t}=_(),n=Pn(e);return Vd("span",{className:b("cortex-debug-tool__state",n.modifier&&`cortex-debug-tool__state--${n.modifier}`),children:[n.pulse&&zd("span",{className:b("cortex-debug-tool__pulse",n.pulse==="violet"&&"cortex-debug-tool__pulse--violet")}),t(n.labelKey)]})}import{jsx as J,jsxs as Le}from"react/jsx-runtime";function js({toolCallPart:e}){let{t}=_(),{codeSnippets:n,remainingInput:r,remainingInputText:o}=Un(e.input);return Le("details",{className:"cortex-debug-tool","data-state":e.state,children:[J("summary",{className:"cortex-debug-tool__summary",children:Le("div",{className:"cortex-debug-tool__header",children:[Le("div",{className:"cortex-debug-tool__meta",children:[J("div",{className:"cortex-debug-tool__title-row",children:J("span",{className:"cortex-debug-tool__name",title:e.name,children:e.name})}),J("div",{className:"cortex-debug-tool__id-row",children:J("span",{className:"cortex-debug-tool__id",children:e.id})})]}),Le("div",{className:"cortex-debug-tool__actions",children:[J(qs,{toolCallPart:e}),J("svg",{className:"cortex-debug-tool__chevron",width:"14",height:"14",viewBox:"0 0 20 20",fill:"none",children:J("path",{d:v.chevronDownLarge,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})}),Le("div",{className:"cortex-debug-tool__body",children:[n.map((a)=>Le("div",{className:"cortex-debug-tool__section",children:[Le("div",{className:"cortex-debug-tool__section-bar",children:[J("span",{className:"cortex-debug-tool__section-label",children:a.key}),J("span",{className:"cortex-debug-tool__section-lang",children:a.lang}),J(_e,{value:a.value})]}),J("pre",{dir:"ltr",className:"cortex-debug-tool__pre",children:J("code",{className:"hljs",dangerouslySetInnerHTML:{__html:Kr(a.value,a.lang)}})})]},a.key)),!!r&&Le("div",{className:"cortex-debug-tool__section",children:[Le("div",{className:"cortex-debug-tool__section-bar",children:[J("span",{className:"cortex-debug-tool__section-label",children:t("translate_input")}),J("span",{className:"cortex-debug-tool__section-lang",children:"json"}),J(_e,{value:o})]}),J("div",{dir:"ltr",className:"cortex-debug-tool__tree",children:J(We,{data:r,expandDepth:2})})]}),J($s,{toolCallPart:e})]})]})}import{jsx as Ut,jsxs as hn,Fragment as Gd}from"react/jsx-runtime";function ro(){return hn("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round","aria-hidden":"true",children:[Ut("circle",{cx:"8",cy:"8",r:"6"}),Ut("path",{d:v.clockHands})]})}function Ks({call:e}){let{t,locale:n,widget:r}=_(),o=k((i)=>i.session.messages),a=k((i)=>i.cancelledCheckBacks),s=Rn(e,o,{cancelled:a,now:Date.now()});if(!s)return null;return hn("div",{className:"cortex-check-back",children:[Ut(ro,{}),hn("span",{children:[t(s.statusKey,{time:me(s.dueAt,n)}),s.note&&hn(Gd,{children:[" · ",Ut("b",{dir:"auto",children:s.note})]})]}),s.state==="pending"&&Ut("button",{type:"button",className:"cortex-check-back__cancel",onClick:()=>void r.cancelCheckBack(s.id),children:t("translate_check_back_cancel")})]})}import{useEffect as zs,useId as Qd,useRef as Jd,useState as Yd}from"react";import{jsx as Y,jsxs as ve}from"react/jsx-runtime";function oo(){return ve("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[Y("path",{d:v.sparkles[0]}),Y("path",{d:v.sparkles[1]})]})}function ao({card:e}){return Y("span",{className:b("cortex-subagent-avatar",e.running&&"cortex-subagent-avatar--live",e.status==="failed"&&"cortex-subagent-avatar--off"),children:Y(oo,{})})}function so(e,t){let{widget:n}=_(),r=Qt(e,t),o=k((l)=>l.session.isAgentWorking),a=k((l)=>r?l.copies[r]:void 0),s=k((l)=>r?ft(l.session.messages,r):void 0),i=zn(e,t,{agentWorking:o,run:a,wake:s});return zs(()=>{if(i.readsRun&&i.id)n.readCopy(i.id)},[i.readsRun,i.id,o,n]),i}function Vs({call:e,message:t}){let{t:n,widget:r}=_(),o=so(e,t),{id:a}=o,i=k((l)=>l.capabilities?.messages===!0)&&o.running?a:void 0;return ve("div",{className:b("cortex-subagent-card",o.running&&"cortex-subagent-card--live",o.status==="failed"&&"cortex-subagent-card--off",i&&"cortex-subagent-card--more"),children:[ve("span",{className:"cortex-subagent-card__announce",role:"status",children:[o.label," · ",n(o.statusKey)]}),Y(ao,{card:o}),ve("span",{className:"cortex-subagent-card__body",children:[ve("span",{className:"cortex-subagent-card__caption",children:[n("translate_subagent")," ",ve("span",{className:"cortex-subagent-card__status","aria-hidden":"true",children:["· ",n(o.statusKey)]})]}),Y("span",{className:"cortex-subagent-card__title",dir:"auto",children:o.brief})]}),i&&Y(io,{id:i,offersMessage:!0}),a&&Y("button",{type:"button",className:"cortex-subagent-card__open","aria-label":n("translate_subagent_open"),onClick:()=>r.openCopy(a),children:Y("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:Y("path",{d:v.chevronRight,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),o.line&&Y("span",{className:`cortex-subagent-card__line cortex-subagent-card__line--${o.line.kind}`,dir:"auto",children:"text"in o.line?o.line.text:n(o.line.key)})]})}function io({id:e,offersMessage:t=!1}){let{t:n,widget:r}=_(),[o,a]=Yd(!1),s=Qd(),i=Jd(null);return zs(()=>{if(!o||!i.current)return;return gt(i.current,()=>a(!1))},[o]),ve("div",{ref:i,className:"cortex-subagent-menu",children:[Y("button",{type:"button",id:s,className:"cortex-subagent-menu__more","aria-label":n("translate_subagent_more"),"aria-haspopup":"menu","aria-expanded":o,onClick:()=>a(!o),children:ve("svg",{viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true",children:[Y("circle",{cx:"3.5",cy:"8",r:"1.25"}),Y("circle",{cx:"8",cy:"8",r:"1.25"}),Y("circle",{cx:"12.5",cy:"8",r:"1.25"})]})}),o&&ve("div",{className:"cortex-subagent-menu__list",role:"menu","aria-labelledby":s,children:[t&&ve("button",{type:"button",role:"menuitem",className:"cortex-subagent-menu__item",onClick:()=>{a(!1),r.openCopy(e,!0)},children:[Y("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:Y("path",{d:v.bubble,stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round"})}),n("translate_subagent_message")]}),ve("button",{type:"button",role:"menuitem",className:"cortex-subagent-menu__item cortex-subagent-menu__item--danger",onClick:()=>{a(!1),r.cancelCopy(e)},children:[Y("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:Y("rect",{x:"4",y:"4",width:"8",height:"8",rx:"1.5",stroke:"currentColor",strokeWidth:"1.4"})}),n("translate_subagent_cancel")]})]})]})}import{jsx as lo,jsxs as Xd}from"react/jsx-runtime";function Gs({toolCallPart:e}){let{t}=_(),{state:n,active:r,titleKey:o,statement:a,rows:s}=Pe(e);return Xd("div",{className:"cortex-tool-pill",children:[lo(Be,{state:n,active:r}),lo("span",{className:b("cortex-tool-pill__title",n==="error"&&"cortex-tool-pill__title--error",n==="starting"&&a&&"cortex-tool-pill__title--pending"),children:a??t(o)}),s!==void 0&&lo("span",{className:"cortex-tool-pill__meta",children:t("translate_rows",{count:s})})]})}import{jsx as ee,jsxs as co}from"react/jsx-runtime";var Zd={[zt]:Ds,[Vt]:Hs};function Ys({message:e,toolCallPart:t}){let{config:n,widget:r}=_(),o=k((u)=>u.session.isAgentWorking),a=k((u)=>u.capabilities),s=k((u)=>u.debugMode),[i,l]=Js(!1),c=Fn(t,{agentWorking:o,capabilities:a,debugMode:s,consumerTools:n.toolComponents,builtInTools:Zd,embedUnavailable:i});function d(){switch(c.kind){case"consumer":case"builtIn":return ee(c.component,{toolCallPart:t,message:e,setOutput:(u)=>r.addToolResult(t.id,t.name,u)});case"embed":return ee(eu,{toolCallPart:t,onUnavailable:()=>l(!0)});case"approval":return ee(Us,{toolCallPart:t,asking:c.asking});case"subagent":return ee(Vs,{call:t,message:e});case"checkBack":return ee(Ks,{call:t});case"debug":return ee(js,{toolCallPart:t});case"activity":return ee(ct,{activity:c.activity});case"pill":return ee(Gs,{toolCallPart:t})}}return ee("div",{className:"cortex-tool-call-animated",children:d()})}function eu({toolCallPart:e,onUnavailable:t}){let{t:n,widget:r,config:o}=_(),a=k((u)=>u.selected?.id),[s,i]=Js({phase:"initiating"}),l=uo(void 0),c=uo({widget:r,config:o,onUnavailable:t,toolName:e.name});if(c.current={widget:r,config:o,onUnavailable:t,toolName:e.name},Qs(()=>{if(!a){c.current.onUnavailable();return}let u=Cr({initiate:()=>c.current.widget.api.initiateToolCall(a,e.id),onState:(p)=>{if(i(p),p.phase==="unavailable")c.current.onUnavailable()},submit:(p)=>c.current.widget.addToolResult(e.id,c.current.toolName,p),host:window,trustSameOrigin:c.current.config.trustSameOriginEmbeds});return l.current=u,u.start(),()=>{if(u.dispose(),l.current===u)l.current=void 0}},[e.id,a]),!a||s.phase==="unavailable")return null;let d=co("div",{className:"cortex-client-tool-embed",children:[co("div",{className:"cortex-client-tool-embed__bar",children:[ee("span",{children:n("translate_client_tool_title")}),ee("button",{type:"button",className:"cortex-client-tool-embed__cancel",onClick:()=>l.current?.cancel(),children:n("translate_client_tool_cancel")})]}),s.phase==="embedded"?ee("iframe",{className:"cortex-client-tool-embed__frame",src:s.embedUrl,sandbox:s.sandbox,title:n("translate_client_tool_title"),ref:(u)=>l.current?.setSource(u?.contentWindow),onLoad:(u)=>l.current?.frameLoaded(u.currentTarget)}):s.phase==="error"?co("div",{className:"cortex-client-tool-embed__status",children:[ee("span",{children:n("translate_client_tool_failed")}),ee("button",{type:"button",className:"cortex-client-tool-embed__retry",onClick:()=>void l.current?.start(),children:n("translate_client_tool_retry")})]}):ee("div",{className:"cortex-client-tool-embed__status",children:n("translate_client_tool_loading")})]});return s.phase==="embedded"&&s.surface==="modal"?ee(tu,{label:n("translate_client_tool_title"),onCancel:()=>l.current?.cancel(),children:d}):d}function tu({label:e,onCancel:t,children:n}){let r=uo(null);return Qs(()=>{let o=r.current;return o?.showModal(),()=>o?.close()},[]),ee("dialog",{ref:r,className:"cortex-client-tool-embed-dialog","aria-label":e,onCancel:(o)=>{o.preventDefault(),t()},children:n})}import{jsx as Wt,jsxs as nu}from"react/jsx-runtime";function Xs(e){let{message:t,part:n,animate:r,streaming:o,attachments:a}=e,{t:s}=_(),i=k((c)=>c.debugMode);function l(){switch(n.type){case"text":return Wt(gn,{textPart:n,role:t.role,streaming:o,attachments:a});case"thinking":return i?Wt(Ms,{reasoningPart:n,streaming:o}):Wt(ct,{activity:"reasoning",className:"cortex-reasoning-animated"});case"tool-call":return Wt(Ys,{toolCallPart:n,message:t});default:return nu("p",{className:"cortex-unhandled-type",children:[s("translate_unhandled_type")," ",n.type]})}}return Wt("div",{className:b("cortex-message-part",r&&"cortex-message-part--animated",e.folded&&"cortex-message-part--folded"),"data-cortex-frontier":e.frontier?"":void 0,children:l()})}import{jsx as Ee,jsxs as po}from"react/jsx-runtime";function ou({isUser:e,clipboardText:t,createdAt:n}){let{locale:r}=_();return po("div",{className:b("cortex-message-actions",e&&"cortex-message-actions--user"),children:[t&&Ee(_e,{value:t}),n&&Ee("time",{className:"cortex-message-actions__time",dateTime:n,children:me(n,r)})]})}function au({count:e,animate:t,onOpen:n}){let{t:r}=_();return Ee("button",{type:"button",className:b("cortex-tool-fold",t&&"cortex-message-part--animated"),onClick:n,children:r("translate_more_steps",{count:e})})}function Zs(e){let{message:t,layout:n,animate:r,fold:o,onOpenRun:a,frontier:s}=e,{parts:i,metadata:l,actionsAfter:c}=n,{t:d}=_(),u=t.role==="user",p=l?.attachments,m=c&&Ee(ou,{isUser:u,clipboardText:Tt(i),createdAt:l?.createdAt});return po("div",{className:"cortex-message-parts",children:[i.map((f)=>{let w=o?.get(f);return po(ru,{children:[Ee(Xs,{part:f,message:t,animate:r,streaming:f===n.streamingPart,attachments:p,frontier:f===s,folded:w?.kind==="hidden"}),w?.kind==="more"&&Ee(au,{count:w.count,animate:r,onOpen:()=>a(w.runId)}),f===c&&m]},t.parts.indexOf(f))}),p?.length?Ee(ys,{attachments:p,isUser:u}):null,l?.isAborted&&Ee(un,{label:d("translate_aborted")}),c==="end"&&m,n.debugStrip&&l&&Ee(Ss,{messageId:t.id,metadata:l})]})}import{jsx as ie,jsxs as we,Fragment as ti}from"react/jsx-runtime";function ni({event:e}){let{t,locale:n}=_(),r=k((s)=>s.debugMode),o=jn(e),a=In(e);if(o&&!r)return we("div",{className:"cortex-event-quote",children:[ie(oo,{}),we("span",{children:[t("translate_subagent_from"),": ",ie("b",{dir:"auto",children:o.brief})," · ",t(o.statusKey)]})]});if(a&&!r)return we("div",{className:"cortex-event-quote",children:[ie(ro,{}),we("span",{children:[t("translate_check_back_from",{time:me(a.dueAt,n)}),a.note&&we(ti,{children:[": ",ie("b",{dir:"auto",children:a.note})]})]})]});if(e.source==="trigger"&&!r)return we("div",{className:b("cortex-event-quote",e.note&&"cortex-event-quote--note"),children:[ie(ei,{}),we("span",{children:[t("translate_trigger_update"),e.note&&we(ti,{children:[": ",ie("b",{dir:"auto",children:e.note})]})," · ",ie("time",{dateTime:e.at,children:me(e.at,n)})]})]});return we("div",{className:b("cortex-trigger-block",r&&"cortex-trigger-block--debug"),children:[we("div",{className:"cortex-trigger-block__head",children:[ie(ei,{className:"cortex-trigger-block__icon"}),r&&ie("span",{children:t("translate_trigger_fired")}),ie("span",{className:"cortex-trigger-block__name",children:e.name}),ie("time",{className:"cortex-trigger-block__time",dateTime:e.at,children:me(e.at,n)})]}),r&&we("details",{className:"cortex-trigger-block__payload",children:[ie("summary",{children:t("translate_trigger_payload")}),ie(We,{data:e.payload,expandDepth:2})]})]})}function ei({className:e}){return ie("svg",{className:e,width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",children:ie("path",{d:v.bolt,fill:"currentColor"})})}import{jsx as Ht,jsxs as iu}from"react/jsx-runtime";var ri=su(function(t){let{message:n,isStreaming:r,closesTurn:o,animate:a,fold:s,onOpenRun:i,workingTurn:l,frontier:c}=t,{t:d}=_(),u=k((m)=>m.debugMode),p=Yr(n,{debugMode:u,isStreaming:r,fold:s,closesTurn:o});if(p.metadata?.event)return Ht("div",{className:"cortex-message",children:Ht(ni,{event:p.metadata.event})});if(!p.drawsBody)return Ht("div",{className:"cortex-message"});return iu("div",{className:b("cortex-message",l&&"cortex-message--working-turn"),children:[t.sender&&Ht("span",{className:`cortex-message__sender cortex-message__sender--${t.sender}`,children:d(Qr[t.sender])}),Ht(Zs,{message:n,layout:p,animate:a,fold:s,onOpenRun:i,frontier:c})]})});import{jsx as yn}from"react/jsx-runtime";var lu=[{role:"user",lines:[13,9]},{role:"assistant",lines:[16,18,12]},{role:"user",lines:[11]},{role:"assistant",lines:[14,15]}];function oi(){return yn("div",{className:"cortex-widget__messages-skeleton",children:lu.map((e,t)=>yn("div",{className:`cortex-widget__msg-skel cortex-widget__msg-skel--${e.role}`,children:yn("div",{className:`cortex-widget__msg-skel-bubble cortex-widget__msg-skel-bubble--${e.role}`,children:e.lines.map((n)=>yn("div",{className:"cortex-skeleton cortex-widget__msg-skel-line",style:{width:`${n}rem`}},n))})},t))})}import{jsx as se,jsxs as Dt,Fragment as ai}from"react/jsx-runtime";function pu(e,t,n){let r=Ft(null),o=Ft(null),a=Ft(void 0),[s,i]=mo(!1);return Bt(()=>{let l=r.current,c=o.current;if(!e||!l||!c)return;let d=Qn(l,c);return a.current=d,()=>{d.dispose(),a.current=void 0}},[e]),Bt(()=>a.current?.pin(),[t]),Bt(()=>a.current?.messagesChanged(n.at(-1)),[n]),du(()=>{i(!1),queueMicrotask(()=>i(!0))},[t]),{containerRef:r,contentRef:o,animateNewParts:s}}function mu({working:e}){let t=Ft(null),n=Ft(void 0);return Bt(()=>{let r=t.current;if(!r)return;let o=Jn(r);return n.current=o,()=>{o.dispose(),n.current=void 0}},[]),Bt(()=>n.current?.sync(e)),Dt("div",{ref:t,className:"cortex-working-avatar","aria-hidden":"true",children:[Dt("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[se("path",{d:v.sparkles[0]}),se("path",{d:v.sparkles[1]})]}),se("span",{className:"cortex-working-avatar__ring"})]})}function fu(){return k((t)=>t.session.queued).filter((t)=>t.delivery==="steer").map(({inputId:t,message:n})=>se("div",{className:"cortex-message",children:n.parts.map((r,o)=>r.type==="text"?se(gn,{role:"user",textPart:r},o):null)},t))}function xn(e){let{config:t,t:n}=_(),r=k((U)=>U.selected?.id),{messages:o,isAgentWorking:a,isLoadingMessages:s,turnFailure:i}=k((U)=>U.session),l=k((U)=>U.debugMode),c=k((U)=>U.capabilities),d=k((U)=>U.copy!==void 0),u=!s||a,p=pu(u,r,o),[m,f]=mo(new Set),w=cu((U)=>f((S)=>new Set(S).add(U)),[]),T=t.toolComponents,[N]=mo(Jr),{rows:I,thinking:M}=uu(()=>N(o,{agentWorking:a,debugMode:l,opened:m,consumerTools:T,capabilities:c,copyThread:d}),[N,o,a,l,m,T,c,d]);return Dt(ai,{children:[!u?se(oi,{}):se("div",{className:e.className,children:se("div",{ref:p.containerRef,className:"cortex-message-list",children:Dt("div",{ref:p.contentRef,className:"cortex-message-list__content",children:[I.map((U)=>se(ri,{...U,onOpenRun:w,animate:p.animateNewParts},U.message.id)),se(fu,{}),i&&Dt(ai,{children:[se(un,{label:n(pr(i))}),i.reason&&se("p",{className:"cortex-aborted-flag__reason",children:i.reason})]}),M&&se("div",{className:"cortex-working-thinking","data-cortex-frontier":"",children:se(ct,{activity:"reasoning"})}),se(mu,{working:a},r)]})})}),se(ln,{})]})}import{jsx as si,jsxs as gu}from"react/jsx-runtime";function ii(e){let{widget:t}=_(),n=k((o)=>o.screen),r=k((o)=>o.selected!==void 0);return gu("div",{className:b("cortex-widget__screen",n==="threads"?"cortex-widget__screen--right":"cortex-widget__screen--active",n==="copy"&&"cortex-widget__screen--covered"),children:[e.header,r?si(xn,{className:"cortex-widget__messages"}):e.landing,si("div",{className:"cortex-widget__sidebar-backdrop",onClick:t.closeHistory}),e.copyScreen]})}import{useMemo as _u,useSyncExternalStore as hu}from"react";import{jsx as te,jsxs as Re,Fragment as bn}from"react/jsx-runtime";function li({screen:e}){let t=_(),n=k((s)=>s.screen==="copy"),r=()=>e.getState().copy,o=hu(e.subscribe,r,r),a=_u(()=>({...t,widget:e}),[t,e]);return te("div",{className:b("cortex-widget__screen","cortex-subagent-screen",n?"cortex-widget__screen--active":"cortex-widget__screen--right"),children:o&&Re(bn,{children:[te(yu,{id:o.id}),te(Mt.Provider,{value:a,children:te(xn,{className:"cortex-widget__messages"},o.id)})]})})}function yu({id:e}){let t=k((r)=>Jt(r.session.messages,e)?.call),n=k((r)=>Jt(r.session.messages,e)?.message);if(!t||!n)return te(ci,{card:void 0});return te(xu,{call:t,message:n})}function xu({call:e,message:t}){return te(ci,{card:so(e,t)})}function ci({card:e}){let{t,widget:n}=_(),r=k((s)=>s.selected?.title),o=k((s)=>s.capabilities?.messages===!0),a=e&&!e.running?e.line:void 0;return Re(bn,{children:[Re("div",{className:"cortex-widget__chat-header",children:[Re("div",{className:"cortex-subagent-screen__crumb",children:[te("button",{type:"button",onClick:n.closeCopy,"aria-label":t("translate_back"),title:t("translate_back"),className:"cortex-widget__header-btn",children:te("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:"cortex-widget__back-icon",children:te("path",{d:v.chevronLeft,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),e&&Re(bn,{children:[te(ao,{card:e}),Re("span",{className:"cortex-subagent-screen__text",children:[te("span",{className:"cortex-subagent-screen__title",dir:"auto",children:e.brief}),Re("span",{className:"cortex-subagent-screen__sub",children:[te("b",{children:t("translate_subagent")})," · ",t(e.statusKey),r&&Re(bn,{children:[" · ",r]})]})]})]})]}),o&&e?.running&&e.id&&te(io,{id:e.id})]}),a&&Re("div",{className:`cortex-subagent-screen__strip cortex-subagent-screen__strip--${a.kind}`,children:[te("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:te("path",{d:a.kind==="failed"?v.statusCross:v.statusCheck,stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),te("span",{dir:"auto",children:"text"in a?a.text:t(a.key)})]})]})}import{jsx as V,jsxs as Je,Fragment as bu}from"react/jsx-runtime";function di(e){let{locale:t,t:n}=_(),{threads:r,deleteThread:o}=e;return V("div",{className:"cortex-widget__threads-list",children:r===void 0?[1,2,3,4].map((a)=>Je("div",{className:"cortex-widget__thread-skeleton",children:[V("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-icon"}),V("div",{className:"cortex-widget__thread-skeleton-lines",children:V("div",{className:"cortex-skeleton cortex-widget__thread-skeleton-line",style:{width:`${40+a*12}%`}})})]},a)):Je(bu,{children:[r.map((a)=>{let s=a.id===e.selectedThreadId,i=me(a.updatedAt,t);return Je("div",{className:b("cortex-widget__thread-item",s&&"cortex-widget__thread-item--active"),children:[V("div",{className:b("cortex-widget__thread-icon",s&&"cortex-widget__thread-icon--active"),children:V("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:V("path",{d:v.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),Je("button",{type:"button",onClick:()=>e.openThread(a),className:"cortex-widget__thread-info",children:[Je("div",{className:"cortex-widget__thread-title-row",children:[V("p",{dir:"auto",className:b("cortex-widget__thread-title",s&&"cortex-widget__thread-title--active"),children:a.title??n("translate_untitled")}),a.isRunning&&Je("span",{className:b("cortex-widget__thread-running",s&&"cortex-widget__thread-running--active"),children:[V("span",{className:"cortex-widget__thread-running-dot"}),n("translate_running")]})]}),i&&V("p",{className:"cortex-widget__thread-time",children:i})]}),o&&V("button",{type:"button","aria-label":n("translate_delete_conversation"),onClick:()=>o(a.id),className:b("cortex-widget__thread-delete",s&&"cortex-widget__thread-delete--active"),children:V("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",children:V("path",{d:v.close,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})})}),V("svg",{className:b("cortex-widget__thread-arrow",s&&"cortex-widget__thread-arrow--active"),width:"10",height:"10",viewBox:"0 0 16 16",fill:"none",children:V("path",{d:v.chevronRight,stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},a.id)}),!r.length&&Je("div",{className:"cortex-widget__threads-empty",children:[V("div",{className:"cortex-widget__threads-empty-icon",children:V("svg",{width:"18",height:"18",viewBox:"0 0 16 16",fill:"none",className:"cortex-widget__threads-empty-svg",children:V("path",{d:v.bubble,stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}),V("p",{className:"cortex-widget__threads-empty-title",children:n("translate_no_threads_yet")}),V("p",{className:"cortex-widget__threads-empty-subtitle",children:n("translate_start_a_new_conversation")}),e.newChat&&V("button",{onClick:e.newChat,className:"cortex-widget__new-chat-btn cortex-widget__new-chat-btn--empty-state",children:n("translate_new_chat")})]})]})})}import{useLayoutEffect as vu,useRef as wu}from"react";import{jsx as Cu,jsxs as pi}from"react/jsx-runtime";function ui(e){e.preventDefault()}function mi(e){let{locale:t}=_(),n=k((a)=>a.screen),r=k((a)=>a.sidebarOpen),o=wu(null);return vu(()=>{if(o.current)Xn(o.current)},[e.viewMode]),Cu("div",{className:b("cortex-widget",e.className),"data-cortex-theme":e.theme,dir:To[t],children:pi("div",{ref:o,className:b("cortex-widget__container",e.viewMode==="full"&&"cortex-widget__container--full",r&&"cortex-widget__container--sidebar-open"),onDragOver:ui,onDrop:ui,children:[pi("div",{className:b("cortex-widget__screen",n==="threads"&&"cortex-widget__screen--active",n!=="threads"&&"cortex-widget__screen--left"),children:[e.header,e.threadList]}),e.children]})})}import{jsx as ke}from"react/jsx-runtime";var Su={header:ms,landing:gs,threadList:di};function fo(e,t){return e?.[t]??Su[t]}function Mu({config:e,className:t,slots:n}){let{widget:r,parts:o}=ns(e),[a,s]=Tu();ku(()=>jr(e.theme,s),[e.theme]);let i=Xe(e.locale),l=fi(()=>({config:e,locale:i,t:(d,u)=>pe(i,d,u),scheme:a,widget:r}),[e,i,a,r]),c=fi(()=>{let d=wr(r,o,e,ke("div",{className:"cortex-widget__landing-composer",children:ke(ln,{})})),u=fo(n,"header"),p=fo(n,"landing"),m=fo(n,"threadList");return{threadsHeader:ke(u,{...d.threadsHeader}),threadList:ke(m,{...d.threadList}),chatHeader:ke(u,{...d.chatHeader}),landing:ke(p,{...d.landing})}},[r,o,e,n]);return ke(Mt.Provider,{value:l,children:ke(mi,{className:t,theme:e.theme,viewMode:e.viewMode??"helper",header:c.threadsHeader,threadList:c.threadList,children:ke(ii,{header:c.chatHeader,landing:c.landing,copyScreen:ke(li,{screen:r.copyScreen})})})})}export{Mu as CortexChatWidget};
|