footprintjs 9.48.2 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/AGENTS.md +12 -10
  2. package/CLAUDE.md +21 -23
  3. package/README.md +1 -1
  4. package/dist/advanced.js +71 -128
  5. package/dist/esm/advanced.d.ts +24 -58
  6. package/dist/esm/advanced.js +13 -51
  7. package/dist/esm/index.d.ts +5 -8
  8. package/dist/esm/index.js +3 -3
  9. package/dist/esm/lib/builder/FlowChartBuilder.d.ts +1 -1
  10. package/dist/esm/lib/builder/FlowChartBuilder.js +3 -3
  11. package/dist/esm/lib/builder/structure/StructureRecorder.d.ts +1 -1
  12. package/dist/esm/lib/builder/structure/StructureRecorder.js +1 -1
  13. package/dist/esm/lib/capture/index.d.ts +0 -1
  14. package/dist/esm/lib/capture/index.js +1 -2
  15. package/dist/esm/lib/engine/graph/prefixNodeTree.js +2 -2
  16. package/dist/esm/lib/engine/handlers/ResumeEntry.d.ts +3 -3
  17. package/dist/esm/lib/engine/handlers/ResumeEntry.js +4 -4
  18. package/dist/esm/lib/engine/handlers/SubflowExecutor.d.ts +1 -2
  19. package/dist/esm/lib/engine/handlers/SubflowExecutor.js +4 -8
  20. package/dist/esm/lib/engine/index.d.ts +1 -1
  21. package/dist/esm/lib/engine/index.js +1 -1
  22. package/dist/esm/lib/engine/narrative/CombinedNarrativeRecorder.d.ts +4 -4
  23. package/dist/esm/lib/engine/narrative/CombinedNarrativeRecorder.js +1 -1
  24. package/dist/esm/lib/engine/narrative/index.d.ts +1 -1
  25. package/dist/esm/lib/engine/narrative/index.js +1 -1
  26. package/dist/esm/lib/engine/narrative/narrativeTypes.d.ts +1 -11
  27. package/dist/esm/lib/engine/narrative/narrativeTypes.js +1 -1
  28. package/dist/esm/lib/engine/traversal/FlowchartTraverser.d.ts +2 -10
  29. package/dist/esm/lib/engine/traversal/FlowchartTraverser.js +4 -6
  30. package/dist/esm/lib/engine/traversalContext.d.ts +1 -1
  31. package/dist/esm/lib/engine/traversalContext.js +2 -2
  32. package/dist/esm/lib/engine/types.d.ts +2 -10
  33. package/dist/esm/lib/engine/types.js +1 -1
  34. package/dist/esm/lib/engine/walkSubflowSpec.js +2 -2
  35. package/dist/esm/lib/ids/reservedIds.js +2 -2
  36. package/dist/esm/lib/memory/DiagnosticCollector.js +2 -2
  37. package/dist/esm/lib/memory/StageContext.d.ts +2 -4
  38. package/dist/esm/lib/memory/StageContext.js +2 -2
  39. package/dist/esm/lib/memory/borrowedMutation.js +2 -2
  40. package/dist/esm/lib/memory/index.d.ts +6 -21
  41. package/dist/esm/lib/memory/index.js +4 -22
  42. package/dist/esm/lib/memory/redaction.d.ts +1 -1
  43. package/dist/esm/lib/memory/redaction.js +2 -2
  44. package/dist/esm/lib/memory/runPolicy.d.ts +3 -2
  45. package/dist/esm/lib/memory/runPolicy.js +1 -1
  46. package/dist/esm/lib/reactive/createTypedScope.js +2 -2
  47. package/dist/esm/lib/reactive/writeTraps.js +2 -2
  48. package/dist/esm/lib/recorder/ControlDepRecorder.d.ts +3 -2
  49. package/dist/esm/lib/recorder/ControlDepRecorder.js +3 -2
  50. package/dist/esm/lib/recorder/EmitRecorder.d.ts +1 -1
  51. package/dist/esm/lib/recorder/EmitRecorder.js +1 -1
  52. package/dist/esm/lib/recorder/InOutRecorder.js +2 -2
  53. package/dist/esm/lib/recorder/qualityTrace.d.ts +1 -1
  54. package/dist/esm/lib/recorder/qualityTrace.js +2 -2
  55. package/dist/esm/lib/runner/DeferredObserverTier.js +2 -2
  56. package/dist/esm/lib/runner/ExecutionRuntime.d.ts +4 -5
  57. package/dist/esm/lib/runner/ExecutionRuntime.js +2 -5
  58. package/dist/esm/lib/runner/FlowChartExecutor.d.ts +1 -1
  59. package/dist/esm/lib/runner/FlowChartExecutor.js +1 -1
  60. package/dist/esm/lib/runner/getSubtreeSnapshot.d.ts +1 -1
  61. package/dist/esm/lib/runner/getSubtreeSnapshot.js +4 -4
  62. package/dist/esm/lib/runner/resume.js +2 -2
  63. package/dist/esm/lib/runner/snapshot.js +3 -2
  64. package/dist/esm/lib/scope/ScopeFacade.js +2 -2
  65. package/dist/esm/lib/scope/state/zod/scopeFactory.js +2 -2
  66. package/dist/esm/recorders.d.ts +2 -3
  67. package/dist/esm/recorders.js +1 -1
  68. package/dist/esm/trace.d.ts +11 -57
  69. package/dist/esm/trace.js +10 -68
  70. package/dist/index.js +3 -3
  71. package/dist/lib/builder/FlowChartBuilder.js +5 -5
  72. package/dist/lib/builder/structure/StructureRecorder.js +1 -1
  73. package/dist/lib/capture/index.js +2 -4
  74. package/dist/lib/engine/graph/prefixNodeTree.js +5 -5
  75. package/dist/lib/engine/handlers/ResumeEntry.js +4 -4
  76. package/dist/lib/engine/handlers/SubflowExecutor.js +5 -9
  77. package/dist/lib/engine/index.js +1 -1
  78. package/dist/lib/engine/narrative/CombinedNarrativeRecorder.js +1 -1
  79. package/dist/lib/engine/narrative/index.js +1 -1
  80. package/dist/lib/engine/narrative/narrativeTypes.js +1 -1
  81. package/dist/lib/engine/traversal/FlowchartTraverser.js +8 -10
  82. package/dist/lib/engine/traversalContext.js +4 -4
  83. package/dist/lib/engine/types.js +1 -1
  84. package/dist/lib/engine/walkSubflowSpec.js +3 -3
  85. package/dist/lib/ids/reservedIds.js +5 -5
  86. package/dist/lib/memory/DiagnosticCollector.js +3 -3
  87. package/dist/lib/memory/StageContext.js +3 -3
  88. package/dist/lib/memory/borrowedMutation.js +3 -3
  89. package/dist/lib/memory/index.js +7 -42
  90. package/dist/lib/memory/redaction.js +3 -3
  91. package/dist/lib/memory/runPolicy.js +1 -1
  92. package/dist/lib/reactive/createTypedScope.js +3 -3
  93. package/dist/lib/reactive/writeTraps.js +4 -4
  94. package/dist/lib/recorder/ControlDepRecorder.js +3 -2
  95. package/dist/lib/recorder/EmitRecorder.js +1 -1
  96. package/dist/lib/recorder/InOutRecorder.js +3 -3
  97. package/dist/lib/recorder/qualityTrace.js +4 -4
  98. package/dist/lib/runner/DeferredObserverTier.js +3 -3
  99. package/dist/lib/runner/ExecutionRuntime.js +6 -9
  100. package/dist/lib/runner/FlowChartExecutor.js +1 -1
  101. package/dist/lib/runner/getSubtreeSnapshot.js +6 -6
  102. package/dist/lib/runner/resume.js +3 -3
  103. package/dist/lib/runner/snapshot.js +6 -5
  104. package/dist/lib/scope/ScopeFacade.js +3 -3
  105. package/dist/lib/scope/state/zod/scopeFactory.js +4 -4
  106. package/dist/recorders.js +1 -1
  107. package/dist/trace.js +18 -120
  108. package/dist/types/advanced.d.ts +24 -58
  109. package/dist/types/index.d.ts +5 -8
  110. package/dist/types/lib/builder/FlowChartBuilder.d.ts +1 -1
  111. package/dist/types/lib/builder/structure/StructureRecorder.d.ts +1 -1
  112. package/dist/types/lib/capture/index.d.ts +0 -1
  113. package/dist/types/lib/engine/handlers/ResumeEntry.d.ts +3 -3
  114. package/dist/types/lib/engine/handlers/SubflowExecutor.d.ts +1 -2
  115. package/dist/types/lib/engine/index.d.ts +1 -1
  116. package/dist/types/lib/engine/narrative/CombinedNarrativeRecorder.d.ts +4 -4
  117. package/dist/types/lib/engine/narrative/index.d.ts +1 -1
  118. package/dist/types/lib/engine/narrative/narrativeTypes.d.ts +1 -11
  119. package/dist/types/lib/engine/traversal/FlowchartTraverser.d.ts +2 -10
  120. package/dist/types/lib/engine/traversalContext.d.ts +1 -1
  121. package/dist/types/lib/engine/types.d.ts +2 -10
  122. package/dist/types/lib/memory/StageContext.d.ts +2 -4
  123. package/dist/types/lib/memory/index.d.ts +6 -21
  124. package/dist/types/lib/memory/redaction.d.ts +1 -1
  125. package/dist/types/lib/memory/runPolicy.d.ts +3 -2
  126. package/dist/types/lib/recorder/ControlDepRecorder.d.ts +3 -2
  127. package/dist/types/lib/recorder/EmitRecorder.d.ts +1 -1
  128. package/dist/types/lib/recorder/qualityTrace.d.ts +1 -1
  129. package/dist/types/lib/runner/ExecutionRuntime.d.ts +4 -5
  130. package/dist/types/lib/runner/FlowChartExecutor.d.ts +1 -1
  131. package/dist/types/lib/runner/getSubtreeSnapshot.d.ts +1 -1
  132. package/dist/types/recorders.d.ts +2 -3
  133. package/dist/types/trace.d.ts +11 -57
  134. package/package.json +6 -15
  135. package/dist/esm/lib/capture/freeze.d.ts +0 -91
  136. package/dist/esm/lib/capture/freeze.js +0 -314
  137. package/dist/esm/lib/capture/ownData.d.ts +0 -7
  138. package/dist/esm/lib/capture/ownData.js +0 -15
  139. package/dist/esm/lib/capture/valueKinds.d.ts +0 -57
  140. package/dist/esm/lib/capture/valueKinds.js +0 -142
  141. package/dist/esm/lib/ids/runtimeStageId.d.ts +0 -173
  142. package/dist/esm/lib/ids/runtimeStageId.js +0 -194
  143. package/dist/esm/lib/memory/EventLog.d.ts +0 -105
  144. package/dist/esm/lib/memory/EventLog.js +0 -148
  145. package/dist/esm/lib/memory/RecordFrame.d.ts +0 -232
  146. package/dist/esm/lib/memory/RecordFrame.js +0 -296
  147. package/dist/esm/lib/memory/SharedMemory.d.ts +0 -46
  148. package/dist/esm/lib/memory/SharedMemory.js +0 -88
  149. package/dist/esm/lib/memory/TransactionBuffer.d.ts +0 -521
  150. package/dist/esm/lib/memory/TransactionBuffer.js +0 -946
  151. package/dist/esm/lib/memory/admission.d.ts +0 -81
  152. package/dist/esm/lib/memory/admission.js +0 -153
  153. package/dist/esm/lib/memory/backtrack.d.ts +0 -286
  154. package/dist/esm/lib/memory/backtrack.js +0 -457
  155. package/dist/esm/lib/memory/commitLogUtils.d.ts +0 -217
  156. package/dist/esm/lib/memory/commitLogUtils.js +0 -384
  157. package/dist/esm/lib/memory/deltaEncoding.d.ts +0 -66
  158. package/dist/esm/lib/memory/deltaEncoding.js +0 -122
  159. package/dist/esm/lib/memory/equality.d.ts +0 -93
  160. package/dist/esm/lib/memory/equality.js +0 -262
  161. package/dist/esm/lib/memory/eventPosition.d.ts +0 -18
  162. package/dist/esm/lib/memory/eventPosition.js +0 -2
  163. package/dist/esm/lib/memory/honesty.d.ts +0 -93
  164. package/dist/esm/lib/memory/honesty.js +0 -92
  165. package/dist/esm/lib/memory/keyPaths.d.ts +0 -125
  166. package/dist/esm/lib/memory/keyPaths.js +0 -227
  167. package/dist/esm/lib/memory/logModel.d.ts +0 -76
  168. package/dist/esm/lib/memory/logModel.js +0 -364
  169. package/dist/esm/lib/memory/merge.d.ts +0 -26
  170. package/dist/esm/lib/memory/merge.js +0 -60
  171. package/dist/esm/lib/memory/pathOps.d.ts +0 -115
  172. package/dist/esm/lib/memory/pathOps.js +0 -290
  173. package/dist/esm/lib/memory/paths.d.ts +0 -52
  174. package/dist/esm/lib/memory/paths.js +0 -57
  175. package/dist/esm/lib/memory/placeholders.d.ts +0 -39
  176. package/dist/esm/lib/memory/placeholders.js +0 -40
  177. package/dist/esm/lib/memory/recordCommit.d.ts +0 -45
  178. package/dist/esm/lib/memory/recordCommit.js +0 -61
  179. package/dist/esm/lib/memory/scrub.d.ts +0 -53
  180. package/dist/esm/lib/memory/scrub.js +0 -74
  181. package/dist/esm/lib/memory/types.d.ts +0 -209
  182. package/dist/esm/lib/memory/types.js +0 -10
  183. package/dist/esm/lib/memory/utils.d.ts +0 -73
  184. package/dist/esm/lib/memory/utils.js +0 -159
  185. package/dist/esm/lib/memory/verbs.d.ts +0 -333
  186. package/dist/esm/lib/memory/verbs.js +0 -427
  187. package/dist/esm/lib/recorder/CommitRangeIndex.d.ts +0 -147
  188. package/dist/esm/lib/recorder/CommitRangeIndex.js +0 -207
  189. package/dist/esm/lib/scope/detectCircular.d.ts +0 -13
  190. package/dist/esm/lib/scope/detectCircular.js +0 -14
  191. package/dist/esm/lib/scope/recorders/summarizeValue.d.ts +0 -5
  192. package/dist/esm/lib/scope/recorders/summarizeValue.js +0 -6
  193. package/dist/esm/lib/slice/elementProvenance.d.ts +0 -81
  194. package/dist/esm/lib/slice/elementProvenance.js +0 -190
  195. package/dist/esm/lib/slice/forwardSliceForKey.d.ts +0 -88
  196. package/dist/esm/lib/slice/forwardSliceForKey.js +0 -243
  197. package/dist/esm/lib/slice/index.d.ts +0 -25
  198. package/dist/esm/lib/slice/index.js +0 -25
  199. package/dist/esm/lib/slice/keyIndex.d.ts +0 -137
  200. package/dist/esm/lib/slice/keyIndex.js +0 -293
  201. package/dist/esm/lib/slice/keyTimeline.d.ts +0 -49
  202. package/dist/esm/lib/slice/keyTimeline.js +0 -113
  203. package/dist/esm/lib/slice/keysReadSources.d.ts +0 -51
  204. package/dist/esm/lib/slice/keysReadSources.js +0 -95
  205. package/dist/esm/lib/slice/serialize.d.ts +0 -78
  206. package/dist/esm/lib/slice/serialize.js +0 -278
  207. package/dist/esm/lib/slice/sliceForKey.d.ts +0 -47
  208. package/dist/esm/lib/slice/sliceForKey.js +0 -88
  209. package/dist/esm/lib/slice/types.d.ts +0 -567
  210. package/dist/esm/lib/slice/types.js +0 -25
  211. package/dist/esm/lib/time-travel/axis.d.ts +0 -119
  212. package/dist/esm/lib/time-travel/axis.js +0 -179
  213. package/dist/esm/lib/time-travel/bundles.d.ts +0 -77
  214. package/dist/esm/lib/time-travel/bundles.js +0 -136
  215. package/dist/esm/lib/time-travel/chain.d.ts +0 -93
  216. package/dist/esm/lib/time-travel/chain.js +0 -188
  217. package/dist/esm/lib/time-travel/commitStops.d.ts +0 -55
  218. package/dist/esm/lib/time-travel/commitStops.js +0 -202
  219. package/dist/esm/lib/time-travel/index.d.ts +0 -22
  220. package/dist/esm/lib/time-travel/index.js +0 -21
  221. package/dist/esm/lib/time-travel/stateAt.d.ts +0 -102
  222. package/dist/esm/lib/time-travel/stateAt.js +0 -153
  223. package/dist/esm/lib/time-travel/tagStops.d.ts +0 -72
  224. package/dist/esm/lib/time-travel/tagStops.js +0 -102
  225. package/dist/esm/lib/time-travel/timeTravel.d.ts +0 -70
  226. package/dist/esm/lib/time-travel/timeTravel.js +0 -360
  227. package/dist/esm/lib/time-travel/types.d.ts +0 -470
  228. package/dist/esm/lib/time-travel/types.js +0 -23
  229. package/dist/esm/write.d.ts +0 -47
  230. package/dist/esm/write.js +0 -46
  231. package/dist/lib/capture/freeze.js +0 -320
  232. package/dist/lib/capture/ownData.js +0 -19
  233. package/dist/lib/capture/valueKinds.js +0 -146
  234. package/dist/lib/ids/runtimeStageId.js +0 -210
  235. package/dist/lib/memory/EventLog.js +0 -152
  236. package/dist/lib/memory/RecordFrame.js +0 -300
  237. package/dist/lib/memory/SharedMemory.js +0 -92
  238. package/dist/lib/memory/TransactionBuffer.js +0 -950
  239. package/dist/lib/memory/admission.js +0 -159
  240. package/dist/lib/memory/backtrack.js +0 -463
  241. package/dist/lib/memory/commitLogUtils.js +0 -399
  242. package/dist/lib/memory/deltaEncoding.js +0 -128
  243. package/dist/lib/memory/equality.js +0 -266
  244. package/dist/lib/memory/eventPosition.js +0 -3
  245. package/dist/lib/memory/honesty.js +0 -95
  246. package/dist/lib/memory/keyPaths.js +0 -243
  247. package/dist/lib/memory/logModel.js +0 -372
  248. package/dist/lib/memory/merge.js +0 -64
  249. package/dist/lib/memory/pathOps.js +0 -306
  250. package/dist/lib/memory/paths.js +0 -62
  251. package/dist/lib/memory/placeholders.js +0 -43
  252. package/dist/lib/memory/recordCommit.js +0 -65
  253. package/dist/lib/memory/scrub.js +0 -79
  254. package/dist/lib/memory/types.js +0 -11
  255. package/dist/lib/memory/utils.js +0 -178
  256. package/dist/lib/memory/verbs.js +0 -444
  257. package/dist/lib/recorder/CommitRangeIndex.js +0 -211
  258. package/dist/lib/scope/detectCircular.js +0 -21
  259. package/dist/lib/scope/recorders/summarizeValue.js +0 -10
  260. package/dist/lib/slice/elementProvenance.js +0 -195
  261. package/dist/lib/slice/forwardSliceForKey.js +0 -247
  262. package/dist/lib/slice/index.js +0 -42
  263. package/dist/lib/slice/keyIndex.js +0 -313
  264. package/dist/lib/slice/keyTimeline.js +0 -117
  265. package/dist/lib/slice/keysReadSources.js +0 -101
  266. package/dist/lib/slice/serialize.js +0 -286
  267. package/dist/lib/slice/sliceForKey.js +0 -93
  268. package/dist/lib/slice/types.js +0 -26
  269. package/dist/lib/time-travel/axis.js +0 -184
  270. package/dist/lib/time-travel/bundles.js +0 -144
  271. package/dist/lib/time-travel/chain.js +0 -193
  272. package/dist/lib/time-travel/commitStops.js +0 -206
  273. package/dist/lib/time-travel/index.js +0 -32
  274. package/dist/lib/time-travel/stateAt.js +0 -160
  275. package/dist/lib/time-travel/tagStops.js +0 -106
  276. package/dist/lib/time-travel/timeTravel.js +0 -364
  277. package/dist/lib/time-travel/types.js +0 -24
  278. package/dist/types/lib/capture/freeze.d.ts +0 -91
  279. package/dist/types/lib/capture/ownData.d.ts +0 -7
  280. package/dist/types/lib/capture/valueKinds.d.ts +0 -57
  281. package/dist/types/lib/ids/runtimeStageId.d.ts +0 -173
  282. package/dist/types/lib/memory/EventLog.d.ts +0 -105
  283. package/dist/types/lib/memory/RecordFrame.d.ts +0 -232
  284. package/dist/types/lib/memory/SharedMemory.d.ts +0 -46
  285. package/dist/types/lib/memory/TransactionBuffer.d.ts +0 -521
  286. package/dist/types/lib/memory/admission.d.ts +0 -81
  287. package/dist/types/lib/memory/backtrack.d.ts +0 -286
  288. package/dist/types/lib/memory/commitLogUtils.d.ts +0 -217
  289. package/dist/types/lib/memory/deltaEncoding.d.ts +0 -66
  290. package/dist/types/lib/memory/equality.d.ts +0 -93
  291. package/dist/types/lib/memory/eventPosition.d.ts +0 -18
  292. package/dist/types/lib/memory/honesty.d.ts +0 -93
  293. package/dist/types/lib/memory/keyPaths.d.ts +0 -125
  294. package/dist/types/lib/memory/logModel.d.ts +0 -76
  295. package/dist/types/lib/memory/merge.d.ts +0 -26
  296. package/dist/types/lib/memory/pathOps.d.ts +0 -115
  297. package/dist/types/lib/memory/paths.d.ts +0 -52
  298. package/dist/types/lib/memory/placeholders.d.ts +0 -39
  299. package/dist/types/lib/memory/recordCommit.d.ts +0 -45
  300. package/dist/types/lib/memory/scrub.d.ts +0 -53
  301. package/dist/types/lib/memory/types.d.ts +0 -209
  302. package/dist/types/lib/memory/utils.d.ts +0 -73
  303. package/dist/types/lib/memory/verbs.d.ts +0 -333
  304. package/dist/types/lib/recorder/CommitRangeIndex.d.ts +0 -147
  305. package/dist/types/lib/scope/detectCircular.d.ts +0 -13
  306. package/dist/types/lib/scope/recorders/summarizeValue.d.ts +0 -5
  307. package/dist/types/lib/slice/elementProvenance.d.ts +0 -81
  308. package/dist/types/lib/slice/forwardSliceForKey.d.ts +0 -88
  309. package/dist/types/lib/slice/index.d.ts +0 -25
  310. package/dist/types/lib/slice/keyIndex.d.ts +0 -137
  311. package/dist/types/lib/slice/keyTimeline.d.ts +0 -49
  312. package/dist/types/lib/slice/keysReadSources.d.ts +0 -51
  313. package/dist/types/lib/slice/serialize.d.ts +0 -78
  314. package/dist/types/lib/slice/sliceForKey.d.ts +0 -47
  315. package/dist/types/lib/slice/types.d.ts +0 -567
  316. package/dist/types/lib/time-travel/axis.d.ts +0 -119
  317. package/dist/types/lib/time-travel/bundles.d.ts +0 -77
  318. package/dist/types/lib/time-travel/chain.d.ts +0 -93
  319. package/dist/types/lib/time-travel/commitStops.d.ts +0 -55
  320. package/dist/types/lib/time-travel/index.d.ts +0 -22
  321. package/dist/types/lib/time-travel/stateAt.d.ts +0 -102
  322. package/dist/types/lib/time-travel/tagStops.d.ts +0 -72
  323. package/dist/types/lib/time-travel/timeTravel.d.ts +0 -70
  324. package/dist/types/lib/time-travel/types.d.ts +0 -470
  325. package/dist/types/write.d.ts +0 -47
  326. package/dist/write.js +0 -52
package/dist/advanced.js CHANGED
@@ -1,134 +1,77 @@
1
1
  "use strict";
2
- /**
3
- * footprintjs/advanced — Low-level internals for custom execution engines and testing.
4
- *
5
- * Most users never need this. Use `footprintjs` (main) instead.
6
- * This entry point exposes the engine's frame (`StageContext`), the traverser
7
- * (`FlowchartTraverser`), the scope providers and the other primitives that
8
- * power the engine. The record has doors of its own: write one with
9
- * `footprintjs/write` (`SharedMemory`, `EventLog`, `RecordFrame`), read one
10
- * with `footprintjs/trace` (`CommitBundle`, `applySmartMerge`, the readers).
11
- * The record's names this door handed out before 9.47.0 stay here until
12
- * 10.0.0, the same symbols: import those from their own door (the nine record
13
- * internals among them have none, and leave the public surface at 10.0.0).
14
- *
15
- * ```ts
16
- * import { StageContext } from 'footprintjs/advanced';
17
- * import { SharedMemory } from 'footprintjs/write';
18
- * ```
19
- *
20
- * @module advanced
21
- */
22
- /**
23
- * FootPrint — Advanced / Internal API
24
- *
25
- * These exports are for advanced use cases, testing, and building
26
- * custom execution engines. Most users should use the main 'footprint' entry point.
27
- *
28
- * Import via: import { ... } from 'footprint/advanced'
29
- */
2
+ /** Engine internals: scopes, traversal, frame policy, redaction and contracts. */
30
3
  Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.unwrapHandles = exports.shouldWrapWithProxy = exports.SCOPE_METHOD_NAMES = exports.joinPath = exports.isHandle = exports.createArrayProxy = exports.buildNestedPatch = exports.runPolicy = exports.DEFAULT_RUN_POLICY = exports.ExecutionRuntime = exports.registerScopeRuntime = exports.toScopeFactory = exports.resolveScopeProvider = exports.registerScopeResolver = exports.makeFactoryProvider = exports.makeClassProvider = exports.looksLikeFactory = exports.looksLikeClassCtor = exports.isSubclassOfScopeFacade = exports.attachScopeMethods = exports.ScopeFacade = exports.createProtectedScope = exports.createErrorMessage = exports.createTypedScopeFactory = exports.specToStageNode = exports.SelectorFnList = exports.DeciderList = exports.ArrayMergeMode = exports.updateValue = exports.updateNestedValue = exports.setNestedValue = exports.redactPatch = exports.pathSegments = exports.normalisePath = exports.getRunAndGlobalPaths = exports.getNestedValue = exports.deepSmartMerge = exports.applySmartMerge = exports.TransactionBuffer = exports.SharedMemory = exports.EventLog = exports.findLastWriter = exports.findCommits = exports.findCommit = exports.parseRuntimeStageId = exports.createExecutionCounter = exports.buildRuntimeStageId = exports.RedactionRule = exports.DiagnosticCollector = exports.StageContext = void 0;
32
- exports.zodToJsonSchema = exports.normalizeSchema = exports.evaluateFilter = exports.SubflowExecutor = exports.StageRunner = exports.SelectorHandler = exports.seedSubflowGlobalStore = exports.RuntimeStructureManager = exports.ResumeEntry = exports.NodeResolver = exports.getInitialScopeValues = exports.extractParentScopeValues = exports.DEFAULT_MAX_ITERATIONS = exports.DeciderHandler = exports.createSubflowHandlerDeps = exports.ContinuationResolver = exports.computeNodeType = exports.ChildrenExecutor = exports.applyOutputMapping = exports.NullControlFlowNarrativeGenerator = exports.isStageNodeReturn = exports.FlowchartTraverser = exports.valueBehind = void 0;
33
- var index_js_1 = require("./lib/memory/index.js");
34
- Object.defineProperty(exports, "StageContext", { enumerable: true, get: function () { return index_js_1.StageContext; } });
35
- var index_js_2 = require("./lib/memory/index.js");
36
- Object.defineProperty(exports, "DiagnosticCollector", { enumerable: true, get: function () { return index_js_2.DiagnosticCollector; } });
37
- var index_js_3 = require("./lib/memory/index.js");
38
- Object.defineProperty(exports, "RedactionRule", { enumerable: true, get: function () { return index_js_3.RedactionRule; } });
39
- var runtimeStageId_js_1 = require("./lib/ids/runtimeStageId.js");
40
- Object.defineProperty(exports, "buildRuntimeStageId", { enumerable: true, get: function () { return runtimeStageId_js_1.buildRuntimeStageId; } });
41
- Object.defineProperty(exports, "createExecutionCounter", { enumerable: true, get: function () { return runtimeStageId_js_1.createExecutionCounter; } });
42
- Object.defineProperty(exports, "parseRuntimeStageId", { enumerable: true, get: function () { return runtimeStageId_js_1.parseRuntimeStageId; } });
43
- var commitLogUtils_js_1 = require("./lib/memory/commitLogUtils.js");
44
- Object.defineProperty(exports, "findCommit", { enumerable: true, get: function () { return commitLogUtils_js_1.findCommit; } });
45
- Object.defineProperty(exports, "findCommits", { enumerable: true, get: function () { return commitLogUtils_js_1.findCommits; } });
46
- Object.defineProperty(exports, "findLastWriter", { enumerable: true, get: function () { return commitLogUtils_js_1.findLastWriter; } });
47
- var index_js_4 = require("./lib/memory/index.js");
48
- Object.defineProperty(exports, "EventLog", { enumerable: true, get: function () { return index_js_4.EventLog; } });
49
- Object.defineProperty(exports, "SharedMemory", { enumerable: true, get: function () { return index_js_4.SharedMemory; } });
50
- Object.defineProperty(exports, "TransactionBuffer", { enumerable: true, get: function () { return index_js_4.TransactionBuffer; } });
51
- var index_js_5 = require("./lib/memory/index.js");
52
- Object.defineProperty(exports, "applySmartMerge", { enumerable: true, get: function () { return index_js_5.applySmartMerge; } });
53
- Object.defineProperty(exports, "deepSmartMerge", { enumerable: true, get: function () { return index_js_5.deepSmartMerge; } });
54
- Object.defineProperty(exports, "getNestedValue", { enumerable: true, get: function () { return index_js_5.getNestedValue; } });
55
- Object.defineProperty(exports, "getRunAndGlobalPaths", { enumerable: true, get: function () { return index_js_5.getRunAndGlobalPaths; } });
56
- Object.defineProperty(exports, "normalisePath", { enumerable: true, get: function () { return index_js_5.normalisePath; } });
57
- Object.defineProperty(exports, "pathSegments", { enumerable: true, get: function () { return index_js_5.pathSegments; } });
58
- Object.defineProperty(exports, "redactPatch", { enumerable: true, get: function () { return index_js_5.redactPatch; } });
59
- Object.defineProperty(exports, "setNestedValue", { enumerable: true, get: function () { return index_js_5.setNestedValue; } });
60
- Object.defineProperty(exports, "updateNestedValue", { enumerable: true, get: function () { return index_js_5.updateNestedValue; } });
61
- Object.defineProperty(exports, "updateValue", { enumerable: true, get: function () { return index_js_5.updateValue; } });
62
- var index_js_6 = require("./lib/builder/index.js");
63
- Object.defineProperty(exports, "ArrayMergeMode", { enumerable: true, get: function () { return index_js_6.ArrayMergeMode; } });
64
- Object.defineProperty(exports, "DeciderList", { enumerable: true, get: function () { return index_js_6.DeciderList; } });
65
- Object.defineProperty(exports, "SelectorFnList", { enumerable: true, get: function () { return index_js_6.SelectorFnList; } });
66
- Object.defineProperty(exports, "specToStageNode", { enumerable: true, get: function () { return index_js_6.specToStageNode; } });
4
+ exports.makeFactoryProvider = exports.makeClassProvider = exports.looksLikeFactory = exports.looksLikeClassCtor = exports.isSubclassOfScopeFacade = exports.attachScopeMethods = exports.ScopeFacade = exports.createProtectedScope = exports.createErrorMessage = exports.ExecutionRuntime = exports.valueBehind = exports.unwrapHandles = exports.shouldWrapWithProxy = exports.SCOPE_METHOD_NAMES = exports.joinPath = exports.isHandle = exports.createArrayProxy = exports.buildNestedPatch = exports.runPolicy = exports.DEFAULT_RUN_POLICY = exports.RedactionRule = exports.DiagnosticCollector = exports.StageContext = exports.SubflowExecutor = exports.StageRunner = exports.SelectorHandler = exports.seedSubflowGlobalStore = exports.RuntimeStructureManager = exports.ResumeEntry = exports.NodeResolver = exports.getInitialScopeValues = exports.extractParentScopeValues = exports.DEFAULT_MAX_ITERATIONS = exports.DeciderHandler = exports.createSubflowHandlerDeps = exports.ContinuationResolver = exports.computeNodeType = exports.ChildrenExecutor = exports.applyOutputMapping = exports.NullControlFlowNarrativeGenerator = exports.isStageNodeReturn = exports.FlowchartTraverser = exports.evaluateFilter = exports.zodToJsonSchema = exports.normalizeSchema = exports.createTypedScopeFactory = exports.specToStageNode = exports.SelectorFnList = exports.DeciderList = exports.ArrayMergeMode = void 0;
5
+ exports.registerScopeRuntime = exports.toScopeFactory = exports.resolveScopeProvider = exports.registerScopeResolver = void 0;
6
+ var index_js_1 = require("./lib/builder/index.js");
7
+ Object.defineProperty(exports, "ArrayMergeMode", { enumerable: true, get: function () { return index_js_1.ArrayMergeMode; } });
8
+ Object.defineProperty(exports, "DeciderList", { enumerable: true, get: function () { return index_js_1.DeciderList; } });
9
+ Object.defineProperty(exports, "SelectorFnList", { enumerable: true, get: function () { return index_js_1.SelectorFnList; } });
10
+ Object.defineProperty(exports, "specToStageNode", { enumerable: true, get: function () { return index_js_1.specToStageNode; } });
67
11
  var typedFlowChart_js_1 = require("./lib/builder/typedFlowChart.js");
68
12
  Object.defineProperty(exports, "createTypedScopeFactory", { enumerable: true, get: function () { return typedFlowChart_js_1.createTypedScopeFactory; } });
69
- var index_js_7 = require("./lib/scope/index.js");
70
- Object.defineProperty(exports, "createErrorMessage", { enumerable: true, get: function () { return index_js_7.createErrorMessage; } });
71
- Object.defineProperty(exports, "createProtectedScope", { enumerable: true, get: function () { return index_js_7.createProtectedScope; } });
72
- Object.defineProperty(exports, "ScopeFacade", { enumerable: true, get: function () { return index_js_7.ScopeFacade; } });
73
- var index_js_8 = require("./lib/scope/index.js");
74
- Object.defineProperty(exports, "attachScopeMethods", { enumerable: true, get: function () { return index_js_8.attachScopeMethods; } });
75
- Object.defineProperty(exports, "isSubclassOfScopeFacade", { enumerable: true, get: function () { return index_js_8.isSubclassOfScopeFacade; } });
76
- Object.defineProperty(exports, "looksLikeClassCtor", { enumerable: true, get: function () { return index_js_8.looksLikeClassCtor; } });
77
- Object.defineProperty(exports, "looksLikeFactory", { enumerable: true, get: function () { return index_js_8.looksLikeFactory; } });
78
- Object.defineProperty(exports, "makeClassProvider", { enumerable: true, get: function () { return index_js_8.makeClassProvider; } });
79
- Object.defineProperty(exports, "makeFactoryProvider", { enumerable: true, get: function () { return index_js_8.makeFactoryProvider; } });
80
- Object.defineProperty(exports, "registerScopeResolver", { enumerable: true, get: function () { return index_js_8.registerScopeResolver; } });
81
- Object.defineProperty(exports, "resolveScopeProvider", { enumerable: true, get: function () { return index_js_8.resolveScopeProvider; } });
82
- Object.defineProperty(exports, "toScopeFactory", { enumerable: true, get: function () { return index_js_8.toScopeFactory; } });
13
+ var index_js_2 = require("./lib/contract/index.js");
14
+ Object.defineProperty(exports, "normalizeSchema", { enumerable: true, get: function () { return index_js_2.normalizeSchema; } });
15
+ Object.defineProperty(exports, "zodToJsonSchema", { enumerable: true, get: function () { return index_js_2.zodToJsonSchema; } });
16
+ var index_js_3 = require("./lib/decide/index.js");
17
+ Object.defineProperty(exports, "evaluateFilter", { enumerable: true, get: function () { return index_js_3.evaluateFilter; } });
18
+ var index_js_4 = require("./lib/engine/index.js");
19
+ Object.defineProperty(exports, "FlowchartTraverser", { enumerable: true, get: function () { return index_js_4.FlowchartTraverser; } });
20
+ var index_js_5 = require("./lib/engine/index.js");
21
+ Object.defineProperty(exports, "isStageNodeReturn", { enumerable: true, get: function () { return index_js_5.isStageNodeReturn; } });
22
+ var index_js_6 = require("./lib/engine/index.js");
23
+ Object.defineProperty(exports, "NullControlFlowNarrativeGenerator", { enumerable: true, get: function () { return index_js_6.NullControlFlowNarrativeGenerator; } });
24
+ var index_js_7 = require("./lib/engine/index.js");
25
+ Object.defineProperty(exports, "applyOutputMapping", { enumerable: true, get: function () { return index_js_7.applyOutputMapping; } });
26
+ Object.defineProperty(exports, "ChildrenExecutor", { enumerable: true, get: function () { return index_js_7.ChildrenExecutor; } });
27
+ Object.defineProperty(exports, "computeNodeType", { enumerable: true, get: function () { return index_js_7.computeNodeType; } });
28
+ Object.defineProperty(exports, "ContinuationResolver", { enumerable: true, get: function () { return index_js_7.ContinuationResolver; } });
29
+ Object.defineProperty(exports, "createSubflowHandlerDeps", { enumerable: true, get: function () { return index_js_7.createSubflowHandlerDeps; } });
30
+ Object.defineProperty(exports, "DeciderHandler", { enumerable: true, get: function () { return index_js_7.DeciderHandler; } });
31
+ Object.defineProperty(exports, "DEFAULT_MAX_ITERATIONS", { enumerable: true, get: function () { return index_js_7.DEFAULT_MAX_ITERATIONS; } });
32
+ Object.defineProperty(exports, "extractParentScopeValues", { enumerable: true, get: function () { return index_js_7.extractParentScopeValues; } });
33
+ Object.defineProperty(exports, "getInitialScopeValues", { enumerable: true, get: function () { return index_js_7.getInitialScopeValues; } });
34
+ Object.defineProperty(exports, "NodeResolver", { enumerable: true, get: function () { return index_js_7.NodeResolver; } });
35
+ Object.defineProperty(exports, "ResumeEntry", { enumerable: true, get: function () { return index_js_7.ResumeEntry; } });
36
+ Object.defineProperty(exports, "RuntimeStructureManager", { enumerable: true, get: function () { return index_js_7.RuntimeStructureManager; } });
37
+ Object.defineProperty(exports, "seedSubflowGlobalStore", { enumerable: true, get: function () { return index_js_7.seedSubflowGlobalStore; } });
38
+ Object.defineProperty(exports, "SelectorHandler", { enumerable: true, get: function () { return index_js_7.SelectorHandler; } });
39
+ Object.defineProperty(exports, "StageRunner", { enumerable: true, get: function () { return index_js_7.StageRunner; } });
40
+ Object.defineProperty(exports, "SubflowExecutor", { enumerable: true, get: function () { return index_js_7.SubflowExecutor; } });
41
+ var index_js_8 = require("./lib/memory/index.js");
42
+ Object.defineProperty(exports, "StageContext", { enumerable: true, get: function () { return index_js_8.StageContext; } });
43
+ var index_js_9 = require("./lib/memory/index.js");
44
+ Object.defineProperty(exports, "DiagnosticCollector", { enumerable: true, get: function () { return index_js_9.DiagnosticCollector; } });
45
+ var index_js_10 = require("./lib/memory/index.js");
46
+ Object.defineProperty(exports, "RedactionRule", { enumerable: true, get: function () { return index_js_10.RedactionRule; } });
47
+ var index_js_11 = require("./lib/memory/index.js");
48
+ Object.defineProperty(exports, "DEFAULT_RUN_POLICY", { enumerable: true, get: function () { return index_js_11.DEFAULT_RUN_POLICY; } });
49
+ Object.defineProperty(exports, "runPolicy", { enumerable: true, get: function () { return index_js_11.runPolicy; } });
50
+ var index_js_12 = require("./lib/reactive/index.js");
51
+ Object.defineProperty(exports, "buildNestedPatch", { enumerable: true, get: function () { return index_js_12.buildNestedPatch; } });
52
+ Object.defineProperty(exports, "createArrayProxy", { enumerable: true, get: function () { return index_js_12.createArrayProxy; } });
53
+ Object.defineProperty(exports, "isHandle", { enumerable: true, get: function () { return index_js_12.isHandle; } });
54
+ Object.defineProperty(exports, "joinPath", { enumerable: true, get: function () { return index_js_12.joinPath; } });
55
+ Object.defineProperty(exports, "SCOPE_METHOD_NAMES", { enumerable: true, get: function () { return index_js_12.SCOPE_METHOD_NAMES; } });
56
+ Object.defineProperty(exports, "shouldWrapWithProxy", { enumerable: true, get: function () { return index_js_12.shouldWrapWithProxy; } });
57
+ Object.defineProperty(exports, "unwrapHandles", { enumerable: true, get: function () { return index_js_12.unwrapHandles; } });
58
+ Object.defineProperty(exports, "valueBehind", { enumerable: true, get: function () { return index_js_12.valueBehind; } });
59
+ var index_js_13 = require("./lib/runner/index.js");
60
+ Object.defineProperty(exports, "ExecutionRuntime", { enumerable: true, get: function () { return index_js_13.ExecutionRuntime; } });
61
+ var index_js_14 = require("./lib/scope/index.js");
62
+ Object.defineProperty(exports, "createErrorMessage", { enumerable: true, get: function () { return index_js_14.createErrorMessage; } });
63
+ Object.defineProperty(exports, "createProtectedScope", { enumerable: true, get: function () { return index_js_14.createProtectedScope; } });
64
+ Object.defineProperty(exports, "ScopeFacade", { enumerable: true, get: function () { return index_js_14.ScopeFacade; } });
65
+ var index_js_15 = require("./lib/scope/index.js");
66
+ Object.defineProperty(exports, "attachScopeMethods", { enumerable: true, get: function () { return index_js_15.attachScopeMethods; } });
67
+ Object.defineProperty(exports, "isSubclassOfScopeFacade", { enumerable: true, get: function () { return index_js_15.isSubclassOfScopeFacade; } });
68
+ Object.defineProperty(exports, "looksLikeClassCtor", { enumerable: true, get: function () { return index_js_15.looksLikeClassCtor; } });
69
+ Object.defineProperty(exports, "looksLikeFactory", { enumerable: true, get: function () { return index_js_15.looksLikeFactory; } });
70
+ Object.defineProperty(exports, "makeClassProvider", { enumerable: true, get: function () { return index_js_15.makeClassProvider; } });
71
+ Object.defineProperty(exports, "makeFactoryProvider", { enumerable: true, get: function () { return index_js_15.makeFactoryProvider; } });
72
+ Object.defineProperty(exports, "registerScopeResolver", { enumerable: true, get: function () { return index_js_15.registerScopeResolver; } });
73
+ Object.defineProperty(exports, "resolveScopeProvider", { enumerable: true, get: function () { return index_js_15.resolveScopeProvider; } });
74
+ Object.defineProperty(exports, "toScopeFactory", { enumerable: true, get: function () { return index_js_15.toScopeFactory; } });
83
75
  var runtime_js_1 = require("./lib/scope/runtime.js");
84
76
  Object.defineProperty(exports, "registerScopeRuntime", { enumerable: true, get: function () { return runtime_js_1.registerScopeRuntime; } });
85
- var index_js_9 = require("./lib/runner/index.js");
86
- Object.defineProperty(exports, "ExecutionRuntime", { enumerable: true, get: function () { return index_js_9.ExecutionRuntime; } });
87
- var index_js_10 = require("./lib/memory/index.js");
88
- Object.defineProperty(exports, "DEFAULT_RUN_POLICY", { enumerable: true, get: function () { return index_js_10.DEFAULT_RUN_POLICY; } });
89
- Object.defineProperty(exports, "runPolicy", { enumerable: true, get: function () { return index_js_10.runPolicy; } });
90
- var index_js_11 = require("./lib/reactive/index.js");
91
- Object.defineProperty(exports, "buildNestedPatch", { enumerable: true, get: function () { return index_js_11.buildNestedPatch; } });
92
- Object.defineProperty(exports, "createArrayProxy", { enumerable: true, get: function () { return index_js_11.createArrayProxy; } });
93
- Object.defineProperty(exports, "isHandle", { enumerable: true, get: function () { return index_js_11.isHandle; } });
94
- Object.defineProperty(exports, "joinPath", { enumerable: true, get: function () { return index_js_11.joinPath; } });
95
- Object.defineProperty(exports, "SCOPE_METHOD_NAMES", { enumerable: true, get: function () { return index_js_11.SCOPE_METHOD_NAMES; } });
96
- Object.defineProperty(exports, "shouldWrapWithProxy", { enumerable: true, get: function () { return index_js_11.shouldWrapWithProxy; } });
97
- Object.defineProperty(exports, "unwrapHandles", { enumerable: true, get: function () { return index_js_11.unwrapHandles; } });
98
- Object.defineProperty(exports, "valueBehind", { enumerable: true, get: function () { return index_js_11.valueBehind; } });
99
- var index_js_12 = require("./lib/engine/index.js");
100
- Object.defineProperty(exports, "FlowchartTraverser", { enumerable: true, get: function () { return index_js_12.FlowchartTraverser; } });
101
- var index_js_13 = require("./lib/engine/index.js");
102
- Object.defineProperty(exports, "isStageNodeReturn", { enumerable: true, get: function () { return index_js_13.isStageNodeReturn; } });
103
- var index_js_14 = require("./lib/engine/index.js");
104
- Object.defineProperty(exports, "NullControlFlowNarrativeGenerator", { enumerable: true, get: function () { return index_js_14.NullControlFlowNarrativeGenerator; } });
105
- var index_js_15 = require("./lib/engine/index.js");
106
- Object.defineProperty(exports, "applyOutputMapping", { enumerable: true, get: function () { return index_js_15.applyOutputMapping; } });
107
- Object.defineProperty(exports, "ChildrenExecutor", { enumerable: true, get: function () { return index_js_15.ChildrenExecutor; } });
108
- Object.defineProperty(exports, "computeNodeType", { enumerable: true, get: function () { return index_js_15.computeNodeType; } });
109
- Object.defineProperty(exports, "ContinuationResolver", { enumerable: true, get: function () { return index_js_15.ContinuationResolver; } });
110
- Object.defineProperty(exports, "createSubflowHandlerDeps", { enumerable: true, get: function () { return index_js_15.createSubflowHandlerDeps; } });
111
- Object.defineProperty(exports, "DeciderHandler", { enumerable: true, get: function () { return index_js_15.DeciderHandler; } });
112
- Object.defineProperty(exports, "DEFAULT_MAX_ITERATIONS", { enumerable: true, get: function () { return index_js_15.DEFAULT_MAX_ITERATIONS; } });
113
- Object.defineProperty(exports, "extractParentScopeValues", { enumerable: true, get: function () { return index_js_15.extractParentScopeValues; } });
114
- Object.defineProperty(exports, "getInitialScopeValues", { enumerable: true, get: function () { return index_js_15.getInitialScopeValues; } });
115
- Object.defineProperty(exports, "NodeResolver", { enumerable: true, get: function () { return index_js_15.NodeResolver; } });
116
- Object.defineProperty(exports, "ResumeEntry", { enumerable: true, get: function () { return index_js_15.ResumeEntry; } });
117
- Object.defineProperty(exports, "RuntimeStructureManager", { enumerable: true, get: function () { return index_js_15.RuntimeStructureManager; } });
118
- Object.defineProperty(exports, "seedSubflowGlobalStore", { enumerable: true, get: function () { return index_js_15.seedSubflowGlobalStore; } });
119
- Object.defineProperty(exports, "SelectorHandler", { enumerable: true, get: function () { return index_js_15.SelectorHandler; } });
120
- Object.defineProperty(exports, "StageRunner", { enumerable: true, get: function () { return index_js_15.StageRunner; } });
121
- Object.defineProperty(exports, "SubflowExecutor", { enumerable: true, get: function () { return index_js_15.SubflowExecutor; } });
122
- var index_js_16 = require("./lib/decide/index.js");
123
- Object.defineProperty(exports, "evaluateFilter", { enumerable: true, get: function () { return index_js_16.evaluateFilter; } });
124
- // ============================================================================
125
- // Contract — schema normalization (for custom tool emitters)
126
- // ============================================================================
127
- // Pure chart-metadata helpers behind toMCPTool/toOpenAPI. Custom emitters
128
- // (per-edge MCP descriptors) reuse the Zod→JSON-Schema conversion without
129
- // importing the runner. Gate inputs with detectSchema (main barrel): a
130
- // non-Zod 'parseable' schema (yup/superstruct) passes through unconverted.
131
- var index_js_17 = require("./lib/contract/index.js");
132
- Object.defineProperty(exports, "normalizeSchema", { enumerable: true, get: function () { return index_js_17.normalizeSchema; } });
133
- Object.defineProperty(exports, "zodToJsonSchema", { enumerable: true, get: function () { return index_js_17.zodToJsonSchema; } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWR2YW5jZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0g7Ozs7Ozs7R0FPRzs7OztBQWlCSCxrREFBcUQ7QUFBNUMsd0dBQUEsWUFBWSxPQUFBO0FBQ3JCLGtEQUE0RDtBQUFuRCwrR0FBQSxtQkFBbUIsT0FBQTtBQUM1QixrREFBc0Q7QUFBN0MseUdBQUEsYUFBYSxPQUFBO0FBZXRCLGlFQUErRztBQUF0Ryx3SEFBQSxtQkFBbUIsT0FBQTtBQUFFLDJIQUFBLHNCQUFzQixPQUFBO0FBQUUsd0hBQUEsbUJBQW1CLE9BQUE7QUFDekUsb0VBQXlGO0FBQWhGLCtHQUFBLFVBQVUsT0FBQTtBQUFFLGdIQUFBLFdBQVcsT0FBQTtBQUFFLG1IQUFBLGNBQWMsT0FBQTtBQUVoRCxrREFBa0Y7QUFBekUsb0dBQUEsUUFBUSxPQUFBO0FBQUUsd0dBQUEsWUFBWSxPQUFBO0FBQUUsNkdBQUEsaUJBQWlCLE9BQUE7QUFDbEQsa0RBVytCO0FBVjdCLDJHQUFBLGVBQWUsT0FBQTtBQUNmLDBHQUFBLGNBQWMsT0FBQTtBQUNkLDBHQUFBLGNBQWMsT0FBQTtBQUNkLGdIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLHlHQUFBLGFBQWEsT0FBQTtBQUNiLHdHQUFBLFlBQVksT0FBQTtBQUNaLHVHQUFBLFdBQVcsT0FBQTtBQUNYLDBHQUFBLGNBQWMsT0FBQTtBQUNkLDZHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLHVHQUFBLFdBQVcsT0FBQTtBQXVCYixtREFBc0c7QUFBN0YsMEdBQUEsY0FBYyxPQUFBO0FBQUUsdUdBQUEsV0FBVyxPQUFBO0FBQUUsMEdBQUEsY0FBYyxPQUFBO0FBQUUsMkdBQUEsZUFBZSxPQUFBO0FBQ3JFLHFFQUEwRTtBQUFqRSw0SEFBQSx1QkFBdUIsT0FBQTtBQWFoQyxpREFBNkY7QUFBcEYsOEdBQUEsa0JBQWtCLE9BQUE7QUFBRSxnSEFBQSxvQkFBb0IsT0FBQTtBQUFFLHVHQUFBLFdBQVcsT0FBQTtBQUM5RCxpREFVOEI7QUFUNUIsOEdBQUEsa0JBQWtCLE9BQUE7QUFDbEIsbUhBQUEsdUJBQXVCLE9BQUE7QUFDdkIsOEdBQUEsa0JBQWtCLE9BQUE7QUFDbEIsNEdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsNkdBQUEsaUJBQWlCLE9BQUE7QUFDakIsK0dBQUEsbUJBQW1CLE9BQUE7QUFDbkIsaUhBQUEscUJBQXFCLE9BQUE7QUFDckIsZ0hBQUEsb0JBQW9CLE9BQUE7QUFDcEIsMEdBQUEsY0FBYyxPQUFBO0FBR2hCLHFEQUE4RDtBQUFyRCxrSEFBQSxvQkFBb0IsT0FBQTtBQXdCN0Isa0RBQXlEO0FBQWhELDRHQUFBLGdCQUFnQixPQUFBO0FBR3pCLG1EQUFzRTtBQUE3RCwrR0FBQSxrQkFBa0IsT0FBQTtBQUFFLHNHQUFBLFNBQVMsT0FBQTtBQU90QyxxREFTaUM7QUFSL0IsNkdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsNkdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIscUdBQUEsUUFBUSxPQUFBO0FBQ1IscUdBQUEsUUFBUSxPQUFBO0FBQ1IsK0dBQUEsa0JBQWtCLE9BQUE7QUFDbEIsZ0hBQUEsbUJBQW1CLE9BQUE7QUFDbkIsMEdBQUEsYUFBYSxPQUFBO0FBQ2Isd0dBQUEsV0FBVyxPQUFBO0FBU2IsbURBQTJEO0FBQWxELCtHQUFBLGtCQUFrQixPQUFBO0FBQzNCLG1EQUEwRDtBQUFqRCw4R0FBQSxpQkFBaUIsT0FBQTtBQW1CMUIsbURBQTBFO0FBQWpFLDhIQUFBLGlDQUFpQyxPQUFBO0FBSTFDLG1EQWlCK0I7QUFoQjdCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDRHQUFBLGVBQWUsT0FBQTtBQUNmLGlIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLHFIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLDJHQUFBLGNBQWMsT0FBQTtBQUNkLG1IQUFBLHNCQUFzQixPQUFBO0FBQ3RCLHFIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLGtIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLHlHQUFBLFlBQVksT0FBQTtBQUNaLHdHQUFBLFdBQVcsT0FBQTtBQUNYLG9IQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLG1IQUFBLHNCQUFzQixPQUFBO0FBQ3RCLDRHQUFBLGVBQWUsT0FBQTtBQUNmLHdHQUFBLFdBQVcsT0FBQTtBQUNYLDRHQUFBLGVBQWUsT0FBQTtBQVdqQixtREFBdUQ7QUFBOUMsMkdBQUEsY0FBYyxPQUFBO0FBRXZCLCtFQUErRTtBQUMvRSw2REFBNkQ7QUFDN0QsK0VBQStFO0FBQy9FLDBFQUEwRTtBQUMxRSwwRUFBMEU7QUFDMUUsdUVBQXVFO0FBQ3ZFLDJFQUEyRTtBQUMzRSxxREFBMkU7QUFBbEUsNEdBQUEsZUFBZSxPQUFBO0FBQUUsNEdBQUEsZUFBZSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBmb290cHJpbnRqcy9hZHZhbmNlZCDigJQgTG93LWxldmVsIGludGVybmFscyBmb3IgY3VzdG9tIGV4ZWN1dGlvbiBlbmdpbmVzIGFuZCB0ZXN0aW5nLlxuICpcbiAqIE1vc3QgdXNlcnMgbmV2ZXIgbmVlZCB0aGlzLiBVc2UgYGZvb3RwcmludGpzYCAobWFpbikgaW5zdGVhZC5cbiAqIFRoaXMgZW50cnkgcG9pbnQgZXhwb3NlcyB0aGUgZW5naW5lJ3MgZnJhbWUgKGBTdGFnZUNvbnRleHRgKSwgdGhlIHRyYXZlcnNlclxuICogKGBGbG93Y2hhcnRUcmF2ZXJzZXJgKSwgdGhlIHNjb3BlIHByb3ZpZGVycyBhbmQgdGhlIG90aGVyIHByaW1pdGl2ZXMgdGhhdFxuICogcG93ZXIgdGhlIGVuZ2luZS4gVGhlIHJlY29yZCBoYXMgZG9vcnMgb2YgaXRzIG93bjogd3JpdGUgb25lIHdpdGhcbiAqIGBmb290cHJpbnRqcy93cml0ZWAgKGBTaGFyZWRNZW1vcnlgLCBgRXZlbnRMb2dgLCBgUmVjb3JkRnJhbWVgKSwgcmVhZCBvbmVcbiAqIHdpdGggYGZvb3RwcmludGpzL3RyYWNlYCAoYENvbW1pdEJ1bmRsZWAsIGBhcHBseVNtYXJ0TWVyZ2VgLCB0aGUgcmVhZGVycykuXG4gKiBUaGUgcmVjb3JkJ3MgbmFtZXMgdGhpcyBkb29yIGhhbmRlZCBvdXQgYmVmb3JlIDkuNDcuMCBzdGF5IGhlcmUgdW50aWxcbiAqIDEwLjAuMCwgdGhlIHNhbWUgc3ltYm9sczogaW1wb3J0IHRob3NlIGZyb20gdGhlaXIgb3duIGRvb3IgKHRoZSBuaW5lIHJlY29yZFxuICogaW50ZXJuYWxzIGFtb25nIHRoZW0gaGF2ZSBub25lLCBhbmQgbGVhdmUgdGhlIHB1YmxpYyBzdXJmYWNlIGF0IDEwLjAuMCkuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IFN0YWdlQ29udGV4dCB9IGZyb20gJ2Zvb3RwcmludGpzL2FkdmFuY2VkJztcbiAqIGltcG9ydCB7IFNoYXJlZE1lbW9yeSB9IGZyb20gJ2Zvb3RwcmludGpzL3dyaXRlJztcbiAqIGBgYFxuICpcbiAqIEBtb2R1bGUgYWR2YW5jZWRcbiAqL1xuLyoqXG4gKiBGb290UHJpbnQg4oCUIEFkdmFuY2VkIC8gSW50ZXJuYWwgQVBJXG4gKlxuICogVGhlc2UgZXhwb3J0cyBhcmUgZm9yIGFkdmFuY2VkIHVzZSBjYXNlcywgdGVzdGluZywgYW5kIGJ1aWxkaW5nXG4gKiBjdXN0b20gZXhlY3V0aW9uIGVuZ2luZXMuIE1vc3QgdXNlcnMgc2hvdWxkIHVzZSB0aGUgbWFpbiAnZm9vdHByaW50JyBlbnRyeSBwb2ludC5cbiAqXG4gKiBJbXBvcnQgdmlhOiBpbXBvcnQgeyAuLi4gfSBmcm9tICdmb290cHJpbnQvYWR2YW5jZWQnXG4gKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWVtb3J5IOKAlCB0aGUgZW5naW5lJ3MgZnJhbWUsIGl0cyBydW4gcG9saWN5IGFuZCB0aGUgcmVkYWN0aW9uIHZlcmRpY3Rcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUge1xuICBGbG93Q29udHJvbFR5cGUsXG4gIEZsb3dNZXNzYWdlLFxuICBSZWFkU3VtbWFyeU1hcmtlcixcbiAgUmVhZFRyYWNraW5nTW9kZSxcbiAgUmV0ZW50aW9uUG9saWN5LFxuICBTdGFnZVNuYXBzaG90LFxuICBXcml0ZVN1bW1hcnlNYXJrZXIsXG4gIFdyaXRlVHJhY2tpbmdNb2RlLFxufSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBSZWRhY3Rpb25WZXJkaWN0IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IFN0YWdlQ29udGV4dCB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBEaWFnbm9zdGljQ29sbGVjdG9yIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IFJlZGFjdGlvblJ1bGUgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUaGUgcmVjb3JkJ3MgbmFtZXMg4oCUIGtlcHQgaGVyZSB1bnRpbCAxMC4wLjAgKHRoZSB0cmFjZSBleHRyYWN0aW9uLCBFNilcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRoZSByZWNvcmQgaGFzIGRvb3JzIG9mIGl0cyBvd24gc2luY2UgOS40Ny4wIChDNSk6IGl0cyBzaGFwZXMgYW5kIHJlYWRlcnMgb24gYGZvb3RwcmludGpzL3RyYWNlYFxuLy8gKGBDb21taXRCdW5kbGVgLCBgVHJhY2VFbnRyeWAsIGBNZW1vcnlQYXRjaGAsIGBVbnRyYWNrZWRTb3VyY2VgLCBgYXBwbHlTbWFydE1lcmdlYCwgdGhlXG4vLyBydW50aW1lU3RhZ2VJZCBjb2RlYywgYGZpbmRDb21taXRgIC8gYGZpbmRDb21taXRzYCAvIGBmaW5kTGFzdFdyaXRlcmAsIGBwYXRoU2VnbWVudHNgKSwgaXRzIHdyaXRlciBvblxuLy8gYGZvb3RwcmludGpzL3dyaXRlYCAoYFNoYXJlZE1lbW9yeWAsIGBFdmVudExvZ2AsIGBSZWNvcmRGcmFtZWApLiBOZXcgY29kZSBpbXBvcnRzIHRob3NlLiBBIHB1Ymxpc2hlZFxuLy8gbWlub3IgbmV2ZXIgZHJvcHMgYSBuYW1lIOKAlCBjb25zdW1lcnMgaG9sZCBjYXJldCByYW5nZXMsIHNvIGEgZHJvcHBlZCBleHBvcnQgYnJlYWtzIHRoZWlyIGZyZXNoXG4vLyBpbnN0YWxscyDigJQgc28gYC9hZHZhbmNlZGAga2VlcHMgaGFuZGluZyBvdXQgZXZlcnkgbmFtZSBpdCBoYW5kZWQgb3V0IGJlZm9yZTogdGhlIFNBTUUgc3ltYm9scyAobm9cbi8vIGZvcndhcmRlcjsgc2Vjb25kIGRvb3JzIGluIHRlc3QvYXJjaGl0ZWN0dXJlL2V4cG9ydHMudGVzdC50cyksIGFuZCB0aGUgcmVjb3JkIGludGVybmFscyB0aGF0IGhhdmUgbm9cbi8vIHB1YmxpYyBob21lLiAxMC4wLjAgcmVtb3ZlcyBhbGwgb2YgdGhlbS5cblxuZXhwb3J0IHR5cGUgeyBFeGVjdXRpb25Db3VudGVyIH0gZnJvbSAnLi9saWIvaWRzL3J1bnRpbWVTdGFnZUlkLmpzJztcbmV4cG9ydCB7IGJ1aWxkUnVudGltZVN0YWdlSWQsIGNyZWF0ZUV4ZWN1dGlvbkNvdW50ZXIsIHBhcnNlUnVudGltZVN0YWdlSWQgfSBmcm9tICcuL2xpYi9pZHMvcnVudGltZVN0YWdlSWQuanMnO1xuZXhwb3J0IHsgZmluZENvbW1pdCwgZmluZENvbW1pdHMsIGZpbmRMYXN0V3JpdGVyIH0gZnJvbSAnLi9saWIvbWVtb3J5L2NvbW1pdExvZ1V0aWxzLmpzJztcbmV4cG9ydCB0eXBlIHsgQ29tbWl0QnVuZGxlLCBNZW1vcnlQYXRjaCwgVHJhY2VFbnRyeSwgVW50cmFja2VkU291cmNlIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IEV2ZW50TG9nLCBTaGFyZWRNZW1vcnksIFRyYW5zYWN0aW9uQnVmZmVyIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGFwcGx5U21hcnRNZXJnZSxcbiAgZGVlcFNtYXJ0TWVyZ2UsXG4gIGdldE5lc3RlZFZhbHVlLFxuICBnZXRSdW5BbmRHbG9iYWxQYXRocyxcbiAgbm9ybWFsaXNlUGF0aCxcbiAgcGF0aFNlZ21lbnRzLFxuICByZWRhY3RQYXRjaCxcbiAgc2V0TmVzdGVkVmFsdWUsXG4gIHVwZGF0ZU5lc3RlZFZhbHVlLFxuICB1cGRhdGVWYWx1ZSxcbn0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQnVpbGRlciDigJQgVHlwZXMgYW5kIGludGVybmFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7XG4gIEV4ZWNPcHRpb25zLFxuICBGbG93Q2hhcnRPcHRpb25zLFxuICBGbG93Q2hhcnRTcGVjLFxuICBJTG9nZ2VyLFxuICBTY29wZVByb3RlY3Rpb25Nb2RlLFxuICBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUsXG4gIFNpbXBsaWZpZWRQYXJhbGxlbFNwZWMsXG4gIFN0YWdlRm4sXG4gIFN0YWdlTm9kZSxcbiAgU3RyZWFtQ2FsbGJhY2ssXG4gIFN0cmVhbUxpZmVjeWNsZUhhbmRsZXIsXG4gIFN0cmVhbVRva2VuSGFuZGxlcixcbiAgU3ViZmxvd01vdW50T3B0aW9ucyxcbiAgU3ViZmxvd1JlZixcbn0gZnJvbSAnLi9saWIvYnVpbGRlci9pbmRleC5qcyc7XG5leHBvcnQgeyBBcnJheU1lcmdlTW9kZSwgRGVjaWRlckxpc3QsIFNlbGVjdG9yRm5MaXN0LCBzcGVjVG9TdGFnZU5vZGUgfSBmcm9tICcuL2xpYi9idWlsZGVyL2luZGV4LmpzJztcbmV4cG9ydCB7IGNyZWF0ZVR5cGVkU2NvcGVGYWN0b3J5IH0gZnJvbSAnLi9saWIvYnVpbGRlci90eXBlZEZsb3dDaGFydC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNjb3BlIOKAlCBQcm92aWRlcnMsIHByb3RlY3Rpb24sIHJlY29yZGVyIG9wdGlvbnMsIGFuZCBldmVudCB0eXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7XG4gIFByb3ZpZGVyUmVzb2x2ZXIsXG4gIFJlc29sdmVPcHRpb25zLFxuICBTY29wZVByb3ZpZGVyLFxuICBTdGFnZUNvbnRleHRMaWtlLFxuICBTdHJpY3RNb2RlLFxufSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG5leHBvcnQgeyBjcmVhdGVFcnJvck1lc3NhZ2UsIGNyZWF0ZVByb3RlY3RlZFNjb3BlLCBTY29wZUZhY2FkZSB9IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGF0dGFjaFNjb3BlTWV0aG9kcyxcbiAgaXNTdWJjbGFzc09mU2NvcGVGYWNhZGUsXG4gIGxvb2tzTGlrZUNsYXNzQ3RvcixcbiAgbG9va3NMaWtlRmFjdG9yeSxcbiAgbWFrZUNsYXNzUHJvdmlkZXIsXG4gIG1ha2VGYWN0b3J5UHJvdmlkZXIsXG4gIHJlZ2lzdGVyU2NvcGVSZXNvbHZlcixcbiAgcmVzb2x2ZVNjb3BlUHJvdmlkZXIsXG4gIHRvU2NvcGVGYWN0b3J5LFxufSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IFNjb3BlUnVudGltZSwgU2NvcGVSdW50aW1lVGFyZ2V0IH0gZnJvbSAnLi9saWIvc2NvcGUvcnVudGltZS5qcyc7XG5leHBvcnQgeyByZWdpc3RlclNjb3BlUnVudGltZSB9IGZyb20gJy4vbGliL3Njb3BlL3J1bnRpbWUuanMnO1xuXG4vLyBTY29wZVJlY29yZGVyIGNvbmZpZy9vcHRpb24gdHlwZXNcbmV4cG9ydCB0eXBlIHtcbiAgQWdncmVnYXRlZE1ldHJpY3MsXG4gIERlYnVnRW50cnksXG4gIERlYnVnUmVjb3JkZXJPcHRpb25zLFxuICBEZWJ1Z1ZlcmJvc2l0eSxcbiAgUmVjb3JkZXJDb250ZXh0LFxuICBTdGFnZUV2ZW50LFxuICBTdGFnZU1ldHJpY3MsXG59IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbi8vIGBEZWZpbmVTY29wZU9wdGlvbnNgICh6b2Qgc2NvcGUgb3B0aW9ucykgbW92ZWQgdG8gJ2Zvb3RwcmludGpzL3pvZCcuXG5cbi8vIFpvZCBpbnRlcm5hbHMgbW92ZWQgdG8gdGhlIG9wdC1pbiBgZm9vdHByaW50anMvem9kYCBlbnRyeSAoa2VlcHMgem9kIOKAlCBhblxuLy8gb3B0aW9uYWwgcGVlciDigJQgb3V0IG9mIHRoZSBgZm9vdHByaW50anMvYWR2YW5jZWRgIGxvYWQgcGF0aCkuIEltcG9ydFxuLy8gY3JlYXRlU2NvcGVQcm94eUZyb21ab2QgLyBkZWZpbmVTY29wZVNjaGVtYSAvIGlzU2NvcGVTY2hlbWEgLyBab2RTY29wZVJlc29sdmVyXG4vLyBmcm9tICdmb290cHJpbnRqcy96b2QnLlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSdW5uZXIg4oCUIEludGVybmFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7IFJ1bnRpbWVTbmFwc2hvdCB9IGZyb20gJy4vbGliL3J1bm5lci9pbmRleC5qcyc7XG5leHBvcnQgeyBFeGVjdXRpb25SdW50aW1lIH0gZnJvbSAnLi9saWIvcnVubmVyL2luZGV4LmpzJztcbi8qKiBUaGUgcnVuJ3MgcG9saWN5IGFuIGBFeGVjdXRpb25SdW50aW1lYCBpcyBjb25zdHJ1Y3RlZCB3aXRoIChGNSkuICovXG5leHBvcnQgdHlwZSB7IFJ1blBvbGljeSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBERUZBVUxUX1JVTl9QT0xJQ1ksIHJ1blBvbGljeSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJlYWN0aXZlIOKAlCBUeXBlZFNjb3BlIGludGVybmFscyAoZm9yIGN1c3RvbSBwcm94eSBpbXBsZW1lbnRhdGlvbnMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHsgUmVhY3RpdmVPcHRpb25zLCBSZWFjdGl2ZVRhcmdldCB9IGZyb20gJy4vbGliL3JlYWN0aXZlL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGJ1aWxkTmVzdGVkUGF0Y2gsXG4gIGNyZWF0ZUFycmF5UHJveHksXG4gIGlzSGFuZGxlLFxuICBqb2luUGF0aCxcbiAgU0NPUEVfTUVUSE9EX05BTUVTLFxuICBzaG91bGRXcmFwV2l0aFByb3h5LFxuICB1bndyYXBIYW5kbGVzLFxuICB2YWx1ZUJlaGluZCxcbn0gZnJvbSAnLi9saWIvcmVhY3RpdmUvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFbmdpbmUg4oCUIERGUyBncmFwaCB0cmF2ZXJzYWwgaW50ZXJuYWxzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHsgVHJhdmVyc2VyT3B0aW9ucyB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IERlY2lkZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHsgRmxvd2NoYXJ0VHJhdmVyc2VyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7IGlzU3RhZ2VOb2RlUmV0dXJuIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLy8gTmFycmF0aXZlIGludGVybmFsc1xuZXhwb3J0IHR5cGUgeyBJQ29udHJvbEZsb3dOYXJyYXRpdmUgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBDb21iaW5lZE5hcnJhdGl2ZUVudHJ5LCBDb21iaW5lZE5hcnJhdGl2ZU9wdGlvbnMgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUge1xuICBCcmFuY2hSZXN1bHQsXG4gIEJyYW5jaFJlc3VsdHMsXG4gIFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSBhcyBFbmdpbmVTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUsXG4gIEhhbmRsZXJEZXBzLFxuICBJRXhlY3V0aW9uUnVudGltZSxcbiAgTm9kZVJlc3VsdFR5cGUsXG4gIFJ1bnRpbWVTdHJ1Y3R1cmVNZXRhZGF0YSxcbiAgU2NvcGVGYWN0b3J5LFxuICBTZXJpYWxpemVkUGlwZWxpbmVOb2RlLFxuICBTdGFnZUZ1bmN0aW9uLFxuICBTdWJmbG93UmVzdWx0LFxuICBUcmF2ZXJzYWxSZXN1bHQsXG59IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgeyBOdWxsQ29udHJvbEZsb3dOYXJyYXRpdmVHZW5lcmF0b3IgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vLyBIYW5kbGVycyAodGVzdGluZyAvIGN1c3RvbSBlbmdpbmVzKVxuZXhwb3J0IHR5cGUgeyBFeGVjdXRlTm9kZUZuLCBRdWV1ZWRQYXVzZSwgUmVzdW1lSG9wLCBSdW5TdGFnZUZuIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGFwcGx5T3V0cHV0TWFwcGluZyxcbiAgQ2hpbGRyZW5FeGVjdXRvcixcbiAgY29tcHV0ZU5vZGVUeXBlLFxuICBDb250aW51YXRpb25SZXNvbHZlcixcbiAgY3JlYXRlU3ViZmxvd0hhbmRsZXJEZXBzLFxuICBEZWNpZGVySGFuZGxlcixcbiAgREVGQVVMVF9NQVhfSVRFUkFUSU9OUyxcbiAgZXh0cmFjdFBhcmVudFNjb3BlVmFsdWVzLFxuICBnZXRJbml0aWFsU2NvcGVWYWx1ZXMsXG4gIE5vZGVSZXNvbHZlcixcbiAgUmVzdW1lRW50cnksXG4gIFJ1bnRpbWVTdHJ1Y3R1cmVNYW5hZ2VyLFxuICBzZWVkU3ViZmxvd0dsb2JhbFN0b3JlLFxuICBTZWxlY3RvckhhbmRsZXIsXG4gIFN0YWdlUnVubmVyLFxuICBTdWJmbG93RXhlY3V0b3IsXG59IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERlY2lkZSDigJQgcHVyZSBndWFyZCBldmFsdWF0aW9uIChmb3IgY3VzdG9tIGF2YWlsYWJpbGl0eS9kZWNpc2lvbiBlbmdpbmVzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gZXZhbHVhdGVGaWx0ZXIgaXMgZW5naW5lLWZyZWU6IGEgcHVyZSBmdW5jdGlvbiBvdmVyIChnZXRWYWx1ZSwgaXNSZWRhY3RlZClcbi8vIGNhbGxiYWNrcyB0aGF0IGV2YWx1YXRlcyBhIFdoZXJlRmlsdGVyIGFuZCByZXR1cm5zIHBlci1jb25kaXRpb24gZXZpZGVuY2UuXG4vLyBFeHRlcm5hbCBkcml2ZXJzIChlLmcuIGhjaWZvb3RwcmludCdzIGF2YWlsYWJsZSgpKSBldmFsdWF0ZSBlZGdlIGd1YXJkcyB3aXRoXG4vLyBpdCBvdXRzaWRlIGFueSBydW4g4oCUIG5vIHNjb3BlLCBubyBjb21taXQsIHdvcmtlci1zYWZlLlxuZXhwb3J0IHR5cGUgeyBGaWx0ZXJDb25kaXRpb24gfSBmcm9tICcuL2xpYi9kZWNpZGUvaW5kZXguanMnO1xuZXhwb3J0IHsgZXZhbHVhdGVGaWx0ZXIgfSBmcm9tICcuL2xpYi9kZWNpZGUvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb250cmFjdCDigJQgc2NoZW1hIG5vcm1hbGl6YXRpb24gKGZvciBjdXN0b20gdG9vbCBlbWl0dGVycylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFB1cmUgY2hhcnQtbWV0YWRhdGEgaGVscGVycyBiZWhpbmQgdG9NQ1BUb29sL3RvT3BlbkFQSS4gQ3VzdG9tIGVtaXR0ZXJzXG4vLyAocGVyLWVkZ2UgTUNQIGRlc2NyaXB0b3JzKSByZXVzZSB0aGUgWm9k4oaSSlNPTi1TY2hlbWEgY29udmVyc2lvbiB3aXRob3V0XG4vLyBpbXBvcnRpbmcgdGhlIHJ1bm5lci4gR2F0ZSBpbnB1dHMgd2l0aCBkZXRlY3RTY2hlbWEgKG1haW4gYmFycmVsKTogYVxuLy8gbm9uLVpvZCAncGFyc2VhYmxlJyBzY2hlbWEgKHl1cC9zdXBlcnN0cnVjdCkgcGFzc2VzIHRocm91Z2ggdW5jb252ZXJ0ZWQuXG5leHBvcnQgeyBub3JtYWxpemVTY2hlbWEsIHpvZFRvSnNvblNjaGVtYSB9IGZyb20gJy4vbGliL2NvbnRyYWN0L2luZGV4LmpzJztcbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWR2YW5jZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGtGQUFrRjs7OztBQWtCbEYsbURBQXNHO0FBQTdGLDBHQUFBLGNBQWMsT0FBQTtBQUFFLHVHQUFBLFdBQVcsT0FBQTtBQUFFLDBHQUFBLGNBQWMsT0FBQTtBQUFFLDJHQUFBLGVBQWUsT0FBQTtBQUNyRSxxRUFBMEU7QUFBakUsNEhBQUEsdUJBQXVCLE9BQUE7QUFDaEMsb0RBQTJFO0FBQWxFLDJHQUFBLGVBQWUsT0FBQTtBQUFFLDJHQUFBLGVBQWUsT0FBQTtBQUV6QyxrREFBdUQ7QUFBOUMsMEdBQUEsY0FBYyxPQUFBO0FBb0J2QixrREFBMkQ7QUFBbEQsOEdBQUEsa0JBQWtCLE9BQUE7QUFDM0Isa0RBQTBEO0FBQWpELDZHQUFBLGlCQUFpQixPQUFBO0FBQzFCLGtEQUEwRTtBQUFqRSw2SEFBQSxpQ0FBaUMsT0FBQTtBQUMxQyxrREFpQitCO0FBaEI3Qiw4R0FBQSxrQkFBa0IsT0FBQTtBQUNsQiw0R0FBQSxnQkFBZ0IsT0FBQTtBQUNoQiwyR0FBQSxlQUFlLE9BQUE7QUFDZixnSEFBQSxvQkFBb0IsT0FBQTtBQUNwQixvSEFBQSx3QkFBd0IsT0FBQTtBQUN4QiwwR0FBQSxjQUFjLE9BQUE7QUFDZCxrSEFBQSxzQkFBc0IsT0FBQTtBQUN0QixvSEFBQSx3QkFBd0IsT0FBQTtBQUN4QixpSEFBQSxxQkFBcUIsT0FBQTtBQUNyQix3R0FBQSxZQUFZLE9BQUE7QUFDWix1R0FBQSxXQUFXLE9BQUE7QUFDWCxtSEFBQSx1QkFBdUIsT0FBQTtBQUN2QixrSEFBQSxzQkFBc0IsT0FBQTtBQUN0QiwyR0FBQSxlQUFlLE9BQUE7QUFDZix1R0FBQSxXQUFXLE9BQUE7QUFDWCwyR0FBQSxlQUFlLE9BQUE7QUFjakIsa0RBQXFEO0FBQTVDLHdHQUFBLFlBQVksT0FBQTtBQUNyQixrREFBNEQ7QUFBbkQsK0dBQUEsbUJBQW1CLE9BQUE7QUFDNUIsbURBQXNEO0FBQTdDLDBHQUFBLGFBQWEsT0FBQTtBQUN0QixtREFBc0U7QUFBN0QsK0dBQUEsa0JBQWtCLE9BQUE7QUFBRSxzR0FBQSxTQUFTLE9BQUE7QUFFdEMscURBU2lDO0FBUi9CLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLHFHQUFBLFFBQVEsT0FBQTtBQUNSLHFHQUFBLFFBQVEsT0FBQTtBQUNSLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLGdIQUFBLG1CQUFtQixPQUFBO0FBQ25CLDBHQUFBLGFBQWEsT0FBQTtBQUNiLHdHQUFBLFdBQVcsT0FBQTtBQUdiLG1EQUF5RDtBQUFoRCw2R0FBQSxnQkFBZ0IsT0FBQTtBQWlCekIsa0RBQTZGO0FBQXBGLCtHQUFBLGtCQUFrQixPQUFBO0FBQUUsaUhBQUEsb0JBQW9CLE9BQUE7QUFBRSx3R0FBQSxXQUFXLE9BQUE7QUFDOUQsa0RBVThCO0FBVDVCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLG9IQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDhHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLGdIQUFBLG1CQUFtQixPQUFBO0FBQ25CLGtIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLGlIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDJHQUFBLGNBQWMsT0FBQTtBQUdoQixxREFBOEQ7QUFBckQsa0hBQUEsb0JBQW9CLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogRW5naW5lIGludGVybmFsczogc2NvcGVzLCB0cmF2ZXJzYWwsIGZyYW1lIHBvbGljeSwgcmVkYWN0aW9uIGFuZCBjb250cmFjdHMuICovXG5cbmV4cG9ydCB0eXBlIHtcbiAgRXhlY09wdGlvbnMsXG4gIEZsb3dDaGFydE9wdGlvbnMsXG4gIEZsb3dDaGFydFNwZWMsXG4gIElMb2dnZXIsXG4gIFNjb3BlUHJvdGVjdGlvbk1vZGUsXG4gIFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSxcbiAgU2ltcGxpZmllZFBhcmFsbGVsU3BlYyxcbiAgU3RhZ2VGbixcbiAgU3RhZ2VOb2RlLFxuICBTdHJlYW1DYWxsYmFjayxcbiAgU3RyZWFtTGlmZWN5Y2xlSGFuZGxlcixcbiAgU3RyZWFtVG9rZW5IYW5kbGVyLFxuICBTdWJmbG93TW91bnRPcHRpb25zLFxuICBTdWJmbG93UmVmLFxufSBmcm9tICcuL2xpYi9idWlsZGVyL2luZGV4LmpzJztcbmV4cG9ydCB7IEFycmF5TWVyZ2VNb2RlLCBEZWNpZGVyTGlzdCwgU2VsZWN0b3JGbkxpc3QsIHNwZWNUb1N0YWdlTm9kZSB9IGZyb20gJy4vbGliL2J1aWxkZXIvaW5kZXguanMnO1xuZXhwb3J0IHsgY3JlYXRlVHlwZWRTY29wZUZhY3RvcnkgfSBmcm9tICcuL2xpYi9idWlsZGVyL3R5cGVkRmxvd0NoYXJ0LmpzJztcbmV4cG9ydCB7IG5vcm1hbGl6ZVNjaGVtYSwgem9kVG9Kc29uU2NoZW1hIH0gZnJvbSAnLi9saWIvY29udHJhY3QvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBGaWx0ZXJDb25kaXRpb24gfSBmcm9tICcuL2xpYi9kZWNpZGUvaW5kZXguanMnO1xuZXhwb3J0IHsgZXZhbHVhdGVGaWx0ZXIgfSBmcm9tICcuL2xpYi9kZWNpZGUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBUcmF2ZXJzZXJPcHRpb25zIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgRGVjaWRlciB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IElDb250cm9sRmxvd05hcnJhdGl2ZSB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IENvbWJpbmVkTmFycmF0aXZlRW50cnksIENvbWJpbmVkTmFycmF0aXZlT3B0aW9ucyB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEJyYW5jaFJlc3VsdCxcbiAgQnJhbmNoUmVzdWx0cyxcbiAgU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlIGFzIEVuZ2luZVNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSxcbiAgSGFuZGxlckRlcHMsXG4gIElFeGVjdXRpb25SdW50aW1lLFxuICBOb2RlUmVzdWx0VHlwZSxcbiAgUnVudGltZVN0cnVjdHVyZU1ldGFkYXRhLFxuICBTY29wZUZhY3RvcnksXG4gIFNlcmlhbGl6ZWRQaXBlbGluZU5vZGUsXG4gIFN0YWdlRnVuY3Rpb24sXG4gIFN1YmZsb3dSZXN1bHQsXG4gIFRyYXZlcnNhbFJlc3VsdCxcbn0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgRXhlY3V0ZU5vZGVGbiwgUXVldWVkUGF1c2UsIFJlc3VtZUhvcCwgUnVuU3RhZ2VGbiB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgeyBGbG93Y2hhcnRUcmF2ZXJzZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHsgaXNTdGFnZU5vZGVSZXR1cm4gfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHsgTnVsbENvbnRyb2xGbG93TmFycmF0aXZlR2VuZXJhdG9yIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGFwcGx5T3V0cHV0TWFwcGluZyxcbiAgQ2hpbGRyZW5FeGVjdXRvcixcbiAgY29tcHV0ZU5vZGVUeXBlLFxuICBDb250aW51YXRpb25SZXNvbHZlcixcbiAgY3JlYXRlU3ViZmxvd0hhbmRsZXJEZXBzLFxuICBEZWNpZGVySGFuZGxlcixcbiAgREVGQVVMVF9NQVhfSVRFUkFUSU9OUyxcbiAgZXh0cmFjdFBhcmVudFNjb3BlVmFsdWVzLFxuICBnZXRJbml0aWFsU2NvcGVWYWx1ZXMsXG4gIE5vZGVSZXNvbHZlcixcbiAgUmVzdW1lRW50cnksXG4gIFJ1bnRpbWVTdHJ1Y3R1cmVNYW5hZ2VyLFxuICBzZWVkU3ViZmxvd0dsb2JhbFN0b3JlLFxuICBTZWxlY3RvckhhbmRsZXIsXG4gIFN0YWdlUnVubmVyLFxuICBTdWJmbG93RXhlY3V0b3IsXG59IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEZsb3dDb250cm9sVHlwZSxcbiAgRmxvd01lc3NhZ2UsXG4gIFJlYWRTdW1tYXJ5TWFya2VyLFxuICBSZWFkVHJhY2tpbmdNb2RlLFxuICBSZXRlbnRpb25Qb2xpY3ksXG4gIFN0YWdlU25hcHNob3QsXG4gIFdyaXRlU3VtbWFyeU1hcmtlcixcbiAgV3JpdGVUcmFja2luZ01vZGUsXG59IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IFJlZGFjdGlvblZlcmRpY3QgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBSdW5Qb2xpY3kgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgU3RhZ2VDb250ZXh0IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IERpYWdub3N0aWNDb2xsZWN0b3IgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgUmVkYWN0aW9uUnVsZSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBERUZBVUxUX1JVTl9QT0xJQ1ksIHJ1blBvbGljeSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IFJlYWN0aXZlT3B0aW9ucywgUmVhY3RpdmVUYXJnZXQgfSBmcm9tICcuL2xpYi9yZWFjdGl2ZS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBidWlsZE5lc3RlZFBhdGNoLFxuICBjcmVhdGVBcnJheVByb3h5LFxuICBpc0hhbmRsZSxcbiAgam9pblBhdGgsXG4gIFNDT1BFX01FVEhPRF9OQU1FUyxcbiAgc2hvdWxkV3JhcFdpdGhQcm94eSxcbiAgdW53cmFwSGFuZGxlcyxcbiAgdmFsdWVCZWhpbmQsXG59IGZyb20gJy4vbGliL3JlYWN0aXZlL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgUnVudGltZVNuYXBzaG90IH0gZnJvbSAnLi9saWIvcnVubmVyL2luZGV4LmpzJztcbmV4cG9ydCB7IEV4ZWN1dGlvblJ1bnRpbWUgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUge1xuICBQcm92aWRlclJlc29sdmVyLFxuICBSZXNvbHZlT3B0aW9ucyxcbiAgU2NvcGVQcm92aWRlcixcbiAgU3RhZ2VDb250ZXh0TGlrZSxcbiAgU3RyaWN0TW9kZSxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUge1xuICBBZ2dyZWdhdGVkTWV0cmljcyxcbiAgRGVidWdFbnRyeSxcbiAgRGVidWdSZWNvcmRlck9wdGlvbnMsXG4gIERlYnVnVmVyYm9zaXR5LFxuICBSZWNvcmRlckNvbnRleHQsXG4gIFN0YWdlRXZlbnQsXG4gIFN0YWdlTWV0cmljcyxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuZXhwb3J0IHsgY3JlYXRlRXJyb3JNZXNzYWdlLCBjcmVhdGVQcm90ZWN0ZWRTY29wZSwgU2NvcGVGYWNhZGUgfSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBhdHRhY2hTY29wZU1ldGhvZHMsXG4gIGlzU3ViY2xhc3NPZlNjb3BlRmFjYWRlLFxuICBsb29rc0xpa2VDbGFzc0N0b3IsXG4gIGxvb2tzTGlrZUZhY3RvcnksXG4gIG1ha2VDbGFzc1Byb3ZpZGVyLFxuICBtYWtlRmFjdG9yeVByb3ZpZGVyLFxuICByZWdpc3RlclNjb3BlUmVzb2x2ZXIsXG4gIHJlc29sdmVTY29wZVByb3ZpZGVyLFxuICB0b1Njb3BlRmFjdG9yeSxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBTY29wZVJ1bnRpbWUsIFNjb3BlUnVudGltZVRhcmdldCB9IGZyb20gJy4vbGliL3Njb3BlL3J1bnRpbWUuanMnO1xuZXhwb3J0IHsgcmVnaXN0ZXJTY29wZVJ1bnRpbWUgfSBmcm9tICcuL2xpYi9zY29wZS9ydW50aW1lLmpzJztcbiJdfQ==
@@ -1,68 +1,34 @@
1
- /**
2
- * footprintjs/advanced — Low-level internals for custom execution engines and testing.
3
- *
4
- * Most users never need this. Use `footprintjs` (main) instead.
5
- * This entry point exposes the engine's frame (`StageContext`), the traverser
6
- * (`FlowchartTraverser`), the scope providers and the other primitives that
7
- * power the engine. The record has doors of its own: write one with
8
- * `footprintjs/write` (`SharedMemory`, `EventLog`, `RecordFrame`), read one
9
- * with `footprintjs/trace` (`CommitBundle`, `applySmartMerge`, the readers).
10
- * The record's names this door handed out before 9.47.0 stay here until
11
- * 10.0.0, the same symbols: import those from their own door (the nine record
12
- * internals among them have none, and leave the public surface at 10.0.0).
13
- *
14
- * ```ts
15
- * import { StageContext } from 'footprintjs/advanced';
16
- * import { SharedMemory } from 'footprintjs/write';
17
- * ```
18
- *
19
- * @module advanced
20
- */
21
- /**
22
- * FootPrint — Advanced / Internal API
23
- *
24
- * These exports are for advanced use cases, testing, and building
25
- * custom execution engines. Most users should use the main 'footprint' entry point.
26
- *
27
- * Import via: import { ... } from 'footprint/advanced'
28
- */
29
- export type { FlowControlType, FlowMessage, ReadSummaryMarker, ReadTrackingMode, RetentionPolicy, StageSnapshot, WriteSummaryMarker, WriteTrackingMode, } from './lib/memory/index.js';
30
- export type { RedactionVerdict } from './lib/memory/index.js';
31
- export { StageContext } from './lib/memory/index.js';
32
- export { DiagnosticCollector } from './lib/memory/index.js';
33
- export { RedactionRule } from './lib/memory/index.js';
34
- export type { ExecutionCounter } from './lib/ids/runtimeStageId.js';
35
- export { buildRuntimeStageId, createExecutionCounter, parseRuntimeStageId } from './lib/ids/runtimeStageId.js';
36
- export { findCommit, findCommits, findLastWriter } from './lib/memory/commitLogUtils.js';
37
- export type { CommitBundle, MemoryPatch, TraceEntry, UntrackedSource } from './lib/memory/index.js';
38
- export { EventLog, SharedMemory, TransactionBuffer } from './lib/memory/index.js';
39
- export { applySmartMerge, deepSmartMerge, getNestedValue, getRunAndGlobalPaths, normalisePath, pathSegments, redactPatch, setNestedValue, updateNestedValue, updateValue, } from './lib/memory/index.js';
1
+ /** Engine internals: scopes, traversal, frame policy, redaction and contracts. */
40
2
  export type { ExecOptions, FlowChartOptions, FlowChartSpec, ILogger, ScopeProtectionMode, SerializedPipelineStructure, SimplifiedParallelSpec, StageFn, StageNode, StreamCallback, StreamLifecycleHandler, StreamTokenHandler, SubflowMountOptions, SubflowRef, } from './lib/builder/index.js';
41
3
  export { ArrayMergeMode, DeciderList, SelectorFnList, specToStageNode } from './lib/builder/index.js';
42
4
  export { createTypedScopeFactory } from './lib/builder/typedFlowChart.js';
43
- export type { ProviderResolver, ResolveOptions, ScopeProvider, StageContextLike, StrictMode, } from './lib/scope/index.js';
44
- export { createErrorMessage, createProtectedScope, ScopeFacade } from './lib/scope/index.js';
45
- export { attachScopeMethods, isSubclassOfScopeFacade, looksLikeClassCtor, looksLikeFactory, makeClassProvider, makeFactoryProvider, registerScopeResolver, resolveScopeProvider, toScopeFactory, } from './lib/scope/index.js';
46
- export type { ScopeRuntime, ScopeRuntimeTarget } from './lib/scope/runtime.js';
47
- export { registerScopeRuntime } from './lib/scope/runtime.js';
48
- export type { AggregatedMetrics, DebugEntry, DebugRecorderOptions, DebugVerbosity, RecorderContext, StageEvent, StageMetrics, } from './lib/scope/index.js';
49
- export type { RuntimeSnapshot } from './lib/runner/index.js';
50
- export { ExecutionRuntime } from './lib/runner/index.js';
51
- /** The run's policy an `ExecutionRuntime` is constructed with (F5). */
52
- export type { RunPolicy } from './lib/memory/index.js';
53
- export { DEFAULT_RUN_POLICY, runPolicy } from './lib/memory/index.js';
54
- export type { ReactiveOptions, ReactiveTarget } from './lib/reactive/index.js';
55
- export { buildNestedPatch, createArrayProxy, isHandle, joinPath, SCOPE_METHOD_NAMES, shouldWrapWithProxy, unwrapHandles, valueBehind, } from './lib/reactive/index.js';
5
+ export { normalizeSchema, zodToJsonSchema } from './lib/contract/index.js';
6
+ export type { FilterCondition } from './lib/decide/index.js';
7
+ export { evaluateFilter } from './lib/decide/index.js';
56
8
  export type { TraverserOptions } from './lib/engine/index.js';
57
9
  export type { Decider } from './lib/engine/index.js';
58
- export { FlowchartTraverser } from './lib/engine/index.js';
59
- export { isStageNodeReturn } from './lib/engine/index.js';
60
10
  export type { IControlFlowNarrative } from './lib/engine/index.js';
61
11
  export type { CombinedNarrativeEntry, CombinedNarrativeOptions } from './lib/engine/index.js';
62
12
  export type { BranchResult, BranchResults, SerializedPipelineStructure as EngineSerializedPipelineStructure, HandlerDeps, IExecutionRuntime, NodeResultType, RuntimeStructureMetadata, ScopeFactory, SerializedPipelineNode, StageFunction, SubflowResult, TraversalResult, } from './lib/engine/index.js';
63
- export { NullControlFlowNarrativeGenerator } from './lib/engine/index.js';
64
13
  export type { ExecuteNodeFn, QueuedPause, ResumeHop, RunStageFn } from './lib/engine/index.js';
14
+ export { FlowchartTraverser } from './lib/engine/index.js';
15
+ export { isStageNodeReturn } from './lib/engine/index.js';
16
+ export { NullControlFlowNarrativeGenerator } from './lib/engine/index.js';
65
17
  export { applyOutputMapping, ChildrenExecutor, computeNodeType, ContinuationResolver, createSubflowHandlerDeps, DeciderHandler, DEFAULT_MAX_ITERATIONS, extractParentScopeValues, getInitialScopeValues, NodeResolver, ResumeEntry, RuntimeStructureManager, seedSubflowGlobalStore, SelectorHandler, StageRunner, SubflowExecutor, } from './lib/engine/index.js';
66
- export type { FilterCondition } from './lib/decide/index.js';
67
- export { evaluateFilter } from './lib/decide/index.js';
68
- export { normalizeSchema, zodToJsonSchema } from './lib/contract/index.js';
18
+ export type { FlowControlType, FlowMessage, ReadSummaryMarker, ReadTrackingMode, RetentionPolicy, StageSnapshot, WriteSummaryMarker, WriteTrackingMode, } from './lib/memory/index.js';
19
+ export type { RedactionVerdict } from './lib/memory/index.js';
20
+ export type { RunPolicy } from './lib/memory/index.js';
21
+ export { StageContext } from './lib/memory/index.js';
22
+ export { DiagnosticCollector } from './lib/memory/index.js';
23
+ export { RedactionRule } from './lib/memory/index.js';
24
+ export { DEFAULT_RUN_POLICY, runPolicy } from './lib/memory/index.js';
25
+ export type { ReactiveOptions, ReactiveTarget } from './lib/reactive/index.js';
26
+ export { buildNestedPatch, createArrayProxy, isHandle, joinPath, SCOPE_METHOD_NAMES, shouldWrapWithProxy, unwrapHandles, valueBehind, } from './lib/reactive/index.js';
27
+ export type { RuntimeSnapshot } from './lib/runner/index.js';
28
+ export { ExecutionRuntime } from './lib/runner/index.js';
29
+ export type { ProviderResolver, ResolveOptions, ScopeProvider, StageContextLike, StrictMode, } from './lib/scope/index.js';
30
+ export type { AggregatedMetrics, DebugEntry, DebugRecorderOptions, DebugVerbosity, RecorderContext, StageEvent, StageMetrics, } from './lib/scope/index.js';
31
+ export { createErrorMessage, createProtectedScope, ScopeFacade } from './lib/scope/index.js';
32
+ export { attachScopeMethods, isSubclassOfScopeFacade, looksLikeClassCtor, looksLikeFactory, makeClassProvider, makeFactoryProvider, registerScopeResolver, resolveScopeProvider, toScopeFactory, } from './lib/scope/index.js';
33
+ export type { ScopeRuntime, ScopeRuntimeTarget } from './lib/scope/runtime.js';
34
+ export { registerScopeRuntime } from './lib/scope/runtime.js';
@@ -1,57 +1,19 @@
1
- /**
2
- * footprintjs/advanced — Low-level internals for custom execution engines and testing.
3
- *
4
- * Most users never need this. Use `footprintjs` (main) instead.
5
- * This entry point exposes the engine's frame (`StageContext`), the traverser
6
- * (`FlowchartTraverser`), the scope providers and the other primitives that
7
- * power the engine. The record has doors of its own: write one with
8
- * `footprintjs/write` (`SharedMemory`, `EventLog`, `RecordFrame`), read one
9
- * with `footprintjs/trace` (`CommitBundle`, `applySmartMerge`, the readers).
10
- * The record's names this door handed out before 9.47.0 stay here until
11
- * 10.0.0, the same symbols: import those from their own door (the nine record
12
- * internals among them have none, and leave the public surface at 10.0.0).
13
- *
14
- * ```ts
15
- * import { StageContext } from 'footprintjs/advanced';
16
- * import { SharedMemory } from 'footprintjs/write';
17
- * ```
18
- *
19
- * @module advanced
20
- */
21
- /**
22
- * FootPrint — Advanced / Internal API
23
- *
24
- * These exports are for advanced use cases, testing, and building
25
- * custom execution engines. Most users should use the main 'footprint' entry point.
26
- *
27
- * Import via: import { ... } from 'footprint/advanced'
28
- */
29
- export { StageContext } from './lib/memory/index.js';
30
- export { DiagnosticCollector } from './lib/memory/index.js';
31
- export { RedactionRule } from './lib/memory/index.js';
32
- export { buildRuntimeStageId, createExecutionCounter, parseRuntimeStageId } from './lib/ids/runtimeStageId.js';
33
- export { findCommit, findCommits, findLastWriter } from './lib/memory/commitLogUtils.js';
34
- export { EventLog, SharedMemory, TransactionBuffer } from './lib/memory/index.js';
35
- export { applySmartMerge, deepSmartMerge, getNestedValue, getRunAndGlobalPaths, normalisePath, pathSegments, redactPatch, setNestedValue, updateNestedValue, updateValue, } from './lib/memory/index.js';
1
+ /** Engine internals: scopes, traversal, frame policy, redaction and contracts. */
36
2
  export { ArrayMergeMode, DeciderList, SelectorFnList, specToStageNode } from './lib/builder/index.js';
37
3
  export { createTypedScopeFactory } from './lib/builder/typedFlowChart.js';
38
- export { createErrorMessage, createProtectedScope, ScopeFacade } from './lib/scope/index.js';
39
- export { attachScopeMethods, isSubclassOfScopeFacade, looksLikeClassCtor, looksLikeFactory, makeClassProvider, makeFactoryProvider, registerScopeResolver, resolveScopeProvider, toScopeFactory, } from './lib/scope/index.js';
40
- export { registerScopeRuntime } from './lib/scope/runtime.js';
41
- export { ExecutionRuntime } from './lib/runner/index.js';
42
- export { DEFAULT_RUN_POLICY, runPolicy } from './lib/memory/index.js';
43
- export { buildNestedPatch, createArrayProxy, isHandle, joinPath, SCOPE_METHOD_NAMES, shouldWrapWithProxy, unwrapHandles, valueBehind, } from './lib/reactive/index.js';
4
+ export { normalizeSchema, zodToJsonSchema } from './lib/contract/index.js';
5
+ export { evaluateFilter } from './lib/decide/index.js';
44
6
  export { FlowchartTraverser } from './lib/engine/index.js';
45
7
  export { isStageNodeReturn } from './lib/engine/index.js';
46
8
  export { NullControlFlowNarrativeGenerator } from './lib/engine/index.js';
47
9
  export { applyOutputMapping, ChildrenExecutor, computeNodeType, ContinuationResolver, createSubflowHandlerDeps, DeciderHandler, DEFAULT_MAX_ITERATIONS, extractParentScopeValues, getInitialScopeValues, NodeResolver, ResumeEntry, RuntimeStructureManager, seedSubflowGlobalStore, SelectorHandler, StageRunner, SubflowExecutor, } from './lib/engine/index.js';
48
- export { evaluateFilter } from './lib/decide/index.js';
49
- // ============================================================================
50
- // Contract — schema normalization (for custom tool emitters)
51
- // ============================================================================
52
- // Pure chart-metadata helpers behind toMCPTool/toOpenAPI. Custom emitters
53
- // (per-edge MCP descriptors) reuse the Zod→JSON-Schema conversion without
54
- // importing the runner. Gate inputs with detectSchema (main barrel): a
55
- // non-Zod 'parseable' schema (yup/superstruct) passes through unconverted.
56
- export { normalizeSchema, zodToJsonSchema } from './lib/contract/index.js';
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWR2YW5jZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSDs7Ozs7OztHQU9HO0FBaUJILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFldEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0csT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQ0wsZUFBZSxFQUNmLGNBQWMsRUFDZCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBQ1osV0FBVyxFQUNYLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsV0FBVyxHQUNaLE1BQU0sdUJBQXVCLENBQUM7QUFzQi9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQWExRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0YsT0FBTyxFQUNMLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsY0FBYyxHQUNmLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUF3QjlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU90RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsUUFBUSxFQUNSLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLFdBQVcsR0FDWixNQUFNLHlCQUF5QixDQUFDO0FBUWpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBbUIxRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUkxRSxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4QixjQUFjLEVBQ2Qsc0JBQXNCLEVBQ3RCLHdCQUF3QixFQUN4QixxQkFBcUIsRUFDckIsWUFBWSxFQUNaLFdBQVcsRUFDWCx1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixXQUFXLEVBQ1gsZUFBZSxHQUNoQixNQUFNLHVCQUF1QixDQUFDO0FBVS9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RCwrRUFBK0U7QUFDL0UsNkRBQTZEO0FBQzdELCtFQUErRTtBQUMvRSwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLHVFQUF1RTtBQUN2RSwyRUFBMkU7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZm9vdHByaW50anMvYWR2YW5jZWQg4oCUIExvdy1sZXZlbCBpbnRlcm5hbHMgZm9yIGN1c3RvbSBleGVjdXRpb24gZW5naW5lcyBhbmQgdGVzdGluZy5cbiAqXG4gKiBNb3N0IHVzZXJzIG5ldmVyIG5lZWQgdGhpcy4gVXNlIGBmb290cHJpbnRqc2AgKG1haW4pIGluc3RlYWQuXG4gKiBUaGlzIGVudHJ5IHBvaW50IGV4cG9zZXMgdGhlIGVuZ2luZSdzIGZyYW1lIChgU3RhZ2VDb250ZXh0YCksIHRoZSB0cmF2ZXJzZXJcbiAqIChgRmxvd2NoYXJ0VHJhdmVyc2VyYCksIHRoZSBzY29wZSBwcm92aWRlcnMgYW5kIHRoZSBvdGhlciBwcmltaXRpdmVzIHRoYXRcbiAqIHBvd2VyIHRoZSBlbmdpbmUuIFRoZSByZWNvcmQgaGFzIGRvb3JzIG9mIGl0cyBvd246IHdyaXRlIG9uZSB3aXRoXG4gKiBgZm9vdHByaW50anMvd3JpdGVgIChgU2hhcmVkTWVtb3J5YCwgYEV2ZW50TG9nYCwgYFJlY29yZEZyYW1lYCksIHJlYWQgb25lXG4gKiB3aXRoIGBmb290cHJpbnRqcy90cmFjZWAgKGBDb21taXRCdW5kbGVgLCBgYXBwbHlTbWFydE1lcmdlYCwgdGhlIHJlYWRlcnMpLlxuICogVGhlIHJlY29yZCdzIG5hbWVzIHRoaXMgZG9vciBoYW5kZWQgb3V0IGJlZm9yZSA5LjQ3LjAgc3RheSBoZXJlIHVudGlsXG4gKiAxMC4wLjAsIHRoZSBzYW1lIHN5bWJvbHM6IGltcG9ydCB0aG9zZSBmcm9tIHRoZWlyIG93biBkb29yICh0aGUgbmluZSByZWNvcmRcbiAqIGludGVybmFscyBhbW9uZyB0aGVtIGhhdmUgbm9uZSwgYW5kIGxlYXZlIHRoZSBwdWJsaWMgc3VyZmFjZSBhdCAxMC4wLjApLlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTdGFnZUNvbnRleHQgfSBmcm9tICdmb290cHJpbnRqcy9hZHZhbmNlZCc7XG4gKiBpbXBvcnQgeyBTaGFyZWRNZW1vcnkgfSBmcm9tICdmb290cHJpbnRqcy93cml0ZSc7XG4gKiBgYGBcbiAqXG4gKiBAbW9kdWxlIGFkdmFuY2VkXG4gKi9cbi8qKlxuICogRm9vdFByaW50IOKAlCBBZHZhbmNlZCAvIEludGVybmFsIEFQSVxuICpcbiAqIFRoZXNlIGV4cG9ydHMgYXJlIGZvciBhZHZhbmNlZCB1c2UgY2FzZXMsIHRlc3RpbmcsIGFuZCBidWlsZGluZ1xuICogY3VzdG9tIGV4ZWN1dGlvbiBlbmdpbmVzLiBNb3N0IHVzZXJzIHNob3VsZCB1c2UgdGhlIG1haW4gJ2Zvb3RwcmludCcgZW50cnkgcG9pbnQuXG4gKlxuICogSW1wb3J0IHZpYTogaW1wb3J0IHsgLi4uIH0gZnJvbSAnZm9vdHByaW50L2FkdmFuY2VkJ1xuICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1lbW9yeSDigJQgdGhlIGVuZ2luZSdzIGZyYW1lLCBpdHMgcnVuIHBvbGljeSBhbmQgdGhlIHJlZGFjdGlvbiB2ZXJkaWN0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIHtcbiAgRmxvd0NvbnRyb2xUeXBlLFxuICBGbG93TWVzc2FnZSxcbiAgUmVhZFN1bW1hcnlNYXJrZXIsXG4gIFJlYWRUcmFja2luZ01vZGUsXG4gIFJldGVudGlvblBvbGljeSxcbiAgU3RhZ2VTbmFwc2hvdCxcbiAgV3JpdGVTdW1tYXJ5TWFya2VyLFxuICBXcml0ZVRyYWNraW5nTW9kZSxcbn0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgUmVkYWN0aW9uVmVyZGljdCB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBTdGFnZUNvbnRleHQgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgRGlhZ25vc3RpY0NvbGxlY3RvciB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBSZWRhY3Rpb25SdWxlIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVGhlIHJlY29yZCdzIG5hbWVzIOKAlCBrZXB0IGhlcmUgdW50aWwgMTAuMC4wICh0aGUgdHJhY2UgZXh0cmFjdGlvbiwgRTYpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUaGUgcmVjb3JkIGhhcyBkb29ycyBvZiBpdHMgb3duIHNpbmNlIDkuNDcuMCAoQzUpOiBpdHMgc2hhcGVzIGFuZCByZWFkZXJzIG9uIGBmb290cHJpbnRqcy90cmFjZWBcbi8vIChgQ29tbWl0QnVuZGxlYCwgYFRyYWNlRW50cnlgLCBgTWVtb3J5UGF0Y2hgLCBgVW50cmFja2VkU291cmNlYCwgYGFwcGx5U21hcnRNZXJnZWAsIHRoZVxuLy8gcnVudGltZVN0YWdlSWQgY29kZWMsIGBmaW5kQ29tbWl0YCAvIGBmaW5kQ29tbWl0c2AgLyBgZmluZExhc3RXcml0ZXJgLCBgcGF0aFNlZ21lbnRzYCksIGl0cyB3cml0ZXIgb25cbi8vIGBmb290cHJpbnRqcy93cml0ZWAgKGBTaGFyZWRNZW1vcnlgLCBgRXZlbnRMb2dgLCBgUmVjb3JkRnJhbWVgKS4gTmV3IGNvZGUgaW1wb3J0cyB0aG9zZS4gQSBwdWJsaXNoZWRcbi8vIG1pbm9yIG5ldmVyIGRyb3BzIGEgbmFtZSDigJQgY29uc3VtZXJzIGhvbGQgY2FyZXQgcmFuZ2VzLCBzbyBhIGRyb3BwZWQgZXhwb3J0IGJyZWFrcyB0aGVpciBmcmVzaFxuLy8gaW5zdGFsbHMg4oCUIHNvIGAvYWR2YW5jZWRgIGtlZXBzIGhhbmRpbmcgb3V0IGV2ZXJ5IG5hbWUgaXQgaGFuZGVkIG91dCBiZWZvcmU6IHRoZSBTQU1FIHN5bWJvbHMgKG5vXG4vLyBmb3J3YXJkZXI7IHNlY29uZCBkb29ycyBpbiB0ZXN0L2FyY2hpdGVjdHVyZS9leHBvcnRzLnRlc3QudHMpLCBhbmQgdGhlIHJlY29yZCBpbnRlcm5hbHMgdGhhdCBoYXZlIG5vXG4vLyBwdWJsaWMgaG9tZS4gMTAuMC4wIHJlbW92ZXMgYWxsIG9mIHRoZW0uXG5cbmV4cG9ydCB0eXBlIHsgRXhlY3V0aW9uQ291bnRlciB9IGZyb20gJy4vbGliL2lkcy9ydW50aW1lU3RhZ2VJZC5qcyc7XG5leHBvcnQgeyBidWlsZFJ1bnRpbWVTdGFnZUlkLCBjcmVhdGVFeGVjdXRpb25Db3VudGVyLCBwYXJzZVJ1bnRpbWVTdGFnZUlkIH0gZnJvbSAnLi9saWIvaWRzL3J1bnRpbWVTdGFnZUlkLmpzJztcbmV4cG9ydCB7IGZpbmRDb21taXQsIGZpbmRDb21taXRzLCBmaW5kTGFzdFdyaXRlciB9IGZyb20gJy4vbGliL21lbW9yeS9jb21taXRMb2dVdGlscy5qcyc7XG5leHBvcnQgdHlwZSB7IENvbW1pdEJ1bmRsZSwgTWVtb3J5UGF0Y2gsIFRyYWNlRW50cnksIFVudHJhY2tlZFNvdXJjZSB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBFdmVudExvZywgU2hhcmVkTWVtb3J5LCBUcmFuc2FjdGlvbkJ1ZmZlciB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBhcHBseVNtYXJ0TWVyZ2UsXG4gIGRlZXBTbWFydE1lcmdlLFxuICBnZXROZXN0ZWRWYWx1ZSxcbiAgZ2V0UnVuQW5kR2xvYmFsUGF0aHMsXG4gIG5vcm1hbGlzZVBhdGgsXG4gIHBhdGhTZWdtZW50cyxcbiAgcmVkYWN0UGF0Y2gsXG4gIHNldE5lc3RlZFZhbHVlLFxuICB1cGRhdGVOZXN0ZWRWYWx1ZSxcbiAgdXBkYXRlVmFsdWUsXG59IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJ1aWxkZXIg4oCUIFR5cGVzIGFuZCBpbnRlcm5hbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUge1xuICBFeGVjT3B0aW9ucyxcbiAgRmxvd0NoYXJ0T3B0aW9ucyxcbiAgRmxvd0NoYXJ0U3BlYyxcbiAgSUxvZ2dlcixcbiAgU2NvcGVQcm90ZWN0aW9uTW9kZSxcbiAgU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlLFxuICBTaW1wbGlmaWVkUGFyYWxsZWxTcGVjLFxuICBTdGFnZUZuLFxuICBTdGFnZU5vZGUsXG4gIFN0cmVhbUNhbGxiYWNrLFxuICBTdHJlYW1MaWZlY3ljbGVIYW5kbGVyLFxuICBTdHJlYW1Ub2tlbkhhbmRsZXIsXG4gIFN1YmZsb3dNb3VudE9wdGlvbnMsXG4gIFN1YmZsb3dSZWYsXG59IGZyb20gJy4vbGliL2J1aWxkZXIvaW5kZXguanMnO1xuZXhwb3J0IHsgQXJyYXlNZXJnZU1vZGUsIERlY2lkZXJMaXN0LCBTZWxlY3RvckZuTGlzdCwgc3BlY1RvU3RhZ2VOb2RlIH0gZnJvbSAnLi9saWIvYnVpbGRlci9pbmRleC5qcyc7XG5leHBvcnQgeyBjcmVhdGVUeXBlZFNjb3BlRmFjdG9yeSB9IGZyb20gJy4vbGliL2J1aWxkZXIvdHlwZWRGbG93Q2hhcnQuanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTY29wZSDigJQgUHJvdmlkZXJzLCBwcm90ZWN0aW9uLCByZWNvcmRlciBvcHRpb25zLCBhbmQgZXZlbnQgdHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUge1xuICBQcm92aWRlclJlc29sdmVyLFxuICBSZXNvbHZlT3B0aW9ucyxcbiAgU2NvcGVQcm92aWRlcixcbiAgU3RhZ2VDb250ZXh0TGlrZSxcbiAgU3RyaWN0TW9kZSxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuZXhwb3J0IHsgY3JlYXRlRXJyb3JNZXNzYWdlLCBjcmVhdGVQcm90ZWN0ZWRTY29wZSwgU2NvcGVGYWNhZGUgfSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBhdHRhY2hTY29wZU1ldGhvZHMsXG4gIGlzU3ViY2xhc3NPZlNjb3BlRmFjYWRlLFxuICBsb29rc0xpa2VDbGFzc0N0b3IsXG4gIGxvb2tzTGlrZUZhY3RvcnksXG4gIG1ha2VDbGFzc1Byb3ZpZGVyLFxuICBtYWtlRmFjdG9yeVByb3ZpZGVyLFxuICByZWdpc3RlclNjb3BlUmVzb2x2ZXIsXG4gIHJlc29sdmVTY29wZVByb3ZpZGVyLFxuICB0b1Njb3BlRmFjdG9yeSxcbn0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBTY29wZVJ1bnRpbWUsIFNjb3BlUnVudGltZVRhcmdldCB9IGZyb20gJy4vbGliL3Njb3BlL3J1bnRpbWUuanMnO1xuZXhwb3J0IHsgcmVnaXN0ZXJTY29wZVJ1bnRpbWUgfSBmcm9tICcuL2xpYi9zY29wZS9ydW50aW1lLmpzJztcblxuLy8gU2NvcGVSZWNvcmRlciBjb25maWcvb3B0aW9uIHR5cGVzXG5leHBvcnQgdHlwZSB7XG4gIEFnZ3JlZ2F0ZWRNZXRyaWNzLFxuICBEZWJ1Z0VudHJ5LFxuICBEZWJ1Z1JlY29yZGVyT3B0aW9ucyxcbiAgRGVidWdWZXJib3NpdHksXG4gIFJlY29yZGVyQ29udGV4dCxcbiAgU3RhZ2VFdmVudCxcbiAgU3RhZ2VNZXRyaWNzLFxufSBmcm9tICcuL2xpYi9zY29wZS9pbmRleC5qcyc7XG4vLyBgRGVmaW5lU2NvcGVPcHRpb25zYCAoem9kIHNjb3BlIG9wdGlvbnMpIG1vdmVkIHRvICdmb290cHJpbnRqcy96b2QnLlxuXG4vLyBab2QgaW50ZXJuYWxzIG1vdmVkIHRvIHRoZSBvcHQtaW4gYGZvb3RwcmludGpzL3pvZGAgZW50cnkgKGtlZXBzIHpvZCDigJQgYW5cbi8vIG9wdGlvbmFsIHBlZXIg4oCUIG91dCBvZiB0aGUgYGZvb3RwcmludGpzL2FkdmFuY2VkYCBsb2FkIHBhdGgpLiBJbXBvcnRcbi8vIGNyZWF0ZVNjb3BlUHJveHlGcm9tWm9kIC8gZGVmaW5lU2NvcGVTY2hlbWEgLyBpc1Njb3BlU2NoZW1hIC8gWm9kU2NvcGVSZXNvbHZlclxuLy8gZnJvbSAnZm9vdHByaW50anMvem9kJy5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUnVubmVyIOKAlCBJbnRlcm5hbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgeyBSdW50aW1lU25hcHNob3QgfSBmcm9tICcuL2xpYi9ydW5uZXIvaW5kZXguanMnO1xuZXhwb3J0IHsgRXhlY3V0aW9uUnVudGltZSB9IGZyb20gJy4vbGliL3J1bm5lci9pbmRleC5qcyc7XG4vKiogVGhlIHJ1bidzIHBvbGljeSBhbiBgRXhlY3V0aW9uUnVudGltZWAgaXMgY29uc3RydWN0ZWQgd2l0aCAoRjUpLiAqL1xuZXhwb3J0IHR5cGUgeyBSdW5Qb2xpY3kgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgREVGQVVMVF9SVU5fUE9MSUNZLCBydW5Qb2xpY3kgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZWFjdGl2ZSDigJQgVHlwZWRTY29wZSBpbnRlcm5hbHMgKGZvciBjdXN0b20gcHJveHkgaW1wbGVtZW50YXRpb25zKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7IFJlYWN0aXZlT3B0aW9ucywgUmVhY3RpdmVUYXJnZXQgfSBmcm9tICcuL2xpYi9yZWFjdGl2ZS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBidWlsZE5lc3RlZFBhdGNoLFxuICBjcmVhdGVBcnJheVByb3h5LFxuICBpc0hhbmRsZSxcbiAgam9pblBhdGgsXG4gIFNDT1BFX01FVEhPRF9OQU1FUyxcbiAgc2hvdWxkV3JhcFdpdGhQcm94eSxcbiAgdW53cmFwSGFuZGxlcyxcbiAgdmFsdWVCZWhpbmQsXG59IGZyb20gJy4vbGliL3JlYWN0aXZlL2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRW5naW5lIOKAlCBERlMgZ3JhcGggdHJhdmVyc2FsIGludGVybmFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgdHlwZSB7IFRyYXZlcnNlck9wdGlvbnMgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBEZWNpZGVyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7IEZsb3djaGFydFRyYXZlcnNlciB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgeyBpc1N0YWdlTm9kZVJldHVybiB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5cbi8vIE5hcnJhdGl2ZSBpbnRlcm5hbHNcbmV4cG9ydCB0eXBlIHsgSUNvbnRyb2xGbG93TmFycmF0aXZlIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgQ29tYmluZWROYXJyYXRpdmVFbnRyeSwgQ29tYmluZWROYXJyYXRpdmVPcHRpb25zIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgQnJhbmNoUmVzdWx0LFxuICBCcmFuY2hSZXN1bHRzLFxuICBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUgYXMgRW5naW5lU2VyaWFsaXplZFBpcGVsaW5lU3RydWN0dXJlLFxuICBIYW5kbGVyRGVwcyxcbiAgSUV4ZWN1dGlvblJ1bnRpbWUsXG4gIE5vZGVSZXN1bHRUeXBlLFxuICBSdW50aW1lU3RydWN0dXJlTWV0YWRhdGEsXG4gIFNjb3BlRmFjdG9yeSxcbiAgU2VyaWFsaXplZFBpcGVsaW5lTm9kZSxcbiAgU3RhZ2VGdW5jdGlvbixcbiAgU3ViZmxvd1Jlc3VsdCxcbiAgVHJhdmVyc2FsUmVzdWx0LFxufSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHsgTnVsbENvbnRyb2xGbG93TmFycmF0aXZlR2VuZXJhdG9yIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcblxuLy8gSGFuZGxlcnMgKHRlc3RpbmcgLyBjdXN0b20gZW5naW5lcylcbmV4cG9ydCB0eXBlIHsgRXhlY3V0ZU5vZGVGbiwgUXVldWVkUGF1c2UsIFJlc3VtZUhvcCwgUnVuU3RhZ2VGbiB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBhcHBseU91dHB1dE1hcHBpbmcsXG4gIENoaWxkcmVuRXhlY3V0b3IsXG4gIGNvbXB1dGVOb2RlVHlwZSxcbiAgQ29udGludWF0aW9uUmVzb2x2ZXIsXG4gIGNyZWF0ZVN1YmZsb3dIYW5kbGVyRGVwcyxcbiAgRGVjaWRlckhhbmRsZXIsXG4gIERFRkFVTFRfTUFYX0lURVJBVElPTlMsXG4gIGV4dHJhY3RQYXJlbnRTY29wZVZhbHVlcyxcbiAgZ2V0SW5pdGlhbFNjb3BlVmFsdWVzLFxuICBOb2RlUmVzb2x2ZXIsXG4gIFJlc3VtZUVudHJ5LFxuICBSdW50aW1lU3RydWN0dXJlTWFuYWdlcixcbiAgc2VlZFN1YmZsb3dHbG9iYWxTdG9yZSxcbiAgU2VsZWN0b3JIYW5kbGVyLFxuICBTdGFnZVJ1bm5lcixcbiAgU3ViZmxvd0V4ZWN1dG9yLFxufSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEZWNpZGUg4oCUIHB1cmUgZ3VhcmQgZXZhbHVhdGlvbiAoZm9yIGN1c3RvbSBhdmFpbGFiaWxpdHkvZGVjaXNpb24gZW5naW5lcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGV2YWx1YXRlRmlsdGVyIGlzIGVuZ2luZS1mcmVlOiBhIHB1cmUgZnVuY3Rpb24gb3ZlciAoZ2V0VmFsdWUsIGlzUmVkYWN0ZWQpXG4vLyBjYWxsYmFja3MgdGhhdCBldmFsdWF0ZXMgYSBXaGVyZUZpbHRlciBhbmQgcmV0dXJucyBwZXItY29uZGl0aW9uIGV2aWRlbmNlLlxuLy8gRXh0ZXJuYWwgZHJpdmVycyAoZS5nLiBoY2lmb290cHJpbnQncyBhdmFpbGFibGUoKSkgZXZhbHVhdGUgZWRnZSBndWFyZHMgd2l0aFxuLy8gaXQgb3V0c2lkZSBhbnkgcnVuIOKAlCBubyBzY29wZSwgbm8gY29tbWl0LCB3b3JrZXItc2FmZS5cbmV4cG9ydCB0eXBlIHsgRmlsdGVyQ29uZGl0aW9uIH0gZnJvbSAnLi9saWIvZGVjaWRlL2luZGV4LmpzJztcbmV4cG9ydCB7IGV2YWx1YXRlRmlsdGVyIH0gZnJvbSAnLi9saWIvZGVjaWRlL2luZGV4LmpzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29udHJhY3Qg4oCUIHNjaGVtYSBub3JtYWxpemF0aW9uIChmb3IgY3VzdG9tIHRvb2wgZW1pdHRlcnMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQdXJlIGNoYXJ0LW1ldGFkYXRhIGhlbHBlcnMgYmVoaW5kIHRvTUNQVG9vbC90b09wZW5BUEkuIEN1c3RvbSBlbWl0dGVyc1xuLy8gKHBlci1lZGdlIE1DUCBkZXNjcmlwdG9ycykgcmV1c2UgdGhlIFpvZOKGkkpTT04tU2NoZW1hIGNvbnZlcnNpb24gd2l0aG91dFxuLy8gaW1wb3J0aW5nIHRoZSBydW5uZXIuIEdhdGUgaW5wdXRzIHdpdGggZGV0ZWN0U2NoZW1hIChtYWluIGJhcnJlbCk6IGFcbi8vIG5vbi1ab2QgJ3BhcnNlYWJsZScgc2NoZW1hICh5dXAvc3VwZXJzdHJ1Y3QpIHBhc3NlcyB0aHJvdWdoIHVuY29udmVydGVkLlxuZXhwb3J0IHsgbm9ybWFsaXplU2NoZW1hLCB6b2RUb0pzb25TY2hlbWEgfSBmcm9tICcuL2xpYi9jb250cmFjdC9pbmRleC5qcyc7XG4iXX0=
10
+ export { StageContext } from './lib/memory/index.js';
11
+ export { DiagnosticCollector } from './lib/memory/index.js';
12
+ export { RedactionRule } from './lib/memory/index.js';
13
+ export { DEFAULT_RUN_POLICY, runPolicy } from './lib/memory/index.js';
14
+ export { buildNestedPatch, createArrayProxy, isHandle, joinPath, SCOPE_METHOD_NAMES, shouldWrapWithProxy, unwrapHandles, valueBehind, } from './lib/reactive/index.js';
15
+ export { ExecutionRuntime } from './lib/runner/index.js';
16
+ export { createErrorMessage, createProtectedScope, ScopeFacade } from './lib/scope/index.js';
17
+ export { attachScopeMethods, isSubclassOfScopeFacade, looksLikeClassCtor, looksLikeFactory, makeClassProvider, makeFactoryProvider, registerScopeResolver, resolveScopeProvider, toScopeFactory, } from './lib/scope/index.js';
18
+ export { registerScopeRuntime } from './lib/scope/runtime.js';
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWR2YW5jZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0ZBQWtGO0FBa0JsRixPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFvQnZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osV0FBVyxFQUNYLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLFdBQVcsRUFDWCxlQUFlLEdBQ2hCLE1BQU0sdUJBQXVCLENBQUM7QUFhL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFFBQVEsRUFDUixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixXQUFXLEdBQ1osTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWlCekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdGLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGNBQWMsR0FDZixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEVuZ2luZSBpbnRlcm5hbHM6IHNjb3BlcywgdHJhdmVyc2FsLCBmcmFtZSBwb2xpY3ksIHJlZGFjdGlvbiBhbmQgY29udHJhY3RzLiAqL1xuXG5leHBvcnQgdHlwZSB7XG4gIEV4ZWNPcHRpb25zLFxuICBGbG93Q2hhcnRPcHRpb25zLFxuICBGbG93Q2hhcnRTcGVjLFxuICBJTG9nZ2VyLFxuICBTY29wZVByb3RlY3Rpb25Nb2RlLFxuICBTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUsXG4gIFNpbXBsaWZpZWRQYXJhbGxlbFNwZWMsXG4gIFN0YWdlRm4sXG4gIFN0YWdlTm9kZSxcbiAgU3RyZWFtQ2FsbGJhY2ssXG4gIFN0cmVhbUxpZmVjeWNsZUhhbmRsZXIsXG4gIFN0cmVhbVRva2VuSGFuZGxlcixcbiAgU3ViZmxvd01vdW50T3B0aW9ucyxcbiAgU3ViZmxvd1JlZixcbn0gZnJvbSAnLi9saWIvYnVpbGRlci9pbmRleC5qcyc7XG5leHBvcnQgeyBBcnJheU1lcmdlTW9kZSwgRGVjaWRlckxpc3QsIFNlbGVjdG9yRm5MaXN0LCBzcGVjVG9TdGFnZU5vZGUgfSBmcm9tICcuL2xpYi9idWlsZGVyL2luZGV4LmpzJztcbmV4cG9ydCB7IGNyZWF0ZVR5cGVkU2NvcGVGYWN0b3J5IH0gZnJvbSAnLi9saWIvYnVpbGRlci90eXBlZEZsb3dDaGFydC5qcyc7XG5leHBvcnQgeyBub3JtYWxpemVTY2hlbWEsIHpvZFRvSnNvblNjaGVtYSB9IGZyb20gJy4vbGliL2NvbnRyYWN0L2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgRmlsdGVyQ29uZGl0aW9uIH0gZnJvbSAnLi9saWIvZGVjaWRlL2luZGV4LmpzJztcbmV4cG9ydCB7IGV2YWx1YXRlRmlsdGVyIH0gZnJvbSAnLi9saWIvZGVjaWRlL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgVHJhdmVyc2VyT3B0aW9ucyB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IERlY2lkZXIgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBJQ29udHJvbEZsb3dOYXJyYXRpdmUgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBDb21iaW5lZE5hcnJhdGl2ZUVudHJ5LCBDb21iaW5lZE5hcnJhdGl2ZU9wdGlvbnMgfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUge1xuICBCcmFuY2hSZXN1bHQsXG4gIEJyYW5jaFJlc3VsdHMsXG4gIFNlcmlhbGl6ZWRQaXBlbGluZVN0cnVjdHVyZSBhcyBFbmdpbmVTZXJpYWxpemVkUGlwZWxpbmVTdHJ1Y3R1cmUsXG4gIEhhbmRsZXJEZXBzLFxuICBJRXhlY3V0aW9uUnVudGltZSxcbiAgTm9kZVJlc3VsdFR5cGUsXG4gIFJ1bnRpbWVTdHJ1Y3R1cmVNZXRhZGF0YSxcbiAgU2NvcGVGYWN0b3J5LFxuICBTZXJpYWxpemVkUGlwZWxpbmVOb2RlLFxuICBTdGFnZUZ1bmN0aW9uLFxuICBTdWJmbG93UmVzdWx0LFxuICBUcmF2ZXJzYWxSZXN1bHQsXG59IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IEV4ZWN1dGVOb2RlRm4sIFF1ZXVlZFBhdXNlLCBSZXN1bWVIb3AsIFJ1blN0YWdlRm4gfSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHsgRmxvd2NoYXJ0VHJhdmVyc2VyIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7IGlzU3RhZ2VOb2RlUmV0dXJuIH0gZnJvbSAnLi9saWIvZW5naW5lL2luZGV4LmpzJztcbmV4cG9ydCB7IE51bGxDb250cm9sRmxvd05hcnJhdGl2ZUdlbmVyYXRvciB9IGZyb20gJy4vbGliL2VuZ2luZS9pbmRleC5qcyc7XG5leHBvcnQge1xuICBhcHBseU91dHB1dE1hcHBpbmcsXG4gIENoaWxkcmVuRXhlY3V0b3IsXG4gIGNvbXB1dGVOb2RlVHlwZSxcbiAgQ29udGludWF0aW9uUmVzb2x2ZXIsXG4gIGNyZWF0ZVN1YmZsb3dIYW5kbGVyRGVwcyxcbiAgRGVjaWRlckhhbmRsZXIsXG4gIERFRkFVTFRfTUFYX0lURVJBVElPTlMsXG4gIGV4dHJhY3RQYXJlbnRTY29wZVZhbHVlcyxcbiAgZ2V0SW5pdGlhbFNjb3BlVmFsdWVzLFxuICBOb2RlUmVzb2x2ZXIsXG4gIFJlc3VtZUVudHJ5LFxuICBSdW50aW1lU3RydWN0dXJlTWFuYWdlcixcbiAgc2VlZFN1YmZsb3dHbG9iYWxTdG9yZSxcbiAgU2VsZWN0b3JIYW5kbGVyLFxuICBTdGFnZVJ1bm5lcixcbiAgU3ViZmxvd0V4ZWN1dG9yLFxufSBmcm9tICcuL2xpYi9lbmdpbmUvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUge1xuICBGbG93Q29udHJvbFR5cGUsXG4gIEZsb3dNZXNzYWdlLFxuICBSZWFkU3VtbWFyeU1hcmtlcixcbiAgUmVhZFRyYWNraW5nTW9kZSxcbiAgUmV0ZW50aW9uUG9saWN5LFxuICBTdGFnZVNuYXBzaG90LFxuICBXcml0ZVN1bW1hcnlNYXJrZXIsXG4gIFdyaXRlVHJhY2tpbmdNb2RlLFxufSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBSZWRhY3Rpb25WZXJkaWN0IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgUnVuUG9saWN5IH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IFN0YWdlQ29udGV4dCB9IGZyb20gJy4vbGliL21lbW9yeS9pbmRleC5qcyc7XG5leHBvcnQgeyBEaWFnbm9zdGljQ29sbGVjdG9yIH0gZnJvbSAnLi9saWIvbWVtb3J5L2luZGV4LmpzJztcbmV4cG9ydCB7IFJlZGFjdGlvblJ1bGUgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHsgREVGQVVMVF9SVU5fUE9MSUNZLCBydW5Qb2xpY3kgfSBmcm9tICcuL2xpYi9tZW1vcnkvaW5kZXguanMnO1xuZXhwb3J0IHR5cGUgeyBSZWFjdGl2ZU9wdGlvbnMsIFJlYWN0aXZlVGFyZ2V0IH0gZnJvbSAnLi9saWIvcmVhY3RpdmUvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgYnVpbGROZXN0ZWRQYXRjaCxcbiAgY3JlYXRlQXJyYXlQcm94eSxcbiAgaXNIYW5kbGUsXG4gIGpvaW5QYXRoLFxuICBTQ09QRV9NRVRIT0RfTkFNRVMsXG4gIHNob3VsZFdyYXBXaXRoUHJveHksXG4gIHVud3JhcEhhbmRsZXMsXG4gIHZhbHVlQmVoaW5kLFxufSBmcm9tICcuL2xpYi9yZWFjdGl2ZS9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7IFJ1bnRpbWVTbmFwc2hvdCB9IGZyb20gJy4vbGliL3J1bm5lci9pbmRleC5qcyc7XG5leHBvcnQgeyBFeGVjdXRpb25SdW50aW1lIH0gZnJvbSAnLi9saWIvcnVubmVyL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgUHJvdmlkZXJSZXNvbHZlcixcbiAgUmVzb2x2ZU9wdGlvbnMsXG4gIFNjb3BlUHJvdmlkZXIsXG4gIFN0YWdlQ29udGV4dExpa2UsXG4gIFN0cmljdE1vZGUsXG59IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgQWdncmVnYXRlZE1ldHJpY3MsXG4gIERlYnVnRW50cnksXG4gIERlYnVnUmVjb3JkZXJPcHRpb25zLFxuICBEZWJ1Z1ZlcmJvc2l0eSxcbiAgUmVjb3JkZXJDb250ZXh0LFxuICBTdGFnZUV2ZW50LFxuICBTdGFnZU1ldHJpY3MsXG59IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbmV4cG9ydCB7IGNyZWF0ZUVycm9yTWVzc2FnZSwgY3JlYXRlUHJvdGVjdGVkU2NvcGUsIFNjb3BlRmFjYWRlIH0gZnJvbSAnLi9saWIvc2NvcGUvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgYXR0YWNoU2NvcGVNZXRob2RzLFxuICBpc1N1YmNsYXNzT2ZTY29wZUZhY2FkZSxcbiAgbG9va3NMaWtlQ2xhc3NDdG9yLFxuICBsb29rc0xpa2VGYWN0b3J5LFxuICBtYWtlQ2xhc3NQcm92aWRlcixcbiAgbWFrZUZhY3RvcnlQcm92aWRlcixcbiAgcmVnaXN0ZXJTY29wZVJlc29sdmVyLFxuICByZXNvbHZlU2NvcGVQcm92aWRlcixcbiAgdG9TY29wZUZhY3RvcnksXG59IGZyb20gJy4vbGliL3Njb3BlL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHsgU2NvcGVSdW50aW1lLCBTY29wZVJ1bnRpbWVUYXJnZXQgfSBmcm9tICcuL2xpYi9zY29wZS9ydW50aW1lLmpzJztcbmV4cG9ydCB7IHJlZ2lzdGVyU2NvcGVSdW50aW1lIH0gZnJvbSAnLi9saWIvc2NvcGUvcnVudGltZS5qcyc7XG4iXX0=
@@ -8,8 +8,8 @@
8
8
  * ```ts
9
9
  * import { flowChart, decide, narrative } from 'footprintjs'; // main — start here
10
10
  * import { metrics, debug, manifest } from 'footprintjs/recorders'; // recorder factories
11
- * import { stateAt, causalChain } from 'footprintjs/trace'; // read a finished run
12
- * import { RecordFrame, EventLog } from 'footprintjs/write'; // write a record yourself
11
+ * import { stateAt, causalChain } from 'foottrace'; // read a finished run
12
+ * import { RecordFrame, EventLog } from 'foottrace/write'; // write a record yourself
13
13
  * import { StageContext } from 'footprintjs/advanced'; // engine internals
14
14
  * ```
15
15
  *
@@ -108,11 +108,9 @@ export type { CombinedNarrativeEntry } from './lib/engine/index.js';
108
108
  * @category Observe — Flow
109
109
  *
110
110
  * `NarrativeFormatter` — pluggable formatter that converts event context
111
- * objects into the text lines of the narrative. Prefer this name in new
112
- * code; `NarrativeRenderer` is a deprecated alias that will be removed in
113
- * the next major release.
111
+ * objects into the text lines of the narrative.
114
112
  */
115
- export type { NarrativeFormatter, NarrativeRenderer } from './lib/engine/index.js';
113
+ export type { NarrativeFormatter } from './lib/engine/index.js';
116
114
  /** @category Observe — Flow */
117
115
  export { NarrativeFlowRecorder } from './lib/engine/index.js';
118
116
  /** @category Observe — Flow */
@@ -197,12 +195,11 @@ export type { RetentionPolicy, WriteSummaryMarker, WriteTrackingMode } from './l
197
195
  * storing only the tail; `deleteValue()` commits as a real `delete` verb;
198
196
  * one trace entry per surviving path). Replay reconstructs every step's
199
197
  * full state exactly. Consumers reading `bundle.overwrite[key]` as the full
200
- * value must use `commitValueAt` from `footprintjs/trace`. Pass as
198
+ * value must use `commitValueAt` from `foottrace`. Pass as
201
199
  * `new FlowChartExecutor(chart, { commitValues })` or call
202
200
  * `executor.setCommitValues(mode)` before `run()`; the active mode is the
203
201
  * snapshot discriminant `getSnapshot().commitValues`.
204
202
  */
205
- export type { CommitValuesMode } from './lib/memory/index.js';
206
203
  /** @category Contract & Validation */
207
204
  export type { SchemaKind, ValidationIssue, ValidationResult } from './lib/schema/index.js';
208
205
  /** @category Contract & Validation */