Aller au contenu principal

SDK client Mastra

Le SDK client Mastra fournit une interface avec sûreté des types permettant d’interagir avec votre serveur Mastra depuis votre environnement client.

Exemple d’utilisation
Lien direct vers Exemple d’utilisation

lib/mastra/mastra-client.ts
import { MastraClient } from '@mastra/client-js'

export const mastraClient = new MastraClient({
baseUrl: 'http://localhost:4111/',
})

RequestContext
Lien direct vers requestcontext

Lorsque vous utilisez RequestContext avec le SDK client, importez-le depuis @mastra/client-js.

import { MastraClient, RequestContext } from '@mastra/client-js'

const client = new MastraClient({
baseUrl: 'http://localhost:4111/',
})

const requestContext = new RequestContext()
requestContext.set('userId', 'user-123')

const agent = client.getAgent('support-agent')

const response = await agent.generate('Summarize this ticket', {
requestContext,
})

Vous pouvez également transmettre requestContext sous forme de Record<string, any>.

Paramètres
Lien direct vers Paramètres

baseUrl:

string
URL de base de l’API Mastra. Toutes les requêtes sont envoyées relativement à cette URL.

retries?:

number
= 3
Nombre de nouvelles tentatives d’une requête en cas d’échec avant qu’une erreur ne soit levée.

backoffMs?:

number
= 300
Délai initial, en millisecondes, avant une nouvelle tentative après l’échec d’une requête. Cette valeur double à chaque tentative (backoff exponentiel).

maxBackoffMs?:

number
= 5000
Durée maximale du backoff, en millisecondes. Évite une attente trop longue entre les tentatives.

headers?:

Record<string, string>
Objet contenant les en-têtes HTTP personnalisés à inclure dans chaque requête.

credentials?:

"omit" | "same-origin" | "include"
Mode d’identification des requêtes. Pour en savoir plus, consultez https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials.

Méthodes
Lien direct vers Méthodes

listAgents():

Promise<Record<string, GetAgentResponse>>
Renvoie toutes les instances d’Agent disponibles.

getAgent(agentId):

Agent
Récupère une instance d’Agent donnée selon son ID.

listMemoryThreads(params):

Promise<StorageThreadType[]>
Récupère les fils de mémoire de la ressource et de l’Agent indiqués. Nécessite un resourceId et un agentId.

createMemoryThread(params):

Promise<MemoryThread>
Crée un nouveau fil de mémoire avec les paramètres fournis.

getMemoryThread({ threadId, agentId }):

MemoryThread
Récupère un fil de mémoire donné selon son ID.

saveMessageToMemory(params):

Promise<{ messages: (MastraMessageV1 | MastraDBMessage)[] }>
Enregistre un ou plusieurs messages dans le système de mémoire. Renvoie les messages enregistrés.

getMemoryStatus():

Promise<MemoryStatus>
Renvoie l’état actuel du système de mémoire.

listTools():

Record<string, Tool>
Renvoie tous les Tools disponibles.

getTool(toolId):

Tool
Récupère une instance de Tool donnée selon son ID.

listWorkflows():

Record<string, Workflow>
Renvoie toutes les instances de Workflow disponibles.

getWorkflow(workflowId):

Workflow
Récupère une instance de Workflow donnée selon son ID.

getAgentBuilderActions():

Promise<Record<string, WorkflowInfo>>
Renvoie toutes les actions Agent Builder disponibles. Consultez l’API Agent Builder.

getAgentBuilderAction(actionId):

AgentBuilder
Récupère une action Agent Builder selon son ID. Consultez l’API Agent Builder.

responses:

Responses
Fournit des utilitaires de l’API Responses dans le style OpenAI avec create(), retrieve(), stream() et delete().

conversations:

Conversations
Fournit des utilitaires de conversation avec create(), retrieve(), delete() et items.list().

getVector(vectorName):

MastraVector
Renvoie une instance de stockage vectoriel selon son nom.

listLogs(params):

Promise<LogEntry[]>
Récupère les logs système correspondant aux filtres fournis.

getLog(params):

Promise<LogEntry>
Récupère une entrée de log donnée selon son ID ou un filtre.

listLogTransports():

string[]
Renvoie la liste des types de transport de logs configurés.

getTrace(traceId):

Promise<TraceRecord>
Récupère une Trace donnée selon son ID, avec tous ses spans et leurs détails.

getTraces(params):

Promise<GetTracesResponse>
Récupère une liste paginée des spans racines des Traces avec un filtrage facultatif. Utilisez getTrace() pour obtenir des Traces complètes avec tous leurs spans.