Skip to content

Other LLM agents can ask Jev yes/no and pick-one questions, when the options allow it - #24

Merged
AboveColin merged 1 commit into
feature/1.16from
llm-tools
Sep 24, 2026
Merged

AboveColin merged 1 commit into
feature/1.16from
llm-tools

Conversation

@AboveColin

Copy link
Copy Markdown
Owner

A new option, off by default, lets Jev offer two tools through the Assist API to any LLM conversation agent:

  • jev__noul(question, facts?) returns probability_yes.
  • jev__choice(question, options, facts?) returns choice, probabilities and confidence.

Each tool calls the jev.noul or jev.choice action. Thus the daily budget check, the errors and the usage sensors are the same as for the actions. Jev judges only the entities exposed to that assistant, capped at MAX_CONVERSATION_ENTITIES (150), which is the voice agent's cap.

The option is off by default because every Assist LLM agent gets the tool schemas in every prompt, and its provider bills those tokens on each turn.

If more than one entry has the option on, the tools require an account parameter. Each entry has its own key and its own budget, so the tool does not choose one for the agent.

The facts go to the action as a mapping, not as a string. The action renders a string state as a template, and a template could read entities that are not exposed to Assist. test_facts_are_sent_as_they_are_and_never_rendered fails when the facts go as a string, with 'The user says: unlocked' as the result.

The new option has its text in strings.json and in all 13 translations.

Gate (ruff, mypy --strict, pytest, mkdocs --strict, hassfest): exit 0. 416 passed, 12 skipped, coverage 96.96%. llm.py and config_flow.py are at 100%.

Stacked on #23.

@AboveColin
AboveColin changed the base branch from action-budget to feature/1.16 September 24, 2026 09:49
@AboveColin
AboveColin merged commit 825b89d into feature/1.16 Sep 24, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant