abxbus 2.4.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 (137) hide show
  1. package/README.md +647 -0
  2. package/dist/cjs/async_context.d.ts +12 -0
  3. package/dist/cjs/async_context.js +70 -0
  4. package/dist/cjs/async_context.js.map +7 -0
  5. package/dist/cjs/base_event.d.ts +207 -0
  6. package/dist/cjs/base_event.js +871 -0
  7. package/dist/cjs/base_event.js.map +7 -0
  8. package/dist/cjs/bridge_jsonl.d.ts +26 -0
  9. package/dist/cjs/bridge_jsonl.js +170 -0
  10. package/dist/cjs/bridge_jsonl.js.map +7 -0
  11. package/dist/cjs/bridge_nats.d.ts +20 -0
  12. package/dist/cjs/bridge_nats.js +108 -0
  13. package/dist/cjs/bridge_nats.js.map +7 -0
  14. package/dist/cjs/bridge_postgres.d.ts +31 -0
  15. package/dist/cjs/bridge_postgres.js +251 -0
  16. package/dist/cjs/bridge_postgres.js.map +7 -0
  17. package/dist/cjs/bridge_redis.d.ts +34 -0
  18. package/dist/cjs/bridge_redis.js +175 -0
  19. package/dist/cjs/bridge_redis.js.map +7 -0
  20. package/dist/cjs/bridge_sqlite.d.ts +30 -0
  21. package/dist/cjs/bridge_sqlite.js +255 -0
  22. package/dist/cjs/bridge_sqlite.js.map +7 -0
  23. package/dist/cjs/bridges.d.ts +49 -0
  24. package/dist/cjs/bridges.js +326 -0
  25. package/dist/cjs/bridges.js.map +7 -0
  26. package/dist/cjs/event_bus.d.ts +127 -0
  27. package/dist/cjs/event_bus.js +1058 -0
  28. package/dist/cjs/event_bus.js.map +7 -0
  29. package/dist/cjs/event_handler.d.ts +139 -0
  30. package/dist/cjs/event_handler.js +299 -0
  31. package/dist/cjs/event_handler.js.map +7 -0
  32. package/dist/cjs/event_history.d.ts +45 -0
  33. package/dist/cjs/event_history.js +192 -0
  34. package/dist/cjs/event_history.js.map +7 -0
  35. package/dist/cjs/event_result.d.ts +86 -0
  36. package/dist/cjs/event_result.js +446 -0
  37. package/dist/cjs/event_result.js.map +7 -0
  38. package/dist/cjs/events_suck.d.ts +40 -0
  39. package/dist/cjs/events_suck.js +59 -0
  40. package/dist/cjs/events_suck.js.map +7 -0
  41. package/dist/cjs/helpers.d.ts +1 -0
  42. package/dist/cjs/helpers.js +84 -0
  43. package/dist/cjs/helpers.js.map +7 -0
  44. package/dist/cjs/index.d.ts +17 -0
  45. package/dist/cjs/index.js +54 -0
  46. package/dist/cjs/index.js.map +7 -0
  47. package/dist/cjs/lock_manager.d.ts +70 -0
  48. package/dist/cjs/lock_manager.js +343 -0
  49. package/dist/cjs/lock_manager.js.map +7 -0
  50. package/dist/cjs/logging.d.ts +16 -0
  51. package/dist/cjs/logging.js +216 -0
  52. package/dist/cjs/logging.js.map +7 -0
  53. package/dist/cjs/middlewares.d.ts +13 -0
  54. package/dist/cjs/middlewares.js +17 -0
  55. package/dist/cjs/middlewares.js.map +7 -0
  56. package/dist/cjs/optional_deps.d.ts +3 -0
  57. package/dist/cjs/optional_deps.js +64 -0
  58. package/dist/cjs/optional_deps.js.map +7 -0
  59. package/dist/cjs/package.json +5 -0
  60. package/dist/cjs/retry.d.ts +52 -0
  61. package/dist/cjs/retry.js +257 -0
  62. package/dist/cjs/retry.js.map +7 -0
  63. package/dist/cjs/timing.d.ts +3 -0
  64. package/dist/cjs/timing.js +76 -0
  65. package/dist/cjs/timing.js.map +7 -0
  66. package/dist/cjs/type_inference.test.d.ts +1 -0
  67. package/dist/cjs/types.d.ts +36 -0
  68. package/dist/cjs/types.js +104 -0
  69. package/dist/cjs/types.js.map +7 -0
  70. package/dist/esm/async_context.js +50 -0
  71. package/dist/esm/async_context.js.map +7 -0
  72. package/dist/esm/base_event.js +857 -0
  73. package/dist/esm/base_event.js.map +7 -0
  74. package/dist/esm/bridge_jsonl.js +150 -0
  75. package/dist/esm/bridge_jsonl.js.map +7 -0
  76. package/dist/esm/bridge_nats.js +88 -0
  77. package/dist/esm/bridge_nats.js.map +7 -0
  78. package/dist/esm/bridge_postgres.js +231 -0
  79. package/dist/esm/bridge_postgres.js.map +7 -0
  80. package/dist/esm/bridge_redis.js +155 -0
  81. package/dist/esm/bridge_redis.js.map +7 -0
  82. package/dist/esm/bridge_sqlite.js +235 -0
  83. package/dist/esm/bridge_sqlite.js.map +7 -0
  84. package/dist/esm/bridges.js +306 -0
  85. package/dist/esm/bridges.js.map +7 -0
  86. package/dist/esm/event_bus.js +1046 -0
  87. package/dist/esm/event_bus.js.map +7 -0
  88. package/dist/esm/event_handler.js +279 -0
  89. package/dist/esm/event_handler.js.map +7 -0
  90. package/dist/esm/event_history.js +172 -0
  91. package/dist/esm/event_history.js.map +7 -0
  92. package/dist/esm/event_result.js +426 -0
  93. package/dist/esm/event_result.js.map +7 -0
  94. package/dist/esm/events_suck.js +39 -0
  95. package/dist/esm/events_suck.js.map +7 -0
  96. package/dist/esm/helpers.js +64 -0
  97. package/dist/esm/helpers.js.map +7 -0
  98. package/dist/esm/index.js +47 -0
  99. package/dist/esm/index.js.map +7 -0
  100. package/dist/esm/lock_manager.js +323 -0
  101. package/dist/esm/lock_manager.js.map +7 -0
  102. package/dist/esm/logging.js +196 -0
  103. package/dist/esm/logging.js.map +7 -0
  104. package/dist/esm/middlewares.js +1 -0
  105. package/dist/esm/middlewares.js.map +7 -0
  106. package/dist/esm/optional_deps.js +44 -0
  107. package/dist/esm/optional_deps.js.map +7 -0
  108. package/dist/esm/retry.js +237 -0
  109. package/dist/esm/retry.js.map +7 -0
  110. package/dist/esm/timing.js +56 -0
  111. package/dist/esm/timing.js.map +7 -0
  112. package/dist/esm/types.js +84 -0
  113. package/dist/esm/types.js.map +7 -0
  114. package/dist/types/async_context.d.ts +12 -0
  115. package/dist/types/base_event.d.ts +207 -0
  116. package/dist/types/bridge_jsonl.d.ts +26 -0
  117. package/dist/types/bridge_nats.d.ts +20 -0
  118. package/dist/types/bridge_postgres.d.ts +31 -0
  119. package/dist/types/bridge_redis.d.ts +34 -0
  120. package/dist/types/bridge_sqlite.d.ts +30 -0
  121. package/dist/types/bridges.d.ts +49 -0
  122. package/dist/types/event_bus.d.ts +127 -0
  123. package/dist/types/event_handler.d.ts +139 -0
  124. package/dist/types/event_history.d.ts +45 -0
  125. package/dist/types/event_result.d.ts +86 -0
  126. package/dist/types/events_suck.d.ts +40 -0
  127. package/dist/types/helpers.d.ts +1 -0
  128. package/dist/types/index.d.ts +17 -0
  129. package/dist/types/lock_manager.d.ts +70 -0
  130. package/dist/types/logging.d.ts +16 -0
  131. package/dist/types/middlewares.d.ts +13 -0
  132. package/dist/types/optional_deps.d.ts +3 -0
  133. package/dist/types/retry.d.ts +52 -0
  134. package/dist/types/timing.d.ts +3 -0
  135. package/dist/types/type_inference.test.d.ts +1 -0
  136. package/dist/types/types.d.ts +36 -0
  137. package/package.json +87 -0
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var async_context_exports = {};
20
+ __export(async_context_exports, {
21
+ _runWithAsyncContext: () => _runWithAsyncContext,
22
+ async_local_storage: () => async_local_storage,
23
+ captureAsyncContext: () => captureAsyncContext,
24
+ createAsyncLocalStorage: () => createAsyncLocalStorage,
25
+ hasAsyncLocalStorage: () => hasAsyncLocalStorage
26
+ });
27
+ module.exports = __toCommonJS(async_context_exports);
28
+ let _AsyncLocalStorageClass = null;
29
+ const is_node = typeof process !== "undefined" && typeof process.versions !== "undefined" && typeof process.versions.node === "string";
30
+ const loadAsyncLocalStorageClass = () => {
31
+ if (!is_node) return null;
32
+ const maybe_process = globalThis.process;
33
+ const get_builtin_module = maybe_process?.getBuiltinModule;
34
+ if (typeof get_builtin_module === "function") {
35
+ const mod = get_builtin_module("node:async_hooks");
36
+ if (mod?.AsyncLocalStorage) {
37
+ return mod.AsyncLocalStorage;
38
+ }
39
+ }
40
+ try {
41
+ const maybe_require = Function('return typeof require === "function" ? require : undefined')();
42
+ const mod = maybe_require?.("node:async_hooks");
43
+ if (mod?.AsyncLocalStorage) {
44
+ return mod.AsyncLocalStorage;
45
+ }
46
+ } catch {
47
+ return null;
48
+ }
49
+ return null;
50
+ };
51
+ _AsyncLocalStorageClass = loadAsyncLocalStorageClass();
52
+ const createAsyncLocalStorage = () => {
53
+ if (!_AsyncLocalStorageClass) return null;
54
+ return new _AsyncLocalStorageClass();
55
+ };
56
+ let async_local_storage = _AsyncLocalStorageClass ? new _AsyncLocalStorageClass() : null;
57
+ const captureAsyncContext = () => {
58
+ if (!async_local_storage) {
59
+ return null;
60
+ }
61
+ return async_local_storage.getStore() ?? null;
62
+ };
63
+ const _runWithAsyncContext = (context, fn) => {
64
+ if (!async_local_storage) {
65
+ return fn();
66
+ }
67
+ return async_local_storage.run(context ?? void 0, fn);
68
+ };
69
+ const hasAsyncLocalStorage = () => async_local_storage !== null;
70
+ //# sourceMappingURL=async_context.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/async_context.ts"],
4
+ "sourcesContent": ["declare const process: { versions?: { node?: string } } | undefined\n\ntype AsyncLocalStorageLike = {\n getStore(): unknown\n run<T>(store: unknown, callback: () => T): T\n enterWith?(store: unknown): void\n}\n\nexport type { AsyncLocalStorageLike }\n\n// Cache the AsyncLocalStorage constructor so multiple modules can create separate instances.\nlet _AsyncLocalStorageClass: (new () => AsyncLocalStorageLike) | null = null\n\nconst is_node = typeof process !== 'undefined' && typeof process.versions !== 'undefined' && typeof process.versions.node === 'string'\n\nconst loadAsyncLocalStorageClass = (): (new () => AsyncLocalStorageLike) | null => {\n if (!is_node) return null\n\n // Prefer process.getBuiltinModule when available (works in ESM and CJS without top-level await).\n const maybe_process = (globalThis as { process?: { getBuiltinModule?: (name: string) => unknown } }).process\n const get_builtin_module = maybe_process?.getBuiltinModule\n if (typeof get_builtin_module === 'function') {\n const mod = get_builtin_module('node:async_hooks') as { AsyncLocalStorage?: new () => AsyncLocalStorageLike } | undefined\n if (mod?.AsyncLocalStorage) {\n return mod.AsyncLocalStorage\n }\n }\n\n // Fallback for older Node runtimes where require is available.\n try {\n const maybe_require = Function('return typeof require === \"function\" ? require : undefined')() as\n | ((specifier: string) => { AsyncLocalStorage?: new () => AsyncLocalStorageLike })\n | undefined\n const mod = maybe_require?.('node:async_hooks')\n if (mod?.AsyncLocalStorage) {\n return mod.AsyncLocalStorage\n }\n } catch {\n return null\n }\n\n return null\n}\n\n_AsyncLocalStorageClass = loadAsyncLocalStorageClass()\n\n/** Create a new AsyncLocalStorage instance, or null if unavailable (e.g. in browsers). */\nexport const createAsyncLocalStorage = (): AsyncLocalStorageLike | null => {\n if (!_AsyncLocalStorageClass) return null\n return new _AsyncLocalStorageClass()\n}\n\n// The primary AsyncLocalStorage instance used for event dispatch context propagation.\nexport let async_local_storage: AsyncLocalStorageLike | null = _AsyncLocalStorageClass ? new _AsyncLocalStorageClass() : null\n\nexport const captureAsyncContext = (): unknown | null => {\n if (!async_local_storage) {\n return null\n }\n return async_local_storage.getStore() ?? null\n}\n\nexport const _runWithAsyncContext = <T>(context: unknown | null, fn: () => T): T => {\n if (!async_local_storage) {\n return fn()\n }\n return async_local_storage.run(context ?? undefined, fn)\n}\n\nexport const hasAsyncLocalStorage = (): boolean => async_local_storage !== null\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA,IAAI,0BAAoE;AAExE,MAAM,UAAU,OAAO,YAAY,eAAe,OAAO,QAAQ,aAAa,eAAe,OAAO,QAAQ,SAAS,SAAS;AAE9H,MAAM,6BAA6B,MAAgD;AACjF,MAAI,CAAC,QAAS,QAAO;AAGrB,QAAM,gBAAiB,WAA8E;AACrG,QAAM,qBAAqB,eAAe;AAC1C,MAAI,OAAO,uBAAuB,YAAY;AAC5C,UAAM,MAAM,mBAAmB,kBAAkB;AACjD,QAAI,KAAK,mBAAmB;AAC1B,aAAO,IAAI;AAAA,IACb;AAAA,EACF;AAGA,MAAI;AACF,UAAM,gBAAgB,SAAS,4DAA4D,EAAE;AAG7F,UAAM,MAAM,gBAAgB,kBAAkB;AAC9C,QAAI,KAAK,mBAAmB;AAC1B,aAAO,IAAI;AAAA,IACb;AAAA,EACF,QAAQ;AACN,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,0BAA0B,2BAA2B;AAG9C,MAAM,0BAA0B,MAAoC;AACzE,MAAI,CAAC,wBAAyB,QAAO;AACrC,SAAO,IAAI,wBAAwB;AACrC;AAGO,IAAI,sBAAoD,0BAA0B,IAAI,wBAAwB,IAAI;AAElH,MAAM,sBAAsB,MAAsB;AACvD,MAAI,CAAC,qBAAqB;AACxB,WAAO;AAAA,EACT;AACA,SAAO,oBAAoB,SAAS,KAAK;AAC3C;AAEO,MAAM,uBAAuB,CAAI,SAAyB,OAAmB;AAClF,MAAI,CAAC,qBAAqB;AACxB,WAAO,GAAG;AAAA,EACZ;AACA,SAAO,oBAAoB,IAAI,WAAW,QAAW,EAAE;AACzD;AAEO,MAAM,uBAAuB,MAAe,wBAAwB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,207 @@
1
+ import { z } from 'zod';
2
+ import { EventBus } from './event_bus.js';
3
+ import { EventResult } from './event_result.js';
4
+ import { EventHandler } from './event_handler.js';
5
+ import type { EventConcurrencyMode, EventHandlerConcurrencyMode, EventHandlerCompletionMode, Deferred } from './lock_manager.js';
6
+ import { AsyncLock } from './lock_manager.js';
7
+ import type { EventHandlerCallable, EventResultType } from './types.js';
8
+ export declare const BaseEventSchema: z.ZodObject<{
9
+ event_id: z.ZodString;
10
+ event_created_at: z.ZodString;
11
+ event_type: z.ZodString;
12
+ event_version: z.ZodDefault<z.ZodString>;
13
+ event_timeout: z.ZodNullable<z.ZodNumber>;
14
+ event_slow_timeout: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
15
+ event_handler_timeout: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
16
+ event_handler_slow_timeout: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
17
+ event_parent_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
+ event_path: z.ZodOptional<z.ZodArray<z.ZodString>>;
19
+ event_result_type: z.ZodOptional<z.ZodUnknown>;
20
+ event_emitted_by_handler_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
+ event_pending_bus_count: z.ZodOptional<z.ZodNumber>;
22
+ event_status: z.ZodOptional<z.ZodEnum<{
23
+ pending: "pending";
24
+ started: "started";
25
+ completed: "completed";
26
+ }>>;
27
+ event_started_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
+ event_completed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
+ event_results: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
30
+ event_concurrency: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
31
+ "global-serial": "global-serial";
32
+ "bus-serial": "bus-serial";
33
+ parallel: "parallel";
34
+ }>>>;
35
+ event_handler_concurrency: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
36
+ parallel: "parallel";
37
+ serial: "serial";
38
+ }>>>;
39
+ event_handler_completion: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
40
+ all: "all";
41
+ first: "first";
42
+ }>>>;
43
+ }, z.core.$loose>;
44
+ export type BaseEventData = z.infer<typeof BaseEventSchema>;
45
+ export type BaseEventJSON = BaseEventData & Record<string, unknown>;
46
+ type BaseEventFields = Pick<BaseEventData, 'event_id' | 'event_created_at' | 'event_type' | 'event_version' | 'event_timeout' | 'event_slow_timeout' | 'event_handler_timeout' | 'event_handler_slow_timeout' | 'event_parent_id' | 'event_path' | 'event_result_type' | 'event_emitted_by_handler_id' | 'event_pending_bus_count' | 'event_status' | 'event_started_at' | 'event_completed_at' | 'event_results' | 'event_concurrency' | 'event_handler_concurrency' | 'event_handler_completion'>;
47
+ export type BaseEventInit<TFields extends Record<string, unknown>> = TFields & Partial<BaseEventFields>;
48
+ type BaseEventSchemaShape = typeof BaseEventSchema.shape;
49
+ export type EventSchema<TShape extends z.ZodRawShape> = z.ZodObject<BaseEventSchemaShape & TShape>;
50
+ type EventPayload<TShape extends z.ZodRawShape> = TShape extends Record<string, never> ? {} : z.infer<z.ZodObject<TShape>>;
51
+ type EventInput<TShape extends z.ZodRawShape> = z.input<EventSchema<TShape>>;
52
+ export type EventInit<TShape extends z.ZodRawShape> = Omit<EventInput<TShape>, keyof BaseEventFields> & Partial<BaseEventFields>;
53
+ type EventWithResultSchema<TResult> = BaseEvent & {
54
+ __event_result_type__?: TResult;
55
+ };
56
+ type ResultTypeFromEventResultTypeInput<TInput> = TInput extends z.ZodTypeAny ? z.infer<TInput> : TInput extends StringConstructor ? string : TInput extends NumberConstructor ? number : TInput extends BooleanConstructor ? boolean : TInput extends ArrayConstructor ? unknown[] : TInput extends ObjectConstructor ? Record<string, unknown> : unknown;
57
+ type ResultSchemaFromShape<TShape> = TShape extends {
58
+ event_result_type: infer S;
59
+ } ? ResultTypeFromEventResultTypeInput<S> : unknown;
60
+ type EventResultsListInclude<TEvent extends BaseEvent> = (result: EventResultType<TEvent> | undefined, event_result: EventResult<TEvent>) => boolean;
61
+ type EventResultsListOptions<TEvent extends BaseEvent> = {
62
+ timeout?: number | null;
63
+ include?: EventResultsListInclude<TEvent>;
64
+ raise_if_any?: boolean;
65
+ raise_if_none?: boolean;
66
+ };
67
+ type EventDoneOptions = {
68
+ raise_if_any?: boolean;
69
+ };
70
+ type EventResultUpdateOptions<TEvent extends BaseEvent> = {
71
+ eventbus?: EventBus;
72
+ status?: 'pending' | 'started' | 'completed' | 'error';
73
+ result?: EventResultType<TEvent> | BaseEvent | undefined;
74
+ error?: unknown;
75
+ };
76
+ export type EventFactory<TShape extends z.ZodRawShape, TResult = unknown> = {
77
+ (data: EventInit<TShape>): EventWithResultSchema<TResult> & EventPayload<TShape>;
78
+ new (data: EventInit<TShape>): EventWithResultSchema<TResult> & EventPayload<TShape>;
79
+ schema: EventSchema<TShape>;
80
+ class?: new (data: EventInit<TShape>) => EventWithResultSchema<TResult> & EventPayload<TShape>;
81
+ event_type?: string;
82
+ event_version?: string;
83
+ event_result_type?: z.ZodTypeAny;
84
+ fromJSON?: (data: unknown) => EventWithResultSchema<TResult> & EventPayload<TShape>;
85
+ };
86
+ type ZodShapeFrom<TShape extends Record<string, unknown>> = {
87
+ [K in keyof TShape as K extends 'event_result_type' ? never : TShape[K] extends z.ZodTypeAny ? K : never]: Extract<TShape[K], z.ZodTypeAny>;
88
+ };
89
+ export declare class BaseEvent {
90
+ event_id: string;
91
+ event_created_at: string;
92
+ event_type: string;
93
+ event_version: string;
94
+ event_timeout: number | null;
95
+ event_slow_timeout?: number | null;
96
+ event_handler_timeout?: number | null;
97
+ event_handler_slow_timeout?: number | null;
98
+ event_parent_id: string | null;
99
+ event_path: string[];
100
+ event_result_type?: z.ZodTypeAny;
101
+ event_results: Map<string, EventResult<this>>;
102
+ event_emitted_by_handler_id: string | null;
103
+ event_pending_bus_count: number;
104
+ event_status: 'pending' | 'started' | 'completed';
105
+ event_started_at: string | null;
106
+ event_completed_at: string | null;
107
+ event_concurrency?: EventConcurrencyMode | null;
108
+ event_handler_concurrency?: EventHandlerConcurrencyMode | null;
109
+ event_handler_completion?: EventHandlerCompletionMode | null;
110
+ static event_type?: string;
111
+ static event_version: string;
112
+ static schema: z.ZodObject<{
113
+ event_id: z.ZodString;
114
+ event_created_at: z.ZodString;
115
+ event_type: z.ZodString;
116
+ event_version: z.ZodDefault<z.ZodString>;
117
+ event_timeout: z.ZodNullable<z.ZodNumber>;
118
+ event_slow_timeout: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
119
+ event_handler_timeout: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
120
+ event_handler_slow_timeout: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
121
+ event_parent_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
122
+ event_path: z.ZodOptional<z.ZodArray<z.ZodString>>;
123
+ event_result_type: z.ZodOptional<z.ZodUnknown>;
124
+ event_emitted_by_handler_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
125
+ event_pending_bus_count: z.ZodOptional<z.ZodNumber>;
126
+ event_status: z.ZodOptional<z.ZodEnum<{
127
+ pending: "pending";
128
+ started: "started";
129
+ completed: "completed";
130
+ }>>;
131
+ event_started_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
132
+ event_completed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
133
+ event_results: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
134
+ event_concurrency: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
135
+ "global-serial": "global-serial";
136
+ "bus-serial": "bus-serial";
137
+ parallel: "parallel";
138
+ }>>>;
139
+ event_handler_concurrency: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
140
+ parallel: "parallel";
141
+ serial: "serial";
142
+ }>>>;
143
+ event_handler_completion: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
144
+ all: "all";
145
+ first: "first";
146
+ }>>>;
147
+ }, z.core.$loose>;
148
+ bus?: EventBus;
149
+ _event_original?: BaseEvent;
150
+ _event_dispatch_context?: unknown | null;
151
+ _event_completed_signal: Deferred<this> | null;
152
+ _lock_for_event_handler: AsyncLock | null;
153
+ get event_bus(): EventBus;
154
+ constructor(data?: BaseEventInit<Record<string, unknown>>);
155
+ toString(): string;
156
+ static extend<TShape extends z.ZodRawShape>(event_type: string, shape?: TShape): EventFactory<TShape, ResultSchemaFromShape<TShape>>;
157
+ static extend<TShape extends Record<string, unknown>>(event_type: string, shape?: TShape): EventFactory<ZodShapeFrom<TShape>, ResultSchemaFromShape<TShape>>;
158
+ static fromJSON<T extends typeof BaseEvent>(this: T, data: unknown): InstanceType<T>;
159
+ static toJSONArray(events: Iterable<BaseEvent>): BaseEventJSON[];
160
+ static fromJSONArray(data: unknown): BaseEvent[];
161
+ toJSON(): BaseEventJSON;
162
+ _createSlowEventWarningTimer(): ReturnType<typeof setTimeout> | null;
163
+ eventResultUpdate(handler: EventHandler | EventHandlerCallable<this>, options?: EventResultUpdateOptions<this>): EventResult<this>;
164
+ _createPendingHandlerResults(bus: EventBus): Array<{
165
+ handler: EventHandler;
166
+ result: EventResult;
167
+ }>;
168
+ private _collectPendingResults;
169
+ private _isFirstModeWinningResult;
170
+ private _markFirstModeWinnerIfNeeded;
171
+ private _runHandlerWithLock;
172
+ _runHandlers(pending_entries?: Array<{
173
+ handler: EventHandler;
174
+ result: EventResult;
175
+ }>): Promise<void>;
176
+ _getHandlerLock(default_concurrency?: EventHandlerConcurrencyMode): AsyncLock | null;
177
+ _setHandlerLock(lock: AsyncLock | null): void;
178
+ _getDispatchContext(): unknown | null | undefined;
179
+ _setDispatchContext(dispatch_context: unknown | null | undefined): void;
180
+ get event_parent(): BaseEvent | undefined;
181
+ get event_children(): BaseEvent[];
182
+ get event_descendants(): BaseEvent[];
183
+ _cancelPendingChildProcessing(reason: unknown): void;
184
+ _markRemainingFirstModeResultCancelled(winner: EventResult): void;
185
+ _markCancelled(cause: Error): void;
186
+ _notifyEventParentsOfCompletion(): void;
187
+ done(options?: EventDoneOptions): Promise<this>;
188
+ first(): Promise<EventResultType<this> | undefined>;
189
+ eventResultsList(include: EventResultsListInclude<this>, options?: EventResultsListOptions<this>): Promise<Array<EventResultType<this> | undefined>>;
190
+ eventResultsList(options?: EventResultsListOptions<this>): Promise<Array<EventResultType<this> | undefined>>;
191
+ eventCompleted(): Promise<this>;
192
+ _markPending(): this;
193
+ eventReset(): this;
194
+ _markStarted(started_at?: string | null, notify_hook?: boolean): void;
195
+ _markCompleted(force?: boolean, notify_parents?: boolean): void;
196
+ private dropFromZeroHistoryBuses;
197
+ get event_errors(): unknown[];
198
+ private _isFirstModeControlError;
199
+ _firstProcessingError(options?: {
200
+ ignore_first_mode_control_errors?: boolean;
201
+ }): unknown | undefined;
202
+ get event_result(): EventResultType<this> | undefined;
203
+ _areAllChildrenComplete(): boolean;
204
+ private _notifyDoneListeners;
205
+ _gc(): void;
206
+ }
207
+ export {};