@requence/task 1.0.0-alpha.1 → 1.0.0-alpha.11

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 (70) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/build/chunk-ajdmm777.js +125 -0
  3. package/build/chunk-ajdmm777.js.map +12 -0
  4. package/build/cli.js +17 -502
  5. package/build/cli.js.map +4 -8
  6. package/build/index.js +350 -88
  7. package/build/index.js.map +12 -6
  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/helpers/src/utils.d.ts +14 -1
  53. package/build/types/helpers/src/utils.d.ts.map +1 -1
  54. package/build/types/task/src/createTask.d.ts +110 -0
  55. package/build/types/task/src/createTask.d.ts.map +1 -0
  56. package/build/types/task/src/index.d.ts +3 -81
  57. package/build/types/task/src/index.d.ts.map +1 -1
  58. package/build/types/task/src/types.d.ts +658 -41
  59. package/build/types/task/src/types.d.ts.map +1 -1
  60. package/build/types/task/src/utils/callbackToAsyncIterator.d.ts +1 -1
  61. package/build/types/task/src/utils/callbackToAsyncIterator.d.ts.map +1 -1
  62. package/build/types/task/src/utils/getAccessToken.d.ts +5 -0
  63. package/build/types/task/src/utils/getAccessToken.d.ts.map +1 -0
  64. package/build/types/task/src/utils/mapOutput.d.ts +2 -0
  65. package/build/types/task/src/utils/mapOutput.d.ts.map +1 -0
  66. package/build/types/task/src/watchTasks.d.ts +105 -0
  67. package/build/types/task/src/watchTasks.d.ts.map +1 -0
  68. package/package.json +7 -4
  69. package/build/chunk-s4kgf465.js +0 -67
  70. package/build/chunk-s4kgf465.js.map +0 -12
package/CHANGELOG.md CHANGED
@@ -0,0 +1,55 @@
1
+ # @requence/task
2
+
3
+ ## 1.0.0-alpha.11
4
+
5
+ ### Patch Changes
6
+
7
+ - 300f7de: temporary upload as formdata
8
+
9
+ ## 1.0.0-alpha.10
10
+
11
+ ### Patch Changes
12
+
13
+ - 9dcaeae: fixed dependencies
14
+
15
+ ## 1.0.0-alpha.9
16
+
17
+ ### Patch Changes
18
+
19
+ - 1df3d43: improved typing
20
+
21
+ ## 1.0.0-alpha.8
22
+
23
+ ### Patch Changes
24
+
25
+ - 679cbaf: streams
26
+
27
+ ## 1.0.0-alpha.7
28
+
29
+ ### Patch Changes
30
+
31
+ - a464543: improved file matching algorithm
32
+
33
+ ## 1.0.0-alpha.6
34
+
35
+ ### Patch Changes
36
+
37
+ - 1d847ee: improved files handling
38
+
39
+ ## 1.0.0-alpha.5
40
+
41
+ ### Patch Changes
42
+
43
+ - f7ea7fa: added files support
44
+
45
+ ## 1.0.0-alpha.4
46
+
47
+ ### Patch Changes
48
+
49
+ - 04ce4a9: improved caching and live queries
50
+
51
+ ## 1.0.0-alpha.3
52
+
53
+ ### Patch Changes
54
+
55
+ - 1a0bca0: structure redesign
@@ -0,0 +1,125 @@
1
+ import { createRequire } from "node:module";
2
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
3
+
4
+ // ../helpers/src/obfuscate.ts
5
+ var separator = "";
6
+ var base65Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$";
7
+ var base65CharToIndex = {};
8
+ for (let i = 0;i < base65Chars.length; i++) {
9
+ base65CharToIndex[base65Chars[i]] = i;
10
+ }
11
+ function deobfuscate(str) {
12
+ const paddingCount = parseInt(str.slice(-1), 10);
13
+ str = str.slice(0, -1);
14
+ let binaryString = "";
15
+ for (let i = 0;i < str.length; i++) {
16
+ const decimalValue = base65CharToIndex[str[i]];
17
+ const binaryChunk = decimalValue.toString(2).padStart(6, "0");
18
+ binaryString += binaryChunk;
19
+ }
20
+ if (paddingCount > 0) {
21
+ binaryString = binaryString.slice(0, -paddingCount);
22
+ }
23
+ let decodedString = "";
24
+ const charSize = 16;
25
+ for (let i = 0;i < binaryString.length; i += charSize) {
26
+ const byte = binaryString.substring(i, i + charSize);
27
+ if (byte.length === 16) {
28
+ const charCode = parseInt(byte, 2);
29
+ decodedString += String.fromCharCode(charCode);
30
+ }
31
+ }
32
+ return decodedString.split(separator);
33
+ }
34
+
35
+ // ../helpers/src/utils.ts
36
+ import { z } from "zod";
37
+ var recordSchema = z.record(z.unknown());
38
+ function isRecord(data) {
39
+ return recordSchema.safeParse(data).success;
40
+ }
41
+ function resolve(value, onResolve) {
42
+ if (value instanceof Promise) {
43
+ return Promise.resolve().then(() => value).then(onResolve);
44
+ }
45
+ return onResolve(value);
46
+ }
47
+ function notUndefined(value, fallback) {
48
+ return resolve(value, (resolvedValue) => typeof resolvedValue === "undefined" ? fallback : resolvedValue);
49
+ }
50
+ function mapData(data, visitors) {
51
+ const traverseData = (data2, path) => {
52
+ if (Array.isArray(data2)) {
53
+ return resolve(visitors.Array?.(data2, path), (resolvedData) => {
54
+ if (resolvedData) {
55
+ return resolvedData;
56
+ }
57
+ const items = data2.map((item, index) => traverseData(item, [...path, index]));
58
+ if (items.some((item) => item instanceof Promise)) {
59
+ return Promise.all(items);
60
+ }
61
+ return items;
62
+ });
63
+ }
64
+ if (data2 === null) {
65
+ return notUndefined(visitors.Null?.(data2, path), data2);
66
+ }
67
+ if (typeof Buffer !== "undefined" && Buffer.isBuffer(data2)) {
68
+ return notUndefined(visitors.Buffer?.(data2, path), data2);
69
+ }
70
+ if (typeof data2 === "string") {
71
+ return notUndefined(visitors.String?.(data2, path), data2);
72
+ }
73
+ if (typeof data2 === "number") {
74
+ return notUndefined(visitors.Number?.(data2, path), data2);
75
+ }
76
+ if (isRecord(data2)) {
77
+ return resolve(visitors.Object?.(data2, path), (resolvedData) => {
78
+ if (resolvedData) {
79
+ return resolvedData;
80
+ }
81
+ const entries = Object.entries(data2).map(([key, value]) => [
82
+ key,
83
+ traverseData(value, [...path, key])
84
+ ]);
85
+ if (entries.some(([, value]) => value instanceof Promise)) {
86
+ return Promise.all(entries.map(([key, value]) => Promise.resolve().then(() => value).then((resolvedValue) => [key, resolvedValue]))).then((entries2) => Object.fromEntries(entries2));
87
+ }
88
+ return Object.fromEntries(entries);
89
+ });
90
+ }
91
+ return data2;
92
+ };
93
+ return traverseData(data, []);
94
+ }
95
+ // ../helpers/src/createRemotePromise.ts
96
+ function createRemotePromise(onAwait) {
97
+ let resolvePromise;
98
+ let rejectPromise;
99
+ const internalPromise = new Promise((resolve2, reject) => {
100
+ resolvePromise = resolve2;
101
+ rejectPromise = reject;
102
+ });
103
+ let isAwaited = false;
104
+ const wrappedPromise = new Proxy(internalPromise, {
105
+ get(target, property) {
106
+ if (property === "then" || property === "catch" || property === "finally") {
107
+ if (!isAwaited && onAwait) {
108
+ isAwaited = true;
109
+ onAwait(resolvePromise, rejectPromise);
110
+ }
111
+ return target[property].bind(target);
112
+ }
113
+ return target[property];
114
+ }
115
+ });
116
+ return Object.assign(wrappedPromise, {
117
+ resolve: resolvePromise,
118
+ reject: rejectPromise,
119
+ promise: wrappedPromise
120
+ });
121
+ }
122
+ export { __require, mapData, deobfuscate, createRemotePromise };
123
+
124
+ //# debugId=AAE1E2E60294657364756E2164756E21
125
+ //# sourceMappingURL=chunk-ajdmm777.js.map
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../helpers/src/obfuscate.ts", "../../helpers/src/utils.ts", "../../helpers/src/createRemotePromise.ts"],
4
+ "sourcesContent": [
5
+ "const separator = '\\u{f6ee}'\n\nconst base65Chars =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$'\n\nconst base65CharToIndex: Record<string, number> = {}\nfor (let i = 0; i < base65Chars.length; i++) {\n base65CharToIndex[base65Chars[i]] = i\n}\n\nexport function obfuscate(...parts: Array<string>) {\n const str = parts.join(separator)\n let binaryString = ''\n\n for (let i = 0; i < str.length; i++) {\n const charCode = str.charCodeAt(i)\n binaryString += charCode.toString(2).padStart(16, '0')\n }\n\n let encodedString = ''\n const chunkSize = 6\n let paddingCount = 0\n\n for (let i = 0; i < binaryString.length; i += chunkSize) {\n let chunk = binaryString.substring(i, i + chunkSize)\n\n if (chunk.length < chunkSize) {\n paddingCount = chunkSize - chunk.length\n chunk = chunk.padEnd(chunkSize, '0')\n }\n\n const decimalValue = parseInt(chunk, 2)\n encodedString += base65Chars[decimalValue]\n }\n\n return encodedString + paddingCount.toString()\n}\n\nexport function randomString(length: number) {\n const randomValues = new Uint8Array(length)\n crypto.getRandomValues(randomValues)\n\n let randomString = ''\n for (let i = 0; i < length; i++) {\n randomString += base65Chars[randomValues[i] % base65Chars.length]\n }\n\n return randomString\n}\n\nexport function deobfuscate(str: string) {\n const paddingCount = parseInt(str.slice(-1), 10)\n str = str.slice(0, -1)\n\n let binaryString = ''\n\n for (let i = 0; i < str.length; i++) {\n const decimalValue = base65CharToIndex[str[i]]\n const binaryChunk = decimalValue.toString(2).padStart(6, '0')\n binaryString += binaryChunk\n }\n\n if (paddingCount > 0) {\n binaryString = binaryString.slice(0, -paddingCount)\n }\n\n let decodedString = ''\n const charSize = 16\n\n for (let i = 0; i < binaryString.length; i += charSize) {\n const byte = binaryString.substring(i, i + charSize)\n if (byte.length === 16) {\n const charCode = parseInt(byte, 2)\n decodedString += String.fromCharCode(charCode)\n }\n }\n\n return decodedString.split(separator)\n}\n",
6
+ "import { z } from 'zod'\n\nexport function matchSchema<Schema extends z.ZodSchema>(\n schema: Schema,\n input: unknown,\n): input is z.infer<Schema>\nexport function matchSchema<Schema extends z.ZodSchema>(\n schema: Schema,\n): (input: unknown) => input is z.infer<Schema>\nexport function matchSchema<Schema extends z.ZodSchema>(\n schema: Schema,\n input?: unknown,\n) {\n if (input) {\n return schema.safeParse(input).success\n }\n\n return (input: unknown): input is z.infer<Schema> =>\n schema.safeParse(input).success\n}\n\nconst recordSchema = z.record(z.unknown())\nexport function isRecord(data: unknown): data is Record<string, unknown> {\n return recordSchema.safeParse(data).success\n}\n\ntype DataVistor<T> = (\n data: T,\n path: Array<string | number>,\n) => Promise<any> | any\n\ninterface DataVistors {\n Null?: DataVistor<null>\n String?: DataVistor<string>\n Number?: DataVistor<number>\n Object?: DataVistor<object>\n Array?: DataVistor<Array<any>>\n Buffer?: DataVistor<Buffer>\n}\n\ntype HasPromiseVistor<T extends DataVistors, Then, Else> = T[keyof T] extends (\n ...args: any[]\n) => any\n ? Promise<any> extends ReturnType<T[keyof T]>\n ? Then\n : Else\n : Else\n\nfunction resolve<T>(value: T | Promise<T>, onResolve: (value: T) => void) {\n if (value instanceof Promise) {\n return Promise.resolve()\n .then(() => value)\n .then(onResolve)\n }\n return onResolve(value)\n}\n\nfunction notUndefined(value: unknown, fallback: unknown) {\n return resolve(value, (resolvedValue) =>\n typeof resolvedValue === 'undefined' ? fallback : resolvedValue,\n )\n}\n\nexport function mapData<\n Output,\n Input = unknown,\n V extends DataVistors = DataVistors,\n>(\n data: Input,\n visitors: V,\n): HasPromiseVistor<\n V,\n Promise<unknown extends Output ? Input : Output>,\n unknown extends Output ? Input : Output\n> {\n const traverseData = (data: any, path: Array<string | number>): any => {\n if (Array.isArray(data)) {\n return resolve(visitors.Array?.(data, path), (resolvedData) => {\n if (resolvedData) {\n return resolvedData\n }\n const items = data.map((item, index) =>\n traverseData(item, [...path, index]),\n )\n if (items.some((item) => item instanceof Promise)) {\n return Promise.all(items)\n }\n\n return items\n })\n }\n if (data === null) {\n return notUndefined(visitors.Null?.(data, path), data)\n }\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer(data)) {\n return notUndefined(visitors.Buffer?.(data, path), data)\n }\n if (typeof data === 'string') {\n return notUndefined(visitors.String?.(data, path), data)\n }\n if (typeof data === 'number') {\n return notUndefined(visitors.Number?.(data, path), data)\n }\n if (isRecord(data)) {\n return resolve(visitors.Object?.(data, path), (resolvedData) => {\n if (resolvedData) {\n return resolvedData\n }\n\n const entries = Object.entries(data).map(([key, value]) => [\n key,\n traverseData(value, [...path, key]),\n ])\n\n if (entries.some(([, value]) => value instanceof Promise)) {\n return Promise.all(\n entries.map(([key, value]) =>\n Promise.resolve()\n .then(() => value)\n .then((resolvedValue) => [key, resolvedValue]),\n ),\n ).then((entries) => Object.fromEntries(entries))\n }\n\n return Object.fromEntries(entries)\n })\n }\n return data\n }\n\n return traverseData(data, [])\n}\n",
7
+ "export default function createRemotePromise<T = void>(\n onAwait?: (\n resolve: (value: T) => void,\n reject: (error: any) => void,\n ) => void | Promise<void>,\n) {\n let resolvePromise!: (value: T | PromiseLike<T>) => void\n let rejectPromise!: (reason?: any) => void\n\n const internalPromise = new Promise<T>((resolve, reject) => {\n resolvePromise = resolve\n rejectPromise = reject\n })\n\n let isAwaited = false\n\n const wrappedPromise = new Proxy(internalPromise, {\n get(target, property: keyof PromiseLike<T>) {\n if (\n property === 'then' ||\n property === 'catch' ||\n property === 'finally'\n ) {\n if (!isAwaited && onAwait) {\n isAwaited = true\n onAwait(resolvePromise, rejectPromise)\n }\n return target[property].bind(target)\n }\n\n return target[property]\n },\n })\n\n return Object.assign(wrappedPromise, {\n resolve: resolvePromise,\n reject: rejectPromise,\n promise: wrappedPromise,\n })\n}\n\nexport type RemotePromise<T> = ReturnType<typeof createRemotePromise<T>>\n"
8
+ ],
9
+ "mappings": "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",
10
+ "debugId": "AAE1E2E60294657364756E2164756E21",
11
+ "names": []
12
+ }