@io-orkes/conductor-javascript 2.2.1 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -62,6 +62,14 @@ Show support for the Conductor OSS. Please help spread the awareness by starrin
62
62
  - [Step 1: Create a MetadataClient](#step-1-create-a-metadataclient)
63
63
  - [Step 2: Define and Register a Task](#step-2-define-and-register-a-task)
64
64
  - [Step 3: Define and Register a Workflow](#step-3-define-and-register-a-workflow)
65
+ - [Events](#events)
66
+ - [The EventClient](#the-eventclient)
67
+ - [Quick Start: Using Event Handlers](#quick-start-using-event-handlers)
68
+ - [Step 1: Create an EventClient](#step-1-create-an-eventclient)
69
+ - [Step 2: Register an Event Handler](#step-2-register-an-event-handler)
70
+ - [Step 3: Publish Events](#step-3-publish-events)
71
+ - [Step 4: Monitor Event Processing](#step-4-monitor-event-processing)
72
+ - [Step 5: Manage Event Handlers](#step-5-manage-event-handlers)
65
73
  - [Human Tasks](#human-tasks)
66
74
  - [The HumanExecutor and TemplateClient](#the-humanexecutor-and-templateclient)
67
75
  - [Quick Start: Creating and Managing a Human Task](#quick-start-creating-and-managing-a-human-task)
@@ -716,6 +724,110 @@ await metadataClient.registerWorkflowDef(wf);
716
724
 
717
725
  For a complete method reference, see the [MetadataClient API Reference](docs/api-reference/metadata-client.md).
718
726
 
727
+ ## Events
728
+
729
+ Event handlers in Conductor allow you to automatically trigger actions (like starting workflows) when events are received. This enables event-driven workflows and integrations with external systems.
730
+
731
+ ### The EventClient
732
+
733
+ The `EventClient` manages event handlers and event processing. For a complete method reference, see the [EventClient API Reference](docs/api-reference/event-client.md).
734
+
735
+ ### Quick Start: Using Event Handlers
736
+
737
+ Here's how to set up event-driven workflows:
738
+
739
+ #### Step 1: Create an EventClient
740
+
741
+ First, create an instance of the `EventClient`:
742
+
743
+ ```typescript
744
+ import { EventClient } from "@io-orkes/conductor-javascript";
745
+
746
+ const eventClient = new EventClient(client);
747
+ ```
748
+
749
+ #### Step 2: Register an Event Handler
750
+
751
+ Create an event handler that defines what action to take when an event is received. In this example, we'll start a workflow when an order is created:
752
+
753
+ ```typescript
754
+ await eventClient.addEventHandler({
755
+ name: "order_created_handler",
756
+ event: "order.created",
757
+ active: true,
758
+ description: "Starts fulfillment workflow when order is created",
759
+ actions: [
760
+ {
761
+ action: "start_workflow",
762
+ start_workflow: {
763
+ name: "fulfill_order",
764
+ version: 1,
765
+ input: {
766
+ orderId: "${event.orderId}",
767
+ customerId: "${event.customerId}",
768
+ },
769
+ },
770
+ },
771
+ ],
772
+ });
773
+ ```
774
+
775
+ #### Step 3: Publish Events
776
+
777
+ When an event occurs, publish it to Conductor. All active handlers registered for that event will be triggered:
778
+
779
+ ```typescript
780
+ await eventClient.handleIncomingEvent({
781
+ event: "order.created",
782
+ orderId: "ORDER-123",
783
+ customerId: "CUST-456",
784
+ amount: "99.99",
785
+ timestamp: Date.now().toString(),
786
+ });
787
+ ```
788
+
789
+ #### Step 4: Monitor Event Processing
790
+
791
+ You can monitor event handlers and their execution history:
792
+
793
+ ```typescript
794
+ // Get all handlers for a specific event
795
+ const handlers = await eventClient.getEventHandlersForEvent("order.created");
796
+
797
+ // Get execution history for a handler
798
+ const executions = await eventClient.getEventExecutions("order_created_handler");
799
+
800
+ // Get event messages
801
+ const messages = await eventClient.getEventMessages("order.created");
802
+ ```
803
+
804
+ #### Step 5: Manage Event Handlers
805
+
806
+ Update, deactivate, or remove event handlers as needed:
807
+
808
+ ```typescript
809
+ // Update a handler
810
+ await eventClient.updateEventHandler({
811
+ name: "order_created_handler",
812
+ active: false, // Deactivate
813
+ // ... other fields
814
+ });
815
+
816
+ // Remove a handler
817
+ await eventClient.removeEventHandler("order_created_handler");
818
+ ```
819
+
820
+ **Event Handler Actions:**
821
+
822
+ Event handlers support various actions:
823
+ - `start_workflow` - Start a workflow execution
824
+ - `complete_task` - Complete a specific task
825
+ - `fail_task` - Fail a specific task
826
+ - `terminate_workflow` - Terminate a workflow
827
+ - `update_workflow_variables` - Update workflow variables
828
+
829
+ For a complete method reference, see the [EventClient API Reference](docs/api-reference/event-client.md).
830
+
719
831
  ## Human Tasks
720
832
 
721
833
  Human tasks integrate human interaction into your automated workflows. They pause a workflow until a person provides input, such as an approval, a correction, or additional information.
package/dist/index.d.mts CHANGED
@@ -74,6 +74,17 @@ type CircuitBreakerTransitionResponse = {
74
74
  type Config$2 = {
75
75
  circuitBreakerConfig?: OrkesCircuitBreakerConfig;
76
76
  };
77
+ type ConnectivityTestInput = {
78
+ input?: {
79
+ [key: string]: unknown;
80
+ };
81
+ sink: string;
82
+ };
83
+ type ConnectivityTestResult = {
84
+ reason?: string;
85
+ successful?: boolean;
86
+ workflowId?: string;
87
+ };
77
88
  type Declaration = {
78
89
  allFields?: {
79
90
  [key: string]: unknown;
@@ -452,6 +463,41 @@ type EventHandler = {
452
463
  orgId?: string;
453
464
  tags?: Array<Tag>;
454
465
  };
466
+ type EventMessage = {
467
+ createdAt?: number;
468
+ eventExecutions?: Array<ExtendedEventExecution>;
469
+ eventTarget?: string;
470
+ eventType?: 'WEBHOOK' | 'MESSAGE';
471
+ fullPayload?: {
472
+ [key: string]: unknown;
473
+ };
474
+ id?: string;
475
+ orgId?: string;
476
+ payload?: string;
477
+ status?: 'RECEIVED' | 'HANDLED' | 'REJECTED';
478
+ statusDescription?: string;
479
+ };
480
+ type ExtendedEventExecution = {
481
+ action?: 'start_workflow' | 'complete_task' | 'fail_task' | 'terminate_workflow' | 'update_workflow_variables';
482
+ created?: number;
483
+ event?: string;
484
+ eventHandler?: EventHandler;
485
+ fullMessagePayload?: {
486
+ [key: string]: unknown;
487
+ };
488
+ id?: string;
489
+ messageId?: string;
490
+ name?: string;
491
+ orgId?: string;
492
+ output?: {
493
+ [key: string]: unknown;
494
+ };
495
+ payload?: {
496
+ [key: string]: unknown;
497
+ };
498
+ status?: 'IN_PROGRESS' | 'COMPLETED' | 'FAILED' | 'SKIPPED';
499
+ statusDescription?: string;
500
+ };
455
501
  type ExtendedTaskDef$1 = {
456
502
  backoffScaleFactor?: number;
457
503
  baseType?: string;
@@ -953,6 +999,13 @@ type GenerateTokenRequest = {
953
999
  keyId: string;
954
1000
  keySecret: string;
955
1001
  };
1002
+ type HandledEventResponse = {
1003
+ active?: boolean;
1004
+ event?: string;
1005
+ name?: string;
1006
+ numberOfActions?: number;
1007
+ numberOfMessages?: number;
1008
+ };
956
1009
  type HumanTaskAssignment = {
957
1010
  assignee?: HumanTaskUser;
958
1011
  slaMinutes?: number;
@@ -1553,6 +1606,10 @@ type ScrollableSearchResultWorkflowSummary = {
1553
1606
  results?: Array<WorkflowSummary>;
1554
1607
  totalHits?: number;
1555
1608
  };
1609
+ type SearchResultHandledEventResponse = {
1610
+ results?: Array<HandledEventResponse>;
1611
+ totalHits?: number;
1612
+ };
1556
1613
  type SearchResultTaskSummary = {
1557
1614
  results?: Array<TaskSummary>;
1558
1615
  totalHits?: number;
@@ -3608,6 +3665,172 @@ declare class MetadataClient {
3608
3665
  unregisterWorkflow(workflowName: string, version?: number): Promise<void>;
3609
3666
  }
3610
3667
 
3668
+ declare class EventClient {
3669
+ readonly _client: Client;
3670
+ constructor(client: Client);
3671
+ /**
3672
+ * Get all the event handlers
3673
+ * @returns {Promise<EventHandler[]>}
3674
+ * @throws {ConductorSdkError}
3675
+ */
3676
+ getAllEventHandlers(): Promise<EventHandler[]>;
3677
+ /**
3678
+ * Add event handlers
3679
+ * @param {EventHandler[]} eventHandlers
3680
+ * @returns {Promise<void>}
3681
+ * @throws {ConductorSdkError}
3682
+ */
3683
+ addEventHandlers(eventHandlers: EventHandler[]): Promise<void>;
3684
+ /**
3685
+ * Add an event handler
3686
+ * @param {EventHandler} eventHandler
3687
+ * @returns {Promise<void>}
3688
+ * @throws {ConductorSdkError}
3689
+ */
3690
+ addEventHandler(eventHandler: EventHandler): Promise<void>;
3691
+ /**
3692
+ * Update an event handler
3693
+ * @param {EventHandler} eventHandler
3694
+ * @returns {Promise<void>}
3695
+ * @throws {ConductorSdkError}
3696
+ */
3697
+ updateEventHandler(eventHandler: EventHandler): Promise<void>;
3698
+ /**
3699
+ * Handle an incoming event
3700
+ * @param {Record<string, string>} data
3701
+ * @returns {Promise<void>}
3702
+ * @throws {ConductorSdkError}
3703
+ */
3704
+ handleIncomingEvent(data: Record<string, string>): Promise<void>;
3705
+ /**
3706
+ * Get an event handler by name
3707
+ * @param {string} eventHandlerName
3708
+ * @returns {Promise<EventHandler>}
3709
+ * @throws {ConductorSdkError}
3710
+ */
3711
+ getEventHandlerByName(eventHandlerName: string): Promise<EventHandler>;
3712
+ /**
3713
+ * Get all queue configs
3714
+ * @returns {Promise<Record<string, string>>}
3715
+ * @throws {ConductorSdkError}
3716
+ */
3717
+ getAllQueueConfigs(): Promise<Record<string, string>>;
3718
+ /**
3719
+ * Delete queue config
3720
+ * @param {string} queueType
3721
+ * @param {string} queueName
3722
+ * @returns {Promise<void>}
3723
+ * @throws {ConductorSdkError}
3724
+ */
3725
+ deleteQueueConfig(queueType: string, queueName: string): Promise<void>;
3726
+ /**
3727
+ * Get queue config
3728
+ * @param {string} queueType
3729
+ * @param {string} queueName
3730
+ * @returns {Promise<Record<string, unknown>>}
3731
+ * @throws {ConductorSdkError}
3732
+ */
3733
+ getQueueConfig(queueType: string, queueName: string): Promise<Record<string, unknown>>;
3734
+ /**
3735
+ * Get event handlers for a given event
3736
+ * @param {string} event
3737
+ * @param {boolean} [activeOnly=false] Only return active handlers.
3738
+ * @returns {Promise<EventHandler[]>}
3739
+ * @throws {ConductorSdkError}
3740
+ */
3741
+ getEventHandlersForEvent(event: string, activeOnly?: boolean): Promise<EventHandler[]>;
3742
+ /**
3743
+ * Remove an event handler by name
3744
+ * @param {string} name
3745
+ * @returns {Promise<void>}
3746
+ * @throws {ConductorSdkError}
3747
+ */
3748
+ removeEventHandler(name: string): Promise<void>;
3749
+ /**
3750
+ * Get tags for an event handler
3751
+ * @param {string} name
3752
+ * @returns {Promise<Tag[]>}
3753
+ * @throws {ConductorSdkError}
3754
+ */
3755
+ getTagsForEventHandler(name: string): Promise<Tag[]>;
3756
+ /**
3757
+ * Put tags for an event handler
3758
+ * @param {string} name
3759
+ * @param {Tag[]} tags
3760
+ * @returns {Promise<void>}
3761
+ * @throws {ConductorSdkError}
3762
+ */
3763
+ putTagForEventHandler(name: string, tags: Tag[]): Promise<void>;
3764
+ /**
3765
+ * Delete tags for an event handler
3766
+ * @param {string} name
3767
+ * @param {Tag[]} tags
3768
+ * @returns {Promise<void>}
3769
+ * @throws {ConductorSdkError}
3770
+ */
3771
+ deleteTagsForEventHandler(name: string, tags: Tag[]): Promise<void>;
3772
+ /**
3773
+ * Delete a tag for an event handler
3774
+ * @param {string} name
3775
+ * @param {Tag} tag
3776
+ * @returns {Promise<void>}
3777
+ * @throws {ConductorSdkError}
3778
+ */
3779
+ deleteTagForEventHandler(name: string, tag: Tag): Promise<void>;
3780
+ /**
3781
+ * Test connectivity for a given queue using a workflow with EVENT task and an EventHandler
3782
+ * @param {ConnectivityTestInput} input
3783
+ * @returns {Promise<ConnectivityTestResult>}
3784
+ * @throws {ConductorSdkError}
3785
+ */
3786
+ testConnectivity(input: ConnectivityTestInput): Promise<ConnectivityTestResult>;
3787
+ /**
3788
+ * Create or update queue config by name
3789
+ * @deprecated Prefer server's newer endpoints if available
3790
+ * @param {string} queueType
3791
+ * @param {string} queueName
3792
+ * @param {string} config
3793
+ * @returns {Promise<void>}
3794
+ * @throws {ConductorSdkError}
3795
+ */
3796
+ putQueueConfig(queueType: string, queueName: string, config: string): Promise<void>;
3797
+ /**
3798
+ * Test endpoint (as exposed by API)
3799
+ * @returns {Promise<EventHandler>}
3800
+ * @throws {ConductorSdkError}
3801
+ */
3802
+ test(): Promise<EventHandler>;
3803
+ /**
3804
+ * Get all active event handlers (execution view)
3805
+ * @returns {Promise<SearchResultHandledEventResponse>}
3806
+ * @throws {ConductorSdkError}
3807
+ */
3808
+ getAllActiveEventHandlers(): Promise<SearchResultHandledEventResponse>;
3809
+ /**
3810
+ * Get event executions for a specific handler
3811
+ * @param {string} eventHandlerName
3812
+ * @param {number} [from] Pagination cursor
3813
+ * @returns {Promise<ExtendedEventExecution[]>}
3814
+ * @throws {ConductorSdkError}
3815
+ */
3816
+ getEventExecutions(eventHandlerName: string, from?: number): Promise<ExtendedEventExecution[]>;
3817
+ /**
3818
+ * Get all event handlers with statistics (messages view)
3819
+ * @param {number} [from] Pagination cursor
3820
+ * @returns {Promise<SearchResultHandledEventResponse>}
3821
+ * @throws {ConductorSdkError}
3822
+ */
3823
+ getEventHandlersWithStats(from?: number): Promise<SearchResultHandledEventResponse>;
3824
+ /**
3825
+ * Get event messages for a given event
3826
+ * @param {string} event
3827
+ * @param {number} [from] Pagination cursor
3828
+ * @returns {Promise<EventMessage[]>}
3829
+ * @throws {ConductorSdkError}
3830
+ */
3831
+ getEventMessages(event: string, from?: number): Promise<EventMessage[]>;
3832
+ }
3833
+
3611
3834
  interface OrkesApiConfig {
3612
3835
  serverUrl?: string;
3613
3836
  keyId?: string;
@@ -3827,4 +4050,4 @@ declare const orkesConductorClient: (config?: OrkesApiConfig, customFetch?: type
3827
4050
  interceptors: Middleware<Request, Response, unknown, ResolvedRequestOptions>;
3828
4051
  }>;
3829
4052
 
3830
- export { type Action, ApiError, type ApiRequestOptions, type ApiResult, type Auth, BaseHttpRequest, CancelError, CancelablePromise, type CircuitBreakerTransitionResponse, type Client, type ClientOptions, type CommonTaskDef, type ConductorClient, type ConductorLogLevel, type ConductorLogger, ConductorSdkError, type ConductorWorker, type Config, Consistency, DefaultLogger, type DefaultLoggerConfig, type DoWhileTaskDef, type EnhancedSignalResponse, type EventHandler, type EventTaskDef, type ExtendedTaskDef, type ExtendedWorkflowDef, type ExternalStorageLocation, type ForkJoinDynamicDef, type ForkJoinTaskDef, type GenerateTokenRequest, type HTScrollableSearchResultHumanTaskEntry, type HttpInputParameters, type HttpTaskDef, HumanExecutor, type HumanTaskAssignment, type HumanTaskDefinition, type HumanTaskEntry, type HumanTaskSearch, type HumanTaskSearchResult, type HumanTaskTemplate, type HumanTaskTrigger, type HumanTaskUser, type InlineTaskDef, type InlineTaskInputParameters, type JoinTaskDef, type JsonJQTransformTaskDef, type KafkaPublishInputParameters, type KafkaPublishTaskDef, MAX_RETRIES, MetadataClient, type Middleware, type OnCancel, type OpenAPIConfig, type OrkesApiConfig, type PollData, type ProtoRegistryEntry, type QuerySerializerOptions, type RequestOptions, type RerunWorkflowRequest, type ResolvedRequestOptions, type Response$1 as Response, ReturnStrategy, type RunnerArgs, type SaveScheduleRequest, SchedulerClient, type ScrollableSearchResultWorkflowSummary, type SearchResultTask, type SearchResultTaskSummary, type SearchResultWorkflow, type SearchResultWorkflowScheduleExecutionModel, type SearchResultWorkflowSummary, type ServiceMethod, type ServiceRegistry, ServiceType, type SetVariableTaskDef, type SignalResponse, type SimpleTaskDef, type SkipTaskRequest, type StartWorkflow, type StartWorkflowRequest, type StreamEvent, type SubWorkflowParams, type SubWorkflowTaskDef, type SwitchTaskDef, type Task, TaskClient, type TaskDef, type TaskDefTypes, type TaskDetails, type TaskErrorHandler, type TaskExecLog, type TaskFinderPredicate, type TaskListSearchResultSummary, TaskManager, type TaskManagerConfig, type TaskManagerOptions, type TaskResult, type TaskResultOutputData, type TaskResultStatus, TaskResultStatusEnum, TaskRunner, type TaskRunnerOptions, type TaskSummary, TaskType, TemplateClient, type Terminate, type TerminateTaskDef, type TimeoutPolicy, type UserFormTemplate, type WaitTaskDef, type Workflow, type WorkflowDef$1 as WorkflowDef, WorkflowExecutor, type WorkflowRun, type WorkflowSchedule, type WorkflowScheduleExecutionModel, type WorkflowScheduleModel, type WorkflowStatus, type WorkflowSummary, type WorkflowTask, completedTaskMatchingType, conductorEventTask, doWhileTask, dynamicForkTask, eventTask, forkTask, forkTaskJoin, generate, generateDoWhileTask, generateEventTask, generateForkJoinTask, generateHTTPTask, generateInlineTask, generateJQTransformTask, generateJoinTask, generateKafkaPublishTask, generateSetVariableTask, generateSimpleTask, generateSubWorkflowTask, generateSwitchTask, generateTerminateTask, generateWaitTask, httpTask, inlineTask, joinTask, jsonJqTask, kafkaPublishTask, newLoopTask, noopErrorHandler, noopLogger, orkesConductorClient, setVariableTask, simpleTask, sqsEventTask, subWorkflowTask, switchTask, taskDefinition, taskGenMapper, terminateTask, waitTaskDuration, waitTaskUntil, workflow };
4053
+ export { type Action, ApiError, type ApiRequestOptions, type ApiResult, type Auth, BaseHttpRequest, CancelError, CancelablePromise, type CircuitBreakerTransitionResponse, type Client, type ClientOptions, type CommonTaskDef, type ConductorClient, type ConductorLogLevel, type ConductorLogger, ConductorSdkError, type ConductorWorker, type Config, type ConnectivityTestInput, type ConnectivityTestResult, Consistency, DefaultLogger, type DefaultLoggerConfig, type DoWhileTaskDef, type EnhancedSignalResponse, EventClient, type EventHandler, type EventMessage, type EventTaskDef, type ExtendedEventExecution, type ExtendedTaskDef, type ExtendedWorkflowDef, type ExternalStorageLocation, type ForkJoinDynamicDef, type ForkJoinTaskDef, type GenerateTokenRequest, type HTScrollableSearchResultHumanTaskEntry, type HttpInputParameters, type HttpTaskDef, HumanExecutor, type HumanTaskAssignment, type HumanTaskDefinition, type HumanTaskEntry, type HumanTaskSearch, type HumanTaskSearchResult, type HumanTaskTemplate, type HumanTaskTrigger, type HumanTaskUser, type InlineTaskDef, type InlineTaskInputParameters, type JoinTaskDef, type JsonJQTransformTaskDef, type KafkaPublishInputParameters, type KafkaPublishTaskDef, MAX_RETRIES, MetadataClient, type Middleware, type OnCancel, type OpenAPIConfig, type OrkesApiConfig, type PollData, type ProtoRegistryEntry, type QuerySerializerOptions, type RequestOptions, type RerunWorkflowRequest, type ResolvedRequestOptions, type Response$1 as Response, ReturnStrategy, type RunnerArgs, type SaveScheduleRequest, SchedulerClient, type ScrollableSearchResultWorkflowSummary, type SearchResultHandledEventResponse, type SearchResultTask, type SearchResultTaskSummary, type SearchResultWorkflow, type SearchResultWorkflowScheduleExecutionModel, type SearchResultWorkflowSummary, type ServiceMethod, type ServiceRegistry, ServiceType, type SetVariableTaskDef, type SignalResponse, type SimpleTaskDef, type SkipTaskRequest, type StartWorkflow, type StartWorkflowRequest, type StreamEvent, type SubWorkflowParams, type SubWorkflowTaskDef, type SwitchTaskDef, type Tag, type Task, TaskClient, type TaskDef, type TaskDefTypes, type TaskDetails, type TaskErrorHandler, type TaskExecLog, type TaskFinderPredicate, type TaskListSearchResultSummary, TaskManager, type TaskManagerConfig, type TaskManagerOptions, type TaskResult, type TaskResultOutputData, type TaskResultStatus, TaskResultStatusEnum, TaskRunner, type TaskRunnerOptions, type TaskSummary, TaskType, TemplateClient, type Terminate, type TerminateTaskDef, type TimeoutPolicy, type UserFormTemplate, type WaitTaskDef, type Workflow, type WorkflowDef$1 as WorkflowDef, WorkflowExecutor, type WorkflowRun, type WorkflowSchedule, type WorkflowScheduleExecutionModel, type WorkflowScheduleModel, type WorkflowStatus, type WorkflowSummary, type WorkflowTask, completedTaskMatchingType, conductorEventTask, doWhileTask, dynamicForkTask, eventTask, forkTask, forkTaskJoin, generate, generateDoWhileTask, generateEventTask, generateForkJoinTask, generateHTTPTask, generateInlineTask, generateJQTransformTask, generateJoinTask, generateKafkaPublishTask, generateSetVariableTask, generateSimpleTask, generateSubWorkflowTask, generateSwitchTask, generateTerminateTask, generateWaitTask, httpTask, inlineTask, joinTask, jsonJqTask, kafkaPublishTask, newLoopTask, noopErrorHandler, noopLogger, orkesConductorClient, setVariableTask, simpleTask, sqsEventTask, subWorkflowTask, switchTask, taskDefinition, taskGenMapper, terminateTask, waitTaskDuration, waitTaskUntil, workflow };
package/dist/index.d.ts CHANGED
@@ -74,6 +74,17 @@ type CircuitBreakerTransitionResponse = {
74
74
  type Config$2 = {
75
75
  circuitBreakerConfig?: OrkesCircuitBreakerConfig;
76
76
  };
77
+ type ConnectivityTestInput = {
78
+ input?: {
79
+ [key: string]: unknown;
80
+ };
81
+ sink: string;
82
+ };
83
+ type ConnectivityTestResult = {
84
+ reason?: string;
85
+ successful?: boolean;
86
+ workflowId?: string;
87
+ };
77
88
  type Declaration = {
78
89
  allFields?: {
79
90
  [key: string]: unknown;
@@ -452,6 +463,41 @@ type EventHandler = {
452
463
  orgId?: string;
453
464
  tags?: Array<Tag>;
454
465
  };
466
+ type EventMessage = {
467
+ createdAt?: number;
468
+ eventExecutions?: Array<ExtendedEventExecution>;
469
+ eventTarget?: string;
470
+ eventType?: 'WEBHOOK' | 'MESSAGE';
471
+ fullPayload?: {
472
+ [key: string]: unknown;
473
+ };
474
+ id?: string;
475
+ orgId?: string;
476
+ payload?: string;
477
+ status?: 'RECEIVED' | 'HANDLED' | 'REJECTED';
478
+ statusDescription?: string;
479
+ };
480
+ type ExtendedEventExecution = {
481
+ action?: 'start_workflow' | 'complete_task' | 'fail_task' | 'terminate_workflow' | 'update_workflow_variables';
482
+ created?: number;
483
+ event?: string;
484
+ eventHandler?: EventHandler;
485
+ fullMessagePayload?: {
486
+ [key: string]: unknown;
487
+ };
488
+ id?: string;
489
+ messageId?: string;
490
+ name?: string;
491
+ orgId?: string;
492
+ output?: {
493
+ [key: string]: unknown;
494
+ };
495
+ payload?: {
496
+ [key: string]: unknown;
497
+ };
498
+ status?: 'IN_PROGRESS' | 'COMPLETED' | 'FAILED' | 'SKIPPED';
499
+ statusDescription?: string;
500
+ };
455
501
  type ExtendedTaskDef$1 = {
456
502
  backoffScaleFactor?: number;
457
503
  baseType?: string;
@@ -953,6 +999,13 @@ type GenerateTokenRequest = {
953
999
  keyId: string;
954
1000
  keySecret: string;
955
1001
  };
1002
+ type HandledEventResponse = {
1003
+ active?: boolean;
1004
+ event?: string;
1005
+ name?: string;
1006
+ numberOfActions?: number;
1007
+ numberOfMessages?: number;
1008
+ };
956
1009
  type HumanTaskAssignment = {
957
1010
  assignee?: HumanTaskUser;
958
1011
  slaMinutes?: number;
@@ -1553,6 +1606,10 @@ type ScrollableSearchResultWorkflowSummary = {
1553
1606
  results?: Array<WorkflowSummary>;
1554
1607
  totalHits?: number;
1555
1608
  };
1609
+ type SearchResultHandledEventResponse = {
1610
+ results?: Array<HandledEventResponse>;
1611
+ totalHits?: number;
1612
+ };
1556
1613
  type SearchResultTaskSummary = {
1557
1614
  results?: Array<TaskSummary>;
1558
1615
  totalHits?: number;
@@ -3608,6 +3665,172 @@ declare class MetadataClient {
3608
3665
  unregisterWorkflow(workflowName: string, version?: number): Promise<void>;
3609
3666
  }
3610
3667
 
3668
+ declare class EventClient {
3669
+ readonly _client: Client;
3670
+ constructor(client: Client);
3671
+ /**
3672
+ * Get all the event handlers
3673
+ * @returns {Promise<EventHandler[]>}
3674
+ * @throws {ConductorSdkError}
3675
+ */
3676
+ getAllEventHandlers(): Promise<EventHandler[]>;
3677
+ /**
3678
+ * Add event handlers
3679
+ * @param {EventHandler[]} eventHandlers
3680
+ * @returns {Promise<void>}
3681
+ * @throws {ConductorSdkError}
3682
+ */
3683
+ addEventHandlers(eventHandlers: EventHandler[]): Promise<void>;
3684
+ /**
3685
+ * Add an event handler
3686
+ * @param {EventHandler} eventHandler
3687
+ * @returns {Promise<void>}
3688
+ * @throws {ConductorSdkError}
3689
+ */
3690
+ addEventHandler(eventHandler: EventHandler): Promise<void>;
3691
+ /**
3692
+ * Update an event handler
3693
+ * @param {EventHandler} eventHandler
3694
+ * @returns {Promise<void>}
3695
+ * @throws {ConductorSdkError}
3696
+ */
3697
+ updateEventHandler(eventHandler: EventHandler): Promise<void>;
3698
+ /**
3699
+ * Handle an incoming event
3700
+ * @param {Record<string, string>} data
3701
+ * @returns {Promise<void>}
3702
+ * @throws {ConductorSdkError}
3703
+ */
3704
+ handleIncomingEvent(data: Record<string, string>): Promise<void>;
3705
+ /**
3706
+ * Get an event handler by name
3707
+ * @param {string} eventHandlerName
3708
+ * @returns {Promise<EventHandler>}
3709
+ * @throws {ConductorSdkError}
3710
+ */
3711
+ getEventHandlerByName(eventHandlerName: string): Promise<EventHandler>;
3712
+ /**
3713
+ * Get all queue configs
3714
+ * @returns {Promise<Record<string, string>>}
3715
+ * @throws {ConductorSdkError}
3716
+ */
3717
+ getAllQueueConfigs(): Promise<Record<string, string>>;
3718
+ /**
3719
+ * Delete queue config
3720
+ * @param {string} queueType
3721
+ * @param {string} queueName
3722
+ * @returns {Promise<void>}
3723
+ * @throws {ConductorSdkError}
3724
+ */
3725
+ deleteQueueConfig(queueType: string, queueName: string): Promise<void>;
3726
+ /**
3727
+ * Get queue config
3728
+ * @param {string} queueType
3729
+ * @param {string} queueName
3730
+ * @returns {Promise<Record<string, unknown>>}
3731
+ * @throws {ConductorSdkError}
3732
+ */
3733
+ getQueueConfig(queueType: string, queueName: string): Promise<Record<string, unknown>>;
3734
+ /**
3735
+ * Get event handlers for a given event
3736
+ * @param {string} event
3737
+ * @param {boolean} [activeOnly=false] Only return active handlers.
3738
+ * @returns {Promise<EventHandler[]>}
3739
+ * @throws {ConductorSdkError}
3740
+ */
3741
+ getEventHandlersForEvent(event: string, activeOnly?: boolean): Promise<EventHandler[]>;
3742
+ /**
3743
+ * Remove an event handler by name
3744
+ * @param {string} name
3745
+ * @returns {Promise<void>}
3746
+ * @throws {ConductorSdkError}
3747
+ */
3748
+ removeEventHandler(name: string): Promise<void>;
3749
+ /**
3750
+ * Get tags for an event handler
3751
+ * @param {string} name
3752
+ * @returns {Promise<Tag[]>}
3753
+ * @throws {ConductorSdkError}
3754
+ */
3755
+ getTagsForEventHandler(name: string): Promise<Tag[]>;
3756
+ /**
3757
+ * Put tags for an event handler
3758
+ * @param {string} name
3759
+ * @param {Tag[]} tags
3760
+ * @returns {Promise<void>}
3761
+ * @throws {ConductorSdkError}
3762
+ */
3763
+ putTagForEventHandler(name: string, tags: Tag[]): Promise<void>;
3764
+ /**
3765
+ * Delete tags for an event handler
3766
+ * @param {string} name
3767
+ * @param {Tag[]} tags
3768
+ * @returns {Promise<void>}
3769
+ * @throws {ConductorSdkError}
3770
+ */
3771
+ deleteTagsForEventHandler(name: string, tags: Tag[]): Promise<void>;
3772
+ /**
3773
+ * Delete a tag for an event handler
3774
+ * @param {string} name
3775
+ * @param {Tag} tag
3776
+ * @returns {Promise<void>}
3777
+ * @throws {ConductorSdkError}
3778
+ */
3779
+ deleteTagForEventHandler(name: string, tag: Tag): Promise<void>;
3780
+ /**
3781
+ * Test connectivity for a given queue using a workflow with EVENT task and an EventHandler
3782
+ * @param {ConnectivityTestInput} input
3783
+ * @returns {Promise<ConnectivityTestResult>}
3784
+ * @throws {ConductorSdkError}
3785
+ */
3786
+ testConnectivity(input: ConnectivityTestInput): Promise<ConnectivityTestResult>;
3787
+ /**
3788
+ * Create or update queue config by name
3789
+ * @deprecated Prefer server's newer endpoints if available
3790
+ * @param {string} queueType
3791
+ * @param {string} queueName
3792
+ * @param {string} config
3793
+ * @returns {Promise<void>}
3794
+ * @throws {ConductorSdkError}
3795
+ */
3796
+ putQueueConfig(queueType: string, queueName: string, config: string): Promise<void>;
3797
+ /**
3798
+ * Test endpoint (as exposed by API)
3799
+ * @returns {Promise<EventHandler>}
3800
+ * @throws {ConductorSdkError}
3801
+ */
3802
+ test(): Promise<EventHandler>;
3803
+ /**
3804
+ * Get all active event handlers (execution view)
3805
+ * @returns {Promise<SearchResultHandledEventResponse>}
3806
+ * @throws {ConductorSdkError}
3807
+ */
3808
+ getAllActiveEventHandlers(): Promise<SearchResultHandledEventResponse>;
3809
+ /**
3810
+ * Get event executions for a specific handler
3811
+ * @param {string} eventHandlerName
3812
+ * @param {number} [from] Pagination cursor
3813
+ * @returns {Promise<ExtendedEventExecution[]>}
3814
+ * @throws {ConductorSdkError}
3815
+ */
3816
+ getEventExecutions(eventHandlerName: string, from?: number): Promise<ExtendedEventExecution[]>;
3817
+ /**
3818
+ * Get all event handlers with statistics (messages view)
3819
+ * @param {number} [from] Pagination cursor
3820
+ * @returns {Promise<SearchResultHandledEventResponse>}
3821
+ * @throws {ConductorSdkError}
3822
+ */
3823
+ getEventHandlersWithStats(from?: number): Promise<SearchResultHandledEventResponse>;
3824
+ /**
3825
+ * Get event messages for a given event
3826
+ * @param {string} event
3827
+ * @param {number} [from] Pagination cursor
3828
+ * @returns {Promise<EventMessage[]>}
3829
+ * @throws {ConductorSdkError}
3830
+ */
3831
+ getEventMessages(event: string, from?: number): Promise<EventMessage[]>;
3832
+ }
3833
+
3611
3834
  interface OrkesApiConfig {
3612
3835
  serverUrl?: string;
3613
3836
  keyId?: string;
@@ -3827,4 +4050,4 @@ declare const orkesConductorClient: (config?: OrkesApiConfig, customFetch?: type
3827
4050
  interceptors: Middleware<Request, Response, unknown, ResolvedRequestOptions>;
3828
4051
  }>;
3829
4052
 
3830
- export { type Action, ApiError, type ApiRequestOptions, type ApiResult, type Auth, BaseHttpRequest, CancelError, CancelablePromise, type CircuitBreakerTransitionResponse, type Client, type ClientOptions, type CommonTaskDef, type ConductorClient, type ConductorLogLevel, type ConductorLogger, ConductorSdkError, type ConductorWorker, type Config, Consistency, DefaultLogger, type DefaultLoggerConfig, type DoWhileTaskDef, type EnhancedSignalResponse, type EventHandler, type EventTaskDef, type ExtendedTaskDef, type ExtendedWorkflowDef, type ExternalStorageLocation, type ForkJoinDynamicDef, type ForkJoinTaskDef, type GenerateTokenRequest, type HTScrollableSearchResultHumanTaskEntry, type HttpInputParameters, type HttpTaskDef, HumanExecutor, type HumanTaskAssignment, type HumanTaskDefinition, type HumanTaskEntry, type HumanTaskSearch, type HumanTaskSearchResult, type HumanTaskTemplate, type HumanTaskTrigger, type HumanTaskUser, type InlineTaskDef, type InlineTaskInputParameters, type JoinTaskDef, type JsonJQTransformTaskDef, type KafkaPublishInputParameters, type KafkaPublishTaskDef, MAX_RETRIES, MetadataClient, type Middleware, type OnCancel, type OpenAPIConfig, type OrkesApiConfig, type PollData, type ProtoRegistryEntry, type QuerySerializerOptions, type RequestOptions, type RerunWorkflowRequest, type ResolvedRequestOptions, type Response$1 as Response, ReturnStrategy, type RunnerArgs, type SaveScheduleRequest, SchedulerClient, type ScrollableSearchResultWorkflowSummary, type SearchResultTask, type SearchResultTaskSummary, type SearchResultWorkflow, type SearchResultWorkflowScheduleExecutionModel, type SearchResultWorkflowSummary, type ServiceMethod, type ServiceRegistry, ServiceType, type SetVariableTaskDef, type SignalResponse, type SimpleTaskDef, type SkipTaskRequest, type StartWorkflow, type StartWorkflowRequest, type StreamEvent, type SubWorkflowParams, type SubWorkflowTaskDef, type SwitchTaskDef, type Task, TaskClient, type TaskDef, type TaskDefTypes, type TaskDetails, type TaskErrorHandler, type TaskExecLog, type TaskFinderPredicate, type TaskListSearchResultSummary, TaskManager, type TaskManagerConfig, type TaskManagerOptions, type TaskResult, type TaskResultOutputData, type TaskResultStatus, TaskResultStatusEnum, TaskRunner, type TaskRunnerOptions, type TaskSummary, TaskType, TemplateClient, type Terminate, type TerminateTaskDef, type TimeoutPolicy, type UserFormTemplate, type WaitTaskDef, type Workflow, type WorkflowDef$1 as WorkflowDef, WorkflowExecutor, type WorkflowRun, type WorkflowSchedule, type WorkflowScheduleExecutionModel, type WorkflowScheduleModel, type WorkflowStatus, type WorkflowSummary, type WorkflowTask, completedTaskMatchingType, conductorEventTask, doWhileTask, dynamicForkTask, eventTask, forkTask, forkTaskJoin, generate, generateDoWhileTask, generateEventTask, generateForkJoinTask, generateHTTPTask, generateInlineTask, generateJQTransformTask, generateJoinTask, generateKafkaPublishTask, generateSetVariableTask, generateSimpleTask, generateSubWorkflowTask, generateSwitchTask, generateTerminateTask, generateWaitTask, httpTask, inlineTask, joinTask, jsonJqTask, kafkaPublishTask, newLoopTask, noopErrorHandler, noopLogger, orkesConductorClient, setVariableTask, simpleTask, sqsEventTask, subWorkflowTask, switchTask, taskDefinition, taskGenMapper, terminateTask, waitTaskDuration, waitTaskUntil, workflow };
4053
+ export { type Action, ApiError, type ApiRequestOptions, type ApiResult, type Auth, BaseHttpRequest, CancelError, CancelablePromise, type CircuitBreakerTransitionResponse, type Client, type ClientOptions, type CommonTaskDef, type ConductorClient, type ConductorLogLevel, type ConductorLogger, ConductorSdkError, type ConductorWorker, type Config, type ConnectivityTestInput, type ConnectivityTestResult, Consistency, DefaultLogger, type DefaultLoggerConfig, type DoWhileTaskDef, type EnhancedSignalResponse, EventClient, type EventHandler, type EventMessage, type EventTaskDef, type ExtendedEventExecution, type ExtendedTaskDef, type ExtendedWorkflowDef, type ExternalStorageLocation, type ForkJoinDynamicDef, type ForkJoinTaskDef, type GenerateTokenRequest, type HTScrollableSearchResultHumanTaskEntry, type HttpInputParameters, type HttpTaskDef, HumanExecutor, type HumanTaskAssignment, type HumanTaskDefinition, type HumanTaskEntry, type HumanTaskSearch, type HumanTaskSearchResult, type HumanTaskTemplate, type HumanTaskTrigger, type HumanTaskUser, type InlineTaskDef, type InlineTaskInputParameters, type JoinTaskDef, type JsonJQTransformTaskDef, type KafkaPublishInputParameters, type KafkaPublishTaskDef, MAX_RETRIES, MetadataClient, type Middleware, type OnCancel, type OpenAPIConfig, type OrkesApiConfig, type PollData, type ProtoRegistryEntry, type QuerySerializerOptions, type RequestOptions, type RerunWorkflowRequest, type ResolvedRequestOptions, type Response$1 as Response, ReturnStrategy, type RunnerArgs, type SaveScheduleRequest, SchedulerClient, type ScrollableSearchResultWorkflowSummary, type SearchResultHandledEventResponse, type SearchResultTask, type SearchResultTaskSummary, type SearchResultWorkflow, type SearchResultWorkflowScheduleExecutionModel, type SearchResultWorkflowSummary, type ServiceMethod, type ServiceRegistry, ServiceType, type SetVariableTaskDef, type SignalResponse, type SimpleTaskDef, type SkipTaskRequest, type StartWorkflow, type StartWorkflowRequest, type StreamEvent, type SubWorkflowParams, type SubWorkflowTaskDef, type SwitchTaskDef, type Tag, type Task, TaskClient, type TaskDef, type TaskDefTypes, type TaskDetails, type TaskErrorHandler, type TaskExecLog, type TaskFinderPredicate, type TaskListSearchResultSummary, TaskManager, type TaskManagerConfig, type TaskManagerOptions, type TaskResult, type TaskResultOutputData, type TaskResultStatus, TaskResultStatusEnum, TaskRunner, type TaskRunnerOptions, type TaskSummary, TaskType, TemplateClient, type Terminate, type TerminateTaskDef, type TimeoutPolicy, type UserFormTemplate, type WaitTaskDef, type Workflow, type WorkflowDef$1 as WorkflowDef, WorkflowExecutor, type WorkflowRun, type WorkflowSchedule, type WorkflowScheduleExecutionModel, type WorkflowScheduleModel, type WorkflowStatus, type WorkflowSummary, type WorkflowTask, completedTaskMatchingType, conductorEventTask, doWhileTask, dynamicForkTask, eventTask, forkTask, forkTaskJoin, generate, generateDoWhileTask, generateEventTask, generateForkJoinTask, generateHTTPTask, generateInlineTask, generateJQTransformTask, generateJoinTask, generateKafkaPublishTask, generateSetVariableTask, generateSimpleTask, generateSubWorkflowTask, generateSwitchTask, generateTerminateTask, generateWaitTask, httpTask, inlineTask, joinTask, jsonJqTask, kafkaPublishTask, newLoopTask, noopErrorHandler, noopLogger, orkesConductorClient, setVariableTask, simpleTask, sqsEventTask, subWorkflowTask, switchTask, taskDefinition, taskGenMapper, terminateTask, waitTaskDuration, waitTaskUntil, workflow };