-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPackage.swift
More file actions
65 lines (64 loc) · 2.45 KB
/
Copy pathPackage.swift
File metadata and controls
65 lines (64 loc) · 2.45 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
55
56
57
58
59
60
61
62
63
64
65
// swift-tools-version: 6.0
import PackageDescription
// Agent Manager — one Swift package.
//
// `AgentManagerCore` is the shared library (account model, managed homes,
// symlink farm, guided login, identity verification, audit log). `am` is the
// CLI that drives Core end-to-end, and a SwiftUI menu-bar `App` target — all
// three surfaces over the same Core.
//
// `am-wake-helper` is deliberately *not* one of those surfaces: it is the tiny
// root daemon that arms RTC wakes for scheduled pings, and it links only
// `WakeHelperCore` (Foundation-only planning/parsing) — never
// `AgentManagerCore` — so the binary that runs as root contains no account,
// keychain, network, or process-spawning code and stays independently
// auditable.
let package = Package(
name: "AgentManager",
platforms: [
.macOS(.v14),
],
products: [
.library(name: "AgentManagerCore", targets: ["AgentManagerCore"]),
.executable(name: "am", targets: ["am"]),
.executable(name: "AgentManager", targets: ["AgentManager"]),
.executable(name: "am-wake-helper", targets: ["am-wake-helper"]),
],
targets: [
.target(
name: "AgentManagerCore",
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
]),
.target(
name: "WakeHelperCore",
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
]),
.executableTarget(
name: "am-wake-helper",
dependencies: ["WakeHelperCore"],
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
]),
.executableTarget(
name: "AgentManager",
dependencies: ["AgentManagerCore"],
resources: [
.process("Resources"),
],
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
]),
.executableTarget(
name: "am",
dependencies: ["AgentManagerCore"],
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
]),
.testTarget(
name: "AgentManagerCoreTests",
// Links the app executable too (SwiftPM 5.5+) so the theme-contrast
// audit can read the real design tokens in `Theme` instead of copies.
dependencies: ["AgentManagerCore", "WakeHelperCore", "AgentManager"]),
])