/* eslint-disable codemation/single-class-per-file -- Trigger config and implementation share a TypeToken pairing. */ import type { TypeToken } from "../di"; import type { Items, NodeExecutionContext, NodeOutputs, TriggerNode, TriggerNodeConfig, TriggerSetupContext, } from "../types"; export class WorkflowTestHarnessManualTriggerConfig implements TriggerNodeConfig { readonly kind = "trigger" as const; readonly type: TypeToken = WorkflowTestHarnessManualTriggerNode; constructor( public readonly name: string, public readonly id?: string, ) {} } export class WorkflowTestHarnessManualTriggerNode implements TriggerNode { readonly kind = "trigger" as const; readonly outputPorts = ["main"] as const; async setup(_ctx: TriggerSetupContext): Promise { return undefined; } async execute( items: Items, _ctx: NodeExecutionContext, ): Promise { return { main: items }; } }