drizzle-cube 0.11.0 → 0.11.2

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.
Files changed (42) hide show
  1. package/dist/adapters/{mcp-app-html-CNp0VqS_.cjs → mcp-app-html-BCkzy3a2.cjs} +1 -1
  2. package/dist/adapters/{mcp-app-html-CvWoYMO3.js → mcp-app-html-WiSFu1oD.js} +1 -1
  3. package/dist/adapters/mcp-app-html.cjs +1 -1
  4. package/dist/adapters/mcp-app-html.js +1 -1
  5. package/dist/adapters/mcp-tools.cjs +1 -1
  6. package/dist/adapters/mcp-tools.js +1 -1
  7. package/dist/cjs/client/components/AnalysisBuilder/types.d.ts +4 -0
  8. package/dist/cjs/client/components/AnalysisBuilder/utils/queryUtils.d.ts +6 -1
  9. package/dist/cjs/client/components/charts/MarkdownChart.helpers.d.ts +5 -0
  10. package/dist/cjs/client/components/markdownOverrides.d.ts +2 -0
  11. package/dist/cjs/client/types.d.ts +2 -0
  12. package/dist/client/charts.js +1 -1
  13. package/dist/client/chunks/{DashboardEditModal-CIR4aqr7.js → DashboardEditModal-BrZuaG5z.js} +5 -5
  14. package/dist/client/chunks/DashboardEditModal-BrZuaG5z.js.map +1 -0
  15. package/dist/client/chunks/{analysis-builder-DJNYt7CF.js → analysis-builder-CwKFNoe7.js} +5 -5
  16. package/dist/client/chunks/analysis-builder-CwKFNoe7.js.map +1 -0
  17. package/dist/client/chunks/{analysis-builder-shared-DPLR8upd.js → analysis-builder-shared-D1SsD4qC.js} +56 -45
  18. package/dist/client/chunks/analysis-builder-shared-D1SsD4qC.js.map +1 -0
  19. package/dist/client/chunks/{chart-markdown-DtgpU3xd.js → chart-markdown-XWU1MyCy.js} +2 -1
  20. package/dist/client/chunks/{chart-markdown-DtgpU3xd.js.map → chart-markdown-XWU1MyCy.js.map} +1 -1
  21. package/dist/client/chunks/{charts-loader-DoLQqFXg.js → charts-loader-DMdE-Azc.js} +2 -2
  22. package/dist/client/chunks/{charts-loader-DoLQqFXg.js.map → charts-loader-DMdE-Azc.js.map} +1 -1
  23. package/dist/client/chunks/{useDirtyStateTracking-DSkxAJ29.js → useDirtyStateTracking-DUyYwuN_.js} +2 -2
  24. package/dist/client/chunks/useDirtyStateTracking-DUyYwuN_.js.map +1 -0
  25. package/dist/client/chunks/{useExplainAI-DRCIVcbu.js → useExplainAI-BtoS3tb5.js} +2 -2
  26. package/dist/client/chunks/{useExplainAI-DRCIVcbu.js.map → useExplainAI-BtoS3tb5.js.map} +1 -1
  27. package/dist/client/components/AnalysisBuilder/types.d.ts +4 -0
  28. package/dist/client/components/AnalysisBuilder/utils/queryUtils.d.ts +6 -1
  29. package/dist/client/components/charts/MarkdownChart.helpers.d.ts +5 -0
  30. package/dist/client/components/markdownOverrides.d.ts +2 -0
  31. package/dist/client/components.js +1 -1
  32. package/dist/client/hooks.js +2 -2
  33. package/dist/client/index.js +37 -31
  34. package/dist/client/index.js.map +1 -1
  35. package/dist/client/types.d.ts +2 -0
  36. package/dist/client-bundle-stats.html +1 -1
  37. package/dist/mcp-app/mcp-app.html +1 -1
  38. package/package.json +1 -1
  39. package/dist/client/chunks/DashboardEditModal-CIR4aqr7.js.map +0 -1
  40. package/dist/client/chunks/analysis-builder-DJNYt7CF.js.map +0 -1
  41. package/dist/client/chunks/analysis-builder-shared-DPLR8upd.js.map +0 -1
  42. package/dist/client/chunks/useDirtyStateTracking-DSkxAJ29.js.map +0 -1
@@ -332,7 +332,7 @@ ${e.split(`
332
332
  `);if(typeof e==`object`&&e){let t=Object.entries(e);return t.length===0?`{}`:t.map(([e,t])=>yWe(t)?`${l9(e)}:
333
333
  ${u9(t).replace(/\n/g,`
334
334
  `)}`:`${l9(e)}: ${u9(t)}`).join(`
335
- `)}return c9(e)}function d9(e){return typeof e==`number`?!Number.isFinite(e):Array.isArray(e)?e.some(d9):typeof e==`object`&&e?Object.values(e).some(d9):!1}function f9(e,t){try{if((Array.isArray(t?.rawValue)||y7(t?.rawValue))&&d9(t.rawValue)){h5(t,`Could not serialize a collection containing a number outside the finite JavaScript range`,`INVALID_FILTER_INPUT`);return}let n=JSON.parse(Array.isArray(t?.rawValue)?JSON.stringify(t.rawValue):e);if(typeof n==`object`&&n){if(d9(n)){h5(t,`Could not serialize a JSON collection containing a number outside the finite JavaScript range`,`INVALID_FILTER_INPUT`);return}return n}}catch{}}function p9(e,t){let n=t?.rawValue;return c9(n===null||typeof n==`boolean`||typeof n==`number`&&Number.isFinite(n)?n:e)}var bWe=(e,t,n)=>{let r=f9(e,n);return r?l5(t)===`flow`?c9(r):u9(r):p9(e,n)},xWe=(e,t,n)=>{let r=s9(t);if(!r?.trim())return e;let i=f9(e,n);return i?u9({[r]:i}):`${l9(r)}: ${p9(e,n)}`},SWe=e=>{if(!e)return{valid:!1,error:`requires a property path and value`};let t=m5(r5(e));if(t.length!==2)return{valid:!1,error:`requires exactly a property path and value`};let n=i5(t[0]);return n?n.split(`.`).some(e=>e===``)?{valid:!1,error:`property path cannot contain empty segments`}:{valid:!0}:{valid:!1,error:`property path cannot be empty`}};function CWe(e){return e===null||[`string`,`number`,`boolean`].includes(typeof e)}var wWe=(e,t,n)=>{let r=x7(e,n);if(!Array.isArray(r))return r;let[i,a]=n?.rawArguments??f5(t)??[];return typeof i!=`string`||!i||!CWe(a)?r:r.filter(e=>{let t=s7(e,i);return t.exists&&t.value===a})},TWe=Object.freeze(Object.fromEntries(Object.entries({calc:{example:`calc:"+10"`,validateParams:jHe},code:{example:`code:"typescript"`,validateParams:F7},code_block:{example:`code_block:"typescript"`,validateParams:F7},date_modify:{example:`date_modify:"+1 day"`,validateParams:zHe},hr:{example:`hr:before`,validateParams:CHe},highlight:{example:`highlight:blue`,validateParams:bHe},map:{example:`map:x => x.name`,validateParams:aUe},replace:{example:`replace:"old":"new"`,validateParams:SUe},slice:{example:`slice:0,5`,validateParams:AUe},sort:{example:`sort:("name", "desc")`,validateParams:PUe},sum:{example:`sum:"amount"`,validateParams:RUe},template:{example:'template:"${name}"',validateParams:JUe},truncate:{example:`truncate:(100, "…")`,validateParams:iWe},truncatewords:{example:`truncatewords:(20, "…")`,validateParams:aWe},where:{example:`where:("published", true)`,validateParams:SWe},blockquote:{},bold:{example:`bold:_`,validateParams:hHe},callout:{example:`callout:info`},camel:{},capitalize:{},compact:{},comment:{},date:{example:`date:"YYYY-MM-DD"`},decode_uri:{},duration:{},embed:{example:`embed:"Preview"`},encode_uri:{},escape_md:{},first:{},footnote:{},fragment_link:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},hard_break:{},image:{},indent:{example:`indent:2`,validateParams:H7},italic:{example:`italic:_`,validateParams:gHe},join:{example:`join:", "`},kebab:{},last:{},length:{},link:{},list:{example:`list:numbered`,validateParams:eUe},lower:{},math:{},math_block:{},merge:{},nth:{example:`nth:2`,validateParams:dUe},number_format:{},object:{example:`object:"keys"`,validateParams:hUe},pascal:{},parse_json:{},remove_attr:{},remove_tags:{},replace_tags:{},reverse:{},round:{example:`round:2`,validateParams:TUe},safe_name:{example:`safe_name:windows`,validateParams:OUe},snake:{},split:{example:`split:","`},strip_attr:{},strip_md:{},strip_tags:{},stripmd:{},strike:{},table:{},table_pretty:{},title:{},trim:{},uncamel:{},unescape:{},unique:{},upper:{},wikilink:{},yaml:{example:`yaml:flow`,validateParams:_We},yaml_property:{example:`yaml_property:"director"`,validateParams:vWe}}).map(([e,t])=>[e,Object.freeze({...t})]))),EWe={blockquote:aHe,bold:_He,calc:MHe,callout:NHe,camel:PHe,capitalize:FHe,compact:IHe,code:EHe,code_block:DHe,comment:AHe,date_modify:BHe,date:LHe,decode_uri:HHe,duration:gWe,embed:hWe,encode_uri:WHe,escape_md:pHe,first:GHe,footnote:KHe,fragment_link:qHe,h1:oHe,h2:sHe,h3:cHe,h4:lHe,h5:uHe,h6:dHe,hard_break:mHe,highlight:xHe,hr:wHe,image:JHe,indent:YHe,italic:vHe,join:XHe,kebab:ZHe,last:QHe,length:rUe,link:nUe,list:tUe,lower:iUe,map:cUe,math:OHe,math_block:kHe,merge:uUe,number_format:pUe,nth:fUe,object:gUe,pascal:_Ue,parse_json:vUe,reverse:yUe,remove_attr:bUe,remove_tags:xUe,replace:CUe,replace_tags:wUe,round:EUe,safe_name:kUe,slice:jUe,snake:MUe,sort:IUe,split:LUe,sum:zUe,strip_attr:BUe,strip_md:R7,strip_tags:VUe,stripmd:R7,strike:yHe,table:KUe,table_pretty:qUe,template:YUe,title:eWe,trim:tWe,truncate:cWe,truncatewords:lWe,uncamel:uWe,unescape:dWe,unique:fWe,upper:pWe,wikilink:mWe,yaml:bWe,yaml_property:xWe,where:wWe};function DWe(e,t){let n=(e,n,r)=>t(e,n===``?void 0:n,r);return n.metadata=TWe[e]??{},n}var OWe=Object.freeze(Object.fromEntries(Object.entries(EWe).map(([e,t])=>[e,DWe(e,t)])));function kWe(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1_$2`).replace(/([A-Z]+)([A-Z][a-z])/g,`$1_$2`).replace(/[^A-Za-z0-9]+/g,`_`).toLowerCase()}function AWe(e){let t=e.split(`.`).map(kWe).filter(Boolean).join(`_`).replace(/_+/g,`_`).replace(/^_|_$/g,``);return t?/^[0-9]/.test(t)?`_${t}`:t:`field`}function m9(e,t){if(!t.has(e))return t.add(e),e;let n=2;for(;t.has(`${e}_${n}`);)n++;let r=`${e}_${n}`;return t.add(r),r}function jWe(e){let t=[],n=new Set;for(let r of e)for(let e of Object.keys(r))n.has(e)||(n.add(e),t.push(e));return t}function MWe(e,t=e=>e){let n=jWe(e),r=new Set,i=new Set,a=n.map(e=>({key:e,alias:m9(AWe(e),r),label:m9(NWe(t,e),i)})),o=t=>e.map(e=>{let n={};for(let r of a)r.key in e&&(n[t(r)]=e[r.key]);return n}),s=o(e=>e.alias);return{rows:s,labelled:o(e=>e.label),data:e,rowCount:e.length,first:s[0]??null,last:s.length>0?s[s.length-1]:null,fields:a}}function NWe(e,t){try{return e(t)||t}catch{return t}}var h9=[`rows`,`labelled`,`data`,`rowCount`,`first`,`last`,`fields`],PWe=[`first`,`last`],g9=[`key`,`alias`,`label`];function _9(e){return typeof e==`object`&&!!e}function v9(e){return _9(e)&&e.type===`identifier`&&typeof e.name==`string`}function y9(e,t){if(Array.isArray(e)){for(let n of e)y9(n,t);return}if(_9(e)){t(e);for(let n of Object.values(e))y9(n,t)}}function FWe(e){let t=new Map;return y9(e,e=>{if(e.type!==`for`||typeof e.iterator!=`string`)return;let n=e.iterable;t.set(e.iterator,v9(n)?n.name:``)}),t}function IWe(e,t){if(PWe.includes(e))return{kind:`aliased`};switch(t.get(e)){case`rows`:return{kind:`aliased`};case`fields`:return{kind:`metadata`};case`data`:return{kind:`raw`};default:return{kind:`skip`}}}function LWe(e,t){let{ast:n,errors:r}=F5(e);if(r.length>0)return[];let i=t.fields.map(e=>e.alias),a=FWe(n),o={aliases:i,loopSources:a,knownRoots:new Set([...h9,...a.keys()]),available:i.length>0?i.join(`, `):h9.join(`, `)},s=[],c=new Set;return y9(n,e=>{if(!v9(e))return;let t=RWe(e.path??[e.name],o);t&&BWe(s,c,e,t)}),s}function RWe(e,t){let[n,r]=e;return t.knownRoots.has(n)?r===void 0?null:zWe(e,r,t):`Unknown variable "${n}". Available: ${h9.join(`, `)}.`}function zWe(e,t,n){let r=e[0];switch(IWe(r,n.loopSources).kind){case`raw`:return`"${r}" holds raw rows, so dotted access does not resolve. Use ${r}["${e.slice(1).join(`.`)}"], or loop over rows and use ${r}.${n.aliases[0]??`alias`}.`;case`aliased`:return b9(t,n.aliases,n.available);case`metadata`:return b9(t,g9,g9.join(`, `));case`skip`:return null}}function b9(e,t,n){return t.includes(e)?null:`Unknown field "${e}". Available: ${n}.`}function BWe(e,t,n,r){t.has(r)||(t.add(r),e.push({message:r,line:n.line,column:n.column}))}var VWe={maxTemplateLength:1e5,maxOutputLength:5e5,maxValueLength:1e5,maxOperations:5e5,maxDepth:50},x9=null;function HWe(){return x9||=iHe({filters:OWe,allowRegex:!1}),x9}async function UWe(e,t){try{let n={rows:t.rows,labelled:t.labelled,data:t.data,rowCount:t.rowCount,first:t.first,last:t.last,fields:t.fields},r=await HWe().render(e,{variables:n},{limits:VWe}),i=r.errors.map(e=>({message:e.message,line:e.line,column:e.column}));return{output:r.output,errors:i,warnings:i.length>0?[]:LWe(e,t)}}catch(e){return{output:``,errors:[{message:WWe(e),line:1,column:1}],warnings:[]}}}function WWe(e){return e instanceof Error?e.message:String(e)}var S9={small:{1:`dc:text-lg`,2:`dc:text-base`,3:`dc:text-sm`},medium:{1:`dc:text-3xl`,2:`dc:text-2xl`,3:`dc:text-xl`},large:{1:`dc:text-5xl`,2:`dc:text-4xl`,3:`dc:text-3xl`}},GWe={1:`dc:mb-4`,2:`dc:mb-3`,3:`dc:mb-2`},C9={small:`dc:text-sm`,medium:`dc:text-lg`,large:`dc:text-xl`},w9={left:`dc:text-left`,center:`dc:text-center`,right:`dc:text-right`};function KWe(e){return C9[e]??C9.medium}function qWe(e){return w9[e]??w9.left}function T9(e,t,n){return{props:{className:`dc:font-bold ${S9[e]?.[t]??S9.medium[t]} ${GWe[t]}`,style:{color:n}}}}function JWe(e,t){return{sanitizer:e=>e6(e),overrides:{h1:T9(t,1,e),h2:T9(t,2,e),h3:T9(t,3,e),p:{props:{className:`dc:mb-3 dc:leading-relaxed text-dc-text`}},strong:{props:{className:`dc:font-bold text-dc-text`}},em:{props:{className:`dc:italic text-dc-text`}},a:{props:{className:`dc:hover:underline dc:transition-colors`,target:`_blank`,rel:`nofollow noopener noreferrer`,style:{color:e}}},code:{props:{className:`dc:px-1 dc:py-0.5 dc:rounded-sm dc:text-xs bg-dc-surface-secondary text-dc-accent dc:font-mono`}},pre:{props:{className:`dc:rounded-lg dc:p-3 dc:my-2 dc:overflow-x-auto dc:text-xs bg-dc-surface-secondary text-dc-text dc:font-mono`}},ul:{props:{className:`dc:list-disc dc:ml-6 dc:mb-3 text-dc-text dc:space-y-1`}},ol:{props:{className:`dc:list-decimal dc:ml-6 dc:mb-3 text-dc-text dc:space-y-1`}},li:{props:{className:`dc:mb-1 text-dc-text`}},blockquote:{props:{className:`dc:border-l-4 border-dc-accent dc:pl-3 dc:my-2 dc:italic text-dc-text-secondary`}},hr:{props:{className:`dc:my-4 dc:border-none`,style:{height:`2px`,backgroundColor:e,opacity:.3}}},table:{props:{className:`dc:w-full dc:border-collapse dc:my-3 dc:text-sm`}},thead:{props:{className:`bg-dc-surface-secondary`}},th:{props:{className:`dc:px-3 dc:py-2 dc:text-left dc:font-semibold dc:text-xs text-dc-text-secondary dc:uppercase dc:tracking-wider border-dc-border dc:border-b`}},td:{props:{className:`dc:px-3 dc:py-2 text-dc-text border-dc-border dc:border-b`}},tr:{props:{className:`dc:hover:opacity-80`}}}}}function YWe(e,t,n){if(e===`none`)return{};let r={[`border${e.charAt(0).toUpperCase()+e.slice(1)}`]:`4px solid ${t}`};return n&&e===`left`&&(r.paddingLeft=`12px`),r}function XWe(e,t){return e&&t<e.length?e[t]:`#8884d8`}function ZWe(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&!Array.isArray(e)):[]}function QWe(e,t,n){let r=QBe(n),i=(0,y.useMemo)(()=>ZWe(t),[t]),a=(0,y.useContext)(QG)?.getFieldLabel,[o,s]=(0,y.useState)(null);return(0,y.useEffect)(()=>{if(!r||!e.trim()){s(null);return}let t=!1;return UWe(e,MWe(i,a)).then(e=>{t||s(e)}),()=>{t=!0}},[r,e,i,a]),{isTemplate:r,output:o?.output??null,errors:o?.errors??[],warnings:o?.warnings??[]}}function E9({heading:e,items:t,tone:n}){return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`dc:font-semibold dc:mb-2 ${n===`error`?`text-dc-error`:`text-dc-warning`}`,children:e}),(0,J.jsx)(`ul`,{className:`dc:list-disc dc:ml-5 dc:space-y-1 dc:text-xs text-dc-text-secondary`,children:t.map((e,t)=>(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`span`,{className:`dc:font-mono`,children:`${e.line}:${e.column}`}),` ${e.message}`]},`${e.line}:${e.column}:${t}`))})]})}var $We=y.memo(function({data:e,displayConfig:t={},queryObject:n,height:r=`100%`,colorPalette:i}){let{t:a}=vg(),o=t.content||``,s=t.fontSize||`medium`,c=!!t.transparentBackground,l=XWe(i?.colors,t.accentColorIndex??0),u=QWe(o,e,n),d=(0,y.useMemo)(()=>JWe(l,s),[l,s]);if(!o.trim())return c?null:(0,J.jsx)(`div`,{className:`dc:flex dc:items-center dc:justify-center dc:w-full dc:h-full`,style:{height:r===`100%`?`100%`:r},children:(0,J.jsxs)(`div`,{className:`dc:text-center text-dc-text-muted`,children:[(0,J.jsx)(`div`,{className:`dc:text-sm dc:font-semibold dc:mb-1`,children:a(`chart.runtime.markdown.noContent`)}),(0,J.jsx)(`div`,{className:`dc:text-xs text-dc-text-secondary`,children:a(`chart.runtime.markdown.addContent`)})]})});let f={height:r===`100%`?`100%`:r,...YWe(t.accentBorder||`none`,l,c)},p=c?``:`dc:p-4 `;if(u.errors.length>0)return(0,J.jsx)(`div`,{className:`dc-markdown-content dc:w-full dc:overflow-auto ${p}dc:text-sm`,style:f,children:(0,J.jsx)(E9,{heading:a(`chart.runtime.markdown.templateError`),items:u.errors,tone:`error`})});let m=u.isTemplate?u.output??``:o,h=qWe(t.alignment||`left`);return(0,J.jsxs)(`div`,{className:`dc-markdown-content dc:w-full dc:overflow-auto ${p}${KWe(s)} ${h}`,style:f,children:[u.warnings.length>0?(0,J.jsx)(`div`,{className:`dc:mb-3 dc:pb-2 dc:text-sm border-dc-border dc:border-b`,children:(0,J.jsx)(E9,{heading:a(`chart.runtime.markdown.templateWarning`),items:u.warnings,tone:`warning`})}):null,m?(0,J.jsx)(ZBe,{options:d,children:m}):null]})}),D9=()=>!0,O9=({hasMeasure:e})=>e,k9=({hasMeasure:e,hasDimension:t,hasTimeDim:n})=>e&&(t||n),A9=({hasMeasure:e,hasDimension:t})=>e&&t,j9=({hasMeasure:e,hasDimension:t,rowCount:n})=>e&&t&&n<=20,eGe={table:D9,recordsTable:D9,markdown:D9,kpiNumber:O9,kpiDelta:O9,kpiText:O9,gauge:O9,measureProfile:O9,bar:k9,line:k9,area:k9,waterfall:k9,boxPlot:k9,candlestick:k9,scatter:k9,bubble:k9,pie:j9,radialBar:j9,treemap:A9,funnel:A9,radar:A9,heatmap:({hasMeasure:e,dimensionCount:t})=>e&&t>=2,sankey:e=>e.hasFlowData,sunburst:e=>e.hasFlowData,activityGrid:({hasMeasure:e,hasTimeDim:t})=>e&&t};function tGe(e,t){return eGe[e](t)}function M9(e){return e.measures||[]}function N9(e){return e.dimensions||[]}function P9(e){return e.timeDimensions?.filter(e=>!!e.granularity).map(e=>e.dimension)||[]}function nGe(e){return e.timeDimensions?.map(e=>e.dimension)||[]}function rGe(e){let t=new Set;return e.filter(e=>!e||t.has(e)?!1:(t.add(e),!0))}function iGe(e,t){let n=new Set(t),r=[];for(let t of e)if(t&&typeof t==`object`)for(let e of Object.keys(t))n.has(e)||(n.add(e),r.push(e));return r}function F9(e,t){let n=rGe([...N9(e),...nGe(e),...M9(e)]);return[...n,...iGe(t,n)]}function aGe(e){let t=M9(e),n=N9(e),r=P9(e),i=[],a=[];return r.length>0?i.push(r[0]):n.length>0&&(i.push(n[0]),a.push(...n.slice(1))),{xAxis:i,yAxis:[...t],series:a}}function oGe(e,t,n,r=!1){let i=N9(t);return tGe(e,{hasMeasure:M9(t).length>0,hasDimension:i.length>0,hasTimeDim:P9(t).length>0,dimensionCount:i.length,rowCount:n,hasFlowData:r})}function sGe(e,t){if(IZ(t[0]))return`sankey`;let n=M9(e),r=N9(e),i=P9(e),a=t.length;return n.length>=1&&r.length===0&&i.length===0&&a<=1?`kpiNumber`:i.length>0&&n.length>=1?`line`:r.length>0&&n.length>=1?a<=10&&n.length===1&&r.length===1?`pie`:a<=30?`bar`:`table`:`table`}function I9(e,t,n){if(n===`table`)return{chartType:n,xAxis:F9(e,t),yAxis:[],series:[]};if(n===`recordsTable`)return{chartType:n,columns:F9(e,t),xAxis:[],yAxis:[],series:[]};if(n===`heatmap`){let t=N9(e),r=M9(e);return{chartType:n,xAxis:t.slice(0,1),yAxis:t.slice(1,2),series:[],valueField:r.slice(0,1)}}return{chartType:n,...aGe(e)}}var L9=[`bar`,`line`,`area`,`pie`,`scatter`,`treemap`,`kpiNumber`,`kpiDelta`,`kpiText`,`table`,`recordsTable`,`radar`,`radialBar`,`bubble`,`funnel`,`waterfall`,`gauge`,`boxPlot`,`candlestick`,`activityGrid`,`measureProfile`,`sankey`,`sunburst`,`heatmap`,`markdown`],cGe=new Set(L9);function lGe(e){return typeof e==`string`&&cGe.has(e)}function uGe({selected:e,query:t,rowCount:n,hasFlowData:r,onSelect:i}){let[a,o]=(0,y.useState)(!1),{t:s}=vg(),c=e=>{let t=tAe[e]?.label;return t?s(t):e},l=PX(e),u=c(e);return(0,J.jsxs)(`div`,{style:{position:`relative`},children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>o(!a),style:{display:`flex`,alignItems:`center`,gap:6,padding:`4px 10px`,fontSize:12,fontWeight:500,borderRadius:6,border:`1px solid var(--dc-border, #e2e8f0)`,background:`var(--dc-surface, #fff)`,color:`var(--dc-text, #1e293b)`,cursor:`pointer`},children:[(0,J.jsx)(l,{style:{width:14,height:14,color:`var(--dc-text-secondary, #64748b)`}}),(0,J.jsx)(`span`,{children:u}),(0,J.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,style:{marginLeft:2,color:`var(--dc-text-muted, #94a3b8)`,transform:a?`rotate(180deg)`:void 0,transition:`transform 0.15s`},children:(0,J.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M19 9l-7 7-7-7`})})]}),a&&(0,J.jsx)(`div`,{style:{position:`absolute`,right:0,zIndex:10,marginTop:4,minWidth:260,maxHeight:320,overflowY:`auto`,background:`var(--dc-surface, #fff)`,border:`1px solid var(--dc-border, #e2e8f0)`,borderRadius:8,boxShadow:`0 4px 12px rgba(0,0,0,0.1)`,padding:6},children:(0,J.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`1fr 1fr`,gap:3},children:L9.map(a=>{let s=oGe(a,t,n,r),l=a===e,u=PX(a),d=c(a);return(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{s&&(i(a),o(!1))},disabled:!s,style:{display:`flex`,alignItems:`center`,gap:5,padding:`4px 8px`,fontSize:11,fontWeight:l?600:400,borderRadius:4,border:`1px solid`,borderColor:l?`var(--dc-primary, #3b82f6)`:`var(--dc-border, #e2e8f0)`,background:l?`var(--dc-surface-secondary, #f9fafb)`:`var(--dc-surface, #fff)`,color:s?l?`var(--dc-primary, #3b82f6)`:`var(--dc-text, #1e293b)`:`var(--dc-text-muted, #94a3b8)`,cursor:s?`pointer`:`not-allowed`,opacity:s?1:.5,textAlign:`left`},children:[(0,J.jsx)(u,{style:{width:14,height:14,flexShrink:0}}),(0,J.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:d})]},a)})})})]})}function dGe(e){if(e&&typeof e==`object`&&`content`in e){let t=e.content.find(e=>e.type===`text`);return t?.text?JSON.parse(t.text):`noTextContent`}return e&&typeof e==`object`&&`data`in e?e:typeof e==`string`?JSON.parse(e):e}function fGe(e){if(e&&`results`in e&&Array.isArray(e.results)){let t=e.results[0];if(t)return{data:t.data||[],query:t.query||e.query,annotation:t.annotation}}return e}function pGe(e){let t=dGe(e);if(t===`noTextContent`)return{ok:!1,error:`noTextContent`};let n=fGe(t);return!n?.data||!Array.isArray(n.data)?{ok:!1,error:`invalidResultFormat`}:{ok:!0,result:n}}var R9=e=>{let t=new Date(e);return t.setUTCHours(0,0,0,0),t},z9=e=>{let t=new Date(e);return t.setUTCHours(23,59,59,999),t},B9={today:({now:e})=>({start:R9(e),end:z9(e)}),yesterday:({now:e,utcDate:t})=>{let n=new Date(e);n.setUTCDate(t-1),n.setUTCHours(0,0,0,0);let r=new Date(e);return r.setUTCDate(t-1),r.setUTCHours(23,59,59,999),{start:n,end:r}},"this week":({now:e,utcDate:t,utcDay:n})=>{let r=n===0?-6:1-n,i=new Date(e);i.setUTCDate(t+r),i.setUTCHours(0,0,0,0);let a=new Date(i);return a.setUTCDate(i.getUTCDate()+6),a.setUTCHours(23,59,59,999),{start:i,end:a}},"this month":({utcYear:e,utcMonth:t})=>({start:new Date(Date.UTC(e,t,1,0,0,0,0)),end:new Date(Date.UTC(e,t+1,0,23,59,59,999))}),"this quarter":({utcYear:e,utcMonth:t})=>{let n=Math.floor(t/3);return{start:new Date(Date.UTC(e,n*3,1,0,0,0,0)),end:new Date(Date.UTC(e,n*3+3,0,23,59,59,999))}},"this year":({utcYear:e})=>({start:new Date(Date.UTC(e,0,1,0,0,0,0)),end:new Date(Date.UTC(e,11,31,23,59,59,999))}),"last week":({now:e,utcDate:t,utcDay:n})=>{let r=n===0?-13:-6-n,i=new Date(e);i.setUTCDate(t+r),i.setUTCHours(0,0,0,0);let a=new Date(i);return a.setUTCDate(i.getUTCDate()+6),a.setUTCHours(23,59,59,999),{start:i,end:a}},"last month":({utcYear:e,utcMonth:t})=>({start:new Date(Date.UTC(e,t-1,1,0,0,0,0)),end:new Date(Date.UTC(e,t,0,23,59,59,999))}),"last quarter":({utcYear:e,utcMonth:t})=>{let n=Math.floor(t/3),r=n===0?3:n-1,i=n===0?e-1:e;return{start:new Date(Date.UTC(i,r*3,1,0,0,0,0)),end:new Date(Date.UTC(i,r*3+3,0,23,59,59,999))}},"last year":({utcYear:e})=>({start:new Date(Date.UTC(e-1,0,1,0,0,0,0)),end:new Date(Date.UTC(e-1,11,31,23,59,59,999))}),"last 12 months":({now:e,utcYear:t,utcMonth:n})=>({start:new Date(Date.UTC(t,n-11,1,0,0,0,0)),end:z9(e)})},mGe=[{re:/^last\s+(\d+)\s+days?$/,build:(e,{now:t,utcDate:n})=>{let r=new Date(t);return r.setUTCDate(n-e+1),r.setUTCHours(0,0,0,0),{start:r,end:z9(t)}}},{re:/^last\s+(\d+)\s+weeks?$/,build:(e,{now:t,utcDate:n})=>{let r=new Date(t);return r.setUTCDate(n-e*7+1),r.setUTCHours(0,0,0,0),{start:r,end:z9(t)}}},{re:/^last\s+(\d+)\s+months?$/,build:(e,{now:t,utcYear:n,utcMonth:r})=>({start:new Date(Date.UTC(n,r-e+1,1,0,0,0,0)),end:z9(t)})},{re:/^last\s+(\d+)\s+quarters?$/,build:(e,{now:t,utcYear:n,utcMonth:r})=>({start:new Date(Date.UTC(n,(Math.floor(r/3)-e+1)*3,1,0,0,0,0)),end:z9(t)})},{re:/^last\s+(\d+)\s+years?$/,build:(e,{now:t,utcYear:n})=>({start:new Date(Date.UTC(n-e,0,1,0,0,0,0)),end:z9(t)})}],hGe=({now:e,utcDate:t,utcDay:n})=>{let r=new Date(e);return r.setUTCDate(t+(n===0?-6:1-n)),r.setUTCHours(0,0,0,0),r},V9={tomorrow:({now:e,utcDate:t})=>{let n=new Date(e);n.setUTCDate(t+1),n.setUTCHours(0,0,0,0);let r=new Date(n);return r.setUTCHours(23,59,59,999),{start:n,end:r}},"next week":e=>{let t=hGe(e);t.setUTCDate(t.getUTCDate()+7);let n=new Date(t);return n.setUTCDate(t.getUTCDate()+6),n.setUTCHours(23,59,59,999),{start:t,end:n}},"next month":({utcYear:e,utcMonth:t})=>({start:new Date(Date.UTC(e,t+1,1,0,0,0,0)),end:new Date(Date.UTC(e,t+2,0,23,59,59,999))}),"next quarter":({utcYear:e,utcMonth:t})=>{let n=(Math.floor(t/3)+1)*3;return{start:new Date(Date.UTC(e,n,1,0,0,0,0)),end:new Date(Date.UTC(e,n+3,0,23,59,59,999))}},"next year":({utcYear:e})=>({start:new Date(Date.UTC(e+1,0,1,0,0,0,0)),end:new Date(Date.UTC(e+1,11,31,23,59,59,999))})};function H9(e){let t=new Date,n=e.toLowerCase().trim(),r={now:t,utcYear:t.getUTCFullYear(),utcMonth:t.getUTCMonth(),utcDate:t.getUTCDate(),utcDay:t.getUTCDay()},i=Object.prototype.hasOwnProperty.call(B9,n)?B9[n]:Object.prototype.hasOwnProperty.call(V9,n)?V9[n]:void 0;if(i)return i(r);for(let{re:e,build:t}of mGe){let i=n.match(e);if(i)return t(parseInt(i[1],10),r)}return null}var gGe=1e4;function _Ge(e,t,n){let r=[],i=U9(new Date(e),n),a=U9(new Date(t),n);for(;i<=a&&r.length<1e4;)r.push(new Date(i)),i=vGe(i,n);return r}function U9(e,t){let n=new Date(e);switch(t){case`second`:n.setUTCMilliseconds(0);break;case`minute`:n.setUTCSeconds(0,0);break;case`hour`:n.setUTCMinutes(0,0,0);break;case`day`:n.setUTCHours(0,0,0,0);break;case`week`:{let e=n.getUTCDay(),t=e===0?6:e-1;n.setUTCDate(n.getUTCDate()-t),n.setUTCHours(0,0,0,0);break}case`month`:n.setUTCDate(1),n.setUTCHours(0,0,0,0);break;case`quarter`:{let e=Math.floor(n.getUTCMonth()/3)*3;n.setUTCMonth(e,1),n.setUTCHours(0,0,0,0);break}case`year`:n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)}return n}function vGe(e,t){let n=new Date(e);switch(t){case`second`:n.setUTCSeconds(n.getUTCSeconds()+1);break;case`minute`:n.setUTCMinutes(n.getUTCMinutes()+1);break;case`hour`:n.setUTCHours(n.getUTCHours()+1);break;case`day`:n.setUTCDate(n.getUTCDate()+1);break;case`week`:n.setUTCDate(n.getUTCDate()+7);break;case`month`:n.setUTCMonth(n.getUTCMonth()+1);break;case`quarter`:n.setUTCMonth(n.getUTCMonth()+3);break;case`year`:n.setUTCFullYear(n.getUTCFullYear()+1)}return n}function yGe(e,t){let n=null;if(e instanceof Date)n=e;else if(typeof e==`string`){let t=new Date(e);isNaN(t.getTime())||(n=t)}return!n||isNaN(n.getTime())?null:U9(n,t).toISOString()}function bGe(e,t){return t.length===0?`__all__`:t.map(t=>String(e[t]??``)).join(`|||`)}function xGe(e,t){let{timeDimensionKey:n,granularity:r,dateRange:i,dimensions:a}=t,o=_Ge(i[0],i[1],r);if(o.length===0)return e;if(o.length>=1e4)return console.warn(`[drizzle-cube] Skipping gap filling for "${n}": the ${r} range exceeds the ${gGe}-bucket limit. Returning unfilled data.`),e;let s=SGe(e,n,r,a),c=[];for(let[e,n]of s){let e=n.size>0?n.values().next().value:null;for(let r of o){let i=r.toISOString(),a=n.get(i);c.push(a??CGe(i,e??null,t))}}return c}function SGe(e,t,n,r){let i=new Map;for(let a of e){let e=bGe(a,r),o=yGe(a[t],n)??String(a[t]),s=i.get(e);s||(s=new Map,i.set(e,s)),s.set(o,a)}return i.size===0&&r.length===0&&i.set(`__all__`,new Map),i}function CGe(e,t,n){let{timeDimensionKey:r,fillValue:i,measures:a,dimensions:o}=n,s={[r]:e};if(t)for(let e of o)s[e]=t[e];for(let e of a)s[e]=i;return s}function W9(e){if(!e)return null;if(typeof e!=`string`){if(e.length<2)return null;let t=new Date(String(e[0])),n=new Date(String(e[1]));return isNaN(t.getTime())||isNaN(n.getTime())?null:[t,n]}let t=H9(e);if(t)return[t.start,t.end];let n=new Date(e);return isNaN(n.getTime())?null:[n,n]}function wGe(e,t,n,r){if(!t.timeDimensions||t.timeDimensions.length===0)return e;let i=t.timeDimensions.filter(e=>{let n=!!e.granularity,i=e.dateRange||G9(e.dimension,t.filters);return n&&!!i&&r(e)});if(i.length===0)return e;let a=t.fillMissingDatesValue===void 0?0:t.fillMissingDatesValue,o=new Set(t.timeDimensions.map(e=>e.dimension)),s=(t.dimensions||[]).filter(e=>!o.has(e)),c=e;for(let e of i){let r=W9(e.dateRange)||TGe(e.dimension,t.filters);if(!r)continue;let i={timeDimensionKey:e.dimension,granularity:e.granularity,dateRange:r,fillValue:a,measures:n,dimensions:s};c=xGe(c,i)}return c}function G9(e,t){if(!t)return null;for(let n of t){if(`member`in n&&`operator`in n&&n.member===e&&n.operator===`inDateRange`)return n;if(`and`in n&&n.and){let t=G9(e,n.and);if(t)return t}if(`or`in n&&n.or){let t=G9(e,n.or);if(t)return t}}return null}function TGe(e,t){let n=G9(e,t);if(!n)return null;if(n.dateRange){let e=W9(n.dateRange);if(e)return e}let r=n.values;if(!r||r.length===0)return null;if(r.length===1&&typeof r[0]==`string`){let e=H9(r[0]);return e?[e.start,e.end]:W9(r)}return r.length>=2?W9(r):null}function EGe(e,t,n,r={}){if(t.ungrouped)return e;let i=r.fillMissingDates===`auto`?void 0:r.fillMissingDates;return wGe(e,t,t.measures??[],e=>e.compareDateRange?.length?!1:e.fillMissingDates??i??n?.timeDimensions?.[e.dimension]?.fillMissingDates??!0)}var DGe=G([q(`light`),q(`dark`)]).describe(`Color theme preference for the host environment.`),K9=G([q(`inline`),q(`fullscreen`),q(`pip`)]).describe(`Display mode for UI presentation.`),OGe=K(G([q(`--color-background-primary`),q(`--color-background-secondary`),q(`--color-background-tertiary`),q(`--color-background-inverse`),q(`--color-background-ghost`),q(`--color-background-info`),q(`--color-background-danger`),q(`--color-background-success`),q(`--color-background-warning`),q(`--color-background-disabled`),q(`--color-text-primary`),q(`--color-text-secondary`),q(`--color-text-tertiary`),q(`--color-text-inverse`),q(`--color-text-ghost`),q(`--color-text-info`),q(`--color-text-danger`),q(`--color-text-success`),q(`--color-text-warning`),q(`--color-text-disabled`),q(`--color-border-primary`),q(`--color-border-secondary`),q(`--color-border-tertiary`),q(`--color-border-inverse`),q(`--color-border-ghost`),q(`--color-border-info`),q(`--color-border-danger`),q(`--color-border-success`),q(`--color-border-warning`),q(`--color-border-disabled`),q(`--color-ring-primary`),q(`--color-ring-secondary`),q(`--color-ring-inverse`),q(`--color-ring-info`),q(`--color-ring-danger`),q(`--color-ring-success`),q(`--color-ring-warning`),q(`--font-sans`),q(`--font-mono`),q(`--font-weight-normal`),q(`--font-weight-medium`),q(`--font-weight-semibold`),q(`--font-weight-bold`),q(`--font-text-xs-size`),q(`--font-text-sm-size`),q(`--font-text-md-size`),q(`--font-text-lg-size`),q(`--font-heading-xs-size`),q(`--font-heading-sm-size`),q(`--font-heading-md-size`),q(`--font-heading-lg-size`),q(`--font-heading-xl-size`),q(`--font-heading-2xl-size`),q(`--font-heading-3xl-size`),q(`--font-text-xs-line-height`),q(`--font-text-sm-line-height`),q(`--font-text-md-line-height`),q(`--font-text-lg-line-height`),q(`--font-heading-xs-line-height`),q(`--font-heading-sm-line-height`),q(`--font-heading-md-line-height`),q(`--font-heading-lg-line-height`),q(`--font-heading-xl-line-height`),q(`--font-heading-2xl-line-height`),q(`--font-heading-3xl-line-height`),q(`--border-radius-xs`),q(`--border-radius-sm`),q(`--border-radius-md`),q(`--border-radius-lg`),q(`--border-radius-xl`),q(`--border-radius-full`),q(`--border-width-regular`),q(`--shadow-hairline`),q(`--shadow-sm`),q(`--shadow-md`),q(`--shadow-lg`)]).describe(`CSS variable keys available to MCP apps for theming.`).describe(`Style variables for theming MCP apps.
335
+ `)}return c9(e)}function d9(e){return typeof e==`number`?!Number.isFinite(e):Array.isArray(e)?e.some(d9):typeof e==`object`&&e?Object.values(e).some(d9):!1}function f9(e,t){try{if((Array.isArray(t?.rawValue)||y7(t?.rawValue))&&d9(t.rawValue)){h5(t,`Could not serialize a collection containing a number outside the finite JavaScript range`,`INVALID_FILTER_INPUT`);return}let n=JSON.parse(Array.isArray(t?.rawValue)?JSON.stringify(t.rawValue):e);if(typeof n==`object`&&n){if(d9(n)){h5(t,`Could not serialize a JSON collection containing a number outside the finite JavaScript range`,`INVALID_FILTER_INPUT`);return}return n}}catch{}}function p9(e,t){let n=t?.rawValue;return c9(n===null||typeof n==`boolean`||typeof n==`number`&&Number.isFinite(n)?n:e)}var bWe=(e,t,n)=>{let r=f9(e,n);return r?l5(t)===`flow`?c9(r):u9(r):p9(e,n)},xWe=(e,t,n)=>{let r=s9(t);if(!r?.trim())return e;let i=f9(e,n);return i?u9({[r]:i}):`${l9(r)}: ${p9(e,n)}`},SWe=e=>{if(!e)return{valid:!1,error:`requires a property path and value`};let t=m5(r5(e));if(t.length!==2)return{valid:!1,error:`requires exactly a property path and value`};let n=i5(t[0]);return n?n.split(`.`).some(e=>e===``)?{valid:!1,error:`property path cannot contain empty segments`}:{valid:!0}:{valid:!1,error:`property path cannot be empty`}};function CWe(e){return e===null||[`string`,`number`,`boolean`].includes(typeof e)}var wWe=(e,t,n)=>{let r=x7(e,n);if(!Array.isArray(r))return r;let[i,a]=n?.rawArguments??f5(t)??[];return typeof i!=`string`||!i||!CWe(a)?r:r.filter(e=>{let t=s7(e,i);return t.exists&&t.value===a})},TWe=Object.freeze(Object.fromEntries(Object.entries({calc:{example:`calc:"+10"`,validateParams:jHe},code:{example:`code:"typescript"`,validateParams:F7},code_block:{example:`code_block:"typescript"`,validateParams:F7},date_modify:{example:`date_modify:"+1 day"`,validateParams:zHe},hr:{example:`hr:before`,validateParams:CHe},highlight:{example:`highlight:blue`,validateParams:bHe},map:{example:`map:x => x.name`,validateParams:aUe},replace:{example:`replace:"old":"new"`,validateParams:SUe},slice:{example:`slice:0,5`,validateParams:AUe},sort:{example:`sort:("name", "desc")`,validateParams:PUe},sum:{example:`sum:"amount"`,validateParams:RUe},template:{example:'template:"${name}"',validateParams:JUe},truncate:{example:`truncate:(100, "…")`,validateParams:iWe},truncatewords:{example:`truncatewords:(20, "…")`,validateParams:aWe},where:{example:`where:("published", true)`,validateParams:SWe},blockquote:{},bold:{example:`bold:_`,validateParams:hHe},callout:{example:`callout:info`},camel:{},capitalize:{},compact:{},comment:{},date:{example:`date:"YYYY-MM-DD"`},decode_uri:{},duration:{},embed:{example:`embed:"Preview"`},encode_uri:{},escape_md:{},first:{},footnote:{},fragment_link:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},hard_break:{},image:{},indent:{example:`indent:2`,validateParams:H7},italic:{example:`italic:_`,validateParams:gHe},join:{example:`join:", "`},kebab:{},last:{},length:{},link:{},list:{example:`list:numbered`,validateParams:eUe},lower:{},math:{},math_block:{},merge:{},nth:{example:`nth:2`,validateParams:dUe},number_format:{},object:{example:`object:"keys"`,validateParams:hUe},pascal:{},parse_json:{},remove_attr:{},remove_tags:{},replace_tags:{},reverse:{},round:{example:`round:2`,validateParams:TUe},safe_name:{example:`safe_name:windows`,validateParams:OUe},snake:{},split:{example:`split:","`},strip_attr:{},strip_md:{},strip_tags:{},stripmd:{},strike:{},table:{},table_pretty:{},title:{},trim:{},uncamel:{},unescape:{},unique:{},upper:{},wikilink:{},yaml:{example:`yaml:flow`,validateParams:_We},yaml_property:{example:`yaml_property:"director"`,validateParams:vWe}}).map(([e,t])=>[e,Object.freeze({...t})]))),EWe={blockquote:aHe,bold:_He,calc:MHe,callout:NHe,camel:PHe,capitalize:FHe,compact:IHe,code:EHe,code_block:DHe,comment:AHe,date_modify:BHe,date:LHe,decode_uri:HHe,duration:gWe,embed:hWe,encode_uri:WHe,escape_md:pHe,first:GHe,footnote:KHe,fragment_link:qHe,h1:oHe,h2:sHe,h3:cHe,h4:lHe,h5:uHe,h6:dHe,hard_break:mHe,highlight:xHe,hr:wHe,image:JHe,indent:YHe,italic:vHe,join:XHe,kebab:ZHe,last:QHe,length:rUe,link:nUe,list:tUe,lower:iUe,map:cUe,math:OHe,math_block:kHe,merge:uUe,number_format:pUe,nth:fUe,object:gUe,pascal:_Ue,parse_json:vUe,reverse:yUe,remove_attr:bUe,remove_tags:xUe,replace:CUe,replace_tags:wUe,round:EUe,safe_name:kUe,slice:jUe,snake:MUe,sort:IUe,split:LUe,sum:zUe,strip_attr:BUe,strip_md:R7,strip_tags:VUe,stripmd:R7,strike:yHe,table:KUe,table_pretty:qUe,template:YUe,title:eWe,trim:tWe,truncate:cWe,truncatewords:lWe,uncamel:uWe,unescape:dWe,unique:fWe,upper:pWe,wikilink:mWe,yaml:bWe,yaml_property:xWe,where:wWe};function DWe(e,t){let n=(e,n,r)=>t(e,n===``?void 0:n,r);return n.metadata=TWe[e]??{},n}var OWe=Object.freeze(Object.fromEntries(Object.entries(EWe).map(([e,t])=>[e,DWe(e,t)])));function kWe(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1_$2`).replace(/([A-Z]+)([A-Z][a-z])/g,`$1_$2`).replace(/[^A-Za-z0-9]+/g,`_`).toLowerCase()}function AWe(e){let t=e.split(`.`).map(kWe).filter(Boolean).join(`_`).replace(/_+/g,`_`).replace(/^_|_$/g,``);return t?/^[0-9]/.test(t)?`_${t}`:t:`field`}function m9(e,t){if(!t.has(e))return t.add(e),e;let n=2;for(;t.has(`${e}_${n}`);)n++;let r=`${e}_${n}`;return t.add(r),r}function jWe(e){let t=[],n=new Set;for(let r of e)for(let e of Object.keys(r))n.has(e)||(n.add(e),t.push(e));return t}function MWe(e,t=e=>e){let n=jWe(e),r=new Set,i=new Set,a=n.map(e=>({key:e,alias:m9(AWe(e),r),label:m9(NWe(t,e),i)})),o=t=>e.map(e=>{let n={};for(let r of a)r.key in e&&(n[t(r)]=e[r.key]);return n}),s=o(e=>e.alias);return{rows:s,labelled:o(e=>e.label),data:e,rowCount:e.length,first:s[0]??null,last:s.length>0?s[s.length-1]:null,fields:a}}function NWe(e,t){try{return e(t)||t}catch{return t}}var h9=[`rows`,`labelled`,`data`,`rowCount`,`first`,`last`,`fields`],PWe=[`first`,`last`],g9=[`key`,`alias`,`label`];function _9(e){return typeof e==`object`&&!!e}function v9(e){return _9(e)&&e.type===`identifier`&&typeof e.name==`string`}function y9(e,t){if(Array.isArray(e)){for(let n of e)y9(n,t);return}if(_9(e)){t(e);for(let n of Object.values(e))y9(n,t)}}function FWe(e){let t=new Map;return y9(e,e=>{if(e.type!==`for`||typeof e.iterator!=`string`)return;let n=e.iterable;t.set(e.iterator,v9(n)?n.name:``)}),t}function IWe(e,t){if(PWe.includes(e))return{kind:`aliased`};switch(t.get(e)){case`rows`:return{kind:`aliased`};case`fields`:return{kind:`metadata`};case`data`:return{kind:`raw`};default:return{kind:`skip`}}}function LWe(e,t){let{ast:n,errors:r}=F5(e);if(r.length>0)return[];let i=t.fields.map(e=>e.alias),a=FWe(n),o={aliases:i,loopSources:a,knownRoots:new Set([...h9,...a.keys()]),available:i.length>0?i.join(`, `):h9.join(`, `)},s=[],c=new Set;return y9(n,e=>{if(!v9(e))return;let t=RWe(e.path??[e.name],o);t&&BWe(s,c,e,t)}),s}function RWe(e,t){let[n,r]=e;return t.knownRoots.has(n)?r===void 0?null:zWe(e,r,t):`Unknown variable "${n}". Available: ${h9.join(`, `)}.`}function zWe(e,t,n){let r=e[0];switch(IWe(r,n.loopSources).kind){case`raw`:return`"${r}" holds raw rows, so dotted access does not resolve. Use ${r}["${e.slice(1).join(`.`)}"], or loop over rows and use ${r}.${n.aliases[0]??`alias`}.`;case`aliased`:return b9(t,n.aliases,n.available);case`metadata`:return b9(t,g9,g9.join(`, `));case`skip`:return null}}function b9(e,t,n){return t.includes(e)?null:`Unknown field "${e}". Available: ${n}.`}function BWe(e,t,n,r){t.has(r)||(t.add(r),e.push({message:r,line:n.line,column:n.column}))}var VWe={maxTemplateLength:1e5,maxOutputLength:5e5,maxValueLength:1e5,maxOperations:5e5,maxDepth:50},x9=null;function HWe(){return x9||=iHe({filters:OWe,allowRegex:!1}),x9}async function UWe(e,t){try{let n={rows:t.rows,labelled:t.labelled,data:t.data,rowCount:t.rowCount,first:t.first,last:t.last,fields:t.fields},r=await HWe().render(e,{variables:n},{limits:VWe}),i=r.errors.map(e=>({message:e.message,line:e.line,column:e.column}));return{output:r.output,errors:i,warnings:i.length>0?[]:LWe(e,t)}}catch(e){return{output:``,errors:[{message:WWe(e),line:1,column:1}],warnings:[]}}}function WWe(e){return e instanceof Error?e.message:String(e)}var S9={small:{1:`dc:text-lg`,2:`dc:text-base`,3:`dc:text-sm`},medium:{1:`dc:text-3xl`,2:`dc:text-2xl`,3:`dc:text-xl`},large:{1:`dc:text-5xl`,2:`dc:text-4xl`,3:`dc:text-3xl`}},GWe={1:`dc:mb-4`,2:`dc:mb-3`,3:`dc:mb-2`},C9={small:`dc:text-sm`,medium:`dc:text-lg`,large:`dc:text-xl`},w9={left:`dc:text-left`,center:`dc:text-center`,right:`dc:text-right`};function KWe(e){return C9[e]??C9.medium}function qWe(e){return w9[e]??w9.left}function T9(e,t,n){return{props:{className:`dc:font-bold ${S9[e]?.[t]??S9.medium[t]} ${GWe[t]}`,style:{color:n}}}}function JWe(e,t){return{disableParsingRawHTML:!0,sanitizer:e=>e6(e),overrides:{h1:T9(t,1,e),h2:T9(t,2,e),h3:T9(t,3,e),p:{props:{className:`dc:mb-3 dc:leading-relaxed text-dc-text`}},strong:{props:{className:`dc:font-bold text-dc-text`}},em:{props:{className:`dc:italic text-dc-text`}},a:{props:{className:`dc:hover:underline dc:transition-colors`,target:`_blank`,rel:`nofollow noopener noreferrer`,style:{color:e}}},code:{props:{className:`dc:px-1 dc:py-0.5 dc:rounded-sm dc:text-xs bg-dc-surface-secondary text-dc-accent dc:font-mono`}},pre:{props:{className:`dc:rounded-lg dc:p-3 dc:my-2 dc:overflow-x-auto dc:text-xs bg-dc-surface-secondary text-dc-text dc:font-mono`}},ul:{props:{className:`dc:list-disc dc:ml-6 dc:mb-3 text-dc-text dc:space-y-1`}},ol:{props:{className:`dc:list-decimal dc:ml-6 dc:mb-3 text-dc-text dc:space-y-1`}},li:{props:{className:`dc:mb-1 text-dc-text`}},blockquote:{props:{className:`dc:border-l-4 border-dc-accent dc:pl-3 dc:my-2 dc:italic text-dc-text-secondary`}},hr:{props:{className:`dc:my-4 dc:border-none`,style:{height:`2px`,backgroundColor:e,opacity:.3}}},table:{props:{className:`dc:w-full dc:border-collapse dc:my-3 dc:text-sm`}},thead:{props:{className:`bg-dc-surface-secondary`}},th:{props:{className:`dc:px-3 dc:py-2 dc:text-left dc:font-semibold dc:text-xs text-dc-text-secondary dc:uppercase dc:tracking-wider border-dc-border dc:border-b`}},td:{props:{className:`dc:px-3 dc:py-2 text-dc-text border-dc-border dc:border-b`}},tr:{props:{className:`dc:hover:opacity-80`}}}}}function YWe(e,t,n){if(e===`none`)return{};let r={[`border${e.charAt(0).toUpperCase()+e.slice(1)}`]:`4px solid ${t}`};return n&&e===`left`&&(r.paddingLeft=`12px`),r}function XWe(e,t){return e&&t<e.length?e[t]:`#8884d8`}function ZWe(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&!Array.isArray(e)):[]}function QWe(e,t,n){let r=QBe(n),i=(0,y.useMemo)(()=>ZWe(t),[t]),a=(0,y.useContext)(QG)?.getFieldLabel,[o,s]=(0,y.useState)(null);return(0,y.useEffect)(()=>{if(!r||!e.trim()){s(null);return}let t=!1;return UWe(e,MWe(i,a)).then(e=>{t||s(e)}),()=>{t=!0}},[r,e,i,a]),{isTemplate:r,output:o?.output??null,errors:o?.errors??[],warnings:o?.warnings??[]}}function E9({heading:e,items:t,tone:n}){return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`dc:font-semibold dc:mb-2 ${n===`error`?`text-dc-error`:`text-dc-warning`}`,children:e}),(0,J.jsx)(`ul`,{className:`dc:list-disc dc:ml-5 dc:space-y-1 dc:text-xs text-dc-text-secondary`,children:t.map((e,t)=>(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`span`,{className:`dc:font-mono`,children:`${e.line}:${e.column}`}),` ${e.message}`]},`${e.line}:${e.column}:${t}`))})]})}var $We=y.memo(function({data:e,displayConfig:t={},queryObject:n,height:r=`100%`,colorPalette:i}){let{t:a}=vg(),o=t.content||``,s=t.fontSize||`medium`,c=!!t.transparentBackground,l=XWe(i?.colors,t.accentColorIndex??0),u=QWe(o,e,n),d=(0,y.useMemo)(()=>JWe(l,s),[l,s]);if(!o.trim())return c?null:(0,J.jsx)(`div`,{className:`dc:flex dc:items-center dc:justify-center dc:w-full dc:h-full`,style:{height:r===`100%`?`100%`:r},children:(0,J.jsxs)(`div`,{className:`dc:text-center text-dc-text-muted`,children:[(0,J.jsx)(`div`,{className:`dc:text-sm dc:font-semibold dc:mb-1`,children:a(`chart.runtime.markdown.noContent`)}),(0,J.jsx)(`div`,{className:`dc:text-xs text-dc-text-secondary`,children:a(`chart.runtime.markdown.addContent`)})]})});let f={height:r===`100%`?`100%`:r,...YWe(t.accentBorder||`none`,l,c)},p=c?``:`dc:p-4 `;if(u.errors.length>0)return(0,J.jsx)(`div`,{className:`dc-markdown-content dc:w-full dc:overflow-auto ${p}dc:text-sm`,style:f,children:(0,J.jsx)(E9,{heading:a(`chart.runtime.markdown.templateError`),items:u.errors,tone:`error`})});let m=u.isTemplate?u.output??``:o,h=qWe(t.alignment||`left`);return(0,J.jsxs)(`div`,{className:`dc-markdown-content dc:w-full dc:overflow-auto ${p}${KWe(s)} ${h}`,style:f,children:[u.warnings.length>0?(0,J.jsx)(`div`,{className:`dc:mb-3 dc:pb-2 dc:text-sm border-dc-border dc:border-b`,children:(0,J.jsx)(E9,{heading:a(`chart.runtime.markdown.templateWarning`),items:u.warnings,tone:`warning`})}):null,m?(0,J.jsx)(ZBe,{options:d,children:m}):null]})}),D9=()=>!0,O9=({hasMeasure:e})=>e,k9=({hasMeasure:e,hasDimension:t,hasTimeDim:n})=>e&&(t||n),A9=({hasMeasure:e,hasDimension:t})=>e&&t,j9=({hasMeasure:e,hasDimension:t,rowCount:n})=>e&&t&&n<=20,eGe={table:D9,recordsTable:D9,markdown:D9,kpiNumber:O9,kpiDelta:O9,kpiText:O9,gauge:O9,measureProfile:O9,bar:k9,line:k9,area:k9,waterfall:k9,boxPlot:k9,candlestick:k9,scatter:k9,bubble:k9,pie:j9,radialBar:j9,treemap:A9,funnel:A9,radar:A9,heatmap:({hasMeasure:e,dimensionCount:t})=>e&&t>=2,sankey:e=>e.hasFlowData,sunburst:e=>e.hasFlowData,activityGrid:({hasMeasure:e,hasTimeDim:t})=>e&&t};function tGe(e,t){return eGe[e](t)}function M9(e){return e.measures||[]}function N9(e){return e.dimensions||[]}function P9(e){return e.timeDimensions?.filter(e=>!!e.granularity).map(e=>e.dimension)||[]}function nGe(e){return e.timeDimensions?.map(e=>e.dimension)||[]}function rGe(e){let t=new Set;return e.filter(e=>!e||t.has(e)?!1:(t.add(e),!0))}function iGe(e,t){let n=new Set(t),r=[];for(let t of e)if(t&&typeof t==`object`)for(let e of Object.keys(t))n.has(e)||(n.add(e),r.push(e));return r}function F9(e,t){let n=rGe([...N9(e),...nGe(e),...M9(e)]);return[...n,...iGe(t,n)]}function aGe(e){let t=M9(e),n=N9(e),r=P9(e),i=[],a=[];return r.length>0?i.push(r[0]):n.length>0&&(i.push(n[0]),a.push(...n.slice(1))),{xAxis:i,yAxis:[...t],series:a}}function oGe(e,t,n,r=!1){let i=N9(t);return tGe(e,{hasMeasure:M9(t).length>0,hasDimension:i.length>0,hasTimeDim:P9(t).length>0,dimensionCount:i.length,rowCount:n,hasFlowData:r})}function sGe(e,t){if(IZ(t[0]))return`sankey`;let n=M9(e),r=N9(e),i=P9(e),a=t.length;return n.length>=1&&r.length===0&&i.length===0&&a<=1?`kpiNumber`:i.length>0&&n.length>=1?`line`:r.length>0&&n.length>=1?a<=10&&n.length===1&&r.length===1?`pie`:a<=30?`bar`:`table`:`table`}function I9(e,t,n){if(n===`table`)return{chartType:n,xAxis:F9(e,t),yAxis:[],series:[]};if(n===`recordsTable`)return{chartType:n,columns:F9(e,t),xAxis:[],yAxis:[],series:[]};if(n===`heatmap`){let t=N9(e),r=M9(e);return{chartType:n,xAxis:t.slice(0,1),yAxis:t.slice(1,2),series:[],valueField:r.slice(0,1)}}return{chartType:n,...aGe(e)}}var L9=[`bar`,`line`,`area`,`pie`,`scatter`,`treemap`,`kpiNumber`,`kpiDelta`,`kpiText`,`table`,`recordsTable`,`radar`,`radialBar`,`bubble`,`funnel`,`waterfall`,`gauge`,`boxPlot`,`candlestick`,`activityGrid`,`measureProfile`,`sankey`,`sunburst`,`heatmap`,`markdown`],cGe=new Set(L9);function lGe(e){return typeof e==`string`&&cGe.has(e)}function uGe({selected:e,query:t,rowCount:n,hasFlowData:r,onSelect:i}){let[a,o]=(0,y.useState)(!1),{t:s}=vg(),c=e=>{let t=tAe[e]?.label;return t?s(t):e},l=PX(e),u=c(e);return(0,J.jsxs)(`div`,{style:{position:`relative`},children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>o(!a),style:{display:`flex`,alignItems:`center`,gap:6,padding:`4px 10px`,fontSize:12,fontWeight:500,borderRadius:6,border:`1px solid var(--dc-border, #e2e8f0)`,background:`var(--dc-surface, #fff)`,color:`var(--dc-text, #1e293b)`,cursor:`pointer`},children:[(0,J.jsx)(l,{style:{width:14,height:14,color:`var(--dc-text-secondary, #64748b)`}}),(0,J.jsx)(`span`,{children:u}),(0,J.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,style:{marginLeft:2,color:`var(--dc-text-muted, #94a3b8)`,transform:a?`rotate(180deg)`:void 0,transition:`transform 0.15s`},children:(0,J.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M19 9l-7 7-7-7`})})]}),a&&(0,J.jsx)(`div`,{style:{position:`absolute`,right:0,zIndex:10,marginTop:4,minWidth:260,maxHeight:320,overflowY:`auto`,background:`var(--dc-surface, #fff)`,border:`1px solid var(--dc-border, #e2e8f0)`,borderRadius:8,boxShadow:`0 4px 12px rgba(0,0,0,0.1)`,padding:6},children:(0,J.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`1fr 1fr`,gap:3},children:L9.map(a=>{let s=oGe(a,t,n,r),l=a===e,u=PX(a),d=c(a);return(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{s&&(i(a),o(!1))},disabled:!s,style:{display:`flex`,alignItems:`center`,gap:5,padding:`4px 8px`,fontSize:11,fontWeight:l?600:400,borderRadius:4,border:`1px solid`,borderColor:l?`var(--dc-primary, #3b82f6)`:`var(--dc-border, #e2e8f0)`,background:l?`var(--dc-surface-secondary, #f9fafb)`:`var(--dc-surface, #fff)`,color:s?l?`var(--dc-primary, #3b82f6)`:`var(--dc-text, #1e293b)`:`var(--dc-text-muted, #94a3b8)`,cursor:s?`pointer`:`not-allowed`,opacity:s?1:.5,textAlign:`left`},children:[(0,J.jsx)(u,{style:{width:14,height:14,flexShrink:0}}),(0,J.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:d})]},a)})})})]})}function dGe(e){if(e&&typeof e==`object`&&`content`in e){let t=e.content.find(e=>e.type===`text`);return t?.text?JSON.parse(t.text):`noTextContent`}return e&&typeof e==`object`&&`data`in e?e:typeof e==`string`?JSON.parse(e):e}function fGe(e){if(e&&`results`in e&&Array.isArray(e.results)){let t=e.results[0];if(t)return{data:t.data||[],query:t.query||e.query,annotation:t.annotation}}return e}function pGe(e){let t=dGe(e);if(t===`noTextContent`)return{ok:!1,error:`noTextContent`};let n=fGe(t);return!n?.data||!Array.isArray(n.data)?{ok:!1,error:`invalidResultFormat`}:{ok:!0,result:n}}var R9=e=>{let t=new Date(e);return t.setUTCHours(0,0,0,0),t},z9=e=>{let t=new Date(e);return t.setUTCHours(23,59,59,999),t},B9={today:({now:e})=>({start:R9(e),end:z9(e)}),yesterday:({now:e,utcDate:t})=>{let n=new Date(e);n.setUTCDate(t-1),n.setUTCHours(0,0,0,0);let r=new Date(e);return r.setUTCDate(t-1),r.setUTCHours(23,59,59,999),{start:n,end:r}},"this week":({now:e,utcDate:t,utcDay:n})=>{let r=n===0?-6:1-n,i=new Date(e);i.setUTCDate(t+r),i.setUTCHours(0,0,0,0);let a=new Date(i);return a.setUTCDate(i.getUTCDate()+6),a.setUTCHours(23,59,59,999),{start:i,end:a}},"this month":({utcYear:e,utcMonth:t})=>({start:new Date(Date.UTC(e,t,1,0,0,0,0)),end:new Date(Date.UTC(e,t+1,0,23,59,59,999))}),"this quarter":({utcYear:e,utcMonth:t})=>{let n=Math.floor(t/3);return{start:new Date(Date.UTC(e,n*3,1,0,0,0,0)),end:new Date(Date.UTC(e,n*3+3,0,23,59,59,999))}},"this year":({utcYear:e})=>({start:new Date(Date.UTC(e,0,1,0,0,0,0)),end:new Date(Date.UTC(e,11,31,23,59,59,999))}),"last week":({now:e,utcDate:t,utcDay:n})=>{let r=n===0?-13:-6-n,i=new Date(e);i.setUTCDate(t+r),i.setUTCHours(0,0,0,0);let a=new Date(i);return a.setUTCDate(i.getUTCDate()+6),a.setUTCHours(23,59,59,999),{start:i,end:a}},"last month":({utcYear:e,utcMonth:t})=>({start:new Date(Date.UTC(e,t-1,1,0,0,0,0)),end:new Date(Date.UTC(e,t,0,23,59,59,999))}),"last quarter":({utcYear:e,utcMonth:t})=>{let n=Math.floor(t/3),r=n===0?3:n-1,i=n===0?e-1:e;return{start:new Date(Date.UTC(i,r*3,1,0,0,0,0)),end:new Date(Date.UTC(i,r*3+3,0,23,59,59,999))}},"last year":({utcYear:e})=>({start:new Date(Date.UTC(e-1,0,1,0,0,0,0)),end:new Date(Date.UTC(e-1,11,31,23,59,59,999))}),"last 12 months":({now:e,utcYear:t,utcMonth:n})=>({start:new Date(Date.UTC(t,n-11,1,0,0,0,0)),end:z9(e)})},mGe=[{re:/^last\s+(\d+)\s+days?$/,build:(e,{now:t,utcDate:n})=>{let r=new Date(t);return r.setUTCDate(n-e+1),r.setUTCHours(0,0,0,0),{start:r,end:z9(t)}}},{re:/^last\s+(\d+)\s+weeks?$/,build:(e,{now:t,utcDate:n})=>{let r=new Date(t);return r.setUTCDate(n-e*7+1),r.setUTCHours(0,0,0,0),{start:r,end:z9(t)}}},{re:/^last\s+(\d+)\s+months?$/,build:(e,{now:t,utcYear:n,utcMonth:r})=>({start:new Date(Date.UTC(n,r-e+1,1,0,0,0,0)),end:z9(t)})},{re:/^last\s+(\d+)\s+quarters?$/,build:(e,{now:t,utcYear:n,utcMonth:r})=>({start:new Date(Date.UTC(n,(Math.floor(r/3)-e+1)*3,1,0,0,0,0)),end:z9(t)})},{re:/^last\s+(\d+)\s+years?$/,build:(e,{now:t,utcYear:n})=>({start:new Date(Date.UTC(n-e,0,1,0,0,0,0)),end:z9(t)})}],hGe=({now:e,utcDate:t,utcDay:n})=>{let r=new Date(e);return r.setUTCDate(t+(n===0?-6:1-n)),r.setUTCHours(0,0,0,0),r},V9={tomorrow:({now:e,utcDate:t})=>{let n=new Date(e);n.setUTCDate(t+1),n.setUTCHours(0,0,0,0);let r=new Date(n);return r.setUTCHours(23,59,59,999),{start:n,end:r}},"next week":e=>{let t=hGe(e);t.setUTCDate(t.getUTCDate()+7);let n=new Date(t);return n.setUTCDate(t.getUTCDate()+6),n.setUTCHours(23,59,59,999),{start:t,end:n}},"next month":({utcYear:e,utcMonth:t})=>({start:new Date(Date.UTC(e,t+1,1,0,0,0,0)),end:new Date(Date.UTC(e,t+2,0,23,59,59,999))}),"next quarter":({utcYear:e,utcMonth:t})=>{let n=(Math.floor(t/3)+1)*3;return{start:new Date(Date.UTC(e,n,1,0,0,0,0)),end:new Date(Date.UTC(e,n+3,0,23,59,59,999))}},"next year":({utcYear:e})=>({start:new Date(Date.UTC(e+1,0,1,0,0,0,0)),end:new Date(Date.UTC(e+1,11,31,23,59,59,999))})};function H9(e){let t=new Date,n=e.toLowerCase().trim(),r={now:t,utcYear:t.getUTCFullYear(),utcMonth:t.getUTCMonth(),utcDate:t.getUTCDate(),utcDay:t.getUTCDay()},i=Object.prototype.hasOwnProperty.call(B9,n)?B9[n]:Object.prototype.hasOwnProperty.call(V9,n)?V9[n]:void 0;if(i)return i(r);for(let{re:e,build:t}of mGe){let i=n.match(e);if(i)return t(parseInt(i[1],10),r)}return null}var gGe=1e4;function _Ge(e,t,n){let r=[],i=U9(new Date(e),n),a=U9(new Date(t),n);for(;i<=a&&r.length<1e4;)r.push(new Date(i)),i=vGe(i,n);return r}function U9(e,t){let n=new Date(e);switch(t){case`second`:n.setUTCMilliseconds(0);break;case`minute`:n.setUTCSeconds(0,0);break;case`hour`:n.setUTCMinutes(0,0,0);break;case`day`:n.setUTCHours(0,0,0,0);break;case`week`:{let e=n.getUTCDay(),t=e===0?6:e-1;n.setUTCDate(n.getUTCDate()-t),n.setUTCHours(0,0,0,0);break}case`month`:n.setUTCDate(1),n.setUTCHours(0,0,0,0);break;case`quarter`:{let e=Math.floor(n.getUTCMonth()/3)*3;n.setUTCMonth(e,1),n.setUTCHours(0,0,0,0);break}case`year`:n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)}return n}function vGe(e,t){let n=new Date(e);switch(t){case`second`:n.setUTCSeconds(n.getUTCSeconds()+1);break;case`minute`:n.setUTCMinutes(n.getUTCMinutes()+1);break;case`hour`:n.setUTCHours(n.getUTCHours()+1);break;case`day`:n.setUTCDate(n.getUTCDate()+1);break;case`week`:n.setUTCDate(n.getUTCDate()+7);break;case`month`:n.setUTCMonth(n.getUTCMonth()+1);break;case`quarter`:n.setUTCMonth(n.getUTCMonth()+3);break;case`year`:n.setUTCFullYear(n.getUTCFullYear()+1)}return n}function yGe(e,t){let n=null;if(e instanceof Date)n=e;else if(typeof e==`string`){let t=new Date(e);isNaN(t.getTime())||(n=t)}return!n||isNaN(n.getTime())?null:U9(n,t).toISOString()}function bGe(e,t){return t.length===0?`__all__`:t.map(t=>String(e[t]??``)).join(`|||`)}function xGe(e,t){let{timeDimensionKey:n,granularity:r,dateRange:i,dimensions:a}=t,o=_Ge(i[0],i[1],r);if(o.length===0)return e;if(o.length>=1e4)return console.warn(`[drizzle-cube] Skipping gap filling for "${n}": the ${r} range exceeds the ${gGe}-bucket limit. Returning unfilled data.`),e;let s=SGe(e,n,r,a),c=[];for(let[e,n]of s){let e=n.size>0?n.values().next().value:null;for(let r of o){let i=r.toISOString(),a=n.get(i);c.push(a??CGe(i,e??null,t))}}return c}function SGe(e,t,n,r){let i=new Map;for(let a of e){let e=bGe(a,r),o=yGe(a[t],n)??String(a[t]),s=i.get(e);s||(s=new Map,i.set(e,s)),s.set(o,a)}return i.size===0&&r.length===0&&i.set(`__all__`,new Map),i}function CGe(e,t,n){let{timeDimensionKey:r,fillValue:i,measures:a,dimensions:o}=n,s={[r]:e};if(t)for(let e of o)s[e]=t[e];for(let e of a)s[e]=i;return s}function W9(e){if(!e)return null;if(typeof e!=`string`){if(e.length<2)return null;let t=new Date(String(e[0])),n=new Date(String(e[1]));return isNaN(t.getTime())||isNaN(n.getTime())?null:[t,n]}let t=H9(e);if(t)return[t.start,t.end];let n=new Date(e);return isNaN(n.getTime())?null:[n,n]}function wGe(e,t,n,r){if(!t.timeDimensions||t.timeDimensions.length===0)return e;let i=t.timeDimensions.filter(e=>{let n=!!e.granularity,i=e.dateRange||G9(e.dimension,t.filters);return n&&!!i&&r(e)});if(i.length===0)return e;let a=t.fillMissingDatesValue===void 0?0:t.fillMissingDatesValue,o=new Set(t.timeDimensions.map(e=>e.dimension)),s=(t.dimensions||[]).filter(e=>!o.has(e)),c=e;for(let e of i){let r=W9(e.dateRange)||TGe(e.dimension,t.filters);if(!r)continue;let i={timeDimensionKey:e.dimension,granularity:e.granularity,dateRange:r,fillValue:a,measures:n,dimensions:s};c=xGe(c,i)}return c}function G9(e,t){if(!t)return null;for(let n of t){if(`member`in n&&`operator`in n&&n.member===e&&n.operator===`inDateRange`)return n;if(`and`in n&&n.and){let t=G9(e,n.and);if(t)return t}if(`or`in n&&n.or){let t=G9(e,n.or);if(t)return t}}return null}function TGe(e,t){let n=G9(e,t);if(!n)return null;if(n.dateRange){let e=W9(n.dateRange);if(e)return e}let r=n.values;if(!r||r.length===0)return null;if(r.length===1&&typeof r[0]==`string`){let e=H9(r[0]);return e?[e.start,e.end]:W9(r)}return r.length>=2?W9(r):null}function EGe(e,t,n,r={}){if(t.ungrouped)return e;let i=r.fillMissingDates===`auto`?void 0:r.fillMissingDates;return wGe(e,t,t.measures??[],e=>e.compareDateRange?.length?!1:e.fillMissingDates??i??n?.timeDimensions?.[e.dimension]?.fillMissingDates??!0)}var DGe=G([q(`light`),q(`dark`)]).describe(`Color theme preference for the host environment.`),K9=G([q(`inline`),q(`fullscreen`),q(`pip`)]).describe(`Display mode for UI presentation.`),OGe=K(G([q(`--color-background-primary`),q(`--color-background-secondary`),q(`--color-background-tertiary`),q(`--color-background-inverse`),q(`--color-background-ghost`),q(`--color-background-info`),q(`--color-background-danger`),q(`--color-background-success`),q(`--color-background-warning`),q(`--color-background-disabled`),q(`--color-text-primary`),q(`--color-text-secondary`),q(`--color-text-tertiary`),q(`--color-text-inverse`),q(`--color-text-ghost`),q(`--color-text-info`),q(`--color-text-danger`),q(`--color-text-success`),q(`--color-text-warning`),q(`--color-text-disabled`),q(`--color-border-primary`),q(`--color-border-secondary`),q(`--color-border-tertiary`),q(`--color-border-inverse`),q(`--color-border-ghost`),q(`--color-border-info`),q(`--color-border-danger`),q(`--color-border-success`),q(`--color-border-warning`),q(`--color-border-disabled`),q(`--color-ring-primary`),q(`--color-ring-secondary`),q(`--color-ring-inverse`),q(`--color-ring-info`),q(`--color-ring-danger`),q(`--color-ring-success`),q(`--color-ring-warning`),q(`--font-sans`),q(`--font-mono`),q(`--font-weight-normal`),q(`--font-weight-medium`),q(`--font-weight-semibold`),q(`--font-weight-bold`),q(`--font-text-xs-size`),q(`--font-text-sm-size`),q(`--font-text-md-size`),q(`--font-text-lg-size`),q(`--font-heading-xs-size`),q(`--font-heading-sm-size`),q(`--font-heading-md-size`),q(`--font-heading-lg-size`),q(`--font-heading-xl-size`),q(`--font-heading-2xl-size`),q(`--font-heading-3xl-size`),q(`--font-text-xs-line-height`),q(`--font-text-sm-line-height`),q(`--font-text-md-line-height`),q(`--font-text-lg-line-height`),q(`--font-heading-xs-line-height`),q(`--font-heading-sm-line-height`),q(`--font-heading-md-line-height`),q(`--font-heading-lg-line-height`),q(`--font-heading-xl-line-height`),q(`--font-heading-2xl-line-height`),q(`--font-heading-3xl-line-height`),q(`--border-radius-xs`),q(`--border-radius-sm`),q(`--border-radius-md`),q(`--border-radius-lg`),q(`--border-radius-xl`),q(`--border-radius-full`),q(`--border-width-regular`),q(`--shadow-hairline`),q(`--shadow-sm`),q(`--shadow-md`),q(`--shadow-lg`)]).describe(`CSS variable keys available to MCP apps for theming.`).describe(`Style variables for theming MCP apps.
336
336
 
337
337
  Individual style keys are optional - hosts may provide any subset of these values.
338
338
  Values are strings containing CSS values (colors, sizes, font stacks, etc.).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-cube",
3
- "version": "0.11.0",
3
+ "version": "0.11.2",
4
4
  "description": "Drizzle ORM-first semantic layer with Cube.js compatibility. Type-safe analytics and dashboards with SQL injection protection.",
5
5
  "main": "./dist/server/index.js",
6
6
  "types": "./dist/server/index.d.ts",