refactor(core): let plugins pin small models via catalog draft
Move copilot utility-model preference out of core selection into the github-copilot plugin by exposing catalog.model.small set/get/remove on the transform draft.
This commit is contained in:
parent
ba89671d90
commit
d3bdc98457
6 changed files with 49 additions and 14 deletions
|
|
@ -393,7 +393,7 @@ describe("CatalogV2", () => {
|
|||
}),
|
||||
)
|
||||
|
||||
it.effect("small model prefers picker-disabled copilot utility models", () =>
|
||||
it.effect("small model prefers a plugin-configured small model override", () =>
|
||||
Effect.gen(function* () {
|
||||
const catalog = yield* Catalog.Service
|
||||
const providerID = ProviderV2.ID.githubCopilot
|
||||
|
|
@ -403,14 +403,11 @@ describe("CatalogV2", () => {
|
|||
model.family = ModelV2.Family.make("gpt-mini")
|
||||
model.time.released = Date.now()
|
||||
})
|
||||
catalog.model.update(providerID, ModelV2.ID.make("gpt-4o-mini"), (model) => {
|
||||
model.enabled = false
|
||||
model.time.released = Date.now() - 1000
|
||||
})
|
||||
catalog.model.update(providerID, ModelV2.ID.make("gpt-5.4-nano"), (model) => {
|
||||
model.enabled = false
|
||||
model.time.released = Date.now() - 2000
|
||||
})
|
||||
catalog.model.small.set(providerID, ModelV2.ID.make("gpt-5.4-nano"))
|
||||
})
|
||||
|
||||
expect((yield* catalog.model.small(providerID))?.id).toBe(ModelV2.ID.make("gpt-5.4-nano"))
|
||||
|
|
|
|||
|
|
@ -178,6 +178,12 @@ export function catalogHost(catalog: Catalog.Interface): PluginContext["catalog"
|
|||
set: (providerID, modelID) =>
|
||||
draft.model.default.set(ProviderV2.ID.make(providerID), ModelV2.ID.make(modelID)),
|
||||
},
|
||||
small: {
|
||||
get: (providerID) => draft.model.small.get(ProviderV2.ID.make(providerID)),
|
||||
set: (providerID, modelID) =>
|
||||
draft.model.small.set(ProviderV2.ID.make(providerID), ModelV2.ID.make(modelID)),
|
||||
remove: (providerID) => draft.model.small.remove(ProviderV2.ID.make(providerID)),
|
||||
},
|
||||
},
|
||||
}),
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue