Skip to content

Quickstart

Illustrative: this helper receives an already configured owner. It accepts one prompt and reads the current durable state. It does not wait for the reply.

import { Shiitake, type ShiitakeOptions } from "@fungi.computer/shiitake";
export async function ask(options: ShiitakeOptions) {
const agent = await Shiitake.make(options);
try {
const session = agent.session("example-session");
const receipt = await session.command({
type: "prompt",
requestId: "example-first-prompt",
delivery: "followUp",
text: "Describe this project.",
});
return { receipt, snapshot: await session.read() };
} finally {
await agent.close();
}
}

Keep a production host open while it owns active work. Closing it stops its runtime resources. It does not erase SQLite data or turn acceptance into a completed reply. The public-import consumer fixture checks construction, acceptance and close with an injected owner.