Outil : list_conversations
Liste les conversations.
L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP list_conversations.
| Requête Curl |
|---|
curl --location 'https://ces.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_conversations", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schéma d'entrée
Message de requête pour AgentService.ListConversations.
ListConversationsRequest
| Représentation JSON |
|---|
{ "parent": string, "pageSize": integer, "pageToken": string, "filter": string, "source": enum ( |
| Champs | |
|---|---|
parent |
Obligatoire. Nom de ressource de l'application à partir de laquelle lister les conversations. |
pageSize |
Facultatif. Taille de la page demandée. Le serveur peut renvoyer un nombre d'éléments inférieur à celui demandé. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée. |
pageToken |
Facultatif. La valeur |
filter |
Facultatif. Filtre à appliquer lors de la liste des conversations. Pour en savoir plus, consultez https://google.aip.dev/160. |
source |
Facultatif. Indiquez la source de la conversation. Si aucune valeur n'est définie, Source.Live est appliqué par défaut. Sera abandonné au profit du champ |
sources[] |
Facultatif. Indiquez les sources des conversations. Si aucune n'est définie, toutes les sources disponibles seront appliquées par défaut. |
Source
Source de la conversation.
| Enums | |
|---|---|
SOURCE_UNSPECIFIED |
Source non spécifiée. |
LIVE |
La conversation provient de l'utilisateur final. |
SIMULATOR |
La conversation provient du simulateur. |
EVAL |
La conversation provient de l'évaluation. |
AGENT_TOOL |
La conversation provient d'un outil d'agent. L'outil Agent exécute l'agent dans une session distincte, qui est conservée à des fins de test et de débogage. |
Schéma de sortie
Message de réponse pour AgentService.ListConversations.
ListConversationsResponse
| Représentation JSON |
|---|
{
"conversations": [
{
object ( |
| Champs | |
|---|---|
conversations[] |
Liste des conversations. |
nextPageToken |
Jeton pouvant être envoyé en tant que |
Conversation
| Représentation JSON |
|---|
{ "name": string, "startTime": string, "endTime": string, "turns": [ { object ( |
| Champs | |
|---|---|
name |
Identifiant. Identifiant unique de la conversation. Format : |
startTime |
Uniquement en sortie. Code temporel de la création de la conversation. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
endTime |
Uniquement en sortie. Horodatage de la fin de la conversation. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
turns[] |
Obligatoire. Les tours de parole dans la conversation. |
turnCount |
Uniquement en sortie. Nombre de tours de parole dans la conversation. |
channelType |
OBSOLÈTE. Veuillez utiliser |
source |
Uniquement en sortie. Indiquez la source de la conversation. |
inputTypes[] |
Uniquement en sortie. Types d'entrées de la conversation. |
entryAgent |
Uniquement en sortie. Agent qui gère initialement la conversation. Si aucune valeur n'est spécifiée, la conversation est gérée par l'agent racine. Format : |
deployment |
Uniquement en sortie. Déploiement de l'application utilisée pour traiter la conversation. Format : |
appVersion |
Uniquement en sortie. Version de l'application utilisée pour traiter la conversation. Format : |
languageCode |
Uniquement en sortie. Code de langue de la conversation. |
messages[] |
Obsolète. Utilisez plutôt les tours. |
Horodatage
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. Doit être compris entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z). |
nanos |
Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. Doit être compris entre 0 et 999 999 999 (inclus). |
Tourner
| Représentation JSON |
|---|
{ "messages": [ { object ( |
| Champs | |
|---|---|
messages[] |
Facultatif. Liste des messages du tour de conversation, y compris l'entrée utilisateur, les réponses de l'agent et les événements intermédiaires lors du traitement. |
rootSpan |
Facultatif. Portée racine du traitement de l'action. |
userIntendedText |
Facultatif. Texte de vérité terrain prévu de l'appelant simulé (Polysynth). N'est renseigné que lorsque les métriques sur le taux d'erreurs de mots sont activées. |
Message
| Représentation JSON |
|---|
{
"role": string,
"chunks": [
{
object ( |
| Champs | |
|---|---|
role |
Facultatif. Rôle dans la conversation (par exemple, utilisateur ou agent). |
chunks[] |
Facultatif. Contenu du message sous forme de série de blocs. |
eventTime |
Facultatif. Horodatage de l'envoi ou de la réception du message. Ne doit pas être utilisé si le message fait partie d'un Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
Chunk
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union data. Regroupez les données. data ne peut être qu'un des éléments suivants : |
|
text |
Facultatif. Données textuelles. |
transcript |
Facultatif. Transcription associée au contenu audio. |
blob |
Facultatif. Données blob. |
payload |
Facultatif. Données de charge utile personnalisées. |
image |
Facultatif. Données d'image. |
toolCall |
Facultatif. Requête d'exécution d'outil. |
toolResponse |
Facultatif. Réponse à l'exécution de l'outil. |
agentTransfer |
Facultatif. Événement de transfert d'agent. |
updatedVariables |
Une structure représente les variables qui ont été mises à jour dans la conversation, avec les noms de variables comme clés. |
defaultVariables |
Une structure représente les variables par défaut au début de la conversation, avec les noms de variables comme clés. |
Blob
| Représentation JSON |
|---|
{ "mimeType": string, "data": string } |
| Champs | |
|---|---|
mimeType |
Obligatoire. Type MIME standard IANA des données sources. |
data |
Obligatoire. Octets bruts de l'objet blob. Chaîne encodée en base64. |
Struct
| Représentation JSON |
|---|
{ "fields": { string: value, ... } } |
| Champs | |
|---|---|
fields |
Carte non ordonnée de valeurs typées dynamiquement. Objet contenant une liste de paires |
FieldsEntry
| Représentation JSON |
|---|
{ "key": string, "value": value } |
| Champs | |
|---|---|
key |
|
value |
|
Valeur
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union kind. Type de valeur. kind ne peut être qu'un des éléments suivants : |
|
nullValue |
Représente un |
numberValue |
Représente un nombre JSON. Ne doit pas être |
stringValue |
Représente une chaîne JSON. |
boolValue |
Représente une valeur booléenne JSON (littéral |
structValue |
Représente un objet JSON. |
listValue |
Représente un tableau JSON. |
ListValue
| Représentation JSON |
|---|
{ "values": [ value ] } |
| Champs | |
|---|---|
values[] |
Champ répété de valeurs typées de manière dynamique. |
Image
| Représentation JSON |
|---|
{ "mimeType": string, "data": string, "altText": string } |
| Champs | |
|---|---|
mimeType |
Obligatoire. Type MIME standard IANA des données sources. Les types d'images acceptés sont les suivants : * image/png * image/jpeg * image/webp |
data |
Obligatoire. Octets bruts de l'image. Chaîne encodée en base64. |
altText |
Facultatif. Texte alternatif de l'image. |
ToolCall
| Représentation JSON |
|---|
{ "id": string, "displayName": string, "args": { object }, "parentToolCallId": string, "agentName": string, // Union field |
| Champs | |
|---|---|
id |
Facultatif. Identifiant unique de l'appel d'outil. Si ce champ est renseigné, le client doit renvoyer le résultat de l'exécution avec l'ID correspondant dans |
displayName |
Uniquement en sortie. Nom à afficher de l'outil. |
args |
Facultatif. Paramètres et valeurs d'entrée de l'outil au format d'objet JSON. |
parentToolCallId |
Uniquement en sortie. ID de l'appel d'outil qui a déclenché celui-ci, lorsqu'il a été émis par un sous-agent travaillant pour le compte d'un appel parent. Vide pour les appels de premier niveau. Permet à un client de regrouper le travail d'un sous-agent sous l'appel qui l'a déclenché au lieu de rendre chaque étape en tant que frère. |
agentName |
Uniquement en sortie. Nom de l'agent lisible par l'humain qui a émis cet appel, par exemple "Architecte de contrat". Vide lorsque l'agent racine l'a émis. |
Champ d'union tool_identifier. Identifiant de l'outil à exécuter. Il peut s'agir d'un outil persistant ou d'un outil d'un ensemble d'outils. tool_identifier ne peut être qu'un des éléments suivants : |
|
tool |
Facultatif. Nom de l'outil à exécuter. Format : |
toolsetTool |
Facultatif. Outil du toolset à exécuter. |
ToolsetTool
| Représentation JSON |
|---|
{ "toolset": string, "toolId": string } |
| Champs | |
|---|---|
toolset |
Obligatoire. Nom de ressource du Toolset à partir duquel cet outil est dérivé. Format : |
toolId |
Facultatif. ID de l'outil permettant de filtrer les outils pour récupérer le schéma. |
ToolResponse
| Représentation JSON |
|---|
{ "id": string, "displayName": string, "response": { object }, "parentToolCallId": string, "agentName": string, // Union field |
| Champs | |
|---|---|
id |
Facultatif. ID correspondant du |
displayName |
Uniquement en sortie. Nom à afficher de l'outil. |
response |
Obligatoire. Résultat de l'exécution de l'outil au format d'objet JSON. Utilisez la clé "output" pour spécifier la réponse de l'outil et la clé "error" pour spécifier les détails de l'erreur (le cas échéant). Si les clés "output" et "error" ne sont pas spécifiées, l'ensemble de la "response" est traité comme le résultat de l'exécution de l'outil. |
parentToolCallId |
Uniquement en sortie. ID de l'appel d'outil qui a déclenché celui-ci, lorsqu'il a été émis par un sous-agent travaillant pour le compte d'un appel parent. Vide pour les appels de premier niveau. Permet à un client de regrouper le travail d'un sous-agent sous l'appel qui l'a déclenché au lieu de rendre chaque étape en tant que frère. |
agentName |
Uniquement en sortie. Nom de l'agent lisible par l'humain qui a émis cet appel, par exemple "Architecte de contrat". Vide lorsque l'agent racine l'a émis. |
Champ d'union tool_identifier. Identifiant de l'outil exécuté. Il peut s'agir d'un outil persistant ou d'un outil d'un ensemble d'outils. tool_identifier ne peut être qu'un des éléments suivants : |
|
tool |
Facultatif. Nom de l'outil à exécuter. Format : |
toolsetTool |
Facultatif. Outil de l'ensemble d'outils qui a été exécuté. |
AgentTransfer
| Représentation JSON |
|---|
{ "targetAgent": string, "displayName": string } |
| Champs | |
|---|---|
targetAgent |
Obligatoire. Agent auquel la conversation est transférée. L'agent gérera la conversation à partir de ce moment. Format : |
displayName |
Uniquement en sortie. Nom à afficher de l'agent. |
Segment
| Représentation JSON |
|---|
{
"name": string,
"startTime": string,
"endTime": string,
"duration": string,
"attributes": {
object
},
"childSpans": [
{
object ( |
| Champs | |
|---|---|
name |
Uniquement en sortie. Nom du segment. |
startTime |
Uniquement en sortie. Heure de début du segment. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
endTime |
Uniquement en sortie. Heure de fin de la période. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
duration |
Uniquement en sortie. Durée du segment. Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par " |
attributes |
Uniquement en sortie. Attributs clé-valeur associés à la portée. |
childSpans[] |
Uniquement en sortie. Les portées enfants imbriquées sous cette portée. |
Durée
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Secondes signées de la période. La valeur doit être comprise entre -315 576 000 000 et +315 576 000 000 (inclus). Remarque : Ces limites sont calculées à partir de : 60 s/min * 60 min/h * 24 h/jour * 365,25 jours/an * 10 000 ans. |
nanos |
Fractions de seconde signées avec une résolution en nanosecondes de la durée. Les durées inférieures à une seconde sont représentées par un champ |
NullValue
Représente un null JSON.
NullValue est une sentinelle qui utilise une énumération avec une seule valeur pour représenter la valeur nulle de l'union de type Value.
Un champ de type NullValue avec une valeur autre que 0 est considéré comme non valide. La plupart des sérialiseurs ProtoJSON émettent un Value avec un null_value défini comme un null JSON, quelle que soit la valeur entière, et effectuent donc un aller-retour vers une valeur 0.
| Enums | |
|---|---|
NULL_VALUE |
Valeur nulle. |
ChannelType
Type de canal de la conversation.
| Enums | |
|---|---|
CHANNEL_TYPE_UNSPECIFIED |
Type de canal non spécifié. |
TEXT |
La conversation ne contient que des messages texte entre l'utilisateur final et l'agent. |
AUDIO |
La conversation contient des messages audio entre l'utilisateur final et l'agent. |
MULTIMODAL |
Messages multimodaux (image, par exemple) de la conversation entre l'utilisateur final et l'agent. |
Source
Source de la conversation.
| Enums | |
|---|---|
SOURCE_UNSPECIFIED |
Source non spécifiée. |
LIVE |
La conversation provient de l'utilisateur final. |
SIMULATOR |
La conversation provient du simulateur. |
EVAL |
La conversation provient de l'évaluation. |
AGENT_TOOL |
La conversation provient d'un outil d'agent. L'outil Agent exécute l'agent dans une session distincte, qui est conservée à des fins de test et de débogage. |
InputType
Type du message d'entrée.
| Enums | |
|---|---|
INPUT_TYPE_UNSPECIFIED |
Type d'entrée non spécifié. |
INPUT_TYPE_TEXT |
Saisie de texte. |
INPUT_TYPE_EVENT |
Entrée d'événement. |
INPUT_TYPE_AUDIO |
Entrée audio. |
INPUT_TYPE_IMAGE |
Image d'entrée. |
INPUT_TYPE_BLOB |
Entrée Blob. |
INPUT_TYPE_TOOL_RESPONSE |
Entrée de réponse de l'outil de fonction client. |
INPUT_TYPE_VARIABLES |
Variables d'entrée. |
Annotations d'outils
Les annotations d'outil sont envoyées aux clients MCP pour décrire le risque de base d'un outil donné. La plupart des clients traitent ces indices comme non fiables, mais ils peuvent être utilisés pour déterminer quand un message de confirmation peut être envoyé à un utilisateur.
En plus de la chaîne de titre, les indications booléennes suivantes sont définies comme suit :
readOnlyHint: si la valeur est "true", l'outil ne modifie pas son environnement. Valeur par défaut : "false".destructiveHint: si la valeur est "true", l'outil peut effectuer des actions destructrices. Si la valeur est "false", l'outil ne peut effectuer que des actions d'ajout. Valeur par défaut : "true".idempotentHint: si la valeur est "true", appeler l'outil à plusieurs reprises avec les mêmes arguments n'aura aucun effet supplémentaire sur son environnement. Valeur par défaut : "false".openWorldHint: si la valeur est "true", l'outil peut interagir avec un "monde ouvert" d'entités externes. Si la valeur est "false", l'outil ne peut interagir qu'avec des entités internes. Par exemple, un outil de recherche Web serait en monde ouvert, tandis qu'un outil de mémoire ne le serait pas.
Indication destructive : ❌ | Indication idempotente : ✅ | Indication en lecture seule : ✅ | Indication Open World : ❌