8000 feat(web): draw assistant tools on the canvas by adeelahmad · Pull Request #99 · adeelahmad/lense · GitHub
[go: up one dir, main page]

Skip to content

feat(web): draw assistant tools on the canvas - #99

Merged
adeelahmad merged 1 commit into
mainfrom
claude/project-thread-t9tw9j
Oct 3, 2026
Merged

adeelahmad merged 1 commit into
mainfrom
claude/project-thread-t9tw9j

Conversation

@adeelahmad
Copy link
Copy Markdown
Owner

Requested by Adeel · project thread

Description

Before: tool graphs (#92) could only be written by hand as JSON.

After: Extensions has a Draw a tool button that opens the canvas. It starts with a parameter, an "Ask the model" node and a Return node. The side panel holds:

  • what the tool does (the assistant reads this when deciding to call it);
  • whether it runs at once or after an approval;
  • who can use it;
  • each parameter's kind, description and whether it's always needed.

Parameters are the graph's Input nodes. The palette has the building blocks, custom nodes made only of building blocks, and two new nodes:

  • Ask the model: a prompt, an optional system prompt, a JSON reply option and a model;
  • Call a tool: a tool name and fixed arguments as JSON.

Problems show on the nodes before saving, matching the backend's checks. A graph tool's page gains Open on the canvas, and saving there adds a version recorded as made on the canvas.

How: workflow-model gains a tool scope, the two node types, their checks and summaries, and starterTool(). node-settings gains the two forms. ToolGraphEditor reuses GraphEditor as a custom-node-style body and saves through /api/v1/extensions with origin: canvas.

Motivation and Context

Advanced users can customize the assistant on the canvas.

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist:

  • The title is a Conventional Commit.
  • My code follows the code style of this project. tsc and eslint are clean.
  • I added or updated tests (tool-graph checks in workflow-flow.test.ts). All 612 frontend tests pass. This PR has no backend change.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JroZmoXJUKvyfkvDYvmbka


Generated by Claude Code

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JroZmoXJUKvyfkvDYvmbka
@adeelahmad
adeelahmad merged commit 5c4ac30 into main Oct 3, 2026
1 of 5 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.

2 participants

0