Skip to content

BedrockModelConfig

Defined in: src/models/bedrock.ts:265

Configuration interface for AWS Bedrock model provider.

Extends BaseModelConfig with Bedrock-specific configuration options for model parameters, caching, and additional request/response fields.

const config: BedrockModelConfig = {
modelId: 'global.anthropic.claude-sonnet-4-6',
maxTokens: 1024,
temperature: 0.7,
cacheConfig: { strategy: 'auto' }
}
maxTokens?: number;

Defined in: src/models/bedrock.ts:273

Maximum number of tokens to generate in the response.

the model’s maxOutputTokens from the model info when known; otherwise maxTokens is not sent and Bedrock’s per-model default applies.

https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html

BaseModelConfig.maxTokens


temperature?: number;

Defined in: src/models/bedrock.ts:280

Controls randomness in generation.

https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html

BaseModelConfig.temperature


topP?: number;

Defined in: src/models/bedrock.ts:287

Controls diversity via nucleus sampling.

https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html

BaseModelConfig.topP


stopSequences?: string[];

Defined in: src/models/bedrock.ts:292

Array of sequences that will stop generation when encountered.


cacheConfig?: CacheConfig;

Defined in: src/models/bedrock.ts:299

Configuration for prompt caching.

https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html


additionalRequestFields?: JSONValue;

Defined in: src/models/bedrock.ts:304

Additional fields to include in the Bedrock request.


additionalResponseFieldPaths?: string[];

Defined in: src/models/bedrock.ts:309

Additional response field paths to extract from the Bedrock response.


additionalArgs?: JSONValue;

Defined in: src/models/bedrock.ts:315

Additional arguments to pass through to the Bedrock Converse API.

https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/bedrock-runtime/command/ConverseStreamCommand/


stream?: boolean;

Defined in: src/models/bedrock.ts:325

Whether or not to stream responses from the model.

This will use the ConverseStream API instead of the Converse API.


includeToolResultStatus?: boolean | "auto";

Defined in: src/models/bedrock.ts:333

Flag to include status field in tool results.

  • true: Always include status field
  • false: Never include status field
  • 'auto': Automatically determine based on model ID (default)

guardrailConfig?: BedrockGuardrailConfig;

Defined in: src/models/bedrock.ts:339

Guardrail configuration for content filtering and safety controls.

https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html


useNativeTokenCount?: boolean;

Defined in: src/models/bedrock.ts:350

Whether to use the native Bedrock CountTokens API.

When true, countTokens() calls the Bedrock CountTokens API for accurate counts. When false or not set (default), skips the API call and uses the character-based heuristic estimator.

false

strictTools?: boolean;

Defined in: src/models/bedrock.ts:368

Constrain the model to emit tool names and inputs that conform to each tool’s schema.

When true, every tool is sent with strict: true and a copy of its inputSchema with additionalProperties: false added to each object type, so a free-form { type: 'object' } parameter becomes one the model can only fill with {}. Bedrock rejects schemas that use features outside its strict subset (recursive or external $ref, minimum/maximum/ multipleOf, minLength/maxLength, additionalProperties other than false) with a 400 at request time, and compiles each new schema on first use, which can take minutes. Incompatible with citations for Anthropic models.

false

modelId?: string;

Defined in: src/models/model.ts:204

The model identifier. This typically specifies which model to use from the provider’s catalog.

BaseModelConfig.modelId


contextWindowLimit?: number;

Defined in: src/models/model.ts:235

Maximum context window size in tokens for the model.

The same fact as modelInfo.limits.contextWindow; setting it here is shorthand for setting it through modelInfo, and it wins over the shared model info. When both are set, modelInfo wins. When not provided, vended providers still populate it from the shared model info for callers that read getConfig(); modelInfo is the resolved view to read.

BaseModelConfig.contextWindowLimit


modelInfo?: ModelInfo;

Defined in: src/models/model.ts:243

Overrides for what the SDK knows about the model. Fields set here win over the shared model info and the provider; capabilities.stateful changes how the agent loop sends history, so set it only for a provider that keeps state server-side. updateConfig({ modelInfo }) replaces the previous override entirely, it does not merge into it.

BaseModelConfig.modelInfo