Skip to content

@W-23334008 - Add Chiron datasource-context insight tools + datasource LUID resolver#471

Draft
tonythebest wants to merge 1 commit into
tableau:mainfrom
tonythebest:dev/t.li/w-23334008-chiron-datasource-context
Draft

@W-23334008 - Add Chiron datasource-context insight tools + datasource LUID resolver#471
tonythebest wants to merge 1 commit into
tableau:mainfrom
tonythebest:dev/t.li/w-23334008-chiron-datasource-context

Conversation

@tonythebest

Copy link
Copy Markdown

Summary

Adds a deterministic path to generate Pulse insights from datasource context (no persisted Pulse metric/definition required), plus a resolver to map a datasource's contentUrl to a unique published LUID.

  • generate-chiron-insight-from-datasource-context: validates datasource/fields/filters, builds inline metric context, and calls generate-pulse-* internally. Auto-falls back from the AI brief to the deterministic bundle when Tableau+ (AI insights) is disabled on the site.
  • resolve-datasource-luid: resolves a datasource contentUrl (exact, case-sensitive) to a unique published LUID, disambiguating same-named datasources. (The REST contentUrl filter is case-insensitive, so an exact post-match is required.)
  • Expose contentUrl on the DataSource schema (also surfaced by list-datasources).
  • Register + scope the new tools; unit tests for the request builder, the wrapper (incl. brief->bundle fallback), and the resolver (case-collision).

Why

Enables a "datasource in front of me -> governed insight" flow (e.g. Tableau Desktop / Studio) without pre-created Pulse metric definitions: resolve the open datasource's LUID from its contentUrl, then generate a Pulse insight from an inline metric spec built off the datasource's fields.

Test plan

  • npm run build green (node 22)
  • npm run lint clean
  • npm test — new unit tests pass (request builder, wrapper + fallback, resolver case-collision); full datasource suite green
  • Reviewer: sanity-check tool scoping + naming before un-drafting

Draft for team review.

Made with Cursor

… LUID resolver

Add a deterministic path to generate Pulse insights from Studio datasource
context (no persisted Pulse metric/definition required), plus a resolver to
map a Desktop workbook's published datasource to a unique LUID.

- generate-chiron-insight-from-datasource-context: validates datasource/fields/
  filters, builds inline metric context, calls generate-pulse-* internally, and
  auto-falls back from the AI brief to the deterministic bundle when Tableau+ is
  disabled on the site.
- resolve-datasource-luid: resolves a datasource contentUrl (exact, case-
  sensitive) to a unique published LUID, disambiguating same-named datasources
  (the REST contentUrl filter is case-insensitive).
- Expose contentUrl on the DataSource schema (also surfaced by list-datasources).
- Register + scope the new tools; unit tests for builder, wrapper (incl. brief->
  bundle fallback), and resolver (case-collision).

Co-authored-by: Cursor <cursoragent@cursor.com>
@salesforce-cla

salesforce-cla Bot commented Jul 9, 2026

Copy link
Copy Markdown

Thanks for the contribution! Unfortunately we can't verify the commit author(s): t-li <t***@s***.com>. One possible solution is to add that email to your GitHub account. Alternatively you can change your commits to another email and force push the change. After getting your commits associated with your GitHub account, refresh the status of this Pull Request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant