fix(daemon): wire external backends into router deps
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
import { configSchema } from '../config/schema.js';
|
||||
import { createConfiguredExternalBackends } from './index.js';
|
||||
|
||||
describe('createConfiguredExternalBackends', () => {
|
||||
it('returns externalBackends under the routing key expected by createMessageRouter', () => {
|
||||
const config = configSchema.parse({
|
||||
telegram: { bot_token: 'test-token', allowed_chat_ids: [1] },
|
||||
models: { default: { provider: 'anthropic', model: 'claude-3-5-sonnet-latest' } },
|
||||
backends: {
|
||||
default: 'pi_embedded',
|
||||
pi_embedded: {
|
||||
enabled: true,
|
||||
module: '@mariozechner/pi-agent-core',
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const resolved = createConfiguredExternalBackends(config);
|
||||
|
||||
expect(resolved.defaultName).toBe('pi_embedded');
|
||||
expect(resolved.externalBackends.pi_embedded?.name).toBe('pi_embedded');
|
||||
expect((resolved as unknown as { backends?: unknown }).backends).toBeUndefined();
|
||||
});
|
||||
});
|
||||
+3
-3
@@ -44,8 +44,8 @@ import {
|
||||
type ExternalBackendName,
|
||||
} from '../backends/index.js';
|
||||
|
||||
function createConfiguredExternalBackends(config: Config): {
|
||||
backends: Partial<Record<ExternalBackendName, ExternalBackend>>;
|
||||
export function createConfiguredExternalBackends(config: Config): {
|
||||
externalBackends: Partial<Record<ExternalBackendName, ExternalBackend>>;
|
||||
defaultName?: ExternalBackendName;
|
||||
} {
|
||||
const backends: Partial<Record<ExternalBackendName, ExternalBackend>> = {};
|
||||
@@ -92,7 +92,7 @@ function createConfiguredExternalBackends(config: Config): {
|
||||
? selectedDefault
|
||||
: (Object.keys(backends)[0] as ExternalBackendName | undefined);
|
||||
|
||||
return { backends, defaultName };
|
||||
return { externalBackends: backends, defaultName };
|
||||
}
|
||||
|
||||
export interface DaemonContext {
|
||||
|
||||
Reference in New Issue
Block a user