Skip to content

Add collapsible GitHub Copilot-style tool usage display#305

Draft
Copilot wants to merge 2 commits into
mainfrom
copilot/similar-tools-to-jeddict-ai
Draft

Add collapsible GitHub Copilot-style tool usage display#305
Copilot wants to merge 2 commits into
mainfrom
copilot/similar-tools-to-jeddict-ai

Conversation

Copilot AI commented Mar 17, 2026

Copy link
Copy Markdown
Contributor

Tool invocations previously rendered fully expanded (name + argument chips + result) on every call, creating visual noise. This adds a compact, collapsible row — [>_] Check maven local repo location ❯ — matching the GitHub Copilot UX pattern, with details hidden until the user expands them.

Changes

  • ToolExecutionPane — Rewritten as pure Java (drops NetBeans form editor). Now renders as a collapsed header row by default; clicking anywhere on the row toggles the details section (argument chips + result). ToolExecutionPane.form deleted.

    State Layout
    Collapsed (default) [>_] <human-readable name> ❯
    Expanded Header + ToolInvocationPane argument chips + scrollable result
  • StringUtil.camelCaseToHumanReadable() — Converts tool method names for display. Handles camelCase, acronym boundaries, and letter/digit splits:

    • checkMavenLocalRepoLocation"Check maven local repo location"
    • thisIsATool1"This is a tool 1"
  • Icons — Added ICON_TERMINAL (>_), ICON_CHEVRON_RIGHT (), ICON_CHEVRON_DOWN ().

  • ToolExecutionPaneTest — Replaced old always-expanded tests with collapsed-by-default assertions; toggle expand/collapse coverage. Added StringUtilTest for the new conversion logic.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • openrouter.ai
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java -javaagent:/home/REDACTED/.m2/repository/org/jacoco/org.jacoco.agent/0.8.12/org.jacoco.agent-0.8.12-runtime.jar=destfile=/home/REDACTED/work/jeddict-ai/jeddict-ai/target/jacoco.exec --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.desktop/sun.awt=ALL-UNNAMED --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.desktop/sun.java2d=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED --add-exports=java.desktop/sun.awt.image=ALL-UNNAMED --add-exports=java.desktop/java.awt.peer=ALL-UNNAMED --add-exports=java.desktop/sun.awt.event=ALL-UNNAMED --add-exports=java.base/sun.security.action=ALL-UNNAMED -jar /home/REDACTED/work/jeddict-ai/jeddict-ai/target/surefire/surefirebooter-20260317200218258_378.jar /home/REDACTED/work/jeddict-ai/jeddict-ai/target/surefire 2026-03-17T20-02-17_705-jvmRun1 surefire-20260317200218258_376tmp (dns block)
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java -javaagent:/home/REDACTED/.m2/repository/org/jacoco/org.jacoco.agent/0.8.12/org.jacoco.agent-0.8.12-runtime.jar=destfile=/home/REDACTED/work/jeddict-ai/jeddict-ai/target/jacoco.exec --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.desktop/sun.awt=ALL-UNNAMED --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.desktop/sun.java2d=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED --add-exports=java.desktop/sun.awt.image=ALL-UNNAMED --add-exports=java.desktop/java.awt.peer=ALL-UNNAMED --add-exports=java.desktop/sun.awt.event=ALL-UNNAMED --add-exports=java.base/sun.security.action=ALL-UNNAMED -jar /home/REDACTED/work/jeddict-ai/jeddict-ai/target/surefire/surefirebooter-20260317200641459_378.jar /home/REDACTED/work/jeddict-ai/jeddict-ai/target/surefire 2026-03-17T20-06-40_826-jvmRun1 surefire-20260317200641459_376tmp (dns block)
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java -javaagent:/home/REDACTED/.m2/repository/org/jacoco/org.jacoco.agent/0.8.12/org.jacoco.agent-0.8.12-runtime.jar=destfile=/home/REDACTED/work/jeddict-ai/jeddict-ai/target/jacoco.exec --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.desktop/sun.awt=ALL-UNNAMED --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.desktop/sun.java2d=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED --add-exports=java.desktop/sun.awt.image=ALL-UNNAMED --add-exports=java.desktop/java.awt.peer=ALL-UNNAMED --add-exports=java.desktop/sun.awt.event=ALL-UNNAMED --add-exports=java.base/sun.security.action=ALL-UNNAMED -jar /home/REDACTED/work/jeddict-ai/jeddict-ai/target/surefire/surefirebooter-20260317201110221_378.jar /home/REDACTED/work/jeddict-ai/jeddict-ai/target/surefire 2026-03-17T20-11-09_631-jvmRun1 surefire-20260317201110221_376tmp (dns block)
  • www.netbeans.org
    • Triggering command: /opt/hostedtoolcache/CodeQL/2.24.3/x64/codeql/tools/linux64/java/bin/java /opt/hostedtoolcache/CodeQL/2.24.3/x64/codeql/tools/linux64/java/bin/java -jar /opt/hostedtoolcache/CodeQL/2.24.3/x64/codeql/xml/tools/xml-extractor.jar --fileList=/tmp/codeql-scratch-cd61c9847ee61009/dbs/java/working/files-to-index18183848147461849451.list --sourceArchiveDir=/tmp/codeql-scratch-cd61c9847ee61009/dbs/java/src --outputDir=/tmp/codeql-scratch-cd61c9847ee61009/dbs/java/trap/java /home/REDACTED/work/jeddict-ai/jed10375 4/bin/java (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


💬 Send tasks to Copilot coding agent from Slack and Teams to turn conversations into code. Copilot posts an update in your thread when it's finished.

…ionPane

Co-authored-by: jGauravGupta <15934072+jGauravGupta@users.noreply.github.com>
Copilot AI changed the title [WIP] Add tools similar to Jeddict AI Add collapsible GitHub Copilot-style tool usage display Mar 17, 2026
Copilot AI requested a review from jGauravGupta March 17, 2026 20:18
@stefanofornari

Copy link
Copy Markdown
Collaborator

@jGauravGupta I like this improvement! just one suggestion: please do not remove the NB form yet. I use them to have a visual feeling without running code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants