Skip to content

Support intents for ui extensions#7134

Draft
vividviolet wants to merge 1 commit intoadd_manifest_to_include_files_stepfrom
03-31-support_intents_for_ui_extensions
Draft

Support intents for ui extensions#7134
vividviolet wants to merge 1 commit intoadd_manifest_to_include_files_stepfrom
03-31-support_intents_for_ui_extensions

Conversation

@vividviolet
Copy link
Copy Markdown
Member

@vividviolet vividviolet commented Mar 31, 2026

WHY are these changes introduced?

This change modernizes the UI extension asset handling system by replacing the legacy build_manifest approach with a new manifest.json-based system that supports additional asset types including intents.

Related https://github.com/shop/issues-admin-extensibility/issues/2274

WHAT is this pull request doing?

  • Adds support for intents field in extension point schemas with type, action, schema, name, and description properties
  • Adds Intents to the AssetIdentifier enum for asset handling
  • Updates UI extension build pipeline to use include_assets step instead of copy_static_assets, with support for tools, instructions, and intent schemas
  • Refactors extension payload generation to read from manifest.json instead of build_manifest, enabling better asset tracking with source file timestamps
  • Implements specialized handling for intents assets that transforms them into extension point-level properties with schema asset references
  • Updates tests to use the new manifest.json approach and adds comprehensive test coverage for intents, tools, and instructions assets

How to test your changes?

  1. Create a UI extension with intents configuration in the extension points
  2. Build the extension and verify manifest.json is generated with the correct asset references
  3. Test the dev server payload includes properly formatted intents with schema asset URLs
  4. Verify that tools and instructions assets are correctly handled through the new manifest system
  5. Confirm that asset timestamps reflect source file changes rather than build output timestamps

Measuring impact

How do we know this change was effective? Please choose one:

  • n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes

Copy link
Copy Markdown
Member Author

vividviolet commented Mar 31, 2026

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.

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