Skip to content

Add compatible component suggestions#2450

Open
Mbeaulne wants to merge 1 commit into
06-23-add_component_collection_search_resultsfrom
06-23-add_compatible_component_suggestions
Open

Add compatible component suggestions#2450
Mbeaulne wants to merge 1 commit into
06-23-add_component_collection_search_resultsfrom
06-23-add_compatible_component_suggestions

Conversation

@Mbeaulne

@Mbeaulne Mbeaulne commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Description

Adds a "Compatible components" panel to the component details view that surfaces other components in the library whose input/output types are compatible with the currently selected component.

A new buildCompatibleComponentSuggestions service compares the selected component's inputs and outputs against all other loaded components. It normalizes types to lowercase, ignores Any and empty types, and handles both string and object type definitions (sorting object keys for stable comparison). Each suggestion is labelled as either "downstream" (can consume the selected component's outputs) or "upstream" (can provide inputs to the selected component), with the matched types listed. Results are capped at 6 suggestions.

The panel renders each suggestion as a clickable button that navigates to that component's detail view, showing the direction badge ("Can use outputs" / "Can provide inputs") and the matching type names.

Related Issue and Pull requests

Type of Change

  • Bug fix
  • New feature
  • Improvement
  • Cleanup/Refactor
  • Breaking change
  • Documentation update

Checklist

  • I have tested this does not break current pipelines / runs functionality
  • I have tested the changes on staging

Screenshots (if applicable)

Test Instructions

  1. Open the component library and select a component that has typed inputs or outputs.
  2. Verify that a "Compatible components" section appears in the details panel.
  3. Confirm that listed components show the correct direction badge ("Can use outputs" or "Can provide inputs") and matching type labels.
  4. Click a suggestion and confirm the detail view navigates to that component.
  5. Select a component with no typed inputs or outputs and confirm the section does not appear.

Additional Comments

Type matching is case-insensitive and Any types are excluded from matching to avoid false positives. Object types are compared by serialising their keys in sorted order.

@github-actions

github-actions Bot commented Jun 23, 2026

Copy link
Copy Markdown

🎩 Preview

A preview build has been created at: 06-23-add_compatible_component_suggestions/1618ff9

Mbeaulne commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@Mbeaulne Mbeaulne force-pushed the 06-23-add_compatible_component_suggestions branch from 2c5a9d1 to 04d2c9c Compare June 24, 2026 18:11
@Mbeaulne Mbeaulne force-pushed the 06-23-add_component_collection_search_results branch from c64d0b1 to b8c6934 Compare June 24, 2026 18:36
@Mbeaulne Mbeaulne force-pushed the 06-23-add_compatible_component_suggestions branch from 04d2c9c to 10ad78e Compare June 24, 2026 18:36
@Mbeaulne Mbeaulne marked this pull request as ready for review June 24, 2026 18:55
@Mbeaulne Mbeaulne requested a review from a team as a code owner June 24, 2026 18:55
@Mbeaulne Mbeaulne force-pushed the 06-23-add_component_collection_search_results branch from b8c6934 to aeb796f Compare June 24, 2026 19:52
@Mbeaulne Mbeaulne force-pushed the 06-23-add_compatible_component_suggestions branch from 10ad78e to 46a3885 Compare June 24, 2026 19:52
@Mbeaulne Mbeaulne force-pushed the 06-23-add_component_collection_search_results branch from aeb796f to 21f8f74 Compare June 25, 2026 15:55
@Mbeaulne Mbeaulne force-pushed the 06-23-add_compatible_component_suggestions branch from 46a3885 to 0cce278 Compare June 25, 2026 15:55
@Mbeaulne Mbeaulne force-pushed the 06-23-add_component_collection_search_results branch from 21f8f74 to dc81ddb Compare June 25, 2026 19:38
@Mbeaulne Mbeaulne force-pushed the 06-23-add_compatible_component_suggestions branch from 0cce278 to 3c20589 Compare June 25, 2026 19:38
@Mbeaulne Mbeaulne force-pushed the 06-23-add_component_collection_search_results branch from dc81ddb to 3a8d3ed Compare June 25, 2026 19:43
@Mbeaulne Mbeaulne force-pushed the 06-23-add_compatible_component_suggestions branch from 3c20589 to 1618ff9 Compare June 25, 2026 19:43
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.

1 participant