UNPKG

genkit

Version:

Genkit AI framework

68 lines 1.8 kB
import { createAgentAPI } from "@genkit-ai/ai/agent-core"; import { runFlow, streamFlow } from "./client.mjs"; import { AgentError } from "@genkit-ai/ai/agent-core"; import { applyPatch } from "@genkit-ai/ai/json-patch"; function remoteAgent(options) { const { url } = options; const getSnapshotUrl = options.getSnapshotUrl ?? `${url}/getSnapshot`; const abortUrl = options.abortUrl ?? `${url}/abort`; const resolveHeaders = async () => { if (!options.headers) return void 0; if (typeof options.headers === "function") { return options.headers(); } return options.headers; }; const transport = { stateManagement: options.stateManagement, runTurn(input, init, opts) { const started = (async () => { const headers = await resolveHeaders(); return streamFlow({ url, input, init, headers, abortSignal: opts.abortSignal }); })(); const output = (async () => { const { output: output2 } = await started; return output2; })(); const stream = (async function* () { const { stream: rawStream } = await started; yield* rawStream; })(); return { stream, output }; }, async getSnapshot(lookup) { const headers = await resolveHeaders(); return runFlow({ url: getSnapshotUrl, input: lookup, headers }); }, async abort(snapshotId) { const headers = await resolveHeaders(); const result = await runFlow({ url: abortUrl, input: { snapshotId }, headers }); return result?.status; } }; return createAgentAPI(transport); } export { AgentError, applyPatch, remoteAgent }; //# sourceMappingURL=agent.mjs.map