From 0b9d5de5807637c614cd55f5cf77f4eedcbac54b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Stormacq?= Date: Mon, 29 Sep 2025 21:12:23 +0200 Subject: [PATCH 1/3] add support for claude sonnet 4.5 --- .../Anthropic/AnthropicBedrockModels.swift | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Sources/Models/Anthropic/AnthropicBedrockModels.swift b/Sources/Models/Anthropic/AnthropicBedrockModels.swift index 0bd8ff1..5a88979 100644 --- a/Sources/Models/Anthropic/AnthropicBedrockModels.swift +++ b/Sources/Models/Anthropic/AnthropicBedrockModels.swift @@ -30,6 +30,7 @@ typealias ClaudeV3_5Sonnet = AnthropicText typealias ClaudeV3_7Sonnet = AnthropicText typealias Claude_Sonnet_v4 = AnthropicText typealias Claude_Opus_v4 = AnthropicText +typealias Claude_Sonnet_v4_5 = AnthropicText // text // https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-anthropic-claude-messages.html @@ -219,4 +220,20 @@ extension BedrockModel { maxReasoningTokens: Parameter(.maxReasoningTokens, minValue: 1_024, maxValue: 8_191, defaultValue: 4_096) ) ) + public static let claude_sonnet_v4_5: BedrockModel = BedrockModel( + id: "anthropic.claude-sonnet-4-5-20250929-v1:0", + name: "Claude Sonnet v4.5", + modality: Claude_Sonnet_v4_5( + parameters: TextGenerationParameters( + temperature: Parameter(.temperature, minValue: 0, maxValue: 1, defaultValue: 1), + maxTokens: Parameter(.maxTokens, minValue: 1, maxValue: 64_000, defaultValue: 8_192), + topP: Parameter(.topP, minValue: 0, maxValue: 1, defaultValue: 0.999), + topK: Parameter(.topK, minValue: 0, maxValue: 500, defaultValue: 0), + stopSequences: StopSequenceParams(maxSequences: 8191, defaultValue: []), + maxPromptSize: 200_000 + ), + features: [.textGeneration, .systemPrompts, .document, .vision, .toolUse, .reasoning], + maxReasoningTokens: Parameter(.maxReasoningTokens, minValue: 1_024, maxValue: 8_191, defaultValue: 4_096) + ) + ) } From e0185e2e96d934f72d0d2cfeeb11396bb90eafd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Stormacq?= Date: Mon, 29 Sep 2025 21:34:36 +0200 Subject: [PATCH 2/3] update dependencies --- Package.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Package.swift b/Package.swift index b68b61d..64e913a 100644 --- a/Package.swift +++ b/Package.swift @@ -11,10 +11,10 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/apple/swift-argument-parser.git", from: "1.6.1"), - .package(url: "https://github.com/awslabs/aws-sdk-swift", from: "1.5.16"), - .package(url: "https://github.com/smithy-lang/smithy-swift", from: "0.152.0"), + .package(url: "https://github.com/awslabs/aws-sdk-swift", from: "1.5.51"), + .package(url: "https://github.com/smithy-lang/smithy-swift", from: "0.158.0"), .package(url: "https://github.com/apple/swift-log.git", from: "1.6.4"), - .package(url: "https://github.com/awslabs/aws-crt-swift", from: "0.52.1"), + .package(url: "https://github.com/awslabs/aws-crt-swift", from: "0.53.0"), ], targets: [ .target( From 14ea17ab7266e57b06fad3e4121bca8ba91958c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Stormacq?= Date: Mon, 29 Sep 2025 21:43:17 +0200 Subject: [PATCH 3/3] [ci] add explicit permission on github actions --- .github/workflows/integration_tests.yml | 2 ++ .github/workflows/pull_request.yml | 2 ++ .github/workflows/swift-6-language-mode.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index ac22966..5906ede 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -1,5 +1,7 @@ name: Integration Tests +permissions: read-all + on: workflow_call: inputs: diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index d2df255..b272f4d 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -2,6 +2,8 @@ name: Build, tests & soundness checks on: [pull_request, workflow_dispatch] +permissions: read-all + jobs: swift-bedrock-library: runs-on: ubuntu-latest diff --git a/.github/workflows/swift-6-language-mode.yml b/.github/workflows/swift-6-language-mode.yml index 818e9f4..8bc3043 100644 --- a/.github/workflows/swift-6-language-mode.yml +++ b/.github/workflows/swift-6-language-mode.yml @@ -1,5 +1,7 @@ name: Swift 6 language mode +permissions: read-all + on: workflow_call: