TreeInputType feature request
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 334
- Forks
- 61
- PR merge metrics
- No merged PRs in 30d
Description
Problem: There is a contract missing between Subroutine author and SubroutineAction user, which is the TreeInput type. Because the TreeInput type of the SubroutineAction is a dynamic object, the TreeInput property can be defined in various ways. This provides great flexibility, but makes it difficult for the author and user to trust what the expected properties should be.
Feature Suggestion: Add some way to define the expected TreeInput properties inside each individual Subroutine. Forge would then create the specified TreeInput object (either known or dynamic) when calling the SubroutineAction.
Considerations:
- It would be cool if adding a Subroutine TreeInput definition would not require any app code changes. i.e. A config-only change.
- Ideally, known types could also be used in TreeInput. If the application already knows of this type, then it would not require an app deployment. But if it is a new type, then an app deployment would be necessary, which is fine.
- If a TreeInputType is defined as a dynamic object on the tree, then it would be expected that Forge create a dynamic object. Similar to how Forge creates the TreeInput or the Properties property today.
- If the TreeInputType is defined as a knownType however, Forge would be expected to create that type. Similar to how Forge creates an InputType for ForgeActions.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are identified. Start by locating SubroutineAction TreeInput handling and the existing ForgeAction InputType creation path; define how config-only dynamic and known TreeInput types should be represented and verify both forms are created as specified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100