/** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "A2AError". */ export type A2AError = JSONParseError | InvalidRequestError | MethodNotFoundError | InvalidParamsError | InternalError | TaskNotFoundError | TaskNotCancelableError | PushNotificationNotSupportedError | UnsupportedOperationError | ContentTypeNotSupportedError | InvalidAgentResponseError; /** * A2A supported request types * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "A2ARequest". */ export type A2ARequest = SendMessageRequest | SendStreamingMessageRequest | GetTaskRequest | CancelTaskRequest | SetTaskPushNotificationConfigRequest | GetTaskPushNotificationConfigRequest | TaskResubscriptionRequest; /** * Represents a part of a message, which can be text, a file, or structured data. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "Part". */ export type Part = TextPart | FilePart | DataPart; /** * Mirrors the OpenAPI Security Scheme Object * (https://swagger.io/specification/#security-scheme-object) * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "SecurityScheme". */ export type SecurityScheme = APIKeySecurityScheme | HTTPAuthSecurityScheme | OAuth2SecurityScheme | OpenIdConnectSecurityScheme; /** * JSON-RPC response for the 'tasks/cancel' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "CancelTaskResponse". */ export type CancelTaskResponse = JSONRPCErrorResponse | CancelTaskSuccessResponse; /** * Represents the possible states of a Task. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "TaskState". */ export type TaskState = "submitted" | "working" | "input-required" | "completed" | "canceled" | "failed" | "rejected" | "auth-required" | "unknown"; /** * JSON-RPC response for the 'tasks/pushNotificationConfig/set' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "GetTaskPushNotificationConfigResponse". */ export type GetTaskPushNotificationConfigResponse = JSONRPCErrorResponse | GetTaskPushNotificationConfigSuccessResponse; /** * JSON-RPC response for the 'tasks/get' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "GetTaskResponse". */ export type GetTaskResponse = JSONRPCErrorResponse | GetTaskSuccessResponse; /** * Represents a JSON-RPC 2.0 Response object. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "JSONRPCResponse". */ export type JSONRPCResponse = JSONRPCErrorResponse | SendMessageSuccessResponse | SendStreamingMessageSuccessResponse | GetTaskSuccessResponse | CancelTaskSuccessResponse | SetTaskPushNotificationConfigSuccessResponse | GetTaskPushNotificationConfigSuccessResponse; /** * JSON-RPC response model for the 'message/send' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "SendMessageResponse". */ export type SendMessageResponse = JSONRPCErrorResponse | SendMessageSuccessResponse; /** * JSON-RPC response model for the 'message/stream' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "SendStreamingMessageResponse". */ export type SendStreamingMessageResponse = JSONRPCErrorResponse | SendStreamingMessageSuccessResponse; /** * JSON-RPC response for the 'tasks/pushNotificationConfig/set' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "SetTaskPushNotificationConfigResponse". */ export type SetTaskPushNotificationConfigResponse = JSONRPCErrorResponse | SetTaskPushNotificationConfigSuccessResponse; export interface MySchema { [k: string]: unknown; } /** * JSON-RPC error indicating invalid JSON was received by the server. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "JSONParseError". */ export interface JSONParseError { /** * A Number that indicates the error type that occurred. */ code: -32700; /** * A Primitive or Structured value that contains additional information about the error. * This may be omitted. */ data?: { [k: string]: unknown; }; /** * A String providing a short description of the error. */ message: string; } /** * JSON-RPC error indicating the JSON sent is not a valid Request object. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "InvalidRequestError". */ export interface InvalidRequestError { /** * A Number that indicates the error type that occurred. */ code: -32600; /** * A Primitive or Structured value that contains additional information about the error. * This may be omitted. */ data?: { [k: string]: unknown; }; /** * A String providing a short description of the error. */ message: string; } /** * JSON-RPC error indicating the method does not exist or is not available. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "MethodNotFoundError". */ export interface MethodNotFoundError { /** * A Number that indicates the error type that occurred. */ code: -32601; /** * A Primitive or Structured value that contains additional information about the error. * This may be omitted. */ data?: { [k: string]: unknown; }; /** * A String providing a short description of the error. */ message: string; } /** * JSON-RPC error indicating invalid method parameter(s). * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "InvalidParamsError". */ export interface InvalidParamsError { /** * A Number that indicates the error type that occurred. */ code: -32602; /** * A Primitive or Structured value that contains additional information about the error. * This may be omitted. */ data?: { [k: string]: unknown; }; /** * A String providing a short description of the error. */ message: string; } /** * JSON-RPC error indicating an internal JSON-RPC error on the server. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "InternalError". */ export interface InternalError { /** * A Number that indicates the error type that occurred. */ code: -32603; /** * A Primitive or Structured value that contains additional information about the error. * This may be omitted. */ data?: { [k: string]: unknown; }; /** * A String providing a short description of the error. */ message: string; } /** * A2A specific error indicating the requested task ID was not found. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "TaskNotFoundError". */ export interface TaskNotFoundError { /** * A Number that indicates the error type that occurred. */ code: -32001; /** * A Primitive or Structured value that contains additional information about the error. * This may be omitted. */ data?: { [k: string]: unknown; }; /** * A String providing a short description of the error. */ message: string; } /** * A2A specific error indicating the task is in a state where it cannot be canceled. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "TaskNotCancelableError". */ export interface TaskNotCancelableError { /** * A Number that indicates the error type that occurred. */ code: -32002; /** * A Primitive or Structured value that contains additional information about the error. * This may be omitted. */ data?: { [k: string]: unknown; }; /** * A String providing a short description of the error. */ message: string; } /** * A2A specific error indicating the agent does not support push notifications. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "PushNotificationNotSupportedError". */ export interface PushNotificationNotSupportedError { /** * A Number that indicates the error type that occurred. */ code: -32003; /** * A Primitive or Structured value that contains additional information about the error. * This may be omitted. */ data?: { [k: string]: unknown; }; /** * A String providing a short description of the error. */ message: string; } /** * A2A specific error indicating the requested operation is not supported by the agent. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "UnsupportedOperationError". */ export interface UnsupportedOperationError { /** * A Number that indicates the error type that occurred. */ code: -32004; /** * A Primitive or Structured value that contains additional information about the error. * This may be omitted. */ data?: { [k: string]: unknown; }; /** * A String providing a short description of the error. */ message: string; } /** * A2A specific error indicating incompatible content types between request and agent capabilities. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "ContentTypeNotSupportedError". */ export interface ContentTypeNotSupportedError { /** * A Number that indicates the error type that occurred. */ code: -32005; /** * A Primitive or Structured value that contains additional information about the error. * This may be omitted. */ data?: { [k: string]: unknown; }; /** * A String providing a short description of the error. */ message: string; } /** * A2A specific error indicating agent returned invalid response for the current method * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "InvalidAgentResponseError". */ export interface InvalidAgentResponseError { /** * A Number that indicates the error type that occurred. */ code: -32006; /** * A Primitive or Structured value that contains additional information about the error. * This may be omitted. */ data?: { [k: string]: unknown; }; /** * A String providing a short description of the error. */ message: string; } /** * JSON-RPC request model for the 'message/send' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "SendMessageRequest". */ export interface SendMessageRequest { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; /** * A String containing the name of the method to be invoked. */ method: "message/send"; params: MessageSendParams; } /** * A Structured value that holds the parameter values to be used during the invocation of the method. */ export interface MessageSendParams { configuration?: MessageSendConfiguration; message: Message; /** * Extension metadata. */ metadata?: { [k: string]: unknown; }; } /** * Send message configuration. */ export interface MessageSendConfiguration { /** * Accepted output modalities by the client. */ acceptedOutputModes: string[]; /** * If the server should treat the client as a blocking request. */ blocking?: boolean; /** * Number of recent messages to be retrieved. */ historyLength?: number; pushNotificationConfig?: PushNotificationConfig; } /** * Where the server should send notifications when disconnected. */ export interface PushNotificationConfig { authentication?: PushNotificationAuthenticationInfo; /** * Push Notification ID - created by server to support multiple callbacks */ id?: string; /** * Token unique to this task/session. */ token?: string; /** * URL for sending the push notifications. */ url: string; } /** * Defines authentication details for push notifications. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "PushNotificationAuthenticationInfo". */ export interface PushNotificationAuthenticationInfo { /** * Optional credentials */ credentials?: string; /** * Supported authentication schemes - e.g. Basic, Bearer */ schemes: string[]; } /** * The message being sent to the server. */ export interface Message { /** * The context the message is associated with */ contextId?: string; /** * The URIs of extensions that are present or contributed to this Message. */ extensions?: string[]; /** * Event type */ kind: "message"; /** * Identifier created by the message creator */ messageId: string; /** * Extension metadata. */ metadata?: { [k: string]: unknown; }; /** * Message content */ parts: Part[]; /** * List of tasks referenced as context by this message. */ referenceTaskIds?: string[]; /** * Message sender's role */ role: "agent" | "user"; /** * Identifier of task the message is related to */ taskId?: string; } /** * Represents a text segment within parts. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "TextPart". */ export interface TextPart { /** * Part type - text for TextParts */ kind: "text"; /** * Optional metadata associated with the part. */ metadata?: { [k: string]: unknown; }; /** * Text content */ text: string; } /** * Represents a File segment within parts. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "FilePart". */ export interface FilePart { /** * File content either as url or bytes */ file: FileWithBytes | FileWithUri; /** * Part type - file for FileParts */ kind: "file"; /** * Optional metadata associated with the part. */ metadata?: { [k: string]: unknown; }; } /** * Define the variant where 'bytes' is present and 'uri' is absent * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "FileWithBytes". */ export interface FileWithBytes { /** * base64 encoded content of the file */ bytes: string; /** * Optional mimeType for the file */ mimeType?: string; /** * Optional name for the file */ name?: string; } /** * Define the variant where 'uri' is present and 'bytes' is absent * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "FileWithUri". */ export interface FileWithUri { /** * Optional mimeType for the file */ mimeType?: string; /** * Optional name for the file */ name?: string; /** * URL for the File content */ uri: string; } /** * Represents a structured data segment within a message part. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "DataPart". */ export interface DataPart { /** * Structured data content */ data: { [k: string]: unknown; }; /** * Part type - data for DataParts */ kind: "data"; /** * Optional metadata associated with the part. */ metadata?: { [k: string]: unknown; }; } /** * JSON-RPC request model for the 'message/stream' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "SendStreamingMessageRequest". */ export interface SendStreamingMessageRequest { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; /** * A String containing the name of the method to be invoked. */ method: "message/stream"; params: MessageSendParams1; } /** * A Structured value that holds the parameter values to be used during the invocation of the method. */ export interface MessageSendParams1 { configuration?: MessageSendConfiguration; message: Message; /** * Extension metadata. */ metadata?: { [k: string]: unknown; }; } /** * JSON-RPC request model for the 'tasks/get' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "GetTaskRequest". */ export interface GetTaskRequest { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; /** * A String containing the name of the method to be invoked. */ method: "tasks/get"; params: TaskQueryParams; } /** * A Structured value that holds the parameter values to be used during the invocation of the method. */ export interface TaskQueryParams { /** * Number of recent messages to be retrieved. */ historyLength?: number; /** * Task id. */ id: string; metadata?: { [k: string]: unknown; }; } /** * JSON-RPC request model for the 'tasks/cancel' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "CancelTaskRequest". */ export interface CancelTaskRequest { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; /** * A String containing the name of the method to be invoked. */ method: "tasks/cancel"; params: TaskIdParams; } /** * A Structured value that holds the parameter values to be used during the invocation of the method. */ export interface TaskIdParams { /** * Task id. */ id: string; metadata?: { [k: string]: unknown; }; } /** * JSON-RPC request model for the 'tasks/pushNotificationConfig/set' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "SetTaskPushNotificationConfigRequest". */ export interface SetTaskPushNotificationConfigRequest { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; /** * A String containing the name of the method to be invoked. */ method: "tasks/pushNotificationConfig/set"; params: TaskPushNotificationConfig; } /** * A Structured value that holds the parameter values to be used during the invocation of the method. */ export interface TaskPushNotificationConfig { pushNotificationConfig: PushNotificationConfig1; /** * Task id. */ taskId: string; } /** * Push notification configuration. */ export interface PushNotificationConfig1 { authentication?: PushNotificationAuthenticationInfo; /** * Push Notification ID - created by server to support multiple callbacks */ id?: string; /** * Token unique to this task/session. */ token?: string; /** * URL for sending the push notifications. */ url: string; } /** * JSON-RPC request model for the 'tasks/pushNotificationConfig/get' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "GetTaskPushNotificationConfigRequest". */ export interface GetTaskPushNotificationConfigRequest { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; /** * A String containing the name of the method to be invoked. */ method: "tasks/pushNotificationConfig/get"; params: TaskIdParams1; } /** * A Structured value that holds the parameter values to be used during the invocation of the method. */ export interface TaskIdParams1 { /** * Task id. */ id: string; metadata?: { [k: string]: unknown; }; } /** * JSON-RPC request model for the 'tasks/resubscribe' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "TaskResubscriptionRequest". */ export interface TaskResubscriptionRequest { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; /** * A String containing the name of the method to be invoked. */ method: "tasks/resubscribe"; params: TaskIdParams2; } /** * A Structured value that holds the parameter values to be used during the invocation of the method. */ export interface TaskIdParams2 { /** * Task id. */ id: string; metadata?: { [k: string]: unknown; }; } /** * API Key security scheme. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "APIKeySecurityScheme". */ export interface APIKeySecurityScheme { /** * Description of this security scheme. */ description?: string; /** * The location of the API key. Valid values are "query", "header", or "cookie". */ in: "cookie" | "header" | "query"; /** * The name of the header, query or cookie parameter to be used. */ name: string; type: "apiKey"; } /** * Defines optional capabilities supported by an agent. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "AgentCapabilities". */ export interface AgentCapabilities { /** * extensions supported by this agent. */ extensions?: AgentExtension[]; /** * true if the agent can notify updates to client. */ pushNotifications?: boolean; /** * true if the agent exposes status change history for tasks. */ stateTransitionHistory?: boolean; /** * true if the agent supports SSE. */ streaming?: boolean; } /** * A declaration of an extension supported by an Agent. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "AgentExtension". */ export interface AgentExtension { /** * A description of how this agent uses this extension. */ description?: string; /** * Optional configuration for the extension. */ params?: { [k: string]: unknown; }; /** * Whether the client must follow specific requirements of the extension. */ required?: boolean; /** * The URI of the extension. */ uri: string; } /** * An AgentCard conveys key information: * - Overall details (version, name, description, uses) * - Skills: A set of capabilities the agent can perform * - Default modalities/content types supported by the agent. * - Authentication requirements * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "AgentCard". */ export interface AgentCard { capabilities: AgentCapabilities1; /** * The set of interaction modes that the agent supports across all skills. This can be overridden per-skill. * Supported media types for input. */ defaultInputModes: string[]; /** * Supported media types for output. */ defaultOutputModes: string[]; /** * A human-readable description of the agent. Used to assist users and * other agents in understanding what the agent can do. */ description: string; /** * A URL to documentation for the agent. */ documentationUrl?: string; /** * A URL to an icon for the agent. */ iconUrl?: string; /** * Human readable name of the agent. */ name: string; provider?: AgentProvider; /** * Security requirements for contacting the agent. */ security?: { [k: string]: string[]; }[]; /** * Security scheme details used for authenticating with this agent. */ securitySchemes?: { [k: string]: SecurityScheme; }; /** * Skills are a unit of capability that an agent can perform. */ skills: AgentSkill[]; /** * true if the agent supports providing an extended agent card when the user is authenticated. * Defaults to false if not specified. */ supportsAuthenticatedExtendedCard?: boolean; /** * A URL to the address the agent is hosted at. */ url: string; /** * The version of the agent - format is up to the provider. */ version: string; } /** * Optional capabilities supported by the agent. */ export interface AgentCapabilities1 { /** * extensions supported by this agent. */ extensions?: AgentExtension[]; /** * true if the agent can notify updates to client. */ pushNotifications?: boolean; /** * true if the agent exposes status change history for tasks. */ stateTransitionHistory?: boolean; /** * true if the agent supports SSE. */ streaming?: boolean; } /** * The service provider of the agent */ export interface AgentProvider { /** * Agent provider's organization name. */ organization: string; /** * Agent provider's URL. */ url: string; } /** * HTTP Authentication security scheme. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "HTTPAuthSecurityScheme". */ export interface HTTPAuthSecurityScheme { /** * A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually * generated by an authorization server, so this information is primarily for documentation * purposes. */ bearerFormat?: string; /** * Description of this security scheme. */ description?: string; /** * The name of the HTTP Authentication scheme to be used in the Authorization header as defined * in RFC7235. The values used SHOULD be registered in the IANA Authentication Scheme registry. * The value is case-insensitive, as defined in RFC7235. */ scheme: string; type: "http"; } /** * OAuth2.0 security scheme configuration. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "OAuth2SecurityScheme". */ export interface OAuth2SecurityScheme { /** * Description of this security scheme. */ description?: string; flows: OAuthFlows; type: "oauth2"; } /** * An object containing configuration information for the flow types supported. */ export interface OAuthFlows { authorizationCode?: AuthorizationCodeOAuthFlow; clientCredentials?: ClientCredentialsOAuthFlow; implicit?: ImplicitOAuthFlow; password?: PasswordOAuthFlow; } /** * Configuration for the OAuth Authorization Code flow. Previously called accessCode in OpenAPI 2.0. */ export interface AuthorizationCodeOAuthFlow { /** * The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 * standard requires the use of TLS */ authorizationUrl: string; /** * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 * standard requires the use of TLS. */ refreshUrl?: string; /** * The available scopes for the OAuth2 security scheme. A map between the scope name and a short * description for it. The map MAY be empty. */ scopes: { [k: string]: string; }; /** * The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard * requires the use of TLS. */ tokenUrl: string; } /** * Configuration for the OAuth Client Credentials flow. Previously called application in OpenAPI 2.0 */ export interface ClientCredentialsOAuthFlow { /** * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 * standard requires the use of TLS. */ refreshUrl?: string; /** * The available scopes for the OAuth2 security scheme. A map between the scope name and a short * description for it. The map MAY be empty. */ scopes: { [k: string]: string; }; /** * The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard * requires the use of TLS. */ tokenUrl: string; } /** * Configuration for the OAuth Implicit flow */ export interface ImplicitOAuthFlow { /** * The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 * standard requires the use of TLS */ authorizationUrl: string; /** * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 * standard requires the use of TLS. */ refreshUrl?: string; /** * The available scopes for the OAuth2 security scheme. A map between the scope name and a short * description for it. The map MAY be empty. */ scopes: { [k: string]: string; }; } /** * Configuration for the OAuth Resource Owner Password flow */ export interface PasswordOAuthFlow { /** * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 * standard requires the use of TLS. */ refreshUrl?: string; /** * The available scopes for the OAuth2 security scheme. A map between the scope name and a short * description for it. The map MAY be empty. */ scopes: { [k: string]: string; }; /** * The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard * requires the use of TLS. */ tokenUrl: string; } /** * OpenID Connect security scheme configuration. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "OpenIdConnectSecurityScheme". */ export interface OpenIdConnectSecurityScheme { /** * Description of this security scheme. */ description?: string; /** * Well-known URL to discover the [[OpenID-Connect-Discovery]] provider metadata. */ openIdConnectUrl: string; type: "openIdConnect"; } /** * Represents a unit of capability that an agent can perform. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "AgentSkill". */ export interface AgentSkill { /** * Description of the skill - will be used by the client or a human * as a hint to understand what the skill does. */ description: string; /** * The set of example scenarios that the skill can perform. * Will be used by the client as a hint to understand how the skill can be used. */ examples?: string[]; /** * Unique identifier for the agent's skill. */ id: string; /** * The set of interaction modes that the skill supports * (if different than the default). * Supported media types for input. */ inputModes?: string[]; /** * Human readable name of the skill. */ name: string; /** * Supported media types for output. */ outputModes?: string[]; /** * Set of tagwords describing classes of capabilities for this specific skill. */ tags: string[]; } /** * Represents the service provider of an agent. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "AgentProvider". */ export interface AgentProvider1 { /** * Agent provider's organization name. */ organization: string; /** * Agent provider's URL. */ url: string; } /** * Represents an artifact generated for a task. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "Artifact". */ export interface Artifact { /** * Unique identifier for the artifact. */ artifactId: string; /** * Optional description for the artifact. */ description?: string; /** * The URIs of extensions that are present or contributed to this Artifact. */ extensions?: string[]; /** * Extension metadata. */ metadata?: { [k: string]: unknown; }; /** * Optional name for the artifact. */ name?: string; /** * Artifact parts. */ parts: Part[]; } /** * Configuration details for a supported OAuth Flow * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "AuthorizationCodeOAuthFlow". */ export interface AuthorizationCodeOAuthFlow1 { /** * The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 * standard requires the use of TLS */ authorizationUrl: string; /** * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 * standard requires the use of TLS. */ refreshUrl?: string; /** * The available scopes for the OAuth2 security scheme. A map between the scope name and a short * description for it. The map MAY be empty. */ scopes: { [k: string]: string; }; /** * The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard * requires the use of TLS. */ tokenUrl: string; } /** * Represents a JSON-RPC 2.0 Error Response object. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "JSONRPCErrorResponse". */ export interface JSONRPCErrorResponse { error: JSONRPCError | JSONParseError | InvalidRequestError | MethodNotFoundError | InvalidParamsError | InternalError | TaskNotFoundError | TaskNotCancelableError | PushNotificationNotSupportedError | UnsupportedOperationError | ContentTypeNotSupportedError | InvalidAgentResponseError; /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number | null; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; } /** * Represents a JSON-RPC 2.0 Error object. * This is typically included in a JSONRPCErrorResponse when an error occurs. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "JSONRPCError". */ export interface JSONRPCError { /** * A Number that indicates the error type that occurred. */ code: number; /** * A Primitive or Structured value that contains additional information about the error. * This may be omitted. */ data?: { [k: string]: unknown; }; /** * A String providing a short description of the error. */ message: string; } /** * JSON-RPC success response model for the 'tasks/cancel' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "CancelTaskSuccessResponse". */ export interface CancelTaskSuccessResponse { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number | null; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; result: Task; } /** * The result object on success. */ export interface Task { /** * Collection of artifacts created by the agent. */ artifacts?: Artifact[]; /** * Server-generated id for contextual alignment across interactions */ contextId: string; history?: Message1[]; /** * Unique identifier for the task */ id: string; /** * Event type */ kind: "task"; /** * Extension metadata. */ metadata?: { [k: string]: unknown; }; status: TaskStatus; } /** * Represents a single message exchanged between user and agent. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "Message". */ export interface Message1 { /** * The context the message is associated with */ contextId?: string; /** * The URIs of extensions that are present or contributed to this Message. */ extensions?: string[]; /** * Event type */ kind: "message"; /** * Identifier created by the message creator */ messageId: string; /** * Extension metadata. */ metadata?: { [k: string]: unknown; }; /** * Message content */ parts: Part[]; /** * List of tasks referenced as context by this message. */ referenceTaskIds?: string[]; /** * Message sender's role */ role: "agent" | "user"; /** * Identifier of task the message is related to */ taskId?: string; } /** * Current status of the task */ export interface TaskStatus { message?: Message2; state: TaskState; /** * ISO 8601 datetime string when the status was recorded. */ timestamp?: string; } /** * Represents a single message exchanged between user and agent. */ export interface Message2 { /** * The context the message is associated with */ contextId?: string; /** * The URIs of extensions that are present or contributed to this Message. */ extensions?: string[]; /** * Event type */ kind: "message"; /** * Identifier created by the message creator */ messageId: string; /** * Extension metadata. */ metadata?: { [k: string]: unknown; }; /** * Message content */ parts: Part[]; /** * List of tasks referenced as context by this message. */ referenceTaskIds?: string[]; /** * Message sender's role */ role: "agent" | "user"; /** * Identifier of task the message is related to */ taskId?: string; } /** * Configuration details for a supported OAuth Flow * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "ClientCredentialsOAuthFlow". */ export interface ClientCredentialsOAuthFlow1 { /** * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 * standard requires the use of TLS. */ refreshUrl?: string; /** * The available scopes for the OAuth2 security scheme. A map between the scope name and a short * description for it. The map MAY be empty. */ scopes: { [k: string]: string; }; /** * The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard * requires the use of TLS. */ tokenUrl: string; } /** * Represents the base entity for FileParts * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "FileBase". */ export interface FileBase { /** * Optional mimeType for the file */ mimeType?: string; /** * Optional name for the file */ name?: string; } /** * JSON-RPC success response model for the 'tasks/pushNotificationConfig/get' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "GetTaskPushNotificationConfigSuccessResponse". */ export interface GetTaskPushNotificationConfigSuccessResponse { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number | null; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; result: TaskPushNotificationConfig1; } /** * The result object on success. */ export interface TaskPushNotificationConfig1 { pushNotificationConfig: PushNotificationConfig1; /** * Task id. */ taskId: string; } /** * JSON-RPC success response for the 'tasks/get' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "GetTaskSuccessResponse". */ export interface GetTaskSuccessResponse { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number | null; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; result: Task1; } /** * The result object on success. */ export interface Task1 { /** * Collection of artifacts created by the agent. */ artifacts?: Artifact[]; /** * Server-generated id for contextual alignment across interactions */ contextId: string; history?: Message1[]; /** * Unique identifier for the task */ id: string; /** * Event type */ kind: "task"; /** * Extension metadata. */ metadata?: { [k: string]: unknown; }; status: TaskStatus; } /** * Configuration details for a supported OAuth Flow * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "ImplicitOAuthFlow". */ export interface ImplicitOAuthFlow1 { /** * The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 * standard requires the use of TLS */ authorizationUrl: string; /** * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 * standard requires the use of TLS. */ refreshUrl?: string; /** * The available scopes for the OAuth2 security scheme. A map between the scope name and a short * description for it. The map MAY be empty. */ scopes: { [k: string]: string; }; } /** * Base interface for any JSON-RPC 2.0 request or response. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "JSONRPCMessage". */ export interface JSONRPCMessage { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id?: string | number | null; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; } /** * Represents a JSON-RPC 2.0 Request object. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "JSONRPCRequest". */ export interface JSONRPCRequest { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id?: string | number | null; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; /** * A String containing the name of the method to be invoked. */ method: string; /** * A Structured value that holds the parameter values to be used during the invocation of the method. */ params?: { [k: string]: unknown; }; } /** * JSON-RPC success response model for the 'message/send' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "SendMessageSuccessResponse". */ export interface SendMessageSuccessResponse { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number | null; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; /** * The result object on success */ result: Task2 | Message1; } /** * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "Task". */ export interface Task2 { /** * Collection of artifacts created by the agent. */ artifacts?: Artifact[]; /** * Server-generated id for contextual alignment across interactions */ contextId: string; history?: Message1[]; /** * Unique identifier for the task */ id: string; /** * Event type */ kind: "task"; /** * Extension metadata. */ metadata?: { [k: string]: unknown; }; status: TaskStatus; } /** * JSON-RPC success response model for the 'message/stream' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "SendStreamingMessageSuccessResponse". */ export interface SendStreamingMessageSuccessResponse { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number | null; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; /** * The result object on success */ result: Task2 | Message1 | TaskStatusUpdateEvent | TaskArtifactUpdateEvent; } /** * Sent by server during sendStream or subscribe requests * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "TaskStatusUpdateEvent". */ export interface TaskStatusUpdateEvent { /** * The context the task is associated with */ contextId: string; /** * Indicates the end of the event stream */ final: boolean; /** * Event type */ kind: "status-update"; /** * Extension metadata. */ metadata?: { [k: string]: unknown; }; status: TaskStatus1; /** * Task id */ taskId: string; } /** * Current status of the task */ export interface TaskStatus1 { message?: Message2; state: TaskState; /** * ISO 8601 datetime string when the status was recorded. */ timestamp?: string; } /** * Sent by server during sendStream or subscribe requests * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "TaskArtifactUpdateEvent". */ export interface TaskArtifactUpdateEvent { /** * Indicates if this artifact appends to a previous one */ append?: boolean; artifact: Artifact1; /** * The context the task is associated with */ contextId: string; /** * Event type */ kind: "artifact-update"; /** * Indicates if this is the last chunk of the artifact */ lastChunk?: boolean; /** * Extension metadata. */ metadata?: { [k: string]: unknown; }; /** * Task id */ taskId: string; } /** * Represents an artifact generated for a task. */ export interface Artifact1 { /** * Unique identifier for the artifact. */ artifactId: string; /** * Optional description for the artifact. */ description?: string; /** * The URIs of extensions that are present or contributed to this Artifact. */ extensions?: string[]; /** * Extension metadata. */ metadata?: { [k: string]: unknown; }; /** * Optional name for the artifact. */ name?: string; /** * Artifact parts. */ parts: Part[]; } /** * JSON-RPC success response model for the 'tasks/pushNotificationConfig/set' method. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "SetTaskPushNotificationConfigSuccessResponse". */ export interface SetTaskPushNotificationConfigSuccessResponse { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number | null; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; result: TaskPushNotificationConfig2; } /** * The result object on success. */ export interface TaskPushNotificationConfig2 { pushNotificationConfig: PushNotificationConfig1; /** * Task id. */ taskId: string; } /** * Represents a JSON-RPC 2.0 Success Response object. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "JSONRPCSuccessResponse". */ export interface JSONRPCSuccessResponse { /** * An identifier established by the Client that MUST contain a String, Number. * Numbers SHOULD NOT contain fractional parts. */ id: string | number | null; /** * Specifies the version of the JSON-RPC protocol. MUST be exactly "2.0". */ jsonrpc: "2.0"; /** * The result object on success */ result: { [k: string]: unknown; }; } /** * Configuration for the send message request. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "MessageSendConfiguration". */ export interface MessageSendConfiguration1 { /** * Accepted output modalities by the client. */ acceptedOutputModes: string[]; /** * If the server should treat the client as a blocking request. */ blocking?: boolean; /** * Number of recent messages to be retrieved. */ historyLength?: number; pushNotificationConfig?: PushNotificationConfig; } /** * Sent by the client to the agent as a request. May create, continue or restart a task. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "MessageSendParams". */ export interface MessageSendParams2 { configuration?: MessageSendConfiguration; message: Message; /** * Extension metadata. */ metadata?: { [k: string]: unknown; }; } /** * Allows configuration of the supported OAuth Flows * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "OAuthFlows". */ export interface OAuthFlows1 { authorizationCode?: AuthorizationCodeOAuthFlow; clientCredentials?: ClientCredentialsOAuthFlow; implicit?: ImplicitOAuthFlow; password?: PasswordOAuthFlow; } /** * Base properties common to all message parts. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "PartBase". */ export interface PartBase { /** * Optional metadata associated with the part. */ metadata?: { [k: string]: unknown; }; } /** * Configuration details for a supported OAuth Flow * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "PasswordOAuthFlow". */ export interface PasswordOAuthFlow1 { /** * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 * standard requires the use of TLS. */ refreshUrl?: string; /** * The available scopes for the OAuth2 security scheme. A map between the scope name and a short * description for it. The map MAY be empty. */ scopes: { [k: string]: string; }; /** * The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard * requires the use of TLS. */ tokenUrl: string; } /** * Configuration for setting up push notifications for task updates. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "PushNotificationConfig". */ export interface PushNotificationConfig2 { authentication?: PushNotificationAuthenticationInfo; /** * Push Notification ID - created by server to support multiple callbacks */ id?: string; /** * Token unique to this task/session. */ token?: string; /** * URL for sending the push notifications. */ url: string; } /** * Base properties shared by all security schemes. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "SecuritySchemeBase". */ export interface SecuritySchemeBase { /** * Description of this security scheme. */ description?: string; } /** * Parameters containing only a task ID, used for simple task operations. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "TaskIdParams". */ export interface TaskIdParams3 { /** * Task id. */ id: string; metadata?: { [k: string]: unknown; }; } /** * Parameters for setting or getting push notification configuration for a task * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "TaskPushNotificationConfig". */ export interface TaskPushNotificationConfig3 { pushNotificationConfig: PushNotificationConfig1; /** * Task id. */ taskId: string; } /** * Parameters for querying a task, including optional history length. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "TaskQueryParams". */ export interface TaskQueryParams1 { /** * Number of recent messages to be retrieved. */ historyLength?: number; /** * Task id. */ id: string; metadata?: { [k: string]: unknown; }; } /** * TaskState and accompanying message. * * This interface was referenced by `MySchema`'s JSON-Schema * via the `definition` "TaskStatus". */ export interface TaskStatus2 { message?: Message2; state: TaskState; /** * ISO 8601 datetime string when the status was recorded. */ timestamp?: string; } export type AgentSummary = { name: string; description: string; url: string; }; //# sourceMappingURL=types.d.ts.map