footprintjs 4.16.0 → 4.17.2
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/AGENTS.md +567 -82
- package/CLAUDE.md +57 -0
- package/README.md +2 -0
- package/dist/advanced.js +4 -2
- package/dist/detach.js +78 -0
- package/dist/esm/advanced.js +2 -1
- package/dist/esm/detach.js +57 -0
- package/dist/esm/lib/builder/FlowChartBuilder.js +171 -61
- package/dist/esm/lib/contract/openapi.js +4 -5
- package/dist/esm/lib/contract/schema.js +115 -4
- package/dist/esm/lib/decide/decide.js +4 -5
- package/dist/esm/lib/decide/evidence.js +3 -2
- package/dist/esm/lib/detach/drivers/immediate.js +66 -0
- package/dist/esm/lib/detach/drivers/microtaskBatch.js +113 -0
- package/dist/esm/lib/detach/drivers/sendBeacon.js +78 -0
- package/dist/esm/lib/detach/drivers/setImmediate.js +81 -0
- package/dist/esm/lib/detach/drivers/setTimeout.js +69 -0
- package/dist/esm/lib/detach/drivers/workerThread.js +117 -0
- package/dist/esm/lib/detach/flush.js +91 -0
- package/dist/esm/lib/detach/handle.js +134 -0
- package/dist/esm/lib/detach/registry.js +97 -0
- package/dist/esm/lib/detach/runChild.js +40 -0
- package/dist/esm/lib/detach/spawn.js +86 -0
- package/dist/esm/lib/detach/types.js +37 -0
- package/dist/esm/lib/engine/errors/errorInfo.js +4 -4
- package/dist/esm/lib/engine/graph/StageNode.js +2 -2
- package/dist/esm/lib/engine/handlers/ChildrenExecutor.js +9 -8
- package/dist/esm/lib/engine/handlers/ContinuationResolver.js +12 -9
- package/dist/esm/lib/engine/handlers/DeciderHandler.js +7 -8
- package/dist/esm/lib/engine/handlers/ExtractorRunner.js +14 -8
- package/dist/esm/lib/engine/handlers/NodeResolver.js +5 -3
- package/dist/esm/lib/engine/handlers/RuntimeStructureManager.js +11 -14
- package/dist/esm/lib/engine/handlers/SelectorHandler.js +9 -9
- package/dist/esm/lib/engine/handlers/StageRunner.js +9 -11
- package/dist/esm/lib/engine/handlers/SubflowExecutor.js +13 -12
- package/dist/esm/lib/engine/handlers/SubflowInputMapper.js +4 -4
- package/dist/esm/lib/engine/narrative/CombinedNarrativeRecorder.js +85 -96
- package/dist/esm/lib/engine/narrative/FlowRecorderDispatcher.js +18 -36
- package/dist/esm/lib/engine/narrative/NarrativeFlowRecorder.js +6 -5
- package/dist/esm/lib/engine/narrative/recorders/AdaptiveNarrativeFlowRecorder.js +7 -6
- package/dist/esm/lib/engine/narrative/recorders/ManifestFlowRecorder.js +10 -10
- package/dist/esm/lib/engine/narrative/recorders/MilestoneNarrativeFlowRecorder.js +5 -3
- package/dist/esm/lib/engine/narrative/recorders/ProgressiveNarrativeFlowRecorder.js +4 -3
- package/dist/esm/lib/engine/narrative/recorders/RLENarrativeFlowRecorder.js +4 -4
- package/dist/esm/lib/engine/narrative/recorders/SeparateNarrativeFlowRecorder.js +5 -6
- package/dist/esm/lib/engine/narrative/recorders/SilentNarrativeFlowRecorder.js +5 -6
- package/dist/esm/lib/engine/narrative/recorders/WindowedNarrativeFlowRecorder.js +5 -3
- package/dist/esm/lib/engine/traversal/FlowchartTraverser.js +97 -71
- package/dist/esm/lib/memory/DiagnosticCollector.js +6 -8
- package/dist/esm/lib/memory/EventLog.js +5 -3
- package/dist/esm/lib/memory/SharedMemory.js +3 -2
- package/dist/esm/lib/memory/StageContext.js +44 -14
- package/dist/esm/lib/memory/TransactionBuffer.js +9 -8
- package/dist/esm/lib/memory/backtrack.js +3 -4
- package/dist/esm/lib/memory/commitLogUtils.js +2 -2
- package/dist/esm/lib/memory/utils.js +2 -3
- package/dist/esm/lib/pause/types.js +33 -14
- package/dist/esm/lib/reactive/createTypedScope.js +10 -8
- package/dist/esm/lib/reactive/types.js +3 -1
- package/dist/esm/lib/recorder/BoundaryStateTracker.js +263 -0
- package/dist/esm/lib/recorder/CompositeRecorder.js +3 -1
- package/dist/esm/lib/recorder/InOutRecorder.js +5 -6
- package/dist/esm/lib/recorder/KeyedRecorder.js +2 -4
- package/dist/esm/lib/recorder/QualityRecorder.js +15 -14
- package/dist/esm/lib/recorder/SequenceRecorder.js +11 -12
- package/dist/esm/lib/recorder/TopologyRecorder.js +36 -40
- package/dist/esm/lib/recorder/index.js +2 -1
- package/dist/esm/lib/recorder/qualityTrace.js +4 -5
- package/dist/esm/lib/runner/ExecutionRuntime.js +20 -4
- package/dist/esm/lib/runner/FlowChartExecutor.js +99 -55
- package/dist/esm/lib/runner/RunContext.js +5 -3
- package/dist/esm/lib/runner/RunnableChart.js +7 -9
- package/dist/esm/lib/runner/getSubtreeSnapshot.js +4 -5
- package/dist/esm/lib/schema/errors.js +4 -3
- package/dist/esm/lib/schema/validate.js +4 -5
- package/dist/esm/lib/scope/ScopeFacade.js +52 -35
- package/dist/esm/lib/scope/providers/baseStateCompatible.js +9 -9
- package/dist/esm/lib/scope/providers/guards.js +2 -2
- package/dist/esm/lib/scope/recorders/DebugRecorder.js +9 -7
- package/dist/esm/lib/scope/recorders/MetricRecorder.js +10 -8
- package/dist/esm/lib/scope/state/zod/defineScopeFromZod.js +2 -3
- package/dist/esm/lib/scope/state/zod/resolver.js +2 -3
- package/dist/esm/lib/scope/state/zod/scopeFactory.js +16 -20
- package/dist/esm/lib/scope/state/zod/utils/validateHelper.js +57 -14
- package/dist/esm/trace.js +4 -1
- package/dist/lib/builder/FlowChartBuilder.js +171 -61
- package/dist/lib/contract/openapi.js +4 -5
- package/dist/lib/contract/schema.js +115 -4
- package/dist/lib/decide/decide.js +4 -5
- package/dist/lib/decide/evidence.js +3 -2
- package/dist/lib/detach/drivers/immediate.js +70 -0
- package/dist/lib/detach/drivers/microtaskBatch.js +117 -0
- package/dist/lib/detach/drivers/sendBeacon.js +82 -0
- package/dist/lib/detach/drivers/setImmediate.js +85 -0
- package/dist/lib/detach/drivers/setTimeout.js +73 -0
- package/dist/lib/detach/drivers/workerThread.js +121 -0
- package/dist/lib/detach/flush.js +95 -0
- package/dist/lib/detach/handle.js +140 -0
- package/dist/lib/detach/registry.js +106 -0
- package/dist/lib/detach/runChild.js +67 -0
- package/dist/lib/detach/spawn.js +92 -0
- package/dist/lib/detach/types.js +38 -0
- package/dist/lib/engine/errors/errorInfo.js +4 -4
- package/dist/lib/engine/graph/StageNode.js +2 -2
- package/dist/lib/engine/handlers/ChildrenExecutor.js +9 -8
- package/dist/lib/engine/handlers/ContinuationResolver.js +12 -9
- package/dist/lib/engine/handlers/DeciderHandler.js +7 -8
- package/dist/lib/engine/handlers/ExtractorRunner.js +14 -8
- package/dist/lib/engine/handlers/NodeResolver.js +5 -3
- package/dist/lib/engine/handlers/RuntimeStructureManager.js +11 -14
- package/dist/lib/engine/handlers/SelectorHandler.js +9 -9
- package/dist/lib/engine/handlers/StageRunner.js +9 -11
- package/dist/lib/engine/handlers/SubflowExecutor.js +13 -12
- package/dist/lib/engine/handlers/SubflowInputMapper.js +4 -4
- package/dist/lib/engine/narrative/CombinedNarrativeRecorder.js +85 -96
- package/dist/lib/engine/narrative/FlowRecorderDispatcher.js +18 -36
- package/dist/lib/engine/narrative/NarrativeFlowRecorder.js +6 -5
- package/dist/lib/engine/narrative/recorders/AdaptiveNarrativeFlowRecorder.js +7 -6
- package/dist/lib/engine/narrative/recorders/ManifestFlowRecorder.js +10 -10
- package/dist/lib/engine/narrative/recorders/MilestoneNarrativeFlowRecorder.js +5 -3
- package/dist/lib/engine/narrative/recorders/ProgressiveNarrativeFlowRecorder.js +4 -3
- package/dist/lib/engine/narrative/recorders/RLENarrativeFlowRecorder.js +4 -4
- package/dist/lib/engine/narrative/recorders/SeparateNarrativeFlowRecorder.js +5 -6
- package/dist/lib/engine/narrative/recorders/SilentNarrativeFlowRecorder.js +5 -6
- package/dist/lib/engine/narrative/recorders/WindowedNarrativeFlowRecorder.js +5 -3
- package/dist/lib/engine/traversal/FlowchartTraverser.js +97 -71
- package/dist/lib/memory/DiagnosticCollector.js +6 -8
- package/dist/lib/memory/EventLog.js +5 -3
- package/dist/lib/memory/SharedMemory.js +3 -2
- package/dist/lib/memory/StageContext.js +44 -14
- package/dist/lib/memory/TransactionBuffer.js +9 -8
- package/dist/lib/memory/backtrack.js +3 -4
- package/dist/lib/memory/commitLogUtils.js +2 -2
- package/dist/lib/memory/utils.js +2 -3
- package/dist/lib/pause/types.js +33 -14
- package/dist/lib/reactive/createTypedScope.js +10 -8
- package/dist/lib/reactive/types.js +3 -1
- package/dist/lib/recorder/BoundaryStateTracker.js +267 -0
- package/dist/lib/recorder/CompositeRecorder.js +3 -1
- package/dist/lib/recorder/InOutRecorder.js +5 -6
- package/dist/lib/recorder/KeyedRecorder.js +2 -4
- package/dist/lib/recorder/QualityRecorder.js +15 -14
- package/dist/lib/recorder/SequenceRecorder.js +11 -12
- package/dist/lib/recorder/TopologyRecorder.js +36 -40
- package/dist/lib/recorder/index.js +4 -2
- package/dist/lib/recorder/qualityTrace.js +4 -5
- package/dist/lib/runner/ExecutionRuntime.js +20 -4
- package/dist/lib/runner/FlowChartExecutor.js +99 -55
- package/dist/lib/runner/RunContext.js +5 -3
- package/dist/lib/runner/RunnableChart.js +7 -9
- package/dist/lib/runner/getSubtreeSnapshot.js +4 -5
- package/dist/lib/schema/errors.js +4 -3
- package/dist/lib/schema/validate.js +4 -5
- package/dist/lib/scope/ScopeFacade.js +52 -35
- package/dist/lib/scope/providers/baseStateCompatible.js +9 -9
- package/dist/lib/scope/providers/guards.js +2 -2
- package/dist/lib/scope/recorders/DebugRecorder.js +9 -7
- package/dist/lib/scope/recorders/MetricRecorder.js +10 -8
- package/dist/lib/scope/state/zod/defineScopeFromZod.js +2 -3
- package/dist/lib/scope/state/zod/resolver.js +2 -3
- package/dist/lib/scope/state/zod/scopeFactory.js +16 -20
- package/dist/lib/scope/state/zod/utils/validateHelper.js +57 -14
- package/dist/trace.js +6 -2
- package/dist/types/advanced.d.ts +1 -0
- package/dist/types/detach.d.ts +59 -0
- package/dist/types/lib/builder/FlowChartBuilder.d.ts +81 -0
- package/dist/types/lib/detach/drivers/immediate.d.ts +39 -0
- package/dist/types/lib/detach/drivers/microtaskBatch.d.ts +57 -0
- package/dist/types/lib/detach/drivers/sendBeacon.d.ts +38 -0
- package/dist/types/lib/detach/drivers/setImmediate.d.ts +32 -0
- package/dist/types/lib/detach/drivers/setTimeout.d.ts +34 -0
- package/dist/types/lib/detach/drivers/workerThread.d.ts +50 -0
- package/dist/types/lib/detach/flush.d.ts +62 -0
- package/dist/types/lib/detach/handle.d.ts +83 -0
- package/dist/types/lib/detach/registry.d.ts +82 -0
- package/dist/types/lib/detach/runChild.d.ts +41 -0
- package/dist/types/lib/detach/spawn.d.ts +64 -0
- package/dist/types/lib/detach/types.d.ts +200 -0
- package/dist/types/lib/engine/traversal/FlowchartTraverser.d.ts +0 -1
- package/dist/types/lib/engine/types.d.ts +0 -1
- package/dist/types/lib/reactive/types.d.ts +4 -0
- package/dist/types/lib/recorder/BoundaryStateTracker.d.ts +215 -0
- package/dist/types/lib/recorder/index.d.ts +1 -0
- package/dist/types/lib/runner/FlowChartExecutor.d.ts +28 -0
- package/dist/types/lib/scope/ScopeFacade.d.ts +4 -0
- package/dist/types/lib/scope/state/zod/utils/validateHelper.d.ts +13 -1
- package/dist/types/trace.d.ts +1 -0
- package/package.json +6 -1
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { NarrativeFlowRecorder } from '../NarrativeFlowRecorder.js';
|
|
17
17
|
export class RLENarrativeFlowRecorder extends NarrativeFlowRecorder {
|
|
18
|
+
currentRun = null;
|
|
19
|
+
completedRuns = [];
|
|
18
20
|
constructor(id) {
|
|
19
|
-
super(id
|
|
20
|
-
this.currentRun = null;
|
|
21
|
-
this.completedRuns = [];
|
|
21
|
+
super(id ?? 'narrative-rle');
|
|
22
22
|
}
|
|
23
23
|
onLoop(event) {
|
|
24
24
|
// Don't call super — we handle sentence generation ourselves
|
|
@@ -71,4 +71,4 @@ export class RLENarrativeFlowRecorder extends NarrativeFlowRecorder {
|
|
|
71
71
|
this.completedRuns = [];
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkxFTmFycmF0aXZlRmxvd1JlY29yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9lbmdpbmUvbmFycmF0aXZlL3JlY29yZGVycy9STEVOYXJyYXRpdmVGbG93UmVjb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQVVwRSxNQUFNLE9BQU8sd0JBQXlCLFNBQVEscUJBQXFCO0lBQ3pELFVBQVUsR0FBb0IsSUFBSSxDQUFDO0lBQ25DLGFBQWEsR0FBZSxFQUFFLENBQUM7SUFFdkMsWUFBWSxFQUFXO1FBQ3JCLEtBQUssQ0FBQyxFQUFFLElBQUksZUFBZSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVRLE1BQU0sQ0FBQyxLQUFvQjtRQUNsQyw2REFBNkQ7UUFFN0QsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvRCx5QkFBeUI7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNqRCxDQUFDO2FBQU0sQ0FBQztZQUNOLHVDQUF1QztZQUN2QyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHO2dCQUNoQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07Z0JBQ3BCLGNBQWMsRUFBRSxLQUFLLENBQUMsU0FBUztnQkFDL0IsWUFBWSxFQUFFLEtBQUssQ0FBQyxTQUFTO2dCQUM3QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7YUFDL0IsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRVEsWUFBWTtRQUNuQix3QkFBd0I7UUFDeEIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWxDLHVCQUF1QjtRQUN2QixNQUFNLFNBQVMsR0FBYSxFQUFFLENBQUM7UUFDL0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNoQiwwQ0FBMEM7Z0JBQzFDLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNwQixTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLGNBQWMsS0FBSyxHQUFHLENBQUMsV0FBVyxTQUFTLENBQUMsQ0FBQztnQkFDN0UsQ0FBQztxQkFBTSxDQUFDO29CQUNOLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsY0FBYyxZQUFZLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUN6RSxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFNBQVMsQ0FBQyxJQUFJLENBQ1osa0JBQWtCLEdBQUcsQ0FBQyxNQUFNLElBQUksS0FBSyxrQkFBa0IsR0FBRyxDQUFDLGNBQWMsSUFBSSxHQUFHLENBQUMsWUFBWSxJQUFJLENBQ2xHLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFUSxLQUFLO1FBQ1osS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSTEVOYXJyYXRpdmVGbG93UmVjb3JkZXIg4oCUIFJ1bi1MZW5ndGggRW5jb2RpbmcgZm9yIGNvbnNlY3V0aXZlIGlkZW50aWNhbCBsb29wIHRhcmdldHMuXG4gKlxuICogSW5zdGVhZCBvZiBlbWl0dGluZyBvbmUgc2VudGVuY2UgcGVyIGl0ZXJhdGlvbiwgY29sbGFwc2VzIGNvbnNlY3V0aXZlIGxvb3BzXG4gKiB0aHJvdWdoIHRoZSBzYW1lIHRhcmdldCBpbnRvIGEgc2luZ2xlIFwiTG9vcGVkIE4gdGltZXMgdGhyb3VnaCBYXCIgc2VudGVuY2UuXG4gKlxuICogQmVzdCBmb3I6IFNpbXBsZSByZXRyeSBsb29wcyB3aGVyZSBldmVyeSBpdGVyYXRpb24gbG9va3MgdGhlIHNhbWUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGV4ZWN1dG9yLmF0dGFjaEZsb3dSZWNvcmRlcihuZXcgUkxFTmFycmF0aXZlRmxvd1JlY29yZGVyKCkpO1xuICogLy8gSW5zdGVhZCBvZiA1MCBcIk9uIHBhc3MgTi4uLlwiIGxpbmVzOlxuICogLy8gXCJMb29wZWQgdGhyb3VnaCBBc2tMTE0gNTAgdGltZXMgKHBhc3NlcyAx4oCTNTApLlwiXG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBOYXJyYXRpdmVGbG93UmVjb3JkZXIgfSBmcm9tICcuLi9OYXJyYXRpdmVGbG93UmVjb3JkZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBGbG93TG9vcEV2ZW50IH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5pbnRlcmZhY2UgUnVuR3JvdXAge1xuICB0YXJnZXQ6IHN0cmluZztcbiAgc3RhcnRJdGVyYXRpb246IG51bWJlcjtcbiAgZW5kSXRlcmF0aW9uOiBudW1iZXI7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgUkxFTmFycmF0aXZlRmxvd1JlY29yZGVyIGV4dGVuZHMgTmFycmF0aXZlRmxvd1JlY29yZGVyIHtcbiAgcHJpdmF0ZSBjdXJyZW50UnVuOiBSdW5Hcm91cCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGNvbXBsZXRlZFJ1bnM6IFJ1bkdyb3VwW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihpZD86IHN0cmluZykge1xuICAgIHN1cGVyKGlkID8/ICduYXJyYXRpdmUtcmxlJyk7XG4gIH1cblxuICBvdmVycmlkZSBvbkxvb3AoZXZlbnQ6IEZsb3dMb29wRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBEb24ndCBjYWxsIHN1cGVyIOKAlCB3ZSBoYW5kbGUgc2VudGVuY2UgZ2VuZXJhdGlvbiBvdXJzZWx2ZXNcblxuICAgIGlmICh0aGlzLmN1cnJlbnRSdW4gJiYgdGhpcy5jdXJyZW50UnVuLnRhcmdldCA9PT0gZXZlbnQudGFyZ2V0KSB7XG4gICAgICAvLyBFeHRlbmQgdGhlIGN1cnJlbnQgcnVuXG4gICAgICB0aGlzLmN1cnJlbnRSdW4uZW5kSXRlcmF0aW9uID0gZXZlbnQuaXRlcmF0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGbHVzaCBwcmV2aW91cyBydW4gYW5kIHN0YXJ0IG5ldyBvbmVcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRSdW4pIHtcbiAgICAgICAgdGhpcy5jb21wbGV0ZWRSdW5zLnB1c2godGhpcy5jdXJyZW50UnVuKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY3VycmVudFJ1biA9IHtcbiAgICAgICAgdGFyZ2V0OiBldmVudC50YXJnZXQsXG4gICAgICAgIHN0YXJ0SXRlcmF0aW9uOiBldmVudC5pdGVyYXRpb24sXG4gICAgICAgIGVuZEl0ZXJhdGlvbjogZXZlbnQuaXRlcmF0aW9uLFxuICAgICAgICBkZXNjcmlwdGlvbjogZXZlbnQuZGVzY3JpcHRpb24sXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGdldFNlbnRlbmNlcygpOiBzdHJpbmdbXSB7XG4gICAgLy8gRmx1c2ggYW55IHBlbmRpbmcgcnVuXG4gICAgY29uc3QgcnVucyA9IFsuLi50aGlzLmNvbXBsZXRlZFJ1bnNdO1xuICAgIGlmICh0aGlzLmN1cnJlbnRSdW4pIHtcbiAgICAgIHJ1bnMucHVzaCh0aGlzLmN1cnJlbnRSdW4pO1xuICAgIH1cblxuICAgIGNvbnN0IGJhc2UgPSBzdXBlci5nZXRTZW50ZW5jZXMoKTtcblxuICAgIC8vIEluamVjdCBSTEUgc3VtbWFyaWVzXG4gICAgY29uc3Qgc3VtbWFyaWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgcnVuIG9mIHJ1bnMpIHtcbiAgICAgIGNvbnN0IGNvdW50ID0gcnVuLmVuZEl0ZXJhdGlvbiAtIHJ1bi5zdGFydEl0ZXJhdGlvbiArIDE7XG4gICAgICBpZiAoY291bnQgPT09IDEpIHtcbiAgICAgICAgLy8gU2luZ2xlIGl0ZXJhdGlvbiDigJQgZW1pdCBub3JtYWwgc2VudGVuY2VcbiAgICAgICAgaWYgKHJ1bi5kZXNjcmlwdGlvbikge1xuICAgICAgICAgIHN1bW1hcmllcy5wdXNoKGBPbiBwYXNzICR7cnVuLnN0YXJ0SXRlcmF0aW9ufTogJHtydW4uZGVzY3JpcHRpb259IGFnYWluLmApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN1bW1hcmllcy5wdXNoKGBPbiBwYXNzICR7cnVuLnN0YXJ0SXRlcmF0aW9ufSB0aHJvdWdoICR7cnVuLnRhcmdldH0uYCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN1bW1hcmllcy5wdXNoKFxuICAgICAgICAgIGBMb29wZWQgdGhyb3VnaCAke3J1bi50YXJnZXR9ICR7Y291bnR9IHRpbWVzIChwYXNzZXMgJHtydW4uc3RhcnRJdGVyYXRpb2594oCTJHtydW4uZW5kSXRlcmF0aW9ufSkuYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gWy4uLmJhc2UsIC4uLnN1bW1hcmllc107XG4gIH1cblxuICBvdmVycmlkZSBjbGVhcigpOiB2b2lkIHtcbiAgICBzdXBlci5jbGVhcigpO1xuICAgIHRoaXMuY3VycmVudFJ1biA9IG51bGw7XG4gICAgdGhpcy5jb21wbGV0ZWRSdW5zID0gW107XG4gIH1cbn1cbiJdfQ==
|
|
@@ -19,16 +19,15 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import { NarrativeFlowRecorder } from '../NarrativeFlowRecorder.js';
|
|
21
21
|
export class SeparateNarrativeFlowRecorder extends NarrativeFlowRecorder {
|
|
22
|
+
loopSentences = [];
|
|
23
|
+
loopCounts = new Map();
|
|
22
24
|
constructor(id) {
|
|
23
|
-
super(id
|
|
24
|
-
this.loopSentences = [];
|
|
25
|
-
this.loopCounts = new Map();
|
|
25
|
+
super(id ?? 'narrative-separate');
|
|
26
26
|
}
|
|
27
27
|
onLoop(event) {
|
|
28
28
|
// Don't call super — keep loops out of main narrative
|
|
29
|
-
var _a;
|
|
30
29
|
// Track count for summary
|
|
31
|
-
const count = (
|
|
30
|
+
const count = (this.loopCounts.get(event.target) ?? 0) + 1;
|
|
32
31
|
this.loopCounts.set(event.target, count);
|
|
33
32
|
// Store in separate channel
|
|
34
33
|
if (event.description) {
|
|
@@ -52,4 +51,4 @@ export class SeparateNarrativeFlowRecorder extends NarrativeFlowRecorder {
|
|
|
52
51
|
this.loopCounts.clear();
|
|
53
52
|
}
|
|
54
53
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VwYXJhdGVOYXJyYXRpdmVGbG93UmVjb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9uYXJyYXRpdmUvcmVjb3JkZXJzL1NlcGFyYXRlTmFycmF0aXZlRmxvd1JlY29yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFFSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdwRSxNQUFNLE9BQU8sNkJBQThCLFNBQVEscUJBQXFCO0lBQzlELGFBQWEsR0FBYSxFQUFFLENBQUM7SUFDN0IsVUFBVSxHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXBELFlBQVksRUFBVztRQUNyQixLQUFLLENBQUMsRUFBRSxJQUFJLG9CQUFvQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVRLE1BQU0sQ0FBQyxLQUFvQjtRQUNsQyxzREFBc0Q7UUFFdEQsMEJBQTBCO1FBQzFCLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXpDLDRCQUE0QjtRQUM1QixJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLFdBQVcsU0FBUyxDQUFDLENBQUM7UUFDckYsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQyxTQUFTLFlBQVksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDakYsQ0FBQztJQUNILENBQUM7SUFFRCxtRUFBbUU7SUFDbkUsZ0JBQWdCO1FBQ2QsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCwyQ0FBMkM7SUFDM0MsYUFBYTtRQUNYLE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFUSxLQUFLO1FBQ1osS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNlcGFyYXRlTmFycmF0aXZlRmxvd1JlY29yZGVyIOKAlCBDb2xsZWN0cyBsb29wIGl0ZXJhdGlvbnMgaW4gYSBzZXBhcmF0ZSBjaGFubmVsLlxuICpcbiAqIEtlZXBzIHRoZSBtYWluIG5hcnJhdGl2ZSBjbGVhbiAobm8gbG9vcCBzZW50ZW5jZXMpIHdoaWxlIHByZXNlcnZpbmcgZnVsbFxuICogaXRlcmF0aW9uIGRldGFpbCBpbiBhIHNlcGFyYXRlIGFjY2Vzc29yIGZvciBjb25zdW1lcnMgd2hvIG5lZWQgaXQuXG4gKlxuICogQmVzdCBmb3I6IFVJcyBvciByZXBvcnRzIHdoZXJlIGxvb3AgZGV0YWlsIGlzIGluIGEgY29sbGFwc2libGUgc2VjdGlvbixcbiAqIG9yIExMTSBwaXBlbGluZXMgd2hlcmUgbG9vcCBjb250ZXh0IHNob3VsZCBiZSBhdmFpbGFibGUgYnV0IG5vdCBpbiB0aGUgbWFpbiBwcm9tcHQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlY29yZGVyID0gbmV3IFNlcGFyYXRlTmFycmF0aXZlRmxvd1JlY29yZGVyKCk7XG4gKiBleGVjdXRvci5hdHRhY2hGbG93UmVjb3JkZXIocmVjb3JkZXIpO1xuICogYXdhaXQgZXhlY3V0b3IucnVuKCk7XG4gKlxuICogY29uc3QgbWFpbk5hcnJhdGl2ZSA9IGV4ZWN1dG9yLmdldE5hcnJhdGl2ZSgpOyAgICAgLy8gTm8gbG9vcCBzZW50ZW5jZXNcbiAqIGNvbnN0IGxvb3BEZXRhaWwgPSByZWNvcmRlci5nZXRMb29wU2VudGVuY2VzKCk7ICAgIC8vIEFsbCBsb29wIGRldGFpbFxuICogYGBgXG4gKi9cblxuaW1wb3J0IHsgTmFycmF0aXZlRmxvd1JlY29yZGVyIH0gZnJvbSAnLi4vTmFycmF0aXZlRmxvd1JlY29yZGVyLmpzJztcbmltcG9ydCB0eXBlIHsgRmxvd0xvb3BFdmVudCB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGNsYXNzIFNlcGFyYXRlTmFycmF0aXZlRmxvd1JlY29yZGVyIGV4dGVuZHMgTmFycmF0aXZlRmxvd1JlY29yZGVyIHtcbiAgcHJpdmF0ZSBsb29wU2VudGVuY2VzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIGxvb3BDb3VudHM6IE1hcDxzdHJpbmcsIG51bWJlcj4gPSBuZXcgTWFwKCk7XG5cbiAgY29uc3RydWN0b3IoaWQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihpZCA/PyAnbmFycmF0aXZlLXNlcGFyYXRlJyk7XG4gIH1cblxuICBvdmVycmlkZSBvbkxvb3AoZXZlbnQ6IEZsb3dMb29wRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBEb24ndCBjYWxsIHN1cGVyIOKAlCBrZWVwIGxvb3BzIG91dCBvZiBtYWluIG5hcnJhdGl2ZVxuXG4gICAgLy8gVHJhY2sgY291bnQgZm9yIHN1bW1hcnlcbiAgICBjb25zdCBjb3VudCA9ICh0aGlzLmxvb3BDb3VudHMuZ2V0KGV2ZW50LnRhcmdldCkgPz8gMCkgKyAxO1xuICAgIHRoaXMubG9vcENvdW50cy5zZXQoZXZlbnQudGFyZ2V0LCBjb3VudCk7XG5cbiAgICAvLyBTdG9yZSBpbiBzZXBhcmF0ZSBjaGFubmVsXG4gICAgaWYgKGV2ZW50LmRlc2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmxvb3BTZW50ZW5jZXMucHVzaChgT24gcGFzcyAke2V2ZW50Lml0ZXJhdGlvbn06ICR7ZXZlbnQuZGVzY3JpcHRpb259IGFnYWluLmApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvb3BTZW50ZW5jZXMucHVzaChgT24gcGFzcyAke2V2ZW50Lml0ZXJhdGlvbn0gdGhyb3VnaCAke2V2ZW50LnRhcmdldH0uYCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJldHVybnMgYWxsIGxvb3AgaXRlcmF0aW9uIHNlbnRlbmNlcyAodGhlIHNlcGFyYXRlIGNoYW5uZWwpLiAqL1xuICBnZXRMb29wU2VudGVuY2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMubG9vcFNlbnRlbmNlc107XG4gIH1cblxuICAvKiogUmV0dXJucyB0b3RhbCBsb29wIGNvdW50IHBlciB0YXJnZXQuICovXG4gIGdldExvb3BDb3VudHMoKTogTWFwPHN0cmluZywgbnVtYmVyPiB7XG4gICAgcmV0dXJuIG5ldyBNYXAodGhpcy5sb29wQ291bnRzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNsZWFyKCk6IHZvaWQge1xuICAgIHN1cGVyLmNsZWFyKCk7XG4gICAgdGhpcy5sb29wU2VudGVuY2VzID0gW107XG4gICAgdGhpcy5sb29wQ291bnRzLmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -13,15 +13,14 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { NarrativeFlowRecorder } from '../NarrativeFlowRecorder.js';
|
|
15
15
|
export class SilentNarrativeFlowRecorder extends NarrativeFlowRecorder {
|
|
16
|
+
loopCounts = new Map();
|
|
17
|
+
loopOrder = [];
|
|
16
18
|
constructor(id) {
|
|
17
|
-
super(id
|
|
18
|
-
this.loopCounts = new Map();
|
|
19
|
-
this.loopOrder = [];
|
|
19
|
+
super(id ?? 'narrative-silent');
|
|
20
20
|
}
|
|
21
21
|
onLoop(event) {
|
|
22
|
-
var _a;
|
|
23
22
|
// Don't call super — suppress all per-iteration sentences
|
|
24
|
-
const count = (
|
|
23
|
+
const count = (this.loopCounts.get(event.target) ?? 0) + 1;
|
|
25
24
|
if (!this.loopCounts.has(event.target)) {
|
|
26
25
|
this.loopOrder.push(event.target);
|
|
27
26
|
}
|
|
@@ -47,4 +46,4 @@ export class SilentNarrativeFlowRecorder extends NarrativeFlowRecorder {
|
|
|
47
46
|
this.loopOrder = [];
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lsZW50TmFycmF0aXZlRmxvd1JlY29yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9lbmdpbmUvbmFycmF0aXZlL3JlY29yZGVycy9TaWxlbnROYXJyYXRpdmVGbG93UmVjb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztHQVlHO0FBRUgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHFCQUFxQjtJQUM1RCxVQUFVLEdBQXdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDNUMsU0FBUyxHQUFhLEVBQUUsQ0FBQztJQUVqQyxZQUFZLEVBQVc7UUFDckIsS0FBSyxDQUFDLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFUSxNQUFNLENBQUMsS0FBb0I7UUFDbEMsMERBQTBEO1FBQzFELE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFUSxZQUFZO1FBQ25CLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVsQyx1RUFBdUU7UUFDdkUsTUFBTSxTQUFTLEdBQWEsRUFBRSxDQUFDO1FBQy9CLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBRSxDQUFDO1lBQzNDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNyRixDQUFDO1FBRUQsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELCtDQUErQztJQUMvQyxhQUFhO1FBQ1gsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVRLEtBQUs7UUFDWixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2lsZW50TmFycmF0aXZlRmxvd1JlY29yZGVyIOKAlCBTdXBwcmVzc2VzIGFsbCBwZXItaXRlcmF0aW9uIGxvb3Agc2VudGVuY2VzLFxuICogZW1pdHMgYSBzaW5nbGUgc3VtbWFyeSBzZW50ZW5jZSBhdCB0aGUgZW5kLlxuICpcbiAqIEJlc3QgZm9yOiBMb29wcyB3aGVyZSBpdGVyYXRpb24gZGV0YWlscyBhcmUgaXJyZWxldmFudCBhbmQgeW91IG9ubHkgY2FyZVxuICogYWJvdXQgdGhlIHRvdGFsIGNvdW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBleGVjdXRvci5hdHRhY2hGbG93UmVjb3JkZXIobmV3IFNpbGVudE5hcnJhdGl2ZUZsb3dSZWNvcmRlcigpKTtcbiAqIC8vIFByb2R1Y2VzOiBcIkxvb3BlZCA1MCB0aW1lcyB0aHJvdWdoIEFza0xMTS5cIlxuICogYGBgXG4gKi9cblxuaW1wb3J0IHsgTmFycmF0aXZlRmxvd1JlY29yZGVyIH0gZnJvbSAnLi4vTmFycmF0aXZlRmxvd1JlY29yZGVyLmpzJztcbmltcG9ydCB0eXBlIHsgRmxvd0xvb3BFdmVudCB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGNsYXNzIFNpbGVudE5hcnJhdGl2ZUZsb3dSZWNvcmRlciBleHRlbmRzIE5hcnJhdGl2ZUZsb3dSZWNvcmRlciB7XG4gIHByaXZhdGUgbG9vcENvdW50czogTWFwPHN0cmluZywgbnVtYmVyPiA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSBsb29wT3JkZXI6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoaWQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihpZCA/PyAnbmFycmF0aXZlLXNpbGVudCcpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25Mb29wKGV2ZW50OiBGbG93TG9vcEV2ZW50KTogdm9pZCB7XG4gICAgLy8gRG9uJ3QgY2FsbCBzdXBlciDigJQgc3VwcHJlc3MgYWxsIHBlci1pdGVyYXRpb24gc2VudGVuY2VzXG4gICAgY29uc3QgY291bnQgPSAodGhpcy5sb29wQ291bnRzLmdldChldmVudC50YXJnZXQpID8/IDApICsgMTtcbiAgICBpZiAoIXRoaXMubG9vcENvdW50cy5oYXMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgdGhpcy5sb29wT3JkZXIucHVzaChldmVudC50YXJnZXQpO1xuICAgIH1cbiAgICB0aGlzLmxvb3BDb3VudHMuc2V0KGV2ZW50LnRhcmdldCwgY291bnQpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0U2VudGVuY2VzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBiYXNlID0gc3VwZXIuZ2V0U2VudGVuY2VzKCk7XG5cbiAgICAvLyBJbmplY3QgbG9vcCBzdW1tYXJpZXMgYXQgdGhlIGVuZCAob3IgeW91IGNvdWxkIGluc2VydCB0aGVtIGluLXBsYWNlKVxuICAgIGNvbnN0IHN1bW1hcmllczogc3RyaW5nW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHRhcmdldCBvZiB0aGlzLmxvb3BPcmRlcikge1xuICAgICAgY29uc3QgY291bnQgPSB0aGlzLmxvb3BDb3VudHMuZ2V0KHRhcmdldCkhO1xuICAgICAgc3VtbWFyaWVzLnB1c2goYExvb3BlZCAke2NvdW50fSB0aW1lJHtjb3VudCAhPT0gMSA/ICdzJyA6ICcnfSB0aHJvdWdoICR7dGFyZ2V0fS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gWy4uLmJhc2UsIC4uLnN1bW1hcmllc107XG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgdG90YWwgbG9vcCBjb3VudCBwZXIgdGFyZ2V0LiAqL1xuICBnZXRMb29wQ291bnRzKCk6IE1hcDxzdHJpbmcsIG51bWJlcj4ge1xuICAgIHJldHVybiBuZXcgTWFwKHRoaXMubG9vcENvdW50cyk7XG4gIH1cblxuICBvdmVycmlkZSBjbGVhcigpOiB2b2lkIHtcbiAgICBzdXBlci5jbGVhcigpO1xuICAgIHRoaXMubG9vcENvdW50cy5jbGVhcigpO1xuICAgIHRoaXMubG9vcE9yZGVyID0gW107XG4gIH1cbn1cbiJdfQ==
|
|
@@ -15,9 +15,11 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { NarrativeFlowRecorder } from '../NarrativeFlowRecorder.js';
|
|
17
17
|
export class WindowedNarrativeFlowRecorder extends NarrativeFlowRecorder {
|
|
18
|
+
head;
|
|
19
|
+
tail;
|
|
20
|
+
loopEvents = new Map();
|
|
18
21
|
constructor(head = 3, tail = 2, id) {
|
|
19
|
-
super(id
|
|
20
|
-
this.loopEvents = new Map();
|
|
22
|
+
super(id ?? 'narrative-windowed');
|
|
21
23
|
this.head = head;
|
|
22
24
|
this.tail = tail;
|
|
23
25
|
}
|
|
@@ -79,4 +81,4 @@ export class WindowedNarrativeFlowRecorder extends NarrativeFlowRecorder {
|
|
|
79
81
|
return `On pass ${event.iteration} through ${event.target}.`;
|
|
80
82
|
}
|
|
81
83
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93ZWROYXJyYXRpdmVGbG93UmVjb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9uYXJyYXRpdmUvcmVjb3JkZXJzL1dpbmRvd2VkTmFycmF0aXZlRmxvd1JlY29yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHcEUsTUFBTSxPQUFPLDZCQUE4QixTQUFRLHFCQUFxQjtJQUNyRCxJQUFJLENBQVM7SUFDYixJQUFJLENBQVM7SUFDdEIsVUFBVSxHQUFpQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTdELFlBQVksSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxFQUFFLEVBQVc7UUFDekMsS0FBSyxDQUFDLEVBQUUsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFUSxNQUFNLENBQUMsS0FBb0I7UUFDbEMsaUVBQWlFO1FBQ2pFLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDekIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuQiw0RUFBNEU7SUFDOUUsQ0FBQztJQUVRLFlBQVk7UUFDbkIsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTNDLGlEQUFpRDtRQUNqRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUM7UUFDbEMsS0FBSyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDekMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUU1QixJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbkMsbUNBQW1DO2dCQUNuQyxLQUFLLE1BQU0sRUFBRSxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLDBDQUEwQztnQkFDMUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEQsQ0FBQztnQkFDRCxNQUFNLE9BQU8sR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUM5QyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsT0FBTyxzQkFBc0IsQ0FBQyxDQUFDO2dCQUNuRCxLQUFLLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDL0MsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEQsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELHVEQUF1RDtJQUN2RCxrQkFBa0I7UUFDaEIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDekMsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMxQyxLQUFLLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDakQsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFUSxLQUFLO1FBQ1osS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBb0I7UUFDN0MsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsT0FBTyxXQUFXLEtBQUssQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLFdBQVcsU0FBUyxDQUFDO1FBQ25FLENBQUM7UUFDRCxPQUFPLFdBQVcsS0FBSyxDQUFDLFNBQVMsWUFBWSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7SUFDL0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBXaW5kb3dlZE5hcnJhdGl2ZUZsb3dSZWNvcmRlciDigJQgU2hvd3MgZmlyc3QgTiBhbmQgbGFzdCBNIGxvb3AgaXRlcmF0aW9ucywgc2tpcHMgdGhlIG1pZGRsZS5cbiAqXG4gKiBCZXN0IGZvcjogTW9kZXJhdGUgbG9vcHMgKDEw4oCTMjAwIGl0ZXJhdGlvbnMpIHdoZXJlIHlvdSB3YW50IHRvIHNlZSBob3cgaXQgc3RhcnRlZFxuICogYW5kIGhvdyBpdCBlbmRlZCwgd2l0aG91dCB0aGUgbm9pc2UgaW4gYmV0d2Vlbi5cbiAqXG4gKiBXaGVuIHRvdGFsIGl0ZXJhdGlvbnMgPD0gaGVhZCArIHRhaWwsIGFsbCBpdGVyYXRpb25zIGFyZSBlbWl0dGVkIChubyBjb21wcmVzc2lvbikuXG4gKiBXaGVuIHRvdGFsID4gaGVhZCArIHRhaWwsIHRoZSBtaWRkbGUgaXMgcmVwbGFjZWQgd2l0aCBhIHN1bW1hcnkgbGluZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gU2hvdyBmaXJzdCAzIGFuZCBsYXN0IDIgaXRlcmF0aW9uc1xuICogZXhlY3V0b3IuYXR0YWNoRmxvd1JlY29yZGVyKG5ldyBXaW5kb3dlZE5hcnJhdGl2ZUZsb3dSZWNvcmRlcigzLCAyKSk7XG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBOYXJyYXRpdmVGbG93UmVjb3JkZXIgfSBmcm9tICcuLi9OYXJyYXRpdmVGbG93UmVjb3JkZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBGbG93TG9vcEV2ZW50IH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgY2xhc3MgV2luZG93ZWROYXJyYXRpdmVGbG93UmVjb3JkZXIgZXh0ZW5kcyBOYXJyYXRpdmVGbG93UmVjb3JkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGhlYWQ6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWlsOiBudW1iZXI7XG4gIHByaXZhdGUgbG9vcEV2ZW50czogTWFwPHN0cmluZywgRmxvd0xvb3BFdmVudFtdPiA9IG5ldyBNYXAoKTtcblxuICBjb25zdHJ1Y3RvcihoZWFkID0gMywgdGFpbCA9IDIsIGlkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoaWQgPz8gJ25hcnJhdGl2ZS13aW5kb3dlZCcpO1xuICAgIHRoaXMuaGVhZCA9IGhlYWQ7XG4gICAgdGhpcy50YWlsID0gdGFpbDtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uTG9vcChldmVudDogRmxvd0xvb3BFdmVudCk6IHZvaWQge1xuICAgIC8vIEFjY3VtdWxhdGUgYWxsIGxvb3AgZXZlbnRzIOKAlCB3ZSdsbCByZW5kZXIgdGhlbSBpbiBnZXRTZW50ZW5jZXNcbiAgICBjb25zdCBrZXkgPSBldmVudC50YXJnZXQ7XG4gICAgbGV0IGV2ZW50cyA9IHRoaXMubG9vcEV2ZW50cy5nZXQoa2V5KTtcbiAgICBpZiAoIWV2ZW50cykge1xuICAgICAgZXZlbnRzID0gW107XG4gICAgICB0aGlzLmxvb3BFdmVudHMuc2V0KGtleSwgZXZlbnRzKTtcbiAgICB9XG4gICAgZXZlbnRzLnB1c2goZXZlbnQpO1xuXG4gICAgLy8gRG9uJ3QgY2FsbCBzdXBlciDigJQgd2UgaGFuZGxlIGFsbCBsb29wIHNlbnRlbmNlIGdlbmVyYXRpb24gaW4gZ2V0U2VudGVuY2VzXG4gIH1cblxuICBvdmVycmlkZSBnZXRTZW50ZW5jZXMoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGJhc2VTZW50ZW5jZXMgPSBzdXBlci5nZXRTZW50ZW5jZXMoKTtcblxuICAgIC8vIEFwcGVuZCB3aW5kb3dlZCBsb29wIHNlbnRlbmNlcyBmb3IgZWFjaCB0YXJnZXRcbiAgICBjb25zdCByZXN1bHQgPSBbLi4uYmFzZVNlbnRlbmNlc107XG4gICAgZm9yIChjb25zdCBbLCBldmVudHNdIG9mIHRoaXMubG9vcEV2ZW50cykge1xuICAgICAgY29uc3QgdG90YWwgPSBldmVudHMubGVuZ3RoO1xuXG4gICAgICBpZiAodG90YWwgPD0gdGhpcy5oZWFkICsgdGhpcy50YWlsKSB7XG4gICAgICAgIC8vIFNtYWxsIGxvb3Ag4oCUIGVtaXQgYWxsIGl0ZXJhdGlvbnNcbiAgICAgICAgZm9yIChjb25zdCBldiBvZiBldmVudHMpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCh0aGlzLmZvcm1hdExvb3BTZW50ZW5jZShldikpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBMYXJnZSBsb29wIOKAlCBoZWFkICsgc2tpcCBzdW1tYXJ5ICsgdGFpbFxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaGVhZDsgaSsrKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2godGhpcy5mb3JtYXRMb29wU2VudGVuY2UoZXZlbnRzW2ldKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2tpcHBlZCA9IHRvdGFsIC0gdGhpcy5oZWFkIC0gdGhpcy50YWlsO1xuICAgICAgICByZXN1bHQucHVzaChgLi4uICgke3NraXBwZWR9IGl0ZXJhdGlvbnMgb21pdHRlZClgKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IHRvdGFsIC0gdGhpcy50YWlsOyBpIDwgdG90YWw7IGkrKykge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHRoaXMuZm9ybWF0TG9vcFNlbnRlbmNlKGV2ZW50c1tpXSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygc3VwcHJlc3NlZCBsb29wIHNlbnRlbmNlcy4gKi9cbiAgZ2V0U3VwcHJlc3NlZENvdW50KCk6IG51bWJlciB7XG4gICAgbGV0IHRvdGFsID0gMDtcbiAgICBmb3IgKGNvbnN0IFssIGV2ZW50c10gb2YgdGhpcy5sb29wRXZlbnRzKSB7XG4gICAgICBpZiAoZXZlbnRzLmxlbmd0aCA+IHRoaXMuaGVhZCArIHRoaXMudGFpbCkge1xuICAgICAgICB0b3RhbCArPSBldmVudHMubGVuZ3RoIC0gdGhpcy5oZWFkIC0gdGhpcy50YWlsO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdG90YWw7XG4gIH1cblxuICBvdmVycmlkZSBjbGVhcigpOiB2b2lkIHtcbiAgICBzdXBlci5jbGVhcigpO1xuICAgIHRoaXMubG9vcEV2ZW50cy5jbGVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRMb29wU2VudGVuY2UoZXZlbnQ6IEZsb3dMb29wRXZlbnQpOiBzdHJpbmcge1xuICAgIGlmIChldmVudC5kZXNjcmlwdGlvbikge1xuICAgICAgcmV0dXJuIGBPbiBwYXNzICR7ZXZlbnQuaXRlcmF0aW9ufTogJHtldmVudC5kZXNjcmlwdGlvbn0gYWdhaW4uYDtcbiAgICB9XG4gICAgcmV0dXJuIGBPbiBwYXNzICR7ZXZlbnQuaXRlcmF0aW9ufSB0aHJvdWdoICR7ZXZlbnQudGFyZ2V0fS5gO1xuICB9XG59XG4iXX0=
|