Skip to content

Commit

Permalink
add send async test
Browse files Browse the repository at this point in the history
  • Loading branch information
carenthomas committed Jan 25, 2025
1 parent ea291d3 commit f8e3116
Showing 1 changed file with 40 additions and 3 deletions.
43 changes: 40 additions & 3 deletions tests/custom.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ describe("Letta Client", () => {
messages: [
{
role: "user",
content: "Actually, my name is Sarah.",
content: "My name isn't Caren, it's Sarah. Please update your core memory with core_memory_replace",
},
],
});
Expand Down Expand Up @@ -133,7 +133,7 @@ def secret_message():
it("should create single agent and send messages", async () => {
// Initialize client (to run locally, override using LettaEnvironment.SelfHosted)
const client = new LettaClient({
environment: LettaEnvironment.LettaCloud,
environment: LettaEnvironment.SelfHosted,
token: process.env.LETTA_API_KEY ?? "",
});

Expand Down Expand Up @@ -189,7 +189,7 @@ def secret_message():
expect((messages[2] as ToolReturnMessage).status).toEqual("success");

// Send message with streaming
messageText = "Actually, my name is Sarah.";
messageText = "My name isn't Caren, it's Sarah. Please update your core memory with core_memory_replace";
const streamResponse = await client.agents.messages.createStream(agent.id, {
messages: [
{
Expand Down Expand Up @@ -265,6 +265,43 @@ def secret_message():
expect(messages[6]).toHaveProperty("messageType", "tool_return_message");
expect((messages[6] as ToolReturnMessage).status).toEqual("success");

// Send async message
messageText = "What's my name?";
let run = await client.agents.messages.createAsync(agent.id, {
messages: [
{
role: "user",
content: messageText,
},
],
});
expect(run.status).toEqual("created");
await new Promise(resolve => setTimeout(resolve, 10000)); // Sleep for 1000 ms

run = await client.runs.retrieveRun(run.id!);



// Validate send message response contains single assistant message
expect(run.status).toEqual("completed");
const run_messages = await client.runs.listRunMessages(run.id!);
expect(run_messages).toHaveLength(3);
for (const message of run_messages) {
switch (message.messageType) {
case "user_message":
expect((message as UserMessage).content).toContain(messageText);
break;
case "assistant_message":
expect(((message as AssistantMessage).content as string).toLowerCase()).toContain("sarah");
break;
case "tool_return_message":
expect((message as ToolReturnMessage).status).toEqual("success");
break;
default:
fail(`Unexpected message type: ${(message as any).messageType}`);
}
}

// Delete agent
await client.agents.delete(agent.id);
}, 100000);
Expand Down

0 comments on commit f8e3116

Please sign in to comment.