@rivet-dev/vercel-world 2.3.6

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 (81) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/README.md +31 -0
  3. package/dist/actors/coordinator.d.ts +114 -0
  4. package/dist/actors/coordinator.d.ts.map +1 -0
  5. package/dist/actors/coordinator.js +232 -0
  6. package/dist/actors/coordinator.js.map +1 -0
  7. package/dist/actors/db.d.ts +8 -0
  8. package/dist/actors/db.d.ts.map +1 -0
  9. package/dist/actors/db.js +282 -0
  10. package/dist/actors/db.js.map +1 -0
  11. package/dist/actors/dispatcher.d.ts +84 -0
  12. package/dist/actors/dispatcher.d.ts.map +1 -0
  13. package/dist/actors/dispatcher.js +498 -0
  14. package/dist/actors/dispatcher.js.map +1 -0
  15. package/dist/actors/hook-token.d.ts +26 -0
  16. package/dist/actors/hook-token.d.ts.map +1 -0
  17. package/dist/actors/hook-token.js +151 -0
  18. package/dist/actors/hook-token.js.map +1 -0
  19. package/dist/actors/shared.d.ts +366 -0
  20. package/dist/actors/shared.d.ts.map +1 -0
  21. package/dist/actors/shared.js +112 -0
  22. package/dist/actors/shared.js.map +1 -0
  23. package/dist/actors/streams.d.ts +26 -0
  24. package/dist/actors/streams.d.ts.map +1 -0
  25. package/dist/actors/streams.js +127 -0
  26. package/dist/actors/streams.js.map +1 -0
  27. package/dist/actors/workflow-run.d.ts +890 -0
  28. package/dist/actors/workflow-run.d.ts.map +1 -0
  29. package/dist/actors/workflow-run.js +863 -0
  30. package/dist/actors/workflow-run.js.map +1 -0
  31. package/dist/actors.d.ts +2204 -0
  32. package/dist/actors.d.ts.map +1 -0
  33. package/dist/actors.js +16 -0
  34. package/dist/actors.js.map +1 -0
  35. package/dist/codec.d.ts +4 -0
  36. package/dist/codec.d.ts.map +1 -0
  37. package/dist/codec.js +27 -0
  38. package/dist/codec.js.map +1 -0
  39. package/dist/index.d.ts +843 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +553 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/runtime.d.ts +2 -0
  44. package/dist/runtime.d.ts.map +1 -0
  45. package/dist/runtime.js +24 -0
  46. package/dist/runtime.js.map +1 -0
  47. package/package.json +51 -0
  48. package/scripts/conformance/run.ts +278 -0
  49. package/scripts/integration/run.ts +935 -0
  50. package/src/actors/coordinator.ts +360 -0
  51. package/src/actors/db.ts +291 -0
  52. package/src/actors/dispatcher.ts +787 -0
  53. package/src/actors/hook-token.ts +239 -0
  54. package/src/actors/shared.ts +153 -0
  55. package/src/actors/streams.ts +215 -0
  56. package/src/actors/workflow-run.ts +1466 -0
  57. package/src/actors.ts +18 -0
  58. package/src/codec.ts +28 -0
  59. package/src/index.ts +768 -0
  60. package/src/runtime.ts +29 -0
  61. package/tests/conformance.test.ts +8 -0
  62. package/tests/helpers/db.ts +62 -0
  63. package/tests/helpers/dispatcher-driver.ts +71 -0
  64. package/tests/helpers/harness.ts +161 -0
  65. package/tests/integration/crash-restart.test.ts +145 -0
  66. package/tests/integration/dispatcher-loop.test.ts +144 -0
  67. package/tests/integration/hook-token.test.ts +160 -0
  68. package/tests/integration/hooks.test.ts +123 -0
  69. package/tests/integration/streams.test.ts +178 -0
  70. package/tests/integration/workflow-events.test.ts +326 -0
  71. package/tests/setup.ts +10 -0
  72. package/tests/unit/codec.test.ts +73 -0
  73. package/tests/unit/coordinator-record.test.ts +177 -0
  74. package/tests/unit/db-migrations.test.ts +65 -0
  75. package/tests/unit/dispatcher-queue.test.ts +274 -0
  76. package/tests/unit/logging.test.ts +49 -0
  77. package/tests/unit/readiness.test.ts +102 -0
  78. package/tests/unit/transaction.test.ts +76 -0
  79. package/tsconfig.build.json +13 -0
  80. package/tsconfig.json +12 -0
  81. package/vitest.config.ts +32 -0
@@ -0,0 +1,843 @@
1
+ import { MessageId, type CreateEventParams, type CreateEventRequest, type EventResult, type GetChunksOptions, type GetEventParams, type GetHookParams, type GetStepParams, type GetWorkflowRunParams, type ListEventsByCorrelationIdParams, type ListEventsParams, type ListHooksParams, type ListWorkflowRunStepsParams, type ListWorkflowRunsParams, type QueueOptions, type QueuePayload, type QueuePrefix, type RunCreatedEventRequest, type StreamChunksResponse, type StreamInfoResponse, type ValidQueueName, type World } from "@workflow/world";
2
+ import { type Registry } from "rivetkit";
3
+ import { type Client } from "rivetkit/client";
4
+ import { registry } from "./actors.js";
5
+ export type RivetWorldConfig = {
6
+ /** The application's combined registry, including `vercelWorldActors`. */
7
+ registry?: RegistryWithReadiness;
8
+ runtimeUrl?: string;
9
+ /**
10
+ * Advanced: inject a pre-built RivetKit client (for example, a `setupTest`
11
+ * client) instead of constructing one with RivetKit's standard defaults.
12
+ */
13
+ client?: Client<typeof registry>;
14
+ };
15
+ type RegistryWithReadiness = Registry<any> & {
16
+ startAndWait(): Promise<void>;
17
+ };
18
+ export declare class RivetClientWorld {
19
+ #private;
20
+ readonly specVersion: import("@workflow/world").SpecVersion;
21
+ constructor(config?: RivetWorldConfig);
22
+ start(): Promise<void>;
23
+ runs: {
24
+ get: (id: string, params?: GetWorkflowRunParams) => Promise<{
25
+ runId: string;
26
+ deploymentId: string;
27
+ workflowName: string;
28
+ attributes: Record<string, string>;
29
+ createdAt: Date;
30
+ updatedAt: Date;
31
+ status: "pending" | "running";
32
+ specVersion?: number | undefined;
33
+ executionContext?: Record<string, any> | undefined;
34
+ input?: unknown;
35
+ errorCode?: string | undefined;
36
+ expiredAt?: Date | undefined;
37
+ startedAt?: Date | undefined;
38
+ output?: undefined;
39
+ error?: undefined;
40
+ completedAt?: undefined;
41
+ } | {
42
+ runId: string;
43
+ deploymentId: string;
44
+ workflowName: string;
45
+ attributes: Record<string, string>;
46
+ createdAt: Date;
47
+ updatedAt: Date;
48
+ status: "cancelled";
49
+ completedAt: Date;
50
+ specVersion?: number | undefined;
51
+ executionContext?: Record<string, any> | undefined;
52
+ input?: unknown;
53
+ errorCode?: string | undefined;
54
+ expiredAt?: Date | undefined;
55
+ startedAt?: Date | undefined;
56
+ output?: undefined;
57
+ error?: undefined;
58
+ } | {
59
+ runId: string;
60
+ deploymentId: string;
61
+ workflowName: string;
62
+ attributes: Record<string, string>;
63
+ createdAt: Date;
64
+ updatedAt: Date;
65
+ status: "completed";
66
+ output: unknown;
67
+ completedAt: Date;
68
+ specVersion?: number | undefined;
69
+ executionContext?: Record<string, any> | undefined;
70
+ input?: unknown;
71
+ errorCode?: string | undefined;
72
+ expiredAt?: Date | undefined;
73
+ startedAt?: Date | undefined;
74
+ error?: undefined;
75
+ } | {
76
+ runId: string;
77
+ deploymentId: string;
78
+ workflowName: string;
79
+ attributes: Record<string, string>;
80
+ createdAt: Date;
81
+ updatedAt: Date;
82
+ status: "failed";
83
+ error: unknown;
84
+ completedAt: Date;
85
+ specVersion?: number | undefined;
86
+ executionContext?: Record<string, any> | undefined;
87
+ input?: unknown;
88
+ errorCode?: string | undefined;
89
+ expiredAt?: Date | undefined;
90
+ startedAt?: Date | undefined;
91
+ output?: undefined;
92
+ }>;
93
+ list: (params?: ListWorkflowRunsParams) => Promise<{
94
+ data: ({
95
+ runId: string;
96
+ deploymentId: string;
97
+ workflowName: string;
98
+ attributes: Record<string, string>;
99
+ createdAt: Date;
100
+ updatedAt: Date;
101
+ status: "pending" | "running";
102
+ specVersion?: number | undefined;
103
+ executionContext?: Record<string, any> | undefined;
104
+ input?: unknown;
105
+ errorCode?: string | undefined;
106
+ expiredAt?: Date | undefined;
107
+ startedAt?: Date | undefined;
108
+ output?: undefined;
109
+ error?: undefined;
110
+ completedAt?: undefined;
111
+ } | {
112
+ runId: string;
113
+ deploymentId: string;
114
+ workflowName: string;
115
+ attributes: Record<string, string>;
116
+ createdAt: Date;
117
+ updatedAt: Date;
118
+ status: "cancelled";
119
+ completedAt: Date;
120
+ specVersion?: number | undefined;
121
+ executionContext?: Record<string, any> | undefined;
122
+ input?: unknown;
123
+ errorCode?: string | undefined;
124
+ expiredAt?: Date | undefined;
125
+ startedAt?: Date | undefined;
126
+ output?: undefined;
127
+ error?: undefined;
128
+ } | {
129
+ runId: string;
130
+ deploymentId: string;
131
+ workflowName: string;
132
+ attributes: Record<string, string>;
133
+ createdAt: Date;
134
+ updatedAt: Date;
135
+ status: "completed";
136
+ output: unknown;
137
+ completedAt: Date;
138
+ specVersion?: number | undefined;
139
+ executionContext?: Record<string, any> | undefined;
140
+ input?: unknown;
141
+ errorCode?: string | undefined;
142
+ expiredAt?: Date | undefined;
143
+ startedAt?: Date | undefined;
144
+ error?: undefined;
145
+ } | {
146
+ runId: string;
147
+ deploymentId: string;
148
+ workflowName: string;
149
+ attributes: Record<string, string>;
150
+ createdAt: Date;
151
+ updatedAt: Date;
152
+ status: "failed";
153
+ error: unknown;
154
+ completedAt: Date;
155
+ specVersion?: number | undefined;
156
+ executionContext?: Record<string, any> | undefined;
157
+ input?: unknown;
158
+ errorCode?: string | undefined;
159
+ expiredAt?: Date | undefined;
160
+ startedAt?: Date | undefined;
161
+ output?: undefined;
162
+ })[];
163
+ cursor: string | null;
164
+ hasMore: boolean;
165
+ }>;
166
+ };
167
+ steps: {
168
+ get: (runId: string | undefined, stepId: string, params?: GetStepParams) => Promise<{
169
+ runId: string;
170
+ stepId: string;
171
+ stepName: string;
172
+ status: "pending" | "running" | "cancelled" | "completed" | "failed";
173
+ attempt: number;
174
+ createdAt: Date;
175
+ updatedAt: Date;
176
+ input?: unknown;
177
+ output?: unknown;
178
+ error?: unknown;
179
+ startedAt?: Date | undefined;
180
+ completedAt?: Date | undefined;
181
+ retryAfter?: Date | undefined;
182
+ specVersion?: number | undefined;
183
+ }>;
184
+ list: (params: ListWorkflowRunStepsParams) => Promise<{
185
+ data: {
186
+ runId: string;
187
+ stepId: string;
188
+ stepName: string;
189
+ status: "pending" | "running" | "cancelled" | "completed" | "failed";
190
+ attempt: number;
191
+ createdAt: Date;
192
+ updatedAt: Date;
193
+ input?: unknown;
194
+ output?: unknown;
195
+ error?: unknown;
196
+ startedAt?: Date | undefined;
197
+ completedAt?: Date | undefined;
198
+ retryAfter?: Date | undefined;
199
+ specVersion?: number | undefined;
200
+ }[];
201
+ cursor: string | null;
202
+ hasMore: boolean;
203
+ }>;
204
+ };
205
+ events: {
206
+ create: (runId: string | null, data: CreateEventRequest | RunCreatedEventRequest, params?: CreateEventParams) => Promise<EventResult>;
207
+ get: (runId: string, eventId: string, params?: GetEventParams) => Promise<({
208
+ eventType: "run_created";
209
+ eventData: {
210
+ deploymentId: string;
211
+ workflowName: string;
212
+ input: unknown;
213
+ executionContext?: Record<string, any> | undefined;
214
+ attributes?: Record<string, string> | undefined;
215
+ allowReservedAttributes?: true | undefined;
216
+ };
217
+ correlationId?: string | undefined;
218
+ specVersion?: number | undefined;
219
+ } | {
220
+ eventType: "run_started";
221
+ correlationId?: string | undefined;
222
+ specVersion?: number | undefined;
223
+ eventData?: {
224
+ input?: unknown;
225
+ deploymentId?: string | undefined;
226
+ workflowName?: string | undefined;
227
+ executionContext?: Record<string, any> | undefined;
228
+ attributes?: Record<string, string> | undefined;
229
+ allowReservedAttributes?: true | undefined;
230
+ } | undefined;
231
+ } | {
232
+ eventType: "run_completed";
233
+ eventData: {
234
+ output?: unknown;
235
+ };
236
+ correlationId?: string | undefined;
237
+ specVersion?: number | undefined;
238
+ } | {
239
+ eventType: "run_failed";
240
+ eventData: {
241
+ error: unknown;
242
+ errorCode?: string | undefined;
243
+ };
244
+ correlationId?: string | undefined;
245
+ specVersion?: number | undefined;
246
+ } | {
247
+ eventType: "run_cancelled";
248
+ correlationId?: string | undefined;
249
+ specVersion?: number | undefined;
250
+ eventData?: {
251
+ cancelReason?: string | undefined;
252
+ } | undefined;
253
+ } | {
254
+ eventType: "attr_set";
255
+ eventData: {
256
+ changes: {
257
+ key: string;
258
+ value: string | null;
259
+ }[];
260
+ writer: {
261
+ type: "workflow";
262
+ } | {
263
+ type: "step";
264
+ stepId: string;
265
+ attempt: number;
266
+ };
267
+ allowReservedAttributes?: true | undefined;
268
+ };
269
+ specVersion?: number | undefined;
270
+ correlationId?: string | undefined;
271
+ } | {
272
+ eventType: "step_created";
273
+ correlationId: string;
274
+ eventData: {
275
+ stepName: string;
276
+ input: unknown;
277
+ workflowName?: string | undefined;
278
+ };
279
+ specVersion?: number | undefined;
280
+ } | {
281
+ eventType: "step_completed";
282
+ correlationId: string;
283
+ eventData: {
284
+ result: unknown;
285
+ ttfs?: number | undefined;
286
+ stso?: number | undefined;
287
+ stepCount?: number | undefined;
288
+ eventCount?: number | undefined;
289
+ rsfs?: number | undefined;
290
+ finalSchedulingReplay?: number | undefined;
291
+ optimizations?: string[] | undefined;
292
+ stepName?: string | undefined;
293
+ workflowName?: string | undefined;
294
+ };
295
+ specVersion?: number | undefined;
296
+ } | {
297
+ eventType: "step_failed";
298
+ correlationId: string;
299
+ eventData: {
300
+ error: unknown;
301
+ ttfs?: number | undefined;
302
+ stso?: number | undefined;
303
+ stepCount?: number | undefined;
304
+ eventCount?: number | undefined;
305
+ rsfs?: number | undefined;
306
+ finalSchedulingReplay?: number | undefined;
307
+ optimizations?: string[] | undefined;
308
+ stepName?: string | undefined;
309
+ };
310
+ specVersion?: number | undefined;
311
+ } | {
312
+ eventType: "step_retrying";
313
+ correlationId: string;
314
+ eventData: {
315
+ error: unknown;
316
+ stepName?: string | undefined;
317
+ retryAfter?: Date | undefined;
318
+ };
319
+ specVersion?: number | undefined;
320
+ } | {
321
+ eventType: "step_started";
322
+ correlationId: string;
323
+ specVersion?: number | undefined;
324
+ eventData?: {
325
+ stepName?: string | undefined;
326
+ attempt?: number | undefined;
327
+ workflowName?: string | undefined;
328
+ input?: unknown;
329
+ ownerMessageId?: string | undefined;
330
+ } | undefined;
331
+ } | {
332
+ eventType: "hook_created";
333
+ correlationId: string;
334
+ eventData: {
335
+ token: string;
336
+ metadata?: unknown;
337
+ isWebhook?: boolean | undefined;
338
+ isSystem?: boolean | undefined;
339
+ };
340
+ specVersion?: number | undefined;
341
+ } | {
342
+ eventType: "hook_received";
343
+ correlationId: string;
344
+ eventData: {
345
+ payload: unknown;
346
+ token?: string | undefined;
347
+ };
348
+ specVersion?: number | undefined;
349
+ } | {
350
+ eventType: "hook_disposed";
351
+ correlationId: string;
352
+ specVersion?: number | undefined;
353
+ eventData?: {
354
+ token?: string | undefined;
355
+ } | undefined;
356
+ } | {
357
+ eventType: "hook_conflict";
358
+ correlationId: string;
359
+ eventData: {
360
+ token: string;
361
+ conflictingRunId?: string | undefined;
362
+ };
363
+ specVersion?: number | undefined;
364
+ } | {
365
+ eventType: "wait_created";
366
+ correlationId: string;
367
+ eventData: {
368
+ resumeAt: Date;
369
+ };
370
+ specVersion?: number | undefined;
371
+ } | {
372
+ eventType: "wait_completed";
373
+ correlationId: string;
374
+ specVersion?: number | undefined;
375
+ eventData?: {
376
+ resumeAt?: Date | undefined;
377
+ } | undefined;
378
+ }) & {
379
+ runId: string;
380
+ eventId: string;
381
+ createdAt: Date;
382
+ occurredAt?: Date | undefined;
383
+ specVersion?: number | undefined;
384
+ }>;
385
+ list: (params: ListEventsParams) => Promise<{
386
+ data: (({
387
+ eventType: "run_created";
388
+ eventData: {
389
+ deploymentId: string;
390
+ workflowName: string;
391
+ input: unknown;
392
+ executionContext?: Record<string, any> | undefined;
393
+ attributes?: Record<string, string> | undefined;
394
+ allowReservedAttributes?: true | undefined;
395
+ };
396
+ correlationId?: string | undefined;
397
+ specVersion?: number | undefined;
398
+ } | {
399
+ eventType: "run_started";
400
+ correlationId?: string | undefined;
401
+ specVersion?: number | undefined;
402
+ eventData?: {
403
+ input?: unknown;
404
+ deploymentId?: string | undefined;
405
+ workflowName?: string | undefined;
406
+ executionContext?: Record<string, any> | undefined;
407
+ attributes?: Record<string, string> | undefined;
408
+ allowReservedAttributes?: true | undefined;
409
+ } | undefined;
410
+ } | {
411
+ eventType: "run_completed";
412
+ eventData: {
413
+ output?: unknown;
414
+ };
415
+ correlationId?: string | undefined;
416
+ specVersion?: number | undefined;
417
+ } | {
418
+ eventType: "run_failed";
419
+ eventData: {
420
+ error: unknown;
421
+ errorCode?: string | undefined;
422
+ };
423
+ correlationId?: string | undefined;
424
+ specVersion?: number | undefined;
425
+ } | {
426
+ eventType: "run_cancelled";
427
+ correlationId?: string | undefined;
428
+ specVersion?: number | undefined;
429
+ eventData?: {
430
+ cancelReason?: string | undefined;
431
+ } | undefined;
432
+ } | {
433
+ eventType: "attr_set";
434
+ eventData: {
435
+ changes: {
436
+ key: string;
437
+ value: string | null;
438
+ }[];
439
+ writer: {
440
+ type: "workflow";
441
+ } | {
442
+ type: "step";
443
+ stepId: string;
444
+ attempt: number;
445
+ };
446
+ allowReservedAttributes?: true | undefined;
447
+ };
448
+ specVersion?: number | undefined;
449
+ correlationId?: string | undefined;
450
+ } | {
451
+ eventType: "step_created";
452
+ correlationId: string;
453
+ eventData: {
454
+ stepName: string;
455
+ input: unknown;
456
+ workflowName?: string | undefined;
457
+ };
458
+ specVersion?: number | undefined;
459
+ } | {
460
+ eventType: "step_completed";
461
+ correlationId: string;
462
+ eventData: {
463
+ result: unknown;
464
+ ttfs?: number | undefined;
465
+ stso?: number | undefined;
466
+ stepCount?: number | undefined;
467
+ eventCount?: number | undefined;
468
+ rsfs?: number | undefined;
469
+ finalSchedulingReplay?: number | undefined;
470
+ optimizations?: string[] | undefined;
471
+ stepName?: string | undefined;
472
+ workflowName?: string | undefined;
473
+ };
474
+ specVersion?: number | undefined;
475
+ } | {
476
+ eventType: "step_failed";
477
+ correlationId: string;
478
+ eventData: {
479
+ error: unknown;
480
+ ttfs?: number | undefined;
481
+ stso?: number | undefined;
482
+ stepCount?: number | undefined;
483
+ eventCount?: number | undefined;
484
+ rsfs?: number | undefined;
485
+ finalSchedulingReplay?: number | undefined;
486
+ optimizations?: string[] | undefined;
487
+ stepName?: string | undefined;
488
+ };
489
+ specVersion?: number | undefined;
490
+ } | {
491
+ eventType: "step_retrying";
492
+ correlationId: string;
493
+ eventData: {
494
+ error: unknown;
495
+ stepName?: string | undefined;
496
+ retryAfter?: Date | undefined;
497
+ };
498
+ specVersion?: number | undefined;
499
+ } | {
500
+ eventType: "step_started";
501
+ correlationId: string;
502
+ specVersion?: number | undefined;
503
+ eventData?: {
504
+ stepName?: string | undefined;
505
+ attempt?: number | undefined;
506
+ workflowName?: string | undefined;
507
+ input?: unknown;
508
+ ownerMessageId?: string | undefined;
509
+ } | undefined;
510
+ } | {
511
+ eventType: "hook_created";
512
+ correlationId: string;
513
+ eventData: {
514
+ token: string;
515
+ metadata?: unknown;
516
+ isWebhook?: boolean | undefined;
517
+ isSystem?: boolean | undefined;
518
+ };
519
+ specVersion?: number | undefined;
520
+ } | {
521
+ eventType: "hook_received";
522
+ correlationId: string;
523
+ eventData: {
524
+ payload: unknown;
525
+ token?: string | undefined;
526
+ };
527
+ specVersion?: number | undefined;
528
+ } | {
529
+ eventType: "hook_disposed";
530
+ correlationId: string;
531
+ specVersion?: number | undefined;
532
+ eventData?: {
533
+ token?: string | undefined;
534
+ } | undefined;
535
+ } | {
536
+ eventType: "hook_conflict";
537
+ correlationId: string;
538
+ eventData: {
539
+ token: string;
540
+ conflictingRunId?: string | undefined;
541
+ };
542
+ specVersion?: number | undefined;
543
+ } | {
544
+ eventType: "wait_created";
545
+ correlationId: string;
546
+ eventData: {
547
+ resumeAt: Date;
548
+ };
549
+ specVersion?: number | undefined;
550
+ } | {
551
+ eventType: "wait_completed";
552
+ correlationId: string;
553
+ specVersion?: number | undefined;
554
+ eventData?: {
555
+ resumeAt?: Date | undefined;
556
+ } | undefined;
557
+ }) & {
558
+ runId: string;
559
+ eventId: string;
560
+ createdAt: Date;
561
+ occurredAt?: Date | undefined;
562
+ specVersion?: number | undefined;
563
+ })[];
564
+ cursor: string | null;
565
+ hasMore: boolean;
566
+ }>;
567
+ listByCorrelationId: (params: ListEventsByCorrelationIdParams) => Promise<{
568
+ data: (({
569
+ eventType: "run_created";
570
+ eventData: {
571
+ deploymentId: string;
572
+ workflowName: string;
573
+ input: unknown;
574
+ executionContext?: Record<string, any> | undefined;
575
+ attributes?: Record<string, string> | undefined;
576
+ allowReservedAttributes?: true | undefined;
577
+ };
578
+ correlationId?: string | undefined;
579
+ specVersion?: number | undefined;
580
+ } | {
581
+ eventType: "run_started";
582
+ correlationId?: string | undefined;
583
+ specVersion?: number | undefined;
584
+ eventData?: {
585
+ input?: unknown;
586
+ deploymentId?: string | undefined;
587
+ workflowName?: string | undefined;
588
+ executionContext?: Record<string, any> | undefined;
589
+ attributes?: Record<string, string> | undefined;
590
+ allowReservedAttributes?: true | undefined;
591
+ } | undefined;
592
+ } | {
593
+ eventType: "run_completed";
594
+ eventData: {
595
+ output?: unknown;
596
+ };
597
+ correlationId?: string | undefined;
598
+ specVersion?: number | undefined;
599
+ } | {
600
+ eventType: "run_failed";
601
+ eventData: {
602
+ error: unknown;
603
+ errorCode?: string | undefined;
604
+ };
605
+ correlationId?: string | undefined;
606
+ specVersion?: number | undefined;
607
+ } | {
608
+ eventType: "run_cancelled";
609
+ correlationId?: string | undefined;
610
+ specVersion?: number | undefined;
611
+ eventData?: {
612
+ cancelReason?: string | undefined;
613
+ } | undefined;
614
+ } | {
615
+ eventType: "attr_set";
616
+ eventData: {
617
+ changes: {
618
+ key: string;
619
+ value: string | null;
620
+ }[];
621
+ writer: {
622
+ type: "workflow";
623
+ } | {
624
+ type: "step";
625
+ stepId: string;
626
+ attempt: number;
627
+ };
628
+ allowReservedAttributes?: true | undefined;
629
+ };
630
+ specVersion?: number | undefined;
631
+ correlationId?: string | undefined;
632
+ } | {
633
+ eventType: "step_created";
634
+ correlationId: string;
635
+ eventData: {
636
+ stepName: string;
637
+ input: unknown;
638
+ workflowName?: string | undefined;
639
+ };
640
+ specVersion?: number | undefined;
641
+ } | {
642
+ eventType: "step_completed";
643
+ correlationId: string;
644
+ eventData: {
645
+ result: unknown;
646
+ ttfs?: number | undefined;
647
+ stso?: number | undefined;
648
+ stepCount?: number | undefined;
649
+ eventCount?: number | undefined;
650
+ rsfs?: number | undefined;
651
+ finalSchedulingReplay?: number | undefined;
652
+ optimizations?: string[] | undefined;
653
+ stepName?: string | undefined;
654
+ workflowName?: string | undefined;
655
+ };
656
+ specVersion?: number | undefined;
657
+ } | {
658
+ eventType: "step_failed";
659
+ correlationId: string;
660
+ eventData: {
661
+ error: unknown;
662
+ ttfs?: number | undefined;
663
+ stso?: number | undefined;
664
+ stepCount?: number | undefined;
665
+ eventCount?: number | undefined;
666
+ rsfs?: number | undefined;
667
+ finalSchedulingReplay?: number | undefined;
668
+ optimizations?: string[] | undefined;
669
+ stepName?: string | undefined;
670
+ };
671
+ specVersion?: number | undefined;
672
+ } | {
673
+ eventType: "step_retrying";
674
+ correlationId: string;
675
+ eventData: {
676
+ error: unknown;
677
+ stepName?: string | undefined;
678
+ retryAfter?: Date | undefined;
679
+ };
680
+ specVersion?: number | undefined;
681
+ } | {
682
+ eventType: "step_started";
683
+ correlationId: string;
684
+ specVersion?: number | undefined;
685
+ eventData?: {
686
+ stepName?: string | undefined;
687
+ attempt?: number | undefined;
688
+ workflowName?: string | undefined;
689
+ input?: unknown;
690
+ ownerMessageId?: string | undefined;
691
+ } | undefined;
692
+ } | {
693
+ eventType: "hook_created";
694
+ correlationId: string;
695
+ eventData: {
696
+ token: string;
697
+ metadata?: unknown;
698
+ isWebhook?: boolean | undefined;
699
+ isSystem?: boolean | undefined;
700
+ };
701
+ specVersion?: number | undefined;
702
+ } | {
703
+ eventType: "hook_received";
704
+ correlationId: string;
705
+ eventData: {
706
+ payload: unknown;
707
+ token?: string | undefined;
708
+ };
709
+ specVersion?: number | undefined;
710
+ } | {
711
+ eventType: "hook_disposed";
712
+ correlationId: string;
713
+ specVersion?: number | undefined;
714
+ eventData?: {
715
+ token?: string | undefined;
716
+ } | undefined;
717
+ } | {
718
+ eventType: "hook_conflict";
719
+ correlationId: string;
720
+ eventData: {
721
+ token: string;
722
+ conflictingRunId?: string | undefined;
723
+ };
724
+ specVersion?: number | undefined;
725
+ } | {
726
+ eventType: "wait_created";
727
+ correlationId: string;
728
+ eventData: {
729
+ resumeAt: Date;
730
+ };
731
+ specVersion?: number | undefined;
732
+ } | {
733
+ eventType: "wait_completed";
734
+ correlationId: string;
735
+ specVersion?: number | undefined;
736
+ eventData?: {
737
+ resumeAt?: Date | undefined;
738
+ } | undefined;
739
+ }) & {
740
+ runId: string;
741
+ eventId: string;
742
+ createdAt: Date;
743
+ occurredAt?: Date | undefined;
744
+ specVersion?: number | undefined;
745
+ })[];
746
+ cursor: string | null;
747
+ hasMore: boolean;
748
+ }>;
749
+ };
750
+ hooks: {
751
+ get: (hookId: string, params?: GetHookParams) => Promise<{
752
+ runId: string;
753
+ hookId: string;
754
+ token: string;
755
+ ownerId: string;
756
+ projectId: string;
757
+ environment: string;
758
+ createdAt: Date;
759
+ metadata?: unknown;
760
+ specVersion?: number | undefined;
761
+ isWebhook?: boolean | undefined;
762
+ isSystem?: boolean | undefined;
763
+ }>;
764
+ getByToken: (token: string, params?: GetHookParams) => Promise<{
765
+ runId: string;
766
+ hookId: string;
767
+ token: string;
768
+ ownerId: string;
769
+ projectId: string;
770
+ environment: string;
771
+ createdAt: Date;
772
+ metadata?: unknown;
773
+ specVersion?: number | undefined;
774
+ isWebhook?: boolean | undefined;
775
+ isSystem?: boolean | undefined;
776
+ }>;
777
+ list: (params: ListHooksParams) => Promise<{
778
+ data: {
779
+ runId: string;
780
+ hookId: string;
781
+ token: string;
782
+ ownerId: string;
783
+ projectId: string;
784
+ environment: string;
785
+ createdAt: Date;
786
+ metadata?: unknown;
787
+ specVersion?: number | undefined;
788
+ isWebhook?: boolean | undefined;
789
+ isSystem?: boolean | undefined;
790
+ }[];
791
+ cursor: string | null;
792
+ hasMore: boolean;
793
+ }>;
794
+ };
795
+ getDeploymentId(): Promise<string>;
796
+ queue(queueName: ValidQueueName, message: QueuePayload, opts?: QueueOptions): Promise<{
797
+ messageId: MessageId;
798
+ }>;
799
+ inspectDispatcherQueue(runId: string): Promise<{
800
+ counts: Record<string, number>;
801
+ rows: {
802
+ messageId: string;
803
+ queueName: string;
804
+ route: string;
805
+ status: string;
806
+ attempt: number;
807
+ nextAt: number;
808
+ startedAt: number | null;
809
+ finishedAt: number | null;
810
+ httpStatus: number | null;
811
+ error: string | null;
812
+ }[];
813
+ maxAttempts: number;
814
+ retryDelayMs: number;
815
+ staleInflightMs: number;
816
+ }>;
817
+ forceStaleDispatcherMessageForTesting(runId: string, messageId: string, ageMs?: number): Promise<void>;
818
+ expireClosedStreamForTesting(runId: string, name: string): Promise<{
819
+ deletedChunks: number;
820
+ }>;
821
+ createQueueHandler(queueNamePrefix: QueuePrefix, handler: (message: unknown, meta: any) => Promise<void | {
822
+ timeoutSeconds: number;
823
+ }>): (req: Request) => Promise<Response>;
824
+ writeToStream(name: string, runId: string, chunk: string | Uint8Array): Promise<void>;
825
+ closeStream(name: string, runId: string): Promise<void>;
826
+ readFromStream(runId: string, name: string, startIndex?: number): Promise<ReadableStream<Uint8Array<ArrayBufferLike>>>;
827
+ listStreamsByRunId(runId: string): Promise<string[]>;
828
+ getStreamChunks(name: string, runId: string, options?: GetChunksOptions): Promise<StreamChunksResponse>;
829
+ getStreamInfo(name: string, runId: string): Promise<StreamInfoResponse>;
830
+ readonly streams: {
831
+ write: (runId: string, name: string, chunk: string | Uint8Array) => Promise<void>;
832
+ close: (runId: string, name: string) => Promise<void>;
833
+ get: (runId: string, name: string, startIndex?: number) => Promise<ReadableStream<Uint8Array<ArrayBufferLike>>>;
834
+ list: (runId: string) => Promise<string[]>;
835
+ getChunks: (runId: string, name: string, options?: GetChunksOptions) => Promise<StreamChunksResponse>;
836
+ getInfo: (runId: string, name: string) => Promise<StreamInfoResponse>;
837
+ };
838
+ close(): Promise<void>;
839
+ }
840
+ export declare function createWorld(config?: RivetWorldConfig): World;
841
+ export default createWorld;
842
+ export { registry };
843
+ //# sourceMappingURL=index.d.ts.map