[
https://issues.apache.org/jira/browse/CAMEL-23397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Omar Atie reassigned CAMEL-23397:
---------------------------------
Assignee: Omar Atie
> camel-openai: Support tool annotations/hints for returnDirect and safety
> classification
> ---------------------------------------------------------------------------------------
>
> Key: CAMEL-23397
> URL: https://issues.apache.org/jira/browse/CAMEL-23397
> Project: Camel
> Issue Type: Improvement
> Components: camel-openai
> Reporter: Federico Mariani
> Assignee: Omar Atie
> Priority: Minor
>
> Extends [CAMEL-23382|https://issues.apache.org/jira/browse/CAMEL-23382]
> The MCP integration in _camel-openai_ already supports rich tool metadata via
> MCP tool annotations:
> - _returnDirect_: short-circuit the agentic loop and return the tool result
> directly to the caller
> - `readOnlyHint`, `destructiveHint`, `openWorldHint`: safety classification
> hints
> However, these annotations are only available for MCP-sourced tools. When
> [CAMEL-23382|https://issues.apache.org/jira/browse/CAMEL-23382] introduces
> route-based tools via `AiToolSpec`, those tools will lack this metadata,
> making them less capable than MCP tools used through the same agentic loop.
> *Proposed changes:*
> The `AiToolSpec` defined in CAMEL-23382 should include an extensible
> annotations mechanism:
> - `returnDirect` (boolean, default false) — when true, the agentic loop
> returns the tool result directly without sending it back to the model. This
> is critical for tools that produce final output (e.g., "generate report",
> "fetch file").
> The agentic loop should treat annotations uniformly regardless of whether the
> tool came from MCP or from the Camel route-based registry. This means the
> `AiToolRegistry` lookup should return annotations alongside the tool spec.
> *Example usage:*
> ```yaml
> - from:
> uri: "ai-tools:generateReport"
> parameters:
> description: "Generate a PDF report from the given data"
> returnDirect: true
> steps:
> - to: "pdf:create"
> ```
--
This message was sent by Atlassian Jira
(v8.20.10#820010)