@requence/task 1.0.0-alpha.1
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/CHANGELOG.md +0 -0
- package/build/chunk-s4kgf465.js +67 -0
- package/build/chunk-s4kgf465.js.map +12 -0
- package/build/cli.js +5407 -0
- package/build/cli.js.map +47 -0
- package/build/index.js +267 -0
- package/build/index.js.map +12 -0
- package/build/types/helpers/src/clone.d.ts +3 -0
- package/build/types/helpers/src/clone.d.ts.map +1 -0
- package/build/types/helpers/src/createObjectProxy.d.ts +2 -0
- package/build/types/helpers/src/createObjectProxy.d.ts.map +1 -0
- package/build/types/helpers/src/createRemotePromise.d.ts +7 -0
- package/build/types/helpers/src/createRemotePromise.d.ts.map +1 -0
- package/build/types/helpers/src/index.d.ts +7 -0
- package/build/types/helpers/src/index.d.ts.map +1 -0
- package/build/types/helpers/src/obfuscate.d.ts +4 -0
- package/build/types/helpers/src/obfuscate.d.ts.map +1 -0
- package/build/types/helpers/src/utils.d.ts +4 -0
- package/build/types/helpers/src/utils.d.ts.map +1 -0
- package/build/types/task/src/index.d.ts +82 -0
- package/build/types/task/src/index.d.ts.map +1 -0
- package/build/types/task/src/types.d.ts +371 -0
- package/build/types/task/src/types.d.ts.map +1 -0
- package/build/types/task/src/utils/callbackToAsyncIterator.d.ts +5 -0
- package/build/types/task/src/utils/callbackToAsyncIterator.d.ts.map +1 -0
- package/package.json +30 -0
package/build/index.js
ADDED
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createRemotePromise,
|
|
3
|
+
deobfuscate
|
|
4
|
+
} from "./chunk-s4kgf465.js";
|
|
5
|
+
|
|
6
|
+
// src/index.ts
|
|
7
|
+
import { readFileSync } from "node:fs";
|
|
8
|
+
import { EventSource } from "eventsource";
|
|
9
|
+
import { z as z2 } from "zod";
|
|
10
|
+
|
|
11
|
+
// src/types.ts
|
|
12
|
+
import { z } from "zod";
|
|
13
|
+
var serviceNodeInfoSchema = z.object({
|
|
14
|
+
id: z.string().uuid(),
|
|
15
|
+
type: z.literal("service"),
|
|
16
|
+
alias: z.string().optional(),
|
|
17
|
+
service: z.object({
|
|
18
|
+
id: z.string().uuid(),
|
|
19
|
+
name: z.string(),
|
|
20
|
+
version: z.string()
|
|
21
|
+
}).optional()
|
|
22
|
+
});
|
|
23
|
+
var logicNodeInfoSchema = z.object({
|
|
24
|
+
id: z.string().uuid(),
|
|
25
|
+
type: z.literal("logic"),
|
|
26
|
+
alias: z.string().optional(),
|
|
27
|
+
logic: z.object({
|
|
28
|
+
language: z.enum(["typescript", "javascript", "python"])
|
|
29
|
+
}).optional()
|
|
30
|
+
});
|
|
31
|
+
var nodeInfoSchema = z.discriminatedUnion("type", [
|
|
32
|
+
serviceNodeInfoSchema,
|
|
33
|
+
logicNodeInfoSchema
|
|
34
|
+
]);
|
|
35
|
+
var taskStartUpdateSchema = z.object({
|
|
36
|
+
type: z.literal("taskStart"),
|
|
37
|
+
timestamp: z.coerce.date(),
|
|
38
|
+
input: z.unknown(),
|
|
39
|
+
meta: z.unknown()
|
|
40
|
+
});
|
|
41
|
+
var taskErrorUpdateSchema = z.object({
|
|
42
|
+
type: z.literal("taskError"),
|
|
43
|
+
timestamp: z.coerce.date(),
|
|
44
|
+
error: z.string()
|
|
45
|
+
});
|
|
46
|
+
var taskEndUpdateSchema = z.object({
|
|
47
|
+
type: z.literal("taskEnd"),
|
|
48
|
+
timestamp: z.coerce.date(),
|
|
49
|
+
result: z.record(z.string(), z.unknown()),
|
|
50
|
+
partialResults: z.array(z.object({
|
|
51
|
+
node: nodeInfoSchema,
|
|
52
|
+
timestamp: z.coerce.date().nullable(),
|
|
53
|
+
data: z.unknown(),
|
|
54
|
+
error: z.string().optional()
|
|
55
|
+
}))
|
|
56
|
+
});
|
|
57
|
+
var nodeStartUpdateSchema = z.object({
|
|
58
|
+
type: z.literal("nodeStart"),
|
|
59
|
+
timestamp: z.coerce.date(),
|
|
60
|
+
node: nodeInfoSchema
|
|
61
|
+
});
|
|
62
|
+
var nodeUpdateUpdateSchema = z.object({
|
|
63
|
+
type: z.literal("nodeUpdate"),
|
|
64
|
+
timestamp: z.coerce.date(),
|
|
65
|
+
data: z.unknown()
|
|
66
|
+
});
|
|
67
|
+
var nodeErrorUpdateSchema = z.object({
|
|
68
|
+
type: z.literal("nodeError"),
|
|
69
|
+
timestamp: z.coerce.date(),
|
|
70
|
+
error: z.string()
|
|
71
|
+
});
|
|
72
|
+
var nodeDeferUpdateSchema = z.object({
|
|
73
|
+
type: z.literal("nodeDefer"),
|
|
74
|
+
timestamp: z.coerce.date(),
|
|
75
|
+
reason: z.string().optional()
|
|
76
|
+
});
|
|
77
|
+
var updateSchema = z.discriminatedUnion("type", [
|
|
78
|
+
taskStartUpdateSchema,
|
|
79
|
+
taskErrorUpdateSchema,
|
|
80
|
+
taskEndUpdateSchema,
|
|
81
|
+
nodeStartUpdateSchema,
|
|
82
|
+
nodeUpdateUpdateSchema,
|
|
83
|
+
nodeErrorUpdateSchema,
|
|
84
|
+
nodeDeferUpdateSchema
|
|
85
|
+
]);
|
|
86
|
+
|
|
87
|
+
// src/utils/callbackToAsyncIterator.ts
|
|
88
|
+
function callbackToAsyncIterator(options) {
|
|
89
|
+
const pullQueue = [];
|
|
90
|
+
const pushQueue = [];
|
|
91
|
+
const pushValue = (value) => {
|
|
92
|
+
if (pullQueue.length !== 0) {
|
|
93
|
+
const resolver = pullQueue.shift();
|
|
94
|
+
resolver(value);
|
|
95
|
+
} else {
|
|
96
|
+
pushQueue.push(value);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
const pullValue = () => new Promise((resolve) => {
|
|
100
|
+
if (pushQueue.length !== 0) {
|
|
101
|
+
resolve(pushQueue.shift());
|
|
102
|
+
} else {
|
|
103
|
+
pullQueue.push(resolve);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
return {
|
|
107
|
+
[Symbol.asyncIterator]() {
|
|
108
|
+
let done = false;
|
|
109
|
+
const unsubscribe = options.subscribe(pushValue);
|
|
110
|
+
return {
|
|
111
|
+
async next() {
|
|
112
|
+
if (done) {
|
|
113
|
+
return { value: undefined, done: true };
|
|
114
|
+
}
|
|
115
|
+
const value = await pullValue();
|
|
116
|
+
done = options.done(value);
|
|
117
|
+
return { value, done: false };
|
|
118
|
+
},
|
|
119
|
+
async return() {
|
|
120
|
+
unsubscribe?.();
|
|
121
|
+
return { value: undefined, done: true };
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// src/index.ts
|
|
129
|
+
class TaskError extends Error {
|
|
130
|
+
taskTemplate;
|
|
131
|
+
constructor(message, taskTemplate) {
|
|
132
|
+
super(message);
|
|
133
|
+
this.taskTemplate = taskTemplate;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
var eventSchema = z2.object({ type: z2.string(), data: z2.string() }).transform((event) => ({ type: event.type, ...JSON.parse(event.data) })).pipe(updateSchema);
|
|
137
|
+
function createTask(params, onUpdate) {
|
|
138
|
+
const taskUpdateHandlers = new Set;
|
|
139
|
+
const accessKey = params.accessToken ?? process.env.REQUENCE_ACCESS_TOKEN ?? JSON.parse(readFileSync("package.json", "utf-8")).requence?.accessToken;
|
|
140
|
+
if (!accessKey) {
|
|
141
|
+
throw new Error(`No access token found
|
|
142
|
+
You can provide the access token as argument to createTask,
|
|
143
|
+
as environment variable REQUENCE_ACCESS_TOKEN or
|
|
144
|
+
in your package.json in requence.accessToken`);
|
|
145
|
+
}
|
|
146
|
+
const parts = deobfuscate(accessKey);
|
|
147
|
+
if (parts.length < 2 || parts[0] !== "api") {
|
|
148
|
+
throw new Error("Invalid api key");
|
|
149
|
+
}
|
|
150
|
+
const [, token, apiBaseUrl] = parts;
|
|
151
|
+
const startUrl = `${apiBaseUrl}/task/start/${params.taskTemplate}`;
|
|
152
|
+
const payloadPromise = createRemotePromise();
|
|
153
|
+
let isMonitoring = false;
|
|
154
|
+
const startMonitoring = async () => {
|
|
155
|
+
if (isMonitoring) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
isMonitoring = true;
|
|
159
|
+
const payload = await payloadPromise;
|
|
160
|
+
const eventSource = new EventSource(payload.urls.watch, {
|
|
161
|
+
fetch: (input2, init) => fetch(input2, {
|
|
162
|
+
...init,
|
|
163
|
+
headers: {
|
|
164
|
+
Authorization: `Bearer ${token}`
|
|
165
|
+
}
|
|
166
|
+
})
|
|
167
|
+
});
|
|
168
|
+
const taskEvents = [
|
|
169
|
+
"taskStart",
|
|
170
|
+
"taskError",
|
|
171
|
+
"taskEnd",
|
|
172
|
+
"nodeStart",
|
|
173
|
+
"nodeUpdate",
|
|
174
|
+
"nodeDefer",
|
|
175
|
+
"nodeError"
|
|
176
|
+
];
|
|
177
|
+
let input = null;
|
|
178
|
+
let meta = null;
|
|
179
|
+
taskEvents.forEach((taskEvent) => {
|
|
180
|
+
eventSource.addEventListener(taskEvent, (event) => {
|
|
181
|
+
const updateResult = eventSchema.safeParse(event);
|
|
182
|
+
if (!updateResult.success) {
|
|
183
|
+
eventSource.close();
|
|
184
|
+
resultPromise.reject(new TaskError(`Invalid ${taskEvent} update received`, params.taskTemplate));
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const update = updateResult.data;
|
|
188
|
+
taskUpdateHandlers.forEach((handler) => handler(update));
|
|
189
|
+
if (update.type === "taskEnd" || update.type === "taskError") {
|
|
190
|
+
eventSource.close();
|
|
191
|
+
}
|
|
192
|
+
if (update.type === "taskStart") {
|
|
193
|
+
input = update.input;
|
|
194
|
+
meta = update.meta;
|
|
195
|
+
}
|
|
196
|
+
if (update.type === "taskEnd") {
|
|
197
|
+
const getPartialResult = (alias) => update.partialResults.find((partialResult) => partialResult.node.alias === alias);
|
|
198
|
+
resultPromise.resolve({
|
|
199
|
+
getInput() {
|
|
200
|
+
return input;
|
|
201
|
+
},
|
|
202
|
+
getMeta() {
|
|
203
|
+
return meta;
|
|
204
|
+
},
|
|
205
|
+
getError(alias) {
|
|
206
|
+
return getPartialResult(alias)?.error ?? null;
|
|
207
|
+
},
|
|
208
|
+
getData(alias) {
|
|
209
|
+
if (!alias) {
|
|
210
|
+
return update.result;
|
|
211
|
+
}
|
|
212
|
+
return getPartialResult(alias)?.data ?? null;
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
if (update.type === "taskError") {
|
|
217
|
+
resultPromise.reject(new TaskError(update.error, params.taskTemplate));
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
};
|
|
222
|
+
const taskIdPromise = createRemotePromise();
|
|
223
|
+
const resultPromise = createRemotePromise(startMonitoring);
|
|
224
|
+
(async () => {
|
|
225
|
+
const response = await fetch(startUrl, {
|
|
226
|
+
method: "post",
|
|
227
|
+
headers: {
|
|
228
|
+
Accept: "application/json",
|
|
229
|
+
"Content-Type": "application/json",
|
|
230
|
+
Authorization: `Bearer ${token}`
|
|
231
|
+
},
|
|
232
|
+
body: JSON.stringify({ input: params.input, meta: params.meta })
|
|
233
|
+
});
|
|
234
|
+
if (!response.ok) {
|
|
235
|
+
const error = new TaskError(await response.text(), params.taskTemplate);
|
|
236
|
+
taskIdPromise.reject(error);
|
|
237
|
+
resultPromise.reject(error);
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
const payload = await response.json();
|
|
241
|
+
taskIdPromise.resolve(payload.id);
|
|
242
|
+
payloadPromise.resolve(payload);
|
|
243
|
+
if (onUpdate) {
|
|
244
|
+
taskUpdateHandlers.add(onUpdate);
|
|
245
|
+
startMonitoring();
|
|
246
|
+
}
|
|
247
|
+
})();
|
|
248
|
+
const asyncIterable = callbackToAsyncIterator({
|
|
249
|
+
subscribe: (push) => {
|
|
250
|
+
taskUpdateHandlers.add(push);
|
|
251
|
+
startMonitoring();
|
|
252
|
+
},
|
|
253
|
+
done: (value) => value.type === "taskError" || value.type === "taskEnd"
|
|
254
|
+
});
|
|
255
|
+
return Object.assign(resultPromise.promise, asyncIterable, {
|
|
256
|
+
getTaskId() {
|
|
257
|
+
return taskIdPromise;
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
export {
|
|
262
|
+
createTask,
|
|
263
|
+
TaskError
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
//# debugId=A9D3BA4F308FA87164756E2164756E21
|
|
267
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/index.ts", "../src/types.ts", "../src/utils/callbackToAsyncIterator.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { readFileSync } from 'node:fs'\n\nimport { createRemotePromise, deobfuscate } from '@requence/helpers'\nimport { EventSource } from 'eventsource'\nimport { z } from 'zod'\n\nimport {\n type CreateTaskOptions,\n type Result,\n type Update,\n updateSchema,\n} from './types.ts'\nimport callbackToAsyncIterator from './utils/callbackToAsyncIterator.ts'\n\nexport class TaskError extends Error {\n constructor(\n message: string,\n public readonly taskTemplate: string,\n ) {\n super(message)\n }\n}\n\ntype TaskUpdateHandler = (update: Update) => void\n\nconst eventSchema = z\n .object({ type: z.string(), data: z.string() })\n .transform((event) => ({ type: event.type, ...JSON.parse(event.data) }))\n .pipe(updateSchema)\n\nexport function createTask<\n T extends keyof Requence.TaskTemplate | (string & {}),\n>(params: CreateTaskOptions<T>, onUpdate?: TaskUpdateHandler) {\n const taskUpdateHandlers = new Set<TaskUpdateHandler>()\n\n const accessKey =\n params.accessToken ??\n process.env.REQUENCE_ACCESS_TOKEN ??\n (JSON.parse(readFileSync('package.json', 'utf-8')) as any).requence\n ?.accessToken\n\n if (!accessKey) {\n throw new Error(\n 'No access token found\\nYou can provide the access token as argument to createTask,\\nas environment variable REQUENCE_ACCESS_TOKEN or\\nin your package.json in requence.accessToken',\n )\n }\n\n const parts = deobfuscate(accessKey)\n if (parts.length < 2 || parts[0] !== 'api') {\n throw new Error('Invalid api key')\n }\n const [, token, apiBaseUrl] = parts\n\n const startUrl = `${apiBaseUrl}/task/start/${params.taskTemplate}`\n\n const payloadPromise = createRemotePromise<{\n id: string\n urls: { watch: string }\n }>()\n\n let isMonitoring = false\n const startMonitoring = async () => {\n if (isMonitoring) {\n return\n }\n\n isMonitoring = true\n const payload = await payloadPromise\n\n const eventSource = new EventSource(payload.urls.watch, {\n fetch: (input, init) =>\n fetch(input, {\n ...init,\n headers: {\n Authorization: `Bearer ${token}`,\n },\n }),\n })\n\n const taskEvents: Array<Update['type']> = [\n 'taskStart',\n 'taskError',\n 'taskEnd',\n 'nodeStart',\n 'nodeUpdate',\n 'nodeDefer',\n 'nodeError',\n ]\n\n let input: unknown = null\n let meta: unknown = null\n taskEvents.forEach((taskEvent) => {\n eventSource.addEventListener(taskEvent, (event) => {\n const updateResult = eventSchema.safeParse(event)\n\n if (!updateResult.success) {\n eventSource.close()\n resultPromise.reject(\n new TaskError(\n `Invalid ${taskEvent} update received`,\n params.taskTemplate,\n ),\n )\n return\n }\n\n const update = updateResult.data\n taskUpdateHandlers.forEach((handler) => handler(update))\n\n if (update.type === 'taskEnd' || update.type === 'taskError') {\n eventSource.close()\n }\n\n if (update.type === 'taskStart') {\n input = update.input\n meta = update.meta\n }\n\n if (update.type === 'taskEnd') {\n const getPartialResult = (alias: string) =>\n update.partialResults.find(\n (partialResult) => partialResult.node.alias === alias,\n )\n\n resultPromise.resolve({\n getInput() {\n return input\n },\n getMeta() {\n return meta\n },\n getError(alias) {\n return getPartialResult(alias)?.error ?? null\n },\n getData(alias) {\n if (!alias) {\n return update.result\n }\n\n return getPartialResult(alias)?.data ?? null\n },\n } as Result<T>)\n }\n\n if (update.type === 'taskError') {\n resultPromise.reject(new TaskError(update.error, params.taskTemplate))\n }\n })\n })\n }\n\n const taskIdPromise = createRemotePromise<string>()\n const resultPromise = createRemotePromise<Result<T>>(startMonitoring)\n\n ;(async () => {\n const response = await fetch(startUrl, {\n method: 'post',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${token}`,\n },\n body: JSON.stringify({ input: params.input, meta: params.meta }),\n })\n\n if (!response.ok) {\n const error = new TaskError(await response.text(), params.taskTemplate)\n taskIdPromise.reject(error)\n resultPromise.reject(error)\n return\n }\n\n const payload = await response.json()\n taskIdPromise.resolve(payload.id)\n payloadPromise.resolve(payload)\n if (onUpdate) {\n taskUpdateHandlers.add(onUpdate)\n startMonitoring()\n }\n })()\n\n const asyncIterable = callbackToAsyncIterator<Update>({\n subscribe: (push) => {\n taskUpdateHandlers.add(push)\n startMonitoring()\n },\n done: (value) => value.type === 'taskError' || value.type === 'taskEnd',\n })\n\n return Object.assign(resultPromise.promise, asyncIterable, {\n getTaskId() {\n return taskIdPromise\n },\n })\n}\n",
|
|
6
|
+
"import { z } from 'zod'\n\ntype Prettify<T> = {\n [K in keyof T]: T[K]\n} & {}\n\ntype IfUnknown<T, Then, Else> = unknown extends T\n ? T extends unknown\n ? Then\n : Else\n : Else\n\ntype IfNull<T, Then, Else> = T extends null\n ? null extends T\n ? Then\n : Else\n : Else\n\nexport type CreateTaskOptions<T> = {\n taskTemplate: T\n accessToken?: string\n} & IfNull<\n Input<T>,\n { input?: null },\n IfUnknown<Input<T>, { input?: any }, { input: Input<T> }>\n> &\n IfNull<\n Meta<T>,\n { meta?: null },\n IfUnknown<Meta<T>, { meta?: any }, { meta: Meta<T> }>\n >\n\ntype Input<T> = T extends keyof Requence.TaskTemplate\n ? Requence.TaskTemplate[T]['input']\n : unknown\ntype Meta<T> = T extends keyof Requence.TaskTemplate\n ? Requence.TaskTemplate[T]['meta']\n : unknown\ntype Data<T> = T extends keyof Requence.TaskTemplate\n ? Prettify<Requence.TaskTemplate[T]['results']>\n : unknown\ntype NamedData<T, A> = T extends keyof Requence.TaskTemplate\n ? A extends keyof Requence.TaskTemplate[T]['namedResults']\n ? Prettify<Requence.TaskTemplate[T]['namedResults'][A]>\n : unknown\n : unknown\ntype Alias<T> = T extends keyof Requence.TaskTemplate\n ? keyof Requence.TaskTemplate[T]['namedResults']\n : string\n\nexport interface Result<T> {\n getInput(): Input<T>\n getMeta(): Meta<T>\n getData: {\n (): Data<T>\n <A extends Alias<T>>(alias: A): NamedData<T, A>\n }\n getError(alias: Alias<T>): string | null\n}\n\nconst serviceNodeInfoSchema = z.object({\n id: z.string().uuid(),\n type: z.literal('service'),\n alias: z.string().optional(),\n service: z\n .object({\n id: z.string().uuid(),\n name: z.string(),\n version: z.string(),\n })\n .optional(),\n})\n\nconst logicNodeInfoSchema = z.object({\n id: z.string().uuid(),\n type: z.literal('logic'),\n alias: z.string().optional(),\n logic: z\n .object({\n language: z.enum(['typescript', 'javascript', 'python']),\n })\n .optional(),\n})\n\nconst nodeInfoSchema = z.discriminatedUnion('type', [\n serviceNodeInfoSchema,\n logicNodeInfoSchema,\n])\n\nconst taskStartUpdateSchema = z.object({\n type: z.literal('taskStart'),\n timestamp: z.coerce.date(),\n input: z.unknown(),\n meta: z.unknown(),\n})\n\nconst taskErrorUpdateSchema = z.object({\n type: z.literal('taskError'),\n timestamp: z.coerce.date(),\n error: z.string(),\n})\n\nconst taskEndUpdateSchema = z.object({\n type: z.literal('taskEnd'),\n timestamp: z.coerce.date(),\n result: z.record(z.string(), z.unknown()),\n partialResults: z.array(\n z.object({\n node: nodeInfoSchema,\n timestamp: z.coerce.date().nullable(),\n data: z.unknown(),\n error: z.string().optional(),\n }),\n ),\n})\n\nconst nodeStartUpdateSchema = z.object({\n type: z.literal('nodeStart'),\n timestamp: z.coerce.date(),\n node: nodeInfoSchema,\n})\n\nconst nodeUpdateUpdateSchema = z.object({\n type: z.literal('nodeUpdate'),\n timestamp: z.coerce.date(),\n data: z.unknown(),\n})\n\nconst nodeErrorUpdateSchema = z.object({\n type: z.literal('nodeError'),\n timestamp: z.coerce.date(),\n error: z.string(),\n})\n\nconst nodeDeferUpdateSchema = z.object({\n type: z.literal('nodeDefer'),\n timestamp: z.coerce.date(),\n reason: z.string().optional(),\n})\n\nexport const updateSchema = z.discriminatedUnion('type', [\n taskStartUpdateSchema,\n taskErrorUpdateSchema,\n taskEndUpdateSchema,\n nodeStartUpdateSchema,\n nodeUpdateUpdateSchema,\n nodeErrorUpdateSchema,\n nodeDeferUpdateSchema,\n])\n\nexport type Update = z.infer<typeof updateSchema>\n",
|
|
7
|
+
"export default function callbackToAsyncIterator<T>(options: {\n subscribe: (push: (value: T) => void) => void | (() => void)\n done: (value: T) => boolean\n}): AsyncIterable<T> {\n const pullQueue: Array<(value: T) => void> = []\n const pushQueue: Array<T> = []\n\n const pushValue = (value: T) => {\n if (pullQueue.length !== 0) {\n const resolver = pullQueue.shift()\n resolver!(value)\n } else {\n pushQueue.push(value)\n }\n }\n\n const pullValue = () =>\n new Promise<T>((resolve) => {\n if (pushQueue.length !== 0) {\n resolve(pushQueue.shift()!)\n } else {\n pullQueue.push(resolve)\n }\n })\n\n return {\n [Symbol.asyncIterator]() {\n let done = false\n const unsubscribe = options.subscribe(pushValue)\n return {\n async next() {\n if (done) {\n return { value: undefined, done: true }\n }\n\n const value = await pullValue()\n done = options.done(value)\n return { value, done: false }\n },\n async return() {\n unsubscribe?.()\n return { value: undefined, done: true }\n },\n }\n },\n }\n}\n"
|
|
8
|
+
],
|
|
9
|
+
"mappings": "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",
|
|
10
|
+
"debugId": "A9D3BA4F308FA87164756E2164756E21",
|
|
11
|
+
"names": []
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../../../helpers/src/clone.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,eAAqB,CAAA;AAE9C,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAiB5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createObjectProxy.d.ts","sourceRoot":"","sources":["../../../../../helpers/src/createObjectProxy.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,2BA2BpD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export default function createRemotePromise<T = void>(onAwait?: (resolve: (value: T) => void, reject: (error: any) => void) => void | Promise<void>): Promise<T> & {
|
|
2
|
+
resolve: (value: T | PromiseLike<T>) => void;
|
|
3
|
+
reject: (reason?: any) => void;
|
|
4
|
+
promise: Promise<T>;
|
|
5
|
+
};
|
|
6
|
+
export type RemotePromise<T> = ReturnType<typeof createRemotePromise<T>>;
|
|
7
|
+
//# sourceMappingURL=createRemotePromise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRemotePromise.d.ts","sourceRoot":"","sources":["../../../../../helpers/src/createRemotePromise.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,CAAC,GAAG,IAAI,EAClD,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAC3B,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,KACzB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;qBAEI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI;sBAC1B,GAAG,KAAK,IAAI;;EAgC3C;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './utils.ts';
|
|
2
|
+
export * from './obfuscate.ts';
|
|
3
|
+
export { default as clone } from './clone.ts';
|
|
4
|
+
export { default as createObjectProxy } from './createObjectProxy.ts';
|
|
5
|
+
export { default as createRemotePromise } from './createRemotePromise.ts';
|
|
6
|
+
export { type RemotePromise } from './createRemotePromise.ts';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../helpers/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACzE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"obfuscate.d.ts","sourceRoot":"","sources":["../../../../../helpers/src/obfuscate.ts"],"names":[],"mappings":"AAUA,wBAAgB,SAAS,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,UA0BhD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,UAU1C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,YA4BtC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
export declare function matchSchema<Schema extends z.ZodSchema>(schema: Schema, input: unknown): input is z.infer<Schema>;
|
|
3
|
+
export declare function matchSchema<Schema extends z.ZodSchema>(schema: Schema): (input: unknown) => input is z.infer<Schema>;
|
|
4
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../helpers/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,wBAAgB,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EACpD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAC3B,wBAAgB,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EACpD,MAAM,EAAE,MAAM,GACb,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { type CreateTaskOptions, type Result, type Update } from './types.ts';
|
|
2
|
+
export declare class TaskError extends Error {
|
|
3
|
+
readonly taskTemplate: string;
|
|
4
|
+
constructor(message: string, taskTemplate: string);
|
|
5
|
+
}
|
|
6
|
+
type TaskUpdateHandler = (update: Update) => void;
|
|
7
|
+
export declare function createTask<T extends keyof Requence.TaskTemplate | (string & {})>(params: CreateTaskOptions<T>, onUpdate?: TaskUpdateHandler): Promise<Result<T>> & AsyncIterable<{
|
|
8
|
+
type: "taskStart";
|
|
9
|
+
timestamp: Date;
|
|
10
|
+
input?: unknown;
|
|
11
|
+
meta?: unknown;
|
|
12
|
+
} | {
|
|
13
|
+
type: "taskError";
|
|
14
|
+
timestamp: Date;
|
|
15
|
+
error: string;
|
|
16
|
+
} | {
|
|
17
|
+
type: "taskEnd";
|
|
18
|
+
timestamp: Date;
|
|
19
|
+
result: Record<string, unknown>;
|
|
20
|
+
partialResults: {
|
|
21
|
+
timestamp: Date | null;
|
|
22
|
+
node: {
|
|
23
|
+
type: "service";
|
|
24
|
+
id: string;
|
|
25
|
+
service?: {
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
version: string;
|
|
29
|
+
} | undefined;
|
|
30
|
+
alias?: string | undefined;
|
|
31
|
+
} | {
|
|
32
|
+
type: "logic";
|
|
33
|
+
id: string;
|
|
34
|
+
alias?: string | undefined;
|
|
35
|
+
logic?: {
|
|
36
|
+
language: "typescript" | "javascript" | "python";
|
|
37
|
+
} | undefined;
|
|
38
|
+
};
|
|
39
|
+
error?: string | undefined;
|
|
40
|
+
data?: unknown;
|
|
41
|
+
}[];
|
|
42
|
+
} | {
|
|
43
|
+
type: "nodeStart";
|
|
44
|
+
timestamp: Date;
|
|
45
|
+
node: {
|
|
46
|
+
type: "service";
|
|
47
|
+
id: string;
|
|
48
|
+
service?: {
|
|
49
|
+
id: string;
|
|
50
|
+
name: string;
|
|
51
|
+
version: string;
|
|
52
|
+
} | undefined;
|
|
53
|
+
alias?: string | undefined;
|
|
54
|
+
} | {
|
|
55
|
+
type: "logic";
|
|
56
|
+
id: string;
|
|
57
|
+
alias?: string | undefined;
|
|
58
|
+
logic?: {
|
|
59
|
+
language: "typescript" | "javascript" | "python";
|
|
60
|
+
} | undefined;
|
|
61
|
+
};
|
|
62
|
+
} | {
|
|
63
|
+
type: "nodeUpdate";
|
|
64
|
+
timestamp: Date;
|
|
65
|
+
data?: unknown;
|
|
66
|
+
} | {
|
|
67
|
+
type: "nodeError";
|
|
68
|
+
timestamp: Date;
|
|
69
|
+
error: string;
|
|
70
|
+
} | {
|
|
71
|
+
type: "nodeDefer";
|
|
72
|
+
timestamp: Date;
|
|
73
|
+
reason?: string | undefined;
|
|
74
|
+
}> & {
|
|
75
|
+
getTaskId(): Promise<string> & {
|
|
76
|
+
resolve: (value: string | PromiseLike<string>) => void;
|
|
77
|
+
reject: (reason?: any) => void;
|
|
78
|
+
promise: Promise<string>;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
export {};
|
|
82
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,MAAM,EACX,KAAK,MAAM,EAEZ,MAAM,YAAY,CAAA;AAGnB,qBAAa,SAAU,SAAQ,KAAK;aAGhB,YAAY,EAAE,MAAM;gBADpC,OAAO,EAAE,MAAM,EACC,YAAY,EAAE,MAAM;CAIvC;AAED,KAAK,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;AAOjD,wBAAgB,UAAU,CACxB,CAAC,SAAS,MAAM,QAAQ,CAAC,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EACrD,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkK3D"}
|