Skip to content

feat: add Strands Agents runtime support#52

Open
donatoaz wants to merge 1 commit into
patoles:mainfrom
donatoaz:feat/strands-runtime
Open

feat: add Strands Agents runtime support#52
donatoaz wants to merge 1 commit into
patoles:mainfrom
donatoaz:feat/strands-runtime

Conversation

@donatoaz
Copy link
Copy Markdown

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.

  • Introduces strands-agentflow Python package with a HookProvider that emits JSONL events compatible with Agent Flow's event protocol
  • Adds a VS Code extension watcher (strands-session-watcher.ts) that monitors Strands session files and feeds events into the visualization
  • Adds a runtime launcher (strands-runtime.ts) for starting Strands sessions from the extension
  • Updates the relay script to support forwarding Strands events
  • Includes unit tests and a sample fixture for the session watcher

Test plan

  • Extension unit tests pass (32/32, including 4 StrandsSessionWatcher-specific tests)
  • Project-level tests pass (24/24, no regressions)
  • strands-agentflow Python package installs via uv and imports successfully
  • JSONL events are correctly emitted to ~/.strands/agent-flow/<session-id>.jsonl
  • Web app builds without errors (next build succeeds)
  • VS Code extension builds without errors

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>
@cla-assistant
Copy link
Copy Markdown

cla-assistant Bot commented May 14, 2026

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


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.

@donatoaz
Copy link
Copy Markdown
Author

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

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