feat(agent): add ontology binding to Data Fabric context config#1728
Open
sankalp-uipath wants to merge 32 commits into
Open
feat(agent): add ontology binding to Data Fabric context config#1728sankalp-uipath wants to merge 32 commits into
sankalp-uipath wants to merge 32 commits into
Conversation
milind-jain-uipath
requested changes
Jun 17, 2026
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-ontology-binding # Conflicts: # packages/uipath-platform/src/uipath/platform/entities/_entities_service.py
…older_key_headers
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
🚨 Heads up:
|
…-ontology-binding # Conflicts: # packages/uipath-platform/pyproject.toml # packages/uipath-platform/uv.lock # packages/uipath/pyproject.toml # packages/uipath/uv.lock
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
9ee4757 to
1ce9049
Compare
9b6f320 to
e98f5a1
Compare
e98f5a1 to
54e45ef
Compare
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…0.1.83 / uipath 2.11.17
| super().__init__(config=config, execution_context=execution_context) | ||
| self._folders_service = folders_service | ||
|
|
||
| async def get_file_async( |
Contributor
There was a problem hiding this comment.
Should be called get_onotology_bundle_async
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-ontology-binding # Conflicts: # packages/uipath-platform/pyproject.toml # packages/uipath-platform/uv.lock # packages/uipath/pyproject.toml # packages/uipath/uv.lock
🚨 Heads up:
|
…dle_async" This reverts commit 3a15ed4.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
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
Adds Data Fabric ontology binding to the agent context model: a context can carry one or more ontologies that the runtime fetches to ground Text2SQL.
agent/models/agent.py—AgentContextResourceConfig.ontology_set(aliasontologySet), a list ofDataFabricOntologyItemnested in the context alongsideentitySet.platform/entities/_entity_ontology_service.py—DataFabricOntologyItem({name, folderId, description?}) +EntityOntologyService, which fetches one ontology file:GET datafabric_/api/ontologies/{name}/files/{type}on the authenticated, folder-scoped client.platform/entities/_entities_service.py—get_ontology_file_async(ontology_name, file_type="owl", folder_key=None)is a thin public wrapper delegating toEntityOntologyService(all ontology logic lives in the ontology sub-service). One file per call; the langchain consumer fetchesowlandr2rmlas separate calls.Why
An ontology is part of a Data Fabric context — domain knowledge over the same entities — so it is configured inline on the context (a sibling of
entitySet), mirroring how entities are bound. Each ontology carries its ownfolderIdso it can live in a different folder from the entities.Notes
ontology_setdefaults toNone.referenceKeyon ontology items: ontologies are not solution-aware at this point, so there is no solution key to reference. The field is dropped fromDataFabricOntologyItem— it was never populated or read (ontologies resolve byname+folderId). Backward compatible: configs that still sendreferenceKeyare tolerated viaextra="allow".EnrichedException(status code + response body + extracted message) rather than swallowing it. Redundant client-side allowlists were removed per review.ontologySetparse/dump, requiredfolderIdper item, backward-compat default, full-AgentDefinitionnormalization;get_ontology_file_asynccovered for spec, folder header, allowed file types, and the negative case (API rejection of an unsupported file type surfaces asEnrichedException).uipath→2.12.5,uipath-platform→0.1.91, pinuipath-platform>=0.1.91; latestmainmerged in and lockfiles relocked. Do not merge a.devpin.Development Packages
uipath
uipath-platform
Dev builds (testpypi) are republished by CI on each push. Use the latest
.devpins from the most recent CI publish comment, at base versionsuipath==2.12.5/uipath-platform==0.1.91: