@requence/task 1.0.0-alpha.19 → 1.0.0-alpha.20
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/index.js +173 -81
- package/build/index.js.map +8 -7
- package/build/types/helpers/src/context/context.d.ts.map +1 -1
- package/build/types/helpers/src/jsonschema/validate.d.ts +1 -0
- package/build/types/helpers/src/jsonschema/validate.d.ts.map +1 -1
- package/build/types/helpers/src/protocol/update.d.ts +15978 -1114
- package/build/types/helpers/src/protocol/update.d.ts.map +1 -1
- package/build/types/task/src/createTask.d.ts.map +1 -1
- package/build/types/task/src/types.d.ts +4282 -769
- package/build/types/task/src/types.d.ts.map +1 -1
- package/build/types/task/src/watchTasks.d.ts.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
package/build/index.js
CHANGED
|
@@ -140,6 +140,9 @@ function mapData(data, visitors) {
|
|
|
140
140
|
return traverseData(data, []);
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
+
// ../helpers/src/context/context.ts
|
|
144
|
+
import { z as z3 } from "zod";
|
|
145
|
+
|
|
143
146
|
// ../helpers/src/files/index.ts
|
|
144
147
|
import { z as z2 } from "zod";
|
|
145
148
|
|
|
@@ -398,6 +401,104 @@ function isStreamObject(data) {
|
|
|
398
401
|
return streamObjectSchema.safeParse(data).success;
|
|
399
402
|
}
|
|
400
403
|
|
|
404
|
+
// ../helpers/src/context/context.ts
|
|
405
|
+
var contextSchema = z3.object({
|
|
406
|
+
input: z3.any(),
|
|
407
|
+
meta: z3.any(),
|
|
408
|
+
tenant: z3.object({ name: z3.string() }),
|
|
409
|
+
data: z3.record(z3.string(), z3.any()),
|
|
410
|
+
errors: z3.record(z3.string(), z3.string()),
|
|
411
|
+
dates: z3.record(z3.string(), z3.string().datetime())
|
|
412
|
+
});
|
|
413
|
+
var internalKey = Symbol.for("internal");
|
|
414
|
+
function resolveRequenceTypes(data) {
|
|
415
|
+
return mapData(data, {
|
|
416
|
+
Object(obj) {
|
|
417
|
+
if (isFileObject(obj)) {
|
|
418
|
+
return RequenceFile.fromFileObject(obj);
|
|
419
|
+
}
|
|
420
|
+
if (isStreamObject(obj)) {
|
|
421
|
+
return RequenceStream.fromStreamObject(obj);
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
});
|
|
425
|
+
}
|
|
426
|
+
function createContextHelper(context, nodes) {
|
|
427
|
+
const input = resolveRequenceTypes(context.input);
|
|
428
|
+
const meta = resolveRequenceTypes(context.meta);
|
|
429
|
+
const results = new Map(nodes.map((node) => [
|
|
430
|
+
node.id,
|
|
431
|
+
{
|
|
432
|
+
node,
|
|
433
|
+
executionDate: node.id in context.dates ? new Date(context.dates[node.id]) : null,
|
|
434
|
+
data: resolveRequenceTypes(context.data[node.id] ?? null),
|
|
435
|
+
error: context.errors[node.id] ?? null
|
|
436
|
+
}
|
|
437
|
+
]));
|
|
438
|
+
const lookUpMap = new Map;
|
|
439
|
+
for (const node of nodes) {
|
|
440
|
+
const alias = typeof node.meta?.mapAlias === "string" ? node.meta.mapAlias : ("alias" in node) && node.alias;
|
|
441
|
+
if (alias) {
|
|
442
|
+
if (lookUpMap.has(alias)) {
|
|
443
|
+
lookUpMap.get(alias).push(node.id);
|
|
444
|
+
} else {
|
|
445
|
+
lookUpMap.set(alias, [node.id]);
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
const name = typeof node.meta?.mapName === "string" ? node.meta.mapName : node.type === "service" && node.name;
|
|
449
|
+
if (name) {
|
|
450
|
+
if (lookUpMap.has(name)) {
|
|
451
|
+
lookUpMap.get(name).push(node.id);
|
|
452
|
+
} else {
|
|
453
|
+
lookUpMap.set(name, [node.id]);
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
return {
|
|
458
|
+
[internalKey]: {
|
|
459
|
+
results
|
|
460
|
+
},
|
|
461
|
+
getInput() {
|
|
462
|
+
return input;
|
|
463
|
+
},
|
|
464
|
+
getMeta() {
|
|
465
|
+
return meta;
|
|
466
|
+
},
|
|
467
|
+
getData(alias) {
|
|
468
|
+
if (alias) {
|
|
469
|
+
const nodeIds = lookUpMap.get(alias);
|
|
470
|
+
if (!nodeIds) {
|
|
471
|
+
return null;
|
|
472
|
+
}
|
|
473
|
+
const uniqueNodeIds = Array.from(new Set(nodeIds));
|
|
474
|
+
const combinedData = uniqueNodeIds.map((nodeId) => results.get(nodeId)?.data).filter(Boolean);
|
|
475
|
+
if (combinedData.length === 0) {
|
|
476
|
+
return null;
|
|
477
|
+
}
|
|
478
|
+
if (combinedData.length === 1) {
|
|
479
|
+
return combinedData[0];
|
|
480
|
+
}
|
|
481
|
+
if (combinedData.every(isRecord)) {
|
|
482
|
+
return combinedData.reduce((acc, data) => ({ ...acc, ...data }), {});
|
|
483
|
+
}
|
|
484
|
+
return combinedData;
|
|
485
|
+
}
|
|
486
|
+
return Array.from(results.values()).filter((result) => result.executionDate && isRecord(result.data)).toSorted((a, b) => a.executionDate.getTime() - b.executionDate.getTime()).reduce((acc, result) => ({
|
|
487
|
+
...acc,
|
|
488
|
+
...result.data
|
|
489
|
+
}), isRecord(input) ? input : {});
|
|
490
|
+
},
|
|
491
|
+
getError(alias) {
|
|
492
|
+
const nodeIds = lookUpMap.get(alias);
|
|
493
|
+
if (!nodeIds) {
|
|
494
|
+
return null;
|
|
495
|
+
}
|
|
496
|
+
return nodeIds.map((nodeId) => results.get(nodeId)?.error).filter((str) => typeof str === "string").join(`
|
|
497
|
+
`);
|
|
498
|
+
}
|
|
499
|
+
};
|
|
500
|
+
}
|
|
501
|
+
|
|
401
502
|
// src/createTask.ts
|
|
402
503
|
import { EventSource } from "eventsource";
|
|
403
504
|
|
|
@@ -417,7 +518,7 @@ in your package.json in requence.accessToken`);
|
|
|
417
518
|
}
|
|
418
519
|
const parts = deobfuscate(token);
|
|
419
520
|
if (parts.length < 2 || parts[0] !== "api") {
|
|
420
|
-
throw new Error("Invalid
|
|
521
|
+
throw new Error("Invalid access token");
|
|
421
522
|
}
|
|
422
523
|
return {
|
|
423
524
|
token: parts[1],
|
|
@@ -449,77 +550,71 @@ async function abortTask(options) {
|
|
|
449
550
|
}
|
|
450
551
|
|
|
451
552
|
// src/types.ts
|
|
452
|
-
import { z as
|
|
453
|
-
var serviceNodeInfoSchema =
|
|
454
|
-
id:
|
|
455
|
-
type:
|
|
456
|
-
alias:
|
|
457
|
-
service:
|
|
458
|
-
id:
|
|
459
|
-
name:
|
|
460
|
-
version:
|
|
553
|
+
import { z as z4 } from "zod";
|
|
554
|
+
var serviceNodeInfoSchema = z4.object({
|
|
555
|
+
id: z4.string().uuid(),
|
|
556
|
+
type: z4.literal("service"),
|
|
557
|
+
alias: z4.string().optional(),
|
|
558
|
+
service: z4.object({
|
|
559
|
+
id: z4.string().uuid(),
|
|
560
|
+
name: z4.string(),
|
|
561
|
+
version: z4.string()
|
|
461
562
|
}).optional()
|
|
462
563
|
});
|
|
463
|
-
var logicNodeInfoSchema =
|
|
464
|
-
id:
|
|
465
|
-
type:
|
|
466
|
-
alias:
|
|
467
|
-
logic:
|
|
468
|
-
language:
|
|
564
|
+
var logicNodeInfoSchema = z4.object({
|
|
565
|
+
id: z4.string().uuid(),
|
|
566
|
+
type: z4.literal("logic"),
|
|
567
|
+
alias: z4.string().optional(),
|
|
568
|
+
logic: z4.object({
|
|
569
|
+
language: z4.enum(["typescript", "javascript", "python"])
|
|
469
570
|
}).optional()
|
|
470
571
|
});
|
|
471
|
-
var nodeInfoSchema =
|
|
572
|
+
var nodeInfoSchema = z4.discriminatedUnion("type", [
|
|
472
573
|
serviceNodeInfoSchema,
|
|
473
574
|
logicNodeInfoSchema
|
|
474
575
|
]);
|
|
475
|
-
var baseUpdate =
|
|
476
|
-
timestamp:
|
|
477
|
-
taskId:
|
|
576
|
+
var baseUpdate = z4.object({
|
|
577
|
+
timestamp: z4.coerce.date(),
|
|
578
|
+
taskId: z4.string().uuid(),
|
|
579
|
+
updateId: z4.string().uuid(),
|
|
580
|
+
context: contextSchema,
|
|
581
|
+
nodes: z4.custom((data) => Array.isArray(data))
|
|
478
582
|
});
|
|
479
583
|
var taskStartUpdateSchema = baseUpdate.extend({
|
|
480
|
-
type:
|
|
481
|
-
input: z3.unknown(),
|
|
482
|
-
meta: z3.unknown()
|
|
584
|
+
type: z4.literal("taskStart")
|
|
483
585
|
});
|
|
484
586
|
var taskErrorUpdateSchema = baseUpdate.extend({
|
|
485
|
-
type:
|
|
486
|
-
error:
|
|
587
|
+
type: z4.literal("taskError"),
|
|
588
|
+
error: z4.string()
|
|
487
589
|
});
|
|
488
590
|
var taskEndUpdateSchema = baseUpdate.extend({
|
|
489
|
-
type:
|
|
490
|
-
result: z3.record(z3.string(), z3.unknown()),
|
|
491
|
-
partialResults: z3.array(z3.object({
|
|
492
|
-
node: nodeInfoSchema,
|
|
493
|
-
timestamp: z3.coerce.date().nullable(),
|
|
494
|
-
data: z3.unknown(),
|
|
495
|
-
error: z3.string().optional()
|
|
496
|
-
}))
|
|
591
|
+
type: z4.literal("taskEnd")
|
|
497
592
|
});
|
|
498
593
|
var nodeStartUpdateSchema = baseUpdate.extend({
|
|
499
|
-
type:
|
|
594
|
+
type: z4.literal("nodeStart"),
|
|
500
595
|
node: nodeInfoSchema
|
|
501
596
|
});
|
|
502
597
|
var nodeUpdateUpdateSchema = baseUpdate.extend({
|
|
503
|
-
type:
|
|
598
|
+
type: z4.literal("nodeUpdate"),
|
|
504
599
|
node: nodeInfoSchema,
|
|
505
|
-
data:
|
|
506
|
-
output:
|
|
600
|
+
data: z4.unknown(),
|
|
601
|
+
output: z4.union([z4.null(), z4.string()])
|
|
507
602
|
});
|
|
508
603
|
var nodeErrorUpdateSchema = baseUpdate.extend({
|
|
509
|
-
type:
|
|
604
|
+
type: z4.literal("nodeError"),
|
|
510
605
|
node: nodeInfoSchema,
|
|
511
|
-
error:
|
|
606
|
+
error: z4.string()
|
|
512
607
|
});
|
|
513
608
|
var nodeDeferUpdateSchema = baseUpdate.extend({
|
|
514
|
-
type:
|
|
609
|
+
type: z4.literal("nodeDefer"),
|
|
515
610
|
node: nodeInfoSchema,
|
|
516
|
-
reason:
|
|
611
|
+
reason: z4.string().optional()
|
|
517
612
|
});
|
|
518
613
|
var nodeEndUpdateSchema = baseUpdate.extend({
|
|
519
|
-
type:
|
|
614
|
+
type: z4.literal("nodeEnd"),
|
|
520
615
|
node: nodeInfoSchema
|
|
521
616
|
});
|
|
522
|
-
var updateSchema =
|
|
617
|
+
var updateSchema = z4.discriminatedUnion("type", [
|
|
523
618
|
taskStartUpdateSchema,
|
|
524
619
|
taskErrorUpdateSchema,
|
|
525
620
|
taskEndUpdateSchema,
|
|
@@ -529,7 +624,7 @@ var updateSchema = z3.discriminatedUnion("type", [
|
|
|
529
624
|
nodeDeferUpdateSchema,
|
|
530
625
|
nodeEndUpdateSchema
|
|
531
626
|
]);
|
|
532
|
-
var eventSchema =
|
|
627
|
+
var eventSchema = z4.object({ type: z4.string(), data: z4.string() }).transform((event) => ({ type: event.type, ...JSON.parse(event.data) })).pipe(updateSchema);
|
|
533
628
|
|
|
534
629
|
// src/utils/mapOutput.ts
|
|
535
630
|
function mapOutput3(data) {
|
|
@@ -568,10 +663,10 @@ function createTask(options, onUpdate) {
|
|
|
568
663
|
if (!payload.urls) {
|
|
569
664
|
resultPromise.resolve({
|
|
570
665
|
getInput() {
|
|
571
|
-
return input;
|
|
666
|
+
return options.input;
|
|
572
667
|
},
|
|
573
668
|
getMeta() {
|
|
574
|
-
return meta;
|
|
669
|
+
return options.meta;
|
|
575
670
|
},
|
|
576
671
|
getError(_alias) {
|
|
577
672
|
return null;
|
|
@@ -589,7 +684,7 @@ function createTask(options, onUpdate) {
|
|
|
589
684
|
return;
|
|
590
685
|
}
|
|
591
686
|
const eventSource = new EventSource(payload.urls.watch, {
|
|
592
|
-
fetch: (
|
|
687
|
+
fetch: (input, init) => fetch(input, {
|
|
593
688
|
...init,
|
|
594
689
|
headers: {
|
|
595
690
|
Authorization: `Bearer ${token}`
|
|
@@ -606,8 +701,6 @@ function createTask(options, onUpdate) {
|
|
|
606
701
|
"nodeError",
|
|
607
702
|
"nodeEnd"
|
|
608
703
|
];
|
|
609
|
-
let input = null;
|
|
610
|
-
let meta = null;
|
|
611
704
|
taskEvents.forEach((taskEvent) => {
|
|
612
705
|
eventSource.addEventListener(taskEvent, (event) => {
|
|
613
706
|
const updateResult = eventSchema.safeParse(event);
|
|
@@ -620,28 +713,18 @@ function createTask(options, onUpdate) {
|
|
|
620
713
|
if (update.type === "taskEnd" || update.type === "taskError") {
|
|
621
714
|
eventSource.close();
|
|
622
715
|
}
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
716
|
+
const context = update.context;
|
|
717
|
+
if (update.type === "nodeUpdate") {
|
|
718
|
+
context.dates[update.node.id] = update.timestamp.toISOString();
|
|
719
|
+
context.data[update.node.id] = update.data;
|
|
626
720
|
}
|
|
627
|
-
|
|
628
|
-
|
|
721
|
+
const contextUpdate = {
|
|
722
|
+
...update,
|
|
723
|
+
context: createContextHelper(context, update.nodes)
|
|
724
|
+
};
|
|
725
|
+
if (contextUpdate.type === "taskEnd") {
|
|
629
726
|
resultPromise.resolve({
|
|
630
|
-
|
|
631
|
-
return mapOutput3(input);
|
|
632
|
-
},
|
|
633
|
-
getMeta() {
|
|
634
|
-
return mapOutput3(meta);
|
|
635
|
-
},
|
|
636
|
-
getError(alias) {
|
|
637
|
-
return getPartialResult(alias)?.error ?? null;
|
|
638
|
-
},
|
|
639
|
-
getData(alias) {
|
|
640
|
-
if (!alias) {
|
|
641
|
-
return mapOutput3(update.result);
|
|
642
|
-
}
|
|
643
|
-
return mapOutput3(getPartialResult(alias)?.data ?? null);
|
|
644
|
-
},
|
|
727
|
+
...contextUpdate.context,
|
|
645
728
|
getTaskId() {
|
|
646
729
|
return payload.taskId;
|
|
647
730
|
},
|
|
@@ -650,14 +733,14 @@ function createTask(options, onUpdate) {
|
|
|
650
733
|
}
|
|
651
734
|
});
|
|
652
735
|
}
|
|
653
|
-
if (
|
|
654
|
-
resultPromise.reject(new TaskError(
|
|
736
|
+
if (contextUpdate.type === "taskError") {
|
|
737
|
+
resultPromise.reject(new TaskError(contextUpdate.error, options.taskTemplate));
|
|
655
738
|
}
|
|
656
|
-
const extendedUpdate =
|
|
657
|
-
...
|
|
658
|
-
output:
|
|
659
|
-
data: mapOutput3(
|
|
660
|
-
} :
|
|
739
|
+
const extendedUpdate = contextUpdate.type === "nodeUpdate" ? {
|
|
740
|
+
...contextUpdate,
|
|
741
|
+
output: contextUpdate.output === "__default__" ? null : contextUpdate.output,
|
|
742
|
+
data: mapOutput3(contextUpdate.data)
|
|
743
|
+
} : contextUpdate;
|
|
661
744
|
taskUpdateHandlers.forEach((handler) => handler(extendedUpdate));
|
|
662
745
|
});
|
|
663
746
|
});
|
|
@@ -782,11 +865,20 @@ function watchTasks(options) {
|
|
|
782
865
|
throw new Error("invalid update");
|
|
783
866
|
}
|
|
784
867
|
const update = updateResult.data;
|
|
785
|
-
const
|
|
868
|
+
const context = update.context;
|
|
869
|
+
if (update.type === "nodeUpdate") {
|
|
870
|
+
context.dates[update.node.id] = update.timestamp.toISOString();
|
|
871
|
+
context.data[update.node.id] = update.data;
|
|
872
|
+
}
|
|
873
|
+
const contextUpdate = {
|
|
786
874
|
...update,
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
875
|
+
context: createContextHelper(context, update.nodes)
|
|
876
|
+
};
|
|
877
|
+
const extendedUpdate = contextUpdate.type === "nodeUpdate" ? {
|
|
878
|
+
...contextUpdate,
|
|
879
|
+
output: contextUpdate.output === "__default__" ? null : contextUpdate.output,
|
|
880
|
+
data: mapOutput3(contextUpdate.data)
|
|
881
|
+
} : contextUpdate;
|
|
790
882
|
taskUpdateHandlers.forEach((handler) => handler(extendedUpdate));
|
|
791
883
|
});
|
|
792
884
|
});
|
|
@@ -803,5 +895,5 @@ export {
|
|
|
803
895
|
RequenceFile
|
|
804
896
|
};
|
|
805
897
|
|
|
806
|
-
//# debugId=
|
|
898
|
+
//# debugId=1ABBB576345EB61164756E2164756E21
|
|
807
899
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../helpers/src/utils/createRemotePromise.ts", "../../helpers/src/utils/callbackToAsyncIterator.ts", "../../helpers/src/utils/isRecord.ts", "../../helpers/src/utils/mapData.ts", "../../helpers/src/files/index.ts", "../../helpers/src/files/mapOutput.ts", "../../helpers/src/files/RequenceFile.ts", "../../helpers/src/files/RequenceStream.ts", "../src/createTask.ts", "../src/utils/getAccessToken.ts", "../src/abortTask.ts", "../src/types.ts", "../src/utils/mapOutput.ts", "../src/watchTasks.ts"],
|
|
3
|
+
"sources": ["../../helpers/src/utils/createRemotePromise.ts", "../../helpers/src/utils/callbackToAsyncIterator.ts", "../../helpers/src/utils/isRecord.ts", "../../helpers/src/utils/mapData.ts", "../../helpers/src/context/context.ts", "../../helpers/src/files/index.ts", "../../helpers/src/files/mapOutput.ts", "../../helpers/src/files/RequenceFile.ts", "../../helpers/src/files/RequenceStream.ts", "../src/createTask.ts", "../src/utils/getAccessToken.ts", "../src/abortTask.ts", "../src/types.ts", "../src/utils/mapOutput.ts", "../src/watchTasks.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"export 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",
|
|
6
6
|
"type CallbackValue<T> = { value: T } | { done: true } | { error: Error }\n\nexport function callbackToAsyncIterator<T>(\n subscribe: (\n push: (value: T) => void,\n fail: (error: Error) => void,\n end: () => void,\n ) => void,\n): AsyncIterator<T> {\n const pullQueue: Array<(value: CallbackValue<T>) => void> = []\n const pushQueue: Array<CallbackValue<T>> = []\n\n const pushValue = (value: CallbackValue<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<CallbackValue<T>>((resolve) => {\n if (pushQueue.length !== 0) {\n resolve(pushQueue.shift()!)\n } else {\n pullQueue.push(resolve)\n }\n })\n\n subscribe(\n (value) => {\n pushValue({ value })\n },\n (error) => {\n pushValue({ error })\n },\n () => {\n pushValue({ done: true })\n },\n )\n\n return {\n async next() {\n const value: any = await pullValue()\n if (value.done) {\n return { value: undefined, done: true }\n }\n\n if (value.error) {\n throw value.error\n }\n\n return { value: value.value, done: false }\n },\n }\n}\n\nexport function callbackToAsyncIterable<T>(\n ...args: Parameters<typeof callbackToAsyncIterator<T>>\n): AsyncIterable<T> {\n return {\n [Symbol.asyncIterator]() {\n return callbackToAsyncIterator(...args)\n },\n }\n}\n",
|
|
7
7
|
"import { z } from 'zod'\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",
|
|
8
8
|
"import { isRecord } from './isRecord.ts'\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",
|
|
9
|
+
"import { z } from 'zod'\n\nimport {\n RequenceFile,\n RequenceStream,\n isFileObject,\n isStreamObject,\n} from '../files/index.ts'\nimport type { Nodes } from '../protocol/nodes.ts'\nimport { isRecord } from '../utils/isRecord.ts'\nimport { mapData } from '../utils/mapData.ts'\n\nexport const contextSchema = z.object({\n input: z.any(),\n meta: z.any(),\n tenant: z.object({ name: z.string() }),\n data: z.record(z.string(), z.any()),\n errors: z.record(z.string(), z.string()),\n dates: z.record(z.string(), z.string().datetime()),\n})\n\nexport type Context = z.infer<typeof contextSchema>\n\nconst internalKey = Symbol.for('internal') as unknown as 'internal'\n\nexport function getInternalContext(contextHelper: ContextHelper) {\n return (contextHelper as InternalContextHelper)[internalKey]\n}\n\nfunction resolveRequenceTypes(data: any) {\n return mapData(data, {\n Object(obj) {\n if (isFileObject(obj)) {\n return RequenceFile.fromFileObject(obj)\n }\n\n if (isStreamObject(obj)) {\n return RequenceStream.fromStreamObject(obj)\n }\n },\n })\n}\n\nexport function createContextHelper(context: Context, nodes: Nodes) {\n const input = resolveRequenceTypes(context.input)\n const meta = resolveRequenceTypes(context.meta)\n\n const results = new Map(\n nodes.map((node) => [\n node.id,\n {\n node,\n executionDate:\n node.id in context.dates ? new Date(context.dates[node.id]) : null,\n data: resolveRequenceTypes(context.data[node.id] ?? null),\n error: context.errors[node.id] ?? null,\n },\n ]),\n )\n\n const lookUpMap = new Map<string, Array<string>>()\n\n for (const node of nodes) {\n const alias =\n typeof node.meta?.mapAlias === 'string'\n ? node.meta.mapAlias\n : 'alias' in node && node.alias\n if (alias) {\n if (lookUpMap.has(alias)) {\n lookUpMap.get(alias)!.push(node.id)\n } else {\n lookUpMap.set(alias, [node.id])\n }\n }\n\n const name =\n typeof node.meta?.mapName === 'string'\n ? node.meta.mapName\n : node.type === 'service' && node.name\n if (name) {\n if (lookUpMap.has(name)) {\n lookUpMap.get(name)!.push(node.id)\n } else {\n lookUpMap.set(name, [node.id])\n }\n }\n }\n\n return {\n [internalKey]: {\n results,\n },\n getInput(): unknown {\n return input\n },\n getMeta(): unknown {\n return meta\n },\n getData(alias?: string) {\n if (alias) {\n const nodeIds = lookUpMap.get(alias)\n if (!nodeIds) {\n return null\n }\n\n const uniqueNodeIds = Array.from(new Set(nodeIds))\n const combinedData = uniqueNodeIds\n .map((nodeId) => results.get(nodeId)?.data)\n .filter(Boolean)\n\n if (combinedData.length === 0) {\n return null\n }\n\n if (combinedData.length === 1) {\n return combinedData[0]\n }\n\n if (combinedData.every(isRecord)) {\n return combinedData.reduce((acc, data) => ({ ...acc, ...data }), {})\n }\n return combinedData\n }\n\n return Array.from(results.values())\n .filter((result) => result.executionDate && isRecord(result.data))\n .toSorted(\n (a, b) => a.executionDate!.getTime() - b.executionDate!.getTime(),\n )\n .reduce(\n (acc, result) => ({\n ...acc,\n ...result.data,\n }),\n isRecord(input) ? input : {},\n )\n },\n getError(alias: string) {\n const nodeIds = lookUpMap.get(alias)\n if (!nodeIds) {\n return null\n }\n return nodeIds\n .map((nodeId) => results.get(nodeId)?.error)\n .filter((str) => typeof str === 'string')\n .join('\\n')\n },\n }\n}\n\ntype InternalContextHelper = ReturnType<typeof createContextHelper>\nexport type ContextHelper = Omit<InternalContextHelper, typeof internalKey>\n",
|
|
9
10
|
"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",
|
|
10
11
|
"import {\n RequenceFile,\n RequenceStream,\n toFileObject,\n toStreamObject,\n} from './index.ts'\nimport type { NodeOptions } from '../protocol/command.ts'\nimport { mapData } from '../utils/mapData.ts'\n\nasync function upload(\n uploadUrl: string,\n body: BodyInit | null,\n signal?: AbortSignal,\n contentType?: string | null,\n) {\n const uploadResponse = await fetch(uploadUrl, {\n method: 'POST',\n signal,\n headers: contentType\n ? {\n 'Content-Type': contentType,\n }\n : {},\n body,\n })\n\n const data = await uploadResponse.json()\n if (!data || typeof data !== 'object') {\n throw new Error('invalid upload response')\n }\n\n return toFileObject(data as { size: number; mime: string; url: string })\n}\n\n/**\n * nodejs closes the stream when no data where pushed before executing fetch,\n * this way we wait for the first bytes, the executing fetch\n * All that gets obsolete once we use bun.\n */\nasync function stream(\n streamUrl: string,\n stream: ReadableStream,\n signal?: AbortSignal,\n contentType?: string | null,\n) {\n const [testStream, dataStream] = stream.tee()\n\n const reader = testStream.getReader()\n const dataPromise = reader.read().then(({ done }) => {\n if (done) {\n throw new Error('No streaming date received')\n }\n\n reader.cancel()\n })\n\n const streamResponse = await fetch(streamUrl, {\n method: 'POST',\n signal,\n headers: contentType ? { 'Content-Type': contentType } : {},\n })\n\n const data = await streamResponse.json()\n if (!data || typeof data !== 'object') {\n throw new Error('invalid stream response')\n }\n\n const { mime, url } = data as { mime: string; url: string }\n await dataPromise\n\n // don't wait\n const done = fetch(url, {\n method: 'POST',\n signal,\n duplex: 'half', // this is not typed but needed for nodejs to handle readable streams\n body: dataStream,\n } as RequestInit)\n\n return [toStreamObject({ mime, url }), done] as const\n}\n\nexport async function mapOutput(params: {\n value: unknown\n options: Pick<NodeOptions, 'uploadUrl' | 'streamUrl'>\n onFail?: (error: Error) => void\n onSkip?: () => void\n onDone?: () => void\n signal?: AbortSignal\n}) {\n const streamPromises: Array<Promise<any>> = []\n const mapped = await mapData(params.value, {\n async Object(obj) {\n if (obj instanceof Blob || obj instanceof RequenceFile) {\n // don't reupload existing files\n if (obj instanceof RequenceFile && obj.fileObject) {\n return obj.fileObject\n }\n\n if (params.options.uploadUrl) {\n try {\n if (obj instanceof Blob) {\n return await upload(\n params.options.uploadUrl,\n obj,\n params.signal,\n obj.type,\n )\n }\n\n if (obj instanceof RequenceFile) {\n return await upload(\n params.options.uploadUrl,\n await obj.blob(),\n params.signal,\n obj.mimeType,\n )\n }\n } catch (error) {\n if (!(error instanceof Error)) {\n throw error\n }\n params.onFail?.(error)\n return null\n }\n } else {\n params.onSkip?.()\n return null\n }\n }\n\n if (obj instanceof Response || obj instanceof RequenceStream) {\n if (obj instanceof RequenceStream && obj.streamObject) {\n return obj.streamObject\n }\n\n if (params.options.streamUrl) {\n try {\n if (obj instanceof Response && obj.body) {\n const [streamObject, streamPromise] = await stream(\n params.options.streamUrl,\n obj.body,\n params.signal,\n obj.headers.get('Content-Type'),\n )\n streamPromises.push(streamPromise)\n return streamObject\n }\n\n if (obj instanceof RequenceStream) {\n const [streamObject, streamPromise] = await stream(\n params.options.streamUrl,\n obj.stream(),\n params.signal,\n obj.mimeType,\n )\n streamPromises.push(streamPromise)\n return streamObject\n }\n } catch (error) {\n if (!(error instanceof Error)) {\n throw error\n }\n params.onFail?.(error)\n return null\n }\n } else {\n params.onSkip?.()\n return null\n }\n }\n },\n })\n\n Promise.allSettled(streamPromises).then(() => params.onDone?.())\n\n return mapped\n}\n",
|
|
11
12
|
"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",
|
|
12
13
|
"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",
|
|
13
|
-
"import { callbackToAsyncIterable, createRemotePromise } from '@requence/helpers'\nimport { mapOutput as mapInput } from '@requence/helpers/files'\nimport { EventSource } from 'eventsource'\n\nimport { abortTask } from './abortTask.ts'\nimport {\n type CreateTaskOptions,\n type Result,\n type Update,\n eventSchema,\n} from './types.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<T> = (update: Update<T>) => void\n\nexport function createTask<\n T extends keyof RequenceTask.TaskTemplate | (string & {}),\n>(options: CreateTaskOptions<T>, onUpdate?: TaskUpdateHandler<T>) {\n const taskUpdateHandlers = new Set<TaskUpdateHandler<T>>()\n\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n\n const prepareUrl = `${apiBaseUrl}/task/prepare/${options.taskTemplate}`\n\n const payloadPromise = createRemotePromise<{\n taskId: string\n urls?: { watch: string; show: 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 getTaskId() {\n return payload.taskId\n },\n getTaskUrl() {\n return ''\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<T>['type']> = [\n 'taskStart',\n 'taskError',\n 'taskEnd',\n 'nodeStart',\n 'nodeUpdate',\n 'nodeDefer',\n 'nodeError',\n 'nodeEnd',\n ]\n\n
|
|
14
|
-
"import { readFileSync } from 'node:fs'\n\nimport { deobfuscate } from '@requence/helpers'\n\nexport default function getAccessToken(accessToken?: string) {\n let token =\n accessToken ??\n process.env.REQUENCE_TASK_ACCESS_TOKEN ??\n process.env.REQUENCE_ACCESS_TOKEN\n\n if (!token) {\n const pkgJson = JSON.parse(readFileSync('package.json', 'utf-8'))\n token = pkgJson.requence?.task?.accessToken ?? pkgJson.requence?.accessToken\n }\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
|
|
14
|
+
"import { callbackToAsyncIterable, createRemotePromise } from '@requence/helpers'\nimport { createContextHelper } from '@requence/helpers/context'\nimport { mapOutput as mapInput } from '@requence/helpers/files'\nimport { EventSource } from 'eventsource'\n\nimport { abortTask } from './abortTask.ts'\nimport {\n type CreateTaskOptions,\n type Result,\n type Update,\n eventSchema,\n} from './types.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<T> = (update: Update<T>) => void\n\nexport function createTask<\n T extends keyof RequenceTask.TaskTemplate | (string & {}),\n>(options: CreateTaskOptions<T>, onUpdate?: TaskUpdateHandler<T>) {\n const taskUpdateHandlers = new Set<TaskUpdateHandler<T>>()\n\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n\n const prepareUrl = `${apiBaseUrl}/task/prepare/${options.taskTemplate}`\n\n const payloadPromise = createRemotePromise<{\n taskId: string\n urls?: { watch: string; show: 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 options.input\n },\n getMeta() {\n return options.meta\n },\n getError(_alias) {\n return null\n },\n getData(_alias) {\n return null\n },\n getTaskId() {\n return payload.taskId\n },\n getTaskUrl() {\n return ''\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<T>['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 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 const context = update.context\n\n if (update.type === 'nodeUpdate') {\n context.dates[update.node.id] = update.timestamp.toISOString()\n context.data[update.node.id] = update.data\n }\n\n const contextUpdate = {\n ...update,\n context: createContextHelper(context, update.nodes),\n }\n\n if (contextUpdate.type === 'taskEnd') {\n resultPromise.resolve({\n ...contextUpdate.context,\n getTaskId() {\n return payload.taskId\n },\n getTaskUrl() {\n return payload.urls?.show ?? ''\n },\n } as Result<T>)\n }\n\n if (contextUpdate.type === 'taskError') {\n resultPromise.reject(\n new TaskError(contextUpdate.error, options.taskTemplate),\n )\n }\n\n const extendedUpdate =\n contextUpdate.type === 'nodeUpdate'\n ? {\n ...contextUpdate,\n output:\n contextUpdate.output === '__default__'\n ? null\n : contextUpdate.output,\n data: mapOutput(contextUpdate.data),\n }\n : contextUpdate\n\n taskUpdateHandlers.forEach((handler) =>\n handler(extendedUpdate as Update<T>),\n )\n })\n })\n }\n\n const taskMetaPromise = createRemotePromise<{\n id: string\n showUrl: string | null\n }>()\n const resultPromise = createRemotePromise<Result<T>>(startMonitoring)\n\n ;(async () => {\n const prepareResponse = await fetch(prepareUrl, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n\n if (!prepareResponse.ok) {\n const error = new TaskError(\n await prepareResponse.text(),\n options.taskTemplate,\n )\n taskMetaPromise.reject(error)\n resultPromise.reject(error)\n return\n }\n\n const prepareData = (await prepareResponse.json()) as {\n taskId: string\n finalizeUrl: string\n fileUrls?: { uploadUrl: string; streamUrl: string }\n }\n\n const mappedParams = await mapInput({\n value: {\n name: options.name,\n input: options.input,\n meta: options.meta,\n },\n options: {\n uploadUrl: prepareData.fileUrls?.uploadUrl,\n streamUrl: prepareData.fileUrls?.streamUrl,\n },\n })\n\n const finalizeResponse = await fetch(prepareData.finalizeUrl, {\n method: 'POST',\n body: JSON.stringify(mappedParams),\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n })\n\n if (!finalizeResponse.ok) {\n const error = new TaskError(\n await prepareResponse.text(),\n options.taskTemplate,\n )\n taskMetaPromise.reject(error)\n resultPromise.reject(error)\n return\n }\n\n const payload = (await finalizeResponse.json()) as {\n taskId: string\n urls?: {\n show: string\n watch: string\n }\n }\n taskMetaPromise.resolve({\n id: payload.taskId,\n showUrl: payload.urls?.show ?? null,\n })\n payloadPromise.resolve(payload)\n if (onUpdate) {\n taskUpdateHandlers.add(onUpdate)\n startMonitoring()\n }\n })()\n\n const asyncIterable = callbackToAsyncIterable<Update<T>>(\n (push, _fail, done) => {\n taskUpdateHandlers.add(function handleUpdate(update) {\n push(update)\n if (update.type === 'taskEnd' || update.type === 'taskError') {\n done()\n taskUpdateHandlers.delete(handleUpdate)\n }\n })\n\n startMonitoring()\n },\n )\n\n return Object.assign(resultPromise.promise, asyncIterable, {\n async getTaskId() {\n const meta = await taskMetaPromise\n return meta.id\n },\n async getTaskUrl() {\n const meta = await taskMetaPromise\n return meta.showUrl\n },\n async abort(reason?: string) {\n const meta = await taskMetaPromise\n await abortTask({\n taskId: meta.id,\n accessToken: options.accessToken,\n reason,\n })\n },\n })\n}\n",
|
|
15
|
+
"import { readFileSync } from 'node:fs'\n\nimport { deobfuscate } from '@requence/helpers'\n\nexport default function getAccessToken(accessToken?: string) {\n let token =\n accessToken ??\n process.env.REQUENCE_TASK_ACCESS_TOKEN ??\n process.env.REQUENCE_ACCESS_TOKEN\n\n if (!token) {\n const pkgJson = JSON.parse(readFileSync('package.json', 'utf-8'))\n token = pkgJson.requence?.task?.accessToken ?? pkgJson.requence?.accessToken\n }\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 access token')\n }\n\n return {\n token: parts[1],\n apiBaseUrl: parts[2],\n }\n}\n",
|
|
15
16
|
"import getAccessToken from './utils/getAccessToken.ts'\n\nclass TaskAbortError extends Error {\n constructor(\n message: string,\n public readonly taskId: string,\n ) {\n super(message)\n }\n}\n\ninterface AbortTaskOptions {\n accessToken?: string\n reason?: string\n taskId: string\n}\nexport async function abortTask(options: AbortTaskOptions) {\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n\n const abortUrl = `${apiBaseUrl}/task/abort/${options.taskId}`\n\n const response = await fetch(abortUrl, {\n method: 'POST',\n body: options.reason ?? '',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n\n if (!response.ok) {\n throw new TaskAbortError(await response.text(), options.taskId)\n }\n}\n",
|
|
16
|
-
"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 RequenceTask.TaskTemplate\n ? RequenceTask.TaskTemplate[T]['input']\n : unknown\ntype Meta<T> = T extends keyof RequenceTask.TaskTemplate\n ? RequenceTask.TaskTemplate[T]['meta']\n : unknown\ntype Data<T> = T extends keyof RequenceTask.TaskTemplate\n ? Prettify<RequenceTask.TaskTemplate[T]['results']>\n : unknown\ntype NamedData<T, A> = T extends keyof RequenceTask.TaskTemplate\n ? A extends keyof RequenceTask.TaskTemplate[T]['namedResults']\n ? Prettify<RequenceTask.TaskTemplate[T]['namedResults'][A]>\n : unknown\n : unknown\ntype Alias<T> = T extends keyof RequenceTask.TaskTemplate\n ? keyof RequenceTask.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 getTaskId(): string\n getTaskUrl(): string\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
|
|
17
|
+
"import { contextSchema } from '@requence/helpers/context'\nimport type { Nodes } from '@requence/helpers/protocol'\nimport { 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 RequenceTask.TaskTemplate\n ? RequenceTask.TaskTemplate[T]['input']\n : unknown\ntype Meta<T> = T extends keyof RequenceTask.TaskTemplate\n ? RequenceTask.TaskTemplate[T]['meta']\n : unknown\ntype Data<T> = T extends keyof RequenceTask.TaskTemplate\n ? Prettify<RequenceTask.TaskTemplate[T]['results']>\n : unknown\ntype NamedData<T, A> = T extends keyof RequenceTask.TaskTemplate\n ? A extends keyof RequenceTask.TaskTemplate[T]['namedResults']\n ? Prettify<RequenceTask.TaskTemplate[T]['namedResults'][A]>\n : unknown\n : unknown\ntype Alias<T> = T extends keyof RequenceTask.TaskTemplate\n ? keyof RequenceTask.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 getTaskId(): string\n getTaskUrl(): string\n}\n\ntype Context<T> = Omit<Result<T>, 'getTaskId' | 'getTaskUrl'>\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 updateId: z.string().uuid(),\n context: contextSchema,\n nodes: z.custom<Nodes>((data) => Array.isArray(data)),\n})\n\nconst taskStartUpdateSchema = baseUpdate.extend({\n type: z.literal('taskStart'),\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})\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 node: nodeInfoSchema,\n data: z.unknown(),\n output: z.union([z.null(), z.string()]),\n})\n\nconst nodeErrorUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeError'),\n node: nodeInfoSchema,\n error: z.string(),\n})\n\nconst nodeDeferUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeDefer'),\n node: nodeInfoSchema,\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\ntype DistributiveOmit<T, K extends keyof any> = T extends any\n ? Omit<T, K>\n : never\n\ntype NonContextUpdate = DistributiveOmit<\n z.infer<typeof updateSchema>,\n 'context'\n>\n\nexport type Update<T> = Prettify<\n | (Exclude<NonContextUpdate, { type: 'taskEnd' } | { type: 'nodeUpdate' }> & {\n context: Context<Partial<T>>\n })\n | (Extract<NonContextUpdate, { type: 'nodeUpdate' }> & {\n context: Context<Partial<T>>\n data: Partial<Data<T>>\n })\n | (Extract<NonContextUpdate, { type: 'taskEnd' }> & { context: Context<T> })\n>\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",
|
|
17
18
|
"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",
|
|
18
|
-
"import { callbackToAsyncIterable } from '@requence/helpers'\nimport { EventSource } from 'eventsource'\n\nimport { type Update, eventSchema } from './types.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\nimport mapOutput from './utils/mapOutput.ts'\n\ntype TaskUpdateHandler = (update: Update<unknown>) => 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 = callbackToAsyncIterable<Update<unknown>>((push) => {\n taskUpdateHandlers.add(push)\n })\n\n const taskEvents: Array<Update<unknown>['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 const update = updateResult.data\n const extendedUpdate =\n
|
|
19
|
+
"import { callbackToAsyncIterable } from '@requence/helpers'\nimport { createContextHelper } from '@requence/helpers/context'\nimport { EventSource } from 'eventsource'\n\nimport { type Update, eventSchema } from './types.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\nimport mapOutput from './utils/mapOutput.ts'\n\ntype TaskUpdateHandler = (update: Update<unknown>) => 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 = callbackToAsyncIterable<Update<unknown>>((push) => {\n taskUpdateHandlers.add(push)\n })\n\n const taskEvents: Array<Update<unknown>['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 const update = updateResult.data\n const context = update.context\n\n if (update.type === 'nodeUpdate') {\n context.dates[update.node.id] = update.timestamp.toISOString()\n context.data[update.node.id] = update.data\n }\n\n const contextUpdate = {\n ...update,\n context: createContextHelper(context, update.nodes),\n }\n\n const extendedUpdate =\n contextUpdate.type === 'nodeUpdate'\n ? {\n ...contextUpdate,\n output:\n contextUpdate.output === '__default__'\n ? null\n : contextUpdate.output,\n data: mapOutput(contextUpdate.data),\n }\n : contextUpdate\n taskUpdateHandlers.forEach((handler) =>\n handler(extendedUpdate as Update<unknown>),\n )\n })\n })\n\n const stopWatching = () => {\n eventSource.close()\n }\n\n return Object.assign(stopWatching, asyncIterable)\n}\n"
|
|
19
20
|
],
|
|
20
|
-
"mappings": "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",
|
|
21
|
-
"debugId": "
|
|
21
|
+
"mappings": ";;;;;AAAO,SAAS,mBAA6B,CAC3C,SAIA;AAAA,EACA,IAAI;AAAA,EACJ,IAAI;AAAA,EAEJ,MAAM,kBAAkB,IAAI,QAAW,CAAC,SAAS,WAAW;AAAA,IAC1D,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,GACjB;AAAA,EAED,IAAI,YAAY;AAAA,EAEhB,MAAM,iBAAiB,IAAI,MAAM,iBAAiB;AAAA,IAChD,GAAG,CAAC,QAAQ,UAAgC;AAAA,MAC1C,IACE,aAAa,UACb,aAAa,WACb,aAAa,WACb;AAAA,QACA,KAAK,aAAa,SAAS;AAAA,UACzB,YAAY;AAAA,UACZ,QAAQ,gBAAgB,aAAa;AAAA,QACvC;AAAA,QACA,OAAO,OAAO,UAAU,KAAK,MAAM;AAAA,MACrC;AAAA,MAEA,OAAO,OAAO;AAAA;AAAA,EAElB,CAAC;AAAA,EAED,OAAO,OAAO,OAAO,gBAAgB;AAAA,IACnC,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,SAAS;AAAA,EACX,CAAC;AAAA;;;ACpCI,SAAS,uBAA0B,CACxC,WAKkB;AAAA,EAClB,MAAM,YAAsD,CAAC;AAAA,EAC7D,MAAM,YAAqC,CAAC;AAAA,EAE5C,MAAM,YAAY,CAAC,UAA4B;AAAA,IAC7C,IAAI,UAAU,WAAW,GAAG;AAAA,MAC1B,MAAM,WAAW,UAAU,MAAM;AAAA,MACjC,SAAU,KAAK;AAAA,IACjB,EAAO;AAAA,MACL,UAAU,KAAK,KAAK;AAAA;AAAA;AAAA,EAIxB,MAAM,YAAY,MAChB,IAAI,QAA0B,CAAC,YAAY;AAAA,IACzC,IAAI,UAAU,WAAW,GAAG;AAAA,MAC1B,QAAQ,UAAU,MAAM,CAAE;AAAA,IAC5B,EAAO;AAAA,MACL,UAAU,KAAK,OAAO;AAAA;AAAA,GAEzB;AAAA,EAEH,UACE,CAAC,UAAU;AAAA,IACT,UAAU,EAAE,MAAM,CAAC;AAAA,KAErB,CAAC,UAAU;AAAA,IACT,UAAU,EAAE,MAAM,CAAC;AAAA,KAErB,MAAM;AAAA,IACJ,UAAU,EAAE,MAAM,KAAK,CAAC;AAAA,GAE5B;AAAA,EAEA,OAAO;AAAA,SACC,KAAI,GAAG;AAAA,MACX,MAAM,QAAa,MAAM,UAAU;AAAA,MACnC,IAAI,MAAM,MAAM;AAAA,QACd,OAAO,EAAE,OAAO,WAAW,MAAM,KAAK;AAAA,MACxC;AAAA,MAEA,IAAI,MAAM,OAAO;AAAA,QACf,MAAM,MAAM;AAAA,MACd;AAAA,MAEA,OAAO,EAAE,OAAO,MAAM,OAAO,MAAM,MAAM;AAAA;AAAA,EAE7C;AAAA;AAGK,SAAS,uBAA0B,IACrC,MACe;AAAA,EAClB,OAAO;AAAA,KACJ,OAAO,cAAc,GAAG;AAAA,MACvB,OAAO,wBAAwB,GAAG,IAAI;AAAA;AAAA,EAE1C;AAAA;;;ACjEF;AAEA,IAAM,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC;AAClC,SAAS,QAAQ,CAAC,MAAgD;AAAA,EACvE,OAAO,aAAa,UAAU,IAAI,EAAE;AAAA;;;ACoBtC,SAAS,OAAU,CAAC,OAAuB,WAA+B;AAAA,EACxE,IAAI,iBAAiB,SAAS;AAAA,IAC5B,OAAO,QAAQ,QAAQ,EACpB,KAAK,MAAM,KAAK,EAChB,KAAK,SAAS;AAAA,EACnB;AAAA,EACA,OAAO,UAAU,KAAK;AAAA;AAGxB,SAAS,YAAY,CAAC,OAAgB,UAAmB;AAAA,EACvD,OAAO,QAAQ,OAAO,CAAC,kBACrB,OAAO,kBAAkB,cAAc,WAAW,aACpD;AAAA;AAGK,SAAS,OAIf,CACC,MACA,UAKA;AAAA,EACA,MAAM,eAAe,CAAC,OAAW,SAAsC;AAAA,IACrE,IAAI,MAAM,QAAQ,KAAI,GAAG;AAAA,MACvB,OAAO,QAAQ,SAAS,QAAQ,OAAM,IAAI,GAAG,CAAC,iBAAiB;AAAA,QAC7D,IAAI,cAAc;AAAA,UAChB,OAAO;AAAA,QACT;AAAA,QACA,MAAM,QAAQ,MAAK,IAAI,CAAC,MAAM,UAC5B,aAAa,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CACrC;AAAA,QACA,IAAI,MAAM,KAAK,CAAC,SAAS,gBAAgB,OAAO,GAAG;AAAA,UACjD,OAAO,QAAQ,IAAI,KAAK;AAAA,QAC1B;AAAA,QAEA,OAAO;AAAA,OACR;AAAA,IACH;AAAA,IACA,IAAI,UAAS,MAAM;AAAA,MACjB,OAAO,aAAa,SAAS,OAAO,OAAM,IAAI,GAAG,KAAI;AAAA,IACvD;AAAA,IACA,IAAI,OAAO,WAAW,eAAe,OAAO,SAAS,KAAI,GAAG;AAAA,MAC1D,OAAO,aAAa,SAAS,SAAS,OAAM,IAAI,GAAG,KAAI;AAAA,IACzD;AAAA,IACA,IAAI,OAAO,UAAS,UAAU;AAAA,MAC5B,OAAO,aAAa,SAAS,SAAS,OAAM,IAAI,GAAG,KAAI;AAAA,IACzD;AAAA,IACA,IAAI,OAAO,UAAS,UAAU;AAAA,MAC5B,OAAO,aAAa,SAAS,SAAS,OAAM,IAAI,GAAG,KAAI;AAAA,IACzD;AAAA,IACA,IAAI,SAAS,KAAI,GAAG;AAAA,MAClB,OAAO,QAAQ,SAAS,SAAS,OAAM,IAAI,GAAG,CAAC,iBAAiB;AAAA,QAC9D,IAAI,cAAc;AAAA,UAChB,OAAO;AAAA,QACT;AAAA,QAEA,MAAM,UAAU,OAAO,QAAQ,KAAI,EAAE,IAAI,EAAE,KAAK,WAAW;AAAA,UACzD;AAAA,UACA,aAAa,OAAO,CAAC,GAAG,MAAM,GAAG,CAAC;AAAA,QACpC,CAAC;AAAA,QAED,IAAI,QAAQ,KAAK,IAAI,WAAW,iBAAiB,OAAO,GAAG;AAAA,UACzD,OAAO,QAAQ,IACb,QAAQ,IAAI,EAAE,KAAK,WACjB,QAAQ,QAAQ,EACb,KAAK,MAAM,KAAK,EAChB,KAAK,CAAC,kBAAkB,CAAC,KAAK,aAAa,CAAC,CACjD,CACF,EAAE,KAAK,CAAC,aAAY,OAAO,YAAY,QAAO,CAAC;AAAA,QACjD;AAAA,QAEA,OAAO,OAAO,YAAY,OAAO;AAAA,OAClC;AAAA,IACH;AAAA,IACA,OAAO;AAAA;AAAA,EAGT,OAAO,aAAa,MAAM,CAAC,CAAC;AAAA;;;AC1G9B,cAAS;;;ACAT,cAAS;;;ACST,eAAe,MAAM,CACnB,WACA,MACA,QACA,aACA;AAAA,EACA,MAAM,iBAAiB,MAAM,MAAM,WAAW;AAAA,IAC5C,QAAQ;AAAA,IACR;AAAA,IACA,SAAS,cACL;AAAA,MACE,gBAAgB;AAAA,IAClB,IACA,CAAC;AAAA,IACL;AAAA,EACF,CAAC;AAAA,EAED,MAAM,OAAO,MAAM,eAAe,KAAK;AAAA,EACvC,KAAK,QAAQ,OAAO,SAAS,UAAU;AAAA,IACrC,MAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEA,OAAO,aAAa,IAAmD;AAAA;AAQzE,eAAe,MAAM,CACnB,WACA,SACA,QACA,aACA;AAAA,EACA,OAAO,YAAY,cAAc,QAAO,IAAI;AAAA,EAE5C,MAAM,SAAS,WAAW,UAAU;AAAA,EACpC,MAAM,cAAc,OAAO,KAAK,EAAE,KAAK,GAAG,kBAAW;AAAA,IACnD,IAAI,OAAM;AAAA,MACR,MAAM,IAAI,MAAM,4BAA4B;AAAA,IAC9C;AAAA,IAEA,OAAO,OAAO;AAAA,GACf;AAAA,EAED,MAAM,iBAAiB,MAAM,MAAM,WAAW;AAAA,IAC5C,QAAQ;AAAA,IACR;AAAA,IACA,SAAS,cAAc,EAAE,gBAAgB,YAAY,IAAI,CAAC;AAAA,EAC5D,CAAC;AAAA,EAED,MAAM,OAAO,MAAM,eAAe,KAAK;AAAA,EACvC,KAAK,QAAQ,OAAO,SAAS,UAAU;AAAA,IACrC,MAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEA,QAAQ,MAAM,QAAQ;AAAA,EACtB,MAAM;AAAA,EAGN,MAAM,OAAO,MAAM,KAAK;AAAA,IACtB,QAAQ;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,IACR,MAAM;AAAA,EACR,CAAgB;AAAA,EAEhB,OAAO,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,GAAG,IAAI;AAAA;AAG7C,eAAsB,SAAS,CAAC,QAO7B;AAAA,EACD,MAAM,iBAAsC,CAAC;AAAA,EAC7C,MAAM,SAAS,MAAM,QAAQ,OAAO,OAAO;AAAA,SACnC,OAAM,CAAC,KAAK;AAAA,MAChB,IAAI,eAAe,QAAQ,eAAe,cAAc;AAAA,QAEtD,IAAI,eAAe,gBAAgB,IAAI,YAAY;AAAA,UACjD,OAAO,IAAI;AAAA,QACb;AAAA,QAEA,IAAI,OAAO,QAAQ,WAAW;AAAA,UAC5B,IAAI;AAAA,YACF,IAAI,eAAe,MAAM;AAAA,cACvB,OAAO,MAAM,OACX,OAAO,QAAQ,WACf,KACA,OAAO,QACP,IAAI,IACN;AAAA,YACF;AAAA,YAEA,IAAI,eAAe,cAAc;AAAA,cAC/B,OAAO,MAAM,OACX,OAAO,QAAQ,WACf,MAAM,IAAI,KAAK,GACf,OAAO,QACP,IAAI,QACN;AAAA,YACF;AAAA,YACA,OAAO,OAAO;AAAA,YACd,MAAM,iBAAiB,QAAQ;AAAA,cAC7B,MAAM;AAAA,YACR;AAAA,YACA,OAAO,SAAS,KAAK;AAAA,YACrB,OAAO;AAAA;AAAA,QAEX,EAAO;AAAA,UACL,OAAO,SAAS;AAAA,UAChB,OAAO;AAAA;AAAA,MAEX;AAAA,MAEA,IAAI,eAAe,YAAY,eAAe,gBAAgB;AAAA,QAC5D,IAAI,eAAe,kBAAkB,IAAI,cAAc;AAAA,UACrD,OAAO,IAAI;AAAA,QACb;AAAA,QAEA,IAAI,OAAO,QAAQ,WAAW;AAAA,UAC5B,IAAI;AAAA,YACF,IAAI,eAAe,YAAY,IAAI,MAAM;AAAA,cACvC,OAAO,cAAc,iBAAiB,MAAM,OAC1C,OAAO,QAAQ,WACf,IAAI,MACJ,OAAO,QACP,IAAI,QAAQ,IAAI,cAAc,CAChC;AAAA,cACA,eAAe,KAAK,aAAa;AAAA,cACjC,OAAO;AAAA,YACT;AAAA,YAEA,IAAI,eAAe,gBAAgB;AAAA,cACjC,OAAO,cAAc,iBAAiB,MAAM,OAC1C,OAAO,QAAQ,WACf,IAAI,OAAO,GACX,OAAO,QACP,IAAI,QACN;AAAA,cACA,eAAe,KAAK,aAAa;AAAA,cACjC,OAAO;AAAA,YACT;AAAA,YACA,OAAO,OAAO;AAAA,YACd,MAAM,iBAAiB,QAAQ;AAAA,cAC7B,MAAM;AAAA,YACR;AAAA,YACA,OAAO,SAAS,KAAK;AAAA,YACrB,OAAO;AAAA;AAAA,QAEX,EAAO;AAAA,UACL,OAAO,SAAS;AAAA,UAChB,OAAO;AAAA;AAAA,MAEX;AAAA;AAAA,EAEJ,CAAC;AAAA,EAED,QAAQ,WAAW,cAAc,EAAE,KAAK,MAAM,OAAO,SAAS,CAAC;AAAA,EAE/D,OAAO;AAAA;;AC7JF,MAAM,aAKb;AAAA,EACE;AAAA,EACA,QAA2B;AAAA,EAC3B,WAAW,CACT,WACA,SACA;AAAA,IACA,KAAK,QAAQ,IAAI,KAAK,WAAW,OAAO;AAAA;AAAA,SAInC,cAA+C,CAAC,MAAkB;AAAA,IACvE,MAAM,WAAW,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;AAAA,IAC7C,SAAS,QAAQ;AAAA,IACjB,OAAO;AAAA;AAAA,MAIL,UAAU,GAAG;AAAA,IACf,OAAO,KAAK;AAAA;AAAA,MAGV,IAAI,GAAG;AAAA,IACT,OAAO,KAAK,OAAO,QAAQ,KAAK,MAAM;AAAA;AAAA,MAGpC,QAAQ,GAAG;AAAA,IACb,OAAO,KAAK,OAAO,QAAQ,KAAK,MAAM;AAAA;AAAA,MAGpC,YAAY,GAAG;AAAA,IACjB,OAAO,KAAK,SAAS,MAAM,GAAG,EAAE;AAAA;AAAA,MAG9B,WAAW,GAAG;AAAA,IAChB,OAAO,KAAK,SAAS,MAAM,GAAG,EAAE;AAAA;AAAA,OAG5B,KAAI,GAAG;AAAA,IACX,IAAI,KAAK,OAAO;AAAA,MACd,OAAO,MAAM,KAAK,MAAM,GAAG,EAAE,KAAK,CAAC,aAAa,SAAS,KAAK,CAAC;AAAA,IACjE;AAAA,IACA,OAAO,KAAK,MAAM,KAAK;AAAA;AAAA,OAGnB,KAAI,GAAG;AAAA,IACX,IAAI,KAAK,OAAO;AAAA,MACd,OAAO,MAAM,KAAK,MAAM,GAAG,EAAE,KAAK,CAAC,aAAa,SAAS,KAAK,CAAC;AAAA,IACjE;AAAA,IACA,OAAO,KAAK,MAAM,MAAM,KAAK,KAAK,CAAC;AAAA;AAAA,OAG/B,KAAI,GAAG;AAAA,IACX,IAAI,KAAK,OAAO;AAAA,MACd,OAAO,MAAM,KAAK,MAAM,GAAG,EAAE,KAAK,CAAC,aAAa,SAAS,KAAK,CAAC;AAAA,IACjE;AAAA,IACA,OAAO,KAAK;AAAA;AAAA,OAGR,YAAW,GAAG;AAAA,IAClB,IAAI,KAAK,OAAO;AAAA,MACd,OAAO,MAAM,KAAK,MAAM,GAAG,EAAE,KAAK,CAAC,aAAa,SAAS,YAAY,CAAC;AAAA,IACxE;AAAA,IACA,OAAO,KAAK,MAAM,YAAY;AAAA;AAAA,EAGhC,QAAQ,GAAG;AAAA,IACT,OAAO,gBAAgB,KAAK;AAAA;AAAA,EAG9B,MAAM,GAAG;AAAA,IACP,OAAO,gBAAgB,KAAK;AAAA;AAEhC;;AClFO,MAAM,eAKb;AAAA,EACE;AAAA,EACA,UAA+B;AAAA,EAC/B;AAAA,EAEA,WAAW,CACT,SACA,SACA;AAAA,IACA,KAAK,QAAQ;AAAA,IACb,KAAK,WAAW;AAAA;AAAA,SAIX,gBAAiD,CACtD,SACA;AAAA,IACA,MAAM,WAAW,IAAI,KAAK,MAAmC;AAAA,MAC3D,MAAM;AAAA,IACR,CAAC;AAAA,IACD,SAAS,UAAU;AAAA,IACnB,OAAO;AAAA;AAAA,MAIL,YAAY,GAAG;AAAA,IACjB,OAAO,KAAK;AAAA;AAAA,MAGV,QAAQ,GAAG;AAAA,IACb,OAAO,KAAK,SAAS,QAAQ,KAAK,SAAS;AAAA;AAAA,MAGzC,YAAY,GAAG;AAAA,IACjB,OAAO,KAAK,SAAS,MAAM,GAAG,EAAE;AAAA;AAAA,MAG9B,WAAW,GAAG;AAAA,IAChB,OAAO,KAAK,SAAS,MAAM,GAAG,EAAE;AAAA;AAAA,EAGlC,MAAM,GAAG;AAAA,IACP,IAAI,KAAK,SAAS;AAAA,MAChB,QAAQ,UAAU,aAAa,IAAI;AAAA,MAEnC,MAAM,KAAK,QAAQ,GAAG,EAAE,KAAK,CAAC,aAC5B,SAAS,MAAM,OAAO,QAAQ,CAChC;AAAA,MAEA,OAAO;AAAA,IACT;AAAA,IACA,OAAO,KAAK;AAAA;AAAA,EAGd,aAAa,GAA8B;AAAA,IACzC,MAAM,SAAS,KAAK,OAAO,EAAE,UAAU;AAAA,IAEvC,OAAO;AAAA,OACJ,OAAO,cAAc,GAAG;AAAA,QACvB,OAAO;AAAA,eACC,KAAI,GAAG;AAAA,YACX,OAAO,OAAO,KAAK;AAAA;AAAA,eAEf,OAAM,GAAG;AAAA,YACb,OAAO,OAAO;AAAA,YACd,OAAO,YAAY;AAAA,YACnB,OAAO,EAAE,MAAM,MAAM,OAAO,KAAK;AAAA;AAAA,QAErC;AAAA;AAAA,IAEJ;AAAA;AAAA,EAGF,QAAQ,GAAG;AAAA,IACT,OAAO,kBAAkB,KAAK;AAAA;AAAA,EAGhC,MAAM,GAAG;AAAA,IACP,OAAO,kBAAkB,KAAK;AAAA;AAElC;;;AH5FA,IAAM,mBAAmB,GAAE,OAAO;AAAA,EAChC,MAAM,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAChC,MAAM,GAAE,OAAO;AAAA,EACf,KAAK,GAAE,OAAO,EAAE,IAAI;AAAA,EACpB,iBAAiB,GAAE,QAAQ,cAAc;AAC3C,CAAC;AAIM,SAAS,YAAY,CAAC,UAId;AAAA,EACb,OAAO;AAAA,OACF;AAAA,IACH,iBAAiB;AAAA,EACnB;AAAA;AAGK,SAAS,YAAY,CAAC,MAAmC;AAAA,EAC9D,OAAO,iBAAiB,UAAU,IAAI,EAAE;AAAA;AAG1C,IAAM,qBAAqB,GAAE,OAAO;AAAA,EAClC,MAAM,GAAE,OAAO;AAAA,EACf,KAAK,GAAE,OAAO,EAAE,IAAI;AAAA,EACpB,iBAAiB,GAAE,QAAQ,gBAAgB;AAC7C,CAAC;AAIM,SAAS,cAAc,CAAC,YAGd;AAAA,EACf,OAAO;AAAA,OACF;AAAA,IACH,iBAAiB;AAAA,EACnB;AAAA;AAGK,SAAS,cAAc,CAAC,MAAqC;AAAA,EAClE,OAAO,mBAAmB,UAAU,IAAI,EAAE;AAAA;;;ADtCrC,IAAM,gBAAgB,GAAE,OAAO;AAAA,EACpC,OAAO,GAAE,IAAI;AAAA,EACb,MAAM,GAAE,IAAI;AAAA,EACZ,QAAQ,GAAE,OAAO,EAAE,MAAM,GAAE,OAAO,EAAE,CAAC;AAAA,EACrC,MAAM,GAAE,OAAO,GAAE,OAAO,GAAG,GAAE,IAAI,CAAC;AAAA,EAClC,QAAQ,GAAE,OAAO,GAAE,OAAO,GAAG,GAAE,OAAO,CAAC;AAAA,EACvC,OAAO,GAAE,OAAO,GAAE,OAAO,GAAG,GAAE,OAAO,EAAE,SAAS,CAAC;AACnD,CAAC;AAID,IAAM,cAAc,OAAO,IAAI,UAAU;AAMzC,SAAS,oBAAoB,CAAC,MAAW;AAAA,EACvC,OAAO,QAAQ,MAAM;AAAA,IACnB,MAAM,CAAC,KAAK;AAAA,MACV,IAAI,aAAa,GAAG,GAAG;AAAA,QACrB,OAAO,aAAa,eAAe,GAAG;AAAA,MACxC;AAAA,MAEA,IAAI,eAAe,GAAG,GAAG;AAAA,QACvB,OAAO,eAAe,iBAAiB,GAAG;AAAA,MAC5C;AAAA;AAAA,EAEJ,CAAC;AAAA;AAGI,SAAS,mBAAmB,CAAC,SAAkB,OAAc;AAAA,EAClE,MAAM,QAAQ,qBAAqB,QAAQ,KAAK;AAAA,EAChD,MAAM,OAAO,qBAAqB,QAAQ,IAAI;AAAA,EAE9C,MAAM,UAAU,IAAI,IAClB,MAAM,IAAI,CAAC,SAAS;AAAA,IAClB,KAAK;AAAA,IACL;AAAA,MACE;AAAA,MACA,eACE,KAAK,MAAM,QAAQ,QAAQ,IAAI,KAAK,QAAQ,MAAM,KAAK,GAAG,IAAI;AAAA,MAChE,MAAM,qBAAqB,QAAQ,KAAK,KAAK,OAAO,IAAI;AAAA,MACxD,OAAO,QAAQ,OAAO,KAAK,OAAO;AAAA,IACpC;AAAA,EACF,CAAC,CACH;AAAA,EAEA,MAAM,YAAY,IAAI;AAAA,EAEtB,WAAW,QAAQ,OAAO;AAAA,IACxB,MAAM,QACJ,OAAO,KAAK,MAAM,aAAa,WAC3B,KAAK,KAAK,YACV,WAAW,SAAQ,KAAK;AAAA,IAC9B,IAAI,OAAO;AAAA,MACT,IAAI,UAAU,IAAI,KAAK,GAAG;AAAA,QACxB,UAAU,IAAI,KAAK,EAAG,KAAK,KAAK,EAAE;AAAA,MACpC,EAAO;AAAA,QACL,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;AAAA;AAAA,IAElC;AAAA,IAEA,MAAM,OACJ,OAAO,KAAK,MAAM,YAAY,WAC1B,KAAK,KAAK,UACV,KAAK,SAAS,aAAa,KAAK;AAAA,IACtC,IAAI,MAAM;AAAA,MACR,IAAI,UAAU,IAAI,IAAI,GAAG;AAAA,QACvB,UAAU,IAAI,IAAI,EAAG,KAAK,KAAK,EAAE;AAAA,MACnC,EAAO;AAAA,QACL,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;AAAA;AAAA,IAEjC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,KACJ,cAAc;AAAA,MACb;AAAA,IACF;AAAA,IACA,QAAQ,GAAY;AAAA,MAClB,OAAO;AAAA;AAAA,IAET,OAAO,GAAY;AAAA,MACjB,OAAO;AAAA;AAAA,IAET,OAAO,CAAC,OAAgB;AAAA,MACtB,IAAI,OAAO;AAAA,QACT,MAAM,UAAU,UAAU,IAAI,KAAK;AAAA,QACnC,KAAK,SAAS;AAAA,UACZ,OAAO;AAAA,QACT;AAAA,QAEA,MAAM,gBAAgB,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC;AAAA,QACjD,MAAM,eAAe,cAClB,IAAI,CAAC,WAAW,QAAQ,IAAI,MAAM,GAAG,IAAI,EACzC,OAAO,OAAO;AAAA,QAEjB,IAAI,aAAa,WAAW,GAAG;AAAA,UAC7B,OAAO;AAAA,QACT;AAAA,QAEA,IAAI,aAAa,WAAW,GAAG;AAAA,UAC7B,OAAO,aAAa;AAAA,QACtB;AAAA,QAEA,IAAI,aAAa,MAAM,QAAQ,GAAG;AAAA,UAChC,OAAO,aAAa,OAAO,CAAC,KAAK,UAAU,KAAK,QAAQ,KAAK,IAAI,CAAC,CAAC;AAAA,QACrE;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MAEA,OAAO,MAAM,KAAK,QAAQ,OAAO,CAAC,EAC/B,OAAO,CAAC,WAAW,OAAO,iBAAiB,SAAS,OAAO,IAAI,CAAC,EAChE,SACC,CAAC,GAAG,MAAM,EAAE,cAAe,QAAQ,IAAI,EAAE,cAAe,QAAQ,CAClE,EACC,OACC,CAAC,KAAK,YAAY;AAAA,WACb;AAAA,WACA,OAAO;AAAA,MACZ,IACA,SAAS,KAAK,IAAI,QAAQ,CAAC,CAC7B;AAAA;AAAA,IAEJ,QAAQ,CAAC,OAAe;AAAA,MACtB,MAAM,UAAU,UAAU,IAAI,KAAK;AAAA,MACnC,KAAK,SAAS;AAAA,QACZ,OAAO;AAAA,MACT;AAAA,MACA,OAAO,QACJ,IAAI,CAAC,WAAW,QAAQ,IAAI,MAAM,GAAG,KAAK,EAC1C,OAAO,CAAC,QAAQ,OAAO,QAAQ,QAAQ,EACvC,KAAK;AAAA,CAAI;AAAA;AAAA,EAEhB;AAAA;;;AKhJF;;;ACHA;AAIA,SAAwB,cAAc,CAAC,aAAsB;AAAA,EAC3D,IAAI,QACF,eACA,QAAQ,IAAI,8BACZ,QAAQ,IAAI;AAAA,EAEd,KAAK,OAAO;AAAA,IACV,MAAM,UAAU,KAAK,MAAM,aAAa,gBAAgB,OAAO,CAAC;AAAA,IAChE,QAAQ,QAAQ,UAAU,MAAM,eAAe,QAAQ,UAAU;AAAA,EACnE;AAAA,EAEA,KAAK,OAAO;AAAA,IACV,MAAM,IAAI,MACR;AAAA;AAAA;AAAA,6CACF;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,YAAY,KAAK;AAAA,EAC/B,IAAI,MAAM,SAAS,KAAK,MAAM,OAAO,OAAO;AAAA,IAC1C,MAAM,IAAI,MAAM,sBAAsB;AAAA,EACxC;AAAA,EAEA,OAAO;AAAA,IACL,OAAO,MAAM;AAAA,IACb,YAAY,MAAM;AAAA,EACpB;AAAA;;;AC3BF,MAAM,uBAAuB,MAAM;AAAA,EAGf;AAAA,EAFlB,WAAW,CACT,SACgB,QAChB;AAAA,IACA,MAAM,OAAO;AAAA,IAFG;AAAA;AAIpB;AAOA,eAAsB,SAAS,CAAC,SAA2B;AAAA,EACzD,QAAQ,YAAY,UAAU,eAAe,QAAQ,WAAW;AAAA,EAEhE,MAAM,WAAW,GAAG,yBAAyB,QAAQ;AAAA,EAErD,MAAM,WAAW,MAAM,MAAM,UAAU;AAAA,IACrC,QAAQ;AAAA,IACR,MAAM,QAAQ,UAAU;AAAA,IACxB,SAAS;AAAA,MACP,eAAe,UAAU;AAAA,IAC3B;AAAA,EACF,CAAC;AAAA,EAED,KAAK,SAAS,IAAI;AAAA,IAChB,MAAM,IAAI,eAAe,MAAM,SAAS,KAAK,GAAG,QAAQ,MAAM;AAAA,EAChE;AAAA;;;AC7BF,cAAS;AAiET,IAAM,wBAAwB,GAAE,OAAO;AAAA,EACrC,IAAI,GAAE,OAAO,EAAE,KAAK;AAAA,EACpB,MAAM,GAAE,QAAQ,SAAS;AAAA,EACzB,OAAO,GAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,SAAS,GACN,OAAO;AAAA,IACN,IAAI,GAAE,OAAO,EAAE,KAAK;AAAA,IACpB,MAAM,GAAE,OAAO;AAAA,IACf,SAAS,GAAE,OAAO;AAAA,EACpB,CAAC,EACA,SAAS;AACd,CAAC;AAED,IAAM,sBAAsB,GAAE,OAAO;AAAA,EACnC,IAAI,GAAE,OAAO,EAAE,KAAK;AAAA,EACpB,MAAM,GAAE,QAAQ,OAAO;AAAA,EACvB,OAAO,GAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,OAAO,GACJ,OAAO;AAAA,IACN,UAAU,GAAE,KAAK,CAAC,cAAc,cAAc,QAAQ,CAAC;AAAA,EACzD,CAAC,EACA,SAAS;AACd,CAAC;AAED,IAAM,iBAAiB,GAAE,mBAAmB,QAAQ;AAAA,EAClD;AAAA,EACA;AACF,CAAC;AAED,IAAM,aAAa,GAAE,OAAO;AAAA,EAC1B,WAAW,GAAE,OAAO,KAAK;AAAA,EACzB,QAAQ,GAAE,OAAO,EAAE,KAAK;AAAA,EACxB,UAAU,GAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,SAAS;AAAA,EACT,OAAO,GAAE,OAAc,CAAC,SAAS,MAAM,QAAQ,IAAI,CAAC;AACtD,CAAC;AAED,IAAM,wBAAwB,WAAW,OAAO;AAAA,EAC9C,MAAM,GAAE,QAAQ,WAAW;AAC7B,CAAC;AAED,IAAM,wBAAwB,WAAW,OAAO;AAAA,EAC9C,MAAM,GAAE,QAAQ,WAAW;AAAA,EAC3B,OAAO,GAAE,OAAO;AAClB,CAAC;AAED,IAAM,sBAAsB,WAAW,OAAO;AAAA,EAC5C,MAAM,GAAE,QAAQ,SAAS;AAC3B,CAAC;AAED,IAAM,wBAAwB,WAAW,OAAO;AAAA,EAC9C,MAAM,GAAE,QAAQ,WAAW;AAAA,EAC3B,MAAM;AACR,CAAC;AAED,IAAM,yBAAyB,WAAW,OAAO;AAAA,EAC/C,MAAM,GAAE,QAAQ,YAAY;AAAA,EAC5B,MAAM;AAAA,EACN,MAAM,GAAE,QAAQ;AAAA,EAChB,QAAQ,GAAE,MAAM,CAAC,GAAE,KAAK,GAAG,GAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,IAAM,wBAAwB,WAAW,OAAO;AAAA,EAC9C,MAAM,GAAE,QAAQ,WAAW;AAAA,EAC3B,MAAM;AAAA,EACN,OAAO,GAAE,OAAO;AAClB,CAAC;AAED,IAAM,wBAAwB,WAAW,OAAO;AAAA,EAC9C,MAAM,GAAE,QAAQ,WAAW;AAAA,EAC3B,MAAM;AAAA,EACN,QAAQ,GAAE,OAAO,EAAE,SAAS;AAC9B,CAAC;AAED,IAAM,sBAAsB,WAAW,OAAO;AAAA,EAC5C,MAAM,GAAE,QAAQ,SAAS;AAAA,EACzB,MAAM;AACR,CAAC;AAEM,IAAM,eAAe,GAAE,mBAAmB,QAAQ;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAsBM,IAAM,cAAc,GACxB,OAAO,EAAE,MAAM,GAAE,OAAO,GAAG,MAAM,GAAE,OAAO,EAAE,CAAC,EAC7C,UAAU,CAAC,WAAW,EAAE,MAAM,MAAM,SAAS,KAAK,MAAM,MAAM,IAAI,EAAE,EAAE,EACtE,KAAK,YAAY;;;AC5KpB,SAAwB,UAAS,CAAC,MAAwB;AAAA,EACxD,OAAO,QAAQ,MAAM;AAAA,IACnB,MAAM,CAAC,KAAK;AAAA,MACV,IAAI,aAAa,GAAG,GAAG;AAAA,QACrB,OAAO,aAAa,eAAe,GAAG;AAAA,MACxC;AAAA,MACA,IAAI,eAAe,GAAG,GAAG;AAAA,QACvB,OAAO,eAAe,iBAAiB,GAAG;AAAA,MAC5C;AAAA;AAAA,EAEJ,CAAC;AAAA;;;AJHI,MAAM,kBAAkB,MAAM;AAAA,EAGjB;AAAA,EAFlB,WAAW,CACT,SACgB,cAChB;AAAA,IACA,MAAM,OAAO;AAAA,IAFG;AAAA;AAIpB;AAIO,SAAS,UAEf,CAAC,SAA+B,UAAiC;AAAA,EAChE,MAAM,qBAAqB,IAAI;AAAA,EAE/B,QAAQ,YAAY,UAAU,eAAe,QAAQ,WAAW;AAAA,EAEhE,MAAM,aAAa,GAAG,2BAA2B,QAAQ;AAAA,EAEzD,MAAM,iBAAiB,oBAGpB;AAAA,EAEH,IAAI,eAAe;AAAA,EACnB,MAAM,kBAAkB,YAAY;AAAA,IAClC,IAAI,cAAc;AAAA,MAChB;AAAA,IACF;AAAA,IAEA,eAAe;AAAA,IACf,MAAM,UAAU,MAAM;AAAA,IAEtB,KAAK,QAAQ,MAAM;AAAA,MACjB,cAAc,QAAQ;AAAA,QACpB,QAAQ,GAAG;AAAA,UACT,OAAO,QAAQ;AAAA;AAAA,QAEjB,OAAO,GAAG;AAAA,UACR,OAAO,QAAQ;AAAA;AAAA,QAEjB,QAAQ,CAAC,QAAQ;AAAA,UACf,OAAO;AAAA;AAAA,QAET,OAAO,CAAC,QAAQ;AAAA,UACd,OAAO;AAAA;AAAA,QAET,SAAS,GAAG;AAAA,UACV,OAAO,QAAQ;AAAA;AAAA,QAEjB,UAAU,GAAG;AAAA,UACX,OAAO;AAAA;AAAA,MAEX,CAAc;AAAA,MACd;AAAA,IACF;AAAA,IAEA,MAAM,cAAc,IAAI,YAAY,QAAQ,KAAK,OAAO;AAAA,MACtD,OAAO,CAAC,OAAO,SACb,MAAM,OAAO;AAAA,WACR;AAAA,QACH,SAAS;AAAA,UACP,eAAe,UAAU;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,IACL,CAAC;AAAA,IAED,MAAM,aAAuC;AAAA,MAC3C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IAEA,WAAW,QAAQ,CAAC,cAAc;AAAA,MAChC,YAAY,iBAAiB,WAAW,CAAC,UAAU;AAAA,QACjD,MAAM,eAAe,YAAY,UAAU,KAAK;AAAA,QAEhD,KAAK,aAAa,SAAS;AAAA,UACzB,YAAY,MAAM;AAAA,UAClB,cAAc,OACZ,IAAI,UACF,WAAW,6BACX,QAAQ,YACV,CACF;AAAA,UACA;AAAA,QACF;AAAA,QAEA,MAAM,SAAS,aAAa;AAAA,QAE5B,IAAI,OAAO,SAAS,aAAa,OAAO,SAAS,aAAa;AAAA,UAC5D,YAAY,MAAM;AAAA,QACpB;AAAA,QAEA,MAAM,UAAU,OAAO;AAAA,QAEvB,IAAI,OAAO,SAAS,cAAc;AAAA,UAChC,QAAQ,MAAM,OAAO,KAAK,MAAM,OAAO,UAAU,YAAY;AAAA,UAC7D,QAAQ,KAAK,OAAO,KAAK,MAAM,OAAO;AAAA,QACxC;AAAA,QAEA,MAAM,gBAAgB;AAAA,aACjB;AAAA,UACH,SAAS,oBAAoB,SAAS,OAAO,KAAK;AAAA,QACpD;AAAA,QAEA,IAAI,cAAc,SAAS,WAAW;AAAA,UACpC,cAAc,QAAQ;AAAA,eACjB,cAAc;AAAA,YACjB,SAAS,GAAG;AAAA,cACV,OAAO,QAAQ;AAAA;AAAA,YAEjB,UAAU,GAAG;AAAA,cACX,OAAO,QAAQ,MAAM,QAAQ;AAAA;AAAA,UAEjC,CAAc;AAAA,QAChB;AAAA,QAEA,IAAI,cAAc,SAAS,aAAa;AAAA,UACtC,cAAc,OACZ,IAAI,UAAU,cAAc,OAAO,QAAQ,YAAY,CACzD;AAAA,QACF;AAAA,QAEA,MAAM,iBACJ,cAAc,SAAS,eACnB;AAAA,aACK;AAAA,UACH,QACE,cAAc,WAAW,gBACrB,OACA,cAAc;AAAA,UACpB,MAAM,WAAU,cAAc,IAAI;AAAA,QACpC,IACA;AAAA,QAEN,mBAAmB,QAAQ,CAAC,YAC1B,QAAQ,cAA2B,CACrC;AAAA,OACD;AAAA,KACF;AAAA;AAAA,EAGH,MAAM,kBAAkB,oBAGrB;AAAA,EACH,MAAM,gBAAgB,oBAA+B,eAAe;AAAA,GAElE,YAAY;AAAA,IACZ,MAAM,kBAAkB,MAAM,MAAM,YAAY;AAAA,MAC9C,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,eAAe,UAAU;AAAA,MAC3B;AAAA,IACF,CAAC;AAAA,IAED,KAAK,gBAAgB,IAAI;AAAA,MACvB,MAAM,QAAQ,IAAI,UAChB,MAAM,gBAAgB,KAAK,GAC3B,QAAQ,YACV;AAAA,MACA,gBAAgB,OAAO,KAAK;AAAA,MAC5B,cAAc,OAAO,KAAK;AAAA,MAC1B;AAAA,IACF;AAAA,IAEA,MAAM,cAAe,MAAM,gBAAgB,KAAK;AAAA,IAMhD,MAAM,eAAe,MAAM,UAAS;AAAA,MAClC,OAAO;AAAA,QACL,MAAM,QAAQ;AAAA,QACd,OAAO,QAAQ;AAAA,QACf,MAAM,QAAQ;AAAA,MAChB;AAAA,MACA,SAAS;AAAA,QACP,WAAW,YAAY,UAAU;AAAA,QACjC,WAAW,YAAY,UAAU;AAAA,MACnC;AAAA,IACF,CAAC;AAAA,IAED,MAAM,mBAAmB,MAAM,MAAM,YAAY,aAAa;AAAA,MAC5D,QAAQ;AAAA,MACR,MAAM,KAAK,UAAU,YAAY;AAAA,MACjC,SAAS;AAAA,QACP,eAAe,UAAU;AAAA,QACzB,gBAAgB;AAAA,MAClB;AAAA,IACF,CAAC;AAAA,IAED,KAAK,iBAAiB,IAAI;AAAA,MACxB,MAAM,QAAQ,IAAI,UAChB,MAAM,gBAAgB,KAAK,GAC3B,QAAQ,YACV;AAAA,MACA,gBAAgB,OAAO,KAAK;AAAA,MAC5B,cAAc,OAAO,KAAK;AAAA,MAC1B;AAAA,IACF;AAAA,IAEA,MAAM,UAAW,MAAM,iBAAiB,KAAK;AAAA,IAO7C,gBAAgB,QAAQ;AAAA,MACtB,IAAI,QAAQ;AAAA,MACZ,SAAS,QAAQ,MAAM,QAAQ;AAAA,IACjC,CAAC;AAAA,IACD,eAAe,QAAQ,OAAO;AAAA,IAC9B,IAAI,UAAU;AAAA,MACZ,mBAAmB,IAAI,QAAQ;AAAA,MAC/B,gBAAgB;AAAA,IAClB;AAAA,KACC;AAAA,EAEH,MAAM,gBAAgB,wBACpB,CAAC,MAAM,OAAO,SAAS;AAAA,IACrB,mBAAmB,IAAI,SAAS,YAAY,CAAC,QAAQ;AAAA,MACnD,KAAK,MAAM;AAAA,MACX,IAAI,OAAO,SAAS,aAAa,OAAO,SAAS,aAAa;AAAA,QAC5D,KAAK;AAAA,QACL,mBAAmB,OAAO,YAAY;AAAA,MACxC;AAAA,KACD;AAAA,IAED,gBAAgB;AAAA,GAEpB;AAAA,EAEA,OAAO,OAAO,OAAO,cAAc,SAAS,eAAe;AAAA,SACnD,UAAS,GAAG;AAAA,MAChB,MAAM,OAAO,MAAM;AAAA,MACnB,OAAO,KAAK;AAAA;AAAA,SAER,WAAU,GAAG;AAAA,MACjB,MAAM,OAAO,MAAM;AAAA,MACnB,OAAO,KAAK;AAAA;AAAA,SAER,MAAK,CAAC,QAAiB;AAAA,MAC3B,MAAM,OAAO,MAAM;AAAA,MACnB,MAAM,UAAU;AAAA,QACd,QAAQ,KAAK;AAAA,QACb,aAAa,QAAQ;AAAA,QACrB;AAAA,MACF,CAAC;AAAA;AAAA,EAEL,CAAC;AAAA;;AKhRH,wBAAS;AAaF,SAAS,UAAU,CAAC,SAA4B;AAAA,EACrD,QAAQ,YAAY,UAAU,eAAe,QAAQ,WAAW;AAAA,EAChE,MAAM,qBAAqB,IAAI;AAAA,EAE/B,IAAI,QAAQ,UAAU;AAAA,IACpB,mBAAmB,IAAI,QAAQ,QAAQ;AAAA,EACzC;AAAA,EAEA,MAAM,WAAW,IAAI,IAAI,GAAG,2BAA2B;AAAA,EACvD,SAAS,aAAa,IAAI,SAAS,QAAQ,MAAM,YAAY,CAAC;AAAA,EAE9D,MAAM,cAAc,IAAI,aAAY,UAAU;AAAA,IAC5C,OAAO,CAAC,OAAO,SACb,MAAM,OAAO;AAAA,SACR;AAAA,MACH,SAAS;AAAA,QACP,eAAe,UAAU;AAAA,MAC3B;AAAA,IACF,CAAC;AAAA,EACL,CAAC;AAAA,EAED,MAAM,gBAAgB,wBAAyC,CAAC,SAAS;AAAA,IACvE,mBAAmB,IAAI,IAAI;AAAA,GAC5B;AAAA,EAED,MAAM,aAA6C;AAAA,IACjD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,WAAW,QAAQ,CAAC,cAAc;AAAA,IAChC,YAAY,iBAAiB,WAAW,CAAC,UAAU;AAAA,MACjD,MAAM,eAAe,YAAY,UAAU,KAAK;AAAA,MAEhD,KAAK,aAAa,SAAS;AAAA,QACzB,YAAY,MAAM;AAAA,QAClB,MAAM,IAAI,MAAM,gBAAgB;AAAA,MAClC;AAAA,MAEA,MAAM,SAAS,aAAa;AAAA,MAC5B,MAAM,UAAU,OAAO;AAAA,MAEvB,IAAI,OAAO,SAAS,cAAc;AAAA,QAChC,QAAQ,MAAM,OAAO,KAAK,MAAM,OAAO,UAAU,YAAY;AAAA,QAC7D,QAAQ,KAAK,OAAO,KAAK,MAAM,OAAO;AAAA,MACxC;AAAA,MAEA,MAAM,gBAAgB;AAAA,WACjB;AAAA,QACH,SAAS,oBAAoB,SAAS,OAAO,KAAK;AAAA,MACpD;AAAA,MAEA,MAAM,iBACJ,cAAc,SAAS,eACnB;AAAA,WACK;AAAA,QACH,QACE,cAAc,WAAW,gBACrB,OACA,cAAc;AAAA,QACpB,MAAM,WAAU,cAAc,IAAI;AAAA,MACpC,IACA;AAAA,MACN,mBAAmB,QAAQ,CAAC,YAC1B,QAAQ,cAAiC,CAC3C;AAAA,KACD;AAAA,GACF;AAAA,EAED,MAAM,eAAe,MAAM;AAAA,IACzB,YAAY,MAAM;AAAA;AAAA,EAGpB,OAAO,OAAO,OAAO,cAAc,aAAa;AAAA;",
|
|
22
|
+
"debugId": "1ABBB576345EB61164756E2164756E21",
|
|
22
23
|
"names": []
|
|
23
24
|
}
|
|
@@ -1 +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;
|
|
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;AAIjD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOxB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEnD,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAiDlD,OAAO;eAGR,OAAO;oBAGF,MAAM;oBAuCN,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"}
|