// swift-tools-version: 6.2 import PackageDescription let package = Package( name: "OpenClawKit", platforms: [ .iOS(.v18), .macOS(.v15), ], products: [ .library(name: "OpenClawProtocol", targets: ["OpenClawProtocol"]), .library(name: "OpenClawKit", targets: ["OpenClawKit"]), .library(name: "OpenClawChatUI", targets: ["OpenClawChatUI"]), ], dependencies: [ .package(url: "https://github.com/steipete/ElevenLabsKit", exact: "0.1.0"), .package(url: "https://github.com/gonzalezreal/textual", exact: "0.3.1"), ], targets: [ .target( name: "OpenClawProtocol", path: "Sources/OpenClawProtocol", swiftSettings: [ .enableUpcomingFeature("StrictConcurrency"), ]), .target( name: "OpenClawKit", dependencies: [ "OpenClawProtocol", .product(name: "ElevenLabsKit", package: "ElevenLabsKit"), ], path: "Sources/OpenClawKit", resources: [ .process("Resources"), ], swiftSettings: [ .enableUpcomingFeature("StrictConcurrency"), ]), .target( name: "OpenClawChatUI", dependencies: [ "OpenClawKit", .product( name: "Textual", package: "textual", condition: .when(platforms: [.macOS, .iOS])), ], path: "Sources/OpenClawChatUI", swiftSettings: [ .enableUpcomingFeature("StrictConcurrency"), ]), .testTarget( name: "OpenClawKitTests", dependencies: ["OpenClawKit", "OpenClawChatUI"], path: "Tests/OpenClawKitTests", swiftSettings: [ .enableUpcomingFeature("StrictConcurrency"), .enableExperimentalFeature("SwiftTesting"), ]), ])