microsoft / microsoft/Forge

TreeInputType feature request

Open
#16 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.