El SDK de TypeScript proporciona seguridad de tipos completa, soporte para
ejecución asíncrona, limitación automática de tasa con retroceso exponencial y
seguimiento de uso.
Instalación
Instala el SDK usando tu gestor de paquetes preferido:- Tab Title
- Tab Title
- Tab Title
Inicio rápido
Aquí tienes un ejemplo sencillo para empezar:Referencia de la API
SimStudioClient
Constructor
config.apiKey(string): Tu clave API de Simconfig.baseUrl(string, opcional): URL base para la API de Aurora Workflow.(por defecto eshttps://Aurora Workflow.ai)
Métodos
executeWorkflow()
Ejecuta un flujo de trabajo con datos de entrada opcionales.workflowId(string): El ID del flujo de trabajo a ejecutaroptions(ExecutionOptions, opcional):input(any): Datos de entrada para pasar al flujo de trabajotimeout(number): Tiempo de espera en milisegundos (predeterminado: 30000)stream(boolean): Habilitar respuestas en streaming (predeterminado: false)selectedOutputs(string[]): Salidas de bloques para transmitir en formatoblockName.attribute(p. ej.,["agent1.content"])async(boolean): Ejecutar de forma asíncrona (predeterminado: false)
Promise<WorkflowExecutionResult | AsyncExecutionResult>
Cuando async: true, devuelve inmediatamente un ID de tarea para consultar. De lo contrario, espera hasta completarse.
getWorkflowStatus()
Obtener el estado de un flujo de trabajo (estado de implementación, etc.).workflowId(string): El ID del flujo de trabajo
Promise<WorkflowStatus>
validateWorkflow()
Validar que un flujo de trabajo está listo para su ejecución.workflowId(string): El ID del flujo de trabajo
Promise<boolean>
getJobStatus()
Obtener el estado de una ejecución de trabajo asíncrono.taskId(string): El ID de tarea devuelto por la ejecución asíncrona
Promise<JobStatus>
Campos de respuesta:
success(boolean): Si la solicitud fue exitosataskId(string): El ID de la tareastatus(string): Uno de'queued','processing','completed','failed','cancelled'metadata(object): ContienestartedAt,completedAt, ydurationoutput(any, opcional): La salida del flujo de trabajo (cuando se completa)error(any, opcional): Detalles del error (cuando falla)estimatedDuration(number, opcional): Duración estimada en milisegundos (cuando está procesando/en cola)
executeWithRetry()
Ejecutar un flujo de trabajo con reintento automático en errores de límite de tasa usando retroceso exponencial.workflowId(string): El ID del flujo de trabajo a ejecutaroptions(ExecutionOptions, opcional): Igual queexecuteWorkflow()retryOptions(RetryOptions, opcional):maxRetries(number): Número máximo de reintentos (predeterminado: 3)initialDelay(number): Retraso inicial en ms (predeterminado: 1000)maxDelay(number): Retraso máximo en ms (predeterminado: 30000)backoffMultiplier(number): Multiplicador de retroceso (predeterminado: 2)
Promise<WorkflowExecutionResult | AsyncExecutionResult>
La lógica de reintento utiliza retroceso exponencial (1s → 2s → 4s → 8s…) con fluctuación de ±25% para evitar el efecto de manada. Si la API proporciona una cabecera retry-after, se utilizará en su lugar.
getRateLimitInfo()
Obtiene la información actual del límite de tasa de la última respuesta de la API.RateLimitInfo | null
getUsageLimits()
Obtiene los límites de uso actuales y la información de cuota para tu cuenta.Promise<UsageLimits>
Estructura de respuesta:
setApiKey()
Actualiza la clave de API.setBaseUrl()
Actualiza la URL base.Tipos
WorkflowExecutionResult
AsyncExecutionResult
WorkflowStatus
RateLimitInfo
UsageLimits
SimStudioError
UNAUTHORIZED: Clave API inválidaTIMEOUT: Tiempo de espera agotadoRATE_LIMIT_EXCEEDED: Límite de tasa excedidoUSAGE_LIMIT_EXCEEDED: Límite de uso excedidoEXECUTION_ERROR: Ejecución del flujo de trabajo fallida
Ejemplos
Ejecución básica de flujo de trabajo
1
Inicializar el cliente
Configura el SimStudioClient con tu clave API.
2
Validar el flujo de trabajo
Comprueba si el flujo de trabajo está desplegado y listo para su ejecución.
3
Ejecutar el flujo de trabajo
Ejecuta el flujo de trabajo con tus datos de entrada.
4
Manejar el resultado
Procesa el resultado de la ejecución y gestiona cualquier error.
Manejo de errores
Maneja diferentes tipos de errores que pueden ocurrir durante la ejecución del flujo de trabajo:Configuración del entorno
Configura el cliente usando variables de entorno:- Tab Title
- Tab Title
Integración con Node.js Express
Integración con un servidor Express.js:Ruta API de Next.js
Uso con rutas API de Next.js:Uso en el navegador
Uso en el navegador (con configuración CORS adecuada):Carga de archivos
Los objetos File son detectados automáticamente y convertidos a formato base64. Inclúyelos en tu entrada bajo el nombre de campo que coincida con el formato de entrada del disparador API de tu flujo de trabajo. El SDK convierte los objetos File a este formato:- Tab Title
- Tab Title
Cuando uses el SDK en el navegador, ten cuidado de no exponer claves API
sensibles. Considera usar un proxy de backend o claves API públicas con
permisos limitados.
Ejemplo de hook de React
Crea un hook personalizado de React para la ejecución de flujos de trabajo:Ejecución asíncrona de flujos de trabajo
Ejecuta flujos de trabajo de forma asíncrona para tareas de larga duración:Limitación de tasa y reintentos
Maneja los límites de tasa automáticamente con retroceso exponencial:Monitoreo de uso
Monitorea el uso y los límites de tu cuenta:Ejecución de flujo de trabajo con streaming
Ejecuta flujos de trabajo con respuestas en streaming en tiempo real:Obtener tu clave API
1
Inicia sesión en Sim
Navega a [Sim](https://Aurora Workflow.ai) e inicia sesión en tu cuenta.
2
Abre tu flujo de trabajo
Navega al flujo de trabajo que quieres ejecutar programáticamente.
3
Despliega tu flujo de trabajo
Haz clic en “Desplegar” para desplegar tu flujo de trabajo si aún no ha sido
desplegado.
4
Crea o selecciona una clave API
Durante el proceso de despliegue, selecciona o crea una clave API.
5
Copia la clave API
Copia la clave API para usarla en tu aplicación TypeScript/JavaScript.
Requisitos
- Node.js 16+
- TypeScript 5.0+ (para proyectos TypeScript)
