chore(vendor): import pi 1.3.0
Imported as a linear vendor commit so forge rebases do not replay the upstream root tree. git-subtree-dir: third_party/pi git-subtree-split: 71023aec1546d6d677a65669c5665c0927ce0dd0
This commit is contained in:
19
third_party/pi/packages/agent/test/e2e.test.ts
vendored
19
third_party/pi/packages/agent/test/e2e.test.ts
vendored
@@ -50,11 +50,12 @@ async function basicPrompt(model: Model<string>) {
|
||||
await agent.prompt("What is 2+2? Answer with just the number.");
|
||||
|
||||
expect(agent.state.isStreaming).toBe(false);
|
||||
expect(agent.state.messages.length).toBe(2);
|
||||
expect(agent.state.messages[0].role).toBe("user");
|
||||
expect(agent.state.messages[1].role).toBe("assistant");
|
||||
expect(agent.state.messages.length).toBe(3);
|
||||
expect(agent.state.messages[0].role).toBe("system");
|
||||
expect(agent.state.messages[1].role).toBe("user");
|
||||
expect(agent.state.messages[2].role).toBe("assistant");
|
||||
|
||||
const assistantMessage = agent.state.messages[1];
|
||||
const assistantMessage = agent.state.messages[2];
|
||||
if (assistantMessage.role !== "assistant") throw new Error("Expected assistant message");
|
||||
expect(getTextContent(assistantMessage)).toContain("4");
|
||||
}
|
||||
@@ -157,7 +158,7 @@ async function stateUpdates(model: Model<string>) {
|
||||
expect(events.indexOf("message_end")).toBeLessThan(events.lastIndexOf("agent_end"));
|
||||
|
||||
expect(agent.state.isStreaming).toBe(false);
|
||||
expect(agent.state.messages.length).toBe(2);
|
||||
expect(agent.state.messages.length).toBe(3);
|
||||
}
|
||||
|
||||
async function multiTurnConversation(model: Model<string>) {
|
||||
@@ -172,12 +173,12 @@ async function multiTurnConversation(model: Model<string>) {
|
||||
});
|
||||
|
||||
await agent.prompt("My name is Alice.");
|
||||
expect(agent.state.messages.length).toBe(2);
|
||||
expect(agent.state.messages.length).toBe(3);
|
||||
|
||||
await agent.prompt("What is my name?");
|
||||
expect(agent.state.messages.length).toBe(4);
|
||||
expect(agent.state.messages.length).toBe(5);
|
||||
|
||||
const lastMessage = agent.state.messages[3];
|
||||
const lastMessage = agent.state.messages[4];
|
||||
if (lastMessage.role !== "assistant") throw new Error("Expected assistant message");
|
||||
expect(getTextContent(lastMessage).toLowerCase()).toContain("alice");
|
||||
}
|
||||
@@ -255,7 +256,7 @@ describe("Agent integration with faux provider", () => {
|
||||
|
||||
await agent.prompt("What is 2+2?");
|
||||
|
||||
const assistantMessage = agent.state.messages[1];
|
||||
const assistantMessage = agent.state.messages[2];
|
||||
if (assistantMessage?.role !== "assistant") throw new Error("Expected assistant message");
|
||||
expect(assistantMessage.content).toEqual([
|
||||
{ type: "thinking", thinking: "step by step" },
|
||||
|
||||
Reference in New Issue
Block a user