Venice's API doesn't support certain OpenAI-compatible parameters that Clawdbot sends by default: - `store`: Venice returns HTTP 400 with no body when this is present - `developer` role: Not supported by Venice's API This adds VENICE_COMPAT settings (supportsStore: false, supportsDeveloperRole: false) to all Venice model definitions, both from the static catalog and dynamically discovered models. Fixes issues reported in PR #1666 where users experienced silent failures (HTTP 400, no body) when using Venice models. Co-authored-by: jonisjongithub <jonisjongithub@users.noreply.github.com> Co-authored-by: Clawdbot <bot@clawd.bot>
35 lines
1.1 KiB
Swift
35 lines
1.1 KiB
Swift
import Commander
|
|
import Foundation
|
|
import Swabble
|
|
|
|
@MainActor
|
|
struct StatusCommand: ParsableCommand {
|
|
static var commandDescription: CommandDescription {
|
|
CommandDescription(commandName: "status", abstract: "Show daemon state")
|
|
}
|
|
|
|
@Option(name: .long("config"), help: "Path to config JSON") var configPath: String?
|
|
|
|
init() {}
|
|
init(parsed: ParsedValues) {
|
|
self.init()
|
|
if let cfg = parsed.options["config"]?.last { configPath = cfg }
|
|
}
|
|
|
|
mutating func run() async throws {
|
|
let cfg = try? ConfigLoader.load(at: configURL)
|
|
let wake = cfg?.wake.word ?? "clawd"
|
|
let wakeEnabled = cfg?.wake.enabled ?? false
|
|
let latest = await TranscriptsStore.shared.latest().suffix(3)
|
|
print("wake: \(wakeEnabled ? wake : "disabled")")
|
|
if latest.isEmpty {
|
|
print("transcripts: (none yet)")
|
|
} else {
|
|
print("last transcripts:")
|
|
latest.forEach { print("- \($0)") }
|
|
}
|
|
}
|
|
|
|
private var configURL: URL? { configPath.map { URL(fileURLWithPath: $0) } }
|
|
}
|