};
// The set of interaction modes that the agent
// supports across all skills. This can be overridden per-skill.
defaultInputModes
:
string
[];
// supported mime types for input
defaultOutputModes
:
string
[];
// supported mime types for output
// Skills are a unit of capability that an agent can perform.
skills
: {
id
:
string
;
// unique identifier for the agent's skill
name
:
string
;
//human readable name of the skill
// description of the skill - will be used by the client or a human
// as a hint to understand what the skill does.
description
:
string
;
// Set of tagwords describing classes of capabilities for this specific
// skill (e.g. "cooking", "customer support", "billing")
tags
:
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. (e.g. "I need a recipe for bread")
examples
?:
string
[];
// example prompts for tasks
// The set of interaction modes that the skill supports
// (if different than the default)
inputModes
?:
string
[];
// supported mime types for input
outputModes
?:
string
[];
// supported mime types for output
}[];
}
interfaceTask { id: string; // unique identifier for the task sessionId: string; // client-generated id for the session holding the task. status: TaskStatus; // current status of the task history?: Message[]; artifacts?: Artifact[]; // collection of artifacts created by the agent. metadata?: Record<string, any>; // extension metadata } // TaskState and accompanying message. interfaceTaskStatus { state: TaskState; message?: Message; //additional status updates for client timestamp?: string; // ISO datetime value } // sent by server during sendSubscribe or subscribe requests interfaceTaskStatusUpdateEvent { id: string; status: TaskStatus; final: boolean; //indicates the end of the event stream metadata?: Record<string, any>; } // sent by server during sendSubscribe or subscribe requests interfaceTaskArtifactUpdateEvent { id: string; artifact: Artifact; metadata?: Record<string, any>; } // Sent by the client to the agent to create, continue, or restart a task. interfaceTaskSendParams { id: string; sessionId?: string; //server creates a new sessionId for new tasks if not set message: Message