Add Deep Agents integration page (Python) - #4883
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📖 Docs PR preview links
|
There was a problem hiding this comment.
Pull request overview
Adds documentation and navigation/discovery entries for the upcoming Temporal ↔ LangChain Deep Agents integration (temporalio.contrib.deepagents) in the Python SDK docs.
Changes:
- Adds a new integration guide page:
docs/develop/python/integrations/deepagents.mdx - Adds the Deep Agents page to the Python Integrations sidebar section
- Adds a Deep Agents card entry to the Integrations discovery grid data
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| docs/develop/python/integrations/deepagents.mdx | New Deep Agents integration guide (currently includes Snipsync placeholders). |
| sidebars.js | Adds Deep Agents to Python → Integrations navigation. |
| src/components/IntegrationsGrid/integrations-data.json | Adds a Deep Agents entry for the IntegrationsGrid discovery UI. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fill each snipsync wrapper on the Deep Agents page with the code and source link extracted from the samples-python deepagents_plugin sources, matching the checked-in snipsync output used across the docs. Move the Deep Agents entry in integrations-data.json to its alphabetical slot after the Datadog entries.
The samples merged (temporalio/samples-python#328) after these snippet blocks were populated, and the merged code dropped the sandbox import guards, adopted create_temporal_deep_agent with per-agent activity_options, and switched continue-as-new to the server-suggested default. Re-sync all eleven snipsync bodies to what is actually on samples-python main so the page matches what snipsync will maintain.
…hips The plugin is merged to main but the current PyPI release predates the extra, so a plain temporalio[deepagents] install does not work yet. Lead with the install-from-main command and note the plain extra takes over once the next SDK release is on PyPI.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.
Suppressed comments (4)
docs/develop/python/integrations/deepagents.mdx:532
- The ordering requirement is inaccurate: the merged plugin's
temporalio/contrib/deepagents/README.mdand the mergedlangsmith_tracing/main.pysample explicitly state that registration order does not matter. Requiring observability first gives users a false constraint; document composition without imposing an order.
`temporalio.contrib.opentelemetry`. Register the observability plugin **before** `DeepAgentsPlugin` so it can capture
the LLM calls that `DeepAgentsPlugin` runs as Activities. The Workflow itself is an ordinary Deep Agent — the tracing
docs/develop/python/integrations/deepagents.mdx:198
- This guarantee is stronger than the implementation. The merged
_model.pydescribes construction warnings as best-effort: patchingdeepagents.create_deep_agentcannot affect afrom deepagents import create_deep_agentreference bound before the Worker starts (the import style used elsewhere on this page). Such an unwrapped I/O tool can therefore run in Workflow code without this warning, so the guide should not call the choice “never silent.”
An unwrapped, non-builtin tool runs in-Workflow and the plugin warns at construction, so that choice is never silent.
docs/develop/python/integrations/deepagents.mdx:202
- The sample does not construct
TemporalModel(...); it callscreate_temporal_deep_agent(model="..."), which performs the wrapping and scopesactivity_options. Describing a different API path makes the example misleading.
This sample wraps an existing activity and an I/O tool, and constructs the model explicitly as `TemporalModel(...)` to
show the non-auto path:
docs/develop/python/integrations/deepagents.mdx:443
run_deep_agentdoes not snapshot todos. The merged implementation builds the snapshot from_extract_messages(result)plus__temporal_cache__; todos are only inspected to decide whether to continue. Claiming there is a messages/todos snapshot gives users the wrong persistence contract for pending plan state.
- **Does not carry forward:** anything held only in an in-memory checkpointer's own structures beyond the
messages/todos snapshot.
All four were real: the composition section still required registering the observability plugin first (order does not matter per the merged plugin and samples); the react_agent prose described TemporalModel(...) while the refreshed snippet builds via create_temporal_deep_agent; the unwrapped-tool warning was described as "never silent" when the plugin frames it as best-effort; and the continue-as-new section claimed a messages/todos snapshot when the snapshot is exactly messages plus the result cache (todos only gate whether to continue). Also aligns the CAN intro with run_deep_agent's server-suggested default.
|
Triaged the four comments Copilot suppressed in its 2026-08-12 review — all four were valid and are fixed in e965a94: the composition section no longer imposes a registration order (order does not matter, matching the merged plugin README and samples); the react_agent prose now describes the |
# Conflicts: # sidebars.js
|
|
||
| <ReleaseNoteHeader type="prerelease" /> | ||
|
|
||
| :::info |
There was a problem hiding this comment.
We don't need this additional admonition anymore since we already have the prerlease header
The release header already states that this is a prerelease whose API may change, so the :::info and :::note blocks repeating that added nothing. The :::note also carried the Python version requirement, which the header does not cover. That moves into Prerequisites as a bullet.
What
Documentation for the upcoming Temporal ↔ LangChain Deep Agents integration (
temporalio.contrib.deepagents):docs/develop/python/integrations/deepagents.mdx— full integration guide: install (pip install "temporalio[deepagents]", Python ≥ 3.11), Hello World worker/workflow, explicit Workflow-vs-Activity tool choice (activity_as_tool/tool_as_activity), durable backends (TemporalBackend), sub-agent durability, human-in-the-loop (native LangGraph interrupt → Temporal Query + Update), continue-as-new (run_deep_agent), streaming via workflow streams, composing with an observability plugin, and runtime behavior/limitations.sidebars.js— Python Integrations entry (alphabetical).src/components/IntegrationsGrid/integrations-data.json— discovery-grid entry.All code blocks are sourced with
SNIPSTARTmarkers that map 1:1 to@@@SNIPSTARTmarkers in the samples (11 snippets), so snipsync quotes real, tested sample code rather than hand-maintained blocks.Status
Draft until the upstream pieces merge — the page documents:
temporalio[deepagents]extra; full CI green)deepagents_plugin/, 8 scenarios, on main); snippet bodies re-synced to merged mainThe integration is experimental, and the page carries the standard maturity admonition.
┆Attachments: EDU-6716 Add Deep Agents integration page (Python)