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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/{chunk-r3hqv0x2.js → chunk-ajdmm777.js} +3 -5
  3. package/build/{chunk-r3hqv0x2.js.map → chunk-ajdmm777.js.map} +4 -5
  4. package/build/cli.js +1 -1
  5. package/build/cli.js.map +1 -1
  6. package/build/index.js +79 -9
  7. package/build/index.js.map +8 -7
  8. package/build/types/helpers/src/context/context.d.ts +156 -0
  9. package/build/types/helpers/src/context/context.d.ts.map +1 -0
  10. package/build/types/helpers/src/context/index.d.ts +2 -0
  11. package/build/types/helpers/src/context/index.d.ts.map +1 -0
  12. package/build/types/helpers/src/files/RequenceFile.d.ts +40 -0
  13. package/build/types/helpers/src/files/RequenceFile.d.ts.map +1 -0
  14. package/build/types/helpers/src/files/RequenceStream.d.ts +32 -0
  15. package/build/types/helpers/src/files/RequenceStream.d.ts.map +1 -0
  16. package/build/types/helpers/src/files/index.d.ts +48 -0
  17. package/build/types/helpers/src/files/index.d.ts.map +1 -0
  18. package/build/types/helpers/src/files/isValidMimeType.d.ts +5 -0
  19. package/build/types/helpers/src/files/isValidMimeType.d.ts.map +1 -0
  20. package/build/types/helpers/src/files/mapOutput.d.ts +7 -0
  21. package/build/types/helpers/src/files/mapOutput.d.ts.map +1 -0
  22. package/build/types/helpers/src/files/types.d.ts +4 -0
  23. package/build/types/helpers/src/files/types.d.ts.map +1 -0
  24. package/build/types/helpers/src/jsonschema/mapSchema.d.ts +20 -0
  25. package/build/types/helpers/src/jsonschema/mapSchema.d.ts.map +1 -0
  26. package/build/types/helpers/src/jsonschema/types.d.ts +11 -0
  27. package/build/types/helpers/src/jsonschema/types.d.ts.map +1 -0
  28. package/build/types/helpers/src/jsonschema/validate.d.ts +27 -0
  29. package/build/types/helpers/src/jsonschema/validate.d.ts.map +1 -0
  30. package/build/types/helpers/src/jsonschema/zod.d.ts +20 -0
  31. package/build/types/helpers/src/jsonschema/zod.d.ts.map +1 -0
  32. package/build/types/helpers/src/protocol/command.d.ts +1969 -0
  33. package/build/types/helpers/src/protocol/command.d.ts.map +1 -0
  34. package/build/types/helpers/src/protocol/createNodeMaps.d.ts +10 -0
  35. package/build/types/helpers/src/protocol/createNodeMaps.d.ts.map +1 -0
  36. package/build/types/helpers/src/protocol/getCycles.d.ts +3 -0
  37. package/build/types/helpers/src/protocol/getCycles.d.ts.map +1 -0
  38. package/build/types/helpers/src/protocol/getNodeOutputs.d.ts +4 -0
  39. package/build/types/helpers/src/protocol/getNodeOutputs.d.ts.map +1 -0
  40. package/build/types/helpers/src/protocol/getPossiblePaths.d.ts +9 -0
  41. package/build/types/helpers/src/protocol/getPossiblePaths.d.ts.map +1 -0
  42. package/build/types/helpers/src/protocol/identifyNode.d.ts +4 -0
  43. package/build/types/helpers/src/protocol/identifyNode.d.ts.map +1 -0
  44. package/build/types/helpers/src/protocol/index.d.ts +10 -0
  45. package/build/types/helpers/src/protocol/index.d.ts.map +1 -0
  46. package/build/types/helpers/src/protocol/node.d.ts +1014 -0
  47. package/build/types/helpers/src/protocol/node.d.ts.map +1 -0
  48. package/build/types/helpers/src/protocol/nodes.d.ts +801 -0
  49. package/build/types/helpers/src/protocol/nodes.d.ts.map +1 -0
  50. package/build/types/helpers/src/protocol/update.d.ts +3087 -0
  51. package/build/types/helpers/src/protocol/update.d.ts.map +1 -0
  52. package/build/types/task/src/createTask.d.ts.map +1 -1
  53. package/build/types/task/src/index.d.ts +1 -1
  54. package/build/types/task/src/index.d.ts.map +1 -1
  55. package/build/types/task/src/utils/mapOutput.d.ts.map +1 -1
  56. package/package.json +5 -2
package/build/index.js CHANGED
@@ -2,21 +2,19 @@ import {
2
2
  createRemotePromise,
3
3
  deobfuscate,
4
4
  mapData
5
- } from "./chunk-r3hqv0x2.js";
5
+ } from "./chunk-ajdmm777.js";
6
6
 
7
7
  // ../helpers/src/files/index.ts
8
8
  import { z } from "zod";
9
9
 
10
10
  // ../helpers/src/files/RequenceFile.ts
11
- import util from "node:util";
12
-
13
11
  class RequenceFile {
14
12
  #data;
15
13
  #file = null;
16
14
  constructor(blobParts, options) {
17
15
  this.#data = new Blob(blobParts, options);
18
16
  }
19
- static formFileObject(file) {
17
+ static fromFileObject(file) {
20
18
  const instance = new this([], { type: "x/x" });
21
19
  instance.#file = file;
22
20
  return instance;
@@ -60,9 +58,6 @@ class RequenceFile {
60
58
  }
61
59
  return this.#data.arrayBuffer();
62
60
  }
63
- [util.inspect.custom]() {
64
- return `RequenceFile<${this.mimeType}>`;
65
- }
66
61
  toString() {
67
62
  return `RequenceFile<${this.mimeType}>`;
68
63
  }
@@ -70,6 +65,66 @@ class RequenceFile {
70
65
  return `RequenceFile<${this.mimeType}>`;
71
66
  }
72
67
  }
68
+ // ../helpers/src/files/RequenceStream.ts
69
+ class RequenceStream {
70
+ #data;
71
+ #stream = null;
72
+ #options;
73
+ constructor(stream, options) {
74
+ this.#data = stream;
75
+ this.#options = options;
76
+ }
77
+ static fromStreamObject(stream) {
78
+ const instance = new this(null, {
79
+ type: "x/x"
80
+ });
81
+ instance.#stream = stream;
82
+ return instance;
83
+ }
84
+ get streamObject() {
85
+ return this.#stream;
86
+ }
87
+ get mimeType() {
88
+ return this.#stream?.mime ?? this.#options.type;
89
+ }
90
+ get mainMimeType() {
91
+ return this.mimeType.split("/")[0];
92
+ }
93
+ get subMimeType() {
94
+ return this.mimeType.split("/")[1];
95
+ }
96
+ stream() {
97
+ if (this.#stream) {
98
+ const { readable, writable } = new TransformStream;
99
+ fetch(this.#stream.url).then((response) => response.body?.pipeTo(writable));
100
+ return readable;
101
+ }
102
+ return this.#data;
103
+ }
104
+ asyncIterable() {
105
+ const reader = this.stream().getReader();
106
+ return {
107
+ [Symbol.asyncIterator]() {
108
+ return {
109
+ async next() {
110
+ return reader.read();
111
+ },
112
+ async return() {
113
+ reader.cancel();
114
+ reader.releaseLock();
115
+ return { done: true, value: null };
116
+ }
117
+ };
118
+ }
119
+ };
120
+ }
121
+ toString() {
122
+ return `RequenceStream<${this.mimeType}>`;
123
+ }
124
+ toJSON() {
125
+ return `RequenceStream<${this.mimeType}>`;
126
+ }
127
+ }
73
128
 
74
129
  // ../helpers/src/files/index.ts
75
130
  var fileObjectSchema = z.object({
@@ -81,9 +136,18 @@ var fileObjectSchema = z.object({
81
136
  function isFileObject(data) {
82
137
  return fileObjectSchema.safeParse(data).success;
83
138
  }
139
+ var streamObjectSchema = z.object({
140
+ mime: z.string(),
141
+ url: z.string().url(),
142
+ __REQUENCE_type: z.literal("RequenceStream")
143
+ });
144
+ function isStreamObject(data) {
145
+ return streamObjectSchema.safeParse(data).success;
146
+ }
84
147
 
85
148
  // src/createTask.ts
86
149
  import { EventSource } from "eventsource";
150
+ import FormData from "form-data";
87
151
 
88
152
  // src/types.ts
89
153
  import { z as z2 } from "zod";
@@ -232,7 +296,10 @@ function mapOutput2(data) {
232
296
  return mapData(data, {
233
297
  Object(obj) {
234
298
  if (isFileObject(obj)) {
235
- return RequenceFile.formFileObject(obj);
299
+ return RequenceFile.fromFileObject(obj);
300
+ }
301
+ if (isStreamObject(obj)) {
302
+ return RequenceStream.fromStreamObject(obj);
236
303
  }
237
304
  }
238
305
  });
@@ -346,6 +413,8 @@ function createTask(options, onUpdate) {
346
413
  const name = path.map((segment, index) => index === 0 ? segment : typeof segment === "string" ? `.${segment}` : `[${segment}]`).join("");
347
414
  if (data instanceof RequenceFile) {
348
415
  formData.append(name, await data.blob(), name);
416
+ } else if (data instanceof RequenceStream) {
417
+ formData.append(name, data.stream(), name);
349
418
  } else if (Array.isArray(data)) {
350
419
  await Promise.all(data.map((item, index) => walkData(item, [...path, index])));
351
420
  } else if (data && typeof data === "object") {
@@ -453,8 +522,9 @@ function watchTasks(options) {
453
522
  export {
454
523
  watchTasks,
455
524
  createTask,
525
+ RequenceStream,
456
526
  RequenceFile
457
527
  };
458
528
 
459
- //# debugId=4CF04B754B02239C64756E2164756E21
529
+ //# debugId=D795FF91B80A9C0364756E2164756E21
460
530
  //# sourceMappingURL=index.js.map
@@ -1,17 +1,18 @@
1
1
  {
2
2
  "version": 3,
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"],
3
+ "sources": ["../../helpers/src/files/index.ts", "../../helpers/src/files/RequenceFile.ts", "../../helpers/src/files/RequenceStream.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 { 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",
5
+ "import { z } from 'zod'\n\nexport * from './mapOutput.ts'\nexport * from './isValidMimeType.ts'\nexport * from './RequenceFile.ts'\nexport * from './RequenceStream.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\nconst streamObjectSchema = z.object({\n mime: z.string(),\n url: z.string().url(),\n __REQUENCE_type: z.literal('RequenceStream'),\n})\n\nexport type StreamObject = z.infer<typeof streamObjectSchema>\n\nexport function toStreamObject(streamInfo: {\n mime: string\n url: string\n}): StreamObject {\n return {\n ...streamInfo,\n __REQUENCE_type: 'RequenceStream',\n }\n}\n\nexport function isStreamObject(data: unknown): data is StreamObject {\n return streamObjectSchema.safeParse(data).success\n}\n",
6
+ "import type { FileObject } from './index.ts'\nimport type { MainMimeType, SubMimeType, ValidMimeType } from './types.ts'\n\ninterface RequenceFilePropertyBag<T> extends Omit<BlobPropertyBag, 'type'> {\n type: T\n}\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 fromFileObject<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 toString() {\n return `RequenceFile<${this.mimeType}>`\n }\n\n toJSON() {\n return `RequenceFile<${this.mimeType}>`\n }\n}\n",
7
+ "import type { StreamObject } from './index.ts'\nimport type { MainMimeType, SubMimeType, ValidMimeType } from './types.ts'\n\nexport interface RequenceStreamType<A, B> {\n mimeType: string\n mainMimeType: A\n subMimeType: B\n stream(): ReadableStream\n}\n\ninterface RequenceStreamOptions<T> {\n type: T\n}\n\nexport class RequenceStream<\n T extends `${string}/${string}` = '*/*',\n A = MainMimeType<T>,\n B = SubMimeType<T>,\n> implements RequenceStreamType<A, B>\n{\n #data: ReadableStream\n #stream: StreamObject | null = null\n #options: RequenceStreamOptions<any>\n\n constructor(\n stream: ReadableStream,\n options: RequenceStreamOptions<ValidMimeType<T>>,\n ) {\n this.#data = stream\n this.#options = options\n }\n\n /** @internal */\n static fromStreamObject<T extends `${string}/${string}`>(\n stream: StreamObject,\n ) {\n const instance = new this(null as unknown as ReadableStream, {\n type: 'x/x',\n })\n instance.#stream = stream\n return instance as unknown as RequenceStream<T>\n }\n\n /** @internal */\n get streamObject() {\n return this.#stream\n }\n\n get mimeType() {\n return this.#stream?.mime ?? this.#options.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 stream() {\n if (this.#stream) {\n const { readable, writable } = new TransformStream()\n\n fetch(this.#stream.url).then((response) =>\n response.body?.pipeTo(writable),\n )\n\n return readable\n }\n return this.#data\n }\n\n asyncIterable(): AsyncIterable<Uint8Array> {\n const reader = this.stream().getReader()\n\n return {\n [Symbol.asyncIterator]() {\n return {\n async next() {\n return reader.read() as Promise<IteratorResult<Uint8Array>>\n },\n async return() {\n reader.cancel()\n reader.releaseLock()\n return { done: true, value: null }\n },\n }\n },\n }\n }\n\n toString() {\n return `RequenceStream<${this.mimeType}>`\n }\n\n toJSON() {\n return `RequenceStream<${this.mimeType}>`\n }\n}\n",
8
+ "import { createRemotePromise } from '@requence/helpers'\nimport { RequenceFile, RequenceStream } from '@requence/helpers/files'\nimport { EventSource } from 'eventsource'\nimport FormData from 'form-data'\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 (data instanceof RequenceStream) {\n formData.append(name, data.stream(), 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 as any,\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",
8
9
  "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",
9
10
  "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",
10
11
  "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",
12
+ "import { mapData } from '@requence/helpers'\nimport {\n RequenceFile,\n RequenceStream,\n isFileObject,\n isStreamObject,\n} 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.fromFileObject(obj)\n }\n if (isStreamObject(obj)) {\n return RequenceStream.fromStreamObject(obj)\n }\n },\n })\n}\n",
12
13
  "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"
13
14
  ],
14
- "mappings": "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",
15
- "debugId": "4CF04B754B02239C64756E2164756E21",
15
+ "mappings": "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",
16
+ "debugId": "D795FF91B80A9C0364756E2164756E21",
16
17
  "names": []
17
18
  }
@@ -0,0 +1,156 @@
1
+ import { z } from 'zod';
2
+ import type { Nodes } from '../protocol/nodes.ts';
3
+ export declare const contextSchema: z.ZodObject<{
4
+ input: z.ZodAny;
5
+ meta: z.ZodAny;
6
+ tenant: z.ZodObject<{
7
+ name: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ name: string;
10
+ }, {
11
+ name: string;
12
+ }>;
13
+ data: z.ZodRecord<z.ZodString, z.ZodAny>;
14
+ errors: z.ZodRecord<z.ZodString, z.ZodString>;
15
+ dates: z.ZodRecord<z.ZodString, z.ZodString>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ errors: Record<string, string>;
18
+ data: Record<string, any>;
19
+ tenant: {
20
+ name: string;
21
+ };
22
+ dates: Record<string, string>;
23
+ meta?: any;
24
+ input?: any;
25
+ }, {
26
+ errors: Record<string, string>;
27
+ data: Record<string, any>;
28
+ tenant: {
29
+ name: string;
30
+ };
31
+ dates: Record<string, string>;
32
+ meta?: any;
33
+ input?: any;
34
+ }>;
35
+ export type Context = z.infer<typeof contextSchema>;
36
+ declare const internalKey: "internal";
37
+ export declare function getInternalContext(contextHelper: ContextHelper): {
38
+ results: Map<string, {
39
+ node: {
40
+ type: "entry";
41
+ id: "__entry__";
42
+ output: import("../protocol/node.ts").Output[];
43
+ inputSchema: import("json-schema").JSONSchema7;
44
+ metaSchema: import("json-schema").JSONSchema7;
45
+ meta?: Record<string, any> | undefined;
46
+ } | {
47
+ type: "service";
48
+ id: string;
49
+ name: string;
50
+ output: import("../protocol/node.ts").Output[];
51
+ inputSchema: ({
52
+ type: "object";
53
+ } & import("json-schema").JSONSchema7) | {
54
+ type: "null";
55
+ };
56
+ version: string;
57
+ configurationSchema: import("json-schema").JSONSchema7;
58
+ meta?: Record<string, any> | undefined;
59
+ configuration?: any;
60
+ alias?: string | undefined;
61
+ ttl?: number | undefined;
62
+ retry?: number | undefined;
63
+ retryDelay?: number | undefined;
64
+ } | {
65
+ type: "catch";
66
+ id: string;
67
+ output: import("../protocol/node.ts").Output[];
68
+ subject: string;
69
+ meta?: Record<string, any> | undefined;
70
+ } | {
71
+ type: "logic";
72
+ id: string;
73
+ output: import("../protocol/node.ts").Output[];
74
+ script: string;
75
+ concurrency: boolean;
76
+ language: "javascript" | "python" | "typescript";
77
+ maxExecutionTime: number;
78
+ meta?: Record<string, any> | undefined;
79
+ alias?: string | undefined;
80
+ } | {
81
+ type: "or";
82
+ id: string;
83
+ output: import("../protocol/node.ts").Output[];
84
+ meta?: Record<string, any> | undefined;
85
+ alias?: string | undefined;
86
+ };
87
+ executionDate: Date | null;
88
+ data: any;
89
+ error: string;
90
+ }>;
91
+ };
92
+ export declare function createContextHelper(context: Context, nodes: Nodes): {
93
+ internal: {
94
+ results: Map<string, {
95
+ node: {
96
+ type: "entry";
97
+ id: "__entry__";
98
+ output: import("../protocol/node.ts").Output[];
99
+ inputSchema: import("json-schema").JSONSchema7;
100
+ metaSchema: import("json-schema").JSONSchema7;
101
+ meta?: Record<string, any> | undefined;
102
+ } | {
103
+ type: "service";
104
+ id: string;
105
+ name: string;
106
+ output: import("../protocol/node.ts").Output[];
107
+ inputSchema: ({
108
+ type: "object";
109
+ } & import("json-schema").JSONSchema7) | {
110
+ type: "null";
111
+ };
112
+ version: string;
113
+ configurationSchema: import("json-schema").JSONSchema7;
114
+ meta?: Record<string, any> | undefined;
115
+ configuration?: any;
116
+ alias?: string | undefined;
117
+ ttl?: number | undefined;
118
+ retry?: number | undefined;
119
+ retryDelay?: number | undefined;
120
+ } | {
121
+ type: "catch";
122
+ id: string;
123
+ output: import("../protocol/node.ts").Output[];
124
+ subject: string;
125
+ meta?: Record<string, any> | undefined;
126
+ } | {
127
+ type: "logic";
128
+ id: string;
129
+ output: import("../protocol/node.ts").Output[];
130
+ script: string;
131
+ concurrency: boolean;
132
+ language: "javascript" | "python" | "typescript";
133
+ maxExecutionTime: number;
134
+ meta?: Record<string, any> | undefined;
135
+ alias?: string | undefined;
136
+ } | {
137
+ type: "or";
138
+ id: string;
139
+ output: import("../protocol/node.ts").Output[];
140
+ meta?: Record<string, any> | undefined;
141
+ alias?: string | undefined;
142
+ };
143
+ executionDate: Date | null;
144
+ data: any;
145
+ error: string;
146
+ }>;
147
+ };
148
+ getInput(): unknown;
149
+ getMeta(): unknown;
150
+ getData(alias?: string): any;
151
+ getError(alias: string): string | null;
152
+ };
153
+ type InternalContextHelper = ReturnType<typeof createContextHelper>;
154
+ export type ContextHelper = Omit<InternalContextHelper, typeof internalKey>;
155
+ export {};
156
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/context/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAQvB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAGjD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOxB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAMnD,QAAA,MAAM,WAAW,EAAwC,UAAU,CAAA;AAEnE,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE9D;AAgBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA8ClD,OAAO;eAGR,OAAO;oBAGF,MAAM;oBAsCN,MAAM;EAWzB;AAED,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACnE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,WAAW,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './context.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -0,0 +1,40 @@
1
+ import type { FileObject } from './index.ts';
2
+ import type { MainMimeType, SubMimeType, ValidMimeType } from './types.ts';
3
+ interface RequenceFilePropertyBag<T> extends Omit<BlobPropertyBag, 'type'> {
4
+ type: T;
5
+ }
6
+ export interface RequenceFileType<A, B> {
7
+ size: number;
8
+ mimeType: string;
9
+ mainMimeType: A;
10
+ subMimeType: B;
11
+ text(): Promise<string>;
12
+ json(): Promise<unknown>;
13
+ blob(): Promise<Blob>;
14
+ arrayBuffer(): Promise<ArrayBuffer>;
15
+ }
16
+ export declare class RequenceFile<T extends `${string}/${string}` = '*/*', A = MainMimeType<T>, B = SubMimeType<T>> implements RequenceFileType<A, B> {
17
+ #private;
18
+ constructor(blobParts: BlobPart[], options?: RequenceFilePropertyBag<ValidMimeType<T>>);
19
+ /** @internal */
20
+ static fromFileObject<T extends `${string}/${string}`>(file: FileObject): RequenceFile<T>;
21
+ /** @internal */
22
+ get fileObject(): {
23
+ size: number;
24
+ mime: string;
25
+ url: string;
26
+ __REQUENCE_type: "RequenceFile";
27
+ } | null;
28
+ get size(): number;
29
+ get mimeType(): string;
30
+ get mainMimeType(): A;
31
+ get subMimeType(): B;
32
+ text(): Promise<string>;
33
+ json(): Promise<any>;
34
+ blob(): Promise<Blob>;
35
+ arrayBuffer(): Promise<ArrayBuffer>;
36
+ toString(): string;
37
+ toJSON(): string;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=RequenceFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequenceFile.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/files/RequenceFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1E,UAAU,uBAAuB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;IACxE,IAAI,EAAE,CAAC,CAAA;CACR;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,CAAC,CAAA;IACf,WAAW,EAAE,CAAC,CAAA;IACd,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IACvB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IACxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;CACpC;AAED,qBAAa,YAAY,CACvB,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,KAAK,EACvC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EACnB,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAClB,YAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;;gBAK/B,SAAS,EAAE,QAAQ,EAAE,EACrB,OAAO,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAKrD,gBAAgB;IAChB,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,GAGlD,YAAY,CAAC,CAAC,CAAC;IAGpC,gBAAgB;IAChB,IAAI,UAAU;;;;;aAEb;IAED,IAAI,IAAI,WAEP;IAED,IAAI,QAAQ,WAEX;IAED,IAAI,YAAY,IACwB,CAAC,CACxC;IAED,IAAI,WAAW,IACyB,CAAC,CACxC;IAEK,IAAI;IAOJ,IAAI;IAOJ,IAAI;IAOJ,WAAW;IAOjB,QAAQ;IAIR,MAAM;CAGP"}
@@ -0,0 +1,32 @@
1
+ import type { StreamObject } from './index.ts';
2
+ import type { MainMimeType, SubMimeType, ValidMimeType } from './types.ts';
3
+ export interface RequenceStreamType<A, B> {
4
+ mimeType: string;
5
+ mainMimeType: A;
6
+ subMimeType: B;
7
+ stream(): ReadableStream;
8
+ }
9
+ interface RequenceStreamOptions<T> {
10
+ type: T;
11
+ }
12
+ export declare class RequenceStream<T extends `${string}/${string}` = '*/*', A = MainMimeType<T>, B = SubMimeType<T>> implements RequenceStreamType<A, B> {
13
+ #private;
14
+ constructor(stream: ReadableStream, options: RequenceStreamOptions<ValidMimeType<T>>);
15
+ /** @internal */
16
+ static fromStreamObject<T extends `${string}/${string}`>(stream: StreamObject): RequenceStream<T>;
17
+ /** @internal */
18
+ get streamObject(): {
19
+ mime: string;
20
+ url: string;
21
+ __REQUENCE_type: "RequenceStream";
22
+ } | null;
23
+ get mimeType(): any;
24
+ get mainMimeType(): A;
25
+ get subMimeType(): B;
26
+ stream(): ReadableStream<any>;
27
+ asyncIterable(): AsyncIterable<Uint8Array>;
28
+ toString(): string;
29
+ toJSON(): string;
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=RequenceStream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequenceStream.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/files/RequenceStream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1E,MAAM,WAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,CAAC,CAAA;IACf,WAAW,EAAE,CAAC,CAAA;IACd,MAAM,IAAI,cAAc,CAAA;CACzB;AAED,UAAU,qBAAqB,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAA;CACR;AAED,qBAAa,cAAc,CACzB,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,KAAK,EACvC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EACnB,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAClB,YAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;;gBAOjC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAMlD,gBAAgB;IAChB,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,EACrD,MAAM,EAAE,YAAY,GAMU,cAAc,CAAC,CAAC,CAAC;IAGjD,gBAAgB;IAChB,IAAI,YAAY;;;;aAEf;IAED,IAAI,QAAQ,QAEX;IAED,IAAI,YAAY,IACwB,CAAC,CACxC;IAED,IAAI,WAAW,IACyB,CAAC,CACxC;IAED,MAAM;IAaN,aAAa,IAAI,aAAa,CAAC,UAAU,CAAC;IAmB1C,QAAQ;IAIR,MAAM;CAGP"}
@@ -0,0 +1,48 @@
1
+ import { z } from 'zod';
2
+ export * from './mapOutput.ts';
3
+ export * from './isValidMimeType.ts';
4
+ export * from './RequenceFile.ts';
5
+ export * from './RequenceStream.ts';
6
+ declare const fileObjectSchema: z.ZodObject<{
7
+ size: z.ZodNumber;
8
+ mime: z.ZodString;
9
+ url: z.ZodString;
10
+ __REQUENCE_type: z.ZodLiteral<"RequenceFile">;
11
+ }, "strip", z.ZodTypeAny, {
12
+ size: number;
13
+ mime: string;
14
+ url: string;
15
+ __REQUENCE_type: "RequenceFile";
16
+ }, {
17
+ size: number;
18
+ mime: string;
19
+ url: string;
20
+ __REQUENCE_type: "RequenceFile";
21
+ }>;
22
+ export type FileObject = z.infer<typeof fileObjectSchema>;
23
+ export declare function toFileObject(fileInfo: {
24
+ size: number;
25
+ mime: string;
26
+ url: string;
27
+ }): FileObject;
28
+ export declare function isFileObject(data: unknown): data is FileObject;
29
+ declare const streamObjectSchema: z.ZodObject<{
30
+ mime: z.ZodString;
31
+ url: z.ZodString;
32
+ __REQUENCE_type: z.ZodLiteral<"RequenceStream">;
33
+ }, "strip", z.ZodTypeAny, {
34
+ mime: string;
35
+ url: string;
36
+ __REQUENCE_type: "RequenceStream";
37
+ }, {
38
+ mime: string;
39
+ url: string;
40
+ __REQUENCE_type: "RequenceStream";
41
+ }>;
42
+ export type StreamObject = z.infer<typeof streamObjectSchema>;
43
+ export declare function toStreamObject(streamInfo: {
44
+ mime: string;
45
+ url: string;
46
+ }): StreamObject;
47
+ export declare function isStreamObject(data: unknown): data is StreamObject;
48
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/files/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AAEnC,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;EAKpB,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD,wBAAgB,YAAY,CAAC,QAAQ,EAAE;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,UAAU,CAKb;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,UAAU,CAE9D;AAED,QAAA,MAAM,kBAAkB;;;;;;;;;;;;EAItB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,wBAAgB,cAAc,CAAC,UAAU,EAAE;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,YAAY,CAKf;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,YAAY,CAElE"}
@@ -0,0 +1,5 @@
1
+ export declare function isValidMimeType(fileInfo: {
2
+ ext?: string;
3
+ mime: string;
4
+ }, accept: string): boolean;
5
+ //# sourceMappingURL=isValidMimeType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isValidMimeType.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/files/isValidMimeType.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAC7B,QAAQ,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACxC,MAAM,EAAE,MAAM,WA6Bf"}
@@ -0,0 +1,7 @@
1
+ import type { NodeOptions } from '../protocol/command.ts';
2
+ export declare function mapOutput(value: unknown, nodeOptions: NodeOptions, eventHandlers?: {
3
+ onFail?: (error: Error) => void;
4
+ onSkip?: () => void;
5
+ onDone?: () => void;
6
+ }): Promise<unknown>;
7
+ //# sourceMappingURL=mapOutput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapOutput.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/files/mapOutput.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAsEzD,wBAAsB,SAAS,CAC7B,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,WAAW,EACxB,aAAa,CAAC,EAAE;IACd,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAC/B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB,oBAiFF"}
@@ -0,0 +1,4 @@
1
+ export type MainMimeType<T extends string> = T extends `${infer V}/${string}` ? V extends '*' ? any : V : any;
2
+ export type SubMimeType<T extends string> = T extends `${string}/${infer V}` ? V extends '*' ? any : V : any;
3
+ export type ValidMimeType<T extends `${string}/${string}`> = T extends `${infer A}/${infer B}` ? A extends '*' | '' | '/' ? never : B extends '*' | '' | '/' ? never : T : never;
4
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/files/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,EAAE,GACzE,CAAC,SAAS,GAAG,GACX,GAAG,GACH,CAAC,GACH,GAAG,CAAA;AAEP,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,EAAE,GACxE,CAAC,SAAS,GAAG,GACX,GAAG,GACH,CAAC,GACH,GAAG,CAAA;AAEP,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,IACvD,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,GAC7B,CAAC,SAAS,GAAG,GAAG,EAAE,GAAG,GAAG,GACtB,KAAK,GACL,CAAC,SAAS,GAAG,GAAG,EAAE,GAAG,GAAG,GACtB,KAAK,GACL,CAAC,GACL,KAAK,CAAA"}