Skip to content

v3.3.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 09:53
v3.3.0
e7e437a

Tool calling stops being a promise and starts doing work

Until now cowriter could declare a tool to the model — the model would ask to call it — but nothing ran, so the request dead-ended on both sides. 3.3.0 wires the tool endpoint through nr-llm's bounded tool loop (ToolLoopService) against a resolved LLM configuration: the model's tool calls execute server-side, their results feed back into the conversation, and the loop runs on to an answer. The tools come from nr-llm 0.23's builtin registry (page-content queries, record lookups, schema inspection, and more) — cowriter ships no tool code of its own, so the catalogue grows as nr-llm does. That is why 3.3.0 now requires netresearch/nr-llm ^0.23.0: it brings both the builtin tools and the injectable ToolLoopServiceInterface that lets cowriter drive the loop without a local adapter. (@CybotTM, #122)

A permissions bug that quietly muted a whole class of editors is fixed

The surrounding-context feature — pulling in the current element, page, or ancestor content so the model has material to work with — checked page access with a uid-only page row. TYPO3's calcPerms() needs the permission columns to compute rights, so it returned "no access" for every non-admin editor: the context feature silently produced nothing for them while working fine for admins. It now reads the permission columns and reflects each editor's real rights. (@CybotTM, #118)

Spending is now attributed

Every LLM call cowriter makes — chat, complete, task, streaming, vision, translation — carries the backend user id, so nr-llm's per-user BudgetMiddleware can enforce the budgets an administrator configures. Previously that attribution was missing and the per-user checks were skipped. (@CybotTM, #118)

Also in this release

  • The alt-text endpoint uses nr-llm's VisionOptions::altText() preset (@CybotTM, #121).
  • The AJAX controllers share their rate-limit and JSON plumbing through one trait instead of copy-pasted helpers (@CybotTM, #121).
  • The API and agent-guide docs were corrected after the nr-llm 0.22 upgrade — task-execute and SSE examples, output-sanitization wording, and the TYPO3 v14.3 constraint (@CybotTM, #118).

Upgrade

Update the nr-llm extension to ^0.23.0 alongside this release.

Full changelog: v3.2.0...v3.3.0