@epam/statgpt-conversation-view 0.7.0-dev.21 → 0.7.0-dev.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +3 -0
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/package.json +6 -6
package/index.d.ts
CHANGED
|
@@ -27,5 +27,8 @@ export { ConversationViewFeatureTogglesProvider, useConversationViewFeatureToggl
|
|
|
27
27
|
export type { ConversationViewFeatureToggles } from './context/ConversationViewFeatureTogglesContext';
|
|
28
28
|
export { CrossDatasetAttachmentsProvider, useCrossDatasetAttachments, } from './context/CrossDatasetAttachmentsContext';
|
|
29
29
|
export { AttachmentRenderer } from './components/Attachments/AttachmentRenderer';
|
|
30
|
+
export { CustomChartAttachment } from './components/Attachments/CustomAttachments/CustomChartAttachment';
|
|
31
|
+
export { CustomDataGridAttachment } from './components/Attachments/CustomAttachments/CustomGridAttachment';
|
|
32
|
+
export { CrossDatasetGridAttachment } from './components/Attachments/CustomAttachments/CrossDatasetGridAttachment';
|
|
30
33
|
export type { ChartingData, ChartUnit, ChartUnitGroup, } from './models/charting';
|
|
31
34
|
export type { GridData } from './types/data-grid/grid-data';
|
package/index.js
CHANGED
|
@@ -8,4 +8,4 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.
|
|
|
8
8
|
`);if(!t.startsWith("```"))return{code:e};let n=t.split(`
|
|
9
9
|
`),r=n[0].slice(3).trim()||void 0,i=-1;for(let e=n.length-1;e>0;e--)if(n[e].trim()==="```"){i=e;break}return i===-1?{code:n.slice(1).join(`
|
|
10
10
|
`),language:r}:{code:n.slice(1,i).join(`
|
|
11
|
-
`),language:r}}var Gl=[`python`];function Kl(e,t,n){return e.filter(e=>e.type===m.AttachmentType.MARKDOWN).filter(e=>!t||e.title?.includes(t)).map(e=>{let t=Wl(e.data??``);return{title:n??`Code samples`,type:m.AttachmentType.CUSTOM_CODE_SAMPLE,language:t.language,data:t.code}}).filter(e=>Gl.includes(e.language??``))}function ql(e,t){return e?.find(e=>e.type===m.AttachmentType.MARKDOWN&&e.data?.includes("```python")&&e.title?.includes(t.urn))?.title??t.urn}function Jl(e){let{getPythonAttachment:t,dataQueries:n,requestIdRef:r,codeTitle:i,markdownTitle:a,datasetUrn:o,setCodeAttachments:s,onCodeAttachmentUpdated:c}=e,l=++r.current;t(n).then(e=>{l===r.current&&e?.python_code&&(s([{type:m.AttachmentType.CUSTOM_CODE_SAMPLE,data:e.python_code,language:`python`,title:i}]),c?.({type:m.AttachmentType.MARKDOWN,title:a,data:`\`\`\`python\n${e.python_code}\n\`\`\``},o))}).catch(e=>console.error(`Error refreshing python attachment:`,e))}var Yl=e=>({title:e||`Data Grid`,type:m.AttachmentType.CUSTOM_DATA_GRID}),Xl=e=>({title:e||`Chart`,type:m.AttachmentType.CUSTOM_CHART}),Zl=e=>({title:e||`Data`,type:m.AttachmentType.CROSS_DATASET_GRID});function Ql(e,t,n,r,i,a,o,s,l,u=!1,d,f=!1){let[p,m]=(0,c.useState)(),[h,g]=(0,c.useState)(),[_,v]=(0,c.useState)(),[b,x]=(0,c.useState)(),[S,C]=(0,c.useState)(Yl(o?.dataGrid)),[w,T]=(0,c.useState)(Xl(o?.chart)),[E,D]=(0,c.useState)(!1),[O,k]=(0,c.useState)([]),[A,j]=(0,c.useState)([]),[M,N]=(0,c.useState)([]),[P,F]=(0,c.useState)(!1),[I,L]=(0,c.useState)(!1),R=(0,c.useRef)(0),[z,B]=(0,c.useState)({startPeriod:null,endPeriod:null}),{getConstraints:V,getDataSet:H,getDataSetData:U,putOnboardingFile:W,getPythonAttachment:G}=e,K=(0,c.useCallback)(e=>{if(!e)return;let t=(0,y.getDimensions)(e);g(e.dataflows?.[0]||void 0),x(e||void 0),j([...t?.dimensions||[],...t?.timeDimensions||[]])},[]),q=(0,c.useCallback)(async e=>{let t=Kt((0,y.getFiltersDtoFromDataQuery)(e));try{v((await Zt(V,Xt(e.urn,t),()=>V(e.urn,t)))?.data?.dataConstraints||[])}catch{v([])}},[V]),J=(0,c.useCallback)(async e=>{let t=l?{data:l}:await Zt(H,Xt(e.urn),()=>H(e.urn));if(t?.data){let n=(0,y.getDimensions)(t.data);K(t.data);let r=n?.dimensions==null?null:(0,y.getTimeSeriesFilterKey)(n?.dimensions,e.filters??[]),i=tn(e,n);Zt(U,Xt(e.urn,{filterKey:r,timeFilter:i}),()=>U(e.urn,{filterKey:r,timeFilter:i})).then(e=>{L(!0),m(e||void 0),N((0,y.getStructureDimensions)(e))}).finally(()=>F(!1))}},[K,H,U,l]);(0,c.useEffect)(()=>{K(l)},[K,l]),(0,c.useEffect)(()=>{async function e(e){F(!0);try{await Promise.all([...f?[]:[q(e)],J(e)])}catch(e){console.error(`Error loading dataset details`,e)}}n!=null&&!(u&&!l)?e(n):n!=null&&u&&F(!0)},[n,l,u,q,J,f]);let Y=(0,c.useCallback)((e,t,r)=>{try{F(!0),v(t);let i=r?.find(e=>e.id===y.TIME_PERIOD)?.timeRange;i&&B(i),Zt(U,Xt(n?.urn||``,e),()=>U(n?.urn||``,e)).then(e=>{L(!0),m(e||void 0),N((0,y.getStructureDimensions)(e))}).finally(()=>F(!1)),G&&n&&r&&Jl({getPythonAttachment:G,dataQueries:[ln(n,r,!1)],requestIdRef:R,codeTitle:o?.codeSamples||`Python Code`,markdownTitle:ql(s,n),setCodeAttachments:k,onCodeAttachmentUpdated:d,datasetUrn:n.urn})}catch(e){console.error(`Error loading dataset data`,e)}},[n,U,G,o,s,d]);(0,c.useEffect)(()=>{if(b!=null&&p!=null&&_?.length){L(!0);let e=hs(()=>{C(e=>({...e,...Ul(b,p,n,t,r,a,i,o,W,_,z)})),L(!1)});return()=>{e(),L(!1)}}(p==null||_!==void 0)&&L(!1)},[b,p,o,t,r,n,a,i,_,z,W]),(0,c.useEffect)(()=>{if(b==null||p==null)return;let e=jl(b,p,n,t,i);return T(t=>({...t,charting_data:void 0,getChartingData:e})),D(!1),hs(()=>{try{D(kl(e()))}catch(e){console.error(`Error evaluating chart plottability`,e),D(!1)}})},[b,p,n,t,i]),(0,c.useEffect)(()=>{if(s?.length){let e=Kl(s,n?.urn,o?.codeSamples);e.length>0&&k(e)}},[s,o,n]);let ee=(0,c.useMemo)(()=>[S,...E?[w]:[],...O],[S,w,O,E]);return{dataMessage:p,structures:b,dataset:h,dimensions:A,structureDimensions:M,onFiltersChange:Y,constraints:_,isLoadingGridData:P||I,dataSetAttachments:ee}}function $l(e,t,n,r){let i=-1;if(n)i=e.findIndex(e=>e.id===n);else for(let t=e.length-1;t>=0;t--)if(e[t].role===u.Role.System){i=t;break}if(i===-1||e[i].role!==u.Role.System)return null;let a=e[i].custom_content?.attachments??[],o=e=>e.type===`text/markdown`&&e.data?.includes("```python"),s=[...a.filter(e=>o(e)?r?!e.title?.includes(r):!1:!0),t];return e.map((e,t)=>t===i?{...e,custom_content:{...e.custom_content,attachments:s}}:e)}var eu=async(e,t)=>{let n=new Map,r=(0,y.getFiltersDtoMapFromDataQuery)(e);return(await Promise.allSettled(e.map(async e=>{let n=Kt(r?.get(e.urn)||[]);return{urn:e.urn,response:await Zt(t,Xt(e.urn,n),()=>t(e.urn,n))}}))).forEach(e=>{if(e.status===`fulfilled`){let t=e.value.response?.data?.dataConstraints;Array.isArray(t)&&n.set(e.value.urn,t)}}),n},tu=()=>({datasetsMap:new Map,dataMessagesMap:new Map,structuresMap:new Map,dimensionsMap:new Map,structureDimensionsMap:new Map}),nu=async(e,t,n,r,i)=>{let a=tu();await Promise.allSettled(e.map(async e=>{let n=await Zt(t,Xt(e.urn),()=>t(e.urn));if(n?.data){let t=(0,y.getDimensions)(n.data);a.datasetsMap?.set(e?.urn,n?.data?.dataflows?.[0]),a.structuresMap?.set(e?.urn,n?.data),a.dimensionsMap?.set(e?.urn,[...t?.dimensions||[],...t?.timeDimensions||[]])}}));let o=await i?.(a);return await Promise.allSettled(e.map(async e=>{let t=a.structuresMap?.get(e.urn);if(!t||o&&!o.has(e.urn))return;let i=(0,y.getDimensions)(t),s=i?.dimensions==null?null:(0,y.getTimeSeriesFilterKey)(i?.dimensions,e.filters??[]),c=tn(e,i);await ru(e,o?.get(e.urn)??{filterKey:s,timeFilter:c},n).then(({dataMessage:t,structureDimensions:n})=>{a?.dataMessagesMap?.set(e.urn,t),a?.structureDimensionsMap?.set(e.urn,n||[])}).catch(()=>{a?.structureDimensionsMap?.set(e.urn,[])}).finally(()=>r(!1))})),a},ru=async(e,t,n)=>{let r=await Zt(n,Xt(e.urn,t),()=>n(e.urn,t));return{dataMessage:r,structureDimensions:(0,y.getStructureDimensions)(r)}};function iu(e,t,n,r){return[ou(e,r),au(e,t,n,r)]}function au(e,t,n,r){return{headerName:r?.dataset||`Dataset`,field:Ts,colId:Ts,valueGetter:t=>{let r=t.data?.dataset?.urn;if(r==null)return``;let i=e.get(r)?.dataflows?.[0];return(0,y.getLocalizedName)(i,n)||``},...Ka,tooltipValueGetter:e=>e.value,cellClass:Ga,cellRenderer:Za,cellRendererParams:{structuresMap:e,attributesDataMap:t,locale:n,titles:r}}}function ou(e,t){return{headerName:t?.agency||`Agency`,field:Es,colId:Es,valueGetter:t=>{let n=t.data?.dataset?.urn;return n==null?``:e.get(n)?.dataflows?.[0]?.agencyID||``},...Ka,tooltipValueGetter:e=>e.value}}function su(e,t,n,r,i){return cu(e).sort((e,t)=>(0,y.sortPeriods)(e,t)).map(e=>({...lu(e,r,i),valueGetter:e=>e.data[e.column.getColId()]?.value?.[0]?.value||null,cellClass:Ga,cellRenderer:qa,width:200,cellRendererParams:{structuresMap:t,locale:n,titles:i}}))}function cu(e){let t=new Set;return e.forEach(e=>{e!=null&&(0,y.getTimePeriods)(e).forEach(e=>t.add(e))}),Array.from(t)}function lu(e,t=h.defaultFormatNumbers,n){return{headerName:at(e,n),colId:e,field:e,type:`numericColumn`,suppressColumnsToolPanel:!0,sortable:!1,width:200,cellClass:[`justify-end`,`cell-with-meta`],valueFormatter:e=>(0,h.formatNumberBySign)(e.value,t)}}function uu(e,t,n,r,i,a,o=Fs.Compact){let s=new Map([...n.entries()].map(([e,t])=>[e,t?.data])),c=iu(e,s,r,i),l=Us(e,t,r,i,o),u=su(n,e,r,a,i);return[to(e,s,r,i),...c,...l,...u,eo(void 0,void 0,r,void 0,i)]}function du(e,t,n,r,i){let a=[];return n.filter(e=>!e.disabled).forEach(n=>{let o=n.urn,s=t.get(o),c=e.get(o);if(s==null||c==null)return;let l=Bl(s,c,n,r,i),u=(0,y.getLocalizedName)(c.dataflows?.[0],r);a.push(...l.map(e=>({...e,dataset:{urn:o},datasetTitle:u})))}),a}function fu(e,t,n,r,i,a,o,s,c,l,u,d=Fs.Compact){let f=pu(e,t,n,r,i,a,o,s,c,l,u,d);return{title:c?.dataGrid||`Data`,gridContent:f}}function pu(e,t,n,r,i,a,o,s,c,l,u,d=Fs.Compact){return{columns:uu(e,n,t,i,c,a,d),data:du(e,t,r,i,s)}}function mu(e,t,n,r,i){let a;return()=>(a??=hu(e,t,n,r,i),a)}function hu(e,t,n,r,i){let a=n.filter(e=>!e.disabled).flatMap(n=>{let a=e.get(n.urn),o=t.get(n.urn);return!a||!o?[]:[{title:(0,y.getLocalizedName)(a.dataflows?.[0],r),units:Al(a,o,n,r,i).units}]});return{units:a.flatMap(e=>e.units),groups:a}}var gu=5e3;function _u(e,t,n,r,i,a,o,s,l,u=Fs.Compact,d){let f=Array.isArray(s)?s:void 0,[p,m]=(0,c.useState)(),[h,g]=(0,c.useState)(),[_,v]=(0,c.useState)(!1),[y,b]=(0,c.useState)(f?new Set(f):null),[x,S]=(0,c.useState)(!1),C=(0,c.useRef)(0),w=(0,c.useRef)(u),T=(0,c.useRef)(p),E=(0,c.useRef)(0),D=(0,c.useRef)(null),[O,k]=(0,c.useState)(Zl(d?.dataGrid)),[A,j]=(0,c.useState)(Xl(d?.chart)),[M,N]=(0,c.useState)(!1),[P,F]=(0,c.useState)([]),{getConstraints:I,getDataSet:L,getDataSetData:R,getPythonAttachment:z}=e,B=(0,c.useRef)(n);B.current=n;let V=(0,c.useRef)(f);V.current=f;let H=(0,c.useMemo)(()=>n?.map(e=>e.urn).join(`,`)??``,[n]),U=rs(),{getDimensionsScheme:W}=U,G=(0,c.useCallback)(async e=>{try{let t=await eu(e.map(e=>({...e,filters:[]})),I),n=rr(e,t,U.map),r=n===e?t:await eu(n,I);return m(e=>({...e,constraintsMap:r})),r}catch{let e=new Map;return m(t=>({...t,constraintsMap:e})),e}},[U.map,I]),K=(0,c.useCallback)(async(e,n)=>{let r=await nu(e,L,R,v,async r=>{let i=vr(e.filter(e=>!e.disabled),r,n,t,U.map);if(i)return b(i.compatibleUrns),i.filterParamsMap});m(e=>({...e,...r,constraintsMap:n??e?.constraintsMap}))},[U.map,L,R,t]),q=(0,c.useCallback)(e=>{let t=new Map;for(let n of e)t.set(n.urn,W(n.urn));g(t)},[W]);(0,c.useEffect)(()=>{async function e(e){let t=V.current;b(t?new Set(t):null),v(!0);try{q(e),await K(e,await G(e))}catch(e){console.error(`Error loading dataset details`,e)}finally{v(!1)}}let t=B.current;t?.length&&e(t)},[H,G,q,K]),(0,c.useEffect)(()=>{if(o?.length){let e=Kl(o,void 0,d?.codeSamples);e.length>0&&F(e)}},[o,d]),(0,c.useEffect)(()=>()=>{D.current!==null&&clearTimeout(D.current)},[]),(0,c.useEffect)(()=>{let e=w.current!==u&&T.current===p;w.current=u,T.current=p;let{structuresMap:o,dataMessagesMap:s,constraintsMap:c}=p??{};if(o!=null&&o.size>0&&s!=null&&c!=null&&h!=null&&!_){e||S(!0);let l=hs(()=>{let l=n?.filter(e=>!e.disabled),f=y??new Set((l??[]).map(e=>e.urn)),p=$n(l,f),m=er(o,f),g=er(s,f),_=er(h,f);k(e=>({...e,...fu(m,g,_,p,t,i,a,r,d,c,{startPeriod:null,endPeriod:null},u)})),e||S(!1)});return()=>{l(),e||S(!1)}}e||S(!1)},[p,n,t,i,a,r,d,h,_,y,u]),(0,c.useEffect)(()=>{let{structuresMap:e,dataMessagesMap:i}=p??{};if(e!=null&&e.size>0&&i!=null&&!_){let a=n?.filter(e=>!e.disabled),o=y??new Set((a??[]).map(e=>e.urn)),s=$n(a,o),c=mu(er(e,o),er(i,o),s,t,r);return j(e=>({...e,charting_data:void 0,getChartingData:c})),N(!1),hs(()=>{try{N(kl(c()))}catch(e){console.error(`Error evaluating cross-dataset chart plottability`,e),N(!1)}})}},[p,n,t,r,_,y]);let J=(0,c.useMemo)(()=>[O,...M?[A]:[],...P],[O,A,P,M]),Y=(0,c.useCallback)((e,n,r,i,a)=>{try{v(!0);let o=++E.current;D.current!==null&&(clearTimeout(D.current),D.current=null);let s=r?.filter(e=>!e.disabled)??[];if(b(new Set(s.map(e=>e.urn))),m(e=>({...e,constraintsMap:n})),!s.length){v(!1);return}let c=i?yr(s,i):void 0,u=c?s.map(e=>({...e,filters:c.get(e.urn)??[]})):s,f=(n&&p?vr(u,p,n,t,U.map):void 0)?.filterParamsMap??e,h=new Map,g=()=>{if(h.size===0)return;S(!0);let e=[...h.values()];h.clear(),m(t=>{let n=new Map(t?.dataMessagesMap),r=new Map(t?.structureDimensionsMap);return e.forEach(({urn:e,dataMessage:t,structureDimensions:i})=>{n.set(e,t),r.set(e,i||[])}),{...t,dataMessagesMap:n,structureDimensionsMap:r}})};D.current=setTimeout(()=>{D.current=null,o===E.current&&h.size>0&&(g(),v(!1))},gu);let _=s.map(e=>ru(e,f?.get(e?.urn),R).then(({dataMessage:t,structureDimensions:n})=>{h.set(e.urn,{urn:e.urn,dataMessage:t,structureDimensions:n})}));Promise.allSettled(_).finally(()=>{o===E.current&&(D.current!==null&&(clearTimeout(D.current),D.current=null),g(),v(!1))}),z&&s.length&&Jl({getPythonAttachment:z,dataQueries:s.map(e=>ln(e,a??i?.get(e.urn)??[])),requestIdRef:C,codeTitle:d?.codeSamples||`Python Code`,markdownTitle:`Python Code`,setCodeAttachments:F,onCodeAttachmentUpdated:l})}catch(e){console.error(`Error loading dataset data`,e)}},[U.map,R,z,t,l,p,d]);return{structureDataMaps:p,datasetDimensionsSchemesMap:h,isLoadingGridData:_||x,crossDatasetAttachments:J,activeDatasetUrns:y,onMultipleDataFiltersChange:Y}}var vu=(0,c.createContext)(void 0),yu={setCrossDatasetAttachmentsState:()=>void 0},bu=e=>{if(!e)return``;try{return JSON.stringify({dataQueriesKey:e.dataQueriesKey,activeDatasetUrns:e.activeDatasetUrns,isLoading:!!e.isLoading,attachments:e.attachments})}catch{return JSON.stringify({dataQueriesKey:e.dataQueriesKey,activeDatasetUrns:e.activeDatasetUrns,isLoading:!!e.isLoading,attachmentsLength:e.attachments?.length??0})}},xu=({children:e})=>{let[t,n]=(0,c.useState)({}),r=(0,c.useCallback)(e=>{let t=bu(e);n(n=>n.signature===t?n:{...e,isLoading:!!e?.isLoading,signature:t})},[]),i=(0,c.useMemo)(()=>({...t,setCrossDatasetAttachmentsState:r}),[r,t]);return(0,l.jsx)(vu.Provider,{value:i,children:e})},Su=()=>{let e=(0,c.useContext)(vu);return e===void 0?yu:e},Cu=({attachmentsProps:e,actions:t,titles:n,shareConversationProps:r,metadataSettings:i,formattingSettings:a,locale:o,advanceViewStyles:s,getDatasetUpdatedTime:u,attachmentsConfig:f,datasetInfoOptions:m,limitMessages:h,...g})=>{let _=(0,c.useMemo)(()=>e.currentDataQuery?.urn??e.dataQueries?.[0]?.urn??`default`,[e.currentDataQuery?.urn,e.dataQueries]),v=(0,c.useMemo)(()=>e?.dataQueries?.filter(e=>!e.disabled),[e?.dataQueries]),[y,b]=(0,c.useState)(Fs.Compact),{isOpenedAdvancedView:x}=I(),{activeDatasetUrns:S,dataQueriesKey:C,setCrossDatasetAttachmentsState:w}=Su(),{isCrossDatasetModeOn:T,isMetadataInSidePanel:E}=Pt(),D=rs(),O=!E,k=e.datasets??[],A=k.length>1&&!T,j=(0,c.useMemo)(()=>{let e=g.filtersProps.conversation?.messages??[],t=Bi(e);return t>=0?e[t].custom_content?.attachments:void 0},[g.filtersProps.conversation?.messages]),M=(0,c.useMemo)(()=>ir(e.dataQueries),[e.dataQueries]),N=C===M?S:tr(e.dataQueries,D.map),P=T&&!!e.dataQueries?.length,F=(0,c.useRef)(g.filtersProps.conversation);F.current=g.filtersProps.conversation;let L=(0,c.useCallback)((e,t)=>{let n=F.current;if(!n)return;let r=$l(n.messages,e,void 0,t);if(!r)return;let i={...n,messages:r};g.filtersProps.setConversation?.(i),g.filtersProps.updateConversation(decodeURI(g.filtersProps.conversationKey),{name:i.name,messages:i.messages})},[]),{dataMessage:R,dataset:z,dimensions:B,structureDimensions:V,structures:H,dataSetAttachments:U,onFiltersChange:W,isLoadingGridData:G,constraints:K}=Ql(t,o,e.currentDataQuery,a,e.styles?.chartingStyles,i,n,j,void 0,!1,L,P),q=O&&!!z,{structureDataMaps:J,crossDatasetAttachments:Y,activeDatasetUrns:ee,isLoadingGridData:te,onMultipleDataFiltersChange:ne}=_u(t,o,e.dataQueries,e.styles?.chartingStyles,a,i,j,N,L,y,n);(0,c.useEffect)(()=>{if(!T||!e.dataQueries?.length){w();return}J&&w({attachments:Y,dataQueriesKey:M,activeDatasetUrns:ee?Array.from(ee):void 0,isLoading:te})},[ee,e.dataQueries?.length,Y,M,T,te,w,J]);let[re,ie]=(0,c.useState)({filterKey:null,timeFilter:null}),[ae,oe]=(0,c.useState)(),X=T?te:G,ce=T?Y:U,le=(0,c.useCallback)((e,t,n)=>{ie(e),oe(!0),W(e,t,n)},[W]),ue=(0,c.useCallback)((e,t,n,r,i)=>{oe(!0),ne(e,t,n,r,i)},[ne]),de=(0,c.useCallback)(n=>{n&&t?.updateCurrentDataQuery(e?.dataQueries?.find(e=>e?.urn===n)||e.currentDataQuery)},[t,e.currentDataQuery,e?.dataQueries]),fe=Ca(f?.isExternaLinkIncludeFilters,re,e.currentDataQuery||e.dataQueries?.[0],B);return(0,l.jsx)(se,{styles:{titles:n,attachmentsStyles:e.styles,formattingSettings:a,limitMessages:h,attachmentsConfig:f},children:(0,l.jsx)(Ls,{currentUrn:_,structuresMap:J?.structuresMap,locale:o,dataQueries:v,gridViewMode:y,onGridViewModeChange:b,texts:{columnsDisplayTitle:e.styles?.columnsDisplayTitle,columnsSearchPlaceholder:e.styles?.columnsSearchPlaceholder,compactViewTitle:e.styles?.compactViewTitle,compactViewDescription:e.styles?.compactViewDescription,extendedViewTitle:e.styles?.extendedViewTitle,extendedViewDescription:e.styles?.extendedViewDescription},resetIcon:e.styles?.tableSettingsResetIcon,children:(0,l.jsx)(Ti,{children:(0,l.jsxs)(`div`,{className:`advanced-view flex h-full min-w-0 flex-1 flex-col`,children:[(0,l.jsx)(Zc,{locale:o,shareConversationProps:r,isShowShare:s?.isShowShare,conversation:g.filtersProps.conversation}),k.length?(0,l.jsxs)(l.Fragment,{children:[A&&(0,l.jsx)(_a,{datasets:k,initialSelectedDatasetUrn:e?.currentDataQuery?.urn,locale:o,selectDataset:de}),X&&!ae?(0,l.jsx)(d.Loader,{}):(0,l.jsxs)(l.Fragment,{children:[q&&(0,l.jsx)(Xc,{...m,locale:o,dataset:z,data:R?.data,structures:H,metadataSettings:i,getDatasetUpdatedTime:u,externalLink:fe}),(0,l.jsxs)(`div`,{className:(0,p.default)(`flex flex-1 min-h-0 overflow-auto`,q&&`border-t border-neutrals-500`),children:[(0,l.jsx)(`div`,{className:(0,p.default)(`flex-1 min-h-0 overflow-auto`,`advanced-view-filters`),children:(0,l.jsx)(Yc,{...g,actions:t,attachments:ce,attachmentsDataQuery:e.currentDataQuery,dataQueries:e?.dataQueries,dimensions:B,isDataLoading:X,locale:o,filtersProps:{...g?.filtersProps,structureDimensions:V,structures:H,structureDataMaps:J,onFiltersChange:W,onMultipleDataFiltersChange:ue,initialConstraints:K},setIsFiltering:oe,filters:re,onFiltersChange:le})}),x&&(0,l.jsx)(Qo,{scope:`advanced`})]})]})]}):(0,l.jsx)(d.Loader,{})]})})})})};function wu(e,t,n,r,i,a){let[o,s]=(0,c.useState)([]),[l,u]=(0,c.useState)(),[d,f]=(0,c.useState)(!1),p=(0,c.useRef)(void 0);return(0,c.useEffect)(()=>{p.current=a},[a]),(0,c.useEffect)(()=>{let a=!0;async function o(i){f(!0);try{let o=await Promise.all(i.map(t=>Zt(e,Xt(t.urn),()=>e(t.urn))));if(!a)return;let c=o?.map(e=>e?.data?.dataflows?.[0])?.filter(e=>!!e)||[];s(c),t(c),n(i),r(i.find(e=>e.urn===p.current?.urn)??i[0]),u(new Map(o?.map(e=>[(0,y.generateShortUrn)(e?.data?.dataflows?.[0]?.id,e?.data?.dataflows?.[0]?.version,e?.data?.dataflows?.[0]?.agencyID),e?.data])))}catch(e){console.error(`Error loading datasets`,e)}finally{a&&f(!1)}}if(!i?.length){f(!1);return}return o(i),()=>{a=!1}},[i,e,r,n,t]),{datasets:o,datasetStructuresMap:l,isLoading:d}}function Tu(e){let t=e?.filter(e=>ki(e));if(t?.every(e=>!!e?.data))return t?.map(e=>({title:e?.title,...Du(Eu(e?.data))}))}function Eu(e){if(e)try{return JSON.parse(e)}catch(e){console.error(`Invalid JSON:`,e)}return null}function Du(e){return{...e,filters:e?.filters?.map(e=>({...e,componentCode:e?.component_code||e?.componentCode})),metadata:{datasetUrl:e?.metadata?.datasetUrl,countryDimension:e?.metadata?.country_dimension||e?.metadata?.countryDimension,indicatorDimensions:e?.metadata?.indicator_dimensions||e?.metadata?.indicatorDimensions,timePeriodDimension:e?.metadata?.timePeriodDimension,keyDimensionIdsInDsdOrder:e?.metadata?.keyDimensionIdsInDsdOrder}}}var Ou=function(e){return e.COMPLETED=`completed`,e}({}),ku=({stage:e,stageRef:t,isCurrentStage:n})=>(0,l.jsxs)(`div`,{ref:t,className:`message-stage relative flex pb-8 last:mb-8 last:pb-0`,children:[(0,l.jsx)(`span`,{className:`message-stage-line absolute h-full border-l`}),(0,l.jsx)(f.IconPointFilled,{className:`message-stage-indicator z-10 flex shrink-0`}),(0,l.jsxs)(`div`,{className:`ml-2 w-full`,children:[(0,l.jsxs)(`div`,{className:(0,p.default)(`flex gap-2 items-center`,e?.content&&`mb-4`),children:[n&&(0,l.jsx)(d.Loader,{}),(0,l.jsx)(`h3`,{className:`message-stage-name`,children:e?.name})]}),(0,l.jsx)(`div`,{className:`prose max-w-full break-words`,children:(0,l.jsx)(_.default,{remarkPlugins:[v.default],components:{strong:e=>(0,l.jsx)(`strong`,{className:`text-neutrals-1000`,...e}),a:({href:e,children:t,...n})=>(0,l.jsx)(`a`,{href:e,target:`_blank`,rel:`noreferrer`,...n,children:t}),h1:({children:e,...t})=>(0,l.jsx)(`h1`,{className:`h1 text-neutrals-1000`,...t,children:e}),h2:({children:e,...t})=>(0,l.jsx)(`h2`,{className:`h2 text-neutrals-1000`,...t,children:e}),h3:({children:e,...t})=>(0,l.jsx)(`h3`,{className:`h3 text-neutrals-1000`,...t,children:e}),h4:({children:e,...t})=>(0,l.jsx)(`h4`,{className:`h4 text-neutrals-1000`,...t,children:e}),h5:({children:e,...t})=>(0,l.jsx)(`h5`,{className:`h5 text-neutrals-1000`,...t,children:e}),code:e=>(0,l.jsx)(`code`,{className:`text-neutrals-900`,...e}),pre:e=>(0,l.jsx)(`pre`,{className:`border border-neutrals-600 bg-neutrals-100`,...e})},children:e?.content})})]})]}),Au=({stages:e,expandIcon:t,processingTitle:n})=>{let[r,i]=(0,c.useState)(),[a,o]=(0,c.useState)(),s=(0,c.useRef)(null),u=(0,c.useRef)(null);return(0,c.useEffect)(()=>{o(e?.filter(e=>e?.status!==Ou.COMPLETED)?.at(-1))},[e]),(0,c.useEffect)(()=>{r&&u?.current?.scrollIntoView({block:`nearest`,behavior:`smooth`})},[r]),(0,c.useEffect)(()=>{let e=s.current,t;if(!e)return;let n=new IntersectionObserver(([e])=>{let n=e?.boundingClientRect?.top;t&&!e?.isIntersecting&&n<t&&i(!1),t=n},{threshold:0});return n.observe(e),()=>n.disconnect()},[]),(0,l.jsxs)(`div`,{className:`message-stages`,ref:s,children:[(0,l.jsxs)(`div`,{className:(0,p.default)(`message-stages-header inline-flex max-w-full items-center cursor-pointer`,!a?.name&&`default-header`),onClick:()=>{i(e=>!e)},children:[(0,l.jsx)(`p`,{className:`message-stages-title truncate`,children:a?.name||n||`Processing...`}),(0,l.jsx)(`i`,{className:(0,p.default)(`message-stages-expand-icon`,r&&`rotated`),children:t})]}),r&&e&&(0,l.jsx)(`div`,{className:`flex flex-col`,children:e?.map(e=>(0,l.jsx)(ku,{stage:e,stageRef:a?u:null,isCurrentStage:e?.index===a?.index},e.index))})]})},ju=2e3,Mu=({message:e,regenerateMessage:t,messageActionsIcons:n,rateResponse:r,isStreaming:i=!1,isReadOnly:a=!1,isRegenerateAvailable:o=!1})=>{let{messageActionsTitles:s}=X(),f=n?.copy,m=n?.copied,h=n?.regenerate,g=n?.thumbUp,_=n?.thumbDown,v=n?.thumbPressed,[y,b]=(0,c.useState)(e.like??u.LikeState.NoState),[x,S]=(0,c.useState)(!1),C=(0,c.useRef)(null),{isAgentAvailable:w}=(0,d.useAgentAvailability)();(0,c.useEffect)(()=>()=>{C.current&&clearTimeout(C.current)},[]);let T=t=>{e.responseId&&(b(t),r(e.responseId||``,t))};return(0,l.jsxs)(`div`,{className:(0,p.default)(`message-actions`,`flex gap-x-2 pt-2`),children:[f&&(0,l.jsx)(`p`,{onClick:()=>{navigator.clipboard.writeText(e.content),S(!0),C.current&&clearTimeout(C.current),C.current=setTimeout(()=>{S(!1)},ju)},title:s?.copy,children:x&&m?m:f}),o&&h&&!a&&!i&&(0,l.jsx)(`p`,{onClick:w?()=>t?.(e):void 0,"aria-disabled":!w,title:s?.regenerate,className:(0,p.default)(!w&&`opacity-50 !cursor-not-allowed pointer-events-none`),children:h}),g&&!a&&y!==u.LikeState.Disliked&&(y===u.LikeState.NoState?(0,l.jsx)(`p`,{onClick:()=>T(u.LikeState.Liked),title:s?.like,children:g}):(0,l.jsx)(`p`,{title:s?.like,children:v})),_&&!a&&y!==u.LikeState.Liked&&(y===u.LikeState.NoState?(0,l.jsx)(`p`,{onClick:()=>T(u.LikeState.Disliked),title:s?.dislike,children:_}):(0,l.jsx)(`p`,{className:`rotate-180`,title:s?.dislike,children:v}))]})},Nu=({message:e,onEditClick:t,messageActionsIcons:n,isStreaming:r=!1,isReadOnly:i=!1})=>{let a=n?.copy,o=n?.edit,{isAgentAvailable:s}=(0,d.useAgentAvailability)();return(0,l.jsxs)(`div`,{className:(0,p.default)(`message-actions`,`flex gap-x-2 pt-2 ml-12`),children:[a&&(0,l.jsx)(`p`,{onClick:()=>navigator.clipboard.writeText(e.content),children:a}),o&&!r&&!i&&(0,l.jsx)(`p`,{onClick:s?t:void 0,className:(0,p.default)(!s&&`opacity-50 !cursor-not-allowed pointer-events-none`),"aria-disabled":!s,children:o})]})},Pu=({content:e,textColorClass:t,onCancel:n,onEditApply:r,editMessageTitles:i})=>{let{isOpenedAdvancedView:a}=I(),o=(0,c.useRef)(null);(0,c.useEffect)(()=>{let e=o.current;s(),e&&(e.focus(),e.setSelectionRange(e.value.length,e.value.length))},[]);let s=()=>{let e=o.current;e&&(e.style.height=`auto`,e.style.height=e.scrollHeight+`px`)};return(0,l.jsxs)(`div`,{className:(0,p.default)(`max-w-none break-words`,a?`body-2`:`body-1`,t),children:[(0,l.jsx)(`textarea`,{ref:o,className:`w-full resize-none overflow-hidden bg-neutrals-300 outline-none`,defaultValue:e,onInput:s}),(0,l.jsxs)(`div`,{className:(0,p.default)(`flex gap-x-2 items-center`,`edit-buttons-wrapper`),children:[(0,l.jsx)(d.Button,{buttonClassName:`text-button-secondary small-icon-button`,title:i?.cancel,isSmallButton:!0,onClick:n}),(0,l.jsx)(d.Button,{buttonClassName:`text-button-primary small-icon-button`,title:i?.send,isSmallButton:!0,onClick:()=>r(o.current?.value||``)})]})]})},Fu=({message:e,previousMessage:t,actions:n,dataQuery:r,isStreaming:i=!1,isCurrentMessageStreaming:a=!1,showAdvancedView:o,locale:s,metadataSettings:f,onAdvancedViewOpen:m,regenerateMessage:h,selectMessageToSend:g,rateResponse:_,editMessage:v,isReadOnlyConversation:y,isLastNotUserMessage:b,onCodeAttachmentUpdated:x})=>{let{messageStyles:S,attachmentsStyles:C,formattingSettings:w,messageActionsIcons:T,editMessageTitles:E,expandStagesIcon:D,titles:O}=X(),[k,A]=(0,c.useState)(),[j,M]=(0,c.useState)(),[N,P]=(0,c.useState)([]),[F,L]=(0,c.useState)([]),[R,z]=(0,c.useState)(),[B,V]=(0,c.useState)(!1),{isCrossDatasetModeOn:H}=Pt(),U=rs(),W=e.role===u.Role.User,G=e.role===u.Role.System,{datasets:K,datasetStructuresMap:q,isLoading:J}=wu(n.getDataSet,n.updateDatasets,n.updateDataQueries,n.updateCurrentDataQuery,k,r),[Y,ee]=(0,c.useState)(!1),[te,ne]=(0,c.useState)([]);(0,c.useEffect)(()=>{M(k?.[0])},[k]);let re=H&&!!k?.length,ie=(0,c.useCallback)(t=>{e.id&&x?.(e.id,t)},[e.id,x]),{dataSetAttachments:ae,dimensions:oe,isLoadingGridData:se}=Ql(n,s,j,w,C?.chartingStyles,f,O,e.custom_content?.attachments,j?q?.get(j.urn):void 0,J,ie,re),ce=(0,c.useMemo)(()=>tr(k,U.map),[k,U.map]),{crossDatasetAttachments:le,isLoadingGridData:ue}=_u(n,s,k,C?.chartingStyles,w,f,e.custom_content?.attachments,ce,ie,void 0,O),{isOpenedAdvancedView:de}=I(),{attachments:fe,dataQueriesKey:pe,isLoading:me}=Su(),he=(0,c.useMemo)(()=>ir(k),[k]),ge=H&&!!o&&fe!=null&&pe===he,_e=ge?fe:le,ve=(0,c.useMemo)(()=>H?ge?me:ue:se,[H,ue,se,me,ge]),ye=()=>{W&&ee(!0)},be=()=>{ee(!1)},xe=t=>{be(),v?.({...e,content:t})},Se=(0,c.useCallback)(e=>{e&&(M(k?.find(t=>t?.urn===e)),z(void 0))},[k]);(0,c.useEffect)(()=>{let t=e.custom_content?.form_schema?.properties;ne((b?t?.choice?.oneOf||t?.completion?.oneOf:[])||[])},[e,b]),(0,c.useEffect)(()=>{let t=Di(e),n=Tu(t),r=t.filter(e=>Mi(e));A(n),L(r)},[e]),(0,c.useEffect)(()=>{V(k!=null&&k.length>0)},[k]),(0,c.useEffect)(()=>{r?.urn&&k?.some(e=>e?.urn===r.urn)&&z(r.urn)},[r,k]),(0,c.useEffect)(()=>{if(e?.role===u.Role.System&&t){let e=Tu(Di(t))||[];k&&e&&q&&P(ya(e,k,q,s,U.map))}},[k,j,q,U.map,oe,s,e?.role,t]);let Ce=(0,c.useCallback)(()=>!W&&S?.systemMessageIcon&&!(de&&!a)?(0,l.jsx)(`div`,{className:(0,p.default)(`flex-shrink-0 rounded-full flex items-center justify-center w-[44px] h-[44px]`,a?`text-white absolute`:`text-neutrals-400`),children:S.systemMessageIcon}):null,[W,S?.systemMessageIcon,de,a]),we=(0,c.useMemo)(()=>(0,l.jsx)(xc,{actions:n,attachments:B?H?_e:ae:F,onAdvancedViewOpen:m,isDataSetAttachments:B,datasets:K,initialSelectedDatasetUrn:R,showAdvancedView:o,isSystemAttachments:G,isDataLoading:ve,currentDataQuery:j,dataQueries:k,attachmentInfoList:N,locale:s,dimensions:oe,selectDataset:Se}),[n,B,ae,F,_e,K,R,o,G,ve,j,k,N,s,oe,Se,m,H]);if(G&&de)return null;let Te=a?null:W?Y?null:(0,l.jsx)(Nu,{messageActionsIcons:T,message:e,isStreaming:i,onEditClick:ye,isReadOnly:y}):G?null:(0,l.jsx)(Mu,{messageActionsIcons:T,message:e,isStreaming:i,regenerateMessage:h,rateResponse:_,isReadOnly:y,isRegenerateAvailable:b});return(0,l.jsx)(`div`,{className:(0,p.default)(`max-w-full flex`,W?`justify-end`:`justify-start`,`message-wrapper`),children:(0,l.jsxs)(`div`,{className:(0,p.default)(`flex items-start`,W&&!Y?`max-w-full`:`w-full`),children:[(0,l.jsxs)(`div`,{className:`relative mr-2`,children:[Ce(),a&&(0,l.jsx)(d.Loader,{})]}),(0,l.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,l.jsxs)(`div`,{className:(0,p.default)(W?`bg-neutrals-300 px-6`:`pt-0`,W?`user-message`:`system-message`,W&&(Y?`w-[100%] ml-0`:`ml-12`)),children:[!W&&!de&&e?.custom_content?.stages?(0,l.jsx)(Au,{stages:e?.custom_content?.stages,expandIcon:D,processingTitle:S?.processingTitle}):a&&(0,l.jsx)(`p`,{className:`body-1 loading-message text-neutrals-700`,children:O?.loading}),Y?(0,l.jsx)(Pu,{content:e.content,onCancel:be,onEditApply:xe,editMessageTitles:E}):(0,l.jsx)(He,{content:e.content})]}),we,Te,!de&&!ve&&(0,l.jsx)(Ue,{choiceButtons:te,onClick:g})]})]})})},Iu=({messages:e,isStreaming:t=!1,isReadOnly:n,conversationViewState:r,...i})=>{let{scrollBottomIcon:a}=X(),o=(0,c.useRef)(null),s=(0,c.useRef)(null),{isOpenedAdvancedView:g}=I(),_=Zo(),[v,y]=(0,c.useState)(null),[b,x]=(0,c.useState)(!1),S=_?.isPanelOpen()??!1,C=()=>{let e=s.current?.parentElement,t=o.current;if(e&&t){let n=t.offsetTop-e.offsetTop;e.scrollTo({top:n,behavior:`smooth`})}};(0,c.useEffect)(()=>{C()},[e,t]),(0,c.useEffect)(()=>{!g&&v!==null&&setTimeout(()=>{s?.current?.parentElement?.scrollTo({top:v,behavior:`smooth`})})},[g,v]);let w=()=>{y(s.current?.parentElement?.scrollTop||null)},T=()=>{let e=s.current?.parentElement;if(e){let{scrollTop:t,scrollHeight:n,clientHeight:r}=e;t+r>=n?x(!1):!b&&!g&&x(!0)}};(0,c.useEffect)(()=>{g&&x(!1)},[g]);let E=(0,d.useDebounce)(T,300);(0,c.useEffect)(()=>{let e=s.current?.parentElement;return e?.addEventListener(`scroll`,E),()=>e?.removeEventListener(`scroll`,E)},[E]);let D=(0,c.useCallback)(e=>(0,l.jsx)(`div`,{className:`whitespace-pre-wrap break-words`,children:(0,h.linkifyText)(e).map((e,t)=>e.type===`text`?(0,l.jsx)(c.Fragment,{children:e.value},t):(0,l.jsx)(`a`,{href:e.value,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center align-middle`,children:(0,l.jsx)(f.IconExternalLink,{className:`size-4 shrink-0 cursor-pointer text-primary`})},t))}),[]);return(0,l.jsxs)(`div`,{ref:s,className:`flex size-full justify-center`,children:[(0,l.jsxs)(`div`,{className:`chat-messages-wrapper flex w-full flex-col gap-y-6`,children:[e.map((a,o)=>{let s=a.id??o;if(a.errorMessage)return(0,l.jsx)(d.InlineAlert,{type:r?.errorContext?.kind===m.ERROR_CONTEXT_KIND.RATE_LIMIT?d.InlineAlertType.Warning:d.InlineAlertType.Error,children:(0,l.jsx)(`div`,{className:`flex flex-col`,children:D(a.errorMessage)})},s);if(g&&a.role===u.Role.System)return null;let c=o===e.length-1,f=zi(e,o),p=Bi(e);return(0,l.jsx)(Fu,{message:a,previousMessage:f,onAdvancedViewOpen:w,isStreaming:t,isCurrentMessageStreaming:t&&c&&a.role===u.Role.Assistant,showAdvancedView:o===p&&!n,isLastNotUserMessage:c&&a.role!==u.Role.User,...i},s)}),(0,l.jsx)(`div`,{ref:o,className:`h-4`})]}),(0,l.jsx)(`div`,{onClick:C,className:(0,p.default)(`fixed sm:hidden bottom-[88px] rounded-[50%] border-[2px] w-[40px] h-[40px] border-primary cursor-pointer text-primary bg-white z-10`,S?`right-[402px] lg:right-[386px]`:`right-10 lg:right-6`,`scroll-button-wrapper`,b?`block`:`hidden`),children:(0,l.jsx)(`div`,{className:`flex size-full items-center justify-center`,children:a})})]})},Lu=e=>{let t={};return e.choices?.[0]?.delta?.content&&(t.content=e.choices[0].delta.content),e.choices?.[0]?.delta?.custom_content&&(t.custom_content=e.choices[0].delta.custom_content),e.choices?.[0]?.delta?.role&&(t.role=e.choices[0].delta.role),e.id&&(t.responseId=e.id),t},Ru=`local`,zu=e=>!e.permissions?.includes(u.SharePermission.WRITE)&&!Vu(e),Bu=(e,t)=>Hu(e)!==t,Vu=e=>Hu(e)===Ru,Hu=e=>e.id.split(`/`)[0],Uu=(e,t)=>Wu([...t?.messages||[],e]),Wu=e=>[...e].map(e=>{let t={role:e.role,content:e.content};return(e.role===u.Role.Assistant||e.role===u.Role.System)&&e.custom_content!=null&&(e.custom_content.state!=null||e.custom_content.attachments!=null||e.custom_content.form_schema!=null)&&(t.custom_content={},e.custom_content.state!=null&&(t.custom_content.state=e.custom_content.state),e.custom_content.attachments!=null&&(t.custom_content.attachments=qu(e.custom_content.attachments)),e.custom_content.form_schema!=null&&(t.custom_content.form_schema=e.custom_content.form_schema)),e.role===u.Role.User&&e.custom_content&&(t.custom_content=e.custom_content),t}),Gu=(e,t)=>{let n=t?.messages,r=n?.findIndex(t=>e.id===t.id);return Wu(n?.slice(0,r)||[])},Ku=(e,t)=>{let n=t?.messages,r=n?.findIndex(t=>e.id===t.id);return Wu([...n?.slice(0,r)||[],e])};function qu(e){return e.map(e=>({type:e.type,title:e.title,data:e.data,url:e.url,reference_type:e.reference_type,reference_url:e.reference_url}))}var Ju=(e,t,n,r)=>{if(!n||t)return null;let i={id:`msg-${Date.now()}`,role:u.Role.User,content:e,timestamp:Date.now()};return r&&(i.custom_content={form_value:{[r===q.COMPLETE?K.COMPLETION:K.CHOICE]:r}}),i},Yu=(e,t,n)=>`/${t}${n}/${(0,h.getConversationNavPath)(e?.folderId,e?.id)}`,Xu=(e,t,n)=>{let r=`${t}/${n}`,i=(0,m.generateConversationId)({folderId:r,name:e?.name});return{...e,folderId:r,id:i}},Zu=(e,t)=>{let n=e.lastIndexOf(`.`);return n<=0?`${e}-${t}`:`${e.slice(0,n)}-${t}${e.slice(n)}`},Qu=(e,t,n)=>{let r=e.split(`/`);if(r[0]!==`files`||r.length<3)return e;let i=Zu(r.at(-1)??`file`,n);return[`files`,t,...r.slice(2,-1),i].join(`/`)},$u=async({conversation:e,bucket:t,getFileBlob:n,putFile:r})=>{let i=(0,h.getConversationAttachmentUrls)(e),a=Date.now();if(!i.length)return e;let o=await Promise.all(i.map(async e=>{let i=Qu(e,t,`${a}`);return i===e||await r(i,await n(e)),[e,i]}));return(0,h.replaceConversationAttachmentUrls)(e,Object.fromEntries(o))},ed=`AbortError`,td=({error:e,statusMessages:t})=>{if(e){if(e.type===m.DIAL_ERROR_TYPES.RATE_LIMIT_EXCEEDED){let n=e.exceeded_limit?.length?t.getExceededLimitsMessage(e.exceeded_limit):e.display_message??``;throw new h.HttpError({message:e.message,displayMessage:n,code:e.type,status:e.status??h.HTTP_ERROR_CODES.TOO_MANY_REQUESTS,details:{kind:m.ERROR_CONTEXT_KIND.RATE_LIMIT,occurredAt:new Date().toISOString(),retryAfterSeconds:Number(e.retry_after??``)}})}throw new h.HttpError({message:e.message,status:e.status??h.HTTP_ERROR_CODES.BAD_REQUEST,code:e.code})}},nd=({error:e,statusMessages:t})=>{if(e.code===m.DIAL_ERROR_TYPES.RATE_LIMIT_EXCEEDED){let t=e;return{errorMessage:t.displayMessage??t.message,errorContext:t.details}}return e.code===m.DIAL_ERROR_CODES.CONTENT_FILTER?{errorMessage:t.contentFilterError??e.message}:{errorMessage:e.status===h.HTTP_ERROR_CODES.SERVICE_UNAVAILABLE?t.serverOverloaded:t.serverError}},rd=(e,t)=>{let n=e.customViewState??{},r=n[m.CUSTOM_VIEW_STATE_KEY]??{};return{...e,customViewState:{...n,[m.CUSTOM_VIEW_STATE_KEY]:{...r,errorContext:t}}}},id=()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{return`UTC`}},ad=({conversationKey:e,conversation:t,actions:n,messageStyles:r,attachmentsStyles:i,inputMessageStyles:a,shareConversationProps:o,showConversationHeaderAdvancedView:s=!0,formattingSettings:g,metadataSettings:_,expandStagesIcon:v,locale:y,conversationsRoute:b,token:x,titles:S,dataQuery:C,handleInvalidStreaming:w,onConversationNotFound:T,setConversation:E,setConversations:O,openUrl:k,messageActionsIcons:A,messageActionsTitles:j,editMessageTitles:M,scrollBottomIcon:N,isFinalMessage:P,limitMessages:F,attachmentsConfig:L,headerRightSlot:R,children:B})=>{let[V,U]=(0,c.useState)(null),[W,K]=(0,c.useState)(!1),[q,J]=(0,c.useState)(!0),{isStreaming:Y,setIsStreaming:te}=z(),{isOpenedAdvancedView:ne}=I(),{setCrossDatasetAttachmentsState:re}=Su(),{isCrossDatasetModeOn:ie}=Pt(),{isAgentAvailable:ae}=(0,d.useAgentAvailability)(),{statusMessages:oe}=H(),{onboardingFileSchema:X,onboardingFilePath:ce,onboardingFileName:le,isShowOnboarding:ue,setOnboardingFileSchema:de}=G();(0,c.useEffect)(()=>{X&&n.putOnboardingFile?.(le,ce,X)},[n,X,le,ce]),(0,c.useEffect)(()=>{ne&&X?.lastDisplayedElement===li.OPEN_ADVANCED_VIEW&&de?.(_i(X))},[n,ne,de,X]);let fe=(0,c.useCallback)(()=>{k(`/${y}${b}`)},[y,b,k]),pe=(0,c.useCallback)(async()=>{try{let{bucket:e}=await n.getBucket(),r=Xu(n.getFileBlob&&n.putFile?await $u({conversation:t,bucket:e,getFileBlob:n.getFileBlob,putFile:n.putFile}):t,e,y);await n.createConversation(r,y),O((0,h.cleanConversationNames)(await n.getConversations(y))),k(Yu(r,y,b))}catch(e){console.error(`Failed to save conversation:`,e)}},[n,t,b,y,k,O]),me=(0,c.useCallback)(async t=>{try{await n.updateConversation(decodeURI(e),{name:t.name,messages:t.messages,customViewState:t.customViewState})}catch(e){console.error(`Failed to save conversation:`,e)}},[n,e]),he=(0,c.useCallback)((e,n)=>{if(!t)return;let r=$l(t.messages,n,e);if(!r)return;let i={...t,messages:r};E(i),me(i)},[t,E,me]),ge=(0,c.useCallback)(e=>{E(t=>t?{...t,messages:[...t?.messages||[],e]}:null)},[E]),_e=(0,c.useCallback)(()=>{let e={id:`msg-${Date.now()+1}`,role:u.Role.Assistant,content:``,timestamp:Date.now()};return E(t=>t?{...t,messages:[...t.messages,e]}:null),e},[E]),ve=(0,c.useCallback)((e,t)=>{let n=m.mergeMessages?.(e,[t]);if(n)return E(t=>t?{...t,messages:t.messages.map(t=>t.id===e.id?{...n}:t)}:null),n},[E]),ye=(0,c.useCallback)((e,r)=>{t?.model?.id&&(n.rateResponse(e,r===u.LikeState.Liked,t.model.id),t.messages=t.messages.map(t=>t.responseId===e?(0,D.merge)(t,{like:r}):t),me(t))},[n,t,me]),be=(0,c.useCallback)((e,t)=>{let n=oe.serverError,r,i;if((0,h.isHttpError)(e)){i=e;let t=nd({error:e,statusMessages:oe});n=t.errorMessage,r=t.errorContext}else i=new h.HttpError({status:h.HTTP_ERROR_CODES.INTERNAL_SERVER_ERROR,message:n});return t&&=ve(t,{errorMessage:n}),w?.(i),{assistantMessage:t,errorContext:r}},[w,oe,ve]),xe=(0,c.useCallback)(async(e,t,n)=>{let r=new AbortController;U(r);let i=e,a;if(!n)return{assistantMessage:i,errorContext:a};let o=n.custom_fields??{},s={...o,configuration:{...o.configuration,timezone:id(),...ie&&{merge_python_code:!0}}};return await(0,m.streamChatResponse)?.(encodeURI(n.id),t,{model:n.model,signal:r?.signal,onMessage:e=>{td({error:e.error,statusMessages:oe});let t=Lu(e);(t.content||t.role||t.responseId)&&(i=ve(i,t))},onError:e=>{if(!Ee(e))throw console.error(`Streaming error:`,e),e}},x,s).catch(e=>{if(!Ee(e)){let{assistantMessage:t,errorContext:n}=be(e,i);i=t,a=n}}),{assistantMessage:i,errorContext:a}},[x,ve,be,oe,ie]),Se=(0,c.useCallback)(async(e,t,n,r)=>{if(!t)return;let i=rd(t,r);i={...i,messages:[...t.messages],updatedAt:Date.now()},n&&i.messages.push(n),i.messages.push(e),await me(i)},[me]),Ce=(0,c.useCallback)(e=>{E(t=>t&&rd(t,e))},[E]),we=(0,c.useCallback)((e,t)=>{E(e=>e?{...e,messages:e.messages.filter(e=>e.id!==t.id)}:null)},[E]),Te=(0,c.useCallback)(()=>{V&&!V.signal.aborted&&V.abort()},[V]),Ee=e=>e?.name===ed,De=(0,c.useCallback)(async(e,t,n,r,i,a=!0)=>{Ee(i)?await Se(r??n,e,a?t:void 0):we(i,t)},[Se,we]),Oe=(0,c.useCallback)(async(e,t,n)=>{if(!t||!e)return;let r=Ju(e,Y,t,n),i,a;if(r){ge(r);try{te(!0),i=_e();let e=Uu(r,t),{assistantMessage:n,errorContext:o}=await xe(i,e,t);Ce(o),a=n,await Se(a,t,r,o)}catch(e){De(t,r,i,a,e)}finally{te(!1)}}},[Y,te,ge,_e,xe,Se,De,Ce]),ke=(0,c.useCallback)(async(e,t,n)=>{let r,i;try{te(!0),r=_e();let{assistantMessage:n,errorContext:a}=await xe(r,e,t);i=n,Ce(a),await Se(i,t,void 0,a)}catch(e){De(t,n,r,i,e,!1)}finally{te(!1)}},[te,Se,De,xe,_e,Ce]),Ae=(0,c.useCallback)(async(e,t)=>{if(!t||!e)return;let n=Gu(e,t),r={...t,messages:t.messages.slice(0,n.length)};E(e=>e?{...e,...r}:null),ke(n,r,e)},[E,ke]),{isLastMessageFailed:je,regenerateLastMessage:Me}=(0,c.useMemo)(()=>{let e=t?.messages?.at(-1);return{isLastMessageFailed:!!e?.errorMessage,regenerateLastMessage:e&&(()=>Ae(e,t))}},[t,Ae]),Ne=(0,c.useCallback)(async(e,t)=>{if(!t||!e)return;let n=Ku(e,t),r={...t,messages:[...t.messages.slice(0,n.length-1),e]};E(e=>e?{...e,...r}:null),ke(n,r,e)},[E,ke]);(0,c.useEffect)(()=>{$t(),re();async function t(){try{J(!0);let{bucket:t}=await n.getBucket(),r=await n.getConversation(decodeURI(e));E(r),K(zu(r)&&Bu(r,t)),(r.messages.length===0||r?.messages?.[0]?.role===u.Role.Assistant&&r?.messages?.length===1)&&Oe(r.prompt,r)}catch{K(!0),T?.()}finally{J(!1)}}return e&&t(),()=>{$t()}},[e]);let Pe=(0,c.useMemo)(()=>({getFile:n.getFile,putOnboardingFile:n.putOnboardingFile,getDataSet:n.getDataSet,getDataSetData:n.getDataSetData,getConstraints:n.getConstraints,updateCurrentDataQuery:n.updateCurrentDataQuery,updateDataQueries:n.updateDataQueries,updateDatasets:n.updateDatasets,downloadDataSet:n.downloadDataSet}),[n]);if(q)return(0,l.jsx)(d.Loader,{});let Fe=t?.customViewState?.[m.CUSTOM_VIEW_STATE_KEY];return(0,l.jsx)(se,{styles:{titles:S,messageStyles:r,attachmentsStyles:i,formattingSettings:g,messageActionsIcons:A,messageActionsTitles:j,editMessageTitles:M,expandStagesIcon:v,scrollBottomIcon:N,limitMessages:F,attachmentsConfig:L},children:(0,l.jsxs)(`div`,{className:(0,p.default)(`h-full flex flex-col bg-white conversation-view-wrapper`,ne&&!s&&`p-4`),children:[ne&&!s?null:(0,l.jsx)(Ve,{conversation:t,locale:y,isOpenedAdvancedView:ne,isShowShareButton:!W&&!ue,shareConversationProps:o,rightSlot:R}),(0,l.jsxs)(`div`,{className:`flex min-h-0 min-w-0 w-full flex-1`,children:[(0,l.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,l.jsx)(`div`,{className:(0,p.default)(`flex-1 min-h-0 flex flex-col items-end scroll-hidden-container`,r?.messagesWrapperClass),children:(0,l.jsx)(Iu,{messages:t?.messages||[],actions:Pe,isStreaming:Y,isReadOnly:W,metadataSettings:_,dataQuery:C,locale:y,regenerateMessage:e=>Ae(e,t),selectMessageToSend:(e,n)=>Oe(e,t,n),rateResponse:ye,editMessage:e=>Ne(e,t),isReadOnlyConversation:W||ue,conversationViewState:Fe,onCodeAttachmentUpdated:he})}),ue?null:W?(0,l.jsx)(`div`,{className:`mt-4 flex items-center justify-center`,children:(0,l.jsx)(d.Button,{iconBefore:(0,l.jsx)(f.IconCopy,{width:20,height:20}),title:S?.duplicate??`Duplicate Chat`,isSmallButton:!0,onClick:pe,buttonClassName:(0,p.default)(`text-button-secondary`)})}):(0,l.jsx)(`div`,{className:(0,p.default)(a.inputContainerClass),children:(()=>{if(Fe?.errorContext?.kind===m.ERROR_CONTEXT_KIND.RATE_LIMIT&&(0,m.isRateLimitStillActive)(Fe.errorContext)){let e=(0,m.getRateLimitRestoreDate)(Fe.errorContext);if(e){let t=(0,m.formatDateTime)(e);return(0,l.jsx)(d.InlineAlert,{type:d.InlineAlertType.Info,children:oe.getAssistantRestoreMessage(t.date,t.time)})}}return ae?(0,l.jsx)(ee,{onSendMessage:e=>Oe(e,t),onStopStreaming:Te,inProcess:Y,sendMessageIcon:a.sendMessageIcon,retryIcon:a.retryIcon,placeholder:S?.askAnything??`Ask anything...`,containerClasses:`mt-4`,inputClasses:`border-neutrals-600 mr-2`,isLastFailed:je,onRetryFailed:Me}):(0,l.jsx)(d.InlineAlert,{type:d.InlineAlertType.Error,children:oe.assistantUnavailable})})()}),ue&&P&&(0,l.jsx)(d.Button,{iconBefore:(0,l.jsx)(f.IconPlus,{width:24,height:24}),title:S?.onboardingFooterLink,onClick:fe,isSmallButton:!0,buttonClassName:`text-button-secondary self-center mb-3`}),B]}),!ne&&(0,l.jsx)(Qo,{scope:`conversation`})]})]})})},od=({conversationName:e,expandTitle:t,expandIcon:n,onExpand:r})=>(0,l.jsxs)(`div`,{className:`flex h-full w-[51px] shrink-0 flex-col items-center border border-neutrals-400 bg-white`,children:[(0,l.jsx)(`button`,{type:`button`,className:`mt-[84px] flex size-9 items-center justify-center text-primary`,"aria-label":t,title:t,onClick:r,children:n}),(0,l.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center overflow-hidden pb-[88px] pt-[72px]`,children:(0,l.jsx)(`span`,{className:`h3 min-h-0 flex-1 rotate-180 truncate text-center text-neutrals-1000 [writing-mode:vertical-rl]`,title:e,children:e})})]});exports.AdvancedView=Cu,exports.AdvancedViewProvider=F,exports.AttachmentRenderer=xc,exports.CUSTOM_CHOICE_ID=q,exports.ChartingIcon=Y,exports.ChatFooter=Ke,exports.ChatMessagesProvider=R,exports.ChatOnboardingFooter=Ge,exports.CollapsedChatPanel=od,exports.ConversationView=ad,exports.ConversationViewFeatureTogglesProvider=Nt,exports.ConversationViewMessagesProvider=V,exports.ConversationViewSidePanelProvider=Yo,exports.ConversationViewStylesProvider=se,exports.ConversationWelcome=qe,exports.CrossDatasetAttachmentsProvider=xu,exports.CustomContentProperties=K,exports.DatasetDimensionsMetadataMapProvider=ns,exports.OnboardingProvider=W,exports.STAGE_STATUS=J,exports.useAdvancedView=I,exports.useChatMessages=z,exports.useConversationViewFeatureToggles=Pt,exports.useConversationViewMessages=H,exports.useConversationViewSidePanelOptional=Zo,exports.useConversationViewStyles=X,exports.useCrossDatasetAttachments=Su,exports.useDatasetDimensionsMetadataMap=rs,exports.useDatasetDimensionsMetadataMapOptional=is,exports.useOnboarding=G;
|
|
11
|
+
`),language:r}}var Gl=[`python`];function Kl(e,t,n){return e.filter(e=>e.type===m.AttachmentType.MARKDOWN).filter(e=>!t||e.title?.includes(t)).map(e=>{let t=Wl(e.data??``);return{title:n??`Code samples`,type:m.AttachmentType.CUSTOM_CODE_SAMPLE,language:t.language,data:t.code}}).filter(e=>Gl.includes(e.language??``))}function ql(e,t){return e?.find(e=>e.type===m.AttachmentType.MARKDOWN&&e.data?.includes("```python")&&e.title?.includes(t.urn))?.title??t.urn}function Jl(e){let{getPythonAttachment:t,dataQueries:n,requestIdRef:r,codeTitle:i,markdownTitle:a,datasetUrn:o,setCodeAttachments:s,onCodeAttachmentUpdated:c}=e,l=++r.current;t(n).then(e=>{l===r.current&&e?.python_code&&(s([{type:m.AttachmentType.CUSTOM_CODE_SAMPLE,data:e.python_code,language:`python`,title:i}]),c?.({type:m.AttachmentType.MARKDOWN,title:a,data:`\`\`\`python\n${e.python_code}\n\`\`\``},o))}).catch(e=>console.error(`Error refreshing python attachment:`,e))}var Yl=e=>({title:e||`Data Grid`,type:m.AttachmentType.CUSTOM_DATA_GRID}),Xl=e=>({title:e||`Chart`,type:m.AttachmentType.CUSTOM_CHART}),Zl=e=>({title:e||`Data`,type:m.AttachmentType.CROSS_DATASET_GRID});function Ql(e,t,n,r,i,a,o,s,l,u=!1,d,f=!1){let[p,m]=(0,c.useState)(),[h,g]=(0,c.useState)(),[_,v]=(0,c.useState)(),[b,x]=(0,c.useState)(),[S,C]=(0,c.useState)(Yl(o?.dataGrid)),[w,T]=(0,c.useState)(Xl(o?.chart)),[E,D]=(0,c.useState)(!1),[O,k]=(0,c.useState)([]),[A,j]=(0,c.useState)([]),[M,N]=(0,c.useState)([]),[P,F]=(0,c.useState)(!1),[I,L]=(0,c.useState)(!1),R=(0,c.useRef)(0),[z,B]=(0,c.useState)({startPeriod:null,endPeriod:null}),{getConstraints:V,getDataSet:H,getDataSetData:U,putOnboardingFile:W,getPythonAttachment:G}=e,K=(0,c.useCallback)(e=>{if(!e)return;let t=(0,y.getDimensions)(e);g(e.dataflows?.[0]||void 0),x(e||void 0),j([...t?.dimensions||[],...t?.timeDimensions||[]])},[]),q=(0,c.useCallback)(async e=>{let t=Kt((0,y.getFiltersDtoFromDataQuery)(e));try{v((await Zt(V,Xt(e.urn,t),()=>V(e.urn,t)))?.data?.dataConstraints||[])}catch{v([])}},[V]),J=(0,c.useCallback)(async e=>{let t=l?{data:l}:await Zt(H,Xt(e.urn),()=>H(e.urn));if(t?.data){let n=(0,y.getDimensions)(t.data);K(t.data);let r=n?.dimensions==null?null:(0,y.getTimeSeriesFilterKey)(n?.dimensions,e.filters??[]),i=tn(e,n);Zt(U,Xt(e.urn,{filterKey:r,timeFilter:i}),()=>U(e.urn,{filterKey:r,timeFilter:i})).then(e=>{L(!0),m(e||void 0),N((0,y.getStructureDimensions)(e))}).finally(()=>F(!1))}},[K,H,U,l]);(0,c.useEffect)(()=>{K(l)},[K,l]),(0,c.useEffect)(()=>{async function e(e){F(!0);try{await Promise.all([...f?[]:[q(e)],J(e)])}catch(e){console.error(`Error loading dataset details`,e)}}n!=null&&!(u&&!l)?e(n):n!=null&&u&&F(!0)},[n,l,u,q,J,f]);let Y=(0,c.useCallback)((e,t,r)=>{try{F(!0),v(t);let i=r?.find(e=>e.id===y.TIME_PERIOD)?.timeRange;i&&B(i),Zt(U,Xt(n?.urn||``,e),()=>U(n?.urn||``,e)).then(e=>{L(!0),m(e||void 0),N((0,y.getStructureDimensions)(e))}).finally(()=>F(!1)),G&&n&&r&&Jl({getPythonAttachment:G,dataQueries:[ln(n,r,!1)],requestIdRef:R,codeTitle:o?.codeSamples||`Python Code`,markdownTitle:ql(s,n),setCodeAttachments:k,onCodeAttachmentUpdated:d,datasetUrn:n.urn})}catch(e){console.error(`Error loading dataset data`,e)}},[n,U,G,o,s,d]);(0,c.useEffect)(()=>{if(b!=null&&p!=null&&_?.length){L(!0);let e=hs(()=>{C(e=>({...e,...Ul(b,p,n,t,r,a,i,o,W,_,z)})),L(!1)});return()=>{e(),L(!1)}}(p==null||_!==void 0)&&L(!1)},[b,p,o,t,r,n,a,i,_,z,W]),(0,c.useEffect)(()=>{if(b==null||p==null)return;let e=jl(b,p,n,t,i);return T(t=>({...t,charting_data:void 0,getChartingData:e})),D(!1),hs(()=>{try{D(kl(e()))}catch(e){console.error(`Error evaluating chart plottability`,e),D(!1)}})},[b,p,n,t,i]),(0,c.useEffect)(()=>{if(s?.length){let e=Kl(s,n?.urn,o?.codeSamples);e.length>0&&k(e)}},[s,o,n]);let ee=(0,c.useMemo)(()=>[S,...E?[w]:[],...O],[S,w,O,E]);return{dataMessage:p,structures:b,dataset:h,dimensions:A,structureDimensions:M,onFiltersChange:Y,constraints:_,isLoadingGridData:P||I,dataSetAttachments:ee}}function $l(e,t,n,r){let i=-1;if(n)i=e.findIndex(e=>e.id===n);else for(let t=e.length-1;t>=0;t--)if(e[t].role===u.Role.System){i=t;break}if(i===-1||e[i].role!==u.Role.System)return null;let a=e[i].custom_content?.attachments??[],o=e=>e.type===`text/markdown`&&e.data?.includes("```python"),s=[...a.filter(e=>o(e)?r?!e.title?.includes(r):!1:!0),t];return e.map((e,t)=>t===i?{...e,custom_content:{...e.custom_content,attachments:s}}:e)}var eu=async(e,t)=>{let n=new Map,r=(0,y.getFiltersDtoMapFromDataQuery)(e);return(await Promise.allSettled(e.map(async e=>{let n=Kt(r?.get(e.urn)||[]);return{urn:e.urn,response:await Zt(t,Xt(e.urn,n),()=>t(e.urn,n))}}))).forEach(e=>{if(e.status===`fulfilled`){let t=e.value.response?.data?.dataConstraints;Array.isArray(t)&&n.set(e.value.urn,t)}}),n},tu=()=>({datasetsMap:new Map,dataMessagesMap:new Map,structuresMap:new Map,dimensionsMap:new Map,structureDimensionsMap:new Map}),nu=async(e,t,n,r,i)=>{let a=tu();await Promise.allSettled(e.map(async e=>{let n=await Zt(t,Xt(e.urn),()=>t(e.urn));if(n?.data){let t=(0,y.getDimensions)(n.data);a.datasetsMap?.set(e?.urn,n?.data?.dataflows?.[0]),a.structuresMap?.set(e?.urn,n?.data),a.dimensionsMap?.set(e?.urn,[...t?.dimensions||[],...t?.timeDimensions||[]])}}));let o=await i?.(a);return await Promise.allSettled(e.map(async e=>{let t=a.structuresMap?.get(e.urn);if(!t||o&&!o.has(e.urn))return;let i=(0,y.getDimensions)(t),s=i?.dimensions==null?null:(0,y.getTimeSeriesFilterKey)(i?.dimensions,e.filters??[]),c=tn(e,i);await ru(e,o?.get(e.urn)??{filterKey:s,timeFilter:c},n).then(({dataMessage:t,structureDimensions:n})=>{a?.dataMessagesMap?.set(e.urn,t),a?.structureDimensionsMap?.set(e.urn,n||[])}).catch(()=>{a?.structureDimensionsMap?.set(e.urn,[])}).finally(()=>r(!1))})),a},ru=async(e,t,n)=>{let r=await Zt(n,Xt(e.urn,t),()=>n(e.urn,t));return{dataMessage:r,structureDimensions:(0,y.getStructureDimensions)(r)}};function iu(e,t,n,r){return[ou(e,r),au(e,t,n,r)]}function au(e,t,n,r){return{headerName:r?.dataset||`Dataset`,field:Ts,colId:Ts,valueGetter:t=>{let r=t.data?.dataset?.urn;if(r==null)return``;let i=e.get(r)?.dataflows?.[0];return(0,y.getLocalizedName)(i,n)||``},...Ka,tooltipValueGetter:e=>e.value,cellClass:Ga,cellRenderer:Za,cellRendererParams:{structuresMap:e,attributesDataMap:t,locale:n,titles:r}}}function ou(e,t){return{headerName:t?.agency||`Agency`,field:Es,colId:Es,valueGetter:t=>{let n=t.data?.dataset?.urn;return n==null?``:e.get(n)?.dataflows?.[0]?.agencyID||``},...Ka,tooltipValueGetter:e=>e.value}}function su(e,t,n,r,i){return cu(e).sort((e,t)=>(0,y.sortPeriods)(e,t)).map(e=>({...lu(e,r,i),valueGetter:e=>e.data[e.column.getColId()]?.value?.[0]?.value||null,cellClass:Ga,cellRenderer:qa,width:200,cellRendererParams:{structuresMap:t,locale:n,titles:i}}))}function cu(e){let t=new Set;return e.forEach(e=>{e!=null&&(0,y.getTimePeriods)(e).forEach(e=>t.add(e))}),Array.from(t)}function lu(e,t=h.defaultFormatNumbers,n){return{headerName:at(e,n),colId:e,field:e,type:`numericColumn`,suppressColumnsToolPanel:!0,sortable:!1,width:200,cellClass:[`justify-end`,`cell-with-meta`],valueFormatter:e=>(0,h.formatNumberBySign)(e.value,t)}}function uu(e,t,n,r,i,a,o=Fs.Compact){let s=new Map([...n.entries()].map(([e,t])=>[e,t?.data])),c=iu(e,s,r,i),l=Us(e,t,r,i,o),u=su(n,e,r,a,i);return[to(e,s,r,i),...c,...l,...u,eo(void 0,void 0,r,void 0,i)]}function du(e,t,n,r,i){let a=[];return n.filter(e=>!e.disabled).forEach(n=>{let o=n.urn,s=t.get(o),c=e.get(o);if(s==null||c==null)return;let l=Bl(s,c,n,r,i),u=(0,y.getLocalizedName)(c.dataflows?.[0],r);a.push(...l.map(e=>({...e,dataset:{urn:o},datasetTitle:u})))}),a}function fu(e,t,n,r,i,a,o,s,c,l,u,d=Fs.Compact){let f=pu(e,t,n,r,i,a,o,s,c,l,u,d);return{title:c?.dataGrid||`Data`,gridContent:f}}function pu(e,t,n,r,i,a,o,s,c,l,u,d=Fs.Compact){return{columns:uu(e,n,t,i,c,a,d),data:du(e,t,r,i,s)}}function mu(e,t,n,r,i){let a;return()=>(a??=hu(e,t,n,r,i),a)}function hu(e,t,n,r,i){let a=n.filter(e=>!e.disabled).flatMap(n=>{let a=e.get(n.urn),o=t.get(n.urn);return!a||!o?[]:[{title:(0,y.getLocalizedName)(a.dataflows?.[0],r),units:Al(a,o,n,r,i).units}]});return{units:a.flatMap(e=>e.units),groups:a}}var gu=5e3;function _u(e,t,n,r,i,a,o,s,l,u=Fs.Compact,d){let f=Array.isArray(s)?s:void 0,[p,m]=(0,c.useState)(),[h,g]=(0,c.useState)(),[_,v]=(0,c.useState)(!1),[y,b]=(0,c.useState)(f?new Set(f):null),[x,S]=(0,c.useState)(!1),C=(0,c.useRef)(0),w=(0,c.useRef)(u),T=(0,c.useRef)(p),E=(0,c.useRef)(0),D=(0,c.useRef)(null),[O,k]=(0,c.useState)(Zl(d?.dataGrid)),[A,j]=(0,c.useState)(Xl(d?.chart)),[M,N]=(0,c.useState)(!1),[P,F]=(0,c.useState)([]),{getConstraints:I,getDataSet:L,getDataSetData:R,getPythonAttachment:z}=e,B=(0,c.useRef)(n);B.current=n;let V=(0,c.useRef)(f);V.current=f;let H=(0,c.useMemo)(()=>n?.map(e=>e.urn).join(`,`)??``,[n]),U=rs(),{getDimensionsScheme:W}=U,G=(0,c.useCallback)(async e=>{try{let t=await eu(e.map(e=>({...e,filters:[]})),I),n=rr(e,t,U.map),r=n===e?t:await eu(n,I);return m(e=>({...e,constraintsMap:r})),r}catch{let e=new Map;return m(t=>({...t,constraintsMap:e})),e}},[U.map,I]),K=(0,c.useCallback)(async(e,n)=>{let r=await nu(e,L,R,v,async r=>{let i=vr(e.filter(e=>!e.disabled),r,n,t,U.map);if(i)return b(i.compatibleUrns),i.filterParamsMap});m(e=>({...e,...r,constraintsMap:n??e?.constraintsMap}))},[U.map,L,R,t]),q=(0,c.useCallback)(e=>{let t=new Map;for(let n of e)t.set(n.urn,W(n.urn));g(t)},[W]);(0,c.useEffect)(()=>{async function e(e){let t=V.current;b(t?new Set(t):null),v(!0);try{q(e),await K(e,await G(e))}catch(e){console.error(`Error loading dataset details`,e)}finally{v(!1)}}let t=B.current;t?.length&&e(t)},[H,G,q,K]),(0,c.useEffect)(()=>{if(o?.length){let e=Kl(o,void 0,d?.codeSamples);e.length>0&&F(e)}},[o,d]),(0,c.useEffect)(()=>()=>{D.current!==null&&clearTimeout(D.current)},[]),(0,c.useEffect)(()=>{let e=w.current!==u&&T.current===p;w.current=u,T.current=p;let{structuresMap:o,dataMessagesMap:s,constraintsMap:c}=p??{};if(o!=null&&o.size>0&&s!=null&&c!=null&&h!=null&&!_){e||S(!0);let l=hs(()=>{let l=n?.filter(e=>!e.disabled),f=y??new Set((l??[]).map(e=>e.urn)),p=$n(l,f),m=er(o,f),g=er(s,f),_=er(h,f);k(e=>({...e,...fu(m,g,_,p,t,i,a,r,d,c,{startPeriod:null,endPeriod:null},u)})),e||S(!1)});return()=>{l(),e||S(!1)}}e||S(!1)},[p,n,t,i,a,r,d,h,_,y,u]),(0,c.useEffect)(()=>{let{structuresMap:e,dataMessagesMap:i}=p??{};if(e!=null&&e.size>0&&i!=null&&!_){let a=n?.filter(e=>!e.disabled),o=y??new Set((a??[]).map(e=>e.urn)),s=$n(a,o),c=mu(er(e,o),er(i,o),s,t,r);return j(e=>({...e,charting_data:void 0,getChartingData:c})),N(!1),hs(()=>{try{N(kl(c()))}catch(e){console.error(`Error evaluating cross-dataset chart plottability`,e),N(!1)}})}},[p,n,t,r,_,y]);let J=(0,c.useMemo)(()=>[O,...M?[A]:[],...P],[O,A,P,M]),Y=(0,c.useCallback)((e,n,r,i,a)=>{try{v(!0);let o=++E.current;D.current!==null&&(clearTimeout(D.current),D.current=null);let s=r?.filter(e=>!e.disabled)??[];if(b(new Set(s.map(e=>e.urn))),m(e=>({...e,constraintsMap:n})),!s.length){v(!1);return}let c=i?yr(s,i):void 0,u=c?s.map(e=>({...e,filters:c.get(e.urn)??[]})):s,f=(n&&p?vr(u,p,n,t,U.map):void 0)?.filterParamsMap??e,h=new Map,g=()=>{if(h.size===0)return;S(!0);let e=[...h.values()];h.clear(),m(t=>{let n=new Map(t?.dataMessagesMap),r=new Map(t?.structureDimensionsMap);return e.forEach(({urn:e,dataMessage:t,structureDimensions:i})=>{n.set(e,t),r.set(e,i||[])}),{...t,dataMessagesMap:n,structureDimensionsMap:r}})};D.current=setTimeout(()=>{D.current=null,o===E.current&&h.size>0&&(g(),v(!1))},gu);let _=s.map(e=>ru(e,f?.get(e?.urn),R).then(({dataMessage:t,structureDimensions:n})=>{h.set(e.urn,{urn:e.urn,dataMessage:t,structureDimensions:n})}));Promise.allSettled(_).finally(()=>{o===E.current&&(D.current!==null&&(clearTimeout(D.current),D.current=null),g(),v(!1))}),z&&s.length&&Jl({getPythonAttachment:z,dataQueries:s.map(e=>ln(e,a??i?.get(e.urn)??[])),requestIdRef:C,codeTitle:d?.codeSamples||`Python Code`,markdownTitle:`Python Code`,setCodeAttachments:F,onCodeAttachmentUpdated:l})}catch(e){console.error(`Error loading dataset data`,e)}},[U.map,R,z,t,l,p,d]);return{structureDataMaps:p,datasetDimensionsSchemesMap:h,isLoadingGridData:_||x,crossDatasetAttachments:J,activeDatasetUrns:y,onMultipleDataFiltersChange:Y}}var vu=(0,c.createContext)(void 0),yu={setCrossDatasetAttachmentsState:()=>void 0},bu=e=>{if(!e)return``;try{return JSON.stringify({dataQueriesKey:e.dataQueriesKey,activeDatasetUrns:e.activeDatasetUrns,isLoading:!!e.isLoading,attachments:e.attachments})}catch{return JSON.stringify({dataQueriesKey:e.dataQueriesKey,activeDatasetUrns:e.activeDatasetUrns,isLoading:!!e.isLoading,attachmentsLength:e.attachments?.length??0})}},xu=({children:e})=>{let[t,n]=(0,c.useState)({}),r=(0,c.useCallback)(e=>{let t=bu(e);n(n=>n.signature===t?n:{...e,isLoading:!!e?.isLoading,signature:t})},[]),i=(0,c.useMemo)(()=>({...t,setCrossDatasetAttachmentsState:r}),[r,t]);return(0,l.jsx)(vu.Provider,{value:i,children:e})},Su=()=>{let e=(0,c.useContext)(vu);return e===void 0?yu:e},Cu=({attachmentsProps:e,actions:t,titles:n,shareConversationProps:r,metadataSettings:i,formattingSettings:a,locale:o,advanceViewStyles:s,getDatasetUpdatedTime:u,attachmentsConfig:f,datasetInfoOptions:m,limitMessages:h,...g})=>{let _=(0,c.useMemo)(()=>e.currentDataQuery?.urn??e.dataQueries?.[0]?.urn??`default`,[e.currentDataQuery?.urn,e.dataQueries]),v=(0,c.useMemo)(()=>e?.dataQueries?.filter(e=>!e.disabled),[e?.dataQueries]),[y,b]=(0,c.useState)(Fs.Compact),{isOpenedAdvancedView:x}=I(),{activeDatasetUrns:S,dataQueriesKey:C,setCrossDatasetAttachmentsState:w}=Su(),{isCrossDatasetModeOn:T,isMetadataInSidePanel:E}=Pt(),D=rs(),O=!E,k=e.datasets??[],A=k.length>1&&!T,j=(0,c.useMemo)(()=>{let e=g.filtersProps.conversation?.messages??[],t=Bi(e);return t>=0?e[t].custom_content?.attachments:void 0},[g.filtersProps.conversation?.messages]),M=(0,c.useMemo)(()=>ir(e.dataQueries),[e.dataQueries]),N=C===M?S:tr(e.dataQueries,D.map),P=T&&!!e.dataQueries?.length,F=(0,c.useRef)(g.filtersProps.conversation);F.current=g.filtersProps.conversation;let L=(0,c.useCallback)((e,t)=>{let n=F.current;if(!n)return;let r=$l(n.messages,e,void 0,t);if(!r)return;let i={...n,messages:r};g.filtersProps.setConversation?.(i),g.filtersProps.updateConversation(decodeURI(g.filtersProps.conversationKey),{name:i.name,messages:i.messages})},[]),{dataMessage:R,dataset:z,dimensions:B,structureDimensions:V,structures:H,dataSetAttachments:U,onFiltersChange:W,isLoadingGridData:G,constraints:K}=Ql(t,o,e.currentDataQuery,a,e.styles?.chartingStyles,i,n,j,void 0,!1,L,P),q=O&&!!z,{structureDataMaps:J,crossDatasetAttachments:Y,activeDatasetUrns:ee,isLoadingGridData:te,onMultipleDataFiltersChange:ne}=_u(t,o,e.dataQueries,e.styles?.chartingStyles,a,i,j,N,L,y,n);(0,c.useEffect)(()=>{if(!T||!e.dataQueries?.length){w();return}J&&w({attachments:Y,dataQueriesKey:M,activeDatasetUrns:ee?Array.from(ee):void 0,isLoading:te})},[ee,e.dataQueries?.length,Y,M,T,te,w,J]);let[re,ie]=(0,c.useState)({filterKey:null,timeFilter:null}),[ae,oe]=(0,c.useState)(),X=T?te:G,ce=T?Y:U,le=(0,c.useCallback)((e,t,n)=>{ie(e),oe(!0),W(e,t,n)},[W]),ue=(0,c.useCallback)((e,t,n,r,i)=>{oe(!0),ne(e,t,n,r,i)},[ne]),de=(0,c.useCallback)(n=>{n&&t?.updateCurrentDataQuery(e?.dataQueries?.find(e=>e?.urn===n)||e.currentDataQuery)},[t,e.currentDataQuery,e?.dataQueries]),fe=Ca(f?.isExternaLinkIncludeFilters,re,e.currentDataQuery||e.dataQueries?.[0],B);return(0,l.jsx)(se,{styles:{titles:n,attachmentsStyles:e.styles,formattingSettings:a,limitMessages:h,attachmentsConfig:f},children:(0,l.jsx)(Ls,{currentUrn:_,structuresMap:J?.structuresMap,locale:o,dataQueries:v,gridViewMode:y,onGridViewModeChange:b,texts:{columnsDisplayTitle:e.styles?.columnsDisplayTitle,columnsSearchPlaceholder:e.styles?.columnsSearchPlaceholder,compactViewTitle:e.styles?.compactViewTitle,compactViewDescription:e.styles?.compactViewDescription,extendedViewTitle:e.styles?.extendedViewTitle,extendedViewDescription:e.styles?.extendedViewDescription},resetIcon:e.styles?.tableSettingsResetIcon,children:(0,l.jsx)(Ti,{children:(0,l.jsxs)(`div`,{className:`advanced-view flex h-full min-w-0 flex-1 flex-col`,children:[(0,l.jsx)(Zc,{locale:o,shareConversationProps:r,isShowShare:s?.isShowShare,conversation:g.filtersProps.conversation}),k.length?(0,l.jsxs)(l.Fragment,{children:[A&&(0,l.jsx)(_a,{datasets:k,initialSelectedDatasetUrn:e?.currentDataQuery?.urn,locale:o,selectDataset:de}),X&&!ae?(0,l.jsx)(d.Loader,{}):(0,l.jsxs)(l.Fragment,{children:[q&&(0,l.jsx)(Xc,{...m,locale:o,dataset:z,data:R?.data,structures:H,metadataSettings:i,getDatasetUpdatedTime:u,externalLink:fe}),(0,l.jsxs)(`div`,{className:(0,p.default)(`flex flex-1 min-h-0 overflow-auto`,q&&`border-t border-neutrals-500`),children:[(0,l.jsx)(`div`,{className:(0,p.default)(`flex-1 min-h-0 overflow-auto`,`advanced-view-filters`),children:(0,l.jsx)(Yc,{...g,actions:t,attachments:ce,attachmentsDataQuery:e.currentDataQuery,dataQueries:e?.dataQueries,dimensions:B,isDataLoading:X,locale:o,filtersProps:{...g?.filtersProps,structureDimensions:V,structures:H,structureDataMaps:J,onFiltersChange:W,onMultipleDataFiltersChange:ue,initialConstraints:K},setIsFiltering:oe,filters:re,onFiltersChange:le})}),x&&(0,l.jsx)(Qo,{scope:`advanced`})]})]})]}):(0,l.jsx)(d.Loader,{})]})})})})};function wu(e,t,n,r,i,a){let[o,s]=(0,c.useState)([]),[l,u]=(0,c.useState)(),[d,f]=(0,c.useState)(!1),p=(0,c.useRef)(void 0);return(0,c.useEffect)(()=>{p.current=a},[a]),(0,c.useEffect)(()=>{let a=!0;async function o(i){f(!0);try{let o=await Promise.all(i.map(t=>Zt(e,Xt(t.urn),()=>e(t.urn))));if(!a)return;let c=o?.map(e=>e?.data?.dataflows?.[0])?.filter(e=>!!e)||[];s(c),t(c),n(i),r(i.find(e=>e.urn===p.current?.urn)??i[0]),u(new Map(o?.map(e=>[(0,y.generateShortUrn)(e?.data?.dataflows?.[0]?.id,e?.data?.dataflows?.[0]?.version,e?.data?.dataflows?.[0]?.agencyID),e?.data])))}catch(e){console.error(`Error loading datasets`,e)}finally{a&&f(!1)}}if(!i?.length){f(!1);return}return o(i),()=>{a=!1}},[i,e,r,n,t]),{datasets:o,datasetStructuresMap:l,isLoading:d}}function Tu(e){let t=e?.filter(e=>ki(e));if(t?.every(e=>!!e?.data))return t?.map(e=>({title:e?.title,...Du(Eu(e?.data))}))}function Eu(e){if(e)try{return JSON.parse(e)}catch(e){console.error(`Invalid JSON:`,e)}return null}function Du(e){return{...e,filters:e?.filters?.map(e=>({...e,componentCode:e?.component_code||e?.componentCode})),metadata:{datasetUrl:e?.metadata?.datasetUrl,countryDimension:e?.metadata?.country_dimension||e?.metadata?.countryDimension,indicatorDimensions:e?.metadata?.indicator_dimensions||e?.metadata?.indicatorDimensions,timePeriodDimension:e?.metadata?.timePeriodDimension,keyDimensionIdsInDsdOrder:e?.metadata?.keyDimensionIdsInDsdOrder}}}var Ou=function(e){return e.COMPLETED=`completed`,e}({}),ku=({stage:e,stageRef:t,isCurrentStage:n})=>(0,l.jsxs)(`div`,{ref:t,className:`message-stage relative flex pb-8 last:mb-8 last:pb-0`,children:[(0,l.jsx)(`span`,{className:`message-stage-line absolute h-full border-l`}),(0,l.jsx)(f.IconPointFilled,{className:`message-stage-indicator z-10 flex shrink-0`}),(0,l.jsxs)(`div`,{className:`ml-2 w-full`,children:[(0,l.jsxs)(`div`,{className:(0,p.default)(`flex gap-2 items-center`,e?.content&&`mb-4`),children:[n&&(0,l.jsx)(d.Loader,{}),(0,l.jsx)(`h3`,{className:`message-stage-name`,children:e?.name})]}),(0,l.jsx)(`div`,{className:`prose max-w-full break-words`,children:(0,l.jsx)(_.default,{remarkPlugins:[v.default],components:{strong:e=>(0,l.jsx)(`strong`,{className:`text-neutrals-1000`,...e}),a:({href:e,children:t,...n})=>(0,l.jsx)(`a`,{href:e,target:`_blank`,rel:`noreferrer`,...n,children:t}),h1:({children:e,...t})=>(0,l.jsx)(`h1`,{className:`h1 text-neutrals-1000`,...t,children:e}),h2:({children:e,...t})=>(0,l.jsx)(`h2`,{className:`h2 text-neutrals-1000`,...t,children:e}),h3:({children:e,...t})=>(0,l.jsx)(`h3`,{className:`h3 text-neutrals-1000`,...t,children:e}),h4:({children:e,...t})=>(0,l.jsx)(`h4`,{className:`h4 text-neutrals-1000`,...t,children:e}),h5:({children:e,...t})=>(0,l.jsx)(`h5`,{className:`h5 text-neutrals-1000`,...t,children:e}),code:e=>(0,l.jsx)(`code`,{className:`text-neutrals-900`,...e}),pre:e=>(0,l.jsx)(`pre`,{className:`border border-neutrals-600 bg-neutrals-100`,...e})},children:e?.content})})]})]}),Au=({stages:e,expandIcon:t,processingTitle:n})=>{let[r,i]=(0,c.useState)(),[a,o]=(0,c.useState)(),s=(0,c.useRef)(null),u=(0,c.useRef)(null);return(0,c.useEffect)(()=>{o(e?.filter(e=>e?.status!==Ou.COMPLETED)?.at(-1))},[e]),(0,c.useEffect)(()=>{r&&u?.current?.scrollIntoView({block:`nearest`,behavior:`smooth`})},[r]),(0,c.useEffect)(()=>{let e=s.current,t;if(!e)return;let n=new IntersectionObserver(([e])=>{let n=e?.boundingClientRect?.top;t&&!e?.isIntersecting&&n<t&&i(!1),t=n},{threshold:0});return n.observe(e),()=>n.disconnect()},[]),(0,l.jsxs)(`div`,{className:`message-stages`,ref:s,children:[(0,l.jsxs)(`div`,{className:(0,p.default)(`message-stages-header inline-flex max-w-full items-center cursor-pointer`,!a?.name&&`default-header`),onClick:()=>{i(e=>!e)},children:[(0,l.jsx)(`p`,{className:`message-stages-title truncate`,children:a?.name||n||`Processing...`}),(0,l.jsx)(`i`,{className:(0,p.default)(`message-stages-expand-icon`,r&&`rotated`),children:t})]}),r&&e&&(0,l.jsx)(`div`,{className:`flex flex-col`,children:e?.map(e=>(0,l.jsx)(ku,{stage:e,stageRef:a?u:null,isCurrentStage:e?.index===a?.index},e.index))})]})},ju=2e3,Mu=({message:e,regenerateMessage:t,messageActionsIcons:n,rateResponse:r,isStreaming:i=!1,isReadOnly:a=!1,isRegenerateAvailable:o=!1})=>{let{messageActionsTitles:s}=X(),f=n?.copy,m=n?.copied,h=n?.regenerate,g=n?.thumbUp,_=n?.thumbDown,v=n?.thumbPressed,[y,b]=(0,c.useState)(e.like??u.LikeState.NoState),[x,S]=(0,c.useState)(!1),C=(0,c.useRef)(null),{isAgentAvailable:w}=(0,d.useAgentAvailability)();(0,c.useEffect)(()=>()=>{C.current&&clearTimeout(C.current)},[]);let T=t=>{e.responseId&&(b(t),r(e.responseId||``,t))};return(0,l.jsxs)(`div`,{className:(0,p.default)(`message-actions`,`flex gap-x-2 pt-2`),children:[f&&(0,l.jsx)(`p`,{onClick:()=>{navigator.clipboard.writeText(e.content),S(!0),C.current&&clearTimeout(C.current),C.current=setTimeout(()=>{S(!1)},ju)},title:s?.copy,children:x&&m?m:f}),o&&h&&!a&&!i&&(0,l.jsx)(`p`,{onClick:w?()=>t?.(e):void 0,"aria-disabled":!w,title:s?.regenerate,className:(0,p.default)(!w&&`opacity-50 !cursor-not-allowed pointer-events-none`),children:h}),g&&!a&&y!==u.LikeState.Disliked&&(y===u.LikeState.NoState?(0,l.jsx)(`p`,{onClick:()=>T(u.LikeState.Liked),title:s?.like,children:g}):(0,l.jsx)(`p`,{title:s?.like,children:v})),_&&!a&&y!==u.LikeState.Liked&&(y===u.LikeState.NoState?(0,l.jsx)(`p`,{onClick:()=>T(u.LikeState.Disliked),title:s?.dislike,children:_}):(0,l.jsx)(`p`,{className:`rotate-180`,title:s?.dislike,children:v}))]})},Nu=({message:e,onEditClick:t,messageActionsIcons:n,isStreaming:r=!1,isReadOnly:i=!1})=>{let a=n?.copy,o=n?.edit,{isAgentAvailable:s}=(0,d.useAgentAvailability)();return(0,l.jsxs)(`div`,{className:(0,p.default)(`message-actions`,`flex gap-x-2 pt-2 ml-12`),children:[a&&(0,l.jsx)(`p`,{onClick:()=>navigator.clipboard.writeText(e.content),children:a}),o&&!r&&!i&&(0,l.jsx)(`p`,{onClick:s?t:void 0,className:(0,p.default)(!s&&`opacity-50 !cursor-not-allowed pointer-events-none`),"aria-disabled":!s,children:o})]})},Pu=({content:e,textColorClass:t,onCancel:n,onEditApply:r,editMessageTitles:i})=>{let{isOpenedAdvancedView:a}=I(),o=(0,c.useRef)(null);(0,c.useEffect)(()=>{let e=o.current;s(),e&&(e.focus(),e.setSelectionRange(e.value.length,e.value.length))},[]);let s=()=>{let e=o.current;e&&(e.style.height=`auto`,e.style.height=e.scrollHeight+`px`)};return(0,l.jsxs)(`div`,{className:(0,p.default)(`max-w-none break-words`,a?`body-2`:`body-1`,t),children:[(0,l.jsx)(`textarea`,{ref:o,className:`w-full resize-none overflow-hidden bg-neutrals-300 outline-none`,defaultValue:e,onInput:s}),(0,l.jsxs)(`div`,{className:(0,p.default)(`flex gap-x-2 items-center`,`edit-buttons-wrapper`),children:[(0,l.jsx)(d.Button,{buttonClassName:`text-button-secondary small-icon-button`,title:i?.cancel,isSmallButton:!0,onClick:n}),(0,l.jsx)(d.Button,{buttonClassName:`text-button-primary small-icon-button`,title:i?.send,isSmallButton:!0,onClick:()=>r(o.current?.value||``)})]})]})},Fu=({message:e,previousMessage:t,actions:n,dataQuery:r,isStreaming:i=!1,isCurrentMessageStreaming:a=!1,showAdvancedView:o,locale:s,metadataSettings:f,onAdvancedViewOpen:m,regenerateMessage:h,selectMessageToSend:g,rateResponse:_,editMessage:v,isReadOnlyConversation:y,isLastNotUserMessage:b,onCodeAttachmentUpdated:x})=>{let{messageStyles:S,attachmentsStyles:C,formattingSettings:w,messageActionsIcons:T,editMessageTitles:E,expandStagesIcon:D,titles:O}=X(),[k,A]=(0,c.useState)(),[j,M]=(0,c.useState)(),[N,P]=(0,c.useState)([]),[F,L]=(0,c.useState)([]),[R,z]=(0,c.useState)(),[B,V]=(0,c.useState)(!1),{isCrossDatasetModeOn:H}=Pt(),U=rs(),W=e.role===u.Role.User,G=e.role===u.Role.System,{datasets:K,datasetStructuresMap:q,isLoading:J}=wu(n.getDataSet,n.updateDatasets,n.updateDataQueries,n.updateCurrentDataQuery,k,r),[Y,ee]=(0,c.useState)(!1),[te,ne]=(0,c.useState)([]);(0,c.useEffect)(()=>{M(k?.[0])},[k]);let re=H&&!!k?.length,ie=(0,c.useCallback)(t=>{e.id&&x?.(e.id,t)},[e.id,x]),{dataSetAttachments:ae,dimensions:oe,isLoadingGridData:se}=Ql(n,s,j,w,C?.chartingStyles,f,O,e.custom_content?.attachments,j?q?.get(j.urn):void 0,J,ie,re),ce=(0,c.useMemo)(()=>tr(k,U.map),[k,U.map]),{crossDatasetAttachments:le,isLoadingGridData:ue}=_u(n,s,k,C?.chartingStyles,w,f,e.custom_content?.attachments,ce,ie,void 0,O),{isOpenedAdvancedView:de}=I(),{attachments:fe,dataQueriesKey:pe,isLoading:me}=Su(),he=(0,c.useMemo)(()=>ir(k),[k]),ge=H&&!!o&&fe!=null&&pe===he,_e=ge?fe:le,ve=(0,c.useMemo)(()=>H?ge?me:ue:se,[H,ue,se,me,ge]),ye=()=>{W&&ee(!0)},be=()=>{ee(!1)},xe=t=>{be(),v?.({...e,content:t})},Se=(0,c.useCallback)(e=>{e&&(M(k?.find(t=>t?.urn===e)),z(void 0))},[k]);(0,c.useEffect)(()=>{let t=e.custom_content?.form_schema?.properties;ne((b?t?.choice?.oneOf||t?.completion?.oneOf:[])||[])},[e,b]),(0,c.useEffect)(()=>{let t=Di(e),n=Tu(t),r=t.filter(e=>Mi(e));A(n),L(r)},[e]),(0,c.useEffect)(()=>{V(k!=null&&k.length>0)},[k]),(0,c.useEffect)(()=>{r?.urn&&k?.some(e=>e?.urn===r.urn)&&z(r.urn)},[r,k]),(0,c.useEffect)(()=>{if(e?.role===u.Role.System&&t){let e=Tu(Di(t))||[];k&&e&&q&&P(ya(e,k,q,s,U.map))}},[k,j,q,U.map,oe,s,e?.role,t]);let Ce=(0,c.useCallback)(()=>!W&&S?.systemMessageIcon&&!(de&&!a)?(0,l.jsx)(`div`,{className:(0,p.default)(`flex-shrink-0 rounded-full flex items-center justify-center w-[44px] h-[44px]`,a?`text-white absolute`:`text-neutrals-400`),children:S.systemMessageIcon}):null,[W,S?.systemMessageIcon,de,a]),we=(0,c.useMemo)(()=>(0,l.jsx)(xc,{actions:n,attachments:B?H?_e:ae:F,onAdvancedViewOpen:m,isDataSetAttachments:B,datasets:K,initialSelectedDatasetUrn:R,showAdvancedView:o,isSystemAttachments:G,isDataLoading:ve,currentDataQuery:j,dataQueries:k,attachmentInfoList:N,locale:s,dimensions:oe,selectDataset:Se}),[n,B,ae,F,_e,K,R,o,G,ve,j,k,N,s,oe,Se,m,H]);if(G&&de)return null;let Te=a?null:W?Y?null:(0,l.jsx)(Nu,{messageActionsIcons:T,message:e,isStreaming:i,onEditClick:ye,isReadOnly:y}):G?null:(0,l.jsx)(Mu,{messageActionsIcons:T,message:e,isStreaming:i,regenerateMessage:h,rateResponse:_,isReadOnly:y,isRegenerateAvailable:b});return(0,l.jsx)(`div`,{className:(0,p.default)(`max-w-full flex`,W?`justify-end`:`justify-start`,`message-wrapper`),children:(0,l.jsxs)(`div`,{className:(0,p.default)(`flex items-start`,W&&!Y?`max-w-full`:`w-full`),children:[(0,l.jsxs)(`div`,{className:`relative mr-2`,children:[Ce(),a&&(0,l.jsx)(d.Loader,{})]}),(0,l.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,l.jsxs)(`div`,{className:(0,p.default)(W?`bg-neutrals-300 px-6`:`pt-0`,W?`user-message`:`system-message`,W&&(Y?`w-[100%] ml-0`:`ml-12`)),children:[!W&&!de&&e?.custom_content?.stages?(0,l.jsx)(Au,{stages:e?.custom_content?.stages,expandIcon:D,processingTitle:S?.processingTitle}):a&&(0,l.jsx)(`p`,{className:`body-1 loading-message text-neutrals-700`,children:O?.loading}),Y?(0,l.jsx)(Pu,{content:e.content,onCancel:be,onEditApply:xe,editMessageTitles:E}):(0,l.jsx)(He,{content:e.content})]}),we,Te,!de&&!ve&&(0,l.jsx)(Ue,{choiceButtons:te,onClick:g})]})]})})},Iu=({messages:e,isStreaming:t=!1,isReadOnly:n,conversationViewState:r,...i})=>{let{scrollBottomIcon:a}=X(),o=(0,c.useRef)(null),s=(0,c.useRef)(null),{isOpenedAdvancedView:g}=I(),_=Zo(),[v,y]=(0,c.useState)(null),[b,x]=(0,c.useState)(!1),S=_?.isPanelOpen()??!1,C=()=>{let e=s.current?.parentElement,t=o.current;if(e&&t){let n=t.offsetTop-e.offsetTop;e.scrollTo({top:n,behavior:`smooth`})}};(0,c.useEffect)(()=>{C()},[e,t]),(0,c.useEffect)(()=>{!g&&v!==null&&setTimeout(()=>{s?.current?.parentElement?.scrollTo({top:v,behavior:`smooth`})})},[g,v]);let w=()=>{y(s.current?.parentElement?.scrollTop||null)},T=()=>{let e=s.current?.parentElement;if(e){let{scrollTop:t,scrollHeight:n,clientHeight:r}=e;t+r>=n?x(!1):!b&&!g&&x(!0)}};(0,c.useEffect)(()=>{g&&x(!1)},[g]);let E=(0,d.useDebounce)(T,300);(0,c.useEffect)(()=>{let e=s.current?.parentElement;return e?.addEventListener(`scroll`,E),()=>e?.removeEventListener(`scroll`,E)},[E]);let D=(0,c.useCallback)(e=>(0,l.jsx)(`div`,{className:`whitespace-pre-wrap break-words`,children:(0,h.linkifyText)(e).map((e,t)=>e.type===`text`?(0,l.jsx)(c.Fragment,{children:e.value},t):(0,l.jsx)(`a`,{href:e.value,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center align-middle`,children:(0,l.jsx)(f.IconExternalLink,{className:`size-4 shrink-0 cursor-pointer text-primary`})},t))}),[]);return(0,l.jsxs)(`div`,{ref:s,className:`flex size-full justify-center`,children:[(0,l.jsxs)(`div`,{className:`chat-messages-wrapper flex w-full flex-col gap-y-6`,children:[e.map((a,o)=>{let s=a.id??o;if(a.errorMessage)return(0,l.jsx)(d.InlineAlert,{type:r?.errorContext?.kind===m.ERROR_CONTEXT_KIND.RATE_LIMIT?d.InlineAlertType.Warning:d.InlineAlertType.Error,children:(0,l.jsx)(`div`,{className:`flex flex-col`,children:D(a.errorMessage)})},s);if(g&&a.role===u.Role.System)return null;let c=o===e.length-1,f=zi(e,o),p=Bi(e);return(0,l.jsx)(Fu,{message:a,previousMessage:f,onAdvancedViewOpen:w,isStreaming:t,isCurrentMessageStreaming:t&&c&&a.role===u.Role.Assistant,showAdvancedView:o===p&&!n,isLastNotUserMessage:c&&a.role!==u.Role.User,...i},s)}),(0,l.jsx)(`div`,{ref:o,className:`h-4`})]}),(0,l.jsx)(`div`,{onClick:C,className:(0,p.default)(`fixed sm:hidden bottom-[88px] rounded-[50%] border-[2px] w-[40px] h-[40px] border-primary cursor-pointer text-primary bg-white z-10`,S?`right-[402px] lg:right-[386px]`:`right-10 lg:right-6`,`scroll-button-wrapper`,b?`block`:`hidden`),children:(0,l.jsx)(`div`,{className:`flex size-full items-center justify-center`,children:a})})]})},Lu=e=>{let t={};return e.choices?.[0]?.delta?.content&&(t.content=e.choices[0].delta.content),e.choices?.[0]?.delta?.custom_content&&(t.custom_content=e.choices[0].delta.custom_content),e.choices?.[0]?.delta?.role&&(t.role=e.choices[0].delta.role),e.id&&(t.responseId=e.id),t},Ru=`local`,zu=e=>!e.permissions?.includes(u.SharePermission.WRITE)&&!Vu(e),Bu=(e,t)=>Hu(e)!==t,Vu=e=>Hu(e)===Ru,Hu=e=>e.id.split(`/`)[0],Uu=(e,t)=>Wu([...t?.messages||[],e]),Wu=e=>[...e].map(e=>{let t={role:e.role,content:e.content};return(e.role===u.Role.Assistant||e.role===u.Role.System)&&e.custom_content!=null&&(e.custom_content.state!=null||e.custom_content.attachments!=null||e.custom_content.form_schema!=null)&&(t.custom_content={},e.custom_content.state!=null&&(t.custom_content.state=e.custom_content.state),e.custom_content.attachments!=null&&(t.custom_content.attachments=qu(e.custom_content.attachments)),e.custom_content.form_schema!=null&&(t.custom_content.form_schema=e.custom_content.form_schema)),e.role===u.Role.User&&e.custom_content&&(t.custom_content=e.custom_content),t}),Gu=(e,t)=>{let n=t?.messages,r=n?.findIndex(t=>e.id===t.id);return Wu(n?.slice(0,r)||[])},Ku=(e,t)=>{let n=t?.messages,r=n?.findIndex(t=>e.id===t.id);return Wu([...n?.slice(0,r)||[],e])};function qu(e){return e.map(e=>({type:e.type,title:e.title,data:e.data,url:e.url,reference_type:e.reference_type,reference_url:e.reference_url}))}var Ju=(e,t,n,r)=>{if(!n||t)return null;let i={id:`msg-${Date.now()}`,role:u.Role.User,content:e,timestamp:Date.now()};return r&&(i.custom_content={form_value:{[r===q.COMPLETE?K.COMPLETION:K.CHOICE]:r}}),i},Yu=(e,t,n)=>`/${t}${n}/${(0,h.getConversationNavPath)(e?.folderId,e?.id)}`,Xu=(e,t,n)=>{let r=`${t}/${n}`,i=(0,m.generateConversationId)({folderId:r,name:e?.name});return{...e,folderId:r,id:i}},Zu=(e,t)=>{let n=e.lastIndexOf(`.`);return n<=0?`${e}-${t}`:`${e.slice(0,n)}-${t}${e.slice(n)}`},Qu=(e,t,n)=>{let r=e.split(`/`);if(r[0]!==`files`||r.length<3)return e;let i=Zu(r.at(-1)??`file`,n);return[`files`,t,...r.slice(2,-1),i].join(`/`)},$u=async({conversation:e,bucket:t,getFileBlob:n,putFile:r})=>{let i=(0,h.getConversationAttachmentUrls)(e),a=Date.now();if(!i.length)return e;let o=await Promise.all(i.map(async e=>{let i=Qu(e,t,`${a}`);return i===e||await r(i,await n(e)),[e,i]}));return(0,h.replaceConversationAttachmentUrls)(e,Object.fromEntries(o))},ed=`AbortError`,td=({error:e,statusMessages:t})=>{if(e){if(e.type===m.DIAL_ERROR_TYPES.RATE_LIMIT_EXCEEDED){let n=e.exceeded_limit?.length?t.getExceededLimitsMessage(e.exceeded_limit):e.display_message??``;throw new h.HttpError({message:e.message,displayMessage:n,code:e.type,status:e.status??h.HTTP_ERROR_CODES.TOO_MANY_REQUESTS,details:{kind:m.ERROR_CONTEXT_KIND.RATE_LIMIT,occurredAt:new Date().toISOString(),retryAfterSeconds:Number(e.retry_after??``)}})}throw new h.HttpError({message:e.message,status:e.status??h.HTTP_ERROR_CODES.BAD_REQUEST,code:e.code})}},nd=({error:e,statusMessages:t})=>{if(e.code===m.DIAL_ERROR_TYPES.RATE_LIMIT_EXCEEDED){let t=e;return{errorMessage:t.displayMessage??t.message,errorContext:t.details}}return e.code===m.DIAL_ERROR_CODES.CONTENT_FILTER?{errorMessage:t.contentFilterError??e.message}:{errorMessage:e.status===h.HTTP_ERROR_CODES.SERVICE_UNAVAILABLE?t.serverOverloaded:t.serverError}},rd=(e,t)=>{let n=e.customViewState??{},r=n[m.CUSTOM_VIEW_STATE_KEY]??{};return{...e,customViewState:{...n,[m.CUSTOM_VIEW_STATE_KEY]:{...r,errorContext:t}}}},id=()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{return`UTC`}},ad=({conversationKey:e,conversation:t,actions:n,messageStyles:r,attachmentsStyles:i,inputMessageStyles:a,shareConversationProps:o,showConversationHeaderAdvancedView:s=!0,formattingSettings:g,metadataSettings:_,expandStagesIcon:v,locale:y,conversationsRoute:b,token:x,titles:S,dataQuery:C,handleInvalidStreaming:w,onConversationNotFound:T,setConversation:E,setConversations:O,openUrl:k,messageActionsIcons:A,messageActionsTitles:j,editMessageTitles:M,scrollBottomIcon:N,isFinalMessage:P,limitMessages:F,attachmentsConfig:L,headerRightSlot:R,children:B})=>{let[V,U]=(0,c.useState)(null),[W,K]=(0,c.useState)(!1),[q,J]=(0,c.useState)(!0),{isStreaming:Y,setIsStreaming:te}=z(),{isOpenedAdvancedView:ne}=I(),{setCrossDatasetAttachmentsState:re}=Su(),{isCrossDatasetModeOn:ie}=Pt(),{isAgentAvailable:ae}=(0,d.useAgentAvailability)(),{statusMessages:oe}=H(),{onboardingFileSchema:X,onboardingFilePath:ce,onboardingFileName:le,isShowOnboarding:ue,setOnboardingFileSchema:de}=G();(0,c.useEffect)(()=>{X&&n.putOnboardingFile?.(le,ce,X)},[n,X,le,ce]),(0,c.useEffect)(()=>{ne&&X?.lastDisplayedElement===li.OPEN_ADVANCED_VIEW&&de?.(_i(X))},[n,ne,de,X]);let fe=(0,c.useCallback)(()=>{k(`/${y}${b}`)},[y,b,k]),pe=(0,c.useCallback)(async()=>{try{let{bucket:e}=await n.getBucket(),r=Xu(n.getFileBlob&&n.putFile?await $u({conversation:t,bucket:e,getFileBlob:n.getFileBlob,putFile:n.putFile}):t,e,y);await n.createConversation(r,y),O((0,h.cleanConversationNames)(await n.getConversations(y))),k(Yu(r,y,b))}catch(e){console.error(`Failed to save conversation:`,e)}},[n,t,b,y,k,O]),me=(0,c.useCallback)(async t=>{try{await n.updateConversation(decodeURI(e),{name:t.name,messages:t.messages,customViewState:t.customViewState})}catch(e){console.error(`Failed to save conversation:`,e)}},[n,e]),he=(0,c.useCallback)((e,n)=>{if(!t)return;let r=$l(t.messages,n,e);if(!r)return;let i={...t,messages:r};E(i),me(i)},[t,E,me]),ge=(0,c.useCallback)(e=>{E(t=>t?{...t,messages:[...t?.messages||[],e]}:null)},[E]),_e=(0,c.useCallback)(()=>{let e={id:`msg-${Date.now()+1}`,role:u.Role.Assistant,content:``,timestamp:Date.now()};return E(t=>t?{...t,messages:[...t.messages,e]}:null),e},[E]),ve=(0,c.useCallback)((e,t)=>{let n=m.mergeMessages?.(e,[t]);if(n)return E(t=>t?{...t,messages:t.messages.map(t=>t.id===e.id?{...n}:t)}:null),n},[E]),ye=(0,c.useCallback)((e,r)=>{t?.model?.id&&(n.rateResponse(e,r===u.LikeState.Liked,t.model.id),t.messages=t.messages.map(t=>t.responseId===e?(0,D.merge)(t,{like:r}):t),me(t))},[n,t,me]),be=(0,c.useCallback)((e,t)=>{let n=oe.serverError,r,i;if((0,h.isHttpError)(e)){i=e;let t=nd({error:e,statusMessages:oe});n=t.errorMessage,r=t.errorContext}else i=new h.HttpError({status:h.HTTP_ERROR_CODES.INTERNAL_SERVER_ERROR,message:n});return t&&=ve(t,{errorMessage:n}),w?.(i),{assistantMessage:t,errorContext:r}},[w,oe,ve]),xe=(0,c.useCallback)(async(e,t,n)=>{let r=new AbortController;U(r);let i=e,a;if(!n)return{assistantMessage:i,errorContext:a};let o=n.custom_fields??{},s={...o,configuration:{...o.configuration,timezone:id(),...ie&&{merge_python_code:!0}}};return await(0,m.streamChatResponse)?.(encodeURI(n.id),t,{model:n.model,signal:r?.signal,onMessage:e=>{td({error:e.error,statusMessages:oe});let t=Lu(e);(t.content||t.role||t.responseId)&&(i=ve(i,t))},onError:e=>{if(!Ee(e))throw console.error(`Streaming error:`,e),e}},x,s).catch(e=>{if(!Ee(e)){let{assistantMessage:t,errorContext:n}=be(e,i);i=t,a=n}}),{assistantMessage:i,errorContext:a}},[x,ve,be,oe,ie]),Se=(0,c.useCallback)(async(e,t,n,r)=>{if(!t)return;let i=rd(t,r);i={...i,messages:[...t.messages],updatedAt:Date.now()},n&&i.messages.push(n),i.messages.push(e),await me(i)},[me]),Ce=(0,c.useCallback)(e=>{E(t=>t&&rd(t,e))},[E]),we=(0,c.useCallback)((e,t)=>{E(e=>e?{...e,messages:e.messages.filter(e=>e.id!==t.id)}:null)},[E]),Te=(0,c.useCallback)(()=>{V&&!V.signal.aborted&&V.abort()},[V]),Ee=e=>e?.name===ed,De=(0,c.useCallback)(async(e,t,n,r,i,a=!0)=>{Ee(i)?await Se(r??n,e,a?t:void 0):we(i,t)},[Se,we]),Oe=(0,c.useCallback)(async(e,t,n)=>{if(!t||!e)return;let r=Ju(e,Y,t,n),i,a;if(r){ge(r);try{te(!0),i=_e();let e=Uu(r,t),{assistantMessage:n,errorContext:o}=await xe(i,e,t);Ce(o),a=n,await Se(a,t,r,o)}catch(e){De(t,r,i,a,e)}finally{te(!1)}}},[Y,te,ge,_e,xe,Se,De,Ce]),ke=(0,c.useCallback)(async(e,t,n)=>{let r,i;try{te(!0),r=_e();let{assistantMessage:n,errorContext:a}=await xe(r,e,t);i=n,Ce(a),await Se(i,t,void 0,a)}catch(e){De(t,n,r,i,e,!1)}finally{te(!1)}},[te,Se,De,xe,_e,Ce]),Ae=(0,c.useCallback)(async(e,t)=>{if(!t||!e)return;let n=Gu(e,t),r={...t,messages:t.messages.slice(0,n.length)};E(e=>e?{...e,...r}:null),ke(n,r,e)},[E,ke]),{isLastMessageFailed:je,regenerateLastMessage:Me}=(0,c.useMemo)(()=>{let e=t?.messages?.at(-1);return{isLastMessageFailed:!!e?.errorMessage,regenerateLastMessage:e&&(()=>Ae(e,t))}},[t,Ae]),Ne=(0,c.useCallback)(async(e,t)=>{if(!t||!e)return;let n=Ku(e,t),r={...t,messages:[...t.messages.slice(0,n.length-1),e]};E(e=>e?{...e,...r}:null),ke(n,r,e)},[E,ke]);(0,c.useEffect)(()=>{$t(),re();async function t(){try{J(!0);let{bucket:t}=await n.getBucket(),r=await n.getConversation(decodeURI(e));E(r),K(zu(r)&&Bu(r,t)),(r.messages.length===0||r?.messages?.[0]?.role===u.Role.Assistant&&r?.messages?.length===1)&&Oe(r.prompt,r)}catch{K(!0),T?.()}finally{J(!1)}}return e&&t(),()=>{$t()}},[e]);let Pe=(0,c.useMemo)(()=>({getFile:n.getFile,putOnboardingFile:n.putOnboardingFile,getDataSet:n.getDataSet,getDataSetData:n.getDataSetData,getConstraints:n.getConstraints,updateCurrentDataQuery:n.updateCurrentDataQuery,updateDataQueries:n.updateDataQueries,updateDatasets:n.updateDatasets,downloadDataSet:n.downloadDataSet}),[n]);if(q)return(0,l.jsx)(d.Loader,{});let Fe=t?.customViewState?.[m.CUSTOM_VIEW_STATE_KEY];return(0,l.jsx)(se,{styles:{titles:S,messageStyles:r,attachmentsStyles:i,formattingSettings:g,messageActionsIcons:A,messageActionsTitles:j,editMessageTitles:M,expandStagesIcon:v,scrollBottomIcon:N,limitMessages:F,attachmentsConfig:L},children:(0,l.jsxs)(`div`,{className:(0,p.default)(`h-full flex flex-col bg-white conversation-view-wrapper`,ne&&!s&&`p-4`),children:[ne&&!s?null:(0,l.jsx)(Ve,{conversation:t,locale:y,isOpenedAdvancedView:ne,isShowShareButton:!W&&!ue,shareConversationProps:o,rightSlot:R}),(0,l.jsxs)(`div`,{className:`flex min-h-0 min-w-0 w-full flex-1`,children:[(0,l.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,l.jsx)(`div`,{className:(0,p.default)(`flex-1 min-h-0 flex flex-col items-end scroll-hidden-container`,r?.messagesWrapperClass),children:(0,l.jsx)(Iu,{messages:t?.messages||[],actions:Pe,isStreaming:Y,isReadOnly:W,metadataSettings:_,dataQuery:C,locale:y,regenerateMessage:e=>Ae(e,t),selectMessageToSend:(e,n)=>Oe(e,t,n),rateResponse:ye,editMessage:e=>Ne(e,t),isReadOnlyConversation:W||ue,conversationViewState:Fe,onCodeAttachmentUpdated:he})}),ue?null:W?(0,l.jsx)(`div`,{className:`mt-4 flex items-center justify-center`,children:(0,l.jsx)(d.Button,{iconBefore:(0,l.jsx)(f.IconCopy,{width:20,height:20}),title:S?.duplicate??`Duplicate Chat`,isSmallButton:!0,onClick:pe,buttonClassName:(0,p.default)(`text-button-secondary`)})}):(0,l.jsx)(`div`,{className:(0,p.default)(a.inputContainerClass),children:(()=>{if(Fe?.errorContext?.kind===m.ERROR_CONTEXT_KIND.RATE_LIMIT&&(0,m.isRateLimitStillActive)(Fe.errorContext)){let e=(0,m.getRateLimitRestoreDate)(Fe.errorContext);if(e){let t=(0,m.formatDateTime)(e);return(0,l.jsx)(d.InlineAlert,{type:d.InlineAlertType.Info,children:oe.getAssistantRestoreMessage(t.date,t.time)})}}return ae?(0,l.jsx)(ee,{onSendMessage:e=>Oe(e,t),onStopStreaming:Te,inProcess:Y,sendMessageIcon:a.sendMessageIcon,retryIcon:a.retryIcon,placeholder:S?.askAnything??`Ask anything...`,containerClasses:`mt-4`,inputClasses:`border-neutrals-600 mr-2`,isLastFailed:je,onRetryFailed:Me}):(0,l.jsx)(d.InlineAlert,{type:d.InlineAlertType.Error,children:oe.assistantUnavailable})})()}),ue&&P&&(0,l.jsx)(d.Button,{iconBefore:(0,l.jsx)(f.IconPlus,{width:24,height:24}),title:S?.onboardingFooterLink,onClick:fe,isSmallButton:!0,buttonClassName:`text-button-secondary self-center mb-3`}),B]}),!ne&&(0,l.jsx)(Qo,{scope:`conversation`})]})]})})},od=({conversationName:e,expandTitle:t,expandIcon:n,onExpand:r})=>(0,l.jsxs)(`div`,{className:`flex h-full w-[51px] shrink-0 flex-col items-center border border-neutrals-400 bg-white`,children:[(0,l.jsx)(`button`,{type:`button`,className:`mt-[84px] flex size-9 items-center justify-center text-primary`,"aria-label":t,title:t,onClick:r,children:n}),(0,l.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center overflow-hidden pb-[88px] pt-[72px]`,children:(0,l.jsx)(`span`,{className:`h3 min-h-0 flex-1 rotate-180 truncate text-center text-neutrals-1000 [writing-mode:vertical-rl]`,title:e,children:e})})]});exports.AdvancedView=Cu,exports.AdvancedViewProvider=F,exports.AttachmentRenderer=xc,exports.CUSTOM_CHOICE_ID=q,exports.ChartingIcon=Y,exports.ChatFooter=Ke,exports.ChatMessagesProvider=R,exports.ChatOnboardingFooter=Ge,exports.CollapsedChatPanel=od,exports.ConversationView=ad,exports.ConversationViewFeatureTogglesProvider=Nt,exports.ConversationViewMessagesProvider=V,exports.ConversationViewSidePanelProvider=Yo,exports.ConversationViewStylesProvider=se,exports.ConversationWelcome=qe,exports.CrossDatasetAttachmentsProvider=xu,exports.CrossDatasetGridAttachment=hc,exports.CustomChartAttachment=Cs,exports.CustomContentProperties=K,exports.CustomDataGridAttachment=ms,exports.DatasetDimensionsMetadataMapProvider=ns,exports.OnboardingProvider=W,exports.STAGE_STATUS=J,exports.useAdvancedView=I,exports.useChatMessages=z,exports.useConversationViewFeatureToggles=Pt,exports.useConversationViewMessages=H,exports.useConversationViewSidePanelOptional=Zo,exports.useConversationViewStyles=X,exports.useCrossDatasetAttachments=Su,exports.useDatasetDimensionsMetadataMap=rs,exports.useDatasetDimensionsMetadataMapOptional=is,exports.useOnboarding=G;
|
package/index.mjs
CHANGED
|
@@ -10274,4 +10274,4 @@ var Ap = (e, t, n, r) => {
|
|
|
10274
10274
|
})]
|
|
10275
10275
|
});
|
|
10276
10276
|
//#endregion
|
|
10277
|
-
export { ap as AdvancedView, bn as AdvancedViewProvider, nd as AttachmentRenderer, Mn as CUSTOM_CHOICE_ID, Pn as ChartingIcon, Dr as ChatFooter, Cn as ChatMessagesProvider, Er as ChatOnboardingFooter, Hp as CollapsedChatPanel, Vp as ConversationView, hi as ConversationViewFeatureTogglesProvider, En as ConversationViewMessagesProvider, Al as ConversationViewSidePanelProvider, Hn as ConversationViewStylesProvider, Or as ConversationWelcome, rp as CrossDatasetAttachmentsProvider, jn as CustomContentProperties, Ll as DatasetDimensionsMetadataMapProvider, kn as OnboardingProvider, Nn as STAGE_STATUS, xn as useAdvancedView, wn as useChatMessages, gi as useConversationViewFeatureToggles, Dn as useConversationViewMessages, Ml as useConversationViewSidePanelOptional, Z as useConversationViewStyles, ip as useCrossDatasetAttachments, Rl as useDatasetDimensionsMetadataMap, zl as useDatasetDimensionsMetadataMapOptional, An as useOnboarding };
|
|
10277
|
+
export { ap as AdvancedView, bn as AdvancedViewProvider, nd as AttachmentRenderer, Mn as CUSTOM_CHOICE_ID, Pn as ChartingIcon, Dr as ChatFooter, Cn as ChatMessagesProvider, Er as ChatOnboardingFooter, Hp as CollapsedChatPanel, Vp as ConversationView, hi as ConversationViewFeatureTogglesProvider, En as ConversationViewMessagesProvider, Al as ConversationViewSidePanelProvider, Hn as ConversationViewStylesProvider, Or as ConversationWelcome, rp as CrossDatasetAttachmentsProvider, Xu as CrossDatasetGridAttachment, iu as CustomChartAttachment, jn as CustomContentProperties, Yl as CustomDataGridAttachment, Ll as DatasetDimensionsMetadataMapProvider, kn as OnboardingProvider, Nn as STAGE_STATUS, xn as useAdvancedView, wn as useChatMessages, gi as useConversationViewFeatureToggles, Dn as useConversationViewMessages, Ml as useConversationViewSidePanelOptional, Z as useConversationViewStyles, ip as useCrossDatasetAttachments, Rl as useDatasetDimensionsMetadataMap, zl as useDatasetDimensionsMetadataMapOptional, An as useOnboarding };
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epam/statgpt-conversation-view",
|
|
3
|
-
"version": "0.7.0-dev.
|
|
3
|
+
"version": "0.7.0-dev.23",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@epam/statgpt-conversation-list": "0.7.0-dev.
|
|
7
|
-
"@epam/statgpt-dial-toolkit": "0.7.0-dev.
|
|
8
|
-
"@epam/statgpt-sdmx-toolkit": "0.7.0-dev.
|
|
9
|
-
"@epam/statgpt-shared-toolkit": "0.7.0-dev.
|
|
10
|
-
"@epam/statgpt-ui-components": "0.7.0-dev.
|
|
6
|
+
"@epam/statgpt-conversation-list": "0.7.0-dev.23",
|
|
7
|
+
"@epam/statgpt-dial-toolkit": "0.7.0-dev.23",
|
|
8
|
+
"@epam/statgpt-sdmx-toolkit": "0.7.0-dev.23",
|
|
9
|
+
"@epam/statgpt-shared-toolkit": "0.7.0-dev.23",
|
|
10
|
+
"@epam/statgpt-ui-components": "0.7.0-dev.23"
|
|
11
11
|
},
|
|
12
12
|
"peerDependencies": {
|
|
13
13
|
"@epam/ai-dial-shared": "^0.43.3",
|