Files
Termind/Frameworks/TermindApplication/Events/OutboxStore.swift
T
Kaede Akino c2958a05b3 Add iOS workspaces and shared feature services
Share Vault, persistence, SSH/SFTP, forwarding, and SwiftUI components across platforms. Add mobile editors, terminal input, standalone Assistant, Metrics navigation, transfers, and a unified Live Activity with host system icons.

Validation: 35 iOS tests and 100 focused macOS tests pass; formatting and zh-Hans checks pass. The full macOS run reports 14 issues in the documented timing, Keychain, and popover suites. Remaining Assistant tool and CloudKit work is tracked in Memory/MOBILE_ROLLOUT.md.
2026-09-11 13:47:16 +08:00

19 lines
630 B
Swift

import Foundation
import TermindDomain
@MainActor
public protocol OutboxStore: AnyObject {
func enqueue(_ jobs: [OutboxJob]) throws
func nextReady(at date: Date) throws -> OutboxJob?
func markRunning(_ id: OutboxJob.ID) throws
func markSucceeded(_ id: OutboxJob.ID) throws
func markFailed(_ id: OutboxJob.ID, error: String, retryAt: Date?) throws
func resetInterruptedJobs() throws
func retryFailedJob(_ id: OutboxJob.ID) throws
}
public protocol OutboxEventHandler: AnyObject {
nonisolated var handlerID: String { get }
func handle(type: String, payload: Data, eventID: UUID) async throws
}