finos / finos/fluxnova-plugins

Agentic Tools: Support LLM-Provided Input Parameters Through Input Mappings

Open
#61 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
3
Forks
7
Avg merge
5d 4h
Merged PRs (30d)
3

Description

**User Story**
As a process modeler, I want the LLM to provide input values when invoking a tool, so that activities can execute using data that is specific to the current tool call.

**Background**
Today tools can only consume values that already exist in process variables. This limits the usefulness of tools that require dynamic parameters determined by the LLM at runtime.

The solution should preserve the BPMN mapping model, where values enter through input mappings and leave through output mappings.

**Acceptance Criteria**

- Modelers can declare LLM-supplied inputs using:
```

${agent:arg('city', 'City to get weather for')}

```

- Tool schema generation discovers all agent:arg(...) declarations.
- The generated tool definition includes:
-- argument name
-- argument description
- The LLM can supply values for declared arguments when invoking a tool.
- LLM-supplied values are scoped to a single tool invocation.
- Parallel tool invocations remain isolated from one another.
- Inputs continue to flow through standard input mappings.
- Existing tools without agent:arg(...) definitions continue to function unchanged.
- Process variables are not modified directly by the LLM.

**Technical Approach**

- Introduce a custom EL function:

```
agent:arg(name, description)
```

- During tool schema generation:
-- Scan input mappings.
-- Extract `agent:arg(...)` declarations.
--- Build the corresponding tool parameter schema.
- At execution time:
-- Inject LLM-provided argument values into input mapping evaluation.
-- Maintain invocation-local scope.

Based on https://github.com/finos/fluxnova-plugins/issues/53

Contributor guide

Open the contributing guide

Research direction

No files or tests are named. Start by locating input-mapping evaluation, tool schema generation, and tool invocation handling; verify how invocation-local values can flow through standard mappings. Done means agent:arg declarations produce named and described parameters, values remain isolated per call, and existing tools continue to work unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
ai, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.