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; /** Narrow to the `url` variant, validating its payload. */ readonly isUrl: (value: types.CreateElicitationRequest) => value is (types.ElicitationUrlMode & { mode: "url"; }) & Pick; /** * 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).someKey`. */ readonly isCustom: (value: types.CreateElicitationRequest) => value is ((types.ElicitationSessionScope | types.ElicitationRequestScope) & { mode: string; [key: string]: unknown; }) & Pick; }; /** * 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).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).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; /** Narrow to the `decline` variant, validating its payload. */ readonly isDecline: (value: types.CreateElicitationResponse) => value is { action: "decline"; } & Pick; /** Narrow to the `cancel` variant, validating its payload. */ readonly isCancel: (value: types.CreateElicitationResponse) => value is { action: "cancel"; } & Pick; /** * 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).someKey`. */ readonly isCustom: (value: types.CreateElicitationResponse) => value is { action: string; [key: string]: unknown; } & Pick; };