drizzle-cube 0.5.7 → 0.6.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.
Files changed (541) hide show
  1. package/README.md +2 -0
  2. package/dist/adapters/adapters/hono/agent-handler.d.ts +9 -0
  3. package/dist/adapters/adapters/hono/mcp-handler.d.ts +37 -0
  4. package/dist/adapters/adapters/mcp-tools-handlers.d.ts +18 -0
  5. package/dist/adapters/adapters/nextjs/mcp-handler.d.ts +36 -0
  6. package/dist/adapters/{utils.d.ts → adapters/utils.d.ts} +6 -81
  7. package/dist/adapters/express/index.cjs +1 -1
  8. package/dist/adapters/express/index.js +50 -50
  9. package/dist/adapters/fastify/index.cjs +1 -1
  10. package/dist/adapters/fastify/index.js +78 -78
  11. package/dist/adapters/google-BOnRIN1w.cjs +2 -0
  12. package/dist/{server/google-CFYljAOF.js → adapters/google-CvKM9yVM.js} +83 -71
  13. package/dist/adapters/{handler-Dz1F4iwf.js → handler-CfgE0JSL.js} +515 -578
  14. package/dist/adapters/handler-Cn0dOctE.cjs +25 -0
  15. package/dist/adapters/hono/index.cjs +2 -2
  16. package/dist/adapters/hono/index.js +208 -178
  17. package/dist/adapters/locale-DDvZDFVn.js +8114 -0
  18. package/dist/adapters/locale-ZLUUNUxr.cjs +166 -0
  19. package/dist/adapters/mcp-tools.cjs +1 -1
  20. package/dist/adapters/mcp-tools.js +49 -38
  21. package/dist/adapters/mcp-transport-Chiaj4ll.cjs +40 -0
  22. package/dist/adapters/mcp-transport-H96VG3WY.js +591 -0
  23. package/dist/adapters/nextjs/index.cjs +1 -1
  24. package/dist/adapters/nextjs/index.js +190 -197
  25. package/dist/{server/openai-y7GhJNdn.js → adapters/openai-B5jEiqiB.js} +776 -719
  26. package/dist/adapters/openai-D0musiYP.cjs +17 -0
  27. package/dist/{server/openai-DiVskd89.js → adapters/openai-cDlFSTk6.js} +61 -59
  28. package/dist/adapters/openai-vXvLni8v.cjs +1 -0
  29. package/dist/adapters/{utils-DosuoabY.js → utils-BPWZsX7k.js} +1285 -1220
  30. package/dist/adapters/utils-_whV4fXL.cjs +128 -0
  31. package/dist/adapters/utils.cjs +1 -1
  32. package/dist/adapters/utils.js +2 -2
  33. package/dist/client/charts/ChartLoader.d.ts +3 -17
  34. package/dist/client/charts/chartComponentRegistry.d.ts +46 -0
  35. package/dist/client/charts/chartConfigHelpers.d.ts +38 -0
  36. package/dist/client/charts.js +14 -13
  37. package/dist/client/chunks/{DashboardEditModal-6KRE36mm.js → DashboardEditModal-okVfH8ZK.js} +5446 -4486
  38. package/dist/client/chunks/DashboardEditModal-okVfH8ZK.js.map +1 -0
  39. package/dist/client/chunks/{RetentionCombinedChart-CCpu0C-s.js → RetentionCombinedChart-BgbDhsPz.js} +10 -10
  40. package/dist/client/chunks/{RetentionCombinedChart-CCpu0C-s.js.map → RetentionCombinedChart-BgbDhsPz.js.map} +1 -1
  41. package/dist/client/chunks/{RetentionHeatmap-B24PiIfr.js → RetentionHeatmap-DjXZaTPq.js} +5 -5
  42. package/dist/client/chunks/{RetentionHeatmap-B24PiIfr.js.map → RetentionHeatmap-DjXZaTPq.js.map} +1 -1
  43. package/dist/client/chunks/analysis-builder-DB88FojM.js +5674 -0
  44. package/dist/client/chunks/analysis-builder-DB88FojM.js.map +1 -0
  45. package/dist/client/chunks/{analysis-builder-shared-x576-O5p.js → analysis-builder-shared-BVK4TYfR.js} +1578 -1292
  46. package/dist/client/chunks/analysis-builder-shared-BVK4TYfR.js.map +1 -0
  47. package/dist/client/chunks/{chart-activity-grid-CiHrLH6Y.js → chart-activity-grid-DX0SJbxs.js} +642 -494
  48. package/dist/client/chunks/chart-activity-grid-DX0SJbxs.js.map +1 -0
  49. package/dist/client/chunks/chart-area-of01_62R.js +775 -0
  50. package/dist/client/chunks/chart-area-of01_62R.js.map +1 -0
  51. package/dist/client/chunks/chart-bar-BqelQE_I.js +194 -0
  52. package/dist/client/chunks/chart-bar-BqelQE_I.js.map +1 -0
  53. package/dist/client/chunks/{chart-box-plot-Bu9hy-17.js → chart-box-plot-kkBixZ27.js} +2 -2
  54. package/dist/client/chunks/{chart-box-plot-Bu9hy-17.js.map → chart-box-plot-kkBixZ27.js.map} +1 -1
  55. package/dist/client/chunks/chart-bubble-B2he1--4.js +221 -0
  56. package/dist/client/chunks/chart-bubble-B2he1--4.js.map +1 -0
  57. package/dist/client/chunks/{chart-candlestick-Dau5AF4E.js → chart-candlestick-DZp19Tzh.js} +2 -2
  58. package/dist/client/chunks/{chart-candlestick-Dau5AF4E.js.map → chart-candlestick-DZp19Tzh.js.map} +1 -1
  59. package/dist/client/chunks/chart-config-area-BNigHUy8.js +124 -0
  60. package/dist/client/chunks/chart-config-area-BNigHUy8.js.map +1 -0
  61. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js +54 -0
  62. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js.map +1 -0
  63. package/dist/client/chunks/{chart-config-box-plot-DJ-dWWXA.js → chart-config-box-plot-oW8axV2q.js} +5 -10
  64. package/dist/client/chunks/chart-config-box-plot-oW8axV2q.js.map +1 -0
  65. package/dist/client/chunks/{chart-config-gauge-DSwC04l0.js → chart-config-gauge-Dq-_H9UN.js} +5 -7
  66. package/dist/client/chunks/chart-config-gauge-Dq-_H9UN.js.map +1 -0
  67. package/dist/client/chunks/{chart-config-kpi-delta-D6BIkHL3.js → chart-config-kpi-delta-DSQbvqu_.js} +5 -10
  68. package/dist/client/chunks/chart-config-kpi-delta-DSQbvqu_.js.map +1 -0
  69. package/dist/client/chunks/{chart-config-kpi-number-Bx-V9a62.js → chart-config-kpi-number-EFSWY1We.js} +5 -7
  70. package/dist/client/chunks/chart-config-kpi-number-EFSWY1We.js.map +1 -0
  71. package/dist/client/chunks/{chart-config-kpi-text-CcqC1u-8.js → chart-config-kpi-text-KM3V5X2u.js} +5 -7
  72. package/dist/client/chunks/chart-config-kpi-text-KM3V5X2u.js.map +1 -0
  73. package/dist/client/chunks/{chart-config-line-Db3jDsWc.js → chart-config-line-D6jG8PCH.js} +9 -36
  74. package/dist/client/chunks/chart-config-line-D6jG8PCH.js.map +1 -0
  75. package/dist/client/chunks/{chart-config-pie-DD4SmRTF.js → chart-config-pie-BhzW-fdn.js} +6 -16
  76. package/dist/client/chunks/chart-config-pie-BhzW-fdn.js.map +1 -0
  77. package/dist/client/chunks/{chart-config-radar-CC2XAaGr.js → chart-config-radar-D7REP1q_.js} +6 -16
  78. package/dist/client/chunks/chart-config-radar-D7REP1q_.js.map +1 -0
  79. package/dist/client/chunks/{chart-config-radial-bar-DmxKx1R0.js → chart-config-radial-bar-Byx6qOPU.js} +6 -16
  80. package/dist/client/chunks/chart-config-radial-bar-Byx6qOPU.js.map +1 -0
  81. package/dist/client/chunks/{chart-config-tree-map-BI-oQStO.js → chart-config-tree-map-DVrvf3yQ.js} +6 -16
  82. package/dist/client/chunks/chart-config-tree-map-DVrvf3yQ.js.map +1 -0
  83. package/dist/client/chunks/{chart-config-waterfall-DSnyixbI.js → chart-config-waterfall-DmFeQdIk.js} +5 -10
  84. package/dist/client/chunks/chart-config-waterfall-DmFeQdIk.js.map +1 -0
  85. package/dist/client/chunks/{chart-data-table-Cm5jrpaw.js → chart-data-table-CKauQXme.js} +1046 -1121
  86. package/dist/client/chunks/chart-data-table-CKauQXme.js.map +1 -0
  87. package/dist/client/chunks/{chart-funnel-Eke8IPtG.js → chart-funnel-CToKSBaL.js} +184 -222
  88. package/dist/client/chunks/chart-funnel-CToKSBaL.js.map +1 -0
  89. package/dist/client/chunks/chart-gauge-DTVezSk7.js +403 -0
  90. package/dist/client/chunks/chart-gauge-DTVezSk7.js.map +1 -0
  91. package/dist/client/chunks/chart-heat-map-DTuUl0BR.js +236 -0
  92. package/dist/client/chunks/chart-heat-map-DTuUl0BR.js.map +1 -0
  93. package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js +408 -0
  94. package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js.map +1 -0
  95. package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js +244 -0
  96. package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js.map +1 -0
  97. package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js +185 -0
  98. package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js.map +1 -0
  99. package/dist/client/chunks/chart-line-DKgrQA6c.js +101 -0
  100. package/dist/client/chunks/chart-line-DKgrQA6c.js.map +1 -0
  101. package/dist/client/chunks/{chart-markdown-BPW-EAm9.js → chart-markdown-CV75S_zL.js} +1359 -1240
  102. package/dist/client/chunks/chart-markdown-CV75S_zL.js.map +1 -0
  103. package/dist/client/chunks/{chart-measure-profile-BI3kADCp.js → chart-measure-profile-Ket8fJyf.js} +7 -7
  104. package/dist/client/chunks/{chart-measure-profile-BI3kADCp.js.map → chart-measure-profile-Ket8fJyf.js.map} +1 -1
  105. package/dist/client/chunks/chart-pie-ByieAX5H.js +119 -0
  106. package/dist/client/chunks/chart-pie-ByieAX5H.js.map +1 -0
  107. package/dist/client/chunks/chart-radar-CiSwHWp4.js +138 -0
  108. package/dist/client/chunks/chart-radar-CiSwHWp4.js.map +1 -0
  109. package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js +122 -0
  110. package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js.map +1 -0
  111. package/dist/client/chunks/{chart-sankey-CFzjGvZX.js → chart-sankey-DjrvKw6K.js} +36 -39
  112. package/dist/client/chunks/{chart-sankey-CFzjGvZX.js.map → chart-sankey-DjrvKw6K.js.map} +1 -1
  113. package/dist/client/chunks/chart-scatter-Dd9WFqnS.js +258 -0
  114. package/dist/client/chunks/chart-scatter-Dd9WFqnS.js.map +1 -0
  115. package/dist/client/chunks/{chart-sunburst-91Q2tzaB.js → chart-sunburst-leGpuDj7.js} +3 -3
  116. package/dist/client/chunks/{chart-sunburst-91Q2tzaB.js.map → chart-sunburst-leGpuDj7.js.map} +1 -1
  117. package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js +323 -0
  118. package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js.map +1 -0
  119. package/dist/client/chunks/{chart-waterfall-DcHbbPaG.js → chart-waterfall-DyvQReN5.js} +7 -7
  120. package/dist/client/chunks/{chart-waterfall-DcHbbPaG.js.map → chart-waterfall-DyvQReN5.js.map} +1 -1
  121. package/dist/client/chunks/{charts-core-CrBDYN6N.js → charts-core-DaXSt1Dd.js} +2 -2
  122. package/dist/client/chunks/{charts-core-CrBDYN6N.js.map → charts-core-DaXSt1Dd.js.map} +1 -1
  123. package/dist/client/chunks/charts-loader-DdTeCeNo.js +84 -0
  124. package/dist/client/chunks/charts-loader-DdTeCeNo.js.map +1 -0
  125. package/dist/client/chunks/{core-DsAWNRRv.js → core-D7vPfUIe.js} +2 -2
  126. package/dist/client/chunks/{core-DsAWNRRv.js.map → core-D7vPfUIe.js.map} +1 -1
  127. package/dist/client/chunks/{nl-NL-oyr2wENY.js → nl-NL-2zTAWTej.js} +8 -2
  128. package/dist/client/chunks/{nl-NL-oyr2wENY.js.map → nl-NL-2zTAWTej.js.map} +1 -1
  129. package/dist/client/chunks/retention-ChW9jYdy.js.map +1 -1
  130. package/dist/client/chunks/{schema-visualization-BszcrmZX.js → schema-visualization-Cb_E9_Gd.js} +12 -12
  131. package/dist/client/chunks/{schema-visualization-BszcrmZX.js.map → schema-visualization-Cb_E9_Gd.js.map} +1 -1
  132. package/dist/client/chunks/{useDirtyStateTracking-B5wCDJSj.js → useDirtyStateTracking-MbpxH_v6.js} +95 -84
  133. package/dist/client/chunks/useDirtyStateTracking-MbpxH_v6.js.map +1 -0
  134. package/dist/client/chunks/{useExplainAI-CCeCYzDm.js → useExplainAI-evnZkjCY.js} +14 -14
  135. package/dist/client/chunks/{useExplainAI-CCeCYzDm.js.map → useExplainAI-evnZkjCY.js.map} +1 -1
  136. package/dist/client/chunks/{utils-kqa-JIMg.js → utils-3P6z1vz5.js} +3 -3
  137. package/dist/client/chunks/{utils-kqa-JIMg.js.map → utils-3P6z1vz5.js.map} +1 -1
  138. package/dist/client/chunks/{vendor-0hJNlZXQ.js → vendor-DSpR0IW6.js} +43 -43
  139. package/dist/client/chunks/{vendor-0hJNlZXQ.js.map → vendor-DSpR0IW6.js.map} +1 -1
  140. package/dist/client/components/AgenticNotebook/agentChatParts.d.ts +34 -0
  141. package/dist/client/components/AgenticNotebook/chatMessageParts.d.ts +39 -0
  142. package/dist/client/components/AgenticNotebook/useAgentChatController.d.ts +25 -0
  143. package/dist/client/components/AgenticNotebook/useNotebookAutosave.d.ts +12 -0
  144. package/dist/client/components/AnalysisBuilder/AnalysisAIPanel.d.ts +1 -1
  145. package/dist/client/components/AnalysisBuilder/AnalysisAxisDropZone.d.ts +1 -1
  146. package/dist/client/components/AnalysisBuilder/AnalysisChartConfigPanel.d.ts +1 -1
  147. package/dist/client/components/AnalysisBuilder/AnalysisDisplayConfigPanel.d.ts +1 -1
  148. package/dist/client/components/AnalysisBuilder/AnalysisFilterGroup.d.ts +1 -1
  149. package/dist/client/components/AnalysisBuilder/AnalysisFilterItem.d.ts +1 -1
  150. package/dist/client/components/AnalysisBuilder/AnalysisFilterSection.d.ts +1 -1
  151. package/dist/client/components/AnalysisBuilder/AnalysisModeErrorBoundary.d.ts +1 -1
  152. package/dist/client/components/AnalysisBuilder/AnalysisQueryPanelParts.d.ts +64 -0
  153. package/dist/client/components/AnalysisBuilder/AnalysisResultsHeader.d.ts +67 -0
  154. package/dist/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +13 -0
  155. package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +26 -0
  156. package/dist/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +10 -0
  157. package/dist/client/components/AnalysisBuilder/ExecutionPlanPanelParts.d.ts +22 -0
  158. package/dist/client/components/AnalysisBuilder/ExplainAIPanel.d.ts +2 -1
  159. package/dist/client/components/AnalysisBuilder/FieldDetailPanel.d.ts +1 -1
  160. package/dist/client/components/AnalysisBuilder/FieldSearchItem.d.ts +1 -1
  161. package/dist/client/components/AnalysisBuilder/FieldSearchModal.d.ts +1 -1
  162. package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +16 -0
  163. package/dist/client/components/AnalysisBuilder/FilterConfigModal.d.ts +2 -1
  164. package/dist/client/components/AnalysisBuilder/FilterValueInput.d.ts +63 -0
  165. package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +10 -0
  166. package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +7 -0
  167. package/dist/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +8 -0
  168. package/dist/client/components/AnalysisBuilder/LimitSection.d.ts +1 -1
  169. package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +23 -0
  170. package/dist/client/components/AnalysisBuilder/SectionHeading.d.ts +1 -1
  171. package/dist/client/components/AnalysisBuilder/SortToggleButton.d.ts +13 -0
  172. package/dist/client/components/AnalysisBuilder/StringArrayInput.d.ts +17 -0
  173. package/dist/client/components/AnalysisBuilder/filterConfigModalUtils.d.ts +30 -0
  174. package/dist/client/components/AnalysisBuilder/hooks/useAnalysisBuilderImperativeHandle.d.ts +13 -0
  175. package/dist/client/components/AnalysisBuilder/hooks/useDragReorder.d.ts +25 -0
  176. package/dist/client/components/AnalysisBuilder/hooks/useFieldSearchKeyboard.d.ts +11 -0
  177. package/dist/client/components/AnalysisBuilder/utils/axisConfigUtils.d.ts +23 -0
  178. package/dist/client/components/AnalysisBuilder/utils/executionPlanMarkdown.d.ts +8 -0
  179. package/dist/client/components/AnalysisBuilder/utils/fieldUtils.d.ts +5 -0
  180. package/dist/client/components/AnalysisBuilder/utils/resultsPanelDerive.d.ts +68 -0
  181. package/dist/client/components/AnalysisBuilder/utils/shareStateUtils.d.ts +68 -0
  182. package/dist/client/components/AnalysisBuilder/utils/sortUtils.d.ts +7 -0
  183. package/dist/client/components/AnalyticsDashboard.d.ts +1 -1
  184. package/dist/client/components/AnalyticsPage.d.ts +1 -1
  185. package/dist/client/components/ChartErrorBoundary.d.ts +1 -1
  186. package/dist/client/components/ChartTypeSelector.d.ts +1 -1
  187. package/dist/client/components/ColorPaletteSelector.d.ts +1 -1
  188. package/dist/client/components/DashboardEditModal.d.ts +2 -1
  189. package/dist/client/components/DashboardFilters/CompactFilterBarParts.d.ts +26 -0
  190. package/dist/client/components/DashboardFilters/DashboardFilterConfigModal.d.ts +1 -1
  191. package/dist/client/components/DashboardFilters/DashboardFilterConfigModalParts.d.ts +27 -0
  192. package/dist/client/components/DashboardFilters/DashboardFilterItem.d.ts +1 -1
  193. package/dist/client/components/DashboardFilters/DashboardFilterValueInput.d.ts +39 -0
  194. package/dist/client/components/DashboardFilters/dashboardFilterConfigModalUtils.d.ts +21 -0
  195. package/dist/client/components/DashboardFilters/useCompactFilterBar.d.ts +19 -0
  196. package/dist/client/components/DashboardFilters/useDashboardFilterConfigModal.d.ts +69 -0
  197. package/dist/client/components/DashboardFilters/useDateRangeState.d.ts +19 -0
  198. package/dist/client/components/DashboardFilters/useFilterDropdowns.d.ts +21 -0
  199. package/dist/client/components/DashboardFilters/useFilterValueFetch.d.ts +23 -0
  200. package/dist/client/components/DashboardGrid.d.ts +1 -1
  201. package/dist/client/components/DashboardPortletCard.d.ts +2 -57
  202. package/dist/client/components/DashboardThumbnailPlaceholder.d.ts +1 -1
  203. package/dist/client/components/DataBrowser/DataBrowserSidebar.d.ts +1 -1
  204. package/dist/client/components/DataBrowser/DataBrowserToolbar.d.ts +1 -1
  205. package/dist/client/components/DataBrowser/index.d.ts +1 -1
  206. package/dist/client/components/DataHistogram.d.ts +1 -1
  207. package/dist/client/components/DebugModal.d.ts +1 -1
  208. package/dist/client/components/DrillBreadcrumb.d.ts +2 -1
  209. package/dist/client/components/LoadingIndicator.d.ts +1 -1
  210. package/dist/client/components/MobileStackedLayout.d.ts +1 -1
  211. package/dist/client/components/PortletAnalysisModal.d.ts +1 -1
  212. package/dist/client/components/PortletContainer.d.ts +1 -1
  213. package/dist/client/components/PortletFilterConfigModal.d.ts +6 -4
  214. package/dist/client/components/RowManagedLayout.d.ts +1 -1
  215. package/dist/client/components/ScaledGridWrapper.d.ts +1 -1
  216. package/dist/client/components/SchemaVisualization/CubeNode.d.ts +1 -1
  217. package/dist/client/components/SchemaVisualization/FieldDetailPanel.d.ts +1 -1
  218. package/dist/client/components/SchemaVisualization/RelationshipEdge.d.ts +1 -1
  219. package/dist/client/components/SchemaVisualization/SchemaVisualizationLazy.d.ts +1 -1
  220. package/dist/client/components/SchemaVisualization/index.d.ts +1 -1
  221. package/dist/client/components/TextPortletModal.d.ts +1 -1
  222. package/dist/client/components/analyticsPortlet/PortletChart.d.ts +31 -0
  223. package/dist/client/components/analyticsPortlet/PortletChartView.d.ts +35 -0
  224. package/dist/client/components/analyticsPortlet/PortletStates.d.ts +65 -0
  225. package/dist/client/components/analyticsPortlet/parsePortletQuery.d.ts +22 -0
  226. package/dist/client/components/analyticsPortlet/portletRenderState.d.ts +31 -0
  227. package/dist/client/components/analyticsPortlet/usePortletDebugData.d.ts +37 -0
  228. package/dist/client/components/analyticsPortlet/usePortletDrillState.d.ts +17 -0
  229. package/dist/client/components/analyticsPortlet/usePortletQueryResults.d.ts +37 -0
  230. package/dist/client/components/charts/ActivityGridChart.helpers.d.ts +33 -0
  231. package/dist/client/components/charts/ActivityGridChart.render.d.ts +31 -0
  232. package/dist/client/components/charts/AxisFormatControls.d.ts +5 -3
  233. package/dist/client/components/charts/BarChart.helpers.d.ts +23 -0
  234. package/dist/client/components/charts/BarSeries.d.ts +29 -0
  235. package/dist/client/components/charts/BubbleChart.helpers.d.ts +43 -0
  236. package/dist/client/components/charts/BubbleChart.render.d.ts +21 -0
  237. package/dist/client/components/charts/ChartContainer.d.ts +1 -1
  238. package/dist/client/components/charts/ChartLegend.d.ts +1 -1
  239. package/dist/client/components/charts/ChartStates.d.ts +38 -0
  240. package/dist/client/components/charts/ChartTooltip.d.ts +1 -1
  241. package/dist/client/components/charts/FunnelChart.helpers.d.ts +25 -0
  242. package/dist/client/components/charts/FunnelViews.d.ts +16 -0
  243. package/dist/client/components/charts/HeatMapCanvas.d.ts +25 -0
  244. package/dist/client/components/charts/HeatMapChart.helpers.d.ts +64 -0
  245. package/dist/client/components/charts/KpiDelta.helpers.d.ts +20 -0
  246. package/dist/client/components/charts/KpiNumber.helpers.d.ts +30 -0
  247. package/dist/client/components/charts/KpiStates.d.ts +19 -0
  248. package/dist/client/components/charts/MissingDependencyFallback.d.ts +1 -1
  249. package/dist/client/components/charts/ScatterChart.helpers.d.ts +43 -0
  250. package/dist/client/components/charts/ScatterSeries.d.ts +17 -0
  251. package/dist/client/components/charts/ScatterTooltip.d.ts +21 -0
  252. package/dist/client/components/charts/TreeMapChart.helpers.d.ts +37 -0
  253. package/dist/client/components/charts/TreeMapContent.d.ts +24 -0
  254. package/dist/client/components/charts/TreeMapLegend.d.ts +13 -0
  255. package/dist/client/components/charts/cartesianChartHelpers.d.ts +126 -0
  256. package/dist/client/components/charts/chartAxisResolution.d.ts +32 -0
  257. package/dist/client/components/charts/chartScaffolding.d.ts +77 -0
  258. package/dist/client/components/charts/gaugeChartHelpers.d.ts +36 -0
  259. package/dist/client/components/charts/kpiTextHelpers.d.ts +46 -0
  260. package/dist/client/components/charts/radarChartHelpers.d.ts +14 -0
  261. package/dist/client/components/charts/radialBarChartHelpers.d.ts +22 -0
  262. package/dist/client/components/charts/useChartDimensions.d.ts +20 -0
  263. package/dist/client/components/charts/useKpiDimensions.d.ts +30 -0
  264. package/dist/client/components/dashboard/DashboardContext.d.ts +2 -2
  265. package/dist/client/components/dashboard/DashboardCoordinator.d.ts +1 -1
  266. package/dist/client/components/dashboard/DashboardEditBar.d.ts +5 -0
  267. package/dist/client/components/dashboard/DashboardFilterBar.d.ts +1 -1
  268. package/dist/client/components/dashboard/DashboardGridSurface.d.ts +1 -1
  269. package/dist/client/components/dashboard/DashboardModals.d.ts +1 -1
  270. package/dist/client/components/dashboard/DashboardProvider.d.ts +1 -1
  271. package/dist/client/components/dashboard/DashboardToolbar.d.ts +1 -1
  272. package/dist/client/components/dashboard/LayoutModeToggle.d.ts +10 -0
  273. package/dist/client/components/dashboard/dashboardGridUtils.d.ts +1 -1
  274. package/dist/client/components/dashboardPortletCard/FilterFieldChip.d.ts +12 -0
  275. package/dist/client/components/dashboardPortletCard/PortletCardHeader.d.ts +43 -0
  276. package/dist/client/components/dashboardPortletCard/cardStyles.d.ts +33 -0
  277. package/dist/client/components/dashboardPortletCard/filterField.d.ts +12 -0
  278. package/dist/client/components/dashboardPortletCard/propsEqual.d.ts +55 -0
  279. package/dist/client/components/dashboardPortletCard/usePortletCardActions.d.ts +16 -0
  280. package/dist/client/components/portletAnalysisModal/saveValidation.d.ts +8 -0
  281. package/dist/client/components/shared/dateRangeUtils.d.ts +40 -0
  282. package/dist/client/components/shared/filterDisplayUtils.d.ts +10 -0
  283. package/dist/client/components/shared/filterItem/FilterDateRangeSelector.d.ts +17 -0
  284. package/dist/client/components/shared/filterItem/FilterFieldDropdown.d.ts +16 -0
  285. package/dist/client/components/shared/filterItem/dateRangeSync.d.ts +14 -0
  286. package/dist/client/components/shared/filterItem/fieldVisuals.d.ts +5 -0
  287. package/dist/client/components/shared/filterValueSelector/FilterValueInputs.d.ts +55 -0
  288. package/dist/client/components/shared/filterValueSelector/useFilterValueSelectorState.d.ts +25 -0
  289. package/dist/client/components/shared/queryFieldUtils.d.ts +21 -0
  290. package/dist/client/components/shared/utils.d.ts +4 -43
  291. package/dist/client/components.js +3 -3
  292. package/dist/client/hooks/agentChatStream.d.ts +39 -0
  293. package/dist/client/hooks/analysisQueryExecutionModes.d.ts +133 -0
  294. package/dist/client/hooks/dashboard/useDashboardController.d.ts +2 -2
  295. package/dist/client/hooks/drillNavigation.d.ts +25 -0
  296. package/dist/client/hooks/useDashboardHook.d.ts +2 -2
  297. package/dist/client/hooks.js +3 -3
  298. package/dist/client/icons.d.ts +1 -1
  299. package/dist/client/icons.js +2 -2
  300. package/dist/client/index.js +816 -669
  301. package/dist/client/index.js.map +1 -1
  302. package/dist/client/providers/CubeApiProvider.d.ts +1 -1
  303. package/dist/client/providers/CubeFeaturesProvider.d.ts +1 -1
  304. package/dist/client/providers/CubeMetaProvider.d.ts +1 -1
  305. package/dist/client/providers/CubeProvider.d.ts +1 -1
  306. package/dist/client/providers/I18nProvider.d.ts +1 -1
  307. package/dist/client/providers.js +3 -3
  308. package/dist/client/schema.js +1 -1
  309. package/dist/client/shared/chartConfigBuilders.d.ts +18 -0
  310. package/dist/client/shared/components/QueryAnalysisPanel.sections.d.ts +41 -0
  311. package/dist/client/shared/queryTransforms.d.ts +20 -0
  312. package/dist/client/shared/utils.d.ts +2 -4
  313. package/dist/client/stores/analysisBuilderStore.d.ts +1 -1
  314. package/dist/client/stores/dashboardStore.d.ts +1 -1
  315. package/dist/client/stores/dataBrowserStore.d.ts +1 -1
  316. package/dist/client/stores/notebookStore.d.ts +1 -1
  317. package/dist/client/stores/optionsToAnalysisConfig.d.ts +17 -0
  318. package/dist/client/styles.css +1 -1
  319. package/dist/client/types/drill.d.ts +1 -1
  320. package/dist/client/types.d.ts +7 -2
  321. package/dist/client/utils/axisValueFormatting.d.ts +32 -0
  322. package/dist/client/utils/drillQueryBuilder.d.ts +2 -2
  323. package/dist/client/utils/filterUtils.d.ts +33 -5
  324. package/dist/client/utils/joinReachability.d.ts +27 -0
  325. package/dist/client/utils/timeValueFormatting.d.ts +32 -0
  326. package/dist/client/utils.js +6 -6
  327. package/dist/client-bundle-stats.html +1 -1
  328. package/dist/mcp-app/mcp-app.html +55 -55
  329. package/dist/server/google-BOnRIN1w.cjs +2 -0
  330. package/dist/{adapters/google-CFYljAOF.js → server/google-CvKM9yVM.js} +83 -71
  331. package/dist/server/index.cjs +179 -211
  332. package/dist/server/index.d.ts +2 -5050
  333. package/dist/server/index.js +6360 -6462
  334. package/dist/{adapters/openai-y7GhJNdn.js → server/openai-B5jEiqiB.js} +776 -719
  335. package/dist/server/openai-D0musiYP.cjs +17 -0
  336. package/dist/{adapters/openai-DiVskd89.js → server/openai-cDlFSTk6.js} +61 -59
  337. package/dist/server/openai-vXvLni8v.cjs +1 -0
  338. package/dist/server/server/adapters/base-adapter.d.ts +332 -0
  339. package/dist/server/server/adapters/databend-adapter.d.ts +63 -0
  340. package/dist/server/server/adapters/duckdb-adapter.d.ts +68 -0
  341. package/dist/server/server/adapters/mysql-adapter.d.ts +65 -0
  342. package/dist/server/server/adapters/postgres-adapter.d.ts +55 -0
  343. package/dist/server/server/adapters/singlestore-adapter.d.ts +4 -0
  344. package/dist/server/server/adapters/snowflake-adapter.d.ts +53 -0
  345. package/dist/server/server/adapters/sqlite-adapter.d.ts +120 -0
  346. package/dist/server/server/adapters/window-function-builder.d.ts +11 -0
  347. package/dist/server/server/agent/chart-validation.d.ts +22 -0
  348. package/dist/server/server/agent/handler-steps.d.ts +37 -0
  349. package/dist/server/server/agent/handler.d.ts +25 -0
  350. package/dist/server/server/agent/index.d.ts +11 -0
  351. package/dist/server/server/agent/providers/anthropic.d.ts +24 -0
  352. package/dist/server/server/agent/providers/factory.d.ts +12 -0
  353. package/dist/server/server/agent/providers/google.d.ts +23 -0
  354. package/dist/server/server/agent/providers/index.d.ts +6 -0
  355. package/dist/server/server/agent/providers/openai.d.ts +26 -0
  356. package/dist/server/server/agent/providers/types.d.ts +95 -0
  357. package/dist/server/server/agent/system-prompt.d.ts +5 -0
  358. package/dist/server/server/agent/tools.d.ts +28 -0
  359. package/dist/server/server/agent/types.d.ts +192 -0
  360. package/dist/server/server/ai/discovery-helpers.d.ts +29 -0
  361. package/dist/server/server/ai/discovery.d.ts +66 -0
  362. package/dist/server/server/ai/index.d.ts +10 -0
  363. package/dist/server/server/ai/mcp-prompts.d.ts +83 -0
  364. package/dist/server/server/ai/query-schema.d.ts +258 -0
  365. package/dist/server/server/ai/schemas.d.ts +63 -0
  366. package/dist/server/server/ai/suggestion-helpers.d.ts +33 -0
  367. package/dist/server/server/ai/suggestion.d.ts +16 -0
  368. package/dist/server/server/ai/validation-helpers.d.ts +21 -0
  369. package/dist/server/server/ai/validation.d.ts +31 -0
  370. package/dist/server/server/builders/analysis-utils.d.ts +106 -0
  371. package/dist/server/server/builders/comparison-query-builder.d.ts +70 -0
  372. package/dist/server/server/builders/cte-builder.d.ts +108 -0
  373. package/dist/server/server/builders/date-time-builder.d.ts +34 -0
  374. package/dist/server/server/builders/date-time-helpers.d.ts +34 -0
  375. package/dist/server/server/builders/filter-builder.d.ts +25 -0
  376. package/dist/server/server/builders/filter-operators.d.ts +23 -0
  377. package/dist/server/server/builders/flow-query-builder.d.ts +136 -0
  378. package/dist/server/server/builders/funnel-query-builder.d.ts +145 -0
  379. package/dist/server/server/builders/group-by-builder.d.ts +38 -0
  380. package/dist/server/server/builders/index.d.ts +13 -0
  381. package/dist/server/server/builders/measure-builder.d.ts +185 -0
  382. package/dist/server/server/builders/retention-query-builder.d.ts +98 -0
  383. package/dist/server/server/cache-providers/index.d.ts +5 -0
  384. package/dist/server/server/cache-providers/memory.d.ts +105 -0
  385. package/dist/server/server/cache-utils.d.ts +85 -0
  386. package/dist/server/server/compiler-metadata.d.ts +11 -0
  387. package/dist/server/server/compiler.d.ts +212 -0
  388. package/dist/server/server/cube-utils.d.ts +158 -0
  389. package/dist/server/server/database-utils.d.ts +18 -0
  390. package/dist/server/server/execution/annotation-builder.d.ts +12 -0
  391. package/dist/server/server/execution/filter-cache-preloader.d.ts +19 -0
  392. package/dist/server/server/execution/mode-router.d.ts +25 -0
  393. package/dist/server/server/execution/query-result-cache.d.ts +21 -0
  394. package/dist/server/server/execution/result-post-processor.d.ts +10 -0
  395. package/dist/server/server/executor.d.ts +186 -0
  396. package/dist/server/server/executors/base-executor.d.ts +16 -0
  397. package/dist/server/server/executors/databend-executor.d.ts +33 -0
  398. package/dist/server/server/executors/duckdb-executor.d.ts +33 -0
  399. package/dist/server/server/executors/explain-utils.d.ts +28 -0
  400. package/dist/server/server/executors/index.d.ts +21 -0
  401. package/dist/server/server/executors/mysql-executor.d.ts +27 -0
  402. package/dist/server/server/executors/postgres-executor.d.ts +27 -0
  403. package/dist/server/server/executors/singlestore-executor.d.ts +9 -0
  404. package/dist/server/server/executors/snowflake-executor.d.ts +33 -0
  405. package/dist/server/server/executors/sqlite-executor.d.ts +28 -0
  406. package/dist/server/server/explain/databend-parser.d.ts +16 -0
  407. package/dist/server/server/explain/duckdb-parser.d.ts +28 -0
  408. package/dist/server/server/explain/explain-tree.d.ts +20 -0
  409. package/dist/server/server/explain/index.d.ts +9 -0
  410. package/dist/server/server/explain/mysql-parser.d.ts +38 -0
  411. package/dist/server/server/explain/postgres-parser.d.ts +18 -0
  412. package/dist/server/server/explain/snowflake-parser.d.ts +17 -0
  413. package/dist/server/server/explain/sqlite-parser.d.ts +23 -0
  414. package/dist/server/server/filter-cache.d.ts +73 -0
  415. package/dist/server/server/gap-filler.d.ts +48 -0
  416. package/dist/server/server/index.d.ts +38 -0
  417. package/dist/server/server/logical-plan/cte-planner-helpers.d.ts +37 -0
  418. package/dist/server/server/logical-plan/cte-planner.d.ts +104 -0
  419. package/dist/server/server/logical-plan/filter-propagation.d.ts +44 -0
  420. package/dist/server/server/logical-plan/index.d.ts +19 -0
  421. package/dist/server/server/logical-plan/join-planner.d.ts +27 -0
  422. package/dist/server/server/logical-plan/logical-plan-builder.d.ts +58 -0
  423. package/dist/server/server/logical-plan/logical-planner.d.ts +39 -0
  424. package/dist/server/server/logical-plan/optimiser.d.ts +34 -0
  425. package/dist/server/server/logical-plan/plan-analysis-reporter.d.ts +59 -0
  426. package/dist/server/server/logical-plan/planner-utils.d.ts +20 -0
  427. package/dist/server/server/logical-plan/types.d.ts +199 -0
  428. package/dist/server/server/measure-classification.d.ts +40 -0
  429. package/dist/server/server/physical-plan/drizzle-plan-builder.d.ts +50 -0
  430. package/dist/server/server/physical-plan/drizzle-sql-builder.d.ts +118 -0
  431. package/dist/server/server/physical-plan/index.d.ts +2 -0
  432. package/dist/server/server/physical-plan/processors/cte-processor.d.ts +6 -0
  433. package/dist/server/server/physical-plan/processors/index.d.ts +8 -0
  434. package/dist/server/server/physical-plan/processors/joins-processor.d.ts +6 -0
  435. package/dist/server/server/physical-plan/processors/keys-dedup-processor.d.ts +13 -0
  436. package/dist/server/server/physical-plan/processors/multi-fact-processor.d.ts +13 -0
  437. package/dist/server/server/physical-plan/processors/predicates-processor.d.ts +6 -0
  438. package/dist/server/server/physical-plan/processors/selection-processor.d.ts +6 -0
  439. package/dist/server/server/physical-plan/processors/shared.d.ts +38 -0
  440. package/dist/server/server/physical-plan/processors/window-processor.d.ts +6 -0
  441. package/dist/server/server/prompts/explain-analysis-prompt.d.ts +47 -0
  442. package/dist/server/server/prompts/index.d.ts +27 -0
  443. package/dist/server/server/prompts/single-step-prompt.d.ts +31 -0
  444. package/dist/server/server/prompts/step0-validation-prompt.d.ts +39 -0
  445. package/dist/server/server/prompts/step1-shape-prompt.d.ts +29 -0
  446. package/dist/server/server/prompts/step2-complete-prompt.d.ts +19 -0
  447. package/dist/server/server/prompts/types.d.ts +37 -0
  448. package/dist/server/server/query-handlers.d.ts +79 -0
  449. package/dist/server/server/query-modes.d.ts +28 -0
  450. package/dist/server/server/query-validator.d.ts +9 -0
  451. package/dist/server/server/resolvers/calculated-measure-resolver.d.ts +98 -0
  452. package/dist/server/server/resolvers/index.d.ts +6 -0
  453. package/dist/server/server/resolvers/join-path-resolver.d.ts +158 -0
  454. package/dist/server/server/sql-format.d.ts +11 -0
  455. package/dist/server/server/template-substitution.d.ts +57 -0
  456. package/dist/server/server/types/analysis.d.ts +189 -0
  457. package/dist/server/server/types/cache.d.ts +132 -0
  458. package/dist/server/server/types/core.d.ts +164 -0
  459. package/dist/server/server/types/cube.d.ts +544 -0
  460. package/dist/server/server/types/executor.d.ts +156 -0
  461. package/dist/server/server/types/flow.d.ts +144 -0
  462. package/dist/server/server/types/funnel.d.ts +118 -0
  463. package/dist/server/server/types/index.d.ts +11 -0
  464. package/dist/server/server/types/metadata.d.ts +113 -0
  465. package/dist/server/server/types/query.d.ts +153 -0
  466. package/dist/server/server/types/retention.d.ts +141 -0
  467. package/dist/server/server/types/utils.d.ts +11 -0
  468. package/dist/server/server/types/validation.d.ts +14 -0
  469. package/package.json +15 -8
  470. package/dist/adapters/google-DUlXeeDA.cjs +0 -2
  471. package/dist/adapters/handler-C63rJUUK.cjs +0 -25
  472. package/dist/adapters/locale-CTNwPVZI.cjs +0 -198
  473. package/dist/adapters/locale-gU_d1Wja.js +0 -8249
  474. package/dist/adapters/mcp-transport-C4J4SAcn.cjs +0 -40
  475. package/dist/adapters/mcp-transport-CVUiifEc.js +0 -579
  476. package/dist/adapters/openai-6wrBvAnv.cjs +0 -1
  477. package/dist/adapters/openai-BDwb2u7y.cjs +0 -17
  478. package/dist/adapters/utils-CkEkU8Bo.cjs +0 -128
  479. package/dist/client/chunks/DashboardEditModal-6KRE36mm.js.map +0 -1
  480. package/dist/client/chunks/analysis-builder-shared-x576-O5p.js.map +0 -1
  481. package/dist/client/chunks/analysis-builder-zd48FVJO.js +0 -5367
  482. package/dist/client/chunks/analysis-builder-zd48FVJO.js.map +0 -1
  483. package/dist/client/chunks/chart-activity-grid-CiHrLH6Y.js.map +0 -1
  484. package/dist/client/chunks/chart-area-CXFK-Grv.js +0 -450
  485. package/dist/client/chunks/chart-area-CXFK-Grv.js.map +0 -1
  486. package/dist/client/chunks/chart-bar-DKXfLoGG.js +0 -271
  487. package/dist/client/chunks/chart-bar-DKXfLoGG.js.map +0 -1
  488. package/dist/client/chunks/chart-bubble-DGkTQlxM.js +0 -273
  489. package/dist/client/chunks/chart-bubble-DGkTQlxM.js.map +0 -1
  490. package/dist/client/chunks/chart-config-area-Bq_UsW3x.js +0 -101
  491. package/dist/client/chunks/chart-config-area-Bq_UsW3x.js.map +0 -1
  492. package/dist/client/chunks/chart-config-bar-_JEGZnAu.js +0 -95
  493. package/dist/client/chunks/chart-config-bar-_JEGZnAu.js.map +0 -1
  494. package/dist/client/chunks/chart-config-box-plot-DJ-dWWXA.js.map +0 -1
  495. package/dist/client/chunks/chart-config-gauge-DSwC04l0.js.map +0 -1
  496. package/dist/client/chunks/chart-config-kpi-delta-D6BIkHL3.js.map +0 -1
  497. package/dist/client/chunks/chart-config-kpi-number-Bx-V9a62.js.map +0 -1
  498. package/dist/client/chunks/chart-config-kpi-text-CcqC1u-8.js.map +0 -1
  499. package/dist/client/chunks/chart-config-line-Db3jDsWc.js.map +0 -1
  500. package/dist/client/chunks/chart-config-pie-DD4SmRTF.js.map +0 -1
  501. package/dist/client/chunks/chart-config-radar-CC2XAaGr.js.map +0 -1
  502. package/dist/client/chunks/chart-config-radial-bar-DmxKx1R0.js.map +0 -1
  503. package/dist/client/chunks/chart-config-tree-map-BI-oQStO.js.map +0 -1
  504. package/dist/client/chunks/chart-config-waterfall-DSnyixbI.js.map +0 -1
  505. package/dist/client/chunks/chart-data-table-Cm5jrpaw.js.map +0 -1
  506. package/dist/client/chunks/chart-funnel-Eke8IPtG.js.map +0 -1
  507. package/dist/client/chunks/chart-gauge-DeRZNsyl.js +0 -424
  508. package/dist/client/chunks/chart-gauge-DeRZNsyl.js.map +0 -1
  509. package/dist/client/chunks/chart-heat-map-C86thSJ4.js +0 -231
  510. package/dist/client/chunks/chart-heat-map-C86thSJ4.js.map +0 -1
  511. package/dist/client/chunks/chart-kpi-delta-CxOYD2f1.js +0 -343
  512. package/dist/client/chunks/chart-kpi-delta-CxOYD2f1.js.map +0 -1
  513. package/dist/client/chunks/chart-kpi-number-C6gWz-x4.js +0 -322
  514. package/dist/client/chunks/chart-kpi-number-C6gWz-x4.js.map +0 -1
  515. package/dist/client/chunks/chart-kpi-text-dDONrhS-.js +0 -149
  516. package/dist/client/chunks/chart-kpi-text-dDONrhS-.js.map +0 -1
  517. package/dist/client/chunks/chart-line-r4iWevKZ.js +0 -433
  518. package/dist/client/chunks/chart-line-r4iWevKZ.js.map +0 -1
  519. package/dist/client/chunks/chart-markdown-BPW-EAm9.js.map +0 -1
  520. package/dist/client/chunks/chart-pie-yqH2YVEI.js +0 -172
  521. package/dist/client/chunks/chart-pie-yqH2YVEI.js.map +0 -1
  522. package/dist/client/chunks/chart-radar-B-_3v-rE.js +0 -154
  523. package/dist/client/chunks/chart-radar-B-_3v-rE.js.map +0 -1
  524. package/dist/client/chunks/chart-radial-bar-C0EgzfAF.js +0 -148
  525. package/dist/client/chunks/chart-radial-bar-C0EgzfAF.js.map +0 -1
  526. package/dist/client/chunks/chart-scatter-DZPirzwX.js +0 -255
  527. package/dist/client/chunks/chart-scatter-DZPirzwX.js.map +0 -1
  528. package/dist/client/chunks/chart-tree-map-Bi4axCvh.js +0 -298
  529. package/dist/client/chunks/chart-tree-map-Bi4axCvh.js.map +0 -1
  530. package/dist/client/chunks/useDirtyStateTracking-B5wCDJSj.js.map +0 -1
  531. package/dist/server/google-DUlXeeDA.cjs +0 -2
  532. package/dist/server/openai-6wrBvAnv.cjs +0 -1
  533. package/dist/server/openai-BDwb2u7y.cjs +0 -17
  534. /package/dist/adapters/{express → adapters/express}/index.d.ts +0 -0
  535. /package/dist/adapters/{fastify → adapters/fastify}/index.d.ts +0 -0
  536. /package/dist/adapters/{hono → adapters/hono}/index.d.ts +0 -0
  537. /package/dist/adapters/{locale.d.ts → adapters/locale.d.ts} +0 -0
  538. /package/dist/adapters/{mcp-tools.d.ts → adapters/mcp-tools.d.ts} +0 -0
  539. /package/dist/adapters/{mcp-transport.d.ts → adapters/mcp-transport.d.ts} +0 -0
  540. /package/dist/adapters/{nextjs → adapters/nextjs}/index.d.ts +0 -0
  541. /package/dist/adapters/{types.d.ts → adapters/types.d.ts} +0 -0
@@ -0,0 +1,120 @@
1
+ import { SQL, AnyColumn } from 'drizzle-orm';
2
+ import { TimeGranularity } from '../types';
3
+ import { BaseDatabaseAdapter, DatabaseCapabilities } from './base-adapter';
4
+ export declare class SQLiteAdapter extends BaseDatabaseAdapter {
5
+ getEngineType(): 'sqlite';
6
+ /**
7
+ * Build SQLite INTERVAL from ISO 8601 duration
8
+ * SQLite doesn't have native interval types, so we convert to seconds
9
+ * for arithmetic operations on Unix timestamps
10
+ */
11
+ buildIntervalFromISO(duration: string): SQL;
12
+ /**
13
+ * Build SQLite time difference in seconds
14
+ * SQLite timestamps are stored as Unix seconds, so simple subtraction works
15
+ * Returns (end - start) as seconds
16
+ */
17
+ buildTimeDifferenceSeconds(end: SQL, start: SQL): SQL;
18
+ /**
19
+ * Build SQLite timestamp + interval expression
20
+ * Since SQLite stores timestamps as Unix seconds, just add the seconds
21
+ */
22
+ buildDateAddInterval(timestamp: SQL, duration: string): SQL;
23
+ /**
24
+ * Build SQLite date difference in periods
25
+ * SQLite uses Julian day calculations for date arithmetic
26
+ * Note: SQLite timestamps are stored as Unix seconds
27
+ */
28
+ buildDateDiffPeriods(startDate: SQL, endDate: SQL, unit: 'day' | 'week' | 'month'): SQL;
29
+ /**
30
+ * Build SQLite period series using recursive CTE
31
+ * SQLite 3.8.3+ supports recursive CTEs for generating sequences
32
+ */
33
+ buildPeriodSeriesSubquery(maxPeriod: number): SQL;
34
+ /**
35
+ * Build SQLite time dimension using date/datetime functions with modifiers
36
+ * For integer timestamp columns (milliseconds), first convert to datetime
37
+ * SQLite doesn't have DATE_TRUNC like PostgreSQL, so we use strftime and date modifiers
38
+ * Returns datetime strings for consistency with other databases
39
+ */
40
+ buildTimeDimension(granularity: TimeGranularity, fieldExpr: AnyColumn | SQL): SQL;
41
+ /**
42
+ * SQLite has no ILIKE — use LOWER()+LIKE with the pattern lowercased in JS.
43
+ */
44
+ protected caseInsensitiveLike(fieldExpr: AnyColumn | SQL, pattern: string, negated: boolean): SQL;
45
+ /**
46
+ * SQLite regex requires loading an extension, so GLOB is used as a fallback.
47
+ */
48
+ protected regexCondition(fieldExpr: AnyColumn | SQL, value: string, negated: boolean): SQL;
49
+ /**
50
+ * Build SQLite type casting using CAST() function
51
+ * SQLite has dynamic typing but supports CAST for consistency
52
+ */
53
+ castToType(fieldExpr: AnyColumn | SQL, targetType: 'timestamp' | 'decimal' | 'integer'): SQL;
54
+ /**
55
+ * SQLite AVG uses IFNULL rather than COALESCE for null-to-zero handling.
56
+ */
57
+ protected nullToZero(expr: SQL): SQL;
58
+ /**
59
+ * Build SQLite CASE WHEN conditional expression.
60
+ * Unlike the base implementation, SQLite must detect embedded SQL objects in THEN/ELSE
61
+ * and inline them rather than binding them as parameters.
62
+ */
63
+ buildCaseWhen(conditions: Array<{
64
+ when: SQL;
65
+ then: any;
66
+ }>, elseValue?: any): SQL;
67
+ /**
68
+ * Build SQLite boolean literal
69
+ * SQLite uses 1/0 for true/false
70
+ */
71
+ buildBooleanLiteral(value: boolean): SQL;
72
+ /**
73
+ * Preprocess calculated measure templates for SQLite-specific handling
74
+ *
75
+ * SQLite performs integer division by default (5/2 = 2 instead of 2.5).
76
+ * This method wraps division operands with CAST to REAL to ensure float division.
77
+ *
78
+ * Pattern matched: {measure1} / {measure2} or {measure1} / NULLIF({measure2}, 0)
79
+ * Transforms to: CAST({measure1} AS REAL) / ...
80
+ *
81
+ * @param calculatedSql - Template string with {member} references
82
+ * @returns Preprocessed template with CAST for division operations
83
+ */
84
+ preprocessCalculatedTemplate(calculatedSql: string): string;
85
+ /**
86
+ * Convert filter values to SQLite-compatible types
87
+ * SQLite doesn't support boolean types - convert boolean to integer (1/0)
88
+ * Convert Date objects to milliseconds for integer timestamp columns
89
+ */
90
+ convertFilterValue(value: any): any;
91
+ /**
92
+ * Prepare date value for SQLite integer timestamp storage
93
+ * Convert Date objects to milliseconds (Unix timestamp * 1000)
94
+ */
95
+ prepareDateValue(date: Date): any;
96
+ /**
97
+ * SQLite stores timestamps as integers (milliseconds)
98
+ */
99
+ isTimestampInteger(): boolean;
100
+ /**
101
+ * SQLite has limited statistical support (no native STDDEV/VARIANCE/PERCENTILE)
102
+ * but supports window functions since SQLite 3.25
103
+ */
104
+ getCapabilities(): DatabaseCapabilities;
105
+ /**
106
+ * SQLite does not have native STDDEV
107
+ * Returns null for graceful degradation
108
+ */
109
+ buildStddev(_fieldExpr: AnyColumn | SQL, _useSample?: boolean): SQL | null;
110
+ /**
111
+ * SQLite does not have native VARIANCE
112
+ * Returns null for graceful degradation
113
+ */
114
+ buildVariance(_fieldExpr: AnyColumn | SQL, _useSample?: boolean): SQL | null;
115
+ /**
116
+ * SQLite does not have native PERCENTILE
117
+ * Returns null for graceful degradation
118
+ */
119
+ buildPercentile(_fieldExpr: AnyColumn | SQL, _percentile: number): SQL | null;
120
+ }
@@ -0,0 +1,11 @@
1
+ import { SQL, AnyColumn } from 'drizzle-orm';
2
+ import { WindowFunctionType, WindowFunctionConfig } from './base-adapter';
3
+ type FieldExpr = AnyColumn | SQL | null;
4
+ /** Build the full `OVER (...)` clause from partition/order/frame components. */
5
+ export declare function buildWindowOverClause(partitionBy?: (AnyColumn | SQL)[], orderBy?: Array<{
6
+ field: AnyColumn | SQL;
7
+ direction: 'asc' | 'desc';
8
+ }>, config?: WindowFunctionConfig): SQL;
9
+ /** Build the window function expression for a given type and pre-built OVER clause. */
10
+ export declare function buildWindowExpression(type: WindowFunctionType, fieldExpr: FieldExpr, over: SQL, config?: WindowFunctionConfig): SQL;
11
+ export {};
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Chart Config Validation for Agent Tool
3
+ *
4
+ * Validates chartConfig against drop zone requirements defined in the chart config registry.
5
+ * Auto-infers missing fields from the query structure.
6
+ * Builds per-chart-type guidance for the tool description.
7
+ */
8
+ interface ValidationResult {
9
+ isValid: boolean;
10
+ errors: string[];
11
+ }
12
+ /**
13
+ * Validate chartConfig against the chart type's drop zone requirements.
14
+ */
15
+ export declare function validateChartConfig(chartType: string, chartConfig: Record<string, unknown> | undefined, _query: Record<string, unknown>): ValidationResult;
16
+ export declare function inferChartConfig(chartType: string, chartConfig: Record<string, unknown> | undefined, query: Record<string, unknown>): Record<string, unknown>;
17
+ /**
18
+ * Build per-chart-type requirements text for the agent tool description.
19
+ * Includes description, useCase, and drop zone requirements for each chart type.
20
+ */
21
+ export declare function buildChartRequirementsDescription(allowedChartTypes: string[]): string;
22
+ export {};
@@ -0,0 +1,37 @@
1
+ import { AgentSSEEvent, AgentHistoryMessage, AgentConfig } from './types';
2
+ import { ContentBlock, InternalMessage, ToolResult, LLMProvider } from './providers/types';
3
+ import { ToolExecutionResult } from './tools';
4
+ type AgentObservability = AgentConfig['observability'];
5
+ type ToolExecutorMap = Map<string, (input: Record<string, unknown>) => Promise<ToolExecutionResult>>;
6
+ /** Push provider-formatted tool results onto the message list (array or single). */
7
+ export declare function pushFormattedResults(messages: InternalMessage[], formatted: unknown): void;
8
+ /** Run an observability callback, swallowing any error (must never break the agent). */
9
+ export declare function safeObserve(fn: (() => void) | undefined): void;
10
+ /** Rebuild conversation messages from stored history (e.g. after notebook reload). */
11
+ export declare function rebuildMessagesFromHistory(history: AgentHistoryMessage[] | undefined, provider: LLMProvider): InternalMessage[];
12
+ /** Accumulated result of consuming one assistant generation stream. */
13
+ export interface ConsumedStream {
14
+ contentBlocks: ContentBlock[];
15
+ stopReason: string;
16
+ inputTokens?: number;
17
+ outputTokens?: number;
18
+ }
19
+ /**
20
+ * Consume a provider's normalized stream, accumulating the assistant's content
21
+ * blocks and yielding text/tool SSE events. Returns the accumulated blocks,
22
+ * stop reason and token usage.
23
+ */
24
+ export declare function consumeAssistantStream(provider: LLMProvider, stream: AsyncIterable<unknown>): AsyncGenerator<AgentSSEEvent, ConsumedStream>;
25
+ /** Context shared across tool executions within a single turn. */
26
+ export interface ToolExecContext {
27
+ executor: ToolExecutorMap;
28
+ observability: AgentObservability;
29
+ traceId: string;
30
+ turn: number;
31
+ }
32
+ /**
33
+ * Execute all tool-use blocks in the assistant's response, yielding their SSE
34
+ * events and returning the collected ToolResults.
35
+ */
36
+ export declare function executeToolCalls(contentBlocks: ContentBlock[], ctx: ToolExecContext): AsyncGenerator<AgentSSEEvent, ToolResult[]>;
37
+ export {};
@@ -0,0 +1,25 @@
1
+ import { SemanticLayerCompiler } from '../compiler';
2
+ import { SecurityContext } from '../types';
3
+ import { AgentConfig, AgentSSEEvent, AgentHistoryMessage } from './types';
4
+ /**
5
+ * Handle an agent chat request, yielding SSE events as the agent works.
6
+ *
7
+ * Uses the configured LLM provider with streaming for edge-runtime compatibility.
8
+ * Implements a manual agentic loop: send messages → stream response → execute
9
+ * tool calls → append results → repeat until the model stops requesting tools.
10
+ */
11
+ export declare function handleAgentChat(options: {
12
+ message: string;
13
+ sessionId?: string;
14
+ history?: AgentHistoryMessage[];
15
+ semanticLayer: SemanticLayerCompiler;
16
+ securityContext: SecurityContext;
17
+ agentConfig: AgentConfig;
18
+ apiKey: string;
19
+ /** Per-request context appended to the system prompt (e.g. user info, tenant context) */
20
+ systemContext?: string;
21
+ /** Per-request overrides from client headers (take precedence over agentConfig) */
22
+ providerOverride?: string;
23
+ modelOverride?: string;
24
+ baseURLOverride?: string;
25
+ }): AsyncGenerator<AgentSSEEvent>;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Agent Module - Public Exports
3
+ * Agentic AI notebook handler for drizzle-cube
4
+ */
5
+ export { handleAgentChat } from './handler';
6
+ export { getToolDefinitions, createToolExecutor } from './tools';
7
+ export type { ToolExecutionResult } from './tools';
8
+ export { buildAgentSystemPrompt } from './system-prompt';
9
+ export { createProvider } from './providers';
10
+ export type { LLMProvider, ProviderName } from './providers';
11
+ export type { AgentChatRequest, AgentConfig, AgentObservabilityHooks, AgentSSEEvent, AgentHistoryMessage, AgentHistoryToolCall, PortletBlockData, MarkdownBlockData, DashboardSavedData } from './types';
@@ -0,0 +1,24 @@
1
+ import { LLMProvider, ToolDefinition, InternalMessage, ToolResult, NormalizedEvent } from './types';
2
+ export declare class AnthropicProvider implements LLMProvider {
3
+ private client;
4
+ constructor(apiKey: string);
5
+ private apiKey;
6
+ private initialized;
7
+ private ensureClient;
8
+ createStream(params: {
9
+ model: string;
10
+ maxTokens: number;
11
+ system: string;
12
+ tools: ToolDefinition[];
13
+ messages: InternalMessage[];
14
+ }): Promise<AsyncIterable<unknown>>;
15
+ parseStreamEvents(stream: AsyncIterable<unknown>): AsyncGenerator<NormalizedEvent>;
16
+ formatTools(tools: ToolDefinition[]): unknown[];
17
+ formatMessages(messages: InternalMessage[], system: string): {
18
+ messages: unknown[];
19
+ system?: string;
20
+ };
21
+ formatToolResults(results: ToolResult[]): unknown;
22
+ shouldContinue(stopReason: string): boolean;
23
+ formatError(error: unknown): string;
24
+ }
@@ -0,0 +1,12 @@
1
+ import { LLMProvider } from './types';
2
+ export type ProviderName = 'anthropic' | 'openai' | 'google';
3
+ /**
4
+ * Create an LLM provider instance.
5
+ *
6
+ * @param provider - Provider name ('anthropic', 'openai', 'google')
7
+ * @param apiKey - API key for the provider
8
+ * @param options - Optional configuration (e.g. baseURL for OpenAI-compatible services)
9
+ */
10
+ export declare function createProvider(provider: ProviderName, apiKey: string, options?: {
11
+ baseURL?: string;
12
+ }): Promise<LLMProvider>;
@@ -0,0 +1,23 @@
1
+ import { LLMProvider, ToolDefinition, InternalMessage, ToolResult, NormalizedEvent } from './types';
2
+ export declare class GoogleProvider implements LLMProvider {
3
+ private apiKey;
4
+ private sdk;
5
+ private initialized;
6
+ constructor(apiKey: string);
7
+ private ensureSDK;
8
+ createStream(params: {
9
+ model: string;
10
+ maxTokens: number;
11
+ system: string;
12
+ tools: ToolDefinition[];
13
+ messages: InternalMessage[];
14
+ }): Promise<AsyncIterable<unknown>>;
15
+ parseStreamEvents(stream: AsyncIterable<unknown>): AsyncGenerator<NormalizedEvent>;
16
+ formatTools(tools: ToolDefinition[]): unknown[];
17
+ formatMessages(messages: InternalMessage[], _system: string): {
18
+ messages: unknown[];
19
+ };
20
+ formatToolResults(results: ToolResult[]): unknown;
21
+ shouldContinue(stopReason: string): boolean;
22
+ formatError(error: unknown): string;
23
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * LLM Provider exports
3
+ */
4
+ export type { LLMProvider, ToolDefinition, InternalMessage, ContentBlock, ToolResult, NormalizedEvent } from './types';
5
+ export type { ProviderName } from './factory';
6
+ export { createProvider } from './factory';
@@ -0,0 +1,26 @@
1
+ import { LLMProvider, ToolDefinition, InternalMessage, ToolResult, NormalizedEvent } from './types';
2
+ export declare class OpenAIProvider implements LLMProvider {
3
+ private client;
4
+ private apiKey;
5
+ private baseURL?;
6
+ private initialized;
7
+ constructor(apiKey: string, options?: {
8
+ baseURL?: string;
9
+ });
10
+ private ensureClient;
11
+ createStream(params: {
12
+ model: string;
13
+ maxTokens: number;
14
+ system: string;
15
+ tools: ToolDefinition[];
16
+ messages: InternalMessage[];
17
+ }): Promise<AsyncIterable<unknown>>;
18
+ parseStreamEvents(stream: AsyncIterable<unknown>): AsyncGenerator<NormalizedEvent>;
19
+ formatTools(tools: ToolDefinition[]): unknown[];
20
+ formatMessages(messages: InternalMessage[], system: string): {
21
+ messages: unknown[];
22
+ };
23
+ formatToolResults(results: ToolResult[]): unknown[];
24
+ shouldContinue(stopReason: string): boolean;
25
+ formatError(error: unknown): string;
26
+ }
@@ -0,0 +1,95 @@
1
+ /**
2
+ * LLM Provider Abstraction Types
3
+ * Provider-agnostic interfaces for multi-provider LLM support in the agentic notebook.
4
+ */
5
+ /**
6
+ * Generic tool definition (provider-agnostic).
7
+ * Each provider's formatTools() wraps this in its own format.
8
+ */
9
+ export interface ToolDefinition {
10
+ name: string;
11
+ description: string;
12
+ parameters: {
13
+ type: 'object';
14
+ properties: Record<string, unknown>;
15
+ required?: string[];
16
+ };
17
+ }
18
+ /**
19
+ * Provider-agnostic internal message format.
20
+ * The handler uses this for the conversation history; providers convert on the way in/out.
21
+ */
22
+ export interface InternalMessage {
23
+ role: 'user' | 'assistant' | 'tool_result';
24
+ content: string | ContentBlock[];
25
+ }
26
+ export interface ContentBlock {
27
+ type: 'text' | 'tool_use';
28
+ text?: string;
29
+ id?: string;
30
+ name?: string;
31
+ input?: Record<string, unknown>;
32
+ /** Provider-specific metadata (e.g. Gemini thoughtSignature) */
33
+ metadata?: Record<string, unknown>;
34
+ }
35
+ export interface ToolResult {
36
+ toolUseId: string;
37
+ /** Tool name — needed by some providers (e.g. Gemini's functionResponse) */
38
+ toolName?: string;
39
+ content: string;
40
+ isError?: boolean;
41
+ }
42
+ /**
43
+ * Normalized stream events consumed by the handler's agentic loop.
44
+ * Every provider must emit these — the handler never sees raw provider events.
45
+ */
46
+ export type NormalizedEvent = {
47
+ type: 'text_delta';
48
+ text: string;
49
+ } | {
50
+ type: 'tool_use_start';
51
+ id: string;
52
+ name: string;
53
+ metadata?: Record<string, unknown>;
54
+ } | {
55
+ type: 'tool_input_delta';
56
+ json: string;
57
+ } | {
58
+ type: 'tool_use_end';
59
+ id?: string;
60
+ input?: Record<string, unknown>;
61
+ } | {
62
+ type: 'message_meta';
63
+ inputTokens?: number;
64
+ outputTokens?: number;
65
+ stopReason: string;
66
+ };
67
+ /**
68
+ * The core provider interface.
69
+ * Each LLM provider implements these 7 methods to integrate with the agentic loop.
70
+ */
71
+ export interface LLMProvider {
72
+ /** Create a streaming API call and return the raw iterable. */
73
+ createStream(params: {
74
+ model: string;
75
+ maxTokens: number;
76
+ system: string;
77
+ tools: ToolDefinition[];
78
+ messages: InternalMessage[];
79
+ }): Promise<AsyncIterable<unknown>>;
80
+ /** Parse the raw stream into normalized events the handler understands. */
81
+ parseStreamEvents(stream: AsyncIterable<unknown>): AsyncGenerator<NormalizedEvent>;
82
+ /** Convert generic tool definitions to provider-specific format. */
83
+ formatTools(tools: ToolDefinition[]): unknown[];
84
+ /** Convert internal messages + system prompt to provider-specific format. */
85
+ formatMessages(messages: InternalMessage[], system: string): {
86
+ messages: unknown[];
87
+ system?: string;
88
+ };
89
+ /** Convert tool results to provider-specific format for appending as a user message. */
90
+ formatToolResults(results: ToolResult[]): unknown;
91
+ /** Return true if the stop reason means the model wants to continue (tool use). */
92
+ shouldContinue(stopReason: string): boolean;
93
+ /** Format a provider-specific error into a user-friendly message. */
94
+ formatError(error: unknown): string;
95
+ }
@@ -0,0 +1,5 @@
1
+ import { CubeMetadata } from '../types';
2
+ /**
3
+ * Build the full system prompt for the agent
4
+ */
5
+ export declare function buildAgentSystemPrompt(metadata: CubeMetadata[]): string;
@@ -0,0 +1,28 @@
1
+ import { SemanticLayerCompiler } from '../compiler';
2
+ import { SecurityContext } from '../types';
3
+ import { AgentSSEEvent } from './types';
4
+ import { ToolDefinition } from './providers/types';
5
+ /**
6
+ * Result of executing a tool call
7
+ */
8
+ export interface ToolExecutionResult {
9
+ /** String content to return as tool_result */
10
+ result: string;
11
+ /** Whether the tool call errored */
12
+ isError?: boolean;
13
+ /** Optional SSE event to emit as a side effect (add_portlet, add_markdown) */
14
+ sideEffect?: AgentSSEEvent;
15
+ }
16
+ /**
17
+ * Returns the array of tool definitions for the Anthropic Messages API.
18
+ * Plain JSON schema — no Zod dependency.
19
+ */
20
+ export declare function getToolDefinitions(): ToolDefinition[];
21
+ /**
22
+ * Create a tool executor map that closes over the semantic layer and security context.
23
+ * Returns a Map<toolName, handler> where each handler takes parsed input and returns a result.
24
+ */
25
+ export declare function createToolExecutor(options: {
26
+ semanticLayer: SemanticLayerCompiler;
27
+ securityContext: SecurityContext;
28
+ }): Map<string, (input: Record<string, unknown>) => Promise<ToolExecutionResult>>;
@@ -0,0 +1,192 @@
1
+ import { ChartType, ChartAxisConfig, ChartDisplayConfig, DashboardConfig } from '../../client/types';
2
+ /**
3
+ * A tool call from a prior conversation turn (for history replay)
4
+ */
5
+ export interface AgentHistoryToolCall {
6
+ id: string;
7
+ name: string;
8
+ input?: unknown;
9
+ result?: unknown;
10
+ status: 'running' | 'complete' | 'error';
11
+ }
12
+ /**
13
+ * A message from a prior conversation (for history replay)
14
+ */
15
+ export interface AgentHistoryMessage {
16
+ role: 'user' | 'assistant';
17
+ content: string;
18
+ toolCalls?: AgentHistoryToolCall[];
19
+ }
20
+ /**
21
+ * Request body for the agent chat endpoint
22
+ */
23
+ export interface AgentChatRequest {
24
+ /** User message to send to the agent */
25
+ message: string;
26
+ /** Session ID for multi-turn conversations */
27
+ sessionId?: string;
28
+ /** Prior conversation history for session continuity (e.g. after notebook reload) */
29
+ history?: AgentHistoryMessage[];
30
+ }
31
+ /**
32
+ * Observability hooks for tracing agent chat lifecycle events.
33
+ * Called synchronously (fire-and-forget) — implementations should not throw.
34
+ */
35
+ export interface AgentObservabilityHooks {
36
+ /** Called once when agent chat starts */
37
+ onChatStart?: (event: {
38
+ traceId: string;
39
+ sessionId?: string;
40
+ message: string;
41
+ model: string;
42
+ historyLength: number;
43
+ }) => void;
44
+ /** Called after each LLM API call completes */
45
+ onGenerationEnd?: (event: {
46
+ traceId: string;
47
+ turn: number;
48
+ model: string;
49
+ stopReason: string;
50
+ inputTokens?: number;
51
+ outputTokens?: number;
52
+ durationMs: number;
53
+ /** Messages array sent to the API */
54
+ input?: unknown;
55
+ /** Assistant content blocks from the response */
56
+ output?: unknown;
57
+ }) => void;
58
+ /** Called after each tool execution */
59
+ onToolEnd?: (event: {
60
+ traceId: string;
61
+ turn: number;
62
+ toolName: string;
63
+ toolUseId: string;
64
+ isError: boolean;
65
+ durationMs: number;
66
+ }) => void;
67
+ /** Called when agent chat completes */
68
+ onChatEnd?: (event: {
69
+ traceId: string;
70
+ sessionId?: string;
71
+ totalTurns: number;
72
+ durationMs: number;
73
+ error?: string;
74
+ }) => void;
75
+ }
76
+ /**
77
+ * Agent configuration options (provided in adapter options).
78
+ * Supports multiple LLM providers — defaults to Anthropic for backward compatibility.
79
+ * All providers use direct HTTP API calls — no subprocess spawning, fully edge-runtime compatible.
80
+ */
81
+ export interface AgentConfig {
82
+ /**
83
+ * LLM provider to use (default: 'anthropic').
84
+ * - 'anthropic': Claude models via @anthropic-ai/sdk
85
+ * - 'openai': OpenAI models via openai SDK (also supports Groq, Together, Mistral, Ollama via baseURL)
86
+ * - 'google': Gemini models via @google/generative-ai
87
+ */
88
+ provider?: 'anthropic' | 'openai' | 'google';
89
+ /**
90
+ * Base URL for OpenAI-compatible providers.
91
+ * Only used when provider is 'openai'. Examples:
92
+ * - Groq: 'https://api.groq.com/openai/v1'
93
+ * - Together: 'https://api.together.xyz/v1'
94
+ * - Ollama: 'http://localhost:11434/v1'
95
+ */
96
+ baseURL?: string;
97
+ /** Server-side API key for the selected provider */
98
+ apiKey?: string;
99
+ /** Model to use (default depends on provider: 'claude-sonnet-4-6' for Anthropic, 'gpt-4.1-mini' for OpenAI, 'gemini-3-flash-preview' for Google) */
100
+ model?: string;
101
+ /** Maximum agentic turns per request (default: 25) */
102
+ maxTurns?: number;
103
+ /** Maximum tokens per response (default: 4096) */
104
+ maxTokens?: number;
105
+ /** Allow X-Agent-Api-Key header to override server apiKey */
106
+ allowClientApiKey?: boolean;
107
+ /** Optional observability hooks for tracing */
108
+ observability?: AgentObservabilityHooks;
109
+ /**
110
+ * Build per-request system context for the LLM prompt from the authenticated security context.
111
+ * Called on every agent chat request with the resolved security context.
112
+ * The returned string is appended to the system prompt under "## User Context".
113
+ *
114
+ * @example
115
+ * buildSystemContext: (securityContext) =>
116
+ * `User: ${securityContext.userName}, Role: ${securityContext.role}`
117
+ */
118
+ buildSystemContext?: (securityContext: Record<string, unknown>) => string | undefined;
119
+ }
120
+ /**
121
+ * Data for an add_portlet tool call
122
+ */
123
+ export interface PortletBlockData {
124
+ id: string;
125
+ title: string;
126
+ query: string;
127
+ chartType: ChartType;
128
+ chartConfig?: ChartAxisConfig;
129
+ displayConfig?: ChartDisplayConfig;
130
+ }
131
+ /**
132
+ * Data for an add_markdown tool call
133
+ */
134
+ export interface MarkdownBlockData {
135
+ id: string;
136
+ title?: string;
137
+ content: string;
138
+ }
139
+ /**
140
+ * Data emitted when the agent saves a dashboard via the save_as_dashboard tool.
141
+ * The client receives this via SSE and can persist the config however it chooses.
142
+ */
143
+ export interface DashboardSavedData {
144
+ title: string;
145
+ description?: string;
146
+ dashboardConfig: DashboardConfig;
147
+ }
148
+ /**
149
+ * SSE events emitted by the agent handler
150
+ */
151
+ export type AgentSSEEvent = {
152
+ type: 'text_delta';
153
+ data: string;
154
+ } | {
155
+ type: 'tool_use_start';
156
+ data: {
157
+ id: string;
158
+ name: string;
159
+ input?: unknown;
160
+ };
161
+ } | {
162
+ type: 'tool_use_result';
163
+ data: {
164
+ id: string;
165
+ name: string;
166
+ result?: unknown;
167
+ isError?: boolean;
168
+ };
169
+ } | {
170
+ type: 'add_portlet';
171
+ data: PortletBlockData;
172
+ } | {
173
+ type: 'add_markdown';
174
+ data: MarkdownBlockData;
175
+ } | {
176
+ type: 'dashboard_saved';
177
+ data: DashboardSavedData;
178
+ } | {
179
+ type: 'turn_complete';
180
+ data: Record<string, never>;
181
+ } | {
182
+ type: 'done';
183
+ data: {
184
+ sessionId: string;
185
+ traceId?: string;
186
+ };
187
+ } | {
188
+ type: 'error';
189
+ data: {
190
+ message: string;
191
+ };
192
+ };