arvo-event-handler 2.3.3 → 3.0.1

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.
Files changed (78) hide show
  1. package/dist/AbstractArvoEventHandler/index.d.ts +1 -1
  2. package/dist/ArvoEventHandler/helpers.d.ts +40 -6
  3. package/dist/ArvoEventHandler/helpers.js +40 -6
  4. package/dist/ArvoEventHandler/index.d.ts +78 -49
  5. package/dist/ArvoEventHandler/index.js +151 -82
  6. package/dist/ArvoEventHandler/types.d.ts +25 -2
  7. package/dist/ArvoMachine/createMachine.d.ts +208 -0
  8. package/dist/ArvoMachine/createMachine.js +283 -0
  9. package/dist/ArvoMachine/index.d.ts +93 -0
  10. package/dist/ArvoMachine/index.js +160 -0
  11. package/dist/ArvoMachine/types.d.ts +194 -0
  12. package/dist/ArvoMachine/utils.d.ts +40 -0
  13. package/dist/ArvoMachine/utils.js +70 -0
  14. package/dist/ArvoOrchestrator/error.d.ts +16 -0
  15. package/dist/ArvoOrchestrator/error.js +43 -0
  16. package/dist/ArvoOrchestrator/factory.d.ts +28 -0
  17. package/dist/ArvoOrchestrator/factory.js +56 -0
  18. package/dist/ArvoOrchestrator/index.d.ts +69 -0
  19. package/dist/ArvoOrchestrator/index.js +597 -0
  20. package/dist/ArvoOrchestrator/types.d.ts +98 -0
  21. package/dist/ArvoResumable/factory.d.ts +50 -0
  22. package/dist/ArvoResumable/factory.js +70 -0
  23. package/dist/ArvoResumable/index.d.ts +141 -0
  24. package/dist/ArvoResumable/index.js +694 -0
  25. package/dist/ArvoResumable/types.d.ts +147 -0
  26. package/dist/ArvoResumable/types.js +2 -0
  27. package/dist/MachineExecutionEngine/index.d.ts +29 -0
  28. package/dist/MachineExecutionEngine/index.js +132 -0
  29. package/dist/MachineExecutionEngine/interface.d.ts +14 -0
  30. package/dist/MachineExecutionEngine/interface.js +2 -0
  31. package/dist/MachineExecutionEngine/types.d.ts +14 -0
  32. package/dist/MachineExecutionEngine/types.js +2 -0
  33. package/dist/MachineMemory/Simple.d.ts +51 -0
  34. package/dist/MachineMemory/Simple.js +158 -0
  35. package/dist/MachineMemory/TelemetredSimple.d.ts +51 -0
  36. package/dist/MachineMemory/TelemetredSimple.js +230 -0
  37. package/dist/MachineMemory/interface.d.ts +57 -0
  38. package/dist/MachineMemory/interface.js +2 -0
  39. package/dist/MachineMemory/utils.d.ts +1 -0
  40. package/dist/MachineMemory/utils.js +18 -0
  41. package/dist/MachineRegistry/index.d.ts +37 -0
  42. package/dist/MachineRegistry/index.js +87 -0
  43. package/dist/MachineRegistry/interface.d.ts +21 -0
  44. package/dist/MachineRegistry/interface.js +2 -0
  45. package/dist/SyncEventResource/index.d.ts +110 -0
  46. package/dist/SyncEventResource/index.js +280 -0
  47. package/dist/SyncEventResource/types.d.ts +2 -0
  48. package/dist/SyncEventResource/types.js +2 -0
  49. package/dist/index.d.ts +26 -8
  50. package/dist/index.js +39 -16
  51. package/dist/utils/SimpleEventBroker/helper.d.ts +166 -0
  52. package/dist/utils/SimpleEventBroker/helper.js +276 -0
  53. package/dist/utils/SimpleEventBroker/index.d.ts +96 -0
  54. package/dist/utils/SimpleEventBroker/index.js +259 -0
  55. package/dist/utils/SimpleEventBroker/types.d.ts +6 -0
  56. package/dist/utils/SimpleEventBroker/types.js +2 -0
  57. package/dist/utils/SimpleEventBroker/utils.d.ts +1 -0
  58. package/dist/utils/SimpleEventBroker/utils.js +10 -0
  59. package/dist/{utils.d.ts → utils/index.d.ts} +3 -36
  60. package/dist/utils/index.js +91 -0
  61. package/dist/utils/object/index.d.ts +37 -0
  62. package/dist/utils/object/index.js +63 -0
  63. package/package.json +5 -3
  64. package/dist/ArvoEventRouter/helpers.d.ts +0 -19
  65. package/dist/ArvoEventRouter/helpers.js +0 -22
  66. package/dist/ArvoEventRouter/index.d.ts +0 -89
  67. package/dist/ArvoEventRouter/index.js +0 -268
  68. package/dist/ArvoEventRouter/types.d.ts +0 -36
  69. package/dist/ArvoEventRouter/utils.d.ts +0 -30
  70. package/dist/ArvoEventRouter/utils.js +0 -43
  71. package/dist/MultiArvoEventHandler/helpers.d.ts +0 -48
  72. package/dist/MultiArvoEventHandler/helpers.js +0 -56
  73. package/dist/MultiArvoEventHandler/index.d.ts +0 -68
  74. package/dist/MultiArvoEventHandler/index.js +0 -205
  75. package/dist/MultiArvoEventHandler/types.d.ts +0 -64
  76. package/dist/utils.js +0 -191
  77. /package/dist/{ArvoEventRouter → ArvoMachine}/types.js +0 -0
  78. /package/dist/{MultiArvoEventHandler → ArvoOrchestrator}/types.js +0 -0
@@ -0,0 +1,69 @@
1
+ import { type ArvoContractRecord, type ArvoEvent, type OpenTelemetryHeaders } from 'arvo-core';
2
+ import type ArvoMachine from '../ArvoMachine';
3
+ import type { EnqueueArvoEventActionParam } from '../ArvoMachine/types';
4
+ import type { IMachineExectionEngine } from '../MachineExecutionEngine/interface';
5
+ import type { IMachineMemory } from '../MachineMemory/interface';
6
+ import type { IMachineRegistry } from '../MachineRegistry/interface';
7
+ import type { IArvoOrchestrator, MachineMemoryRecord } from './types';
8
+ import { SyncEventResource } from '../SyncEventResource';
9
+ import AbstractArvoEventHandler from '../AbstractArvoEventHandler';
10
+ import type { ArvoEventHandlerOpenTelemetryOptions } from '../types';
11
+ /**
12
+ * Orchestrates state machine execution and lifecycle management.
13
+ * Handles machine resolution, state management, event processing and error handling.
14
+ */
15
+ export declare class ArvoOrchestrator extends AbstractArvoEventHandler {
16
+ readonly executionunits: number;
17
+ readonly registry: IMachineRegistry;
18
+ readonly executionEngine: IMachineExectionEngine;
19
+ readonly syncEventResource: SyncEventResource<MachineMemoryRecord>;
20
+ get source(): any;
21
+ get requiresResourceLocking(): boolean;
22
+ get memory(): IMachineMemory<MachineMemoryRecord>;
23
+ get domain(): string | null;
24
+ /**
25
+ * Creates a new orchestrator instance
26
+ * @param params - Configuration parameters
27
+ * @throws Error if machines in registry have different sources
28
+ */
29
+ constructor({ executionunits, memory, registry, executionEngine, requiresResourceLocking }: IArvoOrchestrator);
30
+ /**
31
+ * Creates emittable event from execution result
32
+ * @param event - Source event to emit
33
+ * @param machine - Machine that generated event
34
+ * @param otelHeaders - OpenTelemetry headers
35
+ * @param orchestrationParentSubject - Parent orchestration subject
36
+ * @param sourceEvent - Original triggering event
37
+ * @param initEventId - The id of the event which initiated the orchestration in the first place
38
+ * @param _domain - The domain of the event.
39
+ *
40
+ * @throws {ContractViolation} On schema/contract mismatch
41
+ * @throws {ExecutionViolation} On invalid parentSubject$$ format
42
+ */
43
+ protected createEmittableEvent(event: EnqueueArvoEventActionParam, machine: ArvoMachine<any, any, any, any, any>, otelHeaders: OpenTelemetryHeaders, orchestrationParentSubject: string | null, sourceEvent: ArvoEvent, initEventId: string, _domain: string | null | undefined): ArvoEvent;
44
+ /**
45
+ * Core orchestration method that executes state machines in response to events.
46
+ * Manages the complete event lifecycle:
47
+ * 1. Acquires lock and state
48
+ * 2. Validates events and contracts
49
+ * 3. Executes state machine
50
+ * 4. Persists new state
51
+ * 5. Generates response events with domain-based segregation
52
+ *
53
+ * @param event - Event triggering the execution
54
+ * @param opentelemetry - OpenTelemetry configuration
55
+ * @returns Object containing domained events
56
+ *
57
+ * @throws {TransactionViolation} Lock/state operations failed
58
+ * @throws {ExecutionViolation} Invalid event structure/flow
59
+ * @throws {ContractViolation} Schema/contract mismatch
60
+ * @throws {ConfigViolation} Missing/invalid machine version
61
+ */
62
+ execute(event: ArvoEvent, opentelemetry?: ArvoEventHandlerOpenTelemetryOptions): Promise<{
63
+ events: ArvoEvent[];
64
+ }>;
65
+ /**
66
+ * Gets the error schema for this orchestrator
67
+ */
68
+ get systemErrorSchema(): ArvoContractRecord;
69
+ }