Repository navigation
feat: Implement dynamic impulse radius classification of tools - #236
marcelklehr wants to merge 19 commits into
Conversation
to automatically judge need for user confirmation Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
…citly destructive tools Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
…lassification Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
lukasdotcom
left a comment
There was a problem hiding this comment.
I'll do a more in depth review tomorrow, but here are some things that I found for the tool categorizations. Feel free to ignore them if you disagree with any of these.
- update_page_content for collectives should be destructive. You could also just make sure it is adding text and only mark it destructive then.
- For duckduckgo and youtube it does not have an impulse radius. Before this they didn't require a confirmation, but now they would require confirmation.
- For remove_reaction I wouldn't consider that destructive.
…lementing the confirmation dialog Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
julien-nc
left a comment
There was a problem hiding this comment.
How does it work with MCP tools? They default to EXTERNAL. Can an admin assign a radius later? If not, won't they stick with "always_confirm"?
|
|
||
| @tool | ||
| @dangerous_tool | ||
| @impulse(ImpulseRadius.SELF) |
There was a problem hiding this comment.
Should be destructive or always_confirm, no?
There was a problem hiding this comment.
Same as with memory, I was thinking it would be good if the files pertaining to the agent can be manged without confirmation.
|
|
||
| @tool | ||
| @safe_tool | ||
| @impulse(ImpulseRadius.SELF) |
There was a problem hiding this comment.
It is ambiguous but since it can overwrite existing files, should it be considered as destructive like files.upoad_file for example? (@destructive_if(path_taken))
There was a problem hiding this comment.
My reasoning was that the agent should be able to manage its own memory without interrupting the user.
|
I'm also not currently seeing the impulse radii being passed to the Assistant chat. Do they need to be added here, perhaps? context_agent/ex_app/lib/nc_model.py Line 263 in 3c973a1 |
It could be a reaction that the user created on their own, not through the agent. I think it makes sense.
Mh, to be discussed, I think.
Good point! Will fix. |
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
to automatically judge need for user confirmation
🤖 AI (if applicable)