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 arm64Build 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: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m8 |[0;0m
[0;36m9 |[0;0m @Observable
[0;36m10 |[0;0m public final class Conversation: Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing class[0;0m
[0;36m11 |[0;0m private let client: RealtimeAPI
[0;36m12 |[0;0m @MainActor private var cancelTask: (() -> Void)?
[0;36m:[0;0m
[0;36m16 |[0;0m private let playerNode = AVAudioPlayerNode()
[0;36m17 |[0;0m private let queuedSamples = UnsafeMutableArray<String>()
[0;36m18 |[0;0m private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m19 |[0;0m private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m20 |[0;0m private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:18:67: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m8 |[0;0m
[0;36m9 |[0;0m @Observable
[0;36m10 |[0;0m public final class Conversation: Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing class[0;0m
[0;36m11 |[0;0m private let client: RealtimeAPI
[0;36m12 |[0;0m @MainActor private var cancelTask: (() -> Void)?
[0;36m:[0;0m
[0;36m16 |[0;0m private let playerNode = AVAudioPlayerNode()
[0;36m17 |[0;0m private let queuedSamples = UnsafeMutableArray<String>()
[0;36m18 |[0;0m private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m19 |[0;0m private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m20 |[0;0m private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:18:14: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m8 |[0;0m
[0;36m9 |[0;0m @Observable
[0;36m10 |[0;0m public final class Conversation: Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing class[0;0m
[0;36m11 |[0;0m private let client: RealtimeAPI
[0;36m12 |[0;0m @MainActor private var cancelTask: (() -> Void)?
[0;36m:[0;0m
[0;36m16 |[0;0m private let playerNode = AVAudioPlayerNode()
[0;36m17 |[0;0m private let queuedSamples = UnsafeMutableArray<String>()
[0;36m18 |[0;0m private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m19 |[0;0m private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m20 |[0;0m private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:19:30: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m8 |[0;0m
[0;36m9 |[0;0m @Observable
[0;36m10 |[0;0m public final class Conversation: Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing class[0;0m
[0;36m11 |[0;0m private let client: RealtimeAPI
[0;36m12 |[0;0m @MainActor private var cancelTask: (() -> Void)?
[0;36m:[0;0m
[0;36m17 |[0;0m private let queuedSamples = UnsafeMutableArray<String>()
[0;36m18 |[0;0m private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m19 |[0;0m private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m20 |[0;0m private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
[0;36m21 |[0;0m
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:19:68: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m8 |[0;0m
[0;36m9 |[0;0m @Observable
[0;36m10 |[0;0m public final class Conversation: Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing class[0;0m
[0;36m11 |[0;0m private let client: RealtimeAPI
[0;36m12 |[0;0m @MainActor private var cancelTask: (() -> Void)?
[0;36m:[0;0m
[0;36m17 |[0;0m private let queuedSamples = UnsafeMutableArray<String>()
[0;36m18 |[0;0m private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m19 |[0;0m private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m20 |[0;0m private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
[0;36m21 |[0;0m
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:19:14: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m8 |[0;0m
[0;36m9 |[0;0m @Observable
[0;36m10 |[0;0m public final class Conversation: Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing class[0;0m
[0;36m11 |[0;0m private let client: RealtimeAPI
[0;36m12 |[0;0m @MainActor private var cancelTask: (() -> Void)?
[0;36m:[0;0m
[0;36m17 |[0;0m private let queuedSamples = UnsafeMutableArray<String>()
[0;36m18 |[0;0m private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m19 |[0;0m private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m20 |[0;0m private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
[0;36m21 |[0;0m
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:18:29: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m8 |[0;0m
[0;36m9 |[0;0m @Observable
[0;36m10 |[0;0m public final class Conversation: Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing class[0;0m
[0;36m11 |[0;0m private let client: RealtimeAPI
[0;36m12 |[0;0m @MainActor private var cancelTask: (() -> Void)?
[0;36m:[0;0m
[0;36m16 |[0;0m private let playerNode = AVAudioPlayerNode()
[0;36m17 |[0;0m private let queuedSamples = UnsafeMutableArray<String>()
[0;36m18 |[0;0m private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m19 |[0;0m private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m20 |[0;0m private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:18:67: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m8 |[0;0m
[0;36m9 |[0;0m @Observable
[0;36m10 |[0;0m public final class Conversation: Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing class[0;0m
[0;36m11 |[0;0m private let client: RealtimeAPI
[0;36m12 |[0;0m @MainActor private var cancelTask: (() -> Void)?
[0;36m:[0;0m
[0;36m16 |[0;0m private let playerNode = AVAudioPlayerNode()
[0;36m17 |[0;0m private let queuedSamples = UnsafeMutableArray<String>()
[0;36m18 |[0;0m private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m19 |[0;0m private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m20 |[0;0m private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:18:14: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m8 |[0;0m
[0;36m9 |[0;0m @Observable
[0;36m10 |[0;0m public final class Conversation: Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing class[0;0m
[0;36m11 |[0;0m private let client: RealtimeAPI
[0;36m12 |[0;0m @MainActor private var cancelTask: (() -> Void)?
[0;36m:[0;0m
[0;36m16 |[0;0m private let playerNode = AVAudioPlayerNode()
[0;36m17 |[0;0m private let queuedSamples = UnsafeMutableArray<String>()
[0;36m18 |[0;0m private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m19 |[0;0m private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m20 |[0;0m private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:19:30: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m8 |[0;0m
[0;36m9 |[0;0m @Observable
[0;36m10 |[0;0m public final class Conversation: Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing class[0;0m
[0;36m11 |[0;0m private let client: RealtimeAPI
[0;36m12 |[0;0m @MainActor private var cancelTask: (() -> Void)?
[0;36m:[0;0m
[0;36m17 |[0;0m private let queuedSamples = UnsafeMutableArray<String>()
[0;36m18 |[0;0m private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m19 |[0;0m private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m20 |[0;0m private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
[0;36m21 |[0;0m
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:19:68: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m8 |[0;0m
[0;36m9 |[0;0m @Observable
[0;36m10 |[0;0m public final class Conversation: Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing class[0;0m
[0;36m11 |[0;0m private let client: RealtimeAPI
[0;36m12 |[0;0m @MainActor private var cancelTask: (() -> Void)?
[0;36m:[0;0m
[0;36m17 |[0;0m private let queuedSamples = UnsafeMutableArray<String>()
[0;36m18 |[0;0m private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m19 |[0;0m private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m20 |[0;0m private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
[0;36m21 |[0;0m
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:19:14: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m8 |[0;0m
[0;36m9 |[0;0m @Observable
[0;36m10 |[0;0m public final class Conversation: Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing class[0;0m
[0;36m11 |[0;0m private let client: RealtimeAPI
[0;36m12 |[0;0m @MainActor private var cancelTask: (() -> Void)?
[0;36m:[0;0m
[0;36m17 |[0;0m private let queuedSamples = UnsafeMutableArray<String>()
[0;36m18 |[0;0m private let apiConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m19 |[0;0m private let userConverter = UnsafeInteriorMutable<AVAudioConverter>()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m20 |[0;0m private let desiredFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 24000, channels: 1, interleaved: false)!
[0;36m21 |[0;0m
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:78:34: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m73 |[0;0m }
[0;36m74 |[0;0m
[0;36m75 |[0;0m Task { @MainActor in
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m76 |[0;0m self.cancelTask = task.cancel
[0;36m77 |[0;0m
[0;36m78 |[0;0m client.onDisconnect = { [weak self] in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m79 |[0;0m guard let self else { return }
[0;36m80 |[0;0m
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:188:138: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m185 |[0;0m if !handlingVoice { try startHandlingVoice() }
[0;36m186 |[0;0m
[0;36m187 |[0;0m Task.detached {
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m188 |[0;0m self.audioEngine.inputNode.installTap(onBus: 0, bufferSize: 4096, format: self.audioEngine.inputNode.outputFormat(forBus: 0)) { [weak self] buffer, _ in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m189 |[0;0m self?.processAudioBufferFromUser(buffer: buffer)
[0;36m190 |[0;0m }
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:212:17: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m177 |[0;0m
[0;36m178 |[0;0m /// Listening/Speaking public API
[0;36m179 |[0;0m public extension Conversation {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing extension[0;0m
[0;36m180 |[0;0m /// Start listening to the user's microphone and sending audio data to the model.
[0;36m181 |[0;0m /// This will automatically call `startHandlingVoice` if it hasn't been called yet.
[0;36m:[0;0m
[0;36m204 |[0;0m
[0;36m205 |[0;0m /// Handle the playback of audio responses from the model.
[0;36m206 |[0;0m @MainActor func startHandlingVoice() throws {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing instance method[0;0m
[0;36m207 |[0;0m guard !handlingVoice else { return }
[0;36m208 |[0;0m
[0;36m:[0;0m
[0;36m210 |[0;0m throw ConversationError.converterInitializationFailed
[0;36m211 |[0;0m }
[0;36m212 |[0;0m userConverter.set(converter)
[0;36m|[0;0m |- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'if #available' version check[0;0m
[0;36m213 |[0;0m
[0;36m214 |[0;0m #if os(iOS)
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:404:38: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m395 |[0;0m
[0;36m396 |[0;0m /// Audio processing private API
[0;36m397 |[0;0m private extension Conversation {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing extension[0;0m
[0;36m398 |[0;0m private func queueAudioSample(_ event: ServerEvent.ResponseAudioDeltaEvent) {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing instance method[0;0m
[0;36m399 |[0;0m guard let buffer = AVAudioPCMBuffer.fromData(event.delta, format: desiredFormat) else {
[0;36m400 |[0;0m print("Failed to create audio buffer.")
[0;36m:[0;0m
[0;36m402 |[0;0m }
[0;36m403 |[0;0m
[0;36m404 |[0;0m guard let converter = apiConverter.lazy({ AVAudioConverter(from: buffer.format, to: playerNode.outputFormat(forBus: 0)) }) else {
[0;36m|[0;0m |- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'if #available' version check[0;0m
[0;36m405 |[0;0m print("Failed to create audio converter.")
[0;36m406 |[0;0m return
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:431:82: [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m395 |[0;0m
[0;36m396 |[0;0m /// Audio processing private API
[0;36m397 |[0;0m private extension Conversation {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing extension[0;0m
[0;36m398 |[0;0m private func queueAudioSample(_ event: ServerEvent.ResponseAudioDeltaEvent) {
[0;36m399 |[0;0m guard let buffer = AVAudioPCMBuffer.fromData(event.delta, format: desiredFormat) else {
[0;36m:[0;0m
[0;36m426 |[0;0m }
[0;36m427 |[0;0m
[0;36m428 |[0;0m private func processAudioBufferFromUser(buffer: AVAudioPCMBuffer) {
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@available' attribute to enclosing instance method[0;0m
[0;36m429 |[0;0m let ratio = desiredFormat.sampleRate / buffer.format.sampleRate
[0;36m430 |[0;0m
[0;36m431 |[0;0m guard let convertedBuffer = convertBuffer(buffer: buffer, using: userConverter.get()!, capacity: AVAudioFrameCount(Double(buffer.frameLength) * ratio)) else {
[0;36m|[0;0m |- [1;33mwarning: [1;39mconformance of 'AVAudioConverter' to 'Sendable' is only available in macOS 26.0 or newer[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'if #available' version check[0;0m
[0;36m432 |[0;0m print("Buffer conversion failed.")
[0;36m433 |[0;0m return
/Users/admin/builder/spi-builder-workspace/src/Conversation.swift:439:3: [1;33mwarning: [1;39munstructured throwing task created by 'init(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
[0;36m437 |[0;0m let audioData = Data(bytes: sampleBytes, count: Int(convertedBuffer.audioBufferList.pointee.mBuffers.mDataByteSize))
[0;36m438 |[0;0m
[0;36m439 |[0;0m Task {
[0;36m|[0;0m |- [1;33mwarning: [1;39munstructured throwing task created by 'init(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mto silence this warning, handle the error inside the task, or store/discard the task value explicitly[0;0m
[0;36m440 |[0;0m try await send(audioDelta: audioData)
[0;36m441 |[0;0m }
[#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.