Build Information
Failed to build swift-interaction, reference v0.2.0 (a23060), with Swift 6.3 for Wasm on 16 Oct 2026 10:47:18 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886769-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3.2-RELEASE_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Ryu0118/swift-interaction.git
Reference: v0.2.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/Ryu0118/swift-interaction
* tag v0.2.0 -> FETCH_HEAD
HEAD is now at a230607 Redesign ValidationRule as an async, closure-based value type (#2)
Cloned https://github.com/Ryu0118/swift-interaction.git
Revision (git rev-parse @):
a2306079edb72712e4e8b262b4d420d292200009
SUCCESS checkout https://github.com/Ryu0118/swift-interaction.git at v0.2.0
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.3
Building package at path: $PWD
https://github.com/Ryu0118/swift-interaction.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886769-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3.2-RELEASE_wasm 2>&1
wasm-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:11aa8e4a9dbcd813ae44128d01e945c51d260b4dfda77b6bb7d997d0cc236164
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.3-latest
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.51s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (1.39s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3840] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.60s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.81s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/4] Write sources
[3/4] Write swift-version-24593BA9C3E375BF.txt
[5/26] Emitting module Interaction
[6/28] Compiling Interaction Prompt.swift
[7/28] Compiling Interaction PromptRendering.swift
[8/28] Compiling Interaction SingleChoiceLoop.swift
[9/28] Compiling Interaction InteractionProviding+Convenience.swift
[10/28] Compiling Interaction InteractionProviding+PromptConvenience.swift
[11/28] Compiling Interaction BlockRenderer.swift
[12/28] Compiling Interaction StandardKeyInput.swift
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:22:24: error: cannot find 'termios' in scope
20 | /// Puts the terminal into raw input mode for the duration of the body.
21 | public func withRawInput<Result>(_ body: () throws -> Result) rethrows -> Result {
22 | var original = termios()
| `- error: cannot find 'termios' in scope
23 | guard tcgetattr(STDIN_FILENO, &original) == 0 else {
24 | return try body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:23:15: error: cannot find 'tcgetattr' in scope
21 | public func withRawInput<Result>(_ body: () throws -> Result) rethrows -> Result {
22 | var original = termios()
23 | guard tcgetattr(STDIN_FILENO, &original) == 0 else {
| `- error: cannot find 'tcgetattr' in scope
24 | return try body()
25 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:25: error: cannot find 'tcflag_t' in scope
26 |
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'tcflag_t' in scope
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:34: error: cannot find 'ECHO' in scope
26 |
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ECHO' in scope
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:41: error: cannot find 'ICANON' in scope
26 |
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ICANON' in scope
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:50: error: cannot find 'ISIG' in scope
26 |
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ISIG' in scope
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:29:9: error: cannot find 'tcsetattr' in scope
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
| `- error: cannot find 'tcsetattr' in scope
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
31 | return try body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:29:33: error: cannot find 'TCSANOW' in scope
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
| `- error: cannot find 'TCSANOW' in scope
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
31 | return try body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:30:17: error: cannot find 'tcsetattr' in scope
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
| `- error: cannot find 'tcsetattr' in scope
31 | return try body()
32 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:30:41: error: cannot find 'TCSANOW' in scope
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
| `- error: cannot find 'TCSANOW' in scope
31 | return try body()
32 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:36:24: error: cannot find 'termios' in scope
34 | /// Puts the terminal into raw input mode for the duration of the asynchronous body.
35 | public func withRawInput<Result>(_ body: () async throws -> Result) async rethrows -> Result {
36 | var original = termios()
| `- error: cannot find 'termios' in scope
37 | guard tcgetattr(STDIN_FILENO, &original) == 0 else {
38 | return try await body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:37:15: error: cannot find 'tcgetattr' in scope
35 | public func withRawInput<Result>(_ body: () async throws -> Result) async rethrows -> Result {
36 | var original = termios()
37 | guard tcgetattr(STDIN_FILENO, &original) == 0 else {
| `- error: cannot find 'tcgetattr' in scope
38 | return try await body()
39 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:25: error: cannot find 'tcflag_t' in scope
40 |
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'tcflag_t' in scope
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:34: error: cannot find 'ECHO' in scope
40 |
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ECHO' in scope
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:41: error: cannot find 'ICANON' in scope
40 |
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ICANON' in scope
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:50: error: cannot find 'ISIG' in scope
40 |
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ISIG' in scope
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:43:9: error: cannot find 'tcsetattr' in scope
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
| `- error: cannot find 'tcsetattr' in scope
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
45 | return try await body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:43:33: error: cannot find 'TCSANOW' in scope
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
| `- error: cannot find 'TCSANOW' in scope
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
45 | return try await body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:44:17: error: cannot find 'tcsetattr' in scope
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
| `- error: cannot find 'tcsetattr' in scope
45 | return try await body()
46 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:44:41: error: cannot find 'TCSANOW' in scope
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
| `- error: cannot find 'TCSANOW' in scope
45 | return try await body()
46 | }
/host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift:41:20: error: cannot find 'winsize' in scope
39 | guard stdoutIsTTY else { return nil }
40 |
41 | var size = winsize()
| `- error: cannot find 'winsize' in scope
42 | let result = ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &size)
43 | guard result == 0, size.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift:42:48: error: cannot find 'TIOCGWINSZ' in scope
40 |
41 | var size = winsize()
42 | let result = ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &size)
| `- error: cannot find 'TIOCGWINSZ' in scope
43 | guard result == 0, size.ws_col > 0 else { return nil }
44 | return Int(size.ws_col)
[13/28] Compiling Interaction TerminalCapabilities.swift
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:22:24: error: cannot find 'termios' in scope
20 | /// Puts the terminal into raw input mode for the duration of the body.
21 | public func withRawInput<Result>(_ body: () throws -> Result) rethrows -> Result {
22 | var original = termios()
| `- error: cannot find 'termios' in scope
23 | guard tcgetattr(STDIN_FILENO, &original) == 0 else {
24 | return try body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:23:15: error: cannot find 'tcgetattr' in scope
21 | public func withRawInput<Result>(_ body: () throws -> Result) rethrows -> Result {
22 | var original = termios()
23 | guard tcgetattr(STDIN_FILENO, &original) == 0 else {
| `- error: cannot find 'tcgetattr' in scope
24 | return try body()
25 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:25: error: cannot find 'tcflag_t' in scope
26 |
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'tcflag_t' in scope
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:34: error: cannot find 'ECHO' in scope
26 |
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ECHO' in scope
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:41: error: cannot find 'ICANON' in scope
26 |
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ICANON' in scope
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:50: error: cannot find 'ISIG' in scope
26 |
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ISIG' in scope
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:29:9: error: cannot find 'tcsetattr' in scope
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
| `- error: cannot find 'tcsetattr' in scope
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
31 | return try body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:29:33: error: cannot find 'TCSANOW' in scope
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
| `- error: cannot find 'TCSANOW' in scope
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
31 | return try body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:30:17: error: cannot find 'tcsetattr' in scope
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
| `- error: cannot find 'tcsetattr' in scope
31 | return try body()
32 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:30:41: error: cannot find 'TCSANOW' in scope
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
| `- error: cannot find 'TCSANOW' in scope
31 | return try body()
32 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:36:24: error: cannot find 'termios' in scope
34 | /// Puts the terminal into raw input mode for the duration of the asynchronous body.
35 | public func withRawInput<Result>(_ body: () async throws -> Result) async rethrows -> Result {
36 | var original = termios()
| `- error: cannot find 'termios' in scope
37 | guard tcgetattr(STDIN_FILENO, &original) == 0 else {
38 | return try await body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:37:15: error: cannot find 'tcgetattr' in scope
35 | public func withRawInput<Result>(_ body: () async throws -> Result) async rethrows -> Result {
36 | var original = termios()
37 | guard tcgetattr(STDIN_FILENO, &original) == 0 else {
| `- error: cannot find 'tcgetattr' in scope
38 | return try await body()
39 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:25: error: cannot find 'tcflag_t' in scope
40 |
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'tcflag_t' in scope
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:34: error: cannot find 'ECHO' in scope
40 |
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ECHO' in scope
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:41: error: cannot find 'ICANON' in scope
40 |
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ICANON' in scope
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:50: error: cannot find 'ISIG' in scope
40 |
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ISIG' in scope
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:43:9: error: cannot find 'tcsetattr' in scope
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
| `- error: cannot find 'tcsetattr' in scope
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
45 | return try await body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:43:33: error: cannot find 'TCSANOW' in scope
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
| `- error: cannot find 'TCSANOW' in scope
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
45 | return try await body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:44:17: error: cannot find 'tcsetattr' in scope
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
| `- error: cannot find 'tcsetattr' in scope
45 | return try await body()
46 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:44:41: error: cannot find 'TCSANOW' in scope
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
| `- error: cannot find 'TCSANOW' in scope
45 | return try await body()
46 | }
/host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift:41:20: error: cannot find 'winsize' in scope
39 | guard stdoutIsTTY else { return nil }
40 |
41 | var size = winsize()
| `- error: cannot find 'winsize' in scope
42 | let result = ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &size)
43 | guard result == 0, size.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift:42:48: error: cannot find 'TIOCGWINSZ' in scope
40 |
41 | var size = winsize()
42 | let result = ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &size)
| `- error: cannot find 'TIOCGWINSZ' in scope
43 | guard result == 0, size.ws_col > 0 else { return nil }
44 | return Int(size.ws_col)
[14/28] Compiling Interaction TerminalKey.swift
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:22:24: error: cannot find 'termios' in scope
20 | /// Puts the terminal into raw input mode for the duration of the body.
21 | public func withRawInput<Result>(_ body: () throws -> Result) rethrows -> Result {
22 | var original = termios()
| `- error: cannot find 'termios' in scope
23 | guard tcgetattr(STDIN_FILENO, &original) == 0 else {
24 | return try body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:23:15: error: cannot find 'tcgetattr' in scope
21 | public func withRawInput<Result>(_ body: () throws -> Result) rethrows -> Result {
22 | var original = termios()
23 | guard tcgetattr(STDIN_FILENO, &original) == 0 else {
| `- error: cannot find 'tcgetattr' in scope
24 | return try body()
25 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:25: error: cannot find 'tcflag_t' in scope
26 |
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'tcflag_t' in scope
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:34: error: cannot find 'ECHO' in scope
26 |
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ECHO' in scope
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:41: error: cannot find 'ICANON' in scope
26 |
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ICANON' in scope
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:50: error: cannot find 'ISIG' in scope
26 |
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ISIG' in scope
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:29:9: error: cannot find 'tcsetattr' in scope
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
| `- error: cannot find 'tcsetattr' in scope
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
31 | return try body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:29:33: error: cannot find 'TCSANOW' in scope
27 | var raw = original
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
| `- error: cannot find 'TCSANOW' in scope
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
31 | return try body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:30:17: error: cannot find 'tcsetattr' in scope
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
| `- error: cannot find 'tcsetattr' in scope
31 | return try body()
32 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:30:41: error: cannot find 'TCSANOW' in scope
28 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
29 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
30 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
| `- error: cannot find 'TCSANOW' in scope
31 | return try body()
32 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:36:24: error: cannot find 'termios' in scope
34 | /// Puts the terminal into raw input mode for the duration of the asynchronous body.
35 | public func withRawInput<Result>(_ body: () async throws -> Result) async rethrows -> Result {
36 | var original = termios()
| `- error: cannot find 'termios' in scope
37 | guard tcgetattr(STDIN_FILENO, &original) == 0 else {
38 | return try await body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:37:15: error: cannot find 'tcgetattr' in scope
35 | public func withRawInput<Result>(_ body: () async throws -> Result) async rethrows -> Result {
36 | var original = termios()
37 | guard tcgetattr(STDIN_FILENO, &original) == 0 else {
| `- error: cannot find 'tcgetattr' in scope
38 | return try await body()
39 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:25: error: cannot find 'tcflag_t' in scope
40 |
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'tcflag_t' in scope
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:34: error: cannot find 'ECHO' in scope
40 |
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ECHO' in scope
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:41: error: cannot find 'ICANON' in scope
40 |
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ICANON' in scope
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:50: error: cannot find 'ISIG' in scope
40 |
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
| `- error: cannot find 'ISIG' in scope
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:43:9: error: cannot find 'tcsetattr' in scope
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
| `- error: cannot find 'tcsetattr' in scope
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
45 | return try await body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:43:33: error: cannot find 'TCSANOW' in scope
41 | var raw = original
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
| `- error: cannot find 'TCSANOW' in scope
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
45 | return try await body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:44:17: error: cannot find 'tcsetattr' in scope
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
| `- error: cannot find 'tcsetattr' in scope
45 | return try await body()
46 | }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:44:41: error: cannot find 'TCSANOW' in scope
42 | raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
43 | tcsetattr(STDIN_FILENO, TCSANOW, &raw)
44 | defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
| `- error: cannot find 'TCSANOW' in scope
45 | return try await body()
46 | }
/host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift:41:20: error: cannot find 'winsize' in scope
39 | guard stdoutIsTTY else { return nil }
40 |
41 | var size = winsize()
| `- error: cannot find 'winsize' in scope
42 | let result = ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &size)
43 | guard result == 0, size.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift:42:48: error: cannot find 'TIOCGWINSZ' in scope
40 |
41 | var size = winsize()
42 | let result = ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &size)
| `- error: cannot find 'TIOCGWINSZ' in scope
43 | guard result == 0, size.ws_col > 0 else { return nil }
44 | return Int(size.ws_col)
[15/28] Compiling Interaction Terminal.swift
[16/28] Compiling Interaction Validation.swift
[17/28] Compiling Interaction ConfirmationLoop.swift
[18/28] Compiling Interaction LineBuffer.swift
[19/28] Compiling Interaction MultipleChoiceLoop.swift
[20/28] Compiling Interaction StyledTextRenderer.swift
[21/28] Compiling Interaction Table.swift
[22/28] Compiling Interaction Terminal+LineMode.swift
[23/28] Compiling Interaction TextPromptLoop.swift
[24/28] Compiling Interaction ChoiceOption.swift
[25/28] Compiling Interaction MultipleSelectionState.swift
[26/28] Compiling Interaction SingleSelectionState.swift
[27/28] Compiling Interaction DisplayWidth.swift
[28/28] Compiling Interaction StyledText.swift
BUILD FAILURE 6.3 wasm