feat(artifacts): add RichArtifact for HTML/JS content#19726
Closed
feat(artifacts): add RichArtifact for HTML/JS content#19726
Conversation
Add a new artifact type that renders HTML/JS in a sandboxed iframe. - Add RichArtifact class with html, sandbox, and csp fields - Add create_rich_artifact() and acreate_rich_artifact() helpers - Default sandbox is allow-scripts only (JS runs but isolated from parent) - Add tests for RichArtifact Depends on: PrefectHQ/prefect-ui-library#3109 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
CodSpeed Performance ReportMerging #19726 will not alter performanceComparing Summary
|
zzstoatzz
approved these changes
Dec 11, 2025
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
…Service (#19756) Co-authored-by: Claude <noreply@anthropic.com>
…g (OSS-7263) (#19786) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
…19787) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
…19785) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
…9788) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
…#19790) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
…ptions (#19784) Co-authored-by: Claude <noreply@anthropic.com>
…19792) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Nate Nowack <nate@prefect.io>
…ine chart (#19793) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
…19972) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
…NG (#19980) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
…n wizard (#19983) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
Contributor
|
This pull request is stale because it has been open 14 days with no activity. To keep this pull request open remove stale label or comment. |
…yments tab (#19979) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: alex.s@prefect.io <ajstreed1@gmail.com>
Add a new artifact type that renders HTML/JS in a sandboxed iframe. - Add RichArtifact class with html, sandbox, and csp fields - Add create_rich_artifact() and acreate_rich_artifact() helpers - Default sandbox is allow-scripts only (JS runs but isolated from parent) - Add tests for RichArtifact Depends on: PrefectHQ/prefect-ui-library#3109 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…Q/prefect into feat/rich-artifact-type
Contributor
|
This pull request is stale because it has been open 14 days with no activity. To keep this pull request open remove stale label or comment. |
Contributor
|
This pull request was closed because it has been stale for 14 days with no activity. If this pull request is important or you have more to add feel free to re-open it. |
4 tasks
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.
Adds a
RichArtifacttype that renders HTML/JS in a sandboxed iframe. Users can create interactive charts, visualizations, or custom HTML as artifacts.Release Order
Depends on: PrefectHQ/prefect-ui-library#3109 — merge and release ui-library first, then bump the dependency here.
Python SDK
RichArtifactclass withhtml,sandbox, andcspfieldscreate_rich_artifact()/acreate_rich_artifact()helpersallow-scriptsonly (JS isolated from parent origin)Usage
🤖 Generated with Claude Code