fix: add deprecation warning for agent.model + e2e model tests
- Warn at startup when agent.model is present in lettabot.yaml (deprecated, now ignored) - Add e2e tests for model listing and agent model retrieval - Remove stale model field from existing e2e test (BotConfig no longer has it) Written by Cameron ◯ Letta Code "The best way to predict the future is to invent it." -- Alan Kay
This commit is contained in:
@@ -31,7 +31,6 @@ describe.skipIf(SKIP_E2E)('e2e: LettaBot with Letta Cloud', () => {
|
||||
|
||||
// Initialize bot with test config
|
||||
bot = new LettaBot({
|
||||
model: 'claude-sonnet-4-20250514', // Good balance of speed/quality
|
||||
workingDir: tempDir,
|
||||
agentName: 'e2e-test',
|
||||
});
|
||||
|
||||
30
e2e/models.e2e.test.ts
Normal file
30
e2e/models.e2e.test.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* E2E Tests for Model API
|
||||
*
|
||||
* Tests model listing and retrieval against Letta Cloud.
|
||||
* Requires LETTA_API_KEY and LETTA_E2E_AGENT_ID environment variables.
|
||||
*
|
||||
* Run with: npm run test:e2e
|
||||
*/
|
||||
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { listModels, getAgentModel } from '../src/tools/letta-api.js';
|
||||
|
||||
const SKIP_E2E = !process.env.LETTA_API_KEY || !process.env.LETTA_E2E_AGENT_ID;
|
||||
|
||||
describe.skipIf(SKIP_E2E)('e2e: Model API', () => {
|
||||
it('lists available models from Letta Cloud', async () => {
|
||||
const models = await listModels();
|
||||
expect(models.length).toBeGreaterThan(0);
|
||||
// Known providers should always exist on Letta Cloud
|
||||
const handles = models.map(m => m.handle);
|
||||
expect(handles.some(h => h.includes('anthropic') || h.includes('openai'))).toBe(true);
|
||||
}, 30000);
|
||||
|
||||
it('retrieves the current agent model', async () => {
|
||||
const agentId = process.env.LETTA_E2E_AGENT_ID!;
|
||||
const model = await getAgentModel(agentId);
|
||||
expect(model).toBeTruthy();
|
||||
expect(typeof model).toBe('string');
|
||||
}, 30000);
|
||||
});
|
||||
@@ -21,6 +21,9 @@ const yamlConfig = loadConfig();
|
||||
const configSource = existsSync(resolveConfigPath()) ? resolveConfigPath() : 'defaults + environment variables';
|
||||
console.log(`[Config] Loaded from ${configSource}`);
|
||||
console.log(`[Config] Mode: ${yamlConfig.server.mode}, Agent: ${yamlConfig.agent.name}`);
|
||||
if (yamlConfig.agent.model) {
|
||||
console.warn('[Config] WARNING: agent.model in lettabot.yaml is deprecated and ignored. Use `lettabot model set <handle>` instead.');
|
||||
}
|
||||
applyConfigToEnv(yamlConfig);
|
||||
|
||||
// Sync BYOK providers on startup (async, don't block)
|
||||
|
||||
Reference in New Issue
Block a user