refactor: make telegram config optional for non-telegram setups
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -58,8 +58,8 @@ models:
|
||||
|
||||
const config = loadConfig(configPath);
|
||||
|
||||
expect(config.telegram.bot_token).toBe('test-token');
|
||||
expect(config.telegram.allowed_chat_ids).toContain(123456789);
|
||||
expect(config.telegram?.bot_token).toBe('test-token');
|
||||
expect(config.telegram?.allowed_chat_ids).toContain(123456789);
|
||||
expect(config.server.port).toBe(18800);
|
||||
expect(config.models.default.provider).toBe('anthropic');
|
||||
|
||||
@@ -84,7 +84,7 @@ models:
|
||||
|
||||
const config = loadConfig(configPath);
|
||||
|
||||
expect(config.telegram.bot_token).toBe('env-token-value');
|
||||
expect(config.telegram?.bot_token).toBe('env-token-value');
|
||||
|
||||
delete process.env.TEST_BOT_TOKEN;
|
||||
rmSync(testDir, { recursive: true });
|
||||
@@ -137,7 +137,7 @@ server:
|
||||
|
||||
const config = loadConfig(basePath, overlayPath);
|
||||
expect(config.server.port).toBe(9999);
|
||||
expect(config.telegram.bot_token).toBe('base-token');
|
||||
expect(config.telegram?.bot_token).toBe('base-token');
|
||||
});
|
||||
|
||||
it('loads base-only when no overlay provided', () => {
|
||||
@@ -157,7 +157,7 @@ models:
|
||||
`);
|
||||
|
||||
const config = loadConfig(basePath);
|
||||
expect(config.telegram.bot_token).toBe('base-only-token');
|
||||
expect(config.telegram?.bot_token).toBe('base-only-token');
|
||||
expect(config.server.port).toBe(18800);
|
||||
});
|
||||
|
||||
@@ -186,7 +186,7 @@ models:
|
||||
`);
|
||||
|
||||
const config = loadConfig(basePath, overlayPath);
|
||||
expect(config.telegram.bot_token).toBe('expanded-token');
|
||||
expect(config.telegram?.bot_token).toBe('expanded-token');
|
||||
expect(config.models.default.model).toBe('gpt-4o');
|
||||
});
|
||||
|
||||
|
||||
@@ -349,7 +349,7 @@ const logLevelSchema = z.enum(['debug', 'info', 'warn', 'error', 'silent']).defa
|
||||
|
||||
export const configSchema = z.object({
|
||||
log_level: logLevelSchema,
|
||||
telegram: telegramSchema,
|
||||
telegram: telegramSchema.optional(),
|
||||
discord: discordSchema,
|
||||
slack: slackSchema,
|
||||
whatsapp: whatsappSchema,
|
||||
|
||||
Reference in New Issue
Block a user