@crvouga/atlas 0.4.0 → 0.6.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 (444) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/README.md +191 -611
  3. package/dist/bun/src/driver.d.ts +41 -7
  4. package/dist/bun/src/driver.js +47 -6
  5. package/dist/bun/src/index.d.ts +8 -0
  6. package/dist/bun/src/index.js +8 -0
  7. package/dist/core/src/cli.d.ts +14 -1
  8. package/dist/core/src/cli.js +35 -1
  9. package/dist/core/src/config.d.ts +77 -4
  10. package/dist/core/src/config.js +110 -17
  11. package/dist/core/src/events/cloudevents.d.ts +54 -9
  12. package/dist/core/src/events/cloudevents.js +60 -9
  13. package/dist/core/src/graph.d.ts +21 -0
  14. package/dist/core/src/graph.js +26 -0
  15. package/dist/core/src/index.d.ts +11 -0
  16. package/dist/core/src/index.js +11 -0
  17. package/dist/core/src/lint.d.ts +30 -0
  18. package/dist/core/src/lint.js +13 -0
  19. package/dist/core/src/plan.d.ts +39 -1
  20. package/dist/core/src/plan.js +28 -1
  21. package/dist/core/src/privacy.d.ts +29 -2
  22. package/dist/core/src/privacy.js +19 -2
  23. package/dist/core/src/report/formats.d.ts +34 -4
  24. package/dist/core/src/report/formats.js +24 -4
  25. package/dist/core/src/report/markdown.d.ts +15 -0
  26. package/dist/core/src/report/markdown.js +8 -0
  27. package/dist/core/src/run/clients.d.ts +44 -5
  28. package/dist/core/src/run/clients.js +46 -2
  29. package/dist/core/src/run/execute.d.ts +75 -16
  30. package/dist/core/src/run/execute.js +71 -18
  31. package/dist/core/src/run/frames.d.ts +13 -4
  32. package/dist/core/src/run/frames.js +19 -4
  33. package/dist/core/src/run/http.d.ts +34 -1
  34. package/dist/core/src/run/http.js +14 -1
  35. package/dist/core/src/run/types.d.ts +76 -3
  36. package/dist/core/src/run/types.js +19 -3
  37. package/dist/core/src/signals.d.ts +49 -5
  38. package/dist/core/src/signals.js +22 -5
  39. package/dist/core/src/spec/compose.d.ts +23 -1
  40. package/dist/core/src/spec/compose.js +10 -1
  41. package/dist/core/src/spec/index.d.ts +9 -1
  42. package/dist/core/src/spec/index.js +9 -1
  43. package/dist/core/src/spec/load.d.ts +22 -1
  44. package/dist/core/src/spec/load.js +31 -1
  45. package/dist/core/src/spec/parse.d.ts +16 -2
  46. package/dist/core/src/spec/parse.js +25 -2
  47. package/dist/core/src/spec/scxml.d.ts +25 -4
  48. package/dist/core/src/spec/scxml.js +36 -4
  49. package/dist/core/src/spec/types.d.ts +52 -1
  50. package/dist/core/src/spec/types.js +24 -0
  51. package/dist/detox/src/index.d.ts +54 -11
  52. package/dist/detox/src/index.js +45 -7
  53. package/dist/playwright/src/driver.d.ts +39 -3
  54. package/dist/playwright/src/driver.js +27 -3
  55. package/dist/playwright/src/index.d.ts +10 -0
  56. package/dist/playwright/src/index.js +10 -0
  57. package/dist/playwright/src/media.d.ts +50 -4
  58. package/dist/playwright/src/media.js +55 -4
  59. package/dist/playwright/src/signals.d.ts +44 -5
  60. package/dist/playwright/src/signals.js +29 -5
  61. package/dist/reports/src/attachment-files.d.ts +44 -0
  62. package/dist/reports/src/attachment-files.js +121 -0
  63. package/dist/reports/src/attachment-response.d.ts +31 -0
  64. package/dist/reports/src/attachment-response.js +55 -0
  65. package/dist/reports/src/aws-credentials.d.ts +48 -0
  66. package/dist/reports/src/aws-credentials.js +221 -0
  67. package/dist/reports/src/browser-navigation.d.ts +14 -0
  68. package/dist/reports/src/browser-navigation.js +7 -0
  69. package/dist/reports/src/bundle.d.ts +34 -2
  70. package/dist/reports/src/bundle.js +38 -2
  71. package/dist/reports/src/catalog.d.ts +34 -3
  72. package/dist/reports/src/catalog.js +17 -3
  73. package/dist/reports/src/cli-stores.d.ts +36 -0
  74. package/dist/reports/src/cli-stores.js +73 -0
  75. package/dist/reports/src/clock.d.ts +7 -2
  76. package/dist/reports/src/clock.js +5 -2
  77. package/dist/reports/src/completion-order.d.ts +18 -5
  78. package/dist/reports/src/completion-order.js +18 -5
  79. package/dist/reports/src/compose.d.ts +80 -0
  80. package/dist/reports/src/compose.js +117 -0
  81. package/dist/reports/src/copy-store.d.ts +29 -0
  82. package/dist/reports/src/copy-store.js +52 -0
  83. package/dist/reports/src/directory-outline.d.ts +38 -0
  84. package/dist/reports/src/directory-outline.js +103 -0
  85. package/dist/reports/src/directory-store.d.ts +20 -0
  86. package/dist/reports/src/directory-store.js +166 -0
  87. package/dist/reports/src/doctor.d.ts +29 -0
  88. package/dist/reports/src/doctor.js +85 -0
  89. package/dist/reports/src/effective-delta.d.ts +34 -0
  90. package/dist/reports/src/effective-delta.js +25 -0
  91. package/dist/reports/src/evidence-detail.d.ts +64 -0
  92. package/dist/reports/src/evidence-detail.js +92 -0
  93. package/dist/reports/src/evidence-live.d.ts +35 -5
  94. package/dist/reports/src/evidence-live.js +18 -2
  95. package/dist/reports/src/evidence-types.d.ts +68 -1
  96. package/dist/reports/src/evidence-types.js +5 -1
  97. package/dist/reports/src/evidence-view.d.ts +43 -4
  98. package/dist/reports/src/evidence-view.js +13 -2
  99. package/dist/reports/src/explorer-types.d.ts +40 -3
  100. package/dist/reports/src/explorer-types.js +8 -0
  101. package/dist/reports/src/explorer-versions.d.ts +9 -1
  102. package/dist/reports/src/explorer-versions.js +18 -1
  103. package/dist/reports/src/export-evidence.d.ts +16 -1
  104. package/dist/reports/src/export-evidence.js +52 -1
  105. package/dist/reports/src/fetcher.d.ts +27 -3
  106. package/dist/reports/src/fetcher.js +11 -3
  107. package/dist/reports/src/format-date.d.ts +6 -0
  108. package/dist/reports/src/format-date.js +6 -0
  109. package/dist/reports/src/format.d.ts +16 -0
  110. package/dist/reports/src/format.js +10 -0
  111. package/dist/reports/src/frames.d.ts +36 -3
  112. package/dist/reports/src/frames.js +22 -3
  113. package/dist/reports/src/hash.d.ts +18 -0
  114. package/dist/reports/src/hash.js +13 -0
  115. package/dist/reports/src/host.d.ts +29 -0
  116. package/dist/reports/src/host.js +64 -0
  117. package/dist/reports/src/html-frame.d.ts +5 -6
  118. package/dist/reports/src/html-frame.js +12 -1
  119. package/dist/reports/src/http-store.d.ts +56 -0
  120. package/dist/reports/src/http-store.js +148 -0
  121. package/dist/reports/src/http.d.ts +7 -0
  122. package/dist/reports/src/http.js +6 -0
  123. package/dist/reports/src/ingest.d.ts +54 -0
  124. package/dist/reports/src/ingest.js +210 -0
  125. package/dist/reports/src/init.d.ts +40 -0
  126. package/dist/reports/src/init.js +369 -0
  127. package/dist/reports/src/junit.d.ts +33 -6
  128. package/dist/reports/src/junit.js +87 -21
  129. package/dist/reports/src/keyboard.d.ts +20 -0
  130. package/dist/reports/src/keyboard.js +11 -0
  131. package/dist/reports/src/keys.d.ts +21 -3
  132. package/dist/reports/src/keys.js +21 -3
  133. package/dist/reports/src/layer-axes.d.ts +35 -5
  134. package/dist/reports/src/layer-axes.js +25 -5
  135. package/dist/reports/src/layer-catalog.d.ts +28 -1
  136. package/dist/reports/src/layer-catalog.js +18 -1
  137. package/dist/reports/src/layer-merge.d.ts +98 -9
  138. package/dist/reports/src/layer-merge.js +147 -31
  139. package/dist/reports/src/layer-source.d.ts +18 -0
  140. package/dist/reports/src/layer-source.js +11 -0
  141. package/dist/reports/src/layer-store.d.ts +42 -0
  142. package/dist/reports/src/layer-store.js +63 -5
  143. package/dist/reports/src/layer-types.d.ts +32 -1
  144. package/dist/reports/src/layers-route.d.ts +47 -4
  145. package/dist/reports/src/layers-route.js +86 -7
  146. package/dist/reports/src/live-reporter.d.ts +34 -0
  147. package/dist/reports/src/live-reporter.js +122 -0
  148. package/dist/reports/src/media-types.d.ts +11 -0
  149. package/dist/reports/src/media-types.js +22 -0
  150. package/dist/reports/src/namespace-guard.d.ts +10 -1
  151. package/dist/reports/src/namespace-guard.js +10 -1
  152. package/dist/reports/src/navigation.d.ts +12 -0
  153. package/dist/reports/src/navigation.js +7 -0
  154. package/dist/reports/src/object-io.d.ts +11 -4
  155. package/dist/reports/src/object-io.js +4 -4
  156. package/dist/reports/src/object-store-conformance.d.ts +27 -0
  157. package/dist/reports/src/object-store-conformance.js +87 -0
  158. package/dist/reports/src/object-store.d.ts +33 -24
  159. package/dist/reports/src/object-store.js +17 -24
  160. package/dist/reports/src/parse-with.d.ts +16 -0
  161. package/dist/reports/src/parse-with.js +14 -0
  162. package/dist/reports/src/performance-part.d.ts +25 -1
  163. package/dist/reports/src/performance-part.js +15 -1
  164. package/dist/reports/src/performance.d.ts +22 -2
  165. package/dist/reports/src/performance.js +12 -2
  166. package/dist/reports/src/persist.d.ts +12 -3
  167. package/dist/reports/src/persist.js +12 -3
  168. package/dist/reports/src/phone.d.ts +18 -1
  169. package/dist/reports/src/phone.js +18 -1
  170. package/dist/reports/src/protocol.d.ts +26 -4
  171. package/dist/reports/src/protocol.js +15 -4
  172. package/dist/reports/src/publication.d.ts +21 -1
  173. package/dist/reports/src/publication.js +21 -1
  174. package/dist/reports/src/publish-checks.d.ts +35 -0
  175. package/dist/reports/src/publish-checks.js +122 -0
  176. package/dist/reports/src/publish.d.ts +42 -9
  177. package/dist/reports/src/publish.js +36 -7
  178. package/dist/reports/src/read.d.ts +46 -16
  179. package/dist/reports/src/read.js +38 -14
  180. package/dist/reports/src/recording-bundle.d.ts +13 -2
  181. package/dist/reports/src/recording-bundle.js +4 -2
  182. package/dist/reports/src/recording-keys.d.ts +15 -1
  183. package/dist/reports/src/recording-keys.js +15 -1
  184. package/dist/reports/src/remote-report.d.ts +28 -7
  185. package/dist/reports/src/remote-report.js +15 -7
  186. package/dist/reports/src/report-cli.d.ts +51 -0
  187. package/dist/reports/src/report-cli.js +486 -0
  188. package/dist/reports/src/report-index.d.ts +99 -0
  189. package/dist/reports/src/report-index.js +337 -0
  190. package/dist/reports/src/report-loader.d.ts +10 -0
  191. package/dist/reports/src/report-loader.js +6 -0
  192. package/dist/reports/src/report-parts.d.ts +29 -3
  193. package/dist/reports/src/report-parts.js +37 -3
  194. package/dist/reports/src/report-status.d.ts +48 -0
  195. package/dist/reports/src/report-status.js +156 -0
  196. package/dist/reports/src/report-types.d.ts +73 -0
  197. package/dist/reports/src/report-types.js +3 -0
  198. package/dist/reports/src/reporter.d.ts +67 -0
  199. package/dist/reports/src/reporter.js +128 -0
  200. package/dist/reports/src/reports-explorer-route.d.ts +541 -0
  201. package/dist/reports/src/reports-explorer-route.js +11 -0
  202. package/dist/reports/src/reports-list-route.d.ts +9 -0
  203. package/dist/reports/src/reports-list-route.js +9 -0
  204. package/dist/reports/src/reports-route.d.ts +561 -22
  205. package/dist/reports/src/reports-route.js +11 -3
  206. package/dist/reports/src/reports-store.d.ts +19 -2
  207. package/dist/reports/src/reports-store.js +10 -2
  208. package/dist/reports/src/resilient-cache.d.ts +14 -1
  209. package/dist/reports/src/resilient-cache.js +8 -1
  210. package/dist/reports/src/retention.d.ts +17 -1
  211. package/dist/reports/src/retention.js +5 -1
  212. package/dist/reports/src/run-bundle.d.ts +63 -0
  213. package/dist/reports/src/run-bundle.js +159 -0
  214. package/dist/reports/src/s3-store.d.ts +79 -0
  215. package/dist/reports/src/s3-store.js +295 -0
  216. package/dist/reports/src/scenario.d.ts +14 -4
  217. package/dist/reports/src/scenario.js +5 -4
  218. package/dist/reports/src/sigv4.d.ts +72 -0
  219. package/dist/reports/src/sigv4.js +96 -0
  220. package/dist/reports/src/snapshot-bundle.d.ts +24 -1
  221. package/dist/reports/src/snapshot-bundle.js +27 -2
  222. package/dist/reports/src/snapshot-surface.d.ts +20 -9
  223. package/dist/reports/src/snapshot-surface.js +32 -19
  224. package/dist/reports/src/source-content.d.ts +23 -0
  225. package/dist/reports/src/source-content.js +30 -1
  226. package/dist/reports/src/source-entries.d.ts +13 -0
  227. package/dist/reports/src/source-entries.js +6 -0
  228. package/dist/reports/src/source-part.d.ts +15 -0
  229. package/dist/reports/src/source-part.js +8 -0
  230. package/dist/reports/src/source-reader.d.ts +11 -0
  231. package/dist/reports/src/source-reader.js +5 -0
  232. package/dist/reports/src/spec-evidence.d.ts +12 -2
  233. package/dist/reports/src/spec-evidence.js +6 -2
  234. package/dist/reports/src/spec-inventory.d.ts +15 -1
  235. package/dist/reports/src/spec-inventory.js +22 -1
  236. package/dist/reports/src/spec-link.d.ts +28 -0
  237. package/dist/reports/src/spec-link.js +70 -0
  238. package/dist/reports/src/spec-set.d.ts +63 -0
  239. package/dist/reports/src/spec-set.js +177 -0
  240. package/dist/reports/src/status.d.ts +10 -0
  241. package/dist/reports/src/status.js +5 -0
  242. package/dist/reports/src/store-prefix.d.ts +28 -0
  243. package/dist/reports/src/store-prefix.js +22 -0
  244. package/dist/reports/src/store-url.d.ts +89 -0
  245. package/dist/reports/src/store-url.js +160 -0
  246. package/dist/reports/src/test-catalog-entity.d.ts +11 -0
  247. package/dist/reports/src/test-catalog-entity.js +6 -0
  248. package/dist/reports/src/types.d.ts +6 -1
  249. package/dist/reports/src/use-report-nav.d.ts +35 -0
  250. package/dist/reports/src/use-report-nav.js +12 -0
  251. package/dist/runners/src/codecept.d.ts +14 -0
  252. package/dist/runners/src/codecept.js +16 -0
  253. package/dist/runners/src/jest.d.ts +50 -0
  254. package/dist/runners/src/jest.js +52 -0
  255. package/dist/runners/src/mocha.d.ts +40 -0
  256. package/dist/runners/src/mocha.js +39 -0
  257. package/dist/runners/src/node-test.d.ts +28 -0
  258. package/dist/runners/src/node-test.js +44 -0
  259. package/dist/runners/src/publish.d.ts +30 -0
  260. package/dist/runners/src/publish.js +68 -0
  261. package/dist/schema/src/api.d.ts +800 -0
  262. package/dist/schema/src/api.js +201 -0
  263. package/dist/schema/src/cli-results.d.ts +210 -0
  264. package/dist/schema/src/cli-results.js +124 -0
  265. package/dist/schema/src/common.d.ts +53 -0
  266. package/dist/schema/src/common.js +42 -0
  267. package/dist/schema/src/index.d.ts +16 -0
  268. package/dist/schema/src/index.js +16 -0
  269. package/dist/schema/src/layer.d.ts +2273 -0
  270. package/dist/schema/src/layer.js +462 -0
  271. package/dist/schema/src/live-run.d.ts +123 -0
  272. package/dist/schema/src/live-run.js +30 -0
  273. package/dist/schema/src/manifest.d.ts +97 -2
  274. package/dist/schema/src/manifest.js +84 -0
  275. package/dist/schema/src/project.d.ts +20 -0
  276. package/dist/schema/src/project.js +10 -0
  277. package/dist/schema/src/report-sources.d.ts +29 -0
  278. package/dist/schema/src/report-sources.js +27 -1
  279. package/dist/schema/src/runs-index.d.ts +17 -1
  280. package/dist/schema/src/runs-index.js +15 -0
  281. package/dist/schema/src/server-config.d.ts +177 -0
  282. package/dist/schema/src/server-config.js +85 -0
  283. package/dist/schema/src/spec.d.ts +69 -0
  284. package/dist/schema/src/spec.js +58 -0
  285. package/dist/server/src/app.d.ts +72 -0
  286. package/dist/server/src/app.js +557 -0
  287. package/dist/server/src/auth.d.ts +41 -0
  288. package/dist/server/src/auth.js +59 -0
  289. package/dist/server/src/config.d.ts +83 -0
  290. package/dist/server/src/config.js +204 -0
  291. package/dist/server/src/dev.d.ts +12 -0
  292. package/dist/server/src/dev.js +89 -0
  293. package/dist/server/src/events.d.ts +29 -0
  294. package/dist/server/src/events.js +101 -0
  295. package/dist/server/src/host.d.ts +30 -0
  296. package/dist/server/src/host.js +115 -0
  297. package/dist/server/src/index.d.ts +18 -0
  298. package/dist/server/src/index.js +18 -0
  299. package/dist/server/src/live-runs.d.ts +52 -0
  300. package/dist/server/src/live-runs.js +229 -0
  301. package/dist/server/src/llms.d.ts +19 -0
  302. package/dist/server/src/llms.js +63 -0
  303. package/dist/server/src/main.d.ts +30 -0
  304. package/dist/server/src/main.js +114 -0
  305. package/dist/server/src/openapi.d.ts +56 -0
  306. package/dist/server/src/openapi.js +438 -0
  307. package/dist/server/src/problem.d.ts +8 -0
  308. package/dist/server/src/problem.js +39 -0
  309. package/dist/server/src/projects.d.ts +3 -0
  310. package/dist/server/src/projects.js +154 -0
  311. package/dist/server/src/settings-page.d.ts +9 -0
  312. package/dist/server/src/settings-page.js +93 -0
  313. package/dist/server/src/settings.d.ts +23 -0
  314. package/dist/server/src/settings.js +72 -0
  315. package/dist/server/src/site.d.ts +15 -0
  316. package/dist/server/src/site.js +78 -0
  317. package/dist/server/src/store-api.d.ts +28 -0
  318. package/dist/server/src/store-api.js +180 -0
  319. package/dist/server/src/validate.d.ts +71 -0
  320. package/dist/server/src/validate.js +197 -0
  321. package/dist/vitest/src/index.d.ts +27 -5
  322. package/dist/vitest/src/index.js +18 -5
  323. package/dist/webdriver/src/driver.d.ts +63 -11
  324. package/dist/webdriver/src/driver.js +57 -6
  325. package/dist/webdriver/src/index.d.ts +8 -0
  326. package/dist/webdriver/src/index.js +1 -0
  327. package/dist/webdriver/src/protocol.d.ts +75 -6
  328. package/dist/webdriver/src/protocol.js +79 -6
  329. package/docs/agents.md +137 -0
  330. package/docs/deploying.md +345 -0
  331. package/docs/dogfooding.md +175 -0
  332. package/docs/extending.md +242 -0
  333. package/docs/integrating.md +485 -0
  334. package/docs/reference/bun.md +141 -0
  335. package/docs/reference/cli.md +148 -0
  336. package/docs/reference/core.md +2432 -0
  337. package/docs/reference/detox.md +150 -0
  338. package/docs/reference/http-api.md +799 -0
  339. package/docs/reference/playwright.md +303 -0
  340. package/docs/reference/reports.md +7152 -0
  341. package/docs/reference/runners.md +169 -0
  342. package/docs/reference/schema.md +1762 -0
  343. package/docs/reference/server.md +825 -0
  344. package/docs/reference/vitest.md +45 -0
  345. package/docs/reference/webdriver.md +330 -0
  346. package/docs/report-backends.md +144 -0
  347. package/docs/report-contract.md +400 -0
  348. package/docs/reporting-issues.md +160 -0
  349. package/docs/runners.md +69 -0
  350. package/docs/server.md +321 -0
  351. package/docs/statecharts.md +643 -0
  352. package/llms-full.txt +4114 -0
  353. package/llms.txt +49 -0
  354. package/package.json +61 -11
  355. package/packages/core/README.md +2 -1
  356. package/packages/reports/README.md +65 -0
  357. package/packages/reports/STORAGE.md +4 -0
  358. package/packages/runners/README.md +6 -0
  359. package/packages/runners/compat/codecept.cjs +2 -0
  360. package/packages/runners/compat/jest.cjs +2 -0
  361. package/packages/runners/compat/mocha.cjs +2 -0
  362. package/packages/schema/README.md +14 -0
  363. package/packages/schema/schemas/atlas-change.schema.json +4 -0
  364. package/packages/schema/schemas/check-detail.schema.json +1032 -0
  365. package/packages/schema/schemas/checks-result.schema.json +26 -0
  366. package/packages/schema/schemas/command-error.schema.json +35 -0
  367. package/packages/schema/schemas/doctor-result.schema.json +60 -0
  368. package/packages/schema/schemas/effective-delta.schema.json +490 -0
  369. package/packages/schema/schemas/effective-evidence.schema.json +471 -0
  370. package/packages/schema/schemas/evidence-page.schema.json +271 -0
  371. package/packages/schema/schemas/hello-event.schema.json +26 -0
  372. package/packages/schema/schemas/init-plan.schema.json +347 -0
  373. package/packages/schema/schemas/layer-rows.schema.json +199 -0
  374. package/packages/schema/schemas/layer.schema.json +2888 -0
  375. package/packages/schema/schemas/live-run-start.schema.json +42 -0
  376. package/packages/schema/schemas/live-run-update.schema.json +93 -0
  377. package/packages/schema/schemas/live-run.schema.json +225 -0
  378. package/packages/schema/schemas/merge-result.schema.json +40 -0
  379. package/packages/schema/schemas/outline.schema.json +62 -0
  380. package/packages/schema/schemas/problem.schema.json +37 -0
  381. package/packages/schema/schemas/project-slug.schema.json +8 -0
  382. package/packages/schema/schemas/project.schema.json +22 -0
  383. package/packages/schema/schemas/projects.schema.json +33 -0
  384. package/packages/schema/schemas/publish-checks.schema.json +1413 -0
  385. package/packages/schema/schemas/publish-result.schema.json +168 -0
  386. package/packages/schema/schemas/ready.schema.json +68 -0
  387. package/packages/schema/schemas/report-event.schema.json +100 -0
  388. package/packages/schema/schemas/report-status.schema.json +370 -0
  389. package/packages/schema/schemas/server-config.schema.json +208 -0
  390. package/packages/schema/schemas/server-editable-settings.schema.json +132 -0
  391. package/packages/schema/schemas/server-info.schema.json +114 -0
  392. package/packages/schema/schemas/server-settings-snapshot.schema.json +285 -0
  393. package/packages/schema/schemas/spec-set.schema.json +103 -0
  394. package/packages/schema/schemas/store-listing.schema.json +29 -0
  395. package/packages/schema/schemas/store-write-result.schema.json +28 -0
  396. package/packages/schema/schemas/stream-result.schema.json +59 -0
  397. package/packages/server/README.md +43 -0
  398. package/packages/server/openapi.json +11021 -0
  399. package/packages/visualizer/README.md +32 -11
  400. package/packages/visualizer/bin/atlas-client.mjs +176 -0
  401. package/packages/visualizer/bin/atlas-visualizer.mjs +2 -175
  402. package/packages/visualizer/src/app/AppShell.tsx +32 -16
  403. package/packages/visualizer/src/app/report-sources.tsx +7 -4
  404. package/packages/visualizer/src/app/router.tsx +3 -3
  405. package/packages/visualizer/src/components/ActivityIndicator.module.css +4 -0
  406. package/packages/visualizer/src/components/ActivityIndicator.tsx +6 -0
  407. package/packages/visualizer/src/components/Header.module.css +101 -192
  408. package/packages/visualizer/src/components/Header.tsx +88 -13
  409. package/packages/visualizer/src/components/ProjectPicker.tsx +64 -0
  410. package/packages/visualizer/src/data/adapters/adapter.ts +5 -17
  411. package/packages/visualizer/src/data/adapters/index.ts +10 -1
  412. package/packages/visualizer/src/data/adapters/report-backend.test.ts +3 -2
  413. package/packages/visualizer/src/data/adapters/report-backend.ts +1 -1
  414. package/packages/visualizer/src/data/queries.ts +14 -7
  415. package/packages/visualizer/src/evidence/api.ts +16 -3
  416. package/packages/visualizer/src/evidence/artifacts.module.css +213 -0
  417. package/packages/visualizer/src/evidence/artifacts.tsx +272 -0
  418. package/packages/visualizer/src/evidence/check-detail.tsx +21 -4
  419. package/packages/visualizer/src/evidence/document-page.tsx +6 -2
  420. package/packages/visualizer/src/evidence/evidence-context.tsx +79 -12
  421. package/packages/visualizer/src/evidence/evidence.module.css +11 -1
  422. package/packages/visualizer/src/evidence/feature-page.tsx +7 -3
  423. package/packages/visualizer/src/evidence/model-page.tsx +6 -2
  424. package/packages/visualizer/src/evidence/project-home.tsx +45 -0
  425. package/packages/visualizer/src/evidence/recording-page.tsx +4 -1
  426. package/packages/visualizer/src/evidence/spec-index.tsx +2 -1
  427. package/packages/visualizer/src/evidence/spec-page.tsx +23 -16
  428. package/packages/visualizer/src/evidence/test-filter.tsx +21 -0
  429. package/packages/visualizer/src/find/Finder.tsx +1 -7
  430. package/packages/visualizer/src/find/open.ts +4 -0
  431. package/packages/visualizer/src/live/live-query.ts +21 -0
  432. package/packages/visualizer/src/live/live-runs.tsx +69 -0
  433. package/packages/visualizer/src/live/live-stream.ts +225 -0
  434. package/packages/visualizer/src/live/report-progress.ts +62 -0
  435. package/packages/visualizer/src/live/test-progress.tsx +34 -0
  436. package/packages/visualizer/src/runtime.ts +35 -0
  437. package/packages/visualizer/src/state/ui-store.ts +3 -2
  438. package/packages/visualizer/src/views/ChartPage.tsx +2 -0
  439. package/packages/visualizer/src/views/ChartTests.tsx +43 -0
  440. package/packages/visualizer/src/views/SidePanel.tsx +2 -0
  441. package/packages/visualizer/vite/atlas-files.test.ts +4 -4
  442. package/packages/visualizer/vite/atlas-files.ts +1 -5
  443. package/packages/visualizer/vite/atlas-server-proxy.ts +37 -0
  444. package/packages/visualizer/vite.config.ts +11 -3
@@ -0,0 +1,168 @@
1
+ {
2
+ "$id": "https://github.com/crvouga/atlas/schemas/publish-result.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "ok": {
7
+ "type": "boolean",
8
+ "const": true
9
+ },
10
+ "store": {
11
+ "description": "Where it was written: a folder, `s3://…` or a server URL",
12
+ "type": "string"
13
+ },
14
+ "layer": {
15
+ "type": "object",
16
+ "properties": {
17
+ "id": {
18
+ "description": "The layer id: 64 hex digits, the SHA-256 of its content. Publishing the same input again gives the same id",
19
+ "type": "string"
20
+ },
21
+ "producer": {
22
+ "type": "string"
23
+ },
24
+ "environment": {
25
+ "anyOf": [
26
+ {
27
+ "type": "string"
28
+ },
29
+ {
30
+ "type": "null"
31
+ }
32
+ ]
33
+ },
34
+ "checks": {
35
+ "type": "integer",
36
+ "minimum": 0,
37
+ "maximum": 9007199254740991
38
+ },
39
+ "passed": {
40
+ "type": "integer",
41
+ "minimum": 0,
42
+ "maximum": 9007199254740991
43
+ },
44
+ "failed": {
45
+ "type": "integer",
46
+ "minimum": 0,
47
+ "maximum": 9007199254740991
48
+ },
49
+ "notRun": {
50
+ "description": "Skipped, pending or otherwise not run",
51
+ "type": "integer",
52
+ "minimum": 0,
53
+ "maximum": 9007199254740991
54
+ },
55
+ "linkedToSpec": {
56
+ "description": "Checks that were matched to a spec file. The rest still count, but belong to no spec",
57
+ "type": "integer",
58
+ "minimum": 0,
59
+ "maximum": 9007199254740991
60
+ },
61
+ "freshness": {
62
+ "description": "Set when the checkout had uncommitted changes (`modified`) or no git origin (`unknown`)",
63
+ "type": "string",
64
+ "enum": [
65
+ "modified",
66
+ "unknown"
67
+ ]
68
+ },
69
+ "attachmentFiles": {
70
+ "type": "integer",
71
+ "minimum": 0,
72
+ "maximum": 9007199254740991
73
+ },
74
+ "attachmentBytes": {
75
+ "type": "integer",
76
+ "minimum": 0,
77
+ "maximum": 9007199254740991
78
+ }
79
+ },
80
+ "required": [
81
+ "id",
82
+ "producer",
83
+ "environment",
84
+ "checks",
85
+ "passed",
86
+ "failed",
87
+ "notRun",
88
+ "linkedToSpec",
89
+ "attachmentFiles",
90
+ "attachmentBytes"
91
+ ],
92
+ "additionalProperties": {}
93
+ },
94
+ "specSet": {
95
+ "description": "Present when `--specs` was given",
96
+ "type": "object",
97
+ "properties": {
98
+ "id": {
99
+ "type": "string"
100
+ },
101
+ "files": {
102
+ "type": "integer",
103
+ "minimum": 0,
104
+ "maximum": 9007199254740991
105
+ },
106
+ "branch": {
107
+ "anyOf": [
108
+ {
109
+ "type": "string"
110
+ },
111
+ {
112
+ "type": "null"
113
+ }
114
+ ]
115
+ }
116
+ },
117
+ "required": [
118
+ "id",
119
+ "files",
120
+ "branch"
121
+ ],
122
+ "additionalProperties": {}
123
+ },
124
+ "run": {
125
+ "description": "Present with `--upload-run`",
126
+ "type": "object",
127
+ "properties": {
128
+ "id": {
129
+ "type": "string"
130
+ },
131
+ "files": {
132
+ "type": "integer",
133
+ "minimum": 0,
134
+ "maximum": 9007199254740991
135
+ },
136
+ "bytes": {
137
+ "type": "integer",
138
+ "minimum": 0,
139
+ "maximum": 9007199254740991
140
+ },
141
+ "alreadyPublished": {
142
+ "type": "boolean"
143
+ }
144
+ },
145
+ "required": [
146
+ "id",
147
+ "files",
148
+ "bytes",
149
+ "alreadyPublished"
150
+ ],
151
+ "additionalProperties": {}
152
+ },
153
+ "warnings": {
154
+ "description": "What was skipped and why, such as an attachment file that could not be read. Never fatal",
155
+ "type": "array",
156
+ "items": {
157
+ "type": "string"
158
+ }
159
+ }
160
+ },
161
+ "required": [
162
+ "ok",
163
+ "store",
164
+ "layer",
165
+ "warnings"
166
+ ],
167
+ "additionalProperties": {}
168
+ }
@@ -0,0 +1,68 @@
1
+ {
2
+ "$id": "https://github.com/crvouga/atlas/schemas/ready.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "ready": {
7
+ "description": "True once the first pass over the backends is done and at least one backend answers",
8
+ "type": "boolean"
9
+ },
10
+ "layers": {
11
+ "description": "Distinct layers read",
12
+ "type": "integer",
13
+ "minimum": 0,
14
+ "maximum": 9007199254740991
15
+ },
16
+ "slots": {
17
+ "description": "Distinct checks (slots) the report holds a winner for",
18
+ "type": "integer",
19
+ "minimum": 0,
20
+ "maximum": 9007199254740991
21
+ },
22
+ "holding": {
23
+ "description": "Layers that still hold at least one winner",
24
+ "type": "integer",
25
+ "minimum": 0,
26
+ "maximum": 9007199254740991
27
+ },
28
+ "failed": {
29
+ "description": "Layers or backends that could not be read right now",
30
+ "type": "integer",
31
+ "minimum": 0,
32
+ "maximum": 9007199254740991
33
+ },
34
+ "refreshedAt": {
35
+ "description": "When a pass over the backends last finished, epoch milliseconds; 0 before the first",
36
+ "type": "number"
37
+ },
38
+ "backends": {
39
+ "type": "array",
40
+ "items": {
41
+ "type": "object",
42
+ "properties": {
43
+ "id": {
44
+ "type": "string"
45
+ },
46
+ "available": {
47
+ "type": "boolean"
48
+ }
49
+ },
50
+ "required": [
51
+ "id",
52
+ "available"
53
+ ],
54
+ "additionalProperties": {}
55
+ }
56
+ }
57
+ },
58
+ "required": [
59
+ "ready",
60
+ "layers",
61
+ "slots",
62
+ "holding",
63
+ "failed",
64
+ "refreshedAt",
65
+ "backends"
66
+ ],
67
+ "additionalProperties": {}
68
+ }
@@ -0,0 +1,100 @@
1
+ {
2
+ "$id": "https://github.com/crvouga/atlas/schemas/report-event.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "version": {
7
+ "description": "The report version after these layers",
8
+ "type": "string"
9
+ },
10
+ "totalLayers": {
11
+ "type": "integer",
12
+ "minimum": 0,
13
+ "maximum": 9007199254740991
14
+ },
15
+ "added": {
16
+ "description": "At most the 20 newest of the layers that arrived",
17
+ "type": "array",
18
+ "items": {
19
+ "type": "object",
20
+ "properties": {
21
+ "id": {
22
+ "type": "string"
23
+ },
24
+ "producer": {
25
+ "type": "string"
26
+ },
27
+ "environment": {
28
+ "anyOf": [
29
+ {
30
+ "type": "string"
31
+ },
32
+ {
33
+ "type": "null"
34
+ }
35
+ ]
36
+ },
37
+ "branch": {
38
+ "anyOf": [
39
+ {
40
+ "type": "string"
41
+ },
42
+ {
43
+ "type": "null"
44
+ }
45
+ ]
46
+ },
47
+ "sha": {
48
+ "anyOf": [
49
+ {
50
+ "type": "string"
51
+ },
52
+ {
53
+ "type": "null"
54
+ }
55
+ ]
56
+ },
57
+ "recordedAtMs": {
58
+ "type": "number"
59
+ },
60
+ "counts": {
61
+ "type": "object",
62
+ "propertyNames": {
63
+ "type": "string",
64
+ "enum": [
65
+ "passed",
66
+ "failed",
67
+ "running",
68
+ "not-run"
69
+ ]
70
+ },
71
+ "additionalProperties": {
72
+ "type": "integer",
73
+ "minimum": 0,
74
+ "maximum": 9007199254740991
75
+ }
76
+ }
77
+ },
78
+ "required": [
79
+ "id",
80
+ "producer",
81
+ "recordedAtMs"
82
+ ],
83
+ "additionalProperties": {}
84
+ }
85
+ },
86
+ "addedTotal": {
87
+ "description": "How many layers arrived, including those not listed",
88
+ "type": "integer",
89
+ "minimum": 0,
90
+ "maximum": 9007199254740991
91
+ }
92
+ },
93
+ "required": [
94
+ "version",
95
+ "totalLayers",
96
+ "added",
97
+ "addedTotal"
98
+ ],
99
+ "additionalProperties": {}
100
+ }
@@ -0,0 +1,370 @@
1
+ {
2
+ "$id": "https://github.com/crvouga/atlas/schemas/report-status.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "schemaVersion": {
7
+ "type": "number",
8
+ "const": 1
9
+ },
10
+ "ok": {
11
+ "type": "boolean"
12
+ },
13
+ "reasons": {
14
+ "description": "Why `ok` is false, in words. Empty when it is true",
15
+ "type": "array",
16
+ "items": {
17
+ "type": "string"
18
+ }
19
+ },
20
+ "checks": {
21
+ "type": "object",
22
+ "properties": {
23
+ "passed": {
24
+ "type": "integer",
25
+ "minimum": 0,
26
+ "maximum": 9007199254740991
27
+ },
28
+ "failed": {
29
+ "type": "integer",
30
+ "minimum": 0,
31
+ "maximum": 9007199254740991
32
+ },
33
+ "running": {
34
+ "type": "integer",
35
+ "minimum": 0,
36
+ "maximum": 9007199254740991
37
+ },
38
+ "not-run": {
39
+ "type": "integer",
40
+ "minimum": 0,
41
+ "maximum": 9007199254740991
42
+ },
43
+ "total": {
44
+ "type": "integer",
45
+ "minimum": 0,
46
+ "maximum": 9007199254740991
47
+ }
48
+ },
49
+ "required": [
50
+ "passed",
51
+ "failed",
52
+ "running",
53
+ "not-run",
54
+ "total"
55
+ ]
56
+ },
57
+ "byEnvironment": {
58
+ "type": "object",
59
+ "propertyNames": {
60
+ "type": "string"
61
+ },
62
+ "additionalProperties": {
63
+ "type": "object",
64
+ "properties": {
65
+ "passed": {
66
+ "type": "integer",
67
+ "minimum": 0,
68
+ "maximum": 9007199254740991
69
+ },
70
+ "failed": {
71
+ "type": "integer",
72
+ "minimum": 0,
73
+ "maximum": 9007199254740991
74
+ },
75
+ "running": {
76
+ "type": "integer",
77
+ "minimum": 0,
78
+ "maximum": 9007199254740991
79
+ },
80
+ "not-run": {
81
+ "type": "integer",
82
+ "minimum": 0,
83
+ "maximum": 9007199254740991
84
+ },
85
+ "total": {
86
+ "type": "integer",
87
+ "minimum": 0,
88
+ "maximum": 9007199254740991
89
+ }
90
+ },
91
+ "required": [
92
+ "passed",
93
+ "failed",
94
+ "running",
95
+ "not-run",
96
+ "total"
97
+ ]
98
+ }
99
+ },
100
+ "layers": {
101
+ "description": "Distinct layers read, across all backends",
102
+ "type": "integer",
103
+ "minimum": 0,
104
+ "maximum": 9007199254740991
105
+ },
106
+ "backends": {
107
+ "type": "array",
108
+ "items": {
109
+ "type": "object",
110
+ "properties": {
111
+ "id": {
112
+ "type": "string"
113
+ },
114
+ "label": {
115
+ "type": "string"
116
+ },
117
+ "available": {
118
+ "type": "boolean"
119
+ }
120
+ },
121
+ "required": [
122
+ "id",
123
+ "label",
124
+ "available"
125
+ ]
126
+ }
127
+ },
128
+ "notices": {
129
+ "description": "What could not be read. Any notice fails the gate: unknown is not passed",
130
+ "type": "array",
131
+ "items": {
132
+ "type": "string"
133
+ }
134
+ },
135
+ "specsWithoutEvidence": {
136
+ "description": "Specs of the outline with no result at all. The outline is `--specs <dir>`, or else the specs the layers recorded",
137
+ "type": "array",
138
+ "items": {
139
+ "type": "string"
140
+ }
141
+ },
142
+ "specs": {
143
+ "description": "The outcome of each spec, so a dashboard needs nothing else",
144
+ "type": "array",
145
+ "items": {
146
+ "type": "object",
147
+ "properties": {
148
+ "path": {
149
+ "description": "Null for checks that name no spec in the outline",
150
+ "anyOf": [
151
+ {
152
+ "type": "string"
153
+ },
154
+ {
155
+ "type": "null"
156
+ }
157
+ ]
158
+ },
159
+ "title": {
160
+ "type": "string"
161
+ },
162
+ "kind": {
163
+ "type": "string"
164
+ },
165
+ "checks": {
166
+ "type": "object",
167
+ "properties": {
168
+ "passed": {
169
+ "type": "integer",
170
+ "minimum": 0,
171
+ "maximum": 9007199254740991
172
+ },
173
+ "failed": {
174
+ "type": "integer",
175
+ "minimum": 0,
176
+ "maximum": 9007199254740991
177
+ },
178
+ "running": {
179
+ "type": "integer",
180
+ "minimum": 0,
181
+ "maximum": 9007199254740991
182
+ },
183
+ "not-run": {
184
+ "type": "integer",
185
+ "minimum": 0,
186
+ "maximum": 9007199254740991
187
+ },
188
+ "total": {
189
+ "type": "integer",
190
+ "minimum": 0,
191
+ "maximum": 9007199254740991
192
+ }
193
+ },
194
+ "required": [
195
+ "passed",
196
+ "failed",
197
+ "running",
198
+ "not-run",
199
+ "total"
200
+ ]
201
+ },
202
+ "byEnvironment": {
203
+ "type": "object",
204
+ "propertyNames": {
205
+ "type": "string"
206
+ },
207
+ "additionalProperties": {
208
+ "type": "object",
209
+ "properties": {
210
+ "passed": {
211
+ "type": "integer",
212
+ "minimum": 0,
213
+ "maximum": 9007199254740991
214
+ },
215
+ "failed": {
216
+ "type": "integer",
217
+ "minimum": 0,
218
+ "maximum": 9007199254740991
219
+ },
220
+ "running": {
221
+ "type": "integer",
222
+ "minimum": 0,
223
+ "maximum": 9007199254740991
224
+ },
225
+ "not-run": {
226
+ "type": "integer",
227
+ "minimum": 0,
228
+ "maximum": 9007199254740991
229
+ },
230
+ "total": {
231
+ "type": "integer",
232
+ "minimum": 0,
233
+ "maximum": 9007199254740991
234
+ }
235
+ },
236
+ "required": [
237
+ "passed",
238
+ "failed",
239
+ "running",
240
+ "not-run",
241
+ "total"
242
+ ]
243
+ }
244
+ }
245
+ },
246
+ "required": [
247
+ "path",
248
+ "title",
249
+ "kind",
250
+ "checks",
251
+ "byEnvironment"
252
+ ],
253
+ "additionalProperties": {}
254
+ }
255
+ },
256
+ "failing": {
257
+ "description": "Each slot whose newest completed result failed, or that is still running",
258
+ "type": "array",
259
+ "items": {
260
+ "type": "object",
261
+ "properties": {
262
+ "spec": {
263
+ "anyOf": [
264
+ {
265
+ "type": "string"
266
+ },
267
+ {
268
+ "type": "null"
269
+ }
270
+ ]
271
+ },
272
+ "check": {
273
+ "type": "string"
274
+ },
275
+ "title": {
276
+ "type": "string"
277
+ },
278
+ "status": {
279
+ "type": "string",
280
+ "enum": [
281
+ "failed",
282
+ "running"
283
+ ]
284
+ },
285
+ "environment": {
286
+ "anyOf": [
287
+ {
288
+ "type": "string"
289
+ },
290
+ {
291
+ "type": "null"
292
+ }
293
+ ]
294
+ },
295
+ "producer": {
296
+ "type": "string"
297
+ },
298
+ "branch": {
299
+ "anyOf": [
300
+ {
301
+ "type": "string"
302
+ },
303
+ {
304
+ "type": "null"
305
+ }
306
+ ]
307
+ },
308
+ "sha": {
309
+ "anyOf": [
310
+ {
311
+ "type": "string"
312
+ },
313
+ {
314
+ "type": "null"
315
+ }
316
+ ]
317
+ },
318
+ "layer": {
319
+ "type": "string"
320
+ },
321
+ "backend": {
322
+ "type": "string"
323
+ },
324
+ "runUrl": {
325
+ "anyOf": [
326
+ {
327
+ "type": "string"
328
+ },
329
+ {
330
+ "type": "null"
331
+ }
332
+ ]
333
+ },
334
+ "detail": {
335
+ "type": "string"
336
+ }
337
+ },
338
+ "required": [
339
+ "spec",
340
+ "check",
341
+ "title",
342
+ "status",
343
+ "environment",
344
+ "producer",
345
+ "branch",
346
+ "sha",
347
+ "layer",
348
+ "backend",
349
+ "runUrl",
350
+ "detail"
351
+ ],
352
+ "additionalProperties": {}
353
+ }
354
+ }
355
+ },
356
+ "required": [
357
+ "schemaVersion",
358
+ "ok",
359
+ "reasons",
360
+ "checks",
361
+ "byEnvironment",
362
+ "layers",
363
+ "backends",
364
+ "notices",
365
+ "specsWithoutEvidence",
366
+ "specs",
367
+ "failing"
368
+ ],
369
+ "additionalProperties": {}
370
+ }