eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
79 lines (78 loc) • 2.64 kB
TypeScript
import { z } from "#compiled/zod/index.js";
/**
* One selectable option presented to the user in an input request.
*/
export type InputOption = z.infer<typeof inputOptionSchema>;
/**
* Zod schema for one input option.
*
* Includes descriptions because the `ask_question` tool input embeds this
* schema and exposes it directly to the model.
*/
export declare const inputOptionSchema: z.ZodObject<{
description: z.ZodOptional<z.ZodString>;
id: z.ZodString;
label: z.ZodString;
style: z.ZodOptional<z.ZodEnum<{
danger: "danger";
default: "default";
primary: "primary";
}>>;
}, z.core.$strict>;
/**
* Unified input request surfaced to the client when the agent needs
* user input before continuing.
*
* Tool approvals and questions share this shape. Approvals are requests
* with two options (`"approve"` / `"deny"`) and `display: "confirmation"`.
*/
export type InputRequest = z.infer<typeof inputRequestSchema>;
/**
* Zod schema for one input request.
*/
export declare const inputRequestSchema: z.ZodObject<{
action: z.ZodObject<{
callId: z.ZodString;
input: z.ZodType<import("../../shared/json.ts").JsonObject, unknown, z.core.$ZodTypeInternals<import("../../shared/json.ts").JsonObject, unknown>>;
kind: z.ZodLiteral<"tool-call">;
toolName: z.ZodString;
}, z.core.$strict>;
allowFreeform: z.ZodOptional<z.ZodBoolean>;
display: z.ZodOptional<z.ZodEnum<{
confirmation: "confirmation";
select: "select";
text: "text";
}>>;
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
description: z.ZodOptional<z.ZodString>;
id: z.ZodString;
label: z.ZodString;
style: z.ZodOptional<z.ZodEnum<{
danger: "danger";
default: "default";
primary: "primary";
}>>;
}, z.core.$strict>>>;
prompt: z.ZodString;
requestId: z.ZodString;
}, z.core.$strict>;
/**
* Unified input response submitted by the client for a pending request.
*/
export type InputResponse = z.infer<typeof inputResponseSchema>;
/**
* Zod schema for one input response.
*/
export declare const inputResponseSchema: z.ZodObject<{
optionId: z.ZodOptional<z.ZodString>;
requestId: z.ZodString;
text: z.ZodOptional<z.ZodString>;
}, z.core.$strict>;
/**
* Returns true when a value matches the input request contract.
*/
export declare function isInputRequest(value: unknown): value is InputRequest;
/**
* Returns true when a value matches the input response contract.
*/
export declare function isInputResponse(value: unknown): value is InputResponse;