v0.14.0
v0.14.0
Added
- Programmatic Tool Calling (PTC):
registry.ptc.enable()registers aprogrammatic_tool_calltool that lets LLMs write and execute Python code with registered tools callable in the namespace. Two-layer isolation viacodecell.IpcSubprocessRuntime. registry.invoke(tool_name, kwargs): Single-tool execution with full pipeline (permissions, logging).- Invocation tracking:
invocation_idfield on execution log entries (tr_bat_,tr_ptc_,tr_sig_prefixes). headersparameter forregister_from_mcp(#212): pass custom HTTP headers (e.g.Authorization: Bearer ...) to MCP servers using SSE or streamable-http transports.api_format="rosetta-ir"(#207):get_schemas()andbuild_tool_call_messages()can return rosetta IR types directly.
Changed
- Structured result types for
execute_tool_calls()(#202): returnsResultListofToolCallResult | ErrorResultinstead ofdict. - Renamed LLM builder functions for clarity (old names preserved as deprecated aliases).
- Canonical
"openai-responses"format name (renamed from"openai-response").
Fixed
- Persistent MCP connection breaks in sync mode (#211):
MCPConnectionManagernow uses a daemon thread with a persistent event loop for sync callers. convert_tool_calls()argument loss (#205): passing an already-normalizedToolCallno longer loses arguments.
Dependencies
- Bump
llm-rosettaminimum from>=0.5.1,<0.7.0to>=0.7.1,<0.8.0.
Install
pip install toolregistry==0.14.0Full Changelog: v0.13.0...v0.14.0