@requence/service 1.0.0-alpha.8 → 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.
- package/CHANGELOG.md +6 -0
- package/build/{chunk-5ystf0dn.js → chunk-zv4znr75.js} +64 -3
- package/build/chunk-zv4znr75.js.map +13 -0
- package/build/cli.js +1 -1
- package/build/index.js +126 -32
- package/build/index.js.map +10 -8
- package/build/types/helpers/src/utils.d.ts +14 -1
- package/build/types/helpers/src/utils.d.ts.map +1 -1
- package/build/types/service/src/createAmqpConnection.d.ts.map +1 -1
- package/build/types/service/src/mapInput.d.ts +2 -0
- package/build/types/service/src/mapInput.d.ts.map +1 -0
- package/package.json +1 -1
- package/build/chunk-5ystf0dn.js.map +0 -12
package/CHANGELOG.md
CHANGED
|
@@ -67,6 +67,67 @@ function deobfuscate(str) {
|
|
|
67
67
|
}
|
|
68
68
|
return decodedString.split(separator);
|
|
69
69
|
}
|
|
70
|
+
|
|
71
|
+
// ../helpers/src/utils.ts
|
|
72
|
+
import { z } from "zod";
|
|
73
|
+
var recordSchema = z.record(z.unknown());
|
|
74
|
+
function isRecord(data) {
|
|
75
|
+
return recordSchema.safeParse(data).success;
|
|
76
|
+
}
|
|
77
|
+
function resolve(value, onResolve) {
|
|
78
|
+
if (value instanceof Promise) {
|
|
79
|
+
return Promise.resolve().then(() => value).then(onResolve);
|
|
80
|
+
}
|
|
81
|
+
return onResolve(value);
|
|
82
|
+
}
|
|
83
|
+
function notUndefined(value, fallback) {
|
|
84
|
+
return resolve(value, (resolvedValue) => typeof resolvedValue === "undefined" ? fallback : resolvedValue);
|
|
85
|
+
}
|
|
86
|
+
function mapData(data, visitors) {
|
|
87
|
+
const traverseData = (data2, path) => {
|
|
88
|
+
if (Array.isArray(data2)) {
|
|
89
|
+
return resolve(visitors.Array?.(data2, path), (resolvedData) => {
|
|
90
|
+
if (resolvedData) {
|
|
91
|
+
return resolvedData;
|
|
92
|
+
}
|
|
93
|
+
const items = data2.map((item, index) => traverseData(item, [...path, index]));
|
|
94
|
+
if (items.some((item) => item instanceof Promise)) {
|
|
95
|
+
return Promise.all(items);
|
|
96
|
+
}
|
|
97
|
+
return items;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
if (data2 === null) {
|
|
101
|
+
return notUndefined(visitors.Null?.(data2, path), data2);
|
|
102
|
+
}
|
|
103
|
+
if (Buffer.isBuffer(data2)) {
|
|
104
|
+
return notUndefined(visitors.Buffer?.(data2, path), data2);
|
|
105
|
+
}
|
|
106
|
+
if (typeof data2 === "string") {
|
|
107
|
+
return notUndefined(visitors.String?.(data2, path), data2);
|
|
108
|
+
}
|
|
109
|
+
if (typeof data2 === "number") {
|
|
110
|
+
return notUndefined(visitors.Number?.(data2, path), data2);
|
|
111
|
+
}
|
|
112
|
+
if (isRecord(data2)) {
|
|
113
|
+
return resolve(visitors.Object?.(data2, path), (resolvedData) => {
|
|
114
|
+
if (resolvedData) {
|
|
115
|
+
return resolvedData;
|
|
116
|
+
}
|
|
117
|
+
const entries = Object.entries(data2).map(([key, value]) => [
|
|
118
|
+
key,
|
|
119
|
+
traverseData(value, [...path, key])
|
|
120
|
+
]);
|
|
121
|
+
if (entries.some(([, value]) => value instanceof Promise)) {
|
|
122
|
+
return Promise.all(entries.map(([key, value]) => Promise.resolve().then(() => value).then((resolvedValue) => [key, resolvedValue]))).then((entries2) => Object.fromEntries(entries2));
|
|
123
|
+
}
|
|
124
|
+
return Object.fromEntries(entries);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
return data2;
|
|
128
|
+
};
|
|
129
|
+
return traverseData(data, []);
|
|
130
|
+
}
|
|
70
131
|
// ../helpers/src/clone.ts
|
|
71
132
|
var CLONE_SYMBOL = Symbol("original");
|
|
72
133
|
function clone(data) {
|
|
@@ -107,7 +168,7 @@ function createObjectProxy(obj, onChange) {
|
|
|
107
168
|
}
|
|
108
169
|
});
|
|
109
170
|
}
|
|
110
|
-
export { __toESM, __commonJS, obfuscate, deobfuscate, clone, createObjectProxy };
|
|
171
|
+
export { __toESM, __commonJS, mapData, obfuscate, deobfuscate, clone, createObjectProxy };
|
|
111
172
|
|
|
112
|
-
//# debugId=
|
|
113
|
-
//# sourceMappingURL=chunk-
|
|
173
|
+
//# debugId=B01381FFF2074CC264756E2164756E21
|
|
174
|
+
//# sourceMappingURL=chunk-zv4znr75.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../helpers/src/obfuscate.ts", "../../helpers/src/utils.ts", "../../helpers/src/clone.ts", "../../helpers/src/createObjectProxy.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 (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 const CLONE_SYMBOL = Symbol('original')\n\nexport default function clone(data: any): any {\n if (typeof data !== 'object' || data === null) {\n return data\n }\n\n const target = (data as any)[CLONE_SYMBOL]\n if (target) {\n return clone(target)\n }\n\n if (Array.isArray(data)) {\n return data.map(clone)\n }\n\n return Object.fromEntries(\n Object.entries(data).map(([key, value]) => [key, clone(value)]),\n )\n}\n",
|
|
8
|
+
"import { CLONE_SYMBOL } from './clone.ts'\n\nexport default function createObjectProxy(\n obj: Record<string, unknown>,\n onChange: (newObj: Record<string, unknown>) => void,\n) {\n return new Proxy(obj, {\n set(target, property, newValue) {\n const result = Reflect.set(target, property, newValue)\n onChange(target)\n return result\n },\n deleteProperty(target, property) {\n const result = Reflect.deleteProperty(target, property)\n onChange(target)\n return result\n },\n get(target, property, receiver) {\n if (property === CLONE_SYMBOL) {\n return target\n }\n\n const result = Reflect.get(target, property, receiver)\n\n if (typeof result === 'object' && result !== null) {\n return createObjectProxy(result, () => onChange(target))\n }\n\n return result\n },\n })\n}\n"
|
|
9
|
+
],
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "B01381FFF2074CC264756E2164756E21",
|
|
12
|
+
"names": []
|
|
13
|
+
}
|
package/build/cli.js
CHANGED
package/build/index.js
CHANGED
|
@@ -4,8 +4,9 @@ import {
|
|
|
4
4
|
clone,
|
|
5
5
|
createObjectProxy,
|
|
6
6
|
deobfuscate,
|
|
7
|
+
mapData,
|
|
7
8
|
obfuscate
|
|
8
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-zv4znr75.js";
|
|
9
10
|
|
|
10
11
|
// ../../node_modules/ajv/dist/compile/codegen/code.js
|
|
11
12
|
var require_code = __commonJS((exports) => {
|
|
@@ -6184,10 +6185,10 @@ import { z as z2 } from "zod";
|
|
|
6184
6185
|
import { z } from "zod";
|
|
6185
6186
|
|
|
6186
6187
|
// ../helpers/src/files/mapOutput.ts
|
|
6187
|
-
async function upload(uploadUrl,
|
|
6188
|
+
async function upload(uploadUrl, body) {
|
|
6188
6189
|
const uploadResponse = await fetch(uploadUrl, {
|
|
6189
6190
|
method: "POST",
|
|
6190
|
-
body
|
|
6191
|
+
body
|
|
6191
6192
|
});
|
|
6192
6193
|
const data = await uploadResponse.json();
|
|
6193
6194
|
if (!data || typeof data !== "object") {
|
|
@@ -6196,32 +6197,47 @@ async function upload(uploadUrl, response) {
|
|
|
6196
6197
|
return toFileObject(data);
|
|
6197
6198
|
}
|
|
6198
6199
|
async function mapOutput(value, nodeOptions, eventHandlers) {
|
|
6199
|
-
|
|
6200
|
-
|
|
6201
|
-
|
|
6202
|
-
|
|
6203
|
-
|
|
6204
|
-
|
|
6205
|
-
|
|
6206
|
-
|
|
6207
|
-
|
|
6208
|
-
|
|
6200
|
+
return mapData(value, {
|
|
6201
|
+
async Object(obj) {
|
|
6202
|
+
if (obj instanceof Response || obj instanceof Blob) {
|
|
6203
|
+
if (nodeOptions.uploadUrl) {
|
|
6204
|
+
try {
|
|
6205
|
+
return await upload(nodeOptions.uploadUrl, obj instanceof Response ? obj.body : obj);
|
|
6206
|
+
} catch (error) {
|
|
6207
|
+
if (!(error instanceof Error)) {
|
|
6208
|
+
throw error;
|
|
6209
|
+
}
|
|
6210
|
+
eventHandlers?.onFail?.(error);
|
|
6211
|
+
return null;
|
|
6212
|
+
}
|
|
6213
|
+
} else {
|
|
6214
|
+
eventHandlers?.onSkip?.();
|
|
6215
|
+
return null;
|
|
6209
6216
|
}
|
|
6210
|
-
eventHandlers?.onFail?.(error);
|
|
6211
|
-
return null;
|
|
6212
6217
|
}
|
|
6213
|
-
} else {
|
|
6214
|
-
eventHandlers?.onSkip?.();
|
|
6215
|
-
return null;
|
|
6216
6218
|
}
|
|
6217
|
-
}
|
|
6218
|
-
|
|
6219
|
-
|
|
6220
|
-
|
|
6221
|
-
|
|
6222
|
-
|
|
6223
|
-
|
|
6224
|
-
|
|
6219
|
+
});
|
|
6220
|
+
}
|
|
6221
|
+
// ../helpers/src/files/isValidMimeType.ts
|
|
6222
|
+
function isValidMimeType(fileInfo, accept) {
|
|
6223
|
+
const mimeType = fileInfo.mime.toLowerCase();
|
|
6224
|
+
const acceptTypes = accept.split(",").map((type) => type.trim().toLowerCase());
|
|
6225
|
+
return acceptTypes.some((acceptedType) => {
|
|
6226
|
+
if (acceptedType === "*/*") {
|
|
6227
|
+
return true;
|
|
6228
|
+
}
|
|
6229
|
+
if (acceptedType.endsWith("/*")) {
|
|
6230
|
+
const baseType = acceptedType.split("/")[0];
|
|
6231
|
+
return mimeType.startsWith(baseType + "/");
|
|
6232
|
+
}
|
|
6233
|
+
if (acceptedType.includes("/")) {
|
|
6234
|
+
return mimeType === acceptedType;
|
|
6235
|
+
}
|
|
6236
|
+
if (acceptedType.startsWith(".")) {
|
|
6237
|
+
return fileInfo.ext.toLowerCase().endsWith(acceptedType);
|
|
6238
|
+
}
|
|
6239
|
+
return false;
|
|
6240
|
+
});
|
|
6225
6241
|
}
|
|
6226
6242
|
|
|
6227
6243
|
// ../helpers/src/files/index.ts
|
|
@@ -6237,6 +6253,9 @@ function toFileObject(fileInfo) {
|
|
|
6237
6253
|
__REQUENCE_type: "RequenceFile"
|
|
6238
6254
|
};
|
|
6239
6255
|
}
|
|
6256
|
+
function isFileObject(data) {
|
|
6257
|
+
return fileObjectSchema.safeParse(data).success;
|
|
6258
|
+
}
|
|
6240
6259
|
|
|
6241
6260
|
// ../helpers/src/context/context.ts
|
|
6242
6261
|
var contextSchema = z2.object({
|
|
@@ -6403,6 +6422,23 @@ var acceptKeyword = {
|
|
|
6403
6422
|
pattern: "^\\s*(?:\\w+/\\*|\\w+/[-+.\\w]+)(?:\\s*,\\s*(?:\\w+/\\*|\\w+/[-+.\\w]+))*\\s*$"
|
|
6404
6423
|
}
|
|
6405
6424
|
};
|
|
6425
|
+
var acceptKeywordEnforced = {
|
|
6426
|
+
...acceptKeyword,
|
|
6427
|
+
compile: (accept) => function validate(data) {
|
|
6428
|
+
const errors = validate.errors = [];
|
|
6429
|
+
if (isFileObject(data)) {
|
|
6430
|
+
const ext = data.url.split(".").at(-1)?.toLowerCase() ?? "???";
|
|
6431
|
+
if (!isValidMimeType({ ext, mime: data.mime }, accept)) {
|
|
6432
|
+
errors.push({ message: `must be of type ${accept}` });
|
|
6433
|
+
return false;
|
|
6434
|
+
}
|
|
6435
|
+
} else {
|
|
6436
|
+
errors.push({ message: "invalid file type" });
|
|
6437
|
+
return false;
|
|
6438
|
+
}
|
|
6439
|
+
return true;
|
|
6440
|
+
}
|
|
6441
|
+
};
|
|
6406
6442
|
var requenceTypeKeywords = {
|
|
6407
6443
|
keyword: "requenceType",
|
|
6408
6444
|
metaSchema: {
|
|
@@ -6433,16 +6469,34 @@ var maxByteLengthKeyword = {
|
|
|
6433
6469
|
minimum: 0
|
|
6434
6470
|
}
|
|
6435
6471
|
};
|
|
6472
|
+
var maxByteLengthKeywordEnforced = {
|
|
6473
|
+
...maxByteLengthKeyword,
|
|
6474
|
+
compile: (maxByteLength) => function validate(data) {
|
|
6475
|
+
const errors = validate.errors = [];
|
|
6476
|
+
if (isFileObject(data)) {
|
|
6477
|
+
if (data.size > maxByteLength) {
|
|
6478
|
+
errors.push({
|
|
6479
|
+
message: `file size must by lower tan ${maxByteLength}`
|
|
6480
|
+
});
|
|
6481
|
+
return false;
|
|
6482
|
+
}
|
|
6483
|
+
} else {
|
|
6484
|
+
errors.push({ message: "invalid file type" });
|
|
6485
|
+
return false;
|
|
6486
|
+
}
|
|
6487
|
+
return true;
|
|
6488
|
+
}
|
|
6489
|
+
};
|
|
6436
6490
|
|
|
6437
6491
|
class Ajv extends import_ajv.Ajv {
|
|
6438
6492
|
constructor(options) {
|
|
6439
6493
|
super({
|
|
6440
6494
|
...options,
|
|
6441
6495
|
keywords: [
|
|
6442
|
-
acceptKeyword,
|
|
6496
|
+
options?.enforeFileKeywords ? acceptKeywordEnforced : acceptKeyword,
|
|
6497
|
+
options?.enforeFileKeywords ? maxByteLengthKeywordEnforced : maxByteLengthKeyword,
|
|
6443
6498
|
requenceTypeKeywords,
|
|
6444
|
-
instanceOfKeyword
|
|
6445
|
-
maxByteLengthKeyword
|
|
6499
|
+
instanceOfKeyword
|
|
6446
6500
|
]
|
|
6447
6501
|
});
|
|
6448
6502
|
}
|
|
@@ -6925,6 +6979,46 @@ function createContextHelper(options) {
|
|
|
6925
6979
|
};
|
|
6926
6980
|
}
|
|
6927
6981
|
|
|
6982
|
+
// src/mapInput.ts
|
|
6983
|
+
class RequenceFile {
|
|
6984
|
+
file;
|
|
6985
|
+
mimeType;
|
|
6986
|
+
size;
|
|
6987
|
+
constructor(file) {
|
|
6988
|
+
this.file = file;
|
|
6989
|
+
this.mimeType = file.mime;
|
|
6990
|
+
this.size = file.size;
|
|
6991
|
+
}
|
|
6992
|
+
request() {
|
|
6993
|
+
return fetch(this.file.url);
|
|
6994
|
+
}
|
|
6995
|
+
async arrayBuffer() {
|
|
6996
|
+
const response = await this.request();
|
|
6997
|
+
return response.arrayBuffer();
|
|
6998
|
+
}
|
|
6999
|
+
async blob() {
|
|
7000
|
+
const response = await this.request();
|
|
7001
|
+
return response.blob();
|
|
7002
|
+
}
|
|
7003
|
+
async json() {
|
|
7004
|
+
const response = await this.request();
|
|
7005
|
+
return response.json();
|
|
7006
|
+
}
|
|
7007
|
+
async text() {
|
|
7008
|
+
const response = await this.request();
|
|
7009
|
+
return response.text();
|
|
7010
|
+
}
|
|
7011
|
+
}
|
|
7012
|
+
function mapInput(data) {
|
|
7013
|
+
return mapData(data, {
|
|
7014
|
+
Object(obj) {
|
|
7015
|
+
if (isFileObject(obj)) {
|
|
7016
|
+
return new RequenceFile(obj);
|
|
7017
|
+
}
|
|
7018
|
+
}
|
|
7019
|
+
});
|
|
7020
|
+
}
|
|
7021
|
+
|
|
6928
7022
|
// src/createAmqpConnection.ts
|
|
6929
7023
|
var messageKeySchema = z8.string().transform((str) => deobfuscate(str)).pipe(z8.array(z8.string().uuid()).length(3)).transform((arr) => ({
|
|
6930
7024
|
taskId: arr[0],
|
|
@@ -7035,8 +7129,8 @@ function createConnection({
|
|
|
7035
7129
|
let immediateUpdateState;
|
|
7036
7130
|
const extendedContext = createContextHelper({
|
|
7037
7131
|
serviceId,
|
|
7038
|
-
context: payload.context,
|
|
7039
|
-
nodes: payload.meta.nodes,
|
|
7132
|
+
context: mapInput(payload.context),
|
|
7133
|
+
nodes: mapInput(payload.meta.nodes),
|
|
7040
7134
|
taskId,
|
|
7041
7135
|
state: payload.meta.state,
|
|
7042
7136
|
onStateChange(newState) {
|
|
@@ -7259,5 +7353,5 @@ export {
|
|
|
7259
7353
|
createService
|
|
7260
7354
|
};
|
|
7261
7355
|
|
|
7262
|
-
//# debugId=
|
|
7356
|
+
//# debugId=2BC6A73D071849F464756E2164756E21
|
|
7263
7357
|
//# sourceMappingURL=index.js.map
|