How strands-agents/sdk-typescript works
Strands Agents is a TypeScript SDK for building and running model-driven agents. Its principal workflow accepts a user request, manages conversation context, invokes a configured model, executes requested tools, and returns a result; streaming exposes intermediate events. The SDK also provides structured output, MCP tools, conversation strategies, multi-agent orchestration, persistence, lifecycle extensions, and A2A serving. The graph combines README-documented capabilities with sampled source; unsampled modules are included only where the tree and README establish their role, so uncertain internal call wiring is omitted.
Main entry points: agent.ts Agent Loop · tool.ts Tool Runtime · storage.ts Snapshot Storage · model.ts Model Providers
Components 25
Agent Runtime
- Agent Loop
strands-ts/src/agent/agent.ts - Conversation History
strands-ts/src/conversation-manager/conversation-manager.ts - Model Providers
strands-ts/src/models/model.ts - Bedrock Provider
strands-ts/src/models/bedrock.ts - OpenAI Provider
strands-ts/src/models/openai/model.ts - Streaming Events
strands-ts/src/models/streaming.ts - Tool Runtime
strands-ts/src/tools/tool.ts - Structured Output
strands-ts/src/tools/structured-output-tool.ts
Agent Extensions
- MCP Client
strands-ts/src/mcp.ts - Vended Tools
strands-ts/src/vended-tools/index.ts - Lifecycle Hooks
strands-ts/src/hooks/registry.ts - Plugins
strands-ts/src/plugins/registry.ts - Telemetry
strands-ts/src/telemetry/index.ts - Sandbox
strands-ts/src/sandbox/base.ts
Agent Coordination
- Multi-Agent
strands-ts/src/multiagent/multiagent.ts - Graph and Swarm
strands-ts/src/multiagent/index.ts
State and Context
- Session Manager
strands-ts/src/session/session-manager.ts - Snapshot Storage
strands-ts/src/session/storage.ts - File Storage
strands-ts/src/session/file-storage.ts - S3 Storage
strands-ts/src/session/s3-storage.ts
External Interfaces
- A2A Server
strands-ts/src/a2a/server.ts
Other components
- User
- Model Service
- External Tools
- Amazon S3
Connections 24
- User → Agent Loop: submits request
- Agent Loop → Conversation History: manages context
- Agent Loop → Model Providers: requests response
- Model Providers → Model Service: calls provider
- Bedrock Provider → Model Service: calls Bedrock
- OpenAI Provider → Model Service: calls OpenAI
- Agent Loop → Tool Runtime: executes requested tools
- Tool Runtime → External Tools: performs actions
- Agent Loop → Streaming Events: emits events
- Agent Loop → Structured Output: validates output
- Agent Loop → Lifecycle Hooks: dispatches lifecycle
- Agent Loop → Plugins: uses extensions
- Agent Loop → Multi-Agent: coordinates agents
- Multi-Agent → Graph and Swarm: uses patterns
- A2A Server → Agent Loop: dispatches requests
- Agent Loop → Session Manager: persists session state
- Session Manager → Snapshot Storage: uses snapshot backend
- Snapshot Storage → File Storage: implemented by
- Snapshot Storage → S3 Storage: implemented by
- S3 Storage → Amazon S3: reads and writes
- Agent Loop → Telemetry: reports activity
- Tool Runtime → MCP Client: supports MCP tools
- Tool Runtime → Vended Tools: supports built-ins
- Vended Tools → Sandbox: executes in