refactor: make telegram config optional for non-telegram setups

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
William Valentin
2026-02-10 09:27:18 -08:00
parent 48fab11066
commit 213dba855a
7 changed files with 32 additions and 21 deletions
+6 -6
View File
@@ -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');
});
+1 -1
View File
@@ -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,