Strands Agents - TypeScript SDK

A model-driven approach to building AI agents in TypeScript/JavaScript.

GitHub commit activity GitHub open issues GitHub open pull requests License

Documentation ◆ Samples ◆ Python SDK ◆ Tools ◆ Agent Builder ◆ MCP Server

Strands Agents is a simple yet powerful SDK that takes a model-driven approach to building and running AI agents. The TypeScript SDK brings key features from the Python Strands framework to TypeScript environments, enabling agent development for both Node.js servers and web browsers.

Note

: This SDK is currently under active development. Features are being added incrementally. Check the project overview for the roadmap.

Feature Overview (Planned)

  • Lightweight & Flexible: Simple agent loop that works seamlessly in Node.js and browsers
  • Model Agnostic: Support for Amazon Bedrock, OpenAI, and custom model providers
  • Tool System: Decorator-based tool definition with automatic registry management

Quick Start (Coming Soon)

Once the SDK is complete, usage will look something like this:

import { Agent } from '@strands-agents/sdk'
import { calculator } from '@strands-agents/tools'

// Invoke the agent and get response
const agent = new Agent({ tools: [calculator] })
const result = await agent.invoke('What is the square root of 1764?')
console.log(result.lastMessage) // Agent's response with the answer

// Stream the response as it's generated from the agent:
for await (const event of agent.stream('What is 42 squared?')) {
  console.log('Event:', event.type)
}

Installation (Coming Soon)

Once published to npm:

npm install @strands-agents/sdk

For browser usage:

import { Agent } from '@strands-agents/sdk'
// Your agent code here

For Node.js usage:

import { Agent } from '@strands-agents/sdk'
// Your agent code here

Development Status

This TypeScript SDK is being developed with the following features (see project overview for details):

  • ✅ Project Structure: TypeScript configuration, testing framework, development infrastructure
  • 🚧 Model Providers: Amazon Bedrock, OpenAI, and custom provider support
  • ✅ Tool System: Tool execution, registry, and decorator-based definitions
  • 🚧 Agent Interface: Core agent class with invoke and stream methods
  • 🚧 Event Loop: Async iterator-based agent loop for orchestration
  • 🚧 Conversation Manager: Context window overflow handling
  • 🚧 Hooks System: Lifecycle event extensibility
  • 🚧 Telemetry: OpenTelemetry-based observability
  • 🚧 Metrics: Usage tracking and reporting

Documentation

For detailed guidance on the Strands Agents framework (Python-based examples):

TypeScript-specific documentation will be added as the SDK develops.

Contributing ❤️

We welcome contributions! See our Contributing Guide for details on:

  • Development setup and environment
  • Testing and code quality standards
  • Pull request process
  • Code of Conduct
  • Security issue reporting

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Security

See CONTRIBUTING for more information on reporting security issues.

Languages
Python 43%
TypeScript 41.7%
MDX 12.1%
Astro 2%
JavaScript 0.6%
Other 0.6%