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>
45 lines
1.1 KiB
Swift
45 lines
1.1 KiB
Swift
import ClawdbotProtocol
|
|
import Foundation
|
|
import Testing
|
|
@testable import Clawdbot
|
|
|
|
@Suite
|
|
@MainActor
|
|
struct AgentEventStoreTests {
|
|
@Test
|
|
func appendAndClear() {
|
|
let store = AgentEventStore()
|
|
#expect(store.events.isEmpty)
|
|
|
|
store.append(ControlAgentEvent(
|
|
runId: "run",
|
|
seq: 1,
|
|
stream: "test",
|
|
ts: 0,
|
|
data: [:] as [String: ClawdbotProtocol.AnyCodable],
|
|
summary: nil))
|
|
#expect(store.events.count == 1)
|
|
|
|
store.clear()
|
|
#expect(store.events.isEmpty)
|
|
}
|
|
|
|
@Test
|
|
func trimsToMaxEvents() {
|
|
let store = AgentEventStore()
|
|
for i in 1...401 {
|
|
store.append(ControlAgentEvent(
|
|
runId: "run",
|
|
seq: i,
|
|
stream: "test",
|
|
ts: Double(i),
|
|
data: [:] as [String: ClawdbotProtocol.AnyCodable],
|
|
summary: nil))
|
|
}
|
|
|
|
#expect(store.events.count == 400)
|
|
#expect(store.events.first?.seq == 2)
|
|
#expect(store.events.last?.seq == 401)
|
|
}
|
|
}
|