Saltar a contenido

Novedades de 0.15.0

Publicada el 2026-10-21: SDK Python rayito 0.15.0, SDK TypeScript rayito 0.15.0 y rayd 0.15.0.

0.15.0 trae rayito setup, una orden que prepara la cuenta y la región, y te deja desplegar el agente que ya tienes en Amazon Bedrock AgentCore Runtime con la misma orden de 0.14 y una opción más: --target agentcore. El destino por defecto sigue siendo una flota de MicroVMs, y nada cambia para quien no la use.

Todo lo que cuesta sigue apagado por defecto: sin --target agentcore no se crea nada ni se carga ningún cliente de AgentCore, CodeBuild o ECR, y --dry-run no llama a AWS.

rayito setup: prepara la cuenta en una orden

rayito setup hace en una orden idempotente lo que antes eran varios pasos a mano, como cdk bootstrap. Lee la cuenta, muestra el plan y el coste aproximado, pide confirmación (--yes, --dry-run sólo lee) y termina con rayito doctor:

rayito setup --dry-run   # el plan y el coste; sólo lee
rayito setup             # reutiliza o crea el bucket, crea la pila de IAM y publica rayito-base
  • Bucket de artefactos. Reutiliza --bucket, RAYITO_BUCKET, el de la pila de IAM o el del bootstrap de CDK; si no hay ninguno, lo crea con la pila rayito-m0-artifacts (cifrado, privado, sólo TLS). Siempre comprueba que el bucket es de tu cuenta: uno con el mismo nombre en otra cuenta no se reutiliza.
  • Pila de IAM rayito-m0-iam, que se crea o se actualiza si cambió el bucket.
  • Imagen base rayito-base, desde el rayito-image.zip de la release de tu versión (comprobado contra su SHA256SUMS) o desde --artifact. Un build interrumpido se reanuda en vez de lanzar otro.

Los errores tienen un código cerrado (bucket_unavailable, bucket_taken, artifact_stack_conflict…) y con --json la salida es un único documento. rayito agent deploy y deploy_agent() encuentran el bucket que creó. Paso a paso: Configurar AWS.

Un agente en AgentCore

rayito agent deploy ./mi-agente --target agentcore --dry-run   # el plan, la seguridad y el coste; no llama a AWS
rayito agent deploy ./mi-agente --target agentcore \
  --bedrock-model us.anthropic.claude-haiku-4-5-20251001-v1:0
rayito agent invoke mi-agente "Resume el README." --target agentcore
from rayito import AgentCoreOptions, AgentDeployOptions, deploy_agent

fleet = deploy_agent(
    "./mi-agente",
    options=AgentDeployOptions(bucket="amzn-s3-demo-bucket"),
    target="agentcore",
    agentcore=AgentCoreOptions(
        bedrock_models=("us.anthropic.claude-haiku-4-5-20251001-v1:0",),
    ),
)
reply = fleet.invoke("Resume el README.")
print(reply.text, reply.session_id)
import { deployAgent } from "rayito";

const fleet = await deployAgent("./mi-agente", {
  options: { bucket: "amzn-s3-demo-bucket" },
  target: "agentcore",
  agentcore: {
    bedrockModels: ["us.anthropic.claude-haiku-4-5-20251001-v1:0"],
  },
});
const reply = await fleet.invoke("Resume el README.");
console.log(reply.text, reply.sessionId);

Rayito construye la imagen linux/arm64 en CodeBuild (sin Docker local), la sube a Amazon ECR, crea un rol de ejecución de mínimo privilegio, crea o actualiza el runtime de forma idempotente (volver a desplegar es una actualización, nunca un duplicado), espera a que esté listo y activa MMDSv2, que AgentCore exige desde el 2026-06-30. fleet.invoke() y fleet.stream() tienen la misma firma y las mismas sesiones que una flota de MicroVMs. Detalle en Desplegar en AgentCore.

Funciona con todos los frameworks que ya despliega la detección de 0.14: LangGraph y LangGraph.js, LangChain y deepagents, Strands y su harness, Hermes, OpenCode, el AI SDK de Vercel y una app propia con Flask o Express.

La diferencia de seguridad

AgentCore no tiene la pasarela de secretos de Rayito: el agente obtiene las credenciales del rol del runtime, y cualquier código que corra en la sesión puede leerlas. Dentro de un MicroVM de Rayito no pasa. Por eso el rol que crea Rayito es de mínimo privilegio: sólo invoca en Bedrock los modelos de --bedrock-model y sólo lee los secretos de --readable-secret. El plan que imprime la CLI, el README del contexto exportado, la guía y Seguridad lo dicen con las mismas palabras.

Operar los agentes

Orden Qué hace
rayito agent status NOMBRE --target agentcore estado, versión, imagen y logs del runtime
rayito agent list --target agentcore los agentes de Rayito de la región
rayito agent stop NOMBRE --target agentcore --session-id ID termina la microVM de una sesión
rayito agent delete NOMBRE --target agentcore borra el runtime, la pila con su repositorio de ECR y el grupo de logs; sólo lo que creó Rayito

AgentCoreFleet.connect(nombre) hace lo mismo desde el SDK, y --tag K=V pasa etiquetas a la pila y al runtime si tu organización las exige.

Lo que no aplica a AgentCore

Las opciones que dimensionan una flota de MicroVMs (min_vms, max_vms, warm_vms, memory_mib, --port, --idle, --secret, --token-file…) no existen en AgentCore: en la llamada son un error (option_not_supported) y en el fichero de proyecto un aviso en el plan. Rayito no las aproxima en silencio. La tabla completa dice qué hace cada una.

Constructos de AWS CDK

Si tu infraestructura vive en AWS CDK, dos constructos nuevos declaran lo de Rayito en tu propia app y lo despliegan con cdk deploy, en Python (rayito.cdk, extra cdk) y en TypeScript (rayito/cdk):

  • RayitoAgent: el mismo agente que --target agentcore, con la misma plantilla y el mismo IAM que la CLI. La imagen se construye por defecto en CodeBuild (AgentImageBuild.codeBuild(), sin Docker local) o con tu Docker (localDocker()), y un recurso personalizado activa MMDSv2.
  • RayitoMicrovmImage: una imagen de Lambda MicroVMs con rayd (y sus tamaños), desde el rayito-image.zip de una release comprobado contra su SHA256SUMS (MicrovmImageArtifact.downloadRelease()) o desde un zip tuyo. Los sandboxes se siguen creando con el SDK por el nombre de la imagen.
import aws_cdk as cdk
from rayito.cdk import RayitoAgent

app = cdk.App()
stack = cdk.Stack(app, "Agentes", env=cdk.Environment(region="us-east-1"))
RayitoAgent(
    stack,
    "SupportBot",
    project="./mi-agente",
    bedrock_models=["us.anthropic.claude-haiku-4-5-20251001-v1:0"],
)
app.synth()
import { App, Stack } from "aws-cdk-lib";
import { RayitoAgent } from "rayito/cdk";

const app = new App();
const stack = new Stack(app, "Agentes", { env: { region: "us-east-1" } });
new RayitoAgent(stack, "SupportBot", {
  project: "./mi-agente",
  bedrockModels: ["us.anthropic.claude-haiku-4-5-20251001-v1:0"],
});

cdk synth no llama a AWS. La CLI y el SDK listan, consultan e invocan un agente de CDK como cualquier otro, pero rayito agent deploy, rayito agent delete y rayito image publish se niegan a cambiar lo que gestiona CloudFormation. Paso a paso, con el bootstrap etiquetado, el coste y cómo migrar un agente de la CLI: Desplegar con CDK.

Cambios a tener en cuenta

No hay cambios que rompan la API.

  • Contexto exportado para AgentCore. El Dockerfile de rayito agent export --target agentcore toma la imagen base de un argumento de build AGENT_BASE_IMAGE (con la misma referencia fijada por digest como valor por defecto) y el README.md explica cómo desplegarlo. El Dockerfile y el README.md del destino docker no cambian.
  • Una vez, la imagen de tus agentes de MicroVMs se reconstruye. El host del agente y, en los frameworks de Node, el puente node_bridge.mjs llevan ahora el soporte de AgentCore (id de sesión y credenciales del rol). Forman parte del contexto de build, así que el primer deploy_agent tras actualizar crea una versión de imagen nueva (unos $0,011 y al menos una semana de almacenamiento de su snapshot) aunque tu código no haya cambiado; los siguientes la reutilizan.
  • TypeScript: cuatro peers opcionales nuevos (@aws-sdk/client-bedrock-agentcore-control, @aws-sdk/client-bedrock-agentcore, @aws-sdk/client-codebuild y @aws-sdk/client-ecr), que sólo hacen falta con target: "agentcore".
  • Una excepción nueva, AgentCoreException / AgentCoreError, con una lista cerrada de code (Errores).
  • Constructos CDK opcionales. rayito.cdk necesita el extra cdk (aws-cdk-lib y constructs) y rayito/cdk los peers opcionales aws-cdk-lib y constructs; sin ellos, import rayito y la CLI no cargan nada de CDK. Un runtime de AgentCore desplegado con CDK lleva la marca rayito.agentcore/1+cdk: los que ya tienes (rayito.agentcore/1) siguen funcionando igual.

Cómo probarlo

  1. Actualiza los SDK a la versión que lo incluya, ejecuta rayito setup (primero con --dry-run) y comprueba la región y el bucket que dejó.
  2. Añade a las credenciales de quien despliega los permisos de la guía.
  3. Prueba rayito agent deploy ./mi-agente --target agentcore --dry-run.

El detalle completo estará en el Changelog.