refactor(agent): expose concrete harness

This commit is contained in:
Mario Zechner
2026-05-06 13:21:08 +02:00
parent 530f14c018
commit e1ca501da8
5 changed files with 38 additions and 63 deletions

View File

@@ -1,3 +1,4 @@
import { getModel } from "@mariozechner/pi-ai";
import { describe, expect, it } from "vitest";
import { NodeExecutionEnv } from "../../src/harness/execution-env.js";
import { createAgentHarness, createSession } from "../../src/harness/factory.js";
@@ -16,7 +17,7 @@ describe("harness factories", () => {
it("creates agent harnesses", () => {
const session = createSession(new InMemorySessionStorage());
const env = new NodeExecutionEnv({ cwd: process.cwd() });
const harness = createAgentHarness({ env, session });
const harness = createAgentHarness({ env, session, initialModel: getModel("anthropic", "claude-sonnet-4-5") });
expect(harness.env).toBe(env);
expect(harness.conversation.session).toBe(session);
});

View File

@@ -0,0 +1,13 @@
import { getModel } from "@mariozechner/pi-ai";
import { InMemorySessionStorage } from "../../src/harness/session/storage/memory.js";
import { createAgentHarness, NodeExecutionEnv, Session } from "../../src/index.js";
const session = new Session(new InMemorySessionStorage());
const agent = createAgentHarness({
env: new NodeExecutionEnv({ cwd: process.cwd() }),
session,
initialModel: getModel("openai-codex", "gpt-5.5"),
});
const response = await agent.prompt("What is 2 + 2?");
console.log(response);