footprintjs 0.14.3 → 0.14.4
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/dist/esm/lib/engine/handlers/RuntimeStructureManager.js +3 -2
- package/dist/lib/engine/handlers/RuntimeStructureManager.js +3 -2
- package/package.json +1 -1
- package/dist/esm/types/advanced.d.ts +0 -35
- package/dist/esm/types/index.d.ts +0 -46
- package/dist/esm/types/lib/builder/FlowChartBuilder.d.ts +0 -129
- package/dist/esm/types/lib/builder/index.d.ts +0 -9
- package/dist/esm/types/lib/builder/types.d.ts +0 -102
- package/dist/esm/types/lib/contract/defineContract.d.ts +0 -18
- package/dist/esm/types/lib/contract/index.d.ts +0 -14
- package/dist/esm/types/lib/contract/openapi.d.ts +0 -12
- package/dist/esm/types/lib/contract/schema.d.ts +0 -15
- package/dist/esm/types/lib/contract/types.d.ts +0 -94
- package/dist/esm/types/lib/engine/errors/errorInfo.d.ts +0 -45
- package/dist/esm/types/lib/engine/errors/index.d.ts +0 -2
- package/dist/esm/types/lib/engine/graph/StageNode.d.ts +0 -78
- package/dist/esm/types/lib/engine/graph/index.d.ts +0 -2
- package/dist/esm/types/lib/engine/handlers/ChildrenExecutor.d.ts +0 -33
- package/dist/esm/types/lib/engine/handlers/ContinuationResolver.d.ts +0 -57
- package/dist/esm/types/lib/engine/handlers/DeciderHandler.d.ts +0 -34
- package/dist/esm/types/lib/engine/handlers/ExtractorRunner.d.ts +0 -41
- package/dist/esm/types/lib/engine/handlers/NodeResolver.d.ts +0 -26
- package/dist/esm/types/lib/engine/handlers/RuntimeStructureManager.d.ts +0 -36
- package/dist/esm/types/lib/engine/handlers/SelectorHandler.d.ts +0 -26
- package/dist/esm/types/lib/engine/handlers/StageRunner.d.ts +0 -17
- package/dist/esm/types/lib/engine/handlers/SubflowExecutor.d.ts +0 -57
- package/dist/esm/types/lib/engine/handlers/SubflowInputMapper.d.ts +0 -40
- package/dist/esm/types/lib/engine/handlers/index.d.ts +0 -15
- package/dist/esm/types/lib/engine/index.d.ts +0 -30
- package/dist/esm/types/lib/engine/narrative/CombinedNarrativeBuilder.d.ts +0 -46
- package/dist/esm/types/lib/engine/narrative/CombinedNarrativeRecorder.d.ts +0 -63
- package/dist/esm/types/lib/engine/narrative/ControlFlowNarrativeGenerator.d.ts +0 -30
- package/dist/esm/types/lib/engine/narrative/FlowRecorderDispatcher.d.ts +0 -39
- package/dist/esm/types/lib/engine/narrative/NarrativeFlowRecorder.d.ts +0 -42
- package/dist/esm/types/lib/engine/narrative/NullControlFlowNarrativeGenerator.d.ts +0 -22
- package/dist/esm/types/lib/engine/narrative/index.d.ts +0 -17
- package/dist/esm/types/lib/engine/narrative/recorders/AdaptiveNarrativeFlowRecorder.d.ts +0 -25
- package/dist/esm/types/lib/engine/narrative/recorders/ManifestFlowRecorder.d.ts +0 -63
- package/dist/esm/types/lib/engine/narrative/recorders/MilestoneNarrativeFlowRecorder.d.ts +0 -24
- package/dist/esm/types/lib/engine/narrative/recorders/ProgressiveNarrativeFlowRecorder.d.ts +0 -30
- package/dist/esm/types/lib/engine/narrative/recorders/RLENarrativeFlowRecorder.d.ts +0 -25
- package/dist/esm/types/lib/engine/narrative/recorders/SeparateNarrativeFlowRecorder.d.ts +0 -32
- package/dist/esm/types/lib/engine/narrative/recorders/SilentNarrativeFlowRecorder.d.ts +0 -25
- package/dist/esm/types/lib/engine/narrative/recorders/WindowedNarrativeFlowRecorder.d.ts +0 -29
- package/dist/esm/types/lib/engine/narrative/recorders/index.d.ts +0 -9
- package/dist/esm/types/lib/engine/narrative/types.d.ts +0 -135
- package/dist/esm/types/lib/engine/traversal/FlowchartTraverser.d.ts +0 -97
- package/dist/esm/types/lib/engine/traversal/index.d.ts +0 -2
- package/dist/esm/types/lib/engine/types.d.ts +0 -244
- package/dist/esm/types/lib/memory/DiagnosticCollector.d.ts +0 -33
- package/dist/esm/types/lib/memory/EventLog.d.ts +0 -27
- package/dist/esm/types/lib/memory/SharedMemory.d.ts +0 -34
- package/dist/esm/types/lib/memory/StageContext.d.ts +0 -82
- package/dist/esm/types/lib/memory/TransactionBuffer.d.ts +0 -38
- package/dist/esm/types/lib/memory/index.d.ts +0 -13
- package/dist/esm/types/lib/memory/types.d.ts +0 -68
- package/dist/esm/types/lib/memory/utils.d.ts +0 -67
- package/dist/esm/types/lib/runner/ComposableRunner.d.ts +0 -32
- package/dist/esm/types/lib/runner/ExecutionRuntime.d.ts +0 -40
- package/dist/esm/types/lib/runner/FlowChartExecutor.d.ts +0 -100
- package/dist/esm/types/lib/runner/getSubtreeSnapshot.d.ts +0 -60
- package/dist/esm/types/lib/runner/index.d.ts +0 -6
- package/dist/esm/types/lib/runner/validateInput.d.ts +0 -11
- package/dist/esm/types/lib/schema/detect.d.ts +0 -32
- package/dist/esm/types/lib/schema/errors.d.ts +0 -36
- package/dist/esm/types/lib/schema/index.d.ts +0 -14
- package/dist/esm/types/lib/schema/validate.d.ts +0 -33
- package/dist/esm/types/lib/scope/ScopeFacade.d.ts +0 -110
- package/dist/esm/types/lib/scope/index.d.ts +0 -23
- package/dist/esm/types/lib/scope/protection/createProtectedScope.d.ts +0 -9
- package/dist/esm/types/lib/scope/protection/index.d.ts +0 -2
- package/dist/esm/types/lib/scope/protection/readonlyInput.d.ts +0 -26
- package/dist/esm/types/lib/scope/protection/types.d.ts +0 -13
- package/dist/esm/types/lib/scope/providers/baseStateCompatible.d.ts +0 -28
- package/dist/esm/types/lib/scope/providers/guards.d.ts +0 -14
- package/dist/esm/types/lib/scope/providers/index.d.ts +0 -6
- package/dist/esm/types/lib/scope/providers/providers.d.ts +0 -8
- package/dist/esm/types/lib/scope/providers/registry.d.ts +0 -11
- package/dist/esm/types/lib/scope/providers/resolve.d.ts +0 -8
- package/dist/esm/types/lib/scope/providers/types.d.ts +0 -40
- package/dist/esm/types/lib/scope/recorders/DebugRecorder.d.ts +0 -35
- package/dist/esm/types/lib/scope/recorders/MetricRecorder.d.ts +0 -36
- package/dist/esm/types/lib/scope/recorders/NarrativeRecorder.d.ts +0 -50
- package/dist/esm/types/lib/scope/recorders/index.d.ts +0 -7
- package/dist/esm/types/lib/scope/state/installResolvers.d.ts +0 -4
- package/dist/esm/types/lib/scope/state/zod/defineScopeFromZod.d.ts +0 -9
- package/dist/esm/types/lib/scope/state/zod/index.d.ts +0 -5
- package/dist/esm/types/lib/scope/state/zod/resolver.d.ts +0 -5
- package/dist/esm/types/lib/scope/state/zod/schema/builder.d.ts +0 -12
- package/dist/esm/types/lib/scope/state/zod/scopeFactory.d.ts +0 -9
- package/dist/esm/types/lib/scope/state/zod/utils/validateHelper.d.ts +0 -13
- package/dist/esm/types/lib/scope/types.d.ts +0 -83
|
@@ -125,7 +125,8 @@ export class RuntimeStructureManager {
|
|
|
125
125
|
mountStructure.subflowName = subflowName;
|
|
126
126
|
}
|
|
127
127
|
if (subflowBuildTimeStructure) {
|
|
128
|
-
|
|
128
|
+
// Deep-copy to prevent external mutation of the stored structure
|
|
129
|
+
mountStructure.subflowStructure = JSON.parse(JSON.stringify(subflowBuildTimeStructure));
|
|
129
130
|
this.buildNodeMap(mountStructure.subflowStructure);
|
|
130
131
|
}
|
|
131
132
|
}
|
|
@@ -150,4 +151,4 @@ export class RuntimeStructureManager {
|
|
|
150
151
|
nodeStructure.iterationCount = count;
|
|
151
152
|
}
|
|
152
153
|
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVudGltZVN0cnVjdHVyZU1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9oYW5kbGVycy9SdW50aW1lU3RydWN0dXJlTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUtIOzs7R0FHRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBZTs7SUFDN0MsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVTtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ2pGLElBQUksSUFBSSxDQUFDLFdBQVc7UUFBRSxPQUFPLFdBQVcsQ0FBQztJQUV6QyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsTUFBTSxLQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvRixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCO1FBQUUsT0FBTyxNQUFNLENBQUM7SUFFcEYsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELE1BQU0sT0FBTyx1QkFBdUI7SUFBcEM7UUFFVSxxQkFBZ0IsR0FBNkMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQXVKakYsQ0FBQztJQXJKQyw2RUFBNkU7SUFDN0UsSUFBSSxDQUFDLGtCQUFnRDtRQUNuRCxJQUFJLENBQUMsa0JBQWtCO1lBQUUsT0FBTztRQUNoQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyx3QkFB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UUFDN0QsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCw0REFBNEQ7SUFDNUQsb0JBQW9CLENBQUMsTUFBYyxFQUFFLEtBQWE7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0I7WUFBRSxPQUFPO1FBQzNDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPO1FBQzNCLGFBQWEsQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUnVudGltZVN0cnVjdHVyZU1hbmFnZXIg4oCUIE11dGFibGUgc3RydWN0dXJlIHRyYWNraW5nIGZvciB2aXN1YWxpemF0aW9uLlxuICpcbiAqIER1cmluZyBleGVjdXRpb24sIGR5bmFtaWMgZXZlbnRzIChuZXcgY2hpbGRyZW4sIHN1YmZsb3dzLCBuZXh0IGNoYWlucyxcbiAqIGxvb3AgaXRlcmF0aW9ucykgbW9kaWZ5IHRoZSBwaXBlbGluZS4gVGhpcyBtYW5hZ2VyIGtlZXBzIGEgc2VyaWFsaXplZFxuICogc3RydWN0dXJlIGluIHN5bmMgc28gY29uc3VtZXJzIGdldCB0aGUgY29tcGxldGUgcGljdHVyZS5cbiAqXG4gKiBEZWVwLWNsb25lcyBidWlsZC10aW1lIHN0cnVjdHVyZSBhdCBpbml0LCB0aGVuIG1haW50YWlucyBPKDEpIGxvb2t1cCBtYXAuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBTdGFnZU5vZGUgfSBmcm9tICcuLi9ncmFwaC9TdGFnZU5vZGUuanMnO1xuaW1wb3J0IHR5cGUgeyBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbi8qKlxuICogQ29tcHV0ZSB0aGUgbm9kZSB0eXBlIGZyb20gbm9kZSBwcm9wZXJ0aWVzLlxuICogU2hhcmVkIGJ5IFJ1bnRpbWVTdHJ1Y3R1cmVNYW5hZ2VyIChzZXJpYWxpemF0aW9uKSBhbmQgRXh0cmFjdG9yUnVubmVyIChtZXRhZGF0YSkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlTm9kZVR5cGUobm9kZTogU3RhZ2VOb2RlKTogJ3N0YWdlJyB8ICdkZWNpZGVyJyB8ICdmb3JrJyB8ICdzdHJlYW1pbmcnIHtcbiAgaWYgKG5vZGUubmV4dE5vZGVTZWxlY3RvciB8fCBub2RlLmRlY2lkZXJGbiB8fCBub2RlLnNlbGVjdG9yRm4pIHJldHVybiAnZGVjaWRlcic7XG4gIGlmIChub2RlLmlzU3RyZWFtaW5nKSByZXR1cm4gJ3N0cmVhbWluZyc7XG5cbiAgY29uc3QgaGFzRHluYW1pY0NoaWxkcmVuID0gQm9vbGVhbihub2RlLmNoaWxkcmVuPy5sZW5ndGggJiYgIW5vZGUubmV4dE5vZGVTZWxlY3RvciAmJiBub2RlLmZuKTtcbiAgaWYgKG5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwICYmICFoYXNEeW5hbWljQ2hpbGRyZW4pIHJldHVybiAnZm9yayc7XG5cbiAgcmV0dXJuICdzdGFnZSc7XG59XG5cbmV4cG9ydCBjbGFzcyBSdW50aW1lU3RydWN0dXJlTWFuYWdlciB7XG4gIHByaXZhdGUgcnVudGltZVBpcGVsaW5lU3RydWN0dXJlPzogU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlO1xuICBwcml2YXRlIHN0cnVjdHVyZU5vZGVNYXA6IE1hcDxzdHJpbmcsIFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZT4gPSBuZXcgTWFwKCk7XG5cbiAgLyoqIEluaXRpYWxpemUgZnJvbSBidWlsZC10aW1lIHN0cnVjdHVyZS4gRGVlcC1jbG9uZXMgdmlhIEpTT04gcm91bmQtdHJpcC4gKi9cbiAgaW5pdChidWlsZFRpbWVTdHJ1Y3R1cmU/OiBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUpOiB2b2lkIHtcbiAgICBpZiAoIWJ1aWxkVGltZVN0cnVjdHVyZSkgcmV0dXJuO1xuICAgIHRoaXMucnVudGltZVBpcGVsaW5lU3RydWN0dXJlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShidWlsZFRpbWVTdHJ1Y3R1cmUpKTtcbiAgICB0aGlzLmJ1aWxkTm9kZU1hcCh0aGlzLnJ1bnRpbWVQaXBlbGluZVN0cnVjdHVyZSEpO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIGN1cnJlbnQgcnVudGltZSBzdHJ1Y3R1cmUgKG11dGF0ZWQgZHVyaW5nIGV4ZWN1dGlvbikuICovXG4gIGdldFN0cnVjdHVyZSgpOiBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVQaXBlbGluZVN0cnVjdHVyZTtcbiAgfVxuXG4gIC8qKiBSZWN1cnNpdmVseSByZWdpc3RlcnMgYWxsIG5vZGVzIGluIHRoZSBPKDEpIGxvb2t1cCBtYXAuICovXG4gIHByaXZhdGUgYnVpbGROb2RlTWFwKG5vZGU6IFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSk6IHZvaWQge1xuICAgIGNvbnN0IGtleSA9IG5vZGUuaWQgPz8gbm9kZS5uYW1lO1xuICAgIHRoaXMuc3RydWN0dXJlTm9kZU1hcC5zZXQoa2V5LCBub2RlKTtcblxuICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgdGhpcy5idWlsZE5vZGVNYXAoY2hpbGQpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9kZS5uZXh0KSB7XG4gICAgICB0aGlzLmJ1aWxkTm9kZU1hcChub2RlLm5leHQpO1xuICAgIH1cbiAgICBpZiAobm9kZS5zdWJmbG93U3RydWN0dXJlKSB7XG4gICAgICB0aGlzLmJ1aWxkTm9kZU1hcChub2RlLnN1YmZsb3dTdHJ1Y3R1cmUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDb252ZXJ0IGEgcnVudGltZSBTdGFnZU5vZGUgaW50byBhIFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSBub2RlLiAqL1xuICBzdGFnZU5vZGVUb1N0cnVjdHVyZShub2RlOiBTdGFnZU5vZGUpOiBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUge1xuICAgIGNvbnN0IHN0cnVjdHVyZTogU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlID0ge1xuICAgICAgbmFtZTogbm9kZS5uYW1lLFxuICAgICAgaWQ6IG5vZGUuaWQsXG4gICAgICB0eXBlOiBjb21wdXRlTm9kZVR5cGUobm9kZSksXG4gICAgICBkZXNjcmlwdGlvbjogbm9kZS5kZXNjcmlwdGlvbixcbiAgICB9O1xuXG4gICAgaWYgKG5vZGUuaXNTdHJlYW1pbmcpIHtcbiAgICAgIHN0cnVjdHVyZS5pc1N0cmVhbWluZyA9IHRydWU7XG4gICAgICBzdHJ1Y3R1cmUuc3RyZWFtSWQgPSBub2RlLnN0cmVhbUlkO1xuICAgIH1cblxuICAgIGlmIChub2RlLmlzU3ViZmxvd1Jvb3QpIHtcbiAgICAgIHN0cnVjdHVyZS5pc1N1YmZsb3dSb290ID0gdHJ1ZTtcbiAgICAgIHN0cnVjdHVyZS5zdWJmbG93SWQgPSBub2RlLnN1YmZsb3dJZDtcbiAgICAgIHN0cnVjdHVyZS5zdWJmbG93TmFtZSA9IG5vZGUuc3ViZmxvd05hbWU7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuZGVjaWRlckZuKSB7XG4gICAgICBzdHJ1Y3R1cmUuaGFzRGVjaWRlciA9IHRydWU7XG4gICAgICBzdHJ1Y3R1cmUuYnJhbmNoSWRzID0gbm9kZS5jaGlsZHJlbj8ubWFwKChjKSA9PiBjLmlkKTtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5uZXh0Tm9kZVNlbGVjdG9yKSB7XG4gICAgICBzdHJ1Y3R1cmUuaGFzU2VsZWN0b3IgPSB0cnVlO1xuICAgICAgc3RydWN0dXJlLmJyYW5jaElkcyA9IG5vZGUuY2hpbGRyZW4/Lm1hcCgoYykgPT4gYy5pZCk7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgc3RydWN0dXJlLmNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbi5tYXAoKGMpID0+IHRoaXMuc3RhZ2VOb2RlVG9TdHJ1Y3R1cmUoYykpO1xuICAgIH1cblxuICAgIGlmIChub2RlLm5leHQpIHtcbiAgICAgIHN0cnVjdHVyZS5uZXh0ID0gdGhpcy5zdGFnZU5vZGVUb1N0cnVjdHVyZShub2RlLm5leHQpO1xuICAgIH1cblxuICAgIGlmIChub2RlLnN1YmZsb3dEZWY/LmJ1aWxkVGltZVN0cnVjdHVyZSkge1xuICAgICAgc3RydWN0dXJlLnN1YmZsb3dTdHJ1Y3R1cmUgPSBub2RlLnN1YmZsb3dEZWYuYnVpbGRUaW1lU3RydWN0dXJlIGFzIFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RydWN0dXJlO1xuICB9XG5cbiAgLyoqIFVwZGF0ZSBzdHJ1Y3R1cmUgd2hlbiBkeW5hbWljIGNoaWxkcmVuIGFyZSBkaXNjb3ZlcmVkIGF0IHJ1bnRpbWUuICovXG4gIHVwZGF0ZUR5bmFtaWNDaGlsZHJlbihcbiAgICBwYXJlbnROb2RlSWQ6IHN0cmluZyxcbiAgICBkeW5hbWljQ2hpbGRyZW46IFN0YWdlTm9kZVtdLFxuICAgIGhhc1NlbGVjdG9yPzogYm9vbGVhbixcbiAgICBoYXNEZWNpZGVyPzogYm9vbGVhbixcbiAgKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJ1bnRpbWVQaXBlbGluZVN0cnVjdHVyZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgcGFyZW50U3RydWN0dXJlID0gdGhpcy5zdHJ1Y3R1cmVOb2RlTWFwLmdldChwYXJlbnROb2RlSWQpO1xuICAgIGlmICghcGFyZW50U3RydWN0dXJlKSByZXR1cm47XG5cbiAgICBjb25zdCBjaGlsZFN0cnVjdHVyZXMgPSBkeW5hbWljQ2hpbGRyZW4ubWFwKChjaGlsZCkgPT4gdGhpcy5zdGFnZU5vZGVUb1N0cnVjdHVyZShjaGlsZCkpO1xuICAgIHBhcmVudFN0cnVjdHVyZS5jaGlsZHJlbiA9IGNoaWxkU3RydWN0dXJlcztcblxuICAgIGZvciAoY29uc3QgY2hpbGRTdHJ1Y3R1cmUgb2YgY2hpbGRTdHJ1Y3R1cmVzKSB7XG4gICAgICB0aGlzLmJ1aWxkTm9kZU1hcChjaGlsZFN0cnVjdHVyZSk7XG4gICAgfVxuXG4gICAgaWYgKGhhc1NlbGVjdG9yKSB7XG4gICAgICBwYXJlbnRTdHJ1Y3R1cmUuaGFzU2VsZWN0b3IgPSB0cnVlO1xuICAgICAgcGFyZW50U3RydWN0dXJlLmJyYW5jaElkcyA9IGNoaWxkU3RydWN0dXJlcy5tYXAoKGMpID0+IGMuaWQgPz8gYy5uYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaGFzRGVjaWRlcikge1xuICAgICAgcGFyZW50U3RydWN0dXJlLmhhc0RlY2lkZXIgPSB0cnVlO1xuICAgICAgcGFyZW50U3RydWN0dXJlLmJyYW5jaElkcyA9IGNoaWxkU3RydWN0dXJlcy5tYXAoKGMpID0+IGMuaWQgPz8gYy5uYW1lKTtcbiAgICB9XG4gIH1cblxuICAvKiogVXBkYXRlIHN0cnVjdHVyZSB3aGVuIGEgZHluYW1pYyBzdWJmbG93IGlzIHJlZ2lzdGVyZWQgYXQgcnVudGltZS4gKi9cbiAgdXBkYXRlRHluYW1pY1N1YmZsb3coXG4gICAgbW91bnROb2RlSWQ6IHN0cmluZyxcbiAgICBzdWJmbG93SWQ6IHN0cmluZyxcbiAgICBzdWJmbG93TmFtZT86IHN0cmluZyxcbiAgICBzdWJmbG93QnVpbGRUaW1lU3RydWN0dXJlPzogdW5rbm93bixcbiAgKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJ1bnRpbWVQaXBlbGluZVN0cnVjdHVyZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgbW91bnRTdHJ1Y3R1cmUgPSB0aGlzLnN0cnVjdHVyZU5vZGVNYXAuZ2V0KG1vdW50Tm9kZUlkKTtcbiAgICBpZiAoIW1vdW50U3RydWN0dXJlKSByZXR1cm47XG5cbiAgICBtb3VudFN0cnVjdHVyZS5pc1N1YmZsb3dSb290ID0gdHJ1ZTtcbiAgICBtb3VudFN0cnVjdHVyZS5zdWJmbG93SWQgPSBzdWJmbG93SWQ7XG5cbiAgICBpZiAoc3ViZmxvd05hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbW91bnRTdHJ1Y3R1cmUuc3ViZmxvd05hbWUgPSBzdWJmbG93TmFtZTtcbiAgICB9XG5cbiAgICBpZiAoc3ViZmxvd0J1aWxkVGltZVN0cnVjdHVyZSkge1xuICAgICAgbW91bnRTdHJ1Y3R1cmUuc3ViZmxvd1N0cnVjdHVyZSA9IHN1YmZsb3dCdWlsZFRpbWVTdHJ1Y3R1cmUgYXMgU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlO1xuICAgICAgdGhpcy5idWlsZE5vZGVNYXAobW91bnRTdHJ1Y3R1cmUuc3ViZmxvd1N0cnVjdHVyZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFVwZGF0ZSBzdHJ1Y3R1cmUgd2hlbiBhIGR5bmFtaWMgbmV4dCBjaGFpbiBpcyBkaXNjb3ZlcmVkIGF0IHJ1bnRpbWUuICovXG4gIHVwZGF0ZUR5bmFtaWNOZXh0KGN1cnJlbnROb2RlSWQ6IHN0cmluZywgZHluYW1pY05leHQ6IFN0YWdlTm9kZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ydW50aW1lUGlwZWxpbmVTdHJ1Y3R1cmUpIHJldHVybjtcblxuICAgIGNvbnN0IGN1cnJlbnRTdHJ1Y3R1cmUgPSB0aGlzLnN0cnVjdHVyZU5vZGVNYXAuZ2V0KGN1cnJlbnROb2RlSWQpO1xuICAgIGlmICghY3VycmVudFN0cnVjdHVyZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgbmV4dFN0cnVjdHVyZSA9IHRoaXMuc3RhZ2VOb2RlVG9TdHJ1Y3R1cmUoZHluYW1pY05leHQpO1xuICAgIGN1cnJlbnRTdHJ1Y3R1cmUubmV4dCA9IG5leHRTdHJ1Y3R1cmU7XG4gICAgdGhpcy5idWlsZE5vZGVNYXAobmV4dFN0cnVjdHVyZSk7XG4gIH1cblxuICAvKiogVXBkYXRlIHRoZSBpdGVyYXRpb24gY291bnQgZm9yIGEgbm9kZSAobG9vcCBzdXBwb3J0KS4gKi9cbiAgdXBkYXRlSXRlcmF0aW9uQ291bnQobm9kZUlkOiBzdHJpbmcsIGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucnVudGltZVBpcGVsaW5lU3RydWN0dXJlKSByZXR1cm47XG4gICAgY29uc3Qgbm9kZVN0cnVjdHVyZSA9IHRoaXMuc3RydWN0dXJlTm9kZU1hcC5nZXQobm9kZUlkKTtcbiAgICBpZiAoIW5vZGVTdHJ1Y3R1cmUpIHJldHVybjtcbiAgICBub2RlU3RydWN0dXJlLml0ZXJhdGlvbkNvdW50ID0gY291bnQ7XG4gIH1cbn1cbiJdfQ==
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVudGltZVN0cnVjdHVyZU1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9oYW5kbGVycy9SdW50aW1lU3RydWN0dXJlTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUtIOzs7R0FHRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBZTs7SUFDN0MsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVTtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ2pGLElBQUksSUFBSSxDQUFDLFdBQVc7UUFBRSxPQUFPLFdBQVcsQ0FBQztJQUV6QyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsTUFBTSxLQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvRixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCO1FBQUUsT0FBTyxNQUFNLENBQUM7SUFFcEYsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELE1BQU0sT0FBTyx1QkFBdUI7SUFBcEM7UUFFVSxxQkFBZ0IsR0FBNkMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQTBKakYsQ0FBQztJQXhKQyw2RUFBNkU7SUFDN0UsSUFBSSxDQUFDLGtCQUFnRDtRQUNuRCxJQUFJLENBQUMsa0JBQWtCO1lBQUUsT0FBTztRQUNoQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyx3QkFB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LE9BQU87UUFFOUIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdELGdCQUFnQixDQUFDLElBQUksR0FBRyxhQUFhLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsNERBQTREO0lBQzVELG9CQUFvQixDQUFDLE1BQWMsRUFBRSxLQUFhO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCO1lBQUUsT0FBTztRQUMzQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxhQUFhO1lBQUUsT0FBTztRQUMzQixhQUFhLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJ1bnRpbWVTdHJ1Y3R1cmVNYW5hZ2VyIOKAlCBNdXRhYmxlIHN0cnVjdHVyZSB0cmFja2luZyBmb3IgdmlzdWFsaXphdGlvbi5cbiAqXG4gKiBEdXJpbmcgZXhlY3V0aW9uLCBkeW5hbWljIGV2ZW50cyAobmV3IGNoaWxkcmVuLCBzdWJmbG93cywgbmV4dCBjaGFpbnMsXG4gKiBsb29wIGl0ZXJhdGlvbnMpIG1vZGlmeSB0aGUgcGlwZWxpbmUuIFRoaXMgbWFuYWdlciBrZWVwcyBhIHNlcmlhbGl6ZWRcbiAqIHN0cnVjdHVyZSBpbiBzeW5jIHNvIGNvbnN1bWVycyBnZXQgdGhlIGNvbXBsZXRlIHBpY3R1cmUuXG4gKlxuICogRGVlcC1jbG9uZXMgYnVpbGQtdGltZSBzdHJ1Y3R1cmUgYXQgaW5pdCwgdGhlbiBtYWludGFpbnMgTygxKSBsb29rdXAgbWFwLlxuICovXG5cbmltcG9ydCB0eXBlIHsgU3RhZ2VOb2RlIH0gZnJvbSAnLi4vZ3JhcGgvU3RhZ2VOb2RlLmpzJztcbmltcG9ydCB0eXBlIHsgU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG4vKipcbiAqIENvbXB1dGUgdGhlIG5vZGUgdHlwZSBmcm9tIG5vZGUgcHJvcGVydGllcy5cbiAqIFNoYXJlZCBieSBSdW50aW1lU3RydWN0dXJlTWFuYWdlciAoc2VyaWFsaXphdGlvbikgYW5kIEV4dHJhY3RvclJ1bm5lciAobWV0YWRhdGEpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZU5vZGVUeXBlKG5vZGU6IFN0YWdlTm9kZSk6ICdzdGFnZScgfCAnZGVjaWRlcicgfCAnZm9yaycgfCAnc3RyZWFtaW5nJyB7XG4gIGlmIChub2RlLm5leHROb2RlU2VsZWN0b3IgfHwgbm9kZS5kZWNpZGVyRm4gfHwgbm9kZS5zZWxlY3RvckZuKSByZXR1cm4gJ2RlY2lkZXInO1xuICBpZiAobm9kZS5pc1N0cmVhbWluZykgcmV0dXJuICdzdHJlYW1pbmcnO1xuXG4gIGNvbnN0IGhhc0R5bmFtaWNDaGlsZHJlbiA9IEJvb2xlYW4obm9kZS5jaGlsZHJlbj8ubGVuZ3RoICYmICFub2RlLm5leHROb2RlU2VsZWN0b3IgJiYgbm9kZS5mbik7XG4gIGlmIChub2RlLmNoaWxkcmVuICYmIG5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMCAmJiAhaGFzRHluYW1pY0NoaWxkcmVuKSByZXR1cm4gJ2ZvcmsnO1xuXG4gIHJldHVybiAnc3RhZ2UnO1xufVxuXG5leHBvcnQgY2xhc3MgUnVudGltZVN0cnVjdHVyZU1hbmFnZXIge1xuICBwcml2YXRlIHJ1bnRpbWVQaXBlbGluZVN0cnVjdHVyZT86IFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZTtcbiAgcHJpdmF0ZSBzdHJ1Y3R1cmVOb2RlTWFwOiBNYXA8c3RyaW5nLCBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmU+ID0gbmV3IE1hcCgpO1xuXG4gIC8qKiBJbml0aWFsaXplIGZyb20gYnVpbGQtdGltZSBzdHJ1Y3R1cmUuIERlZXAtY2xvbmVzIHZpYSBKU09OIHJvdW5kLXRyaXAuICovXG4gIGluaXQoYnVpbGRUaW1lU3RydWN0dXJlPzogU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlKTogdm9pZCB7XG4gICAgaWYgKCFidWlsZFRpbWVTdHJ1Y3R1cmUpIHJldHVybjtcbiAgICB0aGlzLnJ1bnRpbWVQaXBlbGluZVN0cnVjdHVyZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYnVpbGRUaW1lU3RydWN0dXJlKSk7XG4gICAgdGhpcy5idWlsZE5vZGVNYXAodGhpcy5ydW50aW1lUGlwZWxpbmVTdHJ1Y3R1cmUhKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBjdXJyZW50IHJ1bnRpbWUgc3RydWN0dXJlIChtdXRhdGVkIGR1cmluZyBleGVjdXRpb24pLiAqL1xuICBnZXRTdHJ1Y3R1cmUoKTogU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ydW50aW1lUGlwZWxpbmVTdHJ1Y3R1cmU7XG4gIH1cblxuICAvKiogUmVjdXJzaXZlbHkgcmVnaXN0ZXJzIGFsbCBub2RlcyBpbiB0aGUgTygxKSBsb29rdXAgbWFwLiAqL1xuICBwcml2YXRlIGJ1aWxkTm9kZU1hcChub2RlOiBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUpOiB2b2lkIHtcbiAgICBjb25zdCBrZXkgPSBub2RlLmlkID8/IG5vZGUubmFtZTtcbiAgICB0aGlzLnN0cnVjdHVyZU5vZGVNYXAuc2V0KGtleSwgbm9kZSk7XG5cbiAgICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgIHRoaXMuYnVpbGROb2RlTWFwKGNoaWxkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vZGUubmV4dCkge1xuICAgICAgdGhpcy5idWlsZE5vZGVNYXAobm9kZS5uZXh0KTtcbiAgICB9XG4gICAgaWYgKG5vZGUuc3ViZmxvd1N0cnVjdHVyZSkge1xuICAgICAgdGhpcy5idWlsZE5vZGVNYXAobm9kZS5zdWJmbG93U3RydWN0dXJlKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ29udmVydCBhIHJ1bnRpbWUgU3RhZ2VOb2RlIGludG8gYSBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUgbm9kZS4gKi9cbiAgc3RhZ2VOb2RlVG9TdHJ1Y3R1cmUobm9kZTogU3RhZ2VOb2RlKTogU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlIHtcbiAgICBjb25zdCBzdHJ1Y3R1cmU6IFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSA9IHtcbiAgICAgIG5hbWU6IG5vZGUubmFtZSxcbiAgICAgIGlkOiBub2RlLmlkLFxuICAgICAgdHlwZTogY29tcHV0ZU5vZGVUeXBlKG5vZGUpLFxuICAgICAgZGVzY3JpcHRpb246IG5vZGUuZGVzY3JpcHRpb24sXG4gICAgfTtcblxuICAgIGlmIChub2RlLmlzU3RyZWFtaW5nKSB7XG4gICAgICBzdHJ1Y3R1cmUuaXNTdHJlYW1pbmcgPSB0cnVlO1xuICAgICAgc3RydWN0dXJlLnN0cmVhbUlkID0gbm9kZS5zdHJlYW1JZDtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5pc1N1YmZsb3dSb290KSB7XG4gICAgICBzdHJ1Y3R1cmUuaXNTdWJmbG93Um9vdCA9IHRydWU7XG4gICAgICBzdHJ1Y3R1cmUuc3ViZmxvd0lkID0gbm9kZS5zdWJmbG93SWQ7XG4gICAgICBzdHJ1Y3R1cmUuc3ViZmxvd05hbWUgPSBub2RlLnN1YmZsb3dOYW1lO1xuICAgIH1cblxuICAgIGlmIChub2RlLmRlY2lkZXJGbikge1xuICAgICAgc3RydWN0dXJlLmhhc0RlY2lkZXIgPSB0cnVlO1xuICAgICAgc3RydWN0dXJlLmJyYW5jaElkcyA9IG5vZGUuY2hpbGRyZW4/Lm1hcCgoYykgPT4gYy5pZCk7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUubmV4dE5vZGVTZWxlY3Rvcikge1xuICAgICAgc3RydWN0dXJlLmhhc1NlbGVjdG9yID0gdHJ1ZTtcbiAgICAgIHN0cnVjdHVyZS5icmFuY2hJZHMgPSBub2RlLmNoaWxkcmVuPy5tYXAoKGMpID0+IGMuaWQpO1xuICAgIH1cblxuICAgIGlmIChub2RlLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgIHN0cnVjdHVyZS5jaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW4ubWFwKChjKSA9PiB0aGlzLnN0YWdlTm9kZVRvU3RydWN0dXJlKGMpKTtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5uZXh0KSB7XG4gICAgICBzdHJ1Y3R1cmUubmV4dCA9IHRoaXMuc3RhZ2VOb2RlVG9TdHJ1Y3R1cmUobm9kZS5uZXh0KTtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5zdWJmbG93RGVmPy5idWlsZFRpbWVTdHJ1Y3R1cmUpIHtcbiAgICAgIHN0cnVjdHVyZS5zdWJmbG93U3RydWN0dXJlID0gbm9kZS5zdWJmbG93RGVmLmJ1aWxkVGltZVN0cnVjdHVyZSBhcyBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0cnVjdHVyZTtcbiAgfVxuXG4gIC8qKiBVcGRhdGUgc3RydWN0dXJlIHdoZW4gZHluYW1pYyBjaGlsZHJlbiBhcmUgZGlzY292ZXJlZCBhdCBydW50aW1lLiAqL1xuICB1cGRhdGVEeW5hbWljQ2hpbGRyZW4oXG4gICAgcGFyZW50Tm9kZUlkOiBzdHJpbmcsXG4gICAgZHluYW1pY0NoaWxkcmVuOiBTdGFnZU5vZGVbXSxcbiAgICBoYXNTZWxlY3Rvcj86IGJvb2xlYW4sXG4gICAgaGFzRGVjaWRlcj86IGJvb2xlYW4sXG4gICk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ydW50aW1lUGlwZWxpbmVTdHJ1Y3R1cmUpIHJldHVybjtcblxuICAgIGNvbnN0IHBhcmVudFN0cnVjdHVyZSA9IHRoaXMuc3RydWN0dXJlTm9kZU1hcC5nZXQocGFyZW50Tm9kZUlkKTtcbiAgICBpZiAoIXBhcmVudFN0cnVjdHVyZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgY2hpbGRTdHJ1Y3R1cmVzID0gZHluYW1pY0NoaWxkcmVuLm1hcCgoY2hpbGQpID0+IHRoaXMuc3RhZ2VOb2RlVG9TdHJ1Y3R1cmUoY2hpbGQpKTtcbiAgICBwYXJlbnRTdHJ1Y3R1cmUuY2hpbGRyZW4gPSBjaGlsZFN0cnVjdHVyZXM7XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkU3RydWN0dXJlIG9mIGNoaWxkU3RydWN0dXJlcykge1xuICAgICAgdGhpcy5idWlsZE5vZGVNYXAoY2hpbGRTdHJ1Y3R1cmUpO1xuICAgIH1cblxuICAgIGlmIChoYXNTZWxlY3Rvcikge1xuICAgICAgcGFyZW50U3RydWN0dXJlLmhhc1NlbGVjdG9yID0gdHJ1ZTtcbiAgICAgIHBhcmVudFN0cnVjdHVyZS5icmFuY2hJZHMgPSBjaGlsZFN0cnVjdHVyZXMubWFwKChjKSA9PiBjLmlkID8/IGMubmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKGhhc0RlY2lkZXIpIHtcbiAgICAgIHBhcmVudFN0cnVjdHVyZS5oYXNEZWNpZGVyID0gdHJ1ZTtcbiAgICAgIHBhcmVudFN0cnVjdHVyZS5icmFuY2hJZHMgPSBjaGlsZFN0cnVjdHVyZXMubWFwKChjKSA9PiBjLmlkID8/IGMubmFtZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFVwZGF0ZSBzdHJ1Y3R1cmUgd2hlbiBhIGR5bmFtaWMgc3ViZmxvdyBpcyByZWdpc3RlcmVkIGF0IHJ1bnRpbWUuICovXG4gIHVwZGF0ZUR5bmFtaWNTdWJmbG93KFxuICAgIG1vdW50Tm9kZUlkOiBzdHJpbmcsXG4gICAgc3ViZmxvd0lkOiBzdHJpbmcsXG4gICAgc3ViZmxvd05hbWU/OiBzdHJpbmcsXG4gICAgc3ViZmxvd0J1aWxkVGltZVN0cnVjdHVyZT86IHVua25vd24sXG4gICk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ydW50aW1lUGlwZWxpbmVTdHJ1Y3R1cmUpIHJldHVybjtcblxuICAgIGNvbnN0IG1vdW50U3RydWN0dXJlID0gdGhpcy5zdHJ1Y3R1cmVOb2RlTWFwLmdldChtb3VudE5vZGVJZCk7XG4gICAgaWYgKCFtb3VudFN0cnVjdHVyZSkgcmV0dXJuO1xuXG4gICAgbW91bnRTdHJ1Y3R1cmUuaXNTdWJmbG93Um9vdCA9IHRydWU7XG4gICAgbW91bnRTdHJ1Y3R1cmUuc3ViZmxvd0lkID0gc3ViZmxvd0lkO1xuXG4gICAgaWYgKHN1YmZsb3dOYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG1vdW50U3RydWN0dXJlLnN1YmZsb3dOYW1lID0gc3ViZmxvd05hbWU7XG4gICAgfVxuXG4gICAgaWYgKHN1YmZsb3dCdWlsZFRpbWVTdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIERlZXAtY29weSB0byBwcmV2ZW50IGV4dGVybmFsIG11dGF0aW9uIG9mIHRoZSBzdG9yZWQgc3RydWN0dXJlXG4gICAgICBtb3VudFN0cnVjdHVyZS5zdWJmbG93U3RydWN0dXJlID0gSlNPTi5wYXJzZShcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoc3ViZmxvd0J1aWxkVGltZVN0cnVjdHVyZSksXG4gICAgICApIGFzIFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZTtcbiAgICAgIHRoaXMuYnVpbGROb2RlTWFwKG1vdW50U3RydWN0dXJlLnN1YmZsb3dTdHJ1Y3R1cmUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBVcGRhdGUgc3RydWN0dXJlIHdoZW4gYSBkeW5hbWljIG5leHQgY2hhaW4gaXMgZGlzY292ZXJlZCBhdCBydW50aW1lLiAqL1xuICB1cGRhdGVEeW5hbWljTmV4dChjdXJyZW50Tm9kZUlkOiBzdHJpbmcsIGR5bmFtaWNOZXh0OiBTdGFnZU5vZGUpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucnVudGltZVBpcGVsaW5lU3RydWN0dXJlKSByZXR1cm47XG5cbiAgICBjb25zdCBjdXJyZW50U3RydWN0dXJlID0gdGhpcy5zdHJ1Y3R1cmVOb2RlTWFwLmdldChjdXJyZW50Tm9kZUlkKTtcbiAgICBpZiAoIWN1cnJlbnRTdHJ1Y3R1cmUpIHJldHVybjtcblxuICAgIGNvbnN0IG5leHRTdHJ1Y3R1cmUgPSB0aGlzLnN0YWdlTm9kZVRvU3RydWN0dXJlKGR5bmFtaWNOZXh0KTtcbiAgICBjdXJyZW50U3RydWN0dXJlLm5leHQgPSBuZXh0U3RydWN0dXJlO1xuICAgIHRoaXMuYnVpbGROb2RlTWFwKG5leHRTdHJ1Y3R1cmUpO1xuICB9XG5cbiAgLyoqIFVwZGF0ZSB0aGUgaXRlcmF0aW9uIGNvdW50IGZvciBhIG5vZGUgKGxvb3Agc3VwcG9ydCkuICovXG4gIHVwZGF0ZUl0ZXJhdGlvbkNvdW50KG5vZGVJZDogc3RyaW5nLCBjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJ1bnRpbWVQaXBlbGluZVN0cnVjdHVyZSkgcmV0dXJuO1xuICAgIGNvbnN0IG5vZGVTdHJ1Y3R1cmUgPSB0aGlzLnN0cnVjdHVyZU5vZGVNYXAuZ2V0KG5vZGVJZCk7XG4gICAgaWYgKCFub2RlU3RydWN0dXJlKSByZXR1cm47XG4gICAgbm9kZVN0cnVjdHVyZS5pdGVyYXRpb25Db3VudCA9IGNvdW50O1xuICB9XG59XG4iXX0=
|
|
@@ -129,7 +129,8 @@ class RuntimeStructureManager {
|
|
|
129
129
|
mountStructure.subflowName = subflowName;
|
|
130
130
|
}
|
|
131
131
|
if (subflowBuildTimeStructure) {
|
|
132
|
-
|
|
132
|
+
// Deep-copy to prevent external mutation of the stored structure
|
|
133
|
+
mountStructure.subflowStructure = JSON.parse(JSON.stringify(subflowBuildTimeStructure));
|
|
133
134
|
this.buildNodeMap(mountStructure.subflowStructure);
|
|
134
135
|
}
|
|
135
136
|
}
|
|
@@ -155,4 +156,4 @@ class RuntimeStructureManager {
|
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
158
|
exports.RuntimeStructureManager = RuntimeStructureManager;
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVudGltZVN0cnVjdHVyZU1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9oYW5kbGVycy9SdW50aW1lU3RydWN0dXJlTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7O0dBUUc7OztBQUtIOzs7R0FHRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxJQUFlOztJQUM3QyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDakYsSUFBSSxJQUFJLENBQUMsV0FBVztRQUFFLE9BQU8sV0FBVyxDQUFDO0lBRXpDLE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsUUFBUSwwQ0FBRSxNQUFNLEtBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9GLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0I7UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUVwRixPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBUkQsMENBUUM7QUFFRCxNQUFhLHVCQUF1QjtJQUFwQztRQUVVLHFCQUFnQixHQUE2QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBdUpqRixDQUFDO0lBckpDLDZFQUE2RTtJQUM3RSxJQUFJLENBQUMsa0JBQWdEO1FBQ25ELElBQUksQ0FBQyxrQkFBa0I7WUFBRSxPQUFPO1FBQ2hDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHdC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QztRQUM3RCxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELDREQUE0RDtJQUM1RCxvQkFBb0IsQ0FBQyxNQUFjLEVBQUUsS0FBYTtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QjtZQUFFLE9BQU87UUFDM0MsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU87UUFDM0IsYUFBYSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBekpELDBEQXlKQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUnVudGltZVN0cnVjdHVyZU1hbmFnZXIg4oCUIE11dGFibGUgc3RydWN0dXJlIHRyYWNraW5nIGZvciB2aXN1YWxpemF0aW9uLlxuICpcbiAqIER1cmluZyBleGVjdXRpb24sIGR5bmFtaWMgZXZlbnRzIChuZXcgY2hpbGRyZW4sIHN1YmZsb3dzLCBuZXh0IGNoYWlucyxcbiAqIGxvb3AgaXRlcmF0aW9ucykgbW9kaWZ5IHRoZSBwaXBlbGluZS4gVGhpcyBtYW5hZ2VyIGtlZXBzIGEgc2VyaWFsaXplZFxuICogc3RydWN0dXJlIGluIHN5bmMgc28gY29uc3VtZXJzIGdldCB0aGUgY29tcGxldGUgcGljdHVyZS5cbiAqXG4gKiBEZWVwLWNsb25lcyBidWlsZC10aW1lIHN0cnVjdHVyZSBhdCBpbml0LCB0aGVuIG1haW50YWlucyBPKDEpIGxvb2t1cCBtYXAuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBTdGFnZU5vZGUgfSBmcm9tICcuLi9ncmFwaC9TdGFnZU5vZGUuanMnO1xuaW1wb3J0IHR5cGUgeyBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbi8qKlxuICogQ29tcHV0ZSB0aGUgbm9kZSB0eXBlIGZyb20gbm9kZSBwcm9wZXJ0aWVzLlxuICogU2hhcmVkIGJ5IFJ1bnRpbWVTdHJ1Y3R1cmVNYW5hZ2VyIChzZXJpYWxpemF0aW9uKSBhbmQgRXh0cmFjdG9yUnVubmVyIChtZXRhZGF0YSkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlTm9kZVR5cGUobm9kZTogU3RhZ2VOb2RlKTogJ3N0YWdlJyB8ICdkZWNpZGVyJyB8ICdmb3JrJyB8ICdzdHJlYW1pbmcnIHtcbiAgaWYgKG5vZGUubmV4dE5vZGVTZWxlY3RvciB8fCBub2RlLmRlY2lkZXJGbiB8fCBub2RlLnNlbGVjdG9yRm4pIHJldHVybiAnZGVjaWRlcic7XG4gIGlmIChub2RlLmlzU3RyZWFtaW5nKSByZXR1cm4gJ3N0cmVhbWluZyc7XG5cbiAgY29uc3QgaGFzRHluYW1pY0NoaWxkcmVuID0gQm9vbGVhbihub2RlLmNoaWxkcmVuPy5sZW5ndGggJiYgIW5vZGUubmV4dE5vZGVTZWxlY3RvciAmJiBub2RlLmZuKTtcbiAgaWYgKG5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwICYmICFoYXNEeW5hbWljQ2hpbGRyZW4pIHJldHVybiAnZm9yayc7XG5cbiAgcmV0dXJuICdzdGFnZSc7XG59XG5cbmV4cG9ydCBjbGFzcyBSdW50aW1lU3RydWN0dXJlTWFuYWdlciB7XG4gIHByaXZhdGUgcnVudGltZVBpcGVsaW5lU3RydWN0dXJlPzogU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlO1xuICBwcml2YXRlIHN0cnVjdHVyZU5vZGVNYXA6IE1hcDxzdHJpbmcsIFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZT4gPSBuZXcgTWFwKCk7XG5cbiAgLyoqIEluaXRpYWxpemUgZnJvbSBidWlsZC10aW1lIHN0cnVjdHVyZS4gRGVlcC1jbG9uZXMgdmlhIEpTT04gcm91bmQtdHJpcC4gKi9cbiAgaW5pdChidWlsZFRpbWVTdHJ1Y3R1cmU/OiBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUpOiB2b2lkIHtcbiAgICBpZiAoIWJ1aWxkVGltZVN0cnVjdHVyZSkgcmV0dXJuO1xuICAgIHRoaXMucnVudGltZVBpcGVsaW5lU3RydWN0dXJlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShidWlsZFRpbWVTdHJ1Y3R1cmUpKTtcbiAgICB0aGlzLmJ1aWxkTm9kZU1hcCh0aGlzLnJ1bnRpbWVQaXBlbGluZVN0cnVjdHVyZSEpO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIGN1cnJlbnQgcnVudGltZSBzdHJ1Y3R1cmUgKG11dGF0ZWQgZHVyaW5nIGV4ZWN1dGlvbikuICovXG4gIGdldFN0cnVjdHVyZSgpOiBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVQaXBlbGluZVN0cnVjdHVyZTtcbiAgfVxuXG4gIC8qKiBSZWN1cnNpdmVseSByZWdpc3RlcnMgYWxsIG5vZGVzIGluIHRoZSBPKDEpIGxvb2t1cCBtYXAuICovXG4gIHByaXZhdGUgYnVpbGROb2RlTWFwKG5vZGU6IFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSk6IHZvaWQge1xuICAgIGNvbnN0IGtleSA9IG5vZGUuaWQgPz8gbm9kZS5uYW1lO1xuICAgIHRoaXMuc3RydWN0dXJlTm9kZU1hcC5zZXQoa2V5LCBub2RlKTtcblxuICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgdGhpcy5idWlsZE5vZGVNYXAoY2hpbGQpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9kZS5uZXh0KSB7XG4gICAgICB0aGlzLmJ1aWxkTm9kZU1hcChub2RlLm5leHQpO1xuICAgIH1cbiAgICBpZiAobm9kZS5zdWJmbG93U3RydWN0dXJlKSB7XG4gICAgICB0aGlzLmJ1aWxkTm9kZU1hcChub2RlLnN1YmZsb3dTdHJ1Y3R1cmUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDb252ZXJ0IGEgcnVudGltZSBTdGFnZU5vZGUgaW50byBhIFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSBub2RlLiAqL1xuICBzdGFnZU5vZGVUb1N0cnVjdHVyZShub2RlOiBTdGFnZU5vZGUpOiBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUge1xuICAgIGNvbnN0IHN0cnVjdHVyZTogU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlID0ge1xuICAgICAgbmFtZTogbm9kZS5uYW1lLFxuICAgICAgaWQ6IG5vZGUuaWQsXG4gICAgICB0eXBlOiBjb21wdXRlTm9kZVR5cGUobm9kZSksXG4gICAgICBkZXNjcmlwdGlvbjogbm9kZS5kZXNjcmlwdGlvbixcbiAgICB9O1xuXG4gICAgaWYgKG5vZGUuaXNTdHJlYW1pbmcpIHtcbiAgICAgIHN0cnVjdHVyZS5pc1N0cmVhbWluZyA9IHRydWU7XG4gICAgICBzdHJ1Y3R1cmUuc3RyZWFtSWQgPSBub2RlLnN0cmVhbUlkO1xuICAgIH1cblxuICAgIGlmIChub2RlLmlzU3ViZmxvd1Jvb3QpIHtcbiAgICAgIHN0cnVjdHVyZS5pc1N1YmZsb3dSb290ID0gdHJ1ZTtcbiAgICAgIHN0cnVjdHVyZS5zdWJmbG93SWQgPSBub2RlLnN1YmZsb3dJZDtcbiAgICAgIHN0cnVjdHVyZS5zdWJmbG93TmFtZSA9IG5vZGUuc3ViZmxvd05hbWU7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuZGVjaWRlckZuKSB7XG4gICAgICBzdHJ1Y3R1cmUuaGFzRGVjaWRlciA9IHRydWU7XG4gICAgICBzdHJ1Y3R1cmUuYnJhbmNoSWRzID0gbm9kZS5jaGlsZHJlbj8ubWFwKChjKSA9PiBjLmlkKTtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5uZXh0Tm9kZVNlbGVjdG9yKSB7XG4gICAgICBzdHJ1Y3R1cmUuaGFzU2VsZWN0b3IgPSB0cnVlO1xuICAgICAgc3RydWN0dXJlLmJyYW5jaElkcyA9IG5vZGUuY2hpbGRyZW4/Lm1hcCgoYykgPT4gYy5pZCk7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgc3RydWN0dXJlLmNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbi5tYXAoKGMpID0+IHRoaXMuc3RhZ2VOb2RlVG9TdHJ1Y3R1cmUoYykpO1xuICAgIH1cblxuICAgIGlmIChub2RlLm5leHQpIHtcbiAgICAgIHN0cnVjdHVyZS5uZXh0ID0gdGhpcy5zdGFnZU5vZGVUb1N0cnVjdHVyZShub2RlLm5leHQpO1xuICAgIH1cblxuICAgIGlmIChub2RlLnN1YmZsb3dEZWY/LmJ1aWxkVGltZVN0cnVjdHVyZSkge1xuICAgICAgc3RydWN0dXJlLnN1YmZsb3dTdHJ1Y3R1cmUgPSBub2RlLnN1YmZsb3dEZWYuYnVpbGRUaW1lU3RydWN0dXJlIGFzIFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RydWN0dXJlO1xuICB9XG5cbiAgLyoqIFVwZGF0ZSBzdHJ1Y3R1cmUgd2hlbiBkeW5hbWljIGNoaWxkcmVuIGFyZSBkaXNjb3ZlcmVkIGF0IHJ1bnRpbWUuICovXG4gIHVwZGF0ZUR5bmFtaWNDaGlsZHJlbihcbiAgICBwYXJlbnROb2RlSWQ6IHN0cmluZyxcbiAgICBkeW5hbWljQ2hpbGRyZW46IFN0YWdlTm9kZVtdLFxuICAgIGhhc1NlbGVjdG9yPzogYm9vbGVhbixcbiAgICBoYXNEZWNpZGVyPzogYm9vbGVhbixcbiAgKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJ1bnRpbWVQaXBlbGluZVN0cnVjdHVyZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgcGFyZW50U3RydWN0dXJlID0gdGhpcy5zdHJ1Y3R1cmVOb2RlTWFwLmdldChwYXJlbnROb2RlSWQpO1xuICAgIGlmICghcGFyZW50U3RydWN0dXJlKSByZXR1cm47XG5cbiAgICBjb25zdCBjaGlsZFN0cnVjdHVyZXMgPSBkeW5hbWljQ2hpbGRyZW4ubWFwKChjaGlsZCkgPT4gdGhpcy5zdGFnZU5vZGVUb1N0cnVjdHVyZShjaGlsZCkpO1xuICAgIHBhcmVudFN0cnVjdHVyZS5jaGlsZHJlbiA9IGNoaWxkU3RydWN0dXJlcztcblxuICAgIGZvciAoY29uc3QgY2hpbGRTdHJ1Y3R1cmUgb2YgY2hpbGRTdHJ1Y3R1cmVzKSB7XG4gICAgICB0aGlzLmJ1aWxkTm9kZU1hcChjaGlsZFN0cnVjdHVyZSk7XG4gICAgfVxuXG4gICAgaWYgKGhhc1NlbGVjdG9yKSB7XG4gICAgICBwYXJlbnRTdHJ1Y3R1cmUuaGFzU2VsZWN0b3IgPSB0cnVlO1xuICAgICAgcGFyZW50U3RydWN0dXJlLmJyYW5jaElkcyA9IGNoaWxkU3RydWN0dXJlcy5tYXAoKGMpID0+IGMuaWQgPz8gYy5uYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaGFzRGVjaWRlcikge1xuICAgICAgcGFyZW50U3RydWN0dXJlLmhhc0RlY2lkZXIgPSB0cnVlO1xuICAgICAgcGFyZW50U3RydWN0dXJlLmJyYW5jaElkcyA9IGNoaWxkU3RydWN0dXJlcy5tYXAoKGMpID0+IGMuaWQgPz8gYy5uYW1lKTtcbiAgICB9XG4gIH1cblxuICAvKiogVXBkYXRlIHN0cnVjdHVyZSB3aGVuIGEgZHluYW1pYyBzdWJmbG93IGlzIHJlZ2lzdGVyZWQgYXQgcnVudGltZS4gKi9cbiAgdXBkYXRlRHluYW1pY1N1YmZsb3coXG4gICAgbW91bnROb2RlSWQ6IHN0cmluZyxcbiAgICBzdWJmbG93SWQ6IHN0cmluZyxcbiAgICBzdWJmbG93TmFtZT86IHN0cmluZyxcbiAgICBzdWJmbG93QnVpbGRUaW1lU3RydWN0dXJlPzogdW5rbm93bixcbiAgKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJ1bnRpbWVQaXBlbGluZVN0cnVjdHVyZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgbW91bnRTdHJ1Y3R1cmUgPSB0aGlzLnN0cnVjdHVyZU5vZGVNYXAuZ2V0KG1vdW50Tm9kZUlkKTtcbiAgICBpZiAoIW1vdW50U3RydWN0dXJlKSByZXR1cm47XG5cbiAgICBtb3VudFN0cnVjdHVyZS5pc1N1YmZsb3dSb290ID0gdHJ1ZTtcbiAgICBtb3VudFN0cnVjdHVyZS5zdWJmbG93SWQgPSBzdWJmbG93SWQ7XG5cbiAgICBpZiAoc3ViZmxvd05hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbW91bnRTdHJ1Y3R1cmUuc3ViZmxvd05hbWUgPSBzdWJmbG93TmFtZTtcbiAgICB9XG5cbiAgICBpZiAoc3ViZmxvd0J1aWxkVGltZVN0cnVjdHVyZSkge1xuICAgICAgbW91bnRTdHJ1Y3R1cmUuc3ViZmxvd1N0cnVjdHVyZSA9IHN1YmZsb3dCdWlsZFRpbWVTdHJ1Y3R1cmUgYXMgU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlO1xuICAgICAgdGhpcy5idWlsZE5vZGVNYXAobW91bnRTdHJ1Y3R1cmUuc3ViZmxvd1N0cnVjdHVyZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFVwZGF0ZSBzdHJ1Y3R1cmUgd2hlbiBhIGR5bmFtaWMgbmV4dCBjaGFpbiBpcyBkaXNjb3ZlcmVkIGF0IHJ1bnRpbWUuICovXG4gIHVwZGF0ZUR5bmFtaWNOZXh0KGN1cnJlbnROb2RlSWQ6IHN0cmluZywgZHluYW1pY05leHQ6IFN0YWdlTm9kZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ydW50aW1lUGlwZWxpbmVTdHJ1Y3R1cmUpIHJldHVybjtcblxuICAgIGNvbnN0IGN1cnJlbnRTdHJ1Y3R1cmUgPSB0aGlzLnN0cnVjdHVyZU5vZGVNYXAuZ2V0KGN1cnJlbnROb2RlSWQpO1xuICAgIGlmICghY3VycmVudFN0cnVjdHVyZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgbmV4dFN0cnVjdHVyZSA9IHRoaXMuc3RhZ2VOb2RlVG9TdHJ1Y3R1cmUoZHluYW1pY05leHQpO1xuICAgIGN1cnJlbnRTdHJ1Y3R1cmUubmV4dCA9IG5leHRTdHJ1Y3R1cmU7XG4gICAgdGhpcy5idWlsZE5vZGVNYXAobmV4dFN0cnVjdHVyZSk7XG4gIH1cblxuICAvKiogVXBkYXRlIHRoZSBpdGVyYXRpb24gY291bnQgZm9yIGEgbm9kZSAobG9vcCBzdXBwb3J0KS4gKi9cbiAgdXBkYXRlSXRlcmF0aW9uQ291bnQobm9kZUlkOiBzdHJpbmcsIGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucnVudGltZVBpcGVsaW5lU3RydWN0dXJlKSByZXR1cm47XG4gICAgY29uc3Qgbm9kZVN0cnVjdHVyZSA9IHRoaXMuc3RydWN0dXJlTm9kZU1hcC5nZXQobm9kZUlkKTtcbiAgICBpZiAoIW5vZGVTdHJ1Y3R1cmUpIHJldHVybjtcbiAgICBub2RlU3RydWN0dXJlLml0ZXJhdGlvbkNvdW50ID0gY291bnQ7XG4gIH1cbn1cbiJdfQ==
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVudGltZVN0cnVjdHVyZU1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9oYW5kbGVycy9SdW50aW1lU3RydWN0dXJlTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7O0dBUUc7OztBQUtIOzs7R0FHRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxJQUFlOztJQUM3QyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDakYsSUFBSSxJQUFJLENBQUMsV0FBVztRQUFFLE9BQU8sV0FBVyxDQUFDO0lBRXpDLE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsUUFBUSwwQ0FBRSxNQUFNLEtBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9GLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0I7UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUVwRixPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBUkQsMENBUUM7QUFFRCxNQUFhLHVCQUF1QjtJQUFwQztRQUVVLHFCQUFnQixHQUE2QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBMEpqRixDQUFDO0lBeEpDLDZFQUE2RTtJQUM3RSxJQUFJLENBQUMsa0JBQWdEO1FBQ25ELElBQUksQ0FBQyxrQkFBa0I7WUFBRSxPQUFPO1FBQ2hDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHdC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QUUsT0FBTztRQUU5QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCw0REFBNEQ7SUFDNUQsb0JBQW9CLENBQUMsTUFBYyxFQUFFLEtBQWE7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0I7WUFBRSxPQUFPO1FBQzNDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPO1FBQzNCLGFBQWEsQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQTVKRCwwREE0SkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJ1bnRpbWVTdHJ1Y3R1cmVNYW5hZ2VyIOKAlCBNdXRhYmxlIHN0cnVjdHVyZSB0cmFja2luZyBmb3IgdmlzdWFsaXphdGlvbi5cbiAqXG4gKiBEdXJpbmcgZXhlY3V0aW9uLCBkeW5hbWljIGV2ZW50cyAobmV3IGNoaWxkcmVuLCBzdWJmbG93cywgbmV4dCBjaGFpbnMsXG4gKiBsb29wIGl0ZXJhdGlvbnMpIG1vZGlmeSB0aGUgcGlwZWxpbmUuIFRoaXMgbWFuYWdlciBrZWVwcyBhIHNlcmlhbGl6ZWRcbiAqIHN0cnVjdHVyZSBpbiBzeW5jIHNvIGNvbnN1bWVycyBnZXQgdGhlIGNvbXBsZXRlIHBpY3R1cmUuXG4gKlxuICogRGVlcC1jbG9uZXMgYnVpbGQtdGltZSBzdHJ1Y3R1cmUgYXQgaW5pdCwgdGhlbiBtYWludGFpbnMgTygxKSBsb29rdXAgbWFwLlxuICovXG5cbmltcG9ydCB0eXBlIHsgU3RhZ2VOb2RlIH0gZnJvbSAnLi4vZ3JhcGgvU3RhZ2VOb2RlLmpzJztcbmltcG9ydCB0eXBlIHsgU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG4vKipcbiAqIENvbXB1dGUgdGhlIG5vZGUgdHlwZSBmcm9tIG5vZGUgcHJvcGVydGllcy5cbiAqIFNoYXJlZCBieSBSdW50aW1lU3RydWN0dXJlTWFuYWdlciAoc2VyaWFsaXphdGlvbikgYW5kIEV4dHJhY3RvclJ1bm5lciAobWV0YWRhdGEpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZU5vZGVUeXBlKG5vZGU6IFN0YWdlTm9kZSk6ICdzdGFnZScgfCAnZGVjaWRlcicgfCAnZm9yaycgfCAnc3RyZWFtaW5nJyB7XG4gIGlmIChub2RlLm5leHROb2RlU2VsZWN0b3IgfHwgbm9kZS5kZWNpZGVyRm4gfHwgbm9kZS5zZWxlY3RvckZuKSByZXR1cm4gJ2RlY2lkZXInO1xuICBpZiAobm9kZS5pc1N0cmVhbWluZykgcmV0dXJuICdzdHJlYW1pbmcnO1xuXG4gIGNvbnN0IGhhc0R5bmFtaWNDaGlsZHJlbiA9IEJvb2xlYW4obm9kZS5jaGlsZHJlbj8ubGVuZ3RoICYmICFub2RlLm5leHROb2RlU2VsZWN0b3IgJiYgbm9kZS5mbik7XG4gIGlmIChub2RlLmNoaWxkcmVuICYmIG5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMCAmJiAhaGFzRHluYW1pY0NoaWxkcmVuKSByZXR1cm4gJ2ZvcmsnO1xuXG4gIHJldHVybiAnc3RhZ2UnO1xufVxuXG5leHBvcnQgY2xhc3MgUnVudGltZVN0cnVjdHVyZU1hbmFnZXIge1xuICBwcml2YXRlIHJ1bnRpbWVQaXBlbGluZVN0cnVjdHVyZT86IFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZTtcbiAgcHJpdmF0ZSBzdHJ1Y3R1cmVOb2RlTWFwOiBNYXA8c3RyaW5nLCBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmU+ID0gbmV3IE1hcCgpO1xuXG4gIC8qKiBJbml0aWFsaXplIGZyb20gYnVpbGQtdGltZSBzdHJ1Y3R1cmUuIERlZXAtY2xvbmVzIHZpYSBKU09OIHJvdW5kLXRyaXAuICovXG4gIGluaXQoYnVpbGRUaW1lU3RydWN0dXJlPzogU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlKTogdm9pZCB7XG4gICAgaWYgKCFidWlsZFRpbWVTdHJ1Y3R1cmUpIHJldHVybjtcbiAgICB0aGlzLnJ1bnRpbWVQaXBlbGluZVN0cnVjdHVyZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYnVpbGRUaW1lU3RydWN0dXJlKSk7XG4gICAgdGhpcy5idWlsZE5vZGVNYXAodGhpcy5ydW50aW1lUGlwZWxpbmVTdHJ1Y3R1cmUhKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBjdXJyZW50IHJ1bnRpbWUgc3RydWN0dXJlIChtdXRhdGVkIGR1cmluZyBleGVjdXRpb24pLiAqL1xuICBnZXRTdHJ1Y3R1cmUoKTogU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ydW50aW1lUGlwZWxpbmVTdHJ1Y3R1cmU7XG4gIH1cblxuICAvKiogUmVjdXJzaXZlbHkgcmVnaXN0ZXJzIGFsbCBub2RlcyBpbiB0aGUgTygxKSBsb29rdXAgbWFwLiAqL1xuICBwcml2YXRlIGJ1aWxkTm9kZU1hcChub2RlOiBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUpOiB2b2lkIHtcbiAgICBjb25zdCBrZXkgPSBub2RlLmlkID8/IG5vZGUubmFtZTtcbiAgICB0aGlzLnN0cnVjdHVyZU5vZGVNYXAuc2V0KGtleSwgbm9kZSk7XG5cbiAgICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgIHRoaXMuYnVpbGROb2RlTWFwKGNoaWxkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vZGUubmV4dCkge1xuICAgICAgdGhpcy5idWlsZE5vZGVNYXAobm9kZS5uZXh0KTtcbiAgICB9XG4gICAgaWYgKG5vZGUuc3ViZmxvd1N0cnVjdHVyZSkge1xuICAgICAgdGhpcy5idWlsZE5vZGVNYXAobm9kZS5zdWJmbG93U3RydWN0dXJlKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ29udmVydCBhIHJ1bnRpbWUgU3RhZ2VOb2RlIGludG8gYSBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUgbm9kZS4gKi9cbiAgc3RhZ2VOb2RlVG9TdHJ1Y3R1cmUobm9kZTogU3RhZ2VOb2RlKTogU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlIHtcbiAgICBjb25zdCBzdHJ1Y3R1cmU6IFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSA9IHtcbiAgICAgIG5hbWU6IG5vZGUubmFtZSxcbiAgICAgIGlkOiBub2RlLmlkLFxuICAgICAgdHlwZTogY29tcHV0ZU5vZGVUeXBlKG5vZGUpLFxuICAgICAgZGVzY3JpcHRpb246IG5vZGUuZGVzY3JpcHRpb24sXG4gICAgfTtcblxuICAgIGlmIChub2RlLmlzU3RyZWFtaW5nKSB7XG4gICAgICBzdHJ1Y3R1cmUuaXNTdHJlYW1pbmcgPSB0cnVlO1xuICAgICAgc3RydWN0dXJlLnN0cmVhbUlkID0gbm9kZS5zdHJlYW1JZDtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5pc1N1YmZsb3dSb290KSB7XG4gICAgICBzdHJ1Y3R1cmUuaXNTdWJmbG93Um9vdCA9IHRydWU7XG4gICAgICBzdHJ1Y3R1cmUuc3ViZmxvd0lkID0gbm9kZS5zdWJmbG93SWQ7XG4gICAgICBzdHJ1Y3R1cmUuc3ViZmxvd05hbWUgPSBub2RlLnN1YmZsb3dOYW1lO1xuICAgIH1cblxuICAgIGlmIChub2RlLmRlY2lkZXJGbikge1xuICAgICAgc3RydWN0dXJlLmhhc0RlY2lkZXIgPSB0cnVlO1xuICAgICAgc3RydWN0dXJlLmJyYW5jaElkcyA9IG5vZGUuY2hpbGRyZW4/Lm1hcCgoYykgPT4gYy5pZCk7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUubmV4dE5vZGVTZWxlY3Rvcikge1xuICAgICAgc3RydWN0dXJlLmhhc1NlbGVjdG9yID0gdHJ1ZTtcbiAgICAgIHN0cnVjdHVyZS5icmFuY2hJZHMgPSBub2RlLmNoaWxkcmVuPy5tYXAoKGMpID0+IGMuaWQpO1xuICAgIH1cblxuICAgIGlmIChub2RlLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgIHN0cnVjdHVyZS5jaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW4ubWFwKChjKSA9PiB0aGlzLnN0YWdlTm9kZVRvU3RydWN0dXJlKGMpKTtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5uZXh0KSB7XG4gICAgICBzdHJ1Y3R1cmUubmV4dCA9IHRoaXMuc3RhZ2VOb2RlVG9TdHJ1Y3R1cmUobm9kZS5uZXh0KTtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5zdWJmbG93RGVmPy5idWlsZFRpbWVTdHJ1Y3R1cmUpIHtcbiAgICAgIHN0cnVjdHVyZS5zdWJmbG93U3RydWN0dXJlID0gbm9kZS5zdWJmbG93RGVmLmJ1aWxkVGltZVN0cnVjdHVyZSBhcyBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0cnVjdHVyZTtcbiAgfVxuXG4gIC8qKiBVcGRhdGUgc3RydWN0dXJlIHdoZW4gZHluYW1pYyBjaGlsZHJlbiBhcmUgZGlzY292ZXJlZCBhdCBydW50aW1lLiAqL1xuICB1cGRhdGVEeW5hbWljQ2hpbGRyZW4oXG4gICAgcGFyZW50Tm9kZUlkOiBzdHJpbmcsXG4gICAgZHluYW1pY0NoaWxkcmVuOiBTdGFnZU5vZGVbXSxcbiAgICBoYXNTZWxlY3Rvcj86IGJvb2xlYW4sXG4gICAgaGFzRGVjaWRlcj86IGJvb2xlYW4sXG4gICk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ydW50aW1lUGlwZWxpbmVTdHJ1Y3R1cmUpIHJldHVybjtcblxuICAgIGNvbnN0IHBhcmVudFN0cnVjdHVyZSA9IHRoaXMuc3RydWN0dXJlTm9kZU1hcC5nZXQocGFyZW50Tm9kZUlkKTtcbiAgICBpZiAoIXBhcmVudFN0cnVjdHVyZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgY2hpbGRTdHJ1Y3R1cmVzID0gZHluYW1pY0NoaWxkcmVuLm1hcCgoY2hpbGQpID0+IHRoaXMuc3RhZ2VOb2RlVG9TdHJ1Y3R1cmUoY2hpbGQpKTtcbiAgICBwYXJlbnRTdHJ1Y3R1cmUuY2hpbGRyZW4gPSBjaGlsZFN0cnVjdHVyZXM7XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkU3RydWN0dXJlIG9mIGNoaWxkU3RydWN0dXJlcykge1xuICAgICAgdGhpcy5idWlsZE5vZGVNYXAoY2hpbGRTdHJ1Y3R1cmUpO1xuICAgIH1cblxuICAgIGlmIChoYXNTZWxlY3Rvcikge1xuICAgICAgcGFyZW50U3RydWN0dXJlLmhhc1NlbGVjdG9yID0gdHJ1ZTtcbiAgICAgIHBhcmVudFN0cnVjdHVyZS5icmFuY2hJZHMgPSBjaGlsZFN0cnVjdHVyZXMubWFwKChjKSA9PiBjLmlkID8/IGMubmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKGhhc0RlY2lkZXIpIHtcbiAgICAgIHBhcmVudFN0cnVjdHVyZS5oYXNEZWNpZGVyID0gdHJ1ZTtcbiAgICAgIHBhcmVudFN0cnVjdHVyZS5icmFuY2hJZHMgPSBjaGlsZFN0cnVjdHVyZXMubWFwKChjKSA9PiBjLmlkID8/IGMubmFtZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFVwZGF0ZSBzdHJ1Y3R1cmUgd2hlbiBhIGR5bmFtaWMgc3ViZmxvdyBpcyByZWdpc3RlcmVkIGF0IHJ1bnRpbWUuICovXG4gIHVwZGF0ZUR5bmFtaWNTdWJmbG93KFxuICAgIG1vdW50Tm9kZUlkOiBzdHJpbmcsXG4gICAgc3ViZmxvd0lkOiBzdHJpbmcsXG4gICAgc3ViZmxvd05hbWU/OiBzdHJpbmcsXG4gICAgc3ViZmxvd0J1aWxkVGltZVN0cnVjdHVyZT86IHVua25vd24sXG4gICk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ydW50aW1lUGlwZWxpbmVTdHJ1Y3R1cmUpIHJldHVybjtcblxuICAgIGNvbnN0IG1vdW50U3RydWN0dXJlID0gdGhpcy5zdHJ1Y3R1cmVOb2RlTWFwLmdldChtb3VudE5vZGVJZCk7XG4gICAgaWYgKCFtb3VudFN0cnVjdHVyZSkgcmV0dXJuO1xuXG4gICAgbW91bnRTdHJ1Y3R1cmUuaXNTdWJmbG93Um9vdCA9IHRydWU7XG4gICAgbW91bnRTdHJ1Y3R1cmUuc3ViZmxvd0lkID0gc3ViZmxvd0lkO1xuXG4gICAgaWYgKHN1YmZsb3dOYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG1vdW50U3RydWN0dXJlLnN1YmZsb3dOYW1lID0gc3ViZmxvd05hbWU7XG4gICAgfVxuXG4gICAgaWYgKHN1YmZsb3dCdWlsZFRpbWVTdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIERlZXAtY29weSB0byBwcmV2ZW50IGV4dGVybmFsIG11dGF0aW9uIG9mIHRoZSBzdG9yZWQgc3RydWN0dXJlXG4gICAgICBtb3VudFN0cnVjdHVyZS5zdWJmbG93U3RydWN0dXJlID0gSlNPTi5wYXJzZShcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoc3ViZmxvd0J1aWxkVGltZVN0cnVjdHVyZSksXG4gICAgICApIGFzIFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZTtcbiAgICAgIHRoaXMuYnVpbGROb2RlTWFwKG1vdW50U3RydWN0dXJlLnN1YmZsb3dTdHJ1Y3R1cmUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBVcGRhdGUgc3RydWN0dXJlIHdoZW4gYSBkeW5hbWljIG5leHQgY2hhaW4gaXMgZGlzY292ZXJlZCBhdCBydW50aW1lLiAqL1xuICB1cGRhdGVEeW5hbWljTmV4dChjdXJyZW50Tm9kZUlkOiBzdHJpbmcsIGR5bmFtaWNOZXh0OiBTdGFnZU5vZGUpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucnVudGltZVBpcGVsaW5lU3RydWN0dXJlKSByZXR1cm47XG5cbiAgICBjb25zdCBjdXJyZW50U3RydWN0dXJlID0gdGhpcy5zdHJ1Y3R1cmVOb2RlTWFwLmdldChjdXJyZW50Tm9kZUlkKTtcbiAgICBpZiAoIWN1cnJlbnRTdHJ1Y3R1cmUpIHJldHVybjtcblxuICAgIGNvbnN0IG5leHRTdHJ1Y3R1cmUgPSB0aGlzLnN0YWdlTm9kZVRvU3RydWN0dXJlKGR5bmFtaWNOZXh0KTtcbiAgICBjdXJyZW50U3RydWN0dXJlLm5leHQgPSBuZXh0U3RydWN0dXJlO1xuICAgIHRoaXMuYnVpbGROb2RlTWFwKG5leHRTdHJ1Y3R1cmUpO1xuICB9XG5cbiAgLyoqIFVwZGF0ZSB0aGUgaXRlcmF0aW9uIGNvdW50IGZvciBhIG5vZGUgKGxvb3Agc3VwcG9ydCkuICovXG4gIHVwZGF0ZUl0ZXJhdGlvbkNvdW50KG5vZGVJZDogc3RyaW5nLCBjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJ1bnRpbWVQaXBlbGluZVN0cnVjdHVyZSkgcmV0dXJuO1xuICAgIGNvbnN0IG5vZGVTdHJ1Y3R1cmUgPSB0aGlzLnN0cnVjdHVyZU5vZGVNYXAuZ2V0KG5vZGVJZCk7XG4gICAgaWYgKCFub2RlU3RydWN0dXJlKSByZXR1cm47XG4gICAgbm9kZVN0cnVjdHVyZS5pdGVyYXRpb25Db3VudCA9IGNvdW50O1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* FootPrint — Advanced / Internal API
|
|
3
|
-
*
|
|
4
|
-
* These exports are for advanced use cases, testing, and building
|
|
5
|
-
* custom execution engines. Most users should use the main 'footprint' entry point.
|
|
6
|
-
*
|
|
7
|
-
* Import via: import { ... } from 'footprint/advanced'
|
|
8
|
-
*/
|
|
9
|
-
export type { CommitBundle, FlowControlType, FlowMessage, MemoryPatch, ScopeFactory, StageSnapshot, TraceEntry, } from './lib/memory';
|
|
10
|
-
export { SharedMemory } from './lib/memory';
|
|
11
|
-
export { StageContext } from './lib/memory';
|
|
12
|
-
export { EventLog } from './lib/memory';
|
|
13
|
-
export { TransactionBuffer } from './lib/memory';
|
|
14
|
-
export { DiagnosticCollector } from './lib/memory';
|
|
15
|
-
export { applySmartMerge, deepSmartMerge, getNestedValue, getRunAndGlobalPaths, normalisePath, redactPatch, setNestedValue, updateNestedValue, updateValue, } from './lib/memory';
|
|
16
|
-
export type { BuildTimeExtractor, BuildTimeNodeMetadata, ExecOptions, FlowChartSpec, ILogger, PipelineStageFunction, ScopeProtectionMode, SerializedPipelineStructure, SimplifiedParallelSpec, StageFn, StageNode, StreamCallback, StreamLifecycleHandler, StreamTokenHandler, SubflowMountOptions, SubflowRef, } from './lib/builder';
|
|
17
|
-
export { DeciderList, SelectorFnList, specToStageNode } from './lib/builder';
|
|
18
|
-
export type { ProviderResolver, ResolveOptions, ScopeProvider, StageContextLike, StrictMode } from './lib/scope';
|
|
19
|
-
export { createErrorMessage, createProtectedScope } from './lib/scope';
|
|
20
|
-
export { attachBaseStateCompat, attachScopeMethods, isSubclassOfScopeFacade, looksLikeClassCtor, looksLikeFactory, makeClassProvider, makeFactoryProvider, registerScopeResolver, resolveScopeProvider, toScopeFactory, } from './lib/scope';
|
|
21
|
-
export type { AggregatedMetrics, DebugEntry, DebugRecorderOptions, DebugVerbosity, DefineScopeOptions, NarrativeDetail, NarrativeOperation, NarrativeRecorderOptions, RecorderContext, StageEvent, StageMetrics, StageNarrativeData, } from './lib/scope';
|
|
22
|
-
export { createScopeProxyFromZod, defineScopeSchema, isScopeSchema, ZodScopeResolver } from './lib/scope';
|
|
23
|
-
export type { NarrativeEntry, RuntimeSnapshot } from './lib/runner';
|
|
24
|
-
export { ExecutionRuntime } from './lib/runner';
|
|
25
|
-
export type { TraverserOptions } from './lib/engine';
|
|
26
|
-
export type { Decider } from './lib/engine';
|
|
27
|
-
export { FlowchartTraverser } from './lib/engine';
|
|
28
|
-
export { isStageNodeReturn } from './lib/engine';
|
|
29
|
-
export type { IControlFlowNarrative } from './lib/engine';
|
|
30
|
-
export type { CombinedNarrativeEntry, CombinedNarrativeOptions } from './lib/engine';
|
|
31
|
-
export type { BranchResult, BranchResults, SerializedPipelineStructure as EngineSerializedPipelineStructure, StageSnapshot as EngineStageSnapshot, ExtractorError, HandlerDeps, IExecutionRuntime, NodeResultType, RuntimeStructureMetadata, SerializedPipelineNode, StageFunction, SubflowResult, TraversalExtractor, TraversalResult, } from './lib/engine';
|
|
32
|
-
export { ControlFlowNarrativeGenerator } from './lib/engine';
|
|
33
|
-
export { NullControlFlowNarrativeGenerator } from './lib/engine';
|
|
34
|
-
export type { CallExtractorFn, ExecuteNodeFn, GetStagePathFn, RunStageFn } from './lib/engine';
|
|
35
|
-
export { applyOutputMapping, ChildrenExecutor, computeNodeType, ContinuationResolver, createSubflowHandlerDeps, DeciderHandler, DEFAULT_MAX_ITERATIONS, ExtractorRunner, extractParentScopeValues, getInitialScopeValues, NodeResolver, RuntimeStructureManager, seedSubflowGlobalStore, SelectorHandler, StageRunner, SubflowExecutor, } from './lib/engine';
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* FootPrint — Public API
|
|
3
|
-
*
|
|
4
|
-
* Connected causal trace library for LLM pipelines.
|
|
5
|
-
* Builds flowcharts, executes them via DFS traversal, and captures
|
|
6
|
-
* every stage's context (state, decisions, errors) in an auditable trace.
|
|
7
|
-
*
|
|
8
|
-
* For advanced/internal APIs (memory primitives, engine handlers, providers),
|
|
9
|
-
* import from 'footprint/advanced'.
|
|
10
|
-
*/
|
|
11
|
-
export type { FlowChart, PipelineStageFunction as StageHandler, StreamHandlers } from './lib/builder';
|
|
12
|
-
export { flowChart, FlowChartBuilder } from './lib/builder';
|
|
13
|
-
export { FlowChartExecutor } from './lib/runner';
|
|
14
|
-
export type { ComposableRunner } from './lib/runner';
|
|
15
|
-
export type { SubtreeSnapshot } from './lib/runner';
|
|
16
|
-
export { getSubtreeSnapshot, listSubflowPaths } from './lib/runner';
|
|
17
|
-
export { ScopeFacade } from './lib/scope';
|
|
18
|
-
export { MetricRecorder } from './lib/scope';
|
|
19
|
-
export { DebugRecorder } from './lib/scope';
|
|
20
|
-
export { NarrativeRecorder } from './lib/scope';
|
|
21
|
-
export type { CommitEvent, ErrorEvent, ReadEvent, Recorder, RedactionPolicy, RedactionReport, WriteEvent, } from './lib/scope';
|
|
22
|
-
export { defineScopeFromZod } from './lib/scope';
|
|
23
|
-
export type { CombinedNarrativeEntry } from './lib/engine';
|
|
24
|
-
export { CombinedNarrativeBuilder } from './lib/engine';
|
|
25
|
-
export type { FlowErrorEvent, FlowLoopEvent, FlowRecorder, FlowSubflowEvent, FlowSubflowRegisteredEvent, } from './lib/engine';
|
|
26
|
-
export { NarrativeFlowRecorder } from './lib/engine';
|
|
27
|
-
export type { StructuredErrorInfo } from './lib/engine';
|
|
28
|
-
export { extractErrorInfo, formatErrorInfo } from './lib/engine';
|
|
29
|
-
export type { ManifestEntry } from './lib/engine';
|
|
30
|
-
export { ManifestFlowRecorder } from './lib/engine';
|
|
31
|
-
export { AdaptiveNarrativeFlowRecorder } from './lib/engine';
|
|
32
|
-
export { MilestoneNarrativeFlowRecorder } from './lib/engine';
|
|
33
|
-
export { ProgressiveNarrativeFlowRecorder } from './lib/engine';
|
|
34
|
-
export { RLENarrativeFlowRecorder } from './lib/engine';
|
|
35
|
-
export { SeparateNarrativeFlowRecorder } from './lib/engine';
|
|
36
|
-
export { SilentNarrativeFlowRecorder } from './lib/engine';
|
|
37
|
-
export { WindowedNarrativeFlowRecorder } from './lib/engine';
|
|
38
|
-
export type { ExecutionEnv, RunOptions } from './lib/engine';
|
|
39
|
-
export type { ScopeFactory } from './lib/memory';
|
|
40
|
-
export type { FlowChartContract, FlowChartContractOptions, JsonSchema, OpenAPIOptions, OpenAPISpec, } from './lib/contract';
|
|
41
|
-
export { defineContract } from './lib/contract';
|
|
42
|
-
export { normalizeSchema, zodToJsonSchema } from './lib/contract';
|
|
43
|
-
export { generateOpenAPI } from './lib/contract';
|
|
44
|
-
export type { SchemaKind, ValidationIssue, ValidationResult } from './lib/schema';
|
|
45
|
-
export { detectSchema, isValidatable, isZod } from './lib/schema';
|
|
46
|
-
export { InputValidationError, validateAgainstSchema, validateOrThrow } from './lib/schema';
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* FlowChartBuilder — Fluent API for constructing flowchart execution graphs.
|
|
3
|
-
*
|
|
4
|
-
* Builds StageNode trees and SerializedPipelineStructure (JSON) in tandem.
|
|
5
|
-
* Zero dependencies on old code — only imports from local types.
|
|
6
|
-
*
|
|
7
|
-
* The builder creates two parallel structures:
|
|
8
|
-
* 1. StageNode tree — runtime graph with embedded functions
|
|
9
|
-
* 2. SerializedPipelineStructure — JSON-safe structure for visualization
|
|
10
|
-
*
|
|
11
|
-
* The execute() convenience method is intentionally omitted —
|
|
12
|
-
* it belongs in the runner layer (Phase 5).
|
|
13
|
-
*/
|
|
14
|
-
import type { BuildTimeExtractor, FlowChart, FlowChartSpec, ILogger, PipelineStageFunction, SerializedPipelineStructure, SimplifiedParallelSpec, StageNode, StreamLifecycleHandler, StreamTokenHandler, SubflowMountOptions, TraversalExtractor } from './types';
|
|
15
|
-
/**
|
|
16
|
-
* Fluent helper returned by addDeciderFunction to add branches.
|
|
17
|
-
* `end()` sets `deciderFn = true` — the fn IS the decider.
|
|
18
|
-
*/
|
|
19
|
-
export declare class DeciderList<TOut = any, TScope = any> {
|
|
20
|
-
private readonly b;
|
|
21
|
-
private readonly curNode;
|
|
22
|
-
private readonly curSpec;
|
|
23
|
-
private readonly branchIds;
|
|
24
|
-
private defaultId?;
|
|
25
|
-
private readonly parentDescriptionParts;
|
|
26
|
-
private readonly parentStageDescriptions;
|
|
27
|
-
private readonly reservedStepNumber;
|
|
28
|
-
private readonly deciderDescription?;
|
|
29
|
-
private readonly branchDescInfo;
|
|
30
|
-
constructor(builder: FlowChartBuilder<TOut, TScope>, curNode: StageNode<TOut, TScope>, curSpec: SerializedPipelineStructure, parentDescriptionParts?: string[], parentStageDescriptions?: Map<string, string>, reservedStepNumber?: number, deciderDescription?: string);
|
|
31
|
-
addFunctionBranch(id: string, name: string, fn?: PipelineStageFunction<TOut, TScope>, description?: string): DeciderList<TOut, TScope>;
|
|
32
|
-
addSubFlowChartBranch(id: string, subflow: FlowChart<TOut, TScope>, mountName?: string, options?: SubflowMountOptions): DeciderList<TOut, TScope>;
|
|
33
|
-
addBranchList(branches: Array<{
|
|
34
|
-
id: string;
|
|
35
|
-
name: string;
|
|
36
|
-
fn?: PipelineStageFunction<TOut, TScope>;
|
|
37
|
-
}>): DeciderList<TOut, TScope>;
|
|
38
|
-
setDefault(id: string): DeciderList<TOut, TScope>;
|
|
39
|
-
end(): FlowChartBuilder<TOut, TScope>;
|
|
40
|
-
}
|
|
41
|
-
export declare class SelectorFnList<TOut = any, TScope = any> {
|
|
42
|
-
private readonly b;
|
|
43
|
-
private readonly curNode;
|
|
44
|
-
private readonly curSpec;
|
|
45
|
-
private readonly branchIds;
|
|
46
|
-
private readonly parentDescriptionParts;
|
|
47
|
-
private readonly parentStageDescriptions;
|
|
48
|
-
private readonly reservedStepNumber;
|
|
49
|
-
private readonly selectorDescription?;
|
|
50
|
-
private readonly branchDescInfo;
|
|
51
|
-
constructor(builder: FlowChartBuilder<TOut, TScope>, curNode: StageNode<TOut, TScope>, curSpec: SerializedPipelineStructure, parentDescriptionParts?: string[], parentStageDescriptions?: Map<string, string>, reservedStepNumber?: number, selectorDescription?: string);
|
|
52
|
-
addFunctionBranch(id: string, name: string, fn?: PipelineStageFunction<TOut, TScope>, description?: string): SelectorFnList<TOut, TScope>;
|
|
53
|
-
addSubFlowChartBranch(id: string, subflow: FlowChart<TOut, TScope>, mountName?: string, options?: SubflowMountOptions): SelectorFnList<TOut, TScope>;
|
|
54
|
-
addBranchList(branches: Array<{
|
|
55
|
-
id: string;
|
|
56
|
-
name: string;
|
|
57
|
-
fn?: PipelineStageFunction<TOut, TScope>;
|
|
58
|
-
}>): SelectorFnList<TOut, TScope>;
|
|
59
|
-
end(): FlowChartBuilder<TOut, TScope>;
|
|
60
|
-
}
|
|
61
|
-
export declare class FlowChartBuilder<TOut = any, TScope = any> {
|
|
62
|
-
private _root?;
|
|
63
|
-
private _rootSpec?;
|
|
64
|
-
private _cursor?;
|
|
65
|
-
private _cursorSpec?;
|
|
66
|
-
private _stageMap;
|
|
67
|
-
_subflowDefs: Map<string, {
|
|
68
|
-
root: StageNode<TOut, TScope>;
|
|
69
|
-
}>;
|
|
70
|
-
private _streamHandlers;
|
|
71
|
-
private _extractor?;
|
|
72
|
-
private _buildTimeExtractor?;
|
|
73
|
-
private _buildTimeExtractorErrors;
|
|
74
|
-
private _enableNarrative;
|
|
75
|
-
private _logger?;
|
|
76
|
-
private _descriptionParts;
|
|
77
|
-
private _stepCounter;
|
|
78
|
-
private _stageDescriptions;
|
|
79
|
-
private _stageStepMap;
|
|
80
|
-
private _knownStageIds;
|
|
81
|
-
private _inputSchema?;
|
|
82
|
-
private _outputSchema?;
|
|
83
|
-
private _outputMapper?;
|
|
84
|
-
constructor(buildTimeExtractor?: BuildTimeExtractor<any>);
|
|
85
|
-
private _appendDescriptionLine;
|
|
86
|
-
private _appendSubflowDescription;
|
|
87
|
-
setEnableNarrative(): this;
|
|
88
|
-
setLogger(logger: ILogger): this;
|
|
89
|
-
/** Declare the input schema (readOnlyContext shape). Accepts Zod schema or JSON Schema. */
|
|
90
|
-
setInputSchema(schema: unknown): this;
|
|
91
|
-
/** Declare the output schema (response shape). Accepts Zod schema or JSON Schema. */
|
|
92
|
-
setOutputSchema(schema: unknown): this;
|
|
93
|
-
/** Set the output mapper that extracts the response from final scope. */
|
|
94
|
-
setOutputMapper(mapper: (finalScope: Record<string, unknown>) => unknown): this;
|
|
95
|
-
start(name: string, fn: PipelineStageFunction<TOut, TScope>, id: string, description?: string): this;
|
|
96
|
-
addFunction(name: string, fn: PipelineStageFunction<TOut, TScope>, id: string, description?: string): this;
|
|
97
|
-
addStreamingFunction(name: string, fn: PipelineStageFunction<TOut, TScope>, id: string, streamId?: string, description?: string): this;
|
|
98
|
-
addDeciderFunction(name: string, fn: PipelineStageFunction<TOut, TScope>, id: string, description?: string): DeciderList<TOut, TScope>;
|
|
99
|
-
addSelectorFunction(name: string, fn: PipelineStageFunction<TOut, TScope>, id: string, description?: string): SelectorFnList<TOut, TScope>;
|
|
100
|
-
addListOfFunction(children: SimplifiedParallelSpec<TOut, TScope>[], options?: {
|
|
101
|
-
failFast?: boolean;
|
|
102
|
-
}): this;
|
|
103
|
-
addSubFlowChart(id: string, subflow: FlowChart<TOut, TScope>, mountName?: string, options?: SubflowMountOptions): this;
|
|
104
|
-
addSubFlowChartNext(id: string, subflow: FlowChart<TOut, TScope>, mountName?: string, options?: SubflowMountOptions): this;
|
|
105
|
-
loopTo(stageId: string): this;
|
|
106
|
-
onStream(handler: StreamTokenHandler): this;
|
|
107
|
-
onStreamStart(handler: StreamLifecycleHandler): this;
|
|
108
|
-
onStreamEnd(handler: StreamLifecycleHandler): this;
|
|
109
|
-
addTraversalExtractor<TResult = unknown>(extractor: TraversalExtractor<TResult>): this;
|
|
110
|
-
addBuildTimeExtractor<TResult = FlowChartSpec>(extractor: BuildTimeExtractor<TResult>): this;
|
|
111
|
-
getBuildTimeExtractorErrors(): Array<{
|
|
112
|
-
message: string;
|
|
113
|
-
error: unknown;
|
|
114
|
-
}>;
|
|
115
|
-
build(): FlowChart<TOut, TScope>;
|
|
116
|
-
toSpec<TResult = SerializedPipelineStructure>(): TResult;
|
|
117
|
-
toMermaid(): string;
|
|
118
|
-
private _needCursor;
|
|
119
|
-
private _needCursorSpec;
|
|
120
|
-
_applyExtractorToNode(spec: SerializedPipelineStructure): SerializedPipelineStructure;
|
|
121
|
-
_addToMap(name: string, fn: PipelineStageFunction<TOut, TScope>): void;
|
|
122
|
-
_mergeStageMap(other: Map<string, PipelineStageFunction<TOut, TScope>>, prefix?: string): void;
|
|
123
|
-
_prefixNodeTree(node: StageNode<TOut, TScope>, prefix: string): StageNode<TOut, TScope>;
|
|
124
|
-
_mergeSubflows(subflows: Record<string, {
|
|
125
|
-
root: StageNode<TOut, TScope>;
|
|
126
|
-
}> | undefined, prefix: string): void;
|
|
127
|
-
}
|
|
128
|
-
export declare function flowChart<TOut = any, TScope = any>(name: string, fn: PipelineStageFunction<TOut, TScope>, id: string, buildTimeExtractor?: BuildTimeExtractor<any>, description?: string): FlowChartBuilder<TOut, TScope>;
|
|
129
|
-
export declare function specToStageNode(spec: FlowChartSpec): StageNode<any, any>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* builder/ — Flowchart construction library (zero deps on old code)
|
|
3
|
-
*
|
|
4
|
-
* Fluent API for building StageNode trees and SerializedPipelineStructure.
|
|
5
|
-
* Can be used standalone for building flowchart specs without execution.
|
|
6
|
-
*/
|
|
7
|
-
export { DeciderList, FlowChartBuilder, SelectorFnList } from './FlowChartBuilder';
|
|
8
|
-
export { flowChart, specToStageNode } from './FlowChartBuilder';
|
|
9
|
-
export type { BuildTimeExtractor, BuildTimeNodeMetadata, ExecOptions, FlowChart, FlowChartSpec, ILogger, PipelineStageFunction, ScopeProtectionMode, SerializedPipelineStructure, SimplifiedParallelSpec, StageFn, StageFunction, StageNode, StreamCallback, StreamHandlers, StreamLifecycleHandler, StreamTokenHandler, SubflowMountOptions, SubflowRef, TraversalExtractor, } from './types';
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* builder/types.ts — All types used by the builder library.
|
|
3
|
-
*
|
|
4
|
-
* Shared types (StageNode, StageFunction, etc.) are imported from the engine.
|
|
5
|
-
* Builder-specific types (FlowChartSpec, FlowChart, SerializedPipelineStructure)
|
|
6
|
-
* are defined locally — they carry builder-only fields (description, outputMapper, etc.).
|
|
7
|
-
*
|
|
8
|
-
* NOTE: All engine imports are `import type` — zero runtime dependency.
|
|
9
|
-
* The builder remains standalone at runtime.
|
|
10
|
-
*/
|
|
11
|
-
import type { StageNode } from '../engine/graph/StageNode';
|
|
12
|
-
import type { ILogger, StageFunction } from '../engine/types';
|
|
13
|
-
export type { StageNode } from '../engine/graph/StageNode';
|
|
14
|
-
export type { ILogger, StageFunction, StreamCallback, StreamHandlers, StreamLifecycleHandler, StreamTokenHandler, SubflowMountOptions, } from '../engine/types';
|
|
15
|
-
/** @deprecated Use StageFunction instead. */
|
|
16
|
-
export type PipelineStageFunction<TOut = any, TScope = any> = StageFunction<TOut, TScope>;
|
|
17
|
-
/** Relaxed-generic alias for builder ergonomics. */
|
|
18
|
-
export type StageFn = StageFunction<any, any>;
|
|
19
|
-
export type ScopeProtectionMode = 'error' | 'warn' | 'off';
|
|
20
|
-
export interface SerializedPipelineStructure {
|
|
21
|
-
name: string;
|
|
22
|
-
id?: string;
|
|
23
|
-
type: 'stage' | 'decider' | 'fork' | 'streaming';
|
|
24
|
-
/** Semantic icon hint for visualization (e.g., "llm", "tool", "rag", "agent", "start") */
|
|
25
|
-
icon?: string;
|
|
26
|
-
description?: string;
|
|
27
|
-
children?: SerializedPipelineStructure[];
|
|
28
|
-
next?: SerializedPipelineStructure;
|
|
29
|
-
hasDecider?: boolean;
|
|
30
|
-
hasSelector?: boolean;
|
|
31
|
-
branchIds?: string[];
|
|
32
|
-
loopTarget?: string;
|
|
33
|
-
isStreaming?: boolean;
|
|
34
|
-
streamId?: string;
|
|
35
|
-
isParallelChild?: boolean;
|
|
36
|
-
parallelGroupId?: string;
|
|
37
|
-
isSubflowRoot?: boolean;
|
|
38
|
-
subflowId?: string;
|
|
39
|
-
subflowName?: string;
|
|
40
|
-
subflowStructure?: SerializedPipelineStructure;
|
|
41
|
-
iterationCount?: number;
|
|
42
|
-
}
|
|
43
|
-
export interface FlowChartSpec {
|
|
44
|
-
name: string;
|
|
45
|
-
id?: string;
|
|
46
|
-
/** Semantic icon hint for visualization (e.g., "llm", "tool", "rag", "agent", "start") */
|
|
47
|
-
icon?: string;
|
|
48
|
-
description?: string;
|
|
49
|
-
children?: FlowChartSpec[];
|
|
50
|
-
next?: FlowChartSpec;
|
|
51
|
-
hasDecider?: boolean;
|
|
52
|
-
hasSelector?: boolean;
|
|
53
|
-
branchIds?: string[];
|
|
54
|
-
loopTarget?: string;
|
|
55
|
-
isStreaming?: boolean;
|
|
56
|
-
streamId?: string;
|
|
57
|
-
isParallelChild?: boolean;
|
|
58
|
-
parallelGroupId?: string;
|
|
59
|
-
isSubflowRoot?: boolean;
|
|
60
|
-
subflowId?: string;
|
|
61
|
-
subflowName?: string;
|
|
62
|
-
}
|
|
63
|
-
/** Metadata provided to the build-time extractor for each node. */
|
|
64
|
-
export type BuildTimeNodeMetadata = FlowChartSpec;
|
|
65
|
-
export type BuildTimeExtractor<TResult = FlowChartSpec> = (metadata: BuildTimeNodeMetadata) => TResult;
|
|
66
|
-
export type TraversalExtractor<TResult = unknown> = (snapshot: unknown) => TResult | undefined | null;
|
|
67
|
-
export type FlowChart<TOut = any, TScope = any> = {
|
|
68
|
-
root: StageNode<TOut, TScope>;
|
|
69
|
-
stageMap: Map<string, StageFunction<TOut, TScope>>;
|
|
70
|
-
extractor?: TraversalExtractor;
|
|
71
|
-
subflows?: Record<string, {
|
|
72
|
-
root: StageNode<TOut, TScope>;
|
|
73
|
-
}>;
|
|
74
|
-
buildTimeStructure: SerializedPipelineStructure;
|
|
75
|
-
enableNarrative?: boolean;
|
|
76
|
-
logger?: ILogger;
|
|
77
|
-
description: string;
|
|
78
|
-
stageDescriptions: Map<string, string>;
|
|
79
|
-
/** Input schema (Zod or JSON Schema) — declared via setInputSchema(). */
|
|
80
|
-
inputSchema?: unknown;
|
|
81
|
-
/** Output schema (Zod or JSON Schema) — declared via setOutputSchema(). */
|
|
82
|
-
outputSchema?: unknown;
|
|
83
|
-
/** Output mapper — extracts response from final scope. */
|
|
84
|
-
outputMapper?: (finalScope: Record<string, unknown>) => unknown;
|
|
85
|
-
};
|
|
86
|
-
export type SimplifiedParallelSpec<TOut = any, TScope = any> = {
|
|
87
|
-
id: string;
|
|
88
|
-
name: string;
|
|
89
|
-
fn?: StageFunction<TOut, TScope>;
|
|
90
|
-
};
|
|
91
|
-
export type ExecOptions = {
|
|
92
|
-
defaults?: unknown;
|
|
93
|
-
initial?: unknown;
|
|
94
|
-
readOnly?: unknown;
|
|
95
|
-
throttlingErrorChecker?: (e: unknown) => boolean;
|
|
96
|
-
scopeProtectionMode?: ScopeProtectionMode;
|
|
97
|
-
enableNarrative?: boolean;
|
|
98
|
-
};
|
|
99
|
-
export interface SubflowRef {
|
|
100
|
-
$ref: string;
|
|
101
|
-
mountId: string;
|
|
102
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* contract/defineContract.ts — Factory for creating a FlowChartContract.
|
|
3
|
-
*
|
|
4
|
-
* Wraps a compiled FlowChart with I/O schemas and an output mapper,
|
|
5
|
-
* using the same pattern as SubflowMountOptions (inputMapper/outputMapper).
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* const contract = defineContract(chart, {
|
|
9
|
-
* inputSchema: z.object({ name: z.string() }),
|
|
10
|
-
* outputSchema: z.object({ greeting: z.string() }),
|
|
11
|
-
* outputMapper: (scope) => ({ greeting: scope.message as string }),
|
|
12
|
-
* });
|
|
13
|
-
*
|
|
14
|
-
* const openapi = contract.toOpenAPI();
|
|
15
|
-
*/
|
|
16
|
-
import type { FlowChart } from '../builder/types';
|
|
17
|
-
import type { FlowChartContract, FlowChartContractOptions } from './types';
|
|
18
|
-
export declare function defineContract<TInput = unknown, TOutput = unknown>(chart: FlowChart, options: FlowChartContractOptions<TInput, TOutput>): FlowChartContract<TInput, TOutput>;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* contract/ — FlowChart I/O contract and OpenAPI generation layer.
|
|
3
|
-
*
|
|
4
|
-
* Standalone library: wraps a compiled FlowChart with input/output schemas
|
|
5
|
-
* and generates OpenAPI 3.1 specs. Uses the same inputMapper/outputMapper
|
|
6
|
-
* pattern as subflow mounting.
|
|
7
|
-
*
|
|
8
|
-
* Zero runtime deps on Zod — Zod schemas detected via duck-typing and
|
|
9
|
-
* converted to JSON Schema at contract creation time.
|
|
10
|
-
*/
|
|
11
|
-
export { defineContract } from './defineContract';
|
|
12
|
-
export { isZodSchema, normalizeSchema, zodToJsonSchema } from './schema';
|
|
13
|
-
export { generateOpenAPI } from './openapi';
|
|
14
|
-
export type { FlowChartContract, FlowChartContractOptions, JsonSchema, OpenAPIOptions, OpenAPISpec, SchemaInput, } from './types';
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* contract/openapi.ts — OpenAPI 3.1 spec generator.
|
|
3
|
-
*
|
|
4
|
-
* Generates an OpenAPI spec from a FlowChartContract by combining:
|
|
5
|
-
* - chart.description → operation description
|
|
6
|
-
* - chart.stageDescriptions → step-by-step detail
|
|
7
|
-
* - inputSchema → requestBody
|
|
8
|
-
* - outputSchema → response
|
|
9
|
-
* - chart.buildTimeStructure → operation metadata (branches, forks, etc.)
|
|
10
|
-
*/
|
|
11
|
-
import type { FlowChartContract, OpenAPIOptions, OpenAPISpec } from './types';
|
|
12
|
-
export declare function generateOpenAPI(contract: FlowChartContract, options?: OpenAPIOptions): OpenAPISpec;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* contract/schema.ts — Schema normalization utilities.
|
|
3
|
-
*
|
|
4
|
-
* Converts Zod schemas or raw JSON Schema objects into a normalized
|
|
5
|
-
* JsonSchema format. Detection delegated to schema/detect.ts (single source of truth).
|
|
6
|
-
*
|
|
7
|
-
* Standalone: no dependency on Zod at import time.
|
|
8
|
-
* Compatible with Zod v4 internals.
|
|
9
|
-
*/
|
|
10
|
-
import type { JsonSchema, SchemaInput } from './types';
|
|
11
|
-
/** @deprecated Use `isZod()` from `schema/detect` instead. Kept for backward compatibility. */
|
|
12
|
-
export declare function isZodSchema(input: unknown): boolean;
|
|
13
|
-
/** Convert a Zod schema object to JSON Schema. */
|
|
14
|
-
export declare function zodToJsonSchema(zodSchema: Record<string, unknown>): JsonSchema;
|
|
15
|
-
export declare function normalizeSchema(input: SchemaInput): JsonSchema;
|