1import{i as T,u as w,n as C,a as o,j as s}from"./vendor-react-CuuqKQpN.js";import{u as E}from"./vendor-intl-DflcVhi5.js";import{a as I}from"./ContractAcceptanceModal-0VihSvPA.js";import{v as L}from"./main-BFwzyxdJ.js";import{a as P}from"./AiAnalyticsBffService-KnZd1vFe.js";import{f as c}from"./formatDate-pgICEBDN.js";import{S as _}from"./StandardTable-Byc5jose.js";import"./vendor-cjs-BosuxZz1.js";import"./i18nProvider-CcUjZRgB.js";import"./vendor-query-DJ11Sd2y.js";import"./AssistantDrawer-DhOqiwD3.js";import"./vendor-markdown-BXjZCFI9.js";import"./vendor-form-CRvR2TwE.js";import"./EmptyState-B32jMPfr.js";import"./vendor-ui-CP508Bka.js";import"./vendor-monitoring-CnHeFoWS.js";import"./TableMobileActionsSheet-Bkwcke3s.js";const p=25,v={ERROR:"badge bg-danger-subtle text-danger",COMPLETED:"badge bg-success-subtle text-success"},Y=()=>{const{documentId:r}=T(),n=w(),a=E(),h=I(),u=C("..").pathname.replace(/\/users$/,""),{setDocumentTitleOverride:d}=L(),[m,j]=o.useState(1),[i,g]=o.useState(null),[M,f]=o.useState(!0);if(o.useEffect(()=>(d(a.formatMessage({id:"message.aistudio.user.title"})),()=>d(null)),[d,a]),o.useEffect(()=>{if(!r)return;let e=!1;return f(!0),P.getUserThreads(r,{page:m-1,size:p}).then(t=>{var x;e||g(((x=t.data)==null?void 0:x.data)??null)}).catch(()=>{e||g(null)}).finally(()=>{e||f(!1)}),()=>{e=!0}},[r,m]),!r)return s.jsx("div",{className:"text-muted",children:a.formatMessage({id:"message.aistudio.user.noDocumentId"})});const l=(i==null?void 0:i.threads)??[],b=(i==null?void 0:i.totalElements)??0,N=l.reduce((e,t)=>e+(t.messageCount??0),0),y=l.reduce((e,t)=>e+(t.totalTokensUsed??0),0),k=new Set(l.map(e=>e.primaryAgent).filter(Boolean)),S=[{key:"startedAt",title:a.formatMessage({id:"message.aistudio.user.col.startedAt"}),mobileVisible:!0,className:"text-nowrap",render:(e,t)=>c(t.startedAt)},{key:"status",title:a.formatMessage({id:"message.label.status"}),mobileVisible:!0,render:(e,t)=>t.status?s.jsx("span",{className:v[t.status]??"badge bg-primary-subtle text-primary",children:t.status}):null},{key:"primaryAgent",title:a.formatMessage({id:"message.aistudio.user.col.primaryAgent"}),mobileVisible:!1,render:(e,t)=>t.primaryAgent??"â"},{key:"messageCount",title:a.formatMessage({id:"message.aistudio.users.colMessages"}),mobileVisible:!1,render:(e,t)=>t.messageCount??"â"},{key:"totalTokensUsed",title:a.formatMessage({id:"message.aistudio.users.colTokens"}),mobileVisible:!1,className:"font-monospace",render:(e,t)=>(t.totalTokensUsed??0).toLocaleString()},{key:"avgLatencyMs",title:a.formatMessage({id:"message.aistudio.kpi.avgLatency"}),mobileVisible:!1,render:(e,t)=>t.avgLatencyMs?`${Math.round(t.avgLatencyMs)} ms`:"â"},{key:"resolutionStatus",title:a.formatMessage({id:"message.aistudio.user.col.resolution"}),mobileVisible:!1,render:(e,t)=>t.resolutionStatus??"â"}],A=[{label:a.formatMessage({id:"message.aistudio.list.viewConversation"}),icon:"ki-solid ki-eye",onClick:e=>n(`${u}/conversations/${e.conversationId}`)}];return s.jsxs("div",{"data-testid":"ai-user-view",children:[s.jsx("div",{className:"mb-3",children:s.jsxs("button",{className:`btn${h?"":" btn-sm"} btn-outline d-inline-flex align-items-center gap-1`,onClick:()=>n(-1),children:[s.jsx("i",{className:"ki-solid ki-arrow-left fs-6"}),a.formatMessage({id:"message.back"})]})}),s.jsxs("div",{className:"d-flex align-items-baseline gap-3 mb-3 flex-wrap",children:[s.jsx("h2",{className:"fw-bold mb-0 fs-4",children:a.formatMessage({id:"message.aistudio.user.title"})}),s.jsx("code",{className:"badge bg-light text-dark border font-monospace fs-8 fw-normal px-2",children:r})]}),s.jsxs("div",{className:"d-flex gap-4 flex-wrap mb-4 font-monospace fs-7","data-testid":"user-view-stats",children:[s.jsxs("div",{className:"text-center",children:[s.jsx("div",{className:"fw-bold fs-4",children:b}),s.jsx("div",{className:"text-muted",children:a.formatMessage({id:"message.aistudio.user.stat.totalThreads"})})]}),s.jsxs("div",{className:"text-center",children:[s.jsx("div",{className:"fw-bold fs-4",children:N.toLocaleString()}),s.jsx("div",{className:"text-muted",children:a.formatMessage({id:"message.aistudio.user.stat.messages"})})]}),s.jsxs("div",{className:"text-center",children:[s.jsx("div",{className:"fw-bold fs-4",children:y.toLocaleStr
1ing()}),s.jsx("div",{className:"text-muted",children:a.formatMessage({id:"message.aistudio.user.stat.tokens"})})]}),s.jsxs("div",{className:"text-center",children:[s.jsx("div",{className:"fw-bold fs-4",children:k.size}),s.jsx("div",{className:"text-muted",children:a.formatMessage({id:"message.aistudio.user.stat.agents"})})]})]}),s.jsx("div",{className:"card-header py-2 fw-semibold fs-7 border rounded-top bg-light mb-0",children:a.formatMessage({id:"message.aistudio.user.timeline.title"})}),s.jsx(_,{columns:S,data:l,actions:A,loading:M,getRowKey:e=>String(e.conversationId),enablePagination:!0,totalRecords:b,currentPage:m,pageSize:p,onPageChange:j,emptyState:{icon:"message-text-2",titleMessageId:a.formatMessage({id:"message.aistudio.user.threads.empty"})},mobileActionsTitle:e=>c(e.startedAt),mobileActions:e=>[{label:a.formatMessage({id:"message.aistudio.list.viewConversation"}),icon:"ki-solid ki-eye fs-5",onClick:()=>n(`${u}/conversations/${e.conversationId}`)}],mobileCardRenderer:e=>s.jsxs("div",{children:[s.jsx("div",{className:"fw-semibold fs-7",children:c(e.startedAt)}),s.jsxs("div",{className:"d-flex gap-2 align-items-center mt-1",children:[e.status&&s.jsx("span",{className:v[e.status]??"badge bg-primary-subtle text-primary",children:e.status}),s.jsx("span",{className:"text-muted fs-8",children:e.primaryAgent??"â"})]})]})})]})};export{Y as default};
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.