refactor(apollo-vertex): swap out apollo-dashboarding [AGVSOL-2988]#719
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Dependency License Review
License distribution
Excluded packages
|
0b018f6 to
94e32d9
Compare
There was a problem hiding this comment.
Pull request overview
This PR removes the @uipath/apollo-dashboarding dependency from apollo-vertex and replaces it with a local “charts-core” + “data-fabric-adapter” layer plus Recharts-based chart view components, keeping the Data Fabric chart behavior available to the AI chat tools and adding component example pages for UX iteration.
Changes:
- Added a new
charts-coreregistry lib (chart configs/types, formatting utilities, loading/error boundaries, DataAdapter interface). - Added a new
data-fabric-adapterregistry lib implementing the DataAdapter against the Data Fabric query API. - Added Recharts chart view components + adapter-backed wrappers (line, multi-line, bar, distribution, KPI, table) and stub documentation/example pages.
Reviewed changes
Copilot reviewed 125 out of 130 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| apps/apollo-vertex/types/luxon.d.ts | Ambient Luxon TSSettings branding for non-nullable DateTime with throwOnInvalid. |
| apps/apollo-vertex/tsconfig.json | Adds path aliases for new chart/adaptor registry items. |
| apps/apollo-vertex/templates/charts/TableChartTemplate.tsx | Example template rendering the new TableChart. |
| apps/apollo-vertex/templates/charts/MultiLineChartTemplate.tsx | Example template rendering the new MultiLineChart. |
| apps/apollo-vertex/templates/charts/LineChartTemplate.tsx | Example template rendering the new LineChart. |
| apps/apollo-vertex/templates/charts/KpiChartTemplate.tsx | Example template rendering the new KpiChart. |
| apps/apollo-vertex/templates/charts/DistributionChartTemplate.tsx | Example template rendering the new DistributionChart. |
| apps/apollo-vertex/templates/charts/BarChartTemplate.tsx | Example template rendering the new BarChart. |
| apps/apollo-vertex/registry/table-chart/table-chart.tsx | Barrel exports for table chart view + adapter wrapper. |
| apps/apollo-vertex/registry/table-chart/table-chart-with-adapter.tsx | Adapter-backed TableChart wrapper (React Query + spinner + formatting). |
| apps/apollo-vertex/registry/table-chart/table-chart-view.tsx | Table chart view using TanStack React Table with sortable headers. |
| apps/apollo-vertex/registry/multi-line-chart/multi-line-chart.tsx | Barrel exports for multi-line chart view + adapter wrapper. |
| apps/apollo-vertex/registry/multi-line-chart/multi-line-chart-with-adapter.tsx | Adapter-backed MultiLineChart wrapper (bin labels, totals, axes). |
| apps/apollo-vertex/registry/multi-line-chart/multi-line-chart-view.tsx | Recharts multi-line chart view implementation. |
| apps/apollo-vertex/registry/line-chart/line-chart.tsx | Barrel exports for line chart view + adapter wrapper. |
| apps/apollo-vertex/registry/line-chart/line-chart-with-adapter.tsx | Adapter-backed LineChart wrapper (bin labels, formatting). |
| apps/apollo-vertex/registry/line-chart/line-chart-view.tsx | Recharts line chart view implementation. |
| apps/apollo-vertex/registry/kpi-chart/kpi-chart.tsx | Barrel exports for KPI chart view + adapter wrapper. |
| apps/apollo-vertex/registry/kpi-chart/kpi-chart-with-adapter.tsx | Adapter-backed KPI wrapper (fetch + format). |
| apps/apollo-vertex/registry/kpi-chart/kpi-chart-view.tsx | KPI view component (label/value layout). |
| apps/apollo-vertex/registry/distribution-chart/distribution-chart.tsx | Barrel exports for distribution chart view + adapter wrapper. |
| apps/apollo-vertex/registry/distribution-chart/distribution-chart-with-adapter.tsx | Adapter-backed distribution wrapper (bin labels, formatting). |
| apps/apollo-vertex/registry/distribution-chart/distribution-chart-view.tsx | Recharts histogram view implementation. |
| apps/apollo-vertex/registry/data-fabric-adapter/index.ts | Barrel export shim for registry resolution. |
| apps/apollo-vertex/registry/data-fabric-adapter/data-fabric-adapter.ts | Public exports for adapter + contract. |
| apps/apollo-vertex/registry/data-fabric-adapter/adapter.ts | Builds a DataAdapter using ts-rest client and chart adapter functions. |
| apps/apollo-vertex/registry/data-fabric-adapter/contract.ts | ts-rest contract for Data Fabric query endpoint. |
| apps/apollo-vertex/registry/data-fabric-adapter/schemas/query-schema.ts | Zod schemas/types for Data Fabric request/response payloads. |
| apps/apollo-vertex/registry/data-fabric-adapter/schemas/data-query-response-schema.ts | Zod schema for column-oriented query response mapping. |
| apps/apollo-vertex/registry/data-fabric-adapter/chart-adapters/table.ts | Table chart query adapter (select + sort + filters). |
| apps/apollo-vertex/registry/data-fabric-adapter/chart-adapters/bar.ts | Bar chart query adapter (groupBy + aggregates). |
| apps/apollo-vertex/registry/data-fabric-adapter/chart-adapters/distribution.ts | Distribution adapter (numeric binning or datetime bins). |
| apps/apollo-vertex/registry/data-fabric-adapter/chart-adapters/line.ts | Line chart adapter (date-binned aggregate). |
| apps/apollo-vertex/registry/data-fabric-adapter/chart-adapters/multi-line.ts | Multi-line adapter (date-binned aggregates per metric). |
| apps/apollo-vertex/registry/data-fabric-adapter/chart-adapters/kpi.ts | KPI adapter (single aggregate). |
| apps/apollo-vertex/registry/data-fabric-adapter/utils/query.ts | Shared Data Fabric query execution wrapper. |
| apps/apollo-vertex/registry/data-fabric-adapter/utils/throw-error.ts | Standardized error throw helper for Data Fabric responses. |
| apps/apollo-vertex/registry/data-fabric-adapter/utils/query-options.ts | Helper to build base query options (fields/sort/filters/paging). |
| apps/apollo-vertex/registry/data-fabric-adapter/utils/filter-group.ts | Maps chart FilterValues to Data Fabric filterGroup/queryFilters. |
| apps/apollo-vertex/registry/data-fabric-adapter/utils/metric-aggregate.ts | Maps metric aggregation model to Data Fabric aggregate request. |
| apps/apollo-vertex/registry/data-fabric-adapter/utils/binning-utils.ts | Date/numeric binning helpers for adapter queries. |
| apps/apollo-vertex/registry/data-fabric-adapter/utils/fetch-date-binned-data.ts | Shared date-binning fetcher (min/max + binned query). |
| apps/apollo-vertex/registry/data-fabric-adapter/utils/response-data-mapper.ts | Converts row-oriented Data Fabric response into column-oriented chart data. |
| apps/apollo-vertex/registry/data-fabric-adapter/utils/chart-data-mapper.ts | Converts column-oriented response into row arrays for chart views. |
| apps/apollo-vertex/registry/charts-core/index.ts | Barrel export shim for registry resolution. |
| apps/apollo-vertex/registry/charts-core/charts-core.ts | Public exports for charts-core primitives/types/utilities. |
| apps/apollo-vertex/registry/charts-core/chart-models.ts | Core chart model types (dimensions, metrics, chart data). |
| apps/apollo-vertex/registry/charts-core/data-adapter.ts | DataAdapter interface for chart queries + filter queries. |
| apps/apollo-vertex/registry/charts-core/chart-loading-boundary.tsx | Suspense + error boundary wrapper for chart rendering. |
| apps/apollo-vertex/registry/charts-core/error-boundary.tsx | ErrorBoundary fallback UI for charts. |
| apps/apollo-vertex/registry/charts-core/spinner-with-children.tsx | Overlay spinner helper for “fetching” state. |
| apps/apollo-vertex/registry/charts-core/map-filter-config.ts | Maps config filter schema values to runtime FilterValues. |
| apps/apollo-vertex/registry/charts-core/table-data-model.ts | Table-specific data model (fields list). |
| apps/apollo-vertex/registry/charts-core/models/primitive-value.ts | PrimitiveValue type used in chart/table rows. |
| apps/apollo-vertex/registry/charts-core/models/aggregation.ts | Aggregation model (count/sum/avg/min/max). |
| apps/apollo-vertex/registry/charts-core/models/filter.ts | Filter model types (list/period metadata). |
| apps/apollo-vertex/registry/charts-core/models/filter-values.ts | Runtime filter values model (range/list/search/period). |
| apps/apollo-vertex/registry/charts-core/models/join-schema.ts | Join/from config schema + TS types for multi-entity queries. |
| apps/apollo-vertex/registry/charts-core/models/configurations/base-chart-configuration.ts | Base chart configuration Zod schema (id/name/type/filters/joins/from). |
| apps/apollo-vertex/registry/charts-core/models/configurations/chart-type-schema.ts | Allowed chart type literals. |
| apps/apollo-vertex/registry/charts-core/models/configurations/filter-values-schema.ts | Zod schema for configuration-time filter values. |
| apps/apollo-vertex/registry/charts-core/models/configurations/chart-properties.ts | Table chart state schema/types (sort state). |
| apps/apollo-vertex/registry/charts-core/models/configurations/table-chart-configuration.ts | Table chart configuration schema/types. |
| apps/apollo-vertex/registry/charts-core/models/configurations/line-chart-configuration.ts | Line chart configuration schema/types. |
| apps/apollo-vertex/registry/charts-core/models/configurations/multi-line-chart-configuration.ts | Multi-line chart configuration schema/types. |
| apps/apollo-vertex/registry/charts-core/models/configurations/bar-chart-configuration.ts | Bar chart configuration schema/types. |
| apps/apollo-vertex/registry/charts-core/models/configurations/distribution-chart-configuration.ts | Distribution chart configuration schema/types. |
| apps/apollo-vertex/registry/charts-core/models/configurations/kpi-chart-configuration.ts | KPI chart configuration schema/types. |
| apps/apollo-vertex/registry/charts-core/util/assert-defined.ts | Shared “assert defined” helper. |
| apps/apollo-vertex/registry/charts-core/util/asserts/assert-boolean.ts | Boolean assertion helper. |
| apps/apollo-vertex/registry/charts-core/util/asserts/assert-date-or-string.ts | DateTime/string assertion + ISO parsing for formatting. |
| apps/apollo-vertex/registry/charts-core/util/asserts/assert-number-or-null.ts | Number-or-null assertion helper. |
| apps/apollo-vertex/registry/charts-core/util/empty-array.ts | Helper to produce a numeric zero array for sizing. |
| apps/apollo-vertex/registry/charts-core/util/data-type-alignment.ts | Maps field type to left/right alignment for tables. |
| apps/apollo-vertex/registry/charts-core/util/binning/constants.ts | Binning constants (target bins, categories). |
| apps/apollo-vertex/registry/charts-core/util/binning/nice-numbers.ts | Numeric “nice bin size” calculator. |
| apps/apollo-vertex/registry/charts-core/util/binning/nice-duration-numbers.ts | Datetime “nice bin duration” calculator. |
| apps/apollo-vertex/registry/charts-core/util/binning/adaptive-bin-formatting.ts | Adaptive datetime label formatting for compact bins. |
| apps/apollo-vertex/registry/charts-core/util/format/constants.ts | Formatting constants (NULL label, fraction digits). |
| apps/apollo-vertex/registry/charts-core/util/format/base-format-options.ts | Base format options type (notation). |
| apps/apollo-vertex/registry/charts-core/util/format/percentage-format-options.ts | Percentage formatting options type. |
| apps/apollo-vertex/registry/charts-core/util/format/duration-unit.ts | Allowed duration units. |
| apps/apollo-vertex/registry/charts-core/util/format/highest-duration-unit.ts | Picks highest unit to display for a duration. |
| apps/apollo-vertex/registry/charts-core/util/format/compute-duration-units.ts | Computes multi-unit representation for durations. |
| apps/apollo-vertex/registry/charts-core/util/format/format-boolean.ts | Boolean formatter. |
| apps/apollo-vertex/registry/charts-core/util/format/format-number.ts | Numeric formatter. |
| apps/apollo-vertex/registry/charts-core/util/format/format-currency.ts | Currency formatter. |
| apps/apollo-vertex/registry/charts-core/util/format/is-date-only.ts | Detects date-only DateTime for display decisions. |
| apps/apollo-vertex/registry/charts-core/util/format/format-date.ts | UTC DateTime formatter with optional time hiding. |
| apps/apollo-vertex/registry/charts-core/util/format/format-duration.ts | Duration formatter using Intl unit formatting. |
| apps/apollo-vertex/registry/charts-core/util/format/format-percentage.ts | Percentage formatter (incl. ≈ handling). |
| apps/apollo-vertex/registry/charts-core/util/format/format-metric-value.ts | Metric formatter based on aggregation kind. |
| apps/apollo-vertex/registry/charts-core/util/format/get-chart-range.ts | Computes chart-range interval for adaptive formatting. |
| apps/apollo-vertex/registry/charts-core/util/format/bin-label-format-setting.ts | Picks format options for bin label start/end. |
| apps/apollo-vertex/registry/charts-core/util/format/bin-label.ts | Produces bin labels for numeric/datetime/duration bins. |
| apps/apollo-vertex/registry/charts-core/util/format/format.ts | Generic formatter by field type (datetime/numeric/etc). |
| apps/apollo-vertex/registry/bar-chart/bar-chart.tsx | Barrel exports for bar chart view + adapter wrapper. |
| apps/apollo-vertex/registry/bar-chart/bar-chart-with-adapter.tsx | Adapter-backed BarChart wrapper (totals, percents, formatting). |
| apps/apollo-vertex/registry/bar-chart/bar-chart-view.tsx | Recharts vertical bar chart view with side metric columns. |
| apps/apollo-vertex/registry/bar-chart/bar-chart-helpers.tsx | Helper utilities for bar view (colors, labels, tooltip). |
| apps/apollo-vertex/registry/ai-chat/tools/data-fabric/util/filters.ts | Switches table configuration type import to charts-core. |
| apps/apollo-vertex/registry/ai-chat/tools/data-fabric/util/chart-helpers.ts | Migrates metric/dimension models to charts-core types. |
| apps/apollo-vertex/registry/ai-chat/tools/data-fabric-table/data-fabric-table-tool.tsx | Swaps adapter import to local data-fabric-adapter. |
| apps/apollo-vertex/registry/ai-chat/tools/data-fabric-multi-line/data-fabric-multi-line-tool.tsx | Swaps adapter import to local data-fabric-adapter. |
| apps/apollo-vertex/registry/ai-chat/tools/data-fabric-line/data-fabric-line-tool.tsx | Swaps adapter import to local data-fabric-adapter. |
| apps/apollo-vertex/registry/ai-chat/tools/data-fabric-kpi/data-fabric-kpi-tool.tsx | Swaps adapter import to local data-fabric-adapter. |
| apps/apollo-vertex/registry/ai-chat/tools/data-fabric-distribution/data-fabric-distribution-tool.tsx | Swaps adapter import to local data-fabric-adapter. |
| apps/apollo-vertex/registry/ai-chat/tools/data-fabric-bar/data-fabric-bar-tool.tsx | Swaps adapter import to local data-fabric-adapter. |
| apps/apollo-vertex/registry/ai-chat/charts/table-chart-card.tsx | Uses the new TableChartWithAdapter (drops apollo-dashboarding). |
| apps/apollo-vertex/registry/ai-chat/charts/multi-line-chart-card.tsx | Uses the new MultiLineChartWithAdapter. |
| apps/apollo-vertex/registry/ai-chat/charts/line-chart-card.tsx | Uses the new LineChartWithAdapter. |
| apps/apollo-vertex/registry/ai-chat/charts/kpi-chart-card.tsx | Uses the new KpiChartWithAdapter. |
| apps/apollo-vertex/registry/ai-chat/charts/distribution-chart-card.tsx | Uses the new DistributionChartWithAdapter. |
| apps/apollo-vertex/registry/ai-chat/charts/bar-chart-card.tsx | Uses the new BarChartWithAdapter. |
| apps/apollo-vertex/registry.json | Registers charts-core/data-fabric-adapter and new chart components; drops apollo-dashboarding. |
| apps/apollo-vertex/package.json | Removes apollo-dashboarding dependency; adds ts-rest + react-error-boundary. |
| apps/apollo-vertex/locales/en.json | Adds new i18n keys for sorting/tooling labels. |
| apps/apollo-vertex/lib/asserts/assert-string.ts | Adds string assert helper (kebab-case filenames in registry.json). |
| apps/apollo-vertex/lib/asserts/assert-number.ts | Adds number assert helper (kebab-case filenames in registry.json). |
| apps/apollo-vertex/lib/asserts/assert-date-or-string.ts | Adds date-or-string assert helper (kebab-case filenames in registry.json). |
| apps/apollo-vertex/app/patterns/ai-chat/page.mdx | Updates docs to reference new adapter/components instead of apollo-dashboarding. |
| apps/apollo-vertex/app/globals.css | Removes Tailwind @source reference to apollo-dashboarding package. |
| apps/apollo-vertex/app/components/table-chart/page.mdx | Adds a component page for Table Chart. |
| apps/apollo-vertex/app/components/multi-line-chart/page.mdx | Adds a component page for Multi-Line Chart. |
| apps/apollo-vertex/app/components/line-chart/page.mdx | Adds a component page for Line Chart. |
| apps/apollo-vertex/app/components/kpi-chart/page.mdx | Adds a component page for KPI Chart. |
| apps/apollo-vertex/app/components/distribution-chart/page.mdx | Adds a component page for Distribution Chart. |
| apps/apollo-vertex/app/components/bar-chart/page.mdx | Adds a component page for Bar Chart. |
| apps/apollo-vertex/app/components/_meta.ts | Adds nav entries for the new chart component pages. |
ruudandriessen
left a comment
There was a problem hiding this comment.
docs on the dashboard page still reference the old package
ruudandriessen
left a comment
There was a problem hiding this comment.
wanna make sure we also tested this and test it e2e in a vertical
ruudandriessen
left a comment
There was a problem hiding this comment.
wanna make sure we did also test this e2e in a vertical (just set the registry to the preview url)
22ba569 to
c0722d8
Compare
@ruudandriessen I installed it on test/ai-chat-no-apollo-dashboarding in invoice processing (comparison), and tested it out; looks ok |
c0722d8 to
e1536b4
Compare
e1536b4 to
676a51e
Compare
676a51e to
8a8b509
Compare
this pr:
popoc->defaulttenantwhere I manually set up some tables, use these example prompts in the ai chat:Show me ChartExampleSalesOrder where Amount is greater than 200Distribution of ChartExampleSalesOrder over OrderDate for 2025.Plot total ChartExampleSalesOrder.Amount over OrderDate for the year 2025Plot order count and total Amount over OrderDate from ChartExampleSalesOrderHow many ChartExampleSalesOrder records have Status = CancelledCompare order count, total Amount, and average Amount by Status