feat: add @resource_override and folder_path support to MemoryService#1591
Merged
feat: add @resource_override and folder_path support to MemoryService#1591
Conversation
- Apply @resource_override(resource_type="memorySpace") to create/create_async so folder bindings are automatically resolved from resource overwrites - Add folder_path parameter to all public methods (create, list, search, escalation_search, escalation_ingest and their async variants) - Plumb folder_path through to private spec builders via _resolve_folder This aligns memory spaces with how other resources (assets, ECS indexes) handle resource binding resolution. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
CalebMartinUiPath
approved these changes
Apr 24, 2026
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.
Summary
@resource_override(resource_type="memorySpace")tocreate/create_asyncso folder bindings are automatically resolved from resource overwrites (matching assets, ECS indexes, etc.)folder_pathparameter to all public methods as an alternative tofolder_keyfolder_paththrough to private spec builders via the existing_resolve_foldermethodWhy
The memory service was the only resource type that required callers to manually read
_resource_overwritesto resolve folder bindings. Other services (context grounding, assets, connections) use the@resource_overridedecorator for automatic resolution. This was flagged in UiPath/uipath-agents-python#374 review.Changes
_memory_service.py:create/create_async: Added@resource_override(resource_type="memorySpace")decorator +folder_pathparamlist/list_async: Addedfolder_pathparamsearch/search_async: Addedfolder_pathparamescalation_search/escalation_search_async: Addedfolder_pathparamescalation_ingest/escalation_ingest_async: Addedfolder_pathparamfolder_pathNotes
@resource_overrideis only applied tocreate/create_asyncsince they have anameparameter (the decorator matches onnameby default).list/search/escalation_*methods usememory_space_idor OData filters, so the decorator doesn't apply.memorySpaceresource type was already registered inGenericResourceOverwrite.folder_pathdefaults toNone.Test plan
createwith resource overwrites resolves folder correctlylist/searchwithfolder_pathparam works🤖 Generated with Claude Code