@crvouga/atlas 0.0.0-stage → 0.2.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 (606) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/LICENSE +21 -0
  3. package/README.md +649 -2
  4. package/dist/bun/src/driver.d.ts +67 -0
  5. package/dist/bun/src/driver.js +90 -0
  6. package/dist/bun/src/index.d.ts +2 -0
  7. package/dist/bun/src/index.js +2 -0
  8. package/dist/core/src/cli.d.ts +1 -0
  9. package/dist/core/src/cli.js +177 -0
  10. package/dist/core/src/config.d.ts +477 -0
  11. package/dist/core/src/config.js +100 -0
  12. package/dist/core/src/events/cloudevents.d.ts +56 -0
  13. package/dist/core/src/events/cloudevents.js +152 -0
  14. package/dist/core/src/graph.d.ts +113 -0
  15. package/dist/core/src/graph.js +221 -0
  16. package/dist/core/src/index.d.ts +17 -0
  17. package/dist/core/src/index.js +17 -0
  18. package/dist/core/src/lint.d.ts +53 -0
  19. package/dist/core/src/lint.js +138 -0
  20. package/dist/core/src/plan.d.ts +109 -0
  21. package/dist/core/src/plan.js +324 -0
  22. package/dist/core/src/privacy.d.ts +8 -0
  23. package/dist/core/src/privacy.js +42 -0
  24. package/dist/core/src/report/formats.d.ts +69 -0
  25. package/dist/core/src/report/formats.js +109 -0
  26. package/dist/core/src/report/markdown.d.ts +8 -0
  27. package/dist/core/src/report/markdown.js +140 -0
  28. package/dist/core/src/run/clients.d.ts +42 -0
  29. package/dist/core/src/run/clients.js +250 -0
  30. package/dist/core/src/run/execute.d.ts +854 -0
  31. package/dist/core/src/run/execute.js +877 -0
  32. package/dist/core/src/run/frames.d.ts +16 -0
  33. package/dist/core/src/run/frames.js +52 -0
  34. package/dist/core/src/run/http.d.ts +41 -0
  35. package/dist/core/src/run/http.js +71 -0
  36. package/dist/core/src/run/types.d.ts +248 -0
  37. package/dist/core/src/run/types.js +39 -0
  38. package/dist/core/src/signals.d.ts +110 -0
  39. package/dist/core/src/signals.js +121 -0
  40. package/dist/core/src/spec/compose.d.ts +28 -0
  41. package/dist/core/src/spec/compose.js +71 -0
  42. package/dist/core/src/spec/index.d.ts +5 -0
  43. package/dist/core/src/spec/index.js +5 -0
  44. package/dist/core/src/spec/load.d.ts +8 -0
  45. package/dist/core/src/spec/load.js +46 -0
  46. package/dist/core/src/spec/parse.d.ts +5 -0
  47. package/dist/core/src/spec/parse.js +32 -0
  48. package/dist/core/src/spec/scxml.d.ts +19 -0
  49. package/dist/core/src/spec/scxml.js +239 -0
  50. package/dist/core/src/spec/types.d.ts +96 -0
  51. package/dist/core/src/spec/types.js +25 -0
  52. package/dist/detox/src/index.d.ts +75 -0
  53. package/dist/detox/src/index.js +110 -0
  54. package/dist/playwright/src/driver.d.ts +44 -0
  55. package/dist/playwright/src/driver.js +82 -0
  56. package/dist/playwright/src/index.d.ts +3 -0
  57. package/dist/playwright/src/index.js +3 -0
  58. package/dist/playwright/src/media.d.ts +68 -0
  59. package/dist/playwright/src/media.js +283 -0
  60. package/dist/playwright/src/signals.d.ts +34 -0
  61. package/dist/playwright/src/signals.js +56 -0
  62. package/dist/reports/src/browser-navigation.d.ts +2 -0
  63. package/dist/reports/src/browser-navigation.js +28 -0
  64. package/dist/reports/src/bundle.d.ts +24 -0
  65. package/dist/reports/src/bundle.js +114 -0
  66. package/dist/reports/src/catalog.d.ts +37 -0
  67. package/dist/reports/src/catalog.js +127 -0
  68. package/dist/reports/src/clock.d.ts +14 -0
  69. package/dist/reports/src/clock.js +4 -0
  70. package/dist/reports/src/completion-order.d.ts +10 -0
  71. package/dist/reports/src/completion-order.js +76 -0
  72. package/dist/reports/src/evidence-live.d.ts +40 -0
  73. package/dist/reports/src/evidence-live.js +118 -0
  74. package/dist/reports/src/evidence-types.d.ts +90 -0
  75. package/dist/reports/src/evidence-types.js +15 -0
  76. package/dist/reports/src/evidence-view.d.ts +68 -0
  77. package/dist/reports/src/evidence-view.js +113 -0
  78. package/dist/reports/src/explorer-types.d.ts +56 -0
  79. package/dist/reports/src/explorer-types.js +0 -0
  80. package/dist/reports/src/explorer-versions.d.ts +4 -0
  81. package/dist/reports/src/explorer-versions.js +21 -0
  82. package/dist/reports/src/export-evidence.d.ts +11 -0
  83. package/dist/reports/src/export-evidence.js +94 -0
  84. package/dist/reports/src/fetcher.d.ts +50 -0
  85. package/dist/reports/src/fetcher.js +205 -0
  86. package/dist/reports/src/format-date.d.ts +1 -0
  87. package/dist/reports/src/format-date.js +10 -0
  88. package/dist/reports/src/format.d.ts +16 -0
  89. package/dist/reports/src/format.js +71 -0
  90. package/dist/reports/src/frames.d.ts +46 -0
  91. package/dist/reports/src/frames.js +245 -0
  92. package/dist/reports/src/hash.d.ts +17 -0
  93. package/dist/reports/src/hash.js +43 -0
  94. package/dist/reports/src/html-frame.d.ts +13 -0
  95. package/dist/reports/src/html-frame.js +63 -0
  96. package/dist/reports/src/http.d.ts +3 -0
  97. package/dist/reports/src/http.js +0 -0
  98. package/dist/reports/src/junit.d.ts +23 -0
  99. package/dist/reports/src/junit.js +119 -0
  100. package/dist/reports/src/keyboard.d.ts +16 -0
  101. package/dist/reports/src/keyboard.js +135 -0
  102. package/dist/reports/src/keys.d.ts +53 -0
  103. package/dist/reports/src/keys.js +122 -0
  104. package/dist/reports/src/layer-catalog.d.ts +5 -0
  105. package/dist/reports/src/layer-catalog.js +39 -0
  106. package/dist/reports/src/layer-merge.d.ts +43 -0
  107. package/dist/reports/src/layer-merge.js +154 -0
  108. package/dist/reports/src/layer-source.d.ts +6 -0
  109. package/dist/reports/src/layer-source.js +32 -0
  110. package/dist/reports/src/layer-store.d.ts +10 -0
  111. package/dist/reports/src/layer-store.js +36 -0
  112. package/dist/reports/src/layer-types.d.ts +32 -0
  113. package/dist/reports/src/layer-types.js +0 -0
  114. package/dist/reports/src/layers-route.d.ts +20 -0
  115. package/dist/reports/src/layers-route.js +259 -0
  116. package/dist/reports/src/namespace-guard.d.ts +11 -0
  117. package/dist/reports/src/namespace-guard.js +40 -0
  118. package/dist/reports/src/navigation.d.ts +8 -0
  119. package/dist/reports/src/navigation.js +0 -0
  120. package/dist/reports/src/object-io.d.ts +9 -0
  121. package/dist/reports/src/object-io.js +41 -0
  122. package/dist/reports/src/object-store.d.ts +67 -0
  123. package/dist/reports/src/object-store.js +32 -0
  124. package/dist/reports/src/performance-part.d.ts +9 -0
  125. package/dist/reports/src/performance-part.js +42 -0
  126. package/dist/reports/src/performance.d.ts +13 -0
  127. package/dist/reports/src/performance.js +45 -0
  128. package/dist/reports/src/persist.d.ts +10 -0
  129. package/dist/reports/src/persist.js +38 -0
  130. package/dist/reports/src/phone.d.ts +5 -0
  131. package/dist/reports/src/phone.js +18 -0
  132. package/dist/reports/src/protocol.d.ts +78 -0
  133. package/dist/reports/src/protocol.js +36 -0
  134. package/dist/reports/src/publication.d.ts +4 -0
  135. package/dist/reports/src/publication.js +35 -0
  136. package/dist/reports/src/publish.d.ts +52 -0
  137. package/dist/reports/src/publish.js +189 -0
  138. package/dist/reports/src/read.d.ts +62 -0
  139. package/dist/reports/src/read.js +214 -0
  140. package/dist/reports/src/recording-bundle.d.ts +22 -0
  141. package/dist/reports/src/recording-bundle.js +4 -0
  142. package/dist/reports/src/recording-keys.d.ts +9 -0
  143. package/dist/reports/src/recording-keys.js +50 -0
  144. package/dist/reports/src/remote-report.d.ts +39 -0
  145. package/dist/reports/src/remote-report.js +304 -0
  146. package/dist/reports/src/report-loader.d.ts +22 -0
  147. package/dist/reports/src/report-loader.js +0 -0
  148. package/dist/reports/src/report-parts.d.ts +10 -0
  149. package/dist/reports/src/report-parts.js +112 -0
  150. package/dist/reports/src/report-types.d.ts +194 -0
  151. package/dist/reports/src/report-types.js +29 -0
  152. package/dist/reports/src/reports-explorer-route.d.ts +90 -0
  153. package/dist/reports/src/reports-explorer-route.js +65 -0
  154. package/dist/reports/src/reports-list-route.d.ts +23 -0
  155. package/dist/reports/src/reports-list-route.js +55 -0
  156. package/dist/reports/src/reports-route.d.ts +267 -0
  157. package/dist/reports/src/reports-route.js +204 -0
  158. package/dist/reports/src/reports-store.d.ts +11 -0
  159. package/dist/reports/src/reports-store.js +28 -0
  160. package/dist/reports/src/resilient-cache.d.ts +3 -0
  161. package/dist/reports/src/resilient-cache.js +33 -0
  162. package/dist/reports/src/retention.d.ts +9 -0
  163. package/dist/reports/src/retention.js +16 -0
  164. package/dist/reports/src/scenario.d.ts +15 -0
  165. package/dist/reports/src/scenario.js +35 -0
  166. package/dist/reports/src/snapshot-bundle.d.ts +18 -0
  167. package/dist/reports/src/snapshot-bundle.js +94 -0
  168. package/dist/reports/src/snapshot-surface.d.ts +29 -0
  169. package/dist/reports/src/snapshot-surface.js +339 -0
  170. package/dist/reports/src/source-content.d.ts +30 -0
  171. package/dist/reports/src/source-content.js +63 -0
  172. package/dist/reports/src/source-entries.d.ts +4 -0
  173. package/dist/reports/src/source-entries.js +34 -0
  174. package/dist/reports/src/source-part.d.ts +4 -0
  175. package/dist/reports/src/source-part.js +66 -0
  176. package/dist/reports/src/source-reader.d.ts +6 -0
  177. package/dist/reports/src/source-reader.js +17 -0
  178. package/dist/reports/src/spec-evidence.d.ts +6 -0
  179. package/dist/reports/src/spec-evidence.js +20 -0
  180. package/dist/reports/src/spec-inventory.d.ts +14 -0
  181. package/dist/reports/src/spec-inventory.js +75 -0
  182. package/dist/reports/src/status.d.ts +4 -0
  183. package/dist/reports/src/status.js +8 -0
  184. package/dist/reports/src/store-prefix.d.ts +21 -0
  185. package/dist/reports/src/store-prefix.js +53 -0
  186. package/dist/reports/src/test-catalog-entity.d.ts +3 -0
  187. package/dist/reports/src/test-catalog-entity.js +34 -0
  188. package/dist/reports/src/types.d.ts +5 -0
  189. package/dist/reports/src/types.js +0 -0
  190. package/dist/reports/src/use-report-nav.d.ts +25 -0
  191. package/dist/reports/src/use-report-nav.js +181 -0
  192. package/dist/schema/src/common.d.ts +57 -0
  193. package/dist/schema/src/common.js +32 -0
  194. package/dist/schema/src/index.d.ts +5 -0
  195. package/dist/schema/src/index.js +5 -0
  196. package/dist/schema/src/manifest.d.ts +457 -0
  197. package/dist/schema/src/manifest.js +247 -0
  198. package/dist/schema/src/report-sources.d.ts +68 -0
  199. package/dist/schema/src/report-sources.js +53 -0
  200. package/dist/schema/src/runs-index.d.ts +52 -0
  201. package/dist/schema/src/runs-index.js +24 -0
  202. package/dist/schema/src/spec.d.ts +245 -0
  203. package/dist/schema/src/spec.js +133 -0
  204. package/dist/vitest/src/index.d.ts +22 -0
  205. package/dist/vitest/src/index.js +33 -0
  206. package/dist/webdriver/src/driver.d.ts +69 -0
  207. package/dist/webdriver/src/driver.js +230 -0
  208. package/dist/webdriver/src/index.d.ts +11 -0
  209. package/dist/webdriver/src/index.js +10 -0
  210. package/dist/webdriver/src/protocol.d.ts +60 -0
  211. package/dist/webdriver/src/protocol.js +146 -0
  212. package/package.json +181 -4
  213. package/packages/bun/README.md +69 -0
  214. package/packages/core/README.md +78 -0
  215. package/packages/core/bin/atlas.mjs +8 -0
  216. package/packages/detox/README.md +73 -0
  217. package/packages/playwright/README.md +77 -0
  218. package/packages/reports/README.md +47 -0
  219. package/packages/reports/STORAGE.md +73 -0
  220. package/packages/schema/README.md +23 -0
  221. package/packages/schema/schemas/atlas-change.schema.json +34 -0
  222. package/packages/schema/schemas/atlas.schema.json +32 -0
  223. package/packages/schema/schemas/cloud-event.schema.json +40 -0
  224. package/packages/schema/schemas/journeys.schema.json +17 -0
  225. package/packages/schema/schemas/manifest.schema.json +160 -0
  226. package/packages/schema/schemas/path-record.schema.json +151 -0
  227. package/packages/schema/schemas/report-sources.schema.json +95 -0
  228. package/packages/schema/schemas/run-info.schema.json +176 -0
  229. package/packages/schema/schemas/run-summary.schema.json +206 -0
  230. package/packages/schema/schemas/runs-index.schema.json +23 -0
  231. package/packages/schema/schemas/state-node.schema.json +238 -0
  232. package/packages/schema/schemas/state-record.schema.json +354 -0
  233. package/packages/schema/schemas/timeline-entry.schema.json +124 -0
  234. package/packages/schema/schemas/transition-record.schema.json +125 -0
  235. package/packages/visualizer/README.md +154 -0
  236. package/packages/visualizer/bin/atlas-visualizer.mjs +176 -0
  237. package/packages/visualizer/example/specs/coffee/ordering/checkout.scxml +82 -0
  238. package/packages/visualizer/example/specs/coffee/ordering/journeys.yaml +129 -0
  239. package/packages/visualizer/example/specs/coffee/ordering/known-issues.md +14 -0
  240. package/packages/visualizer/example/specs/coffee/ordering/machine.yaml +158 -0
  241. package/packages/visualizer/example/specs/coffee/ordering/open-questions.md +25 -0
  242. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/chart.mmd +67 -0
  243. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/ctrf.json +245 -0
  244. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/junit.xml +12 -0
  245. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/manifest.json +2003 -0
  246. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/001.vtt +9 -0
  247. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/002.vtt +9 -0
  248. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/003.vtt +9 -0
  249. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/004.vtt +9 -0
  250. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/005.vtt +17 -0
  251. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/006.vtt +9 -0
  252. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/007.vtt +17 -0
  253. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/008.vtt +17 -0
  254. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/009.vtt +13 -0
  255. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/010.vtt +9 -0
  256. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/011.vtt +9 -0
  257. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/012.vtt +9 -0
  258. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/013.vtt +9 -0
  259. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.mp4 +0 -0
  260. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.poster.webp +0 -0
  261. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.mp4 +0 -0
  262. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.poster.webp +0 -0
  263. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/03.mp4 +0 -0
  264. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/03.poster.webp +0 -0
  265. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/04.mp4 +0 -0
  266. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/04.poster.webp +0 -0
  267. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.png +0 -0
  268. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.webp +0 -0
  269. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.png +0 -0
  270. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.webp +0 -0
  271. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.png +0 -0
  272. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.webp +0 -0
  273. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/04.png +0 -0
  274. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/04.webp +0 -0
  275. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/05.png +0 -0
  276. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/05.webp +0 -0
  277. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-2/01.png +0 -0
  278. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-2/01.webp +0 -0
  279. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-3/failed-01.png +0 -0
  280. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-3/failed-01.webp +0 -0
  281. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-4/01.png +0 -0
  282. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-4/01.webp +0 -0
  283. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-5/01.png +0 -0
  284. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-5/01.webp +0 -0
  285. package/packages/visualizer/fixtures/failures/specs/coffee/ordering/checkout.scxml +82 -0
  286. package/packages/visualizer/fixtures/failures/specs/coffee/ordering/journeys.yaml +129 -0
  287. package/packages/visualizer/fixtures/failures/specs/coffee/ordering/known-issues.md +14 -0
  288. package/packages/visualizer/fixtures/failures/specs/coffee/ordering/machine.yaml +158 -0
  289. package/packages/visualizer/fixtures/failures/specs/coffee/ordering/open-questions.md +25 -0
  290. package/packages/visualizer/fixtures/full/runs/2026-10-02T09-10-00-000Z-fast/chart.mmd +67 -0
  291. package/packages/visualizer/fixtures/full/runs/2026-10-02T09-10-00-000Z-fast/ctrf.json +247 -0
  292. package/packages/visualizer/fixtures/full/runs/2026-10-02T09-10-00-000Z-fast/junit.xml +12 -0
  293. package/packages/visualizer/fixtures/full/runs/2026-10-02T09-10-00-000Z-fast/manifest.json +1875 -0
  294. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/chart.mmd +67 -0
  295. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/ctrf.json +244 -0
  296. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/junit.xml +12 -0
  297. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/manifest.json +1977 -0
  298. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/captions/001.vtt +9 -0
  299. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/captions/002.vtt +9 -0
  300. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/captions/003.vtt +9 -0
  301. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/captions/004.vtt +9 -0
  302. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/captions/005.vtt +17 -0
  303. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/captions/006.vtt +9 -0
  304. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/clips/journey-1/01.mp4 +0 -0
  305. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/clips/journey-1/01.poster.webp +0 -0
  306. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/clips/journey-1/02.mp4 +0 -0
  307. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/clips/journey-1/02.poster.webp +0 -0
  308. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-1/01.png +0 -0
  309. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-1/01.webp +0 -0
  310. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-1/02.png +0 -0
  311. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-1/02.webp +0 -0
  312. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-1/03.png +0 -0
  313. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-1/03.webp +0 -0
  314. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-2/01.png +0 -0
  315. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-2/01.webp +0 -0
  316. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/chart.mmd +67 -0
  317. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/ctrf.json +472 -0
  318. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/junit.xml +16 -0
  319. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/manifest.json +3701 -0
  320. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/001.vtt +9 -0
  321. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/002.vtt +9 -0
  322. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/003.vtt +9 -0
  323. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/004.vtt +9 -0
  324. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/005.vtt +9 -0
  325. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/006.vtt +13 -0
  326. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/007.vtt +9 -0
  327. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/008.vtt +13 -0
  328. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/009.vtt +17 -0
  329. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/010.vtt +9 -0
  330. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/011.vtt +13 -0
  331. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/012.vtt +9 -0
  332. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/013.vtt +9 -0
  333. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/014.vtt +9 -0
  334. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/015.vtt +9 -0
  335. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/016.vtt +9 -0
  336. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/017.vtt +9 -0
  337. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/018.vtt +17 -0
  338. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/019.vtt +9 -0
  339. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/020.vtt +9 -0
  340. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/021.vtt +9 -0
  341. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/022.vtt +17 -0
  342. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/023.vtt +17 -0
  343. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/024.vtt +13 -0
  344. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/025.vtt +9 -0
  345. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/026.vtt +9 -0
  346. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/027.vtt +9 -0
  347. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/028.vtt +9 -0
  348. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.mp4 +0 -0
  349. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.poster.webp +0 -0
  350. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.mp4 +0 -0
  351. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.poster.webp +0 -0
  352. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/03.mp4 +0 -0
  353. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/03.poster.webp +0 -0
  354. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/04.mp4 +0 -0
  355. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/04.poster.webp +0 -0
  356. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.png +0 -0
  357. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.webp +0 -0
  358. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.png +0 -0
  359. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.webp +0 -0
  360. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.png +0 -0
  361. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.webp +0 -0
  362. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/04.png +0 -0
  363. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/04.webp +0 -0
  364. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/05.png +0 -0
  365. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/05.webp +0 -0
  366. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/06.png +0 -0
  367. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/06.webp +0 -0
  368. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/07.png +0 -0
  369. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/07.webp +0 -0
  370. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/08.png +0 -0
  371. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/08.webp +0 -0
  372. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/09.png +0 -0
  373. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/09.webp +0 -0
  374. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/10.png +0 -0
  375. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/10.webp +0 -0
  376. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/11.png +0 -0
  377. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/11.webp +0 -0
  378. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/12.png +0 -0
  379. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/12.webp +0 -0
  380. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/13.png +0 -0
  381. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/13.webp +0 -0
  382. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/14.png +0 -0
  383. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/14.webp +0 -0
  384. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-2/01.png +0 -0
  385. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-2/01.webp +0 -0
  386. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-3/01.png +0 -0
  387. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-3/01.webp +0 -0
  388. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-4/01.png +0 -0
  389. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-4/01.webp +0 -0
  390. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-5/01.png +0 -0
  391. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-5/01.webp +0 -0
  392. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-6/01.png +0 -0
  393. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-6/01.webp +0 -0
  394. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-7/01.png +0 -0
  395. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-7/01.webp +0 -0
  396. package/packages/visualizer/fixtures/full/specs/coffee/ordering/checkout.scxml +82 -0
  397. package/packages/visualizer/fixtures/full/specs/coffee/ordering/journeys.yaml +129 -0
  398. package/packages/visualizer/fixtures/full/specs/coffee/ordering/known-issues.md +14 -0
  399. package/packages/visualizer/fixtures/full/specs/coffee/ordering/machine.yaml +158 -0
  400. package/packages/visualizer/fixtures/full/specs/coffee/ordering/open-questions.md +25 -0
  401. package/packages/visualizer/fixtures/large/runs/2026-10-06T14-40-00-000Z-fast/ctrf.json +1280 -0
  402. package/packages/visualizer/fixtures/large/runs/2026-10-06T14-40-00-000Z-fast/junit.xml +26 -0
  403. package/packages/visualizer/fixtures/large/runs/2026-10-06T14-40-00-000Z-fast/manifest.json +28393 -0
  404. package/packages/visualizer/fixtures/large/specs/accounts/sign-up/identity-check.machine.yaml +397 -0
  405. package/packages/visualizer/fixtures/large/specs/accounts/sign-up/journeys.yaml +129 -0
  406. package/packages/visualizer/fixtures/large/specs/accounts/sign-up/machine.yaml +830 -0
  407. package/packages/visualizer/fixtures/large/specs/atlas.yaml +65 -0
  408. package/packages/visualizer/fixtures/large/specs/billing/invoices/journeys.yaml +132 -0
  409. package/packages/visualizer/fixtures/large/specs/billing/invoices/machine.yaml +830 -0
  410. package/packages/visualizer/fixtures/large/specs/billing/invoices/refund-handling.scxml +288 -0
  411. package/packages/visualizer/fixtures/large/specs/catalog/browsing/journeys.yaml +126 -0
  412. package/packages/visualizer/fixtures/large/specs/catalog/browsing/machine.yaml +831 -0
  413. package/packages/visualizer/fixtures/large/specs/catalog/browsing/product-comparison.machine.yaml +395 -0
  414. package/packages/visualizer/fixtures/large/specs/orders/checkout/journeys.yaml +120 -0
  415. package/packages/visualizer/fixtures/large/specs/orders/checkout/machine.yaml +724 -0
  416. package/packages/visualizer/fixtures/large/specs/orders/checkout/open-questions.md +16 -0
  417. package/packages/visualizer/fixtures/large/specs/orders/checkout/payment.scxml +288 -0
  418. package/packages/visualizer/fixtures/large/specs/shipping/deliveries/delivery-scheduling.machine.yaml +397 -0
  419. package/packages/visualizer/fixtures/large/specs/shipping/deliveries/journeys.yaml +132 -0
  420. package/packages/visualizer/fixtures/large/specs/shipping/deliveries/known-issues.md +13 -0
  421. package/packages/visualizer/fixtures/large/specs/shipping/deliveries/machine.yaml +830 -0
  422. package/packages/visualizer/fixtures/large/specs/support/tickets/escalation.machine.yaml +395 -0
  423. package/packages/visualizer/fixtures/large/specs/support/tickets/journeys.yaml +123 -0
  424. package/packages/visualizer/fixtures/large/specs/support/tickets/machine.yaml +720 -0
  425. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T10-00-00-000Z-showcase/manifest.json +68 -0
  426. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T11-00-00-000Z-showcase/ctrf.json +50 -0
  427. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T11-00-00-000Z-showcase/junit.xml +6 -0
  428. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T11-00-00-000Z-showcase/manifest.json +1281 -0
  429. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T12-00-00-000Z-showcase/ctrf.json +50 -0
  430. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T12-00-00-000Z-showcase/junit.xml +6 -0
  431. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T12-00-00-000Z-showcase/manifest.json +1232 -0
  432. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T13-00-00-000Z-showcase/manifest.json +1244 -0
  433. package/packages/visualizer/fixtures/malformed/specs/coffee/ordering/checkout.scxml +82 -0
  434. package/packages/visualizer/fixtures/malformed/specs/coffee/ordering/journeys.yaml +134 -0
  435. package/packages/visualizer/fixtures/malformed/specs/coffee/ordering/known-issues.md +14 -0
  436. package/packages/visualizer/fixtures/malformed/specs/coffee/ordering/loyalty.scxml +4 -0
  437. package/packages/visualizer/fixtures/malformed/specs/coffee/ordering/machine.yaml +156 -0
  438. package/packages/visualizer/fixtures/malformed/specs/coffee/ordering/open-questions.md +25 -0
  439. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/chart.mmd +67 -0
  440. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/ctrf.json +149 -0
  441. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/junit.xml +9 -0
  442. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/manifest.json +1718 -0
  443. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/001.vtt +9 -0
  444. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/002.vtt +17 -0
  445. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/003.vtt +17 -0
  446. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/004.vtt +9 -0
  447. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/005.vtt +9 -0
  448. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.mp4 +0 -0
  449. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.poster.webp +0 -0
  450. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.mp4 +0 -0
  451. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.poster.webp +0 -0
  452. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/03.mp4 +0 -0
  453. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/03.poster.webp +0 -0
  454. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.png +0 -0
  455. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.webp +0 -0
  456. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.png +0 -0
  457. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.webp +0 -0
  458. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.png +0 -0
  459. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.webp +0 -0
  460. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/05.png +0 -0
  461. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/05.webp +0 -0
  462. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-3/01.png +0 -0
  463. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-3/01.webp +0 -0
  464. package/packages/visualizer/fixtures/partial/runs/2026-10-06T15-05-00-000Z-showcase/media/paths/journey-1/00-start-01.png +0 -0
  465. package/packages/visualizer/fixtures/partial/runs/2026-10-06T15-05-00-000Z-showcase/media/paths/journey-1/00-start-01.webp +0 -0
  466. package/packages/visualizer/fixtures/partial/runs/2026-10-06T15-05-00-000Z-showcase/media/paths/journey-1/02.png +0 -0
  467. package/packages/visualizer/fixtures/partial/runs/2026-10-06T15-05-00-000Z-showcase/media/paths/journey-1/02.webp +0 -0
  468. package/packages/visualizer/fixtures/partial/specs/coffee/ordering/checkout.scxml +82 -0
  469. package/packages/visualizer/fixtures/partial/specs/coffee/ordering/journeys.yaml +129 -0
  470. package/packages/visualizer/fixtures/partial/specs/coffee/ordering/known-issues.md +14 -0
  471. package/packages/visualizer/fixtures/partial/specs/coffee/ordering/machine.yaml +158 -0
  472. package/packages/visualizer/fixtures/partial/specs/coffee/ordering/open-questions.md +25 -0
  473. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/ctrf.json +79 -0
  474. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/junit.xml +7 -0
  475. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/manifest.json +1504 -0
  476. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/001.vtt +9 -0
  477. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/002.vtt +9 -0
  478. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/003.vtt +9 -0
  479. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/004.vtt +17 -0
  480. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.mp4 +0 -0
  481. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.poster.webp +0 -0
  482. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.mp4 +0 -0
  483. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.poster.webp +0 -0
  484. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.png +0 -0
  485. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.webp +0 -0
  486. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.png +0 -0
  487. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.webp +0 -0
  488. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.png +0 -0
  489. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.webp +0 -0
  490. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/04.png +0 -0
  491. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/04.webp +0 -0
  492. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-2/01.png +0 -0
  493. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-2/01.webp +0 -0
  494. package/packages/visualizer/fixtures/removed/specs/coffee/ordering/checkout.scxml +82 -0
  495. package/packages/visualizer/fixtures/removed/specs/coffee/ordering/journeys.yaml +129 -0
  496. package/packages/visualizer/fixtures/removed/specs/coffee/ordering/known-issues.md +14 -0
  497. package/packages/visualizer/fixtures/removed/specs/coffee/ordering/machine.yaml +158 -0
  498. package/packages/visualizer/fixtures/removed/specs/coffee/ordering/open-questions.md +25 -0
  499. package/packages/visualizer/fixtures/spec-only/runs/.gitkeep +0 -0
  500. package/packages/visualizer/fixtures/spec-only/specs/coffee/ordering/checkout.scxml +82 -0
  501. package/packages/visualizer/fixtures/spec-only/specs/coffee/ordering/journeys.yaml +129 -0
  502. package/packages/visualizer/fixtures/spec-only/specs/coffee/ordering/known-issues.md +14 -0
  503. package/packages/visualizer/fixtures/spec-only/specs/coffee/ordering/machine.yaml +158 -0
  504. package/packages/visualizer/fixtures/spec-only/specs/coffee/ordering/open-questions.md +25 -0
  505. package/packages/visualizer/index.html +13 -0
  506. package/packages/visualizer/scripts/make-fixtures.ts +1490 -0
  507. package/packages/visualizer/scripts/publish-data.ts +22 -0
  508. package/packages/visualizer/src/app/AppShell.tsx +56 -0
  509. package/packages/visualizer/src/app/atlas-context.tsx +23 -0
  510. package/packages/visualizer/src/app/gazetteer.module.css +97 -0
  511. package/packages/visualizer/src/app/gazetteer.tsx +105 -0
  512. package/packages/visualizer/src/app/report-sources.tsx +122 -0
  513. package/packages/visualizer/src/app/router.tsx +69 -0
  514. package/packages/visualizer/src/app/search-query.tsx +14 -0
  515. package/packages/visualizer/src/components/DataIssues.module.css +136 -0
  516. package/packages/visualizer/src/components/DataIssues.tsx +70 -0
  517. package/packages/visualizer/src/components/Header.module.css +189 -0
  518. package/packages/visualizer/src/components/Header.tsx +127 -0
  519. package/packages/visualizer/src/components/Legend.module.css +84 -0
  520. package/packages/visualizer/src/components/Legend.tsx +50 -0
  521. package/packages/visualizer/src/components/Screen.module.css +312 -0
  522. package/packages/visualizer/src/components/Screen.tsx +141 -0
  523. package/packages/visualizer/src/components/Status.module.css +116 -0
  524. package/packages/visualizer/src/components/Status.tsx +60 -0
  525. package/packages/visualizer/src/components/icons.tsx +156 -0
  526. package/packages/visualizer/src/components/labels.tsx +22 -0
  527. package/packages/visualizer/src/data/adapters/adapter.ts +112 -0
  528. package/packages/visualizer/src/data/adapters/context.tsx +11 -0
  529. package/packages/visualizer/src/data/adapters/index.ts +29 -0
  530. package/packages/visualizer/src/data/adapters/report-backend.test.ts +96 -0
  531. package/packages/visualizer/src/data/adapters/report-backend.ts +42 -0
  532. package/packages/visualizer/src/data/fixtures.test.ts +407 -0
  533. package/packages/visualizer/src/data/model/build.ts +418 -0
  534. package/packages/visualizer/src/data/model/event-kind.test.ts +59 -0
  535. package/packages/visualizer/src/data/model/event-kind.ts +54 -0
  536. package/packages/visualizer/src/data/model/index.ts +3 -0
  537. package/packages/visualizer/src/data/model/journeys.test.ts +159 -0
  538. package/packages/visualizer/src/data/model/journeys.ts +29 -0
  539. package/packages/visualizer/src/data/model/simulation.test.ts +115 -0
  540. package/packages/visualizer/src/data/model/simulation.ts +187 -0
  541. package/packages/visualizer/src/data/model/status.test.ts +34 -0
  542. package/packages/visualizer/src/data/model/status.ts +43 -0
  543. package/packages/visualizer/src/data/model/types.ts +280 -0
  544. package/packages/visualizer/src/data/parse/issues.test.ts +82 -0
  545. package/packages/visualizer/src/data/parse/issues.ts +114 -0
  546. package/packages/visualizer/src/data/parse/manifest.ts +173 -0
  547. package/packages/visualizer/src/data/parse/markdown.test.ts +119 -0
  548. package/packages/visualizer/src/data/parse/markdown.ts +133 -0
  549. package/packages/visualizer/src/data/parse/spec.test.ts +106 -0
  550. package/packages/visualizer/src/data/parse/spec.ts +557 -0
  551. package/packages/visualizer/src/data/parse/structured.ts +44 -0
  552. package/packages/visualizer/src/data/queries.ts +369 -0
  553. package/packages/visualizer/src/data/testing/load-fixture.ts +63 -0
  554. package/packages/visualizer/src/evidence/api.ts +41 -0
  555. package/packages/visualizer/src/evidence/check-detail.tsx +257 -0
  556. package/packages/visualizer/src/evidence/decision-table.tsx +68 -0
  557. package/packages/visualizer/src/evidence/document-page.tsx +40 -0
  558. package/packages/visualizer/src/evidence/evidence-context.tsx +159 -0
  559. package/packages/visualizer/src/evidence/evidence.module.css +877 -0
  560. package/packages/visualizer/src/evidence/feature-page.tsx +88 -0
  561. package/packages/visualizer/src/evidence/format.ts +56 -0
  562. package/packages/visualizer/src/evidence/gherkin.ts +98 -0
  563. package/packages/visualizer/src/evidence/marks.tsx +118 -0
  564. package/packages/visualizer/src/evidence/model-page.tsx +60 -0
  565. package/packages/visualizer/src/evidence/model-trace.tsx +57 -0
  566. package/packages/visualizer/src/evidence/overview.tsx +134 -0
  567. package/packages/visualizer/src/evidence/quint.ts +45 -0
  568. package/packages/visualizer/src/evidence/recording-page.tsx +69 -0
  569. package/packages/visualizer/src/evidence/recording.module.css +464 -0
  570. package/packages/visualizer/src/evidence/recording.tsx +197 -0
  571. package/packages/visualizer/src/evidence/snapshot.tsx +108 -0
  572. package/packages/visualizer/src/evidence/sources-panel.tsx +134 -0
  573. package/packages/visualizer/src/evidence/sources.module.css +168 -0
  574. package/packages/visualizer/src/evidence/spec-header.tsx +64 -0
  575. package/packages/visualizer/src/evidence/spec-index.tsx +82 -0
  576. package/packages/visualizer/src/evidence/spec-page.tsx +92 -0
  577. package/packages/visualizer/src/evidence/spec-snapshot.tsx +26 -0
  578. package/packages/visualizer/src/layout/graph.test.ts +113 -0
  579. package/packages/visualizer/src/layout/graph.ts +324 -0
  580. package/packages/visualizer/src/layout/layout.ts +237 -0
  581. package/packages/visualizer/src/layout/use-chart-layout.ts +18 -0
  582. package/packages/visualizer/src/main.tsx +31 -0
  583. package/packages/visualizer/src/map/ChartMap.tsx +252 -0
  584. package/packages/visualizer/src/map/EventEdge.tsx +138 -0
  585. package/packages/visualizer/src/map/map.module.css +546 -0
  586. package/packages/visualizer/src/map/nodes.tsx +145 -0
  587. package/packages/visualizer/src/map/path.ts +24 -0
  588. package/packages/visualizer/src/reachable.test.ts +54 -0
  589. package/packages/visualizer/src/spec-kind.test.ts +27 -0
  590. package/packages/visualizer/src/spec-kind.ts +56 -0
  591. package/packages/visualizer/src/state/ui-store.ts +44 -0
  592. package/packages/visualizer/src/styles/global.css +105 -0
  593. package/packages/visualizer/src/styles/tokens.css +80 -0
  594. package/packages/visualizer/src/views/ChartPage.tsx +52 -0
  595. package/packages/visualizer/src/views/ProductPage.tsx +35 -0
  596. package/packages/visualizer/src/views/SidePanel.tsx +339 -0
  597. package/packages/visualizer/src/views/views.module.css +546 -0
  598. package/packages/visualizer/vite/atlas-dev-plugin.ts +169 -0
  599. package/packages/visualizer/vite/atlas-files.test.ts +119 -0
  600. package/packages/visualizer/vite/atlas-files.ts +199 -0
  601. package/packages/visualizer/vite/publish.test.ts +52 -0
  602. package/packages/visualizer/vite/publish.ts +99 -0
  603. package/packages/visualizer/vite/reports-dev-plugin.ts +82 -0
  604. package/packages/visualizer/vite.config.ts +13 -0
  605. package/packages/vitest/README.md +58 -0
  606. package/packages/webdriver/README.md +77 -0
@@ -0,0 +1,831 @@
1
+ # Product browsing: generated fixture chart
2
+ id: Product browsing
3
+ initial: Handling the search filters
4
+ meta:
5
+ description: Finding and comparing products.
6
+ snapshot: product-browsing
7
+ events: []
8
+ confidence: confirmed
9
+ source:
10
+ - src/screens/product-browsing
11
+ states:
12
+ Handling the search filters:
13
+ id: Handling the search filters
14
+ initial: Reviewing the search filters
15
+ meta:
16
+ description: Everything about the search filters, from review to approval.
17
+ snapshot: handling-the-search-filters
18
+ events: []
19
+ confidence: confirmed
20
+ source:
21
+ - src/screens/handling-the-search-filters.tsx
22
+ owner: Catalog team
23
+ states:
24
+ Reviewing the search filters:
25
+ id: Reviewing the search filters
26
+ meta:
27
+ description: The user checks the search filters before sending it.
28
+ snapshot: reviewing-the-search-filters
29
+ events: []
30
+ confidence: confirmed
31
+ source:
32
+ - src/screens/reviewing-the-search-filters.tsx
33
+ gherkin:
34
+ - features/catalog/browsing/search-filters.feature
35
+ on:
36
+ Taps edit on the search filters:
37
+ target: "#Editing the search filters"
38
+ Submits the search filters:
39
+ target: "#Waiting for the search filters to be approved"
40
+ Editing the search filters:
41
+ id: Editing the search filters
42
+ initial: Editing the search filters details
43
+ meta:
44
+ description: The user changes the search filters, with an optional file.
45
+ snapshot: editing-the-search-filters
46
+ events: []
47
+ confidence: confirmed
48
+ source:
49
+ - src/screens/editing-the-search-filters.tsx
50
+ states:
51
+ Editing the search filters details:
52
+ id: Editing the search filters details
53
+ meta:
54
+ description: A form with the search filters fields.
55
+ snapshot: editing-the-search-filters-details
56
+ events: []
57
+ confidence: confirmed
58
+ source:
59
+ - src/screens/editing-the-search-filters-details.tsx
60
+ hints:
61
+ - A text field per detail
62
+ - An "Upload a file" link
63
+ on:
64
+ Uploads a file:
65
+ target: "#Uploading a file for the search filters"
66
+ Uploading a file for the search filters:
67
+ id: Uploading a file for the search filters
68
+ meta:
69
+ description: A file picker for a document about the search filters.
70
+ snapshot: uploading-a-file-for-the-search-filters
71
+ events: []
72
+ confidence: confirmed
73
+ source:
74
+ - src/screens/uploading-a-file-for-the-search-filters.tsx
75
+ on:
76
+ Finishes uploading the file:
77
+ target: "#Editing the search filters details"
78
+ on:
79
+ Saves the search filters:
80
+ target: "#Reviewing the search filters"
81
+ Cancels the changes to the search filters:
82
+ target: "#Reviewing the search filters"
83
+ Saving the search filters fails:
84
+ target: "#Told the search filters could not be saved"
85
+ Told the search filters could not be saved:
86
+ id: Told the search filters could not be saved
87
+ meta:
88
+ description: A message says the search filters could not be saved, with "Try again".
89
+ snapshot: told-the-search-filters-could-not-be-saved
90
+ events: []
91
+ confidence: confirmed
92
+ source:
93
+ - src/screens/told-the-search-filters-could-not-be-saved.tsx
94
+ on:
95
+ Tries saving the search filters again:
96
+ target: "#Editing the search filters"
97
+ Waiting for the search filters to be approved:
98
+ id: Waiting for the search filters to be approved
99
+ meta:
100
+ description: A card says the search filters is being checked.
101
+ snapshot: waiting-for-the-search-filters-to-be-approved
102
+ events:
103
+ - Search filters submitted
104
+ confidence: confirmed
105
+ source:
106
+ - src/screens/waiting-for-the-search-filters-to-be-approved.tsx
107
+ tier: critical
108
+ on:
109
+ Catalog service approves the search filters:
110
+ target: "#Told the search filters was approved"
111
+ Catalog service rejects the search filters:
112
+ target: "#Told the search filters was rejected"
113
+ Approval of the search filters takes longer than a day:
114
+ target: "#Told the search filters is still under review"
115
+ Told the search filters is still under review:
116
+ id: Told the search filters is still under review
117
+ meta:
118
+ description: A card says the search filters is still being checked.
119
+ snapshot: told-the-search-filters-is-still-under-review
120
+ events: []
121
+ confidence: assumed
122
+ source:
123
+ - src/screens/told-the-search-filters-is-still-under-review.tsx
124
+ on:
125
+ Checks the search filters again:
126
+ target: "#Waiting for the search filters to be approved"
127
+ Told the search filters was rejected:
128
+ id: Told the search filters was rejected
129
+ meta:
130
+ description: A message explains why the search filters was not accepted.
131
+ snapshot: told-the-search-filters-was-rejected
132
+ events: []
133
+ confidence: confirmed
134
+ source:
135
+ - src/screens/told-the-search-filters-was-rejected.tsx
136
+ on:
137
+ Starts the search filters again:
138
+ target: "#Reviewing the search filters"
139
+ Told the search filters was approved:
140
+ id: Told the search filters was approved
141
+ meta:
142
+ description: A message confirms the search filters is approved.
143
+ snapshot: told-the-search-filters-was-approved
144
+ events:
145
+ - Search filters approved
146
+ confidence: confirmed
147
+ source:
148
+ - src/screens/told-the-search-filters-was-approved.tsx
149
+ on:
150
+ Continues to the product list:
151
+ target: "#Handling the product list"
152
+ Handling the product list:
153
+ id: Handling the product list
154
+ initial: Reviewing the product list
155
+ meta:
156
+ description: Everything about the product list, from review to approval.
157
+ snapshot: handling-the-product-list
158
+ events: []
159
+ confidence: confirmed
160
+ source:
161
+ - src/screens/handling-the-product-list.tsx
162
+ owner: Catalog team
163
+ states:
164
+ Reviewing the product list:
165
+ id: Reviewing the product list
166
+ meta:
167
+ description: The user checks the product list before sending it.
168
+ snapshot: reviewing-the-product-list
169
+ events: []
170
+ confidence: confirmed
171
+ source:
172
+ - src/screens/reviewing-the-product-list.tsx
173
+ gherkin:
174
+ - features/catalog/browsing/product-list.feature
175
+ on:
176
+ Taps edit on the product list:
177
+ target: "#Editing the product list"
178
+ Submits the product list:
179
+ target: "#Waiting for the product list to be approved"
180
+ Editing the product list:
181
+ id: Editing the product list
182
+ meta:
183
+ description: A form to change the product list.
184
+ snapshot: editing-the-product-list
185
+ events: []
186
+ confidence: confirmed
187
+ source:
188
+ - src/screens/editing-the-product-list.tsx
189
+ on:
190
+ Saves the product list:
191
+ target: "#Reviewing the product list"
192
+ Cancels the changes to the product list:
193
+ target: "#Reviewing the product list"
194
+ Saving the product list fails:
195
+ target: "#Told the product list could not be saved"
196
+ Told the product list could not be saved:
197
+ id: Told the product list could not be saved
198
+ meta:
199
+ description: A message says the product list could not be saved, with "Try again".
200
+ snapshot: told-the-product-list-could-not-be-saved
201
+ events: []
202
+ confidence: confirmed
203
+ source:
204
+ - src/screens/told-the-product-list-could-not-be-saved.tsx
205
+ on:
206
+ Tries saving the product list again:
207
+ target: "#Editing the product list"
208
+ Waiting for the product list to be approved:
209
+ id: Waiting for the product list to be approved
210
+ meta:
211
+ description: A card says the product list is being checked.
212
+ snapshot: waiting-for-the-product-list-to-be-approved
213
+ events:
214
+ - Product list submitted
215
+ confidence: confirmed
216
+ source:
217
+ - src/screens/waiting-for-the-product-list-to-be-approved.tsx
218
+ tier: critical
219
+ on:
220
+ Catalog service approves the product list:
221
+ target: "#Told the product list was approved"
222
+ Catalog service rejects the product list:
223
+ target: "#Told the product list was rejected"
224
+ Approval of the product list takes longer than a day:
225
+ target: "#Told the product list is still under review"
226
+ Told the product list is still under review:
227
+ id: Told the product list is still under review
228
+ meta:
229
+ description: A card says the product list is still being checked.
230
+ snapshot: told-the-product-list-is-still-under-review
231
+ events: []
232
+ confidence: assumed
233
+ source:
234
+ - src/screens/told-the-product-list-is-still-under-review.tsx
235
+ on:
236
+ Checks the product list again:
237
+ target: "#Waiting for the product list to be approved"
238
+ Told the product list was rejected:
239
+ id: Told the product list was rejected
240
+ meta:
241
+ description: A message explains why the product list was not accepted.
242
+ snapshot: told-the-product-list-was-rejected
243
+ events: []
244
+ confidence: confirmed
245
+ source:
246
+ - src/screens/told-the-product-list-was-rejected.tsx
247
+ on:
248
+ Starts the product list again:
249
+ target: "#Reviewing the product list"
250
+ Told the product list was approved:
251
+ id: Told the product list was approved
252
+ meta:
253
+ description: A message confirms the product list is approved.
254
+ snapshot: told-the-product-list-was-approved
255
+ events:
256
+ - Product list approved
257
+ confidence: confirmed
258
+ source:
259
+ - src/screens/told-the-product-list-was-approved.tsx
260
+ on:
261
+ Starts the product comparison:
262
+ target: "#Going through the product comparison"
263
+ Going through the product comparison:
264
+ id: Going through the product comparison
265
+ meta:
266
+ description: The product comparison runs as its own chart.
267
+ snapshot: going-through-the-product-comparison
268
+ events: []
269
+ confidence: confirmed
270
+ source:
271
+ - src/screens/going-through-the-product-comparison.tsx
272
+ childMachine: Product comparison
273
+ childFinalEvents:
274
+ Product comparison completed: Product comparison is completed
275
+ Product comparison abandoned: Product comparison is abandoned
276
+ on:
277
+ Product comparison is completed:
278
+ target: "#Handling the product details"
279
+ Product comparison is abandoned:
280
+ target: "#Reviewing the product list"
281
+ Handling the product details:
282
+ id: Handling the product details
283
+ initial: Reviewing the product details
284
+ meta:
285
+ description: Everything about the product details, from review to approval.
286
+ snapshot: handling-the-product-details
287
+ events: []
288
+ confidence: confirmed
289
+ source:
290
+ - src/screens/handling-the-product-details.tsx
291
+ owner: Catalog team
292
+ states:
293
+ Reviewing the product details:
294
+ id: Reviewing the product details
295
+ meta:
296
+ description: The user checks the product details before sending it.
297
+ snapshot: reviewing-the-product-details
298
+ events: []
299
+ confidence: confirmed
300
+ source:
301
+ - src/screens/reviewing-the-product-details.tsx
302
+ gherkin:
303
+ - features/catalog/browsing/product-details.feature
304
+ on:
305
+ Taps edit on the product details:
306
+ target: "#Editing the product details"
307
+ Submits the product details:
308
+ target: "#Waiting for the product details to be approved"
309
+ Editing the product details:
310
+ id: Editing the product details
311
+ meta:
312
+ description: A form to change the product details.
313
+ snapshot: editing-the-product-details
314
+ events: []
315
+ confidence: confirmed
316
+ source:
317
+ - src/screens/editing-the-product-details.tsx
318
+ on:
319
+ Saves the product details:
320
+ target: "#Reviewing the product details"
321
+ Cancels the changes to the product details:
322
+ target: "#Reviewing the product details"
323
+ Saving the product details fails:
324
+ target: "#Told the product details could not be saved"
325
+ Told the product details could not be saved:
326
+ id: Told the product details could not be saved
327
+ meta:
328
+ description: A message says the product details could not be saved, with "Try again".
329
+ snapshot: told-the-product-details-could-not-be-saved
330
+ events: []
331
+ confidence: confirmed
332
+ source:
333
+ - src/screens/told-the-product-details-could-not-be-saved.tsx
334
+ on:
335
+ Tries saving the product details again:
336
+ target: "#Editing the product details"
337
+ Waiting for the product details to be approved:
338
+ id: Waiting for the product details to be approved
339
+ meta:
340
+ description: A card says the product details is being checked.
341
+ snapshot: waiting-for-the-product-details-to-be-approved
342
+ events:
343
+ - Product details submitted
344
+ confidence: confirmed
345
+ source:
346
+ - src/screens/waiting-for-the-product-details-to-be-approved.tsx
347
+ tier: critical
348
+ on:
349
+ Catalog service approves the product details:
350
+ target: "#Told the product details was approved"
351
+ Catalog service rejects the product details:
352
+ target: "#Told the product details was rejected"
353
+ Approval of the product details takes longer than a day:
354
+ target: "#Told the product details is still under review"
355
+ Told the product details is still under review:
356
+ id: Told the product details is still under review
357
+ meta:
358
+ description: A card says the product details is still being checked.
359
+ snapshot: told-the-product-details-is-still-under-review
360
+ events: []
361
+ confidence: assumed
362
+ source:
363
+ - src/screens/told-the-product-details-is-still-under-review.tsx
364
+ on:
365
+ Checks the product details again:
366
+ target: "#Waiting for the product details to be approved"
367
+ Told the product details was rejected:
368
+ id: Told the product details was rejected
369
+ meta:
370
+ description: A message explains why the product details was not accepted.
371
+ snapshot: told-the-product-details-was-rejected
372
+ events: []
373
+ confidence: confirmed
374
+ source:
375
+ - src/screens/told-the-product-details-was-rejected.tsx
376
+ on:
377
+ Starts the product details again:
378
+ target: "#Reviewing the product details"
379
+ Told the product details was approved:
380
+ id: Told the product details was approved
381
+ meta:
382
+ description: A message confirms the product details is approved.
383
+ snapshot: told-the-product-details-was-approved
384
+ events:
385
+ - Product details approved
386
+ confidence: confirmed
387
+ source:
388
+ - src/screens/told-the-product-details-was-approved.tsx
389
+ on:
390
+ Continues to the saved list:
391
+ target: "#Handling the saved list"
392
+ Handling the saved list:
393
+ id: Handling the saved list
394
+ initial: Reviewing the saved list
395
+ meta:
396
+ description: Everything about the saved list, from review to approval.
397
+ snapshot: handling-the-saved-list
398
+ events: []
399
+ confidence: confirmed
400
+ source:
401
+ - src/screens/handling-the-saved-list.tsx
402
+ owner: Catalog team
403
+ states:
404
+ Reviewing the saved list:
405
+ id: Reviewing the saved list
406
+ meta:
407
+ description: The user checks the saved list before sending it.
408
+ snapshot: reviewing-the-saved-list
409
+ events: []
410
+ confidence: confirmed
411
+ source:
412
+ - src/screens/reviewing-the-saved-list.tsx
413
+ gherkin:
414
+ - features/catalog/browsing/saved-list.feature
415
+ on:
416
+ Taps edit on the saved list:
417
+ target: "#Editing the saved list"
418
+ Submits the saved list:
419
+ target: "#Waiting for the saved list to be approved"
420
+ Editing the saved list:
421
+ id: Editing the saved list
422
+ meta:
423
+ description: A form to change the saved list.
424
+ snapshot: editing-the-saved-list
425
+ events: []
426
+ confidence: confirmed
427
+ source:
428
+ - src/screens/editing-the-saved-list.tsx
429
+ on:
430
+ Saves the saved list:
431
+ target: "#Reviewing the saved list"
432
+ Cancels the changes to the saved list:
433
+ target: "#Reviewing the saved list"
434
+ Saving the saved list fails:
435
+ target: "#Told the saved list could not be saved"
436
+ Told the saved list could not be saved:
437
+ id: Told the saved list could not be saved
438
+ meta:
439
+ description: A message says the saved list could not be saved, with "Try again".
440
+ snapshot: told-the-saved-list-could-not-be-saved
441
+ events: []
442
+ confidence: confirmed
443
+ source:
444
+ - src/screens/told-the-saved-list-could-not-be-saved.tsx
445
+ on:
446
+ Tries saving the saved list again:
447
+ target: "#Editing the saved list"
448
+ Waiting for the saved list to be approved:
449
+ id: Waiting for the saved list to be approved
450
+ meta:
451
+ description: A card says the saved list is being checked.
452
+ snapshot: waiting-for-the-saved-list-to-be-approved
453
+ events:
454
+ - Saved list submitted
455
+ confidence: confirmed
456
+ source:
457
+ - src/screens/waiting-for-the-saved-list-to-be-approved.tsx
458
+ tier: critical
459
+ on:
460
+ Catalog service approves the saved list:
461
+ target: "#Told the saved list was approved"
462
+ Catalog service rejects the saved list:
463
+ target: "#Told the saved list was rejected"
464
+ Approval of the saved list takes longer than a day:
465
+ target: "#Told the saved list is still under review"
466
+ Told the saved list is still under review:
467
+ id: Told the saved list is still under review
468
+ meta:
469
+ description: A card says the saved list is still being checked.
470
+ snapshot: told-the-saved-list-is-still-under-review
471
+ events: []
472
+ confidence: assumed
473
+ source:
474
+ - src/screens/told-the-saved-list-is-still-under-review.tsx
475
+ on:
476
+ Checks the saved list again:
477
+ target: "#Waiting for the saved list to be approved"
478
+ Told the saved list was rejected:
479
+ id: Told the saved list was rejected
480
+ meta:
481
+ description: A message explains why the saved list was not accepted.
482
+ snapshot: told-the-saved-list-was-rejected
483
+ events: []
484
+ confidence: confirmed
485
+ source:
486
+ - src/screens/told-the-saved-list-was-rejected.tsx
487
+ on:
488
+ Starts the saved list again:
489
+ target: "#Reviewing the saved list"
490
+ Told the saved list was approved:
491
+ id: Told the saved list was approved
492
+ meta:
493
+ description: A message confirms the saved list is approved.
494
+ snapshot: told-the-saved-list-was-approved
495
+ events:
496
+ - Saved list approved
497
+ confidence: confirmed
498
+ source:
499
+ - src/screens/told-the-saved-list-was-approved.tsx
500
+ on:
501
+ Continues to the price alert:
502
+ target: "#Handling the price alert"
503
+ Handling the price alert:
504
+ id: Handling the price alert
505
+ initial: Reviewing the price alert
506
+ meta:
507
+ description: Everything about the price alert, from review to approval.
508
+ snapshot: handling-the-price-alert
509
+ events: []
510
+ confidence: confirmed
511
+ source:
512
+ - src/screens/handling-the-price-alert.tsx
513
+ owner: Catalog team
514
+ states:
515
+ Reviewing the price alert:
516
+ id: Reviewing the price alert
517
+ meta:
518
+ description: The user checks the price alert before sending it.
519
+ snapshot: reviewing-the-price-alert
520
+ events: []
521
+ confidence: confirmed
522
+ source:
523
+ - src/screens/reviewing-the-price-alert.tsx
524
+ gherkin:
525
+ - features/catalog/browsing/price-alert.feature
526
+ on:
527
+ Taps edit on the price alert:
528
+ target: "#Editing the price alert"
529
+ Submits the price alert:
530
+ target: "#Waiting for the price alert to be approved"
531
+ Editing the price alert:
532
+ id: Editing the price alert
533
+ meta:
534
+ description: A form to change the price alert.
535
+ snapshot: editing-the-price-alert
536
+ events: []
537
+ confidence: confirmed
538
+ source:
539
+ - src/screens/editing-the-price-alert.tsx
540
+ on:
541
+ Saves the price alert:
542
+ target: "#Reviewing the price alert"
543
+ Cancels the changes to the price alert:
544
+ target: "#Reviewing the price alert"
545
+ Saving the price alert fails:
546
+ target: "#Told the price alert could not be saved"
547
+ Told the price alert could not be saved:
548
+ id: Told the price alert could not be saved
549
+ meta:
550
+ description: A message says the price alert could not be saved, with "Try again".
551
+ snapshot: told-the-price-alert-could-not-be-saved
552
+ events: []
553
+ confidence: confirmed
554
+ source:
555
+ - src/screens/told-the-price-alert-could-not-be-saved.tsx
556
+ on:
557
+ Tries saving the price alert again:
558
+ target: "#Editing the price alert"
559
+ Waiting for the price alert to be approved:
560
+ id: Waiting for the price alert to be approved
561
+ meta:
562
+ description: A card says the price alert is being checked.
563
+ snapshot: waiting-for-the-price-alert-to-be-approved
564
+ events:
565
+ - Price alert submitted
566
+ confidence: confirmed
567
+ source:
568
+ - src/screens/waiting-for-the-price-alert-to-be-approved.tsx
569
+ tier: critical
570
+ on:
571
+ Catalog service approves the price alert:
572
+ target: "#Told the price alert was approved"
573
+ Catalog service rejects the price alert:
574
+ target: "#Told the price alert was rejected"
575
+ Approval of the price alert takes longer than a day:
576
+ target: "#Told the price alert is still under review"
577
+ Told the price alert is still under review:
578
+ id: Told the price alert is still under review
579
+ meta:
580
+ description: A card says the price alert is still being checked.
581
+ snapshot: told-the-price-alert-is-still-under-review
582
+ events: []
583
+ confidence: assumed
584
+ source:
585
+ - src/screens/told-the-price-alert-is-still-under-review.tsx
586
+ on:
587
+ Checks the price alert again:
588
+ target: "#Waiting for the price alert to be approved"
589
+ Told the price alert was rejected:
590
+ id: Told the price alert was rejected
591
+ meta:
592
+ description: A message explains why the price alert was not accepted.
593
+ snapshot: told-the-price-alert-was-rejected
594
+ events: []
595
+ confidence: confirmed
596
+ source:
597
+ - src/screens/told-the-price-alert-was-rejected.tsx
598
+ on:
599
+ Starts the price alert again:
600
+ target: "#Reviewing the price alert"
601
+ Told the price alert was approved:
602
+ id: Told the price alert was approved
603
+ meta:
604
+ description: A message confirms the price alert is approved.
605
+ snapshot: told-the-price-alert-was-approved
606
+ events:
607
+ - Price alert approved
608
+ confidence: confirmed
609
+ source:
610
+ - src/screens/told-the-price-alert-was-approved.tsx
611
+ on:
612
+ Continues to the review draft:
613
+ target: "#Handling the review draft"
614
+ Handling the review draft:
615
+ id: Handling the review draft
616
+ initial: Reviewing the review draft
617
+ meta:
618
+ description: Everything about the review draft, from review to approval.
619
+ snapshot: handling-the-review-draft
620
+ events: []
621
+ confidence: confirmed
622
+ source:
623
+ - src/screens/handling-the-review-draft.tsx
624
+ owner: Catalog team
625
+ states:
626
+ Reviewing the review draft:
627
+ id: Reviewing the review draft
628
+ meta:
629
+ description: The user checks the review draft before sending it.
630
+ snapshot: reviewing-the-review-draft
631
+ events: []
632
+ confidence: confirmed
633
+ source:
634
+ - src/screens/reviewing-the-review-draft.tsx
635
+ gherkin:
636
+ - features/catalog/browsing/review-draft.feature
637
+ on:
638
+ Taps edit on the review draft:
639
+ target: "#Editing the review draft"
640
+ Submits the review draft:
641
+ target: "#Waiting for the review draft to be approved"
642
+ Editing the review draft:
643
+ id: Editing the review draft
644
+ meta:
645
+ description: A form to change the review draft.
646
+ snapshot: editing-the-review-draft
647
+ events: []
648
+ confidence: confirmed
649
+ source:
650
+ - src/screens/editing-the-review-draft.tsx
651
+ on:
652
+ Saves the review draft:
653
+ target: "#Reviewing the review draft"
654
+ Cancels the changes to the review draft:
655
+ target: "#Reviewing the review draft"
656
+ Saving the review draft fails:
657
+ target: "#Told the review draft could not be saved"
658
+ Told the review draft could not be saved:
659
+ id: Told the review draft could not be saved
660
+ meta:
661
+ description: A message says the review draft could not be saved, with "Try again".
662
+ snapshot: told-the-review-draft-could-not-be-saved
663
+ events: []
664
+ confidence: confirmed
665
+ source:
666
+ - src/screens/told-the-review-draft-could-not-be-saved.tsx
667
+ on:
668
+ Tries saving the review draft again:
669
+ target: "#Editing the review draft"
670
+ Waiting for the review draft to be approved:
671
+ id: Waiting for the review draft to be approved
672
+ meta:
673
+ description: A card says the review draft is being checked.
674
+ snapshot: waiting-for-the-review-draft-to-be-approved
675
+ events:
676
+ - Review draft submitted
677
+ confidence: confirmed
678
+ source:
679
+ - src/screens/waiting-for-the-review-draft-to-be-approved.tsx
680
+ tier: critical
681
+ on:
682
+ Catalog service approves the review draft:
683
+ target: "#Told the review draft was approved"
684
+ Catalog service rejects the review draft:
685
+ target: "#Told the review draft was rejected"
686
+ Approval of the review draft takes longer than a day:
687
+ target: "#Told the review draft is still under review"
688
+ Told the review draft is still under review:
689
+ id: Told the review draft is still under review
690
+ meta:
691
+ description: A card says the review draft is still being checked.
692
+ snapshot: told-the-review-draft-is-still-under-review
693
+ events: []
694
+ confidence: assumed
695
+ source:
696
+ - src/screens/told-the-review-draft-is-still-under-review.tsx
697
+ on:
698
+ Checks the review draft again:
699
+ target: "#Waiting for the review draft to be approved"
700
+ Told the review draft was rejected:
701
+ id: Told the review draft was rejected
702
+ meta:
703
+ description: A message explains why the review draft was not accepted.
704
+ snapshot: told-the-review-draft-was-rejected
705
+ events: []
706
+ confidence: confirmed
707
+ source:
708
+ - src/screens/told-the-review-draft-was-rejected.tsx
709
+ on:
710
+ Starts the review draft again:
711
+ target: "#Reviewing the review draft"
712
+ Told the review draft was approved:
713
+ id: Told the review draft was approved
714
+ meta:
715
+ description: A message confirms the review draft is approved.
716
+ snapshot: told-the-review-draft-was-approved
717
+ events:
718
+ - Review draft approved
719
+ confidence: confirmed
720
+ source:
721
+ - src/screens/told-the-review-draft-was-approved.tsx
722
+ on:
723
+ Continues to the product browsing settings:
724
+ target: "#Product browsing settings"
725
+ Product browsing settings:
726
+ id: Product browsing settings
727
+ type: parallel
728
+ meta:
729
+ description: "Settings for product browsing: notifications and help side by side."
730
+ snapshot: product-browsing-settings
731
+ events: []
732
+ confidence: confirmed
733
+ source:
734
+ - src/screens/product-browsing-settings.tsx
735
+ states:
736
+ Product browsing notifications:
737
+ id: Product browsing notifications
738
+ initial: Product browsing notifications on
739
+ meta:
740
+ description: Whether the user gets notifications.
741
+ snapshot: product-browsing-notifications
742
+ events: []
743
+ confidence: confirmed
744
+ source:
745
+ - src/screens/product-browsing-notifications.tsx
746
+ states:
747
+ Product browsing notifications on:
748
+ id: Product browsing notifications on
749
+ meta:
750
+ description: The notifications switch is on.
751
+ snapshot: product-browsing-notifications-on
752
+ events: []
753
+ confidence: confirmed
754
+ source:
755
+ - src/screens/product-browsing-notifications-on.tsx
756
+ on:
757
+ Turns off product browsing notifications:
758
+ target: "#Product browsing notifications off"
759
+ Product browsing notifications off:
760
+ id: Product browsing notifications off
761
+ meta:
762
+ description: The notifications switch is off.
763
+ snapshot: product-browsing-notifications-off
764
+ events: []
765
+ confidence: confirmed
766
+ source:
767
+ - src/screens/product-browsing-notifications-off.tsx
768
+ on:
769
+ Turns on product browsing notifications:
770
+ target: "#Product browsing notifications on"
771
+ Product browsing help:
772
+ id: Product browsing help
773
+ initial: No open product browsing help request
774
+ meta:
775
+ description: Help requests about this part of the product.
776
+ snapshot: product-browsing-help
777
+ events: []
778
+ confidence: confirmed
779
+ source:
780
+ - src/screens/product-browsing-help.tsx
781
+ states:
782
+ No open product browsing help request:
783
+ id: No open product browsing help request
784
+ meta:
785
+ description: A "Get help" button.
786
+ snapshot: no-open-product-browsing-help-request
787
+ events: []
788
+ confidence: confirmed
789
+ source:
790
+ - src/screens/no-open-product-browsing-help-request.tsx
791
+ on:
792
+ Opens a product browsing help request:
793
+ target: "#Product browsing help request open"
794
+ Product browsing help request open:
795
+ id: Product browsing help request open
796
+ meta:
797
+ description: A card says the help desk will answer soon.
798
+ snapshot: product-browsing-help-request-open
799
+ events: []
800
+ confidence: confirmed
801
+ source:
802
+ - src/screens/product-browsing-help-request-open.tsx
803
+ on:
804
+ Help desk answers the product browsing help request:
805
+ target: "#Product browsing help request answered"
806
+ Product browsing help request answered:
807
+ id: Product browsing help request answered
808
+ meta:
809
+ description: The answer shows in the help card.
810
+ snapshot: product-browsing-help-request-answered
811
+ events: []
812
+ confidence: confirmed
813
+ source:
814
+ - src/screens/product-browsing-help-request-answered.tsx
815
+ on:
816
+ Opens another product browsing help request:
817
+ target: "#Product browsing help request open"
818
+ on:
819
+ Closes the product browsing settings:
820
+ target: "#Product browsing finished"
821
+ Product browsing finished:
822
+ id: Product browsing finished
823
+ type: final
824
+ meta:
825
+ description: The user is done with product browsing.
826
+ snapshot: product-browsing-finished
827
+ events:
828
+ - Product browsing finished
829
+ confidence: confirmed
830
+ source:
831
+ - src/screens/product-browsing-finished.tsx