Files
clawdbot/apps/shared/ClawdbotKit/Sources/ClawdbotKit/SystemCommands.swift
2026-01-04 14:38:51 +00:00

63 lines
1.6 KiB
Swift

import Foundation
public enum ClawdbotSystemCommand: String, Codable, Sendable {
case run = "system.run"
case notify = "system.notify"
}
public enum ClawdbotNotificationPriority: String, Codable, Sendable {
case passive
case active
case timeSensitive
}
public enum ClawdbotNotificationDelivery: String, Codable, Sendable {
case system
case overlay
case auto
}
public struct ClawdbotSystemRunParams: Codable, Sendable, Equatable {
public var command: [String]
public var cwd: String?
public var env: [String: String]?
public var timeoutMs: Int?
public var needsScreenRecording: Bool?
public init(
command: [String],
cwd: String? = nil,
env: [String: String]? = nil,
timeoutMs: Int? = nil,
needsScreenRecording: Bool? = nil)
{
self.command = command
self.cwd = cwd
self.env = env
self.timeoutMs = timeoutMs
self.needsScreenRecording = needsScreenRecording
}
}
public struct ClawdbotSystemNotifyParams: Codable, Sendable, Equatable {
public var title: String
public var body: String
public var sound: String?
public var priority: ClawdbotNotificationPriority?
public var delivery: ClawdbotNotificationDelivery?
public init(
title: String,
body: String,
sound: String? = nil,
priority: ClawdbotNotificationPriority? = nil,
delivery: ClawdbotNotificationDelivery? = nil)
{
self.title = title
self.body = body
self.sound = sound
self.priority = priority
self.delivery = delivery
}
}