chore(DATAGO-123922): Add artifact tags for internal and user-uploaded files #951
Open
chore(DATAGO-123922): Add artifact tags for internal and user-uploaded files #951
Conversation
Reverts refactoring changes (isDeleted -> isDisabled rename and version display) that are not related to the artifact tagging feature.
- Add fallback to artifacts array when allArtifacts is undefined - Update Storybook story to include allArtifacts mock
WhiteSource Policy Violation Summary✅︎ No Blocking Whitesource Policy Violations found in solaceai/solace-agent-mesh-ui-pr-951! |
Add showInternalArtifacts, allArtifacts, toggleShowInternalArtifacts, and internalArtifactCount to fix TypeScript build errors.
efunneko
commented
Feb 3, 2026
| artifactsRefetch(); | ||
| }, | ||
| icon: <RefreshCcw />, | ||
| const menuActions: MenuAction[] = []; |
Collaborator
Author
amir-ghasemi
approved these changes
Feb 3, 2026
| log_identifier=f"{log_identifier}[ResolveChunk]", | ||
| ) | ||
| # Extract tags from params (comma-separated string to list) | ||
| tags_str = params.get("tags", "") |
Collaborator
There was a problem hiding this comment.
the logic to parse tags from the parameters string is duplicated. Perhaps extract it to a helper function?
| log_identifier, | ||
| params["schema_max_keys"], | ||
| ) | ||
| # Extract tags from params (comma-separated string to list) |
ProxyTaskContext doesn't have get_flag method. Proxy artifacts from external A2A agents shouldn't be tagged as internal anyway.
Address PR review comment - the tag parsing logic was duplicated. Added _parse_tags_param() helper function for cleaner code.
Covers all edge cases: None, empty string, single tag, multiple tags, whitespace trimming, empty tags filtering, and mixed inputs.
Feedback from PR review suggested "working" is more intuitive for users than "internal" when describing behind-the-scenes intermediate files. Changes: - ARTIFACT_TAG_INTERNAL -> ARTIFACT_TAG_WORKING - __internal -> __working (tag value) - UI text: "internal files" -> "working files" - Variable/function names updated throughout
|
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.






What is the purpose of this change?
Add a tagging system to artifact metadata that allows labeling artifacts with arbitrary tags. The primary use case is reserving the
__internaltag to mark artifacts that should be hidden from users by default (e.g., intermediate files from workflows or structured invocations), with a UI toggle to show them when needed.How was this change implemented?
Backend changes:
tagsfield toArtifactInfotype and data models (types.py,data_parts.py)save_artifact_with_metadata()to accept and store tags in metadata JSONget_artifact_info_list()to extract and return tags from metadata__user_uploadedviaprocess_artifact_upload()__internalvia callbacks, proxies, and workflow componentscallbacks.pyFrontend changes:
tagsfield toArtifactInfointerfaceuseArtifactshook enhancements:showInternalArtifactstoggle with localStorage persistence, filtering logic,internalArtifactCountArtifactMorePopoverArtifactPanelto show count of hidden internal files when toggle is offKey Design Decisions
__prefix (e.g.,__internal,__user_uploaded) to distinguish from user tags.metadata.jsonfiles alongside artifacts for backward compatibilityHow was this change tested?
__user_uploadedtagTestArtifactTaggingclass intest_artifact_services.pywith 5 tests covering tag storage, retrieval, and backward compatibilityIs there anything the reviewers should focus on/be aware of?
__internaltag is auto-applied in multiple locations (callbacks, proxies, workflow components) - verify all paths are coveredtest_artifact_without_tags)sam_show_internal_artifacts)