Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  main.swift   Sprache: unbekannt

 
Spracherkennung für: .swift vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

import Commander
import Foundation

@available(macOS 26.0, *)
@MainActor
private func runCLI() async -> Int32 {
    do {
        let descriptors = CLIRegistry.descriptors
        let program = Program(descriptors: descriptors)
        let invocation = try program.resolve(argv: CommandLine.arguments)
        try await dispatch(invocation: invocation)
        return 0
    } catch {
        fputs("error: \(error)\n", stderr)
        return 1
    }
}

@available(macOS 26.0, *)
@MainActor
private func dispatch(invocation: CommandInvocation) async throws {
    let parsed = invocation.parsedValues
    let path = invocation.path
    guard let first = path.first else { throw CommanderProgramError.missingCommand }

    switch first {
    case "swabble":
        try await dispatchSwabble(parsed: parsed, path: path)
    default:
        throw CommanderProgramError.unknownCommand(first)
    }
}

@available(macOS 26.0, *)
@MainActor
private func dispatchSwabble(parsed: ParsedValues, path: [String]) async throws {
    let sub = try subcommand(path, index: 1, command: "swabble")
    switch sub {
    case "mic":
        try await dispatchMic(parsed: parsed, path: path)
    case "service":
        try await dispatchService(path: path)
    default:
        let handlers = swabbleHandlers(parsed: parsed)
        guard let handler = handlers[sub] else {
            throw CommanderProgramError.unknownSubcommand(command: "swabble", name: sub)
        }
        try await handler()
    }
}

@available(macOS 26.0, *)
@MainActor
private func swabbleHandlers(parsed: ParsedValues) -> [String: () async throws -> Void] {
    [
        "serve": {
            var cmd = ServeCommand(parsed: parsed)
            try await cmd.run()
        },
        "transcribe": {
            var cmd = TranscribeCommand(parsed: parsed)
            try await cmd.run()
        },
        "test-hook": {
            var cmd = TestHookCommand(parsed: parsed)
            try await cmd.run()
        },
        "doctor": {
            var cmd = DoctorCommand(parsed: parsed)
            try await cmd.run()
        },
        "setup": {
            var cmd = SetupCommand(parsed: parsed)
            try await cmd.run()
        },
        "health": {
            var cmd = HealthCommand(parsed: parsed)
            try await cmd.run()
        },
        "tail-log": {
            var cmd = TailLogCommand(parsed: parsed)
            try await cmd.run()
        },
        "start": {
            var cmd = StartCommand()
            try await cmd.run()
        },
        "stop": {
            var cmd = StopCommand()
            try await cmd.run()
        },
        "restart": {
            var cmd = RestartCommand()
            try await cmd.run()
        },
        "status": {
            var cmd = StatusCommand()
            try await cmd.run()
        }
    ]
}

@available(macOS 26.0, *)
@MainActor
private func dispatchMic(parsed: ParsedValues, path: [String]) async throws {
    let micSub = try subcommand(path, index: 2, command: "mic")
    switch micSub {
    case "list":
        var cmd = MicList(parsed: parsed)
        try await cmd.run()
    case "set":
        var cmd = MicSet(parsed: parsed)
        try await cmd.run()
    default:
        throw CommanderProgramError.unknownSubcommand(command: "mic", name: micSub)
    }
}

@available(macOS 26.0, *)
@MainActor
private func dispatchService(path: [String]) async throws {
    let svcSub = try subcommand(path, index: 2, command: "service")
    switch svcSub {
    case "install":
        var cmd = ServiceInstall()
        try await cmd.run()
    case "uninstall":
        var cmd = ServiceUninstall()
        try await cmd.run()
    case "status":
        var cmd = ServiceStatus()
        try await cmd.run()
    default:
        throw CommanderProgramError.unknownSubcommand(command: "service", name: svcSub)
    }
}

private func subcommand(_ path: [String], index: Int, command: String) throws -> String {
    guard path.count > index else {
        throw CommanderProgramError.missingSubcommand(command: command)
    }
    return path[index]
}

if #available(macOS 26.0, *) {
    let exitCode = await runCLI()
    exit(exitCode)
} else {
    fputs("error: swabble requires macOS 26 or newer\n", stderr)
    exit(1)
}

[Dauer der Verarbeitung: 0.27 Sekunden, vorverarbeitet 2026-04-26]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge