Skip to content

Commit 1a12ea9

Browse files
committed
Fix disabled instance check in text generation and empty registry fallback
- TextGenerationLive: Add enabled check in resolveInstance so disabled provider instances surface a TextGenerationError instead of silently executing text generation, matching the documented behavior. - ProviderInstanceRegistryHydration: Fall back to DEFAULT_SERVER_SETTINGS instead of an empty ProviderInstanceConfigMap when the initial settings read fails, ensuring built-in driver default instances are materialized even on transient I/O errors during boot.
1 parent b1bb7a2 commit 1a12ea9

2 files changed

Lines changed: 12 additions & 7 deletions

File tree

apps/server/src/git/Layers/TextGenerationLive.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,14 @@ const resolveInstance = (
5151
registry.getInstance(instanceId).pipe(
5252
Effect.flatMap((instance) =>
5353
instance
54-
? Effect.succeed(instance.textGeneration)
54+
? instance.enabled
55+
? Effect.succeed(instance.textGeneration)
56+
: Effect.fail(
57+
new TextGenerationError({
58+
operation,
59+
detail: `Provider instance '${instanceId}' is disabled.`,
60+
}),
61+
)
5562
: Effect.fail(
5663
new TextGenerationError({
5764
operation,

apps/server/src/provider/Layers/ProviderInstanceRegistryHydration.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
* @module provider/Layers/ProviderInstanceRegistryHydration
4343
*/
4444
import {
45+
DEFAULT_SERVER_SETTINGS,
4546
defaultInstanceIdForDriver,
4647
type ProviderInstanceConfig,
4748
type ProviderInstanceConfigMap,
@@ -158,13 +159,10 @@ export const ProviderInstanceRegistryHydrationLive: Layer.Layer<
158159
> = Layer.unwrap(
159160
Effect.gen(function* () {
160161
const serverSettings = yield* ServerSettingsService;
161-
const initialSettings: ServerSettings | undefined = yield* serverSettings.getSettings.pipe(
162-
Effect.orElseSucceed(() => undefined),
162+
const initialSettings: ServerSettings = yield* serverSettings.getSettings.pipe(
163+
Effect.orElseSucceed(() => DEFAULT_SERVER_SETTINGS),
163164
);
164-
const initialConfigMap =
165-
initialSettings === undefined
166-
? ({} as ProviderInstanceConfigMap)
167-
: deriveProviderInstanceConfigMap(initialSettings);
165+
const initialConfigMap = deriveProviderInstanceConfigMap(initialSettings);
168166

169167
const mutableLayer = ProviderInstanceRegistryMutableLayer({
170168
drivers: BUILT_IN_DRIVERS,

0 commit comments

Comments
 (0)