Skip to content

feat: add analyst agent support for canvas dashboard#8669

Merged
AdityaHegde merged 15 commits intomainfrom
feat/canvas-chat
Feb 9, 2026
Merged

feat: add analyst agent support for canvas dashboard#8669
AdityaHegde merged 15 commits intomainfrom
feat/canvas-chat

Conversation

@AdityaHegde
Copy link
Copy Markdown
Collaborator

@AdityaHegde AdityaHegde commented Jan 20, 2026

Adds support for analyst agent for canvas dashboards.

  1. Sends current filters and active canvas to the completion API.
  2. Adds support for mention like context mentioning canvases or its components.

Closes APP-674

Checklist:

  • Covered by tests
  • Ran it and it works as intended
  • Reviewed the diff before requesting a review
  • Checked for unhandled edge cases
  • Linked the issues it closes
  • Checked if the docs need to be updated. If so, create a separate Linear DOCS issue
  • Intend to cherry-pick into the release branch
  • I'm proud of this work!

@AdityaHegde AdityaHegde changed the title feat: add chat support in canvas preview mode feat: add analyst agent support for canvas dashboard Jan 29, 2026
@AdityaHegde AdityaHegde marked this pull request as ready for review January 29, 2026 14:40
@AdityaHegde AdityaHegde requested a review from ericokuma January 29, 2026 14:41
Comment thread runtime/ai/analyst_agent.go Outdated
Comment thread runtime/ai/analyst_agent.go Outdated
Comment thread runtime/canvases.go Outdated
Copy link
Copy Markdown
Member

@djbarnwal djbarnwal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, works well.

In general I would suggest that we can tighten up the types in some places

Nice to have features (can do as follow up) -

  • When there's just 1 component in a row, mention label at Component at row n instead of Component at row n column 1
  • Highlighting a component from the picker in the chat should highlight the component by adding a temporary ring

Comment on lines +228 to +238
if (CHART_CONFIG[renderer]?.provider) {
const providerClass: ChartMetadataConfig["provider"] =
CHART_CONFIG[renderer].provider;
const provider = new providerClass(
readable(componentSpec?.rendererProperties as any),
);

const fields = getFieldsForSpec(
componentSpec?.rendererProperties as any,
metricsViewSpec ?? {},
);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add stricter typing here?

Comment on lines +64 to +71
const componentSpec = meta.componentSpecs[ctx.canvasComponent!];
return getLabelForComponent(
ctx.canvasComponent!,
componentSpec,
meta.metricsViewSpecs[
(componentSpec?.rendererProperties?.metrics_view as
| string
| undefined) ?? ""
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see a few lint warnings in this file.

Copy link
Copy Markdown
Contributor

@begelundmuller begelundmuller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Backend changes look good now

@AdityaHegde AdityaHegde merged commit d7a29b2 into main Feb 9, 2026
13 checks passed
@AdityaHegde AdityaHegde deleted the feat/canvas-chat branch February 9, 2026 05:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants