Conversation
…ts-toolkit/SmartHopper into feature/scripting-tools
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
## Description Added undo support to `MoveInstance`, `SetComponentPreview`, and `SetComponentLock`. ## Breaking Changes None. ## Testing Done RH8.18 on windows ## Checklist - [x] This PR is focused on a single feature or bug fix - [x] Version in Solution.props was updated, if necessary, and follows semantic versioning - [x] CHANGELOG.md has been updated - [x] PR title follows [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format - [x] PR description follows [Pull Request Description Template](#pull-request-description-template)
This PR updates the version badge in the README.md to match the current version in Solution.props. This is an automated PR created by the Update Version Badge workflow.
…puts of script components
This PR updates the development version date in Solution.props to reflect the latest changes. This is an automated PR created by the Update Development Version Date workflow.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…instead of methods (#213) ## Description This PR extracts each aitool into a seperate file, for better mainteinability and organization, and makes them private. Now, components were updated to call ai tools, instead of directly calling the method. ## Breaking Changes Ai tool methods are not public anymore. To use them, call the ai tool manager instead. ## Testing Done RH8.19 on windows. ## Checklist - [x] This PR is focused on a single feature or bug fix - [x] Version in Solution.props was updated, if necessary, and follows semantic versioning - [x] CHANGELOG.md has been updated - [x] PR title follows [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format - [x] PR description follows [Pull Request Description Template](#pull-request-description-template)
## Description Adds a new GitHub Actions workflow (`release-5-upload-yak.yml`) to automate uploading SmartHopper releases to the Yak Rhino package server. The workflow: - Downloads release artifacts from GitHub - Builds Yak packages using `yak build` with proper platform tagging - Supports pre-release versions (dev/alpha/beta/rc) - Includes a confirmation step before uploading to production - Follows security best practices with explicit permissions ## Breaking Changes No breaking changes. This is an additive change that introduces a new deployment workflow. ## Testing Done Not tested yet. ## Checklist - [x] This PR is focused on a single feature or bug fix - [ ] Version in Solution.props was updated, if necessary, and follows semantic versioning - [ ] CHANGELOG.md has been updated - [x] PR title follows Conventional Commits format - [x] PR description follows Pull Request Description Template
## Description This PR updates the icons and logo for better quality and design. It also adds missing icons. ## Breaking Changes None. ## Testing Done RH8.19 on windows. ## Checklist - [x] This PR is focused on a single feature or bug fix - [ ] Version in Solution.props was updated, if necessary, and follows semantic versioning - [x] CHANGELOG.md has been updated - [x] PR title follows [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format - [x] PR description follows [Pull Request Description Template](#pull-request-description-template)
This PR updates the development version date in Solution.props to reflect the latest changes. This is an automated PR created by the Update Development Version Date workflow.
… fixes (#217) This PR prepares the release for version 0.3.2-alpha with version update and code style fixes: - Fixed header code style - Sorted usings - Removed trailing whitespace - Updated version in Solution.props - Updated changelog with closed-solved issues - Updated README badges MILESTONE DESCRIPTION:
marc-romu
approved these changes
Jun 15, 2025
nofcfy-fanqi
pushed a commit
to nofcfy-fanqi/SmartHopper
that referenced
this pull request
Feb 24, 2026
## [0.3.2-alpha] - 2025-06-15 ### Added - Added undo support to `MoveInstance`, `SetComponentPreview`, and `SetComponentLock`. - New `ScriptTools` class in `SmartHopper.Core.Grasshopper.Tools` for Grasshopper script components, including: - New `script_review` AI tool for reviewing Grasshopper scripts. - New `script_new` AI tool for generating Grasshopper scripts. - Added support for script components in `GhPutTools`, enabling placement of script components with code from GhJSON. - Enhanced `GetObjectsDetails` in `GHDocumentUtils` to serialize variable input and output parameters from script components to GhJSON. - Extended `GhPutTools` to handle variable input and output parameters when placing script components from GhJSON. - Added support for parameter modifiers (simplify, flatten, graft, reverse) in both input and output parameters for script components in `GhPutTools` and `GHDocumentUtils`. - New `CallAiTool` method in `AIStatefulAsyncComponentBase` to handle provider and model selection, and metrics output. - `AiTools` now define their endpoint. - New icons for all components. ### Changed - Minimum Rhino version required increased to 8.19 - Updated SmartHopper logo - Renamed `gh_retrieve_components` by `gh_get_available_components` - Prevent `GHDocumentUtils.GetObjectsDetails` from generating humanReadable field if value is already human readable (numbers and strings) - Renamed `evaluateList` and `filterList` AI tools to `list_evaluate` and `list_filter` - Renamed `evaluateText` and `generateText` AI tools to `text_evaluate` and `text_generate` - Migrated `GhPutTools` to `Utils` in `Core.Grasshopper` - Split AI Tools into smaller files: - `TextTools` into `text_evaluate.cs` and `text_generate.cs` - `ListTools` into `list_evaluate.cs` and `list_filter.cs` - `GhObjTools` into `gh_tidy_up.cs`, `gh_toggle_preview.cs`, `gh_toggle_lock.cs`, `gh_move_obj.cs` - `GhPutTools` into `gh_put.cs` - `WebTools` into `web_generic_page_read.cs`, `web_rhino_forum_read_post.cs` and `web_rhino_forum_search.cs` - `GhGetTools` into `gh_get.cs`, `gh_list_components.cs` and `gh_list_categories.cs` - `ScriptTools` into `script_new.cs` and `script_review.cs` - Now `Put` removes all default inputs and outputs from the component before adding a new script component. - Improved OpenAI provider to support structured output. - Improved `script_new` in several ways: - Now it creates component inputs and outputs. - It returns the instance GUID of the created component. - Modified `AITextGenerate`, `AITextEvaluate`, `AIListEvaluate` and `AIListFilter` to use `AIToolManager` instead of calling the AI tool directly. - Improved components descriptions. ### Deprecated - `GetResponse` method in `AIStatefulAsyncComponentBase` is deprecated. Use `CallAiTool` instead. ### Removed - Removed `Eto.Forms` reference from `SmartHopper.Config`. - Removed the `GetEndpoint` method from `AIStatefulAsyncComponentBase`. ### Fixed - Fixed MistralAI provider not working with structured output ([architects-toolkit#112](architects-toolkit#112)). - Fixed OpenAI error in API URI. - Fixed CI Signature Tests in `SmartHopper.Config.Tests`. - Fixed OpenAI logo quality.
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.
[0.3.2-alpha] - 2025-06-15
Added
MoveInstance,SetComponentPreview, andSetComponentLock.ScriptToolsclass inSmartHopper.Core.Grasshopper.Toolsfor Grasshopper script components, including:script_reviewAI tool for reviewing Grasshopper scripts.script_newAI tool for generating Grasshopper scripts.GhPutTools, enabling placement of script components with code from GhJSON.GetObjectsDetailsinGHDocumentUtilsto serialize variable input and output parameters from script components to GhJSON.GhPutToolsto handle variable input and output parameters when placing script components from GhJSON.GhPutToolsandGHDocumentUtils.CallAiToolmethod inAIStatefulAsyncComponentBaseto handle provider and model selection, and metrics output.AiToolsnow define their endpoint.Changed
gh_retrieve_componentsbygh_get_available_componentsGHDocumentUtils.GetObjectsDetailsfrom generating humanReadable field if value is already human readable (numbers and strings)evaluateListandfilterListAI tools tolist_evaluateandlist_filterevaluateTextandgenerateTextAI tools totext_evaluateandtext_generateGhPutToolstoUtilsinCore.GrasshopperTextToolsintotext_evaluate.csandtext_generate.csListToolsintolist_evaluate.csandlist_filter.csGhObjToolsintogh_tidy_up.cs,gh_toggle_preview.cs,gh_toggle_lock.cs,gh_move_obj.csGhPutToolsintogh_put.csWebToolsintoweb_generic_page_read.cs,web_rhino_forum_read_post.csandweb_rhino_forum_search.csGhGetToolsintogh_get.cs,gh_list_components.csandgh_list_categories.csScriptToolsintoscript_new.csandscript_review.csPutremoves all default inputs and outputs from the component before adding a new script component.script_newin several ways:AITextGenerate,AITextEvaluate,AIListEvaluateandAIListFilterto useAIToolManagerinstead of calling the AI tool directly.Deprecated
GetResponsemethod inAIStatefulAsyncComponentBaseis deprecated. UseCallAiToolinstead.Removed
Eto.Formsreference fromSmartHopper.Config.GetEndpointmethod fromAIStatefulAsyncComponentBase.Fixed
SmartHopper.Config.Tests.