feat: add Strands Agents runtime support - #52
Conversation
Adds native agent-flow support for AWS Strands Agents via a Python HookProvider that emits AgentEvent JSONL and a TypeScript session watcher that auto-discovers and tails those files. - strands-agentflow: Python HookProvider package that plugs into any Strands Agent via hooks=[AgentFlowHookProvider()] and writes JSONL to ~/.strands/agent-flow/<session-id>.jsonl - extension/src/strands-session-watcher.ts: session discovery + JSONL tailing (same pattern as Codex runtime) - extension/src/strands-runtime.ts: runtime factory - scripts/relay.ts: Strands watcher integration + fix SSE replay to send all sessions (enables tab-switching) - Unit tests for StrandsSessionWatcher (4 test cases) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
donatoaz seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
|
I also have a proposal to make supporting new runtimes more pluggable, this way the core stays unchanged and new runtime contributors adhere to an interace that keeps their contributions isolated and easier to test.. let me know if you are interested |
|
Hi @donatoaz, sorry for the long silence on this, and thanks for the patience. I went through the PR and I'd like to move it forward: it builds on the v0.8.0 runtime abstraction correctly and still merges cleanly. A few things before I can merge:
On the Also interested in your pluggable-runtime idea from the comments; if this PR lands first, that refactor would have three concrete runtimes to generalize from, which seems like the right order. |
Description
Adds support for Strands Agents as a runtime in Agent Flow, enabling visualization of Strands-based agent sessions alongside the existing Claude Code runtime.
strands-agentflowPython package with aHookProviderthat emits JSONL events compatible with Agent Flow's event protocolstrands-session-watcher.ts) that monitors Strands session files and feeds events into the visualizationstrands-runtime.ts) for starting Strands sessions from the extensionTest plan
strands-agentflowPython package installs viauvand imports successfully~/.strands/agent-flow/<session-id>.jsonlnext buildsucceeds)