import assert from "node:assert/strict";
import { describe, it } from "node:test";
import {
  createAgent,
  createMockProvider,
  providerDone,
  providerTextDelta,
} from "@arnilo/prism";

describe("generated agent", () => {
  it("runs offline with the mock provider", async () => {
    const agent = createAgent({
      model: { provider: "mock", model: "demo" },
      provider: createMockProvider([
        providerTextDelta("Hello from mock"),
        providerDone(),
      ]),
    });
    const session = agent.createSession({ id: "init-test" });
    const result = await session.run("Hi");
    assert.equal(result.status, "succeeded");
    assert.equal(result.text, "Hello from mock");
  });
});
