feat: migrate to Letta TS SDK v1 (alpha) (#11)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
// src/agent/modify.ts
|
||||
// Utilities for modifying agent configuration
|
||||
|
||||
import type { Letta } from "@letta-ai/letta-client";
|
||||
import type { LlmConfig } from "@letta-ai/letta-client/resources/models/models";
|
||||
import { getClient } from "./client";
|
||||
|
||||
/**
|
||||
@@ -19,27 +19,27 @@ export async function updateAgentLLMConfig(
|
||||
agentId: string,
|
||||
modelHandle: string,
|
||||
updateArgs?: Record<string, unknown>,
|
||||
): Promise<Letta.LlmConfig> {
|
||||
): Promise<LlmConfig> {
|
||||
const client = await getClient();
|
||||
|
||||
// Step 1: Update model (top-level field)
|
||||
await client.agents.modify(agentId, { model: modelHandle });
|
||||
await client.agents.update(agentId, { model: modelHandle });
|
||||
|
||||
// Step 2: Get updated agent to retrieve current llmConfig
|
||||
// Step 2: Get updated agent to retrieve current llm_config
|
||||
const agent = await client.agents.retrieve(agentId);
|
||||
let finalConfig = agent.llmConfig;
|
||||
let finalConfig = agent.llm_config;
|
||||
|
||||
// Step 3: If we have updateArgs, merge them into llmConfig and patch again
|
||||
// Step 3: If we have updateArgs, merge them into llm_config and patch again
|
||||
if (updateArgs && Object.keys(updateArgs).length > 0) {
|
||||
const updatedLlmConfig = {
|
||||
...finalConfig,
|
||||
...updateArgs,
|
||||
} as Letta.LlmConfig;
|
||||
await client.agents.modify(agentId, { llmConfig: updatedLlmConfig });
|
||||
} as LlmConfig;
|
||||
await client.agents.update(agentId, { llm_config: updatedLlmConfig });
|
||||
|
||||
// Retrieve final state
|
||||
const finalAgent = await client.agents.retrieve(agentId);
|
||||
finalConfig = finalAgent.llmConfig;
|
||||
finalConfig = finalAgent.llm_config;
|
||||
}
|
||||
|
||||
return finalConfig;
|
||||
|
||||
Reference in New Issue
Block a user