From 561e2683d86a7b61b2bf224533fb6652caa058b6 Mon Sep 17 00:00:00 2001 From: Apeksha_2022 <70309060+Apeksha9389@users.noreply.github.com> Date: Thu, 8 Oct 2026 19:10:43 +0530 Subject: [PATCH 1/3] feat: add TaskType.NOOP and NoopTaskDef --- src/open-api/types.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/open-api/types.ts b/src/open-api/types.ts index 4248b437..49fa88e8 100644 --- a/src/open-api/types.ts +++ b/src/open-api/types.ts @@ -78,6 +78,7 @@ export enum TaskType { CALL_MCP_TOOL = "CALL_MCP_TOOL", LIST_MCP_TOOLS = "LIST_MCP_TOOLS", PULL_WORKFLOW_MESSAGES = "PULL_WORKFLOW_MESSAGES", + NOOP = "NOOP", } export enum ServiceType { @@ -102,7 +103,8 @@ export type TaskDefTypes = | TerminateTaskDef | JoinTaskDef | WaitTaskDef - | PullWorkflowMessagesTaskDef; + | PullWorkflowMessagesTaskDef + | NoopTaskDef; export interface DoWhileTaskDef extends CommonTaskDef { inputParameters: Record; @@ -214,6 +216,12 @@ export interface SetVariableTaskDef extends CommonTaskDef { optional?: boolean; } +export interface NoopTaskDef extends CommonTaskDef { + type: TaskType.NOOP; + inputParameters: Record; + optional?: boolean; +} + export interface SimpleTaskDef extends CommonTaskDef { type: TaskType.SIMPLE; inputParameters?: Record; From 833e6bce29c997ae2512cb4564a77d42ba76524d Mon Sep 17 00:00:00 2001 From: Apeksha_2022 <70309060+Apeksha9389@users.noreply.github.com> Date: Thu, 8 Oct 2026 19:12:58 +0530 Subject: [PATCH 2/3] feat: add noopTask builder --- src/sdk/builders/tasks/index.ts | 1 + src/sdk/builders/tasks/noop.ts | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 src/sdk/builders/tasks/noop.ts diff --git a/src/sdk/builders/tasks/index.ts b/src/sdk/builders/tasks/index.ts index 2b296a95..e3d662b5 100644 --- a/src/sdk/builders/tasks/index.ts +++ b/src/sdk/builders/tasks/index.ts @@ -11,6 +11,7 @@ export * from "./inline"; export * from "./join"; export * from "./jsonJq"; export * from "./kafkaPublish"; +export * from "./noop"; export * from "./setVariable"; export * from "./simple"; export * from "./startWorkflow"; diff --git a/src/sdk/builders/tasks/noop.ts b/src/sdk/builders/tasks/noop.ts new file mode 100644 index 00000000..1f86c3d4 --- /dev/null +++ b/src/sdk/builders/tasks/noop.ts @@ -0,0 +1,12 @@ +import { TaskType, NoopTaskDef } from "../../../open-api"; + +export const noopTask = ( + taskReferenceName: string, + optional?: boolean +): NoopTaskDef => ({ + name: taskReferenceName, + taskReferenceName, + type: TaskType.NOOP, + inputParameters: {}, + optional, +}); From a5c88d286feae23189feb6496ac82bf10d81ce5d Mon Sep 17 00:00:00 2001 From: Apeksha_2022 <70309060+Apeksha9389@users.noreply.github.com> Date: Thu, 8 Oct 2026 19:13:23 +0530 Subject: [PATCH 3/3] test: cover noopTask --- .../builders/tasks/__tests__/factory.test.ts | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/sdk/builders/tasks/__tests__/factory.test.ts b/src/sdk/builders/tasks/__tests__/factory.test.ts index fffbb6b4..4bdda281 100644 --- a/src/sdk/builders/tasks/__tests__/factory.test.ts +++ b/src/sdk/builders/tasks/__tests__/factory.test.ts @@ -8,6 +8,7 @@ import { inlineTask } from "../inline"; import { joinTask } from "../join"; import { jsonJqTask } from "../jsonJq"; import { kafkaPublishTask } from "../kafkaPublish"; +import { noopTask } from "../noop"; import { setVariableTask } from "../setVariable"; import { subWorkflowTask } from "../subWorkflow"; import { switchTask } from "../switch"; @@ -269,6 +270,26 @@ describe("kafkaPublishTask", () => { }); }); +describe("noopTask", () => { + it("Should generate a NOOP task", () => { + expect(noopTask("noopRef")).toEqual({ + name: "noopRef", + taskReferenceName: "noopRef", + type: "NOOP", + inputParameters: {}, + }); + }); + + it("Should set optional when given", () => { + expect(noopTask("noopRef", true).optional).toBe(true); + }); + + it("Should be usable as a workflow task", () => { + const wf = workflow("wf", [noopTask("noopRef")]); + expect(wf.tasks[0].type).toBe("NOOP"); + }); +}); + describe("setVariableTask", () => { it("Should generate setVariableTask", () => { const tname = "setVariableTask";