finos / finos/fluxnova-plugins
Agentic Tools: Return Output Mapping Results to the LLM
- Dominant language
- Java
- Stars
- 3
- Forks
- 7
- Avg merge
- 5d 4h
- Merged PRs (30d)
- 3
Description
**User Story**
As an LLM-driven agent, I want tool invocations to return their actual outputs, so that I can reason about results and make better decisions about subsequent actions.
**Background**
Today tool completion returns only a simple success or failure status. This provides very little context for the LLM when determining the next step in a workflow.
The BPMN model already defines output mappings. These mappings can serve as the source of truth for what information should be returned from a tool invocation.
**Acceptance Criteria**
- When a tool completes successfully, the orchestrator returns all values declared through output mappings.
- Returned outputs are included in the tool response payload provided to the LLM.
- Tool output data is produced from the same output mappings already used by the engine.
- No additional BPMN constructs are required.
- Existing tool schemas remain compatible.
- When a tool fails, the tool response includes the actual failure message.
- The existing success/error status indicator remains available.
- Tools with no output mappings continue to function correctly.-
**Technical Approach**
- Reuse parsed output mapping metadata already available to the orchestrator.
- After fragment completion:
-- Collect variables written by output mappings.
-- Build a structured response payload.
- On failure:
- -Capture and surface the underlying error message.
- Continue to return overall execution status alongside outputs.
Based on https://github.com/finos/fluxnova-plugins/issues/53
Contributor guide
Research direction
Start at the orchestrator's fragment-completion path and inspect the parsed output-mapping metadata already available there. Trace how the tool response payload reaches the LLM; done means successful calls include mapped values and status, failures include the underlying message, and calls without mappings still work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100