diff --git a/SITE-ARCHITECTURE.md b/SITE-ARCHITECTURE.md
index 2ce1e4d46..c4e8b7285 100644
--- a/SITE-ARCHITECTURE.md
+++ b/SITE-ARCHITECTURE.md
@@ -510,7 +510,7 @@ Namespaces
└── telemetry
Classes
├── Agent
- ├── BedrockModel
+ ├── ConverseModel
└── Tool
Interfaces
├── AgentConfig
diff --git a/docs/examples/typescript/deploy_to_bedrock_agentcore/README.md b/docs/examples/typescript/deploy_to_bedrock_agentcore/README.md
index e814d98e8..e5a6eb4fb 100644
--- a/docs/examples/typescript/deploy_to_bedrock_agentcore/README.md
+++ b/docs/examples/typescript/deploy_to_bedrock_agentcore/README.md
@@ -215,7 +215,7 @@ const myCustomTool = strands.tool({
})
const agent = new strands.Agent({
- model: new strands.BedrockModel({
+ model: new strands.ConverseModel({
region: 'ap-southeast-2',
}),
tools: [calculatorTool, myCustomTool], // Add your tool here
diff --git a/docs/examples/typescript/deploy_to_bedrock_agentcore/index.ts b/docs/examples/typescript/deploy_to_bedrock_agentcore/index.ts
index dad909229..5d34cd39f 100644
--- a/docs/examples/typescript/deploy_to_bedrock_agentcore/index.ts
+++ b/docs/examples/typescript/deploy_to_bedrock_agentcore/index.ts
@@ -29,7 +29,7 @@ const calculatorTool = strands.tool({
// Configure the agent with Amazon Bedrock
const agent = new strands.Agent({
- model: new strands.BedrockModel({
+ model: new strands.ConverseModel({
region: 'ap-southeast-2', // Change to your preferred region
}),
tools: [calculatorTool],
diff --git a/src/content/docs/user-guide/concepts/model-providers/amazon-bedrock.mdx b/src/content/docs/user-guide/concepts/model-providers/amazon-bedrock.mdx
index 52d28bdd0..d01a47136 100644
--- a/src/content/docs/user-guide/concepts/model-providers/amazon-bedrock.mdx
+++ b/src/content/docs/user-guide/concepts/model-providers/amazon-bedrock.mdx
@@ -188,7 +188,7 @@ response = agent("Tell me about Amazon Bedrock.")
-The [`BedrockModel`](@api/typescript/BedrockModel) provider is used by default when creating a basic Agent, and uses the [Claude Sonnet 4.5](https://aws.amazon.com/blogs/aws/introducing-claude-sonnet-4-5-in-amazon-bedrock-anthropics-most-intelligent-model-best-for-coding-and-complex-agents/) model by default. This basic example creates an agent using this default setup:
+The [`ConverseModel`](@api/typescript/ConverseModel) provider is used by default when creating a basic Agent, and uses the [Claude Sonnet 4.5](https://aws.amazon.com/blogs/aws/introducing-claude-sonnet-4-5-in-amazon-bedrock-anthropics-most-intelligent-model-best-for-coding-and-complex-agents/) model by default. This basic example creates an agent using this default setup:
```typescript
--8<-- "user-guide/concepts/model-providers/amazon-bedrock_imports.ts:basic_default_imports"
@@ -235,7 +235,7 @@ response = agent("Tell me about Amazon Bedrock.")
-For more control over model configuration, you can create an instance of the [`BedrockModel`](@api/typescript/BedrockModel) class:
+For more control over model configuration, you can create an instance of the [`ConverseModel`](@api/typescript/ConverseModel) class:
```typescript
--8<-- "user-guide/concepts/model-providers/amazon-bedrock.ts:basic_model_instance"
@@ -265,7 +265,7 @@ Common configuration parameters include:
-The [`BedrockModel`](@api/typescript/BedrockModelOptions) supports various configuration parameters. For a complete list of available options, see the [BedrockModelOptions API reference](@api/typescript/BedrockModelOptions).
+The [`ConverseModel`](@api/typescript/ConverseModelOptions) supports various configuration parameters. For a complete list of available options, see the [ConverseModelOptions API reference](@api/typescript/ConverseModelOptions).
Common configuration parameters include:
@@ -485,7 +485,7 @@ guardrail_agent = Agent(model=bedrock_model)
response = guardrail_agent("Can you tell me about the Strands SDK?")
```
-Amazon Bedrock supports guardrails to help ensure model outputs meet your requirements. Strands allows you to configure guardrails with your [`BedrockModel`](@api/typescript/BedrockModel).
+Amazon Bedrock supports guardrails to help ensure model outputs meet your requirements. Strands allows you to configure guardrails with your [`ConverseModel`](@api/typescript/ConverseModel).
When a guardrail is triggered:
@@ -499,7 +499,7 @@ When `guardrail_latest_message=True`, only the most recent user message is sent
-Amazon Bedrock supports guardrails to help ensure model outputs meet your requirements. Strands allows you to configure guardrails with your [`BedrockModel`](@api/typescript/BedrockModel):
+Amazon Bedrock supports guardrails to help ensure model outputs meet your requirements. Strands allows you to configure guardrails with your [`ConverseModel`](@api/typescript/ConverseModel):
```typescript
--8<-- "user-guide/concepts/model-providers/amazon-bedrock.ts:guardrails"
@@ -857,7 +857,7 @@ response = agent("If a train travels at 120 km/h and needs to cover 450 km, how
-Strands allows you to enable and configure reasoning capabilities with your [`BedrockModel`](@api/typescript/BedrockModel):
+Strands allows you to enable and configure reasoning capabilities with your [`ConverseModel`](@api/typescript/ConverseModel):
```typescript
--8<-- "user-guide/concepts/model-providers/amazon-bedrock.ts:reasoning"
diff --git a/src/content/docs/user-guide/concepts/model-providers/amazon-bedrock.ts b/src/content/docs/user-guide/concepts/model-providers/amazon-bedrock.ts
index a0a4e0241..18a2edb5f 100644
--- a/src/content/docs/user-guide/concepts/model-providers/amazon-bedrock.ts
+++ b/src/content/docs/user-guide/concepts/model-providers/amazon-bedrock.ts
@@ -1,11 +1,11 @@
/**
* TypeScript examples for Amazon Bedrock model provider documentation.
- * These examples demonstrate common usage patterns for the BedrockModel.
+ * These examples demonstrate common usage patterns for the ConverseModel.
*/
// @ts-nocheck
// Imports are in amazon-bedrock_imports.ts
-import { Agent, BedrockModel, DocumentBlock, CachePointBlock, Message } from '@strands-agents/sdk'
+import { Agent, ConverseModel, DocumentBlock, CachePointBlock, Message } from '@strands-agents/sdk'
// Basic usage examples
async function basicUsageDefault() {
@@ -28,13 +28,13 @@ async function basicUsageModelId() {
async function basicUsageModelInstance() {
// --8<-- [start:basic_model_instance]
// Create a Bedrock model instance
- const bedrockModel = new BedrockModel({
+ const bedrockModel = new ConverseModel({
modelId: 'us.amazon.nova-premier-v1:0',
temperature: 0.3,
topP: 0.8,
})
- // Create an agent using the BedrockModel instance
+ // Create an agent using the ConverseModel instance
const agent = new Agent({ model: bedrockModel })
// Use the agent
@@ -46,7 +46,7 @@ async function basicUsageModelInstance() {
async function configurationExample() {
// --8<-- [start:configuration]
// Create a configured Bedrock model
- const bedrockModel = new BedrockModel({
+ const bedrockModel = new ConverseModel({
modelId: 'anthropic.claude-sonnet-4-20250514-v1:0',
region: 'us-east-1', // Specify a different region than the default
temperature: 0.3,
@@ -70,13 +70,13 @@ async function configurationExample() {
async function streamingExample() {
// --8<-- [start:streaming]
// Streaming model (default)
- const streamingModel = new BedrockModel({
+ const streamingModel = new ConverseModel({
modelId: 'anthropic.claude-sonnet-4-20250514-v1:0',
stream: true, // This is the default
})
// Non-streaming model
- const nonStreamingModel = new BedrockModel({
+ const nonStreamingModel = new ConverseModel({
modelId: 'us.meta.llama3-2-90b-instruct-v1:0',
stream: false, // Disable streaming
})
@@ -87,7 +87,7 @@ async function streamingExample() {
async function updateConfiguration() {
// --8<-- [start:update_config]
// Create the model with initial configuration
- const bedrockModel = new BedrockModel({
+ const bedrockModel = new ConverseModel({
modelId: 'anthropic.claude-sonnet-4-20250514-v1:0',
temperature: 0.7,
})
@@ -120,7 +120,7 @@ async function toolBasedConfigUpdate() {
})
const agent = new Agent({
- model: new BedrockModel({ modelId: 'anthropic.claude-sonnet-4-20250514-v1:0' }),
+ model: new ConverseModel({ modelId: 'anthropic.claude-sonnet-4-20250514-v1:0' }),
tools: [updateTemperature],
})
// --8<-- [end:tool_update_config]
@@ -130,7 +130,7 @@ async function toolBasedConfigUpdate() {
async function reasoningSupport() {
// --8<-- [start:reasoning]
// Create a Bedrock model with reasoning configuration
- const bedrockModel = new BedrockModel({
+ const bedrockModel = new ConverseModel({
modelId: 'anthropic.claude-sonnet-4-20250514-v1:0',
additionalRequestFields: {
thinking: {
@@ -157,7 +157,7 @@ async function customCredentials() {
// See AWS SDK for JavaScript documentation for all credential options:
// https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html
- const bedrockModel = new BedrockModel({
+ const bedrockModel = new ConverseModel({
modelId: 'anthropic.claude-sonnet-4-20250514-v1:0',
region: 'us-west-2',
clientConfig: {
@@ -174,7 +174,7 @@ async function customCredentials() {
// Multimodal support
async function multimodalSupport() {
// --8<-- [start:multimodal_full]
- const bedrockModel = new BedrockModel({
+ const bedrockModel = new ConverseModel({
modelId: 'anthropic.claude-sonnet-4-20250514-v1:0',
})
@@ -197,7 +197,7 @@ async function multimodalSupport() {
// S3 location support for multimodal content
async function s3LocationSupport() {
// --8<-- [start:s3_location]
- const agent = new Agent({ model: new BedrockModel() })
+ const agent = new Agent({ model: new ConverseModel() })
const response = await agent.invoke([
new DocumentBlock({
@@ -256,7 +256,7 @@ async function systemPromptCachingFull() {
// Tool caching
async function toolCachingFull() {
// --8<-- [start:tool_caching_full]
- const bedrockModel = new BedrockModel({
+ const bedrockModel = new ConverseModel({
modelId: 'anthropic.claude-sonnet-4-20250514-v1:0',
cacheConfig: { strategy: 'auto' },
})
@@ -294,7 +294,7 @@ async function toolCachingFull() {
// Automatic cache strategy for messages
async function automaticCacheStrategy() {
// --8<-- [start:automatic_cache_strategy]
- const bedrockModel = new BedrockModel({
+ const bedrockModel = new ConverseModel({
modelId: 'us.anthropic.claude-sonnet-4-5-20250929-v1:0',
cacheConfig: { strategy: 'auto' },
})
@@ -395,8 +395,8 @@ async function cacheMetrics() {
// Guardrails configuration
async function guardrailsExample() {
// --8<-- [start:guardrails]
- // Using guardrails with BedrockModel
- const bedrockModel = new BedrockModel({
+ // Using guardrails with ConverseModel
+ const bedrockModel = new ConverseModel({
modelId: 'anthropic.claude-sonnet-4-20250514-v1:0',
guardrailConfig: {
guardrailIdentifier: 'your-guardrail-id',
diff --git a/src/content/docs/user-guide/concepts/model-providers/amazon-bedrock_imports.ts b/src/content/docs/user-guide/concepts/model-providers/amazon-bedrock_imports.ts
index d1553399d..e3fb11767 100644
--- a/src/content/docs/user-guide/concepts/model-providers/amazon-bedrock_imports.ts
+++ b/src/content/docs/user-guide/concepts/model-providers/amazon-bedrock_imports.ts
@@ -10,5 +10,5 @@ import { z } from 'zod'
// --8<-- [end:tool_update_config_imports]
// --8<-- [start:custom_credentials_imports]
-import { BedrockModel } from '@strands-agents/sdk/bedrock'
+import { ConverseModel } from '@strands-agents/sdk/models/bedrock'
// --8<-- [end:custom_credentials_imports]
diff --git a/src/content/docs/user-guide/concepts/model-providers/custom_model_provider.ts b/src/content/docs/user-guide/concepts/model-providers/custom_model_provider.ts
index f5c3ca0d8..ba3f9f991 100644
--- a/src/content/docs/user-guide/concepts/model-providers/custom_model_provider.ts
+++ b/src/content/docs/user-guide/concepts/model-providers/custom_model_provider.ts
@@ -3,7 +3,7 @@
* These examples demonstrate how to implement a custom model provider.
*/
-import { Agent, BedrockModel, type BedrockModelConfig } from '@strands-agents/sdk'
+import { Agent, ConverseModel, type ConverseModelConfig } from '@strands-agents/sdk'
import type {
Model,
BaseModelConfig,
@@ -16,9 +16,9 @@ import type {
ModelMessageStopEventData,
} from '@strands-agents/sdk'
-// Example wrapper around BedrockModel for demonstration
-class YourCustomModel extends BedrockModel {
- constructor(config: BedrockModelConfig = {
+// Example wrapper around ConverseModel for demonstration
+class YourCustomModel extends ConverseModel {
+ constructor(config: ConverseModelConfig = {
modelId: 'anthropic.claude-3-5-sonnet-20241022-v2:0'
}) {
super(config)
diff --git a/src/content/docs/user-guide/concepts/model-providers/gemini.mdx b/src/content/docs/user-guide/concepts/model-providers/gemini.mdx
index be188c56b..fe0bbee3e 100644
--- a/src/content/docs/user-guide/concepts/model-providers/gemini.mdx
+++ b/src/content/docs/user-guide/concepts/model-providers/gemini.mdx
@@ -62,9 +62,9 @@ print(response)
```typescript
import { Agent } from '@strands-agents/sdk'
-import { GeminiModel } from '@strands-agents/sdk/gemini'
+import { GenAIModel } from '@strands-agents/sdk/models/google'
-const model = new GeminiModel({
+const model = new GenAIModel({
apiKey: '',
modelId: 'gemini-2.5-flash',
params: {
@@ -333,11 +333,11 @@ print(response)
```typescript
import { GoogleGenAI } from '@google/genai'
import { Agent } from '@strands-agents/sdk'
-import { GeminiModel } from '@strands-agents/sdk/gemini'
+import { GenAIModel } from '@strands-agents/sdk/models/google'
const client = new GoogleGenAI({ apiKey: '' })
-const model = new GeminiModel({
+const model = new GenAIModel({
client,
modelId: 'gemini-2.5-flash',
params: {
@@ -396,9 +396,9 @@ response = agent([
```typescript
import { Agent, ImageBlock, TextBlock } from '@strands-agents/sdk'
-import { GeminiModel } from '@strands-agents/sdk/gemini'
+import { GenAIModel } from '@strands-agents/sdk/models/google'
-const model = new GeminiModel({
+const model = new GenAIModel({
apiKey: '',
modelId: 'gemini-2.5-flash',
})
diff --git a/src/content/docs/user-guide/concepts/model-providers/index.ts b/src/content/docs/user-guide/concepts/model-providers/index.ts
index 86de7a2c4..ed6a55332 100644
--- a/src/content/docs/user-guide/concepts/model-providers/index.ts
+++ b/src/content/docs/user-guide/concepts/model-providers/index.ts
@@ -6,20 +6,20 @@
// Imports are in index_imports.ts
import { Agent } from '@strands-agents/sdk'
-import { BedrockModel } from '@strands-agents/sdk/models/bedrock'
-import { OpenAIModel } from '@strands-agents/sdk/models/openai'
+import { ConverseModel } from '@strands-agents/sdk/models/bedrock'
+import { ChatModel } from '@strands-agents/sdk/models/openai'
async function basicUsage() {
// --8<-- [start:basic_usage]
// Use Bedrock
- const bedrockModel = new BedrockModel({
+ const bedrockModel = new ConverseModel({
modelId: 'anthropic.claude-sonnet-4-20250514-v1:0',
})
let agent = new Agent({ model: bedrockModel })
let response = await agent.invoke('What can you help me with?')
// Alternatively, use OpenAI by just switching model provider
- const openaiModel = new OpenAIModel({
+ const openaiModel = new ChatModel({
apiKey: process.env.OPENAI_API_KEY,
modelId: 'gpt-4o',
})
diff --git a/src/content/docs/user-guide/concepts/model-providers/index_imports.ts b/src/content/docs/user-guide/concepts/model-providers/index_imports.ts
index 37178a69a..5f6ca4b64 100644
--- a/src/content/docs/user-guide/concepts/model-providers/index_imports.ts
+++ b/src/content/docs/user-guide/concepts/model-providers/index_imports.ts
@@ -2,6 +2,6 @@
// --8<-- [start:basic_usage_imports]
import { Agent } from '@strands-agents/sdk'
-import { BedrockModel } from '@strands-agents/sdk/bedrock'
-import { OpenAIModel } from '@strands-agents/sdk/openai'
+import { ConverseModel } from '@strands-agents/sdk/models/bedrock'
+import { ChatModel } from '@strands-agents/sdk/models/openai'
// --8<-- [end:basic_usage_imports]
diff --git a/src/content/docs/user-guide/concepts/model-providers/openai.ts b/src/content/docs/user-guide/concepts/model-providers/openai.ts
index 1746ef52f..de372a2e3 100644
--- a/src/content/docs/user-guide/concepts/model-providers/openai.ts
+++ b/src/content/docs/user-guide/concepts/model-providers/openai.ts
@@ -1,17 +1,17 @@
/**
* TypeScript examples for OpenAI model provider documentation.
- * These examples demonstrate common usage patterns for the OpenAIModel.
+ * These examples demonstrate common usage patterns for the ChatModel.
*/
// @ts-nocheck
// Imports are in openai_imports.ts
import { Agent } from '@strands-agents/sdk'
-import { OpenAIModel } from '@strands-agents/sdk/openai'
+import { ChatModel } from '@strands-agents/sdk/models/openai'
// Basic usage
async function basicUsage() {
// --8<-- [start:basic_usage]
- const model = new OpenAIModel({
+ const model = new ChatModel({
apiKey: process.env.OPENAI_API_KEY || '',
modelId: 'gpt-4o',
maxTokens: 1000,
@@ -27,7 +27,7 @@ async function basicUsage() {
// Custom server
async function customServer() {
// --8<-- [start:custom_server]
- const model = new OpenAIModel({
+ const model = new ChatModel({
apiKey: '',
clientConfig: {
baseURL: '',
@@ -43,7 +43,7 @@ async function customServer() {
// Configuration
async function customConfig() {
// --8<-- [start:custom_config]
- const model = new OpenAIModel({
+ const model = new ChatModel({
apiKey: process.env.OPENAI_API_KEY || '',
modelId: 'gpt-4o',
maxTokens: 1000,
@@ -62,7 +62,7 @@ async function customConfig() {
// Update configuration
async function updateConfig() {
// --8<-- [start:update_config]
- const model = new OpenAIModel({
+ const model = new ChatModel({
apiKey: process.env.OPENAI_API_KEY || '',
modelId: 'gpt-4o',
temperature: 0.7,
diff --git a/src/content/docs/user-guide/concepts/model-providers/openai_imports.ts b/src/content/docs/user-guide/concepts/model-providers/openai_imports.ts
index 5ae042847..b5dca8c7f 100644
--- a/src/content/docs/user-guide/concepts/model-providers/openai_imports.ts
+++ b/src/content/docs/user-guide/concepts/model-providers/openai_imports.ts
@@ -2,5 +2,5 @@
// --8<-- [start:basic_usage_imports]
import { Agent } from '@strands-agents/sdk'
-import { OpenAIModel } from '@strands-agents/sdk/openai'
+import { ChatModel } from '@strands-agents/sdk/models/openai'
// --8<-- [end:basic_usage_imports]
diff --git a/src/content/docs/user-guide/deploy/deploy_to_bedrock_agentcore/typescript.mdx b/src/content/docs/user-guide/deploy/deploy_to_bedrock_agentcore/typescript.mdx
index 8484b0c44..5526b48b7 100644
--- a/src/content/docs/user-guide/deploy/deploy_to_bedrock_agentcore/typescript.mdx
+++ b/src/content/docs/user-guide/deploy/deploy_to_bedrock_agentcore/typescript.mdx
@@ -119,7 +119,7 @@ const calculatorTool = strands.tool({
// Configure the agent with Amazon Bedrock
const agent = new strands.Agent({
- model: new strands.BedrockModel({
+ model: new strands.ConverseModel({
region: 'ap-southeast-2', // Change to your preferred region
}),
tools: [calculatorTool],
diff --git a/src/content/docs/user-guide/deploy/deploy_to_docker/imports.ts b/src/content/docs/user-guide/deploy/deploy_to_docker/imports.ts
index 00e5ead37..a2017e234 100644
--- a/src/content/docs/user-guide/deploy/deploy_to_docker/imports.ts
+++ b/src/content/docs/user-guide/deploy/deploy_to_docker/imports.ts
@@ -1,6 +1,6 @@
// --8<-- [start: imports]
import { Agent } from '@strands-agents/sdk'
import express, { type Request, type Response } from 'express'
-import { OpenAIModel } from '@strands-agents/sdk/openai'
+import { ChatModel } from '@strands-agents/sdk/models/openai'
// --8<-- [end: imports]
diff --git a/src/content/docs/user-guide/deploy/deploy_to_docker/index.ts b/src/content/docs/user-guide/deploy/deploy_to_docker/index.ts
index bbd13ad5d..8e754c2bc 100644
--- a/src/content/docs/user-guide/deploy/deploy_to_docker/index.ts
+++ b/src/content/docs/user-guide/deploy/deploy_to_docker/index.ts
@@ -1,13 +1,13 @@
import { Agent } from '@strands-agents/sdk'
import express, { type Request, type Response } from 'express'
-import { OpenAIModel } from '@strands-agents/sdk/openai'
+import { ChatModel } from '@strands-agents/sdk/models/openai'
// --8<-- [start: agent]
const PORT = Number(process.env.PORT) || 8080
// Note: Any supported model provider can be configured
// Automatically uses process.env.OPENAI_API_KEY
-const model = new OpenAIModel()
+const model = new ChatModel()
const agent = new Agent({ model })
diff --git a/src/content/docs/user-guide/deploy/deploy_to_docker/typescript.mdx b/src/content/docs/user-guide/deploy/deploy_to_docker/typescript.mdx
index 5b4f676c8..75e181c69 100644
--- a/src/content/docs/user-guide/deploy/deploy_to_docker/typescript.mdx
+++ b/src/content/docs/user-guide/deploy/deploy_to_docker/typescript.mdx
@@ -73,13 +73,13 @@ npm pkg set scripts.build="tsc" scripts.start="node dist/index.js" scripts.dev="
cat > index.ts << 'EOF'
import { Agent } from '@strands-agents/sdk'
import express, { type Request, type Response } from 'express'
-import { OpenAIModel } from '@strands-agents/sdk/openai'
+import { ChatModel } from '@strands-agents/sdk/models/openai'
const PORT = Number(process.env.PORT) || 8080
// Note: Any supported model provider can be configured
// Automatically uses process.env.OPENAI_API_KEY
-const model = new OpenAIModel()
+const model = new ChatModel()
const agent = new Agent({ model })
diff --git a/src/content/docs/user-guide/quickstart/typescript.ts b/src/content/docs/user-guide/quickstart/typescript.ts
index 1e4af0aaf..d79dd2f94 100644
--- a/src/content/docs/user-guide/quickstart/typescript.ts
+++ b/src/content/docs/user-guide/quickstart/typescript.ts
@@ -74,10 +74,10 @@ const specificAgent = new Agent({
// --8<-- [end:model-string]
// --8<-- [start:bedrock-model]
-import { BedrockModel } from '@strands-agents/sdk'
+import { ConverseModel } from '@strands-agents/sdk'
-// Create a BedrockModel with custom configuration
-const bedrockModel = new BedrockModel({
+// Create a ConverseModel with custom configuration
+const bedrockModel = new ConverseModel({
modelId: 'anthropic.claude-sonnet-4-20250514-v1:0',
region: 'us-west-2',
temperature: 0.3,
diff --git a/src/util/api-link-converter.ts b/src/util/api-link-converter.ts
index 906f62875..53e572b14 100644
--- a/src/util/api-link-converter.ts
+++ b/src/util/api-link-converter.ts
@@ -3,11 +3,11 @@
*
* Old formats:
* - Python: `../api-reference/python/agent/agent_result.md#strands.agent.agent_result.AgentResult`
- * - TypeScript: `../api-reference/typescript/classes/BedrockModel.html`
+ * - TypeScript: `../api-reference/typescript/classes/ConverseModel.html`
*
* New formats:
* - Python: `@api/python/strands.agent.agent_result#AgentResult`
- * - TypeScript: `@api/typescript/BedrockModel`
+ * - TypeScript: `@api/typescript/ConverseModel`
*/
/**
@@ -104,15 +104,15 @@ export function convertPythonApiLink(link: string): string | null {
* Convert an old TypeScript API link to the new @api shorthand format.
*
* Examples:
- * - `../api-reference/typescript/classes/BedrockModel.html` -> `@api/typescript/BedrockModel`
- * - `../api-reference/typescript/interfaces/BedrockModelOptions.html` -> `@api/typescript/BedrockModelOptions`
+ * - `../api-reference/typescript/classes/ConverseModel.html` -> `@api/typescript/ConverseModel`
+ * - `../api-reference/typescript/interfaces/ConverseModelOptions.html` -> `@api/typescript/ConverseModelOptions`
* - `../api-reference/typescript/classes/Agent.html#constructor` -> `@api/typescript/Agent#constructor`
*/
export function convertTypeScriptApiLink(link: string): string | null {
const match = link.match(TS_API_PATTERN)
if (!match) return null
- const typeName = match[2] // e.g., "BedrockModel"
+ const typeName = match[2] // e.g., "ConverseModel"
const anchor = match[4] // e.g., "constructor" or undefined
if (anchor) {
diff --git a/test/links.test.ts b/test/links.test.ts
index 241231c96..721fd22a2 100644
--- a/test/links.test.ts
+++ b/test/links.test.ts
@@ -20,12 +20,12 @@ describe('Link Utilities', () => {
it('should return true for @api/typescript links', () => {
expect(isApiShorthand('@api/typescript/Agent')).toBe(true)
- expect(isApiShorthand('@api/typescript/BedrockModel')).toBe(true)
+ expect(isApiShorthand('@api/typescript/ConverseModel')).toBe(true)
})
it('should return true for @api links with anchors', () => {
expect(isApiShorthand('@api/python/strands.agent.agent#Agent')).toBe(true)
- expect(isApiShorthand('@api/typescript/BedrockModel#constructor')).toBe(true)
+ expect(isApiShorthand('@api/typescript/ConverseModel#constructor')).toBe(true)
})
it('should return false for non-@api links', () => {
@@ -47,7 +47,7 @@ describe('Link Utilities', () => {
it('should resolve TypeScript API links', () => {
expect(resolveApiShorthand('@api/typescript/Agent')).toBe('/docs/api/typescript/Agent/')
- expect(resolveApiShorthand('@api/typescript/BedrockModel')).toBe('/docs/api/typescript/BedrockModel/')
+ expect(resolveApiShorthand('@api/typescript/ConverseModel')).toBe('/docs/api/typescript/ConverseModel/')
})
it('should preserve anchors', () => {
@@ -55,8 +55,8 @@ describe('Link Utilities', () => {
expect(resolveApiShorthand('@api/python/strands.agent.agent_result#AgentResult')).toBe(
'/docs/api/python/strands.agent.agent_result/#AgentResult'
)
- expect(resolveApiShorthand('@api/typescript/BedrockModel#constructor')).toBe(
- '/docs/api/typescript/BedrockModel/#constructor'
+ expect(resolveApiShorthand('@api/typescript/ConverseModel#constructor')).toBe(
+ '/docs/api/typescript/ConverseModel/#constructor'
)
})
@@ -281,9 +281,9 @@ describe('Link Utilities', () => {
})
it('should resolve @api/typescript shorthand links', () => {
- const slugs = new Set(['docs/api/typescript/Agent', 'docs/api/typescript/BedrockModel'])
- const result = resolveHref('@api/typescript/BedrockModel', '/user-guide/quickstart/', slugs)
- expect(result.resolvedHref).toBe('/docs/api/typescript/BedrockModel/')
+ const slugs = new Set(['docs/api/typescript/Agent', 'docs/api/typescript/ConverseModel'])
+ const result = resolveHref('@api/typescript/ConverseModel', '/user-guide/quickstart/', slugs)
+ expect(result.resolvedHref).toBe('/docs/api/typescript/ConverseModel/')
expect(result.found).toBe(true)
})
@@ -330,7 +330,7 @@ describe('Link Resolution with Content Collection', () => {
// Test TypeScript API links
const tsTests = [
{ href: '@api/typescript/Agent', expectedSlug: 'api/typescript/Agent' },
- { href: '@api/typescript/BedrockModel', expectedSlug: 'api/typescript/BedrockModel' },
+ { href: '@api/typescript/ConverseModel', expectedSlug: 'api/typescript/ConverseModel' },
]
for (const { href, expectedSlug } of tsTests) {
diff --git a/test/update-docs.test.ts b/test/update-docs.test.ts
index aea1fa377..e541dc8f8 100644
--- a/test/update-docs.test.ts
+++ b/test/update-docs.test.ts
@@ -33,20 +33,20 @@ describe('API link conversion', () => {
})
it('should convert TypeScript API links in markdown', () => {
- const input = `Use the [BedrockModel](../api-reference/typescript/classes/BedrockModel.html) class.`
- const expected = `Use the [BedrockModel](@api/typescript/BedrockModel) class.`
+ const input = `Use the [ConverseModel](../api-reference/typescript/classes/ConverseModel.html) class.`
+ const expected = `Use the [ConverseModel](@api/typescript/ConverseModel) class.`
expect(convertApiLinks(input)).toBe(expected)
})
it('should convert multiple API links in the same content', () => {
const input = `
The [Agent](../api-reference/python/agent/agent.md#strands.agent.agent.Agent) class uses
-[BedrockModel](../../api-reference/typescript/classes/BedrockModel.html) by default.
+[ConverseModel](../../api-reference/typescript/classes/ConverseModel.html) by default.
See also [AgentResult](../api-reference/python/agent/agent_result.md#strands.agent.agent_result.AgentResult).
`
const expected = `
The [Agent](@api/python/strands.agent.agent#Agent) class uses
-[BedrockModel](@api/typescript/BedrockModel) by default.
+[ConverseModel](@api/typescript/ConverseModel) by default.
See also [AgentResult](@api/python/strands.agent.agent_result#AgentResult).
`
expect(convertApiLinks(input)).toBe(expected)
@@ -79,8 +79,8 @@ Check out [GitHub](https://github.com/strands-agents/sdk-python).
})
it('should handle TypeScript interface links', () => {
- const input = `Configure with [BedrockModelOptions](../api-reference/typescript/interfaces/BedrockModelOptions.html).`
- const expected = `Configure with [BedrockModelOptions](@api/typescript/BedrockModelOptions).`
+ const input = `Configure with [ConverseModelOptions](../api-reference/typescript/interfaces/ConverseModelOptions.html).`
+ const expected = `Configure with [ConverseModelOptions](@api/typescript/ConverseModelOptions).`
expect(convertApiLinks(input)).toBe(expected)
})