Skip to content

Conversation

@krishna9358
Copy link
Contributor

Summary

When configuring the Entry Point component in the workflow builder, users could not set default values for runtime inputs. The "Runtime Data" input field in the sidebar:
Displayed a plain text input that expected a string, but the underlying schema required a JSON object (z.record(z.string(), z.unknown())), causing validation errors like:
Workflow validation failed: [entry-point-...] inputOverrides: Component input validation failed: expected: "record", code: "invalid_type", path: ["__runtimeData"], message: "Invalid input: expected record, received"
Default values were ignored when clicking "Run" - the Run Workflow dialog always opened with empty fields, requiring users to re-enter values every time.

Solution

  1. Improved UI for Runtime Data input (ConfigPanel.tsx)
  • For the Entry Point component, replaced the generic text input with dynamic fields that match each defined runtime input
  • Each runtime input now has its own labeled field with proper type handling (text, number, json)
  • Values are stored as a properly structured object in inputOverrides.__runtimeData
  • Shows helpful guidance when no runtime inputs are configured
  1. Pre-populate Run Dialog with defaults (useWorkflowRunner.tsx, WorkflowBuilder.tsx)
  • Added resolveRuntimeInputDefaults() function to extract default values from the Entry Point node's configuration
  • Run Workflow dialog now opens pre-filled with the default values set in the sidebar
  • Users can modify or accept defaults before running

Before/After
Before: Single text field → validation error → Run dialog always empty
After: Individual fields per runtime input → proper object storage → Run dialog pre-populated with defaults

Testing

  • bun run test
  • bun run lint
  • bun run typecheck
  • Additional notes:

Documentation

  • Updated the relevant doc(s) (see docs/guide.md) or checked that no updates are needed.
  • Recorded contract/architecture changes in both public docs and .ai logs when applicable.

Signed-off-by: Krishna Mohan <krishanmohank974@gmail.com>
@chatgpt-codex-connector
Copy link

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

Signed-off-by: Krishna Mohan <krishanmohank974@gmail.com>
…t input value in parameter

Signed-off-by: Krishna Mohan <krishanmohank974@gmail.com>
@krishna9358
Copy link
Contributor Author

Fixed the conflicts and removed the input from the sidebar and added default input value option in the parameter itself.

Copy link
Contributor

@betterclever betterclever left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

✅ Merged main successfully and fixed → type conflicts
✅ All tests pass (551 pass, 111 skip, 0 fail)
✅ Typecheck passes (frontend, backend, worker)
✅ Dev environment running cleanly

What this PR does:

  • Adds field to runtime input definitions in RuntimeInputsEditor
  • Pre-populates Run Dialog with default values from Entry Point configuration
  • Hides the confusing __runtimeData input port from ConfigPanel UI (it's now an internal implementation detail)

Code quality: Clean, focused changes. The diff looked big due to ConfigPanel re-indentation, but actual logic additions are minimal and well-structured.

Ready to merge! 🚀

Copy link
Contributor

@betterclever betterclever left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

✅ Merged main successfully and fixed agentTool → toolProvider type conflicts
✅ All tests pass (551 pass, 111 skip, 0 fail)
✅ Typecheck passes (frontend, backend, worker)
✅ Dev environment running cleanly

What this PR does:

  • Adds defaultValue field to runtime input definitions in RuntimeInputsEditor
  • Pre-populates Run Dialog with default values from Entry Point configuration
  • Hides the confusing __runtimeData input port from ConfigPanel UI (now an internal implementation detail)

Code quality: Clean, focused changes. The diff looked big due to ConfigPanel re-indentation, but actual logic additions are minimal and well-structured.

Ready to merge!

@betterclever betterclever merged commit 8245bbf into main Feb 11, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants