PageSourceSearch

https://getmontecarlo.com/assets/constants-BkOwUAqz.js

js getmontecarlo.com collected 2026-10-01 11:26:59 UTC 446,403 bytes, 70 lines download raw bytes

1import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{A as t,j as n}from"./vendor-codemirror-DOxSoMuC.js";import{c as r,d as i,t as a}from"./apollo-client-Dumnwulo.js";import{t as o}from"./useQuery-BFl9WKXB.js";import{$s as s,Bn as c,Cn as l,Dn as u,En as d,Fn as f,Gc as p,Hd as m,Hn as h,In as g,Ji as _,Ln as v,Mn as y,Nn as b,Ol as x,On as S,Pn as C,Ra as w,Rn as T,Sn as E,Tn as D,Ud as O,Wd as k,Yi as A,Zc as j,Zd as M,_n as ee,af as te,an as ne,bn as N,cn as re,da as P,dn as ie,fa as ae,fn as oe,gn as se,hn as ce,in as le,jn as ue,kn as de,ln as fe,mn as pe,on as me,oo as he,pn as ge,rd as _e,rf as ve,rn as ye,si as be,sn as xe,so as Se,t as Ce,ua as we,un as Te,vn as Ee,wn as De,xn as Oe,yd as ke,yn as Ae,zn as je,zr as Me,zs as Ne}from"./mixpanel-tracking-H9VRxNDK.js";import{p as Pe,t as Fe}from"./error-boundary-BGxV0sT8.js";import{N as Ie,i as Le,o as Re,t as ze}from"./hooks-BQ2E--yn.js";import{a as Be,t as Ve}from"./lib-C_v1AnKi.js";import{t as He}from"./env-BaSLYXbc.js";import{At as Ue,C as We,Ct as Ge,J as Ke,Rt as qe,St as Je,Tt as Ye,_t as Xe,b as Ze,gt as Qe,k as $e,q as et,st as tt,tt as nt,yt as rt}from"./users-abLPioaP.js";import{n as it}from"./canUseDOM-D90SepsG.js";import{t as at}from"./lib-CEu4caMe.js";import{t as ot}from"./useMutation-B98_mxGT.js";import{r as st}from"./chart-theme-BDnFwcYu.js";import{a as ct,n as lt}from"./dayjs-CJahi0V-.js";import{$i as ut,Ac as dt,Ao as ft,Bc as pt,Bn as mt,Bs as ht,Ci as gt,Cs as _t,Es as vt,Fo as F,Fs as yt,Gn as bt,Go as xt,Hs as St,Ii as Ct,Is as wt,It as Tt,Ja as Et,Jo as Dt,K as Ot,Lo as kt,Ma as At,Mi as jt,Mo as I,Ms as L,Nt as Mt,Oc as Nt,Pi as Pt,Po as Ft,Pr as It,Qi as Lt,Qo as Rt,R as zt,Ro as R,Rt as Bt,St as Vt,Ua as Ht,Ui as Ut,Uo as Wt,Us as Gt,Vo as Kt,Vs as qt,Xc as Jt,Xo as Yt,Ya as Xt,Yo as Zt,Zc as Qt,Zi as $t,Zn as en,Zo as tn,_s as z,_t as nn,aa as rn,an,ba as on,bt as sn,c as cn,ci as ln,dn as un,ds as dn,ea as fn,el as pn,er as mn,f as hn,fi as gn,fn as _n,gc as B,hr as vn,ht as yn,ia as bn,ir as xn,is as Sn,kc as Cn,kr as wn,l as Tn,li as En,ln as Dn,mc as On,mt as V,nl as kn,ns as An,o as jn,oa as Mn,os as Nn,pn as Pn,pr as Fn,qc as In,qi as Ln,qo as Rn,ri as z
1n,rl as Bn,sr as Vn,ss as Hn,u as Un,ua as Wn,ui as Gn,va as Kn,vs as qn,ws as H,xi as Jn,xn as Yn,yc as Xn,yl as Zn,zi as Qn,zo as $n,zs as er}from"./src-CzRXvHbZ.js";import{t as tr}from"./use-debounced-value-CexJuueS.js";import{n as nr}from"./use-local-storage-Db8oLXWh.js";import{$ as rr,J as ir,Y as ar,Z as or,ar as sr,et as cr,g as lr,h as ur,i as dr,ir as fr,sr as pr,u as mr}from"./utils-hEDcpjYj.js";import{t as hr}from"./use-disclosure-DiPzR8iW.js";import{t as gr}from"./Center-DF1kHGhH.js";import{Ot as _r,i as vr,n as yr,t as br}from"./keyboard-BmGv-T23.js";import{t as xr}from"./Code-Cbkd1Ylr.js";import{t as Sr}from"./Textarea-B-tV8_HD.js";import{t as Cr}from"./SimpleGrid-CDW33aVG.js";import{t as wr}from"./Spoiler-Cj7H3sgc.js";import{t as Tr}from"./Stepper-DvScmWkz.js";import{n as Er,r as Dr}from"./use-freshness-or-ucs-last-update-D4VBC1Nk.js";import{t as Or}from"./TextInput-CDQUN3Zd.js";import{t as kr}from"./Title-DmQsb7eb.js";import{N as Ar,U as jr,f as Mr,l as Nr,u as Pr}from"./general-utils-WmQbNgXZ.js";import{b as Fr,p as Ir,y as Lr}from"./constants-G18Lv4XJ.js";import{Aa as Rr,Dt as U,Et as zr,Ft as Br,It as Vr,J as Hr,Mt as Ur,Nr as Wr,Nt as Gr,Sa as Kr,V as qr,_i as Jr,an as Yr,gr as Xr,ut as W}from"./base-types-B8vZnQiq.js";import{_ as Zr,f as Qr,l as $r,u as G}from"./search-mc-data-utils-Pn8k-pAv.js";import{t as ei}from"./react-5X8h2-15.js";import{r as ti}from"./active-domain-EfXaddQR.js";import{r as ni}from"./router-DsHIaZcL.js";import{t as ri}from"./routes-DZOiyuI2.js";import{l as ii,m as ai,u as oi}from"./schemas-DwNL7wTU.js";import{r as si}from"./agent-instrumented-attribution-Df-UoxkW.js";import{t as ci}from"./search.generated-DT4ul3q-.js";import{a as li,c as ui,i as di,o as fi,t as pi}from"./use-has-any-code-repo-integration-DOSZCHU_.js";import{l as mi}from"./logic-that-should-be-in-the-backend-ZfYLA3Q6.js";import{a as hi}from"./authorization-6IhSpwbo.js";import{t as gi}from"./use-should-truncate-content-DFwxb3PZ.js";import{t as _i}from"./auto-tooltip2-ByUk7pFC.js";import{a as vi,i as yi,n as bi,o as xi,t as Si}from"./markdown-mkhdSwW8.js";import{t as Ci}from"./editor-highlighter-BUo2XtbH.js";import{t as wi}from"./copy-icon-button-DGOsFXop.js";import"./copy-icon-button-DcQzF1a4.js";import{d as Ti,f as Ei,i as Di,l as Oi,n as ki,o as Ai,t as ji}from"./use-get-all-assets-search-data-2itLMCiL.js";import{a as Mi}from"./get-object-property-name-values.generated-CsjCNVt5.js";import{n as Ni}from"./job-type-ui-config-tdzMw1k7.js";import{d as Pi}from"./etl-columns-Bv-5Yldy.js";import{t as Fi}from"./connection-type-logo-DoAV-Crw.js";import{a as Ii,c as Li,i as Ri,l as zi,o as Bi,r as Vi,s as Hi,t as Ui,u as Wi}from"./context-mention-utils-Do73NulI.js";import{n as K,r as q}from"./types-qqJggoYy.js";import{A as J,D as Gi,E as Ki,M as qi,N as Ji,O as Yi,S as Xi,T as Zi,a as Qi,b as $i,c as ea,d as ta,f as na,g as ra,h as ia,i as aa,j as oa,k as sa,l as ca,m as la,n as ua,o as da,r as Y,s as fa,t as pa,u as ma,v as ha,w as ga,x as _a,y as va}from"./operations-agent-store-un329qV3.js";import{n as ya,t as ba}from"./agent-token-DqtWRafj.js";import{t as xa}from"./sql-formatter-utils-Bj4_Salv.js";import{t as Sa}from"./evaluate-asset-selection.generated-DaVwXGYb.js";import{_ as Ca,a as wa,b as Ta,c as Ea,d as Da,f as Oa,g as ka,h as Aa,i as ja,l as Ma,m as Na,n as Pa,o as Fa,p as Ia,r as La,s as Ra,t as za,u as Ba,v as Va,x as Ha,y as Ua}from"./subagents-CmLFWa7q.js";import{n as Wa}from"./constants-BTT-JhIq.js";import{t as Ga}from"./widget-zitEFZaf.js";import"./widget-Dicps2hG.js";import{r as Ka}from"./utils-DEEllWT9.js";import{r as qa}from"./use-usage-tracking-D_8fBtPN.js";import{t as Ja}from"./use-dismissible-hint-DocMDadu.js";import{t as Ya}from"./browser-C9KlJAlj.js";import{g as Xa,h as Za,i as Qa,n as $a,p as eo,s as to,t as no,u as ro}from"./esm-CT5pPGyC.js";import{f as io}from"./constants-Cuxs4EJz.js";import{t as ao}from"./lineage-marker-defs-Bk7pGuSU.js";import{i as oo}from"./lineage-CQ6JlEvI.js";import{t as so}from"./audience-picker-CzqML1xf.js";import{r as co}from"./middleware-caWSMwik.js";import{t as lo}from"./checkboxes-C023mdLL.js";import{t as uo}
1from"./rename-modal-92CYIxsS.js";var X=e(n(),1),Z=t(),fo=Xn(e=>{let{onChange:t,children:n,multiple:r,accept:i,name:a,form:o,resetRef:s,disabled:c,capture:l,inputProps:u,ref:d,...f}=Nt(`FileButton`,null,e),p=(0,X.useRef)(null),m=()=>{!c&&p.current?.click()};return Jt(s,()=>{p.current&&(p.current.value=``)}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`input`,{style:{display:`none`},type:`file`,accept:i,multiple:r,onChange:e=>{if(e.currentTarget.files===null)return t(r?[]:null);t(r?Array.from(e.currentTarget.files):e.currentTarget.files[0]||null)},ref:Qt(d,p),name:a,form:o,capture:l,...u}),n({onClick:m,...f})]})});fo.displayName=`@mantine/core/FileButton`;var po={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`query`,name:{kind:`Name`,value:`getAvailableOrchestrationIntegrations`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`getEtlContainers`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`uuid`}},{kind:`Field`,name:{kind:`Name`,value:`name`}},{kind:`Field`,name:{kind:`Name`,value:`type`}}]}},{kind:`Field`,name:{kind:`Name`,value:`getDbtConnections`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`uuid`}},{kind:`Field`,name:{kind:`Name`,value:`name`}},{kind:`Field`,name:{kind:`Name`,value:`type`}}]}}]}}]},mo=[W.DbtCloud,W.DbtCloudV2,W.DbtCloudWebhook,W.DbtCore],ho=[W.Bigquery,W.Snowflake,W.Redshift,W.DatabricksSqlWarehouse,W.Spark,W.DatabricksMetastoreSqlWarehouse,W.Pinecone,W.TransactionalDb,W.Teradata,W.Oracle,W.Mysql,W.SalesforceCrm,W.Clickhouse,W.Db2,W.Glue,W.Athena,W.MicrosoftFabric],go=[W.Bigquery,W.Snowflake,W.Redshift,W.DatabricksSqlWarehouse,W.Spark,W.DatabricksMetastoreSqlWarehouse,W.Pinecone,W.TransactionalDb,W.Teradata,W.Oracle,W.Mysql,W.SalesforceCrm,W.Clickhouse,W.Db2],_o={name:{minSize:100,size:200,maxSize:200},details:{minSize:200,size:400,maxSize:400},status:{minSize:100,size:200,maxSize:200},menu:{minSize:25,size:50,maxSize:50}},vo=`use_tableau_connected_apps`,yo=16354,bo=16529,xo=13989,So=e=>!!e?.type,Co=e=>typeof e==`string`&&mo.includes(e)?`dbt`:e===Yr.Custom?W.CustomEtlConnector:e,wo=e=>e.connections.find(t=>t.type===e.connectionType),To=()=>{let[e,t]=(0,X.useState)({loading:!0,resourceTypeMap:{},getTypeConfig:()=>void 0});return(0,X.useEffect)(()=>{(async()=>{let[e,n]=await Promise.all([a.query({query:tt}),a.query({query:po})]),r={},i=(e,t)=>{if(!t)return;let n=qe(t);n?r[e]=n:console.warn(`Connection config type '${t}' cannnot be mapped to a known connection type for resource with uuid '${e}'.`)};e.data?.getUser?.account?.warehouses.forEach(e=>e.connectionType===Rr.DataLake?i(e.uuid,`Datalake`):i(e.uuid,wo(e))),e.data?.getUser?.account?.bi.forEach(e=>i(e.uuid,e.type)),n.data?.getEtlContainers?.filter(So).forEach(e=>i(e.uuid,Co(e.type))),n.data?.getDbtConnections?.filter(e=>!!e?.uuid&&!!e?.type).forEach(e=>i(e.uuid,Co(e.type))),t({loading:!1,resourceTypeMap:r,getTypeConfig:e=>e?r[e]:void 0})})()},[]),e},Eo=e=>{let[t,n]=(0,X.useState)(!0);return{isMessagesContainerScrolledToBottom:t,recalculateScrolledToBottom:(0,X.useCallback)(()=>{if(e.current){let{scrollTop:t,clientHeight:r,scrollHeight:i}=e.current;n(i===r||i-t-r<1)}},[e]),resetScrollState:(0,X.useCallback)(()=>{n(!0)},[])}},Do=(0,X.createContext)({recalculateScrolledToBottom:()=>{},scrollToBottom:()=>{},scrollContainerRef:{current:null},virtualizer:null,visibleMessages:[],processedItems:[],virtualItems:[],totalSize:0}),Oo=()=>{let e=X.useContext(Do);if(!e)throw Error(`useChatScrollContext must be used within a ChatScrollContextProvider`);if(!e.virtualizer)throw Error(`Virtualizer is not initialized. Ensure ChatScrollContextProvider has mounted.`);return e},ko=(0,X.createContext)({isMessagesContainerScrolledToBottom:!0}),Ao=()=>X.useContext(ko).isMessagesContainerScrolledToBottom,jo=(0,X.createContext)(null);function Mo(){let e=(0,X.useContext)(jo);if(!e)throw Error(`useChatMessagesContext must be used within a ChatMessagesContextProvider`);return e}var No=function(e){return e.NewConversation=`NewConversation`,e.ExistingConversation=`ExistingConversation`,e.LoadingConversation=`Loa
1dingConversation`,e}({}),Po=(0,X.createContext)(null);function Fo(){let e=(0,X.useContext)(Po);if(!e)throw Error(`useThreadContext must be used within a ThreadContextProvider`);return e}function Io(e){return e.replace(/^(#{1,4})\s+(.+)$/gm,(e,t,n)=>`#### **${n.replace(/\*\*/g,``)}**`)}var Lo=/(\\*)([[\]])/g,Ro=/^ {0,3}(`{3,}|~{3,})/,zo=/https?:\/\/[^\s<>[\]()`]+/g;function Bo(e,t){let n=0;for(let r=t-1;r>=0&&e[r]===`\\`;r--)n++;return n%2==1}function Vo(e,t){return e.some(({start:e,end:n})=>t>=e&&t<n)}function Ho(e,t){let n=0;for(;e[t+n]==="`";)n++;return n}function Uo(e){let t=[],n=null,r=0;for(;;){let i=e.indexOf(`
2`,r),a=i===-1?e.length:i,o=e.substring(r,a),s=Ro.exec(o),c=s?.[1];if(s&&c){let e=c.slice(0,1);n===null?e==="`"&&o.slice(s[0].length).includes("`")||(n={start:r,marker:e,length:c.length}):e===n.marker&&c.length>=n.length&&(t.push({start:n.start,end:a}),n=null)}if(i===-1)break;r=i+1}return n&&t.push({start:n.start,end:e.length}),t}function Wo(e,t,n,r){for(let i=t;i<r;i++){if(e[i]===`\\`){i++;continue}if(e[i]!=="`")continue;let t=Ho(e,i);if(t===n)return i+t;i+=t-1}return null}function Go(e){let t=Uo(e),n=[...t],r=0;for(;r<e.length;){let i=t.find(({start:e,end:t})=>r>=e&&r<t);if(i){r=i.end;continue}if(e[r]===`\\`){r+=2;continue}if(e[r]!=="`"){r++;continue}let a=Ho(e,r),o=t.find(({start:e})=>e>r)?.start??e.length,s=Wo(e,r+a,a,o)??o;n.push({start:r,end:s}),r=s}return n}function Ko(e,t){let n=1;for(let r=t+2;r<e.length;r++){let t=e[r];if(t===`\\`){r++;continue}if(t===`
3`)return null;if(t===`(`&&n++,t===`)`&&(n--,n===0))return r+1}return null}function qo(e,t){let n=t-1;for(;n>=0&&(e[n]===` `||e[n]===`	`);)n--;return n>=0&&e[n]===`
4`}function Jo(e,t,n){let r=0,i=null,a=!1;for(let o=t-1;o>=n;o--){let t=e[o];if(t===`
5`){if(qo(e,o))break;a=!0;continue}if(!(t!==`[`&&t!==`]`||Bo(e,o))){if(t===`]`){r++;continue}if(r===0)return{start:o,hasBalancedLabel:!0};r--,!a&&i===null&&(i=o)}}return i===null?null:{start:i,hasBalancedLabel:!1}}function Yo(e,t){let n=[],r=0;for(let i=0;i+1<e.length;i++){if(e[i]!==`]`||e[i+1]!==`(`||i<r||Bo(e,i)||Vo(t,i))continue;let a=Ko(e,i);if(a===null)continue;let o=Jo(e,i,r);r=a,o&&n.push({...o,labelEnd:i,end:a})}return n}function Xo(e){let t=``,n=0;for(let{start:r,labelEnd:i,hasBalancedLabel:a}of Yo(e,Go(e))){if(a)continue;let o=e.substring(r,i).replace(Lo,(e,t,n)=>t.length%2==1?e:`${t}\\${n}`);t+=`${e.substring(n,r)}[${o}`,n=i}return t+e.substring(n)}function Zo(e,t){let n=[];for(let r of e.matchAll(zo))Vo(t,r.index)||n.push({start:r.index,end:r.index+r[0].length});return n}function Qo(e){let t=Go(e),n=Yo(e,t),r=Zo(e,t);return e.replace(/(?<=^|[^\\])_/gm,(e,i)=>n.some(({start:e,end:t})=>i>e&&i<t)||Vo(t,i)||Vo(r,i)?`_`:`\\_`)}var $o=function(e){return e.Sidebar=`sidebar`,e.FullPage=`full_page`,e.Home=`home`,e}({}),es=function(e){return e.Typed=`typed`,e.FollowUp=`follow_up`,e}({});function ts(){if(!Ge(Je.FullStory)||!te())return null;let e=ve(`getSession`,{format:`url.now`});return e&&e!==`null`?e:null}function ns(e){let t=ts();return{...t&&{fullstory_session_url:t},...e?.chatSource&&{chat_source:e.chatSource},...e?.messageSource&&{message_source:e.messageSource}}}var rs=new Set([`reasoning_content`,`reasoning`,`thinking`,`redacted_thinking`,`summary_text`]),is=/reason|think|thought/i,as=e=>typeof e==`object`&&!!e&&!Array.isArray(e),os=e=>as(e)&&typeof e.type==`string`?e.type:null,ss=e=>{let t=os(e);return t!==null&&(rs.has(t)||is.test(t))?!0:as(e)&&e.thought===!0},cs=e=>typeof e==`string`?e:ss(e)||!as(e)?``:typeof e.text==`string`?e.text:``,ls=e=>typeof e==`string`?e:Array.isArray(e)?e.map(cs).filter(Boolean).join(`
6`):``,us=e=>Array.isArray(e)?e.filter(ss).map(fs).filter(Boolean).join(`
7
8`):``,ds=[`reasoning`,`thinking`,`text`],fs=e=>{if(!as(e))return``;let t=e.reasoning_content;if(as(t)&&typeof t.text==`string`)return t.text.trim();for(let t of ds){let n=e[t];if(typeof n==`string`)return n.trim()}return``},ps=e=>Array.isArray(e)&&e.length>0&&e.every(ss),ms=e=>typeof e==`string`?e.length>0:Array.isArray(e)?e.some(e=>ss(e)||cs(e)!==``):!1,hs=[`Correct`,`Insightful`],gs=[`Incorrect`,`Missing information`,`Confusing`],_s={correct:`Correct`,insightful:`Insightful`,incorrect:`Incorrect`,confusing:`Confusing`,missing_information:`Missing information`,other:`Other`}
8,vs=`escalate_to_human_support`,ys={CONFIRM:`confirm`,CANCEL:`cancel`,EDIT:`edit`},bs={ESCALATION_CONFIRMATION:`escalation_confirmation`,CONFIRMATION:`confirmation`,SQL_PERMISSION:`sql_permission`,CLIENT_TOOL_EXECUTION:`client_tool_execution`},xs={requesterRequired:`requester_required`,overrideIsSystemEmail:`override_is_system_email`,invalidOverrideEmail:`invalid_override_email`,mandatoryMcCcMissing:`mandatory_mc_cc_missing`},Ss=`This conversation couldn't be displayed.`;function Cs(e){return e.name===vs}function ws(e){if(e)try{return JSON.parse(e)}catch{return{success:!1,error:e}}}function Ts(e,t){let n=e.args,r=ws(e.id?t?.get(e.id):void 0);return{toolCallId:e.id,preview:{detailed_description:n.detailed_description??``,cc_emails:n.cc_emails},result:r}}var Es=`render_monitor_chart`,Ds=[`total_row_count`,`total_row_count_change`,`total_byte_count`,`total_byte_count_change`,`last_updated_on`,`write_throughput`,`objects_deleted`,`total_row_count_last_changed_on`,`total_byte_count_last_changed_on`],Os=`Render an interactive metric chart for a table in the conversation.
9
10Use this tool when the user asks to visualize, chart, graph, or show a metric
11for a table — such as row count, size, freshness, or write throughput.
12This renders an interactive chart inline in the conversation.
13
14Workflow:
151. First call getTableCapabilities to check which metrics the table supports.
16   Only offer metrics that the table actually supports.
172. Call this tool with the table's MCON, a supported metric name, and time range.
183. Default to a 2-week time range if the user doesn't specify one.
194. If the user doesn't ask for a specific metric, use total_row_count if available.
20
21After rendering a chart with render_monitor_chart, ALWAYS offer this follow-up option:
22**Add as dashboard widget**: Offer to add the chart as a widget to a dashboard via the chart widget tool
23
24Available metric_name values and their meanings:
25- total_row_count: Volume — Total rows in the table
26- total_row_count_change: Volume — Change in total rows between updates
27- total_byte_count: Volume — Total bytes (size) of the table
28- total_byte_count_change: Volume — Change in total bytes between updates
29- last_updated_on: Freshness — Time since the table was last updated
30- write_throughput: Write Throughput — Rate of bytes written to the table
31- objects_deleted: Objects Deleted — Number of objects deleted from the table
32- total_row_count_last_changed_on: Freshness — Time since the row count last changed
33- total_byte_count_last_changed_on: Freshness — Time since the byte count last changed`,ks={type:`object`,properties:{mcon:{type:`string`,description:`The MCON identifier of the table to chart`},metric_name:{type:`string`,enum:Ds,description:`The metric to display on the chart`},start_time:{type:`string`,description:`Start of time range as ISO 8601 string`},end_time:{type:`string`,description:`End of time range as ISO 8601 string`}},required:[`mcon`,`metric_name`,`start_time`,`end_time`]},As=`When the user asks to visualize, chart, graph, or show a metric for a table, use the render_monitor_chart tool. It renders an interactive chart directly in the conversation.`;function js(e){let t=Ps(e);return JSON.stringify(t?{type:`monitor_chart`,status:`rendered`,mcon:t.mcon,metricName:t.metric_name,startTime:t.start_time,endTime:t.end_time}:{type:`monitor_chart`,status:`error`,error:`Invalid tool arguments`})}function Ms(){return{name:Es,description:Os,inputSchema:ks,buildAutoResponse:js,buildNoAnswerContent:js}}function Ns(e){return Ds.includes(e)}function Ps(e){let{mcon:t,metric_name:n,start_time:r,end_time:i}=e;if(typeof t==`string`&&typeof n==`string`&&typeof r==`string`&&typeof i==`string`&&Ns(n))return{mcon:t,metric_name:n,start_time:r,end_time:i}}function Fs(e){return e.name===Es}function Is(e){if(e)try{let t=JSON.parse(e);if(typeof t!=`object`||!t)return;let n=t;return n.type===`monitor_chart`?typeof n.error==`string`?{type:`monitor_chart`,error:n.error}:typeof n.mcon==`string`&&typeof n.metricName==`string`&&typeof n.startTime==`string`&&typeof n.endTime==`string`?{type:`monitor_chart`,mcon:n.mcon,metricName:n.metricName,startTime:n.startTime,endTime:n.endTime}:void 0:void 0}catch{return{type:`monitor_chart`,error:e}}}var Ls=`ask_user`,Rs='Use this tool whenever you need user input to make a decision. Present one or more questions with optional predefined choices. Supported question types: text, number, options, asset_search, assets, domain, audience, audiences, warehouse, and database_or_schema. The user will answer each question before you continue. For type "number", use optional "min" and "max" to constrain accepted numeric values. For type "options", set optional "default_option" to one of the "options" values to pre-select it — use this to surface a recommendation instead of choosing on the user\'s behalf, since a pre-selected option can be accepted with a single click. An "Other" free-text choice is offered automatically; set optional "allow_other" to false to constrain the answer to the listed options. For type "asset_search" (single-select), the answer\'s value is an MCON string for the selected table/job/database. For type "assets" (plural, multi-select), the answer\'s value is a JSON string with shape ["<mcon1>", "<mcon2>", ...] — an array of one or more selected MCONs (always non-empty). Use "assets" when the underlying field is list-shaped and needs several tables/assets (e.g. a data product\'s member assets). The optional "asset_types" filter (table/job/database) applies to "assets" exactly as it does to "asset_search". For types "domain", "audience", and "warehouse", the answer\'s value field will be a JSON string with shape {"uuid": string, "name": string}; parse it to access the entity UUID. For type "audiences" (plural, multi-select), the answer\'s value is a JSON string with shape [{"uuid": string, "name": string}, ...] — an array of one or more selected audiences (always non-empty). Use "audiences" when the underlying field is list-shaped (e.g. failure_audiences); extract `name` (the human-readable audience label), not `uuid`, for failure_audiences. For "domain", "audience", "audiences", and "warehouse" you may also pass an optional "uuids" array to constrain the picker to a specific subset of entries. For type "database_or_schema", you must issue a `warehouse`-type question first in a separate ask_user tool call, then pass the resulting uuid as `warehouse_uuid` on the database_or_schema question. The answer\'s value will be a JSON string with shape {"warehouseUuid": string, "items": [{"database": string, "label": string, "schema": string (optional)}]}. Each item represents one scope: include the `schema` key only when the user selected a specific schema; to select the entire database, omit the `schema` key entirely (do not send `null` or an empty string). An empty `items` array means the user wants to scan the full warehouse.',zs={type:`object`,properties:{questions:{type:`array`,items:{type:`object`,required:[`id`,`question`,`type`],properties:{id:{type:`string`,description:`Unique identifier for this question`},question:{type:`string`,description:`The question text to display to the user`},type:{type:`string`,enum:[`text`,`number`,`options`,`asset_search`,`assets`,`domain`,`audience`,`audiences`,`warehouse`,`database_or_schema`],description:'Question type: text for free-form, number for numeric input, options for multiple choice, asset_search for a searchable asset picker (single-select), assets (plural) for the multi-select variant of the asset picker, domain for a paginated, searchable Monte Carlo domain picker, audience for a paginated, searchable Monte Carlo notification-audience picker (single-select), audiences (plural) for the multi-select variant of the audience picker, warehouse for a searchable picker over the user\'s connected warehouses, database_or_schema for a multi-select picker scoped to one warehouse. For type "asset_search", the answer\'s value is an MCON string for the selected table/job/database. For type "assets", the answer is a JSON array of one or more MCON strings (shape ["<mcon1>", "<mcon2>", ...]) — use this for list-shaped fields needing several assets (e.g. a data product\'s member tables); the "asset_types" filter applies the same as for asset_search. For types "domain", "audience", and "warehouse", the answer\'s value field will be a JSON string with shape {"uuid": string, "name": string}. For type "audiences", the answer is a JSON array of one or more {"uuid": string, "name": string} entries — use this for list-shaped fields like failure_audiences and extract `name` (the audience label) from each entry. For "database_or_schema", the answer is JSON of shape {"warehouseUuid": string, "items": [{"database": string, "label": string, "schema": string (optional)}]}
33: include `schema` only for a specific schema, and omit the `schema` key entirely (do not send `null` or an empty string) when the user picked the whole database. An empty `items` array means the user wants to scan the full warehouse.'},optional:{type:`boolean`,description:`When true, the FE shows a Skip action so the user can decline this question. Use only for genuinely optional questions (e.g. the notification audience). A skipped question is still returned in the answers array with an empty value (it is not omitted, and the questionnaire is not cancelled) — proceed without it; do not re-ask.`},description:{type:`string`,description:`Optional hint or example text shown below the question (e.g. 'e.g. Daily revenue in the Finance dashboard')`},placeholder:{type:`string`,description:`Optional custom placeholder text for the input field`},min:{type:`number`,description:`Optional minimum accepted value when type is 'number'. Omit for no lower bound.`},max:{type:`number`,description:`Optional maximum accepted value when type is 'number'. Omit for no upper bound.`},options:{type:`array`,items:{type:`string`},description:`Available options when type is 'options'. An 'Other' free-text option is added automatically unless 'allow_other' is false.`},default_option:{type:`string`,description:`Pre-select this option when type is 'options'. Use it to surface your recommendation rather than picking on the user's behalf — the option is selected on render, so the user can accept it with one click or change it. Must match an entry in 'options' exactly; ignored otherwise.`},allow_other:{type:`boolean`,description:`Set false to remove the free-text 'Other' choice when type is 'options', constraining the answer to the listed options. Defaults to true.`},asset_types:{type:`array`,items:{type:`string`},description:`Filter the asset picker when type is 'asset_search' or 'assets'. Supported values: 'table', 'job', 'database'. Omit to show all asset types. The answer value will be an MCON (or, for 'assets', a JSON array of MCONs) for table/job/database selections.`},uuids:{type:`array`,items:{type:`string`},description:`Constrain the picker to a specific subset of UUIDs. Only meaningful when type is 'domain', 'audience', 'audiences', or 'warehouse'; ignored otherwise. Use when the user should pick from a known list of entities — the picker still shows the resolved entity name and uuid for each, so you don't need a separate display value. An empty array is treated the same as omitting the field (no constraint).`},warehouse_uuid:{type:`string`,description:"UUID of the warehouse to scope the picker to. Required when type is 'database_or_schema'; ignored otherwise. Pass the uuid returned from a prior `warehouse`-type answer (issued in a separate ask_user tool call)."}}},description:`Array of questions to ask the user`}},required:[`questions`]},Bs=`When you need to ask the user a question or gather input to make a decision, always use the ask_user tool instead of writing questions in your message text. The ask_user tool provides a structured UI for the user to respond.`,Vs=JSON.stringify({answers:[],cancelled:!0,instructions:`The user cancelled the questionnaire. Wait for the user's next message before proceeding.`});function Hs(){return{name:Ls,description:Rs,inputSchema:zs,meta:{answerIsUserTurn:!0},buildNoAnswerContent:()=>Vs}}var Us=`present_monitor_tuning`,Ws=`Render the batch monitor-tuning recommendations as interactive cards in the conversation, letting the user apply or dismiss them per monitor.
34
35Use this after get_tune_monitors_results returns results with status "success" and recommendations. Pass its "results" array through verbatim.
36
37- Only include monitors whose status is "success".
38- Managed-as-code monitors (is_template_managed true) render read-only automatically — still pass them so the user sees why they can't be applied here.
39- Do not summarise the recommendations as prose as well; the cards are the presentation. After calling this, continue the conversation normally (e.g. offer next steps).`,Gs={type:`object`,properties:{results:{type:`array`,description:`The per-monitor results from get_tune_monitors_results (status success only). Pass through verbatim.`,items:{type:`object`,properties:{monitor_uuid:{type:`string`},status:{type:`string`},monitor_type:{type:`string`},is_template_managed:{type:`boolean`},recommendations:{type:`array`,items:{type:`object`,properties:{title:{type:`string`},reasoning:{type:`string`},change_summary:{type:`string`},is_split:{type:`boolean`},target_mcon:{type:`string`},target_metric:{type:`string`},would_reset:{type:`boolean`}},required:[`title`]}}},required:[`monitor_uuid`,`status`]}}},required:[`results`]},Ks=`After get_tune_monitors_results returns successful recommendations, call present_monitor_tuning with those results to render interactive apply/dismiss cards in the conversation instead of describing them as text.`;function qs(e){let t=Array.isArray(e.results)?e.results:[];return JSON.stringify({type:`monitor_tuning`,status:`presented`,count:t.length})}function Js(){return{name:Us,description:Ws,inputSchema:Gs,buildAutoResponse:qs,buildNoAnswerContent:qs}}function Ys(e){return e.name===Ls}var Xs=[Hs(),Ms(),Js()],Zs=Xs.map(({name:e,description:t,inputSchema:n,meta:r})=>({name:e,description:t,inputSchema:n,...r?{meta:r}:{}})),Qs=new Map(Xs.map(e=>[e.name,e]));function $s(e){let t=`${Bs}\n\n${As}\n\n${Ks}`;return e?`${t}\n\n${e}`:t}function ec(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function tc(e){if(typeof e!=`object`||!e)return!1;let t=e,n=t.type;
39if(typeof t.id!=`string`||typeof t.question!=`string`||n!==`text`&&n!==`number`&&n!==`options`&&n!==`asset_search`&&n!==`assets`&&n!==`domain`&&n!==`audience`&&n!==`audiences`&&n!==`warehouse`&&n!==`database_or_schema`||t.description!==void 0&&typeof t.description!=`string`||t.placeholder!==void 0&&typeof t.placeholder!=`string`)return!1;if(n===`options`)return ec(t.options)&&t.options.length>0;if(t.asset_types!==void 0&&!ec(t.asset_types)||t.uuids!==void 0&&!ec(t.uuids))return!1;if(n===`database_or_schema`){if(typeof t.warehouse_uuid!=`string`||!t.warehouse_uuid)return!1}else if(t.warehouse_uuid!==void 0&&typeof t.warehouse_uuid!=`string`)return!1;return t.options===void 0||ec(t.options)}var nc=100,rc=64,ic=256,ac=100,oc=512;function sc(e,t){return e.type===`domain`||e.type===`audience`||e.type===`warehouse`?cc(t):e.type===`audiences`?uc(t):e.type===`assets`?dc(t):e.type===`database_or_schema`?fc(t):t}function cc(e){try{let t=JSON.parse(e);if(typeof t==`object`&&t&&`name`in t&&typeof t.name==`string`&&`uuid`in t&&typeof t.uuid==`string`){let{name:n}=t;return n||e}}catch{}return e}function lc(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function uc(e){try{let t=JSON.parse(e);if(!Array.isArray(t))return e;if(t.length===0)return``;if(t.length>nc)return e;let n=[];for(let r of t){if(!lc(r))return e;let t=r.uuid,i=r.name;if(typeof t!=`string`||!t||t.length>rc||typeof i!=`string`||!i||i.length>ic)return e;n.push(i)}return n.join(`, `)}catch{return e}}function dc(e){try{let t=JSON.parse(e);if(!Array.isArray(t))return e;if(t.length===0)return``;if(t.length>ac)return e;let n=[];for(let r of t){if(typeof r!=`string`||!r||r.length>oc)return e;n.push(r)}return n.join(`, `)}catch{return e}}function fc(e){try{let t=JSON.parse(e);if(typeof t!=`object`||!t||!(`items`in t))return e;let n=t.items;if(!Array.isArray(n))return e;if(n.length===0)return`Full warehouse`;let r=[];for(let t of n){if(typeof t!=`object`||!t)return e;let n=t.label,i=t.database;if(typeof n!=`string`||!n||typeof i!=`string`||!i)return e;r.push(n)}return r.join(`, `)}catch{return e}}function pc(e){if(typeof e.args!=`object`||e.args===null)return;let t=e.args.questions;if(!(!Array.isArray(t)||!t.every(tc)))return t}var mc=[`tune_monitors`,`get_tune_monitors_results`,Us];function hc(e){return mc.includes(e.name)}function gc(e){if(Array.isArray(e))return e;if(typeof e==`object`&&e){let t=e.results;if(Array.isArray(t))return t}}function _c(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.monitor_uuid==`string`&&typeof t.status==`string`}function vc(e){if(!e)return;let t;try{t=JSON.parse(e)}catch{return}let n=gc(t);if(n)return n.filter(_c)}function yc(e){return(Array.isArray(e.recommendations)?e.recommendations:[]).filter(e=>e.is_split!==!0)}function bc(e,t){return(xc(e,t)??[]).filter(e=>e.status===`success`&&yc(e).length>0)}function xc(e,t){if(e.name===`present_monitor_tuning`)return gc(e.args)?.filter(_c);let n=e.id?t?.get(e.id):void 0;return n===void 0?void 0:vc(n)}function Sc(e,t){return bc(e,t).length>0}function Cc(e,t){return e.id===void 0?!1:hc(e)?Sc(e,t):t?.has(e.id)??!1}function wc(e){return{title:e.title,reasoning:e.reasoning??null,changeSummary:e.change_summary??null,isSplit:e.is_split??!1,targetMcon:e.target_mcon??null,targetMetric:e.target_metric??null,wouldReset:e.would_reset??null}}var Tc=e=>{let t=`tool_calls`in e?e.tool_calls:void 0;return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&`name`in e&&typeof e.name==`string`):[]},Ec=e=>!Cs(e)&&!Fs(e)&&!Ys(e)&&!hc(e),Dc=e=>Tc(e).filter(Ec),Oc=e=>Cs(e)||Fs(e);function kc(e,t,n){return[{autonomous:!0,cognito_user_id:e,domain_id:t,messages:[]},{onDisconnect:`continue`,streamResumable:!0,metadata:ns({chatSource:n})}]}var Ac=e=>t=>{let n=[...t.messages??[],e];return{...t,messages:n}},jc=e=>{if(e)return e.metadata||e.lc_kwargs?.lc_kwargs?.metadata},Mc=/<!--\s*display_setting:\s*(.+?)\s*-->/;function Nc(e){let t=jc(e)?.display_setting;if(t)return t;if(e.type===`ai`)return ls(e.content).match(Mc)?.[1]?.trim()||void 0}function Pc(e){return e.type!==`ai`||Tc(e).length?!1:ps(e.content)}function Fc(e){return e.replace(/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})\b/g,e=>{if(!lt(e).isValid())return e;try{return Mr(e,{hideTimezone:!0})}catch{return e}})}function Ic(e){let t=/```[\s\S]*?```|`[^`]*`/g,n=``,r=0;for(let i of e.matchAll(t))n+=Fc(e.slice(r,i.index)),n+=i[0],r=i.index+i[0].length;return n+=Fc(e.slice(r)),n}function Lc(e){return Qo(Io(Xo(e)))}function Rc(e){return Ic(Lc(e))}function zc(e){return Rc(ls(e))}function Bc(e){return Lc(ls(e))}var Vc=[`human`,`ai`],Hc=e=>!!(e?.type&&Vc.includes(e.type)),Uc=new Set([`hide`,`final_response_string`]),Wc=(e,t)=>!!(e?.display_setting&&Uc.has(e.display_setting)||t?.display_setting&&Uc.has(t.display_setting)),Gc=e=>{if(e.type===`human`||Tc(e).length>0)return!1;let t=e.content;return t?Array.isArray(t)?!ms(t):typeof t==`string`?!t||t.toLowerCase().startsWith(`error`)||t.startsWith(`{`):!1:!0};function Kc(e,t){return t?.(e)?.streamMetadata?.display_setting||jc(e)?.display_setting}function qc(e){return Tc(e).some(e=>!Ec(e))}
39function Jc(e,t){if(e.type!==`ai`||Kc(e,t))return!0;let n=e;return jc(n)?.data?.autonomous_result||zc(e.content).trim()!==``?!0:qc(n)}var Yc=new Set([`log_start`,`log_update`,`log_end`]);function Xc(e,t){let n=Kc(e,t);return!!(n&&Yc.has(n))}function Zc(e,t){return e.filter(e=>Kc(e,t)===`log_end`).length}function Qc(e,t){let n=[],r=[],i=[];function a(e){r.length>0&&(n.push({kind:`log_group`,messages:r,isComplete:e}),r=[])}function o(){i.length>0&&(n.push({kind:`tool_group`,messages:i}),i=[])}for(let s of e){if(Xc(s,t)){o(),r.push(s);continue}a(!0);let e=s.type===`ai`?Dc(s):[],c=Jc(s,t);c&&(o(),n.push({kind:`single`,message:s})),e.length>0?i.push(s):c||n.push({kind:`single`,message:s})}return a(!1),o(),n}var $c=`mc_tune_action`;function el(e){return e.monitorType?`the ${e.monitorType} monitor (${e.monitorUuid})`:`monitor ${e.monitorUuid}`}function tl(e){if(e.action===`applied`){let t=e.recCount??0;return`Applied ${t===1?`1 tuning recommendation`:`${t} tuning recommendations`} to ${el(e)}.`}return`Dismissed the tuning recommendations for ${el(e)}.`}function nl(e){return{type:`ai`,content:tl(e),additional_kwargs:{[$c]:{...e}}}}function rl(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.toolCallId==`string`&&typeof t.monitorUuid==`string`&&(t.action===`applied`||t.action===`dismissed`)}function il(e,t){let n=[];for(let r of e){let e=r.additional_kwargs?.[$c];rl(e)&&e.toolCallId===t&&n.push(e)}return n}function al(e){let t=e.additional_kwargs;return rl(t?.[$c])}
39function ol({children:e,scrollContainerRef:t,messages:n,getMessagesMetadata:r,isLoadingConversation:i,currentConversationId:a,pendingClientToolCallsCount:o,hasInterrupt:s}){let{isMessagesContainerScrolledToBottom:c,recalculateScrolledToBottom:l,resetScrollState:u}=Eo(t),d=(0,X.useMemo)(()=>n.filter(e=>{if(!Hc(e))return!1;let t=e,n=r(e)?.streamMetadata;return!(Wc(n,jc(t))||Gc(e)||al(e))}),[n,r]),f=(0,X.useMemo)(()=>Qc(d,r),[d,r]),p=zt({count:f.length,getScrollElement:()=>t.current,estimateSize:()=>50,overscan:5}),m=(0,X.useRef)(null),h=(0,X.useCallback)(()=>{m.current!==null&&cancelAnimationFrame(m.current),f.length!==0&&(m.current=requestAnimationFrame(()=>{p.scrollToIndex(f.length-1,{align:`end`,behavior:`auto`});let e=requestAnimationFrame(()=>{let e=t.current;e&&(e.scrollTop=e.scrollHeight),m.current=null});m.current=e}))},[p,f.length]);(0,X.useEffect)(()=>{if(i){u();return}if(f.length===0){u();return}a&&(h(),requestAnimationFrame(()=>{u()}))},[i,a,h,f.length,o,s,u]),(0,X.useEffect)(()=>{i||l()},[n,l,i]);let g=p.getVirtualItems(),_=p.getTotalSize(),v=g.map(e=>`${e.index}:${e.start}:${e.size}`).join(`|`)+`#${_}`,y=(0,X.useMemo)(()=>({scrollToBottom:h,recalculateScrolledToBottom:l,scrollContainerRef:t,virtualizer:p,visibleMessages:d,processedItems:f,virtualItems:g,totalSize:_}),[h,l,t,p,d,f,v]),b=(0,X.useMemo)(()=>({isMessagesContainerScrolledToBottom:c}),[c]);return(0,Z.jsx)(Do.Provider,{value:y,children:(0,Z.jsx)(ko.Provider,{value:b,children:e})})}function sl({scrollContainerRef:e,children:t}){let{messages:n,isLoadingConversation:r,getMessagesMetadata:i,pendingClientToolCalls:a,interrupt:o}=Mo(),{selectedThreadId:s}=Fo();return(0,Z.jsx)(ol,{scrollContainerRef:e,messages:n,getMessagesMetadata:i,isLoadingConversation:r,currentConversationId:s??null,pendingClientToolCallsCount:a.length,hasInterrupt:o!==null,children:t},s)}var cl={THREAD_CREATION_FAILED:{id:`chat-thread-creation-failed`,title:`Error`,message:`Failed to create conversation. Please try again.`,variant:`danger`,autoClose:!0},FEEDBACK_SUBMISSION_FAILED:{id:`chat-feedback-submission-failed`,title:`Error`,message:`Failed to submit feedback. Please try again.`,variant:`danger`,autoClose:!0},CONVERSATION_LOAD_FAILED:{id:`chat-conversation-load-failed`,title:`Error`,message:`Failed to load conversation. Please try again.`,variant:`danger`,autoClose:!0},CONVERSATION_NOT_FOUND:{id:`chat-conversation-not-found`,title:`Conversation not found`,message:`This conversation was deleted or doesn't exist.`,variant:`warning`,autoClose:!0}};function ll(e){let t=cl[e];Ot.show(t)}function ul(e,t,n){let r=e instanceof Error?e.message:String(e),i=n?`${n}: `:``;console.error(`${i}${r}`,e),ll(t)}function dl(e){if(!e)return!1;let t=e instanceof Error?e.name:typeof e==`object`&&`name`in e?String(e.name):``,n=e instanceof Error?e.message:typeof e==`object`&&`message`in e?String(e.message):String(e);return t===`CancelledError`||n?.toLowerCase().includes(`cancelled`)}function fl(e){return e instanceof Error?e.message:typeof e==`object`&&e&&`message`in e?String(e.message):String(e)}function pl(e){return e instanceof Error?e.name:typeof e==`object`&&e&&`name`in e?String(e.name):``}function ml(e){switch(e){case`rate_limited`:return{title:`Still processing your earlier messages`,body:`Give it a moment and try again`,showNewConversation:!1};case`transient`:case`unknown`:return{title:`Couldn't get a response`,body:`Something interrupted the connection. Try again or send a new message.`,showNewConversation:!0};case`terminal_thread`:case`terminal_auth`:return null;default:return e}}function hl(e){if(!e)return`unknown`;let t=fl(e),n=t.toLowerCase(),r=pl(e);return n.includes(`http 401`)||/\b401:/.test(n)||(n.includes(`http 403`)||/\b403:/.test(n))&&n.includes(`mc_s`)?`terminal_auth`:n.includes(`thread`)&&(n.includes(`404`)||n.includes(`not found`))||(n.includes(`http 422`)||/\b422:/.test(n))&&n.includes(`thread`)?`terminal_thread`:/run\s+[0-9a-f-]{36}\s+not found/i.test(t)?`transient`:n.includes(`http 429`)||/\b429:/.test(n)?`rate_limited`:n.includes(`http 404`)||/\b404:/.test(n)||/http 5\d{2}/.test(n)||/\b5\d{2}:/.test(n)||r===`AbortError`&&!n.includes(`user`)||r===`TypeError`&&n.includes(`failed to fetch`)?`transient`:`unknown`}function gl(e){if(!e)return!1;let t=(e instanceof Error?e.message:typeof e==`object`&&`message`in e?String(e.message):String(e))?.toLowerCase()??``,n=t.
39includes(`http 404`)||t.includes(`404`)&&t.includes(`thread`)&&t.includes(`not found`),r=t.includes(`http 422`);return n||r}var _l=`xs`;function vl({node:e,size:t=_l}){let{getTypeConfig:n}=To();if(e.assetDetails.type===`tag`)return(0,Z.jsx)(Ut,{size:t});if(e.assetDetails.type===`monitor`)return(0,Z.jsx)(Ln,{size:t});if(e.assetDetails.type===`alert`)return(0,Z.jsx)(Wn,{size:t});if(e.assetDetails.type===`agent`)return(0,Z.jsx)(gn,{size:t});let r=e.assetDetails,i=r.resourceId,a=n(i);if(a?.logo.Icon||Pi(a?.logo.iconUrl))return(0,Z.jsx)(Fi,{connectionConfig:a,size:_l});if(r.objectType===G.WAREHOUSE||r.type===`warehouse`)return(0,Z.jsx)(bt,{size:t});if(r.type===`integration`)return(0,Z.jsx)(rn,{size:t});if(r.type===`job`){if(r.objectType===G.DBT_JOB)return(0,Z.jsx)(Ht,{size:t});if(r.objectType===G.TASK){let e=Ni(r.resourceType?.toUpperCase());if(e)return(0,Z.jsx)(e,{size:t})}if(r.objectType===G.JOB)return(0,Z.jsx)(rn,{size:t})}return Zr(r.objectType)&&$r.has(r.objectType)?(0,Z.jsx)(an,{size:t}):(0,Z.jsx)(Yn,{size:t,color:`gray.1`})}function yl({node:e}){let{name:t,value:n}=e.assetDetails;return(0,Z.jsxs)(L,{gap:`xs`,wrap:`nowrap`,align:`center`,children:[(0,Z.jsx)(vl,{node:e}),n?(0,Z.jsxs)(H,{size:`sm`,truncate:!0,children:[(0,Z.jsx)(H,{component:`span`,fw:`bold`,"data-testid":`display-tag-bold-name`,children:t}),`:`,n]}):(0,Z.jsx)(H,{size:`sm`,truncate:!0,children:t})]})}function bl({node:e,shouldUseBiDisplayName:t}){let n=ki(e,{shouldUseBiDisplayName:t});return(0,Z.jsxs)(R,{gap:`xs`,style:{flex:1,minWidth:0},children:[(0,Z.jsxs)(L,{gap:`xs`,wrap:`nowrap`,align:`center`,children:[(0,Z.jsx)(B,{style:{flexShrink:0,display:`flex`,alignItems:`center`},children:(0,Z.jsx)(vl,{node:e})}),(0,Z.jsx)(H,{size:`sm`,truncate:!0,c:n.secondaryPath?.length?`dimmed`:`default`,children:n.primaryPath})]}),n.secondaryPath&&(0,Z.jsx)(H,{size:`sm`,truncate:!0,style:{paddingLeft:`calc(var(--mantine-spacing-xs) + 16px)`},children:n.secondaryPath})]})}function xl({node:e,shouldUseBiDisplayName:t}){return Ti(e)?(0,Z.jsx)(yl,{node:e}):(0,Z.jsx)(bl,{node:e,shouldUseBiDisplayName:t})}var Sl={contextButton:`_contextButton_rz3hj_1`,popoverContent:`_popoverContent_rz3hj_10`,groupLabel:`_groupLabel_rz3hj_18`,mentionItem:`_mentionItem_rz3hj_32`};function Cl({mentions:e}){let[t,n]=(0,X.useState)(!1);return e.length===0?null:(0,Z.jsxs)(wt,{opened:t,onChange:n,position:`bottom-start`,withinPortal:!0,closeOnEscape:!0,closeOnClickOutside:!0,children:[(0,Z.jsx)(wt.Target,{children:(0,Z.jsxs)(F,{variant:`default`,size:`compact`,leftSection:(0,Z.jsx)(bt,{size:`xs`}),onClick:()=>n(!t),className:Sl.contextButton,children:[`Context (`,e.length,`)`]})}),(0,Z.jsx)(wt.Dropdown,{p:0,children:(0,Z.jsxs)(B,{className:Sl.popoverContent,children:[(0,Z.jsx)(H,{size:`xs`,fw:500,c:`dimmed`,className:Sl.groupLabel,children:`Attached context`}),e.map(e=>(0,Z.jsx)(B,{className:Sl.mentionItem,children:(0,Z.jsx)(xl,{shouldUseBiDisplayName:!0,node:Ui(e)})},e.id))]})})]})}var wl=`Ask anything. Type @ to choose specific assets or monitors`,Tl={apiUrl:He.AI_AGENT_URL,assistantId:q.Chat,messagesKey:`messages`,historyLimit:100,pageTitle:`Operations agent`,autonomous:!1,supportsFileUploads:!0},El={[K.Chat]:{...Tl,id:`chat`,inputPlaceholder:wl,processingPlaceholder:`Processing…`,emptyState:{title:`Start a conversation`,description:`Ask me anything about your data + AI.`,maxWidth:400},suggestedQuestions:[`What do you recommend I monitor?`,`How does Monitors as Code work?`,`Which tables triggered alerts in the past 3 days?`],mixpanelPageName:ye,conversationOrigins:{input:J.FullpageInput,starterQuestion:J.FullpageStarterQuestion},sidebarBadge:null},[K.Onboarding]:{...Tl,id:`onboarding`,inputPlaceholder:`What would you like to do today?`,processingPlaceholder:`Processing…`,emptyState:{title:`Welcome to Monte Carlo`,description:`I'm your operations agent, you can ask me anything about your data + AI!`,maxWidth:500},suggestedQuestions:[`What do you recommend I monitor?`,`Show my most important tables`,`Which tables triggered alerts recently?`],mixpanelPageName:ye,conversationOrigins:{input:J.Onboarding,starterQuestion:J.Onboarding},sidebarBadge:null},[K.Support]:{...Tl,assistantId:q.Chat,id:`support`,pageTitle:`Supp
39ort agent`,inputPlaceholder:`Describe your issue or ask a question. Type @ to choose specific assets or monitors`,processingPlaceholder:`Looking into it…`,emptyState:{title:`How can we help?`,description:`Ask a question about Monte Carlo or describe an issue you're experiencing. I can help troubleshoot or escalate to our support team.`,maxWidth:450},suggestedQuestions:[`How do I set up a monitor?`,`I'm having an issue with my integration`,`How does Monte Carlo handle alerting?`],mixpanelPageName:_e,conversationOrigins:{input:J.SupportInput,starterQuestion:J.SupportStarterQuestion},sidebarBadge:{label:`Support`}},[K.Cost]:{...Tl,assistantId:q.Chat,pageTitle:`Cost & Performance agent`,id:`cost`,inputPlaceholder:`Ask about storage costs, stale tables, or warehouse performance…`,processingPlaceholder:`Analyzing…`,emptyState:{title:`Cost & Performance agent`,description:`Ask me anything about reducing storage costs, cleaning up unused tables, and improving warehouse performance.`,maxWidth:400},suggestedQuestions:[`Which are my most expensive queries?`,`Which tables can I safely remove?`,`How can I reduce storage costs?`,`Which jobs are running slower than usual?`,`Which models or queries should I optimize?`],mixpanelPageName:Me,conversationOrigins:{input:J.CostInput,starterQuestion:J.CostStarterQuestion},sidebarBadge:{label:`Cost & Performance`}},[K.Troubleshoot]:{...Tl,supportsFileUploads:!1,assistantId:q.OpenFlowTsa,pageTitle:`Troubleshooting agent`,id:`troubleshooting`,inputPlaceholder:`Describe the data issue you want to investigate`,processingPlaceholder:`Investigating…`,emptyState:{title:`Start troubleshooting`,description:`Describe a data problem and I'll investigate the root cause.`,maxWidth:450},suggestedQuestions:[`Why did this table stop receiving new rows?`,`What caused a spike in null values yesterday?`,`Why did a deletion happen in this table last week?`],mixpanelPageName:ye,conversationOrigins:{input:J.FullpageInput,starterQuestion:J.FullpageStarterQuestion},sidebarBadge:{label:`Troubleshooting`}},[K.Coverage]:{...Tl,assistantId:q.CoverageAgent,pageTitle:`Monitoring agent`,id:`monitoring`,inputPlaceholder:`Ask about monitoring gaps or get help setting up monitors`,processingPlaceholder:`Analyzing coverage…`,emptyState:{title:`Improve your monitoring`,description:`I can analyze your monitoring coverage, find unprotected critical assets, and help you set up monitors across your warehouses and tables.`,maxWidth:500},suggestedQuestions:[`Which use cases have monitoring gaps?`,`What are my most critical unmonitored tables?`,`Help me set up monitors for a use case`],mixpanelPageName:be,conversationOrigins:{input:J.CoverageInput,starterQuestion:J.CoverageStarterQuestion},sidebarBadge:{label:`Monitoring`}},[K.CoverageAuto]:{...Tl,supportsFileUploads:!1,autonomous:!0,assistantId:q.CoverageAgent,id:`coverage_auto`,pageTitle:`Monitoring agent (Auto)`,inputPlaceholder:``,processingPlaceholder:`Running coverage analysis…`,emptyState:{title:`Improve your monitoring`,description:`Automatically analyze all your warehouses and use cases, identify monitoring gaps, and recommend monitors for your critical data assets.`,maxWidth:500},suggestedQuestions:[],mixpanelPageName:be,conversationOrigins:{input:J.CoverageAutoStart,starterQuestion:J.CoverageAutoStart},sidebarBadge:{label:`Monitoring (Auto)`}}
39,[K.PiiCompliance]:{...Tl,assistantId:q.Chat,pageTitle:`Compliance agent`,id:`pii_compliance`,inputPlaceholder:`Ask about PII exposure or set up PII monitors…`,processingPlaceholder:`Analyzing…`,emptyState:{title:`Compliance agent`,description:`Find tables holding sensitive data and set up monitors to catch unexpected PII the moment it lands.`,maxWidth:460},suggestedQuestions:[`Help me create a monitor to alert when unexpected PII is found in my tables`,`Which tables contain personally identifiable information?`,`Which BI reports use tables with SSN data?`],mixpanelPageName:x,conversationOrigins:{input:J.PiiComplianceInput,starterQuestion:J.PiiComplianceStarterQuestion},sidebarBadge:{label:`Compliance`}}};function Dl(e){return El[e]}function Ol(e){let t=e?.mc_assistant_id;return t===K.CoverageAuto?K.Chat:typeof t==`string`&&t in El?t:e?.onboarding===`true`||e?.onboarding===!0?K.Onboarding:K.Chat}var kl=(0,X.createContext)({configId:K.Chat,setConfigId:()=>{}}),Al=kl.Provider;function jl(){return(0,X.useContext)(kl).configId}function Ml(){return(0,X.useContext)(kl).setConfigId}function Nl(e,t){if(e)return e instanceof Headers?e.get(t)??void 0:Array.isArray(e)?e.find(([e])=>e.toLowerCase()===t)?.[1]:e[t]}async function Pl(e,t={},n=fetch){if(He.APPENV===`localdev`)return n(e,{...t,credentials:`include`});let a=Nl(t.headers,r),o=async(r=!1)=>{let i=await ya(r,a);return n(e,{...t,headers:{...t.headers,Authorization:`Bearer ${i}`}})};try{let e=await o();if(e.status!==401)return e;console.warn(`Agent request returned 401; refreshing agent token`);let t=await o(!0);return t.status===401&&(console.warn(`Agent request remained unauthorized after token refresh; reloading`),i()),t}catch(e){throw e instanceof ba&&(console.warn(`Agent token mint rejected the browser session; reloading`),i()),e}}var Fl=oi({url:ai().min(1),expires_at:ii()}),Il=3e4,Ll=new Map,Rl=new Map;function zl(e){return Date.now()<e.expiresAt-Il}function Bl(e){let t=Ll.get(e);return t&&zl(t)?t.url:null}function Vl(e,t,n){let r=Date.now();for(let[e,t]of Ll)t.expiresAt<=r&&Ll.delete(e);Ll.set(e,{url:t,expiresAt:n*1e3})}function Hl(e,t,n,r){let i=Bl(n);if(i)return Promise.resolve(i);let a=Rl.get(n);if(a)return a;let o=Pl(`${e}/files/${encodeURIComponent(n)}/download-url?file_name=${encodeURIComponent(r)}`,{method:`GET`},t).then(async e=>{if(!e.ok)throw Error(`download-url request failed: ${e.status}`);let t=Fl.parse(await e.json());return Vl(n,t.url,t.expires_at),t.url}).finally(()=>{Rl.delete(n)});return Rl.set(n,o),o}function Ul({agentUrl:e,fileId:t,fileName:n,enabled:r}){let[i,a]=(0,X.useState)(()=>{let n=r&&e?Bl(t):null;return{url:n,isLoading:r&&!!e&&!n,isError:!1}});return(0,X.useEffect)(()=>{if(!r||!e){a({url:null,isLoading:!1,isError:!1});return}let i=Bl(t);if(i){a({url:i,isLoading:!1,isError:!1});return}let o=!1;return a({url:null,isLoading:!0,isError:!1}),Hl(e,fetch,t,n).then(e=>{o||a({url:e,isLoading:!1,isError:!1})}).catch(()=>{o||a({url:null,isLoading:!1,isError:!0})}),()=>{o=!0}},[r,e,t,n]),i}var Wl=class{blobs=new Map;listeners=new Set;subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});addBlobs=e=>{if(e.size===0)return;let t=!1;for(let[n,r]of e)this.blobs.get(n)!==r&&(this.blobs.set(n,r),t=!0);t&&this.notify()};getBlob=e=>this.blobs.get(e)??null;notify(){this.listeners.forEach(e=>e())}},Gl=new Map;function Kl(e){let t=Gl.get(e);return t||(t=new Wl,Gl.set(e,t)),t}function ql(e,t){Kl(e).addBlobs(t)}function Jl(e){Gl.delete(e)}function Yl(e,t){let n=(0,X.useCallback)(t=>e?Kl(e).subscribe(t):()=>{},[e]),r=(0,X.useCallback)(()=>e?Gl.get(e)?.getBlob(t)??null:null,[e,t]);return(0,X.useSyncExternalStore)(n,r,()=>null)}function Xl(e){let[t,n]=(0,X.useState)(null);return(0,X.useEffect)(()=>{if(!e){n(null);return}let t=URL.createObjectURL(e);return n(t),()=>URL.revokeObjectURL(t)},[e]),t}var Zl={imageThumbnailWrapper:`_imageThumbnailWrapper_1xaep_1`,imageThumbnailWrapperBubble:`_imageThumbnailWrapperBubble_1xaep_8`,imageThumbnail:`_imageThumbnail_1xaep_1`,imageThumbnailError:`_imageThumbnailError_1xaep_21`,imageThumbnailOverlay:`_imageThumbnailOverlay_1xaep_26`};function Ql({file:e,src:t,mimeType:n,name:r,status:i,size:a=`chip`,loading:o=!1}){let s=Xl(Ji(n)&&e!==null?e:null),c=(Ji(n)?t:void 0)??s;return o?(0,Z.jsx)($l,{name:r,size:a}):c&&(a!==`chip`||i!==`uploading`)?(0,Z.jsx)(eu,{url:c,name:r,status:i,size:a}):(0,Z.jsx)(tu,{status:i,name:r})}function $l({name:e,size:t}){return(0,Z.jsx)(B,{className:pt(Zl.imageThumbnailWrapper,t===`bubble`&&Zl.imageThumbnailWrapperBubble),"aria-live":`polite`,"aria-busy":!0,"data-testid":`image-thumbnail-loading`,children:(0,Z.jsxs)(B,{className:Zl.imageThumbnailOverlay,children:[(0,Z.jsx)(yt,{size:`xs`}),(0,Z.jsxs)(qt,{children:[`Loading `,e]})]})})}function eu({url:e,name:t,status:n,size:r}){return(0,Z.jsxs)(B,{className:pt(Zl.imageThumbnailWrapper,r===`bubble`&&Zl.imageThumbnailWrapperBubble),"data-testid":`image-thumbnail`,children:[(0,Z.jsx)(`img`,{src:e,alt:``,"data-testid":`image-thumbnail-img`,className:pt(Zl.imageThumbnail,n===`error`&&Zl.imageThumbnailError)}),n===`uploading`&&(0,Z.jsxs)(B,{className:Zl.imageThumbnailOverlay,children:[(0,Z.jsx)(yt,{size:`xs`,color:`white`}),(0,Z.jsxs)(qt,{children:[`Uploading `,t]})]})]})}function tu({status:e,name:t}){switch(e){case`uploading`:return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(yt,{size:`xs`}),(0,Z.jsxs)(qt,{children:[`Uploading `,t]})]});case`uploaded`:return(0,Z.jsx)(Dn,{size:`sm`,color:`green`});case`error`:return(0,Z.jsx)(Vn,{size:`sm`,color:`red`,style:{flexShrink:0}});case`pending`:return(0,Z.jsx)(Vn,{size:`sm`,style:{flexShrink:0}});default:return nu(e)}}function nu(e){throw Error(`Unhandled FileStatusIcon status: ${String(e)}`)}var ru={previewImage:`_previewImage_1ezcl_1`};function iu({file:e,src:t,name:n,opened:r,onClose:i}){let[a,o]=(0,X.useState)(r);(0,X.useEffect)(()=>{r&&o(!0)},[r]);let s=Xl(a&&!t?e??null:null),c=t??s;return(0,Z.jsx)(Zt,{opened:r,onClose:i,onExitTransitionEnd:()=>o(!1),title:n,size:`xl`,centered:!0,closeOnEscape:!0,closeOnClickOutside:!0,children:c&&(0,Z.jsx)(`img`,{src:c,alt:n,className:ru.previewImage,"data-testid":`image-preview-img`})})}function au({attachments:e}){let{selectedThreadId:t}=Fo(),n=Dl(jl()).apiUrl,[r,i]=(0,X.useState)(!1);if(e.length===0)return null;let a=e.filter(e=>Ji(e.mime_type));return(0,Z.jsxs)(R,{gap:`xs`,align:`flex-start`,children:[a.length>0&&(0,Z.jsx)(L,{gap:`xs`,wrap:`wrap`,children:a.map(e=>(0,Z.jsx)(ou,{attachment:e,threadId:t,agentUrl:n},e.file_id))}),(0,Z.jsxs)(wt,{opened:r,onChange:i,position:`bottom-start`,withinPortal:!0,closeOnEscape:!0,closeOnClickOutside:!0,children:[(0,Z.jsx)(wt.Target,{children:(0,Z.jsxs)(F,{variant:`default`,size:`compact`,leftSection:(0,Z.jsx)(Vn,{size:`xs`}),onClick:()=>i(!r),className:Sl.contextButton,children:[`Files (`,e.length,`)`]})}),(0,Z.jsx)(wt.Dropdown,{p:0,children:(0,Z.jsxs)(B,{className:Sl.popoverContent,children:[(0,Z.jsx)(H,{size:`xs`,fw:500,c:`dimmed`,className:Sl.groupLabel,children:`Attached files`}),e.map(e=>(0,Z.jsxs)(L,{gap:`xs`,align:`center`,wrap:`nowrap`,className:Sl.mentionItem,style:{overflow:`hidden`},children:[(0,Z.jsx)(Vn,{size:`sm`,style:{flexShrink:0}}),(0,Z.jsx)(V,{label:e.file_name,openDelay:300,withinPortal:!0,children:(0,Z.jsx)(H,{size:`sm`,truncate:!0,children:e.file_name})})]},e.file_id))]})})]})]})}function ou({attachment:e,threadId:t,agentUrl:n}){let r=Yl(t,e.file_id),{url:i,isLoading:a}=Ul({agentUrl:n,fileId:e.file_id,fileName:e.file_name,enabled:!r});return r?(0,Z.jsx)(su,{attachment:e,file:r}):i?(0,Z.jsx)(su,{attachment:e,src:i}):a?(0,Z.jsx)(Ql,{file:null,mimeType:e.mime_type,name:e.file_name,status:`uploaded`,size:`bubble`,loading:!0}):null}function su({attachment:e,file:t,src:n}){let[r,i]=(0,X.useState)(!1);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(St,{onClick:()=>i(!0),"aria-label":`Open ${e.file_name} preview`,children:(0,Z.jsx)(Ql,{file:t??null,src:n,mimeType:e.mime_type,name:e.file_name,status:`uploaded`,size:`bubble`})}),(0,Z.jsx)(iu,{file:t,src:n,name:e.file_name,opened:r,onClose:()=>i(!1)})]})}var cu={container:`_container_1o3ig_1`,messageCard:`_messageCard_1o3ig_5`},lu=(0,X.memo)(({content:e,contextMentions:t,fileAttachments:n})=>{let r=Bc(e),i=t&&t.length>0,a=n&&n.length>0;return(0,Z.jsx)(L,{align:`baseline`,className:cu.container,justify:`flex-end`,children:(0,Z.jsxs)(Sn,{bg:`light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-7))`,maw:`80%`,className:cu.messageCard,children:[(0,Z.jsx)(Si,{openLinksInNewTab:!0,children:r}),(a||i)&&(0,Z.jsxs)(L,{gap:`xs`,mt:`xs`,children:[a&&(0,Z.jsx)(au,{attachments:n}),i&&(0,Z.jsx)(Cl,{mentions:t})]})]})})},(e,t)=>e.content===t.content&&e.contextMentions===t.contextMentions&&e.fileAttachments===t.fileAttachments),uu=`00000000-0000-0000-0000-000000000000`,du=e=>({id:e.id,run_id:e.runId,key:e.key,value:e.value,feedback_source:e.feedbackSource,alert_id:e.alertId,...`parentId`in e&&e.parentId&&{parent_id:e.parentId}}),fu=e=>({id:e.id,runId:e.run_id,key:e.key,value:e.value,feedbackSource:e.feedback_source,alertId:e.alert_id,createdAt:e.created_at,modifiedAt:e.modified_at,...e.parent_id&&{parentId:e.parent_id}}),pu={maxRetries:5,baseDelay:1500},mu=()=>{let e=Ke();return(0,X.useMemo)(()=>
39{if(!e)return null;let t=async(t,n={})=>{try{return await Pl(t,{...n,headers:{...n.headers,"Content-Type":`application/json`,[r]:e}})}catch(e){return console.warn(`Failed to fetch:`,e),null}},n=async(e,r=0)=>{let i=await t(`${He.AI_AGENT_URL}/feedbacks`,{method:`POST`,body:JSON.stringify(du(e))});if(!i)return console.warn(`Failed to post feedback: No response`),null;if(!i.ok){if(console.warn(`Failed to post feedback (attempt ${r+1}): ${i.statusText}`),r<pu.maxRetries){let t=pu.baseDelay*2**r;return console.warn(`Retrying feedback post in ${t}ms... (attempt ${r+1}/${pu.maxRetries})`),await new Promise(e=>setTimeout(e,t)),n(e,r+1)}return console.error(`Failed to post feedback after ${pu.maxRetries} attempts`),null}return i.json()},i=async(e,n=0)=>{let r=await t(`${He.AI_AGENT_URL}/feedbacks/${encodeURIComponent(e)}`,{method:`DELETE`});if(!r)return console.warn(`Failed to delete feedback: No response`),!1;if(!r.ok){if(console.warn(`Failed to delete feedback (attempt ${n+1}): ${r.statusText}`),n<pu.maxRetries){let t=pu.baseDelay*2**n;return console.warn(`Retrying feedback deletion in ${t}ms... (attempt ${n+1}/${pu.maxRetries})`),await new Promise(e=>setTimeout(e,t)),i(e,n+1)}return console.error(`Failed to delete feedback after ${pu.maxRetries} attempts`),!1}return!0};return{getFeedbacks:async e=>{let n=await t(`${He.AI_AGENT_URL}/feedbacks?run_id=${encodeURIComponent(e)}`,{method:`GET`});return n?n.ok?(await n.json()).map(fu):(console.warn(`Failed to fetch feedbacks: ${n.statusText}`),[]):(console.warn(`Failed to fetch feedbacks: No response`),[])},postFeedback:async e=>{let t=crypto.randomUUID(),r={...e,id:t},i=new Date().toISOString(),a={...r,createdAt:i,modifiedAt:i};return n(r).catch(e=>{console.warn(`Failed to post feedback after retries:`,e)}),a},deleteFeedback:async e=>(i(e).catch(e=>{console.warn(`Failed to delete feedback after retries:`,e)}),Promise.resolve())}},[e])},hu=e(st(),1),gu=ei((e,t)=>({feedbackByRunId:new Map,inFlightRequests:new Map,getCachedFeedback:e=>t().feedbackByRunId.get(e),setCachedFeedback:(t,n)=>{e(e=>{let r=new Map(e.feedbackByRunId);return r.set(t,n),{feedbackByRunId:r}})},getInFlightRequest:e=>t().inFlightRequests.get(e),setInFlightRequest:(t,n)=>{e(e=>{let r=new Map(e.inFlightRequests);return r.set(t,n),{inFlightRequests:r}})},deleteInFlightRequest:t=>{e(e=>{let n=new Map(e.inFlightRequests);return n.delete(t),{inFlightRequests:n}})},clearCache:()=>{e({feedbackByRunId:new Map,inFlightRequests:new Map})}})),_u=e=>new Date(e.replace(/\+00:00$/,``)),vu=(e,t)=>{let n=_u(e.createdAt),r=_u(t.createdAt);return isNaN(n.getTime())&&isNaN(r.getTime())?t.createdAt.localeCompare(e.createdAt):isNaN(n.getTime())?1:isNaN(r.getTime())?-1:r.getTime()-n.getTime()},yu=e=>e.length===0?null:e.reduce((e,t)=>vu(e,t)<0?e:t),bu=(e,t,n,r)=>({key:e,value:t,feedbackSource:`user`,runId:n,alertId:r}),xu=(e,t,n,r)=>({key:`categorization`,value:t,feedbackSource:`user`,runId:n,alertId:r,parentId:e}),Su=(e,t,n,r)=>({key:`comment`,value:t,feedbackSource:`user`,runId:n,alertId:r,parentId:e});function Cu({runId:e,alertId:t}){let{getCachedFeedback:n,setCachedFeedback:r,getInFlightRequest:i,setInFlightRequest:a,deleteInFlightRequest:o}=gu(),[s,c]=(0,X.useState)(()=>n(e)??[]),[l,u]=(0,X.useState)(!1),[d,f]=(0,X.useState)(!1),[p,m]=(0,X.useState)(!1),[h,g]=(0,X.useState)(!1),_=mu(),v=(0,X.useRef)(!1),y=(0,X.useCallback)(t=>{c(n=>{let i=t(n);return e&&queueMicrotask(()=>r(e,i)),i})},[e,r]);(0,X.useEffect)(()=>{v.current=!1;let t=n(e);t&&c(t)},[e,n]),(0,X.useEffect)(()=>{(async()=>{let t=n(e);if(t){c(t),v.current=!0;return}if(e&&!v.current&&_){let t=i(e);if(t){try{u(!0);let e=await t;c(e),v.current=!0}catch(e){console.error(`Error fetching feedback:`,e)}finally{u(!1)}return}try{u(!0);let t=_.getFeedbacks(e);a(e,t);let n=await t;c(n),r(e,n),v.current=!0}catch(e){console.error(`Error fetching feedback:`,e)}finally{o(e),u(!1)}}})()},[e,_,n,i,a,r,o]);let b=(0,X.useMemo)(()=>s?yu(s.filter(e=>e.key===`feedback`)):null,[s]),x=(0,X.useMemo)(()=>!s||!b?null:yu(s.filter(e=>e.key===`categorization`&&e.parentId===b.id)),[s,b]),S=(0,X.useMemo)(()=>!s||!b?null:yu(s.filter(e=>e.key===`comment`&&e.parentId===b.id)),[s,b]),C=(0,X.useCallback)(e=>({Correct:`correct`,Insightful:`insightful`,Incorrect:`incorrect`,Confusing:`confusing`,"Missing information":`missing_information`,Other:`other`})[e]||`other`,[]),w=(0,X.useCallback)(async n=>{if(!_)throw Error(`No feedback client available to post feedback`);let r=(0,hu.compact)([b?.id,x?.id,S?.id]),i=bu(`feedback`,n,e,t);f(!0);try{let e=await _.postFeedback(i);return r.length>0&&Promise.all(r.map(e=>_.deleteFeedback(e).catch(t=>console.warn(`Failed to delete feedback ${e}:`,t)))).catch(e=>console.warn(`Some feedback deletions failed:`,e)),y(t=>{let n=(t||[]).filter(e=>!r.includes(e.id));return[e,...n].sort(vu)}),e}catch(e){throw console.warn(`Error posting feedback:`,e),e}finally{f(!1)}},[_,b?.id,x?.id,S?.id,e,t,y]),T=(0,X.useCallback)(async(n,r)=>{if(!_)throw Error(`No feedback client available to post categorization`);let i=xu(n,C(r),e,t);m(!0);try{let e=await _.postFeedback(i);return y(t=>{let r=t.filter(e=>e.key!==`categorization`||e.parentId!==n);return[e,...r].sort(vu)}),e}catch(e){throw console.warn(`Error posting categorization feedback:`,e),e}finally{m(!1)}},[e,t,C,_,y]),E=(0,X.useCallback)(async(n,r)=>{if(!_)throw Error(`No feedback client available to post comment`);let i=Su(n,r,e,t);g(!0);try{let e=await _.postFeedback(i);return y(t=>{let r=t.filter(e=>e.key!==`comment`||e.parentId!==n);return[e,...r].sort(vu)}),e}catch(e){throw console.warn(`Error posting comment feedback:`,e),e}finally{g(!1)}},[_,e,t,y]),D=(0,X.useCallback)(async(e,t=`feedback`)=>{if(!_)throw Error(`No feedback client available to delete ${t}`);try{await _.deleteFeedback(e),y(t=>t.filter(t=>t.id!==e))}catch(e){throw console.warn(`Error deleting ${t}:`,e),e}},[_,y]);return{allExistingFeedback:s,isLoadingFeedback:l,isCreatingFeedback:d,isCreatingCategorization:p,isCreatingComment:h,ratingFeedback:b,existingCategorization:x,existingComment:S,addFeedback:w,addCategorizationFeedback:T,addCommentFeedback:E,deleteFeedback:D,deleteC
39ategorizationFeedback:(0,X.useCallback)(e=>D(e,`categorization feedback`),[D]),fetchExistingFeedback:(0,X.useCallback)(async e=>{if(_)try{u(!0);let t=await _.getFeedbacks(e);c(t),r(e,t)}catch(e){console.error(`Error fetching feedback:`,e)}finally{u(!1)}},[_,r])}}function wu({runId:e,responseType:t,ratingFeedback:n,addFeedback:r,deleteFeedback:i,setShowCategorization:a,onFollowUpQuestion:o,agentMode:s}){return{handleFeedback:(0,X.useCallback)(async o=>{if(!e){console.warn(`Cannot submit feedback: missing runId`);return}if(n&&n.value===o){try{await i(n.id),M(Oe,{feedback_type:o,message_id:e,response_type:t,agent_mode:s})}catch(e){console.warn(`Error deleting feedback:`,e)}return}r(o),a(!0),M(N,{feedback_type:o,message_id:e,response_type:t,agent_mode:s})},[e,n,i,r,a,t,s]),handleCopyResponse:(0,X.useCallback)(()=>{e&&M(de,{message_id:e,response_type:t,agent_mode:s})},[e,t,s]),handleFollowUpQuestion:(0,X.useCallback)(n=>{M(d,{question_text:n,message_id:e,response_type:t,agent_mode:s}),o?.(n)},[e,t,o,s]),handleCloseCategorization:(0,X.useCallback)(()=>{a(!1)},[a])}}var Tu=({feedbackType:e,responseType:t,runId:n,parentId:r,existingCategorization:i,existingComment:a,addCategorizationFeedback:o,addCommentFeedback:s,deleteCategorizationFeedback:c,onClose:l,agentMode:u})=>{let[d,f]=(0,X.useState)(``),p=(0,X.useRef)(null),m=i?_s[i.value]||`Other`:``;(0,X.useEffect)(()=>{f(m===`Other`&&a?a.value:``)},[m,a]);let h=(0,X.useCallback)(async e=>{try{await o(r,e)}catch(e){console.warn(`Error submitting categorization feedback:`,e)}},[o,r]),g=(0,X.useCallback)(async e=>{await s(r,e.trim()),l()},[s,r,l]),_=(0,X.useCallback)(async r=>{if(i&&m===r){try{await c(i.id),M(Ee,{feedback_type:e,category:r,message_id:n,response_type:t,agent_mode:u})}catch(e){console.warn(`Error deleting categorization:`,e)}return}M(ee,{feedback_type:e,category:r,message_id:n,response_type:t,agent_mode:u}),await h(r),r===`Other`?(f(``),p.current?.focus()):l()},[i,m,c,e,n,t,h,f,p,l,u]),v=(0,X.useCallback)(async()=>{let r=d.trim();if(d.trim())try{await g(r),M(Ae,{feedback_type:e,comment_length:r.length,message_id:n,response_type:t,agent_mode:u}),f(``)}catch(e){console.warn(`Error submitting comment feedback:`,e)}},[d,g,e,n,t,u]);return{selectedCategory:m,otherText:d,textareaRef:p,handleCategorySelect:_,handleSubmitOther:v,handleTextareaChange:(0,X.useCallback)(e=>{f(e.currentTarget.value)},[f]),handleTextareaKeyDown:(0,X.useCallback)((e,t)=>{e.key===`Enter`&&!e.shiftKey&&d.trim()&&!t&&(e.preventDefault(),v())},[d,v])}};function Eu({feedbackType:e,responseType:t,onClose:n,existingCategorization:r,existingComment:i,addCategorizationFeedback:a,addCommentFeedback:o,deleteCategorizationFeedback:s,parentId:c,isSubmitting:l=!1,runId:u,agentMode:d}){let{selectedCategory:f,otherText:p,textareaRef:m,handleCategorySelect:h,handleSubmitOther:g,handleTextareaChange:_,handleTextareaKeyDown:v}=Tu({feedbackType:e,responseType:t,runId:u,parentId:c,existingCategorization:r,existingComment:i,addCategorizationFeedback:a,addCommentFeedback:o,deleteCategorizationFeedback:s,onClose:n,agentMode:d});return(0,Z.jsxs)(B,{p:`md`,maw:400,children:[(0,Z.jsxs)(L,{justify:`space-between`,align:`center`,mb:`md`,children:[(0,Z.jsxs)(H,{size:`sm`,fw:500,children:[`What made this response `,e===`positive`?`helpful`:`unhelpful`,`?`]}),(0,Z.jsx)(I,{"aria-label":`Close feedback`,variant:`subtle`,onClick:n,size:`compact`,children:(0,Z.jsx)(on,{})})]}),(0,Z.jsxs)(R,{gap:`md`,children:[(0,Z.jsxs)(L,{gap:`xs`,wrap:`wrap`,children:[(e===`positive`?hs:gs).map(e=>(0,Z.jsx)(_r,{variant:f===e?`filled`:`outline`,size:`sm`,value:e,onClick:()=>h(e),disabled:l,checked:f===e,color:f===e?`blue`:void 0,children:e},e)),(0,Z.jsx)(_r,{variant:f===`Other`?`filled`:`outline`,size:`sm`,value:`Other`,onClick:()=>h(`Other`),disabled:l,checked:f===`Other`,color:f===`Other`?`blue`:void 0,children:`Other`})]}),(0,Z.jsxs)(R,{display:f===`Other`?`flex`:`none`,w:`100%`,gap:`xs`,align:`flex-start`,children:[(0,Z.jsx)(H,{id:`feedback-help-text`,size:`xs`,c:`dimmed`,children:`Please provide specific details about your feedback.`}),(0,Z.jsx)(Sr,{autoFocus:!0,ref:m,placeholder:`Your feedback helps us improve the chat assistant.`,value:p,onChange:_,onKeyDown:e=>v(e,l),autosize:!0,minRows:2,maxRows:3,disabled:l,w:`100%`,"aria-label":`Additional feedback details`,"aria-describedby":`feedback-help-text`}
39),(0,Z.jsx)(F,{title:`Submit comment`,variant:`secondary`,size:`compact`,onClick:g,disabled:!p.trim()||l,children:`Submit`})]})]})]})}var Du={container:`_container_mxtty_13`,followUpFadeIn:`_followUpFadeIn_mxtty_1`,followUpQuestionRow:`_followUpQuestionRow_mxtty_19`,followUpAskButtonText:`_followUpAskButtonText_mxtty_35`,followUpQuestionText:`_followUpQuestionText_mxtty_51`};function Ou({title:e,suggestions:t,onQuestionClick:n}){return t.length===0?null:(0,Z.jsxs)(B,{className:Du.container,"data-testid":`tsa-follow-up-questions`,children:[e&&(0,Z.jsx)(H,{size:`md`,fw:600,pb:`xs`,children:e}),t.map(e=>(0,Z.jsxs)(St,{title:`Ask follow-up question`,className:Du.followUpQuestionRow,onClick:()=>n(e),"data-testid":`tsa-follow-up-question`,children:[(0,Z.jsx)(H,{className:Du.followUpQuestionText,children:e}),(0,Z.jsx)(H,{className:Du.followUpAskButtonText,children:`Ask agent`})]},e))]})}var ku={feedbackContainer:`_feedbackContainer_agowq_13`,feedbackFadeIn:`_feedbackFadeIn_agowq_1`,feedbackButtonActive:`_feedbackButtonActive_agowq_25`};function Au({responseType:e,contentToCopy:t,followUpQuestions:n,onFollowUpQuestion:r,followUpQuestionsEnabled:i=!1,runId:a,alertId:o}){let s=Bn({timeout:2e3}),c=jl(),[l,u]=(0,X.useState)(!1),{isLoadingFeedback:d,isCreatingFeedback:f,isCreatingCategorization:p,isCreatingComment:m,ratingFeedback:h,existingCategorization:g,existingComment:_,addFeedback:v,addCategorizationFeedback:y,addCommentFeedback:b,deleteFeedback:x,deleteCategorizationFeedback:S}=Cu({runId:a,alertId:o}),{handleFeedback:C,handleCopyResponse:w,handleFollowUpQuestion:T,handleCloseCategorization:E}=wu({runId:a,responseType:e,ratingFeedback:h,addFeedback:v,deleteFeedback:x,setShowCategorization:u,onFollowUpQuestion:r,agentMode:c}),D=h?.value===`positive`,O=h?.value===`negative`;function k(){t&&(s.copy(t),w())}let A=!!(n&&i&&n.length>0);return(0,Z.jsxs)(R,{gap:`xs`,className:ku.feedbackContainer,children:[A&&(0,Z.jsx)(Ou,{suggestions:n??[],onQuestionClick:T}),(0,Z.jsx)(L,{gap:`xs`,justify:`flex-end`,align:`center`,children:(0,Z.jsxs)(L,{gap:`xs`,children:[(0,Z.jsxs)(wt,{position:`bottom`,withArrow:!0,shadow:`md`,closeOnEscape:!1,closeOnClickOutside:!0,opened:l,onChange:u,children:[(0,Z.jsx)(wt.Target,{children:(0,Z.jsxs)(L,{gap:`xs`,children:[(0,Z.jsx)(V,{label:D?`You've flagged this response as helpful. Click to remove`:`This response was helpful.`,children:(0,Z.jsx)(I,{"aria-label":D?`You've flagged this response as helpful. Click to remove`:`This response was helpful.`,onClick:()=>C(`positive`),disabled:f||d,children:D?(0,Z.jsx)(fn,{color:`green.4`}):(0,Z.jsx)(ut,{})})}),(0,Z.jsx)(V,{label:O?`You've flagged this response as not helpful. Click to remove`:`This response was not helpful.`,children:(0,Z.jsx)(I,{"aria-label":O?`You've flagged this response as not helpful. Click to remove`:`This response was not helpful.`,onClick:()=>C(`negative`),disabled:f||d,children:O?(0,Z.jsx)(Lt,{color:`red.4`}):(0,Z.jsx)($t,{})})})]})}),(0,Z.jsxs)(wt.Dropdown,{p:0,maw:400,children:[(f||d)&&(0,Z.jsx)(gr,{miw:300,mih:130,p:`xl`,children:(0,Z.jsx)(yt,{size:`lg`})}),!f&&!d&&h?.value&&(0,Z.jsx)(Eu,{feedbackType:h.value,runId:a,responseType:e,onClose:E,existingCategorization:g,existingComment:_,parentId:h.id,addCategorizationFeedback:y,addCommentFeedback:b,deleteCategorizationFeedback:S,isSubmitting:p||m,agentMode:c},`${g?.id||`none`}-${_?.id||`none`}`)]})]}),t&&(0,Z.jsx)(V,{label:s.copied?`Response copied`:`Copy response`,children:(0,Z.jsx)(I,{"aria-label":s.copied?`Response copied`:`Copy response`,variant:`subtle`,onClick:k,children:(0,Z.jsx)(mt,{})})})]})})]})}var ju=/^\s*(javascript|data|vbscript):/i,Mu=/\p{Cc}/gu;function Nu({url:e,filename:t}){if(ju.test(e.replace(Mu,``))){console.error(`downloadFile: refusing to navigate to a disallowed URL scheme`);return}let n=document.createElement(`a`);n.href=e,t&&(n.download=t),document.body.appendChild(n),n.click(),document.body.removeChild(n)}function Pu(e,t,n=`text/plain`){let r=new Blob([e],{type:n}),i=URL.createObjectURL(r);Nu({url:i,filename:t}),URL.revokeObjectURL(i)}var Fu=/^\/files\/[0-9a-f]{32}\/.+/,Iu=/[\\"]|\p{Cc}/gu,Lu=new Set;function Ru(e,t){if(!t)return!1;try{let n=new URL(e);return n.origin===new URL(t).origin&&Fu.test(n.pathname)}catch{return!1}}function zu(e){let t=``;try{let{pathname:n}=new URL(e);t=n.split(`/`).pop()??``,t=decodeURIComponent(t)}catch{t=``}return t.replace(Iu,``).trim()||`download`}async function Bu(e){if(Lu.has(e))return;Lu.add(e);let t;try{let n=await Pl(e,{method:`GET`});if(!n.ok){Pe(Error(`Agent file download failed: ${n.status}`)),Ot.show({message:`Failed to download the file. Please try again.`,variant:`danger`,autoClose:!1});return}
39let r=new Blob([await n.blob()],{type:`application/octet-stream`});t=URL.createObjectURL(r),Nu({url:t,filename:zu(e)})}catch(e){Pe(e),Ot.show({message:`Failed to download the file. Please try again.`,variant:`danger`,autoClose:!1})}finally{if(Lu.delete(e),t){let e=t;setTimeout(()=>URL.revokeObjectURL(e),0)}}}function Vu(e){return{matches:t=>Ru(t,e),download:e=>{Bu(e)}}}var Hu=Vu(He.AI_AGENT_URL);function Uu(e){return!(e.match(/\[([^\]]*)\]\(([^)]*?)$/)||(e.match(/\*\*/g)||[]).length%2!=0||(e.match(/(?<!\*)\*(?!\*)/g)||[]).length%2!=0||(e.match(/(?<!`)`(?!`)/g)||[]).length%2!=0||(e.match(/```/g)||[]).length%2!=0)}function Wu(e){if(!e)return{completeParagraphs:[],pendingContent:``};let t=e.split(/\n\n+/),n=[],r=/\n\n+$/.test(e);for(let e=0;e<t.length;e++){let i=t[e]?.trim();if(i){if(e===t.length-1&&!r)return{completeParagraphs:n,pendingContent:i};if(Uu(i))n.push(i);else return{completeParagraphs:n,pendingContent:t.slice(e).map(e=>e?.trim()).filter(Boolean).join(`
40
41`)}}}return{completeParagraphs:n,pendingContent:``}}var Gu={paragraphFadeIn:`_paragraphFadeIn_kcsss_13`,container:`_container_kcsss_24`},Ku=(0,X.memo)(function({content:e,isStreaming:t,overrides:n}){let r=(0,X.useRef)(t);if(t&&(r.current=!0),!r.current)return(0,Z.jsx)(B,{className:Gu.container,children:(0,Z.jsx)(Si,{collapsibleCodeBlocks:!0,openLinksInNewTab:!0,overrides:n,agentFileDownload:Hu,children:e})});let{completeParagraphs:i,pendingContent:a}=Wu(e),o=t||!a?i:[...i,a];return(0,Z.jsx)(R,{gap:0,className:Gu.container,children:o.map((e,t)=>(0,Z.jsx)(B,{className:Gu.paragraphFadeIn,children:(0,Z.jsx)(Si,{collapsibleCodeBlocks:!0,openLinksInNewTab:!0,overrides:n,agentFileDownload:Hu,children:e})},`p-${t}`))})}),qu=e(Er(),1);function Ju(){return crypto.randomUUID()}function Yu(e){return Yi.includes(e)}var Xu=1024,Zu=Xu*1024;function Qu(e){return e<Xu?`${e} B`:e<Zu?`${(e/Xu).toFixed(1)} KB`:`${(e/Zu).toFixed(1)} MB`}function $u(){let[e,t]=(0,X.useState)([]),n=(0,X.useRef)(e);n.current=e;let[r,i]=(0,X.useState)(!1),[a,o]=(0,X.useState)(null),s=(0,X.useRef)(new Map),c=(0,X.useCallback)(e=>{o(null);let r=[];for(let t of e){if(!Yu(t.type))return o(`"${t.name}" is not a supported file type. Supported: ${qi}.`),M(l,{rejection_reason:`unsupported_type`,file_name:t.name}),[];if(t.size>4718592)return o(`"${t.name}" is too large (${Qu(t.size)}). Maximum size is ${Qu(oa)}.`),M(l,{rejection_reason:`file_too_large`,file_name:t.name,file_size:t.size}),[];r.push(t)}let i=5-n.current.length,a=r.slice(0,i),s=r.length-a.length;if(a.length===0&&s>0)return o(`Maximum 5 files allowed`),M(l,{rejection_reason:`max_count_exceeded`,attempted_count:e.length,max_count:5}),[];let c=[];if(t(e=>{let t=[];for(let n of a)e.some(e=>e.name===n.name)||t.push({id:Ju(),file:n,name:n.name,size:n.size,mimeType:n.type,status:`pending`});return c=t,t.length>0?[...e,...t]:e}),s>0){let t=new Set(n.current.map(e=>e.name)),r=a.filter(e=>!t.has(e.name)).length;o(r>0?`Added ${r} ${r===1?`file`:`files`}. ${s} skipped (maximum 5)`:`Maximum 5 files allowed`),M(l,{rejection_reason:`max_count_exceeded`,attempted_count:e.length,accepted_count:r,max_count:5})}return c},[]),u=(0,X.useCallback)(e=>{s.current.get(e)?.abort(),s.current.delete(e),t(t=>t.filter(t=>t.id!==e)),o(null)},[]),d=(0,X.useCallback)(()=>o(null),[]);return{files:e,addFiles:c,removeFile:u,clearFiles:(0,X.useCallback)(()=>{for(let e of s.current.values())e.abort();s.current.clear(),t([]),o(null)},[]),clearError:d,uploadFiles:(0,X.useCallback)(async(e,r)=>{let a=n.current,c=a.filter(e=>e.status===`pending`||e.status===`error`);if(c.length===0){let e=[],t=new Map;for(let n of a)n.status===`uploaded`&&n.fileId&&(e.push({file_id:n.fileId,file_name:n.name,mime_type:n.mimeType,file_size:n.size}),t.set(n.fileId,n.file));return{refs:e,blobs:t}}i(!0),o(null);let l=[],u=new Map;t(e=>e.map(e=>c.some(t=>t.id===e.id)?{...e,status:`uploading`}:e));try{let i=await Promise.allSettled(c.map(async n=>{let i=new AbortController;s.current.set(n.id,i);let a=await Pl(`${e}/files/upload-url`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filename:n.name,mime_type:n.mimeType,file_size:n.size}),signal:i.signal},r);if(!a.ok)throw Error(`Failed to get upload URL for "${n.name}"`);let{file_id:o,upload_url:c}=await a.json();if(!(await r(c,{method:`PUT`,body:n.file,headers:{"Content-Type":n.mimeType},signal:i.signal})).ok)throw Error(`Failed to upload "${n.name}" to storage`);return s.current.delete(n.id),t(e=>e.map(e=>e.id===n.id?{...e,status:`uploaded`,fileId:o}:e)),{ref:{file_id:o,file_name:n.name,mime_type:n.mimeType,file_size:n.size},file:n.file}})),a=[],d=new Set;for(let e=0;e<i.length;e++){let t=i[e];if(t?.status===`fulfilled`)l.push(t.value.ref),u.set(t.value.ref.file_id,t.value.file);else{let n=t?.reason;if(n instanceof DOMException&&n.name===`AbortError`)continue;a.push(n instanceof Error?n.message:`Upload failed`),d.add(c[e]?.id??``)}}if(a.length>0){let e=a.join(`; `);throw o(e),t(t=>t.map(t=>d.has(t.id)?{...t,status:`error`,error:e}:t)),Error(e)}for(let e of n.current)e.status===`uploaded`&&e.fileId&&(l.some(t=>t.file_id===e.fileId)||(l.push({file_id:e.fileId,file_name:e.name,mime_type:e.mimeType,file_size:e.size}),u.set(e.fileId,e.file)));return{refs:l,blobs:u}}catch(e){throw e instanceof DOMException&&e.name,e}finally{i(!1)}},[]),isUploading:r,error:a}}var ed={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`query`,name:{kind:`N
41ame`,value:`getTenantId`},variableDefinitions:[{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`envConfiguration`}},type:{kind:`NonNullType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`AwsEnvConfiguration`}}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`getHostingInfo`},arguments:[{kind:`Argument`,name:{kind:`Name`,value:`envConfiguration`},value:{kind:`Variable`,name:{kind:`Name`,value:`envConfiguration`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`infrastructureDetails`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`tenantId`}}]}}]}}]}}]},td=function(e){return e.US1=`us1`,e.EU1=`eu1`,e.MTB=`mtb`,e.DEV=`dev`,e.LOCAL=`local`,e.OTHER=`other`,e}({}),nd=function(e){return e.SnowflakePlatformSelector=`snowflake-platform-selector`,e.TroubleshootingAgentFeedback=`troubleshooting-agent-feedback`,e}({}),rd=[`snowflake-platform-selector`,`troubleshooting-agent-feedback`],id={us1:rd,eu1:[`snowflake-platform-selector`],mtb:[`troubleshooting-agent-feedback`],dev:rd,local:rd,other:[]};function ad(e){if(!e)return td.US1;let t=e.toLowerCase();for(let e of Object.values(td))if(e!==td.OTHER&&t===e)return e;return td.OTHER}function od(){let{data:e,loading:t}=o(ed,{variables:{envConfiguration:Hr.Primary}}),n=e?.getHostingInfo?.infrastructureDetails?.tenantId,r=ad(n);return{instanceType:r,isLoading:t,isFeatureAvailable:e=>(id[r]||[]).includes(e)}}var sd={container:`_container_15eht_2`,fadeIn:`_fadeIn_15eht_1`,interactiveCard:`_interactiveCard_15eht_20`,previewSection:`_previewSection_15eht_27`,fieldLabel:`_fieldLabel_15eht_34`,actions:`_actions_15eht_40`},cd=`The system account's own email can't be the requester. Please enter the customer's email address.`,ld=`You are logged in as a shared system user. Add your @montecarlodata.com or @montecarlo.ai email to CC to proceed`,ud={[xs.requesterRequired]:`A requester email is required. Please provide the email address of the person this ticket is for.`,[xs.overrideIsSystemEmail]:cd,[xs.invalidOverrideEmail]:`The requester email address is not valid. Please provide a valid email address.`,[xs.mandatoryMcCcMissing]:`This ticket is being created from a shared system account. Add your @montecarlodata.com or @montecarlo.ai email to CC to proceed.`},dd=`An unexpected error occurred`;function fd({escalationState:e,interrupt:t,onInterruptResponse:n,isLoading:r=!1}){let{result:i,preview:a,toolCallId:o}=e,s=t?.value,c=s?.tool_call_id===o&&s?.type===bs.ESCALATION_CONFIRMATION;if(!i&&!c)return null;if(c&&n)return(0,Z.jsx)(pd,{interruptValue:s,onResponse:n,isLoading:r});if(!i||i.blocked_for_retry)return null;if(i.cancelled)return(0,Z.jsx)(B,{className:sd.container,maw:`90%`,children:(0,Z.jsx)(Vt,{variant:`outline`,color:`gray`,icon:(0,Z.jsx)(on,{size:`sm`}),title:`Cancelled`,children:`Support ticket not created`})});if(!i.success){let e=i.error??``,t=Object.hasOwn(ud,e)?ud[e]:dd;return(0,Z.jsx)(B,{className:sd.container,maw:`90%`,children:(0,Z.jsx)(Vt,{variant:`danger`,title:`Failed to create support ticket`,children:t})})}let l=Array.from(new Set([i.user_email,...i.cc_emails??a.cc_emails??[]].filter(e=>!!e)));return(0,Z.jsx)(B,{className:sd.container,maw:`90%`,children:(0,Z.jsx)(Vt,{variant:`success`,title:`Support ticket created`,children:(0,Z.jsxs)(R,{gap:`xs`,children:[i.ticket_id!=null&&(0,Z.jsxs)(H,{size:`sm`,c:`dimmed`,children:[(0,Z.jsx)(H,{span:!0,fw:600,children:`Ticket ID:`}),` `,i.ticket_id]}),i.ticket_subject&&(0,Z.jsxs)(H,{size:`sm`,c:`dimmed`,children:[(0,Z.jsx)(H,{span:!0,fw:600,children:`Email Thread Subject:`}),` `,`"${i.ticket_subject}"`]}),l.length>0&&(0,Z.jsxs)(H,{size:`sm`,c:`dimmed`,children:[(0,Z.jsx)(H,{span:!0,fw:600,children:`Recipients:`}),` `,l.join(`, `)]}),a.detailed_description&&(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,lineClamp:2,children:a.detailed_description})]})})})}function pd({interruptValue:e,onResponse:t,isLoading:n=!1}){let r=e.preview,i=r.detailed_description??``,a=(0,X.useMemo)(()=>r.uploaded_files??[],[r.uploaded_files]),[o,s]=(0,X.useState)(i),[c,l]=(0,X.useState)(r.cc_emails??[]),[u,d]=(0,X.useState)(null),[f,p]=(0,X.useState)(new Set),[m,h]=(0,X.useState)(!1),[g,_]=(0,X.useState)(!1),[v,y]=(0,X.useState)(``),[b,x]=(0,X.useState)(null),S=(0,X.useRef)(null),C=(0,X.useRef)(null),{instanceType:w}=od(),T=(0,X.useId)(),E=(0,X.useId)(),{registerConversationChangeGuard:D}=Fo(),O=He.APPENV===`localdev`||He.APPENV===`dev`,k=w!==td.US1||O,A=o!==i||c.length>0||f.size>0||m||r.is_service_user===!0&&v.length>0,j=!g&&A,M=ze(()=>j),ee=(0,X.useRef)(null),te=(0,X.useCallback)(()=>
41{if(ee.current)return ee.current;let e=new Promise(e=>{let t=!1,n=n=>{t||(t=!0,e(n))};yn.openConfirmModal({title:`Unsaved changes`,children:(0,Z.jsx)(H,{children:`You have edited the ticket summary but haven't created the ticket yet. Are you sure you want to leave?`}),labels:{confirm:`Leave page`,cancel:`Stay`},confirmProps:{color:`red`},onClose:()=>n(!1),onCancel:()=>n(!1),onConfirm:()=>n(!0)})}).finally(()=>{ee.current===e&&(ee.current=null)});return ee.current=e,e},[]);(0,X.useEffect)(()=>{if(j)return D(te)},[te,j,D]),(0,X.useEffect)(()=>{M.state===`blocked`&&te().then(e=>{e?M.proceed?.():M.reset?.()})},[M,te]),(0,X.useEffect)(()=>{if(!j)return;let e=e=>{e.preventDefault(),e.returnValue=``};return window.addEventListener(`beforeunload`,e),()=>{window.removeEventListener(`beforeunload`,e)}},[j]);let ne=r.customer_email?.toLowerCase(),N=r.is_service_user===!0&&v.length>0&&!Xe(v),re=r.is_service_user===!0&&v.length>0&&!b&&(0,qu.default)(v),P=c.some(e=>Xe(e)&&e.toLowerCase()!==ne),ie=(0,X.useCallback)(()=>{if(r.is_service_user){if(!v){x(`Requester email is required`),S.current?.focus();return}if(ne&&v.trim().toLowerCase()===ne){x(cd),S.current?.focus();return}if(b){S.current?.focus();return}if(N&&!P){d(ld),C.current?.focus();return}}if(_(!0),A||r.is_service_user){let e=m?[]:f.size>0?a.filter(e=>!f.has(e.file_id)).map(e=>e.file_id):void 0;t({choice:ys.EDIT,interruptType:bs.ESCALATION_CONFIRMATION,detailed_description:o,cc_emails:c.length>0?c:void 0,...e!==void 0&&{selected_file_ids:e},...r.is_service_user&&{customer_override_email:v}})}else t({choice:ys.CONFIRM})},[r.is_service_user,v,b,ne,N,P,t,A,o,c,f,m,a]),ae=(0,X.useCallback)(()=>{_(!0),t({choice:ys.CANCEL})},[t]),oe=e.options??[],se=oe.find(e=>e.key===ys.CONFIRM),ce=oe.find(e=>e.key===ys.CANCEL);return(0,Z.jsx)(B,{className:sd.container,maw:`90%`,children:(0,Z.jsx)(ht,{p:`md`,className:sd.interactiveCard,children:(0,Z.jsxs)(R,{gap:`md`,children:[(0,Z.jsx)(H,{fw:600,size:`md`,children:`Create support ticket`}),(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:`Please review ticket details`}),(0,Z.jsx)(B,{className:sd.previewSection,p:`sm`,children:(0,Z.jsxs)(R,{gap:`xs`,children:[r.is_service_user?(0,Z.jsx)(Or,{ref:S,label:`Requester email`,required:!0,classNames:{label:sd.fieldLabel},value:v,onChange:e=>{let t=e.currentTarget.value;y(t),t&&!(0,qu.default)(t)?x(`Invalid email address`):ne&&t.trim().toLowerCase()===ne?x(cd):x(null),u===ld&&(!t||Xe(t))&&d(null)},placeholder:`[email protected]`,disabled:n,error:b,rightSection:re?(0,Z.jsx)(Dn,{size:`sm`,color:`green`,"data-testid":`requester-accepted`}):null}):(0,Z.jsxs)(Z.Fragment,{children:[r.customer_email&&(0,Z.jsxs)(L,{gap:`xs`,children:[(0,Z.jsx)(H,{size:`sm`,className:sd.fieldLabel,children:`Email:`}),(0,Z.jsx)(H,{size:`sm`,children:r.customer_email})]}),r.customer_name&&(0,Z.jsxs)(L,{gap:`xs`,children:[(0,Z.jsx)(H,{size:`sm`,className:sd.fieldLabel,children:`Name:`}),(0,Z.jsx)(H,{size:`sm`,children:r.customer_name})]})]}),(0,Z.jsx)(B,{children:(0,Z.jsx)(Dr,{ref:C,label:N?`CC (add your @montecarlodata.com or @montecarlo.ai email)`:`CC (optional)`,classNames:{label:sd.fieldLabel},value:c,onChange:e=>{let t=e.filter(e=>(0,qu.default)(e));d(t.length<e.length?`Invalid email address`:null),l(t)},placeholder:`Add email addresses`,splitChars:[`,`,` `],disabled:n,error:u})}),(0,Z.jsx)(B,{children:(0,Z.jsx)(Sr,{label:`Description`,classNames:{label:sd.fieldLabel},value:o,onChange:e=>s(e.currentTarget.value),autosize:!0,minRows:3,maxRows:10,disabled:n})}),a.length>0&&(0,Z.jsxs)(B,{children:[(0,Z.jsx)(H,{id:T,size:`sm`,className:sd.fieldLabel,mb:`xs`,children:`Uploaded files`}),m&&(0,Z.jsx)(`span`,{id:E,style:{display:`none`},children:`Disabled because "Do not attach any files" is selected`}),(0,Z.jsxs)(R,{gap:`xs`,role:`group`,"aria-labelledby":T,children:[a.map(e=>(0,Z.jsx)(dn,{checked:!m&&!f.has(e.file_id),onChange:()=>{p(t=>{let n=new Set(t);return n.has(e.file_id)?n.delete(e.file_id):n.add(e.file_id),n})},disabled:n||m,"aria-describedby":m?E:void 0,label:(0,Z.jsxs)(L,{gap:`xs`,wrap:`nowrap`,children:[(0,Z.jsx)(H,{size:`sm`,truncate:!0,children:e.file_name}),(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,style:{whiteSpace:`nowrap`},children:Qu(e.file_size)})]})},e.file_id)),(0,Z.jsx)(dn,{checked:m,onChange:()=>{let e=!m;h(e),e&&p(new Set)},disabled:n,label:(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:`Do not attach any files`})})]})]})]})}),k&&(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,children:`This information may be routed outside of your hosted regi
41on`}),(0,Z.jsxs)(L,{gap:`sm`,className:sd.actions,children:[(0,Z.jsx)(F,{onClick:ie,disabled:n,loading:n,children:se?.label??`Create ticket`}),(0,Z.jsx)(F,{variant:`subtle`,color:`gray`,onClick:ae,disabled:n,children:ce?.label??`Cancel`})]})]})})})}var md={container:`_container_1vpt0_1`};function hd(e){try{return JSON.parse(e)}catch{return null}}function gd({toolCalls:e,toolResultsMap:t}){let n=e.filter(e=>e.id!==void 0&&e.name===`ask_user`&&t.has(e.id));return n.length===0?null:(0,Z.jsx)(Z.Fragment,{children:n.map(e=>{let n=t.get(e.id);if(!n)return null;let r=hd(n);if(!r)return null;if(r.cancelled)return(0,Z.jsx)(B,{className:md.container,children:(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,fs:`italic`,children:`Questionnaire cancelled`})},e.id);let i=pc(e);if(!i?.length||!r.answers?.length)return null;let a=new Map(r.answers.map(e=>[e.question_id,e.value]));return(0,Z.jsx)(R,{gap:`xs`,className:md.container,children:i.map(e=>{let t=a.get(e.id);if(t===void 0)return null;let n=sc(e,t);return(0,Z.jsxs)(B,{children:[(0,Z.jsx)(H,{size:`sm`,fw:500,children:e.question}),(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:n||`—`})]},e.id)})},e.id)})})}function _d({children:e}){return(0,Z.jsx)(B,{maw:`90%`,children:(0,Z.jsx)(ht,{p:`md`,withBorder:!0,children:e})})}function vd(e,t){let n=Ps(e.args);if(n)return{mcon:n.mcon,metricName:n.metric_name,startTime:n.start_time,endTime:n.end_time};let r=e.id?t?.get(e.id):void 0;if(r===void 0)return;let i=Is(r);if(i)return`error`in i?{mcon:``,metricName:`total_row_count`,startTime:``,endTime:``,error:i.error}:Ns(i.metricName)?{mcon:i.mcon,metricName:i.metricName,startTime:i.startTime,endTime:i.endTime}:{mcon:i.mcon,metricName:`total_row_count`,startTime:i.startTime,endTime:i.endTime,error:`Invalid metric name`}}function yd({toolCall:e,toolResultsMap:t}){let n=vd(e,t);return n?n.error?(0,Z.jsx)(_d,{children:(0,Z.jsx)(H,{size:`sm`,c:`red`,children:n.error})}):!n.mcon||!n.metricName||!n.startTime||!n.endTime?(0,Z.jsx)(_d,{children:(0,Z.jsx)(H,{size:`sm`,c:`red`,children:`Missing chart parameters`})}):(0,Z.jsx)(_d,{children:(0,Z.jsx)(R,{gap:`xs`,children:(0,Z.jsx)(vr,{mcon:n.mcon,metricName:n.metricName,startTime:n.startTime,endTime:n.endTime,height:300,showThresholds:!1,showTable:!1})})}):(0,Z.jsx)(_d,{children:(0,Z.jsx)($n,{height:300})})}var bd=(...e)=>fetch(...e),xd=Symbol.for(`lg:fetch_implementation`),Sd=()=>globalThis[xd]??bd,Cd=Object.prototype.toString,wd=e=>Cd.call(e)===`[object Error]`,Td=new Set([`network error`,`NetworkError when attempting to fetch resource.`,`The Internet connection appears to be offline.`,`Network request failed`,`fetch failed`,`terminated`,` A network error occurred.`,`Network connection lost`]);function Ed(e){if(!(e&&wd(e)&&e.name===`TypeError`&&typeof e.message==`string`))return!1;let{message:t,stack:n}=e;return t===`Load failed`?n===void 0||`__sentry_captured__`in e:t.startsWith(`error sending request for url`)||t===`Failed to fetch`||t.startsWith(`Failed to fetch (`)&&t.endsWith(`)`)?!0:Td.has(t)}function Dd(e){if(typeof e==`number`){if(e<0)throw TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(e))throw TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(e!==void 0)throw TypeError("Expected `retries` to be a number or Infinity.")}function Od(e,t,{min:n=0,allowInfinity:r=!1}={}){if(t!==void 0){if(typeof t!=`number`||Number.isNaN(t))throw TypeError(`Expected \`${e}\` to be a number${r?` or Infinity`:``}.`);if(!r&&!Number.isFinite(t))throw TypeError(`Expected \`${e}\` to be a finite number.`);if(t<n)throw TypeError(`Expected \`${e}\` to be \u2265 ${n}.`)}}var kd=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=Error(e),this.originalError.stack=this.stack),this.name=`AbortError`,this.message=e}};function Ad(e,t){let n=Math.max(1,e+1),r=t.randomize?Math.random()+1:1,i=Math.round(r*t.minTimeout*t.factor**(n-1));return i=Math.min(i,t.maxTimeout),i}function jd(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function Md({error:e,attemptNumber:t,retriesConsumed:n,startTime:r,options:i}){let a=e instanceof Error?e:TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(a instanceof kd)throw a.originalError;let o=Number.isFinite(i.retries)?Math.max(0,i.retries-n):i.retries,s=i.maxRetryTime??1/0,c=Object.freeze({error:a,attemptNumber:t,retriesLeft:o,retriesConsumed:n});if(await i.onFailedAttempt(c),jd(r,s)<=0)throw a;let l=await i.shouldConsumeRetry(c),u=jd(r,s);if(u<=0||o<=0)throw a;if(a instanceof TypeError&&!Ed(a)){if(l)throw a;return i.signal?.throwIfAborted(),!1}if(!await i.shouldRetry(c))throw a;if(!l)return i.signal?.throwIfAborted(),!1;let d=Ad(n,i),f=Math.min(d,u);return i.signal?.throwIfAborted(),f>0&&await new Promise((e,t)=>
41{let n=()=>{clearTimeout(r),i.signal?.removeEventListener(`abort`,n),t(i.signal.reason)},r=setTimeout(()=>{i.signal?.removeEventListener(`abort`,n),e()},f);i.unref&&r.unref?.(),i.signal?.addEventListener(`abort`,n,{once:!0})}),i.signal?.throwIfAborted(),!0}async function Nd(e,t={}){if(t={...t},Dd(t.retries),Object.hasOwn(t,`forever`))throw Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");t.retries??=10,t.factor??=2,t.minTimeout??=1e3,t.maxTimeout??=1/0,t.maxRetryTime??=1/0,t.randomize??=!1,t.onFailedAttempt??=()=>{},t.shouldRetry??=()=>!0,t.shouldConsumeRetry??=()=>!0,Od(`factor`,t.factor,{min:0,allowInfinity:!1}),Od(`minTimeout`,t.minTimeout,{min:0,allowInfinity:!1}),Od(`maxTimeout`,t.maxTimeout,{min:0,allowInfinity:!0}),Od(`maxRetryTime`,t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let n=0,r=0,i=performance.now();for(;!Number.isFinite(t.retries)||r<=t.retries;){n++;try{t.signal?.throwIfAborted();let r=await e(n);return t.signal?.throwIfAborted(),r}catch(e){await Md({error:e,attemptNumber:n,retriesConsumed:r,startTime:i,options:t})&&r++}}throw Error(`Retry attempts exhausted without throwing an error.`)}var Pd=Object.create,Fd=Object.defineProperty,Id=Object.getOwnPropertyDescriptor,Ld=Object.getOwnPropertyNames,Rd=Object.getPrototypeOf,zd=Object.prototype.hasOwnProperty,Bd=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Vd=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=Ld(t),a=0,o=i.length,s;a<o;a++)s=i[a],!zd.call(e,s)&&s!==n&&Fd(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=Id(t,s))||r.enumerable});return e},Hd=(e,t,n)=>(n=e==null?{}:Pd(Rd(e)),Vd(t||!e||!e.__esModule?Fd(n,`default`,{value:e,enumerable:!0}):n,e)),Ud=Bd(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}));
41Ud();var Wd=Hd(Ud(),1),Gd=class e extends Error{name=`TimeoutError`;constructor(t,n){super(t,n),Error.captureStackTrace?.(this,e)}},Kd=e=>e.reason??new DOMException(`This operation was aborted.`,`AbortError`);function qd(e,t){let{milliseconds:n,fallback:r,message:i,customTimers:a={setTimeout,clearTimeout},signal:o}=t,s,c,l=new Promise((t,l)=>{if(typeof n!=`number`||Math.sign(n)!==1)throw TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(o?.aborted){l(Kd(o));return}if(o&&(c=()=>{l(Kd(o))},o.addEventListener(`abort`,c,{once:!0})),e.then(t,l),n===1/0)return;let u=new Gd;s=a.setTimeout.call(void 0,()=>{if(r){try{t(r())}catch(e){l(e)}return}typeof e.cancel==`function`&&e.cancel(),i===!1?t():i instanceof Error?l(i):(u.message=i??`Promise timed out after ${n} milliseconds`,l(u))},n)}).finally(()=>{l.clear(),c&&o&&o.removeEventListener(`abort`,c)});return l.clear=()=>{a.clearTimeout.call(void 0,s),s=void 0},l}function Jd(e,t,n){let r=0,i=e.length;for(;i>0;){let a=Math.trunc(i/2),o=r+a;n(e[o],t)<=0?(r=++o,i-=a+1):i=a}return r}var Yd=class{#e=[];enqueue(e,t){let{priority:n=0,id:r}=t??{},i={priority:n,id:r,run:e};if(this.size===0||this.#e[this.size-1].priority>=n){this.#e.push(i);return}let a=Jd(this.#e,i,(e,t)=>t.priority-e.priority);this.#e.splice(a,0,i)}setPriority(e,t){let n=this.#e.findIndex(t=>t.id===e);if(n===-1)throw ReferenceError(`No promise function with the id "${e}" exists in the queue.`);let[r]=this.#e.splice(n,1);this.enqueue(r.run,{priority:t,id:e})}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(t=>t.priority===e.priority).map(e=>e.run)}get size(){return this.#e.length}},Xd=class extends Wd.default{#e;#t;#n=0;#r;#i=!1;#a=!1;#o;#s=0;#c=0;#l;#u;#d;#f=[];#p=0;#m;#h;#g=0;#_;#v;#y=1n;#b=new Map;timeout;constructor(e){if(super(),e={carryoverIntervalCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:Yd,strict:!1,...e},!(typeof e.intervalCap==`number`&&e.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??``}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??``}\` (${typeof e.interval})`);if(e.strict&&e.interval===0)throw TypeError("The `strict` option requires a non-zero `interval`");if(e.strict&&e.intervalCap===1/0)throw TypeError("The `strict` option requires a finite `intervalCap`");if(this.#e=e.carryoverIntervalCount??e.carryoverConcurrencyCount??!1,this.#t=e.intervalCap===1/0||e.interval===0,this.#r=e.intervalCap,this.#o=e.interval,this.#d=e.strict,this.#m=new e.queueClass,this.#h=e.queueClass,this.concurrency=e.concurrency,e.timeout!==void 0&&!(Number.isFinite(e.timeout)&&e.timeout>0))throw TypeError(`Expected \`timeout\` to be a positive finite number, got \`${e.timeout}\` (${typeof e.timeout})`);this.timeout=e.timeout,this.#v=e.autoStart===!1,this.#R()}#x(e){for(;this.#p<this.#f.length;){let t=this.#f[this.#p];if(t!==void 0&&e-t>=this.#o)this.#p++;else break}(this.#p>100&&this.#p>this.#f.length/2||this.#p===this.#f.length)&&(this.#f=this.#f.slice(this.#p),this.#p=0)}#S(e){this.#d?this.#f.push(e):this.#n++}#C(){this.#d?this.#f.length>this.#p&&this.#f.pop():this.#n>0&&this.#n--}#w(){return this.#f.length-this.#p}get#T(){return this.#t?!0:this.#d?this.#w()<this.#r:this.#n<this.#r}get#E(){return this.#g<this.#_}#D(){this.#g--,this.#g===0&&this.emit(`pendingZero`),this.#N(),this.emit(`next`)}#O(){this.#u=void 0,this.#F(),this.#P()}#k(e){if(this.#d){if(this.#x(e),this.#w()>=this.#r){let t=this.#f[this.#p],n=this.#o-(e-t);return this.#A(n),!0}return!1}if(this.#l===void 0){let t=this.#s-e;if(t<0){if(this.#c>0){let t=e-this.#c;if(t<this.#o)return this.#A(this.#o-t),!0}this.#n=this.#e?this.#g:0}else return this.#A(t),!0}return!1}#A(e){this.#u===void 0&&(this.#u=setTimeout(()=>{this.#O()},e))}#j(){this.#l&&=(clearInterval(this.#l),void 0)}#M(){this.#u&&=(clearTimeout(this.#u),void 0)}#N(){if(this.#m.size===0){if(this.#j(),this.emit(`empty`),this.#g===0){if(this.#M(),this.#d&&this.#p>0){let e=Date.now();this.#x(e)}
41this.emit(`idle`)}return!1}let e=!1;if(!this.#v){let t=Date.now(),n=!this.#k(t);if(this.#T&&this.#E){let r=this.#m.dequeue();this.#t||(this.#S(t),this.#z()),this.emit(`active`),r(),n&&this.#P(),e=!0}}return e}#P(){this.#t||this.#l!==void 0||this.#d||(this.#l=setInterval(()=>{this.#F()},this.#o),this.#s=Date.now()+this.#o)}#F(){this.#d||(this.#n===0&&this.#g===0&&this.#l&&this.#j(),this.#n=this.#e?this.#g:0),this.#I(),this.#z()}#I(){for(;this.#N(););}get concurrency(){return this.#_}set concurrency(e){if(!(typeof e==`number`&&e>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#_=e,this.#I()}setPriority(e,t){if(typeof t!=`number`||!Number.isFinite(t))throw TypeError(`Expected \`priority\` to be a finite number, got \`${t}\` (${typeof t})`);this.#m.setPriority(e,t)}async add(e,t={}){return t={timeout:this.timeout,...t,id:t.id??(this.#y++).toString()},new Promise((n,r)=>{let i=Symbol(`task-${t.id}`);this.#m.enqueue(async()=>{this.#g++,this.#b.set(i,{id:t.id,priority:t.priority??0,startTime:Date.now(),timeout:t.timeout});let a;try{try{t.signal?.throwIfAborted()}catch(e){throw this.#B(),this.#b.delete(i),e}this.#c=Date.now();let r=e({signal:t.signal});if(t.timeout&&(r=qd(Promise.resolve(r),{milliseconds:t.timeout,message:`Task timed out after ${t.timeout}ms (queue has ${this.#g} running, ${this.#m.size} waiting)`})),t.signal){let{signal:e}=t;r=Promise.race([r,new Promise((t,n)=>{a=()=>{n(e.reason)},e.addEventListener(`abort`,a,{once:!0})})])}let o=await r;n(o),this.emit(`completed`,o)}catch(e){r(e),this.emit(`error`,e)}finally{a&&t.signal?.removeEventListener(`abort`,a),this.#b.delete(i),queueMicrotask(()=>{this.#D()})}},t),this.emit(`add`),this.#N()})}async addAll(e,t){return Promise.all(e.map(async e=>this.add(e,t)))}start(){return this.#v?(this.#v=!1,this.#I(),this):this}pause(){this.#v=!0}clear(){this.#m=new this.#h,this.#j(),this.#V(),this.emit(`empty`),this.#g===0&&(this.#M(),this.emit(`idle`)),this.emit(`next`)}async onEmpty(){this.#m.size!==0&&await this.#L(`empty`)}async onSizeLessThan(e){this.#m.size<e||await this.#L(`next`,()=>this.#m.size<e)}async onIdle(){(this.#g!==0||this.#m.size!==0)&&await this.#L(`idle`)}async onPendingZero(){this.#g!==0&&await this.#L(`pendingZero`)}async onRateLimit(){this.isRateLimited||await this.#L(`rateLimit`)}async onRateLimitCleared(){this.isRateLimited&&await this.#L(`rateLimitCleared`)}
41onError(){return new Promise((e,t)=>{let n=e=>{this.off(`error`,n),t(e)};this.on(`error`,n)})}async#L(e,t){return new Promise(n=>{let r=()=>{t&&!t()||(this.off(e,r),n())};this.on(e,r)})}get size(){return this.#m.size}sizeBy(e){return this.#m.filter(e).length}get pending(){return this.#g}get isPaused(){return this.#v}#R(){this.#t||(this.on(`add`,()=>{this.#m.size>0&&this.#z()}),this.on(`next`,()=>{this.#z()}))}#z(){this.#t||this.#a||(this.#a=!0,queueMicrotask(()=>{this.#a=!1,this.#V()}))}#B(){this.#t||(this.#C(),this.#z())}#V(){let e=this.#i;if(this.#t||this.#m.size===0){e&&(this.#i=!1,this.emit(`rateLimitCleared`));return}let t;if(this.#d){let e=Date.now();this.#x(e),t=this.#w()}else t=this.#n;let n=t>=this.#r;n!==e&&(this.#i=n,this.emit(n?`rateLimit`:`rateLimitCleared`))}get isRateLimited(){return this.#i}get isSaturated(){return this.#g===this.#_&&this.#m.size>0||this.isRateLimited&&this.#m.size>0}get runningTasks(){return[...this.#b.values()].map(e=>({...e}))}},Zd=typeof Nd==`function`?Nd:Nd.default,Qd=[400,401,402,403,404,405,406,407,408,409,422];function $d(e){return typeof e!=`object`||!e?!1:`status`in e&&`statusText`in e&&`text`in e}var ef=class e extends Error{status;text;response;constructor(e,t,n){super(`HTTP ${e}: ${t}`),this.status=e,this.text=t,this.response=n}static async fromResponse(t,n){try{return new e(t.status,await t.text(),n?.includeResponse?t:void 0)}catch{return new e(t.status,t.statusText,n?.includeResponse?t:void 0)}}},tf=class{maxConcurrency;maxRetries;queue;onFailedResponseHook;customFetch;constructor(e){this.maxConcurrency=e.maxConcurrency??1/0,this.maxRetries=e.maxRetries??4,this.queue=`default`in Xd?new Xd.default({concurrency:this.maxConcurrency}):new Xd({concurrency:this.maxConcurrency}),this.onFailedResponseHook=e?.onFailedResponseHook,this.customFetch=e.fetch}call(e,...t){let{onFailedResponseHook:n}=this;return this.queue.add(()=>Zd(()=>e(...t).catch(async e=>{throw e instanceof Error?e:$d(e)?await ef.fromResponse(e,{includeResponse:!!n}):Error(e)}),{async onFailedAttempt({error:e,retriesLeft:t}){let r=e.message??``;if(r.startsWith(`Cancel`)||r.startsWith(`TimeoutError`)||r.startsWith(`AbortError`)||e?.code===`ECONNABORTED`)throw e;if(r.includes(`ECONNREFUSED`)||r.includes(`fetch failed`)||r.includes(`Failed to fetch`)||r.includes(`NetworkError`)){if(t>0)return;let e=Error(`Unable to connect to LangGraph server. Please ensure the server is running and accessible. Original error: ${r}`);throw e.name=`ConnectionError`,e}if(e instanceof ef){if(Qd.includes(e.status))throw e;n&&e.response&&await n(e.response)}},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0})}callWithOptions(e,t,...n){return e.signal?Promise.race([this.call(t,...n),new Promise((t,n)=>{e.signal?.addEventListener(`abort`,()=>{n(Error(`AbortError`))})})]):this.call(t,...n)}fetch(...e){let t=this.customFetch??Sd();return this.call(()=>t(...e).then(e=>e.ok?e:Promise.reject(e)))}};function nf(e){try{return typeof process<`u`?{}[e]:void 0}catch{return}}function rf(...e){let t=e.filter(e=>e!=null);if(t.length===0)return;if(t.length===1)return t[0];let n=new AbortController;for(let t of e){if(t?.aborted)return n.abort(t.reason),n.signal;t?.addEventListener(`abort`,()=>n.abort(t.reason),{once:!0})}return n.signal}var af=13,of=10,sf=0,cf=58,lf=32,uf=[af,of];function df(){let e=[],t=!1;return new TransformStream({start(){e=[],t=!1},transform(n,r){let i=n;if(t&&=(i=pf([[af],i]),!1),i.length>0&&i.at(-1)===af&&(t=!0,i=i.subarray(0,-1)),!i.length)return;let a=uf.includes(i.at(-1)),o=i.length-1,{lines:s}=i.reduce((e,t,n)=>e.from>n?e:((t===af||t===of)&&(e.lines.push(i.subarray(e.from,n)),e.from=t===af&&i[n+1]===of?n+2:n+1),n===o&&e.from<=o&&e.lines.push(i.subarray(e.from)),e),{lines:[],from:0});if(s.length===1&&!a){e.push(s[0]);return}e.length&&(e.push(s[0]),s[0]=pf(e),e=[]),a||s.length&&(e=[s.pop()]);for(let e of s)r.enqueue(e)},flush(t){e.length&&t.enqueue(pf(e))}})}function ff(){let e=``,t=[],n=``,r=null,i=new TextDecoder;return new TransformStream({transform(a,o){if(!a.length){if(!e&&!t.length&&!n&&r==null)return;let a={id:n||void 0,event:e,data:t.length?mf(i,t):null};e=``,t=[],r=null,o.enqueue(a);return}if(a[0]===cf)return;let s=a.indexOf(cf);
41if(s===-1)return;let c=i.decode(a.subarray(0,s)),l=a.subarray(s+1);if(l[0]===lf&&(l=l.subarray(1)),c===`event`)e=i.decode(l);else if(c===`data`)t.push(l);else if(c===`id`)l.indexOf(sf)===-1&&(n=i.decode(l));else if(c===`retry`){let e=Number.parseInt(i.decode(l),10);Number.isNaN(e)||(r=e)}},flush(r){e&&r.enqueue({id:n||void 0,event:e,data:t.length?mf(i,t):null})}})}function pf(e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function mf(e,t){return JSON.parse(e.decode(pf(t)))}var hf=e=>{if(`isError`in Error&&typeof Error.isError==`function`)return Error.isError(e);let t=Object.prototype.toString.call(e);return t===`[object Error]`||t===`[object DOMException]`||t===`[object DOMError]`||t===`[object Exception]`},gf=e=>{let{cause:t}=e;return typeof t!=`object`||!t||!hf(t)?null:t},_f=e=>{if(!hf(e)||e.name!==`TypeError`||typeof e.message!=`string`)return!1;let t=e.message.toLowerCase(),n=gf(e)?.message?.toLowerCase()??``;return t.includes(`fetch`)||t.includes(`network`)||t.includes(`connection`)||t.includes(`error sending request`)||t.includes(`load failed`)||t.includes(`terminated`)||n.includes(`other side closed`)||n.includes(`socket`)},vf=1e3,yf=5e3,bf=1e3;function xf(e){return Math.min(vf*2**(e-1),yf)+Math.random()*bf}var Sf=class extends Error{constructor(e,t){super(`Exceeded maximum SSE re
41connection attempts (${e})`),this.name=`MaxReconnectAttemptsError`,this.cause=t}},Cf=class extends Error{idleTimeoutMs;constructor(e){super(`No SSE bytes received for ${e}ms; assuming the connection is half-open and reconnecting.`),this.name=`StreamIdleTimeoutError`,this.idleTimeoutMs=e}},wf=58;function Tf(e){let t=e.timeoutFactor??3,n=e.minTimeoutMs??6e3,r=e.maxTimeoutMs??3e4,i=typeof e.mode==`number`?e.mode:null,a,o,s,c=i,l=()=>{a!=null&&(clearTimeout(a),a=void 0)},u=()=>{l();let t=c;t==null||t<=0||(a=setTimeout(()=>{e.onIdle?.({timeoutMs:t,source:i==null?`heartbeat`:`fixed`});try{o?.error(new Cf(t))}catch{}},t),a.unref?.())},d=()=>{if(i!=null)return;let e=Date.now();if(s!=null){let i=e-s;if(i>0){let e=Math.min(Math.max(i*t,n),r);c=c==null?e:Math.max(c,e)}}s=e};return new TransformStream({start(e){o=e,u()},transform(e,t){e.length>0&&e[0]===wf&&d(),u(),t.enqueue(e)},flush(){l()}})}async function*Ef(e,t={}){let n=t.maxRetries??5,r=0,i,a;for(;;){let o=!1,s,c;try{if(t.signal?.aborted)return;let{response:n,stream:r}=await e(a?{lastEventId:i,reconnectPath:a}:void 0),s=n.headers.get(`location`);s&&(a=s);let l=n.headers.get(`content-type`)?.split(`;`)[0];if(l&&!l.includes(`text/event-stream`))throw Error(`Expected response header Content-Type to contain 'text/event-stream', got '${l}'`);c=r.getReader();try{for(;;){if(t.signal?.aborted){await c.cancel();return}let{done:e,value:n}=await c.read();if(e)break;n.id&&(i=n.id),yield n}break}catch(e){if(a&&!t.signal?.aborted)o=!0;else throw e}finally{if(c)try{c.releaseLock()}catch{}}}catch(e){if(s=e,_f(e)&&a&&!t.signal?.aborted)o=!0;else throw e}if(o){if(r+=1,r>n)throw new Sf(n,s);t.onReconnect?.({attempt:r,lastEventId:i,cause:s});let e=xf(r);await new Promise(t=>{setTimeout(t,e)});continue}break}}var Df=class e extends ReadableStream{reader;ensureReader(){this.reader||=this.getReader()}async next(){this.ensureReader();try{let e=await this.reader.read();return e.done?(this.reader.releaseLock(),{done:!0,value:void 0}):{done:!1,value:e.value}}catch(e){throw this.reader.releaseLock(),e}}async return(){if(this.ensureReader(),this.locked){let e=this.reader.cancel();this.reader.releaseLock(),await e}return{done:!0,value:void 0}}async throw(e){if(this.ensureReader(),this.locked){let e=this.reader.cancel();this.reader.releaseLock(),await e}throw e}async[Symbol.asyncDispose](){await this.return()}[Symbol.asyncIterator](){return this}static fromReadableStream(t){let n=t.getReader();return new e({start(e){return t();function t(){return n.read().then(({done:n,value:r})=>{if(n){e.close();return}return e.enqueue(r),t()})}},cancel(){n.releaseLock()}})}static fromAsyncGenerator(t){return new e({async pull(e){let{value:n,done:r}=await t.next();r&&e.close(),e.enqueue(n)},async cancel(e){await t.return(e)}})}};function*Of(e){let t,n=!1;if(e instanceof Headers){let n=[];e.forEach((e,t)=>{n.push([t,e])}),t=n}else Array.isArray(e)?t=e:(n=!0,t=Object.entries(e??{}));for(let e of t){let t=e[0];if(typeof t!=`string`)throw TypeError(`Expected header name to be a string, got ${typeof t}`);let r=Array.isArray(e[1])?e[1]:[e[1]],i=!1;for(let e of r)e!==void 0&&(n&&!i&&(i=!0,yield[t,null]),yield[t,e])}}function kf(...e){let t=new Headers;for(let n of e)if(n)for(let[e,r]of Of(n))r===null?t.delete(e):t.append(e,r);let n=[];return t.forEach((e,t)=>{n.push([t,e])}),Object.fromEntries(n)}function Af(e){if(e!==null){if(e)return e;for(let e of[`LANGGRAPH`,`LANGSMITH`,`LANGCHAIN`]){let t=nf(`${e}_API_KEY`);if(t)return t.trim().replace(/^["']|["']$/g,``)}}}var jf=class{asyncCaller;timeoutMs;apiUrl;defaultHeaders;onRequest;streamProtocol;constructor(e){let t={maxRetries:4,maxConcurrency:4,...e?.callerOptions},n=`http://localhost:8123`;if(!e?.apiUrl&&typeof globalThis==`object`&&globalThis!=null){let e=Symbol.for(`langgraph_api:fetch`),r=Symbol.for(`langgraph_api:url`),i=globalThis;i[e]&&(t.fetch??=i[e]),i[r]&&(n=i[r])}this.asyncCaller=new tf(t),this.timeoutMs=e?.timeoutMs,this.apiUrl=e?.apiUrl?.replace(/\/$/,``)||n,this.defaultHeaders=e?.defaultHeaders||{},this.onRequest=e?.onRequest,this.streamProtocol=e?.streamProtocol??`legacy`;let r=Af(e?.apiKey);r&&(this.defaultHeaders[`x-api-key`]=r)}prepareFetchOptions(e,t){let n={...t,headers:kf(this.defaultHeaders,t?.headers)};n.json&&(n.body=JSON.stringify(n.json),n.headers=kf(n.headers,{"content-type":`application/json`}),delete n.json),n.withResponse&&delete n.withResponse,`dedupe`in n&&delete n.dedupe;let r=null;t?.timeoutMs===void 0?this.timeoutMs!=null&&(r=AbortSignal.timeout(this.timeoutMs)):t.timeoutMs!=null&&(r=AbortSignal.timeout(t.timeoutMs)),n.signal=rf(r,n.signal);let i=new URL(`${this.apiUrl}${e}`);if(n.params){for(let[e,t]of Object.entries(n.params)){if(t==null)continue;let n=typeof t==`string`||typeof t==`number`?t.toString():JSON.stringify(t);i.searchParams.append(e,n)}delete n.params}return[i,n]}async fetch(e,t){let[n,r]=this.prepareFetchOptions(e,t);if(t?.dedupe===!0&&t?.withResponse!==!0&&t?.signal==null&&this.onRequest==null){let e=typeof r.body==`string`?r.body:``,t=Ff(r.headers),i=`${r.method??`GET`} ${n.toString()} ${e} ${t}`,a=Pf.get(i);if(a!=null)return a;let o=this.#e(n,r);Pf.set(i,o);let s=()=>{Pf.get(i)===o&&Pf.delete(i)};return o.then(s,s),o}let[i,a]=await this.#t(n,r);return t?.withResponse?[i,a]:i}
41async#e(e,t){let[n]=await this.#t(e,t);return n}async#t(e,t){let n=t;this.onRequest&&(n=await this.onRequest(e,t));let r=await this.asyncCaller.fetch(e.toString(),n);return[await(async()=>{if(r.status!==202&&r.status!==204)return r.json()})(),r]}async*streamWithRetry(e){yield*Ef(async t=>{let n=t?.reconnectPath||e.endpoint,r=!!t?.reconnectPath,i=r?`GET`:e.method||`GET`,a=r&&t?.lastEventId?{...e.headers,"Last-Event-ID":t.lastEventId}:e.headers,[o,s]=this.prepareFetchOptions(n,{method:i,timeoutMs:null,signal:e.signal,headers:a,params:e.params,json:r?void 0:e.json});this.onRequest!=null&&(s=await this.onRequest(o,s));let c=await this.asyncCaller.fetch(o.toString(),s);if(!c.body)throw Error(`Expected response body from stream endpoint`);!r&&e.onInitialResponse&&await e.onInitialResponse(c);let l=e.idleReconnect??`auto`,u=l===`auto`||l>0,d=c.body.pipeThrough(df());return{response:c,stream:(u?d.pipeThrough(Tf({mode:l})):d).pipeThrough(ff())}},{maxRetries:e.maxRetries??5,signal:e.signal,onReconnect:e.onReconnect})}},Mf=/(\/threads\/(?<thread_id>.+))?\/runs\/(?<run_id>.+)/;function Nf(e){let t=e.headers.get(`Content-Location`);if(!t)return;let n=Mf.exec(t);if(n?.groups?.run_id)return{run_id:n.groups.run_id,thread_id:n.groups.thread_id||void 0}}var Pf=new Map;function Ff(e){let t=kf(e);return Object.keys(t).sort().map(e=>`${e}:${t[e]}`).join(`
42`)}var If=class extends Error{code;response;constructor(e){super(e.message),this.name=`ProtocolError`,this.code=e.error,this.response=e}},Lf=class extends Error{maxAttempts;constructor(e,t){super(`Exceeded maximum WebSocket reconnection attempts (${e})`),this.name=`MaxWebSocketReconnectAttemptsError`,this.maxAttempts=e,this.cause=t}};function Rf(e){if(typeof e!=`object`||!e)return null;let t=e;if(t.type!==`tool`)return null;let n=t.toolCall??t.tool_call;if(typeof n!=`object`||!n)return null;let r=n;return typeof r.name==`string`?{type:`tool`,toolCall:{id:typeof r.id==`string`?r.id:void 0,name:r.name,args:r.args}}:null}function zf(e){return e.filter(e=>e.value==null||!Bf(e.value))}function Bf(e){return Rf(e)!=null}function Vf(e,t){return e.find(e=>e.tool.name===t)}async function Hf(e,t,n){let r=Date.now();n?.({phase:`start`,name:e.tool.name,args:t});try{let i=await e.execute(t),a=Date.now()-r;return n?.({phase:`success`,name:e.tool.name,args:t,result:i,duration:a}),{success:!0,result:i}}catch(i){let a=i instanceof Error?i:Error(String(i)),o=Date.now()-r;return n?.({phase:`error`,name:e.tool.name,args:t,error:a,duration:o}),{success:!1,error:a}}}async function Uf(e,t,n){let{toolCall:r}=e,i=Vf(t,r.name);if(!i){let e=Error(`Headless tool "${r.name}" is not registered. Available tools: ${t.map(e=>e.tool.name).join(`, `)||`none`}`);return n?.({phase:`error`,name:r.name,args:r.args,error:e,duration:0}),{toolCallId:r.id,value:{error:e.message}}}let a=await Hf(i,r.args,n);return a.success?{toolCallId:r.id,value:a.result}:{toolCallId:r.id,value:{error:a.error.message}}}function Wf(e){return{resume:e.toolCallId?{[e.toolCallId]:e.value}:e.value,keyedByInterruptId:!1}}function Gf(e){if(e.length===0)return{resume:{},keyedByInterruptId:!1};if(!e.every(e=>e.interruptId.length>0)&&e.length===1){let[t]=e;return Wf({toolCallId:t.toolCallId,value:t.value})}let t={};for(let n of e)n.interruptId.length!==0&&(t[n.interruptId]=n.toolCallId!=null&&n.toolCallId.length>0?{[n.toolCallId]:n.value}:n.value);return{resume:t,keyedByInterruptId:!0}}function Kf(e,t,n,r){if(!t?.length||!e)return;let i=e.__interrupt__;if(!Array.isArray(i)||i.length===0)return;let a=r.defer??(e=>e()),o=[],s=new Set;for(let e of i){let t=Rf(e.value);if(!t)continue;let r=e.id??t.toolCall.id??``,i=t.toolCall.id??``;n.has(r)||i&&n.has(i)||i&&s.has(i)||(i&&s.add(i),n.add(r),i&&n.add(i),o.push({interruptId:r,headlessInterrupt:t,toolCallId:i}))}o.length!==0&&a(()=>{(async()=>{let e=await Promise.all(o.map(async({interruptId:e,headlessInterrupt:n,toolCallId:i})=>{let a=await Uf(n,t,r.onTool);return{interruptId:e,toolCallId:a.toolCallId??i,value:a.value}}));await Promise.resolve(r.resumeSubmit(Gf(e)))})()})}function qf(e){let t=e.indexOf(`:`);return t===-1?e:e.slice(0,t)}function Jf(e,t){if(t.length>e.length)return!1;for(let n=0;n<t.length;n+=1){let r=t[n],i=e[n];if(i!==r&&(r.includes(`:`)||qf(i)!==r))return!1}return!0}function Yf(e,t,n){return!t||t.length===0||t.some(t=>Jf(e,t)?n===void 0||e.length-t.length<=n:!1)}function Xf(e){switch(e.method){case`values`:return`values`;case`checkpoints`:return`checkpoints`;case`updates`:return`updates`;case`messages`:return`messages`;case`tools`:return`tools`;case`custom`:{let t=e.params.data;return t?.name==null?`custom`:`custom:${t.name}`}case`lifecycle`:return`lifecycle`;case`input.requested`:return`input`;case`tasks`:return`tasks`;default:return}}function Zf(e,t){let n=Xf(e);if(n===void 0)return!1;let r=t.channels;return r.includes(n)||n.startsWith(`custom:`)&&r.includes(`custom`)?Yf(e.params.namespace,t.namespaces,t.depth):!1}function Qf(e){let t=ep(e);return t.type===`human`||t.type===`user`?new ka(t):t.type===`ai`||t.type===`assistant`?new Ma(t):t.type===`system`?new Ia(t):t.type===`tool`&&`tool_call_id`in t?new Va({...t,tool_call_id:t.tool_call_id}):t.type===`remove`&&t.id!=null?new Aa({...t,id:t.id}):Da(t)}function $f(e){let t=e,n=t.contentBlocks??t.content_blocks;if(!Array.isArray(n)||n.length===0)return e;let r=rp(t.content)||!ip(t.content)&&ip(n);return!r&&t.contentBlocks===n?e:{...e,content:r?n:t.content,contentBlocks:n}}function ep(e){let t=$f(e),n=t;if(Array.isArray(n.tool_calls)&&n.tool_calls.length>0)return t;let r=tp(n.content);return r.length===0?t:{...t,tool_calls:r}}function tp(e){return Array.isArray(e)?e.flatMap(e=>{if(typeof e!=`object`||!e)return[];let t=e;return t.type!==`tool_call`&&t.type!==`tool_use`?[]:[{id:t.id??``,name:t.name??``,args:np(t.args??t.input),type:`tool_call`}]}):[]}function np(e){if(typeof e==`object`&&e&&!Array.isArray(e))return e;if(typeof e==`string`&&e.length>0)try{let t=JSON.parse(e);if(typeof t==`object`&&t&&!Array.isArray(t))return t}catch{}return{}}function rp(e){return e==null||e===``||Array.isArray(e)&&e.length===0}function ip(e){return typeof e==`string`?e.length>0:Array.isArray(e)?e.some(e=>{if(typeof e==`string`)return e.length>0;if(typeof e!=`object`||!e)return!1;let t=e;return t.type===`text`&&typeof t.text==`string`&&t.text.length>0}):!1}function ap(e){try{return Ta.isInstance(e)?e:Oa(e)}catch{return null}}function op(e){return e.type===`human`||e.type===`user`?new Ca(e):e.type===`ai`||e.type===`assistant`?new Ba(ep(e)):e.type===`system`?new Na(e):e.type===`tool`&&`tool_call_id`in e?new Ua({...e,tool_call_id:e.tool_call_id}):Qf(e)}var sp=class{chunks={};constructor(){this.chunks={}}add(e,t){e.type.endsWith(`MessageChunk`)&&(e.type=e.type.slice(0,-12).toLowerCase());let n=op(e),r=ap(n),{id:i}=r??n;if(!i)return console.warn(`No message ID found for chunk, ignoring in state`,e),null;if(this.chunks[i]??={},this.chunks[i].metadata=t??this.chunks[i].metadata,r){let e=this.chunks[i].chunk;this.chunks[i].chunk=(Ta.isInstance(e)?e:null)?.concat(r)??r}else this.chunks[i].chunk=n;return i}clear(){this.chunks={}}get(e,t){return e==null||this.chunks[e]==null?null:(t!=null&&(this.chunks[e].index??=t),this.chunks[e])}},cp=e=>{let{type:t,data:n}=e.toDict();return{...n,type:t}};function lp(e){return e.map(e=>typeof e.getType==`function`?e:Qf(e))}var up=new Set([`human`,`user`,`ai`,`assistant`,`tool`,`system`,`function`,`remove`]);function dp(e){if(typeof e!=`object`||!e||Array.isArray(e))return e;let t=e,n=t.messages;return!Array.isArray(n)||n.length===0||!n.some(e=>{if(typeof e!=`object`||!e||typeof e.getType==`function`)return!1;let t=e.type;return typeof t==`string`&&up.has(t)})?e:{...t,messages:lp(n)}}function fp(e){return e.join(`\0`)}function pp(e,t){return t==null?e:e==null?t:Math.max(e,t)}var mp=new Set([`completed`,`failed`,`interrupted`]);function hp(e){if(e.method!==`lifecycle`||e.params.namespace.length!==0)return!1;let t=e.params.data;return t?.event!=null&&mp.has(t.event)}function gp(e,t){if(e===t)return!0;
42if(e===void 0||t===void 0||e.length!==t.length)return!1;let n=new Set;for(let t of e)n.add(fp(t));for(let e of t)if(!n.has(fp(e)))return!1;return!0}function _p(e,t){if(e===t)return!0;if(e==null||t==null||e.channels.length!==t.channels.length)return!1;let n=new Set(e.channels);for(let e of t.channels)if(!n.has(e))return!1;return!(!gp(e.namespaces,t.namespaces)||(e.depth??null)!==(t.depth??null))}function vp(e,t){if(e.length>t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function yp(e,t){let n=new Set(e.channels);for(let e of t.channels)if(!n.has(e))return!1;let r=e.depth,i=t.depth;if(e.namespaces==null)return r==null||i!=null&&i<=r;if(t.namespaces==null)return!1;for(let n of t.namespaces)if(!e.namespaces.some(e=>vp(e,n)?r==null||i!=null&&n.length-e.length+i<=r:!1))return!1;return!0}function bp(e,t={}){if(typeof e==`object`&&!Array.isArray(e)&&`channels`in e)return e;let n=Array.isArray(e)?[...e]:[e];return{...t,channels:n}}function xp(e){let{forkFrom:t,...n}=e;if(typeof t!=`string`||t.length===0)return n;let r=n.config!=null&&typeof n.config==`object`?n.config:{},i=r.configurable!=null&&typeof r.configurable==`object`?r.configurable:{};return{...n,config:{...r,configurable:{...i,checkpoint_id:t}}}}var Sp=class{subscriptionId;params;queue=[];waiters=[];closed=!1;paused=!1;resumeResolve;onUnsubscribe;transform;constructor(e,t,n,r){this.subscriptionId=e,this.params=t,this.onUnsubscribe=n,this.transform=r??(e=>e)}push(e){if(this.closed)return;let t=this.transform(e),n=this.waiters.shift();if(n){n({done:!1,value:t});return}this.queue.push(t)}pause(){if(!this.closed)for(this.paused=!0;this.waiters.length>0;)this.waiters.shift()?.({done:!0,value:void 0})}resume(){this.paused=!1,this.resumeResolve?.(),this.resumeResolve=void 0}waitForResume(){return this.paused?new Promise(e=>{this.resumeResolve=e}):Promise.resolve()}get isPaused(){return this.paused}close(){for(this.closed=!0,this.paused=!1;this.waiters.length>0;)this.waiters.shift()?.({done:!0,value:void 0});this.resumeResolve?.(),this.resumeResolve=void 0}async unsubscribe(){this.closed||(this.close(),await this.onUnsubscribe(this.subscriptionId))}[Symbol.asyncIterator](){return{next:async()=>this.queue.length>0?{done:!1,value:this.queue.shift()}:this.closed||this.paused?{done:!0,value:void 0}:await new Promise(e=>{this.waiters.push(e)}),return:async()=>(this.close(),{done:!0,value:void 0})}}},Cp=class{threadId;ordering={};run;agent;input;state;interrupted=!1;interrupts=[];assistantId;#e;#t;#n=new Map;#r=new Map;#i=new Set;#a=new Set;#o=!1;#s=!1;#c;#l=null;#u=null;#d=`idle`;#f=[];#p;#m;#h=null;#g;#_=null;#v=null;#y;#b=new Set;#x;#S;#C;#w;#T;#E;#D;#O=new Map;#k=!1;#A=!1;#j=[];#M=[];#N=[];#P=!1;#F;#I=new Set;#L=new Ha;#R=new Ha;#z=new Ha;#B=new Ha;#V;constructor(e,t){if(!t?.assistantId)throw Error(`ThreadStream requires an assistantId option.`);this.#t=e,this.threadId=e.threadId,this.assistantId=t.assistantId,this.#e=t.startingCommandId??1,this.#V=t.fetch,this.run={start:async e=>(this.#K(),await this.#G(()=>(this.#W(),this.values,this.#_e(`run.start`,{...xp(e),assistant_id:this.assistantId}))))},this.agent={getTree:async(e={})=>await this.#_e(`agent.getTree`,e)},this.input={respond:async e=>{this.#K(),this.#W(),this.values,await this.#_e(`input.respond`,e)},inject:async e=>{await this.#_e(`input.inject`,e)}},this.state={get:async e=>await this.#_e(`state.get`,e),listCheckpoints:async e=>await this.#_e(`state.listCheckpoints`,e),fork:async e=>await this.#_e(`state.fork`,e)},this.#t.openEventStream??(this.#t.setOnReconnected?.(()=>this.#pe()),this.#me())}async#H(){this.#s||(this.#c??=this.#t.open().then(()=>{this.#s=!0}),await this.#c)}#U(){return[`lifecycle`,`input`]}#W(){this.#g??=(async()=>{this.#h=(await this.#re({channels:this.#U()})).subscriptionId})().catch(()=>void 0)}async#G(e){let t,n,r=new Promise((e,r)=>{t=e,n=r});this.#_=r,r.catch(()=>void 0);try{let n=await e();return t(),n}catch(e){throw n(e),e}finally{this.#_===r&&(this.#_=null)}}#K(e){if(this.interrupted=!1,e!=null){let t=new Set(Array.isArray(e)?e:[e]);for(let e=this.interrupts.length-1;e>=0;--e)t.has(this.interrupts[e].interruptId)&&this.interrupts.splice(e,1)}else this.interrupts.length=0;this.#p!=null&&(clearTimeout(this.#p),this.#p=void 0),this.#m=void 0;for(let[e,t]of this.#r)e!==this.#h&&t.resume()}get messages(){if(this.#x)return this.#x;let e=new Ha;this.#x=e;let t=new Fa;return this.#X([`messages`,...this.#U()],n=>{if(n.method!==`messages`)return;let r=t.consume(n);r&&e.push(Ra(r))},()=>e.close()),e}get values(){if(this.#S)return this.#S;let e=new Ha,t,n,r=new Promise(e=>{n=e});this.#E=r;let i=Object.assign(e,{then:(e,t)=>r.then(e,t)});return this.#S=i,this.#X([`values`,...this.#U()],n=>{if(n.method!==`values`)return;let r=dp(n.params.data);t=r,e.push(r)},()=>{n(t),e.close()}),i}get toolCalls(){if(this.#C)return this.#C;let e=new Ha;this.#C=e;let t=new La;return this.#X([`tools`,...this.#U()],n=>{if(n.method!==`tools`)return;let r=t.consume(n);r&&e.push(ja(r))},()=>e.close()),e}get subgraphs(){if(this.#w)return this.#w;let e=new Ha;return this.#w=e,(async()=>{let t=new Pa(await this.#re({channels:[`tools`,...this.#U()]}),this,[]);for await(let n of t)e.push(n);e.close()})(),e}get subagents(){if(this.#T)return this.#T;let e=new Ha;return this.#T=e,(async()=>{let t=new za(await this.#re({channels:[`tools`,...this.#U()]}),this);for await(let n of t)e.push(n);e.close()})(),e}get audio(){return this.#J(),this.#L}get images(){return this.#J(),this.#R}get video(){return this.#J(),this.#z}get files(){return this.#J(),this.#B}get output(){return this.values,this.#E}get extensions(){if(this.#D)return this.#D;let e=this.#O,t=e=>this.#Y(e);return this.#D=new Proxy(Object.create(null),{get:(n,r)=>{if(typeof r!=`string`)return;let i=e.get(r);if(i)return i;let a=t(r);return e.set(r,a),a},has:(e,t)=>typeof t==`string`}),this.#D}#q(){this.#k||(this.#k=!0,this.#X([`custom`,...this.#U()],e=>{if(e.method===`custom`){this.#j.push(e);for(let t of this.#M)t(e)}},()=>{this.#A=!0;let e=this.#N.splice(0);for(let t of e)t()}
42,{endOnRootTerminal:!0}))}#J(){if(this.#P)return;this.#P=!0;let e=new wa({fetch:this.#V,onAudio:e=>{this.#I.add(e),this.#L.push(e)},onImage:e=>{this.#I.add(e),this.#R.push(e)},onVideo:e=>{this.#I.add(e),this.#z.push(e)},onFile:e=>{this.#I.add(e),this.#B.push(e)}});this.#F=e,this.#X([`messages`,...this.#U()],t=>{t.method===`messages`&&e.consume(t)},()=>{e.close(),this.#L.close(),this.#R.close(),this.#z.close(),this.#B.close()})}#Y(e){this.#q();let t=new Ha,n,r,i=new Promise(e=>{r=e}),a=r=>{let i=r.params.data;i?.name===e&&(n=i.payload,t.push(i.payload))};for(let e of this.#j)a(e);this.#M.push(a);let o=()=>{r(n),t.close()};return this.#A?o():this.#N.push(o),Object.assign(t,{then:(e,t)=>i.then(e,t)})}async#X(e,t,n,r={}){let i,a;try{a=await this.#re({channels:e});let n=a;for await(let e of n)t(e),r.endOnRootTerminal&&i==null&&hp(e)&&(i=setTimeout(()=>{i=void 0,n.unsubscribe().catch(()=>void 0)},0))}catch{}finally{i!=null&&clearTimeout(i),n()}}async submitRun(e){return this.#K(),await this.#G(()=>(this.#Z(),this.#_e(`run.start`,{...xp(e),assistant_id:this.assistantId})))}async respondInput(e){let t=`responses`in e?e.responses.map(e=>e.interrupt_id):e.interrupt_id;this.#K(t),this.#Z(),await this.#_e(`input.respond`,e)}onEvent(e){return this.#b.add(e),()=>{this.#b.delete(e)}}#Z(){if(this.#y==null){if(this.#t.openEventStream!=null){this.#y=this.#Q();return}this.#y=this.#$()}}startLifecycleWatcher(){this.#Z()}async#Q(){if(this.#_!=null)try{await this.#_}catch{return}let e={channels:[`lifecycle`,`input`]},t;try{t=this.#t.openEventStream(e)}catch{return}try{await t.ready}catch{try{t.close()}catch{}return}if(this.#o){try{t.close()}catch{}return}this.#v=t;try{for await(let e of t.events){if(this.#o)break;this.#ee(e)}}catch{}}async#$(){let e;try{e=await this.#re({channels:[`lifecycle`,`input`]})}catch{return}if(this.#o){try{e.close()}catch{}return}try{for await(let t of e)if(this.#o)break}catch{}}#ee(e){if(e.type!==`event`)return;typeof e.seq==`number`&&(this.ordering.lastSeenSeq=pp(this.ordering.lastSeenSeq,e.seq)),e.event_id&&(this.ordering.lastEventId=e.event_id);let t=e.event_id??void 0,n=t!=null&&this.#i.has(t);t!=null&&this.#i.add(t),!n&&(this.#te(e),this.#ne(e))}#te(e){if(e.method===`lifecycle`&&e.params.data.event===`interrupted`&&(this.interrupted=!0),e.method===`input.requested`){let t=e.params.data,n=t.interrupt_id??`interrupt_${this.interrupts.length}`;this.interrupts.push({interruptId:n,payload:t.payload,namespace:[...e.params.namespace]}),Bf(t.payload)&&this.#a.add(n)}}#ne(e){if(this.#b.size!==0)for(let t of this.#b)try{t(e)}catch{}}async close(){if(this.#o)return;this.#o=!0,this.#p!=null&&(clearTimeout(this.#p),this.#p=void 0),this.#m=void 0;for(let e of this.#f)e.reject(Error(`ThreadStream closed`));if(this.#f.length=0,this.#l!=null){try{this.#l.close()}catch{}this.#l=null,this.#u=null}if(this.#v!=null){try{this.#v.close()}catch{}this.#v=null}let e=this.#y;this.#y=void 0,this.#b.clear();for(let e of this.#r.values())e.close();this.#r.clear();try{await e}catch{}for(let e of this.#I)try{e.revoke()}catch{}this.#I.clear(),this.#F?.close(),this.#L.close(),this.#R.close(),this.#z.close(),this.#B.close(),await this.#t.close()}async subscribe(e,t={}){let n=typeof e==`object`&&!Array.isArray(e)&&`channels`in e,r=bp(e,t);return await this.#re(r,{unwrapNamedCustom:!n})}async#re(e,t={}){await this.#H();let{unwrapNamedCustom:n=!0}=t,r=e.channels.length>0&&e.channels.every(e=>e.startsWith(`custom:`)),i=n&&r?e=>e.params.data?.payload??e:void 0;return this.#t.openEventStream==null?this.#fe(e,i):this.#ie(e,i)}async#ie(e,t){let n=`sse-${this.#e++}`,r=new Sp(n,e,async e=>{this.#r.delete(e),this.#oe()},t),i=Object.assign(r,{filter:e,registeredAfterSeq:this.ordering.lastSeenSeq,seenEventIds:new Set});this.#r.set(n,i);let a=new Promise((t,n)=>{this.#f.push({filter:e,resolve:t,reject:n})});this.#oe();try{await a}catch(e){throw this.#r.delete(n),e}return r}#ae(){if(this.#r.size===0)return null;let e=new Set,t=!1,n=new Map,r=!1,i=0;for(let a of this.#r.values()){for(let t of a.filter.channels)e.add(t);if(a.filter.namespaces==null)t=!0;else if(!t)for(let e of a.filter.namespaces)n.set(fp(e),e);a.filter.depth==null?r=!0:!r&&a.filter.depth>i&&(i=a.filter.depth)}let a={channels:[...e]};return t||(a.namespaces=[...n.values()]),r||(a.depth=i),a}#oe(){this.#o||this.#d===`idle`&&(this.#d=`scheduled`,queueMicrotask(()=>
42{if(this.#o){this.#d=`idle`;return}this.#d=`idle`,this.#se().catch(()=>{this.#d=`idle`})}))}async#se(){if(this.#o||this.#d===`rotating`)return;let e=this.#ae();if(e==null)return;if(this.#_!=null){try{await this.#_}catch(e){let t=e instanceof Error?e:Error(`run.start failed`);this.#ue(t);return}if(this.#o||this.#d===`rotating`)return}if(this.#u!=null&&_p(e,this.#u)&&this.#f.length===0){this.#le();return}this.#d=`rotating`;let t;try{t=this.#t.openEventStream(e)}catch(e){this.#d=`idle`,this.#ue(e);return}try{await t.ready}catch(e){this.#d=`idle`;try{t.close()}catch{}this.#ue(e);return}if(this.#o){try{t.close()}catch{}this.#d=`idle`;return}this.#ce(t);let n=this.#l;if(this.#l=t,this.#u=e,n!=null)try{n.close()}catch{}this.#d=`idle`,this.#le();let r=this.#ae();r!=null&&!_p(r,this.#u)&&this.#oe()}async#ce(e){try{for await(let t of e.events){if(this.#o)break;this.#ge(t)}}catch(t){e===this.#l&&!this.#o&&this.#de(t)}}#le(){if(this.#u==null)return;let e=this.#u;if(this.#f.length===0)return;let t=[];for(let n of this.#f)yp(e,n.filter)?n.resolve():t.push(n);this.#f.length=0,this.#f.push(...t)}#ue(e){if(this.#f.length===0)return;let t=this.#u,n=[];for(let e of this.#f)t!=null&&yp(t,e.filter)?e.resolve():n.push(e);this.#f.length=0;for(let t of n)t.reject(e)}#de(e){let t=e instanceof Error?e:Error(String(e));for(let e of this.#n.values())e.reject(t);this.#n.clear();for(let e of this.#f)e.reject(t);this.#f.length=0;for(let e of this.#r.values())e.close()}async#fe(e,t){let n=`pending:${this.#e}:${Math.random().toString(36).slice(2,10)}`,r=n,i=new Sp(n,e,async()=>{this.#r.delete(r),!this.#o&&r!==n&&await this.#_e(`subscription.unsubscribe`,{subscription_id:r}).catch(e=>{if(!(e instanceof If&&e.code===`no_such_subscription`))throw e})},t),a=Object.assign(i,{filter:e,registeredAfterSeq:this.ordering.lastSeenSeq,seenEventIds:new Set});if(this.#r.set(n,a),this.#_!=null)try{await this.#_}catch(e){throw this.#r.delete(n),e}let o;try{o=await this.#_e(`subscription.subscribe`,e)}catch(e){throw this.#r.delete(n),e}return this.#r.delete(n),r=o.subscription_id,i.subscriptionId=r,this.#r.set(r,a),i}async#pe(){if(this.#t.openEventStream!=null||this.#o)return;let e=[...this.#r.entries()];await Promise.all(e.map(async([e,t])=>{if(!e.startsWith(`pending:`))try{let n=(await this.#_e(`subscription.subscribe`,t.filter)).subscription_id;if(n===e)return;this.#r.delete(e),t.subscriptionId=n,this.#r.set(n,t),this.#h===e&&(this.#h=n)}catch{}}))}async#me(){try{for await(let e of this.#t.events())this.#ge(e);for(let e of this.#r.values())e.close()}catch(e){let t=e instanceof Error?e:Error(String(e));for(let e of this.#n.values())e.reject(t);for(let e of this.#r.values())e.close();this.#n.clear()}}#he(e){this.#p!=null&&clearTimeout(this.#p),this.#m=e??null,this.#p=setTimeout(()=>{if(this.#p=void 0,!this.#o)for(let[t,n]of this.#r)t!==this.#h&&(e!=null&&n.registeredAfterSeq!=null&&n.registeredAfterSeq>=e||n.pause())},0)}#ge(e){if(e.type===`event`){typeof e.seq==`number`&&(this.ordering.lastSeenSeq=pp(this.ordering.lastSeenSeq,e.seq)),e.event_id&&(this.ordering.lastEventId=e.event_id);let t=e.event_id??void 0,n=t!=null&&this.#i.has(t);t!=null&&this.#i.add(t);let r=new Set([`interrupted`,`completed`,`failed`]);n||(this.#te(e),this.#ne(e));let i=!1;for(let n of this.#r.values())if(Zf(e,n.filter)){if(t!=null){if(n.seenEventIds.has(t))continue;n.seenEventIds.add(t)}n.push(e),i=!0}if(i&&this.#m!==void 0&&(e.method!==`lifecycle`||e.params.namespace.length!==0)){let t=typeof e.seq==`number`?e.seq:void 0,n=this.#m;if(n===null||t==null||t>n){this.#p!=null&&(clearTimeout(this.#p),this.#p=void 0);for(let[e,t]of this.#r)e!==this.#h&&t.resume();this.#he(n===null?void 0:n)}}if(i&&e.method===`lifecycle`&&e.params.namespace.length===0&&r.has(e.params.data.event)){if(e.params.data.event===`interrupted`&&this.#a.size>0){this.#a.clear();return}this.#he(typeof e.seq==`number`?e.seq:void 0)}return}let t=typeof e.id==`number`?e.id:void 0,n=t===void 0?void 0:this.#n.get(t);if(n){if(t!==void 0&&this.#n.delete(t),e.type===`error`){n.reject(new If(e));return}typeof e.meta?.applied_through_seq==`number`&&(this.ordering.lastAppliedThroughSeq=e.meta.applied_through_seq),n.resolve(e)}}async#_e(e,t){await this.#H();let n=this.#e++,r={id:n,method:e,params:t},i=new Promise((e,t)=>
42{this.#n.set(n,{resolve:e,reject:t})}),a=await this.#t.send(r);if(a){if(this.#n.delete(n),a.type===`error`)throw new If(a);return typeof a.meta?.applied_through_seq==`number`&&(this.ordering.lastAppliedThroughSeq=a.meta.applied_through_seq),a.result}return(await i).result}},wp=class{values=[];waiters=[];rejecters=[];closed=!1;error=null;push(e){if(this.closed)return;let t=this.waiters.shift();if(this.rejecters.shift(),t){t({done:!1,value:e});return}this.values.push(e)}close(e){if(!this.closed){if(this.closed=!0,this.error=e==null?null:e instanceof Error?e:Error(String(e)),this.error){for(let e of this.rejecters.splice(0))e(this.error);this.waiters.length=0;return}for(let e of this.waiters.splice(0))e({done:!0,value:void 0});this.rejecters.length=0}}async shift(){if(this.values.length>0)return{done:!1,value:this.values.shift()};if(this.error)throw this.error;return this.closed?{done:!0,value:void 0}:await new Promise((e,t)=>{this.waiters.push(e),this.rejecters.push(t)})}},Tp=e=>typeof e==`object`&&!!e;function Ep(e,t,n){if(typeof e==`string`)return e;if(!t)throw Error(`Protocol transport has no bound threadId. Bind one — the framework calls client.threads.stream(threadId, { transport }) / transport.setThreadId(threadId) — before issuing requests.`);return e?e(t):n(t)}var Dp=(e,t)=>new URL(`${e.replace(/\/$/,``)}${t}`),Op=e=>e instanceof Error?e:Error(String(e)),kp=e=>{let t=new URL(e);return t.protocol=t.protocol===`https:`?`wss:`:`ws:`,t.search=``,t.hash=``,t.toString()},Ap=e=>Object.values(e??{}).some(e=>e!=null);function jp(...e){let t=new Headers;for(let n of e)if(n){if(n instanceof Headers){n.forEach((e,n)=>{t.set(n,e)});continue}if(Array.isArray(n)){for(let[e,r]of n)r==null?t.delete(e):t.set(e,r);continue}for(let[e,r]of Object.entries(n))r==null?t.delete(e):t.set(e,r)}return t}function Mp(e){return Tp(e)&&typeof e.type==`string`&&(e.type===`success`||e.type===`error`)}var Np=class{threadId;apiUrl;queue=new wp;fetchImpl;defaultHeaders;onRequest;fetchFactory;asyncCaller;maxReconnectAttempts;idleReconnect;onReconnect;reconnectDelayMs;paths;sessionAbortController=new AbortController;eventStreams=new Set;closed=!1;constructor(e){this.fetchImpl=e.fetch??fetch,this.apiUrl=e.apiUrl,this.defaultHeaders=e.defaultHeaders??{},this.onRequest=e.onRequest,this.fetchFactory=e.fetchFactory,this.asyncCaller=e.asyncCaller,this.maxReconnectAttempts=e.maxReconnectAttempts??5,this.idleReconnect=e.idleReconnect??`auto`,this.onReconnect=e.onReconnect,this.reconnectDelayMs=e.reconnectDelayMs??xf,this.threadId=e.threadId??``,this.paths=e.paths}setThreadId(e){this.threadId=e}get commandsUrl(){return Ep(this.paths?.commands,this.threadId,e=>`/threads/${e}/commands`)}get streamUrl(){return Ep(this.paths?.stream,this.threadId,e=>`/threads/${e}/stream/events`)}get stateUrl(){return Ep(this.paths?.state,this.threadId,e=>`/threads/${e}/state`)}async getState(){let e=Dp(this.apiUrl,this.stateUrl),t={method:`GET`,headers:jp(this.defaultHeaders,{})};this.onRequest&&(t=await this.onRequest(e,t));let n=await(await this.resolveFetch())(e.toString(),t);if(n.status===404)return null;if(!n.ok){let e=Op(Error(`Thread state request failed: ${n.status} ${n.statusText}`));throw e.status=n.status,e}return await n.json()}async resolveFetch(){return this.fetchFactory?await this.fetchFactory():this.fetchImpl}async open(){}async send(e){let t=await this.request(this.commandsUrl,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e),signal:this.sessionAbortController.signal});if(t.status===202||t.status===204)return;let n=await t.json();if(!Mp(n))throw Error(`Protocol command did not return a valid response.`);return n}events(){let e=this.queue;return{[Symbol.asyncIterator]:()=>({next:async()=>await e.shift(),return:async()=>(e.close(),{done:!0,value:void 0})})}}openEventStream(e){if(this.closed)throw Error(`Protocol transport is closed.`);let t=new AbortController;this.eventStreams.add(t);let n=new wp,r=this.streamUrl,i,a,o=new Promise((e,t)=>{i=e,a=t}),s=typeof e.since==`number`?e.since:void 0,c=!1;(async()=>{let o=0;for(;!t.signal.aborted&&!this.closed;)try{let a=await this.request(r,{method:`POST`,headers:{"content-type":`application/json`,accept:`text/event-stream`},body:JSON.stringify({channels:e.channels,...e.namespaces?{namespaces:e.namespaces}:{},...e.depth==null?{}:{depth:e.depth},...!c&&s!=null?{since:s}:{}}),signal:t.signal},{stream:!0});c||(c=!0,i());let o=a.body??new ReadableStream({start(e){e.close()}}),l=this.idleReconnect===`auto`||typeof this.idleReconnect==`number`&&this.idleReconnect>0,u=o.pipeThrough(df()),d=(l?u.pipeThrough(Tf({mode:this.idleReconnect})):u).pipeThrough(ff()),f=Df.fromReadableStream(d);for await(let e of f){if(t.signal.aborted||this.closed)break;Tp(e.data)&&n.push(e.data)}n.close();return}catch(e){if(t.signal.aborted||this.closed){c||a(e),n.close();return}if(this.maxReconnectAttempts<=0){c||a(e),n.close(Op(e));return}if(o+=1,o>this.maxReconnectAttempts){c||a(e),n.close(Op(e));return}this.onReconnect?.({attempt:o,cause:e});let r=this.reconnectDelayMs(o);r>0&&await new Promise(e=>{setTimeout(e,r)})}})();let l=()=>{this.eventStreams.delete(t),t.abort(),n.close()};return{events:{[Symbol.asyncIterator]:()=>({next:async()=>await n.shift(),return:async()=>(l(),{done:!0,value:void 0})})},ready:o,close:l}}async close(){if(!this.closed){this.closed=!0,this.sessionAbortController.abort();for(let e of this.eventStreams)e.abort();this.eventStreams.clear(),this.queue.close()}}async request(e,t,n){let r=Dp(this.apiUrl,e),i={...t,headers:jp(this.defaultHeaders,t.headers)};this.onRequest&&(i=await this.onRequest(r,i));let a=this.asyncCaller!=null&&!n?.stream,o=async()=>{let e=await(await this.resolveFetch())(r.toString(),i);if(!e.ok){if(a)throw e;let t=``;try{let n=await e.text(),r=JSON.parse(n);typeof r==`object`&&r&&(t=r.message??r.error??``),t||=n}catch{}let n=t?`Protocol request failed: ${e.status} ${e.statusText} — ${t}`:`Protocol request failed: ${e.status} ${e.statusText}`;throw Error(n)}return e};try{return a?await this.asyncCaller.call(o):await o()}catch(e){throw Op(e)}}},Pp=0,Fp=1,Ip=3,Lp=class{threadId;queue=new wp;apiUrl;defaultHeaders;onRequest;webSocketFactory;paths;maxReconnectAttempts;onReconnect;reconnectDelayMs;onReconnected;pending=new Map;socket=null;closed=!1;intentionalClose=!1;reconnectInFlight=null;constructor(e){this.apiUrl=e.apiUrl,this.threadId=e.threadId??``,this.defaultHeaders=e.defaultHeaders,this.onRequest=e.onRequest,this.webSocketFactory=e.webSocketFactory??(e=>new WebSocket(e)),this.paths=e.paths,this.maxReconnectAttempts=e.maxReconnectAttempts??5,this.onReconnect=e.onReconnect,this.onReconnected=e.onReconnected,this.reconnectDelayMs=e.reconnectDelayMs??xf}setThreadId(e){if(e!==this.threadId){if(this.reconnectInFlight!=null||this.socket!=null&&this.socket.readyState!==Ip)throw Error(`Protocol WebSocket transport cannot be rebound to a different thread while the socket is open. Close the current stream and create a new WebSocket transport for the new thread.`);this.threadId=e}}get streamUrl(){return Ep(this.paths?.stream,this.threadId,e=>`/threads/${e}/stream/events`)}setOnReconnected(e){this.onReconnected=e}async open(){if(this.closed)throw Error(`Protocol WebSocket transport is closed.`);if(this.socket?.readyState===Fp)return;this.socket!=null&&(this.#t(this.socket),this.socket=null),this.assertBrowserSafeTransportConfig();
42let e=kp(Dp(this.apiUrl,this.streamUrl).toString()),t=this.webSocketFactory(e);this.socket=t,this.intentionalClose=!1,this.#e(t),await new Promise((e,n)=>{let r=()=>{a(),e()},i=()=>{a(),n(Error(`Failed to open protocol WebSocket.`))},a=()=>{t.removeEventListener(`open`,r),t.removeEventListener(`error`,i)};t.addEventListener(`open`,r,{once:!0}),t.addEventListener(`error`,i,{once:!0})})}async send(e){return await this.sendCommand(e)}events(){let e=this.queue;return{[Symbol.asyncIterator]:()=>({next:async()=>await e.shift(),return:async()=>(e.close(),{done:!0,value:void 0})})}}async close(){if(this.closed)return;this.closed=!0,this.intentionalClose=!0;for(let{reject:e}of this.pending.values())e(Error(`Protocol WebSocket connection closed.`));this.pending.clear(),this.queue.close();let e=this.socket;this.socket=null,e&&(this.#t(e),await new Promise(t=>{if(e.readyState===Ip){t();return}let n=()=>{e.removeEventListener(`close`,n),t()};e.addEventListener(`close`,n,{once:!0}),e.readyState===Fp||e.readyState===Pp?e.close():t()}))}assertBrowserSafeTransportConfig(){if(Ap(this.defaultHeaders)||this.onRequest!=null)throw Error(`Browser WebSocket protocol transport does not support defaultHeaders or onRequest hooks. Supply a custom protocolWebSocketFactory if you need custom WebSocket setup.`)}async sendCommand(e){let t=this.socket;if(this.reconnectInFlight!=null&&(t==null||t.readyState!==Fp)&&(await this.reconnectInFlight.catch(()=>void 0),t=this.socket),t==null||t.readyState!==Fp)throw Error(`Protocol WebSocket is not open.`);return await new Promise((n,r)=>{this.pending.set(e.id,{resolve:n,reject:r});try{t.send(JSON.stringify(e))}catch(t){this.pending.delete(e.id),r(Op(t))}})}#e(e){e.addEventListener(`message`,this.handleMessage),e.addEventListener(`close`,this.handleClose),e.addEventListener(`error`,this.handleSocketError)}#t(e){e.removeEventListener(`message`,this.handleMessage),e.removeEventListener(`close`,this.handleClose),e.removeEventListener(`error`,this.handleSocketError)}handleMessage=e=>{let t;try{t=JSON.parse(String(e.data))}catch{return}if(Tp(t)&&typeof t.id==`number`&&(t.type===`success`||t.type===`error`)){let e=this.pending.get(t.id);e&&(this.pending.delete(t.id),e.resolve(t));return}Tp(t)&&t.type===`event`&&this.queue.push(t)};handleClose=()=>{let e=this.socket;if(e!=null&&this.#t(e),this.socket=null,this.intentionalClose||this.closed){this.queue.close();return}this.#n(Error(`Protocol WebSocket closed unexpectedly.`))};handleSocketError=()=>{this.closed||this.intentionalClose||this.#n(Error(`Protocol WebSocket encountered an error.`))};#n(e){let t=Op(e);for(let{reject:e}of this.pending.values())e(t);if(this.pending.clear(),this.maxReconnectAttempts<=0){this.queue.close(t);return}this.#r(e)}#r(e){this.closed||this.intentionalClose||(this.reconnectInFlight??=this.#i(e).finally(()=>{this.reconnectInFlight=null}))}async#i(e){let t=e;for(let e=1;e<=this.maxReconnectAttempts;e+=1){if(this.closed||this.intentionalClose)return;this.onReconnect?.({attempt:e,cause:t});let n=this.reconnectDelayMs(e);if(n>0&&await new Promise(e=>{setTimeout(e,n)}),this.closed||this.intentionalClose)return;try{await this.open(),this.onReconnected&&await this.onReconnected();return}catch(e){t=e}}this.queue.close(new Lf(this.maxReconnectAttempts,t))}},Rp=class extends jf{async get(e,t){return this.fetch(`/assistants/${e}`,{signal:t?.signal})}async getGraph(e,t){return this.fetch(`/assistants/${e}/graph`,{params:{xray:t?.xray},signal:t?.signal})}async getSchemas(e,t){return this.fetch(`/assistants/${e}/schemas`,{signal:t?.signal})}async getSubgraphs(e,t){return t?.namespace?this.fetch(`/assistants/${e}/subgraphs/${t.namespace}`,{params:{recurse:t?.recurse},signal:t?.signal}):this.fetch(`/assistants/${e}/subgraphs`,{params:{recurse:t?.recurse},signal:t?.signal})}async create(e){return this.fetch(`/assistants`,{method:`POST`,json:{graph_id:e.graphId,config:e.config,context:e.context,metadata:e.metadata,assistant_id:e.assistantId,if_exists:e.ifExists,name:e.name,description:e.description},signal:e.signal})}async update(e,t){return this.fetch(`/assistants/${e}`,{method:`PATCH`,json:{graph_id:t.graphId,config:t.config,context:t.context,metadata:t.metadata,name:t.name,description:t.description},signal:t.signal})}async delete(e,t){return this.fetch(`/assistants/${e}?delete_threads=${t?.deleteThreads??!1}`,{method:`DELETE`,signal:t?.signal})}async search(e){let t={graph_id:e?.graphId??void 0,name:e?.name??void 0,metadata:e?.metadata??void 0,limit:e?.limit??10,offset:e?.offset??0,sort_by:e?.sortBy??void 0,sort_order:e?.sortOrder??void 0,select:e?.select??void 0},[n,r]=await this.fetch(`/assistants/search`,{method:`POST`,json:t,withResponse:!0,signal:e?.signal});return e?.includePagination?{assistants:n,next:r.headers.get(`X-Pagination-Next`)}:n}async count(e){return this.fetch(`/assistants/count`,{method:`POST`,json:{metadata:e?.metadata??void 0,graph_id:e?.graphId??void 0,name:e?.name??void 0},signal:e?.signal})}async getVersions(e,t){return this.fetch(`/assistants/${e}/versions`,{method:`POST`,json:{metadata:t?.metadata??void 0,limit:t?.limit??10,offset:t?.offset??0},signal:t?.signal})}async setLatest(e,t,n){return this.fetch(`/assistants/${e}/latest`,{method:`POST`,json:{version:t},signal:n?.signal})}},zp=class extends jf{async get(e,t){return this.fetch(`/threads/${e}`,{params:{include:t?.include??void 0},signal:t?.signal})}async create(e){let t=typeof e?.ttl==`number`?{ttl:e.ttl,strategy:`delete`}:e?.ttl;return this.fetch(`/threads`,{method:`POST`,json:{metadata:{...e?.metadata,graph_id:e?.graphId},thread_id:e?.threadId,if_exists:e?.ifExists,supersteps:e?.supersteps?.map(e=>({updates:e.updates.map(e=>({values:e.values,command:e.command,as_node:e.asNode}))})),ttl:t},signal:e?.signal})}async copy(e,t){return this.fetch(`/threads/${e}/copy`,{method:`POST`,signal:t?.signal})}async update(e,t){let n=typeof t?.ttl==`number`?{ttl:t.ttl,strategy:`delete`}:t?.ttl;return this.fetch(`/threads/${e}`,{method:`PATCH`,headers:t?.returnMinimal?{Prefer:`return=minimal`}:void 0,json:{metadata:t?.metadata,ttl:n},signal:t?.signal})}async delete(e,t){return this.fetch(`/threads/${e}`,{method:`DELETE`,signal:t?.signal})}async prune(e,t){return this.fetch(`/threads/prune`,{method:`POST`,json:{thread_ids:e,strategy:t?.strategy??`delete`},signal:t?.signal})}async search(e){return this.fetch(`/threads/search`,{method:`POST`,json:{metadata:e?.metadata??void 0,ids:e?.ids??void 0,limit:e?.limit??10,offset:e?.offset??0,status:e?.
42status,sort_by:e?.sortBy,sort_order:e?.sortOrder,select:e?.select??void 0,values:e?.values??void 0,extract:e?.extract??void 0},signal:e?.signal})}async count(e){return this.fetch(`/threads/count`,{method:`POST`,json:{metadata:e?.metadata??void 0,values:e?.values??void 0,status:e?.status??void 0},signal:e?.signal})}async getState(e,t,n){return t==null?this.fetch(`/threads/${e}/state`,{params:{subgraphs:n?.subgraphs},signal:n?.signal,dedupe:!0}):typeof t==`string`?this.fetch(`/threads/${e}/state/${t}`,{params:{subgraphs:n?.subgraphs},signal:n?.signal}):this.fetch(`/threads/${e}/state/checkpoint`,{method:`POST`,json:{checkpoint:t,subgraphs:n?.subgraphs},signal:n?.signal})}async updateState(e,t){return this.fetch(`/threads/${e}/state`,{method:`POST`,json:{values:t.values,checkpoint:t.checkpoint,checkpoint_id:t.checkpointId,as_node:t?.asNode},signal:t?.signal})}async patchState(e,t,n){let r;if(typeof e!=`string`){if(typeof e.configurable?.thread_id!=`string`)throw Error(`Thread ID is required when updating state with a config.`);r=e.configurable.thread_id}else r=e;return this.fetch(`/threads/${r}/state`,{method:`PATCH`,json:{metadata:t},signal:n?.signal})}async getHistory(e,t){return this.fetch(`/threads/${e}/history`,{method:`POST`,json:{limit:t?.limit??10,before:t?.before,metadata:t?.metadata,checkpoint:t?.checkpoint},signal:t?.signal,dedupe:!0})}async*joinStream(e,t){yield*this.streamWithRetry({endpoint:`/threads/${e}/stream`,method:`GET`,signal:t?.signal,headers:t?.lastEventId?{"Last-Event-ID":t.lastEventId}:void 0,params:t?.streamMode?{stream_mode:t.streamMode}:void 0})}stream(e,t){let{threadId:n,options:r}=typeof e==`string`?{threadId:e,options:t}:e==null?{threadId:Ea(),options:t}:{threadId:Ea(),options:e},i=r.fetch,a=i??this.asyncCaller.fetch.bind(this.asyncCaller),o;if(r.transport!=null&&typeof r.transport!=`string`)o=r.transport,o.setThreadId?.(n);else{let e=r.transport??(this.streamProtocol===`v2-websocket`?`websocket`:`sse`),t=r.maxReconnectAttempts??5,a={apiUrl:this.apiUrl,threadId:n,defaultHeaders:this.defaultHeaders,onRequest:this.onRequest,maxReconnectAttempts:t,reconnectDelayMs:r.reconnectDelayMs,onReconnect:r.onReconnect};o=e===`websocket`?new Lp({...a,webSocketFactory:r.webSocketFactory}):new Np({...a,idleReconnect:r.streamIdleReconnect,fetch:i,asyncCaller:i?void 0:this.asyncCaller})}return new Cp(o,{...r,fetch:a})}},Bp=class extends jf{async*stream(e,t,n){let r={input:n?.input,command:n?.command,config:n?.config,context:n?.context,metadata:n?.metadata,stream_mode:n?.streamMode,stream_subgraphs:n?.streamSubgraphs,stream_resumable:n?.streamResumable,feedback_keys:n?.feedbackKeys,assistant_id:t,interrupt_before:n?.interruptBefore,interrupt_after:n?.interruptAfter,checkpoint:n?.checkpoint,webhook:n?.webhook,multitask_strategy:n?.multitaskStrategy,on_completion:n?.onCompletion,on_disconnect:n?.onDisconnect,after_seconds:n?.afterSeconds,if_not_exists:n?.ifNotExists,checkpoint_during:n?.checkpointDuring,durability:n?.durability};yield*this.streamWithRetry({endpoint:e==null?`/runs/stream`:`/threads/${e}/runs/stream`,method:`POST`,json:r,signal:n?.signal,idleReconnect:n?.streamIdleReconnect,onInitialResponse:e=>{let t=Nf(e);t&&n?.onRunCreated?.(t)}})}async create(e,t,n){let r={input:n?.input,command:n?.command,config:n?.config,context:n?.context,metadata:n?.metadata,stream_mode:n?.streamMode,stream_subgraphs:n?.streamSubgraphs,stream_resumable:n?.streamResumable,feedback_keys:n?.feedbackKeys,assistant_id:t,interrupt_before:n?.interruptBefore,interrupt_after:n?.interruptAfter,webhook:n?.webhook,checkpoint:n?.checkpoint,checkpoint_id:n?.checkpointId,multitask_strategy:n?.multitaskStrategy,after_seconds:n?.afterSeconds,if_not_exists:n?.ifNotExists,checkpoint_during:n?.checkpointDuring,durability:n?.durability,on_completion:n?.onCompletion,langsmith_tracer:n?._langsmithTracer?{project_name:n?._langsmithTracer?.projectName,example_id:n?._langsmithTracer?.exampleId}:void 0},i=e===null?`/runs`:`/threads/${e}/runs`,[a,o]=await this.fetch(i,{method:`POST`,json:r,signal:n?.signal,withResponse:!0}),s=Nf(o);return s&&n?.onRunCreated?.(s),a}async createBatch(e,t){let n=e.map(e=>({...e,assistant_id:e.assistantId})).map(e=>Object.fromEntries(Object.entries(e).filter(([e,t])=>t!==void 0)));return this.fetch(`/runs/batch`,{method:`POST`,json:n,signal:t?.signal})}async wait(e,t,n){let r={input:n?.input,command:n?.command,config:n?.config,context:n?.context,metadata:n?.metadata,assistant_id:t,interrupt_before:n?.interruptBefore,interrupt_after:n?.interruptAfter,checkpoint:n?.checkpoint,checkpoint_id:n?.checkpointId,webhook:n?.webhook,multitask_strategy:n?.multitaskStrategy,on_completion:n?.onCompletion,on_disconnect:n?.onDisconnect,after_seconds:n?.afterSeconds,if_not_exists:n?.ifNotExists,checkpoint_during:n?.checkpointDuring,durability:n?.durability,langsmith_tracer:n?._langsmithTracer?{project_name:n?._langsmithTracer?.projectName,example_id:n?._langsmithTracer?.exampleId}:void 0},i=e==null?`/runs/wait`:`/threads/${e}/runs/wait`,[a,o]=await this.fetch(i,{method:`POST`,json:r,timeoutMs:null,signal:n?.signal,withResponse:!0}),s=Nf(o);if(s&&n?.onRunCreated?.(s),(n?.raiseError===void 0||n.raiseError)&&`__error__`in a&&typeof a.__error__==`object`&&a.__error__&&`error`in a.__error__&&`message`in a.__error__)throw Error(`${a.__error__?.error}: ${a.__error__?.message}`);return a}
42async list(e,t){return this.fetch(`/threads/${e}/runs`,{params:{limit:t?.limit??10,offset:t?.offset??0,status:t?.status??void 0,select:t?.select??void 0},signal:t?.signal})}async get(e,t,n){return this.fetch(`/threads/${e}/runs/${t}`,{signal:n?.signal})}async cancel(e,t,n=!1,r=`interrupt`,i={}){return this.fetch(`/threads/${e}/runs/${t}/cancel`,{method:`POST`,params:{wait:n?`1`:`0`,action:r},signal:i?.signal})}async cancelMany(e){return this.fetch(`/runs/cancel`,{method:`POST`,json:{thread_id:e.threadId,run_ids:e.runIds,status:e.status},params:{action:e.action},signal:e.signal})}async join(e,t,n){return this.fetch(`/threads/${e}/runs/${t}/join`,{timeoutMs:null,params:{cancel_on_disconnect:n?.cancelOnDisconnect?`1`:`0`},signal:n?.signal})}async*joinStream(e,t,n){let r=typeof n==`object`&&n&&n instanceof AbortSignal?{signal:n}:n;yield*this.streamWithRetry({endpoint:e==null?`/runs/${t}/stream`:`/threads/${e}/runs/${t}/stream`,method:`GET`,signal:r?.signal,idleReconnect:r?.streamIdleReconnect,headers:r?.lastEventId?{"Last-Event-ID":r.lastEventId}:void 0,params:{cancel_on_disconnect:r?.cancelOnDisconnect?`1`:`0`,stream_mode:r?.streamMode}})}async delete(e,t,n){return this.fetch(`/threads/${e}/runs/${t}`,{method:`DELETE`,signal:n?.signal})}},Vp=class extends jf{async createForThread(e,t,n){let r={schedule:n?.schedule,input:n?.input,config:n?.config,context:n?.context,metadata:n?.metadata,assistant_id:t,interrupt_before:n?.interruptBefore,interrupt_after:n?.interruptAfter,webhook:n?.webhook,multitask_strategy:n?.multitaskStrategy,checkpoint_during:n?.checkpointDuring,durability:n?.durability,enabled:n?.enabled,timezone:n?.timezone,stream_mode:n?.streamMode,stream_subgraphs:n?.streamSubgraphs,stream_resumable:n?.streamResumable,end_time:n?.endTime,on_run_completed:n?.onRunCompleted};return this.fetch(`/threads/${e}/runs/crons`,{method:`POST`,json:r,signal:n?.signal})}async create(e,t){let n={schedule:t?.schedule,input:t?.input,config:t?.config,context:t?.context,metadata:t?.metadata,assistant_id:e,interrupt_before:t?.interruptBefore,interrupt_after:t?.interruptAfter,webhook:t?.webhook,on_run_completed:t?.onRunCompleted,multitask_strategy:t?.multitaskStrategy,checkpoint_during:t?.checkpointDuring,durability:t?.durability,enabled:t?.enabled,timezone:t?.timezone,stream_mode:t?.streamMode,stream_subgraphs:t?.streamSubgraphs,stream_resumable:t?.streamResumable,end_time:t?.endTime};return this.fetch(`/runs/crons`,{method:`POST`,json:n,signal:t?.signal})}async update(e,t){let n={schedule:t?.schedule,timezone:t?.timezone,end_time:t?.endTime,input:t?.input,metadata:t?.metadata,config:t?.config,context:t?.context,webhook:t?.webhook,interrupt_before:t?.interruptBefore,interrupt_after:t?.interruptAfter,on_run_completed:t?.onRunCompleted,enabled:t?.enabled,stream_mode:t?.streamMode,stream_subgraphs:t?.streamSubgraphs,stream_resumable:t?.streamResumable,durability:t?.durability};return this.fetch(`/runs/crons/${e}`,{method:`PATCH`,json:n,signal:t?.signal})}async delete(e,t){await this.fetch(`/runs/crons/${e}`,{method:`DELETE`,signal:t?.signal})}async search(e){return this.fetch(`/runs/crons/search`,{method:`POST`,json:{assistant_id:e?.assistantId??void 0,thread_id:e?.threadId??void 0,enabled:e?.enabled??void 0,limit:e?.limit??10,offset:e?.offset??0,sort_by:e?.sortBy??void 0,sort_order:e?.sortOrder??void 0,select:e?.select??void 0,metadata:e?.metadata??void 0},signal:e?.signal})}async count(e){return this.fetch(`/runs/crons/count`,{method:`POST`,json:{assistant_id:e?.assistantId??void 0,thread_id:e?.threadId??void 0,metadata:e?.metadata??void 0},signal:e?.signal})}},Hp=class extends jf{async putItem(e,t,n,r){e.forEach(e=>{if(e.includes(`.`))throw Error(`Invalid namespace label '${e}'. Namespace labels cannot contain periods ('.')`)});let i={namespace:e,key:t,value:n,index:r?.index,ttl:r?.ttl};return this.fetch(`/store/items`,{method:`PUT`,json:i,signal:r?.signal})}async getItem(e,t,n){e.forEach(e=>{if(e.includes(`.`))throw Error(`Invalid namespace label '${e}'. Namespace labels cannot contain periods ('.')`)});let r={namespace:e.join(`.`),key:t};n?.refreshTtl!==void 0&&(r.refresh_ttl=n.refreshTtl);let i=await this.fetch(`/store/items`,{params:r,signal:n?.signal});return i?{...i,createdAt:i.created_at,updatedAt:i.updated_at}:null}
42async deleteItem(e,t,n){return e.forEach(e=>{if(e.includes(`.`))throw Error(`Invalid namespace label '${e}'. Namespace labels cannot contain periods ('.')`)}),this.fetch(`/store/items`,{method:`DELETE`,json:{namespace:e,key:t},signal:n?.signal})}async searchItems(e,t){let n={namespace_prefix:e,filter:t?.filter,limit:t?.limit??10,offset:t?.offset??0,query:t?.query,refresh_ttl:t?.refreshTtl};return{items:(await this.fetch(`/store/items/search`,{method:`POST`,json:n,signal:t?.signal})).items.map(e=>({...e,createdAt:e.created_at,updatedAt:e.updated_at}))}}async listNamespaces(e){let t={prefix:e?.prefix,suffix:e?.suffix,max_depth:e?.maxDepth,limit:e?.limit??100,offset:e?.offset??0};return this.fetch(`/store/namespaces`,{method:`POST`,json:t,signal:e?.signal})}},Up=class e extends jf{static promiseCache={};static getOrCached(t,n){if(e.promiseCache[t]!=null)return e.promiseCache[t];let r=n();return e.promiseCache[t]=r,r}async getComponent(t,n){return e.getOrCached(`${this.apiUrl}-${t}-${n}`,async()=>{let[e,r]=this.prepareFetchOptions(`/ui/${t}`,{headers:{Accept:`text/html`,"Content-Type":`application/json`},method:`POST`,json:{name:n}});return this.onRequest!=null&&(r=await this.onRequest(e,r)),(await this.asyncCaller.fetch(e.toString(),r)).text()})}},Wp=class{assistants;threads;runs;crons;store;"~ui";"~configHash";constructor(e){this[`~configHash`]=JSON.stringify({apiUrl:e?.apiUrl,apiKey:e?.apiKey,timeoutMs:e?.timeoutMs,defaultHeaders:e?.defaultHeaders,streamProtocol:e?.streamProtocol,maxConcurrency:e?.callerOptions?.maxConcurrency,maxRetries:e?.callerOptions?.maxRetries,callbacks:{onFailedResponseHook:e?.callerOptions?.onFailedResponseHook!=null,onRequest:e?.onRequest!=null,fetch:e?.callerOptions?.fetch!=null}}),this.assistants=new Rp(e),this.threads=new zp(e),this.runs=new Bp(e),this.crons=new Vp(e),this.store=new Hp(e),this[`~ui`]=new Up(e)}};function Gp(e){return e[`~configHash`]}function Kp(e,t,n){if(typeof e!=`object`||!e||Array.isArray(e))return e;let r=e,i=r[t]??r[n],a={...r};return i!==void 0&&(a[t]=i,a[n]=i),a}function qp(e,t,n){return Array.isArray(e)?e.map(e=>Kp(e,t,n)):e}function Jp(e){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(e=>Jp(e));let t=e;if(!(`action_requests`in t||`actionRequests`in t||`review_configs`in t||`reviewConfigs`in t))return e;let n={...t},r=t.actionRequests??t.action_requests;if(r!==void 0){let e=qp(r,`name`,`action_name`);n.actionRequests=e,n.action_requests=e}let i=t.reviewConfigs??t.review_configs;if(i!==void 0){let e=qp(i,`allowedDecisions`,`allowed_decisions`);n.reviewConfigs=e,n.review_configs=e}return n}function Yp(e){return e.value===void 0?e:{...e,value:Jp(e.value)}}function Xp(e){return e.map(e=>Yp(e))}function Zp(e){if(e.length===0)return[{when:`breakpoint`}];let t=zf(e);return t.length===0?[]:Xp(t)}function Qp(e){if(e.length===0)return null;let t=zf(e);return t.length===0?[]:Xp(t)}Object.freeze([]);var $p=class extends Error{constructor(e){super(e.message),this.name=e.name??e.error??`StreamError`}static isStructuredError(e){return typeof e==`object`&&!!e&&`message`in e}},em=({userId:e,agentUrl:t})=>new Wp({apiUrl:t,callerOptions:{fetch:async(t,n={})=>Pl(t,{...n,headers:{...n.headers,...e?{[r]:e}:{}}},fetch),maxRetries:0}}),tm=()=>{let e=Ke();return(0,X.useMemo)(()=>em({userId:e,agentUrl:He.AI_AGENT_URL}),[e])};function nm(e){let{messages:t}=Mo(),{selectedThreadId:n}=Fo(),r=tm(),{appliedMonitorUuids:i,dismissedMonitorUuids:a}=(0,X.useMemo)(()=>{let n=new Set,r=new Set;if(e)for(let i of il(t,e))(i.action===`applied`?n:r).add(i.monitorUuid);return{appliedMonitorUuids:n,dismissedMonitorUuids:r}},[t,e]),o=(0,X.useCallback)(e=>{n&&r.threads.updateState(n,{values:{messages:[nl(e)]}}).catch(e=>console.warn(`Failed to record monitor tuning action`,e))},[r,n]);return{appliedMonitorUuids:i,dismissedMonitorUuids:a,recordApplied:(0,X.useCallback)(e=>o({...e,action:`applied`}),[o]),recordDismissed:(0,X.useCallback)(e=>o({...e,action:`dismissed`}),[o])}}function rm({title:e,description:t,onRetry:n,retryLabel:r}){return(0,Z.jsx)(Vt,{variant:`danger`,children:(0,Z.jsxs)(L,{wrap:`nowrap`,align:`center`,justify:`space-between`,gap:`sm`,children:[(0,Z.jsxs)(R,{gap:2,style:{flex:1,minWidth:0},children:[(0,Z.jsx)(H,{fw:600,size:`sm`,children:e}),(0,Z.jsx)(H,{size:`sm`,children:t})]}),n?(0,Z.jsx)(F,{variant:`default`,size:`compact`,onClick:n,"aria-label":r,style:{flexShrink:0},children:`Try again`}):null]})})}var im=`Recommendations for monitors managed as code can't be applied here. Update your monitor's code to apply them.`,am=`tune-monitor-managed-as-code-note`;
42function om({id:e=am}){return(0,Z.jsx)(H,{id:e,size:`sm`,c:`dimmed`,"data-testid":e,children:im})}var sm={...Wa,AUTO:`Auto`,FIXED:`Fixed`},cm={EQ:`=`,NEQ:`≠`,GT:`>`,GTE:`≥`,LT:`<`,LTE:`≤`},lm={...sm,...cm},um=RegExp(`\\b(${Object.keys(lm).sort((e,t)=>t.length-e.length).join(`|`)})\\b`,`g`),dm=/(```[\s\S]*?```|`[^`]*`)/;function fm(e){return e.split(dm).map(e=>e.startsWith("`")?e:e.replace(um,e=>lm[e]??e)).join(``)}var pm={p:{component:H,props:{component:`p`,size:`sm`,c:`dimmed`}},li:{component:H,props:{component:`li`,size:`sm`,c:`dimmed`}},th:{component:H,props:{component:`th`,size:`sm`,c:`dimmed`}},td:{component:H,props:{component:`td`,size:`sm`,c:`dimmed`}}},mm={initiallyCollapsed:!0,collapsedLabel:e=>`Show proposed SQL (${e} ${e===1?`line`:`lines`})`},hm=/^(Problem|Change|Result|Note):$/,gm={Problem:`red`,Change:`blue`,Result:`green`,Note:`yellow`};function _m({children:e}){let t=Array.isArray(e)&&e.length===1?e[0]:e;if(typeof t==`string`&&hm.test(t.trim())){let e=t.trim().replace(/:$/,``);return(0,Z.jsx)(Ft,{component:`span`,variant:`light`,color:gm[e],size:`sm`,radius:`sm`,children:e})}return(0,Z.jsx)(`strong`,{children:e})}var vm={strong:{component:_m}};function ym({recommendation:e,index:t,appliedState:n=null,flat:r=!1,showRationale:i=!1,defaultWhyExpanded:a=!1,tracking:o,tuningRunId:s}){let c=(0,X.useRef)(null),l=gi(c,{direction:`vertical`}),[u,{toggle:d}]=hr(a);if(e.isSplit)return null;let{title:f,reasoning:p,changeSummary:m,wouldReset:h}=e,g=()=>{!u&&o&&rr(or.WHY_EXPANDED,{...o,reasoning_length:p?.length??0,tuning_run_id:s,recommendation_index:t}),d()},_=fm(f??`Tuning change`),v=n===`applied`,y=(0,Z.jsxs)(R,{gap:`sm`,children:[(0,Z.jsxs)(L,{justify:`space-between`,wrap:`nowrap`,align:`flex-start`,gap:`sm`,children:[(0,Z.jsx)(V,{label:_,multiline:!0,w:280,withinPortal:!0,disabled:!l,style:{wordBreak:`break-word`},children:(0,Z.jsx)(H,{ref:c,fw:600,size:`sm`,lh:1.35,lineClamp:2,"data-testid":`tune-monitor-recommendation-${t}-title`,style:{flex:`1 1 auto`,minWidth:0},children:_})}),v?(0,Z.jsx)(Nn,{color:`green`,variant:`light`,"data-testid":`tune-monitor-recommendation-${t}-applied-badge`,style:{flexShrink:0},children:`Applied`}):null]}),h===!0?(0,Z.jsx)(Vt,{variant:`warning`,role:`note`,title:`Applying this resets the monitor`,"data-testid":`tune-monitor-recommendation-${t}-reset-warning`,children:`Collected data and learned thresholds are cleared, and the monitor retrains`}):null,m?(0,Z.jsx)(B,{"data-testid":`tune-monitor-recommendation-${t}-change`,children:(0,Z.jsx)(Si,{collapsibleCodeBlocks:mm,overrides:vm,children:fm(m)})}):null,p&&i?(0,Z.jsxs)(B,{"data-testid":`tune-monitor-recommendation-${t}-why`,children:[(0,Z.jsx)(vi,{label:`Why (details)`,opened:u,onToggle:g,size:`compact`,c:`blue.5`}),(0,Z.jsx)(On,{expanded:u,children:(0,Z.jsx)(B,{c:`dimmed`,children:(0,Z.jsx)(Si,{overrides:pm,children:fm(p)})})})]}):null]});return r?(0,Z.jsx)(B,{"data-testid":`tune-monitor-recommendation-${t}-flat`,children:y}):(0,Z.jsx)(Sn,{withBorder:!0,padding:`md`,radius:`md`,"data-testid":`tune-monitor-recommendation-${t}`,children:y})}var bm=(0,X.memo)(ym),xm=`dispatch_pipeline deduplicated against a running`,Sm=`A previous tuning run for this monitor is still in progress. Please wait for it to finish before triggering another one.`,Cm=`Something went wrong reaching the tuning service. Try again, or contact support if this persists.`;function wm(e){return e&&e.toLowerCase().includes(xm)?Sm:Cm}var Tm={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`mutation`,name:{kind:`Name`,value:`applyMonitorTuningRun`},variableDefinitions:[{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`input`}},type:{kind:`NonNullType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`ApplyMonitorTuningRunInput`}}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`applyMonitorTuningRun`},arguments:[{kind:`Argument`,name:{kind:`Name`,value:`input`},value:{kind:`Variable`,name:{kind:`Name`,value:`input`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`N
42ame`,value:`uuid`}}]}}]}}]};function Em(e){return{title:e.title,reasoning:e.reasoning,changeSummary:e.changeSummary,isSplit:e.isSplit,targetMcon:e.targetMcon,targetMetric:e.targetMetric,recommendationType:e.recommendationType}}var Dm=function(e){return e[e.OUT_OF_DATE_COLLECTOR_NOTIFICATION=0]=`OUT_OF_DATE_COLLECTOR_NOTIFICATION`,e[e.INTERNAL_NOTIFICATION=1]=`INTERNAL_NOTIFICATION`,e[e.SWITCH_USER_ACCOUNT_NOTIFICATION=2]=`SWITCH_USER_ACCOUNT_NOTIFICATION`,e[e.PRODUCT_NOTIFICATION=3]=`PRODUCT_NOTIFICATION`,e[e.MENTION_NOTIFICATION=4]=`MENTION_NOTIFICATION`,e[e.PERMISSION_REQUEST_ROLE_NOTIFICATION=5]=`PERMISSION_REQUEST_ROLE_NOTIFICATION`,e[e.PERMISSION_REQUEST_DOMAIN_NOTIFICATION=6]=`PERMISSION_REQUEST_DOMAIN_NOTIFICATION`,e[e.TRIAGE_RESULTS_READY_NOTIFICATION=7]=`TRIAGE_RESULTS_READY_NOTIFICATION`,e[e.TUNE_RESULTS_READY_NOTIFICATION=8]=`TUNE_RESULTS_READY_NOTIFICATION`,e[e.PROACTIVE_DIGEST_NOTIFICATION=9]=`PROACTIVE_DIGEST_NOTIFICATION`,e}({});function Om(e){return Pr(e)}function km(e){return e?Nr(e):null}function Am(e){return`${ct.readNotifications}/${e}`}function jm(e){let t={};try{t=JSON.parse(km(localStorage.getItem(Am(e)))||`{}`)}catch{}return t}function Mm(e,t){let n=jm(e);localStorage.setItem(Am(e),Om(JSON.stringify({...n,...t})))}var Nm=e=>{let[t,n]=X.useState(()=>jm(e));return X.useEffect(()=>{Mm(e,t)},[t,e]),{readNotifications:t,setReadNotifications:n}},Pm=[`triage`,`tune`],Fm={triage:`triage_results_ready`,tune:`tune_monitor_results_ready`},Im={triage:18e5,tune:6e5},Lm={count:0,pendingSinceMs:null,claimedIds:new Set};function Rm(){return{triage:Lm,tune:Lm}}var zm=new Map;function Bm(e){let t=zm.get(e);t!==void 0&&(clearTimeout(t),zm.delete(e))}function Vm(e){Bm(e),zm.set(e,setTimeout(()=>{zm.delete(e),Hm.getState().expireKind(e)},Im[e]))}var Hm=ei((e,t)=>({...Rm(),markRunPending:t=>{Vm(t),e(e=>({[t]:{count:e[t].count+1,pendingSinceMs:e[t].count===0?Date.now():e[t].pendingSinceMs,claimedIds:e[t].claimedIds}}))},claimRunNotification:(n,r)=>{let i=t()[n];if(i.count===0||i.claimedIds.has(r))return;let a=i.count-1;if(a===0){Bm(n),e({[n]:Lm});return}e({[n]:{count:a,pendingSinceMs:i.pendingSinceMs,claimedIds:new Set(i.claimedIds).add(r)}})},expireKind:t=>e({[t]:Lm}),reset:()=>{Pm.forEach(Bm),e(Rm())}})),Um=()=>Hm(e=>Pm.some(t=>e[t].count>0)),Wm={markRunPending:e=>Hm.getState().markRunPending(e),claimRunNotification:(e,t)=>Hm.getState().claimRunNotification(e,t),reset:()=>Hm.getState().reset()};function Gm(e){e.query({query:ur,fetchPolicy:`network-only`}).catch(()=>void 0)}function Km(e){if(!e||typeof e!=`object`)return;let t=e;if(t.kind!==`dry_run`&&t.kind!==`apply`||t.status!==`completed`&&t.status!==`error`||typeof t.monitor_uuid!=`string`||!t.monitor_uuid||typeof t.monitor_name!=`string`||typeof t.monitor_type!=`string`||typeof t.run_uuid!=`string`||!t.run_uuid)return;let n=Ym(t.summary);if(n!==Jm)return{kind:t.kind,status:t.status,monitor_uuid:t.monitor_uuid,monitor_name:t.monitor_name,monitor_type:t.monitor_type,run_uuid:t.run_uuid,summary:n}}function qm(e){return Km(e.extra)}var Jm=Symbol(`invalid-summary`);function Ym(e){if(e===void 0)return;if(typeof e!=`object`||!e)return Jm;let t=e;return t.recommendations_count!==void 0&&typeof t.recommendations_count!=`number`||t.applied_count!==void 0&&typeof t.applied_count!=`number`?Jm:{recommendations_count:typeof t.recommendations_count==`number`?t.recommendations_count:void 0,applied_count:typeof t.applied_count==`number`?t.applied_count:void 0}}function Xm(e){let t={monitorUuid:e.monitor_uuid,monitorType:e.monitor_type,monitorName:e.monitor_name||null,source:`notification`};if(e.kind===`dry_run`){rr(or.TRIGGERED,{monitor_uuid:e.monitor_uuid,monitor_type:cr(e.monitor_type),source:`notification`,cta_variant:`suggestions`}
42),lr.openPanel({...t,isFromPendingSuggestion:!0,hydrate:{dryRunUuid:e.run_uuid}});return}lr.openPanel({...t,hydrate:{applyRunUuid:e.run_uuid}})}function Zm(e,t){return t?e.has(t.monitor_uuid):!1}function Qm(e){let t=e.monitor_name||`monitor`;return e.kind===`dry_run`&&e.status===`completed`?(e.summary?.recommendations_count??0)>0?`Tune recommendations ready for ${t}`:`No tune recommendations for ${t}`:e.kind===`apply`&&e.status===`completed`?`Tuning applied to ${t}`:e.kind===`dry_run`&&e.status===`error`?`Couldn't analyze ${t}`:`Couldn't apply tuning to ${t}`}function $m(e){if(e.kind===`dry_run`&&e.status===`completed`){let t=e.summary?.recommendations_count??0;return t===0?`Monitor is performing well`:t===1?`1 recommendation`:`${t} recommendations`}if(e.kind===`apply`&&e.status===`completed`){let t=e.summary?.applied_count??0;return t===1?`1 change applied`:`${t} changes applied`}return e.kind===`dry_run`&&e.status===`error`?`We hit an issue running the analysis`:`Changes failed to apply`}function eh(e){return e.status===`error`?`View error`:e.kind===`apply`?`View changes`:(e.summary?.recommendations_count??0)>0?`Review`:`View`}function th(e){return!e||typeof e!=`object`?!1:e.kind===`proactive_digest`}function nh(e){if(!e||typeof e!=`object`)return;let t=e;if(t.kind!==`proactive_digest`||!Array.isArray(t.monitors))return;let n=[];for(let e of t.monitors){if(!e||typeof e!=`object`)return;let t=e.monitor_uuid;if(typeof t!=`string`||!t)return;n.push({monitor_uuid:t})}return{kind:t.kind,monitors:n}}function rh(e){return nh(e.extra)}function ih(e){return e===Dm.TUNE_RESULTS_READY_NOTIFICATION||e===Dm.PROACTIVE_DIGEST_NOTIFICATION}function ah(e){let t=e.monitors.length;return t===1?`A monitor you own is noisy`:`${t} of your monitors are noisy`}function oh(e){return e.monitors.length===1?`Review the tuning recommendation`:`Review the tuning recommendations`}function sh(e,t){Gm(t),lr.openListPanel({source:`proactive_digest_notification`,priorityMonitorUuids:e.monitors.map(e=>e.monitor_uuid)})}var ch=new Map(Pm.map(e=>[Fm[e],e]));function lh(e){if(e==null)return null;let t={triage:[],tune:[]};for(let n of e){let e=n?.type?ch.get(n.type):void 0;if(!e||!n?.id||th(jr(n.details)))continue;let r=n.createdAt?Date.parse(n.createdAt):NaN;t[e].push({id:n.id,createdAtMs:Number.isNaN(r)?0:r})}return t}function uh(e){let t=(0,X.useMemo)(()=>lh(e),[e]),n=(0,X.useMemo)(()=>t===null?null:Pm.map(e=>`${e}:${t[e].map(e=>e.id).sort().join(`,`)}`).join(`|`),[t]);(0,X.useEffect)(()=>{if(t!==null)for(let e of Pm){let{count:n,pendingSinceMs:r}=Hm.getState()[e];if(n!==0&&r!==null)for(let n of t[e])n.createdAtMs<r||Wm.claimRunNotification(e,n.id)}},[n])}var dh=at`
43  query getUserNotifications {
44    getUser {
45      cognitoUserId
46      # we need role and email for system user checks
47      role
48      email
49      account {
50        uuid
51        internalNotifications {
52          id
53          type
54          friendlyMessage
55          details
56          isUrgent
57          expirationDate
58          createdAt
59          readAt
60        }
61      }
62    }
63  }
64`,fh=(0,Z.jsxs)(H,{children:[`Monte Carlo recommends upgrading your data collector by navigating to`,` `,(0,Z.jsx)(_t,{component:Ve,to:`${ri.app.pages.settings.base}/integrations/collectors`,children:`collectors`}),` `,`in the Monte Carlo Platform and selecting "Upgrade" from the more options icon (i.e. the Kebab Menu: ⋮)`]});lt();function ph(e,t){let n=jr(e.details),r=lt().startOf(`week`),i=`${e.type}__${n?.stack_name??``}__year${r.year()}-week${r.week()}`;return{id:i,createdAt:r,title:`Your data collector is out of date`,content:fh,type:Dm.OUT_OF_DATE_COLLECTOR_NOTIFICATION,read:!!t[i],isUrgent:!!e.isUrgent,extra:n}}function mh(e,t){let n=lt().startOf(`week`),r=`${e.type}__year${n.year()}-week${n.week()}`;return{id:r,createdAt:n,title:e.friendlyMessage??`Account Invitation`,content:`Accept the invitation.`,type:Dm.SWITCH_USER_ACCOUNT_NOTIFICATION,read:!!t[r],isUrgent:!!e.isUrgent,extra:jr(e.details)}}function hh(e,t){let n=jr(e.details),r=e.friendlyMessage||``,i=`product-notification__${(0,hu.kebabCase)(r)}`;return{id:i,createdAt:lt(n?.createdAt),title:r,content:n?.content||``,type:Dm.PRODUCT_NOTIFICATION,read:!!t[i],isUrgent:!!e.isUrgent,extra:n}}function gh(e,t){let n=jr(e.details);return{id:e.id,createdAt:lt(e.createdAt),title:`You were mentioned`,content:n?.comment_text??``,type:Dm.MENTION_NOTIFICATION,read:!!e.readAt,isUrgent:!!e.isUrgent,link:n?.comment_url,extra:n}}function _h(e,t){let n=jr(e.details);return{id:e.id,createdAt:lt(e.createdAt),title:`Upgrade permission request`,content:``,type:Dm.PERMISSION_REQUEST_ROLE_NOTIFICATION,read:!!e.readAt,isUrgent:!!e.isUrgent,extra:n}}function vh(e){return!e||typeof e.total!=`number`?`Click to view your triage results`:`${e.total} triaged`}function yh(e){if(!e.id)return;let t=jr(e.details),n=vh(t?.summary);return{id:e.id,createdAt:lt(e.createdAt),title:e.friendlyMessage||`Triage results are ready`,content:n,type:Dm.TRIAGE_RESULTS_READY_NOTIFICATION,read:!!e.readAt,isUrgent:!!e.isUrgent,extra:t??void 0}}function bh(e,t){return{id:t,createdAt:lt(e.createdAt),title:e.friendlyMessage||`Tune results are ready`,content:`Click to view your tune results`,type:Dm.TUNE_RESULTS_READY_NOTIFICATION,read:!!e.readAt,isUrgent:!!e.isUrgent}}function xh(e,t){if(!e.id)return;let n=Km(t);return n?{id:e.id,createdAt:lt(e.createdAt),title:Qm(n),content:$m(n),type:Dm.TUNE_RESULTS_READY_NOTIFICATION,read:!!e.readAt,isUrgent:!!e.isUrgent,extra:n}:bh(e,e.id)}function Sh(e,t){if(!e.id)return;let n=nh(t);return!n||n.monitors.length===0?bh(e,e.id):{id:e.id,createdAt:lt(e.createdAt),title:ah(n),content:oh(n),type:Dm.PROACTIVE_DIGEST_NOTIFICATION,read:!!e.readAt,isUrgent:!!e.isUrgent,extra:n}}function Ch(e,t){let n=jr(e.details);return{id:e.id,createdAt:lt(e.createdAt),title:`Domain permission request`,content:``,type:Dm.PERMISSION_REQUEST_DOMAIN_NOTIFICATION,read:!!e.readAt,isUrgent:!!e.isUrgent,extra:n}}function wh(e,t){if(e.type===`data_collector`)return ph(e,t);if(e.type===`account_invite`)return mh(e,t);if(e.type===`product_notification`)return hh(e,t);if(e.type===`mention`)return gh(e,t);if(e.type===`permission_request_role`)return _h(e,t);if(e.type===`permission_request_domain`)return Ch(e,t);if(e.type===Fm.triage)return yh(e);if(e.type===Fm.tune){let t=jr(e.details);return th(t)?Sh(e,t):xh(e,t)}}var Th=e=>{let t=Um(),{loading:n,error:r,data:i}=o(dh,{fetchPolicy:`cache-first`,pollInterval:t?Fr:Lr});uh(i?.getUser?.account?.internalNotifications);let a=Ze(Wr.SettingsAccess),s=Ze(Wr.SettingsEdit),c=a&&s||rt(i?.getUser);
64if(n||r)return{loading:n,notifications:[],error:r};let l=i?.getUser?.account?.internalNotifications;return{loading:n,error:r,notifications:(0,hu.compact)((l||[]).map(t=>t?wh(t,e):null)).filter(e=>e.type!==Dm.OUT_OF_DATE_COLLECTOR_NOTIFICATION||c)}},Eh={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`mutation`,name:{kind:`Name`,value:`updateNotificationReadStatus`},variableDefinitions:[{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`notificationId`}},type:{kind:`NonNullType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`String`}}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`read`}},type:{kind:`NonNullType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`Boolean`}}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`updateNotificationReadStatus`},arguments:[{kind:`Argument`,name:{kind:`Name`,value:`notificationId`},value:{kind:`Variable`,name:{kind:`Name`,value:`notificationId`}}},{kind:`Argument`,name:{kind:`Name`,value:`read`},value:{kind:`Variable`,name:{kind:`Name`,value:`read`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`success`}}]}}]}}]},Dh=e=>{let{readNotifications:t,setReadNotifications:n}=Nm(e),[r]=ot(Eh,{refetchQueries:[dh]}),i=(e,t)=>{e===Dm.SWITCH_USER_ACCOUNT_NOTIFICATION||e===Dm.OUT_OF_DATE_COLLECTOR_NOTIFICATION||e===Dm.PRODUCT_NOTIFICATION?n(e=>({...e,[t]:!0})):r({variables:{notificationId:t,read:!0}})},{loading:a,notifications:o}=Th(t);return{loading:a,notifications:[...o].sort((e,t)=>t.createdAt.unix()-e.createdAt.unix()),setNotificationAsRead:(e,t)=>{M(p,{notificationType:e,id:t}),i(e,t)}}},Oh=`getUserNotifications`;function kh(e){try{e.refetchQueries({include:`active`,onQueryUpdated:e=>e.queryName===Oh}).catch(()=>void 0)}catch{}}function Ah(e){let t=it(),n=(0,X.useRef)(e);(0,X.useEffect)(()=>{n.current===!1&&e===!0&&kh(t),e!==null&&(n.current=e)},[t,e])}function jh(){Wm.markRunPending(`tune`)}var Mh=3e3,Nh=24e4,Ph=e=>new Promise(t=>setTimeout(t,e));async function Fh(e,t,n){let r=performance.now()+Nh;for(;performance.now()<r;){try{let{data:r}=await e.query({query:ir,variables:{monitorUuid:t,monitorTuningRunUuid:n,first:1},fetchPolicy:`network-only`}),i=r?.getMonitorTuningRuns?.edges?.[0]?.node?.status??null;if(i===Xr.Completed||i===Xr.Error)return i}catch{}await Ph(Mh)}return null}function Ih(){let e=it();return(0,X.useCallback)(async(t,n)=>{let r={monitor_uuid:t.monitorUuid,monitor_type:cr(t.monitorType),source:n.source,cta_variant:n.ctaVariant,scope:n.scope,display:n.display,...n.isOwned!==void 0&&{is_owned:n.isOwned},...n.position!==void 0&&{position:n.position},...t.runUuid?{tuning_run_id:t.runUuid}:{}};try{let n;if(t.recommendations)n=t.recommendations;else if(t.runUuid){let{data:r}=await e.query({query:ir,variables:{monitorUuid:t.monitorUuid,monitorTuningRunUuid:t.runUuid,dryRun:!0,first:1},fetchPolicy:`network-only`});n=r?.getMonitorTuningRuns?.edges?.[0]?.node?.recommendations??[]}else n=[];let i=n.filter(e=>!e.isSplit).map(Em);if(i.length===0)return{monitorUuid:t.monitorUuid,ok:!1,error:`No recommendations to apply.`};rr(or.APPLY_CLICKED,{...r,selected_count:i.length,total_count:i.length});let{data:a}=await e.mutate({mutation:Tm,variables:{input:{monitorUuid:t.monitorUuid,recommendations:i}}}),o=a?.applyMonitorTuningRun?.uuid??null;o&&jh();let s=o?await Fh(e,t.monitorUuid,o):null;return s===Xr.Completed?(rr(or.APPLY_COMPLETED,{...r,status:`success`}),kh(e),{monitorUuid:t.monitorUuid,ok:!0}):(rr(or.APPLY_COMPLETED,{...r,status:`error`,error_code:s===Xr.Error?`apply_run_error`:`apply_timeout`}),s===Xr.Error&&kh(e),{monitorUuid:t.monitorUuid,ok:!1})}catch(e){return rr(or.APPLY_COMPLETED,{...r,status:`error`,error_code:`mutation_error`}),console.error(`Failed to apply tuning suggestion`,e),{monitorUuid:t.monitorUuid,ok:!1}}},[e])}var Lh=140,Rh={source:`operations_agent`,cta_variant:`suggestions`};function zh({children:e}){return(0,Z.jsx)(B,{maw:`90%`,children:(0,Z.jsx)(ht,{p:`md`,withBorder:!0,children:e})})}function Bh(e,t){return`${e===1?`1 monitor has`:`${e} monitors have`} tuning recommendations (${t} total)`}function Vh({result:e,authorized:t,authLoading:n,onDismiss:r,initialApplied:i=!1,onApplied:a}){let o=Ih(),s=it(),[c,l]=(0,X.useState)(i?`applied`:`idle`),[u,d]=(0,X.useState)(!1),[f,p]=(0,X.useState)(null),m=(0,X.useRef)(!1),h=(0,X.useRef)(null),g=(0,X.useRef)(i);(0,X.useEffect)(()=>{c===`applied`&&!g.current&&h.current?.focus()},[c]);let _=(0,X.useMemo)(()=>yc(e),[e]),v=e.monitor_type??``,{tuningUnavailableReason:y,loading:b,monitorName:x}=ar(e.monitor_uuid),S=e.is_template_managed===!0||y===Kr.ManagedAsCode,C=x?.trim()||null,w=C??Mi(v),T=`tune-monitors-group-label-${e.monitor_uuid}`;(0,X.useEffect)(()=>{m.current||b||(m.current=!0,rr(or.RECOMMENDATIONS_SHOWN,{monitor_uuid:e.monitor_uuid,monitor_type:cr(v),...Rh,is_managed_as_code:S,display:`section`,count:_.length}))},[e.monitor_uuid,v,S,_,b]);let E=async()=>
64{l(`applying`),p(null);let t=await mr(s,e.monitor_uuid),n=await o({monitorUuid:e.monitor_uuid,monitorType:v,recommendations:_.map(wc)},{scope:`monitor`,source:Rh.source,ctaVariant:Rh.cta_variant,isOwned:t,display:`section`});n.ok?(l(`applied`),a?.()):(l(`error`),p(n.error??null))},D=()=>{rr(or.RETRY_APPLY,{monitor_uuid:e.monitor_uuid,monitor_type:cr(v),...Rh,display:`section`,previous_error:f??void 0}),E()},O={monitor_uuid:e.monitor_uuid,monitor_type:cr(v),...Rh,is_managed_as_code:S,display:`section`},k=()=>{rr(or.RECOMMENDATION_REVIEWED,O)},A=()=>{rr(or.RECOMMENDATIONS_DISMISSED,{...O,count:_.length,scope:`monitor`}),r()},j=()=>{if(!(c===`applying`||u)){if(_.some(e=>e.would_reset===!0)){d(!0),yn.openConfirmModal({title:`Applying resets the monitor`,children:(0,Z.jsx)(H,{size:`sm`,children:`Collected data and learned thresholds are cleared, and the monitor retrains. Apply these changes anyway?`}),labels:{confirm:`Apply changes`,cancel:`Cancel`},onConfirm:()=>void E(),onClose:()=>d(!1)});return}E()}},M=(()=>{if(c===`applied`)return(0,Z.jsx)(H,{component:`output`,ref:h,tabIndex:-1,size:`sm`,c:`green.8`,fw:500,"data-testid":`tune-monitors-applied-${e.monitor_uuid}`,children:`Applied`});let r=S?im:!t&&!n?`You don't have permission to apply changes to this monitor`:null,i=(0,Z.jsx)(F,{size:`compact`,variant:`default`,onClick:j,"aria-label":`Accept tuning recommendations for ${w}`,loading:c===`applying`||b||n,disabled:u||!!r,"data-testid":`tune-monitors-accept-${e.monitor_uuid}`,children:`Accept`});return(0,Z.jsxs)(R,{gap:4,children:[(0,Z.jsxs)(L,{gap:`sm`,children:[r?(0,Z.jsx)(V,{label:r,children:(0,Z.jsx)(B,{children:i})}):i,(0,Z.jsx)(F,{size:`compact`,variant:`subtle`,component:`a`,href:`/monitors/${e.monitor_uuid}`,onClick:k,"aria-label":`Review tuning recommendations for ${w}`,"data-testid":`tune-monitors-review-${e.monitor_uuid}`,children:`Review`}),(0,Z.jsx)(F,{size:`compact`,variant:`subtle`,onClick:A,"aria-label":`Dismiss tuning recommendations for ${w}`,disabled:c===`applying`||u,"data-testid":`tune-monitors-dismiss-${e.monitor_uuid}`,children:`Dismiss`})]}),c===`error`?(0,Z.jsx)(B,{"data-testid":`tune-monitors-error-${e.monitor_uuid}`,children:(0,Z.jsx)(rm,{title:`Couldn't apply tuning changes`,description:wm(f),onRetry:D})}):null]})})();return(0,Z.jsxs)(R,{gap:`sm`,role:`group`,"aria-labelledby":T,"aria-busy":c===`applying`,"data-testid":`tune-monitors-group-${e.monitor_uuid}`,children:[(0,Z.jsx)(qt,{component:`output`,"aria-live":`polite`,"aria-atomic":`true`,children:c===`applying`?`Applying tuning changes for ${w}`:c===`applied`?`Tuning changes applied for ${w}`:c===`error`?`Couldn't apply tuning changes for ${w}`:``}),(0,Z.jsx)(R,{gap:2,children:C?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(H,{fw:600,size:`sm`,id:T,children:C}),(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:Mi(v)})]}):(0,Z.jsx)(H,{fw:600,size:`sm`,id:T,children:Mi(v)})}),(0,Z.jsx)(tn,{type:`ordered`,spacing:`xs`,styles:{itemWrapper:{display:`block`,width:`100%`}},children:_.map((e,t)=>(0,Z.jsx)(tn.Item,{children:(0,Z.jsx)(bm,{recommendation:wc(e),index:t,flat:!0})},t))}),M]})}function Hh({monitorType:e,monitorUuid:t,focusOnMount:n=!1}){let r=(0,X.useRef)(null),i=(0,X.useRef)(!1);return(0,X.useEffect)(()=>{n&&!i.current&&(i.current=!0,r.current?.focus())},[n]),(0,Z.jsxs)(H,{component:`output`,ref:r,tabIndex:-1,size:`sm`,c:`dimmed`,"data-testid":`tune-monitors-dismissed-${t}`,children:[`Dismissed recommendations for the `,Mi(e),` monitor`]})}function Uh({toolCall:e,toolResultsMap:t,persistence:n}){let r=e.name!==`present_monitor_tuning`&&(!e.id||!t?.has(e.id)),i=(0,X.useMemo)(()=>bc(e,t),[e,t]),a=(0,X.useMemo)(()=>i.map(e=>e.monitor_uuid),[i]),{isMonitorAuthorized:o,loading:s}=hi({monitorUuids:a,resourcePath:Jr.MonitorsManagementWrite,skip:a.length===0}),c=e.id,[l,u]=(0,X.useState)(()=>new Set(n?.dismissedMonitorUuids??[])),[d,f]=(0,X.useState)(null);if(r)return(0,Z.jsx)(zh,{children:(0,Z.jsx)(B,{"aria-live":`polite`,"aria-busy":`true`,"aria-label":`Loading tuning recommendations`,children:(0,Z.jsx)($n,{height:Lh,"data-testid":`tune-monitors-skeleton`})})});if(i.length===0)return null;let p=i.filter(e=>!l.has(e.monitor_uuid)),m=p.reduce((e,t)=>
64e+yc(t).length,0),h=e=>{u(t=>new Set(t).add(e.monitor_uuid)),f(e.monitor_uuid),n?.recordDismissed({toolCallId:c??``,monitorUuid:e.monitor_uuid,monitorType:Mi(e.monitor_type??``)})};return(0,Z.jsx)(zh,{children:(0,Z.jsxs)(R,{gap:`md`,children:[p.length>0?(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:Bh(p.length,m)}):null,i.map((e,t)=>(0,Z.jsxs)(X.Fragment,{children:[t>0?(0,Z.jsx)(An,{}):null,l.has(e.monitor_uuid)?(0,Z.jsx)(Hh,{monitorType:e.monitor_type??``,monitorUuid:e.monitor_uuid,focusOnMount:d===e.monitor_uuid}):(0,Z.jsx)(Vh,{result:e,authorized:o(e.monitor_uuid),authLoading:s,initialApplied:n?.appliedMonitorUuids.has(e.monitor_uuid),onApplied:()=>n?.recordApplied({toolCallId:c??``,monitorUuid:e.monitor_uuid,monitorType:Mi(e.monitor_type??``),recCount:yc(e).length}),onDismiss:()=>h(e)})]},e.monitor_uuid))]})})}function Wh({toolCall:e,toolResultsMap:t}){let n=nm(e.id);return(0,Z.jsx)(Uh,{toolCall:e,toolResultsMap:t,persistence:n})}var Gh={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`mutation`,name:{kind:`Name`,value:`createDraftMonitorFromYaml`},variableDefinitions:[{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`yamlString`}},type:{kind:`NonNullType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`String`}}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`dryRun`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`Boolean`}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`isDraft`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`Boolean`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`createDraftMonitorFromYaml`},arguments:[{kind:`Argument`,name:{kind:`Name`,value:`yamlString`},value:{kind:`Variable`,name:{kind:`Name`,value:`yamlString`}}},{kind:`Argument`,name:{kind:`Name`,value:`dryRun`},value:{kind:`Variable`,name:{kind:`Name`,value:`dryRun`}}},{kind:`Argument`,name:{kind:`Name`,value:`isDraft`},value:{kind:`Variable`,name:{kind:`Name`,value:`isDraft`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`monitor`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`uuid`}},{kind:`Field`,name:{kind:`Name`,value:`monitorType`}},{kind:`Field`,name:{kind:`Name`,value:`monitorName`}},{kind:`Field`,name:{kind:`Name`,value:`isDraft`}}]}},{kind:`Field`,name:{kind:`Name`,value:`errors`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`message`}},{kind:`Field`,name:{kind:`Name`,value:`code`}},{kind:`Field`,name:{kind:`Name`,value:`field`}}]}}]}}]}}]};function Kh(e){let{navigate:t,conversationId:n,conversationOrigin:r,onMonitorCreated:i,onSendMessage:a,autoNavigate:o=!0,isDraft:c=!0}=e,[l,u]=(0,X.useState)(null),[d,f]=(0,X.useState)(!1),[p,m]=(0,X.useState)(null),h=c?`draft`:`monitor`,[g,{loading:v}]=ot(Gh,{onError:e=>{u(e.message),f(!0),M(P,{errorMessage:e.message,errorCodes:`NETWORK_ERROR`}),Ot.show({title:`Failed to create ${h}`,message:`Something went wrong. Please try again.`,variant:`danger`})},onCompleted:e=>{let l=e.createDraftMonitorFromYaml;if(l?.errors&&l.errors.length>0){let e=l.errors.map(e=>e.message).join(`, `),t=l.errors.map(e=>e.code).join(`, `);u(e),f(!0),M(P,{errorMessage:e,errorCodes:t}),Ot.show({title:`Failed to create ${h}`,message:e,variant:`danger`});return}let d=l?.monitor;d?.uuid&&(u(null),f(!0),M(ae,{action:`created`,monitorType:d.monitorType,monitorUuid:d.uuid,[Ce]:`created`,[s]:d.monitorType,[Ne]:d.uuid,source:`operations_agent`,conversation_origin:r,is_draft:c,[w]:!1}),r===J.DataProductMonitoringAgentCta&&(M(_,{monitor_id:d.uuid,monitor_type:d.monitorType,entry_point:`data_product`}),Y.markDataProductAgentMonitorCreated()),m({uuid:d.uuid,name:d.monitorName??``}),i?.(d.uuid),a?.(`Created ${h}: "${d.monitorName}"`),o&&t(`/monitors/${d.uuid}?${Ir.AGENT_CONVERSATION_ID}=${n}`))}});return{createMonitor:(0,X.useCallback)(async e=>{u(null),await g({variables:{yamlString:e,isDraft:c}})},[g,c]),isCreating:v,error:l,isComplete:d,createdMonitor:p}}var qh=[`metric_comparison`,`comparison`,`bulk_monitor`];function Jh(e){return qh.some(t=>RegExp(`^\\s*${t}:`,`m`).test(e))}function Yh(e){let t=e.trim();if(!t.startsWith(`{`))return t;try{let e=JSON.parse(t);return typeof e.yaml==`string`?e.supports_draft===!1?null:e.yaml.trim():null}catch{return t}}var Xh=new Map;function Zh(e,t){let n=(0,X.useMemo)(()=>e?Yh(e):null,[e]),r=(0,X.useMemo)(()=>n?xa(n):null,[n]),[i,a]=(0,X.useState)(!1),[o,s]=(0,X.useState)(!1),[c]=ot(Gh);return(0,X.useEffect)(()=>
64{if(!n||!r){a(!1),s(!1);return}if(Jh(n)){a(!1),s(!1);return}let e=Xh.get(r);if(e!==void 0){e!==null&&(a(e),s(!1));return}Xh.set(r,null),(async()=>{s(!0);try{let e=(await c({variables:{yamlString:n,dryRun:!0}})).data?.createDraftMonitorFromYaml?.errors,i=!e||e.length===0;Xh.set(r,i),a(i),i&&(M(we,{conversation_origin:t}),t===J.DataProductMonitoringAgentCta&&M(A,{monitor_count:1}))}catch{a(!1)}finally{s(!1)}})()},[n,r,c,t]),{isValid:i,isValidating:o,yaml:n}}var Qh=({codeString:e})=>{let t=ni(),{selectedThreadId:n}=Fo(),{handleStartChat:r}=Mo(),i=Qe()(Ye.DRAFT_MONITORS),a=ta()?.conversationOrigin,o=e?xa(e):null,[s,c]=nr({key:ct.createdDraftMonitors,defaultValue:[]}),l=Array.isArray(s)?s:[],u=o?l.includes(o):!1,{createMonitor:d,isCreating:f,isComplete:p}=Kh({navigate:e=>t(e),conversationId:n,conversationOrigin:a,onMonitorCreated:()=>{o&&!l.includes(o)&&c([...l,o])},onSendMessage:e=>r({message:e})}),{isValid:m,isValidating:h,yaml:g}=Zh(e,a);if(!(i&&m&&!h))return null;let _=p||u;return(0,Z.jsx)(B,{children:(0,Z.jsx)(F,{onClick:()=>{g&&d(g)},loading:f,disabled:_,mb:`sm`,children:`Create draft monitor`})})},$h=(0,X.createContext)(null);function eg(){return(0,X.useContext)($h)}var tg={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`mutation`,name:{kind:`Name`,value:`addOrUpdateCustomDashboardWidgetFromDefinition`},variableDefinitions:[{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`dashboardId`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`UUID`}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`dryRun`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`Boolean`}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`widgetJson`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`String`}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`widgetId`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`UUID`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`addOrUpdateCustomDashboardWidgetFromDefinition`},arguments:[{kind:`Argument`,name:{kind:`Name`,value:`dashboardId`},value:{kind:`Variable`,name:{kind:`Name`,value:`dashboardId`}}},{kind:`Argument`,name:{kind:`Name`,value:`dryRun`},value:{kind:`Variable`,name:{kind:`Name`,value:`dryRun`}}},{kind:`Argument`,name:{kind:`Name`,value:`widgetJson`},value:{kind:`Variable`,name:{kind:`Name`,value:`widgetJson`}}},{kind:`Argument`,name:{kind:`Name`,value:`widgetId`},value:{kind:`Variable`,name:{kind:`Name`,value:`widgetId`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`result`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`widgetId`}},{kind:`Field`,name:{kind:`Name`,value:`json`}},{kind:`Field`,name:{kind:`Name`,value:`definition`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`title`}},{kind:`Field`,name:{kind:`Name`,value:`type`}}]}}]}}]}}]}}]},ng=[`title`,`type`,`width`,`height`,`order`],rg=new Map;function ig(e){try{let t=JSON.parse(e);if(typeof t!=`object`||!t)return!1;for(let e of ng)if(!(e in t))return!1;return!0}catch{return!1}}function ag(e){let t=(0,X.useMemo)(()=>e?xa(e):null,[e]),[n,r]=(0,X.useState)(!1),[i,a]=(0,X.useState)(!1),[o]=ot(tg);return(0,X.useEffect)(()=>{if(!e||!t){r(!1),a(!1);return}if(!ig(e)){r(!1),a(!1);return}let n=rg.get(t);if(n!==void 0){n!==null&&(r(n),a(!1));return}rg.set(t,null),(async()=>{a(!0);try{let n=!!(await o({variables:{widgetJson:e,dryRun:!0}})).data?.addOrUpdateCustomDashboardWidgetFromDefinition?.result;rg.set(t,n),r(n),n&&M(O)}catch{rg.delete(t),r(!1)}finally{a(!1)}})()},[e,t,o]),{isValid:n,isValidating:i}}var og={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`query`,name:{kind:`Name`,value:`getCustomDashboard`},variableDefinitions:[{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`dashboardId`}},type:{kind:`NonNullType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`UUID`}}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`N
64ame`,value:`getCustomDashboard`},arguments:[{kind:`Argument`,name:{kind:`Name`,value:`dashboardId`},value:{kind:`Variable`,name:{kind:`Name`,value:`dashboardId`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`dashboardId`}},{kind:`Field`,name:{kind:`Name`,value:`domainId`}},{kind:`Field`,name:{kind:`Name`,value:`id`}},{kind:`Field`,name:{kind:`Name`,value:`title`}},{kind:`Field`,name:{kind:`Name`,value:`widgets`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`dataSources`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`FragmentSpread`,name:{kind:`Name`,value:`WidgetDataSourceInterfaceFragment`}}]}},{kind:`Field`,name:{kind:`Name`,value:`height`}},{kind:`Field`,name:{kind:`Name`,value:`id`}},{kind:`Field`,name:{kind:`Name`,value:`options`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`FragmentSpread`,name:{kind:`Name`,value:`WidgetOptionsInterfaceFragment`}}]}},{kind:`Field`,name:{kind:`Name`,value:`order`}},{kind:`Field`,name:{kind:`Name`,value:`title`}},{kind:`Field`,name:{kind:`Name`,value:`type`}},{kind:`Field`,name:{kind:`Name`,value:`widgetId`}},{kind:`Field`,name:{kind:`Name`,value:`width`}}]}}]}}]}},{kind:`FragmentDefinition`,name:{kind:`Name`,value:`WidgetDataSourceInterfaceFragment`},typeCondition:{kind:`NamedType`,name:{kind:`Name`,value:`WidgetDataSourceInterface`}},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`dataSourceId`}},{kind:`Field`,name:{kind:`Name`,value:`type`}},{kind:`InlineFragment`,typeCondition:{kind:`NamedType`,name:{kind:`Name`,value:`WidgetDataSourceMetrics`}},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`timeSeriesId`}},{kind:`Field`,name:{kind:`Name`,value:`timeSeriesMetadata`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`mcon`}},{kind:`Field`,name:{kind:`Name`,value:`monitorId`}},{kind:`Field`,name:{kind:`Name`,value:`metricName`}},{kind:`Field`,name:{kind:`Name`,value:`field`}},{kind:`Field`,name:{kind:`Name`,value:`segmentedValues`}}]}}]}},{kind:`InlineFragment`,typeCondition:{kind:`NamedType`,name:{kind:`Name`,value:`WidgetDataSourceMonitorMetrics`}},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`monitorId`}},{kind:`Field`,name:{kind:`Name`,value:`metric`}},{kind:`Field`,name:{kind:`Name`,value:`field`}},{kind:`Field`,name:{kind:`Name`,value:`segments`}}]}},{kind:`InlineFragment`,typeCondition:{kind:`NamedType`,name:{kind:`Name`,value:`WidgetDataSourceTableMetrics`}},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`mcon`}},{kind:`Field`,name:{kind:`Name`,value:`metric`}}]}},{kind:`InlineFragment`,typeCondition:{kind:`NamedType`,name:{kind:`Name`,value:`WidgetDataSourceMonitor`}},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`monitorId`}}]}},{kind:`InlineFragment`,typeCondition:{kind:`NamedType`,name:{kind:`Name`,value:`WidgetDataSourceJobExecutions`}},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`monitorId`}}]}}]}},{kind:`FragmentDefinition`,name:{kind:`Name`,value:`WidgetOptionsInterfaceFragment`},typeCondition:{kind:`NamedType`,name:{kind:`Name`,value:`WidgetOptionsInterface`}},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`type`}},{kind:`InlineFragment`,typeCondition:{kind:`NamedType`,name:{kind:`Name`,value:`WidgetOptionsGraph`}},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`__typename`}}]}},{kind:`InlineFragment`,typeCondition:{kind:`NamedType`,name:{kind:`Name`,value:`WidgetOptionsSingleValue`}},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`field`}}]}},{kind:`InlineFragment`,typeCondition:{kind:`NamedType`,name:{kind:`Name`,value:`WidgetOptionsTable`}},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`fields`}}]}},{kind:`InlineFragment`,typeCondition:{kind:`NamedType`,name:{kind:`N
64ame`,value:`WidgetOptionsText`}},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`content`}}]}}]}}]},sg={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`query`,name:{kind:`Name`,value:`getCustomDashboardWidgetData`},variableDefinitions:[{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`dashboardId`}},type:{kind:`NonNullType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`UUID`}}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`endTime`}},type:{kind:`NonNullType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`DateTime`}}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`startTime`}},type:{kind:`NonNullType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`DateTime`}}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`widgetId`}},type:{kind:`NonNullType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`UUID`}}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`loadCustomDashboardWidgetData`},arguments:[{kind:`Argument`,name:{kind:`Name`,value:`dashboardId`},value:{kind:`Variable`,name:{kind:`Name`,value:`dashboardId`}}},{kind:`Argument`,name:{kind:`Name`,value:`endTime`},value:{kind:`Variable`,name:{kind:`Name`,value:`endTime`}}},{kind:`Argument`,name:{kind:`Name`,value:`startTime`},value:{kind:`Variable`,name:{kind:`Name`,value:`startTime`}}},{kind:`Argument`,name:{kind:`Name`,value:`widgetId`},value:{kind:`Variable`,name:{kind:`Name`,value:`widgetId`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`data`}},{kind:`Field`,name:{kind:`Name`,value:`dataSourceId`}}]}}]}}]};function cg(e){let{dashboardId:t,onWidgetAdded:n,onSendMessage:r}=e,[i,a]=(0,X.useState)(!1),[o,{loading:s}]=ot(tg,{refetchQueries:[og,ui,sg],onError:e=>{M(k,{errorMessage:e.message}),Ot.show({title:`Failed to add widget`,message:`Something went wrong. Please try again.`,variant:`danger`})},onCompleted:e=>{let t=e.addOrUpdateCustomDashboardWidgetFromDefinition?.result;if(!t){let e=`No result returned from mutation`;a(!0),M(k,{errorMessage:e}),Ot.show({title:`Failed to add widget`,message:e,variant:`danger`});return}a(!0);let i=t.definition.title;M(m,{widgetId:t.widgetId,widgetType:t.definition.type}),Ot.show({title:`Widget added`,message:`"${i}" has been added to the dashboard.`,variant:`success`}),n?.(),r?.(`Added widget: "${i}"`)}});return{addWidget:(0,X.useCallback)(async e=>{t&&await o({variables:{dashboardId:t,widgetJson:e,dryRun:!1}})},[o,t]),isAdding:s,isComplete:i}}var lg=({codeString:e})=>{let{handleStartChat:t}=Mo(),n=eg()?.pageContextMention?.metadata?.dashboardId,r=typeof n==`string`?n:void 0,i=!!r,a=e?xa(e):null,[o,s]=nr({key:ct.createdDashboardWidgets,defaultValue:[]}),c=Array.isArray(o)?o:[],l=a?c.includes(a):!1,u=()=>{a&&!c.includes(a)&&s([...c,a])},{isValid:d,isValidating:f}=ag(i?e:null),{addWidget:p,isAdding:m,isComplete:h}=cg({dashboardId:r??null,onWidgetAdded:u,onSendMessage:e=>t({message:e})});if(!(i&&d&&!f))return null;let g=h||l;return(0,Z.jsx)(B,{children:(0,Z.jsx)(F,{onClick:()=>{e&&p(e)},loading:m,disabled:g,mb:`sm`,children:`Add widget`})})},ug=({tableName:e,tableLink:t,metricName:n,monitorName:r,monitorLink:i,fieldName:a,monitorStatusBadge:o})=>!e&&!n&&!r&&!a?null:(0,Z.jsx)(Z.Fragment,{children:(0,Z.jsxs)(L,{gap:`sm`,justify:`space-between`,children:[e&&(0,Z.jsxs)(R,{gap:0,miw:`0`,children:[(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,children:`Table`}),t?(0,Z.jsx)(_t,{component:Ve,to:t,size:`sm`,truncate:`end`,children:e}):(0,Z.jsx)(H,{size:`sm`,truncate:`end`,children:e})]}),(n||a)&&(0,Z.jsxs)(R,{gap:0,maw:`50%`,miw:`0`,children:[(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,children:`Metric`}),(0,Z.jsx)(H,{size:`sm`,truncate:`end`,children:[n,a].filter(Boolean).join(` - `)})]}),r&&(0,Z.jsxs)(R,{gap:0,miw:`0`,children:[(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,children:`Monitor`}),(0,Z.jsxs)(L,{gap:`xs`,align:`center`,wrap:`nowrap`,children:[o,i?(0,Z.jsx)(_t,{component:Ve,to:i,size:`sm`,truncate:`end`,children:r}):(0,Z.jsx)(H,{size:`sm`,truncate:`end`,children:r})]})]})]})}),dg=250,fg={[U.Graph]:`Chart`,[U.SingleValue]:`Single value`,[U.Table]:`Table`,[U.Text]:`Text`},pg={[U.Graph]:`blue`,[U.SingleValue]:`violet`,[U.Table]:`teal`,[U.Text]:`gray`},mg={overflow:`hidden`,minWidth:0,alignItems:`start`},hg={overflow:`hidden`},gg={flexShrink:0},_g={borderStyle:`dashed`,borderColor:`var(--mantine-color-dimmed)`},vg={overflow:`auto`,maxHeight:300};function yg(){let e=(0,X.useContext)(fi);return e?{startTime:e.startTime,endTime:e.endTime}:Ka(li)??{startTime:lt().subtract(1,`week`).toISOString(),endTime:lt().toISOString()}}function bg({widget:e}){return(0,Z.jsxs)(L,{gap:`xs`,wrap:`nowrap`,style:mg,children:[(0,Z.jsx)(H,{fw:500,truncate:`end`,style:hg,children:e.title}),(0,Z.jsx)(Nn,{size:`xs`,variant:`light`,color:pg[e.type],style:gg,children:fg[e.type]})]})}function xg({widget:e,children:t}){return(0,Z.jsx)(Ga,{title:(0,Z.jsx)(bg,{widget:e}),style:_g,children:t})}function Sg({widget:e}){return e.type===U.Text?(0,Z.jsx)(xg,{widget:e,children:(0,Z.jsx)(B,{style:vg,children:(0,Z.jsx)(Si,{children:e.options.content})})}):null}function Cg({widget:e}){let{startTime:t,endTime:n}=yg(),r=e.dataSources[0],i=r?.mcon,a=r?.metric,o=r?.monitorId,s=mi(i).objectId,c=di(a,!!o);return(0,Z.jsxs)(xg,{widget:e,children:[(0,Z.jsx)(ug,{tableName:s,metricName:a}),c&&(i||o)?(0,Z.jsx)(B,{h:dg,style:gg,children:(0,Z.jsx)(vr,{mcon:i,metricName:c,startTime:t,endTime:n,monitorUUID:o,height:dg,showThresholds:!1,showLegends:!1})}):(0,Z.jsx)(gr,{py:`md`,children:(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,children:`This widget needs to be added to the dashboard before its data can be displayed`})})]})}function wg({widget:e}){return e.type===U.Text?(0,Z.jsx)(Sg,{widget:e}):(0,Z.jsx)(Cg,{widget:e})}var Tg=new Set(Object.values(U)),Eg={[zr.TableMetrics]:U.Graph,[zr.Metrics]:U.Graph,[zr.MonitorMetrics]:U.Graph,[zr.Monitor]:U.SingleValue,[zr.JobExecutions]:U.Graph,TIME_SERIES:U.Graph,CHART:U.Graph,ALERT_STATUS:U.SingleValue,MARKDOWN:U.Text};function Dg(e,...t){for(let n of t)if(typeof e[n]==`string`&&e[n]!==``)return e[n]}function Og(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.type!=`string`)return null;let n={type:t.type},r=Dg(t,`dataSourceId`,`data_source_id`),i=Dg(t,`mcon`),a=Dg(t,`metric`),o=Dg(t,`monitorId`,`monitor_id`),s=Dg(t,`field`);return r&&(n.dataSourceId=r),i&&(n.mcon=i),a&&(n.metric=a),o&&(n.monitorId=o),s&&(n.field=s),n}function kg(e){let t=e.dataSources??e.data_sources;if(Array.isArray(t))return t.reduce((e,t)=>
64{let n=Og(t);return n&&e.push(n),e},[]);let n=Og(e.data_source)??Og(e.dataSource);return n?[n]:[]}function Ag(e){return Tg.has(e)?e:Eg[e]??null}function jg(e,t){let n=t.options,r=typeof n==`object`&&n?n:{};switch(e){case U.Text:{let e=typeof t.data_source==`object`&&t.data_source!==null?t.data_source:{};return{content:Dg(r,`content`,`text`,`text_content`,`markdown`,`body`)??Dg(t,`content`,`text`,`text_content`,`markdown`,`body`)??Dg(e,`content`,`text`,`text_content`,`markdown`,`body`)??``}}case U.Graph:return typeof r.showThresholds==`boolean`?{showThresholds:r.showThresholds}:{};case U.SingleValue:{let e=typeof r.field==`string`?r.field:void 0;return e?{field:e}:{}}case U.Table:return Array.isArray(r.fields)&&r.fields.every(e=>typeof e==`string`)?{fields:r.fields}:{}}}function Mg(e){return e.type!==U.Text||e.options.content.length>0}function Ng(e){try{return JSON.parse(e)}catch{return}}function Pg(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;if(typeof t.title!=`string`||typeof t.type!=`string`)return null;let n=Ag(t.type);if(!n)return null;let r=kg(t),i=jg(n,t),a=typeof t.layout==`object`&&t.layout!==null?t.layout:{};return{title:t.title,type:n,width:typeof t.width==`number`?t.width:typeof a.width==`number`?a.width:6,height:typeof t.height==`number`?t.height:typeof a.height==`number`?a.height:1,order:typeof t.order==`number`?t.order:typeof a.order==`number`?a.order:0,dataSources:r,options:i}}var Fg=[`code`,`preview`],Ig=[{label:`Code`,value:`code`},{label:`Preview`,value:`preview`}];function Lg(e){return Fg.includes(e)}var Rg=({children:e})=>{let t=bi(e),{isJson:n,widget:r}=(0,X.useMemo)(()=>{if(!t)return{isJson:!1,widget:null};let e=Ng(t);return e===void 0?{isJson:!1,widget:null}:{isJson:!0,widget:Pg(e)}},[t]),i=r!==null&&Mg(r),[a,o]=(0,X.useState)(`code`);return(0,Z.jsxs)(R,{gap:`xs`,children:[i&&(0,Z.jsx)(B,{children:(0,Z.jsx)(Kt,{size:`xs`,value:a,onChange:e=>{Lg(e)&&o(e)},data:Ig})}),i&&a===`preview`&&r?(0,Z.jsx)(B,{my:8,children:(0,Z.jsx)(wg,{widget:r})}):(0,Z.jsxs)(B,{my:8,pos:`relative`,children:[(0,Z.jsx)(B,{style:{position:`absolute`,zIndex:ft.deprecatedEditorHighlighterCopyButton,right:8,top:8},children:(0,Z.jsx)(wi,{textToCopy:t||``})}),(0,Z.jsx)(yi,{code:t??``,children:({displayCode:e})=>(0,Z.jsx)(Ci,{code:e,mode:n?`json`:null,readOnly:!0})})]}),(0,Z.jsx)(Qh,{codeString:t}),(0,Z.jsx)(lg,{codeString:t})]})},zg={messageContainer:`_messageContainer_axck7_14`,aiMessageFadeIn:`_aiMessageFadeIn_axck7_1`,messageContainerLoaded:`_messageContainerLoaded_axck7_20`,markdownContent:`_markdownContent_axck7_33`},Bg={pre:{component:Rg}},Vg=(0,X.memo)(({content:e,toolCalls:t,toolResultsMap:n,messageId:r,isLastMessage:i=!1,isStreaming:a=!1,isLoadingConversation:o=!1,followUpQuestions:s,interrupt:c,onInterruptResponse:l,hideFeedback:u=!1,markdownOverrides:d})=>{let{runIdMap:f,handleResume:p,isLoading:m}=Mo(),h=e?zc(e):``,g=r?f[r]:void 0,{escalationToolCalls:_,monitorChartToolCalls:v,tuneMonitorsToolCalls:y,askUserToolCalls:b}=(0,X.useMemo)(()=>{let e=[],n=[],r=[],i=[];for(let a of t??[])Cs(a)?e.push(a):Fs(a)?n.push(a):hc(a)?r.push(a):Ys(a)&&i.push(a);return{escalationToolCalls:e,monitorChartToolCalls:n,tuneMonitorsToolCalls:r,askUserToolCalls:i}},[t]),x=o?zg.messageContainerLoaded:zg.messageContainer,S=(0,X.useMemo)(()=>({...Bg,...d}),[d]);return(0,Z.jsxs)(R,{gap:`xs`,className:x,children:[h&&(0,Z.jsx)(B,{maw:`90%`,miw:`80%`,className:zg.markdownContent,children:(0,Z.jsx)(Ku,{content:h,isStreaming:a,overrides:S})}),_.map(e=>{let t=Ts(e,n);return(0,Z.jsx)(fd,{escalationState:t,interrupt:c,onInterruptResponse:l,isLoading:m},e.id)}),v.map(e=>(0,Z.jsx)(yd,{toolCall:e,toolResultsMap:n},e.id)),y.map(e=>(0,Z.jsx)(Wh,{toolCall:e,toolResultsMap:n},e.id)),(0,Z.jsx)(gd,{toolCalls:b,toolResultsMap:n??new Map}),r&&g&&!a&&!u&&(!t||t.length===0)&&(0,Z.jsx)(Au,{responseId:r,responseType:`ai_message`,contentToCopy:h,followUpQuestions:s,onFollowUpQuestion:p,followUpQuestionsEnabled:i,runId:g,alertId:`00000000-0000-0000-0000-000000000000`})]})},(e,t)=>e.content===t.content&&e.isStreaming===t.isStreaming&&e.isLoadingConversation===t.isLoadingConversation&&e.isLastMessage===t.isLastMessage&&e.messageId===t.messageId&&JSON.stringify(e.toolCalls)===JSON.stringify(t.toolCalls)&&e.toolResultsMap===t.toolResultsMap&&JSON.stringify(e.followUpQuestions)===JSON.stringify(t.followUpQuestions)&&e.interrupt===t.interrupt&&e.onInterruptResponse===t.onInterruptResponse),Hg=({content:e})=>{let t=zc(e),[n,{toggle:r}]=hr(!1);return(0,Z.jsx)(L,{align:`flex-start`,style:{flexWrap:`nowrap`},children:(0,Z.jsxs)(R,{gap:`sm`,style:{flexGrow:1},children:[(0,Z.jsx)(B,{children:(0,Z.jsx)(vi,{label:`Reasoning complete.`,"aria-label":n?`Hide reasoning`:`Show reasoning`,opened:n,onToggle:r,size:`standard`,c:`dimmed`})}),(0,Z.jsx)(On,{expanded:n,children:(0,Z.jsx)(Sn,{withBorder:!0,w:`100%`,children:(0,Z.jsx)(Si,{collapsibleCodeBlocks:!0,openLinksInNewTab:!0,agentFileDownload:Hu,children:t})})})]})})},Ug=function(e){return e.Asset=`asset`,e.Github=`github`,e.Sql=`sql`,e.VolumeChange=`volume_change`,e}({}),Wg=({url:e,label:t,type:n,imgUrl:r,variant:i=`subtle`})=>{function a(e){if(r)return(0,Z.jsx)(`img`,{src:r,alt:t,style:{width:`16px`,height:`16px`}});switch(e){case`asset`:return(0,Z.jsx)(Qn,{size:`xs`});case`github`:return(0,Z.jsx)(Et,{size:`xs`});case`sql`:return(0,Z.jsx)(Pt,{size:`xs`});case`volume_change`:return(0,Z.jsx)(Kn,{size:`xs`});default:return null}}return i===`filled`?(0,Z.jsx)(Nn,{size:`lg`,variant:`light`,color:`blue`,component:`a`,href:e,target:`_blank`,rel:`noopener noreferrer`,leftSection:a(n),style:{cursor:`pointer`},"aria-label":`Link to ${t}, open in new tab`,children:t}):(0,Z.jsx)(_t,{href:e,target:`_blank`,rel:`noopener noreferrer`,maw:`max-content`,children:(0,Z.jsxs)(L,{wrap:`nowrap`,gap:`xs`,children:[a(n)&&(0,Z.jsx)(gr,{children:a(n)}),(0,Z.jsx)(H,{inline:!0,children:t})]})})},Gg=()=>({get_incident_data_node:{log_start:`Collecting alert information...`,log_end:({eventCount:e,assetCount:t})=>`Alert has ${e} ${Ar(`event`,e)} affecting ${t} ${Ar(`asset`,t)}.`},get_lineage_data_node:{log_start:`Analyzing lineage...`,log_end:({assetCount:e})=>e?`There are ${e} known upstream ${Ar(`asset`,e)}.`:`No upstream assets found.`},insert_anomaly_data_node:{log_start:`Organizing alert information...`,log_end:`Organized alert information.`},grab_recent_size_changes_node:{log_start:`Checking for volume changes around the time of the alert...`,log_end:({assetCount:e})=>e?`Found ${e} potentially related asset volume ${Ar(`change`,e)}.`:`No relevant asset volume changes found.`},grab_initial_github_prs_node:{log_start:`Checking for pull requests merged around the time of the alert...`,log_end:({codeChangeCount:e},t)=>e?`Found ${e} potentially relevant pull ${Ar(`request`,e)}.`:`No relevant pull requests found.`+(t?.canCreateIntegration?` [Add integration](${ri.app.pages.settings.base+`/add-integration/code-repositories`})`:``)},grab_extra_updates_node:{log_start:`Checking for unexpected queries around the time of the alert...`,log_end:({queryCount:e})=>e?`Found ${e} potentially relevant unexpected ${Ar(`query`,e)}.`:`No relevant unexpected queries found.`},grab_qc_node:{log_start:`Checking for changes in queries around the time of the alert...`,log_end:({queryCount:e})=>e?`Found ${e} potentially relevant ${Ar(`change`,e)}.`:`No relevant query changes found.`},grab_rows_added_removed_by_queries_node:{log_start:`Checking for queries that added or removed rows...`,log_end:({queryCount:e})=>e?`Found ${e} potentially relevant ${Ar(`query`,e)}.`:`No relevant queries that added or removed rows found.`},summarization_node:{log_start:`Generating root cause hypothesis...`},grab_qdr_node:{log_start:`Checking for queries that didn't run as expected...`,log_end:({queryCount:e})=>e?`Found ${e} potentially relevant ${Ar(`query`,e)} that didn't run as expected.`:`No relevant queries found.`},grab_failed_futile_node:{log_start:`Checking for queries that failed or didn't update any rows...`,log_end:({queryCount:e})=>e?`Found ${e} potentially relevant ${Ar(`query`,e)} that failed or didn't update any rows.`:`No relevant queries that failed or didn't update any rows found.`},grab_airflow_issue_node:{log_start:`Checking for failed/skipped Airflow tasks around the time of the alert...`,log_end:({taskCount:e},t)=>e?`Found ${e} potentially relevant failed/skipped ${Ar(`task`,e)}
64.`:`No relevant Airflow tasks found.`+(t?.canCreateIntegration?` [Add integration](${ri.app.pages.settings.base+`/add-integration/orchestration?connectionType=`+W.Airflow})`:``)},grab_dbt_issue_node:{log_start:`Checking for failed/skipped dbt tasks around the time of the alert...`,log_end:({taskCount:e},t)=>e?`Found ${e} potentially relevant failed/skipped ${Ar(`job`,e)}.`:`No relevant dbt tasks found.`+(t?.canCreateIntegration?` [Add integration](${ri.app.pages.settings.base+`/add-integration/orchestration?connectionType=dbt`})`:``)},grab_airflow_dag_task_names_node:{log_start:`Checking Airflow jobs associated with the alert...`,log_end:({taskCount:e},t)=>e?`Found ${e} potentially relevant Airflow ${Ar(`job`,e)}.`:`No relevant Airflow jobs found.`+(t?.canCreateIntegration?` [Add integration](${ri.app.pages.settings.base+`/add-integration/orchestration?connectionType=`+W.Airflow})`:``)},grab_dbt_job_names_node:{log_start:`Checking dbt jobs associated with the alert...`,log_end:({taskCount:e},t)=>e?`Found ${e} potentially relevant ${Ar(`job`,e)}.`:`No relevant dbt jobs found.`+(t?.canCreateIntegration?` [Add integration](${ri.app.pages.settings.base+`/add-integration/orchestration?connectionType=dbt`})`:``)},grab_dbx_issue_node:{log_start:`Checking dbx issues associated with the alert...`,log_end:({taskCount:e},t)=>e?`Found ${e} potentially relevant dbx ${Ar(`issue`,e)}.`:`No relevant dbx issues found.`+(t?.canCreateIntegration?` [Add integration](${ri.app.pages.settings.base+`/add-integration/warehouse-lakes?connectionType=Databricks`})`:``)},grab_dbx_job_names_node:{log_start:`Checking dbx jobs associated with the alert...`,log_end:({taskCount:e},t)=>e?`Found ${e} potentially relevant dbx ${Ar(`job`,e)}.`:`No relevant dbx jobs found.`+(t?.canCreateIntegration?` [Add integration](${ri.app.pages.settings.base+`/add-integration/warehouse-lakes?connectionType=Databricks`})`:``)},grab_upstream_field_anomaly_node:{log_start:`Checking for anomalies in upstream fields...`,log_end:e=>`Completed upstream field anomaly check: ${e}`},grab_data_correlation_rca_node:{log_start:`Checking for data correlation issues...`,log_end:e=>`Completed data correlation check: ${e}`}}),Kg=e=>t=>{let n=[...t.messages??[],e];return{...t,messages:n}};function qg(e){return e?.value!==void 0}var Jg=e=>e.metadata||e.lc_kwargs?.lc_kwargs?.metadata,Yg=new Set([`hide`,`chat`,`tool_result`,`log_start`,`log_end`,`display`,`final_response_structured`,`final_response_string`,`reasoning_block`,`evidence_correction`]),Xg=e=>{let t=Jg(e);if(!t||typeof t!=`object`||!(`display_setting`in t))return;let n=t.display_setting;if(!(typeof n!=`string`||!Yg.has(n)))return t},Zg=new Set([`final_response_structured`,`final_response_string`]);function Qg(e){let t=Xg(e)?.display_setting;return!!t&&Zg.has(t)}function $g(e){let t=-1,n=-1;for(let[r,i]of e.entries())i.type===`human`&&(t=r),Qg(i)&&(n=r);return n>t}function e_(e){return e.type!==`ai`||e.tool_calls?.length?!1:ps(e.content)}function t_(e){return e?.id===`insert_anomaly_data_node`&&e?.display_setting===`log_end`||e?.id===`get_incident_data_node`&&e?.display_setting===`log_end`?!1:e?.display_setting!==`log_start`}function n_(e){return e.replace(/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})\b/g,e=>{if(!lt(e).isValid())return e;try{return Mr(e,{hideTimezone:!0})}catch{return e}})}function r_(e){return e.replace(/\[`([^`]+)`\]\(([^)]+)\)/g,`[$1]($2)`)}function i_(e){return e.replace(/\[`([^`]*)`\]\([^)]*\)/g,`$1`).replace(/\[([^\]]*)\]\([^)]*\)/g,`$1`).replace(/\*\*([^*]*)\*\*/g,`$1`).replace(/__([^_]*)__/g,`$1`).replace(/\*([^*]*)\*/g,`$1`).replace(/(?<!\w)_([^_]+)_(?!\w)/g,`$1`).replace(/`([^`]*)`/g,`$1`).replace(/^#{1,6}\s+/gm,``).replace(/\\([_*`~[\]()#>+\-.!|])/g,`$1`)}function a_(e){return Qo(Io(Xo(r_(e))))}function o_(e){return n_(a_(e))}function s_(e){return o_(ls(e))}function c_(e){return a_(ls(e))}function l_({id:e,display_setting:t,counts:n,originalContent:r,canCreateIntegration:i}){let a=Gg()[e];return a?typeof a[t]==`string`?a[t]:typeof a[t]==`function`?[`grab_data_correlation_rca_node`,`grab_upstream_field_anomaly_node`].includes(e)?a[t](s_(r)):n&&a[t](n,{canCreateIntegration:i})||``:``:``}var u_=({label:e,content:t})=>t?(0,Z.jsxs)(H,{size:`sm`,children:[(0,Z.jsx)(H,{fw:`bold`,component:`span`,children:e}),`: `,(0,Z.jsx)(Si,{collapsibleCodeBlocks:!0,children:o_(t)})]}):null,d_=({onToggle:e,opened:t,label:n,...r})=>(0,Z.jsx)(F,{variant:`subtle`,p:0,bg:`transparent`,onClick:e,rightSection:t?(0,Z.jsx)(un,{size:`xs`,color:`gray`}):(0,Z.jsx)(Pn,{size:`xs`,color:`gray`}),...r,children:n}
64),f_=({heading:e,data:t,id:n})=>{let r=qa(ke),[i,{toggle:a}]=hr(!0);function o(){a(),r({action:`${i?`Hide`:`Show`} ${n} details`})}function s(e){switch(e){case`relevant_query_changes`:case`relevant_query_issues`:case`relevant_extra_updates`:return Ug.Sql;case`relevant_query_row_changes`:case`relevant_size_changes`:return Ug.VolumeChange;default:return Ug.Asset}}function c(e){switch(n){case`relevant_correlations`:return(0,Z.jsx)(Si,{collapsibleCodeBlocks:!0,children:o_(t)});case`relevant_github_prs`:return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Wg,{url:e.url,label:e.title,type:Ug.Github,imgUrl:e.user_avatar_url}),(0,Z.jsx)(u_,{label:`Findings`,content:e.main_changes}),(0,Z.jsx)(u_,{label:`Explanation`,content:e.explanation})]});case`relevant_etl_jobs`:return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Wg,{url:e.url,label:e.job_name}),(0,Z.jsx)(u_,{label:`Related tables`,content:e.tables_running_on_job})]});case`upstream_field_issues`:return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Wg,{url:e.url,label:e.field_name,type:s(n)}),(0,Z.jsx)(u_,{label:`Explanation`,content:e.explanation})]});default:return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Wg,{url:e.url,label:e.table_name,type:s(n)}),(0,Z.jsx)(u_,{label:`Query`,content:e.query_info}),(0,Z.jsx)(u_,{label:`Findings`,content:e.changes}),(0,Z.jsx)(u_,{label:`Job`,content:e.job_info}),(0,Z.jsx)(u_,{label:`Explanation`,content:e.explanation})]})}}return(0,Z.jsxs)(R,{gap:0,children:[(0,Z.jsx)(B,{children:(0,Z.jsx)(d_,{label:e,"aria-label":i?`Collapse ${e} details`:`Expand ${e} details`,opened:i,onToggle:o,size:`standard`,fw:600})}),(0,Z.jsx)(On,{expanded:i,children:(0,Z.jsx)(R,{gap:`md`,children:Array.isArray(t)?t.map((e,t)=>(0,Z.jsx)(R,{gap:`xs`,children:c(e)},t)):t})})]})},p_={timelineContainer:`_timelineContainer_plwbr_1`,timelineRow:`_timelineRow_plwbr_5`,timestamp:`_timestamp_plwbr_13`,timelineColumn:`_timelineColumn_plwbr_22`,dot:`_dot_plwbr_32`,dotDefault:`_dotDefault_plwbr_42`,dotAlert:`_dotAlert_plwbr_47`,dotRootCause:`_dotRootCause_plwbr_52`,line:`_line_plwbr_57`,content:`_content_plwbr_67`,titleClickable:`_titleClickable_plwbr_72`,titleDefault:`_titleDefault_plwbr_76`},m_=[`mcd/owner`,`mcd/domains-manager`,`mcd/editor`,`mcd/monitor-editor`,`mcd/responder`,`mcd/viewer`],h_=e=>{let t=e?.filter(e=>!!e);if(t?.length)return m_.find(e=>t.includes(e))??t[0]},g_=[`mcd/editor`,`mcd/domains-manager`,`mcd/owner`],__=`git-integration-nudge-dismissed`;function v_(){let e=Qe()(Ye.CODE_REPO_INTEGRATION_NUDGE),{data:t,loading:n}=et(),r=Ze(Wr.SettingsIntegrationsEdit),i=h_(t?.getUser?.auth?.roles),a=g_.some(e=>e===i),o=r||a,{hasAnyCodeRepoIntegration:s,isLoading:c}=pi(),l=Ja(__),u=n||c||l.loading,d=e&&!u&&o&&!s&&l.visible,f=e?o:r;return{showNudge:d,dismiss:l.dismiss,loading:u,canAddCodeRepoIntegration:f}}var y_={CARDS:`git-integration-cards`},b_=`start-git-tour`,x_=`dismiss-git-nudge-reason`,S_=[`Security policy`,`My Git provider not supported`,`I'll do it later`,`Other`,`Skip`];function C_({onSubmit:e}){let[t,n]=(0,X.useState)(null),[r,i]=(0,X.useState)(``),a=()=>{t&&(e(t===`Other`?r||`Other`:t),yn.close(x_))};return(0,Z.jsxs)(R,{children:[(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:`Help us understand so we can improve your experience.`}),(0,Z.jsx)(Wt.Group,{value:t,onChange:e=>n(e),children:(0,Z.jsx)(R,{mt:`xs`,children:S_.map(e=>(0,Z.jsx)(Wt,{value:e,label:e},e))})}),t===`Other`&&(0,Z.jsx)(Sr,{placeholder:`Tell us more...`,minRows:4,maxRows:4,autosize:!0,value:r,onChange:e=>i(e.currentTarget.value)}),(0,Z.jsx)(L,{...nn,children:(0,Z.jsx)(F,{onClick:a,disabled:!t,children:`Submit`})})]})}var w_=`/settings/add-integration/code-repositories`;function T_(){let e=Re(),{showNudge:t,dismiss:n}=v_(),r=qa(he),i=qa(Se);return t?(0,Z.jsx)(Vt,{variant:`light`,"data-testid":`code-repo-integration-nudge`,maw:`100%`,children:(0,Z.jsxs)(L,{gap:`xs`,align:`flex-start`,wrap:`nowrap`,children:[(0,Z.jsxs)(L,{gap:`xs`,wrap:`wrap`,w:40,pt:`xxs`,justify:`center`,style:{flexShrink:0},children:[(0,Z.jsx)(Et,{size:`xs`}),(0,Z.jsx)(Xt,{size:`xs`}),(0,Z.jsx)(At,{size:`xs`})]}),(0,Z.jsxs)(R,{gap:`xs`,children:[(0,Z.jsxs)(R,{gap:`xs`,children:[(0,Z.jsx)(H,{fw:600,size:`sm`,children:`Connect your Git provider for deeper root cause analysis`}),(0,Z.jsx)(H,{size:`sm`,children:`Integrate with GitHub, GitLab, or Azure DevOps to surface pull requests and code changes that may have caused this anomaly.`})]}),(0,Z.jsxs)(L,{children:[(0,Z.jsx)(F,{variant:`secondary`,onClick:()=>{e(`${w_}?${b_}=start`),r()},children:`Add integration`}),(0,Z.jsx)(F,{variant:`subtle`,onClick:()=>{yn.open({modalId:x_,title:`Why are you dismissing this?`,closeButtonProps:{"aria-label":`Close`},children:(0,Z.jsx)(C_,{onSubmit:e=>{n(),e!==`Skip`&&i({value:e})}})})},children:`Dismiss`})]})]})]})}):null}var Q={providerIcon:`_providerIcon_a6leu_1`,prInfoStack:`_prInfoStack_a6leu_7`,prTitle:`_prTitle_a6leu_13`,prTitleText:`_prTitleText_a6leu_20`,prTitleIcon:`_prTitleIcon_a6leu_26`,filesContainer:`_filesContainer_a6leu_30`,fileItem:`_fileItem_a6leu_36`,fileHeader:`_fileHeader_a6leu_44`,fileStats:`_fileStats_a6leu_53`,statNumber:`_statNumber_a6leu_57`,filesToggle:`_filesToggle_a6leu_62`,explanationContent:`_explanationContent_a6leu_66`,diffContainer:`_diffContainer_a6leu_84`,diffTable:`_diffTable_a6leu_90`,diffLineNumber:`_diffLineNumber_a6leu_96`,diffLineContent:`_diffLineContent_a6leu_108`,diffLineContext:`_diffLineContext_a6leu_120`,diffLineAddition:`_diffLineAddition_a6leu_124`,diffLineDeletion:`_diffLineDeletion_a6leu_132`,diffLineHeader:`_diffLineHeader_a6leu_140`,sqlKeyword:`_sqlKeyword_a6leu_150`,sqlFunction:`_sqlFunction_a6leu_154`,sqlString:`_sqlString_a6leu_158`,sqlComment:`_sqlComment_a6leu_162`},E_=/\b(SELECT|FROM|WHERE|AND|OR|NOT|IN|IS|NULL|AS|JOIN|LEFT|RIGHT|INNER|OUTER|FULL|ON|GROUP|BY|ORDER|HAVING|LIMIT|OFFSET|UNION|ALL|DISTINCT|CASE|WHEN|THEN|ELSE|END|WITH|INSERT|INTO|VALUES|UPDATE|SET|DELETE|CREATE|TABLE|INDEX|VIEW|DROP|ALTER|ADD|COLUMN|PRIMARY|KEY|FOREIGN|REFERENCES|CONSTRAINT|DEFAULT|CHECK|UNIQUE|EXISTS|BETWEEN|LIKE|ILIKE|COALESCE|CAST|COUNT|SUM|AVG|MIN|MAX|DATE_TRUNC|DATEADD|CURRENT_DATE)\b/gi,D_=/\b(ref|source|config|var|env_var)\b(?=\s*\()/gi,O_=/('[^']*')/g,k_=/(--[^\n]*)/g;function A_(e){let t=[],n=0,r=[],i;for(k_.lastIndex=0;(i=k_.exec(e))!==null;)r.push({index:i.index,length:i[0].length,text:i[0],type:`comment`});for(O_.lastIndex=0;(i=O_.exec(e))!==null;)r.push({index:i.index,length:i[0].length,text:i[0],type:`string`});for(E_.lastIndex=0;(i=E_.exec(e))!==null;)r.push({index:i.index,length:i[0].length,text:i[0],type:`keyword`});for(D_.lastIndex=0;(i=D_.exec(e))!==null;)r.push({index:i.index,length:i[0].length,text:i[0],type:`function`});r.sort((e,t)=>
64e.index-t.index);let a=r.filter((e,t)=>{for(let n=0;n<t;n++){let t=r[n];if(e.index>=t.index&&e.index<t.index+t.length)return!1}return!0});for(let r of a)r.index>n&&t.push({text:e.slice(n,r.index),type:`text`}),t.push({text:r.text,type:r.type}),n=r.index+r.length;return n<e.length&&t.push({text:e.slice(n),type:`text`}),t.map((e,t)=>{switch(e.type){case`keyword`:return(0,Z.jsx)(`span`,{className:Q.sqlKeyword,children:e.text},t);case`function`:return(0,Z.jsx)(`span`,{className:Q.sqlFunction,children:e.text},t);case`string`:return(0,Z.jsx)(`span`,{className:Q.sqlString,children:e.text},t);case`comment`:return(0,Z.jsx)(`span`,{className:Q.sqlComment,children:e.text},t);default:return(0,Z.jsx)(`span`,{children:e.text},t)}})}function j_(e){if(!e)return``;let t=lt.utc(e);return t.isValid()?`Merged ${t.tz().fromNow()}`:e}function M_({hypothesis:e}){return(0,Z.jsxs)(R,{gap:`xs`,children:[(0,Z.jsx)(H,{size:`sm`,fw:500,children:`Root cause hypothesis`}),(0,Z.jsx)(T_,{}),(0,Z.jsx)(B,{className:Q.analysisContent,children:(0,Z.jsx)(Si,{collapsibleCodeBlocks:!0,hideAssetIcons:!0,openLinksInNewTab:!0,hideExternalLinkIcon:!0,children:o_(e)})})]})}function N_({file:e}){let[t,{toggle:n}]=hr(!1),r=!!e.patch,i=r?{onClick:n,role:`button`,"aria-expanded":t,tabIndex:0,onKeyDown:yr(n)}:{};return(0,Z.jsxs)(B,{className:Q.fileItem,children:[(0,Z.jsx)(B,{className:Q.fileHeader,...i,children:(0,Z.jsxs)(L,{gap:`xs`,wrap:`nowrap`,justify:`space-between`,children:[(0,Z.jsxs)(L,{gap:`xs`,wrap:`nowrap`,children:[r&&(0,Z.jsx)(I,{"aria-label":`Toggle hypothesis details`,size:`compact`,variant:`subtle`,color:`gray`,children:t?(0,Z.jsx)(un,{}):(0,Z.jsx)(Pn,{})}),(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,children:e.filename})]}),(0,Z.jsxs)(L,{gap:4,wrap:`nowrap`,className:Q.fileStats,children:[(0,Z.jsxs)(H,{size:`xs`,c:`green`,ta:`right`,className:Q.statNumber,children:[`+`,e.additions??0]}),(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,children:`/`}),(0,Z.jsxs)(H,{size:`xs`,c:`red`,ta:`left`,className:Q.statNumber,children:[`-`,e.deletions??0]})]})]})}),r&&(0,Z.jsx)(On,{expanded:t,children:(0,Z.jsx)(F_,{patch:e.patch})})]})}function P_(e){let t=e.split(`
65`),n=[],r=0,i=0;for(let e of t){let t=e.startsWith(`@@`),a=e.startsWith(`+`)&&!e.startsWith(`+++`),o=e.startsWith(`-`)&&!e.startsWith(`---`);if(t){let t=/@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(e);t&&(r=parseInt(t[1],10),i=parseInt(t[2],10)),n.push({content:e,oldLineNum:null,newLineNum:null,type:`header`})}else a?(n.push({content:e,oldLineNum:null,newLineNum:i,type:`addition`}),i++):o?(n.push({content:e,oldLineNum:r,newLineNum:null,type:`deletion`}),r++):(n.push({content:e,oldLineNum:r,newLineNum:i,type:`context`}),r++,i++)}return n}function F_({patch:e}){let t=P_(e);return(0,Z.jsx)(B,{className:Q.diffContainer,children:(0,Z.jsx)(`table`,{className:Q.diffTable,children:(0,Z.jsx)(`tbody`,{children:t.map((e,t)=>{let n={context:Q.diffLineContext,addition:Q.diffLineAddition,deletion:Q.diffLineDeletion,header:Q.diffLineHeader}[e.type];return(0,Z.jsxs)(`tr`,{className:n,children:[(0,Z.jsx)(`td`,{className:Q.diffLineNumber,children:e.oldLineNum??``}),(0,Z.jsx)(`td`,{className:Q.diffLineNumber,children:e.newLineNum??``}),(0,Z.jsx)(`td`,{className:Q.diffLineContent,children:(0,Z.jsx)(`pre`,{children:A_(e.content)})})]},t)})})})})}var I_={github:Et,gitlab:Xt,azure_devops:At},L_={filter_change:`Filter change`,join_change:`Join change`,column_change:`Column change`,logic_change:`Logic change`,pipeline_change:`Pipeline change`,other:`Other change`};function R_(e){return L_[e]??e}function z_({provider:e}){let t=e&&I_[e]||Et;return(0,Z.jsx)(t,{width:20,height:20,className:Q.providerIcon})}function B_({title:e,prNumber:t,url:n}){let r=t?`PR #${t}: `:``;return n?(0,Z.jsxs)(_t,{href:n,target:`_blank`,rel:`noopener noreferrer`,fw:500,className:Q.prTitle,children:[(0,Z.jsxs)(`span`,{className:Q.prTitleText,children:[r,e]}),(0,Z.jsx)(xn,{size:`xs`,className:Q.prTitleIcon})]}):(0,Z.jsxs)(H,{fw:500,className:Q.prTitleText,children:[r,e]})}function V_({author:e,repo:t,mergedAt:n,avatarUrl:r}){if(!e&&!t&&!n)return null;let i=[e,t,j_(n)].filter(Boolean);return(0,Z.jsxs)(L,{gap:6,align:`center`,children:[r&&(0,Z.jsx)(Hn,{src:r,size:`xs`,radiu
65s:`xl`}),(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,children:i.join(` • `)})]})}function H_({isOpen:e,toggle:t,label:n,children:r}){return(0,Z.jsxs)(B,{onClick:t,className:Q.filesToggle,role:`button`,"aria-expanded":e,tabIndex:0,onKeyDown:yr(t),children:[(0,Z.jsxs)(L,{gap:4,align:`center`,wrap:`nowrap`,children:[(0,Z.jsx)(H,{size:`xs`,children:n}),(0,Z.jsx)(I,{"aria-label":`Toggle root cause details`,size:`compact`,variant:`subtle`,color:`gray`,children:e?(0,Z.jsx)(un,{}):(0,Z.jsx)(Pn,{})})]}),r]})}function U_({changedFiles:e}){let t=e.reduce((e,t)=>e+(t.additions??0),0),n=e.reduce((e,t)=>e+(t.deletions??0),0);return(0,Z.jsxs)(Z.Fragment,{children:[`Files changed (`,e.length,`)`,t>0&&(0,Z.jsxs)(H,{span:!0,c:`green`,ml:4,children:[`+`,t]}),n>0&&(0,Z.jsxs)(H,{span:!0,c:`red`,ml:4,children:[`-`,n]})]})}function W_({metadata:e}){let[t,{toggle:n}]=hr(!1),[r,{toggle:i}]=hr(!1);if(!e.pr_title)return null;let a=!!e.llm_pr_change_types?.length,o=!!e.changed_files?.length;return(0,Z.jsxs)(L,{gap:`xs`,align:`flex-start`,wrap:`nowrap`,children:[(0,Z.jsx)(z_,{provider:e.provider}),(0,Z.jsxs)(R,{gap:4,className:Q.prInfoStack,children:[(0,Z.jsxs)(R,{gap:2,children:[(0,Z.jsx)(B_,{title:e.pr_title,prNumber:e.pr_number??void 0,url:e.url??void 0}),(0,Z.jsx)(V_,{author:e.author??void 0,repo:e.repo??void 0,mergedAt:e.merged_at,avatarUrl:e.user_avatar_url??void 0})]}),a&&(0,Z.jsx)(H_,{isOpen:r,toggle:i,label:e.llm_pr_change_types?.map(R_).join(`, `),children:e.llm_pr_explained&&(0,Z.jsx)(On,{expanded:r,children:(0,Z.jsx)(B,{className:Q.explanationContent,children:(0,Z.jsx)(Si,{collapsibleCodeBlocks:!0,openLinksInNewTab:!0,hideExternalLinkIcon:!0,children:o_(e.llm_pr_explained)})})})}),o&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(H_,{isOpen:t,toggle:n,label:(0,Z.jsx)(U_,{changedFiles:e.changed_files})}),(0,Z.jsx)(On,{expanded:t,children:(0,Z.jsx)(B,{className:Q.filesContainer,mt:`xs`,children:e.changed_files.map((e,t)=>(0,Z.jsx)(N_,{file:e},`${e.filename}-${t}`))})})]})]})]})}function G_(e){if(!e)return``;let t=e.includes(`T`)?e.endsWith(`Z`)?e:`${e}Z`:`${e.replace(` `,`T`)}Z`,n=lt(t);return n.isValid()?n.format(`MMM D, HH:mm`):e}function K_(e,t){return t?`${p_.dot} ${p_.dotAlert}`:e.is_main_root_cause?`${p_.dot} ${p_.dotRootCause}`:`${p_.dot} ${p_.dotDefault}`}function q_({item:e,originalIndex:t,isLast:n=!1,onReconsider:r}){let[i,a]=(0,X.useState)(e.is_main_root_cause??!1),o=!!e.description,s=!!e.metadata?.url,c=o||s,l=e.type===`alert`,u=()=>{c&&a(!i)},d=n=>{n.stopPropagation(),r?.(t,e.title)},f=K_(e,l);return(0,Z.jsxs)(B,{className:p_.timelineRow,children:[(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,className:p_.timestamp,children:G_(e.timestamp)}),(0,Z.jsxs)(B,{className:p_.timelineColumn,children:[!n&&(0,Z.jsx)(B,{className:p_.line}),(0,Z.jsx)(B,{className:f})]}),(0,Z.jsxs)(R,{gap:4,className:p_.content,children:[(0,Z.jsxs)(L,{gap:`xs`,align:`center`,wrap:`wrap`,children:[(0,Z.jsx)(B,{onClick:c?u:void 0,className:c?p_.titleClickable:p_.titleDefault,...c&&{role:`button`,"aria-expanded":i,tabIndex:0,onKeyDown:yr(u)},children:(0,Z.jsxs)(L,{gap:4,align:`center`,wrap:`nowrap`,children:[(0,Z.jsx)(Si,{hideAssetIcons:!0,openLinksInNewTab:!0,hideExternalLinkIcon:!0,overrides:{p:{component:H,props:{size:`sm`,component:`span`,...l&&{c:`red`,fw:500}}}},children:o_(e.title)}),c&&(0,Z.jsx)(I,{"aria-label":`Toggle evidence details`,size:`compact`,variant:`subtle`,color:`gray`,children:i?(0,Z.jsx)(un,{}):(0,Z.jsx)(Pn,{})})]})}),e.is_main_root_cause&&(0,Z.jsx)(Nn,{size:`xs`,color:`orange`,variant:`outline`,style:{flexShrink:0},children:`Likely root cause`}),r&&(0,Z.jsx)(V,{label:`Reconsider this evidence`,children:(0,Z.jsx)(I,{size:`compact`,variant:`subtle`,color:`gray`,onClick:d,"aria-label":`Reconsider this evidence`,children:(0,Z.jsx)(Gn,{})})})]}),c&&(0,Z.jsx)(On,{expanded:i,children:(0,Z.jsxs)(R,{gap:`sm`,children:[o&&(0,Z.jsx)(B,{children:(0,Z.jsx)(Si,{collapsibleCodeBlocks:!0,hideAssetIcons:!0,openLinksInNewTab:!0,hideExternalLinkIcon:!0,children:o_(e.description??``)})}),e.metadata&&(0,Z.jsx)(W_,{metadata:e.metadata})]})})]})]})}function J_(e){return e.map((e,t)=>({item:e,originalIndex:t})).sort((e,t)=>
65e.item.timestamp?t.item.timestamp?lt.utc(e.item.timestamp).valueOf()-lt.utc(t.item.timestamp).valueOf():-1:1)}function Y_({items:e,onReconsider:t}){let[n,{toggle:r}]=hr(!0),i=(0,X.useMemo)(()=>J_(e),[e]);return e.length===0?null:(0,Z.jsxs)(R,{gap:`xs`,children:[(0,Z.jsx)(B,{children:(0,Z.jsx)(d_,{label:`Supporting evidence`,"aria-label":n?`Collapse supporting evidence`:`Expand supporting evidence`,opened:n,onToggle:r,size:`standard`,fw:500})}),(0,Z.jsx)(On,{expanded:n,children:(0,Z.jsx)(R,{gap:`md`,className:p_.timelineContainer,children:i.map(({item:e,originalIndex:n},r)=>(0,Z.jsx)(q_,{item:e,originalIndex:n,isLast:r===i.length-1,onReconsider:t},`evidence-${e.type}-${e.timestamp??`no-timestamp`}-${n}`))})})]})}var X_={root:`_root_1mzky_1`,submitButton:`_submitButton_1mzky_5`,evidencePill:`_evidencePill_1mzky_9`,highlighted:`_highlighted_1mzky_19`,"fade-highlight":`_fade-highlight_1mzky_1`};function Z_({onRunAnalysis:e,isLoading:t=!1,attachedEvidence:n,onRemoveEvidence:r,highlightKey:i=0}){let[a,o]=(0,X.useState)(``),s=(0,X.useRef)(null),c=i>0;(0,X.useEffect)(()=>{c&&s.current&&(s.current.scrollIntoView({behavior:`smooth`,block:`center`}),s.current.focus())},[i,c]);let l=e=>{o(e.target.value)},u=()=>{e(a.trim()||void 0),o(``)};return(0,Z.jsxs)(R,{gap:`md`,className:pt(X_.root,c&&X_.highlighted),children:[(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,mb:`calc(var(--mantine-spacing-md) * -0.5)`,children:`Run a new analysis if the hypothesis looks incorrect. Provide optional context to guide the agent in the right direction.`}),n&&n.length>0&&(0,Z.jsxs)(L,{gap:`xs`,wrap:`wrap`,children:[(0,Z.jsx)(H,{c:`dimmed`,children:`Reconsidering:`}),n.map(e=>(0,Z.jsx)(Dt,{withRemoveButton:!0,onRemove:()=>r?.(e.index),removeButtonProps:{"aria-label":`Remove ${i_(e.title)}`},className:X_.evidencePill,children:i_(e.title)},e.index))]}),(0,Z.jsx)(Or,{ref:s,placeholder:`Add additional context (optional)...`,value:a,onChange:l,onKeyDown:e=>{e.key===`Enter`&&!t&&u()},disabled:t,rightSection:a.trim()?(0,Z.jsx)(I,{size:`compact`,variant:`subtle`,color:`gray`,onClick:()=>{o(``)},"aria-label":`Clear context`,children:(0,Z.jsx)(on,{})}):null}),(0,Z.jsx)(F,{leftSection:(0,Z.jsx)(Gn,{size:`sm`}),onClick:u,loading:t,variant:`secondary`,className:X_.submitButton,children:`Run new analysis`})]},i)}function Q_(e){return e?Array.isArray(e)&&e.length>0:!1}function $_(e){if(!e)return``;let t=[];return e.tldr&&(t.push(`ROOT CAUSE HYPOTHESIS`),t.push(`=====================`),t.push(e.tldr),t.push(``)),e.supporting_evidence_timeline&&e.supporting_evidence_timeline.length>0&&(t.push(`SUPPORTING EVIDENCE`),t.push(`===================`),e.supporting_evidence_timeline.forEach((e,n)=>{let r=e.is_main_root_cause?` [LIKELY ROOT CAUSE]`:``;t.push(`${n+1}. ${e.title}${r}`),e.description&&t.push(`   ${e.description}`),e.timestamp&&t.push(`   Time: ${e.timestamp}`)}),t.push(``)),e.verifications&&e.verifications.length>0&&(t.push(`HOW TO VERIFY`),t.push(`=============`),e.verifications.forEach((e,n)=>{t.push(`${n+1}. ${e}`)}),t.push(``)),t.join(`
66`).trim()}var ev=({data:e,messageId:t,isLastMessage:n=!1})=>{let{isLoading:r,interrupt:i,handleInterruptResponse:a,runIdMap:o,handleResume:s}=Mo(),[c,{toggle:l}]=hr(!0),[u,d]=(0,X.useState)([]),[f,p]=(0,X.useState)(0),m=n&&!!i&&!r,h=(0,X.useCallback)((e,t)=>{d(n=>n.some(t=>t.index===e)?n.filter(t=>t.index!==e):[...n,{index:e,title:t}]),p(e=>e+1)},[]),g=(0,X.useCallback)(e=>{d(t=>t.filter(t=>t.index!==e))},[]),_=(0,X.useCallback)(async e=>{if(u.length===0&&!e)return;let t={type:`evidence_correction`,rejected_evidence:u,...e&&{additional_context:e}};a(t),d([]),p(0)},[u,a]);if(!e)return null;let{tldr:v,summary_of_all_relevant_data:y,supporting_evidence_timeline:b,verifications:x,relevant_github_prs:S,relevant_query_changes:C,relevant_query_issues:w,relevant_query_row_changes:T,relevant_size_changes:E,relevant_extra_updates:D,relevant_correlations:O,relevant_etl_fails:k,relevant_etl_jobs:A,upstream_field_issues:j}=e,M=x&&x.length>0;return(0,Z.jsxs)(R,{gap:`md`,mt:`sm`,pt:`lg`,style:{flexGrow:1,borderTop:`1px solid var(--mantine-color-default-border)`},id:t,children:[v&&(0,Z.jsxs)(R,{gap:`xs`,children:[(0,Z.jsx)(L,{gap:`sm`,children:(0,Z.jsx)(H,{size:`md`,fw:600,children:`Summary`})}),(0,Z.jsx)(Si,{collapsibleCodeBlocks:!0,agentFileDownload:Hu,children:Rc(v)})]}),y&&(0,Z.jsxs)(R,{gap:`xs`,children:[(0,Z.jsx)(L,{gap:`sm`,children:(0,Z.jsx)(H,{size:`md`,fw:600,children:`Main findings`})}),(0,Z.jsx)(Si,{agentFileDownload:Hu,children:Rc(y)})]}),b&&b.length>0&&(0,Z.jsx)(Y_,{items:b,onReconsider:m?h:void 0}),M&&(0,Z.jsxs)(R,{gap:`xs`,children:[(0,Z.jsx)(B,{children:(0,Z.jsx)(d_,{label:`How to verify`,"aria-label":c?`Collapse verification steps`:`Expand verification steps`,opened:c,onToggle:l,size:`standard`,fw:600})}),(0,Z.jsx)(On,{expanded:c,children:(0,Z.jsx)(tn,{size:`sm`,pl:`md`,children:x.map((e,t)=>(0,Z.jsx)(tn.Item,{children:(0,Z.jsx)(H,{size:`sm`,component:`span`,children:(0,Z.jsx)(Si,{hideAssetIcons:!0,openLinksInNewTab:!0,hideExternalLinkIcon:!0,agentFileDownload:Hu,overrides:{p:{component:`span`}},children:Rc(e)})})},`verification-${t}`))})})]}),m&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(An,{}),(0,Z.jsx)(Z_,{onRunAnalysis:_,isLoading:r,attachedEvidence:u.length>0?u:void 0,onRemoveEvidence:g,highlightKey:f})]}),Q_(S)&&(0,Z.jsx)(f_,{data:S,id:`relevant_github_prs`,heading:`Pull requests`}),Q_(C)&&(0,Z.jsx)(f_,{data:C,id:`relevant_query_changes`,heading:`Changes in queries`}),Q_(w)&&(0,Z.jsx)(f_,{data:w,id:`relevant_query_issues`,heading:`Query issues`}),Q_(T)&&(0,Z.jsx)(f_,{data:T,id:`relevant_query_row_changes`,heading:`Row changes`}),Q_(E)&&(0,Z.jsx)(f_,{data:E,id:`relevant_size_changes`,heading:`Row/byte count trends`}),Q_(D)&&(0,Z.jsx)(f_,{data:D,id:`relevant_extra_updates`,heading:`Unexpected queries`}),Q_(j)&&(0,Z.jsx)(f_,{data:j,id:`upstream_field_issues`,heading:`Upstream data issues`}),Q_(k)&&(0,Z.jsx)(f_,{data:k,id:`relevant_etl_fails`,heading:`ETL failures`}),Q_(A)&&(0,Z.jsx)(f_,{data:A,id:`relevant_etl_jobs`,heading:`ETL jobs`}),O&&(0,Z.jsx)(f_,{heading:`Data correlations`,data:O,id:`relevant_correlations`}),t&&o[t]&&!r&&(0,Z.jsx)(Au,{responseId:t,responseType:`final_response_structured`,contentToCopy:$_(e),runId:o[t],alertId:`00000000-0000-0000-0000-000000000000`,followUpQuestionsEnabled:n,onFollowUpQuestion:s})]})};function tv(e){if(!e?.data)return{};switch(e.id){case`get_incident_data_node`:return{eventCount:e.data.event_count??0,assetCount:e.data.table_count??0};case`get_lineage_data_node`:case`grab_recent_size_changes_node`:return{assetCount:(e.data.links??[]).length};case`grab_initial_github_prs_node`:return{codeChangeCount:(e.data.links??[]).length};case`grab_extra_updates_node`:case`grab_qc_node`:case`grab_rows_added_removed_by_queries_node`:case`grab_qdr_node`:case`grab_failed_futile_node`:return{queryCount:(e.data.links??[]).length};case`grab_airflow_issue_node`:case`grab_airflow_dag_task_names_node`:case`grab_dbt_issue_node`:case`grab_dbt_job_names_node`:case`grab_dbx_issue_node`:case`grab_dbx_job_names_node`:return{taskCount:(e.data.links??[]).length};default:return{}}}function nv(e){switch(e){case`grab_initial_github_prs_node`:return Ug.Github;case`grab_extra_updates_node`:case`grab_qc_node`:case`grab_rows_added_removed_by_queries_node`:return Ug.Sql;case`grab_recent_size_changes_node`:return Ug.VolumeChange;default:return Ug.Asset}}var rv=({message:e})=>{let t=Jg(e),n=Ze(Wr.SettingsIntegrationsEdit);if(!t)return null;let r=l_({id:t.id,display_setting:t.display_setting,counts:tv(t),originalContent:e.content,canCreateIntegration:n});return t.data?.links&&t.data.links.length>0?(0,Z.jsxs)(R,{gap:`sm`,w:`100%`,children:[(0,Z.jsx)(L,{style:{flexWrap:`nowrap`},children:(0,Z.jsx)(Si,{collapsibleCodeBlocks:!0,children:r})}),(0,Z.jsx)(Sn,{withBorder:!0,p:`md`,maw:`100%`,children:t.id===`get_lineage_data_node`?null:(0,Z.jsx)(Gt.Autosize,{mah:200,children:(0,Z.jsx)(L,{children:t.data.links?.map((e,n)=>(0,Z.jsx)(Wg,{url:e.link,label:t.id===`grab_initial_github_prs_node`?(0,Z.jsxs)(L,{gap:0,wrap:`nowrap`,children:[(0,Z.jsx)(H,{fw:`bold`,children:e.pr_user}),(0,Z.jsx)(H,{fw:`bold`,mx:`xxs`,children:`/`}),(0,Z.jsx)(H,{children:e.name})]}):e.name,type:nv(t.id),imgUrl:e.user_avatar_url,variant:`filled`},`link-badge-${e.link}-${n}`))})})})]}):(0,Z.jsx)(L,{style:{flexWrap:`nowrap`},children:(0,Z.jsx)(Si,{collapsibleCodeBlocks:!0,children:r})})};function iv(e){let t=[],n=[],r={messages:[],logElements:[],logTaskCount:0,isLogComplete:!1,hasCompletedAnalysis:!1};for(let i=0;i<e.length;i++){let a=e[i];if(!a)continue;let o=Jg(a);if(r.messages.push({message:a,globalIndex:i}),!r.isLogComplete&&a.type===`ai`&&(o?.display_setting===`log_start`||o?.display_setting===`log_end`||o?.display_setting===`display`)&&o.id!==`get_lineage_data_node`&&(r.logElements.push((0,Z.jsx)(rv,{message:a},`log-${a.id}-${o.id}-${o.display_setting}`)),t_(o)&&r.logTaskCount++),a.type===`ai`&&(o?.display_setting===`reasoning_block`||Array.isArray(a.content)&&a.content.some(ss))&&(r.isLogComplete=!0),o?.display_setting===`final_response_structured`){r.hasCompletedAnalysis=!0;let a=t.length;t.push(r);let o=i+1;for(;o<e.length;){let t=e[o];if(!t){o++;continue}let r=Jg(t);if(t.type===`human`){n.push({message:t,globalIndex:o,afterRun:a}),o++;continue}if(r?.display_setting===`hide`){o++;continue}break}r={messages:[],logElements:[],logTaskCount:0,isLogComplete:!1,hasCompletedAnalysis:!1},i=o-1}}return r.messages.length>0&&t.push(r),{runs:t,interRunMessages:n}}var av=`has reviewed the supporting evidence and marked the following items as INCORRECT`;function ov(e){return Jg(e)?.display_setting===`evidence_correction`||ls(e.content).includes(av)}function sv(e){return[...ls(e).matchAll(/Evidence #\d+:\s*"([^"]+)"/g)].map(e=>
66e[1]??``).filter(Boolean)}function cv(e){let t=ls(e),n=t.indexOf(`Additional context from the user:
67
68`);if(n===-1)return null;let r=t.slice(n+35),i=r.indexOf(`
69
70Re-analyze`);return(i===-1?r.trim():r.slice(0,i).trim())||null}function lv({content:e}){let t=sv(e),n=cv(e);return t.length===0?(0,Z.jsx)(H,{c:`gray.7`,size:`sm`,py:`xs`,children:`Evidence was marked for reconsideration.`}):(0,Z.jsxs)(R,{gap:`xs`,py:`xs`,...n&&{pl:`sm`,style:{borderLeft:`2px solid var(--mantine-color-gray-4)`}},children:[(0,Z.jsxs)(L,{gap:`xs`,wrap:`wrap`,children:[(0,Z.jsx)(H,{c:`gray.7`,size:`sm`,children:`Reconsider evidence:`}),t.map((e,t)=>(0,Z.jsx)(Dt,{children:i_(e)},`${t}-${e}`))]}),n&&(0,Z.jsx)(H,{size:`sm`,fs:`italic`,children:n})]})}var uv={compactTableWrapper:`_compactTableWrapper_1cehz_1`,compactTable:`_compactTable_1cehz_1`},dv=({children:e})=>(0,Z.jsx)(B,{className:uv.compactTableWrapper,children:(0,Z.jsx)(kt,{className:uv.compactTable,children:e})});function fv({assets:e}){return e.length===0?null:(0,Z.jsx)(L,{gap:`xs`,wrap:`wrap`,mt:`xs`,children:e.map(e=>(0,Z.jsx)(pv,{asset:e},e.mcon))})}function pv({asset:e}){let t=mi(e.mcon),n=xi(t?.objectType,16,16,{position:`relative`,top:2});return(0,Z.jsxs)(_t,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,children:[n,` `,e.display_name,(0,Z.jsx)(xn,{size:`xs`,style:{marginLeft:4,verticalAlign:`middle`}})]})}var mv=`oa-coverage-thread`;function hv(e){return`${mv}:${e}`}function gv(e){try{let t=localStorage.getItem(hv(e));if(!t)return{createdMonitors:[],editedYamls:{}};let n=JSON.parse(t);return{createdMonitors:Array.isArray(n.createdMonitors)?n.createdMonitors:[],editedYamls:typeof n.editedYamls==`object`&&n.editedYamls!==null?n.editedYamls:{}}}catch{return{createdMonitors:[],editedYamls:{}}}}function _v(e,t){t.createdMonitors.length===0&&Object.keys(t.editedYamls).length===0?localStorage.removeItem(hv(e)):localStorage.setItem(hv(e),JSON.stringify(t))}function vv(e){return gv(e).createdMonitors}function yv(e,t){let n=gv(e);n.createdMonitors.some(e=>e.uuid===t.uuid)||(n.createdMonitors=[...n.createdMonitors,t],_v(e,n))}function bv(e,t){let n=gv(e),r=n.createdMonitors.filter(e=>!t.has(e.uuid));r.length!==n.createdMonitors.length&&(n.createdMonitors=r,_v(e,n))}function xv(e){return gv(e).editedYamls}function Sv(e,t,n){let r=gv(e);r.editedYamls[t]=n,_v(e,r)}function Cv(e,t){let n=gv(e);delete n.editedYamls[t],_v(e,n)}var wv={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`query`,name:{kind:`Name`,value:`validateCreatedMonitors`},variableDefinitions:[{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`uuids`}},type:{kind:`ListType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`String`}}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`getMonitors`},arguments:[{kind:`Argument`,name:{kind:`Name`,value:`uuids`},value:{kind:`Variable`,name:{kind:`Name`,value:`uuids`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`uuid`}}]}}]}}]};function Tv(e){let t=(0,X.useMemo)(()=>e?vv(e):[],[e]),n=(0,X.useMemo)(()=>t.map(e=>e.uuid),[t]),{data:r,error:i,loading:a}=o(wv,{variables:{uuids:n},skip:n.length===0,fetchPolicy:`network-only`}),[s,c]=(0,X.useState)(()=>new Map(t.map(e=>[e.name,e.uuid]))),[l,u]=(0,X.useState)(e);return e!==l&&(u(e),c(new Map(t.map(e=>[e.name,e.uuid])))),(0,X.useEffect)(()=>{if(!e||n.length===0)return;if(i){c(new Map);return}if(!r)return;let a=new Set(r.getMonitors?.flatMap(e=>e?[e.uuid]:[])??[]),o=new Set(n.filter(e=>!a.has(e)));o.size!==0&&(bv(e,o),c(new Map(t.filter(e=>!o.has(e.uuid)).map(e=>[e.name,e.uuid]))))},[r,i,e,n,t]),{monitorsByName:s,isValidating:a,hasValidationError:!!(i&&n.length>0)}}function Ev(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.warehouses_analyzed!=`number`||typeof t.use_cases_analyzed!=`number`||typeof t.use_cases_skipped!=`number`||!Array.isArray(t.suggested_monitors)||!Array.isArray(t.skipped_use_cases)||`field_level_monitors`in t&&(typeof t.field_level_monitors!=`object`||t.field_level_monitors===null))}var Dv={HIGH:`red`,MEDIUM:`yellow`,LOW:`gray`},Ov={HIGH:0,MEDIUM:1,LOW:2},kv={metric:`Metric`,validation:`Validation`,custom_sql:`Custom SQL`},Av={metric:`blue`,validation:`violet`,custom_sql:`orange`};function jv(e){return[...e].sort((e,t)=>
70{let n=Ov[e.criticality]??3,r=Ov[t.criticality]??3;return n===r?t.tables_newly_covered-e.tables_newly_covered:n-r})}var Mv=[[`MONITOR_HIGH_MED`,`monitoring high and medium-criticality tables only`],[`MONITOR_ALL`,`monitoring everything`],[`MONITOR_HIGH`,`monitoring high-criticality tables only`]];function Nv(e){return Mv.reduce((e,[t,n])=>e.replaceAll(t,n),e).replace(/(^|[.!?]\s+|\n)([a-z])/g,(e,t,n)=>t+n.toUpperCase())}function Pv(e){return`${e.use_case_name}::${e.warehouse_name}`}function Fv(e){return e?Object.values(e).reduce((e,t)=>e+Object.values(t).reduce((e,t)=>e+t.length,0),0):0}function Iv(e){return!!(e&&!e.startsWith(`(`))}function Lv(e){try{return Ya(e),null}catch(e){return e instanceof Error?e.message:`Invalid YAML syntax`}}function Rv({yamlPreview:e,itemKey:t,alreadyCreatedUuid:n,trackingProps:r}){let i=ni(),{selectedThreadId:a}=Fo(),o=ta(),{createMonitor:s,isCreating:l,isComplete:u,error:d,createdMonitor:p}=Kh({navigate:e=>i(e),conversationId:a,conversationOrigin:o?.conversationOrigin,autoNavigate:!1,isDraft:!1,onMonitorCreated:e=>{let n=Hi(o?.contextMention?.metadata);si({agentName:n.agentName??void 0,traceTableMcon:n.traceTableMcon??void 0,monitorId:e,source:`oa_coverage_card`}),a&&yv(a,{uuid:e,name:t})}}),m=p??(n?{uuid:n}:void 0),h=u||!!n,g=Iv(e),[_,v]=(0,X.useState)(()=>a?xv(a)[t]??e:e),[y,b]=(0,X.useState)(!1),x=_!==e,S=(0,X.useMemo)(()=>y?Lv(_):null,[y,_]);return{editedYaml:_,isEditing:y,isModified:x,yamlError:S,yamlIsValid:g,isCreating:l,error:d,monitorCreated:h,resolvedMonitor:m,handleYamlChange:n=>{v(n),a&&(n===e?Cv(a,t):Sv(a,t,n))},handleRestore:()=>{v(e),a&&Cv(a,t),M(c,r)},handleCreate:()=>{Iv(_)&&!S&&(M(f,{...r,yaml_modified:x}),s(_))},handleEditToggle:()=>{y?M(T,{...r,yaml_modified:x}):M(je,r),b(e=>!e)}}}var zv={cursor:`help`};function Bv({yamlIsValid:e,isValidating:t,monitorCreated:n,resolvedMonitor:r,isCreating:i,yamlError:a,trackingProps:o,invalidYamlTooltip:s,handleCreate:c}){return t?(0,Z.jsx)($n,{h:30,w:120,radius:`sm`}):n&&r?(0,Z.jsx)(F,{component:`a`,href:`/monitors/${r.uuid}`,target:`_blank`,size:`compact`,onClick:()=>M(v,{...o,monitor_uuid:r.uuid}),children:`View monitor`}):e?(0,Z.jsx)(F,{size:`compact`,variant:`default`,onClick:c,loading:i,disabled:!!a,children:`Add monitor`}):(0,Z.jsx)(V,{label:s??`Monitor configuration failed during analysis. Expand for details.`,multiline:!0,w:240,withArrow:!0,children:(0,Z.jsx)(It,{size:`sm`,color:`gray`,style:zv})})}function Vv({editedYaml:e,isEditing:t,isModified:n,yamlError:r,monitorCreated:i,handleYamlChange:a,handleEditToggle:o,handleRestore:s}){return(0,Z.jsxs)(B,{children:[(0,Z.jsxs)(L,{gap:`xs`,mb:4,children:[(0,Z.jsxs)(H,{size:`xs`,c:`dimmed`,children:[`Monitor YAML `,t?`(editing)`:`preview`]}),!i&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(F,{size:`compact`,variant:`subtle`,leftSection:(0,Z.jsx)(mn,{size:`xs`}),onClick:o,children:t?`Done`:`Edit`}),n&&(0,Z.jsx)(F,{size:`compact`,variant:`subtle`,color:`dimmed`,leftSection:(0,Z.jsx)(Gn,{size:`xs`}),onClick:s,children:`Restore`})]})]}),t?(0,Z.jsx)(Sr,{autosize:!0,minRows:6,maxRows:20,value:e,onChange:e=>a(e.currentTarget.value),error:r,styles:{input:{fontFamily:`monospace`,fontSize:`var(--mantine-font-size-xs)`}}}):(0,Z.jsx)(xr,{block:!0,children:e})]})}var Hv={flex:1},Uv={minWidth:0},Wv={flexShrink:0};function Gv({analysis:e,itemKey:t,alreadyCreatedUuid:n,isValidating:r}){let{selectedThreadId:i}=Fo(),a={use_case_name:e.use_case_name,warehouse_name:e.warehouse_name,criticality:e.criticality,thread_id:i},o=Rv({yamlPreview:e.yaml_preview,itemKey:t,alreadyCreatedUuid:n,trackingProps:a});return(0,Z.jsxs)(vt.Item,{value:t,children:[(0,Z.jsx)(vt.Control,{children:(0,Z.jsxs)(L,{gap:`sm`,wrap:`nowrap`,justify:`space-between`,style:Hv,children:[(0,Z.jsxs)(L,{gap:`sm`,wrap:`nowrap`,style:Uv,children:[(0,Z.jsx)(H,{fw:500,truncate:!0,children:e.use_case_name}),(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,style:Wv,children:e.warehouse_name})]}),(0,Z.jsxs)(L,{gap:`sm`,wrap:`nowrap`,style:Wv,onClick:e=>e.stopPropagation(),children:[(0,Z.jsx)(Nn,{size:`xs`,color:Dv[e.criticality]??`gray`,children:e.criticality}),(0,Z.jsx)(Bv,{yamlIsValid:o.yamlIsValid,isValidating:r,monitorCreated:o.monitorCreated,resolvedMonitor:o.resolvedMonitor,isCreating:o.isCreating,yamlError:o.yamlError,trackingProps:a,invalidYamlTooltip:e.yaml_preview?void 0:`No monitor configuration available for this use case`,handleCreate:o.handleCreate})]})]})}),(0,Z.jsx)(vt.Panel,{children:(0,Z.jsxs)(R,{gap:`sm`,children:[(0,Z.jsx)(wr,{maxHeight:200,showLabel:`Show more`,hideLabel:`Show less`,children:(0,Z.jsx)(H,{size:`sm`,component:`div`,children:(0,Z.jsx)(Si,{children:Nv(e.reasoning)})})}),(0,Z.jsxs)(L,{gap:`lg`,children:[(0,Z.jsxs)(H,{size:`xs`,c:`dimmed`,children:[`Tables in scope: `,(0,Z.jsx)(`strong`,{children:e.tables_in_scope})]}),(0,Z.jsxs)(H,{size:`xs`,c:`dimmed`,children:[`Already monitored: `,(0,Z.jsx)(`strong`,{children:e.tables_already_monitored})]}),(0,Z.jsxs)(H,{size:`xs`,c:`dimmed`,children:[`Newly covered: `,(0,Z.jsx)(`strong`,{children:e.tables_newly_covered})]})]}),e.key_golden_tables.length>0&&(0,Z.jsxs)(B,{children:[(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,mb:4,children:`Key golden tables`}),(0,Z.jsx)(L,{gap:4,children:e.key_golden_tables.map(e=>(0,Z.jsx)(Nn,{size:`xs`,variant:`light`,children:e},e))})]}
70),o.yamlIsValid&&(0,Z.jsx)(Vv,{editedYaml:o.editedYaml,isEditing:o.isEditing,isModified:o.isModified,yamlError:o.yamlError,monitorCreated:o.monitorCreated,handleYamlChange:o.handleYamlChange,handleEditToggle:o.handleEditToggle,handleRestore:o.handleRestore}),o.error&&(0,Z.jsx)(H,{size:`xs`,c:`red`,children:o.error})]})})]})}var Kv={flex:1},qv={minWidth:0},Jv={flexShrink:0},Yv={cursor:`help`};function Xv({suggestion:e,itemKey:t,alreadyCreatedUuid:n,isValidating:r,useCaseName:i,tableName:a}){let{selectedThreadId:o}=Fo(),s={use_case_name:i,table_name:a,monitor_type:e.monitor_type,monitor_level:`field`,thread_id:o},c=Rv({yamlPreview:e.yaml_preview,itemKey:t,alreadyCreatedUuid:n,trackingProps:s}),l=e.metric&&e.fields.length>0?`${e.metric} on ${e.fields.join(`, `)}`:e.description;return(0,Z.jsxs)(vt.Item,{value:t,children:[(0,Z.jsx)(vt.Control,{children:(0,Z.jsxs)(L,{gap:`sm`,wrap:`nowrap`,justify:`space-between`,style:Kv,children:[(0,Z.jsxs)(L,{gap:`sm`,wrap:`nowrap`,style:qv,children:[(0,Z.jsx)(H,{fw:500,size:`sm`,truncate:!0,children:l}),(0,Z.jsx)(Nn,{size:`xs`,color:Av[e.monitor_type]??`gray`,variant:`light`,style:Jv,children:kv[e.monitor_type]??e.monitor_type})]}),(0,Z.jsx)(B,{onClick:e=>e.stopPropagation(),style:Jv,children:(0,Z.jsx)(Bv,{yamlIsValid:c.yamlIsValid,isValidating:r,monitorCreated:c.monitorCreated,resolvedMonitor:c.resolvedMonitor,isCreating:c.isCreating,yamlError:c.yamlError,trackingProps:s,handleCreate:c.handleCreate})})]})}),(0,Z.jsx)(vt.Panel,{children:(0,Z.jsxs)(R,{gap:`sm`,children:[(0,Z.jsx)(wr,{maxHeight:120,showLabel:`Show more`,hideLabel:`Show less`,children:(0,Z.jsx)(H,{size:`sm`,component:`div`,children:(0,Z.jsx)(Si,{children:e.reasoning})})}),e.fields.length>0&&(0,Z.jsxs)(L,{gap:4,children:[(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,children:`Fields:`}),e.fields.map(e=>(0,Z.jsx)(Nn,{size:`xs`,variant:`light`,children:e},e))]}),c.yamlIsValid&&(0,Z.jsx)(Vv,{editedYaml:c.editedYaml,isEditing:c.isEditing,isModified:c.isModified,yamlError:c.yamlError,monitorCreated:c.monitorCreated,handleYamlChange:c.handleYamlChange,handleEditToggle:c.handleEditToggle,handleRestore:c.handleRestore}),c.error&&(0,Z.jsx)(H,{size:`xs`,c:`red`,children:c.error})]})})]})}function Zv({fieldLevelMonitors:e,createdMonitorsByName:t,isValidating:n,hasValidationError:r}){let{selectedThreadId:i}=Fo(),a=(0,X.useMemo)(()=>Object.entries(e).sort(([e],[t])=>e.localeCompare(t)),[e]);return(0,Z.jsxs)(B,{children:[(0,Z.jsxs)(L,{gap:`xs`,mb:`xs`,children:[(0,Z.jsx)(kr,{order:5,children:`Field-level monitors`}),r&&(0,Z.jsx)(V,{label:`Could not verify previously created monitors — you may see 'Add monitor' for monitors that already exist.`,multiline:!0,w:260,withArrow:!0,children:(0,Z.jsx)(It,{size:`sm`,color:`attention`,"aria-label":`Validation warning`,style:Yv})})]}),(0,Z.jsx)(vt,{variant:`contained`,chevronPosition:`left`,onChange:e=>{e&&M(g,{use_case_name:e,monitor_level:`field`,thread_id:i})},children:a.map(([e,r])=>{let a=Object.entries(r).sort(([e],[t])=>e.localeCompare(t)),o=a.reduce((e,[,t])=>e+t.length,0);return(0,Z.jsxs)(vt.Item,{value:e,children:[(0,Z.jsx)(vt.Control,{children:(0,Z.jsxs)(L,{gap:`sm`,wrap:`nowrap`,children:[(0,Z.jsx)(H,{fw:500,children:e}),(0,Z.jsxs)(Nn,{size:`xs`,variant:`light`,color:`gray`,children:[o,` `,o===1?`monitor`:`monitors`]})]})}),(0,Z.jsx)(vt.Panel,{children:(0,Z.jsx)(R,{gap:`sm`,children:a.map(([r,a])=>(0,Z.jsxs)(ht,{withBorder:!0,p:`sm`,radius:`sm`,children:[(0,Z.jsxs)(L,{gap:6,mb:`xs`,children:[(0,Z.jsx)(Qn,{size:`xs`,color:`gray`}),(0,Z.jsx)(H,{size:`xs`,fw:600,tt:`uppercase`,c:`dimmed`,children:r}),(0,Z.jsx)(Nn,{size:`xs`,variant:`light`,color:`gray`,ml:`auto`,children:a.length})]}),(0,Z.jsx)(vt,{variant:`contained`,chevronPosition:`left`,onChange:t=>{t&&M(g,{use_case_name:e,table_name:r,monitor_level:`field`,thread_id:i})},children:a.map((i,a)=>{let o=`field::${e}::${r}::${a}`;return(0,Z.jsx)(Xv,{itemKey:o,suggestion:i,alreadyCreatedUuid:t.get(o),isValidating:n,useCaseName:e,tableName:r},o)})})]},r))})})]},e)})})]})}function Qv({label:e,value:t}){return(0,Z.jsxs)(ht,{withBorder:!0,p:`md`,radius:`sm`,children:[(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:600,children:e}),(0,Z.jsx)(H,{size:`xl`,fw:700,mt:4,children:t})]})}function $v({data:e}){let{selectedThreadId:t}=Fo(),{monitorsByName:n,isValidating:r,hasValidationError:i}=Tv(t),a=(0,X.useMemo)(()=>Fv(e.field_level_monitors),[e.field_level_monitors]);return(0,Z.jsxs)(R,{gap:`md`,children:[(0,Z.jsxs)(Cr,{cols:a>
700?4:3,children:[(0,Z.jsx)(Qv,{label:`Warehouses analyzed`,value:e.warehouses_analyzed}),(0,Z.jsx)(Qv,{label:`Use cases analyzed`,value:e.use_cases_analyzed}),(0,Z.jsx)(Qv,{label:`Use cases skipped`,value:e.use_cases_skipped}),a>0&&(0,Z.jsx)(Qv,{label:`Field-level monitors`,value:a})]}),e.suggested_monitors.length>0&&(0,Z.jsxs)(B,{children:[(0,Z.jsxs)(L,{gap:`xs`,mb:`xs`,children:[(0,Z.jsx)(kr,{order:5,children:`Suggested monitors`}),i&&(0,Z.jsx)(V,{label:`Could not verify previously created monitors — you may see 'Create' for monitors that already exist.`,multiline:!0,w:260,withArrow:!0,children:(0,Z.jsx)(It,{size:`sm`,color:`attention`,"aria-label":`Validation warning`,style:{cursor:`help`}})})]}),(0,Z.jsx)(vt,{variant:`contained`,chevronPosition:`left`,onChange:n=>{if(n){let r=e.suggested_monitors.find(e=>Pv(e)===n);r&&M(`Chat Assistant Suggested Monitor Expanded`,{use_case_name:r.use_case_name,warehouse_name:r.warehouse_name,criticality:r.criticality,thread_id:t})}},children:jv(e.suggested_monitors).map(e=>{let t=Pv(e);return(0,Z.jsx)(Gv,{itemKey:t,analysis:e,alreadyCreatedUuid:n.get(t),isValidating:r},t)})})]}),a>0&&e.field_level_monitors&&(0,Z.jsx)(Zv,{fieldLevelMonitors:e.field_level_monitors,createdMonitorsByName:n,isValidating:r,hasValidationError:i}),e.skipped_use_cases.length>0&&(0,Z.jsx)(vt,{variant:`contained`,chevronPosition:`left`,children:(0,Z.jsxs)(vt.Item,{value:`skipped`,children:[(0,Z.jsx)(vt.Control,{children:(0,Z.jsxs)(H,{size:`sm`,c:`dimmed`,children:[`Skipped use cases (`,e.skipped_use_cases.length,`)`]})}),(0,Z.jsx)(vt.Panel,{children:(0,Z.jsx)(R,{gap:`xs`,children:[...e.skipped_use_cases].sort((e,t)=>(Ov[e.criticality]??3)-(Ov[t.criticality]??3)).map(e=>(0,Z.jsxs)(R,{gap:2,children:[(0,Z.jsxs)(L,{gap:`sm`,justify:`space-between`,wrap:`nowrap`,children:[(0,Z.jsx)(H,{size:`sm`,fw:500,truncate:!0,children:e.use_case_name}),(0,Z.jsx)(Nn,{size:`xs`,color:Dv[e.criticality]??`gray`,style:{flexShrink:0},children:e.criticality})]}),(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,children:e.reason})]},Pv(e)))})})]})})]})}var ey=`lineageNode`,ty=`lineageEdge`,ny=(0,X.memo)(({data:e})=>{let t=Cn(),[n,r]=(0,X.useState)(!1),i={href:e.link,target:`_blank`,rel:`noopener noreferrer`};return(0,Z.jsxs)(B,{component:e.link?`a`:`span`,display:`block`,style:{textDecoration:`none`,width:270,height:36,border:`1px solid ${e.isRoot?t.colors.orange[5]:t.colors.gray[4]}`,borderRadius:t.radius.sm,backgroundColor:`var(--widget-background)`,boxShadow:n?t.shadows.sm:`none`},onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),...e.link?i:{},children:[(0,Z.jsx)(Qa,{id:`target`,type:`target`,position:Za.Left,isConnectable:!1,style:{visibility:`hidden`}}),(0,Z.jsx)(R,{gap:`xs`,children:(0,Z.jsx)(_i,{label:e.name,children:(0,Z.jsx)(H,{size:`xs`,truncate:!0,py:`xs`,px:`sm`,c:`var(--mantine-color-text)`,children:e.name})})}),(0,Z.jsx)(Qa,{id:`source`,type:`source`,position:Za.Right,isConnectable:!1,style:{visibility:`hidden`}})]})}),ry=(0,X.memo)(e=>{let t=Cn(),[n]=Xa({sourceX:e.sourceX,sourceY:e.sourceY,sourcePosition:e.sourcePosition,targetX:e.targetX,targetY:e.targetY,targetPosition:e.targetPosition});return(0,Z.jsx)(`path`,{d:n,fill:`none`,stroke:t.colors.gray[4],strokeWidth:1,markerEnd:`url(#${io})`})});function iy(e){let{objectType:t}=mi(e.mcon);switch(t){case G.COLLAPSED_EXT:return`Object Storage`;default:return e.name}}var ay=e=>{if(!e||!e.nodes||!e.edges)return{nodes:[],edges:[]};let t=e.nodes.map(e=>({id:e.mcon,data:{name:iy(e),link:e.link,type:e.type}})),n=(0,hu.uniqBy)(e.edges.map(e=>({id:`edge-${e[0]}-${e[1]}`,source:e[0],target:e[1]})),`id`).filter(e=>e.source&&e.target),{nodes:r}=oo(t,n,270,36,{rankdir:`LR`,useAcycler:!0});return{nodes:r.map(e=>({...e,data:{...e.data,isRoot:e.data.type===`alert_table`},type:ey})),edges:n.map(e=>({id:e.id,source:e.source,target:e.target,type:ty,sourceHandle:`source`,targetHandle:`target`}))}},oy=({data:e})=>{let t=eo(),n=dt(),r=Cn(),[i,a]=(0,X.useState)(!1),o=(0,X.useRef)(null),{nodes:s,edges:c}=(0,X.useMemo)(()=>ay(e),[e]),l=(0,X.useMemo)(()=>({[ey]:ny}),[]),u=(0,X.useMemo)(()=>({[ty]:ry}),[]);(0,X.useEffect)(()=>{let e=o.current;if(!e)return;let t=()=>{let{width:t,height:n}=e.getBoundingClientRect();t>0&&n>0&&a(!0)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]);let d=(0,X.useMemo)(()=>
70s?.find(e=>e?.data?.isRoot),[s]);return(0,X.useEffect)(()=>{t&&i&&t.fitView({padding:.2})},[t,i]),s.length===0?null:(0,Z.jsxs)(R,{gap:`xs`,children:[(0,Z.jsx)(kr,{order:4,children:`Relevant upstream tables`}),(0,Z.jsx)(B,{h:400,w:`100%`,ref:o,children:(0,Z.jsx)(to,{children:i&&(0,Z.jsxs)(ro,{nodes:s,edges:c,nodeTypes:l,edgeTypes:u,fitView:!0,fitViewOptions:{padding:.2,nodes:d?[d]:[],maxZoom:.75},minZoom:.5,maxZoom:2,proOptions:{hideAttribution:!0},colorMode:n===`dark`?`dark`:`light`,children:[(0,Z.jsx)(no,{bgColor:n===`light`?r.colors.gray[0]:void 0}),(0,Z.jsx)($a,{showInteractive:!1,position:`top-right`}),(0,Z.jsx)(ao,{})]})})})]})},sy=({data:e})=>e?(0,Z.jsx)(to,{children:(0,Z.jsx)(oy,{data:e})}):null;function cy({message:e}){let t=jc(e),n=t?.id,r=t?.display_setting,i=t?.data?.links,a=``;n&&(r===`log_start`||r===`log_end`)&&(a=l_({id:n,display_setting:r,counts:t?tv(t):{},originalContent:e.content}));let o=a||zc(e.content);if(!o)return null;let s=i&&i.length>0&&n!==`get_lineage_data_node`;return(0,Z.jsxs)(R,{gap:`xs`,children:[(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:(0,Z.jsx)(Si,{collapsibleCodeBlocks:!0,agentFileDownload:Hu,children:o})}),s&&(0,Z.jsx)(Sn,{withBorder:!0,p:`xs`,maw:`100%`,children:(0,Z.jsx)(Gt.Autosize,{mah:150,children:(0,Z.jsx)(L,{gap:`xs`,children:i.map((e,t)=>(0,Z.jsx)(Wg,{url:e.link,label:n===`grab_initial_github_prs_node`&&e.pr_user?(0,Z.jsxs)(L,{gap:0,wrap:`nowrap`,children:[(0,Z.jsx)(H,{fw:`bold`,children:e.pr_user}),(0,Z.jsx)(H,{fw:`bold`,mx:`xxs`,children:`/`}),(0,Z.jsx)(H,{children:e.name})]}):e.name,type:nv(n??``),imgUrl:e.user_avatar_url,variant:`filled`},`${e.link}-${t}`))})})})]})}function ly({messages:e,isComplete:t,lineageData:n}){let[r,{toggle:i}]=hr(!1),a=Zc(e);if(!t){let e=a>0?`Investigating... Ran ${a} ${Ar(`task`,a)} so far.`:`Investigating...`;return(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:e})}let o=a>0?`Investigation complete. Ran ${a} ${Ar(`task`,a)}.`:`Investigation complete.`;return(0,Z.jsxs)(R,{gap:`xs`,children:[(0,Z.jsx)(B,{children:(0,Z.jsx)(d_,{label:r?`Hide details`:o,"aria-label":r?`Hide details`:`${o} Click to expand.`,opened:r,onToggle:i,size:`standard`,c:`dimmed`})}),(0,Z.jsx)(On,{expanded:r,children:(0,Z.jsxs)(R,{gap:`md`,children:[n&&(0,Z.jsx)(sy,{data:n}),(0,Z.jsx)(Gt.Autosize,{mah:400,children:(0,Z.jsx)(R,{gap:`xs`,pl:`xs`,style:{borderLeft:`2px solid var(--mantine-color-gray-3)`},children:e.map((e,t)=>(0,Z.jsxs)(B,{children:[t>0&&(0,Z.jsx)(An,{mb:`xs`,color:`gray.2`}),(0,Z.jsx)(cy,{message:e})]},`log-${e.id??t}`))})})]})})]})}var uy={escalate_to_human_support:`escalating to human support`,askTroubleshootingAgent:`asking the troubleshooting agent`,runllm_support_agent:`asking the support agent`};function dy(e){if(e.length===1){let t=e[0]?.name;return t&&uy[t]?{label:uy[t],isFriendlyName:!0}:{label:t||`1 tool`,isFriendlyName:!1}}return{label:`${e.length} ${Ar(`tool`,e.length)}`,isFriendlyName:!1}}var fy={clamped:`_clamped_1bwjg_1`,preview:`_preview_1bwjg_8`},py=120,my=4e3;function hy({previewText:e,children:t}){let n=e.length>my,r=(0,X.useRef)(null),[i,a]=(0,X.useState)(!1),[o,s]=(0,X.useState)(!1);(0,X.useLayoutEffect)(()=>{if(n)return;let e=r.current;if(!e)return;let t=()=>s(e.scrollHeight>128);t();let i=new ResizeObserver(t);return i.observe(e),()=>i.disconnect()},[n]);let c=n||o,l=c&&!i,u=i||!n;return(0,Z.jsxs)(R,{gap:4,children:[(0,Z.jsx)(B,{ref:r,className:l?fy.clamped:void 0,style:l?{maxHeight:py}:void 0,children:u?t:(0,Z.jsx)(H,{component:`pre`,className:fy.preview,children:e.slice(0,my)})}),c&&(0,Z.jsx)(F,{variant:`subtle`,fullWidth:!0,"aria-expanded":i,onClick:()=>a(e=>!e),children:i?`Show less`:`Show more`})]})}var gy={codeBlock:`_codeBlock_12rr6_2`,plainText:`_plainText_12rr6_7`};function _y(e){if(e.length<2)return null;let t=e.trim();if(!t.startsWith(`{`)&&!t.startsWith(`[`))return null;try{let e=JSON.parse(t);return JSON.stringify(e,null,2)}catch{return null}}var vy=({result:e})=>{let t=_y(e);return t?(0,Z.jsx)(Ci,{code:t,mode:`yaml`,readOnly:!0,enableLineNumbers:!1,height:`auto`,className:gy.codeBlock}):(0,Z.jsx)(H,{size:`xs`,className:gy.plainText,children:e})},yy={root:`_root_h2o9d_3`,compact:`_compact_h2o9d_10`,toolName:`_toolName_h2o9d_16`,sectionLabel:`_sectionLabel_h2o9d_23`,code:`_code_h2o9d_31`};function by({label:e,children:t}){return(0,Z.jsxs)(R,{gap:4,children:[(0,Z.jsx)(H,{component:`span`,className:yy.sectionLabel,children:e}),t]})}function xy({toolCall:e,result:t,density:n=`default`}){let r=Object.keys(e.args).length>0,i=r?JSON.stringify(e.args,null,2):``;return(0,Z.jsxs)(R,{gap:`xs`,className:n===`compact`?`${yy.root} ${yy.compact}
70`:yy.root,children:[(0,Z.jsxs)(L,{gap:`xs`,align:`baseline`,wrap:`nowrap`,children:[(0,Z.jsx)(H,{component:`span`,className:yy.toolName,children:e.name}),t===void 0&&(0,Z.jsx)(H,{component:`span`,size:`xs`,c:`dimmed`,fs:`italic`,children:`running…`})]}),r&&(0,Z.jsx)(by,{label:`Arguments`,children:(0,Z.jsx)(hy,{previewText:i,children:(0,Z.jsx)(Ci,{code:i,mode:`json`,readOnly:!0,enableLineNumbers:!1,height:`auto`,className:yy.code})})}),t!==void 0&&(0,Z.jsx)(by,{label:`Response`,children:(0,Z.jsx)(hy,{previewText:t,children:(0,Z.jsx)(vy,{result:t})})})]})}var Sy={toolCallsDetails:`_toolCallsDetails_1pyav_1`},Cy=e=>{let{label:t,isFriendlyName:n}=dy(e);return n?t:e.length===1?`used ${t}`:`called ${t}`};function wy({toolCalls:e,toolResultsMap:t}){let[n,{toggle:r}]=hr(!1),i=Cy(e);return(0,Z.jsxs)(R,{gap:`xs`,w:`100%`,children:[(0,Z.jsx)(B,{children:(0,Z.jsx)(vi,{label:i,"aria-label":n?`Hide tool execution details`:`${i}. Click to expand.`,opened:n,onToggle:r,size:`standard`,c:`dimmed`,leftSection:(0,Z.jsx)(bn,{size:`xs`})})}),(0,Z.jsx)(On,{expanded:n,children:(0,Z.jsx)(B,{p:`sm`,bg:`light-dark(var(--mantine-color-gray-0), var(--widget-background))`,className:Sy.toolCallsDetails,children:(0,Z.jsx)(R,{gap:`sm`,children:e.map((n,r)=>(0,Z.jsxs)(R,{gap:`sm`,children:[(0,Z.jsx)(xy,{toolCall:n,result:n.id?t?.get(n.id):void 0}),r<e.length-1&&(0,Z.jsx)(An,{})]},n.id??r))})})})]})}function Ty(e,t,n){if(!t||e.length===0)return null;let r=e[e.length-1];if(!r)return{message:`Thinking...`};let i=Tc(r);if(r.type===`ai`&&i.length){let e=n?.(r)?.streamMetadata;if(Wc(e,jc(r)))return{message:`Thinking...`};let t=i.filter(e=>!Ys(e));if(t.length===0)return{message:`Thinking...`};let{label:a,isFriendlyName:o}=dy(t);return{message:o?`${a}...`:`calling ${a}...`,toolCount:t.length}}return r.type===`tool`?{message:`Processing...`}:{message:`Thinking...`}}function Ey(e){let t=new Map;for(let n of e)if(n&&n.type===`tool`){let e=n.tool_call_id;if(e){let r=ls(n.content);t.set(e,r)}}return t}function Dy(e,t,n){if(!n)return!1;let r=-1;for(let t=e.length-1;t>=0;t--)if(e[t]?.type===`human`){r=t;break}return e.findIndex(e=>e?.id===t.id)>r}var Oy=e=>(0,X.useMemo)(()=>{let t=e.find(e=>{if(!e)return!1;let t=jc(e);return t?.display_setting===`log_end`&&t?.id===`get_lineage_data_node`});return t&&jc(t)?.data?.lineage_info||null},[e]),ky={container:`_container_jhrgn_2`,fadeIn:`_fadeIn_jhrgn_1`,markdownContent:`_markdownContent_jhrgn_20`};function Ay({interrupt:e,onInterruptResponse:t,isLoading:n=!1}){let r=e.value;if(r?.type!==bs.CONFIRMATION)return null;let i=r.options??[],a=i.find(e=>e.key===ys.CONFIRM),o=i.find(e=>e.key===ys.CANCEL),s=r.message??``;return(0,Z.jsxs)(R,{gap:`md`,className:ky.container,maw:`90%`,children:[s&&(0,Z.jsx)(B,{className:ky.markdownContent,children:(0,Z.jsx)(Si,{openLinksInNewTab:!0,agentFileDownload:Hu,children:s})}),(0,Z.jsx)(An,{}),(0,Z.jsxs)(L,{gap:`sm`,children:[(0,Z.jsx)(F,{onClick:()=>t({choice:ys.CONFIRM}),disabled:n,loading:n,children:a?.label??`Confirm`}),(0,Z.jsx)(F,{variant:`subtle`,color:`gray`,onClick:()=>t({choice:ys.CANCEL}),disabled:n,children:o?.label??`Cancel`})]})]})}var jy={container:`_container_1dc46_2`,fadeIn:`_fadeIn_1dc46_1`};function My({interrupt:e,onInterruptResponse:t,isLoading:n=!1}){let r=e.value;if(r?.type!==bs.SQL_PERMISSION)return null;let i=r.preview?.queries??[],a=r.options??[];return(0,Z.jsxs)(R,{gap:`md`,className:jy.container,maw:`90%`,children:[(0,Z.jsx)(H,{fw:600,size:`sm`,children:`The agent wants to run SQL on your data`}),i.length>0?i.map((e,t)=>(0,Z.jsxs)(R,{gap:4,children:[(0,Z.jsxs)(B,{style:{position:`relative`},children:[(0,Z.jsx)(B,{style:{position:`absolute`,zIndex:ft.deprecatedEditorHighlighterCopyButton,right:8,top:8},children:(0,Z.jsx)(wi,{textToCopy:e.query})}),(0,Z.jsx)(yi,{code:e.query,children:({displayCode:e})=>(0,Z.jsx)(Ci,{code:e,mode:`sql`,readOnly:!0,"data-testid":`sql-preview-${t}`})})]}),e.warehouse_id&&(0,Z.jsxs)(H,{size:`xs`,c:`dimmed`,children:[`Warehouse: `,e.warehouse_id]})]},t)):(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:`SQL preview unavailable`}),a.length>0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(An,{}),(0,Z.jsx)(L,{gap:`sm`,children:a.map((e,r)=>{let i=r===0,o=r===a.length-1;return(0,Z.jsx)(F,{variant:i?`filled`:o?`subtle`:`default`,color:o?`gray`:void 0,onClick:()=>t({choice:e.key}),disabled:n,loading:i&&n,children:e.label},e.key)})})]})]})}function Ny(e){e.key===`Enter`&&e.preventDefault()}var Py=200,Fy=100,Iy=2,Ly=[G.PROJECT,G.DATASET,G.TABLE,G.VIEW,G.EXTERNAL,G.WILDCARD_TABLE,G.DYNAMIC,G.JOB,G.DBT_JOB,G.FIVETRAN_CONNECTION];function Ry({onChange:e,placeholder:t=`Search for assets and tags...`,searchLimit:n=Py,debounceDelay:r=Fy,minSearchLength:i=Iy,objectTypes:a=Ly,ignoreOb
70jectTypes:o,resourceIds:s,groupResultsByType:c=!1,closeOnSelect:l=!1,selectedNodes:u=[],excludeSelectedNodes:d=!1,includeTags:f=!1,searchTagsOnly:p=!1,showSelectedItems:m=!1,onRemoveSelected:h,testId:g=`asset-and-tag-search-box`}){let[_,v]=(0,X.useState)(``),[y]=tr(_,r),b=qn(),{searchAssetNodes:x,loading:S,error:C}=ji({debouncedSearchValue:y,searchLimit:n,minSearchLength:i,objectTypes:a,ignoreObjectTypes:o,resourceIds:s,includeTags:f,searchTagsOnly:p,sortResults:!0}),w=(0,X.useMemo)(()=>d?x.filter(e=>!u.some(t=>t.value===e.value)):x,[x,u,d]),T=(0,X.useMemo)(()=>c?Oi(w):null,[w,c]),E=t=>{let n=Di(x,t);n&&e?.(n),l&&b.closeDropdown(),v(``)},D=()=>{v(``),b.closeDropdown()},O=()=>{if(S)return(0,Z.jsx)(yt,{size:`xs`});if(_.trim())return(0,Z.jsx)(I,{size:`compact`,variant:`subtle`,color:`gray`,onClick:D,"aria-label":`Clear search`,children:(0,Z.jsx)(on,{})})},k=e=>(0,Z.jsx)(z.Option,{value:e.value,children:(0,Z.jsx)(xl,{node:e})},e.value),A=Ei(y,i,S,x.length>0,!!C),j={leftSection:(0,Z.jsx)(Jn,{size:`sm`}),rightSection:O(),error:C?`Error loading search results`:void 0,"data-testid":g},M={placeholder:t,"aria-label":t,value:_,onChange:e=>{v(e.currentTarget.value),b.openDropdown()},onFocus:()=>b.openDropdown(),onBlur:()=>{b.closeDropdown(),v(``)},onKeyDown:Ny},ee=()=>!m||u.length===0?null:u.map(e=>{let t=ki(e),n=t.secondaryPath?`${t.primaryPath} / ${t.secondaryPath}`:t.primaryPath;return(0,Z.jsx)(Dt,{withRemoveButton:!!h,onRemove:()=>h?.(e),children:n},e.value)});return(0,Z.jsx)(B,{w:`100%`,children:(0,Z.jsxs)(z,{onOptionSubmit:E,store:b,withinPortal:!0,children:[(0,Z.jsx)(z.DropdownTarget,{children:m?(0,Z.jsx)(Rn,{...j,children:(0,Z.jsxs)(Dt.Group,{children:[ee(),(0,Z.jsx)(z.EventsTarget,{children:(0,Z.jsx)(Rn.Field,{...M})})]})}):(0,Z.jsx)(Or,{...j,...M})}),(0,Z.jsx)(z.Dropdown,{hidden:!A,children:(0,Z.jsx)(z.Options,{children:S?(0,Z.jsx)(z.Empty,{children:(0,Z.jsx)(L,{justify:`center`,p:`md`,children:(0,Z.jsx)(yt,{size:`sm`})})}):x.length===0?(0,Z.jsx)(z.Empty,{children:(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,p:`md`,children:`No results found`})}):c&&T?(0,Z.jsx)(Gt.Autosize,{mah:300,children:Object.entries(T).map(([e,t])=>(0,Z.jsx)(z.Group,{label:Ai(e),children:t.map(k)},e))}):(0,Z.jsx)(Gt.Autosize,{mah:300,children:w.map(k)})})})]})})}var zy={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`query`,name:{kind:`Name`,value:`getDomainsV2`},variableDefinitions:[{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`first`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`Int`}},defaultValue:{kind:`IntValue`,value:`25`}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`cursor`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`String`}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`search`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`String`}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`orderBy`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`String`}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`includeAgentCount`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`Boolean`}},defaultValue:{kind:`BooleanValue`,value:!1}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`getDomainsV2`},arguments:[{kind:`Argument`,name:{kind:`Name`,value:`first`},value:{kind:`Variable`,name:{kind:`Name`,value:`first`}}},{kind:`Argument`,name:{kind:`Name`,value:`after`},value:{kind:`Variable`,name:{kind:`Name`,value:`cursor`}}},{kind:`Argument`,name:{kind:`Name`,value:`search`},value:{kind:`Variable`,name:{kind:`Name`,value:`search`}}},{kind:`Argument`,name:{kind:`Name`,value:`orderBy`},value:{kind:`Variable`,name:{kind:`Name`,value:`orderBy`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`totalCount`}},{kind:`Field`,name:{kind:`Name`,value:`edges`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`node`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`N
70ame`,value:`id`}},{kind:`Field`,name:{kind:`Name`,value:`uuid`}},{kind:`Field`,name:{kind:`Name`,value:`name`}},{kind:`Field`,name:{kind:`Name`,value:`createdByEmail`}},{kind:`Field`,name:{kind:`Name`,value:`createdBy`}},{kind:`Field`,name:{kind:`Name`,value:`agentCount`},directives:[{kind:`Directive`,name:{kind:`Name`,value:`include`},arguments:[{kind:`Argument`,name:{kind:`Name`,value:`if`},value:{kind:`Variable`,name:{kind:`Name`,value:`includeAgentCount`}}}]}]}]}},{kind:`Field`,name:{kind:`Name`,value:`cursor`}}]}},{kind:`Field`,name:{kind:`Name`,value:`pageInfo`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`hasNextPage`}},{kind:`Field`,name:{kind:`Name`,value:`hasPreviousPage`}},{kind:`Field`,name:{kind:`Name`,value:`startCursor`}},{kind:`Field`,name:{kind:`Name`,value:`endCursor`}}]}}]}}]}}]},By=25,Vy=200;function Hy({searchTerm:e,pageSize:t=By,allowedUuids:n}){let[r]=tr(e,Vy),[i,a]=(0,X.useState)([]),[s,c]=(0,X.useState)(void 0),[l,u]=(0,X.useState)(r);l!==r&&(u(r),a([]),c(void 0));let{data:d,loading:f,error:p}=o(zy,{variables:{first:t,search:r||void 0,cursor:s},notifyOnNetworkStatusChange:!0}),m=n?.join(`|`)??``,h=(0,X.useMemo)(()=>n?.length?new Set(n):null,[m]),g=(0,X.useMemo)(()=>{let e=d?.getDomainsV2?.edges??[],t=[];for(let n of e){let e=n?.node;if(!e)continue;let{uuid:r,name:i}=e;typeof r!=`string`||!r||typeof i!=`string`||!i||h&&!h.has(r)||t.push({uuid:r,name:i})}return t},[d,h]),_=(0,X.useMemo)(()=>{let e=new Map(g.map(e=>[e.uuid,e])),t=new Set,n=[];for(let r of i)t.has(r.uuid)||(t.add(r.uuid),n.push(e.get(r.uuid)??r));for(let e of g)t.has(e.uuid)||(t.add(e.uuid),n.push(e));return n},[i,g]),v=d?.getDomainsV2?.pageInfo,y=!!v?.hasNextPage,b=v?.endCursor??void 0;return{domains:_,loading:f,error:p,hasNextPage:y,loadMore:(0,X.useCallback)(()=>{!y||f||!b||(a(e=>[...e,...g]),c(b))},[y,f,b,g]),debouncedSearch:r}}var Uy=280;function Wy({selected:e,onChange:t,placeholder:n,testId:r=`domain-picker`,allowedUuids:i}){return e?(0,Z.jsx)(Gy,{selected:e,onClear:()=>t(null),testId:r}):(0,Z.jsx)(Ky,{onChange:t,placeholder:n,testId:r,allowedUuids:i})}function Gy({selected:e,onClear:t,testId:n}){return(0,Z.jsxs)(L,{gap:`xs`,wrap:`nowrap`,"data-testid":`${n}-selected`,align:`center`,children:[(0,Z.jsxs)(B,{style:{flex:1,minWidth:0},children:[(0,Z.jsx)(H,{size:`sm`,fw:500,truncate:!0,children:e.name}),(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,ff:`monospace`,truncate:!0,children:e.uuid})]}),(0,Z.jsx)(I,{variant:`subtle`,color:`gray`,size:`compact`,onClick:t,"aria-label":`Clear selected domain`,"data-testid":`${n}-clear`,children:(0,Z.jsx)(on,{})})]})}function Ky({onChange:e,placeholder:t=`Search for a domain...`,testId:n,allowedUuids:r}){let[i,a]=(0,X.useState)(``),o=qn(),{domains:s,loading:c,error:l,hasNextPage:u,loadMore:d}=Hy({searchTerm:i,allowedUuids:r}),f=t=>{let n=s.find(e=>e.uuid===t);n&&(!n.uuid||!n.name||(e({uuid:n.uuid,name:n.name}),a(``),o.closeDropdown()))},p=c&&s.length===0,m=!c&&!l&&s.length===0,h=!!l;return(0,Z.jsxs)(z,{onOptionSubmit:f,store:o,withinPortal:!0,children:[(0,Z.jsx)(z.Target,{children:(0,Z.jsx)(Or,{leftSection:(0,Z.jsx)(Jn,{size:`sm`}),rightSection:c&&s.length>0?(0,Z.jsx)(yt,{size:`xs`}):void 0,placeholder:t,"aria-label":t,value:i,onChange:e=>{a(e.currentTarget.value),o.openDropdown(),o.updateSelectedOptionIndex()},onFocus:()=>o.openDropdown(),onBlur:()=>o.closeDropdown(),"data-testid":`${n}-input`,error:l?`Could not load domains`:void 0})}),(0,Z.jsx)(z.Dropdown,{children:(0,Z.jsxs)(z.Options,{children:[p&&(0,Z.jsx)(z.Empty,{"data-testid":`${n}-loading`,children:(0,Z.jsx)(L,{justify:`center`,p:`md`,children:(0,Z.jsx)(yt,{size:`sm`})})}),h&&(0,Z.jsx)(z.Empty,{"data-testid":`${n}-error`,children:(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,p:`md`,children:`Could not load domains. Try a different search.`})}),m&&!u&&(0,Z.jsx)(z.Empty,{"data-testid":`${n}-empty`,children:(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,p:`md`,children:i.trim()?`No domains match "${i.trim()}"`:`No domains available`})}),(s.length>0||m&&u)&&(0,Z.jsxs)(Gt.Autosize,{mah:Uy,children:[s.map(e=>(0,Z.jsx)(z.Option,{value:e.uuid,"data-testid":`${n}-option`,children:(0,Z.jsxs)(R,{gap:2,children:[(0,Z.jsx)(H,{size:`sm`,fw:500,children:e.name}),(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,ff:`monospace`,children:e.uuid})]})},e.uuid)),m&&u&&(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,px:`sm`,pt:`md`,children:`No matches on this page`}),u&&(0,Z.jsx)(B,{px:`sm`,py:`xs`,"data-testid":`${n}-load-more`,children:(0,Z.jsx)(St,{onMouseDown:e=>{e.preventDefault(),d()}
70,disabled:c,children:(0,Z.jsx)(H,{size:`sm`,c:c?`dimmed`:`blue`,children:c?`Loading more…`:`Load more`})})})]})]})})]})}var qy=280,Jy=14;function Yy({selected:e,onChange:t,placeholder:n,testId:r=`warehouse-picker`,allowedUuids:i}){return e?(0,Z.jsx)(Xy,{selected:e,onClear:()=>t(null),testId:r}):(0,Z.jsx)(Zy,{onChange:t,placeholder:n,testId:r,allowedUuids:i})}function Xy({selected:e,onClear:t,testId:n}){return(0,Z.jsxs)(L,{gap:`xs`,wrap:`nowrap`,"data-testid":`${n}-selected`,align:`center`,children:[(0,Z.jsxs)(B,{style:{flex:1,minWidth:0},children:[(0,Z.jsx)(H,{size:`sm`,fw:500,truncate:!0,children:e.name}),(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,ff:`monospace`,truncate:!0,children:e.uuid})]}),(0,Z.jsx)(I,{variant:`subtle`,color:`gray`,size:`compact`,onClick:t,"aria-label":`Clear selected warehouse`,"data-testid":`${n}-clear`,children:(0,Z.jsx)(on,{})})]})}function Zy({onChange:e,placeholder:t=`Search for a warehouse...`,testId:n,allowedUuids:r}){let[i,a]=(0,X.useState)(``),o=qn(),{data:s,loading:c,error:l}=nt(!0,!0),u=r?.join(`|`)??``,d=(0,X.useMemo)(()=>r?.length?new Set(r):null,[u]),f=(0,X.useMemo)(()=>{let e=i.trim().toLowerCase(),t=[];for(let n of s??[]){if(!n.uuid)continue;let r=n.name||n.connectionType||``;if(!r||e&&!r.toLowerCase().includes(e)||d&&!d.has(n.uuid))continue;let i=n.connections.find(e=>e.connectionUiConfig?.classification===Ue.Warehouse);t.push({uuid:n.uuid,name:r,logo:i?.connectionUiConfig?.logo.s??void 0,LogoComponent:i?.connectionUiConfig?.logo.Icon})}return t},[s,i,d]),p=t=>{let n=f.find(e=>e.uuid===t);n&&(e({uuid:n.uuid,name:n.name}),a(``),o.closeDropdown())},m=c,h=!!l&&!c,g=!c&&!l&&f.length===0;return(0,Z.jsxs)(z,{onOptionSubmit:p,store:o,withinPortal:!0,children:[(0,Z.jsx)(z.Target,{children:(0,Z.jsx)(Or,{leftSection:(0,Z.jsx)(Jn,{size:`sm`}),rightSection:c?(0,Z.jsx)(yt,{size:`xs`}):void 0,placeholder:t,"aria-label":t,value:i,onChange:e=>{a(e.currentTarget.value),o.openDropdown(),o.updateSelectedOptionIndex()},onFocus:()=>o.openDropdown(),onBlur:()=>o.closeDropdown(),"data-testid":`${n}-input`,error:l?`Could not load warehouses`:void 0})}),(0,Z.jsx)(z.Dropdown,{children:(0,Z.jsxs)(z.Options,{children:[m&&(0,Z.jsx)(z.Empty,{"data-testid":`${n}-loading`,children:(0,Z.jsx)(L,{justify:`center`,p:`md`,children:(0,Z.jsx)(yt,{size:`sm`})})}),h&&(0,Z.jsx)(z.Empty,{"data-testid":`${n}-error`,children:(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,p:`md`,children:`Could not load warehouses. Try again.`})}),g&&(0,Z.jsx)(z.Empty,{"data-testid":`${n}-empty`,children:(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,p:`md`,children:i.trim()?`No warehouses match "${i.trim()}"`:`No warehouses available`})}),f.length>0&&(0,Z.jsx)(Gt.Autosize,{mah:qy,children:f.map(e=>(0,Z.jsx)(z.Option,{value:e.uuid,"data-testid":`${n}-option`,children:(0,Z.jsxs)(L,{gap:`xs`,wrap:`nowrap`,align:`flex-start`,children:[(0,Z.jsx)(B,{mt:2,children:e.LogoComponent?(0,Z.jsx)(e.LogoComponent,{size:`xs`}):e.logo?(0,Z.jsx)(B,{component:`img`,src:e.logo,alt:``,w:Jy,h:Jy}):(0,Z.jsx)(bt,{"data-testid":`${n}-default-icon`,width:Jy,height:Jy})}),(0,Z.jsxs)(R,{gap:0,children:[(0,Z.jsx)(H,{size:`sm`,fw:500,children:e.name}),(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,ff:`monospace`,children:e.uuid})]})]})},e.uuid))})]})})]})}var Qy=25,$y=200;function eb({warehouseUuid:e,searchTerm:t,databaseName:n,pageSize:r=Qy}){let[i]=tr(t,$y),[a,s]=(0,X.useState)([]),[c,l]=(0,X.useState)(0),[u,d]=(0,X.useState)(i),[f,p]=(0,X.useState)(e),[m,h]=(0,X.useState)(n);(u!==i||f!==e||m!==n)&&(d(i),p(e),h(n),s([]),l(0));let{data:g,loading:_,error:v}=o(Sa,{skip:!e,variables:{warehouseUuid:e,assetSelection:{},assetSelectionLevel:n?qr.Schema:qr.Database,filterByDatabaseName:n??void 0,limit:r,offset:c,rankByDatabaseSchema:i||void 0},notifyOnNetworkStatusChange:!0}),y=(0,X.useMemo)(()=>{let e=g?.evaluateAssetSelection??[],t=[];for(let r of e){if(!r||typeof r.id!=`string`||!r.id)continue;let e=typeof r.name==`string`&&r.name?r.name:r.id;n?t.push({id:r.id,name:e,type:`SCHEMA`,database:n}):t.push({id:r.id,name:e,type:`DATABASE`})}return t},[g,n]),b=(0,X.useMemo)(()=>{let e=e=>e.type===`SCHEMA`?JSON.stringify([`S`,e.database,e.id]):JSON.stringify([`D`,e.id]),t=new Map(y.map(t=>[e(t),t])),n=new Set,r=[];for(let i of a){let a=e(i);n.has(a)||(n.add(a),r.push(t.get(a)??i))}for(let t of y){let i=e(t);n.has(i)||(n.add(i),r.push(t))}return r},[a,y]),x=(g?.evaluateAssetSelection?.length??0)===r;return{items:b,loading:_,error:v,hasNextPage:x,loadMore:(0,X.useCallback)(()=>{!x||_||(s(e=>[...e,...y]),l(e=>e+r))},[x,_,y,r]),debouncedSearch:i}}function tb(e){return JSON.stringify(e)}function nb(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function rb(e){let t;try{t=JSON.parse(e)}catch{return null}if(!nb(t))return null;let{action:n,database:r,schema:i}=t;return n===`back`?{action:`back`}:typeof r!=`string`||!r?null:n===`select_database`?{action:`select_database`,database:r}:n===`browse_schemas`?{action:`browse_schemas`,database:r}:n===`select_schema`?typeof i!=`string`||!i?null:{action:`select_schema`,database:r,schema:i}:null}function ib(e){return JSON.stringify([e.database,e.schema??null])}var ab=280,ob=14,sb=tb({action:`back`});function cb({warehouseUuid:e,selected:t,onChange:n,placeholder:r=`Search for a database...`,testId:i=`database-or-schema-picker`,onInteract:a}){let[o,s]=(0,X.useState)(``),[c,l]=(0,X.useState)(null),[u,d]=(0,X.useState)(e);u!==e&&(d(e),l(null),s(``));let f=(0,X.useRef)(null),p=qn({onDropdownClose:()=>{p.resetSelectedOption(),l(null),s(``)},onDropdownOpen:()=>p.updateSelectedOptionIndex(`active`)}),{items:m,loading:h,error:g,hasNextPage:_,loadMore:v}=eb({warehouseUuid:e,searchTerm:o,databaseName:c}
70),y=(0,X.useMemo)(()=>new Set(t.filter(e=>e.schema==null).map(e=>e.database)),[t]),b=(0,X.useMemo)(()=>new Set(t.map(ib)),[t]),x=(0,X.useMemo)(()=>m.filter(e=>e.type===`DATABASE`?!y.has(e.name):!y.has(e.database)&&!b.has(ib(e))),[m,y,b]),S=e=>{let r=rb(e);if(r){if(r.action===`back`){l(null),s(``),f.current?.focus();return}if(r.action===`browse_schemas`){l(r.database),s(``),f.current?.focus();return}if(r.action===`select_database`){if(y.has(r.database))return;let e={database:r.database,label:r.database};n([...t.filter(e=>e.database!==r.database),e]),l(null),s(``);return}if(r.action===`select_schema`){if(y.has(r.database))return;let e={database:r.database,schema:r.schema,label:`${r.database}.${r.schema}`},i=ib(e);n([...t.filter(e=>ib(e)!==i),e]),s(``)}}},C=e=>{let r=ib(e);n(t.filter(e=>ib(e)!==r)),f.current?.focus()},w=e=>{if(e.key===`Backspace`&&!o&&t.length>0){e.preventDefault();let n=t[t.length-1];n&&C(n)}else e.key===`Enter`&&(e.preventDefault(),p.selectFirstOption())},T=h&&m.length===0,E=!!g&&!h,D=!h&&!g&&x.length===0,O=c?`schemas`:`databases`;return(0,Z.jsxs)(z,{onOptionSubmit:S,store:p,withinPortal:!0,children:[(0,Z.jsx)(qt,{role:`status`,"aria-live":`polite`,children:c?`Now viewing schemas in ${c}`:`Now viewing databases`}),(0,Z.jsx)(z.DropdownTarget,{children:(0,Z.jsx)(Rn,{onClick:()=>p.openDropdown(),"data-testid":`${i}-target`,error:g?`Could not load databases`:void 0,children:(0,Z.jsxs)(Dt.Group,{children:[t.map(e=>(0,Z.jsx)(Dt,{withRemoveButton:!0,onRemove:()=>C(e),"data-testid":`${i}-pill`,removeButtonProps:{"aria-label":`Remove ${e.label}`},children:e.label},ib(e))),(0,Z.jsx)(z.EventsTarget,{children:(0,Z.jsx)(Rn.Field,{ref:f,value:o,placeholder:t.length===0?c?`Search schemas in ${c}...`:r:``,onChange:e=>{s(e.currentTarget.value),p.openDropdown(),p.updateSelectedOptionIndex()},onFocus:()=>{a?.(),p.openDropdown()},onBlur:()=>p.closeDropdown(),onKeyDown:w,"data-testid":`${i}-input`})})]})})}),(0,Z.jsx)(z.Dropdown,{children:(0,Z.jsxs)(z.Options,{children:[T&&(0,Z.jsx)(z.Empty,{"data-testid":`${i}-loading`,children:(0,Z.jsx)(L,{justify:`center`,p:`md`,children:(0,Z.jsx)(yt,{size:`sm`})})}),E&&(0,Z.jsx)(z.Empty,{"data-testid":`${i}-error`,children:(0,Z.jsxs)(H,{size:`sm`,c:`dimmed`,ta:`center`,p:`md`,children:[`Could not load `,O,`. Try again.`]})}),D&&!_&&(0,Z.jsx)(z.Empty,{"data-testid":`${i}-empty`,children:(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,p:`md`,children:o.trim()?`No ${O} match "${o.trim()}"`:t.length>0?`No more ${O} to add`:`No ${O} available`})}),(x.length>0||c||D&&_)&&(0,Z.jsxs)(Gt.Autosize,{mah:ab,children:[c&&(0,Z.jsx)(z.Option,{value:sb,"data-testid":`${i}-back`,"aria-label":`Navigate back to database list`,children:(0,Z.jsxs)(L,{gap:`xxs`,wrap:`nowrap`,children:[(0,Z.jsx)(_n,{width:ob,height:ob,"aria-hidden":`true`,focusable:!1}),(0,Z.jsx)(H,{size:`sm`,c:`blue`,children:`Back to databases`})]})}),x.map(e=>(0,Z.jsx)(X.Fragment,{children:e.type===`DATABASE`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(z.Option,{value:tb({action:`select_database`,database:e.name}),"data-testid":`${i}-option`,children:(0,Z.jsxs)(L,{gap:`xxs`,wrap:`nowrap`,children:[(0,Z.jsx)(bt,{"data-testid":`${i}-database-icon`,width:ob,height:ob,"aria-hidden":`true`,focusable:!1}),(0,Z.jsx)(H,{size:`sm`,children:e.name}),(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,children:`All schemas`})]})}),(0,Z.jsx)(z.Option,{value:tb({action:`browse_schemas`,database:e.name}),"data-testid":`${i}-schema-drilldown-option`,children:(0,Z.jsxs)(H,{size:`sm`,c:`blue`,pl:`xl`,children:[`Choose schemas in `,e.name]})})]}):(0,Z.jsx)(z.Option,{value:tb({action:`select_schema`,database:e.database,schema:e.name}),"data-testid":`${i}-option`,children:(0,Z.jsxs)(L,{gap:`xxs`,wrap:`nowrap`,children:[(0,Z.jsx)(bt,{width:ob,height:ob,"aria-hidden":`true`,focusable:!1}),(0,Z.jsx)(H,{size:`sm`,children:e.name})]})})},`${e.type}-${e.id}`)),D&&_&&(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,px:`sm`,pt:`md`,children:`No matches on this page`}),_&&(0,Z.jsx)(B,{px:`sm`,py:`xs`,"data-testid":`${i}-load-more`,children:(0,Z.jsx)(St,{onMouseDown:e=>{e.preventDefault(),v()},disabled:h,children:(0,Z.jsx)(H,{size:`sm`,c:h?`dimmed`:`blue`,children:h?`Loading more…`:`Load more`})})})]})]})})]})}var lb=new Set;function ub(e){return lb.has(e)}function db(e){lb.add(e)}var fb={container:`_container_60s7n_2`,fadeIn:`_fadeIn_60s7n_1`,stepperContainer:`_stepperContainer_60s7n_13`,stepper:`_stepper_60s7n_13`,radioOption:`_radioOption_60s7n_36`,radioRoot:`_radioRoot_60s7n_50`,radioBody:`_radioBody_60s7n_54`,radioLabelWrapper:`_radioLabelWrapper_60s7n_58`,radioLabel:`_radioLabel_60s7n_58`},pb=[G.JOB,G.DBT_JOB,G.FIVETRAN_CONNECTION],mb=[G.PROJECT,G.DATASET],hb={table:[...Qr],job:pb,database:mb};function gb(e){if(!e?.length)return;let t=e.flatMap(e=>hb[e]??[]);return t.length?t:void 0}function _b(e){return e.assetDetails.type===`monitor`?e.assetDetails.uuid:e.assetDetails.type===`alert`?e.assetDetails.alertId:e.assetDetails.type===`tag`?e.label:e.assetDetails.mcon??e.label}var vb=`__other__`,yb=5,bb=[],xb=[];function Sb(e){let t=e.map(_b).filter(e=>typeof e==`string`&&e.length>0);return t.length===0?``:JSON.stringify(t)}function Cb(e,t){return Array.isArray(t)?t.length===0?``:JSON.stringify(t.map(e=>({uuid:e.uuid,name:e.label}))):JSON.stringify({uuid:t.uuid,name:t.label})}var wb={root:fb.radioRoot,body:fb.radioBody,labelWrapper:fb.radioLabelWrapper,label:fb.radioLabel};function Tb({id:e,label:t,value:n}){return(0,Z.jsx)(B,{component:`label`,htmlFor:e,className:fb.radioOption,children:(0,Z.jsx)(Wt,{id:e,value:n,label:t,classNames:wb})})}function Eb(e){return{showProgressStepper:e>1&&e<=yb,showTextProgress:e>yb}}function Db(e,t){if(!e.has(t))return e;let n=new Map(e);return n.delete(t),n}function Ob(e,t){return e.map(e=>({question_id:e.id,value:t.get(e.id)??``}))}function kb(e,t){let n=t.trim();if(!n.length)return!1;let r=Number(n);return!(!Number.isFinite(r)||typeof e.min==`number`&&r<e.min||typeof e.max==`number`&&r>e.max)}function Ab(e,t){if(e.type!==`number`||!t.trim().length)return;let n=Number(t);if(!Number.isFinite(n))return`Enter a valid number.`;let r=typeof e.min==`number`,i=typeof e.max==`number`,a=r&&n<e.min,o=i&&n>e.max;if(!(!a&&!o))return r&&i?`Enter a number from ${e.min} to ${e.max}.`:r?`Enter a number greater than or equal to ${e.min}.`:`Enter a number less than or equal to ${e.max}.`}function jb(e,t){let{currentAnswer:n,currentSelectedOption:r,currentOtherText:i,hasDomainSelection:a,hasAudienceAnswer:o,hasAssetsAnswer:s,hasWarehouseSelection:c,hasDatabaseOrSchemaSelection:l,hasDatabaseOrSchemaInteraction:u}=t;return e.type===`options`?r===vb?i.trim().length>0:r.length>
700:e.type===`number`?kb(e,n):e.type===`domain`?a:e.type===`audience`||e.type===`audiences`?o:e.type===`assets`?s:e.type===`warehouse`?c:e.type===`database_or_schema`?l||u:n.trim().length>0}function Mb(e){if(e.type!==`options`)return;let{default_option:t,options:n}=e;if(!(typeof t!=`string`||!n?.includes(t)))return t}function Nb(e){let t=new Map;for(let n of e){n.type===`database_or_schema`&&n.warehouse_uuid&&t.set(n.id,JSON.stringify({warehouseUuid:n.warehouse_uuid,items:[]}));let e=Mb(n);e&&t.set(n.id,e)}return t}function Pb(e){let t=new Map;for(let n of e){let e=Mb(n);e&&t.set(n.id,e)}return t}function Fb(e){return{question_count:e.length,question_types:[...new Set(e.map(e=>e.type))].sort().join(`,`),has_default_option:e.some(e=>Mb(e)!==void 0)}}function Ib(e,t){let n=e.filter(e=>Mb(e)!==void 0);if(n.length)return n.every(e=>t.get(e.id)===Mb(e))}function Lb(e){return typeof e==`string`?e:String(e)}function Rb({questions:e,toolCallId:t,onSubmitAnswers:n,onCancel:r,isLoading:i=!1}){let[a,o]=(0,X.useState)(0),[s,c]=(0,X.useState)(()=>Nb(e)),[l,u]=(0,X.useState)(new Map),[d,f]=(0,X.useState)(()=>Pb(e)),[p,m]=(0,X.useState)(new Map),[h,g]=(0,X.useState)(new Map),[_,v]=(0,X.useState)(new Map),[y,b]=(0,X.useState)(new Map),[x,S]=(0,X.useState)(new Map),[C,w]=(0,X.useState)(new Map),[T,E]=(0,X.useState)(new Set),D=(0,X.useId)(),O=(e,t)=>{c(n=>new Map(n).set(e,t))},k=()=>{o(e=>Math.max(0,e-1))},A=()=>{o(t=>Math.min(e.length-1,t+1))};(0,X.useEffect)(()=>{ub(t)||(db(t),M(me,Fb(e)))},[t,e]);let j=t=>{let n=Ib(e,t),r=e.filter(e=>!(t.get(e.id)??``).length).length;M(le,{...Fb(e),skipped_count:r,used_other:[...d.values()].includes(vb),...n===void 0?{}:{kept_default_option:n}})},ee=()=>{j(s),n(t,Ob(e,s))},te=()=>{M(ne,Fb(e)),r(t)},N=e[a];if(!N)return null;let re=a===0,P=a===e.length-1,ie=s.get(N.id)??``,ae=d.get(N.id)??``,oe=l.get(N.id)??``,se=ae===vb,ce=Ab(N,ie),ue=jb(N,{currentAnswer:ie,currentSelectedOption:ae,currentOtherText:oe,hasDomainSelection:_.has(N.id
70),hasAudienceAnswer:(y.get(N.id)??[]).length>=1,hasAssetsAnswer:(h.get(N.id)??[]).length>=1,hasWarehouseSelection:x.has(N.id),hasDatabaseOrSchemaSelection:(C.get(N.id)??[]).length>0,hasDatabaseOrSchemaInteraction:T.has(N.id)}),{showProgressStepper:de,showTextProgress:fe}=Eb(e.length),pe=!ue||i,he=P?ee:A,ge=e=>{if(!e.repeat&&!e.nativeEvent.isComposing&&e.key===`Enter`&&(e.metaKey||e.ctrlKey)){if(e.preventDefault(),pe)return;he()}},_e=e=>{if(f(t=>new Map(t).set(N.id,e)),e!==vb)O(N.id,e);else{let e=l.get(N.id)??``;O(N.id,e)}},ve=e=>{u(t=>new Map(t).set(N.id,e)),O(N.id,e)},ye=e=>{f(t=>Db(t,e)),u(t=>Db(t,e)),m(t=>Db(t,e)),v(t=>Db(t,e)),b(t=>Db(t,e)),S(t=>Db(t,e)),w(t=>Db(t,e)),E(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})};return(0,Z.jsx)(ht,{withBorder:!0,p:`lg`,radius:`md`,className:fb.container,children:(0,Z.jsxs)(R,{gap:`md`,children:[de&&(0,Z.jsx)(B,{className:fb.stepperContainer,children:(0,Z.jsx)(Tr,{active:a,size:`sm`,allowNextStepsSelect:!1,className:fb.stepper,children:e.map(e=>(0,Z.jsx)(Tr.Step,{},e.id))})}),fe&&(0,Z.jsxs)(H,{size:`sm`,c:`dimmed`,children:[`Question `,a+1,` of `,e.length]}),(0,Z.jsx)(H,{fw:500,id:D,children:N.question}),N.description&&(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:N.description}),N.type===`options`&&N.options&&(0,Z.jsx)(Wt.Group,{value:ae,onChange:_e,labelProps:{id:D},children:(0,Z.jsxs)(R,{gap:`sm`,children:[N.options.map((e,t)=>{let n=`${N.id}-option-${t}`;return(0,Z.jsx)(Tb,{id:n,value:e,label:e},n)}),N.allow_other!==!1&&(0,Z.jsx)(Tb,{id:`${N.id}-${vb}`,value:vb,label:`Other`})]})}),N.type===`options`&&se&&(0,Z.jsx)(Sr,{placeholder:`Enter your answer`,value:oe,onChange:e=>ve(e.currentTarget.value),onKeyDown:ge,autosize:!0,minRows:2,maxRows:4}),N.type===`text`&&(0,Z.jsx)(Sr,{placeholder:N.placeholder??`Enter your answer...`,description:`Press ${br}+Enter to submit`,value:ie,onChange:e=>O(N.id,e.currentTarget.value),onKeyDown:ge,autosize:!0,minRows:2,maxRows:4}),N.type===`number`&&(0,Z.jsx)(xt,{placeholder:N.placeholder??`Enter a number`,value:ie,min:N.min,max:N.max,allowNegative:typeof N.min!=`number`||N.min<0,clampBehavior:`blur`,step:10,error:ce,onChange:e=>{O(N.id,Lb(e))}}),N.type===`asset_search`&&(0,Z.jsx)(Ry,{placeholder:N.placeholder??`Search for an asset...`,closeOnSelect:!0,groupResultsByType:!0,showSelectedItems:!0,excludeSelectedNodes:!0,objectTypes:gb(N.asset_types),selectedNodes:p.has(N.id)?[p.get(N.id)]:[],onChange:e=>{if(!e)return;let t=_b(e);t&&(O(N.id,t),m(t=>new Map(t).set(N.id,e)))},onRemoveSelected:()=>{O(N.id,``),m(e=>{let t=new Map(e);return t.delete(N.id),t})}}),N.type===`assets`&&(0,Z.jsx)(Ry,{placeholder:N.placeholder??`Search for assets...`,groupResultsByType:!0,showSelectedItems:!0,excludeSelectedNodes:!0,objectTypes:gb(N.asset_types),selectedNodes:h.get(N.id)??xb,onChange:e=>{if(!e||!_b(e))return;let t=h.get(N.id)??[],n=_b(e);if(t.some(e=>_b(e)===n))return;let r=[...t,e];O(N.id,Sb(r)),g(e=>new Map(e).set(N.id,r))},onRemoveSelected:e=>{let t=h.get(N.id)??[],n=_b(e),r=t.filter(e=>_b(e)!==n);O(N.id,Sb(r)),g(e=>{let t=new Map(e);return r.length===0?t.delete(N.id):t.set(N.id,r),t})}},N.id),N.type===`domain`&&(0,Z.jsx)(Wy,{placeholder:N.placeholder,allowedUuids:N.uuids,selected:_.get(N.id)??null,onChange:e=>{if(!e){O(N.id,``),v(e=>{let t=new Map(e);return t.delete(N.id),t});return}!e.uuid||!e.name||(O(N.id,JSON.stringify({uuid:e.uuid,name:e.name})),v(t=>new Map(t).set(N.id,e)))}},N.id),N.type===`audience`&&(0,Z.jsx)(so,{mode:`single`,placeholder:N.placeholder,allowedUuids:N.uuids,selected:y.get(N.id)?.[0]??null,onChange:e=>{if(!e||!e.uuid||!e.label){O(N.id,``),b(e=>{let t=new Map(e);return t.delete(N.id),t});return}O(N.id,Cb(`audience`,e)),b(t=>new Map(t).set(N.id,[e]))}},N.id),N.type===`audiences`&&(0,Z.jsx)(so,{mode:`multi`,placeholder:N.placeholder,allowedUuids:N.uuids,selected:y.get(N.id)??bb,onChange:e=>{if(e.length===0){O(N.id,``),b(e=>{let t=new Map(e);return t.delete(N.id),t});return}O(N.id,Cb(`audiences`,e)),b(t=>new Map(t).set(N.id,e))}},N.id),N.type===`warehouse`&&(0,Z.jsx)(Yy,{placeholder:N.placeholder,allowedUuids:N.uuids,selected:x.get(N.id)??null,onChange:e=>{if(!e){O(N.id,``),S(e=>{let t=new Map(e);return t.delete(N.id),t});return}!e.uuid||!e.name||(O(N.id,JSON.stringify({uuid:e.uuid,name:e.name})),S(t=>new Map(t).set(N.id,e)))}},N.id),N.type===`database_or_schema`&&N.warehouse_uuid&&(0,Z.jsx)(cb,{warehouseUuid:N.warehouse_uuid,placeholder:N.placeholder,selected:C.get(N.id)??[],onInteract:()=>{E(e=>
70{if(e.has(N.id))return e;let t=new Set(e);return t.add(N.id),t})},onChange:e=>{w(t=>new Map(t).set(N.id,e)),O(N.id,JSON.stringify({warehouseUuid:N.warehouse_uuid,items:e}))}},N.id),(0,Z.jsxs)(L,{gap:`sm`,children:[P?(0,Z.jsx)(F,{onClick:he,disabled:pe,loading:i,children:`Submit`}):(0,Z.jsx)(F,{onClick:he,disabled:pe,children:`Next`}),!re&&(0,Z.jsx)(F,{variant:`subtle`,color:`gray`,onClick:k,disabled:i,children:`Back`}),N.optional&&(0,Z.jsx)(F,{variant:`subtle`,color:`gray`,onClick:()=>{let r=Db(s,N.id);if(P){j(r),n(t,Ob(e,r));return}c(r),ye(N.id),A()},disabled:i,"aria-describedby":D,children:`Skip`}),(0,Z.jsx)(F,{variant:`subtle`,color:`gray`,onClick:te,disabled:i,children:`Cancel`})]})]})})}function zb(e,t,n,r){return e??(t&&n?r:null)??void 0}var Bb={emptyStateContainer:`_emptyStateContainer_1ylq7_1`,emptyStateContent:`_emptyStateContent_1ylq7_6`,messagesContainer:`_messagesContainer_1ylq7_10`,virtualizerContainer:`_virtualizerContainer_1ylq7_14`,virtualItem:`_virtualItem_1ylq7_20`,compactItem:`_compactItem_1ylq7_28`,recoveryBanner:`_recoveryBanner_1ylq7_32`},Vb=`This response couldn't be displayed.`,Hb=({error:e})=>{throw e},Ub={[bs.CONFIRMATION]:Ay,[bs.SQL_PERMISSION]:My},Wb={table:{component:dv}};function Gb(){let{messages:e,isLoading:t,isLoadingConversation:n,error:r,recoveryRequested:i,stopped:a,getMessagesMetadata:o,contextMentions:s,fileAttachments:c,interrupt:l,handleInterruptResponse:u,pendingClientToolCalls:d,handleAskUserResponse:f,handleAskUserCancel:p,retryLastSubmit:m,handleResume:g}=Mo(),{handleNewConversation:_}=Fo(),{virtualizer:v,visibleMessages:y,processedItems:b,virtualItems:x,totalSize:C}=Oo(),w=r?hl(r):null,T=w?ml(w):null,E=i&&T!==null,D=jl(),O=()=>{let e=m();M(h,{error_kind:w,retried:e,agent_mode:D})},k=()=>{M(S,{error_kind:w,agent_mode:D}),_()},{emptyState:A}=Dl(D),j=eg(),ee=Oy(e),te=(0,X.useMemo)(()=>Ey(e),[e]),ne=(0,X.useMemo)(()=>{let e=d.find(e=>e.name===Ls);if(!e)return null;let t=pc(e);return t?.length?{call:e,questions:t}:null},[d]),N=(0,X.useMemo)(()=>{for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.type===`human`)return n.id}return null},[e]),re=(0,X.useRef)(e),P=(0,X.useRef)(new Set);if(!t)P.current=new Set,re.current=e;else if(e!==re.current){let t=re.current[re.current.length-1]?.id,n=e[e.length-1]?.id;t!=null&&t!==n&&P.current.add(t),re.current=e}let ie=e[e.length-1]?.id??null,ae=t&&ie!=null&&!P.current.has(ie)?ie:null,oe=(r,i)=>{let a=r,d=r.id===e[e.length-1]?.id,f=jc(a);if(i===`hide`)return null;if(Pc(a))return r.id==null||r.id!==ae?null:(0,Z.jsx)(B,{children:(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:`Reasoning in progress...`})});let p=null;switch(r.type){case`human`:{if(i===`evidence_correction`){p=(0,Z.jsx)(lv,{content:r.content});break}let e=o(r),n=e?.firstSeenState?.values?.context_mentions,a=e?.firstSeenState?.values?.file_attachments,l=r.id===N,u=zb(n,l,t,s),d=zb(a,l,t,c);p=(0,Z.jsx)(lu,{content:r.content,contextMentions:u,fileAttachments:d});break}case`ai`:{let o=a.tool_calls,s=j?.showFollowUpQuestions===!1?void 0:a.metadata?.follow_up_suggestions,c=Dy(e,r,t),m={content:r.content,toolCalls:o,toolResultsMap:te,messageId:r.id,isLastMessage:d,isStreaming:r.id!=null&&r.id===ae,isLoadingConversation:n,followUpQuestions:s,interrupt:d?l:null,onInterruptResponse:u,hideFeedback:c};switch(i){case`reasoning_block`:p=(0,Z.jsx)(Hg,{content:r.content});break;case`final_response_structured`:p=(0,Z.jsx)(ev,{data:f?.data,messageId:r.id,isLastMessage:d});break;case`query_perf_profile_table`:p=(0,Z.jsx)(Vg,{...m,markdownOverrides:Wb});break;case`asset_references`:p=(0,Z.jsx)(fv,{assets:f?.assets??[]});break;case`follow_up_suggestions`:{let e=f?.suggestions??[];p=e.length>0&&j?.showFollowUpQuestions!==!1&&d?(0,Z.jsx)(Ou,{suggestions:e,onQuestionClick:g}):null;break}default:{let e=Ev(f?.data?.autonomous_result)?f.data.autonomous_result:void 0;if(e){p=(0,Z.jsxs)(R,{gap:`md`,children:[(0,Z.jsx)(Vg,{...m}),(0,Z.jsx)($v,{data:e})]});break}let t=(f?.id===`react_agent_node`||f?.id===`analyze_use_cases`)&&o!==void 0&&o.length>0,n=r.content?zc(r.content):``,i=r.id!=null&&r.id===ae,a=n?!i||Wu(n).completeParagraphs.length>0:!1,s=o?.some(e=>Cc(e,te))??!1,l=o?.some(Oc)??!1;if(!a&&!s&&!l){p=null;break}p=(0,Z.jsx)(Vg,{...m,hideFeedback:t||c})}}break}
70default:p=null}return p};if(n)return(0,Z.jsx)(`div`,{className:Bb.emptyStateContainer,"data-testid":`chat-messages-container`,children:(0,Z.jsxs)(R,{align:`center`,justify:`center`,h:`100%`,gap:`md`,maw:A.maxWidth,mx:`auto`,className:Bb.emptyStateContent,children:[(0,Z.jsx)(yt,{size:`md`}),(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,children:`Loading conversation...`})]})});if(y.length===0&&!t)return(0,Z.jsx)(`div`,{className:Bb.emptyStateContainer,"data-testid":`chat-messages-container`,children:(0,Z.jsxs)(R,{align:`center`,justify:`center`,h:`100%`,gap:`md`,maw:A.maxWidth,mx:`auto`,className:Bb.emptyStateContent,children:[(0,Z.jsx)(H,{size:`lg`,c:`dimmed`,children:A.title}),(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,children:A.description})]})});let se=`translateY(${C}px)`,ce=Ub[l?.value?.type];return(0,Z.jsx)(`div`,{className:Bb.messagesContainer,"data-testid":`chat-messages-container`,children:(0,Z.jsxs)(`div`,{className:Bb.virtualizerContainer,style:{height:C},children:[x.map(e=>{let t=b[e.index];if(!t)return null;let n=null,r=`row-${e.index}`,i=!1,a=null;try{if(t.kind===`log_group`){let a=!b.slice(e.index+1).some(e=>e.kind===`log_group`);n=(0,Z.jsx)(ly,{messages:t.messages,isComplete:t.isComplete,lineageData:a?ee:void 0}),r=`log-group-${t.messages[0]?.id??e.index}`,i=!0}else if(t.kind===`tool_group`){let a=t.messages.flatMap(Dc);n=a.some(e=>e.id!==void 0&&te.has(e.id))?(0,Z.jsx)(wy,{toolCalls:a,toolResultsMap:te}):null,r=`tool-group-${t.messages[0]?.id??e.index}`,i=!0}else{let a=Nc(t.message);i=a===`reasoning_block`,n=oe(t.message,a),r=`message-${t.message.id}-${e.index}`}}catch(e){a=e,i=!1,n=(0,Z.jsx)(Hb,{error:e})}if(!n)return(0,Z.jsx)(`div`,{"data-index":e.index,ref:v.measureElement,style:{position:`absolute`,top:0,left:0,width:`100%`,height:0,transform:`translateY(${e.start}px)`}},r);let o=i?`${Bb.virtualItem} ${Bb.compactItem}`:Bb.virtualItem;return(0,Z.jsx)(`div`,{"data-index":e.index,"data-message-id":t.kind===`single`?t.message.id:void 0,ref:v.measureElement,className:o,style:{transform:`translateY(${e.start}px)`},children:(0,Z.jsx)(Fe,{message:Vb,withRetry:a===null,children:n})},r)}),l&&ce&&(0,Z.jsx)(`div`,{className:Bb.virtualItem,style:{transform:se},children:(0,Z.jsx)(ce,{interrupt:l,onInterruptResponse:u,isLoading:t})}),ne&&(0,Z.jsx)(`div`,{className:Bb.virtualItem,style:{transform:se},children:(0,Z.jsx)(Rb,{questions:ne.questions,toolCallId:ne.call.id,onSubmitAnswers:f,onCancel:p,isLoading:t})}),(E||t)&&(0,Z.jsx)(`div`,{className:Bb.virtualItem,style:{transform:se},children:E&&T?(0,Z.jsx)(Vt,{variant:`default`,icon:(0,Z.jsx)(Mt,{size:`sm`,color:`yellow`}),title:T.title,className:Bb.recoveryBanner,children:(0,Z.jsxs)(R,{gap:`sm`,children:[(0,Z.jsx)(H,{size:`sm`,children:T.body}),(0,Z.jsxs)(L,{gap:`xs`,children:[(0,Z.jsx)(F,{leftSection:(0,Z.jsx)(Gn,{size:`xs`}),onClick:O,children:`Try again`}),T.showNewConversation&&(0,Z.jsx)(F,{variant:`outline`,onClick:k,children:`Start a new conversation`})]})]})}):(0,Z.jsx)(B,{children:(0,Z.jsxs)(L,{gap:`xs`,align:`center`,children:[(0,Z.jsx)(yt,{size:`sm`}),(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:Ty(e,t,o)?.message})]})})}),a&&!t&&!E&&(0,Z.jsx)(`div`,{className:Bb.virtualItem,style:{transform:se},children:(0,Z.jsxs)(L,{gap:`xs`,align:`center`,c:`dimmed`,component:`output`,"aria-live":`polite`,children:[(0,Z.jsx)(Ct,{size:`sm`}),(0,Z.jsx)(H,{size:`sm`,children:`Response stopped`})]})})]})})}function Kb(e){return Array.from(new Map(e.map(e=>[e.id,e])).values()).map(e=>({id:e.id,label:e.label,objectType:e.objectType,resourceId:e.resourceId,metadata:e.metadata}))}function qb(e={}){let{conversationId:t,initialContext:n,preservedMentions:r}=e,[i,a]=(0,X.useState)(()=>r&&r.length>0?r.map(e=>({...e,metadata:Hi(e.metadata),source:`context-button`})):[]),[o,s]=(0,X.useState)(t),c=(0,X.useRef)(r&&r.length>0);(0,X.useEffect)(()=>{t!==o&&(o&&(a([]),c.current=!1),s(t))},[t,o]),(0,X.useEffect)(()=>{n&&!t&&!c.current&&(c.current=!0,a([{id:n.id,label:n.label,objectType:n.objectType,resourceId:n.resourceId,metadata:Hi(n.metadata),source:`context-button`}]),M(re,{mention_id:n.id,mention_label:n.label,object_type:n.objectType,source:`auto-populated`}))},[n,t]);let l=(0,X.useCallback)(e=>{a(t=>{let n=t.findIndex(t=>t.id===e.id);if(n!==-1){let r=t[n];return r?e.source===`context-button`?t.map((e,t)=>t===n?{...e,source:`context-button`}:e):(e.source===`tiptap`&&r.source,t):t}return M(re,{mention_id:e.id,mention_label:e.label,object_type:e.objectType,source:e.source}),[...t,e]})},[]),u=(0,X.useCallback)((e,t)=>{a(n=>{let r=n.find(t=>
70t.id===e);return r&&M(fe,{mention_id:r.id,mention_label:r.label,object_type:r.objectType,source:r.source}),t?n.filter(n=>n.id!==e||n.source!==t):n.filter(t=>t.id!==e)})},[]),d=(0,X.useCallback)(()=>{a([])},[]),f=(0,X.useCallback)(()=>{a(e=>e.map(e=>e.source===`tiptap`?{...e,source:`context-button`}:e))},[]);return{mentions:i,serializedMentions:(0,X.useMemo)(()=>Kb(i),[i]),addMention:l,removeMention:u,clearMentions:d,upgradeTiptapMentions:f}}var Jb={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`query`,name:{kind:`Name`,value:`searchMonitorsForContext`},variableDefinitions:[{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`search`}},type:{kind:`ListType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`String`}}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`domainId`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`UUID`}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`limit`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`Int`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`getMonitors`},arguments:[{kind:`Argument`,name:{kind:`Name`,value:`search`},value:{kind:`Variable`,name:{kind:`Name`,value:`search`}}},{kind:`Argument`,name:{kind:`Name`,value:`domainId`},value:{kind:`Variable`,name:{kind:`Name`,value:`domainId`}}},{kind:`Argument`,name:{kind:`Name`,value:`limit`},value:{kind:`Variable`,name:{kind:`Name`,value:`limit`}}},{kind:`Argument`,name:{kind:`Name`,value:`searchFields`},value:{kind:`ListValue`,values:[{kind:`EnumValue`,value:`RULE_NAME`},{kind:`EnumValue`,value:`RULE_DESCRIPTION`},{kind:`EnumValue`,value:`ENTITIES`},{kind:`EnumValue`,value:`MONITOR_FIELDS`}]}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`uuid`}},{kind:`Field`,name:{kind:`Name`,value:`description`}},{kind:`Field`,name:{kind:`Name`,value:`name`}},{kind:`Field`,name:{kind:`Name`,value:`monitorType`}},{kind:`Field`,name:{kind:`Name`,value:`entityMcons`}}]}}]}}]},Yb={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`query`,name:{kind:`Name`,value:`searchAlertsForContext`},variableDefinitions:[{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`domainIds`}},type:{kind:`ListType`,type:{kind:`NonNullType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`UUID`}}}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`first`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`Int`}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`createdTime`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`DateTimeRangeInput`}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`orderBy`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`String`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`getAlerts`},arguments:[{kind:`Argument`,name:{kind:`Name`,value:`filter`},value:{kind:`ObjectValue`,fields:[{kind:`ObjectField`,name:{kind:`Name`,value:`include`},value:{kind:`ObjectValue`,fields:[{kind:`ObjectField`,name:{kind:`Name`,value:`domainIds`},value:{kind:`Variable`,name:{kind:`Name`,value:`domainIds`}}}]}}]}},{kind:`Argument`,name:{kind:`Name`,value:`first`},value:{kind:`Variable`,name:{kind:`Name`,value:`first`}}},{kind:`Argument`,name:{kind:`Name`,value:`createdTime`},value:{kind:`Variable`,name:{kind:`Name`,value:`createdTime`}}},{kind:`Argument`,name:{kind:`Name`,value:`orderBy`},value:{kind:`Variable`,name:{kind:`Name`,value:`orderBy`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`edges`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`node`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`id`}},{kind:`Field`,name:{kind:`Name`,value:`title`}},{kind:`Field`,name:{kind:`Name`,value:`type`}},{kind:`Field`,name:{kind:`Name`,value:`subTypes`}},{kind:`Field`,name:{kind:`Name`,value:`severity`}}
70,{kind:`Field`,name:{kind:`Name`,value:`status`}},{kind:`Field`,name:{kind:`Name`,value:`createdTime`}},{kind:`Field`,name:{kind:`Name`,value:`tables`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`mcon`}}]}}]}}]}}]}}]}}]},Xb={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`query`,name:{kind:`Name`,value:`getAgentMetadataV2`},variableDefinitions:[{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`domainUuid`}},type:{kind:`NamedType`,name:{kind:`Name`,value:`UUID`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`getAgentMetadataV2`},arguments:[{kind:`Argument`,name:{kind:`Name`,value:`domainUuid`},value:{kind:`Variable`,name:{kind:`Name`,value:`domainUuid`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`accountUuid`}},{kind:`Field`,name:{kind:`Name`,value:`agentName`}},{kind:`Field`,name:{kind:`Name`,value:`displayName`}},{kind:`Field`,name:{kind:`Name`,value:`sourceType`}},{kind:`Field`,name:{kind:`Name`,value:`traceTableMcon`}}]}}]}}]};function Zb(){let e=new Date;return{after:new Date(e.getTime()-2592e6).toISOString(),before:e.toISOString()}}function Qb({searchQuery:e,includeAgents:t=!1}){let n=ti(),r=!!e,{data:i,loading:a,error:s}=o(ci,{variables:{query:e,domainId:n??void 0,objectTypes:Vi,limit:50,fullResults:!1,orderByTableComponent:!1},skip:!r,errorPolicy:`all`}),{data:c,loading:l,error:u}=o(ci,{variables:{query:``,domainId:n??void 0,objectTypes:Array.from(Qr),limit:4,fullResults:!1,orderByTableComponent:!1},skip:r,errorPolicy:`all`}),{data:d,loading:f,error:p}=o(ci,{variables:{query:``,domainId:n??void 0,objectTypes:Array.from($r),limit:4,fullResults:!1,orderByTableComponent:!1},skip:r,errorPolicy:`all`}),{data:m,loading:h,error:g}=o(ci,{variables:{query:``,domainId:n??void 0,objectTypes:[G.WAREHOUSE],limit:4,fullResults:!1,orderByTableComponent:!1},skip:r,errorPolicy:`all`}),{data:_,loading:v,error:y}=o(ci,{variables:{query:``,domainId:n??void 0,objectTypes:[G.JOB,G.DBT_JOB],limit:4,fullResults:!1,orderByTableComponent:!1},skip:r,errorPolicy:`all`}),{data:b,loading:x,error:S}=o(Jb,{variables:{search:r?[e]:null,domainId:n??void 0,limit:r?50:4},errorPolicy:`all`}),C=(0,X.useMemo)(()=>Zb(),[]),{data:w,loading:T,error:E}=o(Yb,{variables:{domainIds:n?[n]:void 0,first:50,createdTime:C,orderBy:`-createdTime`},errorPolicy:`all`}),{data:D,loading:O}=o(Xb,{variables:{domainUuid:n??void 0},errorPolicy:`all`,skip:!t}),k=a||l||f||h||v||x||T||O,A=s||u||p||g||y||S||E;return{results:(0,X.useMemo)(()=>{let t=b?.getMonitors?.filter(e=>e!=null).map(e=>zi(e))??[],n=w?.getAlerts?.edges?.filter(e=>e?.node!=null).map(e=>e.node)??[],a=(r?n.filter(t=>t.title?.toLowerCase().includes(e.toLowerCase())):n.slice(0,4)).map(Ii),o=D?.getAgentMetadataV2?.map(e=>Ri(e??{})).filter(e=>e!=null)??[],s=e.toLowerCase(),l=r?o.filter(e=>e.label.toLowerCase().includes(s)||(e.metadata?.agentName?.toLowerCase().includes(s)??!1)):o.slice(0,4),u=new Set(l.map(e=>e.metadata?.traceTableMcon).filter(e=>!!e)),f=e=>e.filter(e=>!u.has(e.id));return r?[...f(i?.search?.results?.filter(e=>e!=null).map(e=>Wi(e))??[]),...t,...a,...l]:[...f([...c?.search?.results??[],...d?.search?.results??[],...m?.search?.results??[],..._?.search?.results??[]].filter(e=>e!=null).map(e=>Wi(e))),...t,...a,...l]},[r,e,i?.search?.results,c?.search?.results,d?.search?.results,m?.search?.results,_?.search?.results,b?.getMonitors,w?.getAlerts?.edges,D?.getAgentMetadataV2]),loading:k,error:A?.message}}var $b={comboboxOption:`_comboboxOption_1fpkh_2`,container:`_container_1fpkh_15`,centerContent:`_centerContent_1fpkh_25`,searchInput:`_searchInput_1fpkh_29`,groupLabel:`_groupLabel_1fpkh_37`};function ex({onToggle:e,onClose:t,initialSearchValue:n=``,selectedMentions:r=[],includeAgents:i=!1}){let[a,o]=(0,X.useState)(n),[s]=tr(a,500),c=qn({onDropdownClose:t}),{results:l,loading:u,error:d}=Qb({searchQuery:s,includeAgents:i}),f=!!d,p=(0,X.useMemo)(()=>{let e=new Set(r.map(e=>e.id)),t=[],n=[];l.forEach(r=>{e.has(r.id)?t.push(r):n.push(r)});let i=r.map(e=>t.find(t=>
70t.id===e.id)??e),a=Li(n);return i.length>0?{Selected:i,...a}:a},[l,r]),m=t=>{let n=r.find(e=>e.id===t);if(n){e(n);return}let i=l.find(e=>e.id===t);i&&e(i)},h=e=>r.some(t=>t.id===e);return(0,Z.jsx)(B,{className:$b.container,children:(0,Z.jsxs)(z,{store:c,onOptionSubmit:m,children:[(0,Z.jsx)(B,{p:`sm`,children:(0,Z.jsx)(z.EventsTarget,{children:(0,Z.jsx)(Or,{value:a,onChange:e=>o(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&e.preventDefault()},onFocus:()=>c.openDropdown(),placeholder:`Search tables, agents, reports, jobs, warehouses...`,leftSection:(0,Z.jsx)(Jn,{size:`sm`}),className:$b.searchInput})})}),(0,Z.jsx)(z.Options,{children:u||f||l.length===0?(0,Z.jsx)(L,{justify:`center`,align:`center`,className:$b.centerContent,children:u?(0,Z.jsx)(yt,{size:`sm`}):f?(0,Z.jsxs)(B,{p:`md`,ta:`center`,children:[(0,Z.jsx)(H,{size:`sm`,c:`red`,fw:500,mb:`xs`,children:`There was an error loading the search results.`}),(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:d||`Please try again or refine your search.`})]}):(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,children:`No results found. Try a different search.`})}):(0,Z.jsx)(Gt,{h:400,children:Object.entries(p).map(([e,t],n)=>(0,Z.jsxs)(B,{children:[(0,Z.jsx)(H,{size:`xs`,fw:500,c:`dimmed`,px:`sm`,pt:n===0?`sm`:`md`,pb:`xs`,className:$b.groupLabel,children:e}),t.map(e=>{let t=e.id;if(!t)return null;let n=Bi(e),r=h(t);return(0,Z.jsx)(z.Option,{value:t,className:$b.comboboxOption,children:(0,Z.jsxs)(L,{gap:`sm`,wrap:`nowrap`,align:`flex-start`,children:[(0,Z.jsx)(dn,{checked:r,onChange:()=>{},tabIndex:-1,size:`xs`,"aria-hidden":`true`,style:{marginTop:2}}),(0,Z.jsx)(B,{style:{flex:1,minWidth:0},children:(0,Z.jsx)(xl,{shouldUseBiDisplayName:!0,node:n})})]})},t)})]},e))})})]})})}var tx=ei(e=>({suggestions:[],query:void 0,loading:!1,error:void 0,setSuggestions:t=>e({suggestions:t}),setQuery:t=>e({query:t}),setLoading:t=>e({loading:t}),setError:t=>e({error:t})})),nx={mentionOption:`_mentionOption_1hskk_2`,container:`_container_1hskk_17`,centerContent:`_centerContent_1hskk_29`,groupLabel:`_groupLabel_1hskk_33`},rx=X.forwardRef(({command:e},t)=>
70{let[n,r]=(0,X.useState)(0),i=(0,X.useRef)(null),a=(0,X.useRef)([]),{suggestions:o,loading:s,error:c}=tx(),{groupedSuggestions:l,flatOrderedSuggestions:u}=(0,X.useMemo)(()=>{let e=Li(o);return{groupedSuggestions:e,flatOrderedSuggestions:Object.values(e).flat()}},[o]),d=t=>{let n=u[t];n&&e(n)},f=e=>{let t=a.current[e];if(t&&i.current){let e=i.current.getBoundingClientRect(),n=t.getBoundingClientRect();(n.top<e.top||n.bottom>e.bottom)&&t.scrollIntoView({block:`nearest`,behavior:`smooth`})}},p=()=>{let e=u.length,t=(n+e-1)%e;r(t),f(t)},m=()=>{let e=u.length,t=(n+1)%e;r(t),f(t)},h=()=>{d(n)};(0,X.useEffect)(()=>r(0),[o]),(0,X.useEffect)(()=>{f(n)},[n]),(0,X.useImperativeHandle)(t,()=>({onKeyDown:({event:e})=>e.key===`ArrowUp`?(p(),!0):e.key===`ArrowDown`?(m(),!0):e.key===`Tab`?u.length?(e.preventDefault(),e.shiftKey?p():m(),!0):!1:e.key===`Enter`&&(h(),!0)}));let g=()=>{let e=0;return Object.entries(l).map(([t,r],i)=>(0,Z.jsxs)(B,{children:[(0,Z.jsx)(H,{size:`xs`,fw:500,c:`dimmed`,px:`sm`,pt:i===0?`sm`:`md`,pb:`xs`,className:nx.groupLabel,children:t}),r.map(t=>{let r=e++;return(0,Z.jsx)(B,{ref:e=>{a.current[r]=e},onClick:()=>d(r),className:nx.mentionOption,"data-selected":r===n,children:(0,Z.jsx)(xl,{shouldUseBiDisplayName:!0,node:Bi(t)})},t.id)})]},t))},_=s&&o.length===0,v=!!c,y=!s&&!v&&o.length===0;return(0,Z.jsx)(B,{className:nx.container,children:_||v||y?(0,Z.jsx)(L,{justify:`center`,align:`center`,className:nx.centerContent,children:_?(0,Z.jsx)(yt,{size:`sm`}):v?(0,Z.jsxs)(B,{p:`md`,ta:`center`,children:[(0,Z.jsx)(H,{size:`sm`,c:`red`,fw:500,mb:`xs`,children:`There was an error loading the search results.`}),(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:c||`Please try again or refine your search.`})]}):(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,children:`No results found. Try a different search.`})}):(0,Z.jsx)(Gt,{h:400,ref:i,children:g()})})});rx.displayName=`ContextMentionList`;function ix(e,t,n=`tiptap`){return r=>{t({...r,source:n}),e.command({id:r.id,label:r.label,objectType:r.objectType})}}function ax(e,t){if(!t.clientRect||!e?.element)return;let n=e.element;n.style.position=`fixed`,document.body.appendChild(n),dr(t.editor,n)}function ox(e){let t=new Set;return e.state.doc.descendants(e=>{e.type.name===`mention`&&t.add(e.attrs.id)}),t}function sx(e,t){e.forEach(e=>{e.source===`tiptap`&&t({...e,source:`context-button`})})}function cx(e,t,n,r){e.forEach(e=>{if(e.source===`context-button`)return;let i=t.has(e.id),a=n.has(e.id);!i&&(e.source===`tiptap`||a)&&r(e.id)})}var lx={container:`_container_1vya5_1`,item:`_item_1vya5_11`},ux=(0,X.forwardRef)(({skills:e,loading:t,onSelect:n},r)=>{let[i,a]=(0,X.useState)(0);return(0,X.useEffect)(()=>a(0),[e]),(0,X.useImperativeHandle)(r,()=>({onKeyDown:({event:t})=>{if(t.key===`ArrowUp`)return a(t=>t<=0?Math.max(0,e.length-1):t-1),!0;if(t.key===`ArrowDown`)return a(t=>t>=e.length-1?0:t+1),!0;if(t.key===`Enter`){let t=e[i];return t&&n(t.name),!0}return!1}})),t?(0,Z.jsx)(B,{className:lx.container,p:`md`,children:(0,Z.jsxs)(L,{justify:`center`,children:[(0,Z.jsx)(yt,{size:`sm`}),(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,children:`Loading skills...`})]})}):e.length===0?(0,Z.jsx)(B,{className:lx.container,p:`md`,children:(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,children:`No matching skills`})}):(0,Z.jsx)(B,{className:lx.container,role:`listbox`,"aria-label":`Skills`,children:e.map((e,t)=>(0,Z.jsxs)(B,{className:lx.item,role:`option`,"aria-selected":t===i,"data-selected":t===i,onMouseDown:t=>{t.preventDefault(),n(e.name)},children:[(0,Z.jsxs)(H,{size:`sm`,fw:500,children:[`/`,e.name]}),(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,lineClamp:1,children:e.description})]},e.name))})});ux.displayName=`SlashCommandMenu`;var dx=`${He.AI_AGENT_URL}/skills`,fx=()=>{let{data:e}=et(),t=e?.getUser?.cognitoUserId;return(0,X.useMemo)(()=>{if(!t)return null;let e=async(e,n={})=>{let i=await Pl(e,{...n,headers:{...n.headers,"Content-Type":`application/json`,[r]:t}});if(!i.ok){let e=await i.json().catch(()=>({})),t=Error(e.error??`Request failed: ${i.statusText}`);throw Object.assign(t,{status:i.status}),t}return i};return{listSkills:async t=>{let n=t?`?scope=${encodeURIComponent(t)}`:``;return(await e(`${dx}${n}`)).json()},getSkill:async t=>(await e(`${dx}/${encodeURIComponent(t)}`)).json(),createSkill:async(t,n)=>(await e(dx,{method:`POST`,body:JSON.stringify({content:t,scope:n})})).json(),updateSkill:async(t,n)=>(await e(`${dx}/${encodeURIComponent(t)}`,{method:`PUT`,body:JSON.stringify({content:n})})).json(),deleteSkill:async t=>{await e(`${dx}/${encodeURIComponent(t)}`,{method:`DELETE`})}}},[t])}
70,px=({value:e,onChange:t,onKeyDown:n,placeholder:r,disabled:i,selectedMentions:a,onAddMention:o,onRemoveMention:s,name:c,className:l,testId:u,includeAgents:d=!1})=>{let f=(0,X.useRef)(!1),p=(0,X.useRef)(!1),[m,h]=(0,X.useState)(``),[g]=tr(m,500),_=(0,X.useRef)(new Set),v=(0,X.useRef)([]),y=(0,X.useRef)(!0),b=fx();(0,X.useEffect)(()=>{if(!b)return;let e=!1;return y.current=!0,b.listSkills().then(t=>{e||(v.current=t,y.current=!1)}).catch(()=>{e||(y.current=!1)}),()=>{e=!0}},[b]);let{results:x,loading:S,error:C}=Qb({searchQuery:g,includeAgents:d}),{setSuggestions:w,setQuery:T,setLoading:E,setError:D}=tx();(0,X.useEffect)(()=>{E(S),D(C),w(x)},[x,S,C,w,E,D]),(0,X.useEffect)(()=>{T(m),m!==g&&(E(!0),w([]))},[m,g,T,E,w]);let O=cn.extend({name:`slashCommand`}).configure({suggestion:{char:`/`,allow:({range:e,isActive:t})=>t||e.from===1,command:({editor:e,range:t,props:n})=>{e.chain().focus().deleteRange(t).insertContent(`/${n.name} `).run()},items:({query:e})=>{let t=v.current;if(!e)return t;let n=e.toLowerCase();return t.filter(e=>e.name.toLowerCase().includes(n)||e.description.toLowerCase().includes(n))},render:()=>{let e=null;return{onStart:t=>{f.current=!0,e=new sr(ux,{props:{skills:t.items??[],loading:y.current,onSelect:e=>{t.command({name:e})}},editor:t.editor}),ax(e,t)},onUpdate(t){if(!e){e=new sr(ux,{props:{skills:t.items??[],loading:y.current,onSelect:e=>{t.command({name:e})}},editor:t.editor}),ax(e,t);return}e.updateProps({skills:t.items??[],loading:y.current,onSelect:e=>{t.command({name:e})}}),t.clientRect&&e.element&&ax(e,t)},onKeyDown(t){if(t.event.key===`Escape`)return e?.element?.remove(),e?.destroy(),!0;let n=e?.ref?.onKeyDown?.(t)??!1;return t.event.key===`Enter`&&n&&(p.current=!0),n},onExit(){f.current=!1,e?.element?.remove(),e?.destroy(),e=null}}}}}),k=pr({shouldRerenderOnTransaction:!0,extensions:[hn,Tn,Un,jn.configure({placeholder:r}),cn.configure({HTMLAttributes:{class:`context-mention`},renderText:({node:e})=>`@${e.attrs.label}`,renderHTML({node:e}){return[`span`,{class:`context-mention`,"data-type":`context-mention`,"data-id":e.attrs.id,"data-label":e.attrs.label,"data-object-type":e.attrs.objectType},`@${e.attrs.label}`]},suggestion:{allowSpaces:!0,render:()=>{let e=null;return{onStart:t=>{f.current=!0,e=new sr(rx,{props:{command:ix(t,o)},editor:t.editor}),ax(e,t)},onUpdate(t){if(!e){e=new sr(rx,{props:{command:ix(t,o)},editor:t.editor}),ax(e,t);return}e.updateProps({command:ix(t,o)}),t.clientRect&&e.element&&ax(e,t)},onKeyDown(t){if(t.event.key===`Escape`)return e?.destroy(),!0;let n=e?.ref?.onKeyDown?.(t)??!1;return t.event.key===`Enter`&&n&&(p.current=!0),n},onExit(){f.current=!1,e?.element?.remove(),e?.destroy()}}},items:({query:e})=>{h(e);let t=tx.getState();return t.loading?[]:t.suggestions}}}),O],content:e,editable:!i,onUpdate:({editor:e})=>{t(e.getText());let n=ox(e);_.current.size>0&&n.size===0?sx(a,o):cx(a,n,_.current,s),_.current=n}});return(0,X.useLayoutEffect)(()=>{k&&!k.isDestroyed&&e!==k.getText()&&k.commands.setContent(e||``)},[k,e]),(0,X.useEffect)(()=>{if(k&&!k.isDestroyed&&r){let e=k.extensionManager.extensions.find(e=>e.name===`placeholder`);e&&(e.options.placeholder=r,k.view.dispatch(k.state.tr))}},[k,r]),k?(0,Z.jsxs)(B,{className:`mention-input-tiptap-container ${l||``}`,"data-testid":u,children:[c&&(0,Z.jsx)(`input`,{type:`hidden`,name:c,value:k.getText()}),(0,Z.jsx)(fr,{editor:k,onKeyDown:e=>{if(e.key===`Enter`&&e.shiftKey){e.preventDefault(),k.commands.splitBlock();return}if(e.key===`Enter`&&(f.current||p.current)){p.current=!1,e.preventDefault(),e.stopPropagation();return}n?.(e)},children:(0,Z.jsx)(fr.Content,{})})]}):null},mx={inputContainer:`_inputContainer_1e0m5_1`,scrollToBottomButton:`_scrollToBottomButton_1e0m5_7`,scrollToBottomButtonHidden:`_scrollToBottomButtonHidden_1e0m5_18`,chatInputForm:`_chatInputForm_1e0m5_29`,textareaInput:`_textareaInput_1e0m5_36`,sendButton:`_sendButton_1e0m5_43`,newChatButton:`_newChatButton_1e0m5_50`};function hx(){let{handleNewConversation:e,isCreatingThread:t}=Fo(),n=Ml();return{handleNewChat:(0,X.useCallback)(async()=>{await e()&&n(K.Chat)},[n,e]),isCreatingThread:t}}function gx({attachments:e,error:t,onRemove:n,onAddMore:r}){return(0,Z.jsxs)(B,{className:Sl.popoverContent,children:[e.length>0&&(0,Z.jsx)(H,{size:`xs`,fw:500,c:`dimmed`,className:Sl.groupLabel,children:`Attached files`}),e.map(e=>(0,Z.jsx)(_x,{attachment:e,onRemove:n},e.id)),t&&(0,Z.jsx)(H,{role:`alert`,size:`xs`,c:`red`,px:`sm`,py:4,children:t}),(0,Z.jsx)(B,{px:`sm`,pt:`xs`,children:(0,Z.jsx)(V,{label:`Maximum 5 files`,disabled:e.length<5,children:(0,Z.jsx)(F,{variant:`subtle`,size:`compact`,fullWidth:!0,onClick:t=>{if(e.length>=5){t.preventDefault();return}r()},"data-disabled":e.length>=5||void 0,"aria-disabled":e.length>=5||void 0,children:`Add file`})})})]})}function _x({attachment:e,onRemove:t}){let n=e.status===`uploading`,r=e.status===`error`,i=r?`${e.name} — upload failed`:n?`${e.name} — uploading`:void 0;return(0,Z.jsxs)(L,{role:`group`,gap:`xs`,align:`center`,justify:`space-between`,wrap:`nowrap`,className:Sl.mentionItem,"aria-busy":n||void 0,"aria-label":i,children:[(0,Z.jsxs)(L,{gap:`xs`,align:`center`,wrap:`nowrap`,style:{overflow:`hidden`},children:[(0,Z.jsx)(Ql,{file:e.file,mimeType:e.mimeType,name:e.name,status:e.status}),(0,Z.jsx)(V,{label:e.name,openDelay:300,withinPortal:!0,children:(0,Z.jsx)(H,{size:`sm`,truncate:!0,c:r?`red`:void 0,children:e.name})})]}),(0,Z.jsx)(V,{label:`Remove file`,children:(0,Z.jsx)(sn,{size:`compact`,variant:`transparent`,onClick:()=>t(e.id),"aria-label":`Remove ${e.name}`})})]})}var vx=e=>e.authType===Ur.Oauth2&&e.oauthGrantType===Br.AuthorizationCodePkce,yx=e=>vx(e)&&e.userAuthorizationStatus!==Gr.Authorized,bx={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`query`,name:{kind:`N
70ame`,value:`getCustomerMcpServers`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`getCustomerMcpServers`},selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`uuid`}},{kind:`Field`,name:{kind:`Name`,value:`name`}},{kind:`Field`,name:{kind:`Name`,value:`description`}},{kind:`Field`,name:{kind:`Name`,value:`mcpServerUrl`}},{kind:`Field`,name:{kind:`Name`,value:`authType`}},{kind:`Field`,name:{kind:`Name`,value:`status`}},{kind:`Field`,name:{kind:`Name`,value:`errorMessage`}},{kind:`Field`,name:{kind:`Name`,value:`apiKeyHeaderName`}},{kind:`Field`,name:{kind:`Name`,value:`authHeaderNames`}},{kind:`Field`,name:{kind:`Name`,value:`userIdHeaderName`}},{kind:`Field`,name:{kind:`Name`,value:`userIdFieldType`}},{kind:`Field`,name:{kind:`Name`,value:`oauthClientId`}},{kind:`Field`,name:{kind:`Name`,value:`oauthCallbackUrl`}},{kind:`Field`,name:{kind:`Name`,value:`oauthGrantType`}},{kind:`Field`,name:{kind:`Name`,value:`oauthScopes`}},{kind:`Field`,name:{kind:`Name`,value:`oauthTokenEndpoint`}},{kind:`Field`,name:{kind:`Name`,value:`oauthTokenEndpointAuthMethod`}},{kind:`Field`,name:{kind:`Name`,value:`oauthResource`}},{kind:`Field`,name:{kind:`Name`,value:`oauthAudience`}},{kind:`Field`,name:{kind:`Name`,value:`oauthClientSecretConfigured`}},{kind:`Field`,name:{kind:`Name`,value:`pkceClientSecretRequired`}},{kind:`Field`,name:{kind:`Name`,value:`connectionStatus`}},{kind:`Field`,name:{kind:`Name`,value:`connectionLastCheckedAt`}},{kind:`Field`,name:{kind:`Name`,value:`connectionError`}},{kind:`Field`,name:{kind:`Name`,value:`userAuthorizationStatus`}},{kind:`Field`,name:{kind:`Name`,value:`createdTime`}}]}}]}}]},xx={kind:`Document`,definitions:[{kind:`OperationDefinition`,operation:`mutation`,name:{kind:`Name`,value:`getCustomerMcpServerAuthorizationUrl`},variableDefinitions:[{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`mcpServerUuid`}},type:{kind:`NonNullType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`UUID`}}}},{kind:`VariableDefinition`,variable:{kind:`Variable`,name:{kind:`Name`,value:`redirectUri`}},type:{kind:`NonNullType`,type:{kind:`NamedType`,name:{kind:`Name`,value:`String`}}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`getCustomerMcpServerAuthorizationUrl`},arguments:[{kind:`Argument`,name:{kind:`Name`,value:`mcpServerUuid`},value:{kind:`Variable`,name:{kind:`Name`,value:`mcpServerUuid`}}},{kind:`Argument`,name:{kind:`Name`,value:`redirectUri`},value:{kind:`Variable`,name:{kind:`Name`,value:`redirectUri`}}}],selectionSet:{kind:`SelectionSet`,selections:[{kind:`Field`,name:{kind:`Name`,value:`authorizationUrl`}}]}}]}}]},Sx=5e3,Cx={[Gr.Authorized]:{label:`Authorized`,color:`green`},[Gr.Pending]:{label:`Authorizing`,color:`yellow`},[Gr.NotAuthorized]:{label:`Not authorized`,color:`gray`},[Gr.Expired]:{label:`Expired`,color:`orange`},[Gr.Revoked]:{label:`Revoked`,color:`red`}},wx={[Vr.Active]:{label:`Active`,color:`green`},[Vr.Creating]:{label:`Creating`,color:`blue`},[Vr.Error]:{label:`Error`,color:`red`},[Vr.Deleting]:{label:`Deleting`,color:`gray`}};function Tx({server:e,onAuthInitiated:t}){let[n,{loading:r}]=ot(xx),i=e.status===Vr.Active,a=yx(e),o=vx(e)&&e.userAuthorizationStatus?Cx[e.userAuthorizationStatus]:wx[e.status],s=async()=>{try{let{data:r}=await n({variables:{mcpServerUuid:e.uuid,redirectUri:window.location.href}}),i=r?.getCustomerMcpServerAuthorizationUrl?.authorizationUrl;if(!i)throw Error(`No authorization URL returned`);if(new URL(i).protocol!==`https:`)throw Error(`Authorization URL is not valid`);let a=window.open(i,`_blank`);if(a)try{a.opener=null}catch{}else{Ot.show({title:`Allow pop-ups to authorize`,message:`Your browser blocked the authorization window for ${e.name}. Allow pop-ups for this site and try again.`,variant:`warning`,autoClose:!1});return}t()}catch(t){console.error(`Failed to start MCP server authorization`,t),Ot.show({title:`Could not start authorization`,message:`Authorization for ${e.name} could not be started. Please try again.`,variant:`danger`})}},c=!i||a;return(0,Z.jsxs)(L,{justify:`space-between`,align:`center`,wrap:`nowrap`,gap:`sm`,py:2,children:[(0,Z.jsxs)(L,{gap:`xs`,wrap:`nowrap`,style:{minWidth:0,flex:1},children:[(0,Z.jsx)(H,{size:`sm`,fw:500,truncate:!0,children:e.name}),c&&o&&(0,Z.jsx)(Nn,{size:`xs`,color:o.color,variant:`light`,children:o.label})]}),i&&a&&(0,Z.jsx)(V,{label:`Connect ${e.name} in a new tab`,children:(0,Z.jsx)(I,{size:`compact`,variant:`light`,onClick:s,loading:r,"aria-label":`Connect ${e.name}`,children:(0,Z.jsx)(ln,{size:`xs`})})})]})}function Ex({title:e,servers:t,onAuthInitiated:n}){let r=`mcp-servers-${e.toLowerCase()}`;return t.length===0?null:(0,Z.jsxs)(R,{gap:2,role:`group`,"aria-labelledby":r,children:[(0,Z.jsx)(H,{id:r,size:`xs`,c:`dimmed`,fw:500,children:e}),t.map(e=>(0,Z.jsx)(Tx,{server:e,onAuthInitiated:n},e.uuid))]})}function Dx({opened:e,onToggle:t}){let{data:n,loading:r,error:i,refetch:a,startPolling:s,stopPolling:c}=o(bx,{fetchPolicy:`cache-and-network`}),[l,u]=(0,X.useState)(!1),d=(n?.getCustomerMcpServers??[]).flatMap(e=>e?[e]:[]),f=e=>e.status===Vr.Active&&!yx(e),p=d.filter(f),m=d.filter(e=>!f(e)),h=d.filter(e=>e.status===Vr.Active&&yx(e)).length;(0,X.useEffect)(()=>{l&&h>0?s(Sx):(c(),u(!1))},[l,h,s,c]);let g=(0,X.useCallback)(()=>u(!0),[]);return(0,X.useEffect)(()=>{let e=()=>{l&&a().catch(()=>{})};return window.addEventListener(`focus`,e),()=>window.removeEventListener(`focus`,e)},[l,a]),(0,Z.jsxs)(wt,{opened:e,onChange:e=>!e&&t(),position:`top-start`,withinPortal:!0,closeOnEscape:!0,closeOnClickOutside:!0,children:[(0,Z.jsx)(wt.Target,{children:(0,Z.jsx)(V,{label:`MCP servers`,children:(0,Z.jsxs)(F,{variant:`default`,size:`compact`,leftSection:(0,Z.jsx)(ln,{size:`sm`}),onClick:t,children:[`MCP servers`,h>0&&(0,Z.jsx)(Nn,{size:`xs`,color:`orange`,variant:`filled`,ml:4,circle:!0,children:h})]})})}),(0,Z.jsx)(wt.Dropdown,{p:`sm`,maw:340,children:(0,Z.jsxs)(R,{gap:`xs`,children:[(0,Z.jsx)(H,{size:`sm`,fw:600,children:`MCP servers`}),r&&d.length===0&&(0,Z.jsx)(gr,{py:`xs`,children:(0,Z.jsx)(yt,{size:`xs`})}),i&&(0,Z.jsx)(H,{size:`xs`,c:`red`,children:`Could not load MCP servers. Try again or c
70ontact support.`}),!r&&!i&&d.length===0&&(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,children:`No custom MCP servers configured`}),(0,Z.jsx)(Ex,{title:`Active`,servers:p,onAuthInitiated:g}),(0,Z.jsx)(Ex,{title:`Inactive`,servers:m,onAuthInitiated:g})]})})]})}function Ox(e){let t=e.filter(e=>e.status===`uploaded`).length,n=e.length;return t>0&&t<n?`Uploading files… (${t}/${n} done)`:`Uploading ${n} ${n===1?`file`:`files`}…`}function kx({files:e,isUploading:t,error:n,onFileSelect:r,onFileRemove:i,onClearError:a,resetRef:o}){let[s,c]=(0,X.useState)(!1),l=(0,X.useRef)(null),u=s||t&&e.length>0||n!=null&&!t;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(fo,{accept:Gi,multiple:!0,onChange:r,resetRef:o,children:e=>(0,Z.jsx)(St,{...e,type:`button`,ref:l,hidden:!0})}),(0,Z.jsxs)(wt,{opened:u,onChange:e=>{c(e),e||a()},position:`top-end`,withinPortal:!0,closeOnEscape:!0,closeOnClickOutside:!t,children:[(0,Z.jsx)(wt.Target,{children:(0,Z.jsx)(V,{label:e.length>0?`Manage attached files`:`Attach file`,children:(0,Z.jsx)(Rt,{label:e.length,size:16,disabled:e.length===0,offset:4,children:(0,Z.jsx)(I,{variant:`subtle`,"aria-label":`Attach file`,className:mx.newChatButton,onClick:()=>{e.length>0?c(!s):l.current?.click()},children:(0,Z.jsx)(zn,{})})})})}),(0,Z.jsx)(wt.Dropdown,{p:0,children:(0,Z.jsx)(gx,{attachments:e,error:n,onRemove:t=>{i(t),e.length<=1&&c(!1)},onAddMore:()=>{c(!1),l.current?.click()}})})]})]})}var Ax=({hideContextButton:e=!1,hideNewChatButton:t=!1,hideScrollToBottomButton:n=!1,onFormSubmit:r,placeholder:i,threadMetadata:a,testId:o,addFilesRef:s,leftActions:c,previewMessage:l,squareBottom:u=!1})=>{let{isLoading:d,handleSubmit:f,handleStop:p,handleStartChat:m,setCurrentInputMentions:h,currentInputMentions:g}=Mo(),{selectedThreadId:_}=Fo(),{handleNewChat:v,isCreatingThread:y}=hx(),{scrollToBottom:b}=Oo(),x=Ao(),[S,w]=(0,X.useState)(``),T=(0,X.useRef)(void 0),O=jl(),k=Dl(O),A=O===K.Chat,{files:j,addFiles:ee,removeFile:te,clearFiles:ne,clearError:N,uploadFiles:re,isUploading:P,error:ie}=$u();s&&(s.current=e=>Ae(e,`drag-drop`));let ae=la(),oe=eg(),se=!!oe,ce=i??oe?.config.inputPlaceholder??k.inputPlaceholder,le=se&&O===K.Chat?J.SidebarInput:k.conversationOrigins.input,de={...a,conversation_origin:a?.conversation_origin??le},fe=g.length>
700?g:ae.length>0?ae:[],{mentions:pe,serializedMentions:me,addMention:he,removeMention:ge,upgradeTiptapMentions:_e}=qb({conversationId:_,initialContext:oe?.pageContextMention,preservedMentions:fe}),[ve,ye]=(0,X.useState)(!1),[be,Se]=(0,X.useState)(!1),Ce=Qe(),we=Ze(Wr.SettingsIntegrationsAccess),Te=Ce(Ye.CUSTOMER_MCP_SERVERS)&&we,Ee=(0,X.useRef)(null),Oe=(0,X.useRef)(!1);(0,X.useEffect)(()=>{l?(w(l),T.current=l):T.current&&=(w(``),void 0)},[l]),(0,X.useEffect)(()=>{h(me),se?Y.setSidebarInputMentions(me):ae.length>0&&Y.setSidebarInputMentions([])},[me,h,se,ae.length]);function ke(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),e.currentTarget.closest(`form`)?.requestSubmit())}function Ae(e,t=`file-picker`){let n=ee(e);for(let e of n)M(E,{file_type:e.mimeType,file_size:e.size,source:se?$o.Sidebar:$o.FullPage,attachment_method:t});Ee.current?.()}function je(e){te(e),M(De,{source:se?$o.Sidebar:$o.FullPage})}async function Me(e){e.preventDefault();let t=S.trim();if(!(!t||Oe.current)){Oe.current=!0;try{if(_e(),M(ue,{has_context_mentions:pe.length>0,context_mentions_count:pe.length,has_file_attachments:j.length>0,file_attachments_count:j.length,message_length:t.length,source:se?$o.Sidebar:$o.FullPage,agent_mode:O}),j.length>0){let e,n;try{let t=await re(k.apiUrl,fetch);e=t.refs,t.blobs.size>0&&(n=t.blobs)}catch(e){M(D,{file_count:j.length,error_message:e instanceof Error?e.message:`Upload failed`,source:se?$o.Sidebar:$o.FullPage});return}m({message:t,contextMentions:me.length>0?me:void 0,threadMetadata:de,fileAttachments:e,fileBlobs:n})}else f(e);w(``),ne(),b(),r?.(t)}finally{Oe.current=!1}}}function Ne(){M(C,{source:se?$o.Sidebar:$o.FullPage,agent_mode:O}),p()}function Pe(){M(xe,{is_opening:!ve,current_mentions_count:pe.length,source:se?$o.Sidebar:$o.FullPage,agent_mode:O}),ye(!ve)}return(0,Z.jsxs)(B,{className:mx.inputContainer,children:[!n&&(0,Z.jsx)(I,{variant:`secondary`,onClick:b,pos:`absolute`,left:`50%`,top:-36,className:pt(mx.scrollToBottomButton,x&&mx.scrollToBottomButtonHidden),"aria-label":`Scroll to bottom of conversation`,title:`Scroll to bottom of conversation`,children:(0,Z.jsx)(Bt,{})}),(0,Z.jsxs)(B,{component:`form`,onSubmit:Me,className:mx.chatInputForm,style:u?{borderBottomLeftRadius:0,borderBottomRightRadius:0}:void 0,children:[(0,Z.jsx)(`input`,{type:`hidden`,name:`context_mentions`,value:JSON.stringify(me)}),(0,Z.jsx)(`input`,{type:`hidden`,name:`thread_metadata`,value:JSON.stringify(de)}),(0,Z.jsxs)(B,{children:[(0,Z.jsx)(px,{name:`message`,placeholder:P?Ox(j):d?k.processingPlaceholder:ce,minRows:2,maxRows:2,onKeyDown:ke,onChange:e=>{e!==T.current&&(T.current=void 0,w(e))},value:S,disabled:d||P,selectedMentions:pe,onAddMention:he,onRemoveMention:ge,className:mx.textareaInput,testId:o,includeAgents:A}),(0,Z.jsx)(qt,{id:`chat-input-help`,children:`Press Enter to send message, Shift+Enter for new line. Type @ to add context mentions.`})]}),(0,Z.jsxs)(L,{pos:`absolute`,left:24,bottom:12,gap:`xs`,children:[k.supportsFileUploads&&(0,Z.jsx)(kx,{files:j,isUploading:P,error:ie,onFileSelect:Ae,onFileRemove:je,onClearError:N,resetRef:Ee}),c,!e&&(0,Z.jsxs)(wt,{opened:ve,onChange:ye,position:`top-start`,offset:12,closeOnEscape:!0,closeOnClickOutside:!0,transitionProps:{duration:0},floatingStrategy:`fixed`,styles:{dropdown:{backfaceVisibility:`visible`}},children:[(0,Z.jsx)(wt.Target,{children:(0,Z.jsxs)(St,{ml:`xs`,onClick:Pe,fz:`sm`,c:`dimmed`,display:`flex`,style:{alignItems:`center`,gap:4},children:[pe.length>0?`Context (${pe.length})`:`Context`,(0,Z.jsx)(un,{size:`xs`})]})}),(0,Z.jsx)(wt.Dropdown,{p:0,children:(0,Z.jsx)(ex,{onToggle:e=>{pe.some(t=>t.id===e.id)?ge(e.id):he({...e,source:`context-button`})},onClose:()=>ye(!1),selectedMentions:pe,includeAgents:A})})]}),Te&&(0,Z.jsx)(Dx,{opened:be,onToggle:()=>Se(e=>!e)})]}),(0,Z.jsxs)(L,{pos:`absolute`,right:24,bottom:12,children:[!t&&(0,Z.jsx)(V,{label:P?`Uploading files…`:`New chat`,children:(0,Z.jsx)(I,{"aria-label":`New chat`,variant:`subtle`,onClick:v,disabled:y||P,loading:y||P,className:mx.newChatButton,children:(0,Z.jsx)(En,{})})}),(0,Z.jsx)(V,{label:d?`Stop generation`:`Send message`,children:(0,Z.jsx)(I,{"aria-label":d?`Stop generation`:`Send message`,type:d?`button`:`submit`,variant:`subtle`,onClick:d?Ne:void 0,className:mx.sendButton,disabled:!d&&
70!S.trim()||P||y,children:d?(0,Z.jsx)(Ct,{}):(0,Z.jsx)(gt,{})})})]})]})]})},jx={asset:{inputPlaceholder:wl,starterQuestions:[{id:`asset-purpose`,label:`What is this asset about?`,prompt:`What is this asset about?`}]},monitor:{inputPlaceholder:wl,starterQuestions:[{id:`monitor-config`,label:`Explain this monitor`,prompt:`Explain this monitor.`}]},alert:{inputPlaceholder:wl,starterQuestions:[{id:`alert-explanation`,label:`Explain this alert`,prompt:`Explain this alert.`}]},dashboard:{inputPlaceholder:`Add a chart that shows row count per day for the sessions table...`,starterQuestions:[{id:`dashboard-add-widget`,label:`Add a new widget`,prompt:`Add a new widget to this dashboard.`}],showFollowUpQuestions:!1},performance:{inputPlaceholder:wl,starterQuestions:[{id:`performance-cost-tips`,label:`Which tables can I safely remove?`,prompt:`Which tables can I safely remove?`},{id:`performance-expensive-queries`,label:`What are my most expensive queries?`,prompt:`What are my most expensive queries?`},{id:`performance-long-jobs`,label:`Which jobs have the longest runtimes?`,prompt:`Which jobs have the longest runtimes?`}]},monitors:{inputPlaceholder:wl,starterQuestions:[{id:`monitors-recent-failures`,label:`Which monitors failed in the last 24 hours?`,prompt:`Which monitors failed in the last 24 hours?`},{id:`monitors-create`,label:`Create a monitor for a table`,prompt:`Create a monitor for a table`},{id:`monitors-most-alerts`,label:`Which monitors have the most alerts?`,prompt:`Which monitors have the most alerts?`}]},alerts:{inputPlaceholder:wl,starterQuestions:[{id:`alerts-summarize`,label:`Summarize the most recent incidents`,prompt:`Summarize the most recent incidents.`},{id:`alerts-most-active`,label:`Which assets have the most alerts this week?`,prompt:`Which assets have the most alerts this week?`},{id:`alerts-triage`,label:`Help me triage unresolved critical alerts`,prompt:`Help me triage unresolved critical alerts.`}]},dashboards:{inputPlaceholder:wl,starterQuestions:[{id:`dashboards-create`,label:`Create a new dashboard`,prompt:`Create a new dashboard.`},{id:`dashboards-suggest`,label:`Suggest a dashboard for data quality monitoring`,prompt:`Suggest a dashboard for data quality monitoring.`},{id:`dashboards-list`,label:`What dashboards do we have?`,prompt:`What dashboards do we have?`}]},notebooks:{inputPlaceholder:wl,starterQuestions:[{id:`notebooks-create`,label:`Create a notebook for data exploration`,prompt:`Create a notebook for data exploration.`},{id:`notebooks-investigate`,label:`How do I investigate a data quality issue in a notebook?`,prompt:`How do I investigate a data quality issue in a notebook?`},{id:`notebooks-list`,label:`What notebooks do I have?`,prompt:`What notebooks do I have?`}]},"agent-library":{inputPlaceholder:wl,starterQuestions:[{id:`agent-library-what-can-oa-do`,label:`What can the Operations Agent help me with?`,prompt:`What can the Operations Agent help me with?`},{id:`agent-library-reduce-costs`,label:`Which agent should I use to reduce query costs?`,prompt:`Which agent should I use to reduce query costs?`},{id:`agent-library-automate`,label:`How do I automate incident investigation?`,prompt:`How do I automate incident investigation?`}]},assets:{inputPlaceholder:wl,starterQuestions:[{id:`assets-quality-issues`,label:`What tables have data quality issues?`,prompt:`What tables have data quality issues?`},{id:`assets-most-alerts`,label:`Which assets have the most alerts this week?`,prompt:`Which assets have the most alerts this week?`},{id:`assets-recently-added`,label:`Show me recently added assets`,prompt:`Show me recently added assets`}]},domains:{inputPlaceholder:wl,starterQuestions:[{id:`domains-list`,label:`What domains do we have?`,prompt:`What domains do we have?`},{id:`domains-quality-issues`,label:`Which domain has the most data quality issues?`,prompt:`Which domain has the most data quality issues?`},{id:`domains-asset-distribution`,label:`How are assets distributed across domains?`,prompt:`How are assets distributed across domains?`}]},"data-products":{inputPlaceholder:wl,starterQuestions:[{id:`data-products-list`,label:`What data products do we have?`,prompt:`What data products do we have?`},{id:`data-products-quality-issues`,label:`Which data products have quality issues?`,prompt:`Which data products have quality issues?`},{id:`data-products-create`,label:`Help me create a new data product`,prompt:`Help me create a new data product`}]},"agent-observability":{inputPlaceholder:wl,starterQuestions:[{id:`agent-observability-recent-failures`,label:`Which agents have recent failures?`,prompt:`Which agents have recent failures?`},{id:`agent-observability-quality-issues`,label:`Show me agents with data quality issues`,prompt:`Show me agents with data quality issues`},{id:`agent-observability-configure`,label:`How do I configure a new agent?`,prompt:`How do I configure a new agent?`}
70]},cost:{inputPlaceholder:`Ask about storage costs, stale tables, or warehouse optimization…`,starterQuestions:[{id:`cost-safe-to-remove`,label:`Which tables can I safely remove?`,prompt:`Which tables can I safely remove?`},{id:`cost-reduce-storage`,label:`How can I reduce storage costs?`,prompt:`How can I reduce storage costs?`},{id:`cost-stale-tables`,label:`Which tables are unused or stale?`,prompt:`Which tables are unused or stale?`}]}},Mx={inputPlaceholder:`Ask anything about your data + AI. Type @ to choose specific assets or monitors.`,starterQuestions:[]};function Nx(e){return!e||e===`other`?Mx:jx[e]??Mx}function Px(){let e=Ki();return(0,X.useMemo)(()=>{let t=Object.values(e),{uiContextText:n,mentions:r}=va(t),{pageType:i,entityId:a}=Xi(t);return{uiContextInstructions:n||void 0,mentions:r,pageType:i,entityId:a}},[e])}function Fx(e){return e?.contextMentions??(e?.contextMention?[e.contextMention]:[])}function Ix(e,t,n,r=!1,i=r){if(!t.pageType)return e;let a=e?.pageType===t.pageType&&e.entityId===t.entityId||r&&e!==null,o=a?Fx(e):[],s=$i([...i?o:t.mentions,...i?t.mentions:o]);return{...a?e:{},route:n,pageType:i&&e?e.pageType:t.pageType,entityId:i&&e?e.entityId:t.entityId,contextMention:s.length===1?s[0]:void 0,contextMentions:s.length>1?s:void 0}}function Lx(e,t){let n=e.uiContextInstructions,r=t?.agentInstructions;return n?!r||t?.agentInstructionsInPageAwareContext?n:`${n}\n${r}`:r}function Rx(){let e=ta(),t=ia(),n=Px(),{pathname:r}=Le(),i=ha(n.entityId,n.pageType),a=!!(e?.entityId||e?.contextMention||e?.contextMentions?.length||e?.tsaThreadId||e?.conversationOrigin||e?.agentInstructions),o=!!(e?.entityId||e?.contextMention||e?.contextMentions?.length),s=!!(t&&a&&ua(t,i));return Ix(e,n,r,s,s&&o)}function zx({children:e,onStarterQuestionClick:t}){let n=Rx(),r=Nx(n?.pageType),i=(0,X.useMemo)(()=>({config:r,onStarterQuestionClick:t,pageContextMention:n?.contextMention,showFollowUpQuestions:r.showFollowUpQuestions!==!1}),[r,n?.contextMention,t]);return(0,Z.jsx)($h.Provider,{value:i,children:e})}var Bx=new Map;function Vx(e,t){Bx.set(e,t)}function Hx(e){Bx.delete(e)}var Ux=({userId:e,skip:t=!1,selectedThreadId:n,autoLoadMostRecent:r=!1,additionalMetadata:i,graphId:a=q.Chat})=>{let[o,s]=(0,X.useState)(),[c,l]=(0,X.useState)(null),[u,d]=(0,X.useState)(null),[f,p]=(0,X.useState)(!1),[m,h]=(0,X.useState)(!1),[g,_]=(0,X.useState)(null),v=tm(),y=(0,X.useCallback)(async()=>{if(!e)return h(!0),null;try{let t={user_id:e,graph_id:a},n=await v.threads.search({limit:1,sortBy:`created_at`,sortOrder:`desc`,metadata:t});return h(!0),d(n?.[0]?.created_at??null),n?.[0]?.thread_id??null}catch(e){return console.error(`Error fetching thread ID:`,e),_(e),h(!0),null}},[v,e,a]),b=(0,X.useCallback)(async t=>{if(!e)throw Error(`User ID is required to create thread`);let n={user_id:e,graph_id:a},r={...i,...t};for(let e of[`page_type`,`route`,`entity_id`,`tsa_thread_id`,`conversation_origin`,`referral_source`,`mc_assistant_id`]){let t=r?.[e];t!=null&&(n[e]=String(t))}for(let e of[`onboarding`])r?.[e]&&(n[e]=`true`);let o=await v.threads.create({graphId:a,metadata:n});return d(o.created_at),o.thread_id},[v,e,i,a]),x=(0,X.useCallback)(async e=>{try{if(o)return o;p(!0);let t=await b(e);return s(t),t}catch(e){console.error(`Error creating user thread ID:`,e),_(e),s(void 0);return}finally{p(!1)}},[b,o]),S=(0,X.useCallback)(async()=>{if(!o)return null;try{let e=await v.runs.list(o,{status:`running`,limit:1});if(e[0])return e[0].run_id;let t=await v.runs.list(o,{status:`pending`,limit:1});return t[0]?t[0].run_id:null}catch(e){return console.error(`Error retrieving run ID:`,e),null}},[v,o]),C=(0,X.useCallback)(async()=>{if(!e)return;let t={user_id:e,graph_id:a},n=(await v.threads.search({metadata:t,limit:100})).map(e=>v.threads.delete(e.thread_id));await Promise.all(n)},[v,e,a]),w=(0,X.useCallback)(async()=>{try{p(!0);let e=await b();return s(e),l(null),e}catch(e){console.error(`Error starting new conversation:`,e),_(e);return}finally{p(!1)}},[b]);return(0,X.useEffect)(()=>{!t&&e&&(async()=>{if(n){s(n),l(Bx.get(n)??null);return}if(n===void 0){s(void 0),l(null);return}if(r){let e=await y();e&&s(e)}})()},[y,t,e,n,r]),(0,X.useEffect)(()=>
70{if(!o)return;let e=!1;return(async()=>{let t=await S();e||(t&&Bx.set(o,t),l(e=>e===t?e:t))})(),()=>{e=!0}},[o,S]),{threadId:o,runId:c,createTime:u,getOrCreateThreadId:x,deleteAllThreads:C,startNewConversation:w,isCreatingThread:f,hasFetchedExistingThread:m,error:g,findExistingThread:y}},Wx=new Set([q.Chat,q.CostAgent]);function Gx(e){return typeof e==`string`&&Wx.has(e)}function Kx(){let[e,t]=nr({key:ct.costAgentGraphOverride,defaultValue:q.CostAgent});return[Gx(e)?e:q.CostAgent,t]}var qx=new Set([q.Chat,q.CostAgent]);function Jx(e,t){let n=Qe(),r=Dl(e),i=n(Ye.COST_AGENT_DEDICATED_GRAPH),[a]=Kx();return(0,X.useMemo)(()=>e===K.Cost?t&&qx.has(t)?t===r.assistantId?r:{...r,assistantId:t}:i?{...r,assistantId:a}:r:r,[e,r,i,t,a])}function Yx({children:e}){let t=Ke(),n=gu(e=>e.clearCache),r=fa(),i=Rx(),a=ta()?.conversationScopeKey,o=ia(),s=jl(),{assistantId:c}=Jx(s),l=(0,X.useRef)(null),u=(0,X.useCallback)(e=>(l.current=e,()=>{l.current===e&&(l.current=null)}),[]),d=(0,X.useCallback)(async()=>await l.current?.()??!0,[]),f=(0,X.useMemo)(()=>i?{mc_assistant_id:s,page_type:i.pageType,route:i.route,entity_id:i.entityId,tsa_thread_id:i.tsaThreadId,conversation_origin:i.conversationOrigin}:{mc_assistant_id:s},[i,s]),p=ca(),m=(0,X.useMemo)(()=>r?p?{type:No.LoadingConversation,threadId:r}:{type:No.ExistingConversation,threadId:r}:{type:No.NewConversation},[r,p]),h=m.type===No.NewConversation?void 0:m.threadId,{getOrCreateThreadId:g,runId:_,createTime:v,startNewConversation:y,isCreatingThread:b,hasFetchedExistingThread:x}=Ux({userId:t,skip:!t,selectedThreadId:h,additionalMetadata:f,graphId:c}),S={conversationState:m,createTime:v,isCreatingThread:b,hasFetchedExistingThread:x,selectedThreadId:h,handleSelectConversation:(0,X.useCallback)(async e=>e&&m.type===No.ExistingConversation&&m.threadId===e?!0:await d()?(n(),e?(M(pe,{thread_id:e,source:$o.Sidebar,agent_mode:s}),Y.setIsConversationLoading(!0),Y.setConversationId(e)):(Y.setConversationId(null),Y.setIsConversationLoading(!1)),!0):!1,[d,n,m,s]),handleNewConversation:(0,X.useCallback)(async()=>await d()?(n(),Y.setConversationId(null),Y.setIsConversationLoading(!1),!0):!1,[d,n]),registerConversationChangeGuard:u,getOrCreateThreadId:g,startNewConversation:y,onConversationCreated:(0,X.useCallback)(e=>{M(Te,{thread_id:e,source:$o.Sidebar,page_type:i?.pageType??`other`,route:i?.route,agent_mode:s}),Y.setConversationId(e),Y.setIsConversationLoading(!1),a&&o&&Y.recordEntityConversation(a,e)},[i,s,a,o]),onConversationLoaded:(0,X.useCallback)(e=>{if(e===``||!e){Y.setConversationId(null),Y.setIsConversationLoading(!1);return}p&&r===e&&Y.setIsConversationLoading(!1)},[p,r]),onThreadNotFound:(0,X.useCallback)(()=>{n(),Y.setConversationId(null),Y.setIsConversationLoading(!1),r&&Y.evictEntityConversation(r)},[n,r]),runId:_};return(0,Z.jsx)(Po.Provider,{value:S,children:e})}var Xx=6048e5,Zx=`title`;function Qx(e){if(e&&e.title&&typeof e.title==`string`)return e[Zx]}function $x(e){let t=e.trim();return t.startsWith(`>`)&&(t=t.slice(1).trim()),t}var eS=864e5;function tS(e){let t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r=new Date(n.getTime()-eS),i=new Date(n.getTime()-Xx);return e.reduce((e,t)=>{let a=new Date(t.created_at);return a>=n?e[sa.Today].push(t):a>=r?e[sa.Yesterday].push(t):a>=i?e[sa.LastWeek].push(t):e[sa.Older].push(t),e},{[sa.Today]:[],[sa.Yesterday]:[],[sa.LastWeek]:[],[sa.Older]:[]})}function nS(e,t,n,r){return{type:e,message:t,threadId:n,originalError:r}}function rS(e){return typeof e==`object`&&!!e&&`thread_id`in e&&`created_at`in e&&typeof e.thread_id==`string`&&typeof e.created_at==`string`}function iS(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}var aS={asset:`Asset`,monitor:`Monitor`,alert:`Alert`,dashboard:`Dashboard`};function oS(e){let t=El[Ol(e.metadata)].sidebarBadge;if(t)return t;let n=e.metadata?.page_type,r=n?aS[n]:void 0;return r?{label:r}:null}function sS(e){let t=e.values?.pending_client_tool_calls;return Array.isArray(t)&&t.length>0}var cS=Object.entries(aS).filter(e=>e[1]!=null),lS={[K.Chat]:[K.Support,K.Coverage]};function uS(e,t){return t.includes(e)?!0:t.some(t=>lS[t]?.includes(e)??!1)}
70function dS(e,t){let n=t.searchQuery.trim(),r=n?RegExp(`\\b${iS(n)}`,`i`):null,i=e=>{if(r){let t=$x(e.title);if(!r.test(t))return!1}if(t.agentFilters.length>0&&!uS(Ol(e.metadata),t.agentFilters))return!1;if(t.sourceFilters.length>0){let n=e.metadata?.page_type;if(!n||!t.sourceFilters.includes(n))return!1}return!0};return{[sa.Today]:e[sa.Today].filter(i),[sa.Yesterday]:e[sa.Yesterday].filter(i),[sa.LastWeek]:e[sa.LastWeek].filter(i),[sa.Older]:e[sa.Older].filter(i)}}var fS=[q.Chat,q.Support,q.OpenFlowTsa,q.CoverageAgent,q.PerformanceAgent,q.CostAgent],pS=50,mS=e=>{let t=e.metadata?.graph_id;return fS.includes(t)},hS=e=>e.filter(mS).filter(rS).map((t,n)=>{let r=Qx(t.metadata)||`Conversation ${e.length-n}`;return{thread_id:t.thread_id,created_at:t.created_at,updated_at:t.updated_at,metadata:t.metadata||void 0,title:r,status:t.status,hasPendingToolCalls:sS(t)}}),gS=({userId:e,skip:t=!1})=>{let[n,r]=(0,X.useState)([]),[i,a]=(0,X.useState)(!1),[o,s]=(0,X.useState)(!1),[c,l]=(0,X.useState)(!1),[u,d]=(0,X.useState)(null),f=(0,X.useRef)(0),p=tm(),m=(0,X.useCallback)(t=>p.threads.search({limit:pS,offset:t,sortBy:`created_at`,sortOrder:`desc`,metadata:{user_id:e,graph_id:q.All}}),[p,e]),h=(0,X.useCallback)(async()=>{if(!(!e||t)){a(!0),d(null),f.current=0;try{let e=await m(0);f.current=e.length,l(e.length===pS),r(hS(e))}catch(e){console.error(`Error fetching conversations:`,e);let t=nS(`FETCH_FAILED`,e instanceof Error?e.message:`Failed to fetch conversations`,void 0,e instanceof Error?e:void 0);d(t)}finally{a(!1)}}},[m,e,t]),g=(0,X.useCallback)(async()=>{if(!(!e||t||o||!c)){s(!0);try{let e=await m(f.current);f.current+=e.length,l(e.length===pS);let t=hS(e);r(e=>{let n=new Set(e.map(e=>e.thread_id)),r=t.filter(e=>!n.has(e.thread_id));return[...e,...r]})}catch(e){console.error(`Error loading more conversations:`,e);let t=nS(`FETCH_FAILED`,e instanceof Error?e.message:`Failed to load more conversations`,void 0,e instanceof Error?e:void 0);d(t)}finally{s(!1)}}},[m,e,t,o,c]);(0,X.useEffect)(()=>{h()},[h]);let _={deleteConversation:(0,X.useCallback)(async e=>{try{r(t=>t.filter(t=>t.thread_id!==e)),await p.threads.delete(e)}catch(t){console.error(`Error removing conversation:`,t),await h();let n=nS(`UNKNOWN_ERROR`,t instanceof Error?t.message:`Failed to remove conversation`,e,t instanceof Error?t:void 0);throw d(n),t}},[p,h]),renameConversation:(0,X.useCallback)(async(e,t)=>{try{r(n=>n.map(n=>n.thread_id===e?{...n,title:t}:n)),await p.threads.update(e,{metadata:{[Zx]:t}})}catch(t){console.error(`Error updating conversation title:`,t),await h();let n=nS(`UNKNOWN_ERROR`,t instanceof Error?t.message:`Failed to update conversation title`,e,t instanceof Error?t:void 0);throw d(n),t}},[p,h]),addNewConversation:(0,X.useCallback)(async(t,n,i)=>{let a=n||`New conversation`,o={thread_id:t,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),title:a,metadata:{user_id:e,[Zx]:a,...i}};if(r(e=>[o,...e]),n)try{await p.threads.update(t,{metadata:{[Zx]:n}})}catch(e){console.warn(`Failed to persist conversation title to metadata:`,e)}},[e,p]),removeConversationGroup:(0,X.useCallback)(async e=>{let t=tS(n)[e].map(e=>e.thread_id);if(t.length===0)return{deletedCount:0,failedCount:0};let i=await Promise.allSettled(t.map(e=>p.threads.delete(e))),a=t.filter((e,t)=>i[t]?.status===`fulfilled`),o=i.filter(e=>e.status===`rejected`).length;return a.length>0&&r(e=>e.filter(e=>!a.includes(e.thread_id))),o>0&&console.error(`Failed to delete ${o} conversation(s) in group ${e}`),{deletedCount:a.length,failedCount:o}},[p,n]),removeStaleConversation:(0,X.useCallback)(e=>{if(!e){console.warn(`removeStaleConversation called with empty threadId`);return}r(t=>t.filter(t=>t.thread_id!==e))},[])};return{conversations:n,groupedConversations:(0,X.useMemo)(()=>tS(n),[n]),isLoading:i,error:u,refetch:h,managementOperations:_,loadMore:g,hasMore:c,isLoadingMore:o}},_S=(0,X.createContext)(null);function vS({children:e}){let{data:t}=et(),n=t?.getUser?.cognitoUserId,[r,i]=(0,X.useState)(!1),[a,o]=(0,X.useState)(null),{conversations:s,groupedConversations:c,isLoading:l,error:u,refetch:d,managementOperations:f,loadMore:p,hasMore:m,isLoadingMore:h}=gS({userId:n,skip:!n}),g=(0,X.useCallback)((e,t,n)=>{f.addNewConversation(e,t,n)},[f]),_=(0,X.useCallback)(async e=>{try{i(!0),await f.deleteConversation(e),M(ie,{thread_id:e})}catch(e){throw console.error(`Failed to delete conversation:`,e),e}finally{i(!1)}},[f]),v=(0,X.useCallback)(async(e,t)=>{await f.renameConversation(e,t),M(ge,{thread_id:e,new_title_length:t.length})},[f]),y={conversations:s,groupedConversations:c,isLoading:l,error:u,isDeletingThreads:r,createConversation:g,deleteConversation:_,deleteConversationGroup:(0,X.useCallback)(async e=>{try{i(!0);let t=await f.removeConversationGroup(e);return M(oe,{group_type:e,deleted_count:t.deletedCount,failed_count:t.failedCount}),t}finally{i(!1)}},[f]),renameConversation:v,refreshConversations:(0,X.useCallback)(async()=>{await d()},[d]),removeStaleConversation:(0,X.useCallback)(e=>{f.removeStaleConversation(e),M(b,{thread_id:e})}
70,[f]),animatingAiTitleThreadId:a,setAnimatingAiTitleThreadId:o,loadMore:p,hasMore:m,isLoadingMore:h};return(0,Z.jsx)(_S.Provider,{value:y,children:e})}function yS(e,t){return e?e.status===`error`?`error`:`completed`:t?`completed`:`pending`}function bS(e){let t=[],n=new Map;for(let t of e)t.type===`tool`&&n.set(t.tool_call_id,t);for(let r=0;r<e.length;r+=1){let i=e[r];if(i.type===`ai`&&i.tool_calls&&i.tool_calls.length>0){let a=i,o=!1;for(let t=r+1;t<e.length;t+=1)if(e[t].type===`ai`){o=!0;break}for(let e=0;e<a.tool_calls.length;e+=1){let r=a.tool_calls[e],i=r.id,s=i?n.get(i):void 0;t.push({id:i??`${a.id??`unknown`}-${e}`,call:r,result:s,aiMessage:a,index:e,state:yS(s,o)})}}}return t}var xS=[`task`];function SS(e){return e?typeof e==`string`?e.includes(`tools:`):e.some(e=>e.startsWith(`tools:`)):!1}function CS(e){if(!(!e||e.length===0)){for(let t of e)if(t.startsWith(`tools:`))return t.slice(6)}}function wS(e){return e?e.filter(e=>e.startsWith(`tools:`)).length:0}function TS(e){if(!e||e.length<2)return null;let t=e.filter(e=>e.startsWith(`tools:`));return t.length<2?null:t[t.length-2]?.slice(6)??null}var ES=class{subagents=new Map;namespaceToToolCallId=new Map;pendingMatches=new Map;pendingMessages=new Map;messageManagers=new Map;subagentToolNames;onSubagentChange;toMessage;constructor(e){this.subagentToolNames=new Set(e?.subagentToolNames??xS),this.onSubagentChange=e?.onSubagentChange,this.toMessage=e?.toMessage??cp}getMessageManager(e){let t=this.messageManagers.get(e);return t||(t=new sp,this.messageManagers.set(e,t)),t}getMessagesForSubagent(e){let t=this.messageManagers.get(e);if(!t)return[];let n=[];for(let e of Object.values(t.chunks))e.chunk&&n.push(this.toMessage(e.chunk));return n}queuePendingMessage(e,t,n){let r=this.pendingMessages.get(e)??[];r.push({serialized:t,metadata:n}),this.pendingMessages.set(e,r)}flushPendingMessages(e){let t=this.pendingMessages.get(e);t?.length&&(this.pendingMessages.delete(e),t.forEach(({serialized:t,metadata:n})=>{this.addMessageToSubagent(e,t,n)}))}createSubagentStream(e){let{messages:t}=e,n=bS(t);return{...e,isLoading:e.status===`running`,toolCalls:n,getToolCalls:e=>n.filter(t=>t.aiMessage.id===e.id),interrupt:void 0,interrupts:[],switchThread:()=>{},subagents:new Map,activeSubagents:[],getSubagent:()=>void 0,getSubagentsByType:()=>[],getSubagentsByMessage:()=>[]}}getToolCallIdFromNamespace(e){return this.namespaceToToolCallId.get(e)??e}matchSubgraphToSubagent(e,t){if(this.namespaceToToolCallId.has(e))return this.namespaceToToolCallId.get(e);let n=new Set(this.namespaceToToolCallId.values()),r=t=>{this.namespaceToToolCallId.set(e,t);let n=this.subagents.get(t);return n&&n.status===`pending`&&(this.subagents.set(t,{...n,status:`running`,namespace:[e],startedAt:new Date}),this.onSubagentChange?.()),this.flushPendingMessages(e),t};for(let[e,i]of this.subagents)if((i.status===`pending`||i.status===`running`)&&!n.has(e)&&i.toolCall.args.description===t)return r(e);for(let[e,i]of this.subagents)if((i.status===`pending`||i.status===`running`)&&!n.has(e)){let n=i.toolCall.args.description||``;if(n&&t.includes(n)||n&&n.includes(t))return t.length>n.length&&this.subagents.set(e,{...i,toolCall:{...i.toolCall,args:{...i.toolCall.args,description:t}}}),r(e)}t&&this.pendingMatches.set(e,t)}isSubagentToolCall(e){return this.subagentToolNames.has(e)}isValidSubagentType(e){return!(!e||typeof e!=`string`||e.length<3||!/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(e)||e.length>50)}isValidSubagent(e){return this.isValidSubagentType(e.toolCall.args.subagent_type)}buildExecution(e){let t=this.getMessagesForSubagent(e.id),n=t.length>0?t:e.messages;return this.createSubagentStream({...e,messages:n})}getSubagents(){let e=new Map;for(let[t,n]of this.subagents)this.isValidSubagent(n)&&e.set(t,this.buildExecution(n));return e}getActiveSubagents(){return[...this.subagents.values()].filter(e=>e.status===`running`&&this.isValidSubagent(e)).map(e=>this.buildExecution(e))}getSubagent(e){let t=this.subagents.get(e);return t?this.buildExecution(t):void 0}getSubagentsByType(e){return[...this.subagents.values()].filter(t=>t.toolCall.args.subagent_type===e).map(e=>this.buildExecution(e))}getSubagentsByMessage(e){return[...this.subagents.values()].filter(t=>t.aiMessageId===e&&this.isValidSubagent(t)).map(e=>this.buildExecution(e))}parseArgs(e){if(!e)return{};if(typeof e==`string`)try{return JSON.parse(e)}catch{return{}}return e}registerFromToolCalls(e,t){let n=!1;for(let r of e){if(!r.id||!this.isSubagentToolCall(r.name))continue;let e=this.parseArgs(r.args),i=this.isValidSubagentType(e.subagent_type),a=this.subagents.get(r.id);if(a){let i=e.subagent_type||``,o=a.toolCall.args.subagent_type||``,s=e.description||``,c=a.toolCall.args.description||``,l=this.isValidSubagentType(i)&&i.length>o.length,u=s.length>c.length,d=t!=null&&t!==a.aiMessageId;(l||u||d)&&(this.subagents.set(r.id,{...a,...d?{aiMessageId:t}:{},toolCall:{...a.toolCall,args:{...a.toolCall.args,...e,description:u?s:c,subagent_type:l?i:o}}}),n=!0);continue}if(!i)continue;let o={id:r.id,name:r.name,args:{description:e.description,subagent_type:e.subagent_type,...e}},s={id:r.id,toolCall:o,status:`pending`,values:{},result:null,error:null,namespace:[],messages:[],aiMessageId:t??null,parentId:null,depth:0,startedAt:null,completedAt:null};this.subagents.set(r.id,s),this.getMessageManager(r.id),this.flushPendingMessages(r.id),n=!0}n&&(this.retryPendingMatches(),this.onSubagentChange?.())}retryPendingMatches(){if(this.pendingMatches.size!==0)for(let[e,t]of this.pendingMatches){if(this.namespaceToToolCallId.has(e)){this.pendingMatches.delete(e);continue}this.matchSubgraphToSubagent(e,t)&&this.pendingMatches.delete(e)}}markRunning(e,t){let n=this.subagents.get(e);if(!n)return;let r=t?.namespace??n.namespace;this.subagents.set(e,{...n,status:`running`,namespace:r,parentId:n.parentId??TS(r)??null,depth:n.depth||wS(r),startedAt:n.startedAt??new Date}),this.onSubagentChange?.()}markRunningFromNamespace(e,t){let n=this.getToolCallIdFromNamespace(e);this.markRunning(n,{namespace:t})}addMessageToSubagent(e,t,n){t.type===`human`&&typeof t.content==`string`&&this.matchSubgraphToSubagent(e,t.content);let r=this.getToolCallIdFromNamespace(e),i=this.subagents.get(r);if(!i){this.queuePendingMessage(e,t,n);return}
70this.getMessageManager(r).add(t,n)&&(t.type===`ai`?this.subagents.set(r,{...i,status:`running`,startedAt:i.startedAt??new Date,messages:this.getMessagesForSubagent(r)}):this.subagents.set(r,{...i,messages:this.getMessagesForSubagent(r)})),this.onSubagentChange?.()}updateSubagentValues(e,t){let n=this.getToolCallIdFromNamespace(e),r=this.subagents.get(n);r&&(this.subagents.set(n,{...r,values:t,status:r.status===`pending`?`running`:r.status,startedAt:r.startedAt??new Date}),this.onSubagentChange?.())}complete(e,t,n=`complete`){let r=this.subagents.get(e);r&&(this.subagents.set(e,{...r,status:n,result:n===`complete`?t:null,error:n===`error`?t:null,completedAt:new Date}),this.onSubagentChange?.())}clear(){this.subagents.clear(),this.namespaceToToolCallId.clear(),this.messageManagers.clear(),this.pendingMatches.clear(),this.pendingMessages.clear(),this.onSubagentChange?.()}processToolMessage(e,t,n=`success`){this.subagents.get(e)&&this.complete(e,t,n===`success`?`complete`:`error`)}reconstructFromMessages(e,t){if(t?.skipIfPopulated&&this.subagents.size>0)return;let n=new Map;for(let t of e)if(t.type===`tool`&&`tool_call_id`in t){let e=t.tool_call_id,r=typeof t.content==`string`?t.content:JSON.stringify(t.content),i=`status`in t&&t.status===`error`?`error`:`success`;n.set(e,{content:r,status:i})}let r=!1;for(let t of e)if(!(t.type!==`ai`||!(`tool_calls`in t)||!Array.isArray(t.tool_calls)))for(let e of t.tool_calls){if(!e.id||!this.isSubagentToolCall(e.name)||this.subagents.has(e.id))continue;let i=this.parseArgs(e.args);if(!this.isValidSubagentType(i.subagent_type))continue;let a={id:e.id,name:e.name,args:{description:i.description,subagent_type:i.subagent_type,...i}},o=n.get(e.id),s=!!o,c=s?o.status===`error`?`error`:`complete`:`running`,l={id:e.id,toolCall:a,status:c,values:{}
70,result:s&&c===`complete`?o.content:null,error:s&&c===`error`?o.content:null,namespace:[],messages:[],aiMessageId:t.id??null,parentId:null,depth:0,startedAt:null,completedAt:s?new Date:null};this.subagents.set(e.id,l),r=!0}r&&this.onSubagentChange?.()}updateSubagentFromSubgraphState(e,t,n){let r=this.subagents.get(e);return!r||r.messages.length>0||t.length===0?!1:(r.messages=t,n!=null&&(r.values=n),this.onSubagentChange?.(),!0)}hasSubagents(){return this.subagents.size>0}},DS=class{abortRef=new AbortController;messages;subagentManager;listeners=new Set;throttle;filterSubagentMessages;toMessage;queue=Promise.resolve();queueSize=0;state;constructor(e,t){this.messages=e,this.state={isLoading:!1,values:null,error:void 0,version:0},this.throttle=t.throttle,this.filterSubagentMessages=t.filterSubagentMessages??!1,this.toMessage=t.toMessage??cp,this.subagentManager=new ES({subagentToolNames:t.subagentToolNames,onSubagentChange:()=>this.bumpVersion(),toMessage:this.toMessage})}bumpVersion=()=>{this.state={...this.state,version:this.state.version+1},this.notifyListeners()};getSubagents(){return this.subagentManager.getSubagents()}getActiveSubagents(){return this.subagentManager.getActiveSubagents()}getSubagent(e){return this.subagentManager.getSubagent(e)}getSubagentsByType(e){return this.subagentManager.getSubagentsByType(e)}getSubagentsByMessage(e){return this.subagentManager.getSubagentsByMessage(e)}reconstructSubagents(e,t){this.subagentManager.reconstructFromMessages(e,t)}async fetchSubagentHistory(e,t,n){let r=n?.messagesKey??`messages`,i=n?.signal;if(i?.aborted)return;let a=[...this.subagentManager.getSubagents().entries()].filter(([,e])=>e.messages.length===0);if(a.length===0)return;let o=new Map;try{let s=await e.getHistory(t,{limit:n?.historyLimit??20,signal:i});for(let e of s){let{tasks:t}=e;if(!(!t||t.length===0))for(let e of t){if(!Array.isArray(e.path)||e.path[0]!==`__pregel_push`||typeof e.id!=`string`||typeof e.name!=`string`)continue;let t=e.result?.messages;if(Array.isArray(t))for(let n of t){let t=n;t.type===`tool`&&typeof t.tool_call_id==`string`&&a.some(([e])=>e===t.tool_call_id)&&!o.has(t.tool_call_id)&&o.set(t.tool_call_id,`${e.name}:${e.id}`)}}}let c=()=>a.some(([e])=>!o.has(e));if(c())for(let e of s){if(!c())break;let{tasks:t}=e;if(!t||t.length===0)continue;let n=t.filter(e=>Array.isArray(e.path)&&e.path[0]===`__pregel_push`&&typeof e.path[1]==`number`&&typeof e.id==`string`&&typeof e.name==`string`);if(n.length===0)continue;let i=e.values[r];if(!Array.isArray(i))continue;let s;for(let e=i.length-1;e>=0;--e){let t=i[e];if(t.type===`ai`&&Array.isArray(t.tool_calls)&&t.tool_calls.length>0&&t.tool_calls.some(e=>this.subagentManager.isSubagentToolCall(e.name))){s=t;break}}if(!s)continue;let l=s.tool_calls.filter(e=>this.subagentManager.isSubagentToolCall(e.name));if(l.length===0)continue;let u=[...n].sort((e,t)=>(Array.isArray(e.path)?e.path[1]:0)-(Array.isArray(t.path)?t.path[1]:0));for(let e=0;e<u.length&&e<l.length;e+=1){let t=l[e],n=u[e];t?.id&&n.id&&n.name&&a.some(([e])=>e===t.id)&&!o.has(t.id)&&o.set(t.id,`${n.name}:${n.id}`)}}}catch{}await Promise.all(a.map(async([n,a])=>{let s=o.get(n)??(a.namespace.length>0?a.namespace.join(`|`):void 0);if(s)try{let a=(await e.getHistory(t,{checkpoint:{checkpoint_ns:s},limit:1,signal:i}))[0];if(!a?.values)return;let o=a.values[r];if(!Array.isArray(o)||o.length===0)return;let c=o.map(e=>{let t=e;if(t.type===`ai`&&(!t.tool_calls||t.tool_calls.length===0)){let e=t.additional_kwargs?.tool_calls;if(Array.isArray(e)&&e.length>0)return{...t,tool_calls:e}}return t});this.subagentManager.updateSubagentFromSubgraphState(n,c,a.values)}catch{}}))}hasSubagents(){return this.subagentManager.hasSubagents()}setState=e=>{this.state={...this.state,...e},this.notifyListeners()};notifyListeners=()=>{this.listeners.forEach(e=>e())};subscribe=e=>{if(this.throttle===!1)return this.listeners.add(e),()=>this.listeners.delete(e);let t=this.throttle===!0?0:this.throttle,n,r=()=>{clearTimeout(n),n=setTimeout(()=>{clearTimeout(n),e()},t)};return this.listeners.add(r),()=>{clearTimeout(n),this.listeners.delete(r)}};getSnapshot=()=>this.state;get isLoading(){return this.state.isLoading}get values(){return this.state.values?.[0]??null}get error(){return this.state.error}setStreamValues=(e,t=`stream`)=>{if(typeof e==`function`){let[n,r]=this.state.values??[null,`stream`],i=e(n,r);this.setState({values:i==null?null:[i,t]})}else{let n=e==null?null:[e,t];this.setState({values:n})}};getMutateFn=(e,t)=>n=>{let r=(this.state.values??[null,`stream`])[0],i={...t,...r},a=typeof n==`function`?n(i):n;this.setStreamValues({...i,...a},e)};matchEventType=(e,t,n)=>e===t||t.startsWith(`${e}|`);enqueue=async(e,t)=>{try{this.queueSize=Math.max(0,this.queueSize-1),this.setState({isLoading:!0,error:void 0}),this.abortRef=new AbortController;let n=await e(this.abortRef.signal),r=!1,i;for await(let{event:e,data:a}of n){if(e===`error`){i=new $p(a);break}let n=e.includes(`|`)?e.split(`|`).slice(1):void 0,o=this.getMutateFn(`stream`,t.initialValues);if(e===`metadata`&&t.callbacks.onMetadataEvent?.(a),e===`events`&&t.callbacks.onLangChainEvent?.(a),this.matchEventType(`updates`,e,a)){if(t.callbacks.onUpdateEvent?.(a,{namespace:n,mutate:o}),n&&SS(n)){let e=CS(n);e&&this.filterSubagentMessages&&this.subagentManager.markRunningFromNamespace(e,n)}if(!n||!SS(n)){let e=a;for(let t of Object.values(e))if(t&&typeof t==`object`&&`messages`in t){let{messages:e}=t;if(Array.isArray(e))for(let t of e){if(!t||typeof t!=`object`)continue;let e=t;if(e.type===`ai`&&`tool_calls`in e&&Array.isArray(e.tool_calls)&&this.subagentManager.registerFromToolCalls(e.tool_calls,e.id),e.type===`tool`&&`tool_call_id`in e&&typeof e.tool_call_id==`string`){let t=typeof e.content==`string`?e.content:JSON.stringify(e.content),n=`status`in e&&e.status===`error`?`error`:`success`;this.subagentManager.processToolMessage(e.tool_call_id,t,n)}}}}}if(this.matchEventType(`custom`,e,a)&&t.callbacks.onCustomEvent?.(a,{namespace:n,mutate:o}),this.matchEventType(`checkpoints`,e,a)&&t.callbacks.onCheckpointEvent?.(a,{namespace:n}),this.matchEventType(`tasks`,e,a)&&t.callbacks.onTaskEvent?.(a,{namespace:n}),this.matchEventType(`debug`,e,a)&&t.callbacks.onDebugEvent?.(a,{namespace:n}),this.matchEventType(`tools`,e,a)&&t.callbacks.onToolEvent?.(a,{namespace:n,mutate:o}),e===`values`||e.startsWith(`values|`))if(n&&SS(n)){let e=CS(n);if(e&&this.filterSubagentMessages){let t=a,n=t.messages;if(Array.isArray(n)&&n.length>0){let t=n[0];t?.type===`human`&&typeof t?.content==`string`&&this.subagentManager.matchSubgraphToSubagent(e,t.content)}this.subagentManager.updateSubagentValues(e,t)}}else if(r||=(this.setStreamValues(e=>{if(e&&`__interrupt__`in e){let{__interrupt__:t,...n}=e;return n}return e}),!0),a&&typeof a==`object`&&`__interrupt__`in a){let e=a;this.setStreamValues(t=>{let n=t?.__interrupt__,r=e.__interrupt__;if(Array.isArray(r)){if(r.length===0)r=[];else if(Array.isArray(n)){let e=[...n],t=new Set(n.map(e=>e.id).filter(e=>e!=null));for(let n of r){if(n.id!=null){if(t.has(n.id))continue;t.add(n.id)}e.push(n)}r=e}}return{...t,__interrupt__:r}})}else this.setStreamValues(e=>e&&`__interrupt__`in e&&Array.isArray(e.__interrupt__)?{...a,__interrupt__:e.__interrupt__}:a);if(this.matchEventType(`messages`,e,a)){let[e,r]=a,i=n&&SS(n)?n:void 0,o=r?.langgraph_checkpoint_ns||r?.checkpoint_ns,s=i??(typeof o==`string`?o.split(`|`):void 0),c=SS(s),l=c?CS(s):void 0;if(this.filterSubagentMessages&&c&&l){this.subagentManager.addMessageToSubagent(l,e,r);continue}let u=this.messages.add(e,r);if(!u){console.warn(`Failed to add message to manager, no message ID found`);continue}this.setStreamValues(e=>{let n={...t.initialValues,...e},r=t.getMessages(n).slice(),{chunk:i,index:a}=this.messages.get(u,r.length)??{};if(!i||a==null)return n;if(i.getType()===`remove`)i.id===`__remove_all__`?r=[]:r.splice(a,1);else{let e=this.toMessage(i);if(r[a]=e,!c&&e.type===`ai`&&`tool_calls`in e&&Array.isArray(e.tool_calls)&&this.subagentManager.registerFromToolCalls(e.tool_calls,e.id),!c&&e.type===`tool`&&`tool_call_id`in e){let t=e.tool_call_id,n=typeof e.content==`string`?e.content:JSON.stringify(e.content),r=`status`in e&&e.status===`error`?`error`:`success`;this.subagentManager.processToolMessage(t,n,r)}}return t.setMessages(n,r)})}}if(i!=null)throw i;if(!this.abortRef.signal.aborted){let e=await t.onSuccess?.();e!==void 0&&this.queueSize===0&&this.setStreamValues(e)}}catch(e){e instanceof Error&&(e.name===`AbortError`||e.name===`TimeoutError`)||(console.error(e),this.setState({error:e}),await t.onError?.(e))}finally{this.setState({isLoading:!1}),this.abortRef=new AbortController,t.onFinish?.()}};start=async(e,t,n)=>{n?.abortPrevious&&this.abortRef.abort(),this.queueSize+=1;let r=this.queue.then(()=>this.enqueue(e,t));this.queue=r,await r};stop=async(e,t)=>{this.abortRef.abort(),this.abortRef=new AbortController,t.onStop?.({mutate:this.getMutateFn(`stop`,e)})};clear=()=>{this.abortRef.abort(),this.abortRef=new AbortController,this.setState({error:void 0,values:null,isLoading:!1}),this.messages.clear(),this.subagentManager.clear()}},OS=e=>{let[t,n]=(0,X.useState)(e?.threadId??null),r=(0,X.useRef)(e?.onThreadId);r.current=e?.onThreadId;let i=(0,X.useCallback)(e=>{n(e),r.current?.(e)},[]);return!e||!(`threadId`in e)?[t,i]:[e.threadId??null,i]};function kS(e,t){return{values:e,next:[],tasks:[],metadata:void 0,created_at:null,checkpoint:{thread_id:t,checkpoint_id:null,checkpoint_ns:``,checkpoint_map:null},parent_checkpoint:null}}function AS(e){let[t]=(0,X.useState)(()=>new sp),[n]=(0,X.useState)(()=>new DS(t,{throttle:e.throttle??!1,subagentToolNames:e.subagentToolNames,filterSubagentMessages:e.filterSubagentMessages}));(0,X.useSyncExternalStore)(n.subscribe,n.getSnapshot,n.getSnapshot);let[r,i]=OS(e),a=(0,X.useRef)(r);(0,X.useEffect)(()=>{a.current!==r&&(a.current=r,n.clear())},[r,n]);let o=t=>{let n=e.messagesKey??`messages`;return Array.isArray(t[n])?t[n]:[]},s=(t,n)=>{let r=e.messagesKey??`messages`;return{...t,[r]:n}},c=e.initialValues??{},l=o(c),u=e.filterSubagentMessages&&!n.isLoading&&l.length>0;(0,X.useEffect)(()=>{u&&n.reconstructSubagents(l,{skipIfPopulated:!0})},[u,l.length]);let d=()=>n.stop(c,{onStop:e.onStop}),f=async(t,l)=>{let u=r;n.setStreamValues(()=>l?.optimisticValues==null?{...c}:{...c,...typeof l.optimisticValues==`function`?l.optimisticValues(c):l.optimisticValues}),await n.start(async n=>{if(u||(u=crypto.randomUUID(),a.current=u,i(u)),!u)throw Error(`Failed to obtain valid thread ID.`);return e.transport.stream({input:t,context:l?.context,command:l?.command,signal:n,config:{...l?.config,configurable:{thread_id:u,...l?.config?.configurable}}})},{getMessages:o,setMessages:s,initialValues:{},callbacks:e,onSuccess:()=>
70{if(!u)return;let t=n.values??c;e.onFinish?.(kS(t,u),void 0)},onError(t){e.onError?.(t,void 0)}})},p=(0,X.useRef)(new Set);return(0,X.useEffect)(()=>{p.current.clear()},[r]),(0,X.useEffect)(()=>{Kf(n.values,e.tools,p.current,{onTool:e.onTool,defer:e=>{Promise.resolve().then(e)},resumeSubmit:e=>f(null,{command:e})})},[e.onTool,e.tools,n.values,f]),{get values(){return n.values??{}},error:n.error,isLoading:n.isLoading,stop:d,submit:f,get interrupts(){return n.values!=null&&`__interrupt__`in n.values&&Array.isArray(n.values.__interrupt__)?Zp(n.values.__interrupt__):[]},get interrupt(){let e=this.interrupts;if(e.length!==0)return e.length===1?e[0]:e},get messages(){return n.values?o(n.values):[]},get toolCalls(){return n.values?bS(o(n.values)):[]},getToolCalls(e){return n.values?bS(o(n.values)).filter(t=>t.aiMessage.id===e.id):[]},get subagents(){return n.getSubagents()},get activeSubagents(){return n.getActiveSubagents()},getSubagent(e){return n.getSubagent(e)},getSubagentsByType(e){return n.getSubagentsByType(e)},getSubagentsByMessage(e){return n.getSubagentsByMessage(e)}}}function jS(e){return typeof e==`function`&&e.length>0}function MS(e){return[...new Set(e)]}function NS(e,t){for(let n=e.length-1;n>=0;--n)if(t(e[n]))return e[n]}async function*PS(e,t){for(;;){let{value:n,done:r}=await e.next();if(r)return n;t(n)&&(yield n)}}function FS(e){let t=new Set,n={};if(e.length<=1)return{rootSequence:{type:`sequence`,items:e.map(e=>({type:`node`,value:e,path:[]}))},paths:[]};e.forEach(e=>{let r=e.parent_checkpoint?.checkpoint_id??`$`;n[r]??=[],n[r].push(e),e.checkpoint?.checkpoint_id!=null&&t.add(e.checkpoint.checkpoint_id)});let r=(...e)=>e.filter(e=>e!=null).sort((e,t)=>
70e.localeCompare(t)).at(-1),i=n.$==null?Object.keys(n).filter(e=>!t.has(e)).map(e=>{let t=[e],i=new Set,a=e;for(;t.length>0;){let e=t.shift();if(i.has(e))continue;i.add(e);let o=(n[e]??[]).flatMap(e=>e.checkpoint?.checkpoint_id??[]);a=r(a,...o),t.push(...o)}return{parentId:e,lastId:a}}).sort((e,t)=>e.lastId.localeCompare(t.lastId)).at(-1)?.parentId:void 0;i!=null&&(n.$=n[i]);let a={type:`sequence`,items:[]},o=[{id:`$`,sequence:a,path:[]}],s=[],c=new Set;for(;o.length>0;){let e=o.shift();if(c.has(e.id))continue;c.add(e.id);let t=n[e.id];if(t==null||t.length===0)continue;let r;t.length>1&&(r={type:`fork`,items:[]},e.sequence.items.push(r));for(let n of t){let t=n.checkpoint?.checkpoint_id;if(t==null)continue;let{sequence:i}=e,{path:a}=e;r!=null&&(i={type:`sequence`,items:[]},r.items.unshift(i),a=a.slice(),a.push(t),s.push(a)),i.items.push({type:`node`,value:n,path:a}),o.push({id:t,sequence:i,path:a})}}return{rootSequence:a,paths:s}}var IS=`>`,LS=`$`;function RS(e,t,n){let r=n.split(IS),i={};for(let e of t){let t=e.at(-2)??LS;i[t]??=[],i[t].unshift(e)}let a=[],o={},s=r.slice(),c=[...e.items];for(;c.length>0;){let e=c.shift();if(e.type===`node`){a.push(e.value);let t=e.value.checkpoint?.checkpoint_id;if(t==null)continue;o[t]={branch:e.path.join(IS),branchOptions:(e.path.length>0?i[e.path.at(-2)??LS]??[]:[]).map(e=>e.join(IS))}}if(e.type===`fork`){let t=s.shift(),n=t==null?-1:e.items.findIndex(e=>{let n=e.items.at(0);return!n||n.type!==`node`?!1:n.value.checkpoint?.checkpoint_id===t}),r=e.items.at(n)?.items??[];c.push(...r)}}return{history:a,branchByCheckpoint:o}}function zS(e,t){let{rootSequence:n,paths:r}=FS(t??[]),{history:i,branchByCheckpoint:a}=RS(n,r,e);return{branchTree:n,flatHistory:i,branchByCheckpoint:a,threadHead:i.at(-1)}}function BS(e,t,n){return[Gp(e),t,n].join(`:`)}function VS(e,t,n){if(n?.limit===!1)return e.threads.getState(t).then(e=>e.checkpoint==null?[]:[e]);let r=typeof n?.limit==`number`?n.limit:10;return e.threads.getHistory(t,{limit:r})}function HS(e,t,n,r){let i=BS(e,t,n),[a,o]=(0,X.useState)(()=>({key:void 0,data:void 0,error:void 0,isLoading:t!=null})),s=(0,X.useRef)(e);s.current=e;let c=(0,X.useRef)(r?.onError);c.current=r?.onError;let l=(0,X.useCallback)((e,t)=>{if(r.passthrough)return Promise.resolve([]);let n=s.current,i=BS(n,e,t);return e==null?(o({key:i,data:void 0,error:void 0,isLoading:!1}),Promise.resolve([])):(o(e=>e.key===i?{...e,isLoading:!0}:{key:i,data:void 0,error:void 0,isLoading:!0}),VS(n,e,{limit:t}).then(e=>(o(t=>t.key===i?{key:i,data:e,error:void 0,isLoading:!1}:t),e),e=>(o(t=>t.key===i?{key:i,data:t.data,error:e,isLoading:!1}:t),c.current?.(e),Promise.reject(e))))},[r.passthrough]);return(0,X.useEffect)(()=>{(r.submittingRef.current==null||r.submittingRef.current!==t)&&l(t,n)},[l,i]),{data:a.data,error:a.error,isLoading:a.isLoading,mutate:e=>l(e??t,n)}}function US(e){let t=(0,X.useRef)(e.reconnectOnMount),n=(0,X.useMemo)(()=>{if(typeof window>`u`)return null;let e=t.current;return e===!0?window.sessionStorage:typeof e==`function`?e():null},[]),r=(0,X.useMemo)(()=>e.client??new Wp({apiUrl:e.apiUrl,apiKey:e.apiKey,callerOptions:e.callerOptions,defaultHeaders:e.defaultHeaders}),[e.client,e.apiKey,e.apiUrl,e.callerOptions,e.defaultHeaders]),[i]=(0,X.useState)(()=>new sp),[a]=(0,X.useState)(()=>new DS(i,{throttle:e.throttle??!1,subagentToolNames:e.subagentToolNames,filterSubagentMessages:e.filterSubagentMessages}));(0,X.useSyncExternalStore)(a.subscribe,a.getSnapshot,a.getSnapshot);let[o,s]=OS(e),c=(0,X.useRef)([]),l=(0,X.useCallback)((...e)=>{let t=c.current;for(let n of e)t.includes(n)||t.push(n)},[]),u=e.onUpdateEvent!=null,d=e.onCustomEvent!=null,f=e.onLangChainEvent!=null,p=e.onDebugEvent!=null,m=e.onCheckpointEvent!=null,h=e.onTaskEvent!=null,g=e.onToolEvent!=null,_=(0,X.useMemo)(()=>{let e=[];return u&&e.push(`updates`),d&&e.push(`custom`),f&&e.push(`events`),p&&e.push(`debug`),m&&e.push(`checkpoints`),h&&e.push(`tasks`),g&&e.push(`tools`),e},[u,d,f,p,m,h,g]),v=(0,X.useRef)(o),y=(0,X.useRef)(null);(0,X.useEffect)(()=>{v.current!==o&&(v.current=o,a.clear())},[o,a]);let b=(0,X.useCallback)(e=>{e!==v.current&&(v.current=e,a.clear(),s(e))},[a,s]),x=typeof e.fetchStateHistory==`object`&&e.fetchStateHistory!=null?e.fetchStateHistory.limit??!1:e.fetchStateHistory??!1,S=HS(r,o,x,{passthrough:e.thread!=null,submittingRef:y,onError:e.onError}),C=e.thread??S,w=t=>{let n=e.messagesKey??`messages`;return Array.isArray(t[n])?t[n]:[]}
70,T=(t,n)=>{let r=e.messagesKey??`messages`;return{...t,[r]:n}},[E,D]=(0,X.useState)(``),O=zS(E,C.data??void 0),[k,A]=(0,X.useState)(new Map),j=(0,X.useCallback)(e=>{A(t=>{let n=new Map(t),r=e.toolCallId??e.name,i=n.get(r);switch(e.event){case`on_tool_start`:n.set(r,{toolCallId:e.toolCallId,name:e.name,state:`starting`,input:e.input});break;case`on_tool_event`:i&&n.set(r,{...i,state:`running`,data:e.data});break;case`on_tool_end`:i&&n.set(r,{...i,state:`completed`,result:e.output});break;case`on_tool_error`:i&&n.set(r,{...i,state:`error`,error:e.error});break;default:throw Error(`Unexpected tool event: ${e.event}`)}return n})},[]),M=O.threadHead?.values??e.initialValues??{},ee=w(M),te=e.filterSubagentMessages&&!a.isLoading&&!C.isLoading&&ee.length>0;(0,X.useEffect)(()=>{if(te&&(a.reconstructSubagents(ee,{skipIfPopulated:!0}),x!==!1&&o)){let t=new AbortController;return a.fetchSubagentHistory(r.threads,o,{messagesKey:e.messagesKey??`messages`,historyLimit:typeof x==`number`?x:void 0,signal:t.signal}),()=>t.abort()}},[te,ee.length]);let ne=(()=>{let e=O.threadHead?.tasks?.at(-1)?.error;if(e!=null){try{let t=JSON.parse(e);return $p.isStructuredError(t)?new $p(t):t}catch{}return e}})(),N=(()=>{let e=new Set;return w(M).map((t,n)=>{let r=t.id??n,i=NS(C.data??[],e=>e.values!=null&&w(e.values).map((e,t)=>e.id??t).includes(r)),a=i?.checkpoint?.checkpoint_id,o=a==null?void 0:O.branchByCheckpoint[a];o?.branch?.length||(o=void 0);let s=o?.branchOptions?.flat(2).join(`,`);return s&&(e.has(s)&&(o=void 0),e.add(s)),{messageId:r.toString(),firstSeenState:i,branch:o?.branch,branchOptions:o?.branchOptions}})})(),re=()=>a.stop(M,{onStop:t=>{if(n&&o){let e=n.getItem(`lg:stream:${o}`);e&&r.runs.cancel(o,e),n.removeItem(`lg:stream:${o}`)}e.onStop?.(t)}}),P=async(t,i)=>{A(new Map);let l=i?.checkpoint?.checkpoint_id;D(l==null?``:O.branchByCheckpoint[l]?.branch??``);let u=x===!0||typeof x==`number`,d=u||jS(e.onFinish),f,p,m=o,h=(i?.multitaskStrategy===`interrupt`||i?.multitaskStrategy===`rollback`)&&a.isLoading;await a.start(async o=>{if(a.setStreamValues(e=>{let t={...M,...e};return i?.optimisticValues==null?{...t}:{...t,...typeof i.optimisticValues==`function`?i.optimisticValues(t):i.optimisticValues}}),m||(m=(await r.threads.create({threadId:i?.threadId,metadata:i?.metadata,signal:o})).thread_id,v.current=m,y.current=m,s(m)),!m)throw Error(`Failed to obtain valid thread ID.`);y.current=m;let l=MS([...i?.streamMode??[],...c.current,..._]),d=i?.checkpoint??(u?O.threadHead?.checkpoint:void 0)??void 0;i?.checkpoint===null&&(d=void 0),d!=null&&delete d.thread_id;let h=i?.streamResumable??!!n;return r.runs.stream(m,e.assistantId,{input:t,config:i?.config,context:i?.context,command:i?.command,interruptBefore:i?.interruptBefore,interruptAfter:i?.interruptAfter,metadata:i?.metadata,multitaskStrategy:i?.multitaskStrategy,onCompletion:i?.onCompletion,onDisconnect:i?.onDisconnect??(h?`continue`:`cancel`),signal:o,checkpoint:d,streamMode:l,streamSubgraphs:i?.streamSubgraphs,streamResumable:h,durability:i?.durability,onRunCreated(t){f={run_id:t.run_id,thread_id:t.thread_id??m},n&&(p=`lg:stream:${m}`,n.setItem(p,f.run_id)),e.onCreated?.(f)}})},{getMessages:w,setMessages:T,initialValues:M,callbacks:{...e,onToolEvent:(t,n)=>{j(t),e.onToolEvent?.(t,n)}},async onSuccess(){if(p&&n?.removeItem(p),d){let t=(await C.mutate(m))?.at(0);if(t)return e.onFinish?.(t,f),null}else e.onFinish!=null&&!jS(e.onFinish)&&e.onFinish(void 0,f)},onError(t){e.onError?.(t,f)},onFinish(){y.current=null}},{abortPrevious:h})},ie=async(t,i,s)=>{if(A(new Map),i??=`-1`,!o)return;let c={thread_id:o,run_id:t},l=x===!0||typeof x==`number`||jS(e.onFinish);await a.start(async e=>{y.current=o;let n=r.runs.joinStream(o,t,{signal:e,lastEventId:i,streamMode:s?.streamMode});return s?.filter==null?n:PS(n,s.filter)},{getMessages:w,setMessages:T,initialValues:M,callbacks:{...e,onToolEvent:(t,n)=>{j(t),e.onToolEvent?.(t,n)}},async onSuccess(){if(n?.removeItem(`lg:stream:${o}`),!l){e.onFinish!=null&&!jS(e.onFinish)&&e.onFinish(void 0,c);return}let t=(await C.mutate(o))?.at(0);t&&e.onFinish?.(t,c)},onError(t){e.onError?.(t,c)},onFinish(){y.current=null}})},ae=(0,X.useMemo)(()=>
70{if(!n||a.isLoading||typeof window>`u`)return;let e=n?.getItem(`lg:stream:${o}`);if(e)return{runId:e,threadId:o}},[n,a.isLoading,o]),oe=!!n,se=(0,X.useRef)({threadId:o,shouldReconnect:oe}),ce=(0,X.useRef)(ie);ce.current=ie,(0,X.useEffect)(()=>{se.current.threadId!==o&&(se.current={threadId:o,shouldReconnect:oe})},[o,oe]),(0,X.useEffect)(()=>{ae&&se.current.shouldReconnect&&(se.current.shouldReconnect=!1,ce.current?.(ae.runId))},[ae]);let le=a.error??ne??C.error,ue=a.values??M,de=(0,X.useRef)(new Set);(0,X.useEffect)(()=>{de.current.clear()},[o]),(0,X.useEffect)(()=>{Kf(ue,e.tools,de.current,{onTool:e.onTool,defer:e=>{Promise.resolve().then(e)},resumeSubmit:e=>P(null,{multitaskStrategy:`interrupt`,command:e})})},[e.onTool,e.tools,P,ue]);let fe={get values(){return l(`values`),ue},client:r,assistantId:e.assistantId,error:le,isLoading:a.isLoading,stop:re,submit:P,switchThread:b,joinStream:ie,branch:E,setBranch:D,get history(){if(x===!1)throw Error("`fetchStateHistory` must be set to `true` to use `history`");return O.flatHistory},isThreadLoading:C.isLoading&&C.data==null,get experimental_branchTree(){if(x===!1)throw Error("`fetchStateHistory` must be set to `true` to use `experimental_branchTree`");return O.branchTree},get interrupts(){return ue!=null&&`__interrupt__`in ue&&Array.isArray(ue.__interrupt__)?Zp(ue.__interrupt__):a.isLoading?[]:Qp((O.threadHead?.tasks??[]).flatMap(e=>e.interrupts??[]))??(!(O.threadHead?.next??[]).length||le!=null?[]:[{when:`breakpoint`}])},get interrupt(){let e=this.interrupts;if(e.length!==0)return e.length===1?e[0]:e},get messages(){return l(`messages-tuple`,`values`),w(ue)},get toolCalls(){return l(`messages-tuple`,`values`),bS(w(ue))},get toolProgress(){return l(`tools`),Array.from(k.values())},getToolCalls(e){return l(`messages-tuple`,`values`),bS(w(ue)).filter(t=>t.aiMessage.id===e.id)},getMessagesMetadata(e,t){l(`values`);let n=i.get(e.id)?.metadata,r=N?.find(n=>n.messageId===(e.id??t));if(n!=null||r!=null)return{...r,streamMetadata:n}},get subagents(){return l(`updates`,`messages-tuple`),a.getSubagents()},get activeSubagents(){return l(`updates`,`messages-tuple`),a.getActiveSubagents()},getSubagent(e){return l(`updates`,`messages-tuple`),a.getSubagent(e)},getSubagentsByType(e){return l(`updates`,`messages-tuple`),a.getSubagentsByType(e)},getSubagentsByMessage(e){return l(`updates`,`messages-tuple`),a.getSubagentsByMessage(e)}};for(let e of[`history`,`experimental_branchTree`,`toolProgress`,`subagents`,`activeSubagents`]){let t=Object.getOwnPropertyDescriptor(fe,e);t?.get&&Object.defineProperty(fe,e,{...t,enumerable:!1})}return fe}function WS(e){return`transport`in e}function GS(e){let[t]=(0,X.useState)(WS(e));return t?AS(e):US(e)}var KS=`mc-chat-stream-sync`;function qS(){return typeof window<`u`&&typeof BroadcastChannel<`u`}function JS({threadId:e,onStreamStarted:t,onStreamEnded:n}){let r=(0,X.useRef)(null),i=(0,X.useRef)(null),a=(0,X.useRef)(t),o=(0,X.useRef)(n);return a.current=t,o.current=n,(0,X.useEffect)(()=>{if(!qS())return;let t=new BroadcastChannel(KS);r.current=t;let n=t=>{let{type:n,threadId:r,runId:s}=t.data;!e||r!==e||i.current!==s&&(n===`STREAM_STARTED`?a.current?.(s):n===`STREAM_ENDED`&&o.current?.(s))};return t.addEventListener(`message`,n),()=>{t.removeEventListener(`message`,n),t.close(),r.current=null}},[e]),{broadcastStreamStart:(0,X.useCallback)(t=>{if(!e||!r.current)return;i.current=t;let n={type:`STREAM_STARTED`,threadId:e,runId:t};r.current.postMessage(n)},[e]),broadcastStreamEnd:(0,X.useCallback)(t=>{if(!e||!r.current)return;i.current=null;let n={type:`STREAM_ENDED`,threadId:e,runId:t};r.current.postMessage(n)},[e])}}var YS=100,XS=class{state={messages:[],getMessagesMetadata:()=>void 0,isLoading:!1,error:void 0,interrupt:void 0,pendingClientToolCalls:[],recoveryRequested:!1,stopped:!1};listeners=new Set;messagesSnapshot=[];isLoadingSnapshot=!1;errorSnapshot=void 0;interruptSnapshot=void 0;pendingClientToolCallsSnapshot=[];recoveryRequestedSnapshot=!1;stoppedSnapshot=!1;lastNotifiedContentLength=0;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));
70notify(){this.listeners.forEach(e=>e())}setState(e){let t=this.state;this.state={...this.state,...e};let n=!1;if(e.messages!==void 0){let r=t.messages,i=e.messages;if(this.messagesSnapshot=i,r.length!==i.length)this.lastNotifiedContentLength=0,n=!0;else if(i.length>0){let e=i[i.length-1];if(e){let t=typeof e.content==`string`?e.content:JSON.stringify(e.content);t.length-this.lastNotifiedContentLength>=YS&&(this.lastNotifiedContentLength=t.length,n=!0)}}}if(e.isLoading!==void 0&&t.isLoading!==e.isLoading&&(this.isLoadingSnapshot=e.isLoading,n=!0,e.isLoading?this.state.stopped&&(this.state={...this.state,stopped:!1},this.stoppedSnapshot=!1):this.lastNotifiedContentLength=0),e.error!==void 0&&t.error!==e.error&&(this.errorSnapshot=e.error,n=!0),`interrupt`in e&&t.interrupt!==e.interrupt&&(this.interruptSnapshot=e.interrupt,n=!0),e.pendingClientToolCalls!==void 0&&t.pendingClientToolCalls!==e.pendingClientToolCalls){let r=t.pendingClientToolCalls.length===0,i=e.pendingClientToolCalls.length===0;(!r||!i)&&(this.pendingClientToolCallsSnapshot=e.pendingClientToolCalls,n=!0)}e.recoveryRequested!==void 0&&t.recoveryRequested!==e.recoveryRequested&&(this.recoveryRequestedSnapshot=e.recoveryRequested,n=!0),e.stopped!==void 0&&t.stopped!==e.stopped&&(this.stoppedSnapshot=e.stopped,n=!0),n&&this.notify()}clearError=()=>{let e=!1;(this.state.error!==void 0||this.errorSnapshot!==void 0)&&(this.state={...this.state,error:void 0},this.errorSnapshot=void 0,e=!0),this.state.recoveryRequested&&(this.state={...this.state,recoveryRequested:!1},this.recoveryRequestedSnapshot=!1,e=!0),e&&this.notify()};getMessagesSnapshot=()=>this.messagesSnapshot;getIsLoadingSnapshot=()=>this.isLoadingSnapshot;getErrorSnapshot=()=>this.errorSnapshot;getInterruptSnapshot=()=>this.interruptSnapshot;getPendingClientToolCallsSnapshot=()=>this.pendingClientToolCallsSnapshot;getRecoveryRequestedSnapshot=()=>this.recoveryRequestedSnapshot;getStoppedSnapshot=()=>this.stoppedSnapshot;getMessagesMetadataFn=()=>this.state.getMessagesMetadata},ZS=new Map;function $(e){let t=e??`__default__`,n=ZS.get(t);return n||(n=new XS,ZS.set(t,n)),n}function QS(e){let t=e??`__default__`;ZS.delete(t)}var $S=5e3,eC=new Map,tC=new Set;function nC(){new Map(eC),tC.forEach(e=>e())}function rC(e){return tC.add(e),()=>tC.delete(e)}function iC(e,t){let n=eC.get(e)??{isStreaming:!1,hasPendingToolCalls:!1};eC.set(e,{...n,...t}),nC()}var aC=null,oC=null,sC;function cC(){aC||=setTimeout(uC,$S)}function lC(){aC&&=(clearTimeout(aC),null)}async function uC(){aC=null;let e=oC;if(!e)return;let t=[...eC.entries()].filter(([,e])=>e.isStreaming).map(([e])=>e);if(t.length!==0){try{let n=await e.threads.search({status:`busy`,limit:100,...sC?{metadata:{user_id:sC,graph_id:q.All}}:{}}),r=new Set(n.map(e=>e.thread_id)),i=t.filter(e=>!r.has(e));for(let t of i){iC(t,{isStreaming:!1});try{iC(t,{hasPendingToolCalls:sS(await e.threads.get(t))})}catch(e){console.warn(`Failed to fetch pending tool calls for thread:`,t,e)}}}catch{for(let e of t)iC(e,{isStreaming:!1})}[...eC.values()].some(e=>e.isStreaming)&&cC()}}function dC(e,t,n){oC=t,n&&(sC=n),eC.get(e)?.isStreaming||iC(e,{isStreaming:!0,hasPendingToolCalls:!1}),cC()}function fC(e){eC.get(e)?.isStreaming&&iC(e,{isStreaming:!1}),[...eC.values()].some(e=>e.isStreaming)||lC()}function pC(e,t){eC.get(e)?.hasPendingToolCalls!==t&&iC(e,{hasPendingToolCalls:t})}function mC(e){return(0,X.useSyncExternalStore)(rC,()=>e?eC.get(e):void 0,()=>void 0)}function hC(e){return typeof e==`object`&&!!e&&`id`in e&&`name`in e&&`args`in e&&typeof e.id==`string`&&typeof e.name==`string`&&typeof e.args==`object`&&e.args!==null}function gC(e){return Array.isArray(e)&&e.every(hC)}function _C(e){if(typeof e!=`object`||!e)return[];let t=e;if(`pending_client_tool_calls`in t){let e=t.pending_client_tool_calls;return gC(e)?e:[]}if(`values`in t&&typeof t.values==`object`&&t.values!==null){let e=t.values;if(`pending_client_tool_calls`in e){let t=e.pending_client_tool_calls;if(gC(t))return t}}return[]}function vC(e,t){let n=_C(e);return t?n.filter(e=>e.name===t):n}var yC=[500,2e3],bC=new WeakSet;function xC(e){e&&typeof e==`object`&&bC.add(e)}function SC(e){return!!(e&&typeof e==`object`&&bC.has(e))}function CC(e){return SC(e?.originalException)}function wC({error:e,retryCount:t,lastArgs:n}){let r=hl(e);if(r!==`transient`)return{willRetry:!1,kind:r,reason:`non-transient (${r})`};if(!n)return{willRetry:!1,kind:r,reason:`no captured submit args`};if(n[1]?.command!==void 0)return{willRetry:!1,kind:r,reason:`command payload — not safe to replay`};let i=yC[t];return i===void 0?{willRetry:!1,kind:r,reason:`retry budget exhausted`}:{willRetry:!0,kind:r,delayMs:i,reason:`transient retry ${t+1}/${yC.length}`}}function TC({threadId:e,submitRef:t,onAutoRetrySucceeded:n,onUserResend:r}){let i=(0,X.useRef)(null),a=(0,X.useRef)(0),o=(0,X.useRef)(null),s=(0,X.useRef)(null),c=(0,
70X.useRef)(n),l=(0,X.useRef)(r);c.current=n,l.current=r;let u=(0,X.useCallback)(()=>{o.current!==null&&(clearTimeout(o.current),o.current=null)},[]),d=(0,X.useCallback)(()=>{u(),a.current=0,s.current=null},[u]),f=(0,X.useCallback)((e,n)=>{d(),i.current=[e,n],t.current?.(e,n)},[d,t]),p=(0,X.useCallback)(()=>{let e=i.current;if(!e||!t.current)return!1;d();let[n,r]=e,a=r?{...r,optimisticValues:void 0}:void 0;return t.current(n,a),l.current(),!0},[d,t]),m=(0,X.useCallback)(e=>{let n=wC({error:e,retryCount:a.current,lastArgs:i.current});if(!n.willRetry)return s.current=null,{retried:!1,kind:n.kind,hasCapturedArgs:i.current!==null};xC(e);let r=a.current+1;return s.current={kind:n.kind,retryCount:r},a.current=r,u(),o.current=setTimeout(()=>{o.current=null;let e=i.current;if(e&&t.current){let[n,r]=e,i=r?{...r,optimisticValues:void 0}:void 0;t.current(n,i)}},n.delayMs),{retried:!0,kind:n.kind,attempt:r}},[u,t]),h=(0,X.useCallback)(()=>{if(s.current){let{kind:e,retryCount:t}=s.current;c.current({kind:e,retryCount:t}),s.current=null}a.current=0},[]),g=(0,X.useCallback)(()=>i.current!==null,[]);return(0,X.useEffect)(()=>()=>{d(),i.current=null},[e,d]),{submitWithCapture:f,retryLastSubmit:p,hasCapturedArgs:g,handleStreamError:m,handleStreamCreated:h}}function EC(){let e=(0,X.useContext)(_S);if(!e)throw Error(`useConversationContext must be used within a ConversationContextProvider`);return e}var DC=new Set;function OC(e,t){let n=$(e),r=(0,X.useRef)(null),i=(0,X.useRef)(t),a=(0,X.useRef)(n),o=(0,X.useRef)(!1);if(i.current=t,a.current!==n){let e=a.current.getMessagesSnapshot().length>0;a.current=n,o.current=e}(0,X.useEffect)(()=>(r.current===null&&(r.current=requestAnimationFrame(()=>{r.current=null;let e=i.current;o.current&&e.messages.length===0&&(o.current=!1);let t=o.current||e.messages.length===0&&n.getMessagesSnapshot().length>0;n.setState({...t?{}:{messages:e.messages,getMessagesMetadata:e.getMessagesMetadata},isLoading:e.isLoading,error:e.error,interrupt:e.interrupt})})),()=>{r.current!==null&&(cancelAnimationFrame(r.current),r.current=null)}),[n,t.messages,t.isLoading,t.error,t.interrupt])}var kC=(0,X.memo)(function({threadId:e,onStreamCreated:t,onStreamEnded:n,controlsRef:r,source:i,agentMode:
70a}){let o=tm(),s=Ke(),c=jl(),{conversations:l}=EC(),{apiUrl:u,assistantId:d,messagesKey:f,historyLimit:p}=Jx(c,e?l.find(t=>t.thread_id===e)?.metadata?.graph_id:void 0),m=(0,X.useRef)(null),h=(0,X.useRef)(t),g=(0,X.useRef)(n),_=(0,X.useRef)(null),v=(0,X.useRef)(null),y=(0,X.useRef)(e);y.current=e;let b=(0,X.useRef)({source:i,agentMode:a,threadId:e});b.current={source:i,agentMode:a,threadId:e};let x=TC({threadId:e,submitRef:v,onAutoRetrySucceeded:({kind:e,retryCount:t})=>{let{source:n,agentMode:r}=b.current;M(ce,{error_kind:e,retry_count:t,recovery_path:`auto-retry`,source:n,agent_mode:r})},onUserResend:()=>{let{source:e,agentMode:t}=b.current;M(ce,{recovery_path:`user-resend`,source:e,agent_mode:t})}});h.current=t,g.current=n;let{broadcastStreamStart:S,broadcastStreamEnd:C}=JS({threadId:e,onStreamStarted:e=>{!m.current&&_.current&&_.current(e)}}),w=GS({apiUrl:u,client:o,assistantId:d,messagesKey:f,threadId:e,fetchStateHistory:{limit:p},onError:e=>{let t=x.handleStreamError(e);if(t.retried){m.current=null,y.current&&(Hx(y.current),fC(y.current),$(y.current).clearError());return}y.current&&$(y.current).setState({error:e instanceof Error?e:Error(String(e)),recoveryRequested:t.hasCapturedArgs}),console.warn(`Thread error:`,e)},onCreated:e=>{m.current=e.run_id,x.handleStreamCreated(),y.current&&(Vx(y.current,e.run_id),dC(y.current,o,s)),$(y.current).setState({pendingClientToolCalls:[],stopped:!1}),y.current&&DC.add(y.current),S(e.run_id),h.current?.(e.run_id)},onFinish:(e,t)=>{let n=vC(e);$(y.current).setState({pendingClientToolCalls:n}),y.current&&(fC(y.current),pC(y.current,n.length>0)),t&&(C(t.run_id),g.current?.(t.run_id)),m.current=null},onStop:()=>{let e=m.current;y.current&&(fC(y.current),$(y.current).setState({stopped:!0})),y.current&&e&&(o.runs.cancel(y.current,e).catch(e=>{console.warn(`Failed to cancel run:`,e)}),C(e),g.current?.(e)),m.current=null}});return _.current=w.joinStream,v.current=w.submit,(0,X.useLayoutEffect)(()=>{r.current={submit:x.submitWithCapture,stop:w.stop,joinStream:w.joinStream,retryLastSubmit:x.retryLastSubmit,hasCapturedArgs:x.hasCapturedArgs}}),OC(e,{messages:w.messages,getMessagesMetadata:w.getMessagesMetadata,isLoading:w.isLoading,error:w.error,interrupt:w.interrupt}),(0,X.useEffect)(()=>{if(!e||w.isLoading||w.messages.length===0||DC.has(e))return;let t=$(e);if(t.getPendingClientToolCallsSnapshot().length>0){DC.add(e);return}let n=!1;return o.threads.get(e).then(r=>{if(n||DC.has(e))return;DC.add(e);let i=vC(r);i.length>0&&t.setState({pendingClientToolCalls:i})}).catch(()=>{}),()=>{n=!0}},[e,w.isLoading,w.messages.length,o]),null});function AC(e){let t=$(e);return(0,X.useSyncExternalStore)(t.subscribe,t.getMessagesSnapshot,t.getMessagesSnapshot)}function jC(e){let t=$(e);return(0,X.useSyncExternalStore)(t.subscribe,t.getIsLoadingSnapshot,t.getIsLoadingSnapshot)}function MC(e){let t=$(e);return(0,X.useSyncExternalStore)(t.subscribe,t.getErrorSnapshot,t.getErrorSnapshot)}function NC(e){let t=$(e);return(0,X.useSyncExternalStore)(t.subscribe,t.getInterruptSnapshot,t.getInterruptSnapshot)}function PC(e){let t=$(e);return(0,X.useSyncExternalStore)(t.subscribe,t.getPendingClientToolCallsSnapshot,t.getPendingClientToolCallsSnapshot)}function FC(e){let t=$(e);return(0,X.useSyncExternalStore)(t.subscribe,t.getRecoveryRequestedSnapshot,t.getRecoveryRequestedSnapshot)}function IC(e){let t=$(e);return(0,X.useSyncExternalStore)(t.subscribe,t.getStoppedSnapshot,t.getStoppedSnapshot)}function LC(e){let t=$(e),n=(0,X.useRef)(t.getMessagesMetadataFn()),r=(0,X.useCallback)(()=>{let e=t.getMessagesMetadataFn();return e!==n.current&&(n.current=e),n.current},[t]);return(0,X.useSyncExternalStore)(t.subscribe,r,r)}var RC=new Map;function zC({threadId:e,runId:t,interrupt:n,joinStream:r,source:i,agentMode:
70a}){let o=(0,X.useRef)(!1),s=(0,X.useRef)(!1),c=(0,X.useRef)(e),l=(0,X.useRef)({source:i,agentMode:a});l.current={source:i,agentMode:a},c.current!==e&&(c.current=e,o.current=!1,s.current=!1),(0,X.useEffect)(()=>{if(!o.current&&!s.current&&e&&!n&&t){let n=RC.get(t);if(n&&n!==e)return;RC.set(t,e),s.current=!0,o.current=!0,r(t).catch(n=>{let r=hl(n);if(r===`transient`){RC.delete(t),Hx(e),$(e).clearError(),xC(n),M(ce,{error_kind:r,recovery_path:`stale-rejoin-soft-fail`,source:l.current.source,agent_mode:l.current.agentMode});return}let i=r!==`terminal_thread`&&r!==`terminal_auth`;$(e).setState({error:n instanceof Error?n:Error(String(n)),...i?{recoveryRequested:!0}:{}})}).finally(()=>{s.current=!1})}},[e,t,n,r])}function BC({threadId:e,messages:t,isLoading:n,rawError:r,conversationState:i,onConversationLoaded:a,onThreadNotFound:o}){let s=!r||dl(r)?null:r;return(0,X.useEffect)(()=>{e&&a&&t.length>0&&(!n||i?.type===No.LoadingConversation)&&a(e)},[e,a,n,t.length,i?.type]),(0,X.useEffect)(()=>{if(!r||dl(r)){dl(r)&&i?.type===No.LoadingConversation&&a?.(e??``);return}if(gl(r)){ll(`CONVERSATION_NOT_FOUND`),o?.();return}i?.type===No.LoadingConversation&&(ul(r,`CONVERSATION_LOAD_FAILED`,`Conversation loading`),a?.(``))},[r,i?.type,a,o,e]),{isLoadingConversation:i?.type===No.LoadingConversation&&t.length===0||!!e&&t.length===0&&i?.type===No.ExistingConversation,error:s}}var VC=JSON.stringify({error:`User did not respond to this tool call. Treat it as cancelled and address the user's new message instead.`});function HC(e){let t=Qs.get(e.name);return t?t.buildNoAnswerContent(e.args):VC}function UC(e,t){return e.filter(e=>e.id!==t).map(e=>({tool_call_id:e.id,result:HC(e)}))}function WC(e){return UC(e).map(({tool_call_id:e,result:t})=>({type:`tool`,content:t,tool_call_id:e}))}var GC=`__autonomous__`;function KC(e){let t=e?.value;return typeof t==`object`&&!!t&&`type`in t&&t.type===bs.CLIENT_TOOL_EXECUTION}function qC(e,t,{fallbackToInterrupt:n=!1}={}){let r=e?$(e).getPendingClientToolCallsSnapshot():[];return r.length===0&&n&&KC(t)?vC(t?.value):r}function JC({threadId:e,userId:t,activeDomainUUID:n,isLoading:r,isCreatingThread:i,interrupt:a,submit:o,stop:s,setPendingMessage:c,setPendingContextMentions:l,setPendingTsaThreadId:d,setPendingMessageSource:f,setPendingFileAttachments:p,setContextMentions:m,setFileAttachments:h,currentInputMentions:g,getOrCreateThreadId:_,onNewConversationCreated:v,source:y=$o.FullPage,pageRoute:b,uiContextInstructions:x,extraSubmitState:S,agentMode:C}){let w=(0,X.useCallback)((t,n)=>{if(e){let t=$(e);t.getRecoveryRequestedSnapshot()&&M(ce,{recovery_path:`type-to-recover`,source:y,agent_mode:C}),t.clearError()}o(t,n)},[o,e,y,C]),T=(0,X.useCallback)(async({message:r,contextMentions:i,tsaThreadId:o,threadMetadata:s,messageSource:g=es.Typed,autonomous:T,threadTitle:E,fileAttachments:D,fileBlobs:O})=>{if(!t){console.warn(`User ID is required to start chat`);return}if(T){M(u,{message_length:0,has_context_mentions:!1,context_mentions_count:0,is_new_conversation:!e,thread_id:e,source:y,autonomous:!0,agent_mode:C});let[i,a]=kc(t,n,y);if(e){w(i,a);return}c(GC);try{if(_){let e=await _(s);if(!e){c(null),ul(Error(`Failed to create thread`),`THREAD_CREATION_FAILED`,`Thread creation`);return}v?.(e,E??r,s)}}catch(e){c(null),ul(e,`THREAD_CREATION_FAILED`,`Thread creation`)}return}if(M(u,{message_length:r.length,has_context_mentions:!!(i&&i.length>0),context_mentions_count:i?.length??0,has_file_attachments:!!(D&&D.length>0),file_attachments_count:D?.length??0,is_new_conversation:!e,thread_id:e,source:y,agent_mode:C}),m(i??null),h(D??null),e){O&&O.size>0&&ql(e,O);let s={type:`human`,content:r},c=WC(qC(e,a,{fallbackToInterrupt:!0}));if(c.length>0&&$(e).setState({pendingClientToolCalls:[]}),KC(a)){w(void 0,{command:{resume:{tool_results:[]},update:{messages:[...c,s],...i&&{context_mentions:i},...D&&{file_attachments:D}}},optimisticValues:Ac(s),onDisconnect:`continue`,streamResumable:!0,metadata:ns({chatSource:y,messageSource:g})});return}w({...S,messages:[...c,s],enable_tools:!0,user_id:t,domain_id:n,client_tools:Zs,...i&&{context_mentions:i},...D&&{file_attachments:D},...o&&{tsa_thread_id:o},...b&&{page_route:b},ui_context:$s(x)},{optimisticValues:Ac(s),onDisconnect:`continue`,streamResumable:!0,metadata:ns({chatSource:y,messageSource:g})});return}c(r),l(i??null),p?.(D??null),d?.(o??null),f?.(g);try{if(_){let e=await _(s);if(!e){c(null),l(null),p?.(null),d?.(null),f?.(null),ul(Error(`Failed to create thread`),`THREAD_CREATION_FAILED`,`Thread creation`);return}O&&O.size>0&&ql(e,O),v?.(e,E??r,s)}}catch(e){c(null),l(null),p?.(null),d?.(null),f?.(null),ul(e,`THREAD_CREATION_FAILED`,`Thread creation`)}},[t,e,n,w,a,c,l,p,d,f,m,h,_,v,y,b,x,S,C]),E=(0,X.useCallback)(t=>{if(!a){let e=g.length>
700?g:void 0;T({message:t,contextMentions:e,messageSource:es.FollowUp});return}let n={type:`human`,content:t};if(KC(a)){let t=WC(qC(e,a));e&&$(e).setState({pendingClientToolCalls:[]}),w(void 0,{command:{resume:{tool_results:[]},update:{messages:[...t,n]}},optimisticValues:Ac(n),onDisconnect:`continue`,streamResumable:!0,metadata:ns({chatSource:y,messageSource:es.FollowUp})});return}w(void 0,{command:{resume:t},optimisticValues:Ac(n),onDisconnect:`continue`,streamResumable:!0,metadata:ns({chatSource:y,messageSource:es.FollowUp})})},[w,a,T,g,y,e]),D=(0,X.useCallback)(e=>{if(e.preventDefault(),r||i)return;let t=e.target,n=new FormData(t),o=n.get(`message`),s=n.get(`context_mentions`),c=n.get(`thread_metadata`);if(!o?.trim())return;let l;if(s)try{l=JSON.parse(s)}catch(e){console.error(`Failed to parse context mentions:`,e)}let u;if(c)try{u=JSON.parse(c)}catch(e){console.error(`Failed to parse thread metadata:`,e)}if(a){E(o);return}T({message:o,contextMentions:l,threadMetadata:u})},[r,i,a,E,T]),O=(0,X.useCallback)(()=>{e&&s()},[e,s]),k=(0,X.useCallback)((e,t)=>{w(e,{...t,metadata:{...ns({chatSource:y}),...t?.metadata}})},[w,y]),A=(0,X.useCallback)(e=>{if(!a){console.warn(`handleInterruptResponse called without active interrupt`);return}w(void 0,{command:{resume:e},onDisconnect:`continue`,streamResumable:!0,metadata:ns({chatSource:y})})},[w,a,y]),j=(0,X.useCallback)(r=>{if(r.length===0)return;if(h(null),m(null),KC(a)){let t=qC(e,a),n=new Set(r.map(({toolCallId:e})=>e)),i=[...r.map(({toolCallId:e,content:t})=>({tool_call_id:e,result:t})),...UC(t).filter(({tool_call_id:e})=>!n.has(e))];e&&$(e).setState({pendingClientToolCalls:[]}),w(void 0,{command:{resume:{tool_results:i}},onDisconnect:`continue`,streamResumable:!0,metadata:ns({chatSource:y})});return}e&&$(e).setState({pendingClientToolCalls:[]});let i=r.map(({toolCallId:e,content:t})=>({type:`tool`,content:t,tool_call_id:e}));w({messages:i,enable_tools:!0,user_id:t,domain_id:n,client_tools:Zs,ui_context:$s(x)},{onDisconnect:`continue`,streamResumable:!0,metadata:ns({chatSource:y})})},[w,a,e,t,n,y,x,h,m]),ee=(e,t)=>{j([{toolCallId:e,content:t}])};return{handleSubmit:D,handleStop:O,handleResume:E,handleStartChat:T,submitMessage:k,handleInterruptResponse:A,handleAskUserResponse:(e,t)=>{ee(e,JSON.stringify({answers:t}))},handleAskUserCancel:e=>{ee(e,Vs)},sendClientToolMessage:ee,sendClientToolMessages:j}}function YC({threadId:e,userId:t,activeDomainUUID:n,submit:r,pageRoute:i,chatSource:a,uiContextInstructions:o,extraSubmitState:s}){let[c,l]=(0,X.useState)(null),[u,d]=(0,X.useState)(null),[f,p]=(0,X.useState)(null),[m,h]=(0,X.useState)(null),[g,_]=(0,X.useState)(null);return(0,X.useEffect)(()=>{if(c&&e&&t){if($(e).clearError(),c===`__autonomous__`){r(...kc(t,n,a)),l(null);return}let v={type:`human`,content:c};r({...s,messages:[v],enable_tools:!0,user_id:t,domain_id:n,client_tools:Zs,...u&&{context_mentions:u},...g&&{file_attachments:g},...f&&{tsa_thread_id:f},...i&&{page_route:i},ui_context:$s(o)},{optimisticValues:Ac(v),onDisconnect:`continue`,streamResumable:!0,metadata:ns({chatSource:a,messageSource:m??es.Typed})}),l(null),d(null),p(null),h(null),_(null)}},[c,u,g,f,m,e,t,n,r,i,a,o,s]),{setPendingMessage:l,setPendingContextMentions:d,setPendingTsaThreadId:p,setPendingMessageSource:h,setPendingFileAttachments:_,pendingState:{message:c,contextMentions:u,tsaThreadId:f,messageSource:m,fileAttachments:g}}}function XC({pendingClientToolCalls:e,sendClientToolMessages:t,isLoading:n,error:r}){let i=(0,X.useRef)(new Set),a=(0,X.useRef)(new Set),o=(0,X.useRef)(new Map),[s,c]=(0,X.useState)(0);(0,X.useEffect)(()=>{n&&a.current.size>0&&a.current.clear()},[n]),(0,X.useEffect)(()=>{if(!r||a.current.size===0)return;let e=!1;for(let t of a.current)(o.current.get(t)??0)<3?(i.current.delete(t),e=!0):console.warn(`Client tool auto-response exhausted retries for tool call: ${t}`);a.current.clear(),e&&c(e=>e+1)},[r]),(0,X.useEffect)(()=>{let n=[];for(let t of e){if(i.current.has(t.id))continue;let e=Qs.get(t.name);e?.buildAutoResponse&&n.push({toolCallId:t.id,content:e.buildAutoResponse(t.args)})}if(n.length===0)return;let r=500*2**Math.max(...n.map(e=>o.current.get(e.toolCallId)??0)),s=setTimeout(()=>{for(let{toolCallId:e}of n)i.current.add(e),a.current.add(e),o.current.set(e,(o.current.get(e)??0)+1);t(n)},r);return()=>clearTimeout(s)},[e,t,s])}function ZC({messages:e,getMessagesMetadata:t}){let n={};
70return e.forEach(e=>{if(e.id){let r=t(e),i=r?.firstSeenState?.metadata?.run_id??r?.streamMetadata?.run_id;typeof i==`string`&&(n[e.id]=i)}}),n}function QC({children:e,threadId:t,runId:n,isCreatingThread:r=!1,conversationState:i,getOrCreateThreadId:a,onNewConversationCreated:o,onConversationLoaded:s,onThreadNotFound:c,source:l=$o.FullPage,pageRoute:u,uiContextInstructions:d,onStreamCreated:f,onStreamEnded:p}){let{data:m}=et(),h=m?.getUser?.cognitoUserId,g=ti(),_=jl(),v=m?.getUser?.account?.uuid,y=(0,X.useMemo)(()=>{if(_===K.Troubleshoot)return{account_id:v}},[_,v]),b=(0,X.useRef)(null),x=AC(t),S=LC(t),C=jC(t),w=MC(t),T=NC(t),E=PC(t),D=FC(t),O=IC(t),k=(0,X.useCallback)((e,t)=>{b.current?.submit(e,t)},[]),A=(0,X.useCallback)(()=>{b.current?.stop()},[]),j=(0,X.useCallback)(async e=>{await b.current?.joinStream(e)},[]),M=(0,X.useCallback)(()=>((b.current?.hasCapturedArgs()??!1)&&t&&$(t).clearError(),b.current?.retryLastSubmit()??!1),[t]),ee=(0,X.useRef)(new Set);(0,X.useEffect)(()=>{t&&ee.current.add(t)},[t]),(0,X.useEffect)(()=>{let e=ee.current;return()=>{for(let t of e)QS(t),Jl(t)}},[]),zC({threadId:t,runId:n,interrupt:T,joinStream:j,source:l,agentMode:_});let{isLoadingConversation:te,error:ne}=BC({threadId:t,messages:x,isLoading:C,rawError:w,conversationState:i,onConversationLoaded:s,onThreadNotFound:c}),{setPendingMessage:N,setPendingContextMentions:re,setPendingFileAttachments:P,setPendingTsaThreadId:ie,setPendingMessageSource:ae}=YC({threadId:t,userId:h,activeDomainUUID:g,submit:k,pageRoute:u,chatSource:l,uiContextInstructions:d,extraSubmitState:y}),[oe,se]=(0,X.useState)(null),[ce,le]=(0,X.useState)(null),[ue,de]=(0,X.useState)([]),{handleSubmit:fe,handleStop:pe,handleResume:me,handleStartChat:he,submitMessage:ge,handleInterruptResponse:_e,handleAskUserResponse:ve,handleAskUserCancel:ye,sendClientToolMessages:be}=JC({threadId:t,userId:h,activeDomainUUID:g,isLoading:C,isCreatingThread:r,interrupt:T,submit:k,stop:A,setPendingMessage:N,setPendingContextMentions:re,setPendingFileAttachments:P,setPendingTsaThreadId:ie,setPendingMessageSource:ae,setContextMentions:se,setFileAttachments:le,currentInputMentions:ue,getOrCreateThreadId:a,onNewConversationCreated:o,source:l,pageRoute:u,uiContextInstructions:d,extraSubmitState:y,agentMode:_});XC({pendingClientToolCalls:E,sendClientToolMessages:be,isLoading:C,error:w});let xe={messages:x,getMessagesMetadata:S,runIdMap:(0,X.useMemo)(()=>ZC({messages:x,getMessagesMetadata:S}),[x,S]),isLoading:C,isLoadingConversation:te,error:ne,recoveryRequested:D,stopped:O,interrupt:T??null,contextMentions:oe,fileAttachments:ce,currentInputMentions:ue,setCurrentInputMentions:de,handleSubmit:fe,handleStop:pe,handleResume:me,handleStartChat:he,handleInterruptResponse:_e,pendingClientToolCalls:E,handleAskUserResponse:ve,handleAskUserCancel:ye,submitMessage:ge,joinStream:j,stop:A,retryLastSubmit:M};return(0,Z.jsxs)(jo.Provider,{value:xe,children:[(0,Z.jsx)(kC,{threadId:t,onStreamCreated:f,onStreamEnded:p,controlsRef:b,source:l,agentMode:_}),e]})}function $C({getMessages:e,onAiGeneratedTitleReceived:t}){let n=(0,X.useRef)(new Set),r=(0,X.useRef)(null);return{markAsNewConversation:(0,X.useCallback)(e=>{r.current=e},[]),handleStreamEnded:(0,X.useCallback)(i=>{let a=r.current;if(!a||n.current.has(a))return;let o=[...e()].reverse().find(e=>e.type===`ai`);if(!o)return;let s=Qx(jc(o));s&&(n.current.add(a),r.current=null,t(a,s))},[e,t])}}function ew(e,t){let{renameConversation:n,setAnimatingAiTitleThreadId:r}=EC(),i=(0,X.useCallback)((e,t)=>{r(e),n(e,t)},[n,r]),{markAsNewConversation:a,handleStreamEnded:o}=$C({getMessages:(0,X.useCallback)(()=>$(e).getMessagesSnapshot(),[e]),onAiGeneratedTitleReceived:i}),s=(0,X.useRef)(null);return(0,X.useEffect)(()=>{let n=t?.pendingNewThreadId;n&&n===e&&s.current!==n&&(s.current=n,a(n))},[t?.pendingNewThreadId,e,a]),{markAsNewConversation:a,handleAiTitleStreamEnded:o}}function tw({children:e}){let{conversationState:t,selectedThreadId:n,runId:r,getOrCreateThreadId:i,isCreatingThread:a,onConversationCreated:o,onConversationLoaded:s,onThreadNotFound:c}=Fo(),{createConversation:l}=EC(),u=Rx(),d=Px(),{markAsNewConversation:f,handleAiTitleStreamEnded:p}=ew(n),m=(0,X.useCallback)((e,t)=>
70{l(e,t),o(e),f(e),Y.setPendingAiTitleThreadId(e)},[l,o,f]),h=(0,X.useCallback)(e=>{Y.setActiveRunId(e)},[]),g=(0,X.useCallback)(e=>{p(e),Y.setActiveRunId(null),Y.setPendingAiTitleThreadId(null)},[p]);return(0,Z.jsx)(QC,{threadId:n,runId:r,isCreatingThread:a,conversationState:t,getOrCreateThreadId:i,onNewConversationCreated:m,onConversationLoaded:s,onThreadNotFound:c,onStreamCreated:h,onStreamEnded:g,source:$o.Sidebar,pageRoute:u?.route,uiContextInstructions:Lx(d,u),children:e})}function nw({children:e,configId:t=K.Chat}){return(0,Z.jsx)(Al,{value:{configId:t,setConfigId:Y.setConfigId},children:(0,Z.jsx)(Yx,{children:(0,Z.jsx)(vS,{children:(0,Z.jsx)(tw,{children:e})})})})}var rw=500,iw=1e3,aw=`operations-agent-panel-width`,ow=`0.2s ease`,sw=ei()(co(e=>({width:rw,setWidth:t=>e({width:t}),animatedWidth:0,setAnimatedWidth:t=>e({animatedWidth:t}),isDragging:!1,setIsDragging:t=>e({isDragging:t})}),{name:aw,partialize:e=>({width:e.width})})),cw=()=>sw(e=>e.width);function lw(e){let t=sw(e=>e.animatedWidth),n=sw(e=>e.isDragging);return e?{headerStyles:{header:{right:t,transition:n?`none`:`right ${ow}`}},mainContentStyle:{marginRight:t,"--main-content-transition":n?`none`:void 0}}:{headerStyles:void 0,mainContentStyle:void 0}}function uw(e){let{width:t,animatedWidth:n,setAnimatedWidth:r}=sw(),i=(0,X.useRef)(!1);return(0,X.useLayoutEffect)(()=>{if(!e){i.current=!1,r(0);return}if(i.current)r(t);else{r(0);let e=requestAnimationFrame(()=>{r(t),i.current=!0});return()=>cancelAnimationFrame(e)}},[e,t,r]),n}function dw(){let{width:e,setWidth:t,isDragging:n,setIsDragging:r}=sw(),i=(0,X.useRef)(0),a=(0,X.useRef)(rw),o=(0,X.useRef)(null);return(0,X.useEffect)(()=>()=>{o.current?.(),r(!1),document.body.style.userSelect=``,document.body.style.cursor=``},[r]),{isDragging:n,handleMouseDown:n=>{n.preventDefault(),r(!0),i.current=n.clientX,a.current=e,document.body.style.userSelect=`none`,document.body.style.cursor=`ew-resize`;let s=e=>{let n=i.current-e.clientX,r=Math.min(iw,Math.max(rw,a.current+n));t(r)},c=()=>{r(!1),document.body.style.userSelect=``,document.body.style.cursor=``,document.removeEventListener(`mousemove`,s),document.removeEventListener(`mouseup`,c),o.current=null};document.addEventListener(`mousemove`,s),document.addEventListener(`mouseup`,c),o.current=c}}}function fw(e,t){return ua(e,t)}function pw(e){return e?.contextMentions??(e?.contextMention?[e.contextMention]:void 0)}function mw(){let{handleStartChat:e,isLoading:t,isLoadingConversation:n}=Mo(),{visibleMessages:r}=Oo(),i=ia(),a=Rx(),o=Zi(e=>_a(Object.values(e.slices))),s=Ke();(0,X.useEffect)(()=>{if(!i||i.isSent||!fw(i,o)||!s||t||n||r.length>0)return;let c=!1;return queueMicrotask(()=>{if(c)return;let t=ra.getState().stagedPrompt,n=_a(Object.values(Zi.getState().slices));if(t!==i||t.isSent||n!==o||!fw(t,n))return;Y.markPromptSent();let r=pw(a);e({message:t.prompt,contextMentions:r,tsaThreadId:a?.tsaThreadId,threadTitle:t.threadTitle})}),()=>{c=!0}},[i,t,n,r.length,e,a,o,s])}var hw={disclaimer:`_disclaimer_1f0zk_1`};function gw({agentName:e}){return(0,Z.jsxs)(H,{size:`xs`,c:`dimmed`,ta:`center`,className:hw.disclaimer,children:[e,` is AI-powered and can make mistakes.`,` `,(0,Z.jsx)(_t,{href:`https://docs.getmontecarlo.com/docs/operations-agent`,target:`_blank`,rel:`noopener noreferrer`,size:`xs`,children:`Learn more`}),` `,`about its capabilities.`]})}function _w(e,t){if(e!==K.Chat){let{suggestedQuestions:t}=Dl(e);return t.map((t,n)=>({id:`${e}-${n}`,label:t,prompt:t}))}return t?.starterQuestions??Nx(t?.pageType).starterQuestions}function vw(e,{speed:t=30,delay:n=0,enabled:r=!0}={}){let[i,a]=(0,X.useState)(r?``:e),[o,s]=(0,X.useState)(!1),c=(0,X.useRef)(null),l=(0,X.useRef)(0);return(0,X.useEffect)(()=>{if(!r||!e)return;l.current=0;let i=()=>{l.current+=1;let n=e.slice(0,l.current);if(a(n),l.current>=e.length){s(!1);return}c.current=setTimeout(i,t)},o=setTimeout(()=>{a(``),s(!0),c.current=setTimeout(i,t)},n);return()=>{clearTimeout(o),c.current&&clearTimeout(c.current)}},[e,t,n,r]),r?{displayText:i,isAnimating:o}:{displayText:e,isAnimating:!1}}var yw={statusDot:`_statusDot_lhvq1_1`,busy:`_busy_lhvq1_9`,pulse:`_pulse_lhvq1_1`,interrupted:`_interrupted_lhvq1_14`};function bw({conversation:e}){let t=mC(e.thread_id),n=e.status===`interrupted`||e.hasPendingToolCalls||(t?.hasPendingToolCalls??!1),r=e.status===`busy`||(t?.isStreaming??!1);return r||n?(0,Z.jsx)(V,{label:r?`Running`:`Needs response`,children:(0,Z.jsx)(B,{className:pt(yw.statusDot,r&&yw.busy,n&&
70!r&&yw.interrupted),"data-testid":`conversation-status-dot`})}):(0,Z.jsx)(B,{className:yw.statusDot,"aria-hidden":`true`})}function xw({threadId:e,modalId:t,onDelete:n,onSuccess:r}){let[i,a]=(0,X.useState)(!1),o=async()=>{a(!0);try{await n(e),Ot.show({title:`Conversation deleted`,message:`The conversation has been successfully deleted.`,variant:`success`,autoClose:!0}),yn.close(t),r?.()}catch(e){console.error(`Failed to delete conversation:`,e),Ot.show({title:`Failed to delete conversation`,message:e instanceof Error?e.message:`An unexpected error occurred.`,variant:`danger`,autoClose:!1})}finally{a(!1)}};return(0,Z.jsxs)(R,{gap:`md`,children:[(0,Z.jsx)(H,{children:`Are you sure you want to delete this conversation? This action cannot be undone.`}),(0,Z.jsxs)(L,{...nn,children:[(0,Z.jsx)(F,{color:`red`,onClick:o,loading:i,children:`Delete`}),(0,Z.jsx)(F,{variant:`secondary`,onClick:()=>yn.close(t),disabled:i,children:`Cancel`})]})]})}var Sw={item:`_item_nckr0_1`,selected:`_selected_nckr0_15`,content:`_content_nckr0_19`,title:`_title_nckr0_27`,timestamp:`_timestamp_nckr0_36`,actionButtons:`_actionButtons_nckr0_40`,actionButton:`_actionButton_nckr0_40`,typewriterCursor:`_typewriterCursor_nckr0_65`,blink:`_blink_nckr0_1`};function Cw(e){let t=e.metadata?.route;if(!t||t===`/`||t.startsWith(`/agent`))return null;let n=new URL(t,window.location.origin);return n.searchParams.set(Ir.AGENT_CONVERSATION_ID,e.thread_id),n.pathname+n.search}var ww=`delete-conversation-modal`,Tw=`rename-conversation-modal`;function Ew({conversation:e,isSelected:t,isAnimatingTitle:n=!1,onSelect:r,onRename:i,onDelete:a,onConversationDeleted:o,onTitleAnimationComplete:s}){let[c,l]=(0,X.useState)(!1),u=$x(e.title),{displayText:d,isAnimating:f}=vw(u,{speed:30,delay:200,enabled:n}),p=n?d:u;(0,X.useEffect)(()=>{n&&!f&&d===u&&s?.()},[n,f,d,u,s]);let m=()=>{l(!1),yn.open({modalId:Tw,size:`lg`,title:`Rename conversation`,closeButtonProps:{"aria-label":`Close`},children:(0,Z.jsx)(uo,{initialName:u,maxLength:255,resourceLabel:`Conversation`,modalId:Tw,onRename:async t=>{await i(e.thread_id,t)}})})},h=()=>{yn.open({modalId:ww,title:`Delete conversation`,children:(0,Z.jsx)(xw,{threadId:e.thread_id,modalId:ww,onDelete:a,onSuccess:()=>{l(!1),o?.(e.thread_id)}})})},g=lt(e.created_at).fromNow(),_=Cw(e),v=oS(e),y=e.metadata?.page_type,b=y?aS[y]?.toLowerCase():void 0,x=!!Qe()(Ye.COST_AGENT_GRAPH_DEBUG)&&e.metadata?.mc_assistant_id===K.Cost,S=e.metadata?.graph_id===q.CostAgent;return(0,Z.jsxs)(`div`,{className:pt(Sw.item,t&&Sw.selected),onClick:r,role:`button`,tabIndex:0,"data-testid":`conversation-sidebar-item`,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},children:[(0,Z.jsxs)(`div`,{className:Sw.content,children:[(0,Z.jsx)(H,{size:`sm`,className:pt(Sw.title,f&&Sw.typewriterCursor),title:u,children:p}),(0,Z.jsxs)(L,{gap:`xs`,wrap:`nowrap`,children:[(0,Z.jsx)(H,{size:`xs`,c:`dimmed`,className:Sw.timestamp,children:g}),v&&(0,Z.jsx)(Nn,{size:`xs`,variant:`light`,color:`gray`,children:v.label}),x&&(0,Z.jsx)(Nn,{size:`xs`,variant:`light`,color:S?`teal`:`gray`,children:S?`cost_agent`:`OA`})]})]}),(0,Z.jsxs)(L,{gap:2,wrap:`nowrap`,className:Sw.actionButtons,children:[_&&b&&(0,Z.jsx)(V,{label:`Open in ${b}`,children:(0,Z.jsx)(I,{size:`compact`,variant:`subtle`,component:Ve,to:_,className:Sw.actionButton,"aria-label":`Open conversation in ${b} page`,onClick:()=>{M(`Chat Assistant See In Page Clicked`,{page_type:y,thread_id:e.thread_id})},children:(0,Z.jsx)(xn,{})})}),(0,Z.jsxs)(Yt,{shadow:`md`,width:160,position:`right-start`,opened:c,onChange:l,children:[(0,Z.jsx)(Yt.Target,{children:(0,Z.jsx)(V,{label:`More options`,disabled:c,children:(0,Z.jsx)(I,{size:`compact`,variant:`subtle`,onClick:e=>{e.stopPropagation(),l(!c)},className:Sw.actionButton,"aria-label":`More options for ${u}`,children:(0,Z.jsx)(en,{})})})}),(0,Z.jsxs)(Yt.Dropdown,{children:[(0,Z.jsx)(Yt.Item,{leftSection:(0,Z.jsx)(mn,{size:`sm`}),onClick:e=>{e.stopPropagation(),m()},children:(0,Z.jsx)(H,{size:`sm`,children:`Rename`})}),(0,Z.jsx)(Yt.Item,{leftSection:(0,Z.jsx)(Mn,{size:`sm`}),onClick:e=>{e.stopPropagation(),h()},children:(0,Z.jsx)(H,{size:`sm`,children:`Delete`})})]})]})]}),(0,Z.jsx)(bw,{conversation:e})]})}var Dw={filters:`_filters_4siq0_1`};function Ow({searchQuery:e,onSearchChange:t}){return(0,Z.jsx)(`div`,{className:Dw.filters,children:(0,Z.jsx)(Or,{placeholder:`Search conversations`,leftSection:(0,Z.jsx)(Jn,{}),rightSection:e?(0,Z.jsx)(sn,{size:`compact`,"aria-label":`Clear search`,onClick:()=>t(``)}
70):null,value:e,onChange:e=>t(e.currentTarget.value)})})}var kw=50,Aw=[sa.Today,sa.Yesterday,sa.LastWeek,sa.Older],jw=[{id:K.Chat,label:`Operations`},{id:K.Troubleshoot,label:`Troubleshooting`},{id:K.Cost,label:`Cost`}],Mw=[{id:K.Chat,label:`Operations`},{id:K.Cost,label:`Cost`},{id:K.Troubleshoot,label:`Troubleshooting`}];function Nw(e){let{conversations:t,groupedConversations:n,isLoading:r,error:i,refreshConversations:a,deleteConversation:o,renameConversation:s,animatingAiTitleThreadId:c,setAnimatingAiTitleThreadId:l,loadMore:u,hasMore:d,isLoadingMore:f}=EC(),{selectedThreadId:p,handleSelectConversation:m,handleNewConversation:h}=Fo(),g=Ml(),_=(0,X.useRef)(null),{ref:v,entry:y}=In({root:_.current,rootMargin:`0px 0px 200px 0px`}),[b,x]=(0,X.useState)(``),[S,C]=(0,X.useState)(e?[e]:[]),[w,T]=(0,X.useState)([]),[E,D]=(0,X.useState)(!1),[O]=tr(b,300);(0,X.useEffect)(()=>{C(e?[e]:[])},[e]);let k=S.length+w.length,A=!!O||k>0,j=(0,X.useMemo)(()=>dS(n,{searchQuery:O,agentFilters:S,sourceFilters:w}),[n,O,S,w]),M=(0,X.useMemo)(()=>Aw.flatMap(e=>j[e]),[j]),ee=M.length,te=(0,X.useMemo)(()=>(e?Mw:jw).map(e=>({value:e.id,label:e.label,checked:S.includes(e.id)}
70)),[S,e]),ne=(0,X.useMemo)(()=>cS.map(([e,t])=>({value:e,label:t,checked:w.includes(e)})),[w]);(0,X.useEffect)(()=>{y?.isIntersecting&&d&&!f&&!A&&u()},[y?.isIntersecting,d,f,u,A]);let N=A&&d&&ee<kw,re=(0,X.useRef)(!1);(0,X.useEffect)(()=>{f||(re.current=!1),N&&!f&&!re.current&&(re.current=!0,u())},[N,f,u]);let P=N,ie=(0,X.useRef)(!1);(0,X.useEffect)(()=>{if(ie.current||!p||t.length===0)return;if(new URLSearchParams(window.location.search).has(`assistant_id`)){ie.current=!0;return}let e=t.find(e=>e.thread_id===p);if(!e)return;ie.current=!0;let n=Ol(e.metadata);n!==K.Chat&&g(n)},[p,t,g]);let ae=(0,X.useCallback)(async e=>{let n=t.find(t=>t.thread_id===e),r=await m(e);return r&&g(Ol(n?.metadata)),r},[t,g,m]),oe=(0,X.useCallback)(e=>{p===e&&h()},[p,h]),se=(0,X.useCallback)(e=>{C(e.filter(e=>e.checked).map(e=>e.value))},[]),ce=(0,X.useCallback)(e=>{T(e.filter(e=>e.checked).map(e=>e.value))},[]),le=(0,X.useCallback)(()=>{C([]),T([])},[]);return{isEmpty:t.length===0,isLoading:r,error:i,refreshConversations:a,deleteConversation:o,renameConversation:s,animatingAiTitleThreadId:c,setAnimatingAiTitleThreadId:l,selectedThreadId:p,hasMore:d,isLoadingMore:f,viewportRef:_,sentinelRef:v,searchQuery:b,setSearchQuery:x,filterOpen:E,setFilterOpen:D,activeFilterCount:k,hasActiveFilters:A,agentCheckboxOptions:te,sourceCheckboxOptions:ne,isAgentFilterLocked:!!e,filteredConversations:M,totalFilteredCount:ee,isSearching:P,handleSelectConversationWithMode:ae,handleConversationDeleted:oe,handleAgentFilterChange:se,handleSourceFilterChange:ce,handleClearFilters:le}}var Pw={sidebar:`_sidebar_1ydys_1`,embedded:`_embedded_1ydys_11`,header:`_header_1ydys_17`,scrollArea:`_scrollArea_1ydys_21`,conversationList:`_conversationList_1ydys_26`,newChatButton:`_newChatButton_1ydys_30`};function Fw({lockedAgentFilter:e,embedded:t=!1,showFilters:n=!1,onConversationSelected:r}={}){let{isEmpty:i,isLoading:a,error:o,refreshConversations:s,deleteConversation:c,renameConversation:l,animatingAiTitleThreadId:u,setAnimatingAiTitleThreadId:d,selectedThreadId:f,hasMore:p,isLoadingMore:m,viewportRef:h,sentinelRef:g,searchQuery:_,setSearchQuery:v,filterOpen:y,setFilterOpen:b,activeFilterCount:x,hasActiveFilters:S,agentCheckboxOptions:C,sourceCheckboxOptions:w,isAgentFilterLocked:T,filteredConversations:E,totalFilteredCount:D,isSearching:O,handleSelectConversationWithMode:k,handleConversationDeleted:A,handleAgentFilterChange:j,handleSourceFilterChange:M,handleClearFilters:ee}=Nw(e),{handleNewChat:te,isCreatingThread:ne}=hx(),N=()=>a?(0,Z.jsx)(B,{p:`md`,ta:`center`,children:(0,Z.jsx)(yt,{size:`sm`})}):o?(0,Z.jsx)(B,{p:`md`,children:(0,Z.jsxs)(R,{gap:`xs`,align:`center`,children:[(0,Z.jsx)(H,{size:`sm`,c:`red`,ta:`center`,children:`Failed to load history`}),(0,Z.jsx)(F,{variant:`subtle`,size:`compact`,leftSection:(0,Z.jsx)(Gn,{size:`sm`}),onClick:s,children:`Retry`})]})}):i?(0,Z.jsx)(B,{p:`md`,children:(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,children:`No conversations yet`})}):O?(0,Z.jsx)(B,{p:`md`,ta:`center`,children:(0,Z.jsx)(yt,{size:`sm`})}):S&&D===0?(0,Z.jsx)(B,{p:`md`,children:(0,Z.jsx)(H,{size:`sm`,c:`dimmed`,ta:`center`,children:`No matching conversations`})}
70):(0,Z.jsxs)(R,{gap:0,className:Pw.conversationList,children:[E.map(e=>(0,Z.jsx)(Ew,{conversation:e,isSelected:f===e.thread_id,isAnimatingTitle:u===e.thread_id,onSelect:async()=>{await k(e.thread_id)&&r?.(e.thread_id)},onRename:l,onDelete:c,onConversationDeleted:A,onTitleAnimationComplete:()=>d(null)},e.thread_id)),p&&!S&&(0,Z.jsx)(`div`,{ref:g,style:{height:1}}),m&&(0,Z.jsx)(B,{p:`xs`,ta:`center`,children:(0,Z.jsx)(yt,{size:`xs`})})]}),re=!i&&!a&&!T?(0,Z.jsxs)(wt,{opened:y,onChange:b,position:`bottom-end`,shadow:`md`,width:260,children:[(0,Z.jsx)(wt.Target,{children:(0,Z.jsx)(V,{label:`Filter conversations`,disabled:y,children:(0,Z.jsx)(Rt,{size:8,disabled:x===0,children:(0,Z.jsx)(I,{size:`compact`,variant:`subtle`,onClick:()=>b(e=>!e),"aria-label":`Filter conversations`,children:(0,Z.jsx)(Fn,{})})})})}),(0,Z.jsx)(wt.Dropdown,{children:(0,Z.jsxs)(R,{gap:`sm`,children:[(0,Z.jsxs)(B,{children:[(0,Z.jsx)(H,{size:`xs`,fw:600,c:`dimmed`,mb:4,children:`Agent`}),(0,Z.jsx)(lo,{options:C,onChange:j,hideSelectAll:!0})]}),(0,Z.jsxs)(B,{children:[(0,Z.jsx)(H,{size:`xs`,fw:600,c:`dimmed`,mb:4,children:`Source`}),(0,Z.jsx)(lo,{options:w,onChange:M,hideSelectAll:!0})]}),x>0&&(0,Z.jsx)(F,{variant:`secondary`,size:`compact`,leftSection:(0,Z.jsx)(vn,{}),onClick:ee,children:`Reset`})]})})]}):null;return(0,Z.jsxs)(`aside`,{className:pt(Pw.sidebar,t&&Pw.embedded),"data-testid":`conversation-sidebar`,"aria-label":`Conversation history`,children:[!t&&(0,Z.jsxs)(R,{className:Pw.header,gap:`xs`,children:[(0,Z.jsx)(F,{variant:`subtle`,fullWidth:!0,justify:`start`,leftSection:(0,Z.jsx)(En,{size:`sm`}),onClick:te,loading:ne,disabled:ne,className:Pw.newChatButton,"data-testid":`new-chat-button`,children:`New chat`}),(0,Z.jsxs)(L,{justify:`space-between`,wrap:`nowrap`,children:[(0,Z.jsx)(H,{size:`sm`,fw:500,children:`History`}),re]})]}),t&&n&&re&&(0,Z.jsx)(L,{justify:`flex-end`,px:`md`,pt:`xs`,wrap:`nowrap`,children:re}),!i&&!a&&(0,Z.jsx)(Ow,{searchQuery:_,onSearchChange:v}),(0,Z.jsx)(Gt,{className:Pw.scrollArea,type:`scroll`,viewportRef:h,children:N()})]})}var Iw={sidebar:`_sidebar_im5xc_1`,sidebarCompactOverlay:`_sidebarCompactOverlay_im5xc_13`,compactOverlayBackdrop:`_compactOverlayBackdrop_im5xc_20`,sidebarDragging:`_sidebarDragging_im5xc_28`,resizeHandle:`_resizeHandle_im5xc_32`,resizeHandleDragging:`_resizeHandleDragging_im5xc_44`,header:`_header_im5xc_48`,headerButton:`_headerButton_im5xc_61`,body:`_body_im5xc_67`,messagesContainer:`_messagesContainer_im5xc_76`,inputContainer:`_inputContainer_im5xc_82`,emptyStateContainer:`_emptyStateContainer_im5xc_90`,emptyStateContent:`_emptyStateContent_im5xc_96`,emptyStateInputWrapper:`_emptyStateInputWrapper_im5xc_105`,starterQuestionsContainer:`_starterQuestionsContainer_im5xc_109`,starterQuestionButton:`_starterQuestionButton_im5xc_113`},Lw=`operations-agent-panel-title`;function Rw({scrollContainerRef:e,configId:t}){let{handleStartChat:n,isLoadingConversation:r,currentInputMentions:i}=Mo(),{recalculateScrolledToBottom:a,visibleMessages:o}=Oo(),s=Rx(),c=Dl(t),l=o.length>0||r;mw();let u=t===K.Chat?J.SidebarStarterQuestion:c.conversationOrigins.starterQuestion,d=(0,X.useCallback)(e=>{let t=i.length>0?i:void 0;n({message:e,contextMentions:t,threadMetadata:{conversation_origin:u}})},[i,n,u]);if(!l){let e=_w(t,s);return(0,Z.jsx)(zx,{onStarterQuestionClick:d,children:(0,Z.jsx)(R,{gap:0,className:Iw.emptyStateContainer,children:(0,Z.jsx)(`div`,{className:Iw.emptyStateContent,children:(0,Z.jsxs)(R,{align:`center`,gap:0,w:`100%`,children:[(0,Z.jsx)(`div`,{className:Iw.emptyStateInputWrapper,children:(0,Z.jsx)(Ax,{testId:`sidebar-chat-input`,hideNewChatButton:!0})}),(0,Z.jsx)(gw,{agentName:c.pageTitle}),e.length>0&&(0,Z.jsx)(L,{gap:`sm`,wrap:`wrap`,justify:`center`,className:Iw.starterQuestionsContainer,children:e.map(e=>(0,Z.jsx)(F,{variant:`default`,onClick:()=>d(e.prompt),className:Iw.starterQuestionButton,children:e.label},e.id))})]})})})})}return(0,Z.jsx)(zx,{onStarterQuestionClick:d,children:(0,Z.jsxs)(R,{h:`100%`,gap:0,children:[(0,Z.jsx)(`div`,{ref:e,onScroll:a,className:Iw.messagesContainer,children:(0,Z.jsx)(Fe,{message:Ss,withRetry:!0,children:(0,Z.jsx)(Gb,{})})}),(0,Z.jsxs)(`div`,{className:Iw.inputContainer,children:[(0,Z.jsx)(Ax,{testId:`sidebar-chat-input`,hideNewChatButton:!0}),(0,Z.jsx)(gw,{agentName:c.pageTitle})]})]})})}function zw({mode:e=`docked`}){let t=e===`modal`,n=e!==`docked`,r=ma(),i=da(),a=na(),o=ea(),s=ia(),c=(0,X.useRef)(null),[l,u]=(0,X.useState)(`chat`),{isDragging:d,handleMouseDown:f}=dw(),p=uw(r),m=Dl(i),h=(0,X.useRef)(null),g=(0,X.useRef)(null),_=(0,X.useRef)(null),v=(0,X.useRef)(null),y=(0,X.useRef)(!0);(0,X.useLayoutEffect)(()=>{g.current=document.activeElement},[]);let b=pn(t),x=Qt(h,b),S=(0,X.useCallback)(()=>{let e=g.current;e instanceof HTMLElement&&e.isConnected&&e.focus()},[]),C=(0,X.useCallback)(()=>{Y.closePanel(),t&&S()},[t,S]);(0,X.useEffect)(()=>
70{if(!t)return;let e=e=>{e.key!==`Escape`||!h.current?.contains(document.activeElement)||(e.preventDefault(),C())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[t,C]);let w=(0,X.useCallback)(()=>{M(j),u(`history`)},[]),T=(0,X.useCallback)(()=>{Y.startNewChat(),u(`chat`)},[]);return(0,X.useEffect)(()=>{if(y.current){y.current=!1;return}l===`history`?_.current?.focus():v.current?.focus()},[l]),(0,X.useEffect)(()=>{s&&!s.isSent&&u(`chat`)},[s]),r?(0,Z.jsxs)(Z.Fragment,{children:[t&&(0,Z.jsx)(er,{"aria-hidden":`true`,fixed:!0,className:Iw.compactOverlayBackdrop,"data-testid":`operations-agent-overlay-backdrop`,onClick:C}),(0,Z.jsxs)(`aside`,{ref:x,className:pt(Iw.sidebar,n&&Iw.sidebarCompactOverlay,d&&Iw.sidebarDragging),style:{width:p},"data-testid":`operations-agent-panel`,role:t?`dialog`:void 0,"aria-modal":t||void 0,"aria-labelledby":t?Lw:void 0,"aria-label":t?void 0:m.pageTitle,children:[!t&&(0,Z.jsx)(St,{type:`button`,"aria-label":`Resize panel`,className:pt(Iw.resizeHandle,d&&Iw.resizeHandleDragging),onMouseDown:f}),(0,Z.jsx)(`div`,{className:Iw.header,children:l===`history`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(L,{gap:`xs`,wrap:`nowrap`,children:[(0,Z.jsx)(V,{label:`Back to chat`,children:(0,Z.jsx)(I,{ref:_,variant:`subtle`,"aria-label":`Back to chat`,onClick:()=>u(`chat`),className:Iw.headerButton,children:(0,Z.jsx)(Tt,{})})}),(0,Z.jsx)(kr,{order:4,id:Lw,children:`Chat history`})]}),(0,Z.jsx)(I,{variant:`subtle`,onClick:C,"aria-label":`Close panel`,className:Iw.headerButton,children:(0,Z.jsx)(on,{})})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(kr,{order:4,id:Lw,children:[m.pageTitle,a&&` ${a}`]}),(0,Z.jsxs)(L,{gap:`xs`,children:[(0,Z.jsx)(V,{label:`New chat`,children:(0,Z.jsx)(I,{variant:`subtle`,"aria-label":`New chat`,onClick:T,className:Iw.headerButton,children:(0,Z.jsx)(En,{})})}),(0,Z.jsx)(V,{label:`Chat history`,children:(0,Z.jsx)(I,{ref:v,variant:`subtle`,"aria-label":`Chat history`,onClick:w,className:Iw.headerButton,children:(0,Z.jsx)(wn,{})})}),(0,Z.jsx)(I,{variant:`subtle`,onClick:C,"aria-label":`Close panel`,className:Iw.headerButton,children:(0,Z.jsx)(on,{})})]})]})}),(0,Z.jsx)(`div`,{className:Iw.body,children:(0,Z.jsx)(nw,{configId:i,children:l===`history`?(0,Z.jsx)(Fw,{embedded:!0,showFilters:!0,onConversationSelected:()=>u(`chat`)}):(0,Z.jsx)(sl,{scrollContainerRef:c,children:(0,Z.jsx)(Rw,{scrollContainerRef:c,configId:i})})},`${i}-${o}`)})]})]}):null}var Bw=360,Vw=`(max-width: 0px)`;function Hw(e,t){(0,X.useLayoutEffect)(()=>{Y.registerCompactOverlay(e,t)},[e,t]),(0,X.useLayoutEffect)(()=>()=>Y.unregisterCompactOverlay(e),[e])}function Uw(){let e=Cn(),t=aa(),n=Qi(),r=cw(),i=kn(`(max-width: ${e.breakpoints.sm})`,!1),a=n===null?Vw:`(max-width: ${n+r+Bw-.02}px)`,o=kn(a,!1);return t?i?`modal`:n!==null&&o?`float`:`docked`:`docked`}function Ww(){let e=Zi(e=>_a(Object.values(e.slices))),t=ma(),n=ia(),r=(0,X.useRef)(null),i=(0,X.useRef)(!1);(0,X.useEffect)(()=>{if(!t)return;let a=r.current;r.current=e;let o=i.current;i.current=ra.getState().contextPersistenceActive,a!==null&&a!==e&&(n&&!n.isSent&&n.contextResetKey===e||i.current&&o||Y.resetConversationForContextChange())},[e,t,n])}function Gw(e,t){let n=(0,X.useId)(),r=t??n,i=e?JSON.stringify(e):null;(0,X.useEffect)(()=>{let t=e;if(!t){ga.unpublish(r);return}return ga.publish(r,t),()=>ga.unpublish(r)},[r,i]),(0,X.useEffect)(()=>{},[t]),(0,X.useEffect)(()=>{},[i])}var Kw=200,qw=1e3;function Jw({pageType:e,entityId:t,facts:n,label:r,userInput:i,mention:a,contributorId:o,priority:s}){Gw(t?{scope:`entity`,pageType:e,entityId:t,priority:s,facts:n,entityLabel:r?r.slice(0,Kw):void 0,userInput:i?i.slice(0,qw):void 0,mentions:a?[a]:void 0}:null,o)}var Yw=[{path:`/monitors/add`,pageType:`monitors`},{path:`/monitors/create`,pageType:`monitors`},{path:`/monitors/templates`,pageType:`monitors`},{path:`/monitors/:monitor`,pageType:`monitor`,entityIdParam:`monitor`},{path:`/monitors`,pageType:`monitors`},{path:`/alerts/:alert`,pageType:`alert`,entityIdParam:`alert`},{path:`/alerts`,pageType:`alerts`},{path:`/incidents/:incident`,pageType:`alert`,entityIdParam:`incident`},{path:`/incidents`,pageType:`alerts`},{path:`/assets/:mcon`,pageType:`asset`,entityIdParam:`mcon`},{path:`/assets`,pageType:`assets`},{path:`/jobs/:mcon`,pageType:`asset`,entityIdParam:`mcon`},{path:`/jobs`,pageType:`assets`},{path:`/dashboard/custom/add`,pageType:`dashboards`},{path:`/dashboard/custom/create`,pageType:`dashboards`},{path:`/dashboard/custom/:dashboardId`,pageType:`dashboard`,entityIdParam:`dashboardId`},{path:`/dashboard/data-operations/add`,pageType:`data-operations`},{path:`/dashboard/data-operations/create`,pageType:`data-operations`},{path:`/dashboard/data-operations/:uuid`,pageType:`data-operation`,entityIdParam:`uuid`},{path:`/dashboard/data-operations`,pageType:`data-operations`},{path:`/dashboard`,pageType:`dashboards`},{path:`/data-products/add`,pageType:`data-products`},{path:`/data-products/create`,pageType:`data-products`},{path:`/data-products/edit`,pageType:`data-products`},{path:`/data-products/:dataProductId`,pageType:`data-products`,entityIdParam:`dataProductId`},{path:`/data-products`,pageType:`data-products`},{path:`/domains/add`,pageType:`domains`},{path:`/domains/create`,pageType:`domains`},{path:`/domains/edit/:domainId`,pageType:`domains`,entityIdParam:`domainId`},{path:`/domains/edit`,pageType:`domains`},{path:`/domains/:domainId`,pageType:`domains`,entityIdParam:`domainId`},{path:`/domains`,pageType:`domains`},{path:`/notebooks`,pageType:`notebooks`},{path:`/notebook/:id`,pageType:`notebook`,entityIdParam:`id`},{path:`/performance`,pageType:`performance`},{path:`/cost-performance`,pageType:`performance`},{path:`/agents`,pageType:`agent-observability`},{path:`/settings`,pageType:`settings`}];function Xw(e){for(let t of Yw){let n=Ie({path:t.path,end:!1},e);if(!n)continue;let r=t.entityIdParam?n.params[t.entityIdParam]:void 0;return{pageType:t.pageType,entityId:r??void 0}}}function Zw(e){return e.replace(/-/g,` `)}function Qw(e){return e===`other`?`a page`:`the ${Zw(e)} page`}function $w(){let{pathname:e}=Le(),t=pa(e)?void 0:Xw(e);Gw(t?{scope:`route`,pageType:t.pageType,entityId:t.entityId,facts:`The user is on ${Qw(t.pageType)}
70.`,userInput:t.entityId?`The id of the ${Zw(t.pageType)} in the page URL is "${t.entityId}".`:void 0}:null,`route`)}function eT(){let e=ti();Gw(e?{scope:`route`,priority:-1,userInput:`The active domain scope id is "${e}".`}:null,`active-domain`)}var tT=null;function nT(){rT(),tT=setTimeout(()=>{Y.closePanel(),tT=null},0)}function rT(){tT&&=(clearTimeout(tT),null)}function iT(e){let{enabled:t,loading:n}=$e(),[r,i]=Be(),a=(0,X.useRef)(!1),o=(0,X.useRef)(!1),s=(0,X.useRef)(e);s.current=e;let c=e?JSON.stringify(e):null,l=ma(),u=ia();return(0,X.useEffect)(()=>{let e=u!=null&&!u.isSent;l&&s.current&&(o.current||!e)&&Y.setPageContext(s.current),o.current=l},[l,c,u]),(0,X.useEffect)(()=>{if(a.current||!e||n)return;let o=r.get(Ir.AGENT_CONVERSATION_ID);o&&(a.current=!0,i(e=>(e.delete(Ir.AGENT_CONVERSATION_ID),e),{replace:!0}),t&&Y.openWithConversation({...e,conversationOrigin:void 0},o))},[r,i,e,t,n]),(0,X.useEffect)(()=>(rT(),()=>{nT()}),[]),(0,X.useCallback)(()=>{t&&(e&&Y.setPageContext(e),Y.togglePanel())},[t,e])}var aT=`var(--mantine-color-default-hover)`;function oT({pageContext:e}){let{enabled:t,loading:n}=We(),r=ma(),i=iT(e?{...e,conversationOrigin:J.SidebarToggle}:null);return n||!t||!e?null:(0,Z.jsx)(V,{label:`Ask Operations agent`,children:(0,Z.jsx)(I,{onClick:()=>{M(y,{page_type:e?.pageType??`other`,route:e?.route,action:r?`close`:`open`}),i()},"aria-label":`Ask Operations agent`,"aria-pressed":r,bg:r?aT:void 0,size:`large`,children:(0,Z.jsx)(jt,{})})})}var sT={sparkleIcon:`_sparkleIcon_1m4i1_78`,sparkle:`_sparkle_1m4i1_78`,glow:`_glow_1m4i1_1`},cT={monitor:J.MonitorExplainButton,asset:J.AssetExplainButton,alert:J.AlertExplainButton};function lT({pageContext:e,prompt:t=`Explain this monitor.`,label:n=`Explain with AI`,tooltipLabel:r=`Get an AI explanation from Operations agent`,titleSuffix:i,configId:a,size:o=`compact`}){let{enabled:s,loading:c}=We();return c||!s?null:(0,Z.jsx)(V,{label:r,children:(0,Z.jsx)(F,{variant:`secondary`,size:o,leftSection:(0,Z.jsx)(jt,{size:`xs`,className:sT.sparkleIcon}),onClick:()=>{M(se,{page_type:e.pageType,entity_id:e.entityId,object_type:e.contextMention?.objectType,prompt:t});let n={...e,conversationOrigin:cT[e.pageType]};Y.openWithPrompt(n,t,a,i)},"aria-label":n,children:n})})}var uT=Zn(64);export{h_ as $,sl as $t,Ax as A,Wm as At,oy as B,od as Bt,vS as C,xo as Cn,rh as Ct,Ux as D,Xm as Dt,Kx as E,ih as Et,eb as F,bm as Ft,rv as G,uu as Gt,cv as H,Pu as Ht,zy as I,fm as It,Y_ as J,Al as Jt,$_ as K,mu as Kt,Ry as L,om as Lt,fx as M,Em as Mt,Xb as N,Tm as Nt,Px as O,sh as Ot,Gb as P,wm as Pt,v_ as Q,vl as Qt,Ey as R,rm as Rt,GS as S,go as Sn,eh as St,Jx as T,Zm as Tt,sv as U,Nu as Ut,iv as V,nd as Vt,ov as W,gu as Wt,b_ as X,Dl as Xt,M_ as Y,jl as Yt,y_ as Z,xl as Zt,ew as _,ho as _n,Ih as _t,eT as a,cs as an,Jg as at,CC as b,vo as bn,Dh as bt,Gw as c,$o as cn,qg as ct,Hw as d,Po as dn,i_ as dt,Tc as en,d_ as et,zw as f,Mo as fn,ug as ft,lw as g,mo as gn,Gh as gt,gw as h,To as hn,Kh as ht,oT as i,ls as in,s_ as it,bx as j,Dm as jt,jx as k,Gm as kt,Ww as l,Fo as ln,Qg as lt,xw as m,Co as mn,og as mt,lT as n,vs as nn,Xg as nt,$w as o,us as on,Kg as ot,Fw as p,Oo as pn,sg as pt,Z_ as q,Pl as qt,sT as r,Ss as rn,c_ as rt,Jw as s,ms as sn,$g as st,uT as t,Ls as tn,o_ as tt,Uw as u,No as un,e_ as ut,QC as v,bo as vn,jh as vt,$x as w,fo as wn,qm as wt,$ as x,_o as xn,fh as xt,EC as y,yo as yn,Ah as yt,xy as z,tm as zt};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.