Skip to main content
El SDK oficial de TypeScript/JavaScript para Aurora Workflow.proporciona seguridad de tipos completa y es compatible tanto con entornos Node.js como con navegadores, lo que te permite ejecutar flujos de trabajo programáticamente desde tus aplicaciones Node.js, aplicaciones web y otros entornos JavaScript.
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:

Inicio rápido

Aquí tienes un ejemplo sencillo para empezar:

Referencia de la API

SimStudioClient

Constructor

Configuración:
  • config.apiKey (string): Tu clave API de Sim
  • config.baseUrl (string, opcional): URL base para la API de Aurora Workflow.(por defecto es https://Aurora Workflow.ai)

Métodos

executeWorkflow()
Ejecuta un flujo de trabajo con datos de entrada opcionales.
Parámetros:
  • workflowId (string): El ID del flujo de trabajo a ejecutar
  • options (ExecutionOptions, opcional):
    • input (any): Datos de entrada para pasar al flujo de trabajo
    • timeout (number): Tiempo de espera en milisegundos (predeterminado: 30000)
    • stream (boolean): Habilitar respuestas en streaming (predeterminado: false)
    • selectedOutputs (string[]): Salidas de bloques para transmitir en formato blockName.attribute (p. ej., ["agent1.content"])
    • async (boolean): Ejecutar de forma asíncrona (predeterminado: false)
Devuelve: 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.).
Parámetros:
  • workflowId (string): El ID del flujo de trabajo
Devuelve: Promise<WorkflowStatus>
validateWorkflow()
Validar que un flujo de trabajo está listo para su ejecución.
Parámetros:
  • workflowId (string): El ID del flujo de trabajo
Devuelve: Promise<boolean>
getJobStatus()
Obtener el estado de una ejecución de trabajo asíncrono.
Parámetros:
  • taskId (string): El ID de tarea devuelto por la ejecución asíncrona
Devuelve: Promise<JobStatus> Campos de respuesta:
  • success (boolean): Si la solicitud fue exitosa
  • taskId (string): El ID de la tarea
  • status (string): Uno de 'queued', 'processing', 'completed', 'failed', 'cancelled'
  • metadata (object): Contiene startedAt, completedAt, y duration
  • output (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.
Parámetros:
  • workflowId (string): El ID del flujo de trabajo a ejecutar
  • options (ExecutionOptions, opcional): Igual que executeWorkflow()
  • 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)
Devuelve: 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.
Devuelve: RateLimitInfo | null
getUsageLimits()
Obtiene los límites de uso actuales y la información de cuota para tu cuenta.
Devuelve: Promise<UsageLimits> Estructura de respuesta:
setApiKey()
Actualiza la clave de API.
setBaseUrl()
Actualiza la URL base.

Tipos

WorkflowExecutionResult

AsyncExecutionResult

WorkflowStatus

RateLimitInfo

UsageLimits

SimStudioError

Códigos de error comunes:
  • UNAUTHORIZED: Clave API inválida
  • TIMEOUT: Tiempo de espera agotado
  • RATE_LIMIT_EXCEEDED: Límite de tasa excedido
  • USAGE_LIMIT_EXCEEDED: Límite de uso excedido
  • EXECUTION_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:

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:
Alternativamente, puedes proporcionar archivos manualmente usando el formato URL:
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:
La respuesta en streaming sigue el formato de eventos enviados por el servidor (SSE):
Ejemplo de streaming en React:

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)

Licencia

Apache-2.0