Skip to content

aws-transform-agent-toolkit: document streaming and make it the default - #208

Merged
nadetastic merged 2 commits into
kirodotdev:mainfrom
dangmaul-amazon:add-streaming-steering
Oct 29, 2026
Merged

nadetastic merged 2 commits into
kirodotdev:mainfrom
dangmaul-amazon:add-streaming-steering

Conversation

@dangmaul-amazon

Copy link
Copy Markdown
Contributor

What

Document streaming in the AWS Transform Agent Toolkit power and make it the default for new agents.

  • New steering/streaming.md: opt-in StreamingConfig, the factory requirement (forward conversation_repository and memory_manager), the concurrency contract (no per-request state in module/class globals), and the two subagent relay tools (send_message_to_subagent_and_relay, stream_message_to_subagent).
  • Make streaming the scaffolding default: orchestrator-patterns.md Option A passes streaming_config=StreamingConfig(), with a "Streaming is the default" note.
  • Document the capabilities.streaming agent-card flag in agent-registration.md, with a caveat that it must match the server: a card advertising streaming without a StreamingConfig makes message/stream return 404 and the turn fails.
  • Clarify streaming is enabled in the entry-point code, not via a Dockerfile flag.
  • Fix a pre-existing broken import: from agent_builder_sdk import AgentRuntimeServer raises ImportError on the published agent-builder-sdk-aws-transform 1.1.0 wheel; use the module path.

Validation

Checked every referenced symbol against the published agent-builder-sdk-aws-transform==1.1.0 / agent-builder-types-aws-transform==1.1.0 in a clean venv: the documented imports resolve, AgentRuntimeServer takes streaming_config, StreamingConfig() builds, create_default_orchestrator forwards conversation_repository/memory_manager, both relay tools exist, and the async subagent is StreamingCapable. All JSON agent-card examples parse.

- New steering/streaming.md: opt-in StreamingConfig, the factory requirement
  (forward conversation_repository and memory_manager), the concurrency contract
  (no per-request state in module/class globals), and the two subagent relay
  tools (send_message_to_subagent_and_relay, stream_message_to_subagent).
- Make streaming the scaffolding default: orchestrator-patterns.md Option A
  passes streaming_config=StreamingConfig().
- Document the capabilities.streaming agent-card flag in agent-registration.md,
  with a caveat that it must match the server: a card advertising streaming
  without a StreamingConfig makes message/stream return 404 and the turn fails.
- Clarify streaming is enabled in the entry-point code, not via a Dockerfile flag.
- Fix a pre-existing broken import: AgentRuntimeServer is not re-exported at the
  package top level, so use the module path.

@youtuyy youtuyy 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.

Checked every claim against the published agent-builder-sdk-aws-transform==1.1.0 wheel (the release carrying awslabs/agent-builder-toolkit-aws-transform#98). The import fix, the 404 / -32601 behavior, the pool/TTL/worker-thread description, the relay-tool semantics, the interrupted-turn repair and the capabilities.streaming card key all check out.

One blocking issue: the Option A scaffold, as modified, fails AgentRuntimeServer's startup validation and never reaches EXECUTING (details inline). One medium issue on the other two agent-card examples, and two wording nits.

Comment thread aws-transform-agent-toolkit/steering/orchestrator-patterns.md
Comment thread aws-transform-agent-toolkit/steering/agent-registration.md
Comment thread aws-transform-agent-toolkit/steering/streaming.md
Comment thread aws-transform-agent-toolkit/steering/streaming.md Outdated
Comment thread aws-transform-agent-toolkit/steering/agent-registration.md Outdated
…bagent/framing fixes

- orchestrator-patterns.md: the main() scaffold used the sync create_default_orchestrator with a no-**kwargs factory, which fails AgentRuntimeServer's streaming-capability validation at startup. Switch to create_default_async_orchestrator and forward conversation_repository/memory_manager.
- agent-registration.md: add "streaming": true to the Minimal and Complete agentCard examples so a scaffold copying them matches the streaming server default; drop the --concurrent-streaming flag from the card note and point at the entry point's StreamingConfig().
- streaming.md: state that a streamed subagent needs its own StreamingConfig and capabilities.streaming: true or ConverseStream rejects the relay; reconcile the frontmatter/intro framing (off at the SDK level, on for scaffolded agents).

@youtuyy youtuyy 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.

cb5bcd6 resolves all five comments. Re-ran the startup validation against agent-builder-sdk-aws-transform==1.1.0 with the exact Option A scaffold as now written: the factory accepts **kwargs, builds an AsyncBaseOrchestrator (StreamingCapable), process_message_stream accepts cfg, and _validate_streaming_capability passes, so the scaffolded agent starts. Minimal and Complete card examples now carry streaming: true, the subagent section states both subagent-side requirements, and the framing is consistent across the three files.

@nadetastic
nadetastic merged commit 3a39f45 into kirodotdev:main Oct 29, 2026
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.

4 participants