@workflow/world-vercel 4.1.0-beta.29 → 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.
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +12 -1
- package/dist/events.js.map +1 -1
- package/dist/instrumentObject.d.ts +8 -0
- package/dist/instrumentObject.d.ts.map +1 -0
- package/dist/instrumentObject.js +66 -0
- package/dist/instrumentObject.js.map +1 -0
- package/dist/queue.d.ts.map +1 -1
- package/dist/queue.js +1 -0
- package/dist/queue.js.map +1 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +10 -1
- package/dist/storage.js.map +1 -1
- package/dist/streamer.d.ts +10 -0
- package/dist/streamer.d.ts.map +1 -1
- package/dist/streamer.js +47 -0
- package/dist/streamer.js.map +1 -1
- package/dist/telemetry.d.ts +56 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +87 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +94 -41
- package/dist/utils.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +12 -3
package/dist/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
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
|
@@ -31,6 +31,14 @@ const EventWithRefsSchema = z.object({
|
|
|
31
31
|
createdAt: z.coerce.date(),
|
|
32
32
|
specVersion: z.number().default(1),
|
|
33
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
|
+
]);
|
|
34
42
|
// Functions
|
|
35
43
|
export async function getWorkflowRunEvents(params, config) {
|
|
36
44
|
const searchParams = new URLSearchParams();
|
|
@@ -95,10 +103,13 @@ export async function createWorkflowRunEvent(id, data, params, config) {
|
|
|
95
103
|
}
|
|
96
104
|
// For run_created events, runId is null - use "null" string in the URL path
|
|
97
105
|
const runIdPath = id === null ? 'null' : id;
|
|
106
|
+
const remoteRefBehavior = eventsNeedingResolve.has(data.eventType)
|
|
107
|
+
? 'resolve'
|
|
108
|
+
: 'lazy';
|
|
98
109
|
const wireResult = await makeRequest({
|
|
99
110
|
endpoint: `/v2/runs/${runIdPath}/events`,
|
|
100
111
|
options: { method: 'POST' },
|
|
101
|
-
data,
|
|
112
|
+
data: { ...data, remoteRefBehavior },
|
|
102
113
|
config,
|
|
103
114
|
schema: EventResultWireSchema,
|
|
104
115
|
});
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.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"}
|
package/dist/queue.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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
|
@@ -81,6 +81,7 @@ export function createQueue(config) {
|
|
|
81
81
|
const { messageId } = await sendMessageClient.send(sanitizedQueueName, encoded, {
|
|
82
82
|
idempotencyKey: opts?.idempotencyKey,
|
|
83
83
|
delaySeconds: opts?.delaySeconds,
|
|
84
|
+
headers: opts?.headers,
|
|
84
85
|
});
|
|
85
86
|
return { messageId: MessageId.parse(messageId) };
|
|
86
87
|
}
|
package/dist/queue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EACL,SAAS,EAIT,kBAAkB,EAClB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAkB,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,kBAAkB;IAC3B,SAAS,EAAE,cAAc;IACzB;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,iBAAiB,GAAG,MAAM,CAC9B,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,KAAK,CAAC,wDAAwD;CAC7G,CAAC;AAQF,MAAM,UAAU,WAAW,CAAC,MAAkB;IAC5C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IAEnD,MAAM,iBAAiB,GAAG;QACxB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACzC,yEAAyE;QACzE,2EAA2E;QAC3E,2DAA2D;QAC3D,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;QACrD,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS;QAC7C,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;KAC/C,CAAC;IAEF,MAAM,KAAK,GAAkB,KAAK,EAChC,SAAS,EACT,OAAO,EACP,IAA+C,EAC/C,EAAE;QACF,sEAAsE;QACtE,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC5E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,qFAAqF;gBACnF,6DAA6D;gBAC7D,qEAAqE,CACxE,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC;YACnC,GAAG,iBAAiB;YACpB,YAAY;SACb,CAAC,CAAC;QAEH,8EAA8E;QAC9E,kDAAkD;QAClD,MAAM,UAAU,GAAG,OAAO,cAAc,CAAC,MAAM,KAAK,UAAU,CAAC;QAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CACV,mFAAmF,CACpF,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,UAAU;YACxB,CAAC,CAAC,cAAc,CAAC,MAAM;YACvB,CAAC,CAAC,CAAC,IAAoC,EAAE,EAAE,CAAC,IAAI,CAAC;QAEnD,MAAM,OAAO,GAAG,OAAO,CAAC;YACtB,OAAO;YACP,SAAS;YACT,8EAA8E;YAC9E,YAAY,EAAE,IAAI,EAAE,YAAY;SACjC,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAChD,kBAAkB,EAClB,OAAO,EACP;gBACE,cAAc,EAAE,IAAI,EAAE,cAAc;gBACpC,YAAY,EAAE,IAAI,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EACL,SAAS,EAIT,kBAAkB,EAClB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAkB,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,kBAAkB;IAC3B,SAAS,EAAE,cAAc;IACzB;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,iBAAiB,GAAG,MAAM,CAC9B,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,KAAK,CAAC,wDAAwD;CAC7G,CAAC;AAQF,MAAM,UAAU,WAAW,CAAC,MAAkB;IAC5C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IAEnD,MAAM,iBAAiB,GAAG;QACxB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACzC,yEAAyE;QACzE,2EAA2E;QAC3E,2DAA2D;QAC3D,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;QACrD,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS;QAC7C,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;KAC/C,CAAC;IAEF,MAAM,KAAK,GAAkB,KAAK,EAChC,SAAS,EACT,OAAO,EACP,IAA+C,EAC/C,EAAE;QACF,sEAAsE;QACtE,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC5E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,qFAAqF;gBACnF,6DAA6D;gBAC7D,qEAAqE,CACxE,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC;YACnC,GAAG,iBAAiB;YACpB,YAAY;SACb,CAAC,CAAC;QAEH,8EAA8E;QAC9E,kDAAkD;QAClD,MAAM,UAAU,GAAG,OAAO,cAAc,CAAC,MAAM,KAAK,UAAU,CAAC;QAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CACV,mFAAmF,CACpF,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,UAAU;YACxB,CAAC,CAAC,cAAc,CAAC,MAAM;YACvB,CAAC,CAAC,CAAC,IAAoC,EAAE,EAAE,CAAC,IAAI,CAAC;QAEnD,MAAM,OAAO,GAAG,OAAO,CAAC;YACtB,OAAO;YACP,SAAS;YACT,8EAA8E;YAC9E,YAAY,EAAE,IAAI,EAAE,YAAY;SACjC,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAChD,kBAAkB,EAClB,OAAO,EACP;gBACE,cAAc,EAAE,IAAI,EAAE,cAAc;gBACpC,YAAY,EAAE,IAAI,EAAE,YAAY;gBAChC,OAAO,EAAE,IAAI,EAAE,OAAO;aACvB,CACF,CAAC;YACF,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6EAA6E;YAC7E,8DAA8D;YAC9D,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;gBAC3C,qFAAqF;gBACrF,6EAA6E;gBAC7E,+EAA+E;gBAC/E,2CAA2C;gBAC3C,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,KAAK,CACxB,iBAAiB,KAAK,CAAC,cAAc,IAAI,IAAI,EAAE,cAAc,IAAI,SAAS,EAAE,CAC7E;iBACF,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC;QACtC,GAAG,iBAAiB;KACrB,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAgC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QAC1E,OAAO,oBAAoB,CAAC,cAAc,CAAC;YACzC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE;gBACd,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;oBAC5B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,GACxC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE;wBACpC,SAAS;wBACT,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC1C,OAAO,EAAE,IAAI,CAAC,aAAa;qBAC5B,CAAC,CAAC;oBAEH,IAAI,OAAO,MAAM,EAAE,cAAc,KAAK,QAAQ,EAAE,CAAC;wBAC/C,8EAA8E;wBAC9E,wEAAwE;wBACxE,sEAAsE;wBACtE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,MAAM,CAAC,cAAc,EACrB,iBAAiB,CAClB,CAAC;wBAEF,mEAAmE;wBACnE,wEAAwE;wBACxE,wEAAwE;wBACxE,MAAM,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE;4BAC9B,YAAY;4BACZ,YAAY;yBACb,CAAC,CAAC;wBAEH,qDAAqD;wBACrD,OAAO,SAAS,CAAC;oBACnB,CAAC;oBAED,OAAO,SAAS,CAAC;gBACnB,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,eAAe,GAA6B,KAAK,IAAI,EAAE;QAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACtD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC;AACxD,CAAC"}
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAM/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAoCzD"}
|
package/dist/storage.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { createWorkflowRunEvent, getWorkflowRunEvents } from './events.js';
|
|
2
2
|
import { getHook, getHookByToken, listHooks } from './hooks.js';
|
|
3
|
+
import { instrumentObject } from './instrumentObject.js';
|
|
3
4
|
import { getWorkflowRun, listWorkflowRuns } from './runs.js';
|
|
4
5
|
import { getStep, listWorkflowRunSteps } from './steps.js';
|
|
5
6
|
export function createStorage(config) {
|
|
6
|
-
|
|
7
|
+
const storage = {
|
|
7
8
|
// Storage interface with namespaced methods
|
|
8
9
|
runs: {
|
|
9
10
|
get: ((id, params) => getWorkflowRun(id, params, config)),
|
|
@@ -24,5 +25,13 @@ export function createStorage(config) {
|
|
|
24
25
|
list: (params) => listHooks(params, config),
|
|
25
26
|
},
|
|
26
27
|
};
|
|
28
|
+
// Instrument all storage methods with tracing
|
|
29
|
+
// NOTE: Span names are lowercase per OTEL semantic conventions
|
|
30
|
+
return {
|
|
31
|
+
runs: instrumentObject('world.runs', storage.runs),
|
|
32
|
+
steps: instrumentObject('world.steps', storage.steps),
|
|
33
|
+
events: instrumentObject('world.events', storage.events),
|
|
34
|
+
hooks: instrumentObject('world.hooks', storage.hooks),
|
|
35
|
+
};
|
|
27
36
|
}
|
|
28
37
|
//# sourceMappingURL=storage.js.map
|
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAG3D,MAAM,UAAU,aAAa,CAAC,MAAkB;IAC9C,OAAO;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAG3D,MAAM,UAAU,aAAa,CAAC,MAAkB;IAC9C,MAAM,OAAO,GAAY;QACvB,4CAA4C;QAC5C,IAAI,EAAE;YACJ,GAAG,EAAE,CAAC,CAAC,EAAU,EAAE,MAAY,EAAE,EAAE,CACjC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAA2B;YAC/D,IAAI,EAAE,CAAC,CAAC,MAAY,EAAE,EAAE,CACtB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAA4B;SAC/D;QACD,KAAK,EAAE;YACL,GAAG,EAAE,CAAC,CAAC,KAAyB,EAAE,MAAc,EAAE,MAAY,EAAE,EAAE,CAChE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAA4B;YACpE,IAAI,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE,CACrB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAA6B;SACpE;QACD,MAAM,EAAE;YACN,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAC9B,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;YACrD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC;YACtD,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC;SACtE;QACD,KAAK,EAAE;YACL,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YACxD,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;YACpD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;SAC5C;KACF,CAAC;IAEF,8CAA8C;IAC9C,+DAA+D;IAC/D,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC;QAClD,KAAK,EAAE,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC;QACrD,MAAM,EAAE,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC;QACxD,KAAK,EAAE,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC;KACtD,CAAC;AACJ,CAAC"}
|
package/dist/streamer.d.ts
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import type { Streamer } from '@workflow/world';
|
|
2
2
|
import { type APIConfig } from './utils.js';
|
|
3
|
+
/**
|
|
4
|
+
* Encode multiple chunks into a length-prefixed binary format.
|
|
5
|
+
* Format: [4 bytes big-endian length][chunk bytes][4 bytes length][chunk bytes]...
|
|
6
|
+
*
|
|
7
|
+
* This preserves chunk boundaries so the server can store them as separate
|
|
8
|
+
* chunks, maintaining correct startIndex semantics for readers.
|
|
9
|
+
*
|
|
10
|
+
* @internal Exported for testing purposes
|
|
11
|
+
*/
|
|
12
|
+
export declare function encodeMultiChunks(chunks: (string | Uint8Array)[]): Uint8Array;
|
|
3
13
|
export declare function createStreamer(config?: APIConfig): Streamer;
|
|
4
14
|
//# sourceMappingURL=streamer.d.ts.map
|
package/dist/streamer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,SAAS,EAAkC,MAAM,YAAY,CAAC;AAe5E,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,SAAS,EAAkC,MAAM,YAAY,CAAC;AAe5E;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,GAAG,UAAU,CA0B7E;AAED,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CA0E3D"}
|
package/dist/streamer.js
CHANGED
|
@@ -5,6 +5,37 @@ function getStreamUrl(name, runId, httpConfig) {
|
|
|
5
5
|
}
|
|
6
6
|
return new URL(`${httpConfig.baseUrl}/v2/stream/${encodeURIComponent(name)}`);
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Encode multiple chunks into a length-prefixed binary format.
|
|
10
|
+
* Format: [4 bytes big-endian length][chunk bytes][4 bytes length][chunk bytes]...
|
|
11
|
+
*
|
|
12
|
+
* This preserves chunk boundaries so the server can store them as separate
|
|
13
|
+
* chunks, maintaining correct startIndex semantics for readers.
|
|
14
|
+
*
|
|
15
|
+
* @internal Exported for testing purposes
|
|
16
|
+
*/
|
|
17
|
+
export function encodeMultiChunks(chunks) {
|
|
18
|
+
const encoder = new TextEncoder();
|
|
19
|
+
// Convert all chunks to Uint8Array and calculate total size
|
|
20
|
+
const binaryChunks = [];
|
|
21
|
+
let totalSize = 0;
|
|
22
|
+
for (const chunk of chunks) {
|
|
23
|
+
const binary = typeof chunk === 'string' ? encoder.encode(chunk) : chunk;
|
|
24
|
+
binaryChunks.push(binary);
|
|
25
|
+
totalSize += 4 + binary.length; // 4 bytes for length prefix
|
|
26
|
+
}
|
|
27
|
+
// Allocate buffer and write length-prefixed chunks
|
|
28
|
+
const result = new Uint8Array(totalSize);
|
|
29
|
+
const view = new DataView(result.buffer);
|
|
30
|
+
let offset = 0;
|
|
31
|
+
for (const binary of binaryChunks) {
|
|
32
|
+
view.setUint32(offset, binary.length, false); // big-endian
|
|
33
|
+
offset += 4;
|
|
34
|
+
result.set(binary, offset);
|
|
35
|
+
offset += binary.length;
|
|
36
|
+
}
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
8
39
|
export function createStreamer(config) {
|
|
9
40
|
return {
|
|
10
41
|
async writeToStream(name, runId, chunk) {
|
|
@@ -18,6 +49,22 @@ export function createStreamer(config) {
|
|
|
18
49
|
duplex: 'half',
|
|
19
50
|
});
|
|
20
51
|
},
|
|
52
|
+
async writeToStreamMulti(name, runId, chunks) {
|
|
53
|
+
if (chunks.length === 0)
|
|
54
|
+
return;
|
|
55
|
+
// Await runId if it's a promise to ensure proper flushing
|
|
56
|
+
const resolvedRunId = await runId;
|
|
57
|
+
const httpConfig = await getHttpConfig(config);
|
|
58
|
+
// Signal to server that this is a multi-chunk batch
|
|
59
|
+
httpConfig.headers.set('X-Stream-Multi', 'true');
|
|
60
|
+
const body = encodeMultiChunks(chunks);
|
|
61
|
+
await fetch(getStreamUrl(name, resolvedRunId, httpConfig), {
|
|
62
|
+
method: 'PUT',
|
|
63
|
+
body,
|
|
64
|
+
headers: httpConfig.headers,
|
|
65
|
+
duplex: 'half',
|
|
66
|
+
});
|
|
67
|
+
},
|
|
21
68
|
async closeStream(name, runId) {
|
|
22
69
|
// Await runId if it's a promise to ensure proper flushing
|
|
23
70
|
const resolvedRunId = await runId;
|
package/dist/streamer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamer.js","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,aAAa,EAAmB,MAAM,YAAY,CAAC;AAE5E,SAAS,YAAY,CACnB,IAAY,EACZ,KAAyB,EACzB,UAAsB;IAEtB,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,IAAI,GAAG,CACZ,GAAG,UAAU,CAAC,OAAO,YAAY,KAAK,WAAW,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC5E,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAkB;IAC/C,OAAO;QACL,KAAK,CAAC,aAAa,CACjB,IAAY,EACZ,KAA+B,EAC/B,KAA0B;YAE1B,0DAA0D;YAC1D,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC;YAElC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE;gBACzD,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,KAA+B;YAC7D,0DAA0D;YAC1D,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC;YAElC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAChD,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE;gBACzD,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,UAAU,CAAC,OAAO;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,UAAmB;YACpD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACtD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACtE,OAAO,GAAG,CAAC,IAAkC,CAAC;QAChD,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,KAAa;YACpC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC;YACtE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAa,CAAC;QACxC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"streamer.js","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { Span, SpanKind, SpanOptions } from '@opentelemetry/api';
|
|
2
|
+
/**
|
|
3
|
+
* Wrap an async function with a trace span.
|
|
4
|
+
* No-op if OpenTelemetry is not available.
|
|
5
|
+
*/
|
|
6
|
+
export declare function trace<T>(spanName: string, ...args: [fn: (span?: Span) => Promise<T>] | [opts: SpanOptions, fn: (span?: Span) => Promise<T>]): Promise<T>;
|
|
7
|
+
/**
|
|
8
|
+
* Get SpanKind enum value by name.
|
|
9
|
+
* Returns undefined if OpenTelemetry is not available.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getSpanKind(field: keyof typeof SpanKind): Promise<SpanKind | undefined>;
|
|
12
|
+
/** HTTP request method (standard OTEL: http.request.method) */
|
|
13
|
+
export declare const HttpRequestMethod: (value: string) => {
|
|
14
|
+
[k: string]: string;
|
|
15
|
+
};
|
|
16
|
+
/** Full URL of the request (standard OTEL: url.full) */
|
|
17
|
+
export declare const UrlFull: (value: string) => {
|
|
18
|
+
[k: string]: string;
|
|
19
|
+
};
|
|
20
|
+
/** Server hostname (standard OTEL: server.address) */
|
|
21
|
+
export declare const ServerAddress: (value: string) => {
|
|
22
|
+
[k: string]: string;
|
|
23
|
+
};
|
|
24
|
+
/** Server port (standard OTEL: server.port) */
|
|
25
|
+
export declare const ServerPort: (value: number) => {
|
|
26
|
+
[k: string]: number;
|
|
27
|
+
};
|
|
28
|
+
/** HTTP response status code (standard OTEL: http.response.status_code) */
|
|
29
|
+
export declare const HttpResponseStatusCode: (value: number) => {
|
|
30
|
+
[k: string]: number;
|
|
31
|
+
};
|
|
32
|
+
/** Error type when request fails (standard OTEL: error.type) */
|
|
33
|
+
export declare const ErrorType: (value: string) => {
|
|
34
|
+
[k: string]: string;
|
|
35
|
+
};
|
|
36
|
+
/** Format used for parsing response body (cbor or json) */
|
|
37
|
+
export declare const WorldParseFormat: (value: "cbor" | "json") => {
|
|
38
|
+
[k: string]: "cbor" | "json";
|
|
39
|
+
};
|
|
40
|
+
/** The remote service name for Datadog service maps (Datadog-specific: peer.service) */
|
|
41
|
+
export declare const PeerService: (value: string) => {
|
|
42
|
+
[k: string]: string;
|
|
43
|
+
};
|
|
44
|
+
/** RPC system identifier (standard OTEL: rpc.system) */
|
|
45
|
+
export declare const RpcSystem: (value: string) => {
|
|
46
|
+
[k: string]: string;
|
|
47
|
+
};
|
|
48
|
+
/** RPC service name (standard OTEL: rpc.service) */
|
|
49
|
+
export declare const RpcService: (value: string) => {
|
|
50
|
+
[k: string]: string;
|
|
51
|
+
};
|
|
52
|
+
/** RPC method name (standard OTEL: rpc.method) */
|
|
53
|
+
export declare const RpcMethod: (value: string) => {
|
|
54
|
+
[k: string]: string;
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAuBtE;;;GAGG;AACH,wBAAsB,KAAK,CAAC,CAAC,EAC3B,QAAQ,EAAE,MAAM,EAChB,GAAG,IAAI,EACH,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GACjC,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GACvD,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,OAAO,QAAQ,GAC3B,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAI/B;AASD,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB;;CAE7B,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,OAAO;;CAAyC,CAAC;AAE9D,sDAAsD;AACtD,eAAO,MAAM,aAAa;;CAA+C,CAAC;AAE1E,+CAA+C;AAC/C,eAAO,MAAM,UAAU;;CAA4C,CAAC;AAEpE,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB;;CAElC,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,SAAS;;CAA2C,CAAC;AAElE,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB;;CAE5B,CAAC;AAKF,wFAAwF;AACxF,eAAO,MAAM,WAAW;;CAA6C,CAAC;AAEtE,wDAAwD;AACxD,eAAO,MAAM,SAAS;;CAA2C,CAAC;AAElE,oDAAoD;AACpD,eAAO,MAAM,UAAU;;CAA4C,CAAC;AAEpE,kDAAkD;AAClD,eAAO,MAAM,SAAS;;CAA2C,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// Lazy load OpenTelemetry API to make it optional
|
|
2
|
+
let otelApiPromise = null;
|
|
3
|
+
async function getOtelApi() {
|
|
4
|
+
if (!otelApiPromise) {
|
|
5
|
+
otelApiPromise = import('@opentelemetry/api').catch(() => null);
|
|
6
|
+
}
|
|
7
|
+
return otelApiPromise;
|
|
8
|
+
}
|
|
9
|
+
let tracerPromise = null;
|
|
10
|
+
async function getTracer() {
|
|
11
|
+
if (!tracerPromise) {
|
|
12
|
+
tracerPromise = getOtelApi().then((otel) => otel ? otel.trace.getTracer('workflow') : null);
|
|
13
|
+
}
|
|
14
|
+
return tracerPromise;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Wrap an async function with a trace span.
|
|
18
|
+
* No-op if OpenTelemetry is not available.
|
|
19
|
+
*/
|
|
20
|
+
export async function trace(spanName, ...args) {
|
|
21
|
+
const [tracer, otel] = await Promise.all([getTracer(), getOtelApi()]);
|
|
22
|
+
const { fn, opts } = typeof args[0] === 'function'
|
|
23
|
+
? { fn: args[0], opts: {} }
|
|
24
|
+
: { fn: args[1], opts: args[0] };
|
|
25
|
+
if (!fn)
|
|
26
|
+
throw new Error('Function to trace must be provided');
|
|
27
|
+
if (!tracer || !otel) {
|
|
28
|
+
return await fn();
|
|
29
|
+
}
|
|
30
|
+
return tracer.startActiveSpan(spanName, opts, async (span) => {
|
|
31
|
+
try {
|
|
32
|
+
const result = await fn(span);
|
|
33
|
+
span.setStatus({ code: otel.SpanStatusCode.OK });
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
span.setStatus({
|
|
38
|
+
code: otel.SpanStatusCode.ERROR,
|
|
39
|
+
message: e.message,
|
|
40
|
+
});
|
|
41
|
+
throw e;
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
span.end();
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get SpanKind enum value by name.
|
|
50
|
+
* Returns undefined if OpenTelemetry is not available.
|
|
51
|
+
*/
|
|
52
|
+
export async function getSpanKind(field) {
|
|
53
|
+
const otel = await getOtelApi();
|
|
54
|
+
if (!otel)
|
|
55
|
+
return undefined;
|
|
56
|
+
return otel.SpanKind[field];
|
|
57
|
+
}
|
|
58
|
+
// Semantic conventions for World/Storage tracing
|
|
59
|
+
// Standard OTEL conventions: https://opentelemetry.io/docs/specs/semconv/http/http-spans/
|
|
60
|
+
function SemanticConvention(...names) {
|
|
61
|
+
return (value) => Object.fromEntries(names.map((name) => [name, value]));
|
|
62
|
+
}
|
|
63
|
+
/** HTTP request method (standard OTEL: http.request.method) */
|
|
64
|
+
export const HttpRequestMethod = SemanticConvention('http.request.method');
|
|
65
|
+
/** Full URL of the request (standard OTEL: url.full) */
|
|
66
|
+
export const UrlFull = SemanticConvention('url.full');
|
|
67
|
+
/** Server hostname (standard OTEL: server.address) */
|
|
68
|
+
export const ServerAddress = SemanticConvention('server.address');
|
|
69
|
+
/** Server port (standard OTEL: server.port) */
|
|
70
|
+
export const ServerPort = SemanticConvention('server.port');
|
|
71
|
+
/** HTTP response status code (standard OTEL: http.response.status_code) */
|
|
72
|
+
export const HttpResponseStatusCode = SemanticConvention('http.response.status_code');
|
|
73
|
+
/** Error type when request fails (standard OTEL: error.type) */
|
|
74
|
+
export const ErrorType = SemanticConvention('error.type');
|
|
75
|
+
/** Format used for parsing response body (cbor or json) */
|
|
76
|
+
export const WorldParseFormat = SemanticConvention('workflow.world.parse.format');
|
|
77
|
+
// RPC/Peer Service attributes - For service maps and dependency tracking
|
|
78
|
+
// See: https://opentelemetry.io/docs/specs/semconv/rpc/rpc-spans/
|
|
79
|
+
/** The remote service name for Datadog service maps (Datadog-specific: peer.service) */
|
|
80
|
+
export const PeerService = SemanticConvention('peer.service');
|
|
81
|
+
/** RPC system identifier (standard OTEL: rpc.system) */
|
|
82
|
+
export const RpcSystem = SemanticConvention('rpc.system');
|
|
83
|
+
/** RPC service name (standard OTEL: rpc.service) */
|
|
84
|
+
export const RpcService = SemanticConvention('rpc.service');
|
|
85
|
+
/** RPC method name (standard OTEL: rpc.method) */
|
|
86
|
+
export const RpcMethod = SemanticConvention('rpc.method');
|
|
87
|
+
//# sourceMappingURL=telemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,iBAAiB,CAAC;AAE9E,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,iBAAiB,CAAC;AAE9E,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0B7B,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,eAAe,CAAA;CAAE,EAClE,IAAI,EAAE,CAAC,GACN,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBvC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAgD3E;AAUD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,UAAU,GACrB,SAAS,SAAS,KACjB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAWxC,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,QAAQ,SAAS,GAAG,SAAS,EAC7B,SAAS;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,KAC/B,OAuBF,CAAC;AAEF,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAQ3E;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,EACnC,QAAQ,EACR,OAAY,EACZ,MAAW,EACX,MAAM,EACN,IAAI,GACL,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,CAAC,CAAC,CA2Hb"}
|
package/dist/utils.js
CHANGED
|
@@ -4,6 +4,7 @@ import { getVercelOidcToken } from '@vercel/oidc';
|
|
|
4
4
|
import { WorkflowAPIError } from '@workflow/errors';
|
|
5
5
|
import { StructuredErrorSchema } from '@workflow/world';
|
|
6
6
|
import { decode, encode } from 'cbor-x';
|
|
7
|
+
import { trace, getSpanKind, HttpRequestMethod, HttpResponseStatusCode, UrlFull, ServerAddress, ServerPort, ErrorType, WorldParseFormat, PeerService, RpcSystem, RpcService, } from './telemetry.js';
|
|
7
8
|
import { version } from './version.js';
|
|
8
9
|
/**
|
|
9
10
|
* Hard-coded workflow-server URL override for testing.
|
|
@@ -147,52 +148,104 @@ export async function getHttpConfig(config) {
|
|
|
147
148
|
return { baseUrl, headers, usingProxy };
|
|
148
149
|
}
|
|
149
150
|
export async function makeRequest({ endpoint, options = {}, config = {}, schema, data, }) {
|
|
151
|
+
const method = options.method || 'GET';
|
|
150
152
|
const { baseUrl, headers } = await getHttpConfig(config);
|
|
151
|
-
headers.set('Accept', 'application/cbor');
|
|
152
|
-
// NOTE: Add a unique header to bypass RSC request memoization.
|
|
153
|
-
// See: https://github.com/vercel/workflow/issues/618
|
|
154
|
-
headers.set('X-Request-Time', Date.now().toString());
|
|
155
|
-
// Encode body as CBOR if data is provided
|
|
156
|
-
let body;
|
|
157
|
-
if (data !== undefined) {
|
|
158
|
-
headers.set('Content-Type', 'application/cbor');
|
|
159
|
-
body = encode(data);
|
|
160
|
-
}
|
|
161
153
|
const url = `${baseUrl}${endpoint}`;
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
headers,
|
|
166
|
-
});
|
|
167
|
-
const response = await fetch(request);
|
|
168
|
-
if (!response.ok) {
|
|
169
|
-
const errorData = await parseResponseBody(response)
|
|
170
|
-
.then((r) => r.data)
|
|
171
|
-
.catch(() => ({}));
|
|
172
|
-
if (process.env.DEBUG === '1') {
|
|
173
|
-
const stringifiedHeaders = Array.from(headers.entries())
|
|
174
|
-
.map(([key, value]) => `-H "${key}: ${value}"`)
|
|
175
|
-
.join(' ');
|
|
176
|
-
console.error(`Failed to fetch, reproduce with:\ncurl -X ${request.method} ${stringifiedHeaders} "${url}"`);
|
|
177
|
-
}
|
|
178
|
-
throw new WorkflowAPIError(errorData.message ||
|
|
179
|
-
`${request.method} ${endpoint} -> HTTP ${response.status}: ${response.statusText}`, { url, status: response.status, code: errorData.code });
|
|
180
|
-
}
|
|
181
|
-
// Parse the response body (CBOR or JSON)
|
|
182
|
-
let parseResult;
|
|
154
|
+
// Parse server address and port from URL for OTEL attributes
|
|
155
|
+
let serverAddress;
|
|
156
|
+
let serverPort;
|
|
183
157
|
try {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
158
|
+
const parsedUrl = new URL(url);
|
|
159
|
+
serverAddress = parsedUrl.hostname;
|
|
160
|
+
serverPort = parsedUrl.port
|
|
161
|
+
? parseInt(parsedUrl.port, 10)
|
|
162
|
+
: parsedUrl.protocol === 'https:'
|
|
163
|
+
? 443
|
|
164
|
+
: 80;
|
|
189
165
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
if (!result.success) {
|
|
193
|
-
throw new WorkflowAPIError(`Schema validation failed for ${request.method} ${endpoint}:\n\n${result.error}\n\nResponse context: ${parseResult.getDebugContext()}`, { url, cause: result.error });
|
|
166
|
+
catch {
|
|
167
|
+
// URL parsing failed, skip these attributes
|
|
194
168
|
}
|
|
195
|
-
|
|
169
|
+
// Standard OTEL span name for HTTP client: "{method}"
|
|
170
|
+
// See: https://opentelemetry.io/docs/specs/semconv/http/http-spans/#name
|
|
171
|
+
return trace(`http ${method}`, { kind: await getSpanKind('CLIENT') }, async (span) => {
|
|
172
|
+
// Set standard OTEL HTTP client attributes
|
|
173
|
+
span?.setAttributes({
|
|
174
|
+
...HttpRequestMethod(method),
|
|
175
|
+
...UrlFull(url),
|
|
176
|
+
...(serverAddress && ServerAddress(serverAddress)),
|
|
177
|
+
...(serverPort && ServerPort(serverPort)),
|
|
178
|
+
// Peer service for Datadog service maps
|
|
179
|
+
...PeerService('workflow-server'),
|
|
180
|
+
...RpcSystem('http'),
|
|
181
|
+
...RpcService('workflow-server'),
|
|
182
|
+
});
|
|
183
|
+
headers.set('Accept', 'application/cbor');
|
|
184
|
+
// NOTE: Add a unique header to bypass RSC request memoization.
|
|
185
|
+
// See: https://github.com/vercel/workflow/issues/618
|
|
186
|
+
headers.set('X-Request-Time', Date.now().toString());
|
|
187
|
+
// Encode body as CBOR if data is provided
|
|
188
|
+
let body;
|
|
189
|
+
if (data !== undefined) {
|
|
190
|
+
headers.set('Content-Type', 'application/cbor');
|
|
191
|
+
body = encode(data);
|
|
192
|
+
}
|
|
193
|
+
const request = new Request(url, {
|
|
194
|
+
...options,
|
|
195
|
+
body,
|
|
196
|
+
headers,
|
|
197
|
+
});
|
|
198
|
+
const response = await fetch(request);
|
|
199
|
+
span?.setAttributes({
|
|
200
|
+
...HttpResponseStatusCode(response.status),
|
|
201
|
+
});
|
|
202
|
+
if (!response.ok) {
|
|
203
|
+
const errorData = await parseResponseBody(response)
|
|
204
|
+
.then((r) => r.data)
|
|
205
|
+
.catch(() => ({}));
|
|
206
|
+
if (process.env.DEBUG === '1') {
|
|
207
|
+
const stringifiedHeaders = Array.from(headers.entries())
|
|
208
|
+
.map(([key, value]) => `-H "${key}: ${value}"`)
|
|
209
|
+
.join(' ');
|
|
210
|
+
console.error(`Failed to fetch, reproduce with:\ncurl -X ${request.method} ${stringifiedHeaders} "${url}"`);
|
|
211
|
+
}
|
|
212
|
+
const error = new WorkflowAPIError(errorData.message ||
|
|
213
|
+
`${request.method} ${endpoint} -> HTTP ${response.status}: ${response.statusText}`, { url, status: response.status, code: errorData.code });
|
|
214
|
+
// Record error attributes per OTEL conventions
|
|
215
|
+
span?.setAttributes({
|
|
216
|
+
...ErrorType(errorData.code || `HTTP ${response.status}`),
|
|
217
|
+
});
|
|
218
|
+
span?.recordException?.(error);
|
|
219
|
+
throw error;
|
|
220
|
+
}
|
|
221
|
+
// Parse the response body (CBOR or JSON) with tracing
|
|
222
|
+
let parseResult;
|
|
223
|
+
try {
|
|
224
|
+
parseResult = await trace('world.parse', async (parseSpan) => {
|
|
225
|
+
const result = await parseResponseBody(response);
|
|
226
|
+
// Extract format and size from debug context for attributes
|
|
227
|
+
const contentType = response.headers.get('Content-Type') || '';
|
|
228
|
+
const isCbor = contentType.includes('application/cbor');
|
|
229
|
+
parseSpan?.setAttributes({
|
|
230
|
+
...WorldParseFormat(isCbor ? 'cbor' : 'json'),
|
|
231
|
+
});
|
|
232
|
+
return result;
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
const contentType = response.headers.get('Content-Type') || 'unknown';
|
|
237
|
+
throw new WorkflowAPIError(`Failed to parse response body for ${request.method} ${endpoint} (Content-Type: ${contentType}):\n\n${error}`, { url, cause: error });
|
|
238
|
+
}
|
|
239
|
+
// Validate against the schema with tracing
|
|
240
|
+
const result = await trace('world.validate', async () => {
|
|
241
|
+
const validationResult = schema.safeParse(parseResult.data);
|
|
242
|
+
if (!validationResult.success) {
|
|
243
|
+
throw new WorkflowAPIError(`Schema validation failed for ${request.method} ${endpoint}:\n\n${validationResult.error}\n\nResponse context: ${parseResult.getDebugContext()}`, { url, cause: validationResult.error });
|
|
244
|
+
}
|
|
245
|
+
return validationResult.data;
|
|
246
|
+
});
|
|
247
|
+
return result;
|
|
248
|
+
});
|
|
196
249
|
}
|
|
197
250
|
/** Max length for response preview in error messages */
|
|
198
251
|
const MAX_PREVIEW_LENGTH = 500;
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAwB,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EACL,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,OAAO,EACP,aAAa,EACb,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAYxC,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAO;IAEP,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAEhC,gDAAgD;IAChD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO;YACL,GAAG,IAAI;YACP,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;SACqC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAwB,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAAgC,GAAQ;IACtE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAE/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,GAAQ,CAAC;IAClB,CAAC;IAED,wEAAwE;IACxE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE;oBACL,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;oBAC5B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;oBACxB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;iBACvB;aACG,CAAC;QACT,CAAC;QACD,0CAA0C;IAC5C,CAAC;IAED,8DAA8D;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9D,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB;aACG,CAAC;QACT,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;YACxD,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE;oBACL,OAAO,EAAE,KAAK;iBACf;aACG,CAAC;QACT,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,OAAO,GAAQ,CAAC;AAClB,CAAC;AAED,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACtD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,0BAA0B,OAAO,SAAS,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,YAAY,EAAE,CAAC;IACrH,CAAC;IACD,OAAO,0BAA0B,OAAO,SAAS,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;AACrG,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,MAAkB,EACwB,EAAE;IAC5C,MAAM,aAAa,GAAG,MAAM,EAAE,aAAa,CAAC;IAC5C,MAAM,WAAW,GACf,4BAA4B,IAAI,6BAA6B,CAAC;IAChE,MAAM,eAAe,GAAG,oCAAoC,CAAC;IAC7D,4EAA4E;IAC5E,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,CAAC,CAAC;IAC9E,kHAAkH;IAClH,sFAAsF;IACtF,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,WAAW,MAAM,CAAC;IACpE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,MAA6B,EAC7B,OAAgC,EACvB,EAAE;IACX,MAAM,aAAa,GAAG,MAAM,EAAE,aAAa,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;IAC1C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CACT,sBAAsB,EACtB,aAAa,CAAC,WAAW,IAAI,YAAY,CAC1C,CAAC;QACF,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,yEAAyE;IACzE,wEAAwE;IACxE,gEAAgE;IAChE,IAAI,4BAA4B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,4BAA4B,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAkB;IACpD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC;IAC5D,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAI,EACnC,QAAQ,EACR,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,EAAE,EACX,MAAM,EACN,IAAI,GAQL;IACC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC;IAEpC,6DAA6D;IAC7D,IAAI,aAAiC,CAAC;IACtC,IAAI,UAA8B,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC;QACnC,UAAU,GAAG,SAAS,CAAC,IAAI;YACzB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9B,CAAC,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ;gBAC/B,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,EAAE,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;IAED,sDAAsD;IACtD,yEAAyE;IACzE,OAAO,KAAK,CACV,QAAQ,MAAM,EAAE,EAChB,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC,QAAQ,CAAC,EAAE,EACrC,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,2CAA2C;QAC3C,IAAI,EAAE,aAAa,CAAC;YAClB,GAAG,iBAAiB,CAAC,MAAM,CAAC;YAC5B,GAAG,OAAO,CAAC,GAAG,CAAC;YACf,GAAG,CAAC,aAAa,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;YAClD,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;YACzC,wCAAwC;YACxC,GAAG,WAAW,CAAC,iBAAiB,CAAC;YACjC,GAAG,SAAS,CAAC,MAAM,CAAC;YACpB,GAAG,UAAU,CAAC,iBAAiB,CAAC;SACjC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAC1C,+DAA+D;QAC/D,qDAAqD;QACrD,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAErD,0CAA0C;QAC1C,IAAI,IAAwB,CAAC;QAC7B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAChD,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YAC/B,GAAG,OAAO;YACV,IAAI;YACJ,OAAO;SACR,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,EAAE,aAAa,CAAC;YAClB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC;SAC3C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GACb,MAAM,iBAAiB,CAAC,QAAQ,CAAC;iBAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAA2C,CAAC;iBAC1D,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC9B,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;qBACrD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAmB,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,KAAK,GAAG,CAAC;qBAChE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACb,OAAO,CAAC,KAAK,CACX,6CAA6C,OAAO,CAAC,MAAM,IAAI,kBAAkB,KAAK,GAAG,GAAG,CAC7F,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAChC,SAAS,CAAC,OAAO;gBACf,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,YAAY,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,EACpF,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CACvD,CAAC;YACF,+CAA+C;YAC/C,IAAI,EAAE,aAAa,CAAC;gBAClB,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,IAAI,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;aAC1D,CAAC,CAAC;YACH,IAAI,EAAE,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC;QAED,sDAAsD;QACtD,IAAI,WAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAC3D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACjD,4DAA4D;gBAC5D,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC/D,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBACxD,SAAS,EAAE,aAAa,CAAC;oBACvB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;iBAC9C,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;YACtE,MAAM,IAAI,gBAAgB,CACxB,qCAAqC,OAAO,CAAC,MAAM,IAAI,QAAQ,mBAAmB,WAAW,SAAS,KAAK,EAAE,EAC7G,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CACtB,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM,IAAI,gBAAgB,CACxB,gCAAgC,OAAO,CAAC,MAAM,IAAI,QAAQ,QAAQ,gBAAgB,CAAC,KAAK,yBAAyB,WAAW,CAAC,eAAe,EAAE,EAAE,EAChJ,EAAE,GAAG,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,CACvC,CAAC;YACJ,CAAC;YACD,OAAO,gBAAgB,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC,CACF,CAAC;AACJ,CAAC;AAQD,wDAAwD;AACxD,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B;;GAEG;AACH,SAAS,aAAa,CAAC,IAAa;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9E,OAAO,GAAG,CAAC,MAAM,GAAG,kBAAkB;QACpC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,KAAK;QAC1C,CAAC,CAAC,GAAG,CAAC;AACV,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAAC,QAAkB;IACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAE/D,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5C,OAAO;YACL,IAAI;YACJ,eAAe,EAAE,GAAG,EAAE,CACpB,iBAAiB,WAAW,KAAK,MAAM,CAAC,UAAU,2BAA2B,aAAa,CAAC,IAAI,CAAC,EAAE;SACrG,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO;QACL,IAAI;QACJ,eAAe,EAAE,GAAG,EAAE,CACpB,iBAAiB,WAAW,KAAK,IAAI,CAAC,MAAM,oBAAoB,aAAa,CAAC,IAAI,CAAC,EAAE;KACxF,CAAC;AACJ,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "4.1.0-beta.
|
|
1
|
+
export declare const version = "4.1.0-beta.30";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workflow/world-vercel",
|
|
3
|
-
"version": "4.1.0-beta.
|
|
3
|
+
"version": "4.1.0-beta.30",
|
|
4
4
|
"description": "Vercel platform World implementation for Workflow DevKit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,13 +24,22 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@vercel/oidc": "3.0.5",
|
|
27
|
-
"@vercel/queue": "0.0.0-alpha.
|
|
27
|
+
"@vercel/queue": "0.0.0-alpha.36",
|
|
28
28
|
"cbor-x": "1.6.0",
|
|
29
29
|
"zod": "4.1.11",
|
|
30
30
|
"@workflow/errors": "4.1.0-beta.14",
|
|
31
|
-
"@workflow/world": "4.1.0-beta.
|
|
31
|
+
"@workflow/world": "4.1.0-beta.2"
|
|
32
|
+
},
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"@opentelemetry/api": "1"
|
|
35
|
+
},
|
|
36
|
+
"peerDependenciesMeta": {
|
|
37
|
+
"@opentelemetry/api": {
|
|
38
|
+
"optional": true
|
|
39
|
+
}
|
|
32
40
|
},
|
|
33
41
|
"devDependencies": {
|
|
42
|
+
"@opentelemetry/api": "1.9.0",
|
|
34
43
|
"@types/node": "22.19.0",
|
|
35
44
|
"genversion": "3.2.0",
|
|
36
45
|
"vitest": "^3.2.4",
|