@workflow/world-local 4.1.0-beta.43 → 4.1.0-beta.45
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/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/fs.d.ts +28 -0
- package/dist/fs.d.ts.map +1 -1
- package/dist/fs.js +73 -3
- package/dist/fs.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +55 -5
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +6 -1
- package/dist/init.js.map +1 -1
- package/dist/queue.d.ts +1 -28
- package/dist/queue.d.ts.map +1 -1
- package/dist/queue.js +77 -95
- package/dist/queue.js.map +1 -1
- package/dist/storage/events-storage.d.ts +1 -1
- package/dist/storage/events-storage.d.ts.map +1 -1
- package/dist/storage/events-storage.js +94 -89
- package/dist/storage/events-storage.js.map +1 -1
- package/dist/storage/filters.d.ts +2 -6
- package/dist/storage/filters.d.ts.map +1 -1
- package/dist/storage/filters.js +1 -11
- package/dist/storage/filters.js.map +1 -1
- package/dist/storage/helpers.d.ts.map +1 -1
- package/dist/storage/helpers.js +7 -4
- package/dist/storage/helpers.js.map +1 -1
- package/dist/storage/hooks-storage.d.ts +1 -1
- package/dist/storage/hooks-storage.d.ts.map +1 -1
- package/dist/storage/hooks-storage.js +3 -4
- package/dist/storage/hooks-storage.js.map +1 -1
- package/dist/storage/index.d.ts +1 -1
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +5 -5
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/legacy.js +2 -2
- package/dist/storage/legacy.js.map +1 -1
- package/dist/storage/runs-storage.d.ts +1 -1
- package/dist/storage/runs-storage.d.ts.map +1 -1
- package/dist/storage/runs-storage.js +3 -4
- package/dist/storage/runs-storage.js.map +1 -1
- package/dist/storage/steps-storage.d.ts +1 -1
- package/dist/storage/steps-storage.d.ts.map +1 -1
- package/dist/storage/steps-storage.js +5 -6
- package/dist/storage/steps-storage.js.map +1 -1
- package/dist/streamer.d.ts +3 -1
- package/dist/streamer.d.ts.map +1 -1
- package/dist/streamer.js +190 -16
- package/dist/streamer.js.map +1 -1
- package/dist/test-helpers.d.ts +14 -3
- package/dist/test-helpers.d.ts.map +1 -1
- package/dist/test-helpers.js +29 -0
- package/dist/test-helpers.js.map +1 -1
- package/package.json +4 -4
package/dist/queue.js
CHANGED
|
@@ -30,7 +30,7 @@ function getQueueRoute(queueName) {
|
|
|
30
30
|
}
|
|
31
31
|
throw new Error('Unknown queue name prefix');
|
|
32
32
|
}
|
|
33
|
-
export function
|
|
33
|
+
export function createQueue(config) {
|
|
34
34
|
// Create a custom agent optimized for high-concurrency local workflows:
|
|
35
35
|
// - headersTimeout: 0 allows long-running steps
|
|
36
36
|
// - connections: 1000 allows many parallel connections to the same host
|
|
@@ -41,70 +41,6 @@ export function createQueueExecutor(config) {
|
|
|
41
41
|
connections: 1000,
|
|
42
42
|
keepAliveTimeout: 30_000,
|
|
43
43
|
});
|
|
44
|
-
/** Direct in-process handlers by queue prefix, bypassing HTTP when set. */
|
|
45
|
-
const directHandlers = new Map();
|
|
46
|
-
const executeMessage = async ({ queueName, messageId, attempt, body, headers: extraHeaders, }) => {
|
|
47
|
-
const { pathname, prefix } = getQueueRoute(queueName);
|
|
48
|
-
const headers = {
|
|
49
|
-
...extraHeaders,
|
|
50
|
-
'content-type': 'application/json',
|
|
51
|
-
'x-vqs-queue-name': queueName,
|
|
52
|
-
'x-vqs-message-id': messageId,
|
|
53
|
-
'x-vqs-message-attempt': String(attempt),
|
|
54
|
-
};
|
|
55
|
-
const directHandler = directHandlers.get(prefix);
|
|
56
|
-
let response;
|
|
57
|
-
if (directHandler) {
|
|
58
|
-
// Wrap direct handlers in a Request so local execution and HTTP execution
|
|
59
|
-
// share the same contract and response parsing.
|
|
60
|
-
const req = new Request('http://localhost/.well-known/workflow/v1/' + pathname, {
|
|
61
|
-
method: 'POST',
|
|
62
|
-
headers,
|
|
63
|
-
body,
|
|
64
|
-
});
|
|
65
|
-
response = await directHandler(req);
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
const baseUrl = await resolveBaseUrl(config);
|
|
69
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- undici v7 dispatcher types don't match @types/node's RequestInit
|
|
70
|
-
response = await fetch(`${baseUrl}/.well-known/workflow/v1/${pathname}`, {
|
|
71
|
-
method: 'POST',
|
|
72
|
-
duplex: 'half',
|
|
73
|
-
dispatcher: httpAgent,
|
|
74
|
-
headers,
|
|
75
|
-
body,
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
const text = await response.text();
|
|
79
|
-
if (!response.ok) {
|
|
80
|
-
return {
|
|
81
|
-
type: 'error',
|
|
82
|
-
status: response.status,
|
|
83
|
-
text,
|
|
84
|
-
headers: Object.fromEntries(response.headers.entries()),
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
try {
|
|
88
|
-
const timeoutSeconds = Number(JSON.parse(text).timeoutSeconds);
|
|
89
|
-
if (Number.isFinite(timeoutSeconds) && timeoutSeconds >= 0) {
|
|
90
|
-
return { type: 'reschedule', timeoutSeconds };
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
catch { }
|
|
94
|
-
return { type: 'completed' };
|
|
95
|
-
};
|
|
96
|
-
return {
|
|
97
|
-
executeMessage,
|
|
98
|
-
registerHandler(prefix, handler) {
|
|
99
|
-
directHandlers.set(prefix, handler);
|
|
100
|
-
},
|
|
101
|
-
async close() {
|
|
102
|
-
await httpAgent.close();
|
|
103
|
-
},
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
export function createQueue(config) {
|
|
107
|
-
const executor = createQueueExecutor(config);
|
|
108
44
|
const transport = new JsonTransport();
|
|
109
45
|
const generateId = monotonicFactory();
|
|
110
46
|
const semaphore = new Sema(WORKFLOW_LOCAL_QUEUE_CONCURRENCY);
|
|
@@ -113,6 +49,8 @@ export function createQueue(config) {
|
|
|
113
49
|
* that we don't queue the same message multiple times
|
|
114
50
|
*/
|
|
115
51
|
const inflightMessages = new Map();
|
|
52
|
+
/** Direct in-process handlers by queue prefix, bypassing HTTP when set. */
|
|
53
|
+
const directHandlers = new Map();
|
|
116
54
|
const queue = async (queueName, message, opts) => {
|
|
117
55
|
const cleanup = [];
|
|
118
56
|
if (opts?.idempotencyKey) {
|
|
@@ -122,8 +60,13 @@ export function createQueue(config) {
|
|
|
122
60
|
}
|
|
123
61
|
}
|
|
124
62
|
const body = transport.serialize(message);
|
|
125
|
-
getQueueRoute(queueName);
|
|
63
|
+
const { pathname, prefix } = getQueueRoute(queueName);
|
|
126
64
|
const messageId = MessageId.parse(`msg_${generateId()}`);
|
|
65
|
+
// Extract identifiers from the message for structured logging.
|
|
66
|
+
// Workflow messages have `runId`, step messages have `workflowRunId` + `stepId`.
|
|
67
|
+
const msg = message;
|
|
68
|
+
const runId = (msg.runId ?? msg.workflowRunId ?? undefined);
|
|
69
|
+
const stepId = (msg.stepId ?? undefined);
|
|
127
70
|
if (opts?.idempotencyKey) {
|
|
128
71
|
const key = opts.idempotencyKey;
|
|
129
72
|
inflightMessages.set(key, messageId);
|
|
@@ -137,40 +80,77 @@ export function createQueue(config) {
|
|
|
137
80
|
console.warn(`[world-local]: concurrency limit (${WORKFLOW_LOCAL_QUEUE_CONCURRENCY}) reached, waiting for queue to free up`);
|
|
138
81
|
await semaphore.acquire();
|
|
139
82
|
}
|
|
83
|
+
// Safety limit to prevent infinite loops in the local queue.
|
|
84
|
+
// The actual max delivery enforcement happens in the workflow/step handlers
|
|
85
|
+
// (at MAX_QUEUE_DELIVERIES = 48), so this just needs to be comfortably higher.
|
|
86
|
+
const MAX_LOCAL_SAFETY_LIMIT = 256;
|
|
140
87
|
try {
|
|
141
|
-
let
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
queueName,
|
|
146
|
-
messageId,
|
|
147
|
-
attempt: attempt + 1,
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
if (
|
|
152
|
-
|
|
88
|
+
for (let attempt = 0; attempt < MAX_LOCAL_SAFETY_LIMIT; attempt++) {
|
|
89
|
+
const headers = {
|
|
90
|
+
...opts?.headers,
|
|
91
|
+
'content-type': 'application/json',
|
|
92
|
+
'x-vqs-queue-name': queueName,
|
|
93
|
+
'x-vqs-message-id': messageId,
|
|
94
|
+
'x-vqs-message-attempt': String(attempt + 1),
|
|
95
|
+
};
|
|
96
|
+
const directHandler = directHandlers.get(prefix);
|
|
97
|
+
let response;
|
|
98
|
+
if (directHandler) {
|
|
99
|
+
const req = new Request(`http://localhost/.well-known/workflow/v1/${pathname}`, {
|
|
100
|
+
method: 'POST',
|
|
101
|
+
headers,
|
|
102
|
+
body,
|
|
103
|
+
});
|
|
104
|
+
response = await directHandler(req);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
const baseUrl = await resolveBaseUrl(config);
|
|
108
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- undici v7 dispatcher types don't match @types/node's RequestInit
|
|
109
|
+
response = await fetch(`${baseUrl}/.well-known/workflow/v1/${pathname}`, {
|
|
110
|
+
method: 'POST',
|
|
111
|
+
duplex: 'half',
|
|
112
|
+
dispatcher: httpAgent,
|
|
113
|
+
headers,
|
|
114
|
+
body,
|
|
115
|
+
});
|
|
153
116
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
117
|
+
const text = await response.text();
|
|
118
|
+
if (response.ok) {
|
|
119
|
+
try {
|
|
120
|
+
const timeoutSeconds = Number(JSON.parse(text).timeoutSeconds);
|
|
121
|
+
if (Number.isFinite(timeoutSeconds) && timeoutSeconds >= 0) {
|
|
122
|
+
// Clamp to MAX_SAFE_TIMEOUT_MS to avoid Node.js setTimeout overflow warning.
|
|
123
|
+
// When this fires early, the handler recalculates remaining time from
|
|
124
|
+
// persistent state and returns another timeoutSeconds if needed.
|
|
125
|
+
if (timeoutSeconds > 0) {
|
|
126
|
+
const timeoutMs = Math.min(timeoutSeconds * 1000, MAX_SAFE_TIMEOUT_MS);
|
|
127
|
+
await setTimeout(timeoutMs);
|
|
128
|
+
}
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
161
131
|
}
|
|
162
|
-
|
|
163
|
-
|
|
132
|
+
catch { }
|
|
133
|
+
return;
|
|
164
134
|
}
|
|
165
|
-
console.error(`[local
|
|
135
|
+
console.error(`[world-local] Queue message failed (attempt ${attempt + 1}, HTTP ${response.status})`, {
|
|
166
136
|
queueName,
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
137
|
+
messageId,
|
|
138
|
+
...(runId && { runId }),
|
|
139
|
+
...(stepId && { stepId }),
|
|
140
|
+
handlerError: text,
|
|
171
141
|
});
|
|
142
|
+
// 5s linear backoff to approximate VQS retry timing in local dev.
|
|
143
|
+
// VQS uses 5s linear for attempts 1–32, then exponential, but for
|
|
144
|
+
// local dev linear 5s is sufficient — the handler enforces the real
|
|
145
|
+
// cap at MAX_QUEUE_DELIVERIES (48) which keeps total time under ~4min.
|
|
146
|
+
await setTimeout(5000);
|
|
172
147
|
}
|
|
173
|
-
console.error(`[local
|
|
148
|
+
console.error(`[world-local] Queue message exhausted safety limit (${MAX_LOCAL_SAFETY_LIMIT} attempts)`, {
|
|
149
|
+
queueName,
|
|
150
|
+
messageId,
|
|
151
|
+
...(runId && { runId }),
|
|
152
|
+
...(stepId && { stepId }),
|
|
153
|
+
});
|
|
174
154
|
}
|
|
175
155
|
finally {
|
|
176
156
|
semaphore.release();
|
|
@@ -237,9 +217,11 @@ export function createQueue(config) {
|
|
|
237
217
|
queue,
|
|
238
218
|
createQueueHandler,
|
|
239
219
|
getDeploymentId,
|
|
240
|
-
registerHandler
|
|
220
|
+
registerHandler(prefix, handler) {
|
|
221
|
+
directHandlers.set(prefix, handler);
|
|
222
|
+
},
|
|
241
223
|
async close() {
|
|
242
|
-
await
|
|
224
|
+
await httpAgent.close();
|
|
243
225
|
},
|
|
244
226
|
};
|
|
245
227
|
}
|
package/dist/queue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,mFAAmF;AACnF,+FAA+F;AAC/F,MAAM,0BAA0B,GAC9B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,GAAG,EAAE,EAAE,CAAC;IACpE,QAAQ,CAAC;AAEX,oFAAoF;AACpF,4FAA4F;AAC5F,mFAAmF;AACnF,gEAAgE;AAChE,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAEvC,mEAAmE;AACnE,oEAAoE;AACpE,MAAM,yBAAyB,GAAG,IAAI,CAAC;AACvC,MAAM,gCAAgC,GACpC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,GAAG,EAAE,EAAE,CAAC;IACjE,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@ import type { Storage } from '@workflow/world';
|
|
|
3
3
|
* Creates the events storage implementation using the filesystem.
|
|
4
4
|
* Implements the Storage['events'] interface with create, list, and listByCorrelationId operations.
|
|
5
5
|
*/
|
|
6
|
-
export declare function createEventsStorage(basedir: string): Storage['events'];
|
|
6
|
+
export declare function createEventsStorage(basedir: string, tag?: string): Storage['events'];
|
|
7
7
|
//# sourceMappingURL=events-storage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events-storage.d.ts","sourceRoot":"","sources":["../../src/storage/events-storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"events-storage.d.ts","sourceRoot":"","sources":["../../src/storage/events-storage.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAMV,OAAO,EAGR,MAAM,iBAAiB,CAAC;AAgDzB;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,QAAQ,CAAC,CAg0BnB"}
|