eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
25 lines (24 loc) • 1.47 kB
TypeScript
import type { PublicAgentDefinition } from "#shared/agent-definition.js";
import type { ExactDefinition } from "#public/definitions/exact.js";
export type { AgentModelOptionsDefinition, AgentBuildDefinition, AgentExperimentalDefinition, AgentWorkflowDefinition, AgentWorkflowWorldDefinition, PublicAgentModelDefinition as AgentModelDefinition, PublicAgentCompactionDefinition as AgentCompactionDefinition, } from "#shared/agent-definition.js";
/**
* Additive public agent configuration authored in `agent.ts`.
*
* The compiler derives identity at compile time from `manifest.agentId` (the
* package name or app-root basename), so do not author a `name` field.
*
* Declare authentication and network policies on the channel that handles the
* inbound request, not here. See `eve/channels/auth` for the verifier helpers a
* channel uses to gate its `fetch` handler.
*/
export type AgentDefinition = PublicAgentDefinition;
/**
* Defines the agent configuration authored in `agent.ts` and returns it
* unchanged, preserving its literal type.
*
* TypeScript checks the argument against {@link AgentDefinition}: any key outside
* that shape is a compile error. The compiler derives identity (the agent name)
* at compile time from `manifest.agentId` (the package name or app-root
* basename), so do not author a `name` field.
*/
export declare function defineAgent<TAgent extends AgentDefinition>(definition: ExactDefinition<TAgent, AgentDefinition>): TAgent;