Strands Agents Typescript SDK
    Preparing search index...

    Class BedrockModel

    AWS Bedrock model provider implementation.

    Implements the Model interface for AWS Bedrock using the Converse Stream API. Supports streaming responses, tool use, prompt caching, and comprehensive error handling.

    const provider = new BedrockModel({
    modelConfig: {
    modelId: 'global.anthropic.claude-sonnet-4-5-20250929-v1:0',
    maxTokens: 1024,
    temperature: 0.7
    },
    clientConfig: {
    region: 'us-west-2'
    }
    })

    const messages: Message[] = [
    { type: 'message', role: 'user', content: [{ type: 'textBlock', text: 'Hello!' }] }
    ]

    for await (const event of provider.stream(messages)) {
    if (event.type === 'modelContentBlockDeltaEvent' && event.delta.type === 'textDelta') {
    process.stdout.write(event.delta.text)
    }
    }

    Hierarchy (View Summary)

    Index

    Constructors

    • Creates a new BedrockModel instance.

      Parameters

      Returns BedrockModel

      // Minimal configuration with defaults
      const provider = new BedrockModel({
      region: 'us-west-2'
      })

      // With model configuration
      const provider = new BedrockModel({
      region: 'us-west-2',
      modelId: 'global.anthropic.claude-sonnet-4-5-20250929-v1:0',
      maxTokens: 2048,
      temperature: 0.8,
      cachePrompt: 'ephemeral'
      })

      // With client configuration
      const provider = new BedrockModel({
      region: 'us-east-1',
      clientConfig: {
      credentials: myCredentials
      }
      })

    Methods

    • Streams a conversation with the Bedrock model. Returns an async iterable that yields streaming events as they occur.

      Parameters

      • messages: Message[]

        Array of conversation messages

      • Optionaloptions: StreamOptions

        Optional streaming configuration

      Returns AsyncIterable<ModelStreamEvent>

      Async iterable of streaming events

      {ContextWindowOverflowError} When input exceeds the model's context window

      {ModelThrottledError} When Bedrock service throttles requests

      const messages: Message[] = [
      { type: 'message', role: $1, content: [{ type: 'textBlock', text: 'What is 2+2?' }] }
      ]

      const options: StreamOptions = {
      systemPrompt: 'You are a helpful math assistant.',
      toolSpecs: [calculatorTool]
      }

      for await (const event of provider.stream(messages, options)) {
      if (event.type === 'modelContentBlockDeltaEvent') {
      console.log(event.delta)
      }
      }
    • Streams a conversation with aggregated content blocks and messages. Returns an async generator that yields streaming events and content blocks, and returns the final message with stop reason and optional metadata.

      This method enhances the basic stream() by collecting streaming events into complete ContentBlock and Message objects, which are needed by the agentic loop for tool execution and conversation management.

      The method yields:

      • ModelStreamEvent - Original streaming events (passed through)
      • ContentBlock - Complete content block (emitted when block completes)

      The method returns:

      • StreamAggregatedResult containing the complete message, stop reason, and optional metadata

      Parameters

      • messages: Message[]

        Array of conversation messages

      • Optionaloptions: StreamOptions

        Optional streaming configuration

      Returns AsyncGenerator<
          ModelStreamEvent
          | ContentBlock,
          StreamAggregatedResult,
          undefined,
      >

      Async generator yielding ModelStreamEvent | ContentBlock and returning a StreamAggregatedResult