Files

65 lines
2.2 KiB
Swift

// 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"]),
],
traits: [
.trait(name: "Talk", description: "ElevenLabs cloud TTS / talk support"),
.default(enabledTraits: ["Talk"]),
],
dependencies: [
.package(url: "https://github.com/steipete/ElevenLabsKit", exact: "0.1.1"),
.package(url: "https://github.com/mgriebling/SwiftMath", exact: "1.7.3"),
.package(url: "https://github.com/swiftlang/swift-markdown", exact: "0.8.0"),
],
targets: [
.target(
name: "OpenClawProtocol",
path: "Sources/OpenClawProtocol",
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
]),
.target(
name: "OpenClawKit",
dependencies: [
"OpenClawProtocol",
.product(name: "ElevenLabsKit", package: "ElevenLabsKit", condition: .when(traits: ["Talk"])),
],
path: "Sources/OpenClawKit",
resources: [
.process("Resources"),
],
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
]),
.target(
name: "OpenClawChatUI",
dependencies: [
"OpenClawKit",
.product(name: "Markdown", package: "swift-markdown"),
.product(name: "SwiftMath", package: "SwiftMath"),
],
path: "Sources/OpenClawChatUI",
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
]),
.testTarget(
name: "OpenClawKitTests",
dependencies: ["OpenClawKit", "OpenClawChatUI"],
path: "Tests/OpenClawKitTests",
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
.enableExperimentalFeature("SwiftTesting"),
]),
])