Adds the macOS photos-helper Swift CLI (PhotoKit listing with stable cursors, persistent change tokens, iCloud-aware original export with a path guard and SHA-256) plus XCTests for its PhotoKit-free core, and the Electron main-process side: a validated helper client, a resumable metadata push and chunked original upload against the media contract, and IPC handlers that stay unavailable off macOS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0138YqDj3ttfayRwuMKKrqVj
19 lines
677 B
Swift
19 lines
677 B
Swift
// swift-tools-version:5.9
|
|
import PackageDescription
|
|
|
|
// PhotosHelperCore holds everything that does not touch PhotoKit (argument parsing,
|
|
// cursors, JSON envelopes, the export path guard, hashing) so XCTest runs without
|
|
// Photos access. The executable target is the thin PhotoKit layer.
|
|
let package = Package(
|
|
name: "photos-helper",
|
|
platforms: [.macOS(.v13)],
|
|
products: [
|
|
.executable(name: "photos-helper", targets: ["photos-helper"])
|
|
],
|
|
targets: [
|
|
.target(name: "PhotosHelperCore"),
|
|
.executableTarget(name: "photos-helper", dependencies: ["PhotosHelperCore"]),
|
|
.testTarget(name: "PhotosHelperCoreTests", dependencies: ["PhotosHelperCore"]),
|
|
]
|
|
)
|