llm_tool_calling 0.4.0
llm_tool_calling: ^0.4.0 copied to clipboard
Turn Dart functions into LLM tools for OpenAI, Gemini and Claude. Annotate with @Tool to generate the JSON schema, argument validation and type-safe dispatch.
0.4.0 #
withoutAdditionalProperties(schema): a copy of a schema for SDKs that send it to Gemini's olderparametersfield, which rejectsadditionalProperties.- Tool names are documented as up to 63 characters (the firebase_ai limit).
- README: "Use with your SDK" section, with the new
llm_tool_calling_firebase_aiadapter.
0.3.0 #
- No code changes. Released together with
llm_tool_calling_generator0.3.0, which generates a list of all tools in each file. - README: the list of all tools, and an author section.
0.2.0 #
validateArguments()checks nested objects (fields withproperties), reporting paths likebooking.passengers[0].age is required.validateArguments()checks every item of anarrayagainstitems, reporting paths liketags[2]andgrid[1][0].validateArguments()checksenumlists and reports the allowed values, e.g.unit must be one of "celsius", "fahrenheit", got "kelvin".
0.1.0 #
- Initial release.
@Tooland@Paramannotations.ToolDefinitionwith name, description, JSON schema,requiresConfirmationandcall(), which validates arguments before running the tool.validateArguments(): checks required, unknown and wrongly typed arguments and reports every problem at once. Whole numbers sent as5.0are accepted forinteger.ToolArgumentExceptionwith a message an LLM can use to fix its call.