You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Port shell-tool metadata overrides from the upstream .NET harness work by letting shelltool.LocalConfig override the model-facing tool name and description. Go previously hard-coded run_shell and always synthesized the default description; now callers can keep the defaults or set custom metadata explicitly. The shelltool parity row in the feature-comparison doc was updated to reflect the aligned surface.
No. Existing callers keep the same default tool name (run_shell) and generated description unless they opt into the new LocalConfig fields.
Tests and Examples
go test ./tool/shelltool
Added focused shelltool coverage for custom name/description overrides
No example changes were needed for this narrow config-only parity addition
Notes
The broader file-access approval options shipped in the same upstream PR were intentionally skipped here because they are a separate public-surface change and would make this nightly port less narrow.
Upstream inspection was based on upstream-agent-framework/main at 1da571860a60f0da4f060bd60c8e7ee8d092cd32; the remote refresh step itself was blocked in this environment, so selection used the locally available upstream reference plus GitHub read-only source inspection.
This was originally intended as a pull request, but GitHub Actions is not permitted to create or approve pull requests in this repository.
The changes have been pushed to branch dotnet-port-api-shelltool-metadata-30980459955-a66e5eb7ab29be28.
To fix the permissions issue, go to Settings → Actions → General and enable Allow GitHub Actions to create and approve pull requests. See also: gh-aw FAQ
Show patch preview (119 of 119 lines)
From 0fb1c7f0c65a4fe1f205937c778f95f9a6d4c0e5 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Wed, 5 Aug 2026 06:19:12 +0000
Subject: [PATCH] [dotnet-port-api] Port shelltool metadata overrides
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
docs/dotnet-go-sdk-feature-comparison.md | 4 ++--
tool/shelltool/localshell.go | 28 +++++++++++++++++++++---
tool/shelltool/shelltool_test.go | 14 ++++++++++++
3 files changed, 41 insertions(+), 5 deletions(-)
diff --git a/docs/dotnet-go-sdk-feature-comparison.md b/docs/dotnet-go-sdk-feature-comparison.md
index 22f52a521..bc62232b0 100644
--- a/docs/dotnet-go-sdk-feature-comparison.md+++ b/docs/dotnet-go-sdk-feature-comparison.md@@ -37,7 +37,7 @@ Within overlapping features, the main misalignments are API shape and ecosystem
| Message/content model | `ChatMessage`, `AIContent`, text/data/error/function call/function result/hosted file/vector store/reasoning/code interpreter and durable state wrappers. | `message.Message`, `Content`, text/data/error/function call/function result/hosted file/vector store/reasoning/URI/usage/approval/code interpreter content. | Aligned | Type names and serialization are not interchangeable. Go has its own content model rather than using MEAI. |
| Annotations/citations | MEAI annotation/content support through `AIContent`. | `message.Annotation`, citation annotations, annotated text spans. | Aligned | No direct binary compatibility; mapping is provider-specific. |
| Function tools | `AIFunction`, `AITool`, function tools, plugins, dynamic function tools, tool argument matching in evals. | `tool.Tool`, `tool.FuncTool`, `functool.New`, typed input/output schemas, and a plugin-style grouping sample. | Partial | Go has typed function tools and plugin-style tool grouping, but no first-class plugin abstraction or dynamic tool sample equivalent to .NET steps 12 and 20. |
-| Shell tool and envi
... (truncated)
Summary
Port shell-tool metadata overrides from the upstream .NET harness work by letting
shelltool.LocalConfigoverride the model-facing tool name and description. Go previously hard-codedrun_shelland always synthesized the default description; now callers can keep the defaults or set custom metadata explicitly. The shelltool parity row in the feature-comparison doc was updated to reflect the aligned surface.Ported .NET PRs
48436f8ab644cfff8466ab838983f89bf414db45Breaking Changes
No. Existing callers keep the same default tool name (
run_shell) and generated description unless they opt into the newLocalConfigfields.Tests and Examples
go test ./tool/shelltoolNotes
upstream-agent-framework/mainat1da571860a60f0da4f060bd60c8e7ee8d092cd32; the remote refresh step itself was blocked in this environment, so selection used the locally available upstream reference plus GitHub read-only source inspection.Note
This was originally intended as a pull request, but GitHub Actions is not permitted to create or approve pull requests in this repository.
The changes have been pushed to branch
dotnet-port-api-shelltool-metadata-30980459955-a66e5eb7ab29be28.Click here to create the pull request
To fix the permissions issue, go to Settings → Actions → General and enable Allow GitHub Actions to create and approve pull requests. See also: gh-aw FAQ
Show patch preview (119 of 119 lines)