Allow optional model variant config for agents and categories. Propagate category variants into task model payloads so category-driven runs inherit provider-specific variants. Closes: #647
29 lines
616 B
TypeScript
29 lines
616 B
TypeScript
type SessionInfo = {
|
|
id?: string
|
|
parentID?: string
|
|
}
|
|
|
|
export function createFirstMessageVariantGate() {
|
|
const pending = new Set<string>()
|
|
|
|
return {
|
|
markSessionCreated(info?: SessionInfo) {
|
|
if (info?.id && !info.parentID) {
|
|
pending.add(info.id)
|
|
}
|
|
},
|
|
shouldOverride(sessionID?: string) {
|
|
if (!sessionID) return false
|
|
return pending.has(sessionID)
|
|
},
|
|
markApplied(sessionID?: string) {
|
|
if (!sessionID) return
|
|
pending.delete(sessionID)
|
|
},
|
|
clear(sessionID?: string) {
|
|
if (!sessionID) return
|
|
pending.delete(sessionID)
|
|
},
|
|
}
|
|
}
|