@sisense/sdk-ui 2.14.0 → 2.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai.cjs +1 -1
- package/dist/ai.js +5 -5
- package/dist/analytics-composer/node.cjs +1 -1
- package/dist/analytics-composer/node.js +4 -4
- package/dist/analytics-composer.cjs +1 -1
- package/dist/analytics-composer.js +6 -6
- package/dist/{derive-chart-family-DJUpWKOP.cjs → derive-chart-family-0J_WPLDy.cjs} +45 -30
- package/dist/{derive-chart-family-D_bylSQy.js → derive-chart-family-DHOhho50.js} +5072 -5042
- package/dist/{dimensions-CTUJhW-M.js → dimensions-Biz7anQc.js} +1 -1
- package/dist/{dimensions-CdNGgk9I.cjs → dimensions-CtINdhqK.cjs} +1 -1
- package/dist/{execute-query-DyjkDYHG.js → execute-query-D1JOjJ8n.js} +212 -195
- package/dist/execute-query-k_ytd_Rf.cjs +1 -0
- package/dist/index.cjs +15 -15
- package/dist/index.js +4177 -4109
- package/dist/index.umd.js +253 -238
- package/dist/packages/sdk-ui/src/app/client-application.d.ts +23 -0
- package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/funnel-chart/data-options/index.d.ts +0 -4
- package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/helpers/data-options.d.ts +4 -0
- package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/pie-chart/data-options/index.d.ts +0 -4
- package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/sunburst-chart/design-options/index.d.ts +3 -0
- package/dist/packages/sdk-ui/src/chart/restructured-charts/types.d.ts +0 -4
- package/dist/packages/sdk-ui/src/chart-options-processor/category-chart-options/sunburst-chart-options.d.ts +2 -2
- package/dist/packages/sdk-ui/src/chart-options-processor/translations/sunburst/sunburst-levels.d.ts +28 -2
- package/dist/packages/sdk-ui/src/chart-options-processor/translations/sunburst/sunburst-options.d.ts +28 -2
- package/dist/packages/sdk-ui/src/chart-options-processor/translations/types.d.ts +2 -2
- package/dist/packages/sdk-ui/src/common/icons/alert-icon.d.ts +2 -0
- package/dist/packages/sdk-ui/src/dynamic-size-container/default-size.d.ts +20 -5
- package/dist/packages/sdk-ui/src/highcharts-renderer.d.ts +13 -0
- package/dist/packages/sdk-ui/src/pivot-table/hooks/use-render-pivot.d.ts +5 -1
- package/dist/packages/sdk-ui/src/query-execution/index.d.ts +1 -1
- package/dist/packages/sdk-ui/src/translation/resources/en.d.ts +6 -0
- package/dist/packages/sdk-ui/src/translation/resources/index.d.ts +12 -0
- package/dist/packages/sdk-ui/src/types.d.ts +88 -1
- package/dist/packages/sdk-ui/src/utils/gradient.d.ts +37 -0
- package/dist/packages/sdk-ui/src/widget-by-id/types.d.ts +2 -0
- package/dist/{types-D1qM-ltg.cjs → types-B8jkBXCe.cjs} +1 -1
- package/dist/{types-DglXXR-Q.js → types-DZhBEm3K.js} +1 -1
- package/dist/{use-common-filters-BGrn7zoW.js → use-common-filters-8MsC7-0N.js} +18093 -18004
- package/dist/{use-common-filters-DxzCHhgF.cjs → use-common-filters-DlP4xqST.cjs} +170 -170
- package/dist/{widget-composer-lBv40CFf.js → widget-composer-D-ktDgUE.js} +3 -3
- package/dist/{widget-composer-C24YJEek.cjs → widget-composer-DBwcb3ao.cjs} +1 -1
- package/package.json +7 -7
- package/dist/execute-query-CNt566O5.cjs +0 -1
- package/dist/packages/sdk-ui/src/highcharts-memorized.d.ts +0 -7
package/dist/ai.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var Ut=Object.defineProperty,_t=Object.defineProperties;var Kt=Object.getOwnPropertyDescriptors;var ge=Object.getOwnPropertySymbols;var Qe=Object.prototype.hasOwnProperty,Ve=Object.prototype.propertyIsEnumerable;var Ge=(e,t,n)=>t in e?Ut(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,j=(e,t)=>{for(var n in t||(t={}))Qe.call(t,n)&&Ge(e,n,t[n]);if(ge)for(var n of ge(t))Ve.call(t,n)&&Ge(e,n,t[n]);return e},P=(e,t)=>_t(e,Kt(t));var ve=(e,t)=>{var n={};for(var o in e)Qe.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&ge)for(var o of ge(e))t.indexOf(o)<0&&Ve.call(e,o)&&(n[o]=e[o]);return n};var G=(e,t,n)=>new Promise((o,a)=>{var d=p=>{try{h(n.next(p))}catch(C){a(C)}},l=p=>{try{h(n.throw(p))}catch(C){a(C)}},h=p=>p.done?o(p.value):Promise.resolve(p.value).then(d,l);h((n=n.apply(e,t)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./use-common-filters-DxzCHhgF.cjs"),r=require("./derive-chart-family-DJUpWKOP.cjs"),f=require("react"),X=require("./execute-query-CNt566O5.cjs"),ce=require("./widget-composer-C24YJEek.cjs"),se=require("react/jsx-runtime");function Xt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const W=Xt(f);class Jt extends s.Subscribable{constructor(t,n){super(),this.client=t,this.setOptions(n),this.bindMethods(),this.updateResult()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){var n;const o=this.options;this.options=this.client.defaultMutationOptions(t),s.shallowEqualObjects(o,this.options)||this.client.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.currentMutation,observer:this}),(n=this.currentMutation)==null||n.setOptions(this.options)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.currentMutation)==null||t.removeObserver(this)}}onMutationUpdate(t){this.updateResult();const n={listeners:!0};t.type==="success"?n.onSuccess=!0:t.type==="error"&&(n.onError=!0),this.notify(n)}getCurrentResult(){return this.currentResult}reset(){this.currentMutation=void 0,this.updateResult(),this.notify({listeners:!0})}mutate(t,n){return this.mutateOptions=n,this.currentMutation&&this.currentMutation.removeObserver(this),this.currentMutation=this.client.getMutationCache().build(this.client,P(j({},this.options),{variables:typeof t!="undefined"?t:this.options.variables})),this.currentMutation.addObserver(this),this.currentMutation.execute()}updateResult(){const t=this.currentMutation?this.currentMutation.state:s.getDefaultState(),n=t.status==="loading",o=P(j({},t),{isLoading:n,isPending:n,isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset});this.currentResult=o}notify(t){s.notifyManager.batch(()=>{if(this.mutateOptions&&this.hasListeners()){if(t.onSuccess){var n,o,a,d;(n=(o=this.mutateOptions).onSuccess)==null||n.call(o,this.currentResult.data,this.currentResult.variables,this.currentResult.context),(a=(d=this.mutateOptions).onSettled)==null||a.call(d,this.currentResult.data,null,this.currentResult.variables,this.currentResult.context)}else if(t.onError){var l,h,p,C;(l=(h=this.mutateOptions).onError)==null||l.call(h,this.currentResult.error,this.currentResult.variables,this.currentResult.context),(p=(C=this.mutateOptions).onSettled)==null||p.call(C,void 0,this.currentResult.error,this.currentResult.variables,this.currentResult.context)}}t.listeners&&this.listeners.forEach(({listener:m})=>{m(this.currentResult)})})}}function Ee(e,t,n){const o=s.parseMutationArgs(e,t),a=s.useQueryClient({context:o.context}),[d]=W.useState(()=>new Jt(a,o));W.useEffect(()=>{d.setOptions(o)},[d,o]);const l=s.useSyncExternalStore(W.useCallback(p=>d.subscribe(s.notifyManager.batchCalls(p)),[d]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),h=W.useCallback((p,C)=>{d.mutate(p,C).catch(Yt)},[d]);if(l.error&&s.shouldThrowError(d.options.useErrorBoundary,[l.error]))throw l.error;return P(j({},l),{mutate:h,mutateAsync:l.mutate})}function Yt(){}const st=f.createContext({}),en=()=>f.useContext(st),it=({children:e})=>{const[t,n]=f.useState({}),o=f.useCallback((l,h)=>{var p;return`${l}_${(p=h==null?void 0:h.dashboardId)!=null?p:""}`},[]),a=f.useCallback((l,h,p)=>{n(C=>P(j({},C),{[o(h,p)]:l}))},[o]),d=f.useCallback((l,h)=>t[o(l,h)],[t,o]);return r.jsx(st.Provider,{value:{saveChatId:a,getChatId:d},children:e})};class at{constructor(t,n=!1){this.volatile=n,this.getChatContexts=()=>G(this,null,function*(){return(yield this.httpClient.get("api/datasources//"))||[]}),this.getNlgInsights=o=>this.httpClient.post("api/v2/ai/nlg/queryResult",o),this.getQueryRecommendations=(o,a)=>this.httpClient.get(`api/v2/ai/recommendations/query/${o}/${a.numOfRecommendations}${a.userPrompt?"?userPrompt="+encodeURIComponent(a.userPrompt):""}`),this.getNlqResult=(o,a)=>this.httpClient.post(`api/v2/ai/nlq/query/${o}`,a),this.setLlmConfig=o=>this.httpClient.post("api/v2/settings/ai/llmProvider",o).catch(a=>{console.error("Unable to set llm config",a)}),this.getAllChats=()=>G(this,null,function*(){return this.volatile?[]:this.httpClient.get("api/v2/ai/chats")}),this.getChatById=o=>this.httpClient.get(`api/v2/ai/chats/${o}`),this.createChat=(o,a)=>this.httpClient.post("api/v2/ai/chats",{sourceId:o,volatile:this.volatile,contextDetails:a}),this.postChat=(o,a)=>this.httpClient.post(`api/v2/ai/chats/${o}`,a),this.deleteChatHistory=o=>this.httpClient.delete(`api/v2/ai/chats/${o}/history`),this.sendFeedback=o=>this.httpClient.post("api/v2/ai/feedback",o),this.ai={getNlgInsights:this.getNlgInsights,getNlqResult:this.getNlqResult,getQueryRecommendations:this.getQueryRecommendations,setLlmConfig:this.setLlmConfig,sendFeedback:this.sendFeedback,chat:{getAll:this.getAllChats,getById:this.getChatById,create:this.createChat,post:this.postChat,clearHistory:this.deleteChatHistory}},this.httpClient=t}}const tn=new s.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1,refetchOnMount:!1}}}),Ie=f.createContext(void 0),Z=()=>f.useContext(Ie),nn=({children:e,volatile:t})=>{const{app:n}=s.useSisenseContext(),o=f.useMemo(()=>n?new at(n.httpClient,t):void 0,[n,t]);return r.jsx(Ie.Provider,{value:o,children:r.jsx(s.QueryClientProvider,{client:tn,children:e})})};function rn({children:e,volatile:t}){return r.jsx(it,{children:r.jsx(nn,{volatile:t,children:e})})}function lt(e){var t,n;if("jaql"in e)return e;{const o=X.convertJaqlDataSource(e.dataSource),{filters:a=[],relations:d}=X.getFilterListAndRelationsJaql(e.filters),{metadata:l,filterRelations:h}=X.getJaqlQueryPayload({dataSource:e.dataSource,attributes:(t=e.dimensions)!=null?t:[],measures:(n=e.measures)!=null?n:[],filters:a,filterRelations:d,highlights:[]},!0),p={jaql:{datasource:o,metadata:l,filterRelations:h}};return e.verbosity&&(p.verbosity=e.verbosity),p}}const me=(e,t=!0)=>{const n=f.useMemo(()=>lt(e),[e]),o=Z(),{data:a,error:d,isError:l,isLoading:h,isSuccess:p,refetch:C}=s.useQuery({queryKey:["getNlgInsights",n,o],queryFn:()=>o==null?void 0:o.ai.getNlgInsights(n),select:m=>{var b;return(b=m==null?void 0:m.data)==null?void 0:b.answer},enabled:!!o&&t});return{isLoading:h,isError:l,isSuccess:p,data:a,error:d,refetch:f.useCallback(()=>{C()},[C])}},on=e=>{const o=e,{enabled:t}=o,n=ve(o,["enabled"]);return me(n,t)},sn=s.withTracking("useGetNlgInsights")(on),ct=["indicator","column","line","table","pie","bar"];function Fe(e){const{dataSource:t,query:n,chartTypes:o}=e;return{contextTitle:typeof t=="string"?t:t.title,request:{text:n,timezone:"UTC",chartTypes:o!=null?o:[...ct]}}}function dt(e,t){return G(this,null,function*(){const{contextTitle:n,request:o}=Fe(e),a=yield t.ai.getNlqResult(n,o);return{widgetProps:a?ce.toWidgetProps(a,{useCustomizedStyleOptions:e.enableAxisTitlesInWidgetProps||!1}):void 0,nlqResult:a}})}const an=e=>{const{contextTitle:t,request:n}=Fe(e),o=Z(),a=["getNlqResult",t,n,o],{isLoading:d,isError:l,isSuccess:h,data:p,error:C,refetch:m}=s.useQuery({queryKey:a,queryFn:()=>o?dt(e,o).then(b=>b.widgetProps):Promise.reject("No API available"),enabled:!!o&&e.enabled});return{isLoading:d,isError:l,isSuccess:h,data:p,error:C,refetch:f.useCallback(()=>{m()},[m])}},ln=s.withTracking("useGetNlqResult")(an),ut=4,pt=e=>{const{contextTitle:t,count:n,enableAxisTitlesInWidgetProps:o,enabled:a,customPrompt:d}=e,l=Z(),h=n!=null?n:ut,p=(a===void 0||a===!0)&&h>0,{isLoading:C,isError:m,isSuccess:b,data:i,error:u,refetch:c}=s.useQuery({queryKey:["getQueryRecommendations",t,h,l],queryFn:()=>l==null?void 0:l.ai.getQueryRecommendations(t,j({numOfRecommendations:h},d?{userPrompt:d}:null)),enabled:!!l&&p}),x=f.useMemo(()=>i==null?void 0:i.map(g=>P(j({},g),{widgetProps:g.jaql?ce.toWidgetProps(g,{useCustomizedStyleOptions:o}):void 0})),[i,o]);return{isLoading:p?C:!1,isError:m,isSuccess:b,data:x!=null?x:void 0,error:u,refetch:f.useCallback(()=>{c()},[c])}},cn=s.withTracking("useGetQueryRecommendations")(pt),ht=Object.freeze({enableFollowupQuestions:!1,enableHeader:!0,enableInsights:!0,numOfRecommendations:4,numOfRecentPrompts:5}),gt=f.createContext(j({},ht)),V=()=>f.useContext(gt),dn=({children:e,value:t})=>{const{t:n}=r.useTranslation(),o=Object.entries(t).reduce((a,[d,l])=>(l!==void 0&&(a[d]=l),a),P(j({},ht),{inputPromptText:n("ai.config.inputPromptText"),welcomeText:n("ai.config.welcomeText"),suggestionsWelcomeText:n("ai.config.suggestionsWelcomeText")}));return r.jsx(gt.Provider,{value:o,children:e})},Ne="chatHistory",un=e=>{const t=Z(),{hideHistory:n}=V();return s.useQuery({queryKey:[Ne,e,t],queryFn:()=>G(exports,null,function*(){if(!t||!e)return;if(n)return[];const o=yield t.ai.chat.getById(e);return o==null?void 0:o.chatHistory}),enabled:!!t&&!!e})},Ct=e=>{const t=Z(),n=s.useQueryClient();return Ee({mutationFn:()=>G(exports,null,function*(){if(!(!t||!e))return t.ai.chat.clearHistory(e)}),onError:o=>{console.error("Error when clearing history:",o)},onSettled:()=>{e&&n.setQueriesData([Ne,e],[])}})},Be=e=>{const{data:t,isLoading:n,isError:o}=un(e),{mutate:a}=Ct(e);return f.useEffect(()=>{o&&a()},[o,a]),{history:t,isLoading:n,isError:o}},pn=()=>{const e=Z(),{data:t,isLoading:n,fetchStatus:o}=s.useQuery({queryKey:["getDataTopics",e],queryFn:()=>G(exports,null,function*(){if(e)return e.getChatContexts()}),enabled:!!e});return{data:t,isLoading:n,fetchStatus:o}},hn=()=>{const e=Z(),{data:t,isLoading:n}=s.useQuery({queryKey:["getAllChats",e],queryFn:()=>e==null?void 0:e.ai.chat.getAll(),enabled:!!e});return{data:t!=null?t:[],isLoading:n}},gn=(e,t,n)=>{const o=s.useQueryClient(),a=Z(),d=Ee({mutationFn:()=>G(exports,null,function*(){if(!(!a||!e))return a.ai.chat.create(e,n)}),onSuccess:()=>o.invalidateQueries(["getAllChats"])});return f.useEffect(()=>{t&&d.isIdle&&d.mutate()},[t,d]),d},Cn=(e,t)=>{switch(e.responseType=e.responseType.toLowerCase(),e.responseType){case"nlq":return{content:JSON.stringify(e.data),role:"assistant",type:"nlq"};case"text":case"error":return{content:e.data.answer,role:"assistant"};default:throw Error(`${t}${JSON.stringify(e)}`)}},fn=(e,t)=>{const n=s.useQueryClient(),o=f.useCallback(p=>{e&&n.setQueriesData([Ne,e],C=>C&&[...C,p])},[n,e]),{t:a}=r.useTranslation(),d=Z(),{mutate:l,isLoading:h}=Ee({mutationFn:p=>G(exports,null,function*(){if(!(!d||!e))return d.ai.chat.post(e,{text:p,options:{enableFollowup:t}})}),onMutate:p=>{o({content:p,role:"user"})},onError:p=>{p instanceof Error&&(console.error("Error when sending message:",p.message),o({content:a(`ai.errors.${p.interpolationOptions.errorCode}`,{defaultValue:a("ai.errors.unexpectedChatResponse")}),role:"assistant"}))},onSuccess:p=>{if(!p)return;const C=a("ai.errors.unknownResponse");o(Cn(p,C))}});return{mutate:l,isLoading:h}},He=(e,t,n=!1)=>{var m;const{data:o,isLoading:a}=hn(),d=en(),l=d.getChatId(e,t)||((m=o.find(b=>{var i;return b.contextTitle===e&&((i=b.contextDetails)==null?void 0:i.dashboardId)===(t==null?void 0:t.dashboardId)}))==null?void 0:m.chatId),{isError:h,data:p,isSuccess:C}=gn(e,n&&!a&&!l,t);return f.useEffect(()=>{C&&p&&!l&&d.saveChatId(p.chatId,e,t)},[p,C,e,t,l,d]),{chatId:l,isLoading:a,isError:h}},ft=e=>f.useMemo(()=>{if(e!=null&&e.length){const t=e[e.length-1];if(Oe(t))return JSON.parse(t.content)}return null},[e]),Oe=e=>!!e&&"type"in e&&e.type==="nlq",xn=e=>!!e&&"type"in e&&e.type==="text",xt=(e,t)=>{const{t:n}=r.useTranslation(),{enableFollowupQuestions:o}=V(),{chatId:a,isError:d}=He(e,t,!0),[l,h]=f.useState(null),{history:p,isLoading:C,isError:m}=Be(a);f.useEffect(()=>{d?h(new X.TranslatableError("ai.errors.chatUnavailable")):m&&h(new X.TranslatableError("ai.errors.fetchHistory"))},[d,m,n]);const{mutate:b,isLoading:i}=fn(a,o),u=ft(p);return{chatId:a,history:p!=null?p:[],lastNlqResponse:u,sendMessage:b,isAwaitingResponse:i,isLoading:C,lastError:l}},mn=({contextTitle:e,contextDetails:t})=>{const{chatId:n}=He(e,t),{history:o}=Be(n);return ft(o)},yn=({contextTitle:e,contextDetails:t})=>{const{chatId:n}=He(e,t),{history:o}=Be(n);return f.useMemo(()=>{if(o!=null&&o.length){const a=o.slice().reverse().find(Oe);if(a)return JSON.parse(a.content)}return null},[o])},bn=500,vn=500,kn=500,wn=900,jn=s.newStyled("div",{target:"e1toc89x0",label:"ChatFrame"})("box-sizing:border-box;position:relative;display:flex;flex-direction:column;border:1px solid #c6c9ce;border-radius:",({theme:e})=>e.aiChat.borderRadius,";background-color:",({theme:e})=>e.aiChat.backgroundColor,";overflow:hidden;min-width:",bn,"px;min-height:",vn,"px;width:",({width:e})=>e?Ue(e):`${kn}px`,";height:",({height:e})=>e?Ue(e):`${wn}px`,";",({theme:e})=>s.css`
|
|
1
|
+
"use strict";var Ut=Object.defineProperty,_t=Object.defineProperties;var Kt=Object.getOwnPropertyDescriptors;var ge=Object.getOwnPropertySymbols;var Qe=Object.prototype.hasOwnProperty,Ve=Object.prototype.propertyIsEnumerable;var Ge=(e,t,n)=>t in e?Ut(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,j=(e,t)=>{for(var n in t||(t={}))Qe.call(t,n)&&Ge(e,n,t[n]);if(ge)for(var n of ge(t))Ve.call(t,n)&&Ge(e,n,t[n]);return e},P=(e,t)=>_t(e,Kt(t));var ve=(e,t)=>{var n={};for(var o in e)Qe.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&ge)for(var o of ge(e))t.indexOf(o)<0&&Ve.call(e,o)&&(n[o]=e[o]);return n};var G=(e,t,n)=>new Promise((o,a)=>{var d=p=>{try{h(n.next(p))}catch(C){a(C)}},l=p=>{try{h(n.throw(p))}catch(C){a(C)}},h=p=>p.done?o(p.value):Promise.resolve(p.value).then(d,l);h((n=n.apply(e,t)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./use-common-filters-DlP4xqST.cjs"),r=require("./derive-chart-family-0J_WPLDy.cjs"),f=require("react"),X=require("./execute-query-k_ytd_Rf.cjs"),ce=require("./widget-composer-DBwcb3ao.cjs"),se=require("react/jsx-runtime");function Xt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const W=Xt(f);class Jt extends s.Subscribable{constructor(t,n){super(),this.client=t,this.setOptions(n),this.bindMethods(),this.updateResult()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){var n;const o=this.options;this.options=this.client.defaultMutationOptions(t),s.shallowEqualObjects(o,this.options)||this.client.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.currentMutation,observer:this}),(n=this.currentMutation)==null||n.setOptions(this.options)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.currentMutation)==null||t.removeObserver(this)}}onMutationUpdate(t){this.updateResult();const n={listeners:!0};t.type==="success"?n.onSuccess=!0:t.type==="error"&&(n.onError=!0),this.notify(n)}getCurrentResult(){return this.currentResult}reset(){this.currentMutation=void 0,this.updateResult(),this.notify({listeners:!0})}mutate(t,n){return this.mutateOptions=n,this.currentMutation&&this.currentMutation.removeObserver(this),this.currentMutation=this.client.getMutationCache().build(this.client,P(j({},this.options),{variables:typeof t!="undefined"?t:this.options.variables})),this.currentMutation.addObserver(this),this.currentMutation.execute()}updateResult(){const t=this.currentMutation?this.currentMutation.state:s.getDefaultState(),n=t.status==="loading",o=P(j({},t),{isLoading:n,isPending:n,isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset});this.currentResult=o}notify(t){s.notifyManager.batch(()=>{if(this.mutateOptions&&this.hasListeners()){if(t.onSuccess){var n,o,a,d;(n=(o=this.mutateOptions).onSuccess)==null||n.call(o,this.currentResult.data,this.currentResult.variables,this.currentResult.context),(a=(d=this.mutateOptions).onSettled)==null||a.call(d,this.currentResult.data,null,this.currentResult.variables,this.currentResult.context)}else if(t.onError){var l,h,p,C;(l=(h=this.mutateOptions).onError)==null||l.call(h,this.currentResult.error,this.currentResult.variables,this.currentResult.context),(p=(C=this.mutateOptions).onSettled)==null||p.call(C,void 0,this.currentResult.error,this.currentResult.variables,this.currentResult.context)}}t.listeners&&this.listeners.forEach(({listener:m})=>{m(this.currentResult)})})}}function Ee(e,t,n){const o=s.parseMutationArgs(e,t),a=s.useQueryClient({context:o.context}),[d]=W.useState(()=>new Jt(a,o));W.useEffect(()=>{d.setOptions(o)},[d,o]);const l=s.useSyncExternalStore(W.useCallback(p=>d.subscribe(s.notifyManager.batchCalls(p)),[d]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),h=W.useCallback((p,C)=>{d.mutate(p,C).catch(Yt)},[d]);if(l.error&&s.shouldThrowError(d.options.useErrorBoundary,[l.error]))throw l.error;return P(j({},l),{mutate:h,mutateAsync:l.mutate})}function Yt(){}const st=f.createContext({}),en=()=>f.useContext(st),it=({children:e})=>{const[t,n]=f.useState({}),o=f.useCallback((l,h)=>{var p;return`${l}_${(p=h==null?void 0:h.dashboardId)!=null?p:""}`},[]),a=f.useCallback((l,h,p)=>{n(C=>P(j({},C),{[o(h,p)]:l}))},[o]),d=f.useCallback((l,h)=>t[o(l,h)],[t,o]);return r.jsx(st.Provider,{value:{saveChatId:a,getChatId:d},children:e})};class at{constructor(t,n=!1){this.volatile=n,this.getChatContexts=()=>G(this,null,function*(){return(yield this.httpClient.get("api/datasources//"))||[]}),this.getNlgInsights=o=>this.httpClient.post("api/v2/ai/nlg/queryResult",o),this.getQueryRecommendations=(o,a)=>this.httpClient.get(`api/v2/ai/recommendations/query/${o}/${a.numOfRecommendations}${a.userPrompt?"?userPrompt="+encodeURIComponent(a.userPrompt):""}`),this.getNlqResult=(o,a)=>this.httpClient.post(`api/v2/ai/nlq/query/${o}`,a),this.setLlmConfig=o=>this.httpClient.post("api/v2/settings/ai/llmProvider",o).catch(a=>{console.error("Unable to set llm config",a)}),this.getAllChats=()=>G(this,null,function*(){return this.volatile?[]:this.httpClient.get("api/v2/ai/chats")}),this.getChatById=o=>this.httpClient.get(`api/v2/ai/chats/${o}`),this.createChat=(o,a)=>this.httpClient.post("api/v2/ai/chats",{sourceId:o,volatile:this.volatile,contextDetails:a}),this.postChat=(o,a)=>this.httpClient.post(`api/v2/ai/chats/${o}`,a),this.deleteChatHistory=o=>this.httpClient.delete(`api/v2/ai/chats/${o}/history`),this.sendFeedback=o=>this.httpClient.post("api/v2/ai/feedback",o),this.ai={getNlgInsights:this.getNlgInsights,getNlqResult:this.getNlqResult,getQueryRecommendations:this.getQueryRecommendations,setLlmConfig:this.setLlmConfig,sendFeedback:this.sendFeedback,chat:{getAll:this.getAllChats,getById:this.getChatById,create:this.createChat,post:this.postChat,clearHistory:this.deleteChatHistory}},this.httpClient=t}}const tn=new s.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1,refetchOnMount:!1}}}),Ie=f.createContext(void 0),Z=()=>f.useContext(Ie),nn=({children:e,volatile:t})=>{const{app:n}=s.useSisenseContext(),o=f.useMemo(()=>n?new at(n.httpClient,t):void 0,[n,t]);return r.jsx(Ie.Provider,{value:o,children:r.jsx(s.QueryClientProvider,{client:tn,children:e})})};function rn({children:e,volatile:t}){return r.jsx(it,{children:r.jsx(nn,{volatile:t,children:e})})}function lt(e){var t,n;if("jaql"in e)return e;{const o=X.convertJaqlDataSource(e.dataSource),{filters:a=[],relations:d}=X.getFilterListAndRelationsJaql(e.filters),{metadata:l,filterRelations:h}=X.getJaqlQueryPayload({dataSource:e.dataSource,attributes:(t=e.dimensions)!=null?t:[],measures:(n=e.measures)!=null?n:[],filters:a,filterRelations:d,highlights:[]},!0),p={jaql:{datasource:o,metadata:l,filterRelations:h}};return e.verbosity&&(p.verbosity=e.verbosity),p}}const me=(e,t=!0)=>{const n=f.useMemo(()=>lt(e),[e]),o=Z(),{data:a,error:d,isError:l,isLoading:h,isSuccess:p,refetch:C}=s.useQuery({queryKey:["getNlgInsights",n,o],queryFn:()=>o==null?void 0:o.ai.getNlgInsights(n),select:m=>{var b;return(b=m==null?void 0:m.data)==null?void 0:b.answer},enabled:!!o&&t});return{isLoading:h,isError:l,isSuccess:p,data:a,error:d,refetch:f.useCallback(()=>{C()},[C])}},on=e=>{const o=e,{enabled:t}=o,n=ve(o,["enabled"]);return me(n,t)},sn=s.withTracking("useGetNlgInsights")(on),ct=["indicator","column","line","table","pie","bar"];function Fe(e){const{dataSource:t,query:n,chartTypes:o}=e;return{contextTitle:typeof t=="string"?t:t.title,request:{text:n,timezone:"UTC",chartTypes:o!=null?o:[...ct]}}}function dt(e,t){return G(this,null,function*(){const{contextTitle:n,request:o}=Fe(e),a=yield t.ai.getNlqResult(n,o);return{widgetProps:a?ce.toWidgetProps(a,{useCustomizedStyleOptions:e.enableAxisTitlesInWidgetProps||!1}):void 0,nlqResult:a}})}const an=e=>{const{contextTitle:t,request:n}=Fe(e),o=Z(),a=["getNlqResult",t,n,o],{isLoading:d,isError:l,isSuccess:h,data:p,error:C,refetch:m}=s.useQuery({queryKey:a,queryFn:()=>o?dt(e,o).then(b=>b.widgetProps):Promise.reject("No API available"),enabled:!!o&&e.enabled});return{isLoading:d,isError:l,isSuccess:h,data:p,error:C,refetch:f.useCallback(()=>{m()},[m])}},ln=s.withTracking("useGetNlqResult")(an),ut=4,pt=e=>{const{contextTitle:t,count:n,enableAxisTitlesInWidgetProps:o,enabled:a,customPrompt:d}=e,l=Z(),h=n!=null?n:ut,p=(a===void 0||a===!0)&&h>0,{isLoading:C,isError:m,isSuccess:b,data:i,error:u,refetch:c}=s.useQuery({queryKey:["getQueryRecommendations",t,h,l],queryFn:()=>l==null?void 0:l.ai.getQueryRecommendations(t,j({numOfRecommendations:h},d?{userPrompt:d}:null)),enabled:!!l&&p}),x=f.useMemo(()=>i==null?void 0:i.map(g=>P(j({},g),{widgetProps:g.jaql?ce.toWidgetProps(g,{useCustomizedStyleOptions:o}):void 0})),[i,o]);return{isLoading:p?C:!1,isError:m,isSuccess:b,data:x!=null?x:void 0,error:u,refetch:f.useCallback(()=>{c()},[c])}},cn=s.withTracking("useGetQueryRecommendations")(pt),ht=Object.freeze({enableFollowupQuestions:!1,enableHeader:!0,enableInsights:!0,numOfRecommendations:4,numOfRecentPrompts:5}),gt=f.createContext(j({},ht)),V=()=>f.useContext(gt),dn=({children:e,value:t})=>{const{t:n}=r.useTranslation(),o=Object.entries(t).reduce((a,[d,l])=>(l!==void 0&&(a[d]=l),a),P(j({},ht),{inputPromptText:n("ai.config.inputPromptText"),welcomeText:n("ai.config.welcomeText"),suggestionsWelcomeText:n("ai.config.suggestionsWelcomeText")}));return r.jsx(gt.Provider,{value:o,children:e})},Ne="chatHistory",un=e=>{const t=Z(),{hideHistory:n}=V();return s.useQuery({queryKey:[Ne,e,t],queryFn:()=>G(exports,null,function*(){if(!t||!e)return;if(n)return[];const o=yield t.ai.chat.getById(e);return o==null?void 0:o.chatHistory}),enabled:!!t&&!!e})},Ct=e=>{const t=Z(),n=s.useQueryClient();return Ee({mutationFn:()=>G(exports,null,function*(){if(!(!t||!e))return t.ai.chat.clearHistory(e)}),onError:o=>{console.error("Error when clearing history:",o)},onSettled:()=>{e&&n.setQueriesData([Ne,e],[])}})},Be=e=>{const{data:t,isLoading:n,isError:o}=un(e),{mutate:a}=Ct(e);return f.useEffect(()=>{o&&a()},[o,a]),{history:t,isLoading:n,isError:o}},pn=()=>{const e=Z(),{data:t,isLoading:n,fetchStatus:o}=s.useQuery({queryKey:["getDataTopics",e],queryFn:()=>G(exports,null,function*(){if(e)return e.getChatContexts()}),enabled:!!e});return{data:t,isLoading:n,fetchStatus:o}},hn=()=>{const e=Z(),{data:t,isLoading:n}=s.useQuery({queryKey:["getAllChats",e],queryFn:()=>e==null?void 0:e.ai.chat.getAll(),enabled:!!e});return{data:t!=null?t:[],isLoading:n}},gn=(e,t,n)=>{const o=s.useQueryClient(),a=Z(),d=Ee({mutationFn:()=>G(exports,null,function*(){if(!(!a||!e))return a.ai.chat.create(e,n)}),onSuccess:()=>o.invalidateQueries(["getAllChats"])});return f.useEffect(()=>{t&&d.isIdle&&d.mutate()},[t,d]),d},Cn=(e,t)=>{switch(e.responseType=e.responseType.toLowerCase(),e.responseType){case"nlq":return{content:JSON.stringify(e.data),role:"assistant",type:"nlq"};case"text":case"error":return{content:e.data.answer,role:"assistant"};default:throw Error(`${t}${JSON.stringify(e)}`)}},fn=(e,t)=>{const n=s.useQueryClient(),o=f.useCallback(p=>{e&&n.setQueriesData([Ne,e],C=>C&&[...C,p])},[n,e]),{t:a}=r.useTranslation(),d=Z(),{mutate:l,isLoading:h}=Ee({mutationFn:p=>G(exports,null,function*(){if(!(!d||!e))return d.ai.chat.post(e,{text:p,options:{enableFollowup:t}})}),onMutate:p=>{o({content:p,role:"user"})},onError:p=>{p instanceof Error&&(console.error("Error when sending message:",p.message),o({content:a(`ai.errors.${p.interpolationOptions.errorCode}`,{defaultValue:a("ai.errors.unexpectedChatResponse")}),role:"assistant"}))},onSuccess:p=>{if(!p)return;const C=a("ai.errors.unknownResponse");o(Cn(p,C))}});return{mutate:l,isLoading:h}},He=(e,t,n=!1)=>{var m;const{data:o,isLoading:a}=hn(),d=en(),l=d.getChatId(e,t)||((m=o.find(b=>{var i;return b.contextTitle===e&&((i=b.contextDetails)==null?void 0:i.dashboardId)===(t==null?void 0:t.dashboardId)}))==null?void 0:m.chatId),{isError:h,data:p,isSuccess:C}=gn(e,n&&!a&&!l,t);return f.useEffect(()=>{C&&p&&!l&&d.saveChatId(p.chatId,e,t)},[p,C,e,t,l,d]),{chatId:l,isLoading:a,isError:h}},ft=e=>f.useMemo(()=>{if(e!=null&&e.length){const t=e[e.length-1];if(Oe(t))return JSON.parse(t.content)}return null},[e]),Oe=e=>!!e&&"type"in e&&e.type==="nlq",xn=e=>!!e&&"type"in e&&e.type==="text",xt=(e,t)=>{const{t:n}=r.useTranslation(),{enableFollowupQuestions:o}=V(),{chatId:a,isError:d}=He(e,t,!0),[l,h]=f.useState(null),{history:p,isLoading:C,isError:m}=Be(a);f.useEffect(()=>{d?h(new X.TranslatableError("ai.errors.chatUnavailable")):m&&h(new X.TranslatableError("ai.errors.fetchHistory"))},[d,m,n]);const{mutate:b,isLoading:i}=fn(a,o),u=ft(p);return{chatId:a,history:p!=null?p:[],lastNlqResponse:u,sendMessage:b,isAwaitingResponse:i,isLoading:C,lastError:l}},mn=({contextTitle:e,contextDetails:t})=>{const{chatId:n}=He(e,t),{history:o}=Be(n);return ft(o)},yn=({contextTitle:e,contextDetails:t})=>{const{chatId:n}=He(e,t),{history:o}=Be(n);return f.useMemo(()=>{if(o!=null&&o.length){const a=o.slice().reverse().find(Oe);if(a)return JSON.parse(a.content)}return null},[o])},bn=500,vn=500,kn=500,wn=900,jn=s.newStyled("div",{target:"e1toc89x0",label:"ChatFrame"})("box-sizing:border-box;position:relative;display:flex;flex-direction:column;border:1px solid #c6c9ce;border-radius:",({theme:e})=>e.aiChat.borderRadius,";background-color:",({theme:e})=>e.aiChat.backgroundColor,";overflow:hidden;min-width:",bn,"px;min-height:",vn,"px;width:",({width:e})=>e?Ue(e):`${kn}px`,";height:",({height:e})=>e?Ue(e):`${wn}px`,";",({theme:e})=>s.css`
|
|
2
2
|
font-size: ${e.aiChat.primaryFontSize[0]};
|
|
3
3
|
line-height: ${e.aiChat.primaryFontSize[1]};
|
|
4
4
|
`," border:",({theme:e})=>e.aiChat.border===!1?"none":e.aiChat.border,";");function Ue(e){return typeof e=="number"?`${e}px`:e}function Sn({spin:e}){return r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",className:`${e?"csdk-animate-spin":""}`,children:[r.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z",fill:"#262E3D",fillOpacity:"0.3"}),r.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20 12C20 16.4183 16.4183 20 12 20C11.2844 20 10.5908 19.906 9.93078 19.7298C9.96227 19.5889 9.97888 19.4423 9.97888 19.2918C9.97888 18.1873 9.08345 17.2918 7.97888 17.2918C6.87431 17.2918 5.97888 18.1873 5.97888 19.2918C5.97888 20.3964 6.87431 21.2918 7.97888 21.2918C8.56576 21.2918 9.0936 21.0391 9.45946 20.6364C10.2652 20.8731 11.1178 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3V4C16.4183 4 20 7.58172 20 12Z",fill:"#22C3C3"})]})}function ye(){return r.jsx("div",{className:"csdk-m-auto","aria-label":"loading spinner",children:r.jsx(Sn,{spin:!0})})}const Tn=s.newStyled("div",{target:"e176zu9j0",label:"AiDisclaimerContainer"})("text-align:center;font-size:11px;line-height:18px;white-space:pre-wrap;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;box-sizing:border-box;color:",({theme:e})=>e.aiChat.secondaryTextColor,";");function Mn({theme:e}){const{t}=r.useTranslation();return r.jsxs(Tn,{theme:e,children:[r.jsx("div",{children:t("ai.disclaimer.poweredByAi")}),r.jsxs("div",{children:[" ",t("ai.disclaimer.rateRequest")]})]})}const Pn=s.newStyled("div",{target:"e1vujcck0",label:"Section"})("display:flex;flex-direction:column;row-gap:4px;"),Rn=s.newStyled("div",{target:"e1vujcck1",label:"SectionHeader"})("font-size:11px;line-height:18px;font-weight:300;color:",({theme:e})=>e.aiChat.dropup.headers.textColor,";cursor:pointer;padding:4px 12px;&:hover{background-color:",({theme:e})=>e.aiChat.dropup.headers.hover.backgroundColor,";}"),Ln=s.newStyled("div",{target:"e1vujcck2",label:"DropupItem"})("font-size:",({theme:e})=>e.aiChat.primaryFontSize[0],";line-height:",({theme:e})=>e.aiChat.primaryFontSize[1],";color:",({theme:e})=>e.aiChat.dropup.items.textColor,";cursor:pointer;padding:4px 12px;&:hover{background-color:",({theme:e})=>e.aiChat.dropup.items.hover.backgroundColor,";}");function En({title:e,items:t,onSelect:n,alwaysExpanded:o=!1}){const[a,d]=f.useState(!1),{themeSettings:l}=s.useThemeContext();return r.jsxs(Pn,{children:[r.jsx(Rn,{onClick:()=>d(h=>!h),theme:l,children:e.toUpperCase()}),(a||o)&&t.map((h,p)=>r.jsx(Ln,{onClick:()=>n(h),theme:l,children:h},p))]})}const In=s.newStyled("div",{target:"e1nxw6f60",label:"PopupContent"})("font-family:",({theme:e})=>e.typography.fontFamily,";font-size:",({theme:e})=>e.aiChat.primaryFontSize[0],";line-height:",({theme:e})=>e.aiChat.primaryFontSize[1],";background-color:",({theme:e})=>e.aiChat.dropup.backgroundColor,";border-radius:",({theme:e})=>e.aiChat.dropup.borderRadius,";box-shadow:",({theme:e})=>e.aiChat.dropup.boxShadow,";padding-top:8px;padding-bottom:8px;display:flex;flex-direction:column;row-gap:4px;"),Fn=s.newStyled("div",{target:"e1nxw6f61",label:"ErrorMessage"})("font-size:",({theme:e})=>e.aiChat.primaryFontSize[0],";line-height:",({theme:e})=>e.aiChat.primaryFontSize[1],";color:",({theme:e})=>e.aiChat.dropup.items.textColor,";padding:4px 12px;"),Me=e=>e.startsWith("/");function Nn({recentPrompts:e,suggestions:t,isLoading:n,onSelection:o,anchorEl:a,text:d,recommendationsError:l}){const p=[{title:"/recent searches",items:e,onSelect:o},{title:"/ai recommendations",items:t,onSelect:o}].filter(i=>i.title.slice(0,d.length)===d),{themeSettings:C}=s.useThemeContext(),{t:m}=r.useTranslation(),b=p.length===1;return r.jsx(s.Popper,{open:Me(d)&&p.length>0,anchorEl:a,placement:"top-start",modifiers:[{name:"offset",options:{offset:[0,4]}}],sx:{zIndex:3},children:r.jsxs(In,{style:{width:a==null?void 0:a.offsetWidth},theme:C,children:[n&&r.jsx(ye,{}),!n&&!l&&p.map(i=>r.jsx(En,P(j({},i),{alwaysExpanded:b}),i.title)),l&&r.jsx(Fn,{theme:C,children:m("ai.errors.recommendationsNotAvailable")})]})})}const Bn=500;function de({title:e,placement:t="top",children:n}){const{themeSettings:o}=s.useThemeContext();return r.jsx(s.Tooltip,{title:e,placement:t,disableInteractive:!0,componentsProps:{tooltip:{sx:{bgcolor:o.aiChat.tooltips.backgroundColor,color:o.aiChat.tooltips.textColor,paddingX:"16px",paddingY:"12px",fontSize:"13px",fontFamily:o.typography.fontFamily,fontWeight:400,borderRadius:"4px",boxShadow:o.aiChat.tooltips.boxShadow}},arrow:{sx:{color:o.aiChat.tooltips.backgroundColor}}},arrow:!0,children:n})}function Hn({theme:e}){const t=e.aiChat.icons.color;return r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"25",height:"25",viewBox:"0 0 25 25",fill:"none",children:[r.jsx("path",{d:"M21.4095 11.1195L12.5644 6.0459C12.3247 5.90841 12.0189 5.99143 11.8816 6.23128L10.764 8.18434C10.6275 8.42284 10.709 8.72678 10.9466 8.86491L19.7108 13.9614C19.9464 14.0984 20.2483 14.0215 20.3897 13.7884L21.5883 11.8125C21.734 11.5723 21.6532 11.2592 21.4095 11.1195Z",fill:t}),r.jsx("path",{d:"M18.7329 8.60735L16.1048 7.07819L19.6668 0.928042C19.8041 0.6909 20.1068 0.608502 20.3454 0.743288L22.156 1.7661C22.3992 1.90347 22.4827 2.21344 22.3414 2.45438L18.7329 8.60735Z",fill:t}),r.jsx("path",{d:"M19.8544 14.9048L10.3563 9.43067C10.2184 9.35116 10.0413 9.39515 9.95275 9.52746C7.03423 13.8862 4.07448 15.2337 3.18167 16.0938C3.09276 16.1794 3.08414 16.3141 3.1538 16.416C3.74961 17.2879 5.10497 18.4425 6.05628 19.2048C6.17328 19.2985 6.34145 19.2903 6.44961 19.1865L9.97994 15.7973L7.69329 20.1066C7.61954 20.2456 7.66674 20.4186 7.80041 20.5017C11.6152 22.8708 14.2978 24.0437 16.9604 24.4472C17.1542 24.4766 17.3191 24.3106 17.3033 24.1152C17.007 20.469 19.0807 16.6112 19.8544 14.9048Z",fill:t})]})}function On({theme:e}){return r.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:r.jsx("path",{d:"M4 14L0 10L24 0L14 24L10 20L8.47667 16.9533L19 6.4L20 4.00001L17.6099 5L7.04354 15.5218L4 14Z",fill:e.aiChat.icons.color})})}const Dn=s.newStyled("div",{target:"e1ssacaw0",label:"ChatInputContainer"})("display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;background-color:",({theme:e})=>e.aiChat.backgroundColor,";"),An=s.newStyled("button",{target:"e1ssacaw1",label:"ClearHistoryButton"})("height:34px;background-color:inherit;cursor:pointer;border:none;"),qn=s.newStyled("textarea",{target:"e1ssacaw2",label:"TextInput"})("font-size:inherit;line-height:inherit;resize:none;overflow-y:auto;box-sizing:border-box;max-height:88px;width:100%;padding-top:7px;padding-bottom:7px;padding-left:16px;padding-right:16px;margin-left:10px;margin-right:10px;border-width:1px;border-color:rgb(38 46 61 / 0.15);border-radius:0.5rem;&:focus{outline:1px solid ",({theme:e})=>e.aiChat.input.focus.outlineColor,";}font-family:inherit;color:",({theme:e})=>e.aiChat.primaryTextColor,";background-color:",({theme:e})=>e.aiChat.input.backgroundColor,";"),$n=s.newStyled("button",{target:"e1ssacaw3",label:"SendMessageButton"})("height:34px;background-color:inherit;border-style:none;color:",({theme:e})=>e.aiChat.primaryTextColor,";",({disabled:e})=>e?s.css`
|
package/dist/ai.js
CHANGED
|
@@ -35,13 +35,13 @@ var Y = (e, t, n) => new Promise((r, a) => {
|
|
|
35
35
|
}, p = (u) => u.done ? r(u.value) : Promise.resolve(u.value).then(c, s);
|
|
36
36
|
p((n = n.apply(e, t)).next());
|
|
37
37
|
});
|
|
38
|
-
import { S as wn, s as Sn, n as Lt, g as Mn, u as ve, a as Tn, b as Ln, p as Rn, Q as Rt, c as En, d as Et, e as ge, w as Ke, f as v, h as A, i as R, P as It, T as In, E as Bn, j as Nn, k as Fn, l as Hn, m as Ne, B as Pn, M as On, o as ue, q as Bt, r as $n, t as Dn, v as An, x as zn, y as Ce, z as De, F as Ct, A as f, C as qn, I as Nt, D as jn, G as Wn, H as Zn, J as xe, K as Gn, L as Vn, N as Un, O as Ft, R as Qn, U as _n } from "./use-common-filters-
|
|
39
|
-
import { j as o, u as P, c as w, F as j, e as Ht, i as Ze, f as Kn, h as Xn, k as Jn, t as Yn } from "./derive-chart-family-
|
|
38
|
+
import { S as wn, s as Sn, n as Lt, g as Mn, u as ve, a as Tn, b as Ln, p as Rn, Q as Rt, c as En, d as Et, e as ge, w as Ke, f as v, h as A, i as R, P as It, T as In, E as Bn, j as Nn, k as Fn, l as Hn, m as Ne, B as Pn, M as On, o as ue, q as Bt, r as $n, t as Dn, v as An, x as zn, y as Ce, z as De, F as Ct, A as f, C as qn, I as Nt, D as jn, G as Wn, H as Zn, J as xe, K as Gn, L as Vn, N as Un, O as Ft, R as Qn, U as _n } from "./use-common-filters-8MsC7-0N.js";
|
|
39
|
+
import { j as o, u as P, c as w, F as j, e as Ht, i as Ze, f as Kn, h as Xn, k as Jn, t as Yn } from "./derive-chart-family-DHOhho50.js";
|
|
40
40
|
import * as X from "react";
|
|
41
41
|
import { useState as $, useCallback as H, createContext as Xe, useContext as Je, useMemo as z, useEffect as ke, useRef as pe, useLayoutEffect as Ie, forwardRef as er, memo as tr } from "react";
|
|
42
|
-
import { w as nr, x as rr, y as or, T as Ge, t as ir, z as ar } from "./execute-query-
|
|
43
|
-
import { t as Fe } from "./widget-composer-
|
|
44
|
-
import { w as ea } from "./widget-composer-
|
|
42
|
+
import { w as nr, x as rr, y as or, T as Ge, t as ir, z as ar } from "./execute-query-D1JOjJ8n.js";
|
|
43
|
+
import { t as Fe } from "./widget-composer-D-ktDgUE.js";
|
|
44
|
+
import { w as ea } from "./widget-composer-D-ktDgUE.js";
|
|
45
45
|
import { jsx as fe } from "react/jsx-runtime";
|
|
46
46
|
class sr extends wn {
|
|
47
47
|
constructor(t, n) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Ie=Object.defineProperty,_e=Object.defineProperties;var Le=Object.getOwnPropertyDescriptors;var le=Object.getOwnPropertySymbols;var Ve=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable;var ce=(e,r,t)=>r in e?Ie(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,F=(e,r)=>{for(var t in r||(r={}))Ve.call(r,t)&&ce(e,t,r[t]);if(le)for(var t of le(r))Ue.call(r,t)&&ce(e,t,r[t]);return e},w=(e,r)=>_e(e,Le(r));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("../types-D1qM-ltg.cjs"),u=require("../execute-query-CNt566O5.cjs"),J=require("../dimensions-CdNGgk9I.cjs");class Je{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(r,t){this.keyToValue.set(r,t),this.valueToKey.set(t,r)}getByKey(r){return this.keyToValue.get(r)}getByValue(r){return this.valueToKey.get(r)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}}class ge{constructor(r){this.generateIdentifier=r,this.kv=new Je}register(r,t){this.kv.getByValue(r)||(t||(t=this.generateIdentifier(r)),this.kv.set(t,r))}clear(){this.kv.clear()}getIdentifier(r){return this.kv.getByValue(r)}getValue(r){return this.kv.getByKey(r)}}class Qe extends ge{constructor(){super(r=>r.name),this.classToAllowedProps=new Map}register(r,t){typeof t=="object"?(t.allowProps&&this.classToAllowedProps.set(r,t.allowProps),super.register(r,t.identifier)):super.register(r,t)}getAllowedProps(r){return this.classToAllowedProps.get(r)}}function We(e){if("values"in Object)return Object.values(e);const r=[];for(const t in e)e.hasOwnProperty(t)&&r.push(e[t]);return r}function je(e,r){const t=We(e);if("find"in t)return t.find(r);const i=t;for(let s=0;s<i.length;s++){const a=i[s];if(r(a))return a}}function O(e,r){Object.entries(e).forEach(([t,i])=>r(i,t))}function U(e,r){return e.indexOf(r)!==-1}function fe(e,r){for(let t=0;t<e.length;t++){const i=e[t];if(r(i))return i}}class Ke{constructor(){this.transfomers={}}register(r){this.transfomers[r.name]=r}findApplicable(r){return je(this.transfomers,t=>t.isApplicable(r))}findByName(r){return this.transfomers[r]}}const Ye=e=>Object.prototype.toString.call(e).slice(8,-1),be=e=>typeof e=="undefined",He=e=>e===null,I=e=>typeof e!="object"||e===null||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype,G=e=>I(e)&&Object.keys(e).length===0,M=e=>Array.isArray(e),Xe=e=>typeof e=="string",Ge=e=>typeof e=="number"&&!isNaN(e),Ze=e=>typeof e=="boolean",ve=e=>e instanceof RegExp,_=e=>e instanceof Map,L=e=>e instanceof Set,he=e=>Ye(e)==="Symbol",er=e=>e instanceof Date&&!isNaN(e.valueOf()),rr=e=>e instanceof Error,de=e=>typeof e=="number"&&isNaN(e),tr=e=>Ze(e)||He(e)||be(e)||Ge(e)||Xe(e)||he(e),ir=e=>typeof e=="bigint",sr=e=>e===1/0||e===-1/0,nr=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),ar=e=>e instanceof URL,Fe=e=>e.replace(/\./g,"\\."),Y=e=>e.map(String).map(Fe).join("."),k=e=>{const r=[];let t="";for(let s=0;s<e.length;s++){let a=e.charAt(s);if(a==="\\"&&e.charAt(s+1)==="."){t+=".",s++;continue}if(a==="."){r.push(t),t="";continue}t+=a}const i=t;return r.push(i),r};function A(e,r,t,i){return{isApplicable:e,annotation:r,transform:t,untransform:i}}const qe=[A(be,"undefined",()=>null,()=>{}),A(ir,"bigint",e=>e.toString(),e=>typeof BigInt!="undefined"?BigInt(e):(console.error("Please add a BigInt polyfill."),e)),A(er,"Date",e=>e.toISOString(),e=>new Date(e)),A(rr,"Error",(e,r)=>{const t={name:e.name,message:e.message};return r.allowedErrorProps.forEach(i=>{t[i]=e[i]}),t},(e,r)=>{const t=new Error(e.message);return t.name=e.name,t.stack=e.stack,r.allowedErrorProps.forEach(i=>{t[i]=e[i]}),t}),A(ve,"regexp",e=>""+e,e=>{const r=e.slice(1,e.lastIndexOf("/")),t=e.slice(e.lastIndexOf("/")+1);return new RegExp(r,t)}),A(L,"set",e=>[...e.values()],e=>new Set(e)),A(_,"map",e=>[...e.entries()],e=>new Map(e)),A(e=>de(e)||sr(e),"number",e=>de(e)?"NaN":e>0?"Infinity":"-Infinity",Number),A(e=>e===0&&1/e===-1/0,"number",()=>"-0",Number),A(ar,"URL",e=>e.toString(),e=>new URL(e))];function Q(e,r,t,i){return{isApplicable:e,annotation:r,transform:t,untransform:i}}const we=Q((e,r)=>he(e)?!!r.symbolRegistry.getIdentifier(e):!1,(e,r)=>["symbol",r.symbolRegistry.getIdentifier(e)],e=>e.description,(e,r,t)=>{const i=t.symbolRegistry.getValue(r[1]);if(!i)throw new Error("Trying to deserialize unknown symbol");return i}),or=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,r)=>(e[r.name]=r,e),{}),Ee=Q(nr,e=>["typed-array",e.constructor.name],e=>[...e],(e,r)=>{const t=or[r[1]];if(!t)throw new Error("Trying to deserialize unknown typed array");return new t(e)});function Ae(e,r){return e!=null&&e.constructor?!!r.classRegistry.getIdentifier(e.constructor):!1}const Ce=Q(Ae,(e,r)=>["class",r.classRegistry.getIdentifier(e.constructor)],(e,r)=>{const t=r.classRegistry.getAllowedProps(e.constructor);if(!t)return F({},e);const i={};return t.forEach(s=>{i[s]=e[s]}),i},(e,r,t)=>{const i=t.classRegistry.getValue(r[1]);if(!i)throw new Error(`Trying to deserialize unknown class '${r[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);return Object.assign(Object.create(i.prototype),e)}),xe=Q((e,r)=>!!r.customTransformerRegistry.findApplicable(e),(e,r)=>["custom",r.customTransformerRegistry.findApplicable(e).name],(e,r)=>r.customTransformerRegistry.findApplicable(e).serialize(e),(e,r,t)=>{const i=t.customTransformerRegistry.findByName(r[1]);if(!i)throw new Error("Trying to deserialize unknown custom value");return i.deserialize(e)}),ur=[Ce,we,xe,Ee],ye=(e,r)=>{const t=fe(ur,s=>s.isApplicable(e,r));if(t)return{value:t.transform(e,r),type:t.annotation(e,r)};const i=fe(qe,s=>s.isApplicable(e,r));if(i)return{value:i.transform(e,r),type:i.annotation}},$e={};qe.forEach(e=>{$e[e.annotation]=e});const lr=(e,r,t)=>{if(M(r))switch(r[0]){case"symbol":return we.untransform(e,r,t);case"class":return Ce.untransform(e,r,t);case"custom":return xe.untransform(e,r,t);case"typed-array":return Ee.untransform(e,r,t);default:throw new Error("Unknown transformation: "+r)}else{const i=$e[r];if(!i)throw new Error("Unknown transformation: "+r);return i.untransform(e,t)}},z=(e,r)=>{if(r>e.size)throw new Error("index out of bounds");const t=e.keys();for(;r>0;)t.next(),r--;return t.next().value};function Me(e){if(U(e,"__proto__"))throw new Error("__proto__ is not allowed as a property");if(U(e,"prototype"))throw new Error("prototype is not allowed as a property");if(U(e,"constructor"))throw new Error("constructor is not allowed as a property")}const cr=(e,r)=>{Me(r);for(let t=0;t<r.length;t++){const i=r[t];if(L(e))e=z(e,+i);else if(_(e)){const s=+i,a=+r[++t]==0?"key":"value",n=z(e,s);switch(a){case"key":e=n;break;case"value":e=e.get(n);break}}else e=e[i]}return e},Z=(e,r,t)=>{if(Me(r),r.length===0)return t(e);let i=e;for(let a=0;a<r.length-1;a++){const n=r[a];if(M(i)){const o=+n;i=i[o]}else if(I(i))i=i[n];else if(L(i)){const o=+n;i=z(i,o)}else if(_(i)){if(a===r.length-2)break;const l=+n,f=+r[++a]==0?"key":"value",y=z(i,l);switch(f){case"key":i=y;break;case"value":i=i.get(y);break}}}const s=r[r.length-1];if(M(i)?i[+s]=t(i[+s]):I(i)&&(i[s]=t(i[s])),L(i)){const a=z(i,+s),n=t(a);a!==n&&(i.delete(a),i.add(n))}if(_(i)){const a=+r[r.length-2],n=z(i,a);switch(+s==0?"key":"value"){case"key":{const l=t(n);i.set(l,i.get(n)),l!==n&&i.delete(n);break}case"value":{i.set(n,t(i.get(n)));break}}}return e};function v(e,r,t=[]){if(!e)return;if(!M(e)){O(e,(a,n)=>v(a,r,[...t,...k(n)]));return}const[i,s]=e;s&&O(s,(a,n)=>{v(a,r,[...t,...k(n)])}),r(i,t)}function fr(e,r,t){return v(r,(i,s)=>{e=Z(e,s,a=>lr(a,i,t))}),e}function dr(e,r){function t(i,s){const a=cr(e,k(s));i.map(k).forEach(n=>{e=Z(e,n,()=>a)})}if(M(r)){const[i,s]=r;i.forEach(a=>{e=Z(e,k(a),()=>e)}),s&&O(s,t)}else O(r,t);return e}const yr=(e,r)=>I(e)||M(e)||_(e)||L(e)||Ae(e,r);function pr(e,r,t){const i=t.get(e);i?i.push(r):t.set(e,[r])}function mr(e,r){const t={};let i;return e.forEach(s=>{if(s.length<=1)return;r||(s=s.map(o=>o.map(String)).sort((o,l)=>o.length-l.length));const[a,...n]=s;a.length===0?i=n.map(Y):t[Y(a)]=n.map(Y)}),i?G(t)?[i]:[i,t]:G(t)?void 0:t}const De=(e,r,t,i,s=[],a=[],n=new Map)=>{var h;const o=tr(e);if(!o){pr(e,s,r);const d=n.get(e);if(d)return i?{transformedValue:null}:d}if(!yr(e,t)){const d=ye(e,t),p=d?{transformedValue:d.value,annotations:[d.type]}:{transformedValue:e};return o||n.set(e,p),p}if(U(a,e))return{transformedValue:null};const l=ye(e,t),f=(h=l==null?void 0:l.value)!=null?h:e,y=M(f)?[]:{},b={};O(f,(d,p)=>{if(p==="__proto__"||p==="constructor"||p==="prototype")throw new Error(`Detected property ${p}. This is a prototype pollution risk, please remove it from your object.`);const $=De(d,r,t,i,[...s,p],[...a,e],n);y[p]=$.transformedValue,M($.annotations)?b[p]=$.annotations:I($.annotations)&&O($.annotations,(P,T)=>{b[Fe(p)+"."+T]=P})});const m=G(b)?{transformedValue:y,annotations:l?[l.type]:void 0}:{transformedValue:y,annotations:l?[l.type,b]:b};return o||n.set(e,m),m};function Re(e){return Object.prototype.toString.call(e).slice(8,-1)}function pe(e){return Re(e)==="Array"}function gr(e){if(Re(e)!=="Object")return!1;const r=Object.getPrototypeOf(e);return!!r&&r.constructor===Object&&r===Object.prototype}function br(e,r,t,i,s){const a={}.propertyIsEnumerable.call(i,r)?"enumerable":"nonenumerable";a==="enumerable"&&(e[r]=t),s&&a==="nonenumerable"&&Object.defineProperty(e,r,{value:t,enumerable:!1,writable:!0,configurable:!0})}function ee(e,r={}){if(pe(e))return e.map(s=>ee(s,r));if(!gr(e))return e;const t=Object.getOwnPropertyNames(e),i=Object.getOwnPropertySymbols(e);return[...t,...i].reduce((s,a)=>{if(pe(r.props)&&!r.props.includes(a))return s;const n=e[a],o=ee(n,r);return br(s,a,o,e,r.nonenumerable),s},{})}class c{constructor({dedupe:r=!1}={}){this.classRegistry=new Qe,this.symbolRegistry=new ge(t=>{var i;return(i=t.description)!=null?i:""}),this.customTransformerRegistry=new Ke,this.allowedErrorProps=[],this.dedupe=r}serialize(r){const t=new Map,i=De(r,t,this,this.dedupe),s={json:i.transformedValue};i.annotations&&(s.meta=w(F({},s.meta),{values:i.annotations}));const a=mr(t,this.dedupe);return a&&(s.meta=w(F({},s.meta),{referentialEqualities:a})),s}deserialize(r){const{json:t,meta:i}=r;let s=ee(t);return i!=null&&i.values&&(s=fr(s,i.values,this)),i!=null&&i.referentialEqualities&&(s=dr(s,i.referentialEqualities)),s}stringify(r){return JSON.stringify(this.serialize(r))}parse(r){return this.deserialize(JSON.parse(r))}registerClass(r,t){this.classRegistry.register(r,t)}registerSymbol(r,t){this.symbolRegistry.register(r,t)}registerCustom(r,t){this.customTransformerRegistry.register(F({name:t},r))}allowErrorProps(...r){this.allowedErrorProps.push(...r)}}c.defaultInstance=new c;c.serialize=c.defaultInstance.serialize.bind(c.defaultInstance);c.deserialize=c.defaultInstance.deserialize.bind(c.defaultInstance);c.stringify=c.defaultInstance.stringify.bind(c.defaultInstance);c.parse=c.defaultInstance.parse.bind(c.defaultInstance);c.registerClass=c.defaultInstance.registerClass.bind(c.defaultInstance);c.registerSymbol=c.defaultInstance.registerSymbol.bind(c.defaultInstance);c.registerCustom=c.defaultInstance.registerCustom.bind(c.defaultInstance);c.allowErrorProps=c.defaultInstance.allowErrorProps.bind(c.defaultInstance);const N=e=>e===void 0?u.Sort.None:e,hr=e=>new D.JaqlElement(e.metadataItem,e.type),re=e=>new u.DimensionalAttribute(e.name,e.expression,e.type,e.description,N(e.sort),e.dataSource,e.composeCode),te=e=>new u.DimensionalLevelAttribute(e.name,e.expression,e.granularity,e.format,e.description,N(e.sort),e.dataSource,e.composeCode),q=e=>{switch(e.__serializable){case"DimensionalAttribute":return re(e);case"DimensionalLevelAttribute":return te(e);default:return e}},Se=e=>new J.DimensionalDimension(e.name,e.expression,e.attributes.map(q),e.dimensions.map(Fr),e.type,e.description,N(e.sort),e.dataSource,e.composeCode,e.defaultAttribute?q(e.defaultAttribute):void 0),Ne=e=>new J.DimensionalDateDimension(e.name,e.expression,e.description,N(e.sort),e.dataSource,e.composeCode),Fr=e=>{switch(e.__serializable){case"DimensionalDimension":return Se(e);case"DimensionalDateDimension":return Ne(e);default:return e}},ie=e=>new u.DimensionalBaseMeasure(e.name,q(e.attribute),e.aggregation,e.format,e.description,N(e.sort),e.dataSource,e.composeCode),se=e=>{const r=Object.fromEntries(Object.entries(e.context).map(([t,i])=>{if(i&&typeof i=="object"&&"__serializable"in i)switch(i.__serializable){case"DimensionalAttribute":return[t,re(i)];case"DimensionalLevelAttribute":return[t,te(i)];case"DimensionalBaseMeasure":return[t,ie(i)];case"DimensionalCalculatedMeasure":return[t,se(i)];default:return[t,i]}return[t,i]}));return new u.DimensionalCalculatedMeasure(e.name,e.expression,r,e.format,e.description,N(e.sort),e.dataSource,e.composeCode)},Te=e=>new u.DimensionalMeasureTemplate(e.name,q(e.attribute),e.format,e.description,N(e.sort),e.dataSource,e.composeCode),H=e=>{switch(e.__serializable){case"DimensionalBaseMeasure":return ie(e);case"DimensionalCalculatedMeasure":return se(e);case"DimensionalMeasureTemplate":return Te(e);default:return e}},g=e=>{switch(e.__serializable){case"MembersFilter":return new u.MembersFilter(q(e.attribute),e.members,e.config.backgroundFilter?w(F({},e.config),{backgroundFilter:g(e.config.backgroundFilter)}):e.config,e.composeCode);case"LogicalAttributeFilter":return new u.LogicalAttributeFilter(e.filters.map(t=>g(t)),e.operator,e.config,e.composeCode);case"CascadingFilter":return new u.CascadingFilter(e._filters.map(t=>g(t)),e.config,e.composeCode);case"ExcludeFilter":return new u.ExcludeFilter(g(e.filter),e.input?g(e.input):void 0,e.config,e.composeCode);case"MeasureFilter":return new u.MeasureFilter(q(e.attribute),H(e.measure),e.operatorA,e.valueA,e.operatorB,e.valueB,e.config,e.composeCode);case"RankingFilter":return new u.RankingFilter(q(e.attribute),H(e.measure),e.operator,e.count,e.config,e.composeCode);case"MeasureRankingFilter":return new u.MeasureRankingFilter(H(e.measure),e.operator,e.count,e.config,e.composeCode);case"NumericFilter":return new u.NumericFilter(q(e.attribute),e.operatorA,e.valueA,e.operatorB,e.valueB,e.config,e.composeCode);case"TextFilter":return new u.TextFilter(q(e.attribute),e.operatorA,e.valueA,e.config,e.composeCode);case"DateRangeFilter":{const{valueA:t,valueB:i}=e;return new u.DateRangeFilter(q(e.attribute),t,i,e.config,e.composeCode)}case"RelativeDateFilter":return new u.RelativeDateFilter(q(e.attribute),e.offset,e.count,e.operator,e.anchor,e.config,e.composeCode);case"CustomFilter":return new u.CustomFilter(q(e.attribute),e.jaqlExpression,e.config,e.composeCode);default:return e}};c.registerCustom({isApplicable:D.isJaqlElement,serialize:e=>e.serialize(),deserialize:e=>hr(e)},"JaqlElement");c.registerCustom({isApplicable:u.isDimensionalAttribute,serialize:e=>e.serialize(),deserialize:e=>re(e)},"DimensionalAttribute");c.registerCustom({isApplicable:u.isDimensionalLevelAttribute,serialize:e=>e.serialize(),deserialize:e=>te(e)},"DimensionalLevelAttribute");c.registerCustom({isApplicable:J.isDimensionalDimension,serialize:e=>e.serialize(),deserialize:e=>Se(e)},"DimensionalDimension");c.registerCustom({isApplicable:J.isDimensionalDateDimension,serialize:e=>e.serialize(),deserialize:e=>Ne(e)},"DimensionalDateDimension");c.registerCustom({isApplicable:u.isDimensionalBaseMeasure,serialize:e=>e.serialize(),deserialize:e=>ie(e)},"DimensionalBaseMeasure");c.registerCustom({isApplicable:u.isDimensionalCalculatedMeasure,serialize:e=>e.serialize(),deserialize:e=>se(e)},"DimensionalCalculatedMeasure");c.registerCustom({isApplicable:u.isDimensionalMeasureTemplate,serialize:e=>e.serialize(),deserialize:e=>Te(e)},"DimensionalMeasureTemplate");c.registerCustom({isApplicable:u.isMembersFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"MembersFilter");c.registerCustom({isApplicable:u.isLogicalAttributeFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"LogicalAttributeFilter");c.registerCustom({isApplicable:u.isCascadingFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"CascadingFilter");c.registerCustom({isApplicable:u.isExcludeFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"ExcludeFilter");c.registerCustom({isApplicable:u.isMeasureFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"MeasureFilter");c.registerCustom({isApplicable:u.isRankingFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"RankingFilter");c.registerCustom({isApplicable:u.isMeasureRankingFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"MeasureRankingFilter");c.registerCustom({isApplicable:u.isNumericFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"NumericFilter");c.registerCustom({isApplicable:u.isTextFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"TextFilter");c.registerCustom({isApplicable:u.isDateRangeFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"DateRangeFilter");c.registerCustom({isApplicable:u.isRelativeDateFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"RelativeDateFilter");c.registerCustom({isApplicable:u.isCustomFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"CustomFilter");const qr=c,B="DM.";function x(e){return typeof e=="object"&&e!==null&&"function"in e&&"args"in e}function ne(e){return e.every(x)}function W(e){return"attribute"in e&&"config"in e}function V(e){return"left"in e&&"right"in e&&"operator"in e}function ze(e){return!W(e)&&!V(e)}function wr(e){return e.every(r=>typeof r=="string")}function Er(e){const r=e.split(".");if(r.length<3||`${r[0]}.`!==B)throw new Error(`Invalid attribute name format: "${e}". Expected format: "${B}TableName.ColumnName[.Level]"`);const t=r[1],i=r[2];let s;return r.length===4&&(s=r[3]),{tableName:t,columnName:i,level:s}}function Ar(e,r){const{tableName:t,columnName:i,level:s}=Er(e),a=r.find(o=>o.name===t);if(!a)throw new Error(`Table "${t}" not found in the data model`);const n=a.columns.find(o=>o.name===i);if(!n)throw new Error(`Column "${i}" not found in table "${t}"`);if(s){if(!u.isDatetime(n.dataType))throw new Error(`Invalid date level "${s}" in attribute "${e}". Column "${t}.${i}" is not a datetime column`);const o=u.DateLevels.all;if(!o.includes(s))throw new Error(`Invalid date level "${s}" in attribute "${e}". Valid levels are: ${o.join(", ")}`);const l=u.DateLevels.dateOnly;if(n.dataType==="date"&&!l.includes(s))throw new Error(`Invalid level "${s}" in attribute "${e}". Column "${t}.${i}" is only a date column, not a datetime column`);const f=u.DateLevels.timeOnly;if(n.dataType==="time"&&!f.includes(s))throw new Error(`Invalid level "${s}" in attribute "${e}". Column "${t}.${i}" is only a time column, not a date column`)}return{field:n,level:s}}function Oe(e){return e.type===u.MetadataTypes.TextAttribute}function Be(e){return e.type===u.MetadataTypes.NumericAttribute}function Cr(e){return e.type===u.MetadataTypes.DateLevel}function xr(e){return Oe(e)||Be(e)}function j(e){return e.type===u.MetadataTypes.TextAttribute?"text":e.type===u.MetadataTypes.NumericAttribute?"numeric":e.type===u.MetadataTypes.DateLevel?"date/datetime":"unknown"}function ae(e,r,t){const{field:i,level:s}=Ar(e,t);return u.createAttributeHelper({expression:i.expression,dataType:i.dataType,granularity:s,format:void 0,sort:void 0,dataSource:r})}const $r=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context;if(!r)return{success:!0,data:[]};if(!wr(r))return{success:!1,errors:[{category:"dimensions",index:-1,input:r,message:"Invalid dimensions JSON. Expected an array of strings."}]};const s=[],a=[];return r.forEach((n,o)=>{const l={category:"dimensions",index:o,input:n};try{const f=ae(n,t,i);s.push(f)}catch(f){const y=f instanceof Error?f.message:"Unknown error";a.push(w(F({},l),{message:y}))}}),a.length>0?{success:!1,errors:a}:{success:!0,data:s}};function oe(e,r){const t=Reflect.get(e,r);if(typeof t!="function")throw new Error(`Function "${r}" not found or is not a function`);return t}function Mr(e,r){const t=e.replace("measureFactory.",""),s=oe(u.measureFactory,t)(...r);if(!ze(s))throw new Error(`Function "${e}" did not return a valid Measure`);return s}function Dr(e,r){const t=e.replace("filterFactory.logic.",""),s=oe(u.logic,t)(...r);if(!V(s))throw new Error(`Function "${e}" did not return a valid FilterRelations`);return s}function Rr(e,r){if(e.startsWith("filterFactory.logic."))return Dr(e,r);const t=e.replace("filterFactory.",""),s=oe(u.filterFactory,t)(...r);if(!W(s)&&!V(s))throw new Error(`Function "${e}" did not return a valid Filter or FilterRelations`);return s}function Sr(e,r){const i=e.split(".")[0];if(i==="measureFactory")return Mr(e,r);if(i==="filterFactory")return Rr(e,r);throw new Error(`Unsupported factory: "${i}". Supported factories: measureFactory, filterFactory`)}const Nr=/\[([a-zA-Z_][a-zA-Z0-9_.-]*)\]/g;function Tr(e,r,t={}){const{warnUnusedContext:i=!0,errorOnUnusedContext:s=!0,allowEmptyFormula:a=!1,errorPrefix:n="customFormula validation"}=t,o={isValid:!0,errors:[],warnings:[],references:[],unusedContextKeys:[]};if(!e||e.trim().length===0)return a||(o.errors.push(`${n}args[1]: Formula cannot be empty`),o.isValid=!1),o;const l=Object.keys(r);if(l.length===0)return o.errors.push(`${n}args[2]: Context cannot be empty - custom formulas require context definitions`),o.isValid=!1,o;const f=Nr,y=new Set;let b;for(;(b=f.exec(e))!==null;){const h=b[1];y.add(h)}o.references=Array.from(y),o.references.length===0&&o.warnings.push(`${n}args[1]: No bracket references found in formula - ensure this is intentional`);const m=[];for(const h of o.references)l.includes(h)||m.push(h);if(m.length>0&&(o.isValid=!1,m.length===1?o.errors.push(`${n}args[1]: Reference [${m[0]}] not found in context. Available keys: ${l.join(", ")}`):o.errors.push(`${n}args[1]: References [${m.join("], [")}] not found in context. Available keys: ${l.join(", ")}`)),(i||s)&&l.length>0){const h=l.filter(d=>!o.references.includes(d));if(o.unusedContextKeys=h,h.length>0){const d=`${n}args[2]: Context keys [${h.join(", ")}] are defined but not used in formula`;s?(o.errors.push(d),o.isValid=!1):i&&o.warnings.push(d)}}return o}function zr(e,r,t={}){const i=Tr(e,r,t);if(!i.isValid)throw new Error(i.errors.join("; "));i.warnings.length>0&&console.warn("Formula validation warnings:",i.warnings.join("; "))}function Or(e,r){if(e.length<3)throw new Error(`${r.pathPrefix}Expected at least 3 arguments for customFormula`);const t=e[1],i=e[2];zr(t,i,{errorPrefix:`${r.pathPrefix}`,errorOnUnusedContext:!0,allowEmptyFormula:!1});const s={};for(const[a,n]of Object.entries(i)){const o=`args[2].${a}`;if(x(n))s[`${a}`]=E({data:n,context:{dataSource:r.dataSource,tables:r.tables,pathPrefix:o}});else if(typeof n=="string"&&n.startsWith(B))try{s[`${a}`]=ae(n,r.dataSource,r.tables)}catch(l){const f=l instanceof Error?l.message:"Unknown error";throw new Error(`${o}: ${f}`)}else if(n&&typeof n=="object"&&"kind"in n)s[`${a}`]=n;else throw new Error(`${o}: Invalid context value for key '${a}'. Expected a function call or attribute reference (${B}...), but got: ${typeof n}`)}e[2]=s}function K(e,r){const t=e[0];if(!t||typeof t!="object"||!("type"in t))throw new Error(`${r.pathPrefix}args[0]: Expected attribute as first argument`);return t}function me(e,r){const t=K(e,r);if(!xr(t))throw new Error(`${r.pathPrefix}args[0]: Attribute must be string or numeric type, got ${j(t)} attribute`)}function R(e,r){const t=K(e,r);if(!Be(t))throw new Error(`${r.pathPrefix}args[0]: Attribute must be numeric type, got ${j(t)} attribute`)}function S(e,r){const t=K(e,r);if(!Oe(t))throw new Error(`${r.pathPrefix}args[0]: Attribute must be string type, got ${j(t)} attribute`)}function C(e,r){const t=K(e,r);if(!Cr(t))throw new Error(`${r.pathPrefix}args[0]: Attribute must be date/datetime type, got ${j(t)} attribute`)}const Br={"measureFactory.customFormula":Or,"filterFactory.equals":me,"filterFactory.doesntEqual":me,"filterFactory.greaterThan":R,"filterFactory.greaterThanOrEqual":R,"filterFactory.lessThan":R,"filterFactory.lessThanOrEqual":R,"filterFactory.between":R,"filterFactory.betweenNotEqual":R,"filterFactory.numeric":R,"filterFactory.contains":S,"filterFactory.doesntContain":S,"filterFactory.startsWith":S,"filterFactory.doesntStartWith":S,"filterFactory.endsWith":S,"filterFactory.doesntEndWith":S,"filterFactory.like":S,"filterFactory.dateFrom":C,"filterFactory.dateTo":C,"filterFactory.dateRange":C,"filterFactory.dateRelative":C,"filterFactory.dateRelativeFrom":C,"filterFactory.dateRelativeTo":C,"filterFactory.thisYear":C,"filterFactory.thisMonth":C,"filterFactory.thisQuarter":C,"filterFactory.today":C};function Pr(e){return Br[`${e}`]}const kr={"measureFactory.sum":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.average":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.avg":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.min":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.max":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.median":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.count":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.countDistinct":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.aggregate":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.constant":[{type:"number",required:!0}],"measureFactory.customFormula":[{type:"string",required:!0},{type:"string",required:!0},{type:"CustomFormulaContext",required:!0}],"measureFactory.add":[{type:"Measure | number",required:!0},{type:"Measure | number",required:!0},{type:"string",required:!1},{type:"boolean",required:!1}],"measureFactory.subtract":[{type:"Measure | number",required:!0},{type:"Measure | number",required:!0},{type:"string",required:!1},{type:"boolean",required:!1}],"measureFactory.multiply":[{type:"Measure | number",required:!0},{type:"Measure | number",required:!0},{type:"string",required:!1},{type:"boolean",required:!1}],"measureFactory.divide":[{type:"Measure | number",required:!0},{type:"Measure | number",required:!0},{type:"string",required:!1},{type:"boolean",required:!1}],"measureFactory.measuredValue":[{type:"Measure",required:!0},{type:"Filter[]",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.rank":[{type:"Measure",required:!0},{type:"string",required:!1},{type:"string",required:!1},{type:"string",required:!1},{type:"Attribute[]",required:!1}],"measureFactory.trend":[{type:"Measure",required:!0},{type:"string",required:!1},{type:"any",required:!1}],"measureFactory.forecast":[{type:"Measure",required:!0},{type:"string",required:!1},{type:"any",required:!1}],"measureFactory.yearToDateSum":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.quarterToDateSum":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.monthToDateSum":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.weekToDateSum":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.runningSum":[{type:"Measure",required:!0},{type:"boolean",required:!1},{type:"string",required:!1}],"measureFactory.growth":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.growthRate":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.growthPastWeek":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.growthPastMonth":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.growthPastQuarter":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.growthPastYear":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.difference":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.diffPastWeek":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.diffPastMonth":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.diffPastQuarter":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.diffPastYear":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.pastDay":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.pastWeek":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.pastMonth":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.pastQuarter":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.pastYear":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.contribution":[{type:"Measure",required:!0},{type:"string",required:!1}],"filterFactory.union":[{type:"Filter[]",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.intersection":[{type:"Filter[]",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.exclude":[{type:"Filter",required:!0},{type:"Filter",required:!1},{type:"BaseFilterConfig",required:!1}],"filterFactory.contains":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.doesntContain":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.startsWith":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.doesntStartWith":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.endsWith":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.doesntEndWith":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.like":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.equals":[{type:"Attribute",required:!0},{type:"string | number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.doesntEqual":[{type:"Attribute",required:!0},{type:"string | number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.greaterThan":[{type:"Attribute",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.greaterThanOrEqual":[{type:"Attribute",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.lessThan":[{type:"Attribute",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.lessThanOrEqual":[{type:"Attribute",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.between":[{type:"Attribute",required:!0},{type:"number",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.betweenNotEqual":[{type:"Attribute",required:!0},{type:"number",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.numeric":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"number",required:!1},{type:"string",required:!1},{type:"number",required:!1},{type:"BaseFilterConfig",required:!1}],"filterFactory.members":[{type:"Attribute",required:!0},{type:"string[]",required:!0},{type:"MembersFilterConfig",required:!1}],"filterFactory.dateFrom":[{type:"LevelAttribute",required:!0},{type:"Date | string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.dateTo":[{type:"LevelAttribute",required:!0},{type:"Date | string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.dateRange":[{type:"LevelAttribute",required:!0},{type:"Date | string",required:!0},{type:"Date | string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.dateRelative":[{type:"LevelAttribute",required:!0},{type:"number",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.dateRelativeFrom":[{type:"LevelAttribute",required:!0},{type:"number",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.dateRelativeTo":[{type:"LevelAttribute",required:!0},{type:"number",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.thisYear":[{type:"DateDimension",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.thisMonth":[{type:"DateDimension",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.thisQuarter":[{type:"DateDimension",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.today":[{type:"DateDimension",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureEquals":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureGreaterThan":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureGreaterThanOrEqual":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureLessThan":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureLessThanOrEqual":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureBetween":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureBetweenNotEqual":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.topRanking":[{type:"Attribute",required:!0},{type:"Measure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.bottomRanking":[{type:"Attribute",required:!0},{type:"Measure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureTopRanking":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureBottomRanking":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.cascading":[{type:"Filter[]",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.logic.and":[{type:"FilterRelationsNode",required:!0},{type:"FilterRelationsNode",required:!0}],"filterFactory.logic.or":[{type:"FilterRelationsNode",required:!0},{type:"FilterRelationsNode",required:!0}]};function ue(e){return kr[`${e}`]}function Ir(e){const r=ue(e);return r?r.filter(t=>t.required).length:0}function _r(e){const r=ue(e);return r?r.length:0}function Lr(e){if(typeof e!="string")return!1;const r=Date.parse(e);if(!(!isNaN(r)&&e.length>=10))return!1;const i=new Date(e);return!isNaN(i.getTime())&&i.toISOString().startsWith(e.substring(0,10))}function X(e,r,t,i){if(e.startsWith(B))try{return ae(e,r,t)}catch(s){const a=s instanceof Error?s.message:"Unknown error";throw new Error(`${i}: ${a}`)}throw new Error(`${i}: Invalid attribute "${e}". Expected format: "${B}TableName.ColumnName[.Level]"`)}function Vr(e){const r=e.data,{argSchema:t,dataSource:i,tables:s,pathPrefix:a}=e.context,n=a;if(r===void 0){if(t.required)throw new Error(`${n}: Required argument is missing (expected ${t.type})`);return}switch(t.type){case"string":if(typeof r!="string")throw new Error(`${n}: Expected string, got ${typeof r}`);return r;case"number":if(typeof r!="number")throw new Error(`${n}: Expected number, got ${typeof r}`);return r;case"boolean":if(typeof r!="boolean")throw new Error(`${n}: Expected boolean, got ${typeof r}`);return r;case"string[]":if(!Array.isArray(r))throw new Error(`${n}: Expected array of strings, got ${typeof r}. Example: ["value1", "value2"]`);if(!r.every(o=>typeof o=="string"))throw new Error(`${n}: Expected array of strings, but contains non-string values`);return r;case"number[]":if(!Array.isArray(r))throw new Error(`${n}: Expected array of numbers, got ${typeof r}. Example: [10, 20]`);if(!r.every(o=>typeof o=="number"))throw new Error(`${n}: Expected array of numbers, but contains non-number values`);return r;case"Attribute":if(typeof r!="string")throw new Error(`${n}: Expected attribute string, got ${typeof r}. Example: "DM.Commerce.Revenue"`);return X(r,i,s,n);case"Attribute[]":if(!Array.isArray(r))throw new Error(`${n}: Expected array of attributes, got ${typeof r}. Example: ["DM.Commerce.AgeRange"]`);return r.map((o,l)=>{if(typeof o!="string")throw new Error(`${n}[${l}]: Expected attribute string, got ${typeof o}`);return X(o,i,s,`${n}[${l}]`)});case"Measure":case"BaseMeasure":if(!x(r))throw new Error(`${n}: Expected measure function call, got ${typeof r}. Example: {"function": "measureFactory.sum", "args": ["DM.Commerce.Revenue"]}`);return E({data:r,context:{dataSource:i,tables:s,pathPrefix:n}});case"Measure[]":if(!Array.isArray(r))throw new Error(`${n}: Expected array of measure function calls, got ${typeof r}`);return r.map((o,l)=>{if(!x(o))throw new Error(`${n}[${l}]: Expected measure function call, got ${typeof o}`);return E({data:o,context:{dataSource:i,tables:s,pathPrefix:`${n}[${l}]: `}})});case"Filter":if(!x(r))throw new Error(`${n}: Expected filter function call, got ${typeof r}. Example: {"function": "filterFactory.contains", "args": ["DM.Brand.Brand", "Apple"]}`);return E({data:r,context:{dataSource:i,tables:s,pathPrefix:n}});case"Filter[]":if(!Array.isArray(r))throw new Error(`${n}: Expected array of filter function calls, got ${typeof r}`);return r.map((o,l)=>{if(!x(o))throw new Error(`${n}[${l}]: Expected filter function call, got ${typeof o}`);return E({data:o,context:{dataSource:i,tables:s,pathPrefix:`${n}[${l}]: `}})});case"FilterRelationsNode":if(Array.isArray(r))return r.map((o,l)=>{if(!x(o))throw new Error(`${n}[${l}]: Expected filter function call, got ${typeof o}`);return E({data:o,context:{dataSource:i,tables:s,pathPrefix:`${n}[${l}]: `}})});if(x(r))return E({data:r,context:{dataSource:i,tables:s,pathPrefix:n}});throw new Error(`${n}: Expected filter function call or array of filters, got ${typeof r}`);case"DateDimension":case"LevelAttribute":if(typeof r!="string")throw new Error(`${n}: Expected date attribute string, got ${typeof r}. Example: "DM.Commerce.Date.Years"`);return X(r,i,s,n);case"Measure | number":if(typeof r=="number")return r;if(x(r))return E({data:r,context:{dataSource:i,tables:s,pathPrefix:n}});throw new Error(`${n}: Expected measure function call or number, got ${typeof r}`);case"Date | string":if(typeof r=="string"){if(Lr(r))return r;throw new Error(`${n}: Expected valid ISO date string or Date object, got invalid date string "${r}"`)}else{if(r instanceof Date)return r;throw new Error(`${n}: Expected date string or Date object, got ${typeof r}`)}case"string | number":if(typeof r=="string"||typeof r=="number")return r;throw new Error(`${n}: Expected string or number, got ${typeof r}`);case"BaseFilterConfig":case"MembersFilterConfig":case"CustomFormulaContext":case"any":if(r==null&&t.required)throw new Error(`${n}: Required argument is null/undefined`);return r;default:return r}}function E(e){const{data:r}=e,{dataSource:t,tables:i,pathPrefix:s}=e.context,{function:a,args:n}=r,o=s?`${s}.`:"",l=ue(a);if(!l)throw new Error(`${o}function: Unknown function "${a}"`);const f=Ir(a),y=_r(a);if(n.length<f)throw new Error(`${o}function: Expected at least ${f} arguments, got ${n.length}`);if(n.length>y)throw new Error(`${o}function: Expected at most ${y} arguments, got ${n.length}`);const b=[],m=[];for(let d=0;d<Math.max(n.length,l.length);d++){const p=l[`${d}`],$=n[`${d}`],P=o?`${o}args[${d}]`:`args[${d}]`;if($===void 0){p!=null&&p.required&&m.push(`${P}: Missing required argument (expected ${p.type})`);continue}if(!p){m.push(`${P}: Unexpected argument`);continue}try{const T=Vr({data:$,context:{dataSource:t,tables:i,pathPrefix:P,argSchema:p}});b.push(T)}catch(T){const ke=T instanceof Error?T.message:"Unknown error";m.push(ke)}}if(m.length>0){const d=m.join("; ");throw new Error(d)}const h=Pr(a);if(h)try{h(b,{dataSource:t,tables:i,pathPrefix:o})}catch(d){const p=d instanceof Error?d.message:"Unknown validation error";throw new Error(p)}return Sr(a,b)}function Pe(e){const{attribute:r,config:t}=e;if(u.isMembersFilter(e)&&u.isLevelAttribute(r)){const{granularity:i}=r;return u.members(r,e.members.map(s=>i==="Years"&&!isNaN(Number(s))?`${s}-01-01T00:00:00`:s),t)}return e}function Ur(e){let r=[];for(const t of e)V(t)?r=u.mergeFiltersOrFilterRelations(t,r):r=u.mergeFiltersOrFilterRelations([Pe(t)],r);return r!=null?r:[]}const Jr=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context,s=[],a=[];return r.forEach((n,o)=>{const l={category:"filters",index:o,input:n};try{const f=E({data:n,context:{dataSource:t,tables:i,pathPrefix:""}});!V(f)&&!W(f)?a.push(w(F({},l),{message:"Invalid filter JSON"})):s.push(f)}catch(f){const y=f instanceof Error?f.message:"Unknown error";a.push(w(F({},l),{message:y}))}}),a.length>0?{success:!1,errors:a}:{success:!0,data:Ur(s)}},Qr=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context;return r?ne(r)?Jr({data:r,context:{dataSource:t,tables:i}}):{success:!1,errors:[{category:"filters",index:-1,input:r,message:'Invalid filters JSON. Expected an array of function calls with "function" and "args" properties.'}]}:{success:!0,data:[]}},Wr=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context,s=[],a=[];return r.forEach((n,o)=>{const l={category:"highlights",index:o,input:n};try{const f=E({data:n,context:{dataSource:t,tables:i,pathPrefix:""}});W(f)?s.push(Pe(f)):a.push(w(F({},l),{message:"Invalid filter JSON"}))}catch(f){const y=f instanceof Error?f.message:"Unknown error";a.push(w(F({},l),{message:y}))}}),a.length>0?{success:!1,errors:a}:{success:!0,data:s}},jr=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context;return r?ne(r)?Wr({data:r,context:{dataSource:t,tables:i}}):{success:!1,errors:[{category:"highlights",index:-1,input:r,message:'Invalid highlights JSON. Expected an array of function calls with "function" and "args" properties.'}]}:{success:!0,data:[]}},Kr=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context,s=[],a=[];return r.forEach((n,o)=>{const l={category:"measures",index:o,input:n};try{const f=E({data:n,context:{dataSource:t,tables:i,pathPrefix:""}});ze(f)?s.push(f):a.push(w(F({},l),{message:"Invalid measure JSON"}))}catch(f){const y=f instanceof Error?f.message:"Unknown error";a.push(w(F({},l),{message:y}))}}),a.length>0?{success:!1,errors:a}:{success:!0,data:s}},Yr=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context;return r?ne(r)?Kr({data:r,context:{dataSource:t,tables:i}}):{success:!1,errors:[{category:"measures",index:-1,input:r,message:'Invalid measures JSON. Expected an array of function calls with "function" and "args" properties.'}]}:{success:!0,data:[]}},Hr=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context,s=[],a=b=>{const m=b();return m.success?m.data:(s.push(...m.errors),null)},n=a(()=>$r({data:r.dimensions||[],context:{dataSource:t,tables:i}})),o=a(()=>Yr({data:r.measures||[],context:{dataSource:t,tables:i}})),l=a(()=>Qr({data:r.filters||[],context:{dataSource:t,tables:i}}));let f=null;return r.highlights&&(f=a(()=>jr({data:r.highlights||[],context:{dataSource:t,tables:i}}))),s.length>0?{success:!1,errors:s}:{success:!0,data:F({dataSource:u.convertDataSource(t),dimensions:n||[],measures:o||[],filters:l||[]},f&&{highlights:f})}};function Xr(e){const{filters:r,relations:t}=u.getFilterListAndRelationsJaql(e.filters||[]);return{dataSource:e.dataSource,dimensions:e.dimensions,measures:e.measures,filters:r,filterRelations:t,highlights:e.highlights}}function Gr(e,r,t=!1){const i=Xr(e),s=u.prepareQueryParams(i,r);return u.getJaqlQueryPayload(s,t)}exports.EMPTY_EXPANDED_QUERY_MODEL=D.EMPTY_EXPANDED_QUERY_MODEL;exports.EMPTY_SIMPLE_QUERY_MODEL=D.EMPTY_SIMPLE_QUERY_MODEL;exports.isByIdDashboardCodeParams=D.isByIdDashboardCodeParams;exports.isByIdWidgetCodeParams=D.isByIdWidgetCodeParams;exports.isClientSideDashboardCodeParams=D.isClientSideDashboardCodeParams;exports.isClientSideWidgetCodeParams=D.isClientSideWidgetCodeParams;exports.CustomSuperJSON=qr;exports.translateQueryJSON=Hr;exports.translateQueryToJaql=Gr;
|
|
1
|
+
"use strict";var Ie=Object.defineProperty,_e=Object.defineProperties;var Le=Object.getOwnPropertyDescriptors;var le=Object.getOwnPropertySymbols;var Ve=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable;var ce=(e,r,t)=>r in e?Ie(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,F=(e,r)=>{for(var t in r||(r={}))Ve.call(r,t)&&ce(e,t,r[t]);if(le)for(var t of le(r))Ue.call(r,t)&&ce(e,t,r[t]);return e},w=(e,r)=>_e(e,Le(r));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("../types-B8jkBXCe.cjs"),u=require("../execute-query-k_ytd_Rf.cjs"),J=require("../dimensions-CtINdhqK.cjs");class Je{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(r,t){this.keyToValue.set(r,t),this.valueToKey.set(t,r)}getByKey(r){return this.keyToValue.get(r)}getByValue(r){return this.valueToKey.get(r)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}}class ge{constructor(r){this.generateIdentifier=r,this.kv=new Je}register(r,t){this.kv.getByValue(r)||(t||(t=this.generateIdentifier(r)),this.kv.set(t,r))}clear(){this.kv.clear()}getIdentifier(r){return this.kv.getByValue(r)}getValue(r){return this.kv.getByKey(r)}}class Qe extends ge{constructor(){super(r=>r.name),this.classToAllowedProps=new Map}register(r,t){typeof t=="object"?(t.allowProps&&this.classToAllowedProps.set(r,t.allowProps),super.register(r,t.identifier)):super.register(r,t)}getAllowedProps(r){return this.classToAllowedProps.get(r)}}function We(e){if("values"in Object)return Object.values(e);const r=[];for(const t in e)e.hasOwnProperty(t)&&r.push(e[t]);return r}function je(e,r){const t=We(e);if("find"in t)return t.find(r);const i=t;for(let s=0;s<i.length;s++){const a=i[s];if(r(a))return a}}function O(e,r){Object.entries(e).forEach(([t,i])=>r(i,t))}function U(e,r){return e.indexOf(r)!==-1}function fe(e,r){for(let t=0;t<e.length;t++){const i=e[t];if(r(i))return i}}class Ke{constructor(){this.transfomers={}}register(r){this.transfomers[r.name]=r}findApplicable(r){return je(this.transfomers,t=>t.isApplicable(r))}findByName(r){return this.transfomers[r]}}const Ye=e=>Object.prototype.toString.call(e).slice(8,-1),be=e=>typeof e=="undefined",He=e=>e===null,I=e=>typeof e!="object"||e===null||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype,G=e=>I(e)&&Object.keys(e).length===0,M=e=>Array.isArray(e),Xe=e=>typeof e=="string",Ge=e=>typeof e=="number"&&!isNaN(e),Ze=e=>typeof e=="boolean",ve=e=>e instanceof RegExp,_=e=>e instanceof Map,L=e=>e instanceof Set,he=e=>Ye(e)==="Symbol",er=e=>e instanceof Date&&!isNaN(e.valueOf()),rr=e=>e instanceof Error,de=e=>typeof e=="number"&&isNaN(e),tr=e=>Ze(e)||He(e)||be(e)||Ge(e)||Xe(e)||he(e),ir=e=>typeof e=="bigint",sr=e=>e===1/0||e===-1/0,nr=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),ar=e=>e instanceof URL,Fe=e=>e.replace(/\./g,"\\."),Y=e=>e.map(String).map(Fe).join("."),k=e=>{const r=[];let t="";for(let s=0;s<e.length;s++){let a=e.charAt(s);if(a==="\\"&&e.charAt(s+1)==="."){t+=".",s++;continue}if(a==="."){r.push(t),t="";continue}t+=a}const i=t;return r.push(i),r};function A(e,r,t,i){return{isApplicable:e,annotation:r,transform:t,untransform:i}}const qe=[A(be,"undefined",()=>null,()=>{}),A(ir,"bigint",e=>e.toString(),e=>typeof BigInt!="undefined"?BigInt(e):(console.error("Please add a BigInt polyfill."),e)),A(er,"Date",e=>e.toISOString(),e=>new Date(e)),A(rr,"Error",(e,r)=>{const t={name:e.name,message:e.message};return r.allowedErrorProps.forEach(i=>{t[i]=e[i]}),t},(e,r)=>{const t=new Error(e.message);return t.name=e.name,t.stack=e.stack,r.allowedErrorProps.forEach(i=>{t[i]=e[i]}),t}),A(ve,"regexp",e=>""+e,e=>{const r=e.slice(1,e.lastIndexOf("/")),t=e.slice(e.lastIndexOf("/")+1);return new RegExp(r,t)}),A(L,"set",e=>[...e.values()],e=>new Set(e)),A(_,"map",e=>[...e.entries()],e=>new Map(e)),A(e=>de(e)||sr(e),"number",e=>de(e)?"NaN":e>0?"Infinity":"-Infinity",Number),A(e=>e===0&&1/e===-1/0,"number",()=>"-0",Number),A(ar,"URL",e=>e.toString(),e=>new URL(e))];function Q(e,r,t,i){return{isApplicable:e,annotation:r,transform:t,untransform:i}}const we=Q((e,r)=>he(e)?!!r.symbolRegistry.getIdentifier(e):!1,(e,r)=>["symbol",r.symbolRegistry.getIdentifier(e)],e=>e.description,(e,r,t)=>{const i=t.symbolRegistry.getValue(r[1]);if(!i)throw new Error("Trying to deserialize unknown symbol");return i}),or=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,r)=>(e[r.name]=r,e),{}),Ee=Q(nr,e=>["typed-array",e.constructor.name],e=>[...e],(e,r)=>{const t=or[r[1]];if(!t)throw new Error("Trying to deserialize unknown typed array");return new t(e)});function Ae(e,r){return e!=null&&e.constructor?!!r.classRegistry.getIdentifier(e.constructor):!1}const Ce=Q(Ae,(e,r)=>["class",r.classRegistry.getIdentifier(e.constructor)],(e,r)=>{const t=r.classRegistry.getAllowedProps(e.constructor);if(!t)return F({},e);const i={};return t.forEach(s=>{i[s]=e[s]}),i},(e,r,t)=>{const i=t.classRegistry.getValue(r[1]);if(!i)throw new Error(`Trying to deserialize unknown class '${r[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);return Object.assign(Object.create(i.prototype),e)}),xe=Q((e,r)=>!!r.customTransformerRegistry.findApplicable(e),(e,r)=>["custom",r.customTransformerRegistry.findApplicable(e).name],(e,r)=>r.customTransformerRegistry.findApplicable(e).serialize(e),(e,r,t)=>{const i=t.customTransformerRegistry.findByName(r[1]);if(!i)throw new Error("Trying to deserialize unknown custom value");return i.deserialize(e)}),ur=[Ce,we,xe,Ee],ye=(e,r)=>{const t=fe(ur,s=>s.isApplicable(e,r));if(t)return{value:t.transform(e,r),type:t.annotation(e,r)};const i=fe(qe,s=>s.isApplicable(e,r));if(i)return{value:i.transform(e,r),type:i.annotation}},$e={};qe.forEach(e=>{$e[e.annotation]=e});const lr=(e,r,t)=>{if(M(r))switch(r[0]){case"symbol":return we.untransform(e,r,t);case"class":return Ce.untransform(e,r,t);case"custom":return xe.untransform(e,r,t);case"typed-array":return Ee.untransform(e,r,t);default:throw new Error("Unknown transformation: "+r)}else{const i=$e[r];if(!i)throw new Error("Unknown transformation: "+r);return i.untransform(e,t)}},z=(e,r)=>{if(r>e.size)throw new Error("index out of bounds");const t=e.keys();for(;r>0;)t.next(),r--;return t.next().value};function Me(e){if(U(e,"__proto__"))throw new Error("__proto__ is not allowed as a property");if(U(e,"prototype"))throw new Error("prototype is not allowed as a property");if(U(e,"constructor"))throw new Error("constructor is not allowed as a property")}const cr=(e,r)=>{Me(r);for(let t=0;t<r.length;t++){const i=r[t];if(L(e))e=z(e,+i);else if(_(e)){const s=+i,a=+r[++t]==0?"key":"value",n=z(e,s);switch(a){case"key":e=n;break;case"value":e=e.get(n);break}}else e=e[i]}return e},Z=(e,r,t)=>{if(Me(r),r.length===0)return t(e);let i=e;for(let a=0;a<r.length-1;a++){const n=r[a];if(M(i)){const o=+n;i=i[o]}else if(I(i))i=i[n];else if(L(i)){const o=+n;i=z(i,o)}else if(_(i)){if(a===r.length-2)break;const l=+n,f=+r[++a]==0?"key":"value",y=z(i,l);switch(f){case"key":i=y;break;case"value":i=i.get(y);break}}}const s=r[r.length-1];if(M(i)?i[+s]=t(i[+s]):I(i)&&(i[s]=t(i[s])),L(i)){const a=z(i,+s),n=t(a);a!==n&&(i.delete(a),i.add(n))}if(_(i)){const a=+r[r.length-2],n=z(i,a);switch(+s==0?"key":"value"){case"key":{const l=t(n);i.set(l,i.get(n)),l!==n&&i.delete(n);break}case"value":{i.set(n,t(i.get(n)));break}}}return e};function v(e,r,t=[]){if(!e)return;if(!M(e)){O(e,(a,n)=>v(a,r,[...t,...k(n)]));return}const[i,s]=e;s&&O(s,(a,n)=>{v(a,r,[...t,...k(n)])}),r(i,t)}function fr(e,r,t){return v(r,(i,s)=>{e=Z(e,s,a=>lr(a,i,t))}),e}function dr(e,r){function t(i,s){const a=cr(e,k(s));i.map(k).forEach(n=>{e=Z(e,n,()=>a)})}if(M(r)){const[i,s]=r;i.forEach(a=>{e=Z(e,k(a),()=>e)}),s&&O(s,t)}else O(r,t);return e}const yr=(e,r)=>I(e)||M(e)||_(e)||L(e)||Ae(e,r);function pr(e,r,t){const i=t.get(e);i?i.push(r):t.set(e,[r])}function mr(e,r){const t={};let i;return e.forEach(s=>{if(s.length<=1)return;r||(s=s.map(o=>o.map(String)).sort((o,l)=>o.length-l.length));const[a,...n]=s;a.length===0?i=n.map(Y):t[Y(a)]=n.map(Y)}),i?G(t)?[i]:[i,t]:G(t)?void 0:t}const De=(e,r,t,i,s=[],a=[],n=new Map)=>{var h;const o=tr(e);if(!o){pr(e,s,r);const d=n.get(e);if(d)return i?{transformedValue:null}:d}if(!yr(e,t)){const d=ye(e,t),p=d?{transformedValue:d.value,annotations:[d.type]}:{transformedValue:e};return o||n.set(e,p),p}if(U(a,e))return{transformedValue:null};const l=ye(e,t),f=(h=l==null?void 0:l.value)!=null?h:e,y=M(f)?[]:{},b={};O(f,(d,p)=>{if(p==="__proto__"||p==="constructor"||p==="prototype")throw new Error(`Detected property ${p}. This is a prototype pollution risk, please remove it from your object.`);const $=De(d,r,t,i,[...s,p],[...a,e],n);y[p]=$.transformedValue,M($.annotations)?b[p]=$.annotations:I($.annotations)&&O($.annotations,(P,T)=>{b[Fe(p)+"."+T]=P})});const m=G(b)?{transformedValue:y,annotations:l?[l.type]:void 0}:{transformedValue:y,annotations:l?[l.type,b]:b};return o||n.set(e,m),m};function Re(e){return Object.prototype.toString.call(e).slice(8,-1)}function pe(e){return Re(e)==="Array"}function gr(e){if(Re(e)!=="Object")return!1;const r=Object.getPrototypeOf(e);return!!r&&r.constructor===Object&&r===Object.prototype}function br(e,r,t,i,s){const a={}.propertyIsEnumerable.call(i,r)?"enumerable":"nonenumerable";a==="enumerable"&&(e[r]=t),s&&a==="nonenumerable"&&Object.defineProperty(e,r,{value:t,enumerable:!1,writable:!0,configurable:!0})}function ee(e,r={}){if(pe(e))return e.map(s=>ee(s,r));if(!gr(e))return e;const t=Object.getOwnPropertyNames(e),i=Object.getOwnPropertySymbols(e);return[...t,...i].reduce((s,a)=>{if(pe(r.props)&&!r.props.includes(a))return s;const n=e[a],o=ee(n,r);return br(s,a,o,e,r.nonenumerable),s},{})}class c{constructor({dedupe:r=!1}={}){this.classRegistry=new Qe,this.symbolRegistry=new ge(t=>{var i;return(i=t.description)!=null?i:""}),this.customTransformerRegistry=new Ke,this.allowedErrorProps=[],this.dedupe=r}serialize(r){const t=new Map,i=De(r,t,this,this.dedupe),s={json:i.transformedValue};i.annotations&&(s.meta=w(F({},s.meta),{values:i.annotations}));const a=mr(t,this.dedupe);return a&&(s.meta=w(F({},s.meta),{referentialEqualities:a})),s}deserialize(r){const{json:t,meta:i}=r;let s=ee(t);return i!=null&&i.values&&(s=fr(s,i.values,this)),i!=null&&i.referentialEqualities&&(s=dr(s,i.referentialEqualities)),s}stringify(r){return JSON.stringify(this.serialize(r))}parse(r){return this.deserialize(JSON.parse(r))}registerClass(r,t){this.classRegistry.register(r,t)}registerSymbol(r,t){this.symbolRegistry.register(r,t)}registerCustom(r,t){this.customTransformerRegistry.register(F({name:t},r))}allowErrorProps(...r){this.allowedErrorProps.push(...r)}}c.defaultInstance=new c;c.serialize=c.defaultInstance.serialize.bind(c.defaultInstance);c.deserialize=c.defaultInstance.deserialize.bind(c.defaultInstance);c.stringify=c.defaultInstance.stringify.bind(c.defaultInstance);c.parse=c.defaultInstance.parse.bind(c.defaultInstance);c.registerClass=c.defaultInstance.registerClass.bind(c.defaultInstance);c.registerSymbol=c.defaultInstance.registerSymbol.bind(c.defaultInstance);c.registerCustom=c.defaultInstance.registerCustom.bind(c.defaultInstance);c.allowErrorProps=c.defaultInstance.allowErrorProps.bind(c.defaultInstance);const N=e=>e===void 0?u.Sort.None:e,hr=e=>new D.JaqlElement(e.metadataItem,e.type),re=e=>new u.DimensionalAttribute(e.name,e.expression,e.type,e.description,N(e.sort),e.dataSource,e.composeCode),te=e=>new u.DimensionalLevelAttribute(e.name,e.expression,e.granularity,e.format,e.description,N(e.sort),e.dataSource,e.composeCode),q=e=>{switch(e.__serializable){case"DimensionalAttribute":return re(e);case"DimensionalLevelAttribute":return te(e);default:return e}},Se=e=>new J.DimensionalDimension(e.name,e.expression,e.attributes.map(q),e.dimensions.map(Fr),e.type,e.description,N(e.sort),e.dataSource,e.composeCode,e.defaultAttribute?q(e.defaultAttribute):void 0),Ne=e=>new J.DimensionalDateDimension(e.name,e.expression,e.description,N(e.sort),e.dataSource,e.composeCode),Fr=e=>{switch(e.__serializable){case"DimensionalDimension":return Se(e);case"DimensionalDateDimension":return Ne(e);default:return e}},ie=e=>new u.DimensionalBaseMeasure(e.name,q(e.attribute),e.aggregation,e.format,e.description,N(e.sort),e.dataSource,e.composeCode),se=e=>{const r=Object.fromEntries(Object.entries(e.context).map(([t,i])=>{if(i&&typeof i=="object"&&"__serializable"in i)switch(i.__serializable){case"DimensionalAttribute":return[t,re(i)];case"DimensionalLevelAttribute":return[t,te(i)];case"DimensionalBaseMeasure":return[t,ie(i)];case"DimensionalCalculatedMeasure":return[t,se(i)];default:return[t,i]}return[t,i]}));return new u.DimensionalCalculatedMeasure(e.name,e.expression,r,e.format,e.description,N(e.sort),e.dataSource,e.composeCode)},Te=e=>new u.DimensionalMeasureTemplate(e.name,q(e.attribute),e.format,e.description,N(e.sort),e.dataSource,e.composeCode),H=e=>{switch(e.__serializable){case"DimensionalBaseMeasure":return ie(e);case"DimensionalCalculatedMeasure":return se(e);case"DimensionalMeasureTemplate":return Te(e);default:return e}},g=e=>{switch(e.__serializable){case"MembersFilter":return new u.MembersFilter(q(e.attribute),e.members,e.config.backgroundFilter?w(F({},e.config),{backgroundFilter:g(e.config.backgroundFilter)}):e.config,e.composeCode);case"LogicalAttributeFilter":return new u.LogicalAttributeFilter(e.filters.map(t=>g(t)),e.operator,e.config,e.composeCode);case"CascadingFilter":return new u.CascadingFilter(e._filters.map(t=>g(t)),e.config,e.composeCode);case"ExcludeFilter":return new u.ExcludeFilter(g(e.filter),e.input?g(e.input):void 0,e.config,e.composeCode);case"MeasureFilter":return new u.MeasureFilter(q(e.attribute),H(e.measure),e.operatorA,e.valueA,e.operatorB,e.valueB,e.config,e.composeCode);case"RankingFilter":return new u.RankingFilter(q(e.attribute),H(e.measure),e.operator,e.count,e.config,e.composeCode);case"MeasureRankingFilter":return new u.MeasureRankingFilter(H(e.measure),e.operator,e.count,e.config,e.composeCode);case"NumericFilter":return new u.NumericFilter(q(e.attribute),e.operatorA,e.valueA,e.operatorB,e.valueB,e.config,e.composeCode);case"TextFilter":return new u.TextFilter(q(e.attribute),e.operatorA,e.valueA,e.config,e.composeCode);case"DateRangeFilter":{const{valueA:t,valueB:i}=e;return new u.DateRangeFilter(q(e.attribute),t,i,e.config,e.composeCode)}case"RelativeDateFilter":return new u.RelativeDateFilter(q(e.attribute),e.offset,e.count,e.operator,e.anchor,e.config,e.composeCode);case"CustomFilter":return new u.CustomFilter(q(e.attribute),e.jaqlExpression,e.config,e.composeCode);default:return e}};c.registerCustom({isApplicable:D.isJaqlElement,serialize:e=>e.serialize(),deserialize:e=>hr(e)},"JaqlElement");c.registerCustom({isApplicable:u.isDimensionalAttribute,serialize:e=>e.serialize(),deserialize:e=>re(e)},"DimensionalAttribute");c.registerCustom({isApplicable:u.isDimensionalLevelAttribute,serialize:e=>e.serialize(),deserialize:e=>te(e)},"DimensionalLevelAttribute");c.registerCustom({isApplicable:J.isDimensionalDimension,serialize:e=>e.serialize(),deserialize:e=>Se(e)},"DimensionalDimension");c.registerCustom({isApplicable:J.isDimensionalDateDimension,serialize:e=>e.serialize(),deserialize:e=>Ne(e)},"DimensionalDateDimension");c.registerCustom({isApplicable:u.isDimensionalBaseMeasure,serialize:e=>e.serialize(),deserialize:e=>ie(e)},"DimensionalBaseMeasure");c.registerCustom({isApplicable:u.isDimensionalCalculatedMeasure,serialize:e=>e.serialize(),deserialize:e=>se(e)},"DimensionalCalculatedMeasure");c.registerCustom({isApplicable:u.isDimensionalMeasureTemplate,serialize:e=>e.serialize(),deserialize:e=>Te(e)},"DimensionalMeasureTemplate");c.registerCustom({isApplicable:u.isMembersFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"MembersFilter");c.registerCustom({isApplicable:u.isLogicalAttributeFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"LogicalAttributeFilter");c.registerCustom({isApplicable:u.isCascadingFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"CascadingFilter");c.registerCustom({isApplicable:u.isExcludeFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"ExcludeFilter");c.registerCustom({isApplicable:u.isMeasureFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"MeasureFilter");c.registerCustom({isApplicable:u.isRankingFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"RankingFilter");c.registerCustom({isApplicable:u.isMeasureRankingFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"MeasureRankingFilter");c.registerCustom({isApplicable:u.isNumericFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"NumericFilter");c.registerCustom({isApplicable:u.isTextFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"TextFilter");c.registerCustom({isApplicable:u.isDateRangeFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"DateRangeFilter");c.registerCustom({isApplicable:u.isRelativeDateFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"RelativeDateFilter");c.registerCustom({isApplicable:u.isCustomFilter,serialize:e=>e.serialize(),deserialize:e=>g(e)},"CustomFilter");const qr=c,B="DM.";function x(e){return typeof e=="object"&&e!==null&&"function"in e&&"args"in e}function ne(e){return e.every(x)}function W(e){return"attribute"in e&&"config"in e}function V(e){return"left"in e&&"right"in e&&"operator"in e}function ze(e){return!W(e)&&!V(e)}function wr(e){return e.every(r=>typeof r=="string")}function Er(e){const r=e.split(".");if(r.length<3||`${r[0]}.`!==B)throw new Error(`Invalid attribute name format: "${e}". Expected format: "${B}TableName.ColumnName[.Level]"`);const t=r[1],i=r[2];let s;return r.length===4&&(s=r[3]),{tableName:t,columnName:i,level:s}}function Ar(e,r){const{tableName:t,columnName:i,level:s}=Er(e),a=r.find(o=>o.name===t);if(!a)throw new Error(`Table "${t}" not found in the data model`);const n=a.columns.find(o=>o.name===i);if(!n)throw new Error(`Column "${i}" not found in table "${t}"`);if(s){if(!u.isDatetime(n.dataType))throw new Error(`Invalid date level "${s}" in attribute "${e}". Column "${t}.${i}" is not a datetime column`);const o=u.DateLevels.all;if(!o.includes(s))throw new Error(`Invalid date level "${s}" in attribute "${e}". Valid levels are: ${o.join(", ")}`);const l=u.DateLevels.dateOnly;if(n.dataType==="date"&&!l.includes(s))throw new Error(`Invalid level "${s}" in attribute "${e}". Column "${t}.${i}" is only a date column, not a datetime column`);const f=u.DateLevels.timeOnly;if(n.dataType==="time"&&!f.includes(s))throw new Error(`Invalid level "${s}" in attribute "${e}". Column "${t}.${i}" is only a time column, not a date column`)}return{field:n,level:s}}function Oe(e){return e.type===u.MetadataTypes.TextAttribute}function Be(e){return e.type===u.MetadataTypes.NumericAttribute}function Cr(e){return e.type===u.MetadataTypes.DateLevel}function xr(e){return Oe(e)||Be(e)}function j(e){return e.type===u.MetadataTypes.TextAttribute?"text":e.type===u.MetadataTypes.NumericAttribute?"numeric":e.type===u.MetadataTypes.DateLevel?"date/datetime":"unknown"}function ae(e,r,t){const{field:i,level:s}=Ar(e,t);return u.createAttributeHelper({expression:i.expression,dataType:i.dataType,granularity:s,format:void 0,sort:void 0,dataSource:r})}const $r=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context;if(!r)return{success:!0,data:[]};if(!wr(r))return{success:!1,errors:[{category:"dimensions",index:-1,input:r,message:"Invalid dimensions JSON. Expected an array of strings."}]};const s=[],a=[];return r.forEach((n,o)=>{const l={category:"dimensions",index:o,input:n};try{const f=ae(n,t,i);s.push(f)}catch(f){const y=f instanceof Error?f.message:"Unknown error";a.push(w(F({},l),{message:y}))}}),a.length>0?{success:!1,errors:a}:{success:!0,data:s}};function oe(e,r){const t=Reflect.get(e,r);if(typeof t!="function")throw new Error(`Function "${r}" not found or is not a function`);return t}function Mr(e,r){const t=e.replace("measureFactory.",""),s=oe(u.measureFactory,t)(...r);if(!ze(s))throw new Error(`Function "${e}" did not return a valid Measure`);return s}function Dr(e,r){const t=e.replace("filterFactory.logic.",""),s=oe(u.logic,t)(...r);if(!V(s))throw new Error(`Function "${e}" did not return a valid FilterRelations`);return s}function Rr(e,r){if(e.startsWith("filterFactory.logic."))return Dr(e,r);const t=e.replace("filterFactory.",""),s=oe(u.filterFactory,t)(...r);if(!W(s)&&!V(s))throw new Error(`Function "${e}" did not return a valid Filter or FilterRelations`);return s}function Sr(e,r){const i=e.split(".")[0];if(i==="measureFactory")return Mr(e,r);if(i==="filterFactory")return Rr(e,r);throw new Error(`Unsupported factory: "${i}". Supported factories: measureFactory, filterFactory`)}const Nr=/\[([a-zA-Z_][a-zA-Z0-9_.-]*)\]/g;function Tr(e,r,t={}){const{warnUnusedContext:i=!0,errorOnUnusedContext:s=!0,allowEmptyFormula:a=!1,errorPrefix:n="customFormula validation"}=t,o={isValid:!0,errors:[],warnings:[],references:[],unusedContextKeys:[]};if(!e||e.trim().length===0)return a||(o.errors.push(`${n}args[1]: Formula cannot be empty`),o.isValid=!1),o;const l=Object.keys(r);if(l.length===0)return o.errors.push(`${n}args[2]: Context cannot be empty - custom formulas require context definitions`),o.isValid=!1,o;const f=Nr,y=new Set;let b;for(;(b=f.exec(e))!==null;){const h=b[1];y.add(h)}o.references=Array.from(y),o.references.length===0&&o.warnings.push(`${n}args[1]: No bracket references found in formula - ensure this is intentional`);const m=[];for(const h of o.references)l.includes(h)||m.push(h);if(m.length>0&&(o.isValid=!1,m.length===1?o.errors.push(`${n}args[1]: Reference [${m[0]}] not found in context. Available keys: ${l.join(", ")}`):o.errors.push(`${n}args[1]: References [${m.join("], [")}] not found in context. Available keys: ${l.join(", ")}`)),(i||s)&&l.length>0){const h=l.filter(d=>!o.references.includes(d));if(o.unusedContextKeys=h,h.length>0){const d=`${n}args[2]: Context keys [${h.join(", ")}] are defined but not used in formula`;s?(o.errors.push(d),o.isValid=!1):i&&o.warnings.push(d)}}return o}function zr(e,r,t={}){const i=Tr(e,r,t);if(!i.isValid)throw new Error(i.errors.join("; "));i.warnings.length>0&&console.warn("Formula validation warnings:",i.warnings.join("; "))}function Or(e,r){if(e.length<3)throw new Error(`${r.pathPrefix}Expected at least 3 arguments for customFormula`);const t=e[1],i=e[2];zr(t,i,{errorPrefix:`${r.pathPrefix}`,errorOnUnusedContext:!0,allowEmptyFormula:!1});const s={};for(const[a,n]of Object.entries(i)){const o=`args[2].${a}`;if(x(n))s[`${a}`]=E({data:n,context:{dataSource:r.dataSource,tables:r.tables,pathPrefix:o}});else if(typeof n=="string"&&n.startsWith(B))try{s[`${a}`]=ae(n,r.dataSource,r.tables)}catch(l){const f=l instanceof Error?l.message:"Unknown error";throw new Error(`${o}: ${f}`)}else if(n&&typeof n=="object"&&"kind"in n)s[`${a}`]=n;else throw new Error(`${o}: Invalid context value for key '${a}'. Expected a function call or attribute reference (${B}...), but got: ${typeof n}`)}e[2]=s}function K(e,r){const t=e[0];if(!t||typeof t!="object"||!("type"in t))throw new Error(`${r.pathPrefix}args[0]: Expected attribute as first argument`);return t}function me(e,r){const t=K(e,r);if(!xr(t))throw new Error(`${r.pathPrefix}args[0]: Attribute must be string or numeric type, got ${j(t)} attribute`)}function R(e,r){const t=K(e,r);if(!Be(t))throw new Error(`${r.pathPrefix}args[0]: Attribute must be numeric type, got ${j(t)} attribute`)}function S(e,r){const t=K(e,r);if(!Oe(t))throw new Error(`${r.pathPrefix}args[0]: Attribute must be string type, got ${j(t)} attribute`)}function C(e,r){const t=K(e,r);if(!Cr(t))throw new Error(`${r.pathPrefix}args[0]: Attribute must be date/datetime type, got ${j(t)} attribute`)}const Br={"measureFactory.customFormula":Or,"filterFactory.equals":me,"filterFactory.doesntEqual":me,"filterFactory.greaterThan":R,"filterFactory.greaterThanOrEqual":R,"filterFactory.lessThan":R,"filterFactory.lessThanOrEqual":R,"filterFactory.between":R,"filterFactory.betweenNotEqual":R,"filterFactory.numeric":R,"filterFactory.contains":S,"filterFactory.doesntContain":S,"filterFactory.startsWith":S,"filterFactory.doesntStartWith":S,"filterFactory.endsWith":S,"filterFactory.doesntEndWith":S,"filterFactory.like":S,"filterFactory.dateFrom":C,"filterFactory.dateTo":C,"filterFactory.dateRange":C,"filterFactory.dateRelative":C,"filterFactory.dateRelativeFrom":C,"filterFactory.dateRelativeTo":C,"filterFactory.thisYear":C,"filterFactory.thisMonth":C,"filterFactory.thisQuarter":C,"filterFactory.today":C};function Pr(e){return Br[`${e}`]}const kr={"measureFactory.sum":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.average":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.avg":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.min":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.max":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.median":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.count":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.countDistinct":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.aggregate":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.constant":[{type:"number",required:!0}],"measureFactory.customFormula":[{type:"string",required:!0},{type:"string",required:!0},{type:"CustomFormulaContext",required:!0}],"measureFactory.add":[{type:"Measure | number",required:!0},{type:"Measure | number",required:!0},{type:"string",required:!1},{type:"boolean",required:!1}],"measureFactory.subtract":[{type:"Measure | number",required:!0},{type:"Measure | number",required:!0},{type:"string",required:!1},{type:"boolean",required:!1}],"measureFactory.multiply":[{type:"Measure | number",required:!0},{type:"Measure | number",required:!0},{type:"string",required:!1},{type:"boolean",required:!1}],"measureFactory.divide":[{type:"Measure | number",required:!0},{type:"Measure | number",required:!0},{type:"string",required:!1},{type:"boolean",required:!1}],"measureFactory.measuredValue":[{type:"Measure",required:!0},{type:"Filter[]",required:!0},{type:"string",required:!1},{type:"string",required:!1}],"measureFactory.rank":[{type:"Measure",required:!0},{type:"string",required:!1},{type:"string",required:!1},{type:"string",required:!1},{type:"Attribute[]",required:!1}],"measureFactory.trend":[{type:"Measure",required:!0},{type:"string",required:!1},{type:"any",required:!1}],"measureFactory.forecast":[{type:"Measure",required:!0},{type:"string",required:!1},{type:"any",required:!1}],"measureFactory.yearToDateSum":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.quarterToDateSum":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.monthToDateSum":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.weekToDateSum":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.runningSum":[{type:"Measure",required:!0},{type:"boolean",required:!1},{type:"string",required:!1}],"measureFactory.growth":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.growthRate":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.growthPastWeek":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.growthPastMonth":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.growthPastQuarter":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.growthPastYear":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.difference":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.diffPastWeek":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.diffPastMonth":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.diffPastQuarter":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.diffPastYear":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.pastDay":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.pastWeek":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.pastMonth":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.pastQuarter":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.pastYear":[{type:"Measure",required:!0},{type:"string",required:!1}],"measureFactory.contribution":[{type:"Measure",required:!0},{type:"string",required:!1}],"filterFactory.union":[{type:"Filter[]",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.intersection":[{type:"Filter[]",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.exclude":[{type:"Filter",required:!0},{type:"Filter",required:!1},{type:"BaseFilterConfig",required:!1}],"filterFactory.contains":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.doesntContain":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.startsWith":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.doesntStartWith":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.endsWith":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.doesntEndWith":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.like":[{type:"Attribute",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.equals":[{type:"Attribute",required:!0},{type:"string | number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.doesntEqual":[{type:"Attribute",required:!0},{type:"string | number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.greaterThan":[{type:"Attribute",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.greaterThanOrEqual":[{type:"Attribute",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.lessThan":[{type:"Attribute",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.lessThanOrEqual":[{type:"Attribute",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.between":[{type:"Attribute",required:!0},{type:"number",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.betweenNotEqual":[{type:"Attribute",required:!0},{type:"number",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.numeric":[{type:"Attribute",required:!0},{type:"string",required:!1},{type:"number",required:!1},{type:"string",required:!1},{type:"number",required:!1},{type:"BaseFilterConfig",required:!1}],"filterFactory.members":[{type:"Attribute",required:!0},{type:"string[]",required:!0},{type:"MembersFilterConfig",required:!1}],"filterFactory.dateFrom":[{type:"LevelAttribute",required:!0},{type:"Date | string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.dateTo":[{type:"LevelAttribute",required:!0},{type:"Date | string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.dateRange":[{type:"LevelAttribute",required:!0},{type:"Date | string",required:!0},{type:"Date | string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.dateRelative":[{type:"LevelAttribute",required:!0},{type:"number",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.dateRelativeFrom":[{type:"LevelAttribute",required:!0},{type:"number",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.dateRelativeTo":[{type:"LevelAttribute",required:!0},{type:"number",required:!0},{type:"string",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.thisYear":[{type:"DateDimension",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.thisMonth":[{type:"DateDimension",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.thisQuarter":[{type:"DateDimension",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.today":[{type:"DateDimension",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureEquals":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureGreaterThan":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureGreaterThanOrEqual":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureLessThan":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureLessThanOrEqual":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureBetween":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureBetweenNotEqual":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.topRanking":[{type:"Attribute",required:!0},{type:"Measure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.bottomRanking":[{type:"Attribute",required:!0},{type:"Measure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureTopRanking":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.measureBottomRanking":[{type:"BaseMeasure",required:!0},{type:"number",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.cascading":[{type:"Filter[]",required:!0},{type:"BaseFilterConfig",required:!1}],"filterFactory.logic.and":[{type:"FilterRelationsNode",required:!0},{type:"FilterRelationsNode",required:!0}],"filterFactory.logic.or":[{type:"FilterRelationsNode",required:!0},{type:"FilterRelationsNode",required:!0}]};function ue(e){return kr[`${e}`]}function Ir(e){const r=ue(e);return r?r.filter(t=>t.required).length:0}function _r(e){const r=ue(e);return r?r.length:0}function Lr(e){if(typeof e!="string")return!1;const r=Date.parse(e);if(!(!isNaN(r)&&e.length>=10))return!1;const i=new Date(e);return!isNaN(i.getTime())&&i.toISOString().startsWith(e.substring(0,10))}function X(e,r,t,i){if(e.startsWith(B))try{return ae(e,r,t)}catch(s){const a=s instanceof Error?s.message:"Unknown error";throw new Error(`${i}: ${a}`)}throw new Error(`${i}: Invalid attribute "${e}". Expected format: "${B}TableName.ColumnName[.Level]"`)}function Vr(e){const r=e.data,{argSchema:t,dataSource:i,tables:s,pathPrefix:a}=e.context,n=a;if(r===void 0){if(t.required)throw new Error(`${n}: Required argument is missing (expected ${t.type})`);return}switch(t.type){case"string":if(typeof r!="string")throw new Error(`${n}: Expected string, got ${typeof r}`);return r;case"number":if(typeof r!="number")throw new Error(`${n}: Expected number, got ${typeof r}`);return r;case"boolean":if(typeof r!="boolean")throw new Error(`${n}: Expected boolean, got ${typeof r}`);return r;case"string[]":if(!Array.isArray(r))throw new Error(`${n}: Expected array of strings, got ${typeof r}. Example: ["value1", "value2"]`);if(!r.every(o=>typeof o=="string"))throw new Error(`${n}: Expected array of strings, but contains non-string values`);return r;case"number[]":if(!Array.isArray(r))throw new Error(`${n}: Expected array of numbers, got ${typeof r}. Example: [10, 20]`);if(!r.every(o=>typeof o=="number"))throw new Error(`${n}: Expected array of numbers, but contains non-number values`);return r;case"Attribute":if(typeof r!="string")throw new Error(`${n}: Expected attribute string, got ${typeof r}. Example: "DM.Commerce.Revenue"`);return X(r,i,s,n);case"Attribute[]":if(!Array.isArray(r))throw new Error(`${n}: Expected array of attributes, got ${typeof r}. Example: ["DM.Commerce.AgeRange"]`);return r.map((o,l)=>{if(typeof o!="string")throw new Error(`${n}[${l}]: Expected attribute string, got ${typeof o}`);return X(o,i,s,`${n}[${l}]`)});case"Measure":case"BaseMeasure":if(!x(r))throw new Error(`${n}: Expected measure function call, got ${typeof r}. Example: {"function": "measureFactory.sum", "args": ["DM.Commerce.Revenue"]}`);return E({data:r,context:{dataSource:i,tables:s,pathPrefix:n}});case"Measure[]":if(!Array.isArray(r))throw new Error(`${n}: Expected array of measure function calls, got ${typeof r}`);return r.map((o,l)=>{if(!x(o))throw new Error(`${n}[${l}]: Expected measure function call, got ${typeof o}`);return E({data:o,context:{dataSource:i,tables:s,pathPrefix:`${n}[${l}]: `}})});case"Filter":if(!x(r))throw new Error(`${n}: Expected filter function call, got ${typeof r}. Example: {"function": "filterFactory.contains", "args": ["DM.Brand.Brand", "Apple"]}`);return E({data:r,context:{dataSource:i,tables:s,pathPrefix:n}});case"Filter[]":if(!Array.isArray(r))throw new Error(`${n}: Expected array of filter function calls, got ${typeof r}`);return r.map((o,l)=>{if(!x(o))throw new Error(`${n}[${l}]: Expected filter function call, got ${typeof o}`);return E({data:o,context:{dataSource:i,tables:s,pathPrefix:`${n}[${l}]: `}})});case"FilterRelationsNode":if(Array.isArray(r))return r.map((o,l)=>{if(!x(o))throw new Error(`${n}[${l}]: Expected filter function call, got ${typeof o}`);return E({data:o,context:{dataSource:i,tables:s,pathPrefix:`${n}[${l}]: `}})});if(x(r))return E({data:r,context:{dataSource:i,tables:s,pathPrefix:n}});throw new Error(`${n}: Expected filter function call or array of filters, got ${typeof r}`);case"DateDimension":case"LevelAttribute":if(typeof r!="string")throw new Error(`${n}: Expected date attribute string, got ${typeof r}. Example: "DM.Commerce.Date.Years"`);return X(r,i,s,n);case"Measure | number":if(typeof r=="number")return r;if(x(r))return E({data:r,context:{dataSource:i,tables:s,pathPrefix:n}});throw new Error(`${n}: Expected measure function call or number, got ${typeof r}`);case"Date | string":if(typeof r=="string"){if(Lr(r))return r;throw new Error(`${n}: Expected valid ISO date string or Date object, got invalid date string "${r}"`)}else{if(r instanceof Date)return r;throw new Error(`${n}: Expected date string or Date object, got ${typeof r}`)}case"string | number":if(typeof r=="string"||typeof r=="number")return r;throw new Error(`${n}: Expected string or number, got ${typeof r}`);case"BaseFilterConfig":case"MembersFilterConfig":case"CustomFormulaContext":case"any":if(r==null&&t.required)throw new Error(`${n}: Required argument is null/undefined`);return r;default:return r}}function E(e){const{data:r}=e,{dataSource:t,tables:i,pathPrefix:s}=e.context,{function:a,args:n}=r,o=s?`${s}.`:"",l=ue(a);if(!l)throw new Error(`${o}function: Unknown function "${a}"`);const f=Ir(a),y=_r(a);if(n.length<f)throw new Error(`${o}function: Expected at least ${f} arguments, got ${n.length}`);if(n.length>y)throw new Error(`${o}function: Expected at most ${y} arguments, got ${n.length}`);const b=[],m=[];for(let d=0;d<Math.max(n.length,l.length);d++){const p=l[`${d}`],$=n[`${d}`],P=o?`${o}args[${d}]`:`args[${d}]`;if($===void 0){p!=null&&p.required&&m.push(`${P}: Missing required argument (expected ${p.type})`);continue}if(!p){m.push(`${P}: Unexpected argument`);continue}try{const T=Vr({data:$,context:{dataSource:t,tables:i,pathPrefix:P,argSchema:p}});b.push(T)}catch(T){const ke=T instanceof Error?T.message:"Unknown error";m.push(ke)}}if(m.length>0){const d=m.join("; ");throw new Error(d)}const h=Pr(a);if(h)try{h(b,{dataSource:t,tables:i,pathPrefix:o})}catch(d){const p=d instanceof Error?d.message:"Unknown validation error";throw new Error(p)}return Sr(a,b)}function Pe(e){const{attribute:r,config:t}=e;if(u.isMembersFilter(e)&&u.isLevelAttribute(r)){const{granularity:i}=r;return u.members(r,e.members.map(s=>i==="Years"&&!isNaN(Number(s))?`${s}-01-01T00:00:00`:s),t)}return e}function Ur(e){let r=[];for(const t of e)V(t)?r=u.mergeFiltersOrFilterRelations(t,r):r=u.mergeFiltersOrFilterRelations([Pe(t)],r);return r!=null?r:[]}const Jr=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context,s=[],a=[];return r.forEach((n,o)=>{const l={category:"filters",index:o,input:n};try{const f=E({data:n,context:{dataSource:t,tables:i,pathPrefix:""}});!V(f)&&!W(f)?a.push(w(F({},l),{message:"Invalid filter JSON"})):s.push(f)}catch(f){const y=f instanceof Error?f.message:"Unknown error";a.push(w(F({},l),{message:y}))}}),a.length>0?{success:!1,errors:a}:{success:!0,data:Ur(s)}},Qr=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context;return r?ne(r)?Jr({data:r,context:{dataSource:t,tables:i}}):{success:!1,errors:[{category:"filters",index:-1,input:r,message:'Invalid filters JSON. Expected an array of function calls with "function" and "args" properties.'}]}:{success:!0,data:[]}},Wr=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context,s=[],a=[];return r.forEach((n,o)=>{const l={category:"highlights",index:o,input:n};try{const f=E({data:n,context:{dataSource:t,tables:i,pathPrefix:""}});W(f)?s.push(Pe(f)):a.push(w(F({},l),{message:"Invalid filter JSON"}))}catch(f){const y=f instanceof Error?f.message:"Unknown error";a.push(w(F({},l),{message:y}))}}),a.length>0?{success:!1,errors:a}:{success:!0,data:s}},jr=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context;return r?ne(r)?Wr({data:r,context:{dataSource:t,tables:i}}):{success:!1,errors:[{category:"highlights",index:-1,input:r,message:'Invalid highlights JSON. Expected an array of function calls with "function" and "args" properties.'}]}:{success:!0,data:[]}},Kr=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context,s=[],a=[];return r.forEach((n,o)=>{const l={category:"measures",index:o,input:n};try{const f=E({data:n,context:{dataSource:t,tables:i,pathPrefix:""}});ze(f)?s.push(f):a.push(w(F({},l),{message:"Invalid measure JSON"}))}catch(f){const y=f instanceof Error?f.message:"Unknown error";a.push(w(F({},l),{message:y}))}}),a.length>0?{success:!1,errors:a}:{success:!0,data:s}},Yr=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context;return r?ne(r)?Kr({data:r,context:{dataSource:t,tables:i}}):{success:!1,errors:[{category:"measures",index:-1,input:r,message:'Invalid measures JSON. Expected an array of function calls with "function" and "args" properties.'}]}:{success:!0,data:[]}},Hr=e=>{const{data:r}=e,{dataSource:t,tables:i}=e.context,s=[],a=b=>{const m=b();return m.success?m.data:(s.push(...m.errors),null)},n=a(()=>$r({data:r.dimensions||[],context:{dataSource:t,tables:i}})),o=a(()=>Yr({data:r.measures||[],context:{dataSource:t,tables:i}})),l=a(()=>Qr({data:r.filters||[],context:{dataSource:t,tables:i}}));let f=null;return r.highlights&&(f=a(()=>jr({data:r.highlights||[],context:{dataSource:t,tables:i}}))),s.length>0?{success:!1,errors:s}:{success:!0,data:F({dataSource:u.convertDataSource(t),dimensions:n||[],measures:o||[],filters:l||[]},f&&{highlights:f})}};function Xr(e){const{filters:r,relations:t}=u.getFilterListAndRelationsJaql(e.filters||[]);return{dataSource:e.dataSource,dimensions:e.dimensions,measures:e.measures,filters:r,filterRelations:t,highlights:e.highlights}}function Gr(e,r,t=!1){const i=Xr(e),s=u.prepareQueryParams(i,r);return u.getJaqlQueryPayload(s,t)}exports.EMPTY_EXPANDED_QUERY_MODEL=D.EMPTY_EXPANDED_QUERY_MODEL;exports.EMPTY_SIMPLE_QUERY_MODEL=D.EMPTY_SIMPLE_QUERY_MODEL;exports.isByIdDashboardCodeParams=D.isByIdDashboardCodeParams;exports.isByIdWidgetCodeParams=D.isByIdWidgetCodeParams;exports.isClientSideDashboardCodeParams=D.isClientSideDashboardCodeParams;exports.isClientSideWidgetCodeParams=D.isClientSideWidgetCodeParams;exports.CustomSuperJSON=qr;exports.translateQueryJSON=Hr;exports.translateQueryToJaql=Gr;
|
|
@@ -10,10 +10,10 @@ var le = (e, r, t) => r in e ? _e(e, r, { enumerable: !0, configurable: !0, writ
|
|
|
10
10
|
Je.call(r, t) && le(e, t, r[t]);
|
|
11
11
|
return e;
|
|
12
12
|
}, q = (e, r) => Le(e, Ve(r));
|
|
13
|
-
import { f as We, J as Ke } from "../types-
|
|
14
|
-
import { b as ti, E as ii, a as si, i as ni, e as ai, d as oi } from "../types-
|
|
15
|
-
import { bW as je, bB as Qe, bX as Ye, bY as He, bZ as Xe, av as ge, b_ as Ze, au as Ge, b$ as ve, b6 as er, aw as rr, c0 as tr, b9 as ir, b7 as sr, aI as nr, b5 as ar, b8 as or, e as ur, d as lr, l as cr, c1 as fr, c2 as dr, c3 as yr, c4 as pr, c5 as mr, c6 as gr, c7 as br, c8 as hr, c9 as Fr, ca as qr, cb as wr, at as Er, cc as Ar, cd as Cr, S as xr, i as $r, s as Dr, c as j, M as z, ce as Mr, cf as Rr, cg as Sr, ch as Nr, aE as zr, am as ce, al as Or, ci as Tr, x as Br, w as Pr } from "../execute-query-
|
|
16
|
-
import { i as kr, b as Ir, D as _r, d as Lr } from "../dimensions-
|
|
13
|
+
import { f as We, J as Ke } from "../types-DZhBEm3K.js";
|
|
14
|
+
import { b as ti, E as ii, a as si, i as ni, e as ai, d as oi } from "../types-DZhBEm3K.js";
|
|
15
|
+
import { bW as je, bB as Qe, bX as Ye, bY as He, bZ as Xe, av as ge, b_ as Ze, au as Ge, b$ as ve, b6 as er, aw as rr, c0 as tr, b9 as ir, b7 as sr, aI as nr, b5 as ar, b8 as or, e as ur, d as lr, l as cr, c1 as fr, c2 as dr, c3 as yr, c4 as pr, c5 as mr, c6 as gr, c7 as br, c8 as hr, c9 as Fr, ca as qr, cb as wr, at as Er, cc as Ar, cd as Cr, S as xr, i as $r, s as Dr, c as j, M as z, ce as Mr, cf as Rr, cg as Sr, ch as Nr, aE as zr, am as ce, al as Or, ci as Tr, x as Br, w as Pr } from "../execute-query-D1JOjJ8n.js";
|
|
16
|
+
import { i as kr, b as Ir, D as _r, d as Lr } from "../dimensions-Biz7anQc.js";
|
|
17
17
|
class Vr {
|
|
18
18
|
constructor() {
|
|
19
19
|
this.keyToValue = /* @__PURE__ */ new Map(), this.valueToKey = /* @__PURE__ */ new Map();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var Ws=Object.defineProperty,Gs=Object.defineProperties;var Hs=Object.getOwnPropertyDescriptors;var ve=Object.getOwnPropertySymbols;var Ft=Object.prototype.hasOwnProperty,Rt=Object.prototype.propertyIsEnumerable;var at=(s,e)=>(e=Symbol[s])?e:Symbol.for("Symbol."+s),xs=s=>{throw TypeError(s)};var Kt=(s,e,t)=>e in s?Ws(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,U=(s,e)=>{for(var t in e||(e={}))Ft.call(e,t)&&Kt(s,t,e[t]);if(ve)for(var t of ve(e))Rt.call(e,t)&&Kt(s,t,e[t]);return s},H=(s,e)=>Gs(s,Hs(e));var Ut=(s,e)=>{var t={};for(var n in s)Ft.call(s,n)&&e.indexOf(n)<0&&(t[n]=s[n]);if(s!=null&&ve)for(var n of ve(s))e.indexOf(n)<0&&Rt.call(s,n)&&(t[n]=s[n]);return t};var ct=(s,e,t)=>new Promise((n,i)=>{var r=a=>{try{l(t.next(a))}catch(c){i(c)}},o=a=>{try{l(t.throw(a))}catch(c){i(c)}},l=a=>a.done?n(a.value):Promise.resolve(a.value).then(r,o);l((t=t.apply(s,e)).next())}),zs=function(s,e){this[0]=s,this[1]=e};var d=s=>{var e=s[at("asyncIterator")],t=!1,n,i={};return e==null?(e=s[at("iterator")](),n=r=>i[r]=o=>e[r](o)):(e=e.call(s),n=r=>i[r]=o=>{if(t){if(t=!1,r==="throw")throw o;return o}return t=!0,{done:!1,value:new zs(new Promise(l=>{var a=e[r](o);a instanceof Object||xs("Object expected"),l(a)}),1)}}),i[at("iterator")]=()=>i,n("next"),"throw"in e?n("throw"):i.throw=r=>{throw r},"return"in e&&n("return"),i};Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("./types-
|
|
1
|
+
"use strict";var Ws=Object.defineProperty,Gs=Object.defineProperties;var Hs=Object.getOwnPropertyDescriptors;var ve=Object.getOwnPropertySymbols;var Ft=Object.prototype.hasOwnProperty,Rt=Object.prototype.propertyIsEnumerable;var at=(s,e)=>(e=Symbol[s])?e:Symbol.for("Symbol."+s),xs=s=>{throw TypeError(s)};var Kt=(s,e,t)=>e in s?Ws(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,U=(s,e)=>{for(var t in e||(e={}))Ft.call(e,t)&&Kt(s,t,e[t]);if(ve)for(var t of ve(e))Rt.call(e,t)&&Kt(s,t,e[t]);return s},H=(s,e)=>Gs(s,Hs(e));var Ut=(s,e)=>{var t={};for(var n in s)Ft.call(s,n)&&e.indexOf(n)<0&&(t[n]=s[n]);if(s!=null&&ve)for(var n of ve(s))e.indexOf(n)<0&&Rt.call(s,n)&&(t[n]=s[n]);return t};var ct=(s,e,t)=>new Promise((n,i)=>{var r=a=>{try{l(t.next(a))}catch(c){i(c)}},o=a=>{try{l(t.throw(a))}catch(c){i(c)}},l=a=>a.done?n(a.value):Promise.resolve(a.value).then(r,o);l((t=t.apply(s,e)).next())}),zs=function(s,e){this[0]=s,this[1]=e};var d=s=>{var e=s[at("asyncIterator")],t=!1,n,i={};return e==null?(e=s[at("iterator")](),n=r=>i[r]=o=>e[r](o)):(e=e.call(s),n=r=>i[r]=o=>{if(t){if(t=!1,r==="throw")throw o;return o}return t=!0,{done:!1,value:new zs(new Promise(l=>{var a=e[r](o);a instanceof Object||xs("Object expected"),l(a)}),1)}}),i[at("iterator")]=()=>i,n("next"),"throw"in e?n("throw"):i.throw=r=>{throw r},"return"in e&&n("return"),i};Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("./types-B8jkBXCe.cjs"),T=require("./widget-composer-DBwcb3ao.cjs"),Ve=require("./derive-chart-family-0J_WPLDy.cjs"),Nt=require("./analytics-composer/node.cjs"),Pe=require("./execute-query-k_ytd_Rf.cjs"),Tt=Symbol.for("yaml.alias"),gt=Symbol.for("yaml.document"),x=Symbol.for("yaml.map"),ts=Symbol.for("yaml.pair"),G=Symbol.for("yaml.scalar"),ge=Symbol.for("yaml.seq"),R=Symbol.for("yaml.node.type"),re=s=>!!s&&typeof s=="object"&&s[R]===Tt,be=s=>!!s&&typeof s=="object"&&s[R]===gt,we=s=>!!s&&typeof s=="object"&&s[R]===x,C=s=>!!s&&typeof s=="object"&&s[R]===ts,A=s=>!!s&&typeof s=="object"&&s[R]===G,Se=s=>!!s&&typeof s=="object"&&s[R]===ge;function _(s){if(s&&typeof s=="object")switch(s[R]){case x:case ge:return!0}return!1}function v(s){if(s&&typeof s=="object")switch(s[R]){case Tt:case x:case G:case ge:return!0}return!1}const Xs=s=>(A(s)||_(s))&&!!s.anchor,q=Symbol("break visit"),ss=Symbol("skip children"),Q=Symbol("remove node");function z(s,e){const t=ns(e);be(s)?ce(null,s.contents,t,Object.freeze([s]))===Q&&(s.contents=null):ce(null,s,t,Object.freeze([]))}z.BREAK=q;z.SKIP=ss;z.REMOVE=Q;function ce(s,e,t,n){const i=is(s,e,t,n);if(v(i)||C(i))return rs(s,n,i),ce(s,i,t,n);if(typeof i!="symbol"){if(_(e)){n=Object.freeze(n.concat(e));for(let r=0;r<e.items.length;++r){const o=ce(r,e.items[r],t,n);if(typeof o=="number")r=o-1;else{if(o===q)return q;o===Q&&(e.items.splice(r,1),r-=1)}}}else if(C(e)){n=Object.freeze(n.concat(e));const r=ce("key",e.key,t,n);if(r===q)return q;r===Q&&(e.key=null);const o=ce("value",e.value,t,n);if(o===q)return q;o===Q&&(e.value=null)}}return i}function Ge(s,e){return ct(this,null,function*(){const t=ns(e);be(s)?(yield fe(null,s.contents,t,Object.freeze([s])))===Q&&(s.contents=null):yield fe(null,s,t,Object.freeze([]))})}Ge.BREAK=q;Ge.SKIP=ss;Ge.REMOVE=Q;function fe(s,e,t,n){return ct(this,null,function*(){const i=yield is(s,e,t,n);if(v(i)||C(i))return rs(s,n,i),fe(s,i,t,n);if(typeof i!="symbol"){if(_(e)){n=Object.freeze(n.concat(e));for(let r=0;r<e.items.length;++r){const o=yield fe(r,e.items[r],t,n);if(typeof o=="number")r=o-1;else{if(o===q)return q;o===Q&&(e.items.splice(r,1),r-=1)}}}else if(C(e)){n=Object.freeze(n.concat(e));const r=yield fe("key",e.key,t,n);if(r===q)return q;r===Q&&(e.key=null);const o=yield fe("value",e.value,t,n);if(o===q)return q;o===Q&&(e.value=null)}}return i})}function ns(s){return typeof s=="object"&&(s.Collection||s.Node||s.Value)?Object.assign({Alias:s.Node,Map:s.Node,Scalar:s.Node,Seq:s.Node},s.Value&&{Map:s.Value,Scalar:s.Value,Seq:s.Value},s.Collection&&{Map:s.Collection,Seq:s.Collection},s):s}function is(s,e,t,n){var i,r,o,l,a;if(typeof t=="function")return t(s,e,n);if(we(e))return(i=t.Map)==null?void 0:i.call(t,s,e,n);if(Se(e))return(r=t.Seq)==null?void 0:r.call(t,s,e,n);if(C(e))return(o=t.Pair)==null?void 0:o.call(t,s,e,n);if(A(e))return(l=t.Scalar)==null?void 0:l.call(t,s,e,n);if(re(e))return(a=t.Alias)==null?void 0:a.call(t,s,e,n)}function rs(s,e,t){const n=e[e.length-1];if(_(n))n.items[s]=t;else if(C(n))s==="key"?n.key=t:n.value=t;else if(be(n))n.contents=t;else{const i=re(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${i} parent`)}}const Zs={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},en=s=>s.replace(/[!,[\]{}]/g,e=>Zs[e]);class j{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},j.defaultYaml,e),this.tags=Object.assign({},j.defaultTags,t)}clone(){const e=new j(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){const e=new j(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:j.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},j.defaultTags);break}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:j.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},j.defaultTags),this.atNextDocument=!1);const n=e.trim().split(/[ \t]+/),i=n.shift();switch(i){case"%TAG":{if(n.length!==2&&(t(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;const[r,o]=n;return this.tags[r]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return t(0,"%YAML directive should contain exactly one part"),!1;const[r]=n;if(r==="1.1"||r==="1.2")return this.yaml.version=r,!0;{const o=/^\d+\.\d+$/.test(r);return t(6,`Unsupported YAML version ${r}`,o),!1}}default:return t(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e==="!")return"!";if(e[0]!=="!")return t(`Not a valid tag: ${e}`),null;if(e[1]==="<"){const o=e.slice(2,-1);return o==="!"||o==="!!"?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&t("Verbatim tags must end with a >"),o)}const[,n,i]=e.match(new RegExp("^(.*!)([^!]*)$","s"));i||t(`The ${e} tag has no suffix`);const r=this.tags[n];if(r)try{return r+decodeURIComponent(i)}catch(o){return t(String(o)),null}return n==="!"?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(const[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+en(e.substring(n.length));return e[0]==="!"?e:`!<${e}>`}toString(e){const t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags);let i;if(e&&n.length>0&&v(e.contents)){const r={};z(e.contents,(o,l)=>{v(l)&&l.tag&&(r[l.tag]=!0)}),i=Object.keys(r)}else i=[];for(const[r,o]of n)r==="!!"&&o==="tag:yaml.org,2002:"||(!e||i.some(l=>l.startsWith(o)))&&t.push(`%TAG ${r} ${o}`);return t.join(`
|
|
2
2
|
`)}}j.defaultYaml={explicit:!1,version:"1.2"};j.defaultTags={"!!":"tag:yaml.org,2002:"};function os(s){if(/[\x00-\x19\s,[\]{}]/.test(s)){const t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(s)}`;throw new Error(t)}return!0}function ls(s){const e=new Set;return z(s,{Value(t,n){n.anchor&&e.add(n.anchor)}}),e}function as(s,e){for(let t=1;;++t){const n=`${s}${t}`;if(!e.has(n))return n}}function tn(s,e){const t=[],n=new Map;let i=null;return{onAnchor:r=>{t.push(r),i||(i=ls(s));const o=as(e,i);return i.add(o),o},setAnchors:()=>{for(const r of t){const o=n.get(r);if(typeof o=="object"&&o.anchor&&(A(o.node)||_(o.node)))o.node.anchor=o.anchor;else{const l=new Error("Failed to resolve repeated object (this should not happen)");throw l.source=r,l}}},sourceObjects:n}}function ue(s,e,t,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let i=0,r=n.length;i<r;++i){const o=n[i],l=ue(s,n,String(i),o);l===void 0?delete n[i]:l!==o&&(n[i]=l)}else if(n instanceof Map)for(const i of Array.from(n.keys())){const r=n.get(i),o=ue(s,n,i,r);o===void 0?n.delete(i):o!==r&&n.set(i,o)}else if(n instanceof Set)for(const i of Array.from(n)){const r=ue(s,n,i,i);r===void 0?n.delete(i):r!==i&&(n.delete(i),n.add(r))}else for(const[i,r]of Object.entries(n)){const o=ue(s,n,i,r);o===void 0?delete n[i]:o!==r&&(n[i]=o)}return s.call(e,t,n)}function F(s,e,t){if(Array.isArray(s))return s.map((n,i)=>F(n,String(i),t));if(s&&typeof s.toJSON=="function"){if(!t||!Xs(s))return s.toJSON(e,t);const n={aliasCount:0,count:1,res:void 0};t.anchors.set(s,n),t.onCreate=r=>{n.res=r,delete t.onCreate};const i=s.toJSON(e,t);return t.onCreate&&t.onCreate(i),i}return typeof s=="bigint"&&!(t!=null&&t.keep)?Number(s):s}class Et{constructor(e){Object.defineProperty(this,R,{value:e})}clone(){const e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:i,reviver:r}={}){if(!be(e))throw new TypeError("A document argument is required");const o={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},l=F(this,"",o);if(typeof i=="function")for(const{count:a,res:c}of o.anchors.values())i(c,a);return typeof r=="function"?ue(r,{"":l},"",l):l}}class He extends Et{constructor(e){super(Tt),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e){let t;return z(e,{Node:(n,i)=>{if(i===this)return z.BREAK;i.anchor===this.source&&(t=i)}}),t}toJSON(e,t){if(!t)return{source:this.source};const{anchors:n,doc:i,maxAliasCount:r}=t,o=this.resolve(i);if(!o){const a=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(a)}let l=n.get(o);if(l||(F(o,null,t),l=n.get(o)),!l||l.res===void 0){const a="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(a)}if(r>=0&&(l.count+=1,l.aliasCount===0&&(l.aliasCount=Ke(i,o,n)),l.count*l.aliasCount>r)){const a="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(a)}return l.res}toString(e,t,n){const i=`*${this.source}`;if(e){if(os(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){const r=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(r)}if(e.implicitKey)return`${i} `}return i}}function Ke(s,e,t){if(re(e)){const n=e.resolve(s),i=t&&n&&t.get(n);return i?i.count*i.aliasCount:0}else if(_(e)){let n=0;for(const i of e.items){const r=Ke(s,i,t);r>n&&(n=r)}return n}else if(C(e)){const n=Ke(s,e.key,t),i=Ke(s,e.value,t);return Math.max(n,i)}return 1}const cs=s=>!s||typeof s!="function"&&typeof s!="object";class O extends Et{constructor(e){super(G),this.value=e}toJSON(e,t){return t!=null&&t.keep?this.value:F(this.value,e,t)}toString(){return String(this.value)}}O.BLOCK_FOLDED="BLOCK_FOLDED";O.BLOCK_LITERAL="BLOCK_LITERAL";O.PLAIN="PLAIN";O.QUOTE_DOUBLE="QUOTE_DOUBLE";O.QUOTE_SINGLE="QUOTE_SINGLE";const sn="tag:yaml.org,2002:";function nn(s,e,t){var n;if(e){const i=t.filter(o=>o.tag===e),r=(n=i.find(o=>!o.format))!=null?n:i[0];if(!r)throw new Error(`Tag ${e} not found`);return r}return t.find(i=>{var r;return((r=i.identify)==null?void 0:r.call(i,s))&&!i.format})}function Ae(s,e,t){var f,p,m;if(be(s)&&(s=s.contents),v(s))return s;if(C(s)){const y=(p=(f=t.schema[x]).createNode)==null?void 0:p.call(f,t.schema,null,t);return y.items.push(s),y}(s instanceof String||s instanceof Number||s instanceof Boolean||typeof BigInt!="undefined"&&s instanceof BigInt)&&(s=s.valueOf());const{aliasDuplicateObjects:n,onAnchor:i,onTagObj:r,schema:o,sourceObjects:l}=t;let a;if(n&&s&&typeof s=="object"){if(a=l.get(s),a)return a.anchor||(a.anchor=i(s)),new He(a.anchor);a={anchor:null,node:null},l.set(s,a)}e!=null&&e.startsWith("!!")&&(e=sn+e.slice(2));let c=nn(s,e,o.tags);if(!c){if(s&&typeof s.toJSON=="function"&&(s=s.toJSON()),!s||typeof s!="object"){const y=new O(s);return a&&(a.node=y),y}c=s instanceof Map?o[x]:Symbol.iterator in Object(s)?o[ge]:o[x]}r&&(r(c),delete t.onTagObj);const h=c!=null&&c.createNode?c.createNode(t.schema,s,t):typeof((m=c==null?void 0:c.nodeClass)==null?void 0:m.from)=="function"?c.nodeClass.from(t.schema,s,t):new O(s);return e?h.tag=e:c.default||(h.tag=c.tag),a&&(a.node=h),h}function Je(s,e,t){let n=t;for(let i=e.length-1;i>=0;--i){const r=e[i];if(typeof r=="number"&&Number.isInteger(r)&&r>=0){const o=[];o[r]=n,n=o}else n=new Map([[r,n]])}return Ae(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:s,sourceObjects:new Map})}const Ee=s=>s==null||typeof s=="object"&&!!s[Symbol.iterator]().next().done;class fs extends Et{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){const t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(n=>v(n)||C(n)?n.clone(e):n),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(Ee(e))this.add(t);else{const[n,...i]=e,r=this.get(n,!0);if(_(r))r.addIn(i,t);else if(r===void 0&&this.schema)this.set(n,Je(this.schema,i,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}deleteIn(e){const[t,...n]=e;if(n.length===0)return this.delete(t);const i=this.get(t,!0);if(_(i))return i.deleteIn(n);throw new Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){const[n,...i]=e,r=this.get(n,!0);return i.length===0?!t&&A(r)?r.value:r:_(r)?r.getIn(i,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!C(t))return!1;const n=t.value;return n==null||e&&A(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){const[t,...n]=e;if(n.length===0)return this.has(t);const i=this.get(t,!0);return _(i)?i.hasIn(n):!1}setIn(e,t){const[n,...i]=e;if(i.length===0)this.set(n,t);else{const r=this.get(n,!0);if(_(r))r.setIn(i,t);else if(r===void 0&&this.schema)this.set(n,Je(this.schema,i,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}}const rn=s=>s.replace(/^(?!$)(?: $)?/gm,"#");function Y(s,e){return/^\n+$/.test(s)?s.substring(1):e?s.replace(/^(?! *$)/gm,e):s}const te=(s,e,t)=>s.endsWith(`
|
|
3
3
|
`)?Y(t,e):t.includes(`
|
|
4
4
|
`)?`
|
|
@@ -58,13 +58,13 @@ var d = (s) => {
|
|
|
58
58
|
throw r;
|
|
59
59
|
}, "return" in e && n("return"), i;
|
|
60
60
|
};
|
|
61
|
-
import { E as Qt, a as sn } from "./types-
|
|
62
|
-
import { b as Hi, i as xi, e as zi, d as Xi } from "./types-
|
|
63
|
-
import { s as nn, c as rn, p as on, v as ln, g as an, a as Ye, b as Ot, d as Nt, e as Tt, f as It, h as Q, C as ve } from "./widget-composer-
|
|
64
|
-
import { k as er, m as tr, j as sr, l as nr, i as ir, w as rr } from "./widget-composer-
|
|
65
|
-
import { n as cn, d as fn, i as un, a as hn } from "./derive-chart-family-
|
|
61
|
+
import { E as Qt, a as sn } from "./types-DZhBEm3K.js";
|
|
62
|
+
import { b as Hi, i as xi, e as zi, d as Xi } from "./types-DZhBEm3K.js";
|
|
63
|
+
import { s as nn, c as rn, p as on, v as ln, g as an, a as Ye, b as Ot, d as Nt, e as Tt, f as It, h as Q, C as ve } from "./widget-composer-D-ktDgUE.js";
|
|
64
|
+
import { k as er, m as tr, j as sr, l as nr, i as ir, w as rr } from "./widget-composer-D-ktDgUE.js";
|
|
65
|
+
import { n as cn, d as fn, i as un, a as hn } from "./derive-chart-family-DHOhho50.js";
|
|
66
66
|
import { CustomSuperJSON as lr, translateQueryJSON as ar, translateQueryToJaql as cr } from "./analytics-composer/node.js";
|
|
67
|
-
import { l as dn, m as Yt, A as pn } from "./execute-query-
|
|
67
|
+
import { l as dn, m as Yt, A as pn } from "./execute-query-D1JOjJ8n.js";
|
|
68
68
|
const At = Symbol.for("yaml.alias"), yt = Symbol.for("yaml.document"), H = Symbol.for("yaml.map"), rs = Symbol.for("yaml.pair"), W = Symbol.for("yaml.scalar"), ye = Symbol.for("yaml.seq"), F = Symbol.for("yaml.node.type"), ie = (s) => !!s && typeof s == "object" && s[F] === At, ge = (s) => !!s && typeof s == "object" && s[F] === yt, be = (s) => !!s && typeof s == "object" && s[F] === H, E = (s) => !!s && typeof s == "object" && s[F] === rs, A = (s) => !!s && typeof s == "object" && s[F] === W, we = (s) => !!s && typeof s == "object" && s[F] === ye;
|
|
69
69
|
function C(s) {
|
|
70
70
|
if (s && typeof s == "object")
|