Skip to content

docs(langchain): add time trigger interrupts#948

Closed
radu-mocanu wants to merge 2 commits into
mainfrom
feat/time-triggers-langgraph
Closed

docs(langchain): add time trigger interrupts#948
radu-mocanu wants to merge 2 commits into
mainfrom
feat/time-triggers-langgraph

Conversation

@radu-mocanu

@radu-mocanu radu-mocanu commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

Summary:

  • Document WaitTimeTrigger usage with cronExpression and timeZoneId.
  • Add a LangGraph regression test for typed timer-shaped interrupt pass-through.
  • Add a HITL mock showing interrupt(WaitTimeTrigger(...)).

Tests:

  • uv run pytest tests/runtime/test_resumable.py -q
  • uv run ruff check tests/runtime/test_resumable.py tests/hitl/mocks/time_trigger_hitl.py

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.13.11.dev1009485067",

  # Any version from PR
  "uipath-langchain>=0.13.11.dev1009480000,<0.13.11.dev1009490000"
]

[[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.13.11.dev1009480000,<0.13.11.dev1009490000",
]

Copilot AI review requested due to automatic review settings June 27, 2026 19:27

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 documentation and examples for Orchestrator-backed time trigger interrupts, and introduces a regression test to ensure “timer-shaped” typed interrupt payloads are forwarded through the resumable runtime unchanged.

Changes:

  • Documented WaitTimeTrigger usage, including cron_expression and time_zone_id, in the HITL guide.
  • Added a regression test validating typed timer-like interrupt pass-through to the trigger handler.
  • Added a HITL mock graph demonstrating interrupt(WaitTimeTrigger(...)).

Reviewed changes

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

File Description
tests/runtime/test_resumable.py Adds a pydantic timer-like interrupt model, capturing trigger handler, and regression test asserting typed interrupt pass-through and serialized payload shape.
tests/hitl/mocks/time_trigger_hitl.py Adds a minimal HITL mock graph showing how to suspend with WaitTimeTrigger.
docs/human_in_the_loop.md Adds a new “Time triggers” section documenting WaitTimeTrigger and showing an example interrupt payload.

Comment thread docs/human_in_the_loop.md Outdated

| Attribute | Type | Description |
| --- | --- | --- |
| `cron_expression` | `str` | Quartz cron expression for the schedule. Use the same six-field shape accepted by `uip or triggers create --type time --cron`, for example `0 0 9 ? * MON-FRI`. |
@sonarqubecloud

Copy link
Copy Markdown

@radu-mocanu

Copy link
Copy Markdown
Collaborator Author

Closing in favor of the split PR stack and replacement LangChain PR #949.

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