Build Information
Successful build of SwiftAgentCore, reference main (6bdd50), with Swift 6.1 for macOS (SPM) on 23 Feb 2026 11:48:48 UTC.
Swift 6 data race errors: 5
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/herrkaefer/SwiftAgentCore.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/herrkaefer/SwiftAgentCore
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 6bdd505 Release 1.3.0: add core skill registry and read_skill tool
Cloned https://github.com/herrkaefer/SwiftAgentCore.git
Revision (git rev-parse @):
6bdd505ac196d15ab9b4bd184eba8b23bb8c2ff8
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/herrkaefer/SwiftAgentCore.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/herrkaefer/SwiftAgentCore.git
https://github.com/herrkaefer/SwiftAgentCore.git
{
"dependencies" : [
],
"manifest_display_name" : "SwiftAgentCore",
"name" : "SwiftAgentCore",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "16.0"
}
],
"products" : [
{
"name" : "SwiftAgentCore",
"targets" : [
"SwiftAgentCore"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftAgentCoreTests",
"module_type" : "SwiftTarget",
"name" : "SwiftAgentCoreTests",
"path" : "Tests/SwiftAgentCoreTests",
"sources" : [
"AgentLoopTests.swift",
"GeminiProviderTests.swift",
"MiniMaxAnthropicProviderTests.swift",
"OpenAICompatibleProfileTests.swift",
"OpenAICompatibleProviderToolCallingTests.swift",
"OpenAIResponsesProviderModelsTests.swift",
"SkillLoaderTests.swift",
"StructuredToolFallbackProviderTests.swift"
],
"target_dependencies" : [
"SwiftAgentCore"
],
"type" : "test"
},
{
"c99name" : "SwiftAgentCore",
"module_type" : "SwiftTarget",
"name" : "SwiftAgentCore",
"path" : "Sources/SwiftAgentCore",
"product_memberships" : [
"SwiftAgentCore"
],
"sources" : [
"Core/AgentEvent.swift",
"Core/AgentLoop.swift",
"Core/AgentTool.swift",
"Core/AgentTypes.swift",
"Core/ToolRegistry.swift",
"LLM/AnthropicClaudeOAuth.swift",
"LLM/GeminiProvider.swift",
"LLM/LLMAuth.swift",
"LLM/LLMProvider.swift",
"LLM/LLMTypes.swift",
"LLM/MiniMaxAnthropicProvider.swift",
"LLM/OAuthCallbackServer.swift",
"LLM/OpenAICodexOAuth.swift",
"LLM/OpenAICompatibleCore.swift",
"LLM/OpenAICompatibleProfile.swift",
"LLM/OpenAICompatibleProvider.swift",
"LLM/OpenAIResponsesProvider.swift",
"LLM/StructuredToolFallbackProvider.swift",
"Skills/ReadSkillTool.swift",
"Skills/SkillDefinition.swift",
"Skills/SkillLoader.swift",
"Skills/SkillRegistry.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/23] Emitting module SwiftAgentCore
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/GeminiProvider.swift:70:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
68 | }
69 |
70 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
71 | system: String,
72 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/MiniMaxAnthropicProvider.swift:93:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
91 | }
92 |
93 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
94 | system: String,
95 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/OpenAICompatibleProvider.swift:69:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
67 | }
68 |
69 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
70 | system: String,
71 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/OpenAIResponsesProvider.swift:128:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
126 | }
127 |
128 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
129 | system: String,
130 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/StructuredToolFallbackProvider.swift:63:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
61 | }
62 |
63 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
64 | system: String,
65 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
[4/25] Compiling SwiftAgentCore SkillLoader.swift
[5/25] Compiling SwiftAgentCore SkillRegistry.swift
[6/25] Compiling SwiftAgentCore OpenAICompatibleProfile.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/OpenAICompatibleProvider.swift:69:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
67 | }
68 |
69 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
70 | system: String,
71 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/OpenAICompatibleProvider.swift:95:53: warning: sending 'oauthProvider' risks causing data races; this is an error in the Swift 6 language mode
93 | return config.authMethod
94 | }
95 | let refreshed = try await oauthProvider.refreshToken(credentials)
| |- warning: sending 'oauthProvider' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'oauthProvider' to nonisolated instance method 'refreshToken' risks causing data races between nonisolated and 'self'-isolated uses
96 | config.authMethod = .oauth(refreshed)
97 | await onOAuthCredentialsUpdated?(refreshed)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/OpenAICompatibleProvider.swift:77:47: warning: sending 'onTextDelta' risks causing data races; this is an error in the Swift 6 language mode
75 | let auth = try await resolveAuthMethod()
76 | let headers = profile.mergedHeaders(with: config.headers)
77 | return try await OpenAICompatibleCore.sendMessage(
| |- warning: sending 'onTextDelta' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'onTextDelta' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
78 | baseURL: config.baseURL,
79 | model: config.model,
[7/25] Compiling SwiftAgentCore OpenAICompatibleProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/OpenAICompatibleProvider.swift:69:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
67 | }
68 |
69 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
70 | system: String,
71 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/OpenAICompatibleProvider.swift:95:53: warning: sending 'oauthProvider' risks causing data races; this is an error in the Swift 6 language mode
93 | return config.authMethod
94 | }
95 | let refreshed = try await oauthProvider.refreshToken(credentials)
| |- warning: sending 'oauthProvider' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'oauthProvider' to nonisolated instance method 'refreshToken' risks causing data races between nonisolated and 'self'-isolated uses
96 | config.authMethod = .oauth(refreshed)
97 | await onOAuthCredentialsUpdated?(refreshed)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/OpenAICompatibleProvider.swift:77:47: warning: sending 'onTextDelta' risks causing data races; this is an error in the Swift 6 language mode
75 | let auth = try await resolveAuthMethod()
76 | let headers = profile.mergedHeaders(with: config.headers)
77 | return try await OpenAICompatibleCore.sendMessage(
| |- warning: sending 'onTextDelta' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'onTextDelta' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
78 | baseURL: config.baseURL,
79 | model: config.model,
[8/25] Compiling SwiftAgentCore ReadSkillTool.swift
[9/25] Compiling SwiftAgentCore SkillDefinition.swift
[10/25] Compiling SwiftAgentCore GeminiProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/GeminiProvider.swift:70:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
68 | }
69 |
70 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
71 | system: String,
72 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
[11/25] Compiling SwiftAgentCore LLMAuth.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/GeminiProvider.swift:70:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
68 | }
69 |
70 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
71 | system: String,
72 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
[12/25] Compiling SwiftAgentCore LLMProvider.swift
[13/25] Compiling SwiftAgentCore LLMTypes.swift
[14/25] Compiling SwiftAgentCore AgentEvent.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/Core/AgentLoop.swift:57:25: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
55 | ) -> AsyncStream<AgentEvent> {
56 | AsyncStream { continuation in
57 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
58 | func emit(_ event: AgentEvent) {
59 | onEvent(event)
| `- note: closure captures non-Sendable 'onEvent'
60 | continuation.yield(event)
61 | }
:
64 |
65 | func remainingTotalTimeout() -> TimeInterval? {
66 | guard let totalTimeout = config.totalTimeout else { return nil }
| `- note: closure captures non-Sendable 'config'
67 | return totalTimeout - Date().timeIntervalSince(loopStartedAt)
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/Core/AgentLoop.swift:60:30: warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
58 | func emit(_ event: AgentEvent) {
59 | onEvent(event)
60 | continuation.yield(event)
| |- warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'event' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
61 | }
62 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/Core/AgentLoop.swift:123:35: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
121 |
122 | return try await withThrowingTaskGroup(of: LLMResponse.self) { group in
123 | group.addTask {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
124 | try await config.provider.sendMessage(
125 | system: system,
126 | messages: messages,
127 | tools: tools,
128 | onTextDelta: onTextDelta
| `- note: closure captures 'onTextDelta' which is accessible to code in the current task
129 | )
130 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/Core/AgentLoop.swift:131:35: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
129 | )
130 | }
131 | group.addTask {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
132 | try await Task.sleep(nanoseconds: nanoseconds(from: timeout.seconds))
133 | switch timeout.kind {
:
136 | case .total:
137 | throw AgentLoopRuntimeError.totalTimeoutExceeded(
138 | seconds: config.totalTimeout ?? timeout.seconds
| `- note: closure captures 'config' which is accessible to code in the current task
139 | )
140 | }
[15/25] Compiling SwiftAgentCore AgentLoop.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/Core/AgentLoop.swift:57:25: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
55 | ) -> AsyncStream<AgentEvent> {
56 | AsyncStream { continuation in
57 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
58 | func emit(_ event: AgentEvent) {
59 | onEvent(event)
| `- note: closure captures non-Sendable 'onEvent'
60 | continuation.yield(event)
61 | }
:
64 |
65 | func remainingTotalTimeout() -> TimeInterval? {
66 | guard let totalTimeout = config.totalTimeout else { return nil }
| `- note: closure captures non-Sendable 'config'
67 | return totalTimeout - Date().timeIntervalSince(loopStartedAt)
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/Core/AgentLoop.swift:60:30: warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
58 | func emit(_ event: AgentEvent) {
59 | onEvent(event)
60 | continuation.yield(event)
| |- warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'event' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
61 | }
62 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/Core/AgentLoop.swift:123:35: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
121 |
122 | return try await withThrowingTaskGroup(of: LLMResponse.self) { group in
123 | group.addTask {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
124 | try await config.provider.sendMessage(
125 | system: system,
126 | messages: messages,
127 | tools: tools,
128 | onTextDelta: onTextDelta
| `- note: closure captures 'onTextDelta' which is accessible to code in the current task
129 | )
130 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/Core/AgentLoop.swift:131:35: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
129 | )
130 | }
131 | group.addTask {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
132 | try await Task.sleep(nanoseconds: nanoseconds(from: timeout.seconds))
133 | switch timeout.kind {
:
136 | case .total:
137 | throw AgentLoopRuntimeError.totalTimeoutExceeded(
138 | seconds: config.totalTimeout ?? timeout.seconds
| `- note: closure captures 'config' which is accessible to code in the current task
139 | )
140 | }
[16/25] Compiling SwiftAgentCore AgentTool.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/Core/AgentLoop.swift:57:25: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
55 | ) -> AsyncStream<AgentEvent> {
56 | AsyncStream { continuation in
57 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
58 | func emit(_ event: AgentEvent) {
59 | onEvent(event)
| `- note: closure captures non-Sendable 'onEvent'
60 | continuation.yield(event)
61 | }
:
64 |
65 | func remainingTotalTimeout() -> TimeInterval? {
66 | guard let totalTimeout = config.totalTimeout else { return nil }
| `- note: closure captures non-Sendable 'config'
67 | return totalTimeout - Date().timeIntervalSince(loopStartedAt)
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/Core/AgentLoop.swift:60:30: warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
58 | func emit(_ event: AgentEvent) {
59 | onEvent(event)
60 | continuation.yield(event)
| |- warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'event' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
61 | }
62 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/Core/AgentLoop.swift:123:35: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
121 |
122 | return try await withThrowingTaskGroup(of: LLMResponse.self) { group in
123 | group.addTask {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
124 | try await config.provider.sendMessage(
125 | system: system,
126 | messages: messages,
127 | tools: tools,
128 | onTextDelta: onTextDelta
| `- note: closure captures 'onTextDelta' which is accessible to code in the current task
129 | )
130 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/Core/AgentLoop.swift:131:35: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
129 | )
130 | }
131 | group.addTask {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
132 | try await Task.sleep(nanoseconds: nanoseconds(from: timeout.seconds))
133 | switch timeout.kind {
:
136 | case .total:
137 | throw AgentLoopRuntimeError.totalTimeoutExceeded(
138 | seconds: config.totalTimeout ?? timeout.seconds
| `- note: closure captures 'config' which is accessible to code in the current task
139 | )
140 | }
[17/25] Compiling SwiftAgentCore OpenAIResponsesProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/OpenAIResponsesProvider.swift:128:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
126 | }
127 |
128 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
129 | system: String,
130 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/StructuredToolFallbackProvider.swift:63:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
61 | }
62 |
63 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
64 | system: String,
65 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/OpenAIResponsesProvider.swift:227:53: warning: sending 'self.oauthProvider' risks causing data races; this is an error in the Swift 6 language mode
225 | private func resolvedAccessToken() async throws -> String {
226 | if credentials.isExpired {
227 | let refreshed = try await oauthProvider.refreshToken(credentials)
| |- warning: sending 'self.oauthProvider' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.oauthProvider' to nonisolated instance method 'refreshToken' risks causing data races between nonisolated and 'self'-isolated uses
228 | credentials = refreshed
229 | await onCredentialsUpdated?(refreshed)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/StructuredToolFallbackProvider.swift:56:20: warning: sending 'self.base' risks causing data races; this is an error in the Swift 6 language mode
54 |
55 | public func checkAvailability() async -> Bool {
56 | await base.checkAvailability()
| |- warning: sending 'self.base' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.base' to nonisolated instance method 'checkAvailability()' risks causing data races between nonisolated and 'self'-isolated uses
57 | }
58 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/StructuredToolFallbackProvider.swift:60:24: warning: sending 'self.base' risks causing data races; this is an error in the Swift 6 language mode
58 |
59 | public func availableModels() async throws -> [LLMModelInfo] {
60 | try await base.availableModels()
| |- warning: sending 'self.base' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.base' to nonisolated instance method 'availableModels()' risks causing data races between nonisolated and 'self'-isolated uses
61 | }
62 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/StructuredToolFallbackProvider.swift:159:39: warning: sending 'self.base' risks causing data races; this is an error in the Swift 6 language mode
157 | }
158 |
159 | let response = try await base.sendMessage(
| |- warning: sending 'self.base' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.base' to nonisolated instance method 'sendMessage(system:messages:tools:onTextDelta:)' risks causing data races between nonisolated and 'self'-isolated uses
160 | system: system,
161 | messages: input,
[18/25] Compiling SwiftAgentCore StructuredToolFallbackProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/OpenAIResponsesProvider.swift:128:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
126 | }
127 |
128 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
129 | system: String,
130 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/StructuredToolFallbackProvider.swift:63:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
61 | }
62 |
63 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
64 | system: String,
65 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/OpenAIResponsesProvider.swift:227:53: warning: sending 'self.oauthProvider' risks causing data races; this is an error in the Swift 6 language mode
225 | private func resolvedAccessToken() async throws -> String {
226 | if credentials.isExpired {
227 | let refreshed = try await oauthProvider.refreshToken(credentials)
| |- warning: sending 'self.oauthProvider' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.oauthProvider' to nonisolated instance method 'refreshToken' risks causing data races between nonisolated and 'self'-isolated uses
228 | credentials = refreshed
229 | await onCredentialsUpdated?(refreshed)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/StructuredToolFallbackProvider.swift:56:20: warning: sending 'self.base' risks causing data races; this is an error in the Swift 6 language mode
54 |
55 | public func checkAvailability() async -> Bool {
56 | await base.checkAvailability()
| |- warning: sending 'self.base' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.base' to nonisolated instance method 'checkAvailability()' risks causing data races between nonisolated and 'self'-isolated uses
57 | }
58 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/StructuredToolFallbackProvider.swift:60:24: warning: sending 'self.base' risks causing data races; this is an error in the Swift 6 language mode
58 |
59 | public func availableModels() async throws -> [LLMModelInfo] {
60 | try await base.availableModels()
| |- warning: sending 'self.base' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.base' to nonisolated instance method 'availableModels()' risks causing data races between nonisolated and 'self'-isolated uses
61 | }
62 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/StructuredToolFallbackProvider.swift:159:39: warning: sending 'self.base' risks causing data races; this is an error in the Swift 6 language mode
157 | }
158 |
159 | let response = try await base.sendMessage(
| |- warning: sending 'self.base' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.base' to nonisolated instance method 'sendMessage(system:messages:tools:onTextDelta:)' risks causing data races between nonisolated and 'self'-isolated uses
160 | system: system,
161 | messages: input,
[19/25] Compiling SwiftAgentCore MiniMaxAnthropicProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/MiniMaxAnthropicProvider.swift:93:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
91 | }
92 |
93 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
94 | system: String,
95 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
[20/25] Compiling SwiftAgentCore OAuthCallbackServer.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/MiniMaxAnthropicProvider.swift:93:17: warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
91 | }
92 |
93 | public func sendMessage(
| `- warning: non-sendable parameter type '(String) -> Void' cannot be sent from caller of protocol requirement 'sendMessage(system:messages:tools:onTextDelta:)' into actor-isolated implementation; this is an error in the Swift 6 language mode
94 | system: String,
95 | messages: [LLMMessage],
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAgentCore/LLM/LLMProvider.swift:10:10: note: a function type must be marked '@Sendable' to conform to 'Sendable'
8 | func availableModels() async throws -> [LLMModelInfo]
9 |
10 | func sendMessage(
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
11 | system: String,
12 | messages: [LLMMessage],
[21/25] Compiling SwiftAgentCore AgentTypes.swift
[22/25] Compiling SwiftAgentCore ToolRegistry.swift
[23/25] Compiling SwiftAgentCore AnthropicClaudeOAuth.swift
[24/25] Compiling SwiftAgentCore OpenAICodexOAuth.swift
[25/25] Compiling SwiftAgentCore OpenAICompatibleCore.swift
Build complete! (6.55s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SwiftAgentCore",
"name" : "SwiftAgentCore",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "16.0"
}
],
"products" : [
{
"name" : "SwiftAgentCore",
"targets" : [
"SwiftAgentCore"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftAgentCoreTests",
"module_type" : "SwiftTarget",
"name" : "SwiftAgentCoreTests",
"path" : "Tests/SwiftAgentCoreTests",
"sources" : [
"AgentLoopTests.swift",
"GeminiProviderTests.swift",
"MiniMaxAnthropicProviderTests.swift",
"OpenAICompatibleProfileTests.swift",
"OpenAICompatibleProviderToolCallingTests.swift",
"OpenAIResponsesProviderModelsTests.swift",
"SkillLoaderTests.swift",
"StructuredToolFallbackProviderTests.swift"
],
"target_dependencies" : [
"SwiftAgentCore"
],
"type" : "test"
},
{
"c99name" : "SwiftAgentCore",
"module_type" : "SwiftTarget",
"name" : "SwiftAgentCore",
"path" : "Sources/SwiftAgentCore",
"product_memberships" : [
"SwiftAgentCore"
],
"sources" : [
"Core/AgentEvent.swift",
"Core/AgentLoop.swift",
"Core/AgentTool.swift",
"Core/AgentTypes.swift",
"Core/ToolRegistry.swift",
"LLM/AnthropicClaudeOAuth.swift",
"LLM/GeminiProvider.swift",
"LLM/LLMAuth.swift",
"LLM/LLMProvider.swift",
"LLM/LLMTypes.swift",
"LLM/MiniMaxAnthropicProvider.swift",
"LLM/OAuthCallbackServer.swift",
"LLM/OpenAICodexOAuth.swift",
"LLM/OpenAICompatibleCore.swift",
"LLM/OpenAICompatibleProfile.swift",
"LLM/OpenAICompatibleProvider.swift",
"LLM/OpenAIResponsesProvider.swift",
"LLM/StructuredToolFallbackProvider.swift",
"Skills/ReadSkillTool.swift",
"Skills/SkillDefinition.swift",
"Skills/SkillLoader.swift",
"Skills/SkillRegistry.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.