@sqlrooms/mosaic 0.29.0-rc.8 → 0.29.0-rc.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +84 -74
- package/dist/ai/agentIntent.d.ts +5 -0
- package/dist/ai/agentIntent.d.ts.map +1 -0
- package/dist/ai/agentIntent.js +8 -0
- package/dist/ai/agentIntent.js.map +1 -0
- package/dist/ai/block-document/constants.d.ts +9 -0
- package/dist/ai/block-document/constants.d.ts.map +1 -0
- package/dist/ai/block-document/constants.js +9 -0
- package/dist/ai/block-document/constants.js.map +1 -0
- package/dist/ai/block-document/createAddMosaicDashboardBlockTool.d.ts +48 -0
- package/dist/ai/block-document/createAddMosaicDashboardBlockTool.d.ts.map +1 -0
- package/dist/ai/block-document/createAddMosaicDashboardBlockTool.js +59 -0
- package/dist/ai/block-document/createAddMosaicDashboardBlockTool.js.map +1 -0
- package/dist/ai/block-document/createBlockDocumentChartTools.d.ts +19 -0
- package/dist/ai/block-document/createBlockDocumentChartTools.d.ts.map +1 -0
- package/dist/ai/block-document/createBlockDocumentChartTools.js +37 -0
- package/dist/ai/block-document/createBlockDocumentChartTools.js.map +1 -0
- package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.d.ts +32 -0
- package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.d.ts.map +1 -0
- package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.js +37 -0
- package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.js.map +1 -0
- package/dist/ai/constants.d.ts +3 -0
- package/dist/ai/constants.d.ts.map +1 -0
- package/dist/ai/constants.js +3 -0
- package/dist/ai/constants.js.map +1 -0
- package/dist/ai/createDataTableExplorerTool.d.ts +69 -0
- package/dist/ai/createDataTableExplorerTool.d.ts.map +1 -0
- package/dist/ai/createDataTableExplorerTool.js +68 -0
- package/dist/ai/createDataTableExplorerTool.js.map +1 -0
- package/dist/ai/dashboard/constants.d.ts +6 -0
- package/dist/ai/dashboard/constants.d.ts.map +1 -0
- package/dist/ai/dashboard/constants.js +6 -0
- package/dist/ai/dashboard/constants.js.map +1 -0
- package/dist/ai/dashboard/createDashboardAgentTool.d.ts +17 -0
- package/dist/ai/dashboard/createDashboardAgentTool.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardAgentTool.js +205 -0
- package/dist/ai/dashboard/createDashboardAgentTool.js.map +1 -0
- package/dist/ai/dashboard/createDashboardAiAdapter.d.ts +14 -0
- package/dist/ai/dashboard/createDashboardAiAdapter.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardAiAdapter.js +75 -0
- package/dist/ai/dashboard/createDashboardAiAdapter.js.map +1 -0
- package/dist/ai/dashboard/createDashboardAiTools.d.ts +26 -0
- package/dist/ai/dashboard/createDashboardAiTools.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardAiTools.js +40 -0
- package/dist/ai/dashboard/createDashboardAiTools.js.map +1 -0
- package/dist/ai/dashboard/createDashboardChartTools.d.ts +27 -0
- package/dist/ai/dashboard/createDashboardChartTools.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardChartTools.js +55 -0
- package/dist/ai/dashboard/createDashboardChartTools.js.map +1 -0
- package/dist/ai/dashboard/createDashboardDataTableExplorerTool.d.ts +23 -0
- package/dist/ai/dashboard/createDashboardDataTableExplorerTool.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardDataTableExplorerTool.js +29 -0
- package/dist/ai/dashboard/createDashboardDataTableExplorerTool.js.map +1 -0
- package/dist/ai/dashboard/createListDashboardPanelsTool.d.ts +28 -0
- package/dist/ai/dashboard/createListDashboardPanelsTool.d.ts.map +1 -0
- package/dist/ai/dashboard/createListDashboardPanelsTool.js +54 -0
- package/dist/ai/dashboard/createListDashboardPanelsTool.js.map +1 -0
- package/dist/ai/dashboard/dashboard-types.d.ts +59 -0
- package/dist/ai/dashboard/dashboard-types.d.ts.map +1 -0
- package/dist/ai/dashboard/dashboard-types.js +2 -0
- package/dist/ai/dashboard/dashboard-types.js.map +1 -0
- package/dist/ai/database-types.d.ts +12 -0
- package/dist/ai/database-types.d.ts.map +1 -0
- package/dist/ai/database-types.js +2 -0
- package/dist/ai/database-types.js.map +1 -0
- package/dist/ai/errors.d.ts +8 -0
- package/dist/ai/errors.d.ts.map +1 -0
- package/dist/ai/errors.js +11 -0
- package/dist/ai/errors.js.map +1 -0
- package/dist/ai/tool-helpers.d.ts +28 -29
- package/dist/ai/tool-helpers.d.ts.map +1 -1
- package/dist/ai/tool-helpers.js +38 -76
- package/dist/ai/tool-helpers.js.map +1 -1
- package/dist/ai/tool-schemas.d.ts +9 -4
- package/dist/ai/tool-schemas.d.ts.map +1 -1
- package/dist/ai/tool-schemas.js +12 -12
- package/dist/ai/tool-schemas.js.map +1 -1
- package/dist/ai/tool-types.d.ts +19 -1
- package/dist/ai/tool-types.d.ts.map +1 -1
- package/dist/ai/tool-types.js.map +1 -1
- package/dist/ai/types.d.ts +64 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +2 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/ai.d.ts +16 -2
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +14 -5
- package/dist/ai.js.map +1 -1
- package/dist/charts/MosaicChart.js +1 -1
- package/dist/charts/MosaicChart.js.map +1 -1
- package/dist/charts/MosaicChartView.d.ts.map +1 -1
- package/dist/charts/MosaicChartView.js +1 -2
- package/dist/charts/MosaicChartView.js.map +1 -1
- package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.d.ts.map +1 -1
- package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.js +2 -1
- package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.js.map +1 -1
- package/dist/charts/chart-settings/MosaicChartTypeSelector.d.ts.map +1 -1
- package/dist/charts/chart-settings/MosaicChartTypeSelector.js +4 -11
- package/dist/charts/chart-settings/MosaicChartTypeSelector.js.map +1 -1
- package/dist/charts/chart-types/base-types.d.ts +27 -23
- package/dist/charts/chart-types/base-types.d.ts.map +1 -1
- package/dist/charts/chart-types/base-types.js +3 -1
- package/dist/charts/chart-types/base-types.js.map +1 -1
- package/dist/charts/chart-types/box-plot/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/box-plot/definition.js +1 -0
- package/dist/charts/chart-types/box-plot/definition.js.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.d.ts +37 -3
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.d.ts.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.js +26 -6
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.js.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js +2 -2
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.d.ts +12 -1
- package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.d.ts.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.js +13 -3
- package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.js.map +1 -1
- package/dist/charts/chart-types/box-plot/tool.d.ts +20 -24
- package/dist/charts/chart-types/box-plot/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/box-plot/tool.js +25 -33
- package/dist/charts/chart-types/box-plot/tool.js.map +1 -1
- package/dist/charts/chart-types/box-plot/validation.d.ts +9 -0
- package/dist/charts/chart-types/box-plot/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/box-plot/validation.js +32 -0
- package/dist/charts/chart-types/box-plot/validation.js.map +1 -0
- package/dist/charts/chart-types/column-types.d.ts +8 -0
- package/dist/charts/chart-types/column-types.d.ts.map +1 -0
- package/dist/charts/chart-types/column-types.js +2 -0
- package/dist/charts/chart-types/column-types.js.map +1 -0
- package/dist/charts/chart-types/count-plot/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/count-plot/definition.js +1 -0
- package/dist/charts/chart-types/count-plot/definition.js.map +1 -1
- package/dist/charts/chart-types/count-plot/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/count-plot/spec.js +1 -19
- package/dist/charts/chart-types/count-plot/spec.js.map +1 -1
- package/dist/charts/chart-types/count-plot/tool.d.ts +19 -24
- package/dist/charts/chart-types/count-plot/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/count-plot/tool.js +25 -32
- package/dist/charts/chart-types/count-plot/tool.js.map +1 -1
- package/dist/charts/chart-types/count-plot/validation.d.ts +8 -0
- package/dist/charts/chart-types/count-plot/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/count-plot/validation.js +20 -0
- package/dist/charts/chart-types/count-plot/validation.js.map +1 -0
- package/dist/charts/chart-types/createChartInstructions.d.ts +3 -0
- package/dist/charts/chart-types/createChartInstructions.d.ts.map +1 -0
- package/dist/charts/chart-types/createChartInstructions.js +12 -0
- package/dist/charts/chart-types/createChartInstructions.js.map +1 -0
- package/dist/charts/chart-types/createChartTools.d.ts +15 -9
- package/dist/charts/chart-types/createChartTools.d.ts.map +1 -1
- package/dist/charts/chart-types/createChartTools.js +16 -10
- package/dist/charts/chart-types/createChartTools.js.map +1 -1
- package/dist/charts/chart-types/custom-spec/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/custom-spec/definition.js +1 -0
- package/dist/charts/chart-types/custom-spec/definition.js.map +1 -1
- package/dist/charts/chart-types/errors.d.ts +10 -0
- package/dist/charts/chart-types/errors.d.ts.map +1 -1
- package/dist/charts/chart-types/errors.js +18 -0
- package/dist/charts/chart-types/errors.js.map +1 -1
- package/dist/charts/chart-types/heatmap/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/heatmap/definition.js +1 -0
- package/dist/charts/chart-types/heatmap/definition.js.map +1 -1
- package/dist/charts/chart-types/heatmap/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/heatmap/spec.js +1 -33
- package/dist/charts/chart-types/heatmap/spec.js.map +1 -1
- package/dist/charts/chart-types/heatmap/tool.d.ts +20 -24
- package/dist/charts/chart-types/heatmap/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/heatmap/tool.js +26 -36
- package/dist/charts/chart-types/heatmap/tool.js.map +1 -1
- package/dist/charts/chart-types/heatmap/validation.d.ts +9 -0
- package/dist/charts/chart-types/heatmap/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/heatmap/validation.js +34 -0
- package/dist/charts/chart-types/heatmap/validation.js.map +1 -0
- package/dist/charts/chart-types/histogram/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/histogram/definition.js +1 -0
- package/dist/charts/chart-types/histogram/definition.js.map +1 -1
- package/dist/charts/chart-types/histogram/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/histogram/spec.js +1 -21
- package/dist/charts/chart-types/histogram/spec.js.map +1 -1
- package/dist/charts/chart-types/histogram/tool.d.ts +37 -24
- package/dist/charts/chart-types/histogram/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/histogram/tool.js +38 -32
- package/dist/charts/chart-types/histogram/tool.js.map +1 -1
- package/dist/charts/chart-types/histogram/validation.d.ts +9 -0
- package/dist/charts/chart-types/histogram/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/histogram/validation.js +22 -0
- package/dist/charts/chart-types/histogram/validation.js.map +1 -0
- package/dist/charts/chart-types/index.d.ts +1 -7
- package/dist/charts/chart-types/index.d.ts.map +1 -1
- package/dist/charts/chart-types/index.js +2 -8
- package/dist/charts/chart-types/index.js.map +1 -1
- package/dist/charts/chart-types/line-chart/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/line-chart/definition.js +1 -0
- package/dist/charts/chart-types/line-chart/definition.js.map +1 -1
- package/dist/charts/chart-types/line-chart/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/line-chart/spec.js +5 -46
- package/dist/charts/chart-types/line-chart/spec.js.map +1 -1
- package/dist/charts/chart-types/line-chart/tool.d.ts +26 -24
- package/dist/charts/chart-types/line-chart/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/line-chart/tool.js +26 -38
- package/dist/charts/chart-types/line-chart/tool.js.map +1 -1
- package/dist/charts/chart-types/line-chart/validation.d.ts +16 -0
- package/dist/charts/chart-types/line-chart/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/line-chart/validation.js +43 -0
- package/dist/charts/chart-types/line-chart/validation.js.map +1 -0
- package/dist/charts/chart-types/resolveChartTypes.d.ts +3 -0
- package/dist/charts/chart-types/resolveChartTypes.d.ts.map +1 -0
- package/dist/charts/chart-types/resolveChartTypes.js +8 -0
- package/dist/charts/chart-types/resolveChartTypes.js.map +1 -0
- package/dist/charts/chart-types/scatter-plot/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/scatter-plot/definition.js +1 -0
- package/dist/charts/chart-types/scatter-plot/definition.js.map +1 -1
- package/dist/charts/chart-types/scatter-plot/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/scatter-plot/spec.js +1 -45
- package/dist/charts/chart-types/scatter-plot/spec.js.map +1 -1
- package/dist/charts/chart-types/scatter-plot/tool.d.ts +21 -24
- package/dist/charts/chart-types/scatter-plot/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/scatter-plot/tool.js +28 -41
- package/dist/charts/chart-types/scatter-plot/tool.js.map +1 -1
- package/dist/charts/chart-types/scatter-plot/validation.d.ts +13 -0
- package/dist/charts/chart-types/scatter-plot/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/scatter-plot/validation.js +52 -0
- package/dist/charts/chart-types/scatter-plot/validation.js.map +1 -0
- package/dist/charts/chart-types/tool-types.d.ts +43 -0
- package/dist/charts/chart-types/tool-types.d.ts.map +1 -0
- package/dist/charts/chart-types/tool-types.js +2 -0
- package/dist/charts/chart-types/tool-types.js.map +1 -0
- package/dist/charts/chart-types/utils.d.ts +3 -0
- package/dist/charts/chart-types/utils.d.ts.map +1 -0
- package/dist/charts/chart-types/utils.js +4 -0
- package/dist/charts/chart-types/utils.js.map +1 -0
- package/dist/charts/dashboard/MosaicDashboardChartRenderer.d.ts.map +1 -1
- package/dist/charts/dashboard/MosaicDashboardChartRenderer.js +5 -3
- package/dist/charts/dashboard/MosaicDashboardChartRenderer.js.map +1 -1
- package/dist/charts/useChartDataPolicy.js +2 -2
- package/dist/charts/useChartDataPolicy.js.map +1 -1
- package/dist/components/AggregationSelector.d.ts.map +1 -1
- package/dist/components/AggregationSelector.js +1 -1
- package/dist/components/AggregationSelector.js.map +1 -1
- package/dist/components/ColorSelector.d.ts.map +1 -1
- package/dist/components/ColorSelector.js +1 -2
- package/dist/components/ColorSelector.js.map +1 -1
- package/dist/components/FieldSelectorInput.d.ts.map +1 -1
- package/dist/components/FieldSelectorInput.js +3 -3
- package/dist/components/FieldSelectorInput.js.map +1 -1
- package/dist/components/TemporalGranularitySelector.d.ts.map +1 -1
- package/dist/components/TemporalGranularitySelector.js +1 -1
- package/dist/components/TemporalGranularitySelector.js.map +1 -1
- package/dist/dashboard/MosaicDashboardCommands.d.ts +19 -0
- package/dist/dashboard/MosaicDashboardCommands.d.ts.map +1 -0
- package/dist/dashboard/MosaicDashboardCommands.js +226 -0
- package/dist/dashboard/MosaicDashboardCommands.js.map +1 -0
- package/dist/dashboard/dashboard-types.d.ts.map +1 -1
- package/dist/dashboard/dashboard-types.js.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanel.d.ts.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanel.js +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanel.js.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanelLayout.d.ts.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanelLayout.js +3 -3
- package/dist/dashboard/panel/MosaicDashboardPanelLayout.js.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanels.d.ts.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanels.js +4 -2
- package/dist/dashboard/panel/MosaicDashboardPanels.js.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.d.ts.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.js +4 -4
- package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.js.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardToolbar.d.ts.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardToolbar.js +5 -3
- package/dist/dashboard/toolbar/MosaicDashboardToolbar.js.map +1 -1
- package/dist/dashboard/useSelectedOrFirstTable.d.ts +1 -1
- package/dist/dashboard/useSelectedOrFirstTable.d.ts.map +1 -1
- package/dist/dashboard/useSelectedOrFirstTable.js +10 -8
- package/dist/dashboard/useSelectedOrFirstTable.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerCategoryClient.d.ts +3 -2
- package/dist/data-table-explorer/DataTableExplorerCategoryClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerCategoryClient.js +3 -3
- package/dist/data-table-explorer/DataTableExplorerCategoryClient.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerCountClient.d.ts +3 -1
- package/dist/data-table-explorer/DataTableExplorerCountClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerCountClient.js +3 -3
- package/dist/data-table-explorer/DataTableExplorerCountClient.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerHistogramClient.d.ts +3 -2
- package/dist/data-table-explorer/DataTableExplorerHistogramClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerHistogramClient.js +4 -4
- package/dist/data-table-explorer/DataTableExplorerHistogramClient.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerPageClient.d.ts +3 -1
- package/dist/data-table-explorer/DataTableExplorerPageClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerPageClient.js +3 -1
- package/dist/data-table-explorer/DataTableExplorerPageClient.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.d.ts +3 -2
- package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.js +3 -3
- package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.js.map +1 -1
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.d.ts.map +1 -1
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.js +7 -4
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.js.map +1 -1
- package/dist/data-table-explorer/dataTableExplorerController.d.ts +58 -2
- package/dist/data-table-explorer/dataTableExplorerController.d.ts.map +1 -1
- package/dist/data-table-explorer/dataTableExplorerController.js +68 -8
- package/dist/data-table-explorer/dataTableExplorerController.js.map +1 -1
- package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.d.ts +23 -1
- package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.d.ts.map +1 -1
- package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.js +46 -13
- package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.js.map +1 -1
- package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.d.ts +17 -3
- package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.d.ts.map +1 -1
- package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.js +9 -6
- package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.js.map +1 -1
- package/dist/data-table-explorer/types.d.ts +10 -0
- package/dist/data-table-explorer/types.d.ts.map +1 -1
- package/dist/data-table-explorer/types.js.map +1 -1
- package/dist/data-table-explorer/useDataTableExplorer.d.ts.map +1 -1
- package/dist/data-table-explorer/useDataTableExplorer.js +10 -6
- package/dist/data-table-explorer/useDataTableExplorer.js.map +1 -1
- package/dist/data-table-explorer/utils.d.ts +64 -6
- package/dist/data-table-explorer/utils.d.ts.map +1 -1
- package/dist/data-table-explorer/utils.js +58 -0
- package/dist/data-table-explorer/utils.js.map +1 -1
- package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.d.ts.map +1 -1
- package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.js +2 -2
- package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.js.map +1 -1
- package/dist/index.d.ts +49 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +81 -25
- package/dist/index.js.map +1 -1
- package/dist/mosaicTableReference.d.ts +59 -0
- package/dist/mosaicTableReference.d.ts.map +1 -0
- package/dist/mosaicTableReference.js +68 -0
- package/dist/mosaicTableReference.js.map +1 -0
- package/dist/useVgPlotChartRender.d.ts.map +1 -1
- package/dist/useVgPlotChartRender.js +26 -1
- package/dist/useVgPlotChartRender.js.map +1 -1
- package/dist/utils/table-lookup.d.ts +7 -0
- package/dist/utils/table-lookup.d.ts.map +1 -0
- package/dist/utils/table-lookup.js +10 -0
- package/dist/utils/table-lookup.js.map +1 -0
- package/package.json +14 -14
- package/dist/ai/ai.d.ts +0 -108
- package/dist/ai/ai.d.ts.map +0 -1
- package/dist/ai/ai.js +0 -461
- package/dist/ai/ai.js.map +0 -1
- package/dist/ai/data-table-explorer-tool.d.ts +0 -40
- package/dist/ai/data-table-explorer-tool.d.ts.map +0 -1
- package/dist/ai/data-table-explorer-tool.js +0 -75
- package/dist/ai/data-table-explorer-tool.js.map +0 -1
- package/dist/ai/list-panels-tool.d.ts +0 -35
- package/dist/ai/list-panels-tool.d.ts.map +0 -1
- package/dist/ai/list-panels-tool.js +0 -66
- package/dist/ai/list-panels-tool.js.map +0 -1
- package/dist/ai/remove-panel-tool.d.ts +0 -31
- package/dist/ai/remove-panel-tool.d.ts.map +0 -1
- package/dist/ai/remove-panel-tool.js +0 -55
- package/dist/ai/remove-panel-tool.js.map +0 -1
- package/dist/ai/tool-validation.d.ts +0 -3
- package/dist/ai/tool-validation.d.ts.map +0 -1
- package/dist/ai/tool-validation.js +0 -11
- package/dist/ai/tool-validation.js.map +0 -1
- package/dist/components/Combobox.d.ts +0 -45
- package/dist/components/Combobox.d.ts.map +0 -1
- package/dist/components/Combobox.js +0 -58
- package/dist/components/Combobox.js.map +0 -1
- package/dist/components/useCombobox.d.ts +0 -23
- package/dist/components/useCombobox.d.ts.map +0 -1
- package/dist/components/useCombobox.js +0 -26
- package/dist/components/useCombobox.js.map +0 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { createChartTools } from '../../charts/chart-types';
|
|
2
|
+
import { createMosaicDashboardChartPanelConfig } from '../../dashboard/MosaicDashboardSlice';
|
|
3
|
+
import { DEFAULT_CHART_MAX_DATA_POINTS } from '../../chart-runtime';
|
|
4
|
+
import { resolveChartTypes } from '../../charts/chart-types/resolveChartTypes';
|
|
5
|
+
import { DASHBOARD_CHART_TOOL_PREFIX } from './constants';
|
|
6
|
+
import { MOSAIC_DASHBOARD_CHART_PANEL_TYPE } from '../../dashboard/dashboard-types';
|
|
7
|
+
import { getMosaicTableIdentity } from '../../mosaicTableReference';
|
|
8
|
+
/**
|
|
9
|
+
* Creates AI tools for generating chart panels in dashboards.
|
|
10
|
+
*
|
|
11
|
+
* @param params - Configuration parameters for chart tool creation
|
|
12
|
+
* @param params.databaseAdapter - Adapter for database operations
|
|
13
|
+
* @param params.dashboardAdapter - Adapter for dashboard panel management
|
|
14
|
+
* @param params.chartToolsOptions - Optional chart configuration options
|
|
15
|
+
* @returns Record of chart tool names to Tool instances, prefixed with dashboard-specific identifiers
|
|
16
|
+
*/
|
|
17
|
+
export function createDashboardChartTools({ databaseAdapter, dashboardAdapter, chartToolsOptions, }) {
|
|
18
|
+
const resolvedChartTypes = resolveChartTypes(chartToolsOptions?.chartTypes);
|
|
19
|
+
const chartToolParams = {
|
|
20
|
+
maxDataPoints: chartToolsOptions?.chartMaxDataPoints ?? DEFAULT_CHART_MAX_DATA_POINTS,
|
|
21
|
+
databaseAdapter,
|
|
22
|
+
addChart: async ({ config, tableName, title, panelId }) => {
|
|
23
|
+
let panelTitle;
|
|
24
|
+
if (panelId) {
|
|
25
|
+
const panel = dashboardAdapter.getPanel(panelId);
|
|
26
|
+
if (!panel) {
|
|
27
|
+
throw new Error(`Panel "${panelId}" not found.`);
|
|
28
|
+
}
|
|
29
|
+
if (panel.type !== MOSAIC_DASHBOARD_CHART_PANEL_TYPE) {
|
|
30
|
+
throw new Error(`Panel "${panelId}" is not a chart panel. Cannot update it with a chart tool.`);
|
|
31
|
+
}
|
|
32
|
+
panelTitle = panel.title;
|
|
33
|
+
}
|
|
34
|
+
const resolvedTable = tableName
|
|
35
|
+
? databaseAdapter.findTable(tableName)
|
|
36
|
+
: undefined;
|
|
37
|
+
const selectedTableIdentity = resolvedTable?.table
|
|
38
|
+
? getMosaicTableIdentity(resolvedTable.table)
|
|
39
|
+
: undefined;
|
|
40
|
+
if (selectedTableIdentity) {
|
|
41
|
+
await dashboardAdapter.setSelectedTable(selectedTableIdentity);
|
|
42
|
+
}
|
|
43
|
+
if (panelId) {
|
|
44
|
+
await dashboardAdapter.updatePanel(panelId, {
|
|
45
|
+
title: title ?? panelTitle,
|
|
46
|
+
config,
|
|
47
|
+
});
|
|
48
|
+
return panelId;
|
|
49
|
+
}
|
|
50
|
+
return await dashboardAdapter.addPanel(createMosaicDashboardChartPanelConfig(title ?? 'Chart', config));
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
return createChartTools(resolvedChartTypes, chartToolParams, DASHBOARD_CHART_TOOL_PREFIX);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=createDashboardChartTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDashboardChartTools.js","sourceRoot":"","sources":["../../../src/ai/dashboard/createDashboardChartTools.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAkB,MAAM,0BAA0B,CAAC;AAE3E,OAAO,EAAC,qCAAqC,EAAC,MAAM,sCAAsC,CAAC;AAI3F,OAAO,EAAC,6BAA6B,EAAC,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAC,iBAAiB,EAAC,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAC,2BAA2B,EAAC,MAAM,aAAa,CAAC;AACxD,OAAO,EAAC,iCAAiC,EAAC,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAelE;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,EACxC,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GACe;IAChC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAE5E,MAAM,eAAe,GAAoB;QACvC,aAAa,EACX,iBAAiB,EAAE,kBAAkB,IAAI,6BAA6B;QACxE,eAAe;QACf,QAAQ,EAAE,KAAK,EAAE,EAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAC,EAAE,EAAE;YACtD,IAAI,UAA8B,CAAC;YACnC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACjD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,cAAc,CAAC,CAAC;gBACnD,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,iCAAiC,EAAE,CAAC;oBACrD,MAAM,IAAI,KAAK,CACb,UAAU,OAAO,6DAA6D,CAC/E,CAAC;gBACJ,CAAC;gBACD,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;YAC3B,CAAC;YAED,MAAM,aAAa,GAAG,SAAS;gBAC7B,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC;gBACtC,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,qBAAqB,GAAG,aAAa,EAAE,KAAK;gBAChD,CAAC,CAAC,sBAAsB,CAAC,aAAa,CAAC,KAAK,CAAC;gBAC7C,CAAC,CAAC,SAAS,CAAC;YAEd,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,gBAAgB,CAAC,WAAW,CAAC,OAAO,EAAE;oBAC1C,KAAK,EAAE,KAAK,IAAI,UAAU;oBAC1B,MAAM;iBACP,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,OAAO,MAAM,gBAAgB,CAAC,QAAQ,CACpC,qCAAqC,CAAC,KAAK,IAAI,OAAO,EAAE,MAAM,CAAC,CAChE,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO,gBAAgB,CACrB,kBAAkB,EAClB,eAAe,EACf,2BAA2B,CAC5B,CAAC;AACJ,CAAC","sourcesContent":["import type {Tool} from 'ai';\nimport {createChartTools, ChartToolParams} from '../../charts/chart-types';\n\nimport {createMosaicDashboardChartPanelConfig} from '../../dashboard/MosaicDashboardSlice';\nimport {DatabaseAiAdapter} from '../database-types';\nimport {DashboardAiAdapter} from './dashboard-types';\nimport {ChartToolsOptions} from '../types';\nimport {DEFAULT_CHART_MAX_DATA_POINTS} from '../../chart-runtime';\nimport {resolveChartTypes} from '../../charts/chart-types/resolveChartTypes';\nimport {DASHBOARD_CHART_TOOL_PREFIX} from './constants';\nimport {MOSAIC_DASHBOARD_CHART_PANEL_TYPE} from '../../dashboard/dashboard-types';\nimport {getMosaicTableIdentity} from '../../mosaicTableReference';\n\n/**\n * Parameters for creating dashboard chart tools.\n *\n * @property databaseAdapter - Adapter for database operations and table queries\n * @property dashboardAdapter - Adapter for adding panels to the dashboard\n * @property chartToolsOptions - Optional configuration for chart types and data point limits\n */\nexport type CreateDashboardChartToolsParams = {\n databaseAdapter: DatabaseAiAdapter;\n dashboardAdapter: DashboardAiAdapter;\n chartToolsOptions?: ChartToolsOptions;\n};\n\n/**\n * Creates AI tools for generating chart panels in dashboards.\n *\n * @param params - Configuration parameters for chart tool creation\n * @param params.databaseAdapter - Adapter for database operations\n * @param params.dashboardAdapter - Adapter for dashboard panel management\n * @param params.chartToolsOptions - Optional chart configuration options\n * @returns Record of chart tool names to Tool instances, prefixed with dashboard-specific identifiers\n */\nexport function createDashboardChartTools({\n databaseAdapter,\n dashboardAdapter,\n chartToolsOptions,\n}: CreateDashboardChartToolsParams): Record<string, Tool> {\n const resolvedChartTypes = resolveChartTypes(chartToolsOptions?.chartTypes);\n\n const chartToolParams: ChartToolParams = {\n maxDataPoints:\n chartToolsOptions?.chartMaxDataPoints ?? DEFAULT_CHART_MAX_DATA_POINTS,\n databaseAdapter,\n addChart: async ({config, tableName, title, panelId}) => {\n let panelTitle: string | undefined;\n if (panelId) {\n const panel = dashboardAdapter.getPanel(panelId);\n if (!panel) {\n throw new Error(`Panel \"${panelId}\" not found.`);\n }\n if (panel.type !== MOSAIC_DASHBOARD_CHART_PANEL_TYPE) {\n throw new Error(\n `Panel \"${panelId}\" is not a chart panel. Cannot update it with a chart tool.`,\n );\n }\n panelTitle = panel.title;\n }\n\n const resolvedTable = tableName\n ? databaseAdapter.findTable(tableName)\n : undefined;\n const selectedTableIdentity = resolvedTable?.table\n ? getMosaicTableIdentity(resolvedTable.table)\n : undefined;\n\n if (selectedTableIdentity) {\n await dashboardAdapter.setSelectedTable(selectedTableIdentity);\n }\n\n if (panelId) {\n await dashboardAdapter.updatePanel(panelId, {\n title: title ?? panelTitle,\n config,\n });\n return panelId;\n }\n\n return await dashboardAdapter.addPanel(\n createMosaicDashboardChartPanelConfig(title ?? 'Chart', config),\n );\n },\n };\n\n return createChartTools(\n resolvedChartTypes,\n chartToolParams,\n DASHBOARD_CHART_TOOL_PREFIX,\n );\n}\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Tool } from 'ai';
|
|
2
|
+
import { DatabaseAiAdapter } from '../database-types';
|
|
3
|
+
import { DashboardAiAdapter } from './dashboard-types';
|
|
4
|
+
/**
|
|
5
|
+
* Parameters for creating a dashboard data table explorer tool.
|
|
6
|
+
*
|
|
7
|
+
* @property databaseAdapter - Adapter for database operations and table queries
|
|
8
|
+
* @property dashboardAdapter - Adapter for adding panels to the dashboard
|
|
9
|
+
*/
|
|
10
|
+
export type CreateDashboardDataTableExplorerToolParams = {
|
|
11
|
+
databaseAdapter: DatabaseAiAdapter;
|
|
12
|
+
dashboardAdapter: DashboardAiAdapter;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Creates an AI tool for generating Data Table Explorer panels in dashboards.
|
|
16
|
+
*
|
|
17
|
+
* @param params - Configuration parameters
|
|
18
|
+
* @param params.databaseAdapter - Adapter for database operations
|
|
19
|
+
* @param params.dashboardAdapter - Adapter for dashboard panel management
|
|
20
|
+
* @returns Tool instance for creating data table explorer panels with schema and statistics
|
|
21
|
+
*/
|
|
22
|
+
export declare function createDashboardDataTableExplorerTool({ dashboardAdapter, databaseAdapter, }: CreateDashboardDataTableExplorerToolParams): Tool;
|
|
23
|
+
//# sourceMappingURL=createDashboardDataTableExplorerTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDashboardDataTableExplorerTool.d.ts","sourceRoot":"","sources":["../../../src/ai/dashboard/createDashboardDataTableExplorerTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAC;AAI7B,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAIrD;;;;;GAKG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,eAAe,EAAE,iBAAiB,CAAC;IACnC,gBAAgB,EAAE,kBAAkB,CAAC;CACtC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,oCAAoC,CAAC,EACnD,gBAAgB,EAChB,eAAe,GAChB,EAAE,0CAA0C,GAAG,IAAI,CAoBnD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createDataTableExplorerTool } from '../createDataTableExplorerTool';
|
|
2
|
+
import { createMosaicDashboardDataTableExplorerPanelConfig } from '../../dashboard/MosaicDashboardSlice';
|
|
3
|
+
import { getMosaicTableIdentity } from '../../mosaicTableReference';
|
|
4
|
+
import { ensureTable } from '../tool-helpers';
|
|
5
|
+
/**
|
|
6
|
+
* Creates an AI tool for generating Data Table Explorer panels in dashboards.
|
|
7
|
+
*
|
|
8
|
+
* @param params - Configuration parameters
|
|
9
|
+
* @param params.databaseAdapter - Adapter for database operations
|
|
10
|
+
* @param params.dashboardAdapter - Adapter for dashboard panel management
|
|
11
|
+
* @returns Tool instance for creating data table explorer panels with schema and statistics
|
|
12
|
+
*/
|
|
13
|
+
export function createDashboardDataTableExplorerTool({ dashboardAdapter, databaseAdapter, }) {
|
|
14
|
+
return createDataTableExplorerTool({
|
|
15
|
+
databaseAdapter,
|
|
16
|
+
addDataTable: async ({ tableName, title }) => {
|
|
17
|
+
const resolvedTable = tableName
|
|
18
|
+
? ensureTable(databaseAdapter, tableName)
|
|
19
|
+
: undefined;
|
|
20
|
+
if (resolvedTable?.table) {
|
|
21
|
+
await dashboardAdapter.setSelectedTable(getMosaicTableIdentity(resolvedTable.table));
|
|
22
|
+
}
|
|
23
|
+
return dashboardAdapter.addPanel(createMosaicDashboardDataTableExplorerPanelConfig({
|
|
24
|
+
title,
|
|
25
|
+
}));
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=createDashboardDataTableExplorerTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDashboardDataTableExplorerTool.js","sourceRoot":"","sources":["../../../src/ai/dashboard/createDashboardDataTableExplorerTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,2BAA2B,EAAC,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EAAC,iDAAiD,EAAC,MAAM,sCAAsC,CAAC;AAGvG,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAa5C;;;;;;;GAOG;AACH,MAAM,UAAU,oCAAoC,CAAC,EACnD,gBAAgB,EAChB,eAAe,GAC4B;IAC3C,OAAO,2BAA2B,CAAC;QACjC,eAAe;QACf,YAAY,EAAE,KAAK,EAAE,EAAC,SAAS,EAAE,KAAK,EAAC,EAAE,EAAE;YACzC,MAAM,aAAa,GAAG,SAAS;gBAC7B,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE,SAAS,CAAC;gBACzC,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,aAAa,EAAE,KAAK,EAAE,CAAC;gBACzB,MAAM,gBAAgB,CAAC,gBAAgB,CACrC,sBAAsB,CAAC,aAAa,CAAC,KAAK,CAAC,CAC5C,CAAC;YACJ,CAAC;YAED,OAAO,gBAAgB,CAAC,QAAQ,CAC9B,iDAAiD,CAAC;gBAChD,KAAK;aACN,CAAC,CACH,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type {Tool} from 'ai';\nimport {createDataTableExplorerTool} from '../createDataTableExplorerTool';\n\nimport {createMosaicDashboardDataTableExplorerPanelConfig} from '../../dashboard/MosaicDashboardSlice';\nimport {DatabaseAiAdapter} from '../database-types';\nimport {DashboardAiAdapter} from './dashboard-types';\nimport {getMosaicTableIdentity} from '../../mosaicTableReference';\nimport {ensureTable} from '../tool-helpers';\n\n/**\n * Parameters for creating a dashboard data table explorer tool.\n *\n * @property databaseAdapter - Adapter for database operations and table queries\n * @property dashboardAdapter - Adapter for adding panels to the dashboard\n */\nexport type CreateDashboardDataTableExplorerToolParams = {\n databaseAdapter: DatabaseAiAdapter;\n dashboardAdapter: DashboardAiAdapter;\n};\n\n/**\n * Creates an AI tool for generating Data Table Explorer panels in dashboards.\n *\n * @param params - Configuration parameters\n * @param params.databaseAdapter - Adapter for database operations\n * @param params.dashboardAdapter - Adapter for dashboard panel management\n * @returns Tool instance for creating data table explorer panels with schema and statistics\n */\nexport function createDashboardDataTableExplorerTool({\n dashboardAdapter,\n databaseAdapter,\n}: CreateDashboardDataTableExplorerToolParams): Tool {\n return createDataTableExplorerTool({\n databaseAdapter,\n addDataTable: async ({tableName, title}) => {\n const resolvedTable = tableName\n ? ensureTable(databaseAdapter, tableName)\n : undefined;\n if (resolvedTable?.table) {\n await dashboardAdapter.setSelectedTable(\n getMosaicTableIdentity(resolvedTable.table),\n );\n }\n\n return dashboardAdapter.addPanel(\n createMosaicDashboardDataTableExplorerPanelConfig({\n title,\n }),\n );\n },\n });\n}\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { MosaicDashboardPanelConfig } from '../../dashboard/dashboard-types';
|
|
2
|
+
import type { ChartRuntimeIssue } from '../../chart-runtime';
|
|
3
|
+
import type { ToolOutput } from '../tool-types';
|
|
4
|
+
import type { DashboardAiAdapter } from './dashboard-types';
|
|
5
|
+
type DashboardPanelSummary = {
|
|
6
|
+
id: string;
|
|
7
|
+
type: string;
|
|
8
|
+
title: string;
|
|
9
|
+
config: MosaicDashboardPanelConfig['config'];
|
|
10
|
+
issue?: ChartRuntimeIssue;
|
|
11
|
+
};
|
|
12
|
+
type ListDashboardPanelsToolOutput = ToolOutput<{
|
|
13
|
+
selectedTable?: string;
|
|
14
|
+
panels?: DashboardPanelSummary[];
|
|
15
|
+
}>;
|
|
16
|
+
export type CreateListDashboardPanelsToolOptions = {
|
|
17
|
+
/** Adapter for dashboard operations */
|
|
18
|
+
dashboardAdapter: DashboardAiAdapter;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Creates a tool for inspecting the current dashboard's selected table,
|
|
22
|
+
* panels, and panel runtime issues.
|
|
23
|
+
*/
|
|
24
|
+
export declare function createListDashboardPanelsTool({ dashboardAdapter, }: CreateListDashboardPanelsToolOptions): import("ai").Tool<{
|
|
25
|
+
reasoning?: string | undefined;
|
|
26
|
+
}, ListDashboardPanelsToolOutput>;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=createListDashboardPanelsTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createListDashboardPanelsTool.d.ts","sourceRoot":"","sources":["../../../src/ai/dashboard/createListDashboardPanelsTool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAa1D,KAAK,qBAAqB,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF,KAAK,6BAA6B,GAAG,UAAU,CAAC;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,MAAM,oCAAoC,GAAG;IACjD,uCAAuC;IACvC,gBAAgB,EAAE,kBAAkB,CAAC;CACtC,CAAC;AAiBF;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAgB,GACjB,EAAE,oCAAoC;;kCAkCtC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { tool } from 'ai';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
const ListDashboardPanelsToolInput = z.object({
|
|
4
|
+
reasoning: z
|
|
5
|
+
.string()
|
|
6
|
+
.optional()
|
|
7
|
+
.describe('Brief rationale for inspecting dashboard panels.'),
|
|
8
|
+
});
|
|
9
|
+
function summarizePanel(panel, getPanelIssue) {
|
|
10
|
+
const issue = getPanelIssue?.(panel.id);
|
|
11
|
+
return {
|
|
12
|
+
id: panel.id,
|
|
13
|
+
type: panel.type,
|
|
14
|
+
title: panel.title,
|
|
15
|
+
config: panel.config,
|
|
16
|
+
...(issue !== undefined ? { issue } : {}),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Creates a tool for inspecting the current dashboard's selected table,
|
|
21
|
+
* panels, and panel runtime issues.
|
|
22
|
+
*/
|
|
23
|
+
export function createListDashboardPanelsTool({ dashboardAdapter, }) {
|
|
24
|
+
return tool({
|
|
25
|
+
description: `List panels in the current dashboard, including the selected table and any panel runtime issues.
|
|
26
|
+
|
|
27
|
+
Use this before updating existing dashboard panels, when deciding which table the dashboard currently targets, and after creating map panels to check for render issues.`,
|
|
28
|
+
inputSchema: ListDashboardPanelsToolInput,
|
|
29
|
+
execute: async () => {
|
|
30
|
+
try {
|
|
31
|
+
const panels = dashboardAdapter.getPanels?.();
|
|
32
|
+
if (!panels) {
|
|
33
|
+
return {
|
|
34
|
+
success: false,
|
|
35
|
+
errorMessage: 'Dashboard adapter does not support listing panels.',
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const selectedTable = dashboardAdapter.getSelectedTable?.();
|
|
39
|
+
return {
|
|
40
|
+
success: true,
|
|
41
|
+
...(selectedTable !== undefined ? { selectedTable } : {}),
|
|
42
|
+
panels: panels.map((panel) => summarizePanel(panel, dashboardAdapter.getPanelIssue)),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
return {
|
|
47
|
+
success: false,
|
|
48
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=createListDashboardPanelsTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createListDashboardPanelsTool.js","sourceRoot":"","sources":["../../../src/ai/dashboard/createListDashboardPanelsTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,IAAI,CAAC;AACxB,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAMtB,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;CAChE,CAAC,CAAC;AAwBH,SAAS,cAAc,CACrB,KAAiC,EACjC,aAAmD;IAEnD,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAExC,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,gBAAgB,GACqB;IACrC,OAAO,IAAI,CAA8D;QACvE,WAAW,EAAE;;yKAEwJ;QACrK,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC;gBAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,YAAY,EAAE,oDAAoD;qBACnE,CAAC;gBACJ,CAAC;gBAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAE5D,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC3B,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,CACtD;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBACrE,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {tool} from 'ai';\nimport {z} from 'zod';\nimport type {MosaicDashboardPanelConfig} from '../../dashboard/dashboard-types';\nimport type {ChartRuntimeIssue} from '../../chart-runtime';\nimport type {ToolOutput} from '../tool-types';\nimport type {DashboardAiAdapter} from './dashboard-types';\n\nconst ListDashboardPanelsToolInput = z.object({\n reasoning: z\n .string()\n .optional()\n .describe('Brief rationale for inspecting dashboard panels.'),\n});\n\ntype ListDashboardPanelsToolInput = z.infer<\n typeof ListDashboardPanelsToolInput\n>;\n\ntype DashboardPanelSummary = {\n id: string;\n type: string;\n title: string;\n config: MosaicDashboardPanelConfig['config'];\n issue?: ChartRuntimeIssue;\n};\n\ntype ListDashboardPanelsToolOutput = ToolOutput<{\n selectedTable?: string;\n panels?: DashboardPanelSummary[];\n}>;\n\nexport type CreateListDashboardPanelsToolOptions = {\n /** Adapter for dashboard operations */\n dashboardAdapter: DashboardAiAdapter;\n};\n\nfunction summarizePanel(\n panel: MosaicDashboardPanelConfig,\n getPanelIssue?: DashboardAiAdapter['getPanelIssue'],\n): DashboardPanelSummary {\n const issue = getPanelIssue?.(panel.id);\n\n return {\n id: panel.id,\n type: panel.type,\n title: panel.title,\n config: panel.config,\n ...(issue !== undefined ? {issue} : {}),\n };\n}\n\n/**\n * Creates a tool for inspecting the current dashboard's selected table,\n * panels, and panel runtime issues.\n */\nexport function createListDashboardPanelsTool({\n dashboardAdapter,\n}: CreateListDashboardPanelsToolOptions) {\n return tool<ListDashboardPanelsToolInput, ListDashboardPanelsToolOutput>({\n description: `List panels in the current dashboard, including the selected table and any panel runtime issues.\n\nUse this before updating existing dashboard panels, when deciding which table the dashboard currently targets, and after creating map panels to check for render issues.`,\n inputSchema: ListDashboardPanelsToolInput,\n execute: async () => {\n try {\n const panels = dashboardAdapter.getPanels?.();\n\n if (!panels) {\n return {\n success: false,\n errorMessage: 'Dashboard adapter does not support listing panels.',\n };\n }\n\n const selectedTable = dashboardAdapter.getSelectedTable?.();\n\n return {\n success: true,\n ...(selectedTable !== undefined ? {selectedTable} : {}),\n panels: panels.map((panel) =>\n summarizePanel(panel, dashboardAdapter.getPanelIssue),\n ),\n };\n } catch (error) {\n return {\n success: false,\n errorMessage: error instanceof Error ? error.message : String(error),\n };\n }\n },\n });\n}\n"]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { PanelPatch } from '../../charts/chart-types/base-types';
|
|
2
|
+
import type { MosaicDashboardPanelConfig } from '../../dashboard/dashboard-types';
|
|
3
|
+
import type { ChartRuntimeIssue } from '../../chart-runtime';
|
|
4
|
+
import type { BaseAgentToolOptions } from '../types';
|
|
5
|
+
import { DatabaseAiAdapter } from '../database-types';
|
|
6
|
+
import { Tool } from 'ai';
|
|
7
|
+
import { AgentResultMetadata } from '../tool-types';
|
|
8
|
+
/**
|
|
9
|
+
* Dashboard adapter with full dashboard panel management capabilities.
|
|
10
|
+
* Extends BaseAiAdapter with dashboard-specific operations.
|
|
11
|
+
*/
|
|
12
|
+
export type DashboardAiAdapter = {
|
|
13
|
+
getPanelIssue?: (panelId: string) => ChartRuntimeIssue | undefined;
|
|
14
|
+
getSelectedTable?: () => string | undefined;
|
|
15
|
+
getPanels?: () => MosaicDashboardPanelConfig[];
|
|
16
|
+
setSelectedTable: (tableName: string) => void | Promise<void>;
|
|
17
|
+
getPanel(panelId: string): MosaicDashboardPanelConfig | undefined;
|
|
18
|
+
updatePanel(panelId: string, patch: Partial<PanelPatch>): void | Promise<void>;
|
|
19
|
+
removePanel(panelId: string): void | Promise<void>;
|
|
20
|
+
addPanel(panel: MosaicDashboardPanelConfig): string | Promise<string>;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Result returned by the dashboard agent after completing a task.
|
|
24
|
+
* Contains execution status, final output, and optional metadata about the run.
|
|
25
|
+
*/
|
|
26
|
+
export type DashboardAgentResult = {
|
|
27
|
+
success: boolean;
|
|
28
|
+
finalOutput: string;
|
|
29
|
+
dashboardId: string;
|
|
30
|
+
error?: string;
|
|
31
|
+
metadata?: AgentResultMetadata;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Parameters passed to extra dashboard AI tools factory.
|
|
35
|
+
* Provides adapters for dashboard and database operations.
|
|
36
|
+
*/
|
|
37
|
+
export type ExtraDashboardAiToolsParams = {
|
|
38
|
+
dashboardAdapter: DashboardAiAdapter;
|
|
39
|
+
databaseAdapter: DatabaseAiAdapter;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Factory function for creating additional dashboard AI tools.
|
|
43
|
+
* Allows hosts to register custom tools that extend the dashboard agent's capabilities.
|
|
44
|
+
*/
|
|
45
|
+
export type ExtraDashboardAiToolsFactory = (params: ExtraDashboardAiToolsParams) => Record<string, Tool>;
|
|
46
|
+
/**
|
|
47
|
+
* Options for creating a dashboard agent tool.
|
|
48
|
+
* Extends base agent options with dashboard-specific database adapter and optional extra tools.
|
|
49
|
+
*/
|
|
50
|
+
export type CreateDashboardAgentToolOptions<TState> = BaseAgentToolOptions<TState> & {
|
|
51
|
+
databaseAdapter: DatabaseAiAdapter;
|
|
52
|
+
/**
|
|
53
|
+
* Host-provided dashboard tools keyed by their registered tool name.
|
|
54
|
+
* Register geospatial map tools under MAP_TOOL_KEY so prompts and tools
|
|
55
|
+
* stay in sync.
|
|
56
|
+
*/
|
|
57
|
+
extraTools?: ExtraDashboardAiToolsFactory;
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=dashboard-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-types.d.ts","sourceRoot":"","sources":["../../../src/ai/dashboard/dashboard-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,UAAU,CAAC;AACnD,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,IAAI,EAAC,MAAM,IAAI,CAAC;AACxB,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,CAAC;IACnE,gBAAgB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,0BAA0B,EAAE,CAAC;IAC/C,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS,CAAC;IAClE,WAAW,CACT,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,GACzB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,0BAA0B,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvE,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,eAAe,EAAE,iBAAiB,CAAC;CACpC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,MAAM,EAAE,2BAA2B,KAChC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAE1B;;;GAGG;AACH,MAAM,MAAM,+BAA+B,CAAC,MAAM,IAChD,oBAAoB,CAAC,MAAM,CAAC,GAAG;IAC7B,eAAe,EAAE,iBAAiB,CAAC;IACnC;;;;OAIG;IACH,UAAU,CAAC,EAAE,4BAA4B,CAAC;CAC3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-types.js","sourceRoot":"","sources":["../../../src/ai/dashboard/dashboard-types.ts"],"names":[],"mappings":"","sourcesContent":["import type {PanelPatch} from '../../charts/chart-types/base-types';\nimport type {MosaicDashboardPanelConfig} from '../../dashboard/dashboard-types';\nimport type {ChartRuntimeIssue} from '../../chart-runtime';\nimport type {BaseAgentToolOptions} from '../types';\nimport {DatabaseAiAdapter} from '../database-types';\nimport {Tool} from 'ai';\nimport {AgentResultMetadata} from '../tool-types';\n\n/**\n * Dashboard adapter with full dashboard panel management capabilities.\n * Extends BaseAiAdapter with dashboard-specific operations.\n */\nexport type DashboardAiAdapter = {\n getPanelIssue?: (panelId: string) => ChartRuntimeIssue | undefined;\n getSelectedTable?: () => string | undefined;\n getPanels?: () => MosaicDashboardPanelConfig[];\n setSelectedTable: (tableName: string) => void | Promise<void>;\n getPanel(panelId: string): MosaicDashboardPanelConfig | undefined;\n updatePanel(\n panelId: string,\n patch: Partial<PanelPatch>,\n ): void | Promise<void>;\n removePanel(panelId: string): void | Promise<void>;\n addPanel(panel: MosaicDashboardPanelConfig): string | Promise<string>;\n};\n\n/**\n * Result returned by the dashboard agent after completing a task.\n * Contains execution status, final output, and optional metadata about the run.\n */\nexport type DashboardAgentResult = {\n success: boolean;\n finalOutput: string;\n dashboardId: string;\n error?: string;\n metadata?: AgentResultMetadata;\n};\n\n/**\n * Parameters passed to extra dashboard AI tools factory.\n * Provides adapters for dashboard and database operations.\n */\nexport type ExtraDashboardAiToolsParams = {\n dashboardAdapter: DashboardAiAdapter;\n databaseAdapter: DatabaseAiAdapter;\n};\n\n/**\n * Factory function for creating additional dashboard AI tools.\n * Allows hosts to register custom tools that extend the dashboard agent's capabilities.\n */\nexport type ExtraDashboardAiToolsFactory = (\n params: ExtraDashboardAiToolsParams,\n) => Record<string, Tool>;\n\n/**\n * Options for creating a dashboard agent tool.\n * Extends base agent options with dashboard-specific database adapter and optional extra tools.\n */\nexport type CreateDashboardAgentToolOptions<TState> =\n BaseAgentToolOptions<TState> & {\n databaseAdapter: DatabaseAiAdapter;\n /**\n * Host-provided dashboard tools keyed by their registered tool name.\n * Register geospatial map tools under MAP_TOOL_KEY so prompts and tools\n * stay in sync.\n */\n extraTools?: ExtraDashboardAiToolsFactory;\n };\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DataTable, QualifiedTableName } from '@sqlrooms/db';
|
|
2
|
+
/**
|
|
3
|
+
* Database-specific AI adapter interface.
|
|
4
|
+
* Provides access to tables and database queries for AI tools.
|
|
5
|
+
*/
|
|
6
|
+
export type DatabaseAiAdapter = {
|
|
7
|
+
/** Get all available tables */
|
|
8
|
+
getTables: () => DataTable[];
|
|
9
|
+
/** Find table by name, returns undefined if not found */
|
|
10
|
+
findTable(tableName: string | QualifiedTableName): DataTable | undefined;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=database-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-types.d.ts","sourceRoot":"","sources":["../../src/ai/database-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAE,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,+BAA+B;IAC/B,SAAS,EAAE,MAAM,SAAS,EAAE,CAAC;IAE7B,yDAAyD;IACzD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,GAAG,SAAS,CAAC;CAC1E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-types.js","sourceRoot":"","sources":["../../src/ai/database-types.ts"],"names":[],"mappings":"","sourcesContent":["import type {DataTable, QualifiedTableName} from '@sqlrooms/db';\n\n/**\n * Database-specific AI adapter interface.\n * Provides access to tables and database queries for AI tools.\n */\nexport type DatabaseAiAdapter = {\n /** Get all available tables */\n getTables: () => DataTable[];\n\n /** Find table by name, returns undefined if not found */\n findTable(tableName: string | QualifiedTableName): DataTable | undefined;\n};\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error thrown by AI agents when validation or execution fails.
|
|
3
|
+
* Used for reporting issues like missing tables, invalid columns, or constraint violations.
|
|
4
|
+
*/
|
|
5
|
+
export declare class AiAgentError extends Error {
|
|
6
|
+
constructor(message: string);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/ai/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error thrown by AI agents when validation or execution fails.
|
|
3
|
+
* Used for reporting issues like missing tables, invalid columns, or constraint violations.
|
|
4
|
+
*/
|
|
5
|
+
export class AiAgentError extends Error {
|
|
6
|
+
constructor(message) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.name = 'AiAgentError';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/ai/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF","sourcesContent":["/**\n * Error thrown by AI agents when validation or execution fails.\n * Used for reporting issues like missing tables, invalid columns, or constraint violations.\n */\nexport class AiAgentError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'AiAgentError';\n }\n}\n"]}
|
|
@@ -1,34 +1,33 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
config: ChartConfig | DataTableExplorerPanelConfig;
|
|
9
|
-
}
|
|
10
|
-
export interface CreateOrUpdateChartPanelParams {
|
|
11
|
-
panelId?: string;
|
|
12
|
-
dashboardId: string;
|
|
13
|
-
tableName: string;
|
|
14
|
-
title: string;
|
|
15
|
-
config: ChartConfig;
|
|
16
|
-
}
|
|
17
|
-
export interface CreateOrUpdateDataTableExplorerPanelParams {
|
|
18
|
-
panelId?: string;
|
|
19
|
-
dashboardId: string;
|
|
20
|
-
tableName: string;
|
|
21
|
-
title: string;
|
|
22
|
-
config: DataTableExplorerPanelConfig;
|
|
23
|
-
}
|
|
1
|
+
import { MosaicDashboardPanelConfig } from '../dashboard/dashboard-types';
|
|
2
|
+
import { DashboardAiAdapter } from './dashboard/dashboard-types';
|
|
3
|
+
import { DataTable } from '@sqlrooms/duckdb';
|
|
4
|
+
import { Tool } from 'ai';
|
|
5
|
+
import { DatabaseAiAdapter } from './database-types';
|
|
6
|
+
import { AgentResultMetadata } from './tool-types';
|
|
7
|
+
import { AgentToolCall } from './types';
|
|
24
8
|
/**
|
|
25
|
-
*
|
|
26
|
-
* Handles everything: panel config creation, add/update logic, artifact switching.
|
|
27
|
-
* When updating, both source and config are updated to allow changing the data source.
|
|
9
|
+
* Validates that a table exists. Throws if not found.
|
|
28
10
|
*/
|
|
29
|
-
export declare function
|
|
11
|
+
export declare function ensureTable(adapter: DatabaseAiAdapter, tableName: string): DataTable;
|
|
30
12
|
/**
|
|
31
|
-
*
|
|
13
|
+
* Validates that a panel exists in a dashboard. Throws if not found.
|
|
32
14
|
*/
|
|
33
|
-
export declare function
|
|
15
|
+
export declare function ensurePanel(adapter: DashboardAiAdapter, panelId: string, type?: string): MosaicDashboardPanelConfig;
|
|
16
|
+
/**
|
|
17
|
+
* Validates that extra tools do not override built-in tools.
|
|
18
|
+
* Prevents accidental shadowing of core functionality by custom tools.
|
|
19
|
+
*
|
|
20
|
+
* @param builtInTools - Record of built-in tool names to tools
|
|
21
|
+
* @param extraTools - Record of extra tool names to tools being registered
|
|
22
|
+
* @throws {AiAgentError} When a key from extraTools exists in builtInTools
|
|
23
|
+
*/
|
|
24
|
+
export declare function ensureNoOverride(builtInTools: Record<string, Tool>, extraTools: Record<string, Tool>): void;
|
|
25
|
+
/**
|
|
26
|
+
* Calculate metadata about agent execution results.
|
|
27
|
+
*
|
|
28
|
+
* @param tableName - Optional table name associated with the agent execution
|
|
29
|
+
* @param agentToolCalls - Array of tool calls made during agent execution
|
|
30
|
+
* @returns Metadata including steps executed and queries run
|
|
31
|
+
*/
|
|
32
|
+
export declare function calculateAgentResultMetadata(tableName: string | undefined, agentToolCalls?: AgentToolCall[]): AgentResultMetadata;
|
|
34
33
|
//# sourceMappingURL=tool-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-helpers.d.ts","sourceRoot":"","sources":["../../src/ai/tool-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"tool-helpers.d.ts","sourceRoot":"","sources":["../../src/ai/tool-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAC;AAExE,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAC,IAAI,EAAC,MAAM,IAAI,CAAC;AACxB,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AACjD,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAEtC;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,MAAM,GAChB,SAAS,CAQX;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,0BAA0B,CAc5B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QASjC;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,cAAc,GAAE,aAAa,EAAO,GACnC,mBAAmB,CAOrB"}
|
package/dist/ai/tool-helpers.js
CHANGED
|
@@ -1,93 +1,55 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AiAgentError } from './errors';
|
|
2
2
|
/**
|
|
3
|
-
* Validates that a
|
|
3
|
+
* Validates that a table exists. Throws if not found.
|
|
4
4
|
*/
|
|
5
|
-
function
|
|
6
|
-
const
|
|
7
|
-
if (!
|
|
8
|
-
throw new
|
|
5
|
+
export function ensureTable(adapter, tableName) {
|
|
6
|
+
const table = adapter.findTable(tableName);
|
|
7
|
+
if (!table) {
|
|
8
|
+
throw new AiAgentError(`Table "${tableName}" not found.`);
|
|
9
9
|
}
|
|
10
|
-
return
|
|
10
|
+
return table;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Validates that a panel exists in a dashboard. Throws if not found.
|
|
14
14
|
*/
|
|
15
|
-
function ensurePanel(
|
|
16
|
-
const
|
|
17
|
-
if (!
|
|
18
|
-
throw new
|
|
15
|
+
export function ensurePanel(adapter, panelId, type) {
|
|
16
|
+
const panel = adapter.getPanel(panelId);
|
|
17
|
+
if (!panel) {
|
|
18
|
+
throw new AiAgentError(`Panel not found.`);
|
|
19
19
|
}
|
|
20
|
+
if (type !== undefined && panel.type !== type) {
|
|
21
|
+
throw new AiAgentError(`Panel is of type "${panel.type}", expected type "${type}".`);
|
|
22
|
+
}
|
|
23
|
+
return panel;
|
|
20
24
|
}
|
|
21
25
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
26
|
+
* Validates that extra tools do not override built-in tools.
|
|
27
|
+
* Prevents accidental shadowing of core functionality by custom tools.
|
|
28
|
+
*
|
|
29
|
+
* @param builtInTools - Record of built-in tool names to tools
|
|
30
|
+
* @param extraTools - Record of extra tool names to tools being registered
|
|
31
|
+
* @throws {AiAgentError} When a key from extraTools exists in builtInTools
|
|
25
32
|
*/
|
|
26
|
-
export function
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
// Update existing panel - update both source and config
|
|
32
|
-
deps.updatePanel(params.dashboardId, params.panelId, {
|
|
33
|
-
title: params.title,
|
|
34
|
-
source: { tableName: params.tableName },
|
|
35
|
-
config: params.config,
|
|
36
|
-
});
|
|
37
|
-
return {
|
|
38
|
-
panelId: params.panelId,
|
|
39
|
-
artifactId: params.dashboardId,
|
|
40
|
-
title: params.title,
|
|
41
|
-
config: params.config,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
// Create new panel - create config and add to dashboard
|
|
46
|
-
const panel = createMosaicDashboardChartPanelConfig(params.title, params.config);
|
|
47
|
-
const panelId = deps.addPanel(params.dashboardId, panel);
|
|
48
|
-
deps.setCurrentArtifact(params.dashboardId);
|
|
49
|
-
return {
|
|
50
|
-
panelId,
|
|
51
|
-
artifactId: params.dashboardId,
|
|
52
|
-
title: params.title,
|
|
53
|
-
config: params.config,
|
|
54
|
-
};
|
|
33
|
+
export function ensureNoOverride(builtInTools, extraTools) {
|
|
34
|
+
for (const key of Object.keys(extraTools)) {
|
|
35
|
+
if (key in builtInTools) {
|
|
36
|
+
throw new AiAgentError(`Dashboard extraTools cannot override built-in tool "${key}". Register the host tool under a unique key.`);
|
|
37
|
+
}
|
|
55
38
|
}
|
|
56
39
|
}
|
|
57
40
|
/**
|
|
58
|
-
*
|
|
41
|
+
* Calculate metadata about agent execution results.
|
|
42
|
+
*
|
|
43
|
+
* @param tableName - Optional table name associated with the agent execution
|
|
44
|
+
* @param agentToolCalls - Array of tool calls made during agent execution
|
|
45
|
+
* @returns Metadata including steps executed and queries run
|
|
59
46
|
*/
|
|
60
|
-
export function
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
source: { tableName: params.tableName },
|
|
68
|
-
title: params.title,
|
|
69
|
-
});
|
|
70
|
-
return {
|
|
71
|
-
panelId: params.panelId,
|
|
72
|
-
artifactId: params.dashboardId,
|
|
73
|
-
title: params.title,
|
|
74
|
-
config: params.config,
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
// Create new panel - create full panel config
|
|
79
|
-
const panel = createMosaicDashboardDataTableExplorerPanelConfig({
|
|
80
|
-
title: params.title,
|
|
81
|
-
config: params.config,
|
|
82
|
-
});
|
|
83
|
-
const panelId = deps.addPanel(params.dashboardId, panel);
|
|
84
|
-
deps.setCurrentArtifact(params.dashboardId);
|
|
85
|
-
return {
|
|
86
|
-
panelId,
|
|
87
|
-
artifactId: params.dashboardId,
|
|
88
|
-
title: panel.title,
|
|
89
|
-
config: panel.config,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
47
|
+
export function calculateAgentResultMetadata(tableName, agentToolCalls = []) {
|
|
48
|
+
return {
|
|
49
|
+
tableName,
|
|
50
|
+
stepsExecuted: agentToolCalls.length,
|
|
51
|
+
queriesRun: agentToolCalls.filter((call) => call.toolName === 'query')
|
|
52
|
+
.length,
|
|
53
|
+
};
|
|
92
54
|
}
|
|
93
55
|
//# sourceMappingURL=tool-helpers.js.map
|