Repository navigation
aws-transform-agent-toolkit: document streaming and make it the default - #208
Conversation
- 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.
c08f0c3 to
91aede9
Compare
youtuyy
left a comment
There was a problem hiding this comment.
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.
…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
left a comment
There was a problem hiding this comment.
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.
What
Document streaming in the AWS Transform Agent Toolkit power and make it the default for new agents.
steering/streaming.md: opt-inStreamingConfig, the factory requirement (forwardconversation_repositoryandmemory_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).orchestrator-patterns.mdOption A passesstreaming_config=StreamingConfig(), with a "Streaming is the default" note.capabilities.streamingagent-card flag inagent-registration.md, with a caveat that it must match the server: a card advertising streaming without aStreamingConfigmakesmessage/streamreturn 404 and the turn fails.from agent_builder_sdk import AgentRuntimeServerraisesImportErroron the publishedagent-builder-sdk-aws-transform1.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.0in a clean venv: the documented imports resolve,AgentRuntimeServertakesstreaming_config,StreamingConfig()builds,create_default_orchestratorforwardsconversation_repository/memory_manager, both relay tools exist, and the async subagent isStreamingCapable. All JSON agent-card examples parse.