eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
200 lines (199 loc) • 9.03 kB
TypeScript
import type * as types from "./types.gen.js";
/**
* **UNSTABLE**
*
* This capability is not part of the spec yet, and may be removed or changed at any point.
*
* Request from the agent to elicit structured user input.
*
* The agent sends this to the client to request information from the user,
* either via a form or by directing them to a URL.
* Elicitations are tied to a session (optionally a tool call) or a request.
*
* @experimental
*/
export type CreateElicitationRequest = types.CreateElicitationRequest;
/**
* Validated type guards for `CreateElicitationRequest`'s known variants.
*
* Each guard validates the variant's payload, not just its discriminant
* tag: a malformed known variant (right tag, wrong payload) matches no
* guard — mirroring wire validation, which rejects such values instead
* of classifying them as custom.
*
* Guards check the value as given: fields that wire deserialization
* salvages to a default (e.g. a malformed `_meta`) are only normalized
* by parsing, and for ambiguous raw shapes (a known tag combined with
* another variant's payload) guards are conservative where wire parsing
* may still accept the value — narrow wire-parsed values when exact
* parity matters.
*
* @experimental
*/
export declare const CreateElicitationRequest: {
/** Narrow to the `form` variant, validating its payload. */
readonly isForm: (value: types.CreateElicitationRequest) => value is (types.ElicitationFormMode & {
mode: "form";
}) & Pick<types.CreateElicitationRequest, "message" | "_meta">;
/** Narrow to the `url` variant, validating its payload. */
readonly isUrl: (value: types.CreateElicitationRequest) => value is (types.ElicitationUrlMode & {
mode: "url";
}) & Pick<types.CreateElicitationRequest, "message" | "_meta">;
/**
* Narrow to a custom or future variant: the `mode` tag matches no known variant, with a valid payload.
*
* TypeScript keeps the known variants in the narrowed union (they are
* structural subtypes of the catch-all), so read vendor payload keys
* via a widening cast: `(value as Record<string, unknown>).someKey`.
*/
readonly isCustom: (value: types.CreateElicitationRequest) => value is ((types.ElicitationSessionScope | types.ElicitationRequestScope) & {
mode: string;
[key: string]: unknown;
}) & Pick<types.CreateElicitationRequest, "message" | "_meta">;
};
/**
* Property schema for elicitation form fields.
*
* Each variant corresponds to a JSON Schema `"type"` value.
* Single-select enums use the `String` variant with `enum` or `oneOf` set.
* Multi-select enums use the `Array` variant.
*/
export type ElicitationPropertySchema = types.ElicitationPropertySchema;
/**
* Validated type guards for `ElicitationPropertySchema`'s known variants.
*
* Each guard validates the variant's payload, not just its discriminant
* tag: a malformed known variant (right tag, wrong payload) matches no
* guard — mirroring wire validation, which rejects such values instead
* of classifying them as custom.
*
* Guards check the value as given: fields that wire deserialization
* salvages to a default (e.g. a malformed `_meta`) are only normalized
* by parsing, and for ambiguous raw shapes (a known tag combined with
* another variant's payload) guards are conservative where wire parsing
* may still accept the value — narrow wire-parsed values when exact
* parity matters.
*/
export declare const ElicitationPropertySchema: {
/** Narrow to the `string` variant, validating its payload. */
readonly isString: (value: types.ElicitationPropertySchema) => value is types.StringPropertySchema & {
type: "string";
};
/** Narrow to the `number` variant, validating its payload. */
readonly isNumber: (value: types.ElicitationPropertySchema) => value is types.NumberPropertySchema & {
type: "number";
};
/** Narrow to the `integer` variant, validating its payload. */
readonly isInteger: (value: types.ElicitationPropertySchema) => value is types.IntegerPropertySchema & {
type: "integer";
};
/** Narrow to the `boolean` variant, validating its payload. */
readonly isBoolean: (value: types.ElicitationPropertySchema) => value is types.BooleanPropertySchema & {
type: "boolean";
};
/** Narrow to the `array` variant, validating its payload. */
readonly isArray: (value: types.ElicitationPropertySchema) => value is types.MultiSelectPropertySchema & {
type: "array";
};
/**
* Narrow to a custom or future variant: the `type` tag matches no known variant.
*
* TypeScript keeps the known variants in the narrowed union (they are
* structural subtypes of the catch-all), so read vendor payload keys
* via a widening cast: `(value as Record<string, unknown>).someKey`.
*/
readonly isCustom: (value: types.ElicitationPropertySchema) => value is {
type: string;
[key: string]: unknown;
};
};
/**
* Items for a multi-select (array) property schema.
*/
export type MultiSelectItems = types.MultiSelectItems;
/**
* Validated type guards for `MultiSelectItems`'s known variants.
*
* Each guard validates the variant's payload, not just its discriminant
* tag: a malformed known variant (right tag, wrong payload) matches no
* guard — mirroring wire validation, which rejects such values instead
* of classifying them as custom.
*
* Guards check the value as given: fields that wire deserialization
* salvages to a default (e.g. a malformed `_meta`) are only normalized
* by parsing, and for ambiguous raw shapes (a known tag combined with
* another variant's payload) guards are conservative where wire parsing
* may still accept the value — narrow wire-parsed values when exact
* parity matters.
*/
export declare const MultiSelectItems: {
/** Narrow to the `string` variant, validating its payload. */
readonly isString: (value: types.MultiSelectItems) => value is types.StringMultiSelectItems & {
type: "string";
};
/** Narrow to the `titled` variant, validating its payload. */
readonly isTitled: (value: types.MultiSelectItems) => value is types.TitledMultiSelectItems;
/**
* Narrow to a custom or future variant: the `type` tag matches no known variant.
*
* TypeScript keeps the known variants in the narrowed union (they are
* structural subtypes of the catch-all), so read vendor payload keys
* via a widening cast: `(value as Record<string, unknown>).someKey`.
*/
readonly isCustom: (value: types.MultiSelectItems) => value is {
type: string;
[key: string]: unknown;
};
};
/**
* **UNSTABLE**
*
* This capability is not part of the spec yet, and may be removed or changed at any point.
*
* Response from the client to an elicitation request.
*
* @experimental
*/
export type CreateElicitationResponse = types.CreateElicitationResponse;
/**
* Validated type guards for `CreateElicitationResponse`'s known variants.
*
* Each guard validates the variant's payload, not just its discriminant
* tag: a malformed known variant (right tag, wrong payload) matches no
* guard — mirroring wire validation, which rejects such values instead
* of classifying them as custom.
*
* Guards check the value as given: fields that wire deserialization
* salvages to a default (e.g. a malformed `_meta`) are only normalized
* by parsing, and for ambiguous raw shapes (a known tag combined with
* another variant's payload) guards are conservative where wire parsing
* may still accept the value — narrow wire-parsed values when exact
* parity matters.
*
* @experimental
*/
export declare const CreateElicitationResponse: {
/** Narrow to the `accept` variant, validating its payload. */
readonly isAccept: (value: types.CreateElicitationResponse) => value is (types.ElicitationAcceptAction & {
action: "accept";
}) & Pick<types.CreateElicitationResponse, "_meta">;
/** Narrow to the `decline` variant, validating its payload. */
readonly isDecline: (value: types.CreateElicitationResponse) => value is {
action: "decline";
} & Pick<types.CreateElicitationResponse, "_meta">;
/** Narrow to the `cancel` variant, validating its payload. */
readonly isCancel: (value: types.CreateElicitationResponse) => value is {
action: "cancel";
} & Pick<types.CreateElicitationResponse, "_meta">;
/**
* Narrow to a custom or future variant: the `action` tag matches no known variant.
*
* TypeScript keeps the known variants in the narrowed union (they are
* structural subtypes of the catch-all), so read vendor payload keys
* via a widening cast: `(value as Record<string, unknown>).someKey`.
*/
readonly isCustom: (value: types.CreateElicitationResponse) => value is {
action: string;
[key: string]: unknown;
} & Pick<types.CreateElicitationResponse, "_meta">;
};