@workflow/world-vercel 4.0.1-beta.9 → 4.1.0-beta.30

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 (46) hide show
  1. package/dist/events.d.ts +2 -2
  2. package/dist/events.d.ts.map +1 -1
  3. package/dist/events.js +60 -12
  4. package/dist/events.js.map +1 -1
  5. package/dist/hooks.d.ts.map +1 -1
  6. package/dist/hooks.js +8 -13
  7. package/dist/hooks.js.map +1 -1
  8. package/dist/instrumentObject.d.ts +8 -0
  9. package/dist/instrumentObject.d.ts.map +1 -0
  10. package/dist/instrumentObject.js +66 -0
  11. package/dist/instrumentObject.js.map +1 -0
  12. package/dist/queue.d.ts.map +1 -1
  13. package/dist/queue.js +106 -30
  14. package/dist/queue.js.map +1 -1
  15. package/dist/runs.d.ts +23 -8
  16. package/dist/runs.d.ts.map +1 -1
  17. package/dist/runs.js +20 -95
  18. package/dist/runs.js.map +1 -1
  19. package/dist/steps.d.ts +53 -3
  20. package/dist/steps.d.ts.map +1 -1
  21. package/dist/steps.js +83 -31
  22. package/dist/steps.js.map +1 -1
  23. package/dist/storage.d.ts.map +1 -1
  24. package/dist/storage.js +17 -17
  25. package/dist/storage.js.map +1 -1
  26. package/dist/streamer.d.ts +10 -0
  27. package/dist/streamer.d.ts.map +1 -1
  28. package/dist/streamer.js +57 -2
  29. package/dist/streamer.js.map +1 -1
  30. package/dist/telemetry.d.ts +56 -0
  31. package/dist/telemetry.d.ts.map +1 -0
  32. package/dist/telemetry.js +87 -0
  33. package/dist/telemetry.js.map +1 -0
  34. package/dist/utils.d.ts +16 -13
  35. package/dist/utils.d.ts.map +1 -1
  36. package/dist/utils.js +203 -62
  37. package/dist/utils.js.map +1 -1
  38. package/dist/version.d.ts +1 -1
  39. package/dist/version.d.ts.map +1 -1
  40. package/dist/version.js +1 -1
  41. package/dist/version.js.map +1 -1
  42. package/package.json +17 -6
  43. package/dist/backend.d.ts +0 -4
  44. package/dist/backend.d.ts.map +0 -1
  45. package/dist/backend.js +0 -18
  46. package/dist/backend.js.map +0 -1
package/dist/events.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { type CreateEventParams, type CreateEventRequest, type Event, type ListEventsByCorrelationIdParams, type ListEventsParams, type PaginatedResponse } from '@workflow/world';
1
+ import { type AnyEventRequest, type CreateEventParams, type Event, type EventResult, type ListEventsByCorrelationIdParams, type ListEventsParams, type PaginatedResponse } from '@workflow/world';
2
2
  import type { APIConfig } from './utils.js';
3
3
  export declare function getWorkflowRunEvents(params: ListEventsParams | ListEventsByCorrelationIdParams, config?: APIConfig): Promise<PaginatedResponse<Event>>;
4
- export declare function createWorkflowRunEvent(id: string, data: CreateEventRequest, params?: CreateEventParams, config?: APIConfig): Promise<Event>;
4
+ export declare function createWorkflowRunEvent(id: string | null, data: AnyEventRequest, params?: CreateEventParams, config?: APIConfig): Promise<EventResult>;
5
5
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,KAAK,EAGV,KAAK,+BAA+B,EACpC,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA4B5C,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,gBAAgB,GAAG,+BAA+B,EAC1D,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CA6CnC;AAED,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,kBAAkB,EACxB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,KAAK,CAAC,CAchB"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,KAAK,EACV,KAAK,WAAW,EAIhB,KAAK,+BAA+B,EACpC,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAIvB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA4C5C,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,gBAAgB,GAAG,+BAA+B,EAC1D,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CA6CnC;AAED,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,MAAM,GAAG,IAAI,EACjB,IAAI,EAAE,eAAe,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,WAAW,CAAC,CA6CtB"}
package/dist/events.js CHANGED
@@ -1,6 +1,8 @@
1
- import { EventSchema, EventTypeSchema, PaginatedResponseSchema, } from '@workflow/world';
1
+ import { EventSchema, EventTypeSchema, HookSchema, PaginatedResponseSchema, WorkflowRunSchema, } from '@workflow/world';
2
2
  import z from 'zod';
3
- import { DEFAULT_RESOLVE_DATA_OPTION, dateToStringReplacer, makeRequest, } from './utils.js';
3
+ import { cancelWorkflowRunV1, createWorkflowRunV1 } from './runs.js';
4
+ import { deserializeStep, StepWireSchema } from './steps.js';
5
+ import { DEFAULT_RESOLVE_DATA_OPTION, makeRequest } from './utils.js';
4
6
  // Helper to filter event data based on resolveData setting
5
7
  function filterEventData(event, resolveData) {
6
8
  if (resolveData === 'none') {
@@ -9,8 +11,17 @@ function filterEventData(event, resolveData) {
9
11
  }
10
12
  return event;
11
13
  }
14
+ // Schema for EventResult wire format returned by events.create
15
+ // Uses wire format schemas for step to handle field name mapping
16
+ const EventResultWireSchema = z.object({
17
+ event: EventSchema,
18
+ run: WorkflowRunSchema.optional(),
19
+ step: StepWireSchema.optional(),
20
+ hook: HookSchema.optional(),
21
+ });
12
22
  // Would usually "EventSchema.omit({ eventData: true })" but that doesn't work
13
23
  // on zod unions. Re-creating the schema manually.
24
+ // specVersion defaults to 1 (legacy) when parsing responses from storage
14
25
  const EventWithRefsSchema = z.object({
15
26
  eventId: z.string(),
16
27
  runId: z.string(),
@@ -18,7 +29,16 @@ const EventWithRefsSchema = z.object({
18
29
  correlationId: z.string().optional(),
19
30
  eventDataRef: z.any().optional(),
20
31
  createdAt: z.coerce.date(),
32
+ specVersion: z.number().default(1),
21
33
  });
34
+ // Events where the client uses the response entity data need 'resolve' (default).
35
+ // Events where the client discards the response can use 'lazy' to skip expensive
36
+ // S3 ref resolution on the server, saving ~200-460ms per event.
37
+ const eventsNeedingResolve = new Set([
38
+ 'run_created', // client reads result.run.runId
39
+ 'run_started', // client reads result.run (checks startedAt, status)
40
+ 'step_started', // client reads result.step (checks attempt, state)
41
+ ]);
22
42
  // Functions
23
43
  export async function getWorkflowRunEvents(params, config) {
24
44
  const searchParams = new URLSearchParams();
@@ -47,8 +67,8 @@ export async function getWorkflowRunEvents(params, config) {
47
67
  const queryString = searchParams.toString();
48
68
  const query = queryString ? `?${queryString}` : '';
49
69
  const endpoint = correlationId
50
- ? `/v1/events${query}`
51
- : `/v1/runs/${runId}/events${query}`;
70
+ ? `/v2/events${query}`
71
+ : `/v2/runs/${runId}/events${query}`;
52
72
  const response = (await makeRequest({
53
73
  endpoint,
54
74
  options: { method: 'GET' },
@@ -62,15 +82,43 @@ export async function getWorkflowRunEvents(params, config) {
62
82
  }
63
83
  export async function createWorkflowRunEvent(id, data, params, config) {
64
84
  const resolveData = params?.resolveData ?? DEFAULT_RESOLVE_DATA_OPTION;
65
- const event = await makeRequest({
66
- endpoint: `/v1/runs/${id}/events`,
67
- options: {
68
- method: 'POST',
69
- body: JSON.stringify(data, dateToStringReplacer),
70
- },
85
+ const v1Compat = params?.v1Compat ?? false;
86
+ if (v1Compat) {
87
+ if (data.eventType === 'run_cancelled' && id) {
88
+ const run = await cancelWorkflowRunV1(id, params, config);
89
+ return { run: run };
90
+ }
91
+ else if (data.eventType === 'run_created') {
92
+ const run = await createWorkflowRunV1(data.eventData, config);
93
+ return { run };
94
+ }
95
+ const wireResult = await makeRequest({
96
+ endpoint: `/v1/runs/${id}/events`,
97
+ options: { method: 'POST' },
98
+ data,
99
+ config,
100
+ schema: EventSchema,
101
+ });
102
+ return { event: wireResult };
103
+ }
104
+ // For run_created events, runId is null - use "null" string in the URL path
105
+ const runIdPath = id === null ? 'null' : id;
106
+ const remoteRefBehavior = eventsNeedingResolve.has(data.eventType)
107
+ ? 'resolve'
108
+ : 'lazy';
109
+ const wireResult = await makeRequest({
110
+ endpoint: `/v2/runs/${runIdPath}/events`,
111
+ options: { method: 'POST' },
112
+ data: { ...data, remoteRefBehavior },
71
113
  config,
72
- schema: EventSchema,
114
+ schema: EventResultWireSchema,
73
115
  });
74
- return filterEventData(event, resolveData);
116
+ // Transform wire format to interface format
117
+ return {
118
+ event: filterEventData(wireResult.event, resolveData),
119
+ run: wireResult.run,
120
+ step: wireResult.step ? deserializeStep(wireResult.step) : undefined,
121
+ hook: wireResult.hook,
122
+ };
75
123
  }
76
124
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,WAAW,EACX,eAAe,EAIf,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,2DAA2D;AAC3D,SAAS,eAAe,CAAC,KAAU,EAAE,WAA2B;IAC9D,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,kDAAkD;AAClD,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,eAAe;IAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;CAC3B,CAAC,CAAC;AAEH,YAAY;AACZ,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAA0D,EAC1D,MAAkB;IAElB,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAE3C,MAAM,EAAE,UAAU,EAAE,WAAW,GAAG,2BAA2B,EAAE,GAAG,MAAM,CAAC;IACzE,IAAI,KAAyB,CAAC;IAC9B,IAAI,aAAiC,CAAC;IACtC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,UAAU,EAAE,KAAK;QAAE,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9E,IAAI,UAAU,EAAE,MAAM;QAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACtE,IAAI,UAAU,EAAE,SAAS;QACvB,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,aAAa;QAAE,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACpE,MAAM,iBAAiB,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,YAAY,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAEzD,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,aAAa;QAC5B,CAAC,CAAC,aAAa,KAAK,EAAE;QACtB,CAAC,CAAC,YAAY,KAAK,UAAU,KAAK,EAAE,CAAC;IAEvC,MAAM,QAAQ,GAAG,CAAC,MAAM,WAAW,CAAC;QAClC,QAAQ;QACR,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;QAC1B,MAAM;QACN,MAAM,EAAE,uBAAuB,CAC7B,iBAAiB,KAAK,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CACjE;KACF,CAAC,CAA6B,CAAC;IAEhC,OAAO;QACL,GAAG,QAAQ;QACX,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CACrC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CACpC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,EAAU,EACV,IAAwB,EACxB,MAA0B,EAC1B,MAAkB;IAElB,MAAM,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,2BAA2B,CAAC;IAEvE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC;QAC9B,QAAQ,EAAE,YAAY,EAAE,SAAS;QACjC,OAAO,EAAE;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,oBAAoB,CAAC;SACjD;QACD,MAAM;QACN,MAAM,EAAE,WAAW;KACpB,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,IAAI,EACJ,eAAe,EACf,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAqB5C,wBAAsB,SAAS,CAC7B,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAoClC;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,iBAAiB,EACvB,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,IAAI,CAAC,CAOf"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,IAAI,EACJ,eAAe,EACf,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAiB5C,wBAAsB,SAAS,CAC7B,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAoClC;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,iBAAiB,EACvB,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,IAAI,CAAC,CAOf"}
package/dist/hooks.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { HookSchema, PaginatedResponseSchema } from '@workflow/world';
2
2
  import z from 'zod';
3
- import { DEFAULT_RESOLVE_DATA_OPTION, dateToStringReplacer, makeRequest, } from './utils.js';
3
+ import { DEFAULT_RESOLVE_DATA_OPTION, makeRequest } from './utils.js';
4
4
  // Helper to filter hook data based on resolveData setting
5
5
  function filterHookData(hook, resolveData) {
6
6
  if (resolveData === 'none') {
@@ -29,7 +29,7 @@ export async function listHooks(params, config) {
29
29
  if (runId)
30
30
  searchParams.set('runId', runId);
31
31
  const queryString = searchParams.toString();
32
- const endpoint = `/v1/hooks${queryString ? `?${queryString}` : ''}`;
32
+ const endpoint = `/v2/hooks${queryString ? `?${queryString}` : ''}`;
33
33
  const response = (await makeRequest({
34
34
  endpoint,
35
35
  options: { method: 'GET' },
@@ -43,7 +43,7 @@ export async function listHooks(params, config) {
43
43
  }
44
44
  export async function getHook(hookId, params, config) {
45
45
  const resolveData = params?.resolveData || 'all';
46
- const endpoint = `/v1/hooks/${hookId}`;
46
+ const endpoint = `/v2/hooks/${hookId}`;
47
47
  const hook = await makeRequest({
48
48
  endpoint,
49
49
  options: { method: 'GET' },
@@ -54,21 +54,16 @@ export async function getHook(hookId, params, config) {
54
54
  }
55
55
  export async function createHook(runId, data, config) {
56
56
  return makeRequest({
57
- endpoint: `/v1/hooks/create`,
58
- options: {
59
- method: 'POST',
60
- body: JSON.stringify({
61
- runId,
62
- ...data,
63
- }, dateToStringReplacer),
64
- },
57
+ endpoint: `/v2/hooks/create`,
58
+ options: { method: 'POST' },
59
+ data: { runId, ...data },
65
60
  config,
66
61
  schema: HookSchema,
67
62
  });
68
63
  }
69
64
  export async function getHookByToken(token, config) {
70
65
  return makeRequest({
71
- endpoint: `/v1/hooks/by-token?token=${encodeURIComponent(token)}`,
66
+ endpoint: `/v2/hooks/by-token?token=${encodeURIComponent(token)}`,
72
67
  options: {
73
68
  method: 'GET',
74
69
  },
@@ -78,7 +73,7 @@ export async function getHookByToken(token, config) {
78
73
  }
79
74
  export async function disposeHook(hookId, config) {
80
75
  return makeRequest({
81
- endpoint: `/v1/hooks/${hookId}`,
76
+ endpoint: `/v2/hooks/${hookId}`,
82
77
  options: { method: 'DELETE' },
83
78
  config,
84
79
  schema: HookSchema,
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Wraps all methods of an object with tracing spans.
3
+ * @param prefix - Prefix for span names (e.g., "world.runs")
4
+ * @param o - Object with methods to instrument
5
+ * @returns Instrumented object with same interface
6
+ */
7
+ export declare function instrumentObject<T extends object>(prefix: string, o: T): T;
8
+ //# sourceMappingURL=instrumentObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentObject.d.ts","sourceRoot":"","sources":["../src/instrumentObject.ts"],"names":[],"mappings":"AAkCA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAsC1E"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Utility to instrument object methods with tracing.
3
+ * This is a minimal version for world-vercel to avoid circular dependencies with @workflow/core.
4
+ */
5
+ import { trace, getSpanKind, PeerService, RpcSystem, RpcService, RpcMethod, } from './telemetry.js';
6
+ /** Configuration for peer service attribution */
7
+ const WORKFLOW_SERVER_SERVICE = {
8
+ peerService: 'workflow-server',
9
+ rpcSystem: 'http',
10
+ rpcService: 'workflow-server',
11
+ };
12
+ /**
13
+ * Extracts the event type from arguments for events.create calls.
14
+ * The event data is the second argument and contains eventType.
15
+ */
16
+ function extractEventType(args) {
17
+ if (args.length >= 2 && typeof args[1] === 'object' && args[1] !== null) {
18
+ const data = args[1];
19
+ if (typeof data.eventType === 'string') {
20
+ return data.eventType;
21
+ }
22
+ }
23
+ return undefined;
24
+ }
25
+ /**
26
+ * Wraps all methods of an object with tracing spans.
27
+ * @param prefix - Prefix for span names (e.g., "world.runs")
28
+ * @param o - Object with methods to instrument
29
+ * @returns Instrumented object with same interface
30
+ */
31
+ export function instrumentObject(prefix, o) {
32
+ const handlers = {};
33
+ for (const key of Object.keys(o)) {
34
+ if (typeof o[key] !== 'function') {
35
+ handlers[key] = o[key];
36
+ }
37
+ else {
38
+ const f = o[key];
39
+ const methodName = String(key);
40
+ // @ts-expect-error - dynamic function wrapping
41
+ handlers[key] = async (...args) => {
42
+ // Build span name - for events.create, include the event type
43
+ let spanName = `${prefix}.${methodName}`;
44
+ if (prefix === 'world.events' && methodName === 'create') {
45
+ const eventType = extractEventType(args);
46
+ if (eventType) {
47
+ spanName = `${prefix}.${methodName} ${eventType}`;
48
+ }
49
+ }
50
+ return trace(spanName, { kind: await getSpanKind('CLIENT') }, async (span) => {
51
+ // Add peer service attributes for service maps
52
+ // Use spanName for rpc.method so Datadog shows event type in resource
53
+ span?.setAttributes({
54
+ ...PeerService(WORKFLOW_SERVER_SERVICE.peerService),
55
+ ...RpcSystem(WORKFLOW_SERVER_SERVICE.rpcSystem),
56
+ ...RpcService(WORKFLOW_SERVER_SERVICE.rpcService),
57
+ ...RpcMethod(spanName),
58
+ });
59
+ return f(...args);
60
+ });
61
+ };
62
+ }
63
+ }
64
+ return handlers;
65
+ }
66
+ //# sourceMappingURL=instrumentObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentObject.js","sourceRoot":"","sources":["../src/instrumentObject.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB,iDAAiD;AACjD,MAAM,uBAAuB,GAAG;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,iBAAiB;CAC9B,CAAC;AAEF;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAe;IACvC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAA4B,CAAC;QAChD,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAmB,MAAc,EAAE,CAAI;IACrE,MAAM,QAAQ,GAAG,EAAO,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAgB,EAAE,CAAC;QAChD,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;YACjC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,+CAA+C;YAC/C,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;gBAC3C,8DAA8D;gBAC9D,IAAI,QAAQ,GAAG,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC;gBACzC,IAAI,MAAM,KAAK,cAAc,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACzD,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBACzC,IAAI,SAAS,EAAE,CAAC;wBACd,QAAQ,GAAG,GAAG,MAAM,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;oBACpD,CAAC;gBACH,CAAC;gBAED,OAAO,KAAK,CACV,QAAQ,EACR,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC,QAAQ,CAAC,EAAE,EACrC,KAAK,EAAE,IAAI,EAAE,EAAE;oBACb,+CAA+C;oBAC/C,sEAAsE;oBACtE,IAAI,EAAE,aAAa,CAAC;wBAClB,GAAG,WAAW,CAAC,uBAAuB,CAAC,WAAW,CAAC;wBACnD,GAAG,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC;wBAC/C,GAAG,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC;wBACjD,GAAG,SAAS,CAAC,QAAQ,CAAC;qBACvB,CAAC,CAAC;oBACH,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBACpB,CAAC,CACF,CAAC;YACJ,CAAC,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,KAAK,EAGX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,SAAS,EAA0B,MAAM,YAAY,CAAC;AASpE,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,KAAK,CAkErD"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,KAAK,EAKX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,SAAS,EAA0B,MAAM,YAAY,CAAC;AA8CpE,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,KAAK,CAqIrD"}
package/dist/queue.js CHANGED
@@ -1,58 +1,134 @@
1
- import { handleCallback, send } from '@vercel/queue';
1
+ import { Client, DuplicateMessageError } from '@vercel/queue';
2
2
  import { MessageId, QueuePayloadSchema, ValidQueueName, } from '@workflow/world';
3
3
  import * as z from 'zod';
4
4
  import { getHeaders, getHttpUrl } from './utils.js';
5
5
  const MessageWrapper = z.object({
6
6
  payload: QueuePayloadSchema,
7
7
  queueName: ValidQueueName,
8
+ /**
9
+ * The deployment ID to use when re-enqueueing the message.
10
+ * This ensures the message is processed by the same deployment.
11
+ */
12
+ deploymentId: z.string().optional(),
8
13
  });
9
- const VERCEL_QUEUE_MAX_VISIBILITY = 82800; // 23 hours in seconds
14
+ /**
15
+ * Sleep Implementation via Message Delays
16
+ *
17
+ * VQS v3 supports `delaySeconds` which delays the initial delivery of a message.
18
+ * We use this for implementing sleep() by creating a new message with the delay,
19
+ * rather than using visibility timeouts on the same message.
20
+ *
21
+ * Benefits of this approach:
22
+ * - Fresh 24-hour lifetime with each message (no message age tracking needed)
23
+ * - Messages fire at the scheduled time (no short-circuit + recheck pattern)
24
+ * - Simpler conceptual model: messages are triggers with delivery schedules
25
+ *
26
+ * For sleeps > 24 hours (max delay), we use chaining:
27
+ * 1. Schedule message with max delay (~23h, leaving buffer)
28
+ * 2. When it fires, workflow checks if sleep is complete
29
+ * 3. If not, another delayed message is queued for remaining time
30
+ * 4. Process repeats until the full sleep duration has elapsed
31
+ *
32
+ * The workflow runtime handles this via event sourcing - the `wait_created` event
33
+ * stores the `resumeAt` timestamp, and on each invocation the runtime checks
34
+ * if `now >= resumeAt`. If not, it returns another `timeoutSeconds`.
35
+ *
36
+ * These constants can be overridden via environment variables for testing.
37
+ */
38
+ const MAX_DELAY_SECONDS = Number(process.env.VERCEL_QUEUE_MAX_DELAY_SECONDS || 82800 // 23 hours - leave 1h buffer before 24h retention limit
39
+ );
10
40
  export function createQueue(config) {
11
41
  const { baseUrl, usingProxy } = getHttpUrl(config);
12
- const headers = getHeaders(config);
13
- if (usingProxy) {
14
- // If we're using a proxy for the Workflow API, we should also go
15
- // through the proxy for the queues API.
16
- process.env.VERCEL_QUEUE_BASE_URL = `${baseUrl}`;
17
- process.env.VERCEL_QUEUE_BASE_PATH = '/queues/v2/messages';
18
- if (config?.token) {
19
- process.env.VERCEL_QUEUE_TOKEN = config.token;
42
+ const headers = getHeaders(config, { usingProxy });
43
+ const baseClientOptions = {
44
+ baseUrl: usingProxy ? baseUrl : undefined,
45
+ // The proxy will strip `/queues` from the path, and add `/api` in front,
46
+ // so this ends up being `/api/v3/topic` when arriving at the queue server,
47
+ // which is the same as the default basePath in VQS client.
48
+ basePath: usingProxy ? '/queues/v3/topic' : undefined,
49
+ token: usingProxy ? config?.token : undefined,
50
+ headers: Object.fromEntries(headers.entries()),
51
+ };
52
+ const queue = async (queueName, payload, opts) => {
53
+ // Check if we have a deployment ID either from options or environment
54
+ const deploymentId = opts?.deploymentId ?? process.env.VERCEL_DEPLOYMENT_ID;
55
+ if (!deploymentId) {
56
+ throw new Error('No deploymentId provided and VERCEL_DEPLOYMENT_ID environment variable is not set. ' +
57
+ 'Queue messages require a deployment ID to route correctly. ' +
58
+ 'Either set VERCEL_DEPLOYMENT_ID or provide deploymentId in options.');
20
59
  }
21
- if (headers) {
22
- headers.forEach((value, key) => {
23
- const sanitizedKey = key.replaceAll('-', '__');
24
- process.env[`VERCEL_QUEUE_HEADER_${sanitizedKey}`] = value;
25
- });
60
+ const sendMessageClient = new Client({
61
+ ...baseClientOptions,
62
+ deploymentId,
63
+ });
64
+ // zod v3 doesn't have the `encode` method. We only support zod v4 officially,
65
+ // but codebases that pin zod v3 are still common.
66
+ const hasEncoder = typeof MessageWrapper.encode === 'function';
67
+ if (!hasEncoder) {
68
+ console.warn('Using zod v3 compatibility mode for queue() calls - this may not work as expected');
26
69
  }
27
- }
28
- const queue = async (queueName, x, opts) => {
29
- const encoded = MessageWrapper.encode({
30
- payload: x,
70
+ const encoder = hasEncoder
71
+ ? MessageWrapper.encode
72
+ : (data) => data;
73
+ const encoded = encoder({
74
+ payload,
31
75
  queueName,
76
+ // Store deploymentId in the message so it can be preserved when re-enqueueing
77
+ deploymentId: opts?.deploymentId,
32
78
  });
33
79
  const sanitizedQueueName = queueName.replace(/[^A-Za-z0-9-_]/g, '-');
34
- const { messageId } = await send(sanitizedQueueName, encoded, opts);
35
- return { messageId: MessageId.parse(messageId) };
80
+ try {
81
+ const { messageId } = await sendMessageClient.send(sanitizedQueueName, encoded, {
82
+ idempotencyKey: opts?.idempotencyKey,
83
+ delaySeconds: opts?.delaySeconds,
84
+ headers: opts?.headers,
85
+ });
86
+ return { messageId: MessageId.parse(messageId) };
87
+ }
88
+ catch (error) {
89
+ // Silently handle idempotency key conflicts - the message was already queued
90
+ // This matches the behavior of world-local and world-postgres
91
+ if (error instanceof DuplicateMessageError) {
92
+ // Return a placeholder messageId since the original is not available from the error.
93
+ // Callers using idempotency keys shouldn't depend on the returned messageId.
94
+ // TODO: VQS should return the message ID of the existing message, or we should
95
+ // stop expecting any world to include this
96
+ return {
97
+ messageId: MessageId.parse(`msg_duplicate_${error.idempotencyKey ?? opts?.idempotencyKey ?? 'unknown'}`),
98
+ };
99
+ }
100
+ throw error;
101
+ }
36
102
  };
103
+ const handleCallbackClient = new Client({
104
+ ...baseClientOptions,
105
+ });
37
106
  const createQueueHandler = (prefix, handler) => {
38
- return handleCallback({
107
+ return handleCallbackClient.handleCallback({
39
108
  [`${prefix}*`]: {
40
109
  default: async (body, meta) => {
41
- const { payload, queueName } = MessageWrapper.parse(body);
110
+ const { payload, queueName, deploymentId } = MessageWrapper.parse(body);
42
111
  const result = await handler(payload, {
43
112
  queueName,
44
113
  messageId: MessageId.parse(meta.messageId),
45
114
  attempt: meta.deliveryCount,
46
115
  });
47
116
  if (typeof result?.timeoutSeconds === 'number') {
48
- // For Vercel Queue, enforce the max visibility limit:
49
- // - When a step function throws a `RetryableError`, the retryAfter timestamp is updated and stored on the Step document
50
- const adjustedTimeoutSeconds = Math.min(result.timeoutSeconds, VERCEL_QUEUE_MAX_VISIBILITY);
51
- if (adjustedTimeoutSeconds !== result.timeoutSeconds) {
52
- result.timeoutSeconds = adjustedTimeoutSeconds;
53
- }
117
+ // Use delaySeconds approach: send new message with delay, then delete current
118
+ // Clamp to max delay (23h) - for longer sleeps, the workflow will chain
119
+ // multiple delayed messages until the full sleep duration has elapsed
120
+ const delaySeconds = Math.min(result.timeoutSeconds, MAX_DELAY_SECONDS);
121
+ // Send new message with delay BEFORE acknowledging current message
122
+ // This ensures crash safety: if process dies after send but before ack,
123
+ // we may get a duplicate invocation but won't lose the scheduled wakeup
124
+ await queue(queueName, payload, {
125
+ deploymentId,
126
+ delaySeconds,
127
+ });
128
+ // Acknowledge current message by returning undefined
129
+ return undefined;
54
130
  }
55
- return result;
131
+ return undefined;
56
132
  },
57
133
  },
58
134
  });
package/dist/queue.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
package/dist/runs.d.ts CHANGED
@@ -1,14 +1,29 @@
1
- import { type CancelWorkflowRunParams, type CreateWorkflowRunRequest, type GetWorkflowRunParams, type ListWorkflowRunsParams, type PaginatedResponse, type PauseWorkflowRunParams, type ResumeWorkflowRunParams, type UpdateWorkflowRunRequest, type WorkflowRun } from '@workflow/world';
1
+ import { type CancelWorkflowRunParams, type CreateWorkflowRunRequest, type GetWorkflowRunParams, type ListWorkflowRunsParams, type PaginatedResponse, type WorkflowRun, type WorkflowRunWithoutData } from '@workflow/world';
2
2
  import type { APIConfig } from './utils.js';
3
3
  /**
4
4
  * This query technically works but should be used sparingly till the backend
5
5
  * uses CH to resolve this instead of scanning a dynamo table.
6
6
  */
7
- export declare function listWorkflowRuns(params?: ListWorkflowRunsParams, config?: APIConfig): Promise<PaginatedResponse<WorkflowRun>>;
8
- export declare function createWorkflowRun(data: CreateWorkflowRunRequest, config?: APIConfig): Promise<WorkflowRun>;
9
- export declare function getWorkflowRun(id: string, params?: GetWorkflowRunParams, config?: APIConfig): Promise<WorkflowRun>;
10
- export declare function updateWorkflowRun(id: string, data: UpdateWorkflowRunRequest, config?: APIConfig): Promise<WorkflowRun>;
11
- export declare function cancelWorkflowRun(id: string, params?: CancelWorkflowRunParams, config?: APIConfig): Promise<WorkflowRun>;
12
- export declare function pauseWorkflowRun(id: string, params?: PauseWorkflowRunParams, config?: APIConfig): Promise<WorkflowRun>;
13
- export declare function resumeWorkflowRun(id: string, params?: ResumeWorkflowRunParams, config?: APIConfig): Promise<WorkflowRun>;
7
+ export declare function listWorkflowRuns(params: ListWorkflowRunsParams & {
8
+ resolveData: 'none';
9
+ }, config?: APIConfig): Promise<PaginatedResponse<WorkflowRunWithoutData>>;
10
+ export declare function listWorkflowRuns(params?: ListWorkflowRunsParams & {
11
+ resolveData?: 'all';
12
+ }, config?: APIConfig): Promise<PaginatedResponse<WorkflowRun>>;
13
+ export declare function listWorkflowRuns(params?: ListWorkflowRunsParams, config?: APIConfig): Promise<PaginatedResponse<WorkflowRun | WorkflowRunWithoutData>>;
14
+ export declare function createWorkflowRunV1(data: CreateWorkflowRunRequest, config?: APIConfig): Promise<WorkflowRun>;
15
+ export declare function getWorkflowRun(id: string, params: GetWorkflowRunParams & {
16
+ resolveData: 'none';
17
+ }, config?: APIConfig): Promise<WorkflowRunWithoutData>;
18
+ export declare function getWorkflowRun(id: string, params?: GetWorkflowRunParams & {
19
+ resolveData?: 'all';
20
+ }, config?: APIConfig): Promise<WorkflowRun>;
21
+ export declare function getWorkflowRun(id: string, params?: GetWorkflowRunParams, config?: APIConfig): Promise<WorkflowRun | WorkflowRunWithoutData>;
22
+ export declare function cancelWorkflowRunV1(id: string, params: CancelWorkflowRunParams & {
23
+ resolveData: 'none';
24
+ }, config?: APIConfig): Promise<WorkflowRunWithoutData>;
25
+ export declare function cancelWorkflowRunV1(id: string, params?: CancelWorkflowRunParams & {
26
+ resolveData?: 'all';
27
+ }, config?: APIConfig): Promise<WorkflowRun>;
28
+ export declare function cancelWorkflowRunV1(id: string, params?: CancelWorkflowRunParams, config?: APIConfig): Promise<WorkflowRun | WorkflowRunWithoutData>;
14
29
  //# sourceMappingURL=runs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EAEtB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAyD5C;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,GAAE,sBAA2B,EACnC,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAuCzC;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,wBAAwB,EAC9B,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,WAAW,CAAC,CAWtB;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,oBAAoB,EAC7B,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,wBAAwB,EAC9B,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,WAAW,CAAC,CAmBtB;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,uBAAuB,EAChC,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,sBAAsB,EAC/B,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,uBAAuB,EAChC,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,WAAW,CAAC,CA2BtB"}
1
+ {"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EAGtB,KAAK,WAAW,EAEhB,KAAK,sBAAsB,EAC5B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAqE5C;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,sBAAsB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,EACxD,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACtD,wBAAsB,gBAAgB,CACpC,MAAM,CAAC,EAAE,sBAAsB,GAAG;IAAE,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,EACzD,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;AAC3C,wBAAsB,gBAAgB,CACpC,MAAM,CAAC,EAAE,sBAAsB,EAC/B,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,iBAAiB,CAAC,WAAW,GAAG,sBAAsB,CAAC,CAAC,CAAC;AA6CpE,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,wBAAwB,EAC9B,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,WAAW,CAAC,CAStB;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,oBAAoB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,EACtD,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACnC,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,oBAAoB,GAAG;IAAE,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,EACvD,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,WAAW,CAAC,CAAC;AACxB,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,oBAAoB,EAC7B,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,WAAW,GAAG,sBAAsB,CAAC,CAAC;AAkCjD,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,uBAAuB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,EACzD,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACnC,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,uBAAuB,GAAG;IAAE,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,EAC1D,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,WAAW,CAAC,CAAC;AACxB,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,uBAAuB,EAChC,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,WAAW,GAAG,sBAAsB,CAAC,CAAC"}