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 pilarayito-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 elrayito-image.zipde la release de tu versión (comprobado contra suSHA256SUMS) 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¶
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 conrayd(y sus tamaños), desde elrayito-image.zipde una release comprobado contra suSHA256SUMS(MicrovmImageArtifact.downloadRelease()) o desde un zip tuyo. Los sandboxes se siguen creando con el SDK por el nombre de la imagen.
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
Dockerfilederayito agent export --target agentcoretoma la imagen base de un argumento de buildAGENT_BASE_IMAGE(con la misma referencia fijada por digest como valor por defecto) y elREADME.mdexplica cómo desplegarlo. ElDockerfiley elREADME.mddel destinodockerno 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.mjsllevan ahora el soporte de AgentCore (id de sesión y credenciales del rol). Forman parte del contexto de build, así que el primerdeploy_agenttras 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-codebuildy@aws-sdk/client-ecr), que sólo hacen falta contarget: "agentcore". - Una excepción nueva,
AgentCoreException/AgentCoreError, con una lista cerrada decode(Errores). - Constructos CDK opcionales.
rayito.cdknecesita el extracdk(aws-cdk-libyconstructs) yrayito/cdklos peers opcionalesaws-cdk-libyconstructs; sin ellos,import rayitoy la CLI no cargan nada de CDK. Un runtime de AgentCore desplegado con CDK lleva la marcarayito.agentcore/1+cdk: los que ya tienes (rayito.agentcore/1) siguen funcionando igual.
Cómo probarlo¶
- 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ó. - Añade a las credenciales de quien despliega los permisos de la guía.
- Prueba
rayito agent deploy ./mi-agente --target agentcore --dry-run.
El detalle completo estará en el Changelog.