feat: tangent - interactive chips in tangent chat - #2732
Open
maxy-shpfy wants to merge 1 commit into
Open
maxy-shpfy wants to merge 1 commit into
maxy-shpfy wants to merge 1 commit into
Conversation
This was referenced Sep 17, 2026
🎩 PreviewA preview build has been created at: |
This was referenced Sep 17, 2026
Collaborator
Author
This was referenced Sep 17, 2026
maxy-shpfy
force-pushed
the
09-17-feat_tangent_-_interactive_chips_in_tangent_chat
branch
from
September 18, 2026 18:52
40b4c48 to
fd9ed3e
Compare
maxy-shpfy
force-pushed
the
09-17-feat_tangent_-_interactive_chips_in_tangent_chat
branch
from
September 18, 2026 19:13
fd9ed3e to
ac2652f
Compare
maxy-shpfy
force-pushed
the
09-17-feat_tangent_-_interactive_chips_in_tangent_chat
branch
from
September 18, 2026 19:18
ac2652f to
9fff15f
Compare
maxy-shpfy
force-pushed
the
09-17-feat_tangent_-_interactive_chips_in_tangent_chat
branch
from
September 18, 2026 19:28
9fff15f to
17aba5f
Compare
maxy-shpfy
marked this pull request as ready for review
September 18, 2026 19:37
This was referenced Sep 21, 2026
Mbeaulne
added this pull request to stack #2781
September 22, 2026 14:58
This was referenced Sep 22, 2026
camielvs
approved these changes
Sep 23, 2026
camielvs
force-pushed
the
09-17-feat_tangent_-_interactive_chips_in_tangent_chat
branch
from
September 23, 2026 22:22
17aba5f to
b4dcaba
Compare
camielvs
force-pushed
the
09-17-feat_tangent_-_interactive_chips_in_tangent_chat
branch
from
September 23, 2026 22:35
b4dcaba to
94a3a57
Compare
camielvs
force-pushed
the
09-17-feat_tangent_-_interactive_chips_in_tangent_chat
branch
from
September 23, 2026 23:37
94a3a57 to
fee11da
Compare
camielvs
force-pushed
the
09-17-feat_tangent_-_interactive_chips_in_tangent_chat
branch
from
September 23, 2026 23:57
fee11da to
9aff02f
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Description
Adds clickable
entity://andcomponent://chip rendering to the embedded AI chat. When the AI references a pipeline entity (task, input, or output) or a component in a message, the link now renders as an interactive chip instead of a plain anchor.Clicking an entity chip activates the workarea pipeline tab that owns the entity and focuses it on the canvas. The resolution logic first tries to match by
$id, then falls back to matching by label name to handle stale IDs from prior sessions. Component chips hydrate by digest, using a context-provided map when available and falling back to a service call.Key additions:
resolveChatEntity— resolves an entity ID/label pair against a liveComponentSpectree, including subgraph traversal and label-based fallback for drifted IDs.chatEntityKindFromId— infers entity kind from the ID prefix for icon rendering before a spec is loaded.entityIcon— extracted shared icon lookup fortask,input,output, and unknown kinds.chatAnchorProtocols—AnchorProtocolMapwiringentity://toEntityAnchorandcomponent://toComponentAnchor, passed into the embedded<Chat>component.ChatEntityRevealContext— React context that carries therevealEntitycallback fromTangentProjectStoredown to the anchor renderers.ComponentChipFromContext/ComponentRefsContext— extracted fromrenderMarkdowninto their own module so they can be shared between the markdown renderer and the new anchor protocol handler.TangentProjectStore.revealEntity— iterates open pipeline tabs, finds the one whose live spec resolves the entity, activates it, and delegates focus tonavigateToEntity.Screenshots (if applicable)
Screen Recording 2026-09-18 at 12.36.30 PM.mov (uploaded via Graphite)
Test Instructions
entity://chip links referencing tasks or inputs in one of the pipelines.component://chips render and hydrate correctly by digest.Additional Comments
ComponentChipFromContextandComponentRefsContextwere moved out ofrenderMarkdown.tsxinto their own file to allow reuse by the new anchor protocol handler without circular dependencies.