eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
47 lines (46 loc) • 1.91 kB
TypeScript
import { ClientSession } from "#client/session.js";
import type { AgentInfoResult, ClientOptions, HealthResult, SessionState } from "#client/types.js";
/**
* HTTP client for talking to a deployed eve agent.
*
* A single client is bound to one host and auth configuration. It can create
* many concurrent {@link ClientSession | sessions}, each tracking their own
* conversation state independently.
*/
export declare class Client {
#private;
constructor(options: ClientOptions);
/**
* Checks the health of the eve agent server.
*
* @throws {ClientError} If the server returns a non-successful status.
*/
health(): Promise<HealthResult>;
/**
* Fetches the agent inspection payload from `GET /eve/v1/info`.
*
* The dev TUI uses it to render its startup header. Remote deployments
* require whatever auth the info route accepts, which defaults to Vercel
* OIDC outside local development.
*
* @throws {ClientError} If the server returns a non-successful status.
*/
info(): Promise<AgentInfoResult>;
/**
* Performs an authenticated fetch against a path on this eve target.
*
* This is the raw escape hatch for framework-owned routes (for example
* channel ingress or dev-only schedule dispatch) while preserving the same
* auth/header cascade used by {@link health}, {@link info}, and sessions.
*/
fetch(path: string, init?: RequestInit): Promise<Response>;
/**
* Creates a {@link ClientSession} handle for one conversation.
*
* - **No arguments**: starts a fresh conversation. The first
* `session.send()` call creates the run on the server.
* - **{@link SessionState}**: resumes a previously serialized session.
* - **string**: shorthand for resuming with a continuation token alone.
*/
session(state?: SessionState | string): ClientSession;
}