Skip to content

feat(examples/chat): announce the research subagent's stream identity - #874

Merged
blove merged 1 commit into
mainfrom
blove/examples-chat-announce-subagent
Aug 30, 2026
Merged

feat(examples/chat): announce the research subagent's stream identity#874
blove merged 1 commit into
mainfrom
blove/examples-chat-announce-subagent

Conversation

@blove

@blove blove commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Final piece of the subagent-identity arc (#869 → middleware 0.0.2 on PyPI → @threadplane/langgraph 0.0.62 on npm → this).

The canonical demo's research tool now calls announce_subagent(config, tool_call_id), binding the child graph's tools:<uuid> stream namespace to the dispatching call_* id. The frontend attributes the stream exactly instead of relying on the single-candidate positional fallback.

Notable as a supply-chain checkpoint: this is the first consumer resolving announce_subagent from PyPI (threadplane-middleware>=0.0.2, lock pinned to the registry artifact) rather than from in-repo source — so it validates the published package, not just the code that produced it.

Verification

  • uv.lock resolves threadplane-middleware 0.0.2 from pypi.org (not a path source)
  • examples/chat e2e 54/54, including the research-subagent @drift spec — aimock mocks only the OpenAI layer, so the real graph ran with the real binding event through the real published middleware
  • Python syntax + imports verified; Annotated/InjectedToolCallId wired the same way as the cockpit demo

🤖 Generated with Claude Code

Adopts threadplane-middleware 0.0.2's announce_subagent in the canonical
demo's research @tool: the child's tools:<uuid> stream namespace is bound
to the dispatching call_* id via one custom event, so @threadplane/langgraph
(0.0.62) attributes the stream exactly instead of positionally.

Sequenced deliberately after both packages published — this is the first
consumer resolving announce_subagent from PyPI rather than from source.

e2e 54/54 (research-subagent @drift spec included), uv.lock resolves
threadplane-middleware 0.0.2 from the registry.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
threadplane Ready Ready Preview Aug 30, 2026 6:50pm

Request Review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Automated approval: this PR received an intelligent (AI) code review. See the review comments on this PR.

@github-actions

github-actions Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove enabled auto-merge (squash) August 30, 2026 18:48
@blove
blove merged commit 1acf172 into main Aug 30, 2026
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant