@requence/task 1.0.0-alpha.5 → 1.0.0-alpha.7

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/build/index.js CHANGED
@@ -1,79 +1,158 @@
1
1
  import {
2
2
  createRemotePromise,
3
- deobfuscate
4
- } from "./chunk-6pjtq0hg.js";
3
+ deobfuscate,
4
+ mapData
5
+ } from "./chunk-r3hqv0x2.js";
6
+
7
+ // ../helpers/src/files/index.ts
8
+ import { z } from "zod";
9
+
10
+ // ../helpers/src/files/RequenceFile.ts
11
+ import util from "node:util";
12
+
13
+ class RequenceFile {
14
+ #data;
15
+ #file = null;
16
+ constructor(blobParts, options) {
17
+ this.#data = new Blob(blobParts, options);
18
+ }
19
+ static formFileObject(file) {
20
+ const instance = new this([], { type: "x/x" });
21
+ instance.#file = file;
22
+ return instance;
23
+ }
24
+ get fileObject() {
25
+ return this.#file;
26
+ }
27
+ get size() {
28
+ return this.#file?.size ?? this.#data.size;
29
+ }
30
+ get mimeType() {
31
+ return this.#file?.mime ?? this.#data.type;
32
+ }
33
+ get mainMimeType() {
34
+ return this.mimeType.split("/")[0];
35
+ }
36
+ get subMimeType() {
37
+ return this.mimeType.split("/")[1];
38
+ }
39
+ async text() {
40
+ if (this.#file) {
41
+ return fetch(this.#file.url).then((response) => response.text());
42
+ }
43
+ return this.#data.text();
44
+ }
45
+ async json() {
46
+ if (this.#file) {
47
+ return fetch(this.#file.url).then((response) => response.json());
48
+ }
49
+ return JSON.parse(await this.text());
50
+ }
51
+ async blob() {
52
+ if (this.#file) {
53
+ return fetch(this.#file.url).then((response) => response.blob());
54
+ }
55
+ return this.#data;
56
+ }
57
+ async arrayBuffer() {
58
+ if (this.#file) {
59
+ return fetch(this.#file.url).then((response) => response.arrayBuffer());
60
+ }
61
+ return this.#data.arrayBuffer();
62
+ }
63
+ [util.inspect.custom]() {
64
+ return `RequenceFile<${this.mimeType}>`;
65
+ }
66
+ toString() {
67
+ return `RequenceFile<${this.mimeType}>`;
68
+ }
69
+ toJSON() {
70
+ return `RequenceFile<${this.mimeType}>`;
71
+ }
72
+ }
73
+
74
+ // ../helpers/src/files/index.ts
75
+ var fileObjectSchema = z.object({
76
+ size: z.number().int().positive(),
77
+ mime: z.string(),
78
+ url: z.string().url(),
79
+ __REQUENCE_type: z.literal("RequenceFile")
80
+ });
81
+ function isFileObject(data) {
82
+ return fileObjectSchema.safeParse(data).success;
83
+ }
5
84
 
6
85
  // src/createTask.ts
7
86
  import { EventSource } from "eventsource";
8
87
 
9
88
  // src/types.ts
10
- import { z } from "zod";
11
- var serviceNodeInfoSchema = z.object({
12
- id: z.string().uuid(),
13
- type: z.literal("service"),
14
- alias: z.string().optional(),
15
- service: z.object({
16
- id: z.string().uuid(),
17
- name: z.string(),
18
- version: z.string()
89
+ import { z as z2 } from "zod";
90
+ var serviceNodeInfoSchema = z2.object({
91
+ id: z2.string().uuid(),
92
+ type: z2.literal("service"),
93
+ alias: z2.string().optional(),
94
+ service: z2.object({
95
+ id: z2.string().uuid(),
96
+ name: z2.string(),
97
+ version: z2.string()
19
98
  }).optional()
20
99
  });
21
- var logicNodeInfoSchema = z.object({
22
- id: z.string().uuid(),
23
- type: z.literal("logic"),
24
- alias: z.string().optional(),
25
- logic: z.object({
26
- language: z.enum(["typescript", "javascript", "python"])
100
+ var logicNodeInfoSchema = z2.object({
101
+ id: z2.string().uuid(),
102
+ type: z2.literal("logic"),
103
+ alias: z2.string().optional(),
104
+ logic: z2.object({
105
+ language: z2.enum(["typescript", "javascript", "python"])
27
106
  }).optional()
28
107
  });
29
- var nodeInfoSchema = z.discriminatedUnion("type", [
108
+ var nodeInfoSchema = z2.discriminatedUnion("type", [
30
109
  serviceNodeInfoSchema,
31
110
  logicNodeInfoSchema
32
111
  ]);
33
- var baseUpdate = z.object({
34
- timestamp: z.coerce.date(),
35
- taskId: z.string().uuid()
112
+ var baseUpdate = z2.object({
113
+ timestamp: z2.coerce.date(),
114
+ taskId: z2.string().uuid()
36
115
  });
37
116
  var taskStartUpdateSchema = baseUpdate.extend({
38
- type: z.literal("taskStart"),
39
- input: z.unknown(),
40
- meta: z.unknown()
117
+ type: z2.literal("taskStart"),
118
+ input: z2.unknown(),
119
+ meta: z2.unknown()
41
120
  });
42
121
  var taskErrorUpdateSchema = baseUpdate.extend({
43
- type: z.literal("taskError"),
44
- error: z.string()
122
+ type: z2.literal("taskError"),
123
+ error: z2.string()
45
124
  });
46
125
  var taskEndUpdateSchema = baseUpdate.extend({
47
- type: z.literal("taskEnd"),
48
- result: z.record(z.string(), z.unknown()),
49
- partialResults: z.array(z.object({
126
+ type: z2.literal("taskEnd"),
127
+ result: z2.record(z2.string(), z2.unknown()),
128
+ partialResults: z2.array(z2.object({
50
129
  node: nodeInfoSchema,
51
- timestamp: z.coerce.date().nullable(),
52
- data: z.unknown(),
53
- error: z.string().optional()
130
+ timestamp: z2.coerce.date().nullable(),
131
+ data: z2.unknown(),
132
+ error: z2.string().optional()
54
133
  }))
55
134
  });
56
135
  var nodeStartUpdateSchema = baseUpdate.extend({
57
- type: z.literal("nodeStart"),
136
+ type: z2.literal("nodeStart"),
58
137
  node: nodeInfoSchema
59
138
  });
60
139
  var nodeUpdateUpdateSchema = baseUpdate.extend({
61
- type: z.literal("nodeUpdate"),
62
- data: z.unknown()
140
+ type: z2.literal("nodeUpdate"),
141
+ data: z2.unknown()
63
142
  });
64
143
  var nodeErrorUpdateSchema = baseUpdate.extend({
65
- type: z.literal("nodeError"),
66
- error: z.string()
144
+ type: z2.literal("nodeError"),
145
+ error: z2.string()
67
146
  });
68
147
  var nodeDeferUpdateSchema = baseUpdate.extend({
69
- type: z.literal("nodeDefer"),
70
- reason: z.string().optional()
148
+ type: z2.literal("nodeDefer"),
149
+ reason: z2.string().optional()
71
150
  });
72
151
  var nodeEndUpdateSchema = baseUpdate.extend({
73
- type: z.literal("nodeEnd"),
152
+ type: z2.literal("nodeEnd"),
74
153
  node: nodeInfoSchema
75
154
  });
76
- var updateSchema = z.discriminatedUnion("type", [
155
+ var updateSchema = z2.discriminatedUnion("type", [
77
156
  taskStartUpdateSchema,
78
157
  taskErrorUpdateSchema,
79
158
  taskEndUpdateSchema,
@@ -83,7 +162,7 @@ var updateSchema = z.discriminatedUnion("type", [
83
162
  nodeDeferUpdateSchema,
84
163
  nodeEndUpdateSchema
85
164
  ]);
86
- var eventSchema = z.object({ type: z.string(), data: z.string() }).transform((event) => ({ type: event.type, ...JSON.parse(event.data) })).pipe(updateSchema);
165
+ var eventSchema = z2.object({ type: z2.string(), data: z2.string() }).transform((event) => ({ type: event.type, ...JSON.parse(event.data) })).pipe(updateSchema);
87
166
 
88
167
  // src/utils/callbackToAsyncIterator.ts
89
168
  function callbackToAsyncIterator(options) {
@@ -148,6 +227,17 @@ in your package.json in requence.accessToken`);
148
227
  };
149
228
  }
150
229
 
230
+ // src/utils/mapOutput.ts
231
+ function mapOutput2(data) {
232
+ return mapData(data, {
233
+ Object(obj) {
234
+ if (isFileObject(obj)) {
235
+ return RequenceFile.formFileObject(obj);
236
+ }
237
+ }
238
+ });
239
+ }
240
+
151
241
  // src/createTask.ts
152
242
  class TaskError extends Error {
153
243
  taskTemplate;
@@ -225,19 +315,19 @@ function createTask(options, onUpdate) {
225
315
  const getPartialResult = (alias) => update.partialResults.find((partialResult) => partialResult.node.alias === alias);
226
316
  resultPromise.resolve({
227
317
  getInput() {
228
- return input;
318
+ return mapOutput2(input);
229
319
  },
230
320
  getMeta() {
231
- return meta;
321
+ return mapOutput2(meta);
232
322
  },
233
323
  getError(alias) {
234
324
  return getPartialResult(alias)?.error ?? null;
235
325
  },
236
326
  getData(alias) {
237
327
  if (!alias) {
238
- return update.result;
328
+ return mapOutput2(update.result);
239
329
  }
240
- return getPartialResult(alias)?.data ?? null;
330
+ return mapOutput2(getPartialResult(alias)?.data ?? null);
241
331
  }
242
332
  });
243
333
  }
@@ -251,18 +341,33 @@ function createTask(options, onUpdate) {
251
341
  const taskIdPromise = createRemotePromise();
252
342
  const resultPromise = createRemotePromise(startMonitoring);
253
343
  (async () => {
344
+ const formData = new FormData;
345
+ const walkData = async (data, path = []) => {
346
+ const name = path.map((segment, index) => index === 0 ? segment : typeof segment === "string" ? `.${segment}` : `[${segment}]`).join("");
347
+ if (data instanceof RequenceFile) {
348
+ formData.append(name, await data.blob(), name);
349
+ } else if (Array.isArray(data)) {
350
+ await Promise.all(data.map((item, index) => walkData(item, [...path, index])));
351
+ } else if (data && typeof data === "object") {
352
+ for (const [key, value] of Object.entries(data)) {
353
+ await walkData(value, [...path, key]);
354
+ }
355
+ } else if (typeof data !== "undefined") {
356
+ formData.append(name, `json://${JSON.stringify(data)}`);
357
+ }
358
+ };
359
+ await walkData({
360
+ input: options.input ?? null,
361
+ meta: options.meta ?? null,
362
+ name: options.name ?? null
363
+ });
364
+ console.log(formData);
254
365
  const response = await fetch(startUrl, {
255
- method: "post",
366
+ method: "POST",
367
+ body: formData,
256
368
  headers: {
257
- Accept: "application/json",
258
- "Content-Type": "application/json",
259
369
  Authorization: `Bearer ${token}`
260
- },
261
- body: JSON.stringify({
262
- input: options.input,
263
- meta: options.meta,
264
- name: options.name
265
- })
370
+ }
266
371
  });
267
372
  if (!response.ok) {
268
373
  const error = new TaskError(await response.text(), options.taskTemplate);
@@ -347,8 +452,9 @@ function watchTasks(options) {
347
452
  }
348
453
  export {
349
454
  watchTasks,
350
- createTask
455
+ createTask,
456
+ RequenceFile
351
457
  };
352
458
 
353
- //# debugId=79FED2F24D527A5964756E2164756E21
459
+ //# debugId=4CF04B754B02239C64756E2164756E21
354
460
  //# sourceMappingURL=index.js.map
@@ -1,14 +1,17 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/createTask.ts", "../src/types.ts", "../src/utils/callbackToAsyncIterator.ts", "../src/utils/getAccessToken.ts", "../src/watchTasks.ts"],
3
+ "sources": ["../../helpers/src/files/index.ts", "../../helpers/src/files/RequenceFile.ts", "../src/createTask.ts", "../src/types.ts", "../src/utils/callbackToAsyncIterator.ts", "../src/utils/getAccessToken.ts", "../src/utils/mapOutput.ts", "../src/watchTasks.ts"],
4
4
  "sourcesContent": [
5
- "import { createRemotePromise } from '@requence/helpers'\nimport { EventSource } from 'eventsource'\n\nimport {\n type CreateTaskOptions,\n type Result,\n type Update,\n eventSchema,\n} from './types.ts'\nimport callbackToAsyncIterator from './utils/callbackToAsyncIterator.ts'\nimport getAccessToken from './utils/getAccessToken.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\nexport function createTask<\n T extends keyof Requence.TaskTemplate | (string & {}),\n>(options: CreateTaskOptions<T>, onUpdate?: TaskUpdateHandler) {\n const taskUpdateHandlers = new Set<TaskUpdateHandler>()\n\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n\n const startUrl = `${apiBaseUrl}/task/start/${options.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 if (!payload.urls) {\n resultPromise.resolve({\n getInput() {\n return input\n },\n getMeta() {\n return meta\n },\n getError(_alias) {\n return null\n },\n getData(_alias) {\n return null\n },\n } as Result<T>)\n return\n }\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 'nodeEnd',\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 options.taskTemplate,\n ),\n )\n return\n }\n\n const update = updateResult.data\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(\n new TaskError(update.error, options.taskTemplate),\n )\n }\n\n taskUpdateHandlers.forEach((handler) => handler(update))\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({\n input: options.input,\n meta: options.meta,\n name: options.name,\n }),\n })\n\n if (!response.ok) {\n const error = new TaskError(await response.text(), options.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 return () => {\n taskUpdateHandlers.delete(push)\n }\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",
5
+ "import { z } from 'zod'\n\nexport * from './mapOutput.ts'\nexport * from './isValidMimeType.ts'\nexport * from './RequenceFile.ts'\n\nconst fileObjectSchema = z.object({\n size: z.number().int().positive(),\n mime: z.string(),\n url: z.string().url(),\n __REQUENCE_type: z.literal('RequenceFile'),\n})\n\nexport type FileObject = z.infer<typeof fileObjectSchema>\n\nexport function toFileObject(fileInfo: {\n size: number\n mime: string\n url: string\n}): FileObject {\n return {\n ...fileInfo,\n __REQUENCE_type: 'RequenceFile',\n }\n}\n\nexport function isFileObject(data: unknown): data is FileObject {\n return fileObjectSchema.safeParse(data).success\n}\n",
6
+ "import util from 'node:util'\n\nimport type { FileObject } from './index.ts'\n\ninterface RequenceFilePropertyBag<T> extends Omit<BlobPropertyBag, 'type'> {\n type: T\n}\n\ntype MainMimeType<T extends string> = T extends `${infer V}/${string}`\n ? V extends '*'\n ? any\n : V\n : any\n\ntype SubMimeType<T extends string> = T extends `${string}/${infer V}`\n ? V extends '*'\n ? any\n : V\n : any\n\ntype ValidMimeType<T extends `${string}/${string}`> =\n T extends `${infer A}/${infer B}`\n ? A extends '*' | '' | '/'\n ? never\n : B extends '*' | '' | '/'\n ? never\n : T\n : never\n\nexport interface RequenceFileType<A, B> {\n size: number\n mimeType: string\n mainMimeType: A\n subMimeType: B\n text(): Promise<string>\n json(): Promise<unknown>\n blob(): Promise<Blob>\n arrayBuffer(): Promise<ArrayBuffer>\n}\n\nexport class RequenceFile<\n T extends `${string}/${string}` = '*/*',\n A = MainMimeType<T>,\n B = SubMimeType<T>,\n> implements RequenceFileType<A, B>\n{\n #data: Blob\n #file: FileObject | null = null\n constructor(\n blobParts: BlobPart[],\n options?: RequenceFilePropertyBag<ValidMimeType<T>>,\n ) {\n this.#data = new Blob(blobParts, options)\n }\n\n /** @internal */\n static formFileObject<T extends `${string}/${string}`>(file: FileObject) {\n const instance = new this([], { type: 'x/x' })\n instance.#file = file\n return instance as RequenceFile<T>\n }\n\n /** @internal */\n get fileObject() {\n return this.#file\n }\n\n get size() {\n return this.#file?.size ?? this.#data.size\n }\n\n get mimeType() {\n return this.#file?.mime ?? this.#data.type\n }\n\n get mainMimeType() {\n return this.mimeType.split('/')[0] as A\n }\n\n get subMimeType() {\n return this.mimeType.split('/')[1] as B\n }\n\n async text() {\n if (this.#file) {\n return fetch(this.#file.url).then((response) => response.text())\n }\n return this.#data.text()\n }\n\n async json() {\n if (this.#file) {\n return fetch(this.#file.url).then((response) => response.json())\n }\n return JSON.parse(await this.text())\n }\n\n async blob() {\n if (this.#file) {\n return fetch(this.#file.url).then((response) => response.blob())\n }\n return this.#data\n }\n\n async arrayBuffer() {\n if (this.#file) {\n return fetch(this.#file.url).then((response) => response.arrayBuffer())\n }\n return this.#data.arrayBuffer()\n }\n\n [util.inspect.custom]() {\n return `RequenceFile<${this.mimeType}>`\n }\n\n toString() {\n return `RequenceFile<${this.mimeType}>`\n }\n\n toJSON() {\n return `RequenceFile<${this.mimeType}>`\n }\n}\n",
7
+ "import { createRemotePromise } from '@requence/helpers'\nimport { RequenceFile } from '@requence/helpers/files'\nimport { EventSource } from 'eventsource'\n\nimport {\n type CreateTaskOptions,\n type Result,\n type Update,\n eventSchema,\n} from './types.ts'\nimport callbackToAsyncIterator from './utils/callbackToAsyncIterator.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\nimport mapOutput from './utils/mapOutput.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\nexport function createTask<\n T extends keyof Requence.TaskTemplate | (string & {}),\n>(options: CreateTaskOptions<T>, onUpdate?: TaskUpdateHandler) {\n const taskUpdateHandlers = new Set<TaskUpdateHandler>()\n\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n\n const startUrl = `${apiBaseUrl}/task/start/${options.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 if (!payload.urls) {\n resultPromise.resolve({\n getInput() {\n return input\n },\n getMeta() {\n return meta\n },\n getError(_alias) {\n return null\n },\n getData(_alias) {\n return null\n },\n } as Result<T>)\n return\n }\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 'nodeEnd',\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 options.taskTemplate,\n ),\n )\n return\n }\n\n const update = updateResult.data\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 mapOutput(input)\n },\n getMeta() {\n return mapOutput(meta)\n },\n getError(alias) {\n return getPartialResult(alias)?.error ?? null\n },\n getData(alias) {\n if (!alias) {\n return mapOutput(update.result)\n }\n\n return mapOutput(getPartialResult(alias)?.data ?? null)\n },\n } as Result<T>)\n }\n\n if (update.type === 'taskError') {\n resultPromise.reject(\n new TaskError(update.error, options.taskTemplate),\n )\n }\n\n taskUpdateHandlers.forEach((handler) => handler(update))\n })\n })\n }\n\n const taskIdPromise = createRemotePromise<string>()\n const resultPromise = createRemotePromise<Result<T>>(startMonitoring)\n\n ;(async () => {\n const formData = new FormData()\n\n const walkData = async (\n data: unknown,\n path: Array<string | number> = [],\n ) => {\n const name = path\n .map((segment, index) =>\n index === 0\n ? segment\n : typeof segment === 'string'\n ? `.${segment}`\n : `[${segment}]`,\n )\n .join('')\n\n if (data instanceof RequenceFile) {\n formData.append(name, await data.blob(), name)\n } else if (Array.isArray(data)) {\n await Promise.all(\n data.map((item, index) => walkData(item, [...path, index])),\n )\n } else if (data && typeof data === 'object') {\n for (const [key, value] of Object.entries(data)) {\n await walkData(value, [...path, key])\n }\n } else if (typeof data !== 'undefined') {\n formData.append(name, `json://${JSON.stringify(data)}`)\n }\n }\n\n await walkData({\n input: options.input ?? null,\n meta: options.meta ?? null,\n name: options.name ?? null,\n })\n\n console.log(formData)\n\n const response = await fetch(startUrl, {\n method: 'POST',\n body: formData,\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n\n if (!response.ok) {\n const error = new TaskError(await response.text(), options.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 return () => {\n taskUpdateHandlers.delete(push)\n }\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
8
  "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 name?: string | null\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 baseUpdate = z.object({\n timestamp: z.coerce.date(),\n taskId: z.string().uuid(),\n})\n\nconst taskStartUpdateSchema = baseUpdate.extend({\n type: z.literal('taskStart'),\n input: z.unknown(),\n meta: z.unknown(),\n})\n\nconst taskErrorUpdateSchema = baseUpdate.extend({\n type: z.literal('taskError'),\n error: z.string(),\n})\n\nconst taskEndUpdateSchema = baseUpdate.extend({\n type: z.literal('taskEnd'),\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 = baseUpdate.extend({\n type: z.literal('nodeStart'),\n node: nodeInfoSchema,\n})\n\nconst nodeUpdateUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeUpdate'),\n data: z.unknown(),\n})\n\nconst nodeErrorUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeError'),\n error: z.string(),\n})\n\nconst nodeDeferUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeDefer'),\n reason: z.string().optional(),\n})\n\nconst nodeEndUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeEnd'),\n node: nodeInfoSchema,\n})\n\nexport const updateSchema = z.discriminatedUnion('type', [\n taskStartUpdateSchema,\n taskErrorUpdateSchema,\n taskEndUpdateSchema,\n nodeStartUpdateSchema,\n nodeUpdateUpdateSchema,\n nodeErrorUpdateSchema,\n nodeDeferUpdateSchema,\n nodeEndUpdateSchema,\n])\n\nexport type Update = z.infer<typeof updateSchema>\n\nexport const eventSchema = z\n .object({ type: z.string(), data: z.string() })\n .transform((event) => ({ type: event.type, ...JSON.parse(event.data) }))\n .pipe(updateSchema)\n",
7
9
  "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 if (options.done) {\n done = options.done(value)\n }\n return { value, done: false }\n },\n async return() {\n unsubscribe?.()\n return { value: undefined, done: true }\n },\n }\n },\n }\n}\n",
8
10
  "import { readFileSync } from 'node:fs'\n\nimport { deobfuscate } from '@requence/helpers'\n\nexport default function getAccessToken(accessToken?: string) {\n const token =\n accessToken ??\n process.env.REQUENCE_ACCESS_TOKEN ??\n (JSON.parse(readFileSync('package.json', 'utf-8')) as any).requence\n ?.accessToken\n\n if (!token) {\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(token)\n if (parts.length < 2 || parts[0] !== 'api') {\n throw new Error('Invalid api key')\n }\n\n return {\n token: parts[1],\n apiBaseUrl: parts[2],\n }\n}\n",
11
+ "import { mapData } from '@requence/helpers'\nimport { RequenceFile, isFileObject } from '@requence/helpers/files'\n\nexport default function mapOutput(data: unknown): unknown {\n return mapData(data, {\n Object(obj) {\n if (isFileObject(obj)) {\n return RequenceFile.formFileObject(obj)\n }\n },\n })\n}\n",
9
12
  "import { EventSource } from 'eventsource'\n\nimport { type Update, eventSchema } from './types.ts'\nimport callbackToAsyncIterator from './utils/callbackToAsyncIterator.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\n\ntype TaskUpdateHandler = (update: Update) => void\n\ninterface WatchTasksOptions {\n accessToken?: string\n since: Date\n onUpdate?: TaskUpdateHandler\n}\nexport function watchTasks(options: WatchTasksOptions) {\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n const taskUpdateHandlers = new Set<TaskUpdateHandler>()\n\n if (options.onUpdate) {\n taskUpdateHandlers.add(options.onUpdate)\n }\n\n const watchUrl = new URL(`${apiBaseUrl}/task/watch-all`)\n watchUrl.searchParams.set('since', options.since.toISOString())\n\n const eventSource = new EventSource(watchUrl, {\n fetch: (input, init) =>\n fetch(input, {\n ...init,\n headers: {\n Authorization: `Bearer ${token}`,\n },\n }),\n })\n\n const asyncIterable = callbackToAsyncIterator<Update>({\n subscribe: (push) => {\n taskUpdateHandlers.add(push)\n return () => {\n taskUpdateHandlers.delete(push)\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 'nodeEnd',\n ]\n\n taskEvents.forEach((taskEvent) => {\n eventSource.addEventListener(taskEvent, (event) => {\n const updateResult = eventSchema.safeParse(event)\n\n if (!updateResult.success) {\n eventSource.close()\n throw new Error('invalid update')\n }\n\n taskUpdateHandlers.forEach((handler) => handler(updateResult.data))\n })\n })\n\n const stopWatching = () => {\n eventSource.close()\n }\n\n return Object.assign(stopWatching, asyncIterable)\n}\n"
10
13
  ],
11
- "mappings": "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",
12
- "debugId": "79FED2F24D527A5964756E2164756E21",
14
+ "mappings": "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",
15
+ "debugId": "4CF04B754B02239C64756E2164756E21",
13
16
  "names": []
14
17
  }
@@ -1,4 +1,17 @@
1
- import type { z } from 'zod';
1
+ import { z } from 'zod';
2
2
  export declare function matchSchema<Schema extends z.ZodSchema>(schema: Schema, input: unknown): input is z.infer<Schema>;
3
3
  export declare function matchSchema<Schema extends z.ZodSchema>(schema: Schema): (input: unknown) => input is z.infer<Schema>;
4
+ export declare function isRecord(data: unknown): data is Record<string, unknown>;
5
+ type DataVistor<T> = (data: T, path: Array<string | number>) => Promise<any> | any;
6
+ interface DataVistors {
7
+ Null?: DataVistor<null>;
8
+ String?: DataVistor<string>;
9
+ Number?: DataVistor<number>;
10
+ Object?: DataVistor<object>;
11
+ Array?: DataVistor<Array<any>>;
12
+ Buffer?: DataVistor<Buffer>;
13
+ }
14
+ type HasPromiseVistor<T extends DataVistors, Then, Else> = T[keyof T] extends (...args: any[]) => any ? Promise<any> extends ReturnType<T[keyof T]> ? Then : Else : Else;
15
+ export declare function mapData<Output, Input = unknown, V extends DataVistors = DataVistors>(data: Input, visitors: V): HasPromiseVistor<V, Promise<unknown extends Output ? Input : Output>, unknown extends Output ? Input : Output>;
16
+ export {};
4
17
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../helpers/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,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;AAc/C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEvE;AAED,KAAK,UAAU,CAAC,CAAC,IAAI,CACnB,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KACzB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;AAEvB,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;IACvB,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9B,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;CAC5B;AAED,KAAK,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAC5E,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,GAAG,GACJ,OAAO,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GACzC,IAAI,GACJ,IAAI,GACN,IAAI,CAAA;AAiBR,wBAAgB,OAAO,CACrB,MAAM,EACN,KAAK,GAAG,OAAO,EACf,CAAC,SAAS,WAAW,GAAG,WAAW,EAEnC,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,CAAC,GACV,gBAAgB,CACjB,CAAC,EACD,OAAO,CAAC,OAAO,SAAS,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,EAChD,OAAO,SAAS,MAAM,GAAG,KAAK,GAAG,MAAM,CACxC,CAyDA"}
@@ -8,13 +8,13 @@ export declare function createTask<T extends keyof Requence.TaskTemplate | (stri
8
8
  type: "taskStart";
9
9
  timestamp: Date;
10
10
  taskId: string;
11
- input?: unknown;
12
11
  meta?: unknown;
12
+ input?: unknown;
13
13
  } | {
14
14
  type: "taskError";
15
15
  timestamp: Date;
16
- taskId: string;
17
16
  error: string;
17
+ taskId: string;
18
18
  } | {
19
19
  type: "taskEnd";
20
20
  timestamp: Date;
@@ -36,11 +36,11 @@ export declare function createTask<T extends keyof Requence.TaskTemplate | (stri
36
36
  id: string;
37
37
  alias?: string | undefined;
38
38
  logic?: {
39
- language: "typescript" | "javascript" | "python";
39
+ language: "javascript" | "python" | "typescript";
40
40
  } | undefined;
41
41
  };
42
- error?: string | undefined;
43
42
  data?: unknown;
43
+ error?: string | undefined;
44
44
  }[];
45
45
  } | {
46
46
  type: "nodeStart";
@@ -60,7 +60,7 @@ export declare function createTask<T extends keyof Requence.TaskTemplate | (stri
60
60
  id: string;
61
61
  alias?: string | undefined;
62
62
  logic?: {
63
- language: "typescript" | "javascript" | "python";
63
+ language: "javascript" | "python" | "typescript";
64
64
  } | undefined;
65
65
  };
66
66
  } | {
@@ -71,8 +71,8 @@ export declare function createTask<T extends keyof Requence.TaskTemplate | (stri
71
71
  } | {
72
72
  type: "nodeError";
73
73
  timestamp: Date;
74
- taskId: string;
75
74
  error: string;
75
+ taskId: string;
76
76
  } | {
77
77
  type: "nodeDefer";
78
78
  timestamp: Date;
@@ -96,7 +96,7 @@ export declare function createTask<T extends keyof Requence.TaskTemplate | (stri
96
96
  id: string;
97
97
  alias?: string | undefined;
98
98
  logic?: {
99
- language: "typescript" | "javascript" | "python";
99
+ language: "javascript" | "python" | "typescript";
100
100
  } | undefined;
101
101
  };
102
102
  }> & {
@@ -1 +1 @@
1
- {"version":3,"file":"createTask.d.ts","sourceRoot":"","sources":["../../../../src/createTask.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,MAAM,EACX,KAAK,MAAM,EAEZ,MAAM,YAAY,CAAA;AAInB,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;AAEjD,wBAAgB,UAAU,CACxB,CAAC,SAAS,MAAM,QAAQ,CAAC,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EACrD,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgL5D"}
1
+ {"version":3,"file":"createTask.d.ts","sourceRoot":"","sources":["../../../../src/createTask.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,MAAM,EACX,KAAK,MAAM,EAEZ,MAAM,YAAY,CAAA;AAKnB,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;AAEjD,wBAAgB,UAAU,CACxB,CAAC,SAAS,MAAM,QAAQ,CAAC,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EACrD,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiN5D"}
@@ -1,3 +1,4 @@
1
1
  export { createTask } from './createTask.ts';
2
2
  export { watchTasks } from './watchTasks.ts';
3
+ export { RequenceFile } from '@requence/helpers/files';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA"}