Skip to content

feat(automation): improve node authoring and run UX - #3698

Merged
ryanweiler92 merged 3 commits into
devfrom
feat/automation-refactoring
Oct 2, 2026
Merged

ryanweiler92 merged 3 commits into
devfrom
feat/automation-refactoring

Conversation

@ppatel9703

@ppatel9703 ppatel9703 commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Description

Improves Automation node authoring, run inspection, and workbench behavior while following the shared SEMOSS workbench and UI patterns. The UI exposes supported node options through guided forms without hiding the underlying JSON contract, centralizes active/historical run state, and pages row-shaped results from the run Insight instead of moving complete datasets through browser state.

Changes Made

  • Added an editable database-query result limit. Database-specific offsets remain part of the SQL rather than a separate Automation field.
  • Added function-definition loading and schema-guided parameter authoring while preserving the executable parameters as one JSON object.
  • Added reusable Form/JSON editing for structured node inputs, including function parameters, vector file lists, and vision media URLs.
  • Exposed supported optional model, vision, storage, vector, function, and Jev parameters with upstream scope-variable insertion.
  • Reworked branch conditions into clearer ordered rules with variable insertion, operator selection, and explicit fallback behavior.
  • Improved Jev authoring for both arbitrary choices and Yes/No routing while retaining stable route IDs.
  • Required all branch/Jev routes and the fallback path to be connected before execution.
  • Restored a clear agent input-review action from run details.
  • Added one Automation workbench store for trace state, active runs, the followed run, selected history, refresh state, and node focus.
  • Kept the canvas synchronized with the selected historical run and represented multiple active runs without a global single-run restriction.
  • Added resilient run-history loading with inline retry behavior and removed internal definition data from the business-facing run view.
  • Added a paged table viewer for standard SEMOSS frame output, with the saved JSON preview as fallback.
  • Adopted shared workbench layout persistence, command-menu, reconnect, file-panel, permission, and reset patterns.

How to Test

  1. Create an Automation through the canvas UI without using chat.
  2. Configure database query, function, model/vision, storage, vector, branch/Jev, Python, and agent nodes.
  3. Select a function engine, confirm its declared parameters appear, switch between Form and JSON, and bind values from upstream scope.
  4. Verify vector file lists and vision media URLs can be edited in both Form and JSON without changing their saved value shape.
  5. Run a database query with a result limit and confirm run details show a paged table for row-shaped output.
  6. Confirm the database form does not show a separate offset field; database-specific paging can be written directly in the SQL.
  7. Test ordered branch conditions, Jev choices, and Jev Yes/No routes, including the fallback route.
  8. Open a previous run and confirm its executed graph appears read-only on the canvas; return to the editor and confirm the editable graph is restored.
  9. Start or observe multiple active runs and confirm the Runs panel distinguishes the followed run.
  10. Run an agent that requests input and confirm Review request opens the agent activity flow.
  11. Run a vision node with an upstream list of downloaded files and confirm every attachment is sent and the model-room link remains available in run details.
  12. Refresh the page and confirm the shared workbench layout restores correctly.

Verification

  • GitHub pnpm_build_dev: passed.
  • AWS CodeBuild: passed.
  • Snyk: passed.
  • Biome check on the four database-offset cleanup files: passed.
  • @semoss/automation focused tests: 27 passed.
  • Automation workbench store: 4 tests passed.
  • Browser-tested node authoring, historical-run selection, function/vector/model Form/JSON controls, branch/Jev forms, and a five-file vision run.

Notes

  • Frame-viewer pagination still uses existing SEMOSS Frame, QueryAll, Offset, Limit, and Collect behavior; that is separate from database-query authoring, and the browser receives only the requested page.
  • If the execution Insight is no longer available, run details deliberately fall back to the durable saved preview.
  • The vision run passes every selected attachment. Exact filename awareness inside the model response is provider-dependent and remains follow-up work; the room retains the attachment names.
  • Repository-wide TypeScript checks still report pre-existing errors outside this PR's changed files.
  • Paired backend PR: refactor(automation): organize runtime and execution services Semoss#3075.

@snyk-io

snyk-io Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

✅ Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
✅ Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@ppatel9703
ppatel9703 marked this pull request as ready for review October 2, 2026 16:06
@ppatel9703
ppatel9703 requested a review from a team as a code owner October 2, 2026 16:06
@ryanweiler92
ryanweiler92 merged commit bed8e82 into dev Oct 2, 2026
7 of 8 checks passed
@ryanweiler92
ryanweiler92 deleted the feat/automation-refactoring branch October 2, 2026 17:41
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