New package ByteLystDiagnostics with: - Core types: DiagnosticsSession, TraceSpan, LogEntry, Breadcrumb - DiagnosticsClient: actor-based singleton with polling - BreadcrumbTrail: ring buffer (max 100) for timeline - NetworkInterceptor: URLProtocol-based HTTP capture - DeviceState: battery, memory, storage, network, thermal - 20+ XCTest unit tests Features: - configure()/start()/stop() lifecycle - trace() async span wrapper - log() with breadcrumb integration - breadcrumb() manual timeline markers - ETag-based config polling - 30-second batch flush Platforms: iOS 15+, macOS 13+, watchOS 8+, tvOS 15+
34 lines
807 B
Swift
34 lines
807 B
Swift
// swift-tools-version:5.9
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "ByteLystDiagnostics",
|
|
platforms: [
|
|
.iOS(.v15),
|
|
.macOS(.v13),
|
|
.watchOS(.v8),
|
|
.tvOS(.v15)
|
|
],
|
|
products: [
|
|
.library(
|
|
name: "ByteLystDiagnostics",
|
|
targets: ["ByteLystDiagnostics"]
|
|
),
|
|
],
|
|
dependencies: [],
|
|
targets: [
|
|
.target(
|
|
name: "ByteLystDiagnostics",
|
|
path: "Sources/ByteLystDiagnostics",
|
|
swiftSettings: [
|
|
.enableExperimentalFeature("StrictConcurrency")
|
|
]
|
|
),
|
|
.testTarget(
|
|
name: "ByteLystDiagnosticsTests",
|
|
dependencies: ["ByteLystDiagnostics"],
|
|
path: "Tests/ByteLystDiagnosticsTests"
|
|
),
|
|
]
|
|
)
|