-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathPackage.swift
More file actions
54 lines (53 loc) · 1.91 KB
/
Copy pathPackage.swift
File metadata and controls
54 lines (53 loc) · 1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// swift-tools-version: 5.10
import PackageDescription
let package = Package(
name: "SwiftHarnessAgent",
platforms: [
.macOS(.v13),
.iOS(.v17)
],
products: [
// Provider-agnostic LLM client layer. Use this directly if you only
// want OpenAI / Anthropic API access without the agent runtime.
.library(name: "SwiftAISDK", targets: ["SwiftAISDK"]),
// Coding-agent runtime built on top of SwiftAISDK.
.library(name: "SwiftHarnessAgent", targets: ["SwiftHarnessAgent"]),
.executable(name: "SwiftHarnessAgentExample", targets: ["SwiftHarnessAgentExample"])
],
dependencies: [
// Spec-compliant SSE parser. Used to consume OpenAI/NIM/Anthropic
// streaming responses byte-by-byte without tripping over edge cases
// in `URLSession.AsyncBytes.lines` (which can collapse the empty
// separator line between SSE events on some platforms).
.package(url: "https://github.com/mattt/EventSource.git", from: "1.4.0")
],
targets: [
.target(
name: "SwiftAISDK",
dependencies: [
.product(name: "EventSource", package: "EventSource")
],
path: "Sources/SwiftAISDK"
),
.target(
name: "SwiftHarnessAgent",
dependencies: ["SwiftAISDK"],
path: "Sources/SwiftHarnessAgent"
),
.testTarget(
name: "SwiftAISDKTests",
dependencies: ["SwiftAISDK"],
path: "Tests/SwiftAISDKTests"
),
.testTarget(
name: "SwiftHarnessAgentTests",
dependencies: ["SwiftHarnessAgent", "SwiftAISDK"],
path: "Tests/SwiftHarnessAgentTests"
),
.executableTarget(
name: "SwiftHarnessAgentExample",
dependencies: ["SwiftHarnessAgent"],
path: "Examples/SwiftHarnessAgentExample"
)
]
)