The Swift Package Index logo.Swift Package Index

Build Information

Successful build of OpenAIRealtime, reference 0.1.0 (3a7e7e), with Swift 6.4 for macOS (SPM) on 22 Sep 2026 01:00:13 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/m1guelpf/swift-realtime-openai.git
Reference: 0.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/m1guelpf/swift-realtime-openai
 * tag               0.1.0      -> FETCH_HEAD
HEAD is now at 3a7e7e1 rename package to `OpenAIRealtime`
Cloned https://github.com/m1guelpf/swift-realtime-openai.git
Revision (git rev-parse @):
3a7e7e11caeb529b353bd53ae26f14f05da88f41
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/m1guelpf/swift-realtime-openai.git at 0.1.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/m1guelpf/swift-realtime-openai.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 68]
[Planning deferred tasks]
[13 / 29]
[20 / 29]
[21 / 30] OpenAIRealtime
[31 / 114]
[34 / 114]
[42 / 114]
[44 / 114]
[45 / 114]
[50 / 114]
[52 / 114]
[54 / 114]
[57 / 114]
[62 / 114]
[65 / 114]
[67 / 114]
[68 / 114]
[79 / 114]
[81 / 114]
[83 / 114]
[87 / 114]
[92 / 114]
[93 / 114]
[94 / 114]
[105 / 114] OpenAIRealtime
[111 / 114] OpenAIRealtime
Build complete! (10.63 sec)
Fetching https://github.com/stasel/WebRTC.git
[1/1000] Fetching webrtc
Fetched https://github.com/stasel/WebRTC.git (0.94s)
Creating working copy for https://github.com/stasel/WebRTC.git
Working copy of https://github.com/stasel/WebRTC.git resolved at latest (4266157)
Downloading binary artifact https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip
[0/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (16 KB / 45.2 MB)
[0/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (295 KB / 45.2 MB)
[1/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (557 KB / 45.2 MB)
[1/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (841 KB / 45.2 MB)
[2/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (1.1 MB / 45.2 MB)
[3/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (1.4 MB / 45.2 MB)
[3/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (1.6 MB / 45.2 MB)
[4/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (1.9 MB / 45.2 MB)
[4/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (2.2 MB / 45.2 MB)
[5/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (2.5 MB / 45.2 MB)
[6/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (2.7 MB / 45.2 MB)
[6/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (3 MB / 45.2 MB)
[7/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (3.3 MB / 45.2 MB)
[7/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (3.6 MB / 45.2 MB)
[8/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (3.8 MB / 45.2 MB)
[9/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (4.1 MB / 45.2 MB)
[9/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (4.4 MB / 45.2 MB)
[10/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (4.7 MB / 45.2 MB)
[11/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (5 MB / 45.2 MB)
[11/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (5.3 MB / 45.2 MB)
[12/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (5.5 MB / 45.2 MB)
[12/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (5.8 MB / 45.2 MB)
[13/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (6.1 MB / 45.2 MB)
[14/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (6.3 MB / 45.2 MB)
[14/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (6.6 MB / 45.2 MB)
[15/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (6.9 MB / 45.2 MB)
[15/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (7.2 MB / 45.2 MB)
[16/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (7.5 MB / 45.2 MB)
[17/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (7.8 MB / 45.2 MB)
[17/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (8.1 MB / 45.2 MB)
[18/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (8.4 MB / 45.2 MB)
[19/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (8.6 MB / 45.2 MB)
[19/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (9 MB / 45.2 MB)
[20/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (9.3 MB / 45.2 MB)
[21/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (9.6 MB / 45.2 MB)
[21/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (9.9 MB / 45.2 MB)
[22/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (10.1 MB / 45.2 MB)
[23/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (10.4 MB / 45.2 MB)
[23/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (10.7 MB / 45.2 MB)
[24/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (11 MB / 45.2 MB)
[25/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (11.3 MB / 45.2 MB)
[25/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (11.6 MB / 45.2 MB)
[26/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (11.9 MB / 45.2 MB)
[27/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (12.2 MB / 45.2 MB)
[27/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (12.5 MB / 45.2 MB)
[28/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (12.8 MB / 45.2 MB)
[29/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (13.1 MB / 45.2 MB)
[29/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (13.4 MB / 45.2 MB)
[30/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (13.7 MB / 45.2 MB)
[30/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (14 MB / 45.2 MB)
[31/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (14.3 MB / 45.2 MB)
[32/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (14.6 MB / 45.2 MB)
[32/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (14.9 MB / 45.2 MB)
[33/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (15.2 MB / 45.2 MB)
[34/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (15.4 MB / 45.2 MB)
[34/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (15.7 MB / 45.2 MB)
[35/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (16 MB / 45.2 MB)
[35/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (16.3 MB / 45.2 MB)
[36/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (16.6 MB / 45.2 MB)
[37/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (16.8 MB / 45.2 MB)
[37/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (17.1 MB / 45.2 MB)
[38/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (17.4 MB / 45.2 MB)
[39/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (17.7 MB / 45.2 MB)
[39/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (18 MB / 45.2 MB)
[40/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (18.3 MB / 45.2 MB)
[41/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (18.6 MB / 45.2 MB)
[41/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (18.9 MB / 45.2 MB)
[42/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (19.2 MB / 45.2 MB)
[43/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (19.5 MB / 45.2 MB)
[43/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (19.8 MB / 45.2 MB)
[44/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (20 MB / 45.2 MB)
[45/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (20.4 MB / 45.2 MB)
[45/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (20.7 MB / 45.2 MB)
[46/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (21 MB / 45.2 MB)
[46/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (21.2 MB / 45.2 MB)
[47/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (21.5 MB / 45.2 MB)
[48/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (21.8 MB / 45.2 MB)
[48/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (22.1 MB / 45.2 MB)
[49/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (22.4 MB / 45.2 MB)
[50/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (22.6 MB / 45.2 MB)
[50/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (22.9 MB / 45.2 MB)
[51/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (23.2 MB / 45.2 MB)
[51/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (23.5 MB / 45.2 MB)
[52/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (23.7 MB / 45.2 MB)
[53/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (24 MB / 45.2 MB)
[53/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (24.4 MB / 45.2 MB)
[54/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (24.7 MB / 45.2 MB)
[55/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (25 MB / 45.2 MB)
[55/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (25.3 MB / 45.2 MB)
[56/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (25.7 MB / 45.2 MB)
[57/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (26 MB / 45.2 MB)
[58/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (26.3 MB / 45.2 MB)
[58/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (26.6 MB / 45.2 MB)
[59/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (26.9 MB / 45.2 MB)
[60/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (27.2 MB / 45.2 MB)
[60/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (27.4 MB / 45.2 MB)
[61/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (27.7 MB / 45.2 MB)
[61/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (28 MB / 45.2 MB)
[62/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (28.3 MB / 45.2 MB)
[63/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (28.6 MB / 45.2 MB)
[63/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (28.9 MB / 45.2 MB)
[64/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (29.2 MB / 45.2 MB)
[65/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (29.5 MB / 45.2 MB)
[68/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (30.9 MB / 45.2 MB)
[69/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (31.5 MB / 45.2 MB)
[70/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (31.7 MB / 45.2 MB)
[70/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (32 MB / 45.2 MB)
[71/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (32.3 MB / 45.2 MB)
[72/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (32.6 MB / 45.2 MB)
[72/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (32.9 MB / 45.2 MB)
[73/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (33.2 MB / 45.2 MB)
[73/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (33.4 MB / 45.2 MB)
[74/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (33.7 MB / 45.2 MB)
[75/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (34 MB / 45.2 MB)
[75/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (34.3 MB / 45.2 MB)
[76/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (34.7 MB / 45.2 MB)
[77/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (34.9 MB / 45.2 MB)
[77/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (35.2 MB / 45.2 MB)
[78/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (35.5 MB / 45.2 MB)
[79/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (35.8 MB / 45.2 MB)
[79/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (36.2 MB / 45.2 MB)
[80/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (36.4 MB / 45.2 MB)
[81/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (36.8 MB / 45.2 MB)
[82/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (37.1 MB / 45.2 MB)
[82/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (37.4 MB / 45.2 MB)
[83/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (37.6 MB / 45.2 MB)
[83/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (37.9 MB / 45.2 MB)
[84/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (38.2 MB / 45.2 MB)
[84/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (38.4 MB / 45.2 MB)
[85/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (38.7 MB / 45.2 MB)
[86/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (39 MB / 45.2 MB)
[86/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (39.3 MB / 45.2 MB)
[87/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (39.6 MB / 45.2 MB)
[88/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (39.8 MB / 45.2 MB)
[88/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (40.1 MB / 45.2 MB)
[89/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (40.4 MB / 45.2 MB)
[89/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (40.7 MB / 45.2 MB)
[90/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (41 MB / 45.2 MB)
[91/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (41.2 MB / 45.2 MB)
[91/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (41.5 MB / 45.2 MB)
[92/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (41.8 MB / 45.2 MB)
[93/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (42.1 MB / 45.2 MB)
[93/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (42.4 MB / 45.2 MB)
[94/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (42.7 MB / 45.2 MB)
[95/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (43 MB / 45.2 MB)
[95/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (43.3 MB / 45.2 MB)
[96/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (43.6 MB / 45.2 MB)
[97/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (43.9 MB / 45.2 MB)
[97/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (44.2 MB / 45.2 MB)
[98/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (44.5 MB / 45.2 MB)
[99/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (44.8 MB / 45.2 MB)
[99/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (45.1 MB / 45.2 MB)
[100/100] Downloading https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (45.2 MB / 45.2 MB)
Downloaded https://github.com/stasel/WebRTC/releases/download/153.0.0/WebRTC-M153.xcframework.zip (2.44s)
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:18:29: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
  8 |
  9 | @Observable
 10 | public final class Conversation: Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 11 | 	private let client: RealtimeAPI
 12 | 	@MainActor private var cancelTask: (() -> Void)?
    :
 16 | 	private let playerNode = AVAudioPlayerNode()
 17 | 	private let queuedSamples = UnsafeMutableArray<String>()
 18 | 	private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
    |                             `- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
 19 | 	private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
 20 | 	private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:18:67: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
  8 |
  9 | @Observable
 10 | public final class Conversation: Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 11 | 	private let client: RealtimeAPI
 12 | 	@MainActor private var cancelTask: (() -> Void)?
    :
 16 | 	private let playerNode = AVAudioPlayerNode()
 17 | 	private let queuedSamples = UnsafeMutableArray<String>()
 18 | 	private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
    |                                                                   `- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
 19 | 	private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
 20 | 	private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:18:14: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
  8 |
  9 | @Observable
 10 | public final class Conversation: Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 11 | 	private let client: RealtimeAPI
 12 | 	@MainActor private var cancelTask: (() -> Void)?
    :
 16 | 	private let playerNode = AVAudioPlayerNode()
 17 | 	private let queuedSamples = UnsafeMutableArray<String>()
 18 | 	private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
    |              `- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
 19 | 	private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
 20 | 	private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:19:30: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
  8 |
  9 | @Observable
 10 | public final class Conversation: Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 11 | 	private let client: RealtimeAPI
 12 | 	@MainActor private var cancelTask: (() -> Void)?
    :
 17 | 	private let queuedSamples = UnsafeMutableArray<String>()
 18 | 	private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
 19 | 	private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
    |                              `- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
 20 | 	private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
 21 |
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:19:68: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
  8 |
  9 | @Observable
 10 | public final class Conversation: Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 11 | 	private let client: RealtimeAPI
 12 | 	@MainActor private var cancelTask: (() -> Void)?
    :
 17 | 	private let queuedSamples = UnsafeMutableArray<String>()
 18 | 	private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
 19 | 	private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
    |                                                                    `- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
 20 | 	private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
 21 |
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:19:14: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
  8 |
  9 | @Observable
 10 | public final class Conversation: Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 11 | 	private let client: RealtimeAPI
 12 | 	@MainActor private var cancelTask: (() -> Void)?
    :
 17 | 	private let queuedSamples = UnsafeMutableArray<String>()
 18 | 	private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
 19 | 	private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
    |              `- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
 20 | 	private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
 21 |
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:18:29: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
  8 |
  9 | @Observable
 10 | public final class Conversation: Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 11 | 	private let client: RealtimeAPI
 12 | 	@MainActor private var cancelTask: (() -> Void)?
    :
 16 | 	private let playerNode = AVAudioPlayerNode()
 17 | 	private let queuedSamples = UnsafeMutableArray<String>()
 18 | 	private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
    |                             `- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
 19 | 	private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
 20 | 	private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:18:67: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
  8 |
  9 | @Observable
 10 | public final class Conversation: Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 11 | 	private let client: RealtimeAPI
 12 | 	@MainActor private var cancelTask: (() -> Void)?
    :
 16 | 	private let playerNode = AVAudioPlayerNode()
 17 | 	private let queuedSamples = UnsafeMutableArray<String>()
 18 | 	private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
    |                                                                   `- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
 19 | 	private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
 20 | 	private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:18:14: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
  8 |
  9 | @Observable
 10 | public final class Conversation: Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 11 | 	private let client: RealtimeAPI
 12 | 	@MainActor private var cancelTask: (() -> Void)?
    :
 16 | 	private let playerNode = AVAudioPlayerNode()
 17 | 	private let queuedSamples = UnsafeMutableArray<String>()
 18 | 	private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
    |              `- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
 19 | 	private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
 20 | 	private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:19:30: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
  8 |
  9 | @Observable
 10 | public final class Conversation: Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 11 | 	private let client: RealtimeAPI
 12 | 	@MainActor private var cancelTask: (() -> Void)?
    :
 17 | 	private let queuedSamples = UnsafeMutableArray<String>()
 18 | 	private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
 19 | 	private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
    |                              `- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
 20 | 	private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
 21 |
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:19:68: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
  8 |
  9 | @Observable
 10 | public final class Conversation: Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 11 | 	private let client: RealtimeAPI
 12 | 	@MainActor private var cancelTask: (() -> Void)?
    :
 17 | 	private let queuedSamples = UnsafeMutableArray<String>()
 18 | 	private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
 19 | 	private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
    |                                                                    `- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
 20 | 	private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
 21 |
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:19:14: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
  8 |
  9 | @Observable
 10 | public final class Conversation: Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 11 | 	private let client: RealtimeAPI
 12 | 	@MainActor private var cancelTask: (() -> Void)?
    :
 17 | 	private let queuedSamples = UnsafeMutableArray<String>()
 18 | 	private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
 19 | 	private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
    |              `- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
 20 | 	private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
 21 |
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:78:34: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
 73 | 		}
 74 |
 75 | 		Task { @MainActor in
    |        |- note: 'self' implicitly strongly captured here
    |        `- note: add 'self' as a capture list item to silence
 76 | 			self.cancelTask = task.cancel
 77 |
 78 | 			client.onDisconnect = { [weak self] in
    |                                  |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
    |                                  `- note: explicitly assign the capture list item to silence
 79 | 				guard let self else { return }
 80 |
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:188:138: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
185 | 		if !handlingVoice { try startHandlingVoice() }
186 |
187 | 		Task.detached {
    |                 |- note: 'self' implicitly strongly captured here
    |                 `- note: add 'self' as a capture list item to silence
188 | 			self.audioEngine.inputNode.installTap(onBus: 0, bufferSize: 4096, format: self.audioEngine.inputNode.outputFormat(forBus: 0)) { [weak self] buffer, _ in
    |                                                                                                                                          |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
    |                                                                                                                                          `- note: explicitly assign the capture list item to silence
189 | 				self?.processAudioBufferFromUser(buffer: buffer)
190 | 			}
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:212:17: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
177 |
178 | /// Listening/Speaking public API
179 | public extension Conversation {
    |        `- note: add '@available' attribute to enclosing extension
180 | 	/// Start listening to the user's microphone and sending audio data to the model.
181 | 	/// This will automatically call `startHandlingVoice` if it hasn't been called yet.
    :
204 |
205 | 	/// Handle the playback of audio responses from the model.
206 | 	@MainActor func startHandlingVoice() throws {
    |                  `- note: add '@available' attribute to enclosing instance method
207 | 		guard !handlingVoice else { return }
208 |
    :
210 | 			throw ConversationError.converterInitializationFailed
211 | 		}
212 | 		userConverter.set(converter)
    |                 |- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
    |                 `- note: add 'if #available' version check
213 |
214 | 		#if os(iOS)
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:404:38: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
395 |
396 | /// Audio processing private API
397 | private extension Conversation {
    |         `- note: add '@available' attribute to enclosing extension
398 | 	private func queueAudioSample(_ event: ServerEvent.ResponseAudioDeltaEvent) {
    |               `- note: add '@available' attribute to enclosing instance method
399 | 		guard let buffer = AVAudioPCMBuffer.fromData(event.delta, format: desiredFormat) else {
400 | 			print("Failed to create audio buffer.")
    :
402 | 		}
403 |
404 | 		guard let converter = apiConverter.lazy({ AVAudioConverter(from: buffer.format, to: playerNode.outputFormat(forBus: 0)) }) else {
    |                                      |- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
    |                                      `- note: add 'if #available' version check
405 | 			print("Failed to create audio converter.")
406 | 			return
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:431:82: warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
395 |
396 | /// Audio processing private API
397 | private extension Conversation {
    |         `- note: add '@available' attribute to enclosing extension
398 | 	private func queueAudioSample(_ event: ServerEvent.ResponseAudioDeltaEvent) {
399 | 		guard let buffer = AVAudioPCMBuffer.fromData(event.delta, format: desiredFormat) else {
    :
426 | 	}
427 |
428 | 	private func processAudioBufferFromUser(buffer: AVAudioPCMBuffer) {
    |               `- note: add '@available' attribute to enclosing instance method
429 | 		let ratio = desiredFormat.sampleRate / buffer.format.sampleRate
430 |
431 | 		guard let convertedBuffer = convertBuffer(buffer: buffer, using: userConverter.get()!, capacity: AVAudioFrameCount(Double(buffer.frameLength) * ratio)) else {
    |                                                                                  |- warning: conformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer
    |                                                                                  `- note: add 'if #available' version check
432 | 			print("Buffer conversion failed.")
433 | 			return
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:439:3: warning: unstructured throwing task created by 'init(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
437 | 		let audioData = Data(bytes: sampleBytes, count: Int(convertedBuffer.audioBufferList.pointee.mBuffers.mDataByteSize))
438 |
439 | 		Task {
    |   |- warning: unstructured throwing task created by 'init(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
    |   `- note: to silence this warning, handle the error inside the task, or store/discard the task value explicitly
440 | 			try await send(audioDelta: audioData)
441 | 		}
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
[#NoUseUnstructuredThrowingTask]: <https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task>
Build complete.
{
  "dependencies" : [
    {
      "identity" : "webrtc",
      "requirement" : {
        "branch" : [
          "latest"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/stasel/WebRTC.git"
    }
  ],
  "manifest_display_name" : "OpenAIRealtime",
  "name" : "OpenAIRealtime",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "17.0"
    },
    {
      "name" : "tvos",
      "version" : "17.0"
    },
    {
      "name" : "macos",
      "version" : "14.0"
    },
    {
      "name" : "watchos",
      "version" : "10.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "17.0"
    }
  ],
  "products" : [
    {
      "name" : "OpenAIRealtime",
      "targets" : [
        "OpenAIRealtime"
      ],
      "type" : {
        "library" : [
          "static"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "OpenAIRealtime",
      "module_type" : "SwiftTarget",
      "name" : "OpenAIRealtime",
      "path" : "src",
      "product_dependencies" : [
        "WebRTC"
      ],
      "product_memberships" : [
        "OpenAIRealtime"
      ],
      "sources" : [
        "Connectors/WebRTCConnector.swift",
        "Connectors/WebSocketConnector.swift",
        "Conversation.swift",
        "Extensions/AVAudioPCMBuffer+fromData.swift",
        "Extensions/Collection+safe.swift",
        "Extensions/Continuation+error.swift",
        "Extensions/String+random.swift",
        "Models/ClientEvent.swift",
        "Models/Item.swift",
        "Models/Response.swift",
        "Models/ServerError.swift",
        "Models/ServerEvent.swift",
        "Models/Session.swift",
        "OpenAIRealtime.swift",
        "Protocols/Connector.swift",
        "Support/UnsafeInteriorMutable.swift",
        "Support/UnsafeMutableArray.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.