// swift-tools-version: 6.0
// T-iOS-1 scaffold shell. SessionEngine / ReconnectMachine / PingScheduler /
// GateState / AwayDigest / URLSessionTermTransport land in W1–W2 tasks.
// Dependency direction is strictly downward: SessionCore → WireProtocol, plus
// ClientTLS (C-iOS-2) for the device client-cert mTLS responder the WS transport
// answers connection-level challenges with. Both are downward leaves.
import PackageDescription

let package = Package(
    name: "SessionCore",
    platforms: [.iOS(.v17), .macOS(.v14)],
    products: [
        .library(name: "SessionCore", targets: ["SessionCore"]),
    ],
    dependencies: [
        .package(path: "../WireProtocol"),
        .package(path: "../ClientTLS"),
        .package(path: "../TestSupport"),
    ],
    targets: [
        .target(
            name: "SessionCore",
            dependencies: [
                .product(name: "WireProtocol", package: "WireProtocol"),
                .product(name: "ClientTLS", package: "ClientTLS"),
            ]
        ),
        .testTarget(
            name: "SessionCoreTests",
            dependencies: [
                "SessionCore",
                .product(name: "TestSupport", package: "TestSupport"),
            ]
        ),
    ],
    swiftLanguageModes: [.v6]
)
