Skip to content

feat: support resumable trigger batch deletion#973

Merged
radu-mocanu merged 5 commits into
mainfrom
feat/resumable-timeout-support
Jul 6, 2026
Merged

feat: support resumable trigger batch deletion#973
radu-mocanu merged 5 commits into
mainfrom
feat/resumable-timeout-support

Conversation

@radu-mocanu

@radu-mocanu radu-mocanu commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • consume the uipath 2.13 and runtime 0.12 dependency family
  • add batch resume trigger deletion to the LangGraph SQLite storage
  • keep single trigger deletion as a compatibility wrapper
  • use released uipath-dev>=0.0.84 from PyPI for the dev-console testcase

Depends on

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.0.dev1009735201",

  # Any version from PR
  "uipath-langchain>=0.14.0.dev1009730000,<0.14.0.dev1009740000"
]

[[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.0.dev1009730000,<0.14.0.dev1009740000",
]

Copilot AI review requested due to automatic review settings July 6, 2026 14:00

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

Updates the package to the uipath 2.13 / uipath-runtime 0.12 dependency family and extends the SQLite resumable storage to support the new batch trigger-deletion protocol, while retaining the existing single-trigger deletion API for compatibility.

Changes:

  • Bump uipath-langchain to 0.14.0 and update uipath, uipath-platform, and uipath-runtime dependency ranges.
  • Add delete_triggers(runtime_id, triggers) to SqliteResumableStorage and route delete_trigger through it.
  • Add a new test covering multi-trigger deletion while ensuring other runtimes’ triggers are unaffected.

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.

File Description
pyproject.toml Updates package version and dependency constraints to the new uipath/runtime family.
uv.lock Refreshes the lockfile to match updated dependency constraints.
src/uipath_langchain/runtime/storage.py Implements batch deletion of resume triggers and keeps the single-delete wrapper.
tests/runtime/test_storage.py Adds test coverage for batch trigger deletion behavior.

Comment on lines 148 to +152
await cur.execute(
f"""
DELETE FROM {self.rs_table_name}
WHERE runtime_id = ? AND interrupt_id = ?
WHERE runtime_id = ?
AND interrupt_id IN ({",".join("?" for _ in interrupt_ids)})
@radu-mocanu radu-mocanu force-pushed the feat/resumable-timeout-support branch 2 times, most recently from 7a50449 to 50dc55a Compare July 6, 2026 14:19
@radu-mocanu radu-mocanu force-pushed the feat/resumable-timeout-support branch from 7494429 to 944e85f Compare July 6, 2026 15:53
@radu-mocanu radu-mocanu enabled auto-merge (squash) July 6, 2026 15:54
@radu-mocanu radu-mocanu merged commit 83ac17c into main Jul 6, 2026
42 of 43 checks passed
@radu-mocanu radu-mocanu deleted the feat/resumable-timeout-support branch July 6, 2026 15:57
@sonarqubecloud

sonarqubecloud Bot commented Jul 6, 2026

Copy link
Copy Markdown

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.

3 participants