¶Guía de migración: v0.2.0 → v0.3.0
Actualiza
mana-cieldesde la versión v0.2.0 a la v0.3.0 (Fase 9: extensibilidad). Esta guía es para usuarios del framework.
¶⚠️ Cambio de contrato de tool callable (breaking)
La firma oficial de una tool cambió. Ahora es:
def my_tool(
arguments: dict,
*,
tool_call_id: str,
tenant_id: str | None,
) -> ToolResult | dict | Any:
...
Reglas:
argumentses undictposicional (no**kwargs).tool_call_idytenant_idson keyword-only.- El valor de retorno puede ser un
ToolResult, undict(serializable comoToolResult) o cualquier valor crudo; las excepciones se capturan enToolResult.errory las corrutinas seawaitautomáticamente.
¶Tools con la firma vieja (deben migrar)
Si tu tool usa la firma antigua callable_(context, **arguments):
Migra a:
# ✅ nuevo — firma oficial
def my_tool(arguments, *, tool_call_id, tenant_id):
return {"result": arguments["x"]}
- El
contextantiguo desaparece; usatenant_id(y pasa lo que necesites porarguments). - Reemplaza
**argumentspor undictposicional. - Añade los parámetros keyword-only
tool_call_idytenant_id(puedes ignorarlos si no los necesitas, pero deben estar en la firma).
¶Novedades v0.3.0
- Plugin system (
ciel.plugins):PluginRegistry+default_registry()auto-registran builtins y descubren plugins de terceros vía entry points (ciel.providers,ciel.tools,ciel.agents). Extiende el framework sin tocar el core:pip install mi-plugin-ciel. - GeminiProvider (
ciel.providers.gemini): nuevo provider empaquetado, registrado como builtin junto aOpenAICompatibleProvideryAnthropicProvider. - Tools de fábrica (
ciel.runtime.tools_builtins): toolsetbuiltins(echo,datetime,http_get,file_read,shellsandboxeado). ciel init: scaffold de proyecto (pyproject + agent +ciel.yaml), offline-safe e idempotente.
¶Pasos recomendados
- Actualiza la firma de tus tools a la oficial (arriba).
- Si publicas tools/providers propios, regístralos vía entry points
ciel.tools/ciel.providerso usadefault_registry().register_*. - Prueba tu proyecto con
ciel init+ el agente generado como base offline. pip install --upgrade mana-ciel==0.3.0.
¶Enlaces
- Roadmap público (futuras versiones): roadmap.md
- Releases de GitHub: https://github.com/Ander-Labs/ciel-agent-framework/releases