@ironflow/core 0.1.0-test.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.
Files changed (70) hide show
  1. package/README.md +60 -0
  2. package/dist/constants.d.ts +219 -0
  3. package/dist/constants.d.ts.map +1 -0
  4. package/dist/constants.js +233 -0
  5. package/dist/constants.js.map +1 -0
  6. package/dist/errors.d.ts +140 -0
  7. package/dist/errors.d.ts.map +1 -0
  8. package/dist/errors.js +205 -0
  9. package/dist/errors.js.map +1 -0
  10. package/dist/gen/index.d.ts +7 -0
  11. package/dist/gen/index.d.ts.map +1 -0
  12. package/dist/gen/index.js +7 -0
  13. package/dist/gen/index.js.map +1 -0
  14. package/dist/gen/ironflow/v1/index.d.ts +13 -0
  15. package/dist/gen/ironflow/v1/index.d.ts.map +1 -0
  16. package/dist/gen/ironflow/v1/index.js +15 -0
  17. package/dist/gen/ironflow/v1/index.js.map +1 -0
  18. package/dist/gen/ironflow/v1/ironflow_connect.d.ts +209 -0
  19. package/dist/gen/ironflow/v1/ironflow_connect.d.ts.map +1 -0
  20. package/dist/gen/ironflow/v1/ironflow_connect.js +216 -0
  21. package/dist/gen/ironflow/v1/ironflow_connect.js.map +1 -0
  22. package/dist/gen/ironflow/v1/ironflow_pb.d.ts +814 -0
  23. package/dist/gen/ironflow/v1/ironflow_pb.d.ts.map +1 -0
  24. package/dist/gen/ironflow/v1/ironflow_pb.js +157 -0
  25. package/dist/gen/ironflow/v1/ironflow_pb.js.map +1 -0
  26. package/dist/gen/ironflow/v1/pubsub_connect.d.ts +104 -0
  27. package/dist/gen/ironflow/v1/pubsub_connect.d.ts.map +1 -0
  28. package/dist/gen/ironflow/v1/pubsub_connect.js +110 -0
  29. package/dist/gen/ironflow/v1/pubsub_connect.js.map +1 -0
  30. package/dist/gen/ironflow/v1/pubsub_pb.d.ts +814 -0
  31. package/dist/gen/ironflow/v1/pubsub_pb.d.ts.map +1 -0
  32. package/dist/gen/ironflow/v1/pubsub_pb.js +202 -0
  33. package/dist/gen/ironflow/v1/pubsub_pb.js.map +1 -0
  34. package/dist/gen/ironflow/v1/types_pb.d.ts +698 -0
  35. package/dist/gen/ironflow/v1/types_pb.d.ts.map +1 -0
  36. package/dist/gen/ironflow/v1/types_pb.js +217 -0
  37. package/dist/gen/ironflow/v1/types_pb.js.map +1 -0
  38. package/dist/gen/ironflow/v1/worker_connect.d.ts +20 -0
  39. package/dist/gen/ironflow/v1/worker_connect.d.ts.map +1 -0
  40. package/dist/gen/ironflow/v1/worker_connect.js +26 -0
  41. package/dist/gen/ironflow/v1/worker_connect.js.map +1 -0
  42. package/dist/gen/ironflow/v1/worker_pb.d.ts +685 -0
  43. package/dist/gen/ironflow/v1/worker_pb.d.ts.map +1 -0
  44. package/dist/gen/ironflow/v1/worker_pb.js +135 -0
  45. package/dist/gen/ironflow/v1/worker_pb.js.map +1 -0
  46. package/dist/index.d.ts +19 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +51 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/logger.d.ts +26 -0
  51. package/dist/logger.d.ts.map +1 -0
  52. package/dist/logger.js +78 -0
  53. package/dist/logger.js.map +1 -0
  54. package/dist/protocol.d.ts +250 -0
  55. package/dist/protocol.d.ts.map +1 -0
  56. package/dist/protocol.js +34 -0
  57. package/dist/protocol.js.map +1 -0
  58. package/dist/schemas.d.ts +394 -0
  59. package/dist/schemas.d.ts.map +1 -0
  60. package/dist/schemas.js +268 -0
  61. package/dist/schemas.js.map +1 -0
  62. package/dist/types.d.ts +577 -0
  63. package/dist/types.d.ts.map +1 -0
  64. package/dist/types.js +49 -0
  65. package/dist/types.js.map +1 -0
  66. package/dist/utils.d.ts +60 -0
  67. package/dist/utils.d.ts.map +1 -0
  68. package/dist/utils.js +109 -0
  69. package/dist/utils.js.map +1 -0
  70. package/package.json +78 -0
@@ -0,0 +1,394 @@
1
+ /**
2
+ * Zod Schemas for Runtime Validation
3
+ *
4
+ * These schemas validate incoming data from external sources (API responses,
5
+ * WebSocket messages, webhook payloads) to ensure type safety at runtime.
6
+ */
7
+ import { z } from "zod";
8
+ export declare const RunStatusSchema: z.ZodEnum<{
9
+ completed: "completed";
10
+ failed: "failed";
11
+ pending: "pending";
12
+ running: "running";
13
+ cancelled: "cancelled";
14
+ paused: "paused";
15
+ }>;
16
+ export declare const CompletedStepSchema: z.ZodObject<{
17
+ id: z.ZodString;
18
+ name: z.ZodString;
19
+ status: z.ZodEnum<{
20
+ completed: "completed";
21
+ failed: "failed";
22
+ }>;
23
+ output: z.ZodOptional<z.ZodUnknown>;
24
+ error: z.ZodOptional<z.ZodString>;
25
+ }, z.core.$strip>;
26
+ export declare const ResumeContextSchema: z.ZodObject<{
27
+ step_id: z.ZodString;
28
+ type: z.ZodEnum<{
29
+ sleep: "sleep";
30
+ wait_for_event: "wait_for_event";
31
+ }>;
32
+ data: z.ZodOptional<z.ZodUnknown>;
33
+ }, z.core.$strip>;
34
+ export declare const PushRequestEventSchema: z.ZodObject<{
35
+ id: z.ZodString;
36
+ name: z.ZodString;
37
+ data: z.ZodUnknown;
38
+ timestamp: z.ZodString;
39
+ idempotency_key: z.ZodOptional<z.ZodString>;
40
+ source: z.ZodOptional<z.ZodString>;
41
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
42
+ }, z.core.$strip>;
43
+ export declare const PushRequestSchema: z.ZodObject<{
44
+ run_id: z.ZodString;
45
+ function_id: z.ZodString;
46
+ attempt: z.ZodNumber;
47
+ event: z.ZodObject<{
48
+ id: z.ZodString;
49
+ name: z.ZodString;
50
+ data: z.ZodUnknown;
51
+ timestamp: z.ZodString;
52
+ idempotency_key: z.ZodOptional<z.ZodString>;
53
+ source: z.ZodOptional<z.ZodString>;
54
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
55
+ }, z.core.$strip>;
56
+ steps: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
57
+ id: z.ZodString;
58
+ name: z.ZodString;
59
+ status: z.ZodEnum<{
60
+ completed: "completed";
61
+ failed: "failed";
62
+ }>;
63
+ output: z.ZodOptional<z.ZodUnknown>;
64
+ error: z.ZodOptional<z.ZodString>;
65
+ }, z.core.$strip>>>>, z.ZodTransform<{
66
+ id: string;
67
+ name: string;
68
+ status: "completed" | "failed";
69
+ output?: unknown;
70
+ error?: string | undefined;
71
+ }[], {
72
+ id: string;
73
+ name: string;
74
+ status: "completed" | "failed";
75
+ output?: unknown;
76
+ error?: string | undefined;
77
+ }[] | null | undefined>>;
78
+ resume: z.ZodOptional<z.ZodObject<{
79
+ step_id: z.ZodString;
80
+ type: z.ZodEnum<{
81
+ sleep: "sleep";
82
+ wait_for_event: "wait_for_event";
83
+ }>;
84
+ data: z.ZodOptional<z.ZodUnknown>;
85
+ }, z.core.$strip>>;
86
+ }, z.core.$strip>;
87
+ export declare const TriggerResponseSchema: z.ZodObject<{
88
+ runIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
89
+ eventId: z.ZodString;
90
+ }, z.core.$strip>;
91
+ export declare const TriggerSyncResultItemSchema: z.ZodObject<{
92
+ runId: z.ZodString;
93
+ functionId: z.ZodString;
94
+ status: z.ZodString;
95
+ output: z.ZodOptional<z.ZodUnknown>;
96
+ error: z.ZodOptional<z.ZodObject<{
97
+ message: z.ZodString;
98
+ code: z.ZodOptional<z.ZodString>;
99
+ }, z.core.$strip>>;
100
+ durationMs: z.ZodNumber;
101
+ }, z.core.$strip>;
102
+ export declare const TriggerSyncResponseSchema: z.ZodObject<{
103
+ results: z.ZodOptional<z.ZodArray<z.ZodObject<{
104
+ runId: z.ZodString;
105
+ functionId: z.ZodString;
106
+ status: z.ZodString;
107
+ output: z.ZodOptional<z.ZodUnknown>;
108
+ error: z.ZodOptional<z.ZodObject<{
109
+ message: z.ZodString;
110
+ code: z.ZodOptional<z.ZodString>;
111
+ }, z.core.$strip>>;
112
+ durationMs: z.ZodNumber;
113
+ }, z.core.$strip>>>;
114
+ eventId: z.ZodString;
115
+ }, z.core.$strip>;
116
+ export declare const RunResponseSchema: z.ZodObject<{
117
+ id: z.ZodString;
118
+ functionId: z.ZodString;
119
+ eventId: z.ZodString;
120
+ executionMode: z.ZodOptional<z.ZodString>;
121
+ workerId: z.ZodOptional<z.ZodString>;
122
+ actorId: z.ZodOptional<z.ZodString>;
123
+ status: z.ZodString;
124
+ attempt: z.ZodNumber;
125
+ maxAttempts: z.ZodNumber;
126
+ input: z.ZodOptional<z.ZodUnknown>;
127
+ output: z.ZodOptional<z.ZodUnknown>;
128
+ error: z.ZodOptional<z.ZodObject<{
129
+ message: z.ZodString;
130
+ code: z.ZodOptional<z.ZodString>;
131
+ }, z.core.$strip>>;
132
+ startedAt: z.ZodOptional<z.ZodString>;
133
+ endedAt: z.ZodOptional<z.ZodString>;
134
+ concurrencyKey: z.ZodOptional<z.ZodString>;
135
+ priority: z.ZodOptional<z.ZodNumber>;
136
+ createdAt: z.ZodString;
137
+ updatedAt: z.ZodString;
138
+ }, z.core.$strip>;
139
+ export declare const ListRunsResponseSchema: z.ZodObject<{
140
+ runs: z.ZodOptional<z.ZodArray<z.ZodObject<{
141
+ id: z.ZodString;
142
+ functionId: z.ZodString;
143
+ eventId: z.ZodString;
144
+ executionMode: z.ZodOptional<z.ZodString>;
145
+ workerId: z.ZodOptional<z.ZodString>;
146
+ actorId: z.ZodOptional<z.ZodString>;
147
+ status: z.ZodString;
148
+ attempt: z.ZodNumber;
149
+ maxAttempts: z.ZodNumber;
150
+ input: z.ZodOptional<z.ZodUnknown>;
151
+ output: z.ZodOptional<z.ZodUnknown>;
152
+ error: z.ZodOptional<z.ZodObject<{
153
+ message: z.ZodString;
154
+ code: z.ZodOptional<z.ZodString>;
155
+ }, z.core.$strip>>;
156
+ startedAt: z.ZodOptional<z.ZodString>;
157
+ endedAt: z.ZodOptional<z.ZodString>;
158
+ concurrencyKey: z.ZodOptional<z.ZodString>;
159
+ priority: z.ZodOptional<z.ZodNumber>;
160
+ createdAt: z.ZodString;
161
+ updatedAt: z.ZodString;
162
+ }, z.core.$strip>>>;
163
+ nextCursor: z.ZodOptional<z.ZodString>;
164
+ totalCount: z.ZodOptional<z.ZodNumber>;
165
+ }, z.core.$strip>;
166
+ export declare const RegisterFunctionResponseSchema: z.ZodObject<{
167
+ created: z.ZodOptional<z.ZodBoolean>;
168
+ }, z.core.$strip>;
169
+ export declare const HealthResponseSchema: z.ZodObject<{
170
+ status: z.ZodString;
171
+ }, z.core.$strip>;
172
+ export declare const ErrorResponseSchema: z.ZodObject<{
173
+ code: z.ZodOptional<z.ZodString>;
174
+ message: z.ZodOptional<z.ZodString>;
175
+ }, z.core.$strip>;
176
+ export declare const EmptyResponseSchema: z.ZodObject<{}, z.core.$strip>;
177
+ export declare const AckModeSchema: z.ZodEnum<{
178
+ ACK_MODE_AUTO: "ACK_MODE_AUTO";
179
+ ACK_MODE_MANUAL: "ACK_MODE_MANUAL";
180
+ ACK_MODE_UNSPECIFIED: "ACK_MODE_UNSPECIFIED";
181
+ }>;
182
+ export declare const BackpressureModeSchema: z.ZodEnum<{
183
+ BACKPRESSURE_MODE_DROP: "BACKPRESSURE_MODE_DROP";
184
+ BACKPRESSURE_MODE_BLOCK: "BACKPRESSURE_MODE_BLOCK";
185
+ BACKPRESSURE_MODE_BUFFER: "BACKPRESSURE_MODE_BUFFER";
186
+ BACKPRESSURE_MODE_UNSPECIFIED: "BACKPRESSURE_MODE_UNSPECIFIED";
187
+ }>;
188
+ export declare const ConsumerGroupStatusSchema: z.ZodEnum<{
189
+ CONSUMER_GROUP_STATUS_ACTIVE: "CONSUMER_GROUP_STATUS_ACTIVE";
190
+ CONSUMER_GROUP_STATUS_PAUSED: "CONSUMER_GROUP_STATUS_PAUSED";
191
+ CONSUMER_GROUP_STATUS_DELETED: "CONSUMER_GROUP_STATUS_DELETED";
192
+ CONSUMER_GROUP_STATUS_UNSPECIFIED: "CONSUMER_GROUP_STATUS_UNSPECIFIED";
193
+ }>;
194
+ export declare const ConsumerGroupResponseSchema: z.ZodObject<{
195
+ id: z.ZodString;
196
+ namespace: z.ZodString;
197
+ name: z.ZodString;
198
+ pattern: z.ZodString;
199
+ filterExpr: z.ZodOptional<z.ZodString>;
200
+ ackMode: z.ZodOptional<z.ZodEnum<{
201
+ ACK_MODE_AUTO: "ACK_MODE_AUTO";
202
+ ACK_MODE_MANUAL: "ACK_MODE_MANUAL";
203
+ ACK_MODE_UNSPECIFIED: "ACK_MODE_UNSPECIFIED";
204
+ }>>;
205
+ backpressure: z.ZodOptional<z.ZodEnum<{
206
+ BACKPRESSURE_MODE_DROP: "BACKPRESSURE_MODE_DROP";
207
+ BACKPRESSURE_MODE_BLOCK: "BACKPRESSURE_MODE_BLOCK";
208
+ BACKPRESSURE_MODE_BUFFER: "BACKPRESSURE_MODE_BUFFER";
209
+ BACKPRESSURE_MODE_UNSPECIFIED: "BACKPRESSURE_MODE_UNSPECIFIED";
210
+ }>>;
211
+ maxInflight: z.ZodOptional<z.ZodNumber>;
212
+ maxRedeliveries: z.ZodOptional<z.ZodNumber>;
213
+ redeliverDelayMs: z.ZodOptional<z.ZodNumber>;
214
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
215
+ status: z.ZodOptional<z.ZodEnum<{
216
+ CONSUMER_GROUP_STATUS_ACTIVE: "CONSUMER_GROUP_STATUS_ACTIVE";
217
+ CONSUMER_GROUP_STATUS_PAUSED: "CONSUMER_GROUP_STATUS_PAUSED";
218
+ CONSUMER_GROUP_STATUS_DELETED: "CONSUMER_GROUP_STATUS_DELETED";
219
+ CONSUMER_GROUP_STATUS_UNSPECIFIED: "CONSUMER_GROUP_STATUS_UNSPECIFIED";
220
+ }>>;
221
+ memberCount: z.ZodOptional<z.ZodNumber>;
222
+ createdAt: z.ZodOptional<z.ZodString>;
223
+ updatedAt: z.ZodOptional<z.ZodString>;
224
+ }, z.core.$strip>;
225
+ export declare const ListConsumerGroupsResponseSchema: z.ZodObject<{
226
+ groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
227
+ id: z.ZodString;
228
+ namespace: z.ZodString;
229
+ name: z.ZodString;
230
+ pattern: z.ZodString;
231
+ filterExpr: z.ZodOptional<z.ZodString>;
232
+ ackMode: z.ZodOptional<z.ZodEnum<{
233
+ ACK_MODE_AUTO: "ACK_MODE_AUTO";
234
+ ACK_MODE_MANUAL: "ACK_MODE_MANUAL";
235
+ ACK_MODE_UNSPECIFIED: "ACK_MODE_UNSPECIFIED";
236
+ }>>;
237
+ backpressure: z.ZodOptional<z.ZodEnum<{
238
+ BACKPRESSURE_MODE_DROP: "BACKPRESSURE_MODE_DROP";
239
+ BACKPRESSURE_MODE_BLOCK: "BACKPRESSURE_MODE_BLOCK";
240
+ BACKPRESSURE_MODE_BUFFER: "BACKPRESSURE_MODE_BUFFER";
241
+ BACKPRESSURE_MODE_UNSPECIFIED: "BACKPRESSURE_MODE_UNSPECIFIED";
242
+ }>>;
243
+ maxInflight: z.ZodOptional<z.ZodNumber>;
244
+ maxRedeliveries: z.ZodOptional<z.ZodNumber>;
245
+ redeliverDelayMs: z.ZodOptional<z.ZodNumber>;
246
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
247
+ status: z.ZodOptional<z.ZodEnum<{
248
+ CONSUMER_GROUP_STATUS_ACTIVE: "CONSUMER_GROUP_STATUS_ACTIVE";
249
+ CONSUMER_GROUP_STATUS_PAUSED: "CONSUMER_GROUP_STATUS_PAUSED";
250
+ CONSUMER_GROUP_STATUS_DELETED: "CONSUMER_GROUP_STATUS_DELETED";
251
+ CONSUMER_GROUP_STATUS_UNSPECIFIED: "CONSUMER_GROUP_STATUS_UNSPECIFIED";
252
+ }>>;
253
+ memberCount: z.ZodOptional<z.ZodNumber>;
254
+ createdAt: z.ZodOptional<z.ZodString>;
255
+ updatedAt: z.ZodOptional<z.ZodString>;
256
+ }, z.core.$strip>>>;
257
+ nextCursor: z.ZodOptional<z.ZodString>;
258
+ totalCount: z.ZodOptional<z.ZodNumber>;
259
+ }, z.core.$strip>;
260
+ export declare const JobCompletedStepSchema: z.ZodObject<{
261
+ step_id: z.ZodString;
262
+ name: z.ZodString;
263
+ output: z.ZodUnknown;
264
+ }, z.core.$strip>;
265
+ export declare const JobEventSchema: z.ZodObject<{
266
+ id: z.ZodString;
267
+ name: z.ZodString;
268
+ data: z.ZodUnknown;
269
+ timestamp: z.ZodString;
270
+ }, z.core.$strip>;
271
+ export declare const JobContextSchema: z.ZodObject<{
272
+ trace_id: z.ZodOptional<z.ZodString>;
273
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
274
+ }, z.core.$strip>;
275
+ export declare const JobAssignmentSchema: z.ZodObject<{
276
+ job_id: z.ZodString;
277
+ run_id: z.ZodString;
278
+ function_id: z.ZodString;
279
+ attempt: z.ZodNumber;
280
+ event: z.ZodObject<{
281
+ id: z.ZodString;
282
+ name: z.ZodString;
283
+ data: z.ZodUnknown;
284
+ timestamp: z.ZodString;
285
+ }, z.core.$strip>;
286
+ completed_steps: z.ZodArray<z.ZodObject<{
287
+ step_id: z.ZodString;
288
+ name: z.ZodString;
289
+ output: z.ZodUnknown;
290
+ }, z.core.$strip>>;
291
+ actor_id: z.ZodOptional<z.ZodString>;
292
+ context: z.ZodOptional<z.ZodObject<{
293
+ trace_id: z.ZodOptional<z.ZodString>;
294
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
295
+ }, z.core.$strip>>;
296
+ }, z.core.$strip>;
297
+ export declare const EventMetadataSchema: z.ZodObject<{
298
+ timestamp: z.ZodString;
299
+ sequence: z.ZodOptional<z.ZodNumber>;
300
+ }, z.core.$strip>;
301
+ export declare const WSSubscriptionResultItemSchema: z.ZodObject<{
302
+ pattern: z.ZodString;
303
+ status: z.ZodEnum<{
304
+ error: "error";
305
+ ok: "ok";
306
+ }>;
307
+ subscriptionId: z.ZodOptional<z.ZodString>;
308
+ code: z.ZodOptional<z.ZodString>;
309
+ message: z.ZodOptional<z.ZodString>;
310
+ }, z.core.$strip>;
311
+ export declare const WSSubscriptionResultSchema: z.ZodObject<{
312
+ type: z.ZodLiteral<"subscription_result">;
313
+ results: z.ZodArray<z.ZodObject<{
314
+ pattern: z.ZodString;
315
+ status: z.ZodEnum<{
316
+ error: "error";
317
+ ok: "ok";
318
+ }>;
319
+ subscriptionId: z.ZodOptional<z.ZodString>;
320
+ code: z.ZodOptional<z.ZodString>;
321
+ message: z.ZodOptional<z.ZodString>;
322
+ }, z.core.$strip>>;
323
+ }, z.core.$strip>;
324
+ export declare const WSEventMessageSchema: z.ZodObject<{
325
+ type: z.ZodLiteral<"event">;
326
+ subscriptionId: z.ZodString;
327
+ topic: z.ZodString;
328
+ data: z.ZodUnknown;
329
+ meta: z.ZodOptional<z.ZodObject<{
330
+ timestamp: z.ZodString;
331
+ sequence: z.ZodOptional<z.ZodNumber>;
332
+ }, z.core.$strip>>;
333
+ eventId: z.ZodOptional<z.ZodString>;
334
+ }, z.core.$strip>;
335
+ export declare const WSSubscriptionErrorSchema: z.ZodObject<{
336
+ type: z.ZodLiteral<"subscription_error">;
337
+ subscriptionId: z.ZodString;
338
+ code: z.ZodString;
339
+ message: z.ZodString;
340
+ retrying: z.ZodBoolean;
341
+ }, z.core.$strip>;
342
+ export declare const WSErrorSchema: z.ZodObject<{
343
+ type: z.ZodLiteral<"error">;
344
+ code: z.ZodString;
345
+ message: z.ZodString;
346
+ }, z.core.$strip>;
347
+ export declare const WSServerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
348
+ type: z.ZodLiteral<"subscription_result">;
349
+ results: z.ZodArray<z.ZodObject<{
350
+ pattern: z.ZodString;
351
+ status: z.ZodEnum<{
352
+ error: "error";
353
+ ok: "ok";
354
+ }>;
355
+ subscriptionId: z.ZodOptional<z.ZodString>;
356
+ code: z.ZodOptional<z.ZodString>;
357
+ message: z.ZodOptional<z.ZodString>;
358
+ }, z.core.$strip>>;
359
+ }, z.core.$strip>, z.ZodObject<{
360
+ type: z.ZodLiteral<"event">;
361
+ subscriptionId: z.ZodString;
362
+ topic: z.ZodString;
363
+ data: z.ZodUnknown;
364
+ meta: z.ZodOptional<z.ZodObject<{
365
+ timestamp: z.ZodString;
366
+ sequence: z.ZodOptional<z.ZodNumber>;
367
+ }, z.core.$strip>>;
368
+ eventId: z.ZodOptional<z.ZodString>;
369
+ }, z.core.$strip>, z.ZodObject<{
370
+ type: z.ZodLiteral<"subscription_error">;
371
+ subscriptionId: z.ZodString;
372
+ code: z.ZodString;
373
+ message: z.ZodString;
374
+ retrying: z.ZodBoolean;
375
+ }, z.core.$strip>, z.ZodObject<{
376
+ type: z.ZodLiteral<"error">;
377
+ code: z.ZodString;
378
+ message: z.ZodString;
379
+ }, z.core.$strip>], "type">;
380
+ export type ValidatedPushRequest = z.infer<typeof PushRequestSchema>;
381
+ export type ValidatedRunResponse = z.infer<typeof RunResponseSchema>;
382
+ export type ValidatedJobAssignment = z.infer<typeof JobAssignmentSchema>;
383
+ export type ValidatedWSServerMessage = z.infer<typeof WSServerMessageSchema>;
384
+ /**
385
+ * Safely parse JSON and validate against a schema
386
+ * @throws {SchemaValidationError} if parsing or validation fails
387
+ */
388
+ export declare function parseAndValidate<T>(schema: z.ZodType<T>, data: string, context: string): T;
389
+ /**
390
+ * Validate data against a schema (already parsed)
391
+ * @throws {SchemaValidationError} if validation fails
392
+ */
393
+ export declare function validate<T>(schema: z.ZodType<T>, data: unknown, context: string): T;
394
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,eAAe;;;;;;;EAO1B,CAAC;AAMH,eAAO,MAAM,mBAAmB;;;;;;;;;iBAM9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;iBAI9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;iBAQjC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU5B,CAAC;AAMH,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;iBAYtC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;iBAGpC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;iBAwB5B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIjC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;iBAEzC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,eAAO,MAAM,mBAAmB,gCAAe,CAAC;AAMhD,eAAO,MAAM,aAAa;;;;EAAuE,CAAC;AAElG,eAAO,MAAM,sBAAsB;;;;;EAKjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;EAKpC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgBtC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI3C,CAAC;AAMH,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;iBAKzB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;iBAS9B,CAAC;AAMH,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;iBAMzC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;iBAGrC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;iBAO/B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;iBAMpC,CAAC;AAEH,eAAO,MAAM,aAAa;;;;iBAIxB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAKhC,CAAC;AAMH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACrE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACrE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACzE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAQ7E;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,CAAC,CAoBH;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,GACd,CAAC,CAaH"}
@@ -0,0 +1,268 @@
1
+ /**
2
+ * Zod Schemas for Runtime Validation
3
+ *
4
+ * These schemas validate incoming data from external sources (API responses,
5
+ * WebSocket messages, webhook payloads) to ensure type safety at runtime.
6
+ */
7
+ import { z } from "zod";
8
+ // ============================================================================
9
+ // Run Status
10
+ // ============================================================================
11
+ export const RunStatusSchema = z.enum([
12
+ "pending",
13
+ "running",
14
+ "completed",
15
+ "failed",
16
+ "cancelled",
17
+ "paused",
18
+ ]);
19
+ // ============================================================================
20
+ // Push Request (serve.ts)
21
+ // ============================================================================
22
+ export const CompletedStepSchema = z.object({
23
+ id: z.string(),
24
+ name: z.string(),
25
+ status: z.enum(["completed", "failed"]),
26
+ output: z.unknown().optional(),
27
+ error: z.string().optional(),
28
+ });
29
+ export const ResumeContextSchema = z.object({
30
+ step_id: z.string(),
31
+ type: z.enum(["sleep", "wait_for_event"]),
32
+ data: z.unknown().optional(),
33
+ });
34
+ export const PushRequestEventSchema = z.object({
35
+ id: z.string(),
36
+ name: z.string(),
37
+ data: z.unknown(),
38
+ timestamp: z.string(),
39
+ idempotency_key: z.string().optional(),
40
+ source: z.string().optional(),
41
+ metadata: z.record(z.string(), z.unknown()).optional(),
42
+ });
43
+ export const PushRequestSchema = z.object({
44
+ run_id: z.string(),
45
+ function_id: z.string(),
46
+ attempt: z.number(),
47
+ event: PushRequestEventSchema,
48
+ steps: z
49
+ .array(CompletedStepSchema)
50
+ .nullish()
51
+ .transform((v) => v ?? []),
52
+ resume: ResumeContextSchema.optional(),
53
+ });
54
+ // ============================================================================
55
+ // Client API Responses (client.ts)
56
+ // ============================================================================
57
+ export const TriggerResponseSchema = z.object({
58
+ runIds: z.array(z.string()).optional(),
59
+ eventId: z.string(),
60
+ });
61
+ export const TriggerSyncResultItemSchema = z.object({
62
+ runId: z.string(),
63
+ functionId: z.string(),
64
+ status: z.string(),
65
+ output: z.unknown().optional(),
66
+ error: z
67
+ .object({
68
+ message: z.string(),
69
+ code: z.string().optional(),
70
+ })
71
+ .optional(),
72
+ durationMs: z.number(),
73
+ });
74
+ export const TriggerSyncResponseSchema = z.object({
75
+ results: z.array(TriggerSyncResultItemSchema).optional(),
76
+ eventId: z.string(),
77
+ });
78
+ export const RunResponseSchema = z.object({
79
+ id: z.string(),
80
+ functionId: z.string(),
81
+ eventId: z.string(),
82
+ executionMode: z.string().optional(),
83
+ workerId: z.string().optional(),
84
+ actorId: z.string().optional(),
85
+ status: z.string(),
86
+ attempt: z.number(),
87
+ maxAttempts: z.number(),
88
+ input: z.unknown().optional(),
89
+ output: z.unknown().optional(),
90
+ error: z
91
+ .object({
92
+ message: z.string(),
93
+ code: z.string().optional(),
94
+ })
95
+ .optional(),
96
+ startedAt: z.string().optional(),
97
+ endedAt: z.string().optional(),
98
+ concurrencyKey: z.string().optional(),
99
+ priority: z.number().optional(),
100
+ createdAt: z.string(),
101
+ updatedAt: z.string(),
102
+ });
103
+ export const ListRunsResponseSchema = z.object({
104
+ runs: z.array(RunResponseSchema).optional(),
105
+ nextCursor: z.string().optional(),
106
+ totalCount: z.number().optional(),
107
+ });
108
+ export const RegisterFunctionResponseSchema = z.object({
109
+ created: z.boolean().optional(),
110
+ });
111
+ export const HealthResponseSchema = z.object({
112
+ status: z.string(),
113
+ });
114
+ export const ErrorResponseSchema = z.object({
115
+ code: z.string().optional(),
116
+ message: z.string().optional(),
117
+ });
118
+ export const EmptyResponseSchema = z.object({});
119
+ // ============================================================================
120
+ // Consumer Group Responses
121
+ // ============================================================================
122
+ export const AckModeSchema = z.enum(["ACK_MODE_AUTO", "ACK_MODE_MANUAL", "ACK_MODE_UNSPECIFIED"]);
123
+ export const BackpressureModeSchema = z.enum([
124
+ "BACKPRESSURE_MODE_DROP",
125
+ "BACKPRESSURE_MODE_BLOCK",
126
+ "BACKPRESSURE_MODE_BUFFER",
127
+ "BACKPRESSURE_MODE_UNSPECIFIED",
128
+ ]);
129
+ export const ConsumerGroupStatusSchema = z.enum([
130
+ "CONSUMER_GROUP_STATUS_ACTIVE",
131
+ "CONSUMER_GROUP_STATUS_PAUSED",
132
+ "CONSUMER_GROUP_STATUS_DELETED",
133
+ "CONSUMER_GROUP_STATUS_UNSPECIFIED",
134
+ ]);
135
+ export const ConsumerGroupResponseSchema = z.object({
136
+ id: z.string(),
137
+ namespace: z.string(),
138
+ name: z.string(),
139
+ pattern: z.string(),
140
+ filterExpr: z.string().optional(),
141
+ ackMode: AckModeSchema.optional(),
142
+ backpressure: BackpressureModeSchema.optional(),
143
+ maxInflight: z.number().optional(),
144
+ maxRedeliveries: z.number().optional(),
145
+ redeliverDelayMs: z.number().optional(),
146
+ metadata: z.record(z.string(), z.unknown()).optional(),
147
+ status: ConsumerGroupStatusSchema.optional(),
148
+ memberCount: z.number().optional(),
149
+ createdAt: z.string().optional(),
150
+ updatedAt: z.string().optional(),
151
+ });
152
+ export const ListConsumerGroupsResponseSchema = z.object({
153
+ groups: z.array(ConsumerGroupResponseSchema).optional(),
154
+ nextCursor: z.string().optional(),
155
+ totalCount: z.number().optional(),
156
+ });
157
+ // ============================================================================
158
+ // Worker Job Assignment (worker.ts)
159
+ // ============================================================================
160
+ export const JobCompletedStepSchema = z.object({
161
+ step_id: z.string(),
162
+ name: z.string(),
163
+ output: z.unknown(),
164
+ });
165
+ export const JobEventSchema = z.object({
166
+ id: z.string(),
167
+ name: z.string(),
168
+ data: z.unknown(),
169
+ timestamp: z.string(),
170
+ });
171
+ export const JobContextSchema = z.object({
172
+ trace_id: z.string().optional(),
173
+ metadata: z.record(z.string(), z.string()).optional(),
174
+ });
175
+ export const JobAssignmentSchema = z.object({
176
+ job_id: z.string(),
177
+ run_id: z.string(),
178
+ function_id: z.string(),
179
+ attempt: z.number(),
180
+ event: JobEventSchema,
181
+ completed_steps: z.array(JobCompletedStepSchema),
182
+ actor_id: z.string().optional(),
183
+ context: JobContextSchema.optional(),
184
+ });
185
+ // ============================================================================
186
+ // WebSocket Messages (subscribe.ts)
187
+ // ============================================================================
188
+ export const EventMetadataSchema = z.object({
189
+ timestamp: z.string(),
190
+ sequence: z.number().optional(),
191
+ });
192
+ export const WSSubscriptionResultItemSchema = z.object({
193
+ pattern: z.string(),
194
+ status: z.enum(["ok", "error"]),
195
+ subscriptionId: z.string().optional(),
196
+ code: z.string().optional(),
197
+ message: z.string().optional(),
198
+ });
199
+ export const WSSubscriptionResultSchema = z.object({
200
+ type: z.literal("subscription_result"),
201
+ results: z.array(WSSubscriptionResultItemSchema),
202
+ });
203
+ export const WSEventMessageSchema = z.object({
204
+ type: z.literal("event"),
205
+ subscriptionId: z.string(),
206
+ topic: z.string(),
207
+ data: z.unknown(),
208
+ meta: EventMetadataSchema.optional(),
209
+ eventId: z.string().optional(),
210
+ });
211
+ export const WSSubscriptionErrorSchema = z.object({
212
+ type: z.literal("subscription_error"),
213
+ subscriptionId: z.string(),
214
+ code: z.string(),
215
+ message: z.string(),
216
+ retrying: z.boolean(),
217
+ });
218
+ export const WSErrorSchema = z.object({
219
+ type: z.literal("error"),
220
+ code: z.string(),
221
+ message: z.string(),
222
+ });
223
+ export const WSServerMessageSchema = z.discriminatedUnion("type", [
224
+ WSSubscriptionResultSchema,
225
+ WSEventMessageSchema,
226
+ WSSubscriptionErrorSchema,
227
+ WSErrorSchema,
228
+ ]);
229
+ // ============================================================================
230
+ // Validation Helpers
231
+ // ============================================================================
232
+ import { SchemaValidationError } from "./errors.js";
233
+ /**
234
+ * Safely parse JSON and validate against a schema
235
+ * @throws {SchemaValidationError} if parsing or validation fails
236
+ */
237
+ export function parseAndValidate(schema, data, context) {
238
+ let parsed;
239
+ try {
240
+ parsed = JSON.parse(data);
241
+ }
242
+ catch {
243
+ throw new SchemaValidationError(`Invalid JSON in ${context}`);
244
+ }
245
+ const result = schema.safeParse(parsed);
246
+ if (!result.success) {
247
+ const issues = result.error.issues
248
+ .map((i) => `${i.path.join(".")}: ${i.message}`)
249
+ .join(", ");
250
+ throw new SchemaValidationError(`Validation failed in ${context}: ${issues}`, { validationErrors: result.error.issues.map(i => `${i.path.join(".")}: ${i.message}`) });
251
+ }
252
+ return result.data;
253
+ }
254
+ /**
255
+ * Validate data against a schema (already parsed)
256
+ * @throws {SchemaValidationError} if validation fails
257
+ */
258
+ export function validate(schema, data, context) {
259
+ const result = schema.safeParse(data);
260
+ if (!result.success) {
261
+ const issues = result.error.issues
262
+ .map((i) => `${i.path.join(".")}: ${i.message}`)
263
+ .join(", ");
264
+ throw new SchemaValidationError(`Validation failed in ${context}: ${issues}`, { validationErrors: result.error.issues.map(i => `${i.path.join(".")}: ${i.message}`) });
265
+ }
266
+ return result.data;
267
+ }
268
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}