Skip to content

feat: JIT escalation apps support - #1000

Open
Sandeepan-Ghosh-0312 wants to merge 1 commit into
mainfrom
feat/JITEscalationAppsSupport
Open

feat: JIT escalation apps support#1000
Sandeepan-Ghosh-0312 wants to merge 1 commit into
mainfrom
feat/JITEscalationAppsSupport

Conversation

@Sandeepan-Ghosh-0312

@Sandeepan-Ghosh-0312 Sandeepan-Ghosh-0312 commented Jul 21, 2026

Copy link
Copy Markdown

Development Package

  • Use uipath pack --nolock to get the latest dev build from this PR (requires version range).
  • Add this package as a dependency in your pyproject.toml:
[project]
dependencies = [
  # Exact version:
  "uipath-langchain==0.14.16.dev1010005433",

  # Any version from PR
  "uipath-langchain>=0.14.16.dev1010000000,<0.14.16.dev1010010000"
]

[[tool.uv.index]]
name = "testpypi"
url = "https://test.pypi.org/simple/"
publish-url = "https://test.pypi.org/legacy/"
explicit = true

[tool.uv.sources]
uipath-langchain = { index = "testpypi" }

[tool.uv]
override-dependencies = [
    "uipath-langchain>=0.14.16.dev1010000000,<0.14.16.dev1010010000",
]

Copilot AI review requested due to automatic review settings July 21, 2026 10:59

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.

Pull request overview

Adds support for creating Action Center escalation tasks against JIT (undeployed/debug) apps by forwarding additional app-resolution fields during debug (Studio) runs, and introducing a dedicated runtime error when required debug configuration is missing.

Changes:

  • Forward JIT-related fields (app_project_key, app_type, is_debug, action_schema) when creating Action Center escalation tasks.
  • Raise a new AgentRuntimeError code when running in debug mode without a configured app project key.
  • Add tests validating JIT field forwarding and the new debug-mode validation behavior.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.

File Description
tests/agent/tools/test_escalation_tool.py Adds tests for JIT field forwarding + missing project key behavior in debug mode.
src/uipath_langchain/agent/tools/escalation_tool.py Adds debug detection and attempts to pass JIT fields into escalation task creation.
src/uipath_langchain/agent/exceptions/exceptions.py Introduces a new AgentRuntimeErrorCode for missing JIT project key in debug mode.

Comment on lines +313 to +315
is_debug = UiPathConfig.is_rooted_to_debug_job()
jit_project_key = channel.properties.project_key
action_schema = channel.properties.action_schema
"outcome": cached_result.outcome,
}

if is_debug and not jit_project_key:
Comment on lines 363 to 375
client = UiPath()
created_task = await create_task_for_channel(
client,
channel,
title=task_title,
data=serialized_data,
recipient=recipient,
folder_path=folder_path,
app_project_key=jit_project_key,
app_type=channel.properties.app_type,
is_debug=is_debug,
action_schema=action_schema,
)
Comment on lines +265 to +267
tool = create_escalation_tool(escalation_resource_jit)
call = ToolCall(args={}, id="test-call", name=tool.name)
await tool.awrapper(tool, call, {}) # type: ignore[attr-defined]
Comment on lines +292 to +297
tool = create_escalation_tool(escalation_resource)
call = ToolCall(args={}, id="test-call", name=tool.name)

with pytest.raises(AgentRuntimeError):
await tool.awrapper(tool, call, {}) # type: ignore[attr-defined]
mock_client.tasks.create_async.assert_not_called()
@Sandeepan-Ghosh-0312
Sandeepan-Ghosh-0312 force-pushed the feat/JITEscalationAppsSupport branch from 0954d35 to da79a74 Compare July 28, 2026 06:50
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 90%)

See analysis details on SonarQube Cloud

return False

client = UiPath()
async with asyncio.timeout(_IS_DEBUG_RESOLVE_TIMEOUT_SECONDS):

@Sandeepan-Ghosh-0312 Sandeepan-Ghosh-0312 Jul 28, 2026

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

remove this, use is_studio_project

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants