Skip to content

feat(automation): add API Request node editor - #3840

Open
abnercon wants to merge 3 commits into
SEMOSS:devfrom
abnercon:feat/automation-api-request-node
Open

abnercon wants to merge 3 commits into
SEMOSS:devfrom
abnercon:feat/automation-api-request-node

Conversation

@abnercon

@abnercon abnercon commented Nov 3, 2026

Copy link
Copy Markdown

Description

Adds a Postman/Bruno-style editor for the new API Request (api.request) automation node. Requires the matching Semoss backend PR; the node catalog loader now accepts the api category, so an older UI cannot load the new catalog.

Changes Made

  • api-request-form.tsx: method dropdown, Send, full-width URL with ${variable} pills; Params / Headers / Body (None, JSON, Form, Raw) / Auth (optional Connection) / Settings tabs; sample values for references; response viewer (status, time, headers, body).
  • Confirmation before sending a non-GET/HEAD request, since a test sends a real request with real credentials.
  • Paste-a-cURL import (curl-import.ts): secrets in credential headers or -u are replaced with ${...} references and flagged.
  • Wired into the types, adapter, display list, add-node menu ("API" group) and step-form.tsx; testAutomationRequest API call.
  • 15 new unit tests (cURL parsing, sample-value scope).

How to Test

  1. pnpm --filter @semoss/automation test and type-check.
  2. Run a Monolith build containing the Semoss PR, then pnpm run dev:client with packages/client/.env.local pointing at it.
  3. Add an API request node, GET https://httpbin.org/get, Send: expect a 200 badge and the JSON body.
  4. Switch to POST: Send asks "Send a real POST request?".
  5. Import curl -X POST https://httpbin.org/post -H 'Authorization: Bearer abc' -d '{"a":1}': the token becomes ${authorization} with a warning, and Send needs a sample value.
  6. Save and Run: the node output shows status, headers and body.

Notes

  • pnpm type-check reports ~30 pre-existing errors in run-data-browser* and run-node-value-viewer.tsx (symbols that do not exist on dev); none are in files changed here.
  • Connection picker not exercised (no REST function engine in the test instance).
  • Companion PR: Semoss (backend). Link both once opened.

Companion backend PR: SEMOSS/Semoss#3251

🤖 Generated with Claude Code

abrincon_deloitte and others added 2 commits October 27, 2026 12:07
Adds a Postman/Bruno-style editor for the api.request node: method and
URL bar, Params/Headers/Body/Auth/Settings tabs, optional Connection,
sample values, Send with confirmation for non-GET methods, response
viewer, and paste-a-cURL import that swaps secrets for references.

Requires the matching Semoss backend: the catalog loader now accepts the
"api" category, so an older UI cannot load the new catalog.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
In the narrow inspector panel the Send button overlapped the URL field.
Put the method and Send on one row and give the URL the full width.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@snyk-io

snyk-io Bot commented Nov 3, 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.

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.

3 participants