fix(core): harden model selection edges (#30987)
This commit is contained in:
@@ -281,6 +281,34 @@ describe("CatalogV2", () => {
|
||||
}),
|
||||
)
|
||||
|
||||
it.effect("ignores a configured default on a disabled provider", () =>
|
||||
Effect.gen(function* () {
|
||||
const catalog = yield* Catalog.Service
|
||||
const disabledProvider = ProviderV2.ID.make("disabled")
|
||||
const enabledProvider = ProviderV2.ID.make("enabled")
|
||||
const disabledModel = ModelV2.ID.make("configured")
|
||||
const fallbackModel = ModelV2.ID.make("fallback")
|
||||
const transform = yield* catalog.transform()
|
||||
|
||||
yield* transform((catalog) => {
|
||||
catalog.provider.update(disabledProvider, (provider) => {
|
||||
provider.enabled = false
|
||||
})
|
||||
catalog.model.update(disabledProvider, disabledModel, () => {})
|
||||
catalog.provider.update(enabledProvider, (provider) => {
|
||||
provider.enabled = { via: "custom", data: {} }
|
||||
})
|
||||
catalog.model.update(enabledProvider, fallbackModel, () => {})
|
||||
catalog.model.default.set(disabledProvider, disabledModel)
|
||||
})
|
||||
|
||||
expect(Option.getOrUndefined(yield* catalog.model.default())).toMatchObject({
|
||||
providerID: enabledProvider,
|
||||
id: fallbackModel,
|
||||
})
|
||||
}),
|
||||
)
|
||||
|
||||
it.effect("small model prefers small keyword candidates before cost scoring", () =>
|
||||
Effect.gen(function* () {
|
||||
const catalog = yield* Catalog.Service
|
||||
|
||||
Reference in New Issue
Block a user