@contember/engine-actions 2.1.0-alpha.9 → 2.1.0-beta.2
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/CLAUDE.md +47 -0
- package/dist/development/index.cjs +54 -24
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +54 -24
- package/dist/development/index.js.map +1 -1
- package/dist/development/src/ActionsExecutionContainerHookFactory.cjs +24 -11
- package/dist/development/src/ActionsExecutionContainerHookFactory.cjs.map +1 -1
- package/dist/development/src/ActionsExecutionContainerHookFactory.js +24 -11
- package/dist/development/src/ActionsExecutionContainerHookFactory.js.map +1 -1
- package/dist/development/src/ListenerStoreProvider.cjs.map +1 -1
- package/dist/development/src/ListenerStoreProvider.js.map +1 -1
- package/dist/development/src/authorization/ActionsAuthorizationActions.cjs +2 -0
- package/dist/development/src/authorization/ActionsAuthorizationActions.cjs.map +1 -1
- package/dist/development/src/authorization/ActionsAuthorizationActions.js +2 -0
- package/dist/development/src/authorization/ActionsAuthorizationActions.js.map +1 -1
- package/dist/development/src/authorization/ActionsPermissionsFactory.cjs.map +1 -1
- package/dist/development/src/authorization/ActionsPermissionsFactory.js.map +1 -1
- package/dist/development/src/dispatch/DispatchWorkerSupervisor.cjs +16 -14
- package/dist/development/src/dispatch/DispatchWorkerSupervisor.cjs.map +1 -1
- package/dist/development/src/dispatch/DispatchWorkerSupervisor.js +16 -14
- package/dist/development/src/dispatch/DispatchWorkerSupervisor.js.map +1 -1
- package/dist/development/src/dispatch/EventDispatcher.cjs.map +1 -1
- package/dist/development/src/dispatch/EventDispatcher.js.map +1 -1
- package/dist/development/src/dispatch/EventsRepository.cjs +33 -15
- package/dist/development/src/dispatch/EventsRepository.cjs.map +1 -1
- package/dist/development/src/dispatch/EventsRepository.js +33 -15
- package/dist/development/src/dispatch/EventsRepository.js.map +1 -1
- package/dist/development/src/dispatch/LazyDispatchWorker.cjs +67 -0
- package/dist/development/src/dispatch/LazyDispatchWorker.cjs.map +1 -0
- package/dist/development/src/dispatch/LazyDispatchWorker.js +67 -0
- package/dist/development/src/dispatch/LazyDispatchWorker.js.map +1 -0
- package/dist/development/src/dispatch/ProjectDispatcher.cjs +3 -3
- package/dist/development/src/dispatch/ProjectDispatcher.cjs.map +1 -1
- package/dist/development/src/dispatch/ProjectDispatcher.js +2 -2
- package/dist/development/src/dispatch/ProjectDispatcher.js.map +1 -1
- package/dist/development/src/dispatch/TargetHandlerResolver.cjs.map +1 -1
- package/dist/development/src/dispatch/TargetHandlerResolver.js.map +1 -1
- package/dist/development/src/dispatch/WebhookFetcher.cjs.map +1 -1
- package/dist/development/src/dispatch/WebhookFetcher.js.map +1 -1
- package/dist/development/src/dispatch/WebhookTargetHandler.cjs +6 -1
- package/dist/development/src/dispatch/WebhookTargetHandler.cjs.map +1 -1
- package/dist/development/src/dispatch/WebhookTargetHandler.js +6 -1
- package/dist/development/src/dispatch/WebhookTargetHandler.js.map +1 -1
- package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.cjs +1 -0
- package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.cjs.map +1 -1
- package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.js +1 -0
- package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.js.map +1 -1
- package/dist/development/src/graphql/http/ActionsContextResolver.cjs +8 -11
- package/dist/development/src/graphql/http/ActionsContextResolver.cjs.map +1 -1
- package/dist/development/src/graphql/http/ActionsContextResolver.js +8 -11
- package/dist/development/src/graphql/http/ActionsContextResolver.js.map +1 -1
- package/dist/development/src/graphql/http/ActionsGraphQLHandlerFactory.cjs.map +1 -1
- package/dist/development/src/graphql/http/ActionsGraphQLHandlerFactory.js.map +1 -1
- package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.cjs +6 -3
- package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.cjs.map +1 -1
- package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.js +6 -3
- package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.js.map +1 -1
- package/dist/development/src/graphql/resolvers/ResolversFactory.cjs +7 -2
- package/dist/development/src/graphql/resolvers/ResolversFactory.cjs.map +1 -1
- package/dist/development/src/graphql/resolvers/ResolversFactory.js +8 -3
- package/dist/development/src/graphql/resolvers/ResolversFactory.js.map +1 -1
- package/dist/development/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs.map +1 -1
- package/dist/development/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js.map +1 -1
- package/dist/development/src/graphql/resolvers/mutation/RetryEventMutationResolver.cjs +21 -0
- package/dist/development/src/graphql/resolvers/mutation/RetryEventMutationResolver.cjs.map +1 -0
- package/dist/development/src/graphql/resolvers/mutation/RetryEventMutationResolver.js +21 -0
- package/dist/development/src/graphql/resolvers/mutation/RetryEventMutationResolver.js.map +1 -0
- package/dist/development/src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs.map +1 -1
- package/dist/development/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js.map +1 -1
- package/dist/development/src/graphql/resolvers/mutation/StopEventMutationResolver.cjs +19 -0
- package/dist/development/src/graphql/resolvers/mutation/StopEventMutationResolver.cjs.map +1 -0
- package/dist/development/src/graphql/resolvers/mutation/StopEventMutationResolver.js +19 -0
- package/dist/development/src/graphql/resolvers/mutation/StopEventMutationResolver.js.map +1 -0
- package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.cjs +14 -1
- package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.cjs.map +1 -1
- package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.js +14 -1
- package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.js.map +1 -1
- package/dist/development/src/graphql/resolvers/query/VariablesQueryResolver.cjs.map +1 -1
- package/dist/development/src/graphql/resolvers/query/VariablesQueryResolver.js.map +1 -1
- package/dist/development/src/graphql/schema/actions.graphql.cjs +18 -4
- package/dist/development/src/graphql/schema/actions.graphql.cjs.map +1 -1
- package/dist/development/src/graphql/schema/actions.graphql.js +18 -4
- package/dist/development/src/graphql/schema/actions.graphql.js.map +1 -1
- package/dist/development/src/migrations/2023-03-10-145000-actions-variables.cjs.map +1 -1
- package/dist/development/src/migrations/2023-03-10-145000-actions-variables.js.map +1 -1
- package/dist/development/src/migrations/2025-05-28-160000-action-event-user.cjs +16 -0
- package/dist/development/src/migrations/2025-05-28-160000-action-event-user.cjs.map +1 -0
- package/dist/development/src/migrations/2025-05-28-160000-action-event-user.js +17 -0
- package/dist/development/src/migrations/2025-05-28-160000-action-event-user.js.map +1 -0
- package/dist/development/src/migrations/index.cjs +3 -1
- package/dist/development/src/migrations/index.cjs.map +1 -1
- package/dist/development/src/migrations/index.js +3 -1
- package/dist/development/src/migrations/index.js.map +1 -1
- package/dist/development/src/migrations/snapshot.cjs +5 -2
- package/dist/development/src/migrations/snapshot.cjs.map +1 -1
- package/dist/development/src/migrations/snapshot.js +5 -2
- package/dist/development/src/migrations/snapshot.js.map +1 -1
- package/dist/development/src/model/EventByIdQuery.cjs +17 -0
- package/dist/development/src/model/EventByIdQuery.cjs.map +1 -0
- package/dist/development/src/model/EventByIdQuery.js +17 -0
- package/dist/development/src/model/EventByIdQuery.js.map +1 -0
- package/dist/development/src/model/EventsInProcessingQuery.cjs.map +1 -1
- package/dist/development/src/model/EventsInProcessingQuery.js.map +1 -1
- package/dist/development/src/model/EventsToProcessQuery.cjs.map +1 -1
- package/dist/development/src/model/EventsToProcessQuery.js.map +1 -1
- package/dist/development/src/model/EventsToProcessSpecification.cjs.map +1 -1
- package/dist/development/src/model/EventsToProcessSpecification.js.map +1 -1
- package/dist/development/src/model/FailedEventsQuery.cjs.map +1 -1
- package/dist/development/src/model/FailedEventsQuery.js.map +1 -1
- package/dist/development/src/model/SetVariableCommand.cjs.map +1 -1
- package/dist/development/src/model/SetVariableCommand.js.map +1 -1
- package/dist/development/src/model/VariablesManager.cjs.map +1 -1
- package/dist/development/src/model/VariablesManager.js.map +1 -1
- package/dist/development/src/model/VariablesQuery.cjs.map +1 -1
- package/dist/development/src/model/VariablesQuery.js.map +1 -1
- package/dist/development/src/triggers/TriggerHandler.cjs +17 -14
- package/dist/development/src/triggers/TriggerHandler.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerHandler.js +17 -14
- package/dist/development/src/triggers/TriggerHandler.js.map +1 -1
- package/dist/development/src/triggers/TriggerIndirectChangesFetcher.cjs +44 -2
- package/dist/development/src/triggers/TriggerIndirectChangesFetcher.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerIndirectChangesFetcher.js +44 -2
- package/dist/development/src/triggers/TriggerIndirectChangesFetcher.js.map +1 -1
- package/dist/development/src/triggers/TriggerListenersBuilder.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerListenersBuilder.js.map +1 -1
- package/dist/development/src/triggers/TriggerListenersFactory.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerListenersFactory.js.map +1 -1
- package/dist/development/src/triggers/TriggerListenersStore.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerListenersStore.js.map +1 -1
- package/dist/development/src/triggers/TriggerPayloadBuilder.cjs +45 -16
- package/dist/development/src/triggers/TriggerPayloadBuilder.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerPayloadBuilder.js +45 -16
- package/dist/development/src/triggers/TriggerPayloadBuilder.js.map +1 -1
- package/dist/development/src/triggers/TriggerPayloadManager.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerPayloadManager.js.map +1 -1
- package/dist/development/src/triggers/TriggerPayloadPersister.cjs +36 -20
- package/dist/development/src/triggers/TriggerPayloadPersister.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerPayloadPersister.js +36 -20
- package/dist/development/src/triggers/TriggerPayloadPersister.js.map +1 -1
- package/dist/development/src/utils/assertNever.cjs.map +1 -1
- package/dist/development/src/utils/assertNever.js.map +1 -1
- package/dist/development/src/utils/map.cjs.map +1 -1
- package/dist/development/src/utils/map.js.map +1 -1
- package/dist/development/src/utils/notifyChannel.cjs +9 -0
- package/dist/development/src/utils/notifyChannel.cjs.map +1 -0
- package/dist/development/src/utils/notifyChannel.js +9 -0
- package/dist/development/src/utils/notifyChannel.js.map +1 -0
- package/dist/production/index.cjs +54 -24
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +54 -24
- package/dist/production/index.js.map +1 -1
- package/dist/production/src/ActionsExecutionContainerHookFactory.cjs +24 -11
- package/dist/production/src/ActionsExecutionContainerHookFactory.cjs.map +1 -1
- package/dist/production/src/ActionsExecutionContainerHookFactory.js +24 -11
- package/dist/production/src/ActionsExecutionContainerHookFactory.js.map +1 -1
- package/dist/production/src/ListenerStoreProvider.cjs.map +1 -1
- package/dist/production/src/ListenerStoreProvider.js.map +1 -1
- package/dist/production/src/authorization/ActionsAuthorizationActions.cjs +2 -0
- package/dist/production/src/authorization/ActionsAuthorizationActions.cjs.map +1 -1
- package/dist/production/src/authorization/ActionsAuthorizationActions.js +2 -0
- package/dist/production/src/authorization/ActionsAuthorizationActions.js.map +1 -1
- package/dist/production/src/authorization/ActionsPermissionsFactory.cjs.map +1 -1
- package/dist/production/src/authorization/ActionsPermissionsFactory.js.map +1 -1
- package/dist/production/src/dispatch/DispatchWorkerSupervisor.cjs +16 -14
- package/dist/production/src/dispatch/DispatchWorkerSupervisor.cjs.map +1 -1
- package/dist/production/src/dispatch/DispatchWorkerSupervisor.js +16 -14
- package/dist/production/src/dispatch/DispatchWorkerSupervisor.js.map +1 -1
- package/dist/production/src/dispatch/EventDispatcher.cjs.map +1 -1
- package/dist/production/src/dispatch/EventDispatcher.js.map +1 -1
- package/dist/production/src/dispatch/EventsRepository.cjs +33 -15
- package/dist/production/src/dispatch/EventsRepository.cjs.map +1 -1
- package/dist/production/src/dispatch/EventsRepository.js +33 -15
- package/dist/production/src/dispatch/EventsRepository.js.map +1 -1
- package/dist/production/src/dispatch/LazyDispatchWorker.cjs +67 -0
- package/dist/production/src/dispatch/LazyDispatchWorker.cjs.map +1 -0
- package/dist/production/src/dispatch/LazyDispatchWorker.js +67 -0
- package/dist/production/src/dispatch/LazyDispatchWorker.js.map +1 -0
- package/dist/production/src/dispatch/ProjectDispatcher.cjs +3 -3
- package/dist/production/src/dispatch/ProjectDispatcher.cjs.map +1 -1
- package/dist/production/src/dispatch/ProjectDispatcher.js +2 -2
- package/dist/production/src/dispatch/ProjectDispatcher.js.map +1 -1
- package/dist/production/src/dispatch/TargetHandlerResolver.cjs.map +1 -1
- package/dist/production/src/dispatch/TargetHandlerResolver.js.map +1 -1
- package/dist/production/src/dispatch/WebhookFetcher.cjs.map +1 -1
- package/dist/production/src/dispatch/WebhookFetcher.js.map +1 -1
- package/dist/production/src/dispatch/WebhookTargetHandler.cjs +6 -1
- package/dist/production/src/dispatch/WebhookTargetHandler.cjs.map +1 -1
- package/dist/production/src/dispatch/WebhookTargetHandler.js +6 -1
- package/dist/production/src/dispatch/WebhookTargetHandler.js.map +1 -1
- package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.cjs +1 -0
- package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.cjs.map +1 -1
- package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.js +1 -0
- package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.js.map +1 -1
- package/dist/production/src/graphql/http/ActionsContextResolver.cjs +8 -11
- package/dist/production/src/graphql/http/ActionsContextResolver.cjs.map +1 -1
- package/dist/production/src/graphql/http/ActionsContextResolver.js +8 -11
- package/dist/production/src/graphql/http/ActionsContextResolver.js.map +1 -1
- package/dist/production/src/graphql/http/ActionsGraphQLHandlerFactory.cjs.map +1 -1
- package/dist/production/src/graphql/http/ActionsGraphQLHandlerFactory.js.map +1 -1
- package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.cjs +6 -3
- package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.cjs.map +1 -1
- package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.js +6 -3
- package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.js.map +1 -1
- package/dist/production/src/graphql/resolvers/ResolversFactory.cjs +7 -2
- package/dist/production/src/graphql/resolvers/ResolversFactory.cjs.map +1 -1
- package/dist/production/src/graphql/resolvers/ResolversFactory.js +8 -3
- package/dist/production/src/graphql/resolvers/ResolversFactory.js.map +1 -1
- package/dist/production/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs.map +1 -1
- package/dist/production/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js.map +1 -1
- package/dist/production/src/graphql/resolvers/mutation/RetryEventMutationResolver.cjs +21 -0
- package/dist/production/src/graphql/resolvers/mutation/RetryEventMutationResolver.cjs.map +1 -0
- package/dist/production/src/graphql/resolvers/mutation/RetryEventMutationResolver.js +21 -0
- package/dist/production/src/graphql/resolvers/mutation/RetryEventMutationResolver.js.map +1 -0
- package/dist/production/src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs.map +1 -1
- package/dist/production/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js.map +1 -1
- package/dist/production/src/graphql/resolvers/mutation/StopEventMutationResolver.cjs +19 -0
- package/dist/production/src/graphql/resolvers/mutation/StopEventMutationResolver.cjs.map +1 -0
- package/dist/production/src/graphql/resolvers/mutation/StopEventMutationResolver.js +19 -0
- package/dist/production/src/graphql/resolvers/mutation/StopEventMutationResolver.js.map +1 -0
- package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.cjs +14 -1
- package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.cjs.map +1 -1
- package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.js +14 -1
- package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.js.map +1 -1
- package/dist/production/src/graphql/resolvers/query/VariablesQueryResolver.cjs.map +1 -1
- package/dist/production/src/graphql/resolvers/query/VariablesQueryResolver.js.map +1 -1
- package/dist/production/src/graphql/schema/actions.graphql.cjs +18 -4
- package/dist/production/src/graphql/schema/actions.graphql.cjs.map +1 -1
- package/dist/production/src/graphql/schema/actions.graphql.js +18 -4
- package/dist/production/src/graphql/schema/actions.graphql.js.map +1 -1
- package/dist/production/src/migrations/2023-03-10-145000-actions-variables.cjs.map +1 -1
- package/dist/production/src/migrations/2023-03-10-145000-actions-variables.js.map +1 -1
- package/dist/production/src/migrations/2025-05-28-160000-action-event-user.cjs +16 -0
- package/dist/production/src/migrations/2025-05-28-160000-action-event-user.cjs.map +1 -0
- package/dist/production/src/migrations/2025-05-28-160000-action-event-user.js +17 -0
- package/dist/production/src/migrations/2025-05-28-160000-action-event-user.js.map +1 -0
- package/dist/production/src/migrations/index.cjs +3 -1
- package/dist/production/src/migrations/index.cjs.map +1 -1
- package/dist/production/src/migrations/index.js +3 -1
- package/dist/production/src/migrations/index.js.map +1 -1
- package/dist/production/src/migrations/snapshot.cjs +5 -2
- package/dist/production/src/migrations/snapshot.cjs.map +1 -1
- package/dist/production/src/migrations/snapshot.js +5 -2
- package/dist/production/src/migrations/snapshot.js.map +1 -1
- package/dist/production/src/model/EventByIdQuery.cjs +17 -0
- package/dist/production/src/model/EventByIdQuery.cjs.map +1 -0
- package/dist/production/src/model/EventByIdQuery.js +17 -0
- package/dist/production/src/model/EventByIdQuery.js.map +1 -0
- package/dist/production/src/model/EventsInProcessingQuery.cjs.map +1 -1
- package/dist/production/src/model/EventsInProcessingQuery.js.map +1 -1
- package/dist/production/src/model/EventsToProcessQuery.cjs.map +1 -1
- package/dist/production/src/model/EventsToProcessQuery.js.map +1 -1
- package/dist/production/src/model/EventsToProcessSpecification.cjs.map +1 -1
- package/dist/production/src/model/EventsToProcessSpecification.js.map +1 -1
- package/dist/production/src/model/FailedEventsQuery.cjs.map +1 -1
- package/dist/production/src/model/FailedEventsQuery.js.map +1 -1
- package/dist/production/src/model/SetVariableCommand.cjs.map +1 -1
- package/dist/production/src/model/SetVariableCommand.js.map +1 -1
- package/dist/production/src/model/VariablesManager.cjs.map +1 -1
- package/dist/production/src/model/VariablesManager.js.map +1 -1
- package/dist/production/src/model/VariablesQuery.cjs.map +1 -1
- package/dist/production/src/model/VariablesQuery.js.map +1 -1
- package/dist/production/src/triggers/TriggerHandler.cjs +17 -14
- package/dist/production/src/triggers/TriggerHandler.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerHandler.js +17 -14
- package/dist/production/src/triggers/TriggerHandler.js.map +1 -1
- package/dist/production/src/triggers/TriggerIndirectChangesFetcher.cjs +44 -2
- package/dist/production/src/triggers/TriggerIndirectChangesFetcher.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerIndirectChangesFetcher.js +44 -2
- package/dist/production/src/triggers/TriggerIndirectChangesFetcher.js.map +1 -1
- package/dist/production/src/triggers/TriggerListenersBuilder.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerListenersBuilder.js.map +1 -1
- package/dist/production/src/triggers/TriggerListenersFactory.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerListenersFactory.js.map +1 -1
- package/dist/production/src/triggers/TriggerListenersStore.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerListenersStore.js.map +1 -1
- package/dist/production/src/triggers/TriggerPayloadBuilder.cjs +45 -16
- package/dist/production/src/triggers/TriggerPayloadBuilder.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerPayloadBuilder.js +45 -16
- package/dist/production/src/triggers/TriggerPayloadBuilder.js.map +1 -1
- package/dist/production/src/triggers/TriggerPayloadManager.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerPayloadManager.js.map +1 -1
- package/dist/production/src/triggers/TriggerPayloadPersister.cjs +36 -20
- package/dist/production/src/triggers/TriggerPayloadPersister.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerPayloadPersister.js +36 -20
- package/dist/production/src/triggers/TriggerPayloadPersister.js.map +1 -1
- package/dist/production/src/utils/assertNever.cjs.map +1 -1
- package/dist/production/src/utils/assertNever.js.map +1 -1
- package/dist/production/src/utils/map.cjs.map +1 -1
- package/dist/production/src/utils/map.js.map +1 -1
- package/dist/production/src/utils/notifyChannel.cjs +9 -0
- package/dist/production/src/utils/notifyChannel.cjs.map +1 -0
- package/dist/production/src/utils/notifyChannel.js +9 -0
- package/dist/production/src/utils/notifyChannel.js.map +1 -0
- package/dist/tests/cases/unit/lazyDispatchWorker.test.d.ts +2 -0
- package/dist/tests/cases/unit/lazyDispatchWorker.test.d.ts.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/ActionsExecutionContainerHookFactory.d.ts.map +1 -1
- package/dist/types/authorization/ActionsAuthorizationActions.d.ts +10 -0
- package/dist/types/authorization/ActionsAuthorizationActions.d.ts.map +1 -1
- package/dist/types/dispatch/DispatchWorkerSupervisor.d.ts.map +1 -1
- package/dist/types/dispatch/EventDispatcher.d.ts.map +1 -1
- package/dist/types/dispatch/EventsRepository.d.ts +2 -1
- package/dist/types/dispatch/EventsRepository.d.ts.map +1 -1
- package/dist/types/dispatch/LazyDispatchWorker.d.ts +11 -0
- package/dist/types/dispatch/LazyDispatchWorker.d.ts.map +1 -0
- package/dist/types/dispatch/ProjectDispatcher.d.ts.map +1 -1
- package/dist/types/dispatch/WebhookTargetHandler.d.ts.map +1 -1
- package/dist/types/dispatch/types.d.ts +1 -1
- package/dist/types/dispatch/types.d.ts.map +1 -1
- package/dist/types/graphql/http/ActionsApiMiddlewareFactory.d.ts.map +1 -1
- package/dist/types/graphql/http/ActionsContextResolver.d.ts.map +1 -1
- package/dist/types/graphql/http/ActionsGraphQLHandlerFactory.d.ts.map +1 -1
- package/dist/types/graphql/http/ActionsWebsocketControllerFactory.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/ActionsContext.d.ts +3 -0
- package/dist/types/graphql/resolvers/ActionsContext.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/ResolversFactory.d.ts +4 -2
- package/dist/types/graphql/resolvers/ResolversFactory.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/mutation/RetryEventMutationResolver.d.ts +11 -0
- package/dist/types/graphql/resolvers/mutation/RetryEventMutationResolver.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/mutation/SetVariablesMutationResolver.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/mutation/StopEventMutationResolver.d.ts +11 -0
- package/dist/types/graphql/resolvers/mutation/StopEventMutationResolver.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/mutation/index.d.ts +2 -0
- package/dist/types/graphql/resolvers/mutation/index.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/query/EventsQueryResolver.d.ts +3 -0
- package/dist/types/graphql/resolvers/query/EventsQueryResolver.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/query/VariablesQueryResolver.d.ts.map +1 -1
- package/dist/types/graphql/schema/actions.graphql.d.ts.map +1 -1
- package/dist/types/graphql/schema/index.d.ts +45 -2
- package/dist/types/graphql/schema/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/migrations/2023-03-10-145000-actions-variables.d.ts.map +1 -1
- package/dist/types/migrations/2025-05-28-160000-action-event-user.d.ts +3 -0
- package/dist/types/migrations/2025-05-28-160000-action-event-user.d.ts.map +1 -0
- package/dist/types/migrations/index.d.ts.map +1 -1
- package/dist/types/migrations/snapshot.d.ts.map +1 -1
- package/dist/types/model/EventByIdQuery.d.ts +8 -0
- package/dist/types/model/EventByIdQuery.d.ts.map +1 -0
- package/dist/types/model/EventsToProcessSpecification.d.ts.map +1 -1
- package/dist/types/model/SetVariableCommand.d.ts.map +1 -1
- package/dist/types/model/types.d.ts +3 -0
- package/dist/types/model/types.d.ts.map +1 -1
- package/dist/types/triggers/TriggerHandler.d.ts.map +1 -1
- package/dist/types/triggers/TriggerIndirectChangesFetcher.d.ts +11 -3
- package/dist/types/triggers/TriggerIndirectChangesFetcher.d.ts.map +1 -1
- package/dist/types/triggers/TriggerListeners.d.ts.map +1 -1
- package/dist/types/triggers/TriggerListenersBuilder.d.ts.map +1 -1
- package/dist/types/triggers/TriggerListenersStore.d.ts +2 -2
- package/dist/types/triggers/TriggerListenersStore.d.ts.map +1 -1
- package/dist/types/triggers/TriggerPayloadBuilder.d.ts.map +1 -1
- package/dist/types/triggers/TriggerPayloadManager.d.ts +2 -1
- package/dist/types/triggers/TriggerPayloadManager.d.ts.map +1 -1
- package/dist/types/triggers/TriggerPayloadPersister.d.ts +9 -4
- package/dist/types/triggers/TriggerPayloadPersister.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/utils/notifyChannel.d.ts +4 -0
- package/dist/types/utils/notifyChannel.d.ts.map +1 -0
- package/graphql.codegen.yml +2 -2
- package/package.json +26 -21
- package/src/ActionsExecutionContainerHookFactory.ts +27 -11
- package/src/authorization/ActionsAuthorizationActions.ts +2 -0
- package/src/dispatch/DispatchWorkerSupervisor.ts +17 -16
- package/src/dispatch/EventDispatcher.ts +0 -2
- package/src/dispatch/EventsRepository.ts +63 -43
- package/src/dispatch/LazyDispatchWorker.ts +72 -0
- package/src/dispatch/ProjectDispatcher.ts +6 -11
- package/src/dispatch/WebhookTargetHandler.ts +18 -9
- package/src/dispatch/types.ts +1 -2
- package/src/graphql/http/ActionsApiMiddlewareFactory.ts +7 -5
- package/src/graphql/http/ActionsContextResolver.ts +1 -2
- package/src/graphql/http/ActionsGraphQLHandlerFactory.ts +0 -1
- package/src/graphql/http/ActionsWebsocketControllerFactory.ts +7 -5
- package/src/graphql/resolvers/ActionsContext.ts +1 -0
- package/src/graphql/resolvers/ResolversFactory.ts +9 -2
- package/src/graphql/resolvers/mutation/RetryEventMutationResolver.ts +22 -0
- package/src/graphql/resolvers/mutation/SetVariablesMutationResolver.ts +0 -1
- package/src/graphql/resolvers/mutation/StopEventMutationResolver.ts +19 -0
- package/src/graphql/resolvers/mutation/index.ts +2 -0
- package/src/graphql/resolvers/query/EventsQueryResolver.ts +15 -8
- package/src/graphql/resolvers/query/VariablesQueryResolver.ts +0 -1
- package/src/graphql/schema/actions.graphql.ts +18 -4
- package/src/graphql/schema/index.ts +84 -30
- package/src/index.ts +66 -35
- package/src/migrations/2023-03-10-145000-actions-variables.ts +1 -1
- package/src/migrations/2025-05-28-160000-action-event-user.ts +16 -0
- package/src/migrations/index.ts +2 -0
- package/src/migrations/snapshot.ts +6 -3
- package/src/model/EventByIdQuery.ts +21 -0
- package/src/model/EventsToProcessSpecification.ts +9 -8
- package/src/model/SetVariableCommand.ts +0 -1
- package/src/model/types.ts +3 -0
- package/src/triggers/TriggerHandler.ts +16 -15
- package/src/triggers/TriggerIndirectChangesFetcher.ts +62 -3
- package/src/triggers/TriggerListeners.ts +1 -8
- package/src/triggers/TriggerListenersBuilder.ts +3 -6
- package/src/triggers/TriggerListenersStore.ts +2 -2
- package/src/triggers/TriggerPayloadBuilder.ts +43 -13
- package/src/triggers/TriggerPayloadManager.ts +2 -4
- package/src/triggers/TriggerPayloadPersister.ts +28 -10
- package/src/utils/notifyChannel.ts +6 -0
- package/tests/cases/unit/generator.test.ts +133 -136
- package/tests/cases/unit/lazyDispatchWorker.test.ts +226 -0
- package/tests/cases/unit/webhookHandler.test.ts +47 -35
- package/vitest.config.ts +0 -3
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { describe, expect, test } from 'bun:test'
|
|
2
|
+
import { Runnable, RunnableArgs, Running } from '@contember/engine-common'
|
|
3
|
+
import { createLogger, TestLoggerHandler } from '@contember/logger'
|
|
4
|
+
import { LazyDispatchWorker } from '../../../src/dispatch/LazyDispatchWorker'
|
|
5
|
+
import { DispatchWorkerSupervisorFactory } from '../../../src/dispatch/DispatchWorkerSupervisor'
|
|
6
|
+
import { ProjectGroupContainerResolver } from '@contember/engine-http'
|
|
7
|
+
import { ProjectGroupContainer } from '@contember/engine-http'
|
|
8
|
+
|
|
9
|
+
const silentLogger = createLogger(new TestLoggerHandler())
|
|
10
|
+
|
|
11
|
+
const tick = () => new Promise<void>(r => setImmediate(r))
|
|
12
|
+
|
|
13
|
+
const waitFor = async (cond: () => boolean, attempts = 50) => {
|
|
14
|
+
for (let i = 0; i < attempts; i++) {
|
|
15
|
+
if (cond()) return
|
|
16
|
+
await tick()
|
|
17
|
+
}
|
|
18
|
+
throw new Error('waitFor: condition not met')
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
type FakeRunnable = Runnable & {
|
|
22
|
+
id: string
|
|
23
|
+
startCount: number
|
|
24
|
+
endCount: number
|
|
25
|
+
failOnRun?: () => Error | undefined
|
|
26
|
+
emitError?: (e: any) => void
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const createFakeSupervisor = (id: string, opts: { failOnRun?: () => Error | undefined } = {}): FakeRunnable => {
|
|
30
|
+
const fake: FakeRunnable = {
|
|
31
|
+
id,
|
|
32
|
+
startCount: 0,
|
|
33
|
+
endCount: 0,
|
|
34
|
+
failOnRun: opts.failOnRun,
|
|
35
|
+
async run(args: RunnableArgs): Promise<Running> {
|
|
36
|
+
fake.startCount++
|
|
37
|
+
const failure = fake.failOnRun?.()
|
|
38
|
+
if (failure) {
|
|
39
|
+
throw failure
|
|
40
|
+
}
|
|
41
|
+
fake.emitError = args.onError
|
|
42
|
+
return {
|
|
43
|
+
end: async () => {
|
|
44
|
+
fake.endCount++
|
|
45
|
+
},
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
}
|
|
49
|
+
return fake
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
type FakeResolver = Pick<ProjectGroupContainerResolver, 'on'> & {
|
|
53
|
+
fire: (slug: string | undefined) => (() => void) | undefined
|
|
54
|
+
listenerCount: () => number
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const createFakeResolver = (): FakeResolver => {
|
|
58
|
+
const listeners: Array<(args: { container: ProjectGroupContainer; slug: string | undefined }) => void | (() => void)> = []
|
|
59
|
+
return {
|
|
60
|
+
on(_event, cb) {
|
|
61
|
+
listeners.push(cb as any)
|
|
62
|
+
return () => {
|
|
63
|
+
const idx = listeners.indexOf(cb as any)
|
|
64
|
+
if (idx >= 0) listeners.splice(idx, 1)
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
fire(slug) {
|
|
68
|
+
const fakeContainer = { slug } as unknown as ProjectGroupContainer
|
|
69
|
+
const cleanups = listeners.map(it => it({ container: fakeContainer, slug }))
|
|
70
|
+
return () => cleanups.forEach(it => it?.())
|
|
71
|
+
},
|
|
72
|
+
listenerCount: () => listeners.length,
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const createFakeFactory = (registry: FakeRunnable[]): DispatchWorkerSupervisorFactory => {
|
|
77
|
+
let counter = 0
|
|
78
|
+
return {
|
|
79
|
+
create(_container: ProjectGroupContainer): any {
|
|
80
|
+
const fake = createFakeSupervisor(`fake-${counter++}`)
|
|
81
|
+
registry.push(fake)
|
|
82
|
+
return fake
|
|
83
|
+
},
|
|
84
|
+
} as any
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const recordOnError = () => {
|
|
88
|
+
const errors: any[] = []
|
|
89
|
+
return { errors, onError: (e: any) => errors.push(e) }
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
describe('LazyDispatchWorker', () => {
|
|
93
|
+
test('does not spawn supervisor before any project group is created', async () => {
|
|
94
|
+
const resolver = createFakeResolver()
|
|
95
|
+
const supervisors: FakeRunnable[] = []
|
|
96
|
+
const worker = new LazyDispatchWorker(resolver as any, createFakeFactory(supervisors))
|
|
97
|
+
const { onError } = recordOnError()
|
|
98
|
+
|
|
99
|
+
const running = await worker.run({ logger: silentLogger, onError })
|
|
100
|
+
|
|
101
|
+
expect(supervisors).toHaveLength(0)
|
|
102
|
+
expect(resolver.listenerCount()).toBe(1)
|
|
103
|
+
|
|
104
|
+
await running.end()
|
|
105
|
+
expect(resolver.listenerCount()).toBe(0)
|
|
106
|
+
})
|
|
107
|
+
|
|
108
|
+
test('spawns supervisor when project group is created', async () => {
|
|
109
|
+
const resolver = createFakeResolver()
|
|
110
|
+
const supervisors: FakeRunnable[] = []
|
|
111
|
+
const worker = new LazyDispatchWorker(resolver as any, createFakeFactory(supervisors))
|
|
112
|
+
const { onError, errors } = recordOnError()
|
|
113
|
+
|
|
114
|
+
const running = await worker.run({ logger: silentLogger, onError })
|
|
115
|
+
|
|
116
|
+
resolver.fire('tenantA')
|
|
117
|
+
await waitFor(() => supervisors.length === 1 && supervisors[0].startCount === 1)
|
|
118
|
+
|
|
119
|
+
expect(supervisors[0].startCount).toBe(1)
|
|
120
|
+
expect(supervisors[0].endCount).toBe(0)
|
|
121
|
+
expect(errors).toHaveLength(0)
|
|
122
|
+
|
|
123
|
+
await running.end()
|
|
124
|
+
expect(supervisors[0].endCount).toBe(1)
|
|
125
|
+
})
|
|
126
|
+
|
|
127
|
+
test('spawns one supervisor per project group, isolated', async () => {
|
|
128
|
+
const resolver = createFakeResolver()
|
|
129
|
+
const supervisors: FakeRunnable[] = []
|
|
130
|
+
const worker = new LazyDispatchWorker(resolver as any, createFakeFactory(supervisors))
|
|
131
|
+
const { onError } = recordOnError()
|
|
132
|
+
|
|
133
|
+
const running = await worker.run({ logger: silentLogger, onError })
|
|
134
|
+
|
|
135
|
+
resolver.fire('tenantA')
|
|
136
|
+
resolver.fire('tenantB')
|
|
137
|
+
await waitFor(() => supervisors.length === 2 && supervisors.every(it => it.startCount === 1))
|
|
138
|
+
|
|
139
|
+
await running.end()
|
|
140
|
+
expect(supervisors.map(it => it.endCount)).toEqual([1, 1])
|
|
141
|
+
})
|
|
142
|
+
|
|
143
|
+
test('container invalidation ends only that supervisor', async () => {
|
|
144
|
+
const resolver = createFakeResolver()
|
|
145
|
+
const supervisors: FakeRunnable[] = []
|
|
146
|
+
const worker = new LazyDispatchWorker(resolver as any, createFakeFactory(supervisors))
|
|
147
|
+
const { onError } = recordOnError()
|
|
148
|
+
|
|
149
|
+
const running = await worker.run({ logger: silentLogger, onError })
|
|
150
|
+
|
|
151
|
+
const cleanupA = resolver.fire('tenantA')!
|
|
152
|
+
resolver.fire('tenantB')
|
|
153
|
+
await waitFor(() => supervisors.length === 2 && supervisors.every(it => it.startCount === 1))
|
|
154
|
+
|
|
155
|
+
cleanupA()
|
|
156
|
+
await waitFor(() => supervisors[0].endCount === 1)
|
|
157
|
+
|
|
158
|
+
expect(supervisors[0].endCount).toBe(1)
|
|
159
|
+
expect(supervisors[1].endCount).toBe(0)
|
|
160
|
+
|
|
161
|
+
await running.end()
|
|
162
|
+
expect(supervisors[1].endCount).toBe(1)
|
|
163
|
+
})
|
|
164
|
+
|
|
165
|
+
test('end() unsubscribes listener, no further supervisors are spawned', async () => {
|
|
166
|
+
const resolver = createFakeResolver()
|
|
167
|
+
const supervisors: FakeRunnable[] = []
|
|
168
|
+
const worker = new LazyDispatchWorker(resolver as any, createFakeFactory(supervisors))
|
|
169
|
+
const { onError } = recordOnError()
|
|
170
|
+
|
|
171
|
+
const running = await worker.run({ logger: silentLogger, onError })
|
|
172
|
+
expect(resolver.listenerCount()).toBe(1)
|
|
173
|
+
|
|
174
|
+
await running.end()
|
|
175
|
+
expect(resolver.listenerCount()).toBe(0)
|
|
176
|
+
|
|
177
|
+
resolver.fire('tenantLate')
|
|
178
|
+
await tick()
|
|
179
|
+
expect(supervisors).toHaveLength(0)
|
|
180
|
+
})
|
|
181
|
+
|
|
182
|
+
test('startup failure of a tenant supervisor propagates to onError once retries are exhausted', async () => {
|
|
183
|
+
const resolver = createFakeResolver()
|
|
184
|
+
const registry: FakeRunnable[] = []
|
|
185
|
+
const factory: DispatchWorkerSupervisorFactory = {
|
|
186
|
+
create(_container: ProjectGroupContainer): any {
|
|
187
|
+
const fake = createFakeSupervisor(`fake-${registry.length}`, {
|
|
188
|
+
failOnRun: () => new Error('boom'),
|
|
189
|
+
})
|
|
190
|
+
registry.push(fake)
|
|
191
|
+
return fake
|
|
192
|
+
},
|
|
193
|
+
} as any
|
|
194
|
+
const worker = new LazyDispatchWorker(resolver as any, factory, { startupMax: 0, minBackoff: 1 })
|
|
195
|
+
const { onError, errors } = recordOnError()
|
|
196
|
+
|
|
197
|
+
const running = await worker.run({ logger: silentLogger, onError })
|
|
198
|
+
|
|
199
|
+
resolver.fire('tenantBroken')
|
|
200
|
+
await waitFor(() => errors.length > 0, 200)
|
|
201
|
+
|
|
202
|
+
expect(errors[0]).toBeInstanceOf(Error)
|
|
203
|
+
expect((errors[0] as Error).message).toContain('boom')
|
|
204
|
+
|
|
205
|
+
await running.end()
|
|
206
|
+
})
|
|
207
|
+
|
|
208
|
+
test('errors after end() are swallowed', async () => {
|
|
209
|
+
const resolver = createFakeResolver()
|
|
210
|
+
const supervisors: FakeRunnable[] = []
|
|
211
|
+
const worker = new LazyDispatchWorker(resolver as any, createFakeFactory(supervisors))
|
|
212
|
+
const { onError, errors } = recordOnError()
|
|
213
|
+
|
|
214
|
+
const running = await worker.run({ logger: silentLogger, onError })
|
|
215
|
+
|
|
216
|
+
resolver.fire('tenantA')
|
|
217
|
+
await waitFor(() => supervisors.length === 1 && supervisors[0].emitError !== undefined)
|
|
218
|
+
|
|
219
|
+
await running.end()
|
|
220
|
+
expect(supervisors[0].endCount).toBe(1)
|
|
221
|
+
|
|
222
|
+
supervisors[0].emitError!(new Error('after end'))
|
|
223
|
+
await tick()
|
|
224
|
+
expect(errors).toHaveLength(0)
|
|
225
|
+
})
|
|
226
|
+
})
|
|
@@ -7,7 +7,6 @@ import { Actions, ActionsPayload } from '@contember/schema'
|
|
|
7
7
|
import { HandledEvent } from '../../../src/dispatch/types'
|
|
8
8
|
import { testUuid } from '../../src/uuid'
|
|
9
9
|
|
|
10
|
-
|
|
11
10
|
const assert = {
|
|
12
11
|
equal: (a: any, b: any) => expect(a).toEqual(b),
|
|
13
12
|
deepStrictEqual: (a: any, b: any) => expect(a).toStrictEqual(b),
|
|
@@ -29,6 +28,9 @@ const createTestEvent = (i = 0, row: Partial<EventRow> = {}): EventRow => ({
|
|
|
29
28
|
priority: 1,
|
|
30
29
|
schema_id: 1,
|
|
31
30
|
state: 'created',
|
|
31
|
+
identity_id: testUuid(i * 10 + 4),
|
|
32
|
+
ip_address: '127.0.0.1',
|
|
33
|
+
user_agent: 'test-agent',
|
|
32
34
|
...row,
|
|
33
35
|
})
|
|
34
36
|
|
|
@@ -51,20 +53,26 @@ describe('webhook request', () => {
|
|
|
51
53
|
fetch(url: string, init: RequestInit): Promise<FetcherResponse> {
|
|
52
54
|
fetchCalled = true
|
|
53
55
|
assert.equal(url, 'http://localhost')
|
|
54
|
-
assert.equal(
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
56
|
+
assert.equal(
|
|
57
|
+
init.body,
|
|
58
|
+
JSON.stringify({
|
|
59
|
+
events: [{
|
|
60
|
+
meta: {
|
|
61
|
+
eventId: testUuid(1),
|
|
62
|
+
transactionId: testUuid(2),
|
|
63
|
+
identityId: testUuid(4),
|
|
64
|
+
ipAddress: '127.0.0.1',
|
|
65
|
+
userAgent: 'test-agent',
|
|
66
|
+
createdAt: now.toISOString(),
|
|
67
|
+
lastStateChange: now.toISOString(),
|
|
68
|
+
numRetries: 0,
|
|
69
|
+
trigger: 'test',
|
|
70
|
+
target: 'test_target',
|
|
71
|
+
},
|
|
72
|
+
foo: 'bar',
|
|
73
|
+
}],
|
|
74
|
+
}),
|
|
75
|
+
)
|
|
68
76
|
|
|
69
77
|
return okResponse
|
|
70
78
|
},
|
|
@@ -96,25 +104,31 @@ describe('webhook request', () => {
|
|
|
96
104
|
fetch(url: string, init: RequestInit): Promise<FetcherResponse> {
|
|
97
105
|
fetchCalled = true
|
|
98
106
|
assert.equal(url, 'http://localhost')
|
|
99
|
-
assert.equal(
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
107
|
+
assert.equal(
|
|
108
|
+
init.body,
|
|
109
|
+
JSON.stringify({
|
|
110
|
+
options: 'value',
|
|
111
|
+
payload: {
|
|
112
|
+
json: {
|
|
113
|
+
events: [{
|
|
114
|
+
meta: {
|
|
115
|
+
eventId: testUuid(1),
|
|
116
|
+
transactionId: testUuid(2),
|
|
117
|
+
identityId: testUuid(4),
|
|
118
|
+
ipAddress: '127.0.0.1',
|
|
119
|
+
userAgent: 'test-agent',
|
|
120
|
+
createdAt: now.toISOString(),
|
|
121
|
+
lastStateChange: now.toISOString(),
|
|
122
|
+
numRetries: 0,
|
|
123
|
+
trigger: 'test',
|
|
124
|
+
target: 'test_target',
|
|
125
|
+
},
|
|
126
|
+
foo: 'bar',
|
|
127
|
+
}],
|
|
128
|
+
},
|
|
115
129
|
},
|
|
116
|
-
},
|
|
117
|
-
|
|
130
|
+
}),
|
|
131
|
+
)
|
|
118
132
|
|
|
119
133
|
return okResponse
|
|
120
134
|
},
|
|
@@ -257,7 +271,6 @@ describe('webhook response', () => {
|
|
|
257
271
|
])
|
|
258
272
|
})
|
|
259
273
|
|
|
260
|
-
|
|
261
274
|
test('invalid partial response', async () => {
|
|
262
275
|
const testLoggerHandler = new TestLoggerHandler()
|
|
263
276
|
const logger = createLogger(testLoggerHandler)
|
|
@@ -319,7 +332,6 @@ describe('webhook response', () => {
|
|
|
319
332
|
])
|
|
320
333
|
})
|
|
321
334
|
|
|
322
|
-
|
|
323
335
|
test('ignored invalid response', async () => {
|
|
324
336
|
const testLoggerHandler = new TestLoggerHandler()
|
|
325
337
|
const logger = createLogger(testLoggerHandler)
|
package/vitest.config.ts
DELETED