@griffin-app/griffin-executor 0.1.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.
Files changed (153) hide show
  1. package/README.md +152 -0
  2. package/dist/adapters/axios.d.ts +5 -0
  3. package/dist/adapters/axios.d.ts.map +1 -0
  4. package/dist/adapters/axios.js +36 -0
  5. package/dist/adapters/axios.js.map +1 -0
  6. package/dist/adapters/index.d.ts +3 -0
  7. package/dist/adapters/index.d.ts.map +1 -0
  8. package/dist/adapters/index.js +3 -0
  9. package/dist/adapters/index.js.map +1 -0
  10. package/dist/adapters/stub.d.ts +22 -0
  11. package/dist/adapters/stub.d.ts.map +1 -0
  12. package/dist/adapters/stub.js +36 -0
  13. package/dist/adapters/stub.js.map +1 -0
  14. package/dist/events/adapters/in-memory.d.ts +52 -0
  15. package/dist/events/adapters/in-memory.d.ts.map +1 -0
  16. package/dist/events/adapters/in-memory.js +70 -0
  17. package/dist/events/adapters/in-memory.js.map +1 -0
  18. package/dist/events/adapters/in-memory.test.d.ts +2 -0
  19. package/dist/events/adapters/in-memory.test.d.ts.map +1 -0
  20. package/dist/events/adapters/in-memory.test.js +109 -0
  21. package/dist/events/adapters/in-memory.test.js.map +1 -0
  22. package/dist/events/adapters/index.d.ts +9 -0
  23. package/dist/events/adapters/index.d.ts.map +1 -0
  24. package/dist/events/adapters/index.js +9 -0
  25. package/dist/events/adapters/index.js.map +1 -0
  26. package/dist/events/adapters/kinesis.d.ts +91 -0
  27. package/dist/events/adapters/kinesis.d.ts.map +1 -0
  28. package/dist/events/adapters/kinesis.js +136 -0
  29. package/dist/events/adapters/kinesis.js.map +1 -0
  30. package/dist/events/adapters/kinesis.test.d.ts +2 -0
  31. package/dist/events/adapters/kinesis.test.d.ts.map +1 -0
  32. package/dist/events/adapters/kinesis.test.js +249 -0
  33. package/dist/events/adapters/kinesis.test.js.map +1 -0
  34. package/dist/events/emitter.d.ts +68 -0
  35. package/dist/events/emitter.d.ts.map +1 -0
  36. package/dist/events/emitter.js +83 -0
  37. package/dist/events/emitter.js.map +1 -0
  38. package/dist/events/emitter.test.d.ts +2 -0
  39. package/dist/events/emitter.test.d.ts.map +1 -0
  40. package/dist/events/emitter.test.js +262 -0
  41. package/dist/events/emitter.test.js.map +1 -0
  42. package/dist/events/index.d.ts +4 -0
  43. package/dist/events/index.d.ts.map +1 -0
  44. package/dist/events/index.js +4 -0
  45. package/dist/events/index.js.map +1 -0
  46. package/dist/events/types.d.ts +112 -0
  47. package/dist/events/types.d.ts.map +1 -0
  48. package/dist/events/types.js +9 -0
  49. package/dist/events/types.js.map +1 -0
  50. package/dist/executor.d.ts +4 -0
  51. package/dist/executor.d.ts.map +1 -0
  52. package/dist/executor.js +799 -0
  53. package/dist/executor.js.map +1 -0
  54. package/dist/executor.test.d.ts +2 -0
  55. package/dist/executor.test.d.ts.map +1 -0
  56. package/dist/executor.test.js +1584 -0
  57. package/dist/executor.test.js.map +1 -0
  58. package/dist/index.d.ts +9 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +15 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/secrets/factory.d.ts +121 -0
  63. package/dist/secrets/factory.d.ts.map +1 -0
  64. package/dist/secrets/factory.js +137 -0
  65. package/dist/secrets/factory.js.map +1 -0
  66. package/dist/secrets/index.d.ts +14 -0
  67. package/dist/secrets/index.d.ts.map +1 -0
  68. package/dist/secrets/index.js +18 -0
  69. package/dist/secrets/index.js.map +1 -0
  70. package/dist/secrets/providers/aws.d.ts +63 -0
  71. package/dist/secrets/providers/aws.d.ts.map +1 -0
  72. package/dist/secrets/providers/aws.js +110 -0
  73. package/dist/secrets/providers/aws.js.map +1 -0
  74. package/dist/secrets/providers/env.d.ts +36 -0
  75. package/dist/secrets/providers/env.d.ts.map +1 -0
  76. package/dist/secrets/providers/env.js +37 -0
  77. package/dist/secrets/providers/env.js.map +1 -0
  78. package/dist/secrets/providers/index.d.ts +7 -0
  79. package/dist/secrets/providers/index.d.ts.map +1 -0
  80. package/dist/secrets/providers/index.js +7 -0
  81. package/dist/secrets/providers/index.js.map +1 -0
  82. package/dist/secrets/providers/vault.d.ts +75 -0
  83. package/dist/secrets/providers/vault.d.ts.map +1 -0
  84. package/dist/secrets/providers/vault.js +143 -0
  85. package/dist/secrets/providers/vault.js.map +1 -0
  86. package/dist/secrets/registry.d.ts +39 -0
  87. package/dist/secrets/registry.d.ts.map +1 -0
  88. package/dist/secrets/registry.js +134 -0
  89. package/dist/secrets/registry.js.map +1 -0
  90. package/dist/secrets/resolver.d.ts +45 -0
  91. package/dist/secrets/resolver.d.ts.map +1 -0
  92. package/dist/secrets/resolver.js +188 -0
  93. package/dist/secrets/resolver.js.map +1 -0
  94. package/dist/secrets/secrets.test.d.ts +2 -0
  95. package/dist/secrets/secrets.test.d.ts.map +1 -0
  96. package/dist/secrets/secrets.test.js +317 -0
  97. package/dist/secrets/secrets.test.js.map +1 -0
  98. package/dist/secrets/types.d.ts +70 -0
  99. package/dist/secrets/types.d.ts.map +1 -0
  100. package/dist/secrets/types.js +42 -0
  101. package/dist/secrets/types.js.map +1 -0
  102. package/dist/shared.d.ts +8 -0
  103. package/dist/shared.d.ts.map +1 -0
  104. package/dist/shared.js +30 -0
  105. package/dist/shared.js.map +1 -0
  106. package/dist/test-monitor-types.d.ts +43 -0
  107. package/dist/test-monitor-types.d.ts.map +1 -0
  108. package/dist/test-monitor-types.js +2 -0
  109. package/dist/test-monitor-types.js.map +1 -0
  110. package/dist/test-plan-types.d.ts +43 -0
  111. package/dist/test-plan-types.d.ts.map +1 -0
  112. package/dist/test-plan-types.js +2 -0
  113. package/dist/test-plan-types.js.map +1 -0
  114. package/dist/types.d.ts +93 -0
  115. package/dist/types.d.ts.map +1 -0
  116. package/dist/types.js +3 -0
  117. package/dist/types.js.map +1 -0
  118. package/dist/utils/dates.d.ts +11 -0
  119. package/dist/utils/dates.d.ts.map +1 -0
  120. package/dist/utils/dates.js +13 -0
  121. package/dist/utils/dates.js.map +1 -0
  122. package/package.json +39 -0
  123. package/src/adapters/axios.ts +39 -0
  124. package/src/adapters/index.ts +2 -0
  125. package/src/adapters/stub.ts +47 -0
  126. package/src/events/adapters/README.md +144 -0
  127. package/src/events/adapters/in-memory.test.ts +146 -0
  128. package/src/events/adapters/in-memory.ts +93 -0
  129. package/src/events/adapters/index.ts +9 -0
  130. package/src/events/adapters/kinesis.test.ts +323 -0
  131. package/src/events/adapters/kinesis.ts +211 -0
  132. package/src/events/emitter.test.ts +327 -0
  133. package/src/events/emitter.ts +133 -0
  134. package/src/events/index.ts +3 -0
  135. package/src/events/types.ts +136 -0
  136. package/src/executor.test.ts +1732 -0
  137. package/src/executor.ts +1075 -0
  138. package/src/index.ts +81 -0
  139. package/src/secrets/factory.ts +248 -0
  140. package/src/secrets/index.ts +48 -0
  141. package/src/secrets/providers/aws.ts +178 -0
  142. package/src/secrets/providers/env.ts +66 -0
  143. package/src/secrets/providers/index.ts +15 -0
  144. package/src/secrets/providers/vault.ts +257 -0
  145. package/src/secrets/resolver.ts +269 -0
  146. package/src/secrets/secrets.test.ts +402 -0
  147. package/src/secrets/types.ts +106 -0
  148. package/src/shared.ts +46 -0
  149. package/src/test-monitor-types.ts +49 -0
  150. package/src/types.ts +114 -0
  151. package/src/utils/dates.ts +13 -0
  152. package/tsconfig.json +20 -0
  153. package/vitest.config.ts +14 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/events/emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=emitter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emitter.test.d.ts","sourceRoot":"","sources":["../../src/events/emitter.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,262 @@
1
+ import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
2
+ import { LocalEventEmitter, DurableEventEmitter, } from "./emitter.js";
3
+ describe("LocalEventEmitter", () => {
4
+ let emitter;
5
+ beforeEach(() => {
6
+ emitter = new LocalEventEmitter();
7
+ });
8
+ it("should deliver events to subscribers synchronously", () => {
9
+ const events = [];
10
+ emitter.subscribe((event) => events.push(event));
11
+ const testEvent = {
12
+ type: "MONITOR_START",
13
+ event_id: "123",
14
+ seq: 0,
15
+ timestamp: Date.now(),
16
+ organization_id: "test-org",
17
+ monitor_id: "monitor-1",
18
+ execution_id: "exec-1",
19
+ monitor_name: "Test Monitor",
20
+ monitor_version: "1.0",
21
+ node_count: 2,
22
+ edge_count: 1,
23
+ };
24
+ emitter.emit(testEvent);
25
+ expect(events).toHaveLength(1);
26
+ expect(events[0]).toEqual(testEvent);
27
+ });
28
+ it("should deliver events to multiple subscribers", () => {
29
+ const events1 = [];
30
+ const events2 = [];
31
+ emitter.subscribe((event) => events1.push(event));
32
+ emitter.subscribe((event) => events2.push(event));
33
+ const testEvent = {
34
+ type: "NODE_START",
35
+ event_id: "456",
36
+ seq: 1,
37
+ timestamp: Date.now(),
38
+ monitor_id: "monitor-1",
39
+ execution_id: "exec-1",
40
+ organization_id: "test-org",
41
+ node_id: "node-1",
42
+ node_type: "HTTP_REQUEST",
43
+ };
44
+ emitter.emit(testEvent);
45
+ expect(events1).toHaveLength(1);
46
+ expect(events2).toHaveLength(1);
47
+ expect(events1[0]).toEqual(testEvent);
48
+ expect(events2[0]).toEqual(testEvent);
49
+ });
50
+ it("should allow unsubscribing", () => {
51
+ const events = [];
52
+ const unsubscribe = emitter.subscribe((event) => events.push(event));
53
+ const testEvent = {
54
+ type: "NODE_END",
55
+ event_id: "789",
56
+ seq: 2,
57
+ timestamp: Date.now(),
58
+ monitor_id: "monitor-1",
59
+ execution_id: "exec-1",
60
+ organization_id: "test-org",
61
+ node_id: "node-1",
62
+ node_type: "HTTP_REQUEST",
63
+ success: true,
64
+ duration_ms: 100,
65
+ };
66
+ emitter.emit(testEvent);
67
+ expect(events).toHaveLength(1);
68
+ unsubscribe();
69
+ emitter.emit(testEvent);
70
+ expect(events).toHaveLength(1); // Still 1, not 2
71
+ });
72
+ it("should not propagate listener errors to other listeners", () => {
73
+ const events = [];
74
+ const consoleErrorSpy = vi
75
+ .spyOn(console, "error")
76
+ .mockImplementation(() => { });
77
+ emitter.subscribe(() => {
78
+ throw new Error("Listener error");
79
+ });
80
+ emitter.subscribe((event) => events.push(event));
81
+ const testEvent = {
82
+ type: "MONITOR_END",
83
+ event_id: "abc",
84
+ seq: 3,
85
+ timestamp: Date.now(),
86
+ monitor_id: "monitor-1",
87
+ execution_id: "exec-1",
88
+ organization_id: "test-org",
89
+ success: true,
90
+ total_duration_ms: 1000,
91
+ node_result_count: 2,
92
+ error_count: 0,
93
+ errors: [],
94
+ };
95
+ emitter.emit(testEvent);
96
+ expect(events).toHaveLength(1);
97
+ expect(consoleErrorSpy).toHaveBeenCalled();
98
+ consoleErrorSpy.mockRestore();
99
+ });
100
+ });
101
+ describe("DurableEventEmitter", () => {
102
+ let adapter;
103
+ let publishSpy;
104
+ let emitter;
105
+ beforeEach(() => {
106
+ publishSpy = vi
107
+ .fn()
108
+ .mockResolvedValue(undefined);
109
+ adapter = { publish: publishSpy };
110
+ });
111
+ afterEach(() => {
112
+ emitter?.destroy();
113
+ });
114
+ it("should batch events and flush on batch size", async () => {
115
+ emitter = new DurableEventEmitter(adapter, {
116
+ batchSize: 3,
117
+ flushIntervalMs: 10000,
118
+ });
119
+ const event1 = {
120
+ type: "NODE_START",
121
+ event_id: "1",
122
+ seq: 0,
123
+ timestamp: Date.now(),
124
+ monitor_id: "monitor-1",
125
+ execution_id: "exec-1",
126
+ organization_id: "test-org",
127
+ node_id: "node-1",
128
+ node_type: "HTTP_REQUEST",
129
+ };
130
+ const event2 = {
131
+ type: "NODE_START",
132
+ event_id: "2",
133
+ seq: 1,
134
+ timestamp: Date.now(),
135
+ monitor_id: "monitor-1",
136
+ execution_id: "exec-1",
137
+ organization_id: "test-org",
138
+ node_id: "node-2",
139
+ node_type: "WAIT",
140
+ };
141
+ const event3 = {
142
+ type: "NODE_START",
143
+ event_id: "3",
144
+ seq: 2,
145
+ timestamp: Date.now(),
146
+ monitor_id: "monitor-1",
147
+ execution_id: "exec-1",
148
+ organization_id: "test-org",
149
+ node_id: "node-3",
150
+ node_type: "ASSERTION",
151
+ };
152
+ emitter.emit(event1);
153
+ emitter.emit(event2);
154
+ expect(publishSpy).not.toHaveBeenCalled();
155
+ emitter.emit(event3); // Should trigger auto-flush
156
+ // Wait for async flush
157
+ await new Promise((resolve) => setTimeout(resolve, 10));
158
+ expect(publishSpy).toHaveBeenCalledTimes(1);
159
+ expect(publishSpy).toHaveBeenCalledWith([event1, event2, event3]);
160
+ });
161
+ it("should flush on interval", async () => {
162
+ emitter = new DurableEventEmitter(adapter, {
163
+ batchSize: 100,
164
+ flushIntervalMs: 50,
165
+ });
166
+ const event = {
167
+ type: "HTTP_REQUEST",
168
+ event_id: "1",
169
+ seq: 0,
170
+ timestamp: Date.now(),
171
+ monitor_id: "monitor-1",
172
+ execution_id: "exec-1",
173
+ organization_id: "test-org",
174
+ node_id: "node-1",
175
+ attempt: 1,
176
+ method: "GET",
177
+ url: "https://api.example.com/test",
178
+ has_body: false,
179
+ };
180
+ emitter.emit(event);
181
+ // Wait for interval flush
182
+ await new Promise((resolve) => setTimeout(resolve, 100));
183
+ expect(publishSpy).toHaveBeenCalledWith([event]);
184
+ });
185
+ it("should flush manually when requested", async () => {
186
+ emitter = new DurableEventEmitter(adapter, {
187
+ batchSize: 100,
188
+ flushIntervalMs: 10000,
189
+ });
190
+ const event = {
191
+ type: "HTTP_RESPONSE",
192
+ event_id: "1",
193
+ seq: 0,
194
+ timestamp: Date.now(),
195
+ monitor_id: "monitor-1",
196
+ execution_id: "exec-1",
197
+ organization_id: "test-org",
198
+ node_id: "node-1",
199
+ attempt: 1,
200
+ status: 200,
201
+ status_text: "OK",
202
+ duration_ms: 100,
203
+ has_body: true,
204
+ };
205
+ emitter.emit(event);
206
+ await emitter.flush();
207
+ expect(publishSpy).toHaveBeenCalledWith([event]);
208
+ });
209
+ it("should not emit after being destroyed", async () => {
210
+ emitter = new DurableEventEmitter(adapter, {
211
+ batchSize: 100,
212
+ flushIntervalMs: 50,
213
+ });
214
+ const consoleWarnSpy = vi
215
+ .spyOn(console, "warn")
216
+ .mockImplementation(() => { });
217
+ emitter.destroy();
218
+ const event = {
219
+ type: "ERROR",
220
+ event_id: "1",
221
+ seq: 0,
222
+ timestamp: Date.now(),
223
+ monitor_id: "monitor-1",
224
+ execution_id: "exec-1",
225
+ organization_id: "test-org",
226
+ error_name: "TestError",
227
+ message: "Test error message",
228
+ };
229
+ emitter.emit(event);
230
+ await new Promise((resolve) => setTimeout(resolve, 100));
231
+ expect(publishSpy).not.toHaveBeenCalled();
232
+ expect(consoleWarnSpy).toHaveBeenCalledWith("Cannot emit event: emitter is destroyed");
233
+ consoleWarnSpy.mockRestore();
234
+ });
235
+ it("should handle publish failures gracefully", async () => {
236
+ const consoleErrorSpy = vi
237
+ .spyOn(console, "error")
238
+ .mockImplementation(() => { });
239
+ publishSpy.mockRejectedValueOnce(new Error("Publish failed"));
240
+ emitter = new DurableEventEmitter(adapter, {
241
+ batchSize: 1,
242
+ flushIntervalMs: 10000,
243
+ });
244
+ const event = {
245
+ type: "WAIT_START",
246
+ event_id: "1",
247
+ seq: 0,
248
+ timestamp: Date.now(),
249
+ monitor_id: "monitor-1",
250
+ execution_id: "exec-1",
251
+ organization_id: "test-org",
252
+ node_id: "wait-1",
253
+ duration_ms: 1000,
254
+ };
255
+ emitter.emit(event);
256
+ await new Promise((resolve) => setTimeout(resolve, 10));
257
+ expect(publishSpy).toHaveBeenCalled();
258
+ expect(consoleErrorSpy).toHaveBeenCalled();
259
+ consoleErrorSpy.mockRestore();
260
+ });
261
+ });
262
+ //# sourceMappingURL=emitter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emitter.test.js","sourceRoot":"","sources":["../../src/events/emitter.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./types.js";
2
+ export * from "./emitter.js";
3
+ export * as adapters from "./adapters/index.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./types.js";
2
+ export * from "./emitter.js";
3
+ export * as adapters from "./adapters/index.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Event types for test monitor execution.
3
+ *
4
+ * All events are JSON-serializable for compatibility with various event buses.
5
+ * Events include stable identifiers (executionId, eventId) and monotonic sequence
6
+ * numbers for deduplication and ordering.
7
+ */
8
+ /** Base event envelope with correlation and ordering metadata */
9
+ export interface BaseEvent {
10
+ location?: string;
11
+ /** Unique identifier for this specific event */
12
+ event_id: string;
13
+ /** Monotonic sequence number within this execution (0-indexed) */
14
+ seq: number;
15
+ /** Unix timestamp in milliseconds */
16
+ timestamp: number;
17
+ /** ID of the test monitor being executed */
18
+ monitor_id: string;
19
+ /** Unique identifier for this execution run */
20
+ execution_id: string;
21
+ /** ID of the organization that the monitor belongs to */
22
+ organization_id: string;
23
+ }
24
+ /** Monitor-level events */
25
+ export interface MonitorStartEvent extends BaseEvent {
26
+ type: "MONITOR_START";
27
+ monitor_name: string;
28
+ monitor_version: string;
29
+ node_count: number;
30
+ edge_count: number;
31
+ }
32
+ export interface MonitorEndEvent extends BaseEvent {
33
+ type: "MONITOR_END";
34
+ success: boolean;
35
+ total_duration_ms: number;
36
+ node_result_count: number;
37
+ error_count: number;
38
+ errors: string[];
39
+ }
40
+ /** Node-level events (domain-enriched from ts-edge events) */
41
+ export interface NodeStartEvent extends BaseEvent {
42
+ type: "NODE_START";
43
+ node_id: string;
44
+ node_type: "ASSERTION" | "HTTP_REQUEST" | "WAIT";
45
+ }
46
+ export interface NodeEndEvent extends BaseEvent {
47
+ type: "NODE_END";
48
+ node_id: string;
49
+ node_type: "ASSERTION" | "HTTP_REQUEST" | "WAIT";
50
+ success: boolean;
51
+ duration_ms: number;
52
+ error?: string;
53
+ }
54
+ /** HTTP-specific events (for endpoint nodes) */
55
+ export interface HttpRequestEvent extends BaseEvent {
56
+ type: "HTTP_REQUEST";
57
+ node_id: string;
58
+ attempt: number;
59
+ method: string;
60
+ url: string;
61
+ headers?: Record<string, string>;
62
+ has_body: boolean;
63
+ }
64
+ export interface HttpResponseEvent extends BaseEvent {
65
+ type: "HTTP_RESPONSE";
66
+ node_id: string;
67
+ attempt: number;
68
+ status: number;
69
+ status_text: string;
70
+ duration_ms: number;
71
+ has_body: boolean;
72
+ }
73
+ export interface HttpRetryEvent extends BaseEvent {
74
+ type: "HTTP_RETRY";
75
+ node_id: string;
76
+ attempt: number;
77
+ max_attempts: number;
78
+ reason: string;
79
+ next_retry_delay_ms?: number;
80
+ }
81
+ /** Assertion events */
82
+ export interface AssertionResultEvent extends BaseEvent {
83
+ type: "ASSERTION_RESULT";
84
+ node_id: string;
85
+ assertion_index: number;
86
+ passed: boolean;
87
+ message: string;
88
+ }
89
+ /** Wait events */
90
+ export interface WaitStartEvent extends BaseEvent {
91
+ type: "WAIT_START";
92
+ node_id: string;
93
+ duration_ms: number;
94
+ }
95
+ /** Streaming/progress events from nodes */
96
+ export interface NodeStreamEvent extends BaseEvent {
97
+ type: "NODE_STREAM";
98
+ node_id: string;
99
+ chunk: string;
100
+ }
101
+ /** System/executor-level errors (not node failures) */
102
+ export interface ErrorEvent extends BaseEvent {
103
+ type: "ERROR";
104
+ error_name: string;
105
+ message: string;
106
+ context?: string;
107
+ /** Only included in local/development mode */
108
+ stack?: string;
109
+ }
110
+ /** Union type of all execution events */
111
+ export type ExecutionEvent = MonitorStartEvent | MonitorEndEvent | NodeStartEvent | NodeEndEvent | HttpRequestEvent | HttpResponseEvent | HttpRetryEvent | AssertionResultEvent | WaitStartEvent | NodeStreamEvent | ErrorEvent;
112
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Event types for test monitor execution.
3
+ *
4
+ * All events are JSON-serializable for compatibility with various event buses.
5
+ * Events include stable identifiers (executionId, eventId) and monotonic sequence
6
+ * numbers for deduplication and ordering.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,4 @@
1
+ import { MonitorV1 } from "@griffin-app/griffin-hub-sdk";
2
+ import type { ExecutionOptions, ExecutionResult } from "./types.js";
3
+ export declare function executeMonitorV1(monitor: MonitorV1, organizationId: string, options: ExecutionOptions): Promise<ExecutionResult>;
4
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,EAGV,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAMhB,MAAM,YAAY,CAAC;AAuTpB,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,SAAS,EAClB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CA6M1B"}