The Swift Package Index logo.Swift Package Index

Build Information

Failed to build PerfectNotifications, reference main (6a9fdd), with Swift 6.2 for Wasm on 28 Oct 2026 17:28:04 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344847-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.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.4
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/perfectlysoft/perfect-notifications.git
Reference: main
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/perfectlysoft/perfect-notifications
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 6a9fdd3 Merge pull request #20 from PerfectlySoft/release-6.0.0
Cloned https://github.com/perfectlysoft/perfect-notifications.git
Revision (git rev-parse @):
6a9fdd3841e3e669cc773d17523c6744b4c069e6
SUCCESS checkout https://github.com/perfectlysoft/perfect-notifications.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/perfectlysoft/perfect-notifications.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344847-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.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1
wasm-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:c2cc4df169d3c45015ced899e997f329be5fc90bdbfce388bd8981e1ea44d639
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest
Fetching https://github.com/apple/swift-crypto.git
[1/18859] Fetching swift-crypto
Fetched https://github.com/apple/swift-crypto.git from cache (1.35s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 4.5.2 (2.54s)
Fetching https://github.com/apple/swift-asn1.git
[1/2051] Fetching swift-asn1
Fetched https://github.com/apple/swift-asn1.git from cache (0.52s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (0.71s)
Creating working copy for https://github.com/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.7.3
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 4.5.2
Building for debugging...
[0/376] Write sources
[3/376] Compiling CXKCPShims shims.c
[4/376] Compiling p256_beeu-x86_64-asm-linux.S
[5/376] Compiling SimpleFIPS202.c
[6/376] Compiling p256_beeu-x86_64-asm-apple.S
[7/376] Compiling KeccakSponge.c
[8/376] Compiling KeccakHash.c
[9/376] Compiling fiat_p256_adx_sqr.S
[10/376] Compiling fiat_p256_adx_mul.S
[11/376] Compiling fiat_curve25519_adx_square.S
[12/376] Compiling fiat_curve25519_adx_mul.S
[13/376] Compiling md5-x86_64-linux.S
[14/376] Compiling md5-x86_64-apple.S
[15/376] Compiling CCryptoBoringSSLShims shims.c
[16/376] Compiling md5-586-linux.S
[17/376] Compiling md5-586-apple.S
[18/376] Compiling chacha20_poly1305_x86_64-linux.S
[19/376] Compiling chacha20_poly1305_x86_64-apple.S
[20/376] Compiling chacha20_poly1305_armv8-win.S
[21/376] Compiling chacha20_poly1305_armv8-linux.S
[22/376] Compiling chacha20_poly1305_armv8-apple.S
[23/376] Compiling chacha-x86_64-linux.S
[24/376] Compiling chacha-x86_64-apple.S
[25/376] Compiling chacha-x86-linux.S
[26/376] Compiling chacha-x86-apple.S
[27/376] Compiling chacha-armv8-win.S
[28/376] Compiling chacha-armv8-linux.S
[29/376] Compiling err_data.cc
[30/376] Compiling chacha-armv8-apple.S
[31/376] Compiling chacha-armv4-linux.S
[32/376] Compiling aes128gcmsiv-x86_64-apple.S
[33/376] Compiling aes128gcmsiv-x86_64-linux.S
[34/376] Compiling x86_64-mont5-linux.S
[35/376] Compiling a_octet.cc
[36/376] Compiling x86_64-mont5-apple.S
[37/376] Compiling x86_64-mont-linux.S
[38/376] Compiling x86-mont-linux.S
[39/376] Compiling x86-mont-apple.S
[40/376] Compiling x86_64-mont-apple.S
[41/376] Compiling vpaes-x86_64-linux.S
[42/376] Compiling vpaes-x86-linux.S
[43/376] Compiling vpaes-x86_64-apple.S
[44/376] Compiling vpaes-x86-apple.S
[45/376] Compiling vpaes-armv8-win.S
[46/376] Compiling vpaes-armv8-linux.S
[47/376] Write swift-version-24593BA9C3E375BF.txt
[48/376] Compiling a_strex.cc
[49/376] Compiling cbs.cc
[49/376] Compiling unicode.cc
[50/376] Compiling vpaes-armv8-apple.S
[52/376] Compiling vpaes-armv7-linux.S
[53/376] Compiling sha512-x86_64-apple.S
[54/376] Compiling sha512-armv8-win.S
[55/376] Compiling sha512-armv8-apple.S
[56/376] Compiling sha512-x86_64-linux.S
[57/376] Compiling sha512-armv8-linux.S
[58/376] Compiling sha512-armv4-linux.S
[59/376] Compiling sha512-586-linux.S
[60/376] Compiling sha512-586-apple.S
[61/376] Compiling sha256-x86_64-apple.S
[62/376] Compiling sha256-armv8-win.S
[63/376] Compiling sha256-armv8-apple.S
[64/376] Compiling sha256-x86_64-linux.S
[65/376] Compiling sha256-armv8-linux.S
[66/376] Compiling sha256-armv4-linux.S
[67/376] Compiling sha256-586-linux.S
[68/376] Compiling sha256-586-apple.S
[69/376] Compiling sha1-x86_64-linux.S
[70/376] Compiling sha1-armv8-win.S
[71/376] Compiling sha1-x86_64-apple.S
[72/376] Compiling sha1-armv8-linux.S
[73/376] Compiling sha1-armv8-apple.S
[74/376] Compiling sha1-586-linux.S
[75/376] Compiling rsaz-avx2-linux.S
[76/376] Compiling sha1-586-apple.S
[77/376] Compiling rdrand-x86_64-linux.S
[78/376] Compiling rsaz-avx2-apple.S
[79/376] Compiling sha1-armv4-large-linux.S
[80/376] Compiling rdrand-x86_64-apple.S
[81/376] Compiling p256_beeu-armv8-asm-linux.S
[82/376] Compiling p256_beeu-armv8-asm-win.S
[83/376] Compiling p256-x86_64-asm-apple.S
[84/376] Compiling p256-armv8-asm-win.S
[85/376] Compiling p256-x86_64-asm-linux.S
[86/376] Compiling p256_beeu-armv8-asm-apple.S
[87/376] Compiling p256-armv8-asm-apple.S
[88/376] Compiling ghashv8-armv8-win.S
[89/376] Compiling p256-armv8-asm-linux.S
[90/376] Compiling ghashv8-armv8-linux.S
[91/376] Compiling ghash-x86_64-linux.S
[92/376] Compiling ghashv8-armv8-apple.S
[93/376] Compiling ghash-x86_64-apple.S
[94/376] Compiling ghash-x86-linux.S
[95/376] Compiling ghashv8-armv7-linux.S
[96/376] Compiling ghash-ssse3-x86_64-linux.S
[97/376] Compiling ghash-x86-apple.S
[98/376] Compiling ghash-ssse3-x86_64-apple.S
[99/376] Compiling ghash-ssse3-x86-apple.S
[100/376] Compiling ghash-ssse3-x86-linux.S
[101/376] Compiling ghash-neon-armv8-win.S
[101/376] Compiling ghash-neon-armv8-linux.S
[103/376] Compiling co-586-linux.S
[104/376] Compiling ghash-armv4-linux.S
[105/376] Compiling ghash-neon-armv8-apple.S
[106/376] Compiling co-586-apple.S
[107/376] Compiling bn-armv8-win.S
[108/376] Compiling bn-armv8-linux.S
[109/376] Compiling bn-armv8-apple.S
[110/376] Compiling bn-586-apple.S
[111/376] Compiling bsaes-armv7-linux.S
[112/376] Compiling bn-586-linux.S
[112/376] Compiling armv8-mont-win.S
[114/376] Compiling armv8-mont-apple.S
[115/376] Compiling armv8-mont-linux.S
[116/376] Compiling armv4-mont-linux.S
[117/376] Compiling aesv8-gcm-armv8-linux.S
[118/376] Compiling aesv8-gcm-armv8-win.S
[118/376] Compiling aesv8-gcm-armv8-apple.S
[120/376] Compiling aesv8-armv8-win.S
[121/376] Compiling aesv8-armv8-linux.S
[122/376] Compiling aesv8-armv8-apple.S
[123/376] Compiling aesni-x86_64-linux.S
[124/376] Compiling aesv8-armv7-linux.S
[124/376] Compiling aesni-x86_64-apple.S
[126/376] Compiling aesni-x86-apple.S
[127/376] Compiling aesni-gcm-x86_64-linux.S
[127/376] Compiling aesni-gcm-x86_64-apple.S
[129/376] Compiling aes-gcm-avx512-x86_64-linux.S
[130/376] Compiling aesni-x86-linux.S
[131/376] Compiling aes-gcm-avx512-x86_64-apple.S
[132/376] Compiling aes-gcm-avx2-x86_64-apple.S
[133/376] Compiling aes-gcm-avx2-x86_64-linux.S
[134/376] Compiling xwing.cc
[135/376] Compiling x_spki.cc
[136/376] Compiling x_sig.cc
[137/376] Compiling x_x509.cc
[138/376] Compiling x_x509a.cc
[139/376] Compiling x_req.cc
[140/376] Compiling x_pubkey.cc
[141/376] Compiling x_name.cc
[142/376] Compiling x_crl.cc
[143/376] Compiling x_exten.cc
[144/376] Compiling x_algor.cc
[145/376] Compiling x_all.cc
[146/376] Compiling x509spki.cc
[147/376] Compiling x_attrib.cc
[148/376] Compiling x509rset.cc
[149/376] Compiling x509_v3.cc
[150/376] Compiling x509name.cc
[151/376] Compiling x509cset.cc
[152/376] Compiling x509_vfy.cc
[153/376] Compiling x509_vpm.cc
[154/376] Compiling x509_txt.cc
[155/376] Compiling x509_trs.cc
[156/376] Compiling x509_req.cc
[157/376] Compiling x509_set.cc
[158/376] Compiling x509_obj.cc
[159/376] Compiling x509_ext.cc
[160/376] Compiling KeccakP-1600-opt64.c
[161/376] Compiling x509_def.cc
[162/376] Compiling x509_lu.cc
[163/376] Compiling x509_d2.cc
[164/376] Compiling x509_att.cc
[165/376] Compiling x509_cmp.cc
[166/376] Compiling x509.cc
[167/376] Compiling v3_prn.cc
[168/376] Compiling v3_skey.cc
[169/376] Compiling v3_utl.cc
[170/376] Compiling v3_purp.cc
[171/376] Compiling v3_pmaps.cc
[172/376] Compiling v3_ncons.cc
[173/376] Compiling v3_ocsp.cc
[174/376] Compiling v3_pcons.cc
[175/376] Compiling v3_lib.cc
[176/376] Compiling v3_int.cc
[177/376] Compiling v3_ia5.cc
[178/376] Compiling v3_info.cc
[179/376] Compiling v3_genn.cc
[180/376] Compiling v3_extku.cc
[181/376] Compiling v3_crld.cc
[182/376] Compiling v3_conf.cc
[183/376] Compiling v3_bcons.cc
[183/376] Compiling v3_enum.cc
[185/376] Compiling v3_bitst.cc
[186/376] Compiling v3_cpols.cc
[187/376] Compiling v3_alt.cc
[188/376] Compiling rsa_pss.cc
[189/376] Compiling t_x509a.cc
[190/376] Compiling v3_akeya.cc
[191/376] Compiling t_x509.cc
[192/376] Compiling v3_akey.cc
[193/376] Compiling t_req.cc
[194/376] Compiling t_crl.cc
[195/376] Compiling policy.cc
[196/376] Compiling i2d_pr.cc
[197/376] Compiling by_file.cc
[198/376] Compiling asn1_gen.cc
[199/376] Compiling by_dir.cc
[200/376] Compiling name_print.cc
[201/376] Compiling a_verify.cc
[202/376] Compiling algorithm.cc
[203/376] Compiling a_sign.cc
[204/376] Compiling thread_win.cc
[205/376] Compiling thread_pthread.cc
[206/376] Compiling a_digest.cc
[207/376] Compiling trust_token.cc
[208/376] Compiling thread_none.cc
[209/376] Compiling pmbtoken.cc
[210/376] Compiling voprf.cc
[211/376] Compiling thread.cc
[212/376] Compiling siphash.cc
[213/376] Compiling stack.cc
[214/376] Compiling sha256.cc
[215/376] Compiling sha512.cc
[216/376] Compiling slhdsa.cc
[217/376] Compiling spake2plus.cc
[218/376] Compiling rsa_extra.cc
[219/376] Compiling sha1.cc
[219/376] Compiling rsa_print.cc
[221/376] Compiling rsa_crypt.cc
[222/376] Compiling refcount.cc
[223/376] Compiling windows.cc
[224/376] Compiling urandom.cc
[225/376] Compiling trusty.cc
[226/376] Compiling rc4.cc
[227/376] Compiling rand.cc
[228/376] Compiling rsa_asn1.cc
[229/376] Compiling passive.cc
[230/376] Compiling poly1305_arm_asm.S
[231/376] Compiling fork_detect.cc
[232/376] Compiling ios.cc
[233/376] Compiling forkunsafe.cc
[234/376] Compiling poly1305_vec.cc
[235/376] Compiling getentropy.cc
[236/376] Compiling deterministic.cc
[237/376] Compiling poly1305_arm.cc
[238/376] Compiling pool.cc
[239/376] Compiling poly1305.cc
[240/376] Compiling pkcs7.cc
[241/376] Compiling pem_xaux.cc
[242/376] Compiling pkcs7_x509.cc
[242/376] Compiling pkcs8.cc
[244/376] Compiling pkcs8_x509.cc
[245/376] Compiling p5_pbev2.cc
[246/376] Compiling pem_x509.cc
[247/376] Compiling pem_pkey.cc
[248/376] Compiling pem_oth.cc
[249/376] Compiling pem_pk8.cc
[250/376] Compiling obj_xref.cc
[251/376] Compiling pem_info.cc
[252/376] Compiling obj.cc
[253/376] Compiling pem_lib.cc
[254/376] Compiling pem_all.cc
[255/376] Compiling mlkem.cc
[256/376] Compiling poly_rq_mul.S
[257/376] Compiling mldsa.cc
[258/376] Compiling mem.cc
[259/376] Compiling fips_shared_support.cc
[260/376] Compiling hrss.cc
[261/376] Compiling lhash.cc
[262/376] Compiling md5.cc
[263/376] Compiling fuzzer_mode.cc
[264/376] Compiling md4.cc
[265/376] Compiling kyber.cc
[266/376] Compiling hpke.cc
[267/376] Compiling scrypt.cc
[268/376] Compiling ex_data.cc
[269/376] Compiling print.cc
[270/376] Compiling pbkdf.cc
[271/376] Compiling sign.cc
[272/376] Compiling p_x25519_asn1.cc
[273/376] Compiling p_x25519.cc
[274/376] Compiling p_hkdf.cc
[275/376] Compiling p_ed25519_asn1.cc
[276/376] Compiling p_rsa.cc
[277/376] Compiling p_rsa_asn1.cc
[278/376] Compiling p_ec_asn1.cc
[279/376] Compiling p_ed25519.cc
[280/376] Compiling p_ec.cc
[281/376] Compiling p_dsa_asn1.cc
[282/376] Compiling p_dh_asn1.cc
[283/376] Compiling p_dh.cc
[284/376] Compiling evp_ctx.cc
[285/376] Compiling engine.cc
[286/376] Compiling err.cc
[287/376] Compiling evp.cc
[288/376] Compiling ecdsa_p1363.cc
[289/376] Compiling evp_asn1.cc
[290/376] Compiling ecdh.cc
[291/376] Compiling ecdsa_asn1.cc
[292/376] Compiling ec_derive.cc
[293/376] Compiling bcm.cc
[294/376] Compiling ec_asn1.cc
[295/376] Compiling dsa.cc
[296/376] Compiling hash_to_curve.cc
[297/376] Compiling dsa_asn1.cc
[298/376] Compiling digest_extra.cc
[299/376] Compiling x25519-asm-arm.S
[300/376] Compiling des.cc
[301/376] Compiling curve25519_64_adx.cc
[302/376] Compiling params.cc
[303/376] Compiling cpu_intel.cc
[304/376] Compiling spake25519.cc
[305/376] Compiling dh_asn1.cc
[306/376] Compiling crypto.cc
[307/376] Compiling cpu_arm_linux.cc
[308/376] Compiling cpu_aarch64_win.cc
[309/376] Compiling cpu_aarch64_linux.cc
[310/376] Compiling curve25519.cc
[311/376] Compiling cpu_arm_freebsd.cc
[312/376] Compiling cpu_aarch64_openbsd.cc
[313/376] Compiling cpu_aarch64_sysreg.cc
[314/376] Compiling conf.cc
[315/376] Compiling cpu_aarch64_apple.cc
[316/376] Compiling cpu_aarch64_fuchsia.cc
[317/376] Compiling tls_cbc.cc
[318/376] Compiling get_cipher.cc
[319/376] Compiling cms.cc
[320/376] Compiling e_rc2.cc
[320/376] Compiling e_tls.cc
[322/376] Compiling e_rc4.cc
[323/376] Compiling e_des.cc
[324/376] Compiling e_aesgcmsiv.cc
[325/376] Compiling e_chacha20poly1305.cc
[326/376] Compiling e_null.cc
[327/376] Compiling e_aeseax.cc
[328/376] Compiling e_aesctrhmac.cc
[329/376] Compiling buf.cc
[330/376] Compiling chacha.cc
[331/376] Compiling cbb.cc
[332/376] Compiling derive_key.cc
[333/376] Compiling ber.cc
[334/376] Compiling sqrt.cc
[335/376] Compiling asn1_compat.cc
[336/376] Compiling div.cc
[337/376] Compiling exponentiation.cc
[338/376] Compiling blake2.cc
[339/376] Compiling convert.cc
[340/376] Compiling printf.cc
[341/376] Compiling bn_asn1.cc
[342/376] Compiling pair.cc
[343/376] Compiling hexdump.cc
[344/376] Compiling file.cc
[345/376] Compiling fd.cc
[346/376] Compiling errno.cc
[347/376] Compiling bio_mem.cc
[348/376] Compiling bio.cc
[349/376] Compiling base64.cc
[350/376] Compiling tasn_enc.cc
[351/376] Compiling posix_time.cc
[352/376] Compiling tasn_typ.cc
[353/376] Compiling tasn_fre.cc
[354/376] Compiling tasn_utl.cc
[355/376] Compiling tasn_new.cc
[356/376] Compiling asn_pack.cc
[357/376] Compiling f_string.cc
[358/376] Compiling tasn_dec.cc
[359/376] Compiling f_int.cc
[360/376] Compiling asn1_par.cc
[361/376] Compiling a_utctm.cc
[362/376] Compiling asn1_lib.cc
[363/376] Compiling a_type.cc
[364/376] Compiling a_time.cc
[365/376] Compiling a_strnid.cc
[366/376] Compiling a_object.cc
[367/376] Compiling a_dup.cc
[368/376] Compiling a_i2d_fp.cc
[369/376] Compiling a_int.cc
[370/376] Compiling a_mbstr.cc
[371/376] Compiling a_gentm.cc
[372/376] Compiling a_d2i_fp.cc
[373/376] Compiling aes.cc
[374/376] Compiling a_bool.cc
[375/376] Compiling a_bitstr.cc
[377/384] Compiling CryptoBoringWrapper EllipticCurve.swift
[378/384] Compiling CryptoBoringWrapper RandomBytes.swift
[379/384] Compiling CryptoBoringWrapper FiniteFieldArithmeticContext.swift
[380/384] Compiling CryptoBoringWrapper CryptoKitErrors_boring.swift
[381/384] Emitting module CryptoBoringWrapper
[382/384] Compiling CryptoBoringWrapper BoringSSLAEAD.swift
[383/384] Compiling CryptoBoringWrapper ArbitraryPrecisionInteger.swift
[384/384] Compiling CryptoBoringWrapper EllipticCurvePoint.swift
[386/469] Compiling Crypto CryptoKitErrors.swift
[387/469] Compiling Crypto Digest_boring.swift
[388/469] Compiling Crypto Digest.swift
[389/469] Compiling Crypto Digests.swift
[390/469] Compiling Crypto HashFunctions.swift
[391/469] Compiling Crypto HashFunctions_SHA2.swift
[392/469] Compiling Crypto HashFunctions_SHA3.swift
[393/469] Compiling Crypto Digest_xkcp.swift
[394/469] Compiling Crypto HPKE-AEAD.swift
[395/469] Compiling Crypto HPKE-Ciphersuite.swift
[396/469] Compiling Crypto HPKE-KDF.swift
[397/469] Compiling Crypto HPKE-KexKeyDerivation.swift
[398/469] Compiling Crypto AES-GCM.swift
[399/469] Compiling Crypto AES-GCM_boring.swift
[400/469] Compiling Crypto ChaChaPoly_boring.swift
[401/469] Compiling Crypto ChaChaPoly.swift
[402/469] Compiling Crypto Cipher.swift
[403/469] Compiling Crypto Nonces.swift
[404/469] Compiling Crypto ASN1.swift
[405/469] Compiling Crypto ASN1Any.swift
[406/469] Compiling Crypto ASN1BitString.swift
[407/469] Compiling Crypto ASN1Boolean.swift
[408/469] Compiling Crypto ASN1Identifier.swift
[409/469] Compiling Crypto ASN1Integer.swift
[410/480] Compiling Crypto HKDF.swift
[411/480] Compiling Crypto AESWrap.swift
[412/480] Compiling Crypto AESWrap_boring.swift
[413/480] Compiling Crypto Ed25519_boring.swift
[414/480] Compiling Crypto NISTCurvesKeys_boring.swift
[415/480] Compiling Crypto X25519Keys_boring.swift
[416/480] Compiling Crypto Curve25519.swift
[417/480] Compiling Crypto Ed25519Keys.swift
[418/480] Compiling Crypto NISTCurvesKeys.swift
[419/480] Compiling Crypto X25519Keys.swift
[420/480] Compiling Crypto SymmetricKeys.swift
[421/480] Compiling Crypto HMAC.swift
[422/480] Compiling Crypto MACFunctions.swift
[423/480] Compiling Crypto MessageAuthenticationCode.swift
[424/480] Compiling Crypto AES.swift
[425/480] Compiling Crypto ECDSASignature_boring.swift
[426/480] Compiling Crypto ECDSA_boring.swift
[427/480] Compiling Crypto EdDSA_boring.swift
[428/480] Compiling Crypto MLDSA_boring.swift
[429/480] Compiling Crypto MLDSA_wrapper.swift
[430/480] Compiling Crypto ECDSA.swift
[431/480] Compiling Crypto Ed25519.swift
[432/480] Compiling Crypto MLDSA.swift
[433/480] Compiling Crypto Signature.swift
[434/480] Compiling Crypto CryptoKitErrors_boring.swift
[435/480] Compiling Crypto Optional+withUnsafeBytes_boring.swift
[436/480] Compiling Crypto RNG_boring.swift
[437/480] Compiling Crypto SafeCompare_boring.swift
[438/480] Compiling Crypto Zeroization_boring.swift
[439/480] Compiling Crypto _CryptoModuleAnchor.swift
[440/480] Compiling Crypto PrettyBytes.swift
[441/480] Compiling Crypto SafeCompare.swift
[442/480] Compiling Crypto SecureBytes.swift
[443/480] Compiling Crypto Zeroization.swift
[444/480] Compiling Crypto Insecure_HashFunctions.swift
[445/480] Compiling Crypto MLKEM_boring.swift
[446/480] Compiling Crypto MLKEM_wrapper.swift
[447/480] Compiling Crypto XWing_boring.swift
[448/480] Compiling Crypto KEM-Errors.swift
[449/480] Compiling Crypto KEM.swift
[450/480] Compiling Crypto MLKEM.swift
[451/480] Compiling Crypto XWing.swift
[452/480] Compiling Crypto ECDH_boring.swift
[453/480] Compiling Crypto DH.swift
[454/480] Compiling Crypto ECDH.swift
[455/480] Compiling Crypto ANSIx963.swift
[456/480] Compiling Crypto HPKE-LabeledExtract.swift
[457/480] Compiling Crypto HPKE-Utils.swift
[458/480] Compiling Crypto DHKEM.swift
[459/480] Compiling Crypto HPKE-KEM-Curve25519.swift
[460/480] Compiling Crypto HPKE-NIST-EC-KEMs.swift
[461/480] Compiling Crypto HPKE-KEM.swift
[462/480] Compiling Crypto HPKE-Errors.swift
[463/480] Compiling Crypto HPKE.swift
[464/480] Compiling Crypto HPKE-Context.swift
[465/480] Compiling Crypto HPKE-KeySchedule.swift
[466/480] Compiling Crypto HPKE-Modes.swift
[467/480] Compiling Crypto Insecure.swift
[468/480] Emitting module Crypto
[469/480] Compiling Crypto ASN1Null.swift
[470/480] Compiling Crypto ASN1OctetString.swift
[471/480] Compiling Crypto ASN1Strings.swift
[472/480] Compiling Crypto ArraySliceBigint.swift
[473/480] Compiling Crypto GeneralizedTime.swift
[474/480] Compiling Crypto ObjectIdentifier.swift
[475/480] Compiling Crypto ECDSASignature.swift
[476/480] Compiling Crypto PEMDocument.swift
[477/480] Compiling Crypto PKCS8PrivateKey.swift
[478/480] Compiling Crypto SEC1PrivateKey.swift
[479/480] Compiling Crypto SubjectPublicKeyInfo.swift
[480/480] Compiling Crypto CryptoError_boring.swift
[482/489] Compiling PerfectNotifications APNSCredentials.swift
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSCredentials.swift:130:19: error: cannot find 'CLOCK_BOOTTIME' in scope
128 |     clock_gettime(CLOCK_MONOTONIC, &ts)
129 |     #else
130 |     clock_gettime(CLOCK_BOOTTIME, &ts)
    |                   `- error: cannot find 'CLOCK_BOOTTIME' in scope
131 |     #endif
132 |     return TimeInterval(ts.tv_sec) + TimeInterval(ts.tv_nsec) / 1_000_000_000
error: emit-module command failed with exit code 1 (use -v to see invocation)
[483/490] Emitting module PerfectNotifications
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:165:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
163 |     public init(keyID: String, teamID: String, privateKeyPath: String,
164 |                 environment: Environment = .sandbox,
165 |                 urlSession: URLSession = .shared,
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
166 |                 timeout: TimeInterval = APNSClient.defaultTimeout) throws {
167 |         try Self.validate(environment: environment, timeout: timeout)
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:165:43: error: value of type '_' expected to be instance of class or class-constrained type
163 |     public init(keyID: String, teamID: String, privateKeyPath: String,
164 |                 environment: Environment = .sandbox,
165 |                 urlSession: URLSession = .shared,
    |                                           `- error: value of type '_' expected to be instance of class or class-constrained type
166 |                 timeout: TimeInterval = APNSClient.defaultTimeout) throws {
167 |         try Self.validate(environment: environment, timeout: timeout)
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:165:43: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
163 |     public init(keyID: String, teamID: String, privateKeyPath: String,
164 |                 environment: Environment = .sandbox,
165 |                 urlSession: URLSession = .shared,
    |                                           `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
166 |                 timeout: TimeInterval = APNSClient.defaultTimeout) throws {
167 |         try Self.validate(environment: environment, timeout: timeout)
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:177:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
175 |     public init(keyID: String, teamID: String, pemString: String,
176 |                 environment: Environment = .sandbox,
177 |                 urlSession: URLSession = .shared,
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
178 |                 timeout: TimeInterval = APNSClient.defaultTimeout) throws {
179 |         try Self.validate(environment: environment, timeout: timeout)
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:177:43: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
175 |     public init(keyID: String, teamID: String, pemString: String,
176 |                 environment: Environment = .sandbox,
177 |                 urlSession: URLSession = .shared,
    |                                           `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
178 |                 timeout: TimeInterval = APNSClient.defaultTimeout) throws {
179 |         try Self.validate(environment: environment, timeout: timeout)
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:177:43: error: value of type '_' expected to be instance of class or class-constrained type
175 |     public init(keyID: String, teamID: String, pemString: String,
176 |                 environment: Environment = .sandbox,
177 |                 urlSession: URLSession = .shared,
    |                                           `- error: value of type '_' expected to be instance of class or class-constrained type
178 |                 timeout: TimeInterval = APNSClient.defaultTimeout) throws {
179 |         try Self.validate(environment: environment, timeout: timeout)
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:186:78: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
184 |     }
185 |
186 |     init(credentials: APNSCredentials, environment: Environment, urlSession: URLSession,
    |                                                                              `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
187 |          timeout: TimeInterval = APNSClient.defaultTimeout) throws {
188 |         try Self.validate(environment: environment, timeout: timeout)
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:27:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 25 | /// trust evaluation (certificate pinning, a private CA in tests) keeps working.
 26 | final class APNSTransport: Sendable {
 27 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 28 |     private let delegate: SessionDelegate
 29 |
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:30:25: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 28 |     private let delegate: SessionDelegate
 29 |
 30 |     init(basedOn given: URLSession, maxBodySize: Int) {
    |                         `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 31 |         delegate = SessionDelegate(forwardingTo: given, maxBodySize: maxBodySize)
 32 |         session = URLSession(configuration: given.configuration, delegate: delegate, delegateQueue: nil)
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:45:26: error: cannot find type 'URLRequest' in scope
 43 |     /// `CancellationError` when the calling task is cancelled, without waiting for
 44 |     /// `URLSession` to wind the transfer down.
 45 |     func send(_ request: URLRequest, deadline seconds: TimeInterval) async throws -> (Data, HTTPURLResponse) {
    |                          `- error: cannot find type 'URLRequest' in scope
 46 |         let flight = InFlight(limit: delegate.maxBodySize)
 47 |         return try await withTaskCancellationHandler {
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:45:93: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 43 |     /// `CancellationError` when the calling task is cancelled, without waiting for
 44 |     /// `URLSession` to wind the transfer down.
 45 |     func send(_ request: URLRequest, deadline seconds: TimeInterval) async throws -> (Data, HTTPURLResponse) {
    |                                                                                             `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 46 |         let flight = InFlight(limit: delegate.maxBodySize)
 47 |         return try await withTaskCancellationHandler {
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:27:17: error: stored property 'session' of 'Sendable'-conforming class 'APNSTransport' has non-Sendable type 'URLSession' (aka 'AnyObject')
 25 | /// trust evaluation (certificate pinning, a private CA in tests) keeps working.
 26 | final class APNSTransport: Sendable {
 27 |     private let session: URLSession
    |                 `- error: stored property 'session' of 'Sendable'-conforming class 'APNSTransport' has non-Sendable type 'URLSession' (aka 'AnyObject')
 28 |     private let delegate: SessionDelegate
 29 |
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:81:58: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 79 |     let limit: Int
 80 |     private let lock = NSLock()
 81 |     private var continuation: CheckedContinuation<(Data, HTTPURLResponse), any Error>?
    |                                                          `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 82 |     private var pending: Result<(Data, HTTPURLResponse), any Error>?
 83 |     private var task: URLSessionTask?
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:82:40: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 80 |     private let lock = NSLock()
 81 |     private var continuation: CheckedContinuation<(Data, HTTPURLResponse), any Error>?
 82 |     private var pending: Result<(Data, HTTPURLResponse), any Error>?
    |                                        `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 83 |     private var task: URLSessionTask?
 84 |     private var timer: DispatchSourceTimer?
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:83:23: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 81 |     private var continuation: CheckedContinuation<(Data, HTTPURLResponse), any Error>?
 82 |     private var pending: Result<(Data, HTTPURLResponse), any Error>?
 83 |     private var task: URLSessionTask?
    |                       `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 84 |     private var timer: DispatchSourceTimer?
 85 |     /// Set while the delegate is answering a redirect; a cancel requested meanwhile waits.
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:84:24: error: cannot find type 'DispatchSourceTimer' in scope
 82 |     private var pending: Result<(Data, HTTPURLResponse), any Error>?
 83 |     private var task: URLSessionTask?
 84 |     private var timer: DispatchSourceTimer?
    |                        `- error: cannot find type 'DispatchSourceTimer' in scope
 85 |     /// Set while the delegate is answering a redirect; a cancel requested meanwhile waits.
 86 |     private var answeringRedirect = false
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:87:33: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 85 |     /// Set while the delegate is answering a redirect; a cancel requested meanwhile waits.
 86 |     private var answeringRedirect = false
 87 |     private var deferredCancel: URLSessionTask?
    |                                 `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 88 |     private var done = false
 89 |     private var data = Data()
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:90:27: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 88 |     private var done = false
 89 |     private var data = Data()
 90 |     private var response: HTTPURLResponse?
    |                           `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 91 |
 92 |     init(limit: Int) { self.limit = limit }
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:96:49: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 94 |     /// Returns `false` if the request already finished (it was cancelled first); the
 95 |     /// continuation has then been resumed.
 96 |     func attach(_ c: CheckedContinuation<(Data, HTTPURLResponse), any Error>) -> Bool {
    |                                                 `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 97 |         let early: Result<(Data, HTTPURLResponse), any Error>? = lock.withLock {
 98 |             if let pending { return pending }
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:107:45: error: cannot find type 'DispatchSourceTimer' in scope
105 |
106 |     /// Returns `false` if the request finished in the meantime.
107 |     func start(task: URLSessionTask, timer: DispatchSourceTimer) -> Bool {
    |                                             `- error: cannot find type 'DispatchSourceTimer' in scope
108 |         lock.withLock {
109 |             guard !done else { return false }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:107:22: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
105 |
106 |     /// Returns `false` if the request finished in the meantime.
107 |     func start(task: URLSessionTask, timer: DispatchSourceTimer) -> Bool {
    |                      `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 |         lock.withLock {
109 |             guard !done else { return false }
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:116:31: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
114 |     }
115 |
116 |     func received(_ response: URLResponse) -> Bool {
    |                               `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
117 |         guard let http = response as? HTTPURLResponse else {
118 |             finish(.failure(APNSClientError.invalidResponse))
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:158:41: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
156 |     /// Resolves the request once: resumes the caller, then cancels the transfer (off the
157 |     /// caller's thread) if it is still running.
158 |     func finish(_ result: Result<(Data, HTTPURLResponse), any Error>) {
    |                                         `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
159 |         let (c, task, timer): (CheckedContinuation<(Data, HTTPURLResponse), any Error>?, URLSessionTask?, DispatchSourceTimer?) = lock.withLock {
160 |             guard !done else { return (nil, nil, nil) }
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:210:48: error: cannot find type 'URLSessionDataDelegate' in scope
208 | // MARK: - Session delegate
209 |
210 | private final class SessionDelegate: NSObject, URLSessionDataDelegate, @unchecked Sendable {
    |                                                `- error: cannot find type 'URLSessionDataDelegate' in scope
211 |     let maxBodySize: Int
212 |     /// The caller's session, passed to its delegate when forwarding challenges.
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:213:32: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
211 |     let maxBodySize: Int
212 |     /// The caller's session, passed to its delegate when forwarding challenges.
213 |     private let callerSession: URLSession
    |                                `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
214 |     private let lock = NSLock()
215 |     private var flights: [Int: InFlight] = [:]
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:217:38: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
215 |     private var flights: [Int: InFlight] = [:]
216 |
217 |     init(forwardingTo callerSession: URLSession, maxBodySize: Int) {
    |                                      `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
218 |         self.callerSession = callerSession
219 |         self.maxBodySize = maxBodySize
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:222:49: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
220 |     }
221 |
222 |     func register(_ flight: InFlight, for task: URLSessionTask) {
    |                                                 `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
223 |         lock.withLock { flights[task.taskIdentifier] = flight }
224 |     }
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:226:29: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
224 |     }
225 |
226 |     func unregister(_ task: URLSessionTask) {
    |                             `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
227 |         _ = lock.withLock { flights.removeValue(forKey: task.taskIdentifier) }
228 |     }
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:230:33: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
228 |     }
229 |
230 |     private func flight(_ task: URLSessionTask) -> InFlight? {
    |                                 `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
231 |         lock.withLock { flights[task.taskIdentifier] }
232 |     }
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:237:72: error: 'ResponseDisposition' is not a member type of type 'Foundation.URLSession' (aka 'AnyObject')
235 |
236 |     func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse,
237 |                     completionHandler: @escaping @Sendable (URLSession.ResponseDisposition) -> Void) {
    |                                                                        `- error: 'ResponseDisposition' is not a member type of type 'Foundation.URLSession' (aka 'AnyObject')
238 |         let keep = flight(dataTask)?.received(response) ?? false
239 |         completionHandler(keep ? .allow : .cancel)
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:236:32: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
234 |     // MARK: Data
235 |
236 |     func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse,
    |                                `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
237 |                     completionHandler: @escaping @Sendable (URLSession.ResponseDisposition) -> Void) {
238 |         let keep = flight(dataTask)?.received(response) ?? false
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:236:54: error: 'URLSessionDataTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
234 |     // MARK: Data
235 |
236 |     func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse,
    |                                                      `- error: 'URLSessionDataTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
237 |                     completionHandler: @escaping @Sendable (URLSession.ResponseDisposition) -> Void) {
238 |         let keep = flight(dataTask)?.received(response) ?? false
Foundation.URLSessionDataTask:2:18: note: 'URLSessionDataTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionDataTask = AnyObject
  |                  `- note: 'URLSessionDataTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:236:95: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
234 |     // MARK: Data
235 |
236 |     func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse,
    |                                                                                               `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
237 |                     completionHandler: @escaping @Sendable (URLSession.ResponseDisposition) -> Void) {
238 |         let keep = flight(dataTask)?.received(response) ?? false
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:242:32: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
240 |     }
241 |
242 |     func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) {
    |                                `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
243 |         flight(dataTask)?.received(data)
244 |     }
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:242:54: error: 'URLSessionDataTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
240 |     }
241 |
242 |     func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) {
    |                                                      `- error: 'URLSessionDataTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
243 |         flight(dataTask)?.received(data)
244 |     }
Foundation.URLSessionDataTask:2:18: note: 'URLSessionDataTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionDataTask = AnyObject
  |                  `- note: 'URLSessionDataTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:246:32: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
244 |     }
245 |
246 |     func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: (any Error)?) {
    |                                `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
247 |         let f = lock.withLock { flights.removeValue(forKey: task.taskIdentifier) }
248 |         f?.completed(error: error)
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:246:50: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
244 |     }
245 |
246 |     func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: (any Error)?) {
    |                                                  `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
247 |         let f = lock.withLock { flights.removeValue(forKey: task.taskIdentifier) }
248 |         f?.completed(error: error)
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:254:41: error: cannot find type 'URLRequest' in scope
252 |
253 |     func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse,
254 |                     newRequest request: URLRequest, completionHandler: @escaping @Sendable (URLRequest?) -> Void) {
    |                                         `- error: cannot find type 'URLRequest' in scope
255 |         if let flight = flight(task) {
256 |             flight.refuseRedirect { completionHandler(nil) }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:254:93: error: cannot find type 'URLRequest' in scope
252 |
253 |     func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse,
254 |                     newRequest request: URLRequest, completionHandler: @escaping @Sendable (URLRequest?) -> Void) {
    |                                                                                             `- error: cannot find type 'URLRequest' in scope
255 |         if let flight = flight(task) {
256 |             flight.refuseRedirect { completionHandler(nil) }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:253:32: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
251 |     // MARK: Redirects: never followed
252 |
253 |     func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse,
    |                                `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
254 |                     newRequest request: URLRequest, completionHandler: @escaping @Sendable (URLRequest?) -> Void) {
255 |         if let flight = flight(task) {
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:253:50: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
251 |     // MARK: Redirects: never followed
252 |
253 |     func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse,
    |                                                  `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
254 |                     newRequest request: URLRequest, completionHandler: @escaping @Sendable (URLRequest?) -> Void) {
255 |         if let flight = flight(task) {
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:253:103: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
251 |     // MARK: Redirects: never followed
252 |
253 |     func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse,
    |                                                                                                       `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
254 |                     newRequest request: URLRequest, completionHandler: @escaping @Sendable (URLRequest?) -> Void) {
255 |         if let flight = flight(task) {
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:278:72: error: 'AuthChallengeDisposition' is not a member type of type 'Foundation.URLSession' (aka 'AnyObject')
276 |     #else
277 |     func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge,
278 |                     completionHandler: @escaping @Sendable (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                                                                        `- error: 'AuthChallengeDisposition' is not a member type of type 'Foundation.URLSession' (aka 'AnyObject')
279 |         let forward = callerSession.delegate
280 |         if (forward as? URLSessionTaskDelegate)?.urlSession?(callerSession, task: task, didReceive: challenge,
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:277:32: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
275 |     }
276 |     #else
277 |     func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge,
    |                                `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
278 |                     completionHandler: @escaping @Sendable (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
279 |         let forward = callerSession.delegate
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:277:50: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
275 |     }
276 |     #else
277 |     func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge,
    |                                                  `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
278 |                     completionHandler: @escaping @Sendable (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
279 |         let forward = callerSession.delegate
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:277:88: error: 'URLAuthenticationChallenge' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
275 |     }
276 |     #else
277 |     func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge,
    |                                                                                        `- error: 'URLAuthenticationChallenge' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
278 |                     completionHandler: @escaping @Sendable (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
279 |         let forward = callerSession.delegate
Foundation.URLAuthenticationChallenge:2:18: note: 'URLAuthenticationChallenge' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLAuthenticationChallenge = AnyObject
  |                  `- note: 'URLAuthenticationChallenge' has been explicitly marked unavailable here
[484/490] Compiling PerfectNotifications APNSPushType.swift
[485/490] Compiling PerfectNotifications APNSJSONValue.swift
[486/490] Compiling PerfectNotifications APNSValidation.swift
[487/490] Compiling PerfectNotifications APNSNotification.swift
[488/490] Compiling PerfectNotifications APNSClient.swift
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:165:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
163 |     public init(keyID: String, teamID: String, privateKeyPath: String,
164 |                 environment: Environment = .sandbox,
165 |                 urlSession: URLSession = .shared,
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
166 |                 timeout: TimeInterval = APNSClient.defaultTimeout) throws {
167 |         try Self.validate(environment: environment, timeout: timeout)
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:165:43: error: value of type '_' expected to be instance of class or class-constrained type
163 |     public init(keyID: String, teamID: String, privateKeyPath: String,
164 |                 environment: Environment = .sandbox,
165 |                 urlSession: URLSession = .shared,
    |                                           `- error: value of type '_' expected to be instance of class or class-constrained type
166 |                 timeout: TimeInterval = APNSClient.defaultTimeout) throws {
167 |         try Self.validate(environment: environment, timeout: timeout)
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:165:43: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
163 |     public init(keyID: String, teamID: String, privateKeyPath: String,
164 |                 environment: Environment = .sandbox,
165 |                 urlSession: URLSession = .shared,
    |                                           `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
166 |                 timeout: TimeInterval = APNSClient.defaultTimeout) throws {
167 |         try Self.validate(environment: environment, timeout: timeout)
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:177:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
175 |     public init(keyID: String, teamID: String, pemString: String,
176 |                 environment: Environment = .sandbox,
177 |                 urlSession: URLSession = .shared,
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
178 |                 timeout: TimeInterval = APNSClient.defaultTimeout) throws {
179 |         try Self.validate(environment: environment, timeout: timeout)
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:177:43: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
175 |     public init(keyID: String, teamID: String, pemString: String,
176 |                 environment: Environment = .sandbox,
177 |                 urlSession: URLSession = .shared,
    |                                           `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
178 |                 timeout: TimeInterval = APNSClient.defaultTimeout) throws {
179 |         try Self.validate(environment: environment, timeout: timeout)
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:177:43: error: value of type '_' expected to be instance of class or class-constrained type
175 |     public init(keyID: String, teamID: String, pemString: String,
176 |                 environment: Environment = .sandbox,
177 |                 urlSession: URLSession = .shared,
    |                                           `- error: value of type '_' expected to be instance of class or class-constrained type
178 |                 timeout: TimeInterval = APNSClient.defaultTimeout) throws {
179 |         try Self.validate(environment: environment, timeout: timeout)
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:186:78: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
184 |     }
185 |
186 |     init(credentials: APNSCredentials, environment: Environment, urlSession: URLSession,
    |                                                                              `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
187 |          timeout: TimeInterval = APNSClient.defaultTimeout) throws {
188 |         try Self.validate(environment: environment, timeout: timeout)
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:395:23: error: cannot find 'URLRequest' in scope
393 |
394 |     private func perform(_ prepared: PreparedRequest, url: URL, jwt: String) async throws -> APNSResponse {
395 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
396 |         request.httpMethod = "POST"
397 |         request.httpBody = prepared.body
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:45:26: error: cannot find type 'URLRequest' in scope
 43 |     /// `CancellationError` when the calling task is cancelled, without waiting for
 44 |     /// `URLSession` to wind the transfer down.
 45 |     func send(_ request: URLRequest, deadline seconds: TimeInterval) async throws -> (Data, HTTPURLResponse) {
    |                          `- error: cannot find type 'URLRequest' in scope
 46 |         let flight = InFlight(limit: delegate.maxBodySize)
 47 |         return try await withTaskCancellationHandler {
[489/490] Compiling PerfectNotifications APNSResponse.swift
[490/490] Compiling PerfectNotifications APNSTransport.swift
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:27:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 25 | /// trust evaluation (certificate pinning, a private CA in tests) keeps working.
 26 | final class APNSTransport: Sendable {
 27 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 28 |     private let delegate: SessionDelegate
 29 |
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:30:25: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 28 |     private let delegate: SessionDelegate
 29 |
 30 |     init(basedOn given: URLSession, maxBodySize: Int) {
    |                         `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 31 |         delegate = SessionDelegate(forwardingTo: given, maxBodySize: maxBodySize)
 32 |         session = URLSession(configuration: given.configuration, delegate: delegate, delegateQueue: nil)
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:45:26: error: cannot find type 'URLRequest' in scope
 43 |     /// `CancellationError` when the calling task is cancelled, without waiting for
 44 |     /// `URLSession` to wind the transfer down.
 45 |     func send(_ request: URLRequest, deadline seconds: TimeInterval) async throws -> (Data, HTTPURLResponse) {
    |                          `- error: cannot find type 'URLRequest' in scope
 46 |         let flight = InFlight(limit: delegate.maxBodySize)
 47 |         return try await withTaskCancellationHandler {
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:45:93: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 43 |     /// `CancellationError` when the calling task is cancelled, without waiting for
 44 |     /// `URLSession` to wind the transfer down.
 45 |     func send(_ request: URLRequest, deadline seconds: TimeInterval) async throws -> (Data, HTTPURLResponse) {
    |                                                                                             `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 46 |         let flight = InFlight(limit: delegate.maxBodySize)
 47 |         return try await withTaskCancellationHandler {
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:27:17: error: stored property 'session' of 'Sendable'-conforming class 'APNSTransport' has non-Sendable type 'URLSession' (aka 'AnyObject')
 25 | /// trust evaluation (certificate pinning, a private CA in tests) keeps working.
 26 | final class APNSTransport: Sendable {
 27 |     private let session: URLSession
    |                 `- error: stored property 'session' of 'Sendable'-conforming class 'APNSTransport' has non-Sendable type 'URLSession' (aka 'AnyObject')
 28 |     private let delegate: SessionDelegate
 29 |
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:81:58: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 79 |     let limit: Int
 80 |     private let lock = NSLock()
 81 |     private var continuation: CheckedContinuation<(Data, HTTPURLResponse), any Error>?
    |                                                          `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 82 |     private var pending: Result<(Data, HTTPURLResponse), any Error>?
 83 |     private var task: URLSessionTask?
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:82:40: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 80 |     private let lock = NSLock()
 81 |     private var continuation: CheckedContinuation<(Data, HTTPURLResponse), any Error>?
 82 |     private var pending: Result<(Data, HTTPURLResponse), any Error>?
    |                                        `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 83 |     private var task: URLSessionTask?
 84 |     private var timer: DispatchSourceTimer?
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:83:23: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 81 |     private var continuation: CheckedContinuation<(Data, HTTPURLResponse), any Error>?
 82 |     private var pending: Result<(Data, HTTPURLResponse), any Error>?
 83 |     private var task: URLSessionTask?
    |                       `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 84 |     private var timer: DispatchSourceTimer?
 85 |     /// Set while the delegate is answering a redirect; a cancel requested meanwhile waits.
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:84:24: error: cannot find type 'DispatchSourceTimer' in scope
 82 |     private var pending: Result<(Data, HTTPURLResponse), any Error>?
 83 |     private var task: URLSessionTask?
 84 |     private var timer: DispatchSourceTimer?
    |                        `- error: cannot find type 'DispatchSourceTimer' in scope
 85 |     /// Set while the delegate is answering a redirect; a cancel requested meanwhile waits.
 86 |     private var answeringRedirect = false
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:87:33: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 85 |     /// Set while the delegate is answering a redirect; a cancel requested meanwhile waits.
 86 |     private var answeringRedirect = false
 87 |     private var deferredCancel: URLSessionTask?
    |                                 `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 88 |     private var done = false
 89 |     private var data = Data()
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:90:27: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 88 |     private var done = false
 89 |     private var data = Data()
 90 |     private var response: HTTPURLResponse?
    |                           `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 91 |
 92 |     init(limit: Int) { self.limit = limit }
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:96:49: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 94 |     /// Returns `false` if the request already finished (it was cancelled first); the
 95 |     /// continuation has then been resumed.
 96 |     func attach(_ c: CheckedContinuation<(Data, HTTPURLResponse), any Error>) -> Bool {
    |                                                 `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 97 |         let early: Result<(Data, HTTPURLResponse), any Error>? = lock.withLock {
 98 |             if let pending { return pending }
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:107:45: error: cannot find type 'DispatchSourceTimer' in scope
105 |
106 |     /// Returns `false` if the request finished in the meantime.
107 |     func start(task: URLSessionTask, timer: DispatchSourceTimer) -> Bool {
    |                                             `- error: cannot find type 'DispatchSourceTimer' in scope
108 |         lock.withLock {
109 |             guard !done else { return false }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:107:22: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
105 |
106 |     /// Returns `false` if the request finished in the meantime.
107 |     func start(task: URLSessionTask, timer: DispatchSourceTimer) -> Bool {
    |                      `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 |         lock.withLock {
109 |             guard !done else { return false }
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:116:31: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
114 |     }
115 |
116 |     func received(_ response: URLResponse) -> Bool {
    |                               `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
117 |         guard let http = response as? HTTPURLResponse else {
118 |             finish(.failure(APNSClientError.invalidResponse))
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:158:41: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
156 |     /// Resolves the request once: resumes the caller, then cancels the transfer (off the
157 |     /// caller's thread) if it is still running.
158 |     func finish(_ result: Result<(Data, HTTPURLResponse), any Error>) {
    |                                         `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
159 |         let (c, task, timer): (CheckedContinuation<(Data, HTTPURLResponse), any Error>?, URLSessionTask?, DispatchSourceTimer?) = lock.withLock {
160 |             guard !done else { return (nil, nil, nil) }
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:210:48: error: cannot find type 'URLSessionDataDelegate' in scope
208 | // MARK: - Session delegate
209 |
210 | private final class SessionDelegate: NSObject, URLSessionDataDelegate, @unchecked Sendable {
    |                                                `- error: cannot find type 'URLSessionDataDelegate' in scope
211 |     let maxBodySize: Int
212 |     /// The caller's session, passed to its delegate when forwarding challenges.
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:213:32: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
211 |     let maxBodySize: Int
212 |     /// The caller's session, passed to its delegate when forwarding challenges.
213 |     private let callerSession: URLSession
    |                                `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
214 |     private let lock = NSLock()
215 |     private var flights: [Int: InFlight] = [:]
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:217:38: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
215 |     private var flights: [Int: InFlight] = [:]
216 |
217 |     init(forwardingTo callerSession: URLSession, maxBodySize: Int) {
    |                                      `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
218 |         self.callerSession = callerSession
219 |         self.maxBodySize = maxBodySize
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:222:49: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
220 |     }
221 |
222 |     func register(_ flight: InFlight, for task: URLSessionTask) {
    |                                                 `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
223 |         lock.withLock { flights[task.taskIdentifier] = flight }
224 |     }
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:226:29: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
224 |     }
225 |
226 |     func unregister(_ task: URLSessionTask) {
    |                             `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
227 |         _ = lock.withLock { flights.removeValue(forKey: task.taskIdentifier) }
228 |     }
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:230:33: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
228 |     }
229 |
230 |     private func flight(_ task: URLSessionTask) -> InFlight? {
    |                                 `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
231 |         lock.withLock { flights[task.taskIdentifier] }
232 |     }
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:237:72: error: 'ResponseDisposition' is not a member type of type 'Foundation.URLSession' (aka 'AnyObject')
235 |
236 |     func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse,
237 |                     completionHandler: @escaping @Sendable (URLSession.ResponseDisposition) -> Void) {
    |                                                                        `- error: 'ResponseDisposition' is not a member type of type 'Foundation.URLSession' (aka 'AnyObject')
238 |         let keep = flight(dataTask)?.received(response) ?? false
239 |         completionHandler(keep ? .allow : .cancel)
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:236:32: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
234 |     // MARK: Data
235 |
236 |     func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse,
    |                                `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
237 |                     completionHandler: @escaping @Sendable (URLSession.ResponseDisposition) -> Void) {
238 |         let keep = flight(dataTask)?.received(response) ?? false
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:236:54: error: 'URLSessionDataTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
234 |     // MARK: Data
235 |
236 |     func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse,
    |                                                      `- error: 'URLSessionDataTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
237 |                     completionHandler: @escaping @Sendable (URLSession.ResponseDisposition) -> Void) {
238 |         let keep = flight(dataTask)?.received(response) ?? false
Foundation.URLSessionDataTask:2:18: note: 'URLSessionDataTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionDataTask = AnyObject
  |                  `- note: 'URLSessionDataTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:236:95: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
234 |     // MARK: Data
235 |
236 |     func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse,
    |                                                                                               `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
237 |                     completionHandler: @escaping @Sendable (URLSession.ResponseDisposition) -> Void) {
238 |         let keep = flight(dataTask)?.received(response) ?? false
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:242:32: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
240 |     }
241 |
242 |     func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) {
    |                                `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
243 |         flight(dataTask)?.received(data)
244 |     }
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:242:54: error: 'URLSessionDataTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
240 |     }
241 |
242 |     func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) {
    |                                                      `- error: 'URLSessionDataTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
243 |         flight(dataTask)?.received(data)
244 |     }
Foundation.URLSessionDataTask:2:18: note: 'URLSessionDataTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionDataTask = AnyObject
  |                  `- note: 'URLSessionDataTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:246:32: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
244 |     }
245 |
246 |     func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: (any Error)?) {
    |                                `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
247 |         let f = lock.withLock { flights.removeValue(forKey: task.taskIdentifier) }
248 |         f?.completed(error: error)
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:246:50: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
244 |     }
245 |
246 |     func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: (any Error)?) {
    |                                                  `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
247 |         let f = lock.withLock { flights.removeValue(forKey: task.taskIdentifier) }
248 |         f?.completed(error: error)
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:254:41: error: cannot find type 'URLRequest' in scope
252 |
253 |     func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse,
254 |                     newRequest request: URLRequest, completionHandler: @escaping @Sendable (URLRequest?) -> Void) {
    |                                         `- error: cannot find type 'URLRequest' in scope
255 |         if let flight = flight(task) {
256 |             flight.refuseRedirect { completionHandler(nil) }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:254:93: error: cannot find type 'URLRequest' in scope
252 |
253 |     func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse,
254 |                     newRequest request: URLRequest, completionHandler: @escaping @Sendable (URLRequest?) -> Void) {
    |                                                                                             `- error: cannot find type 'URLRequest' in scope
255 |         if let flight = flight(task) {
256 |             flight.refuseRedirect { completionHandler(nil) }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:253:32: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
251 |     // MARK: Redirects: never followed
252 |
253 |     func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse,
    |                                `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
254 |                     newRequest request: URLRequest, completionHandler: @escaping @Sendable (URLRequest?) -> Void) {
255 |         if let flight = flight(task) {
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:253:50: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
251 |     // MARK: Redirects: never followed
252 |
253 |     func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse,
    |                                                  `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
254 |                     newRequest request: URLRequest, completionHandler: @escaping @Sendable (URLRequest?) -> Void) {
255 |         if let flight = flight(task) {
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:253:103: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
251 |     // MARK: Redirects: never followed
252 |
253 |     func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse,
    |                                                                                                       `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
254 |                     newRequest request: URLRequest, completionHandler: @escaping @Sendable (URLRequest?) -> Void) {
255 |         if let flight = flight(task) {
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:278:72: error: 'AuthChallengeDisposition' is not a member type of type 'Foundation.URLSession' (aka 'AnyObject')
276 |     #else
277 |     func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge,
278 |                     completionHandler: @escaping @Sendable (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                                                                        `- error: 'AuthChallengeDisposition' is not a member type of type 'Foundation.URLSession' (aka 'AnyObject')
279 |         let forward = callerSession.delegate
280 |         if (forward as? URLSessionTaskDelegate)?.urlSession?(callerSession, task: task, didReceive: challenge,
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:277:32: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
275 |     }
276 |     #else
277 |     func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge,
    |                                `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
278 |                     completionHandler: @escaping @Sendable (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
279 |         let forward = callerSession.delegate
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:277:50: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
275 |     }
276 |     #else
277 |     func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge,
    |                                                  `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
278 |                     completionHandler: @escaping @Sendable (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
279 |         let forward = callerSession.delegate
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:277:88: error: 'URLAuthenticationChallenge' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
275 |     }
276 |     #else
277 |     func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge,
    |                                                                                        `- error: 'URLAuthenticationChallenge' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
278 |                     completionHandler: @escaping @Sendable (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
279 |         let forward = callerSession.delegate
Foundation.URLAuthenticationChallenge:2:18: note: 'URLAuthenticationChallenge' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLAuthenticationChallenge = AnyObject
  |                  `- note: 'URLAuthenticationChallenge' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:32:19: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 30 |     init(basedOn given: URLSession, maxBodySize: Int) {
 31 |         delegate = SessionDelegate(forwardingTo: given, maxBodySize: maxBodySize)
 32 |         session = URLSession(configuration: given.configuration, delegate: delegate, delegateQueue: nil)
    |                   `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 33 |     }
 34 |
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:32:51: error: value of type 'URLSession' (aka 'AnyObject') has no member 'configuration'
 30 |     init(basedOn given: URLSession, maxBodySize: Int) {
 31 |         delegate = SessionDelegate(forwardingTo: given, maxBodySize: maxBodySize)
 32 |         session = URLSession(configuration: given.configuration, delegate: delegate, delegateQueue: nil)
    |                                                   `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'configuration'
 33 |     }
 34 |
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:32:101: error: 'nil' requires a contextual type
 30 |     init(basedOn given: URLSession, maxBodySize: Int) {
 31 |         delegate = SessionDelegate(forwardingTo: given, maxBodySize: maxBodySize)
 32 |         session = URLSession(configuration: given.configuration, delegate: delegate, delegateQueue: nil)
    |                                                                                                     `- error: 'nil' requires a contextual type
 33 |     }
 34 |
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:37:17: error: value of type 'URLSession' (aka 'AnyObject') has no member 'finishTasksAndInvalidate'
 35 |     deinit {
 36 |         // The session retains its delegate until it is invalidated.
 37 |         session.finishTasksAndInvalidate()
    |                 `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'finishTasksAndInvalidate'
 38 |     }
 39 |
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:54:29: error: cannot find 'DispatchSource' in scope
 52 |                 // A timer source with a small leeway: `asyncAfter` on a global queue fired 3–6 %
 53 |                 // late on macOS.
 54 |                 let timer = DispatchSource.makeTimerSource(queue: .global())
    |                             `- error: cannot find 'DispatchSource' in scope
 55 |                 timer.schedule(deadline: .now() + seconds, leeway: .milliseconds(10))
 56 |                 timer.setEventHandler { flight.finish(.failure(APNSClientError.timedOut)) }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:63:21: error: cannot find 'DispatchQueue' in scope
 61 |                     timer.cancel()
 62 |                     delegate.unregister(task)
 63 |                     DispatchQueue.global().async { task.cancel() }
    |                     `- error: cannot find 'DispatchQueue' in scope
 64 |                     return
 65 |                 }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:71:13: error: cannot find 'DispatchQueue' in scope
 69 |             // Never resume or cancel from inside the cancellation handler: it runs with
 70 |             // the task's status lock held.
 71 |             DispatchQueue.global().async { flight.finish(.failure(CancellationError())) }
    |             `- error: cannot find 'DispatchQueue' in scope
 72 |         }
 73 |     }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:50:36: error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
 48 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, HTTPURLResponse), any Error>) in
 49 |                 guard flight.attach(continuation) else { return }   // cancelled before we started
 50 |                 let task = session.dataTask(with: request)
    |                                    `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
 51 |                 delegate.register(flight, for: task)
 52 |                 // A timer source with a small leeway: `asyncAfter` on a global queue fired 3–6 %
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:97:34: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 95 |     /// continuation has then been resumed.
 96 |     func attach(_ c: CheckedContinuation<(Data, HTTPURLResponse), any Error>) -> Bool {
 97 |         let early: Result<(Data, HTTPURLResponse), any Error>? = lock.withLock {
    |                                  `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 98 |             if let pending { return pending }
 99 |             continuation = c
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:117:35: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
115 |
116 |     func received(_ response: URLResponse) -> Bool {
117 |         guard let http = response as? HTTPURLResponse else {
    |                                   `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
118 |             finish(.failure(APNSClientError.invalidResponse))
119 |             return false
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:117:39: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
115 |
116 |     func received(_ response: URLResponse) -> Bool {
117 |         guard let http = response as? HTTPURLResponse else {
    |                                       `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
118 |             finish(.failure(APNSClientError.invalidResponse))
119 |             return false
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:121:17: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'expectedContentLength'
119 |             return false
120 |         }
121 |         if http.expectedContentLength > Int64(limit) {
    |                 `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'expectedContentLength'
122 |             finish(.failure(APNSClientError.responseTooLarge(limit: limit)))
123 |             return false
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:149:35: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
147 |             return
148 |         }
149 |         let result: Result<(Data, HTTPURLResponse), any Error> = lock.withLock {
    |                                   `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
150 |             guard let response else { return .failure(APNSClientError.invalidResponse) }
151 |             return .success((data, response))
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:159:107: error: cannot find type 'DispatchSourceTimer' in scope
157 |     /// caller's thread) if it is still running.
158 |     func finish(_ result: Result<(Data, HTTPURLResponse), any Error>) {
159 |         let (c, task, timer): (CheckedContinuation<(Data, HTTPURLResponse), any Error>?, URLSessionTask?, DispatchSourceTimer?) = lock.withLock {
    |                                                                                                           `- error: cannot find type 'DispatchSourceTimer' in scope
160 |             guard !done else { return (nil, nil, nil) }
161 |             done = true
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:181:13: error: cannot find 'DispatchQueue' in scope
179 |         timer?.cancel()
180 |         if let task, case .failure = result {
181 |             DispatchQueue.global().async { task.cancel() }
    |             `- error: cannot find 'DispatchQueue' in scope
182 |         }
183 |     }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:199:21: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
197 |         guard live else { return }
198 |         respond()
199 |         let cancel: URLSessionTask? = lock.withLock {
    |                     `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
200 |             answeringRedirect = false
201 |             defer { deferredCancel = nil }
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:204:25: error: cannot find 'DispatchQueue' in scope
202 |             return deferredCancel
203 |         }
204 |         if let cancel { DispatchQueue.global().async { cancel.cancel() } }
    |                         `- error: cannot find 'DispatchQueue' in scope
205 |     }
206 | }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:204:63: error: value of type 'URLSessionTask' (aka 'AnyObject') has no member 'cancel'
202 |             return deferredCancel
203 |         }
204 |         if let cancel { DispatchQueue.global().async { cancel.cancel() } }
    |                                                               `- error: value of type 'URLSessionTask' (aka 'AnyObject') has no member 'cancel'
205 |     }
206 | }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:223:38: error: value of type 'URLSessionTask' (aka 'AnyObject') has no member 'taskIdentifier'
221 |
222 |     func register(_ flight: InFlight, for task: URLSessionTask) {
223 |         lock.withLock { flights[task.taskIdentifier] = flight }
    |                                      `- error: value of type 'URLSessionTask' (aka 'AnyObject') has no member 'taskIdentifier'
224 |     }
225 |
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:227:62: error: value of type 'URLSessionTask' (aka 'AnyObject') has no member 'taskIdentifier'
225 |
226 |     func unregister(_ task: URLSessionTask) {
227 |         _ = lock.withLock { flights.removeValue(forKey: task.taskIdentifier) }
    |                                                              `- error: value of type 'URLSessionTask' (aka 'AnyObject') has no member 'taskIdentifier'
228 |     }
229 |
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:231:38: error: value of type 'URLSessionTask' (aka 'AnyObject') has no member 'taskIdentifier'
229 |
230 |     private func flight(_ task: URLSessionTask) -> InFlight? {
231 |         lock.withLock { flights[task.taskIdentifier] }
    |                                      `- error: value of type 'URLSessionTask' (aka 'AnyObject') has no member 'taskIdentifier'
232 |     }
233 |
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:239:35: error: cannot infer contextual base in reference to member 'allow'
237 |                     completionHandler: @escaping @Sendable (URLSession.ResponseDisposition) -> Void) {
238 |         let keep = flight(dataTask)?.received(response) ?? false
239 |         completionHandler(keep ? .allow : .cancel)
    |                                   `- error: cannot infer contextual base in reference to member 'allow'
240 |     }
241 |
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:247:66: error: value of type 'URLSessionTask' (aka 'AnyObject') has no member 'taskIdentifier'
245 |
246 |     func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: (any Error)?) {
247 |         let f = lock.withLock { flights.removeValue(forKey: task.taskIdentifier) }
    |                                                                  `- error: value of type 'URLSessionTask' (aka 'AnyObject') has no member 'taskIdentifier'
248 |         f?.completed(error: error)
249 |     }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:256:55: error: 'nil' requires a contextual type
254 |                     newRequest request: URLRequest, completionHandler: @escaping @Sendable (URLRequest?) -> Void) {
255 |         if let flight = flight(task) {
256 |             flight.refuseRedirect { completionHandler(nil) }
    |                                                       `- error: 'nil' requires a contextual type
257 |         } else {
258 |             // Not ours (or already completed): refuse without touching any state.
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:259:31: error: 'nil' requires a contextual type
257 |         } else {
258 |             // Not ours (or already completed): refuse without touching any state.
259 |             completionHandler(nil)
    |                               `- error: 'nil' requires a contextual type
260 |         }
261 |     }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:279:37: error: value of type 'URLSession' (aka 'AnyObject') has no member 'delegate'
277 |     func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge,
278 |                     completionHandler: @escaping @Sendable (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
279 |         let forward = callerSession.delegate
    |                                     `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'delegate'
280 |         if (forward as? URLSessionTaskDelegate)?.urlSession?(callerSession, task: task, didReceive: challenge,
281 |                                                              completionHandler: completionHandler) != nil {
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:280:25: error: cannot find type 'URLSessionTaskDelegate' in scope
278 |                     completionHandler: @escaping @Sendable (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
279 |         let forward = callerSession.delegate
280 |         if (forward as? URLSessionTaskDelegate)?.urlSession?(callerSession, task: task, didReceive: challenge,
    |                         `- error: cannot find type 'URLSessionTaskDelegate' in scope
281 |                                                              completionHandler: completionHandler) != nil {
282 |             return
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:287:28: error: cannot infer contextual base in reference to member 'performDefaultHandling'
285 |             return
286 |         }
287 |         completionHandler(.performDefaultHandling, nil)
    |                            `- error: cannot infer contextual base in reference to member 'performDefaultHandling'
288 |     }
289 |     #endif
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSTransport.swift:287:52: error: 'nil' requires a contextual type
285 |             return
286 |         }
287 |         completionHandler(.performDefaultHandling, nil)
    |                                                    `- error: 'nil' requires a contextual type
288 |     }
289 |     #endif
BUILD FAILURE 6.2 wasm