feat(nexus-operations): standalone nexus operation commands (start/cancel/terminate) [DT-4008]#3504
Merged
rossedfort merged 3 commits intoJun 5, 2026
Conversation
…xus operation header [DT-4008] Add cancel confirmation modal, terminate confirmation modal, and nexus operation actions component. Wire actions into the header with Request Cancellation button and More Actions menu (Terminate + Start Like This One). Add route-for helper and i18n strings for the start form.
… route [DT-4008] Adds the start nexus operation form with fields for operation ID (with random UUID generation), endpoint, service, operation name, payload input, timeouts, and advanced options (nexus header, search attributes, user metadata, ID policies).
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…eration like this one [DT-4008] Adds fetchInitialValuesForStartNexusOperation to decode the source operation's input payload, encoding, message type, user metadata, and search attributes. The start form pre-populates these fields on mount when operationId and runId are present in the URL, and auto-expands advanced options when there is pre-filled data.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description & motivation 💭
Adds the three command actions for standalone nexus operations: Request Cancellation, Terminate, and Start Nexus Operation Like This One (start form). This is Phase 6 of the standalone nexus operations feature, building on the details page (DT-4002).
What changed
Cancel/Terminate confirmation modals (
cancel-confirmation-modal.svelte,terminate-confirmation-modal.svelte):cancelNexusOperationExecutionand shows a confirmation dialog with no extra inputterminateNexusOperationExecutionand includes an optional reason text inputonConfirmto trigger a live poll refresh + abortActions menu (
nexus-operation-actions.svelte):Header wiring (
nexus-operation-header.svelte):poller: StandaloneNexusOperationPollerpropNexusOperationActionsinto the header flex row withml-autoStart nexus operation form (
start-standalone-nexus-operation-form/form.svelte,types.ts):operationId,endpoint,service,operation)Start page + route (
start-standalone-nexus-operation.svelte,nexus-operations/start/+page.svelte):/namespaces/[namespace]/nexus-operations/startScreenshots (if applicable) 📸
No screenshots — UI follows existing patterns (activity start form, workflow cancel/terminate modals).
Design Considerations 🎨
start-standalone-activity-form/form.svelteexactly in structure, adapted for nexus-specific fields (endpoint/service/operation instead of task queue, nexus header section, no heartbeat/retry policy)Testing 🧪
How was this tested 👻
Steps for others to test: 🚶🏽♂️🚶🏽♀️
Checklists
Draft Checklist
pnpm check --threshold error— only 2 pre-existing errors inpackage/files)Merge Checklist
Issue(s) closed
DT-4008
Docs
Any docs updates needed?
No docs updates needed — this is UI-only feature work for an existing API.