Skip to content

feat(advanced): support a CompositeBackend workspace and filesystem permissions - #1113

Open
mariadhakalUipath wants to merge 1 commit into
mainfrom
feat/composite-backend-support
Open

mariadhakalUipath wants to merge 1 commit into
mainfrom
feat/composite-backend-support

Conversation

@mariadhakalUipath

@mariadhakalUipath mariadhakalUipath commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

What changed?

Advanced agents can now be given a deepagents CompositeBackend and filesystem permissions.

  • CompositeBackend as the workspace. Memory and input/message attachments were enabled only for a FilesystemBackend. A CompositeBackend therefore silently lost memory, and a run with an input attachment failed with NotImplementedError. Each graph builder now treats a composite's default as the workspace, once, where the backend comes in, and uses it for memory and attachments. The deep agent still receives the full composite, so routed mounts (e.g. /skills/) stay visible to it.
  • permissions parameter. create_advanced_agent, create_advanced_agent_graph and create_conversational_advanced_agent_graph accept deepagents FilesystemPermission rules and forward them to create_deep_agent. Its filesystem tools enforce them for the main agent, its subagents, and calls bridged from the code interpreter.
  • Version bumped to 0.18.15.

Needed by uipath-agents-python for UiPath Skills: the skills folder is mounted read-only at /skills/ next to the workspace, via a CompositeBackend plus a deny-write rule.

Are there any breaking changes?

None. permissions is optional, and non-composite backends behave as before.

Copilot AI lite review requested due to automatic review settings September 23, 2026 20:23

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Compiled subagents can bypass supplied filesystem permissions, contrary to documented inheritance.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 High severity

Open (1)
What changed in this PR

Adds CompositeBackend workspace support and optional filesystem permissions for advanced agents.

Changes:

  • Resolves composite defaults for memory and attachments.
  • Forwards filesystem permissions to agents and subagents.
  • Adds regression tests and bumps version to 0.18.15.
  • Blocking issue: compiled subagents may bypass supplied permissions.
File Summary
uv.lock Updates locked package version.
tests/​agent/​advanced/​test_permissions.py Tests permission enforcement and inheritance.
tests/​agent/​advanced/​test_memory_injection.py Tests composite memory behavior.
tests/​agent/​advanced/​test_create_advanced_agent_graph.py Tests input attachment resolution.
tests/​agent/​advanced/​test_conversational_advanced_agent_graph.py Tests message attachment resolution.
src/​uipath_langchain/​agent/​advanced/​agent.py Implements workspace resolution and permission forwarding.
pyproject.toml Bumps package version.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

memory=list(memory) or None,
middleware=[*middleware, payload_handler],
skills=list(skills) if skills else None,
permissions=list(permissions) if permissions else None,
…ermissions

Memory and input and message attachments were enabled only for a FilesystemBackend,
so a CompositeBackend silently lost memory and faulted on input attachments. Each
graph builder now treats a CompositeBackend's default as the workspace, once, and
uses it for memory and attachments. The deep agent still receives the full
composite, so routed mounts stay visible to it.

The graph builders also accept deepagents FilesystemPermission rules and forward
them to create_deep_agent. Its filesystem tools enforce them for the main agent,
its subagents, and calls bridged from the code interpreter.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@mariadhakalUipath
mariadhakalUipath force-pushed the feat/composite-backend-support branch from 149f846 to bcb668d Compare September 23, 2026 20:29
@sonarqubecloud

Copy link
Copy Markdown

This branch has not been deployed

No deployments
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.

2 participants