Repository navigation
feat(assistant): draw assistant tools on the canvas - #92
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JroZmoXJUKvyfkvDYvmbka
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Adeel · project thread
Description
Before: an assistant tool (#81) could only be a prompt or a web request.
After: a tool can also be a graph drawn on the canvas. The graph starts from its parameters (
argnodes) and ends inreturnnodes. In between it can use:ask_model, which writes a prompt and passes on the reply, as text or JSON;call_tool, which calls any of the assistant's tools, built-in or from another extension. Tools that change something still ask for approval.You can try it, and it runs in a conversation like any other tool. The version records that it was made on the canvas.
How:
app/domain/tool_nodes.pyadds atoolkit toworkflows.KITS, andextensions.pyadds agraphtool body, checked against the tool's parameters. Tools that call each other stop after 3 levels. Custom nodes made only of primitives can now also be used in tool graphs, which is why the catalog's scope lists intest_flow.pygaintool.The canvas editor for tool graphs comes with the Extensions page PR.
Motivation and Context
Advanced users can customize the assistant on the canvas as well as in code.
Types of changes
Checklist:
make openapi: the schema is unchanged.🤖 Generated with Claude Code
https://claude.ai/code/session_01JroZmoXJUKvyfkvDYvmbka
Generated by Claude Code