mirror of
https://github.com/n8n-io/n8n.git
synced 2026-10-19 16:55:02 +02:00
Adds the `activity` tool. `list` reads further back than the window the agent is handed, or filtered to one kind of event or one resource; `expand` opens a single entry and returns everything else the log knows about the same resource. That is the read the deferred `(resourceType, resourceId, id)` index now exists for, added in its own migration rather than up front. Expanding never fetches the live resource. `workflows`, `executions` and `credentials` already do that, with their own permission checks — so an expansion names the call to make instead, and the entry carries the id to make it with. A missing id comes back as `notFound` rather than an error: entries are pruned, so a stale id the agent read from an earlier block is an ordinary outcome, not a failure. Closes a scoping hole this feature opened. The window read had no project filter, so a conversation not bound to a project would have been shown activity from every project on the instance, including ones the user cannot open. Reads are now bounded by the conversation's project, or by the user's accessible projects when there is none, and an entry with no project is excluded outright — there is no way to prove it is in scope. An expand outside that scope is indistinguishable from a pruned id. Keeping deletions visible under that rule needed the writer to change too. A `workflow-deleted` event fires after the sharing rows that would name its project are gone, so the project is recalled from the log's own earlier entries for the same resource; credential updates and deletes do the same. Without it the entries most worth surfacing would have been silently dropped by the new filter. The tool is always loaded when the log is enabled, and absent entirely when it is not. The activity block names it, so deferring it would price every expand at search_tools plus load_tool. |
||
|---|---|---|
| .. | ||
| generated | ||
| db.md | ||