@storyshelf/core 0.6.2 → 0.8.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 (727) hide show
  1. package/README.md +49 -32
  2. package/dist/adapter/capture-queue.d.mts +44 -4
  3. package/dist/adapter/capture-runner.d.mts +134 -12
  4. package/dist/adapter/capture-runner.mjs +9 -12
  5. package/dist/adapter/database.d.mts +89 -10
  6. package/dist/adapter/database.mjs +4 -3
  7. package/dist/adapter/database.mjs.map +1 -1
  8. package/dist/adapter/design.d.mts +83 -0
  9. package/dist/adapter/design.mjs +27 -0
  10. package/dist/adapter/design.mjs.map +1 -0
  11. package/dist/adapter/email-sender.d.mts +0 -2
  12. package/dist/adapter/metadata.d.mts +3 -12
  13. package/dist/adapter/notifier.d.mts +6 -3
  14. package/dist/adapter/notifier.mjs +5 -1
  15. package/dist/adapter/oauth.d.mts +50 -0
  16. package/dist/adapter/setup.d.mts +4 -7
  17. package/dist/adapter/setup.mjs +3 -3
  18. package/dist/adapter/setup.mjs.map +1 -1
  19. package/dist/adapter/storage.d.mts +1 -3
  20. package/dist/adapter/webhook-events.d.mts +0 -2
  21. package/dist/adapter/webhook-events.mjs +13 -14
  22. package/dist/adapter/webhook-events.mjs.map +1 -1
  23. package/dist/adapters/capture-target-offers.d.mts +26 -0
  24. package/dist/adapters/capture-target-offers.mjs +57 -0
  25. package/dist/adapters/capture-target-offers.mjs.map +1 -0
  26. package/dist/adapters/capture-target.d.mts +69 -0
  27. package/dist/adapters/capture-target.mjs +75 -0
  28. package/dist/adapters/capture-target.mjs.map +1 -0
  29. package/dist/adapters/notifier/build-comment.d.mts +22 -0
  30. package/dist/adapters/notifier/build-comment.mjs +23 -0
  31. package/dist/adapters/notifier/build-comment.mjs.map +1 -0
  32. package/dist/adapters/notifier/build-state.d.mts +97 -0
  33. package/dist/adapters/notifier/build-state.mjs +217 -0
  34. package/dist/adapters/notifier/build-state.mjs.map +1 -0
  35. package/dist/adapters/notifier/events.d.mts +4 -4
  36. package/dist/adapters/notifier/events.mjs +32 -20
  37. package/dist/adapters/notifier/events.mjs.map +1 -1
  38. package/dist/adapters/notifier/format.d.mts +0 -2
  39. package/dist/adapters/notifier/format.mjs +1 -2
  40. package/dist/adapters/notifier/provider.d.mts +53 -9
  41. package/dist/adapters/notifier/provider.mjs +11 -0
  42. package/dist/adapters/notifier/provider.mjs.map +1 -0
  43. package/dist/adapters/notifier/state.d.mts +22 -0
  44. package/dist/adapters/notifier/state.mjs +65 -0
  45. package/dist/adapters/notifier/state.mjs.map +1 -0
  46. package/dist/adapters/notifier/types.d.mts +51 -4
  47. package/dist/adapters/remote-browser.d.mts +168 -0
  48. package/dist/adapters/remote-browser.mjs +201 -0
  49. package/dist/adapters/remote-browser.mjs.map +1 -0
  50. package/dist/adapters/remote-lease-attempt.mjs +39 -0
  51. package/dist/adapters/remote-lease-attempt.mjs.map +1 -0
  52. package/dist/adapters/remote-lease-error.d.mts +25 -0
  53. package/dist/adapters/remote-lease-error.mjs +54 -0
  54. package/dist/adapters/remote-lease-error.mjs.map +1 -0
  55. package/dist/adapters/remote-lease-held.d.mts +15 -0
  56. package/dist/adapters/remote-lease-held.mjs +86 -0
  57. package/dist/adapters/remote-lease-held.mjs.map +1 -0
  58. package/dist/adapters/remote-lease-shutdown.d.mts +12 -0
  59. package/dist/adapters/remote-lease-shutdown.mjs +32 -0
  60. package/dist/adapters/remote-lease-shutdown.mjs.map +1 -0
  61. package/dist/adapters/remote-lease.d.mts +39 -0
  62. package/dist/adapters/remote-lease.mjs +175 -0
  63. package/dist/adapters/remote-lease.mjs.map +1 -0
  64. package/dist/adapters/remote-limiter.mjs +121 -0
  65. package/dist/adapters/remote-limiter.mjs.map +1 -0
  66. package/dist/adapters/remote-pool.d.mts +56 -0
  67. package/dist/adapters/remote-pool.mjs +195 -0
  68. package/dist/adapters/remote-pool.mjs.map +1 -0
  69. package/dist/adapters/render-runs.d.mts +23 -0
  70. package/dist/adapters/render-runs.mjs +40 -0
  71. package/dist/adapters/render-runs.mjs.map +1 -0
  72. package/dist/adapters/setup-runner.d.mts +0 -2
  73. package/dist/adapters/setup-runner.mjs +3 -6
  74. package/dist/adapters/setup-runner.mjs.map +1 -1
  75. package/dist/adapters/sources.d.mts +10 -0
  76. package/dist/adapters/sources.mjs +19 -0
  77. package/dist/adapters/sources.mjs.map +1 -0
  78. package/dist/adapters/validate.d.mts +0 -2
  79. package/dist/adapters/validate.mjs +27 -20
  80. package/dist/adapters/validate.mjs.map +1 -1
  81. package/dist/ai.d.mts +103 -0
  82. package/dist/ai.mjs +18 -0
  83. package/dist/ai.mjs.map +1 -0
  84. package/dist/auth.d.mts +0 -2
  85. package/dist/auth.mjs +1 -2
  86. package/dist/brand-packs.d.mts +0 -2
  87. package/dist/brand-packs.mjs +0 -1
  88. package/dist/capture/a11y/axe-source.d.mts +16 -0
  89. package/dist/capture/a11y/axe-source.mjs +36 -0
  90. package/dist/capture/a11y/axe-source.mjs.map +1 -0
  91. package/dist/capture/a11y/in-page.d.mts +25 -0
  92. package/dist/capture/a11y/in-page.mjs +59 -0
  93. package/dist/capture/a11y/in-page.mjs.map +1 -0
  94. package/dist/capture/a11y/map.d.mts +22 -0
  95. package/dist/capture/a11y/map.mjs +47 -0
  96. package/dist/capture/a11y/map.mjs.map +1 -0
  97. package/dist/capture/a11y/options.d.mts +21 -0
  98. package/dist/capture/a11y/options.mjs +74 -0
  99. package/dist/capture/a11y/options.mjs.map +1 -0
  100. package/dist/capture/adapter.d.mts +46 -5
  101. package/dist/capture/adapter.mjs +1 -2
  102. package/dist/capture/adapter.mjs.map +1 -1
  103. package/dist/capture/affected.d.mts +2 -2
  104. package/dist/capture/affected.mjs +14 -6
  105. package/dist/capture/affected.mjs.map +1 -1
  106. package/dist/capture/attempt-logger.mjs +83 -0
  107. package/dist/capture/attempt-logger.mjs.map +1 -0
  108. package/dist/capture/browsers.d.mts +33 -0
  109. package/dist/capture/browsers.mjs +66 -0
  110. package/dist/capture/browsers.mjs.map +1 -0
  111. package/dist/capture/build-state/deliver.d.mts +30 -0
  112. package/dist/capture/build-state/deliver.mjs +117 -0
  113. package/dist/capture/build-state/deliver.mjs.map +1 -0
  114. package/dist/capture/build-state/index.d.mts +8 -0
  115. package/dist/capture/build-state/notify-job.d.mts +54 -0
  116. package/dist/capture/build-state/notify-job.mjs +132 -0
  117. package/dist/capture/build-state/notify-job.mjs.map +1 -0
  118. package/dist/capture/build-state/publisher.d.mts +21 -0
  119. package/dist/capture/build-state/publisher.mjs +106 -0
  120. package/dist/capture/build-state/publisher.mjs.map +1 -0
  121. package/dist/capture/build-state/resume.d.mts +7 -0
  122. package/dist/capture/build-state/resume.mjs +46 -0
  123. package/dist/capture/build-state/resume.mjs.map +1 -0
  124. package/dist/capture/build-state/types.d.mts +47 -0
  125. package/dist/capture/catalog/catalogue.d.mts +20 -0
  126. package/dist/capture/catalog/catalogue.mjs +52 -0
  127. package/dist/capture/catalog/catalogue.mjs.map +1 -0
  128. package/dist/capture/catalog/components.d.mts +21 -0
  129. package/dist/capture/catalog/components.mjs +54 -0
  130. package/dist/capture/catalog/components.mjs.map +1 -0
  131. package/dist/capture/catalog/history.d.mts +28 -0
  132. package/dist/capture/catalog/history.mjs +50 -0
  133. package/dist/capture/catalog/history.mjs.map +1 -0
  134. package/dist/capture/catalog/hook.d.mts +12 -0
  135. package/dist/capture/catalog/hook.mjs +18 -0
  136. package/dist/capture/catalog/hook.mjs.map +1 -0
  137. package/dist/capture/catalog/index.d.mts +11 -0
  138. package/dist/capture/catalog/load.d.mts +24 -0
  139. package/dist/capture/catalog/load.mjs +48 -0
  140. package/dist/capture/catalog/load.mjs.map +1 -0
  141. package/dist/capture/catalog/parse.d.mts +13 -0
  142. package/dist/capture/catalog/parse.mjs +55 -0
  143. package/dist/capture/catalog/parse.mjs.map +1 -0
  144. package/dist/capture/catalog/read.d.mts +15 -0
  145. package/dist/capture/catalog/read.mjs +39 -0
  146. package/dist/capture/catalog/read.mjs.map +1 -0
  147. package/dist/capture/catalog/types.d.mts +31 -0
  148. package/dist/capture/comparison-reference.d.mts +27 -0
  149. package/dist/capture/comparison-reference.mjs +75 -0
  150. package/dist/capture/comparison-reference.mjs.map +1 -0
  151. package/dist/capture/consumer/capture-handler.d.mts +56 -0
  152. package/dist/capture/consumer/capture-handler.mjs +117 -0
  153. package/dist/capture/consumer/capture-handler.mjs.map +1 -0
  154. package/dist/capture/consumer/idle.d.mts +15 -0
  155. package/dist/capture/consumer/idle.mjs +24 -0
  156. package/dist/capture/consumer/idle.mjs.map +1 -0
  157. package/dist/capture/consumer/index.d.mts +11 -0
  158. package/dist/capture/consumer/index.mjs +138 -0
  159. package/dist/capture/consumer/index.mjs.map +1 -0
  160. package/dist/capture/consumer/loop.mjs +109 -0
  161. package/dist/capture/consumer/loop.mjs.map +1 -0
  162. package/dist/capture/consumer/metrics.d.mts +39 -0
  163. package/dist/capture/consumer/metrics.mjs +37 -0
  164. package/dist/capture/consumer/metrics.mjs.map +1 -0
  165. package/dist/capture/consumer/retry.d.mts +31 -0
  166. package/dist/capture/consumer/retry.mjs +33 -0
  167. package/dist/capture/consumer/retry.mjs.map +1 -0
  168. package/dist/capture/consumer/run-job.mjs +194 -0
  169. package/dist/capture/consumer/run-job.mjs.map +1 -0
  170. package/dist/capture/consumer/startup.mjs +37 -0
  171. package/dist/capture/consumer/startup.mjs.map +1 -0
  172. package/dist/capture/consumer/types.d.mts +95 -0
  173. package/dist/capture/crash-failure.d.mts +23 -0
  174. package/dist/capture/crash-failure.mjs +69 -0
  175. package/dist/capture/crash-failure.mjs.map +1 -0
  176. package/dist/capture/db-queue/cadence.d.mts +30 -0
  177. package/dist/capture/db-queue/cadence.mjs +37 -0
  178. package/dist/capture/db-queue/cadence.mjs.map +1 -0
  179. package/dist/capture/db-queue/claim.d.mts +7 -0
  180. package/dist/capture/db-queue/claim.mjs +148 -0
  181. package/dist/capture/db-queue/claim.mjs.map +1 -0
  182. package/dist/capture/db-queue/clock.mjs +11 -0
  183. package/dist/capture/db-queue/clock.mjs.map +1 -0
  184. package/dist/capture/db-queue/codec.mjs +75 -0
  185. package/dist/capture/db-queue/codec.mjs.map +1 -0
  186. package/dist/capture/db-queue/index.d.mts +18 -0
  187. package/dist/capture/db-queue/index.mjs +89 -0
  188. package/dist/capture/db-queue/index.mjs.map +1 -0
  189. package/dist/capture/db-queue/keeper.d.mts +34 -0
  190. package/dist/capture/db-queue/keeper.mjs +91 -0
  191. package/dist/capture/db-queue/keeper.mjs.map +1 -0
  192. package/dist/capture/db-queue/lease.mjs +45 -0
  193. package/dist/capture/db-queue/lease.mjs.map +1 -0
  194. package/dist/capture/db-queue/lifecycle.mjs +35 -0
  195. package/dist/capture/db-queue/lifecycle.mjs.map +1 -0
  196. package/dist/capture/db-queue/operations.mjs +93 -0
  197. package/dist/capture/db-queue/operations.mjs.map +1 -0
  198. package/dist/capture/db-queue/poll-loop.d.mts +28 -0
  199. package/dist/capture/db-queue/poll-loop.mjs +88 -0
  200. package/dist/capture/db-queue/poll-loop.mjs.map +1 -0
  201. package/dist/capture/db-queue/poll.d.mts +8 -0
  202. package/dist/capture/db-queue/poll.mjs +68 -0
  203. package/dist/capture/db-queue/poll.mjs.map +1 -0
  204. package/dist/capture/db-queue/timers.d.mts +10 -0
  205. package/dist/capture/db-queue/timers.mjs +36 -0
  206. package/dist/capture/db-queue/timers.mjs.map +1 -0
  207. package/dist/capture/db-queue/types.d.mts +81 -0
  208. package/dist/capture/db-queue/types.mjs +11 -0
  209. package/dist/capture/db-queue/types.mjs.map +1 -0
  210. package/dist/capture/db-queue/wake.mjs +47 -0
  211. package/dist/capture/db-queue/wake.mjs.map +1 -0
  212. package/dist/capture/design.mjs +38 -0
  213. package/dist/capture/design.mjs.map +1 -0
  214. package/dist/capture/diff-record.mjs +24 -5
  215. package/dist/capture/diff-record.mjs.map +1 -1
  216. package/dist/capture/dispatch.d.mts +13 -10
  217. package/dist/capture/dispatch.mjs +102 -111
  218. package/dist/capture/dispatch.mjs.map +1 -1
  219. package/dist/capture/enrich.mjs +59 -0
  220. package/dist/capture/enrich.mjs.map +1 -0
  221. package/dist/capture/failure-sets.mjs +21 -0
  222. package/dist/capture/failure-sets.mjs.map +1 -0
  223. package/dist/capture/fingerprint.d.mts +40 -0
  224. package/dist/capture/fingerprint.mjs +82 -0
  225. package/dist/capture/fingerprint.mjs.map +1 -0
  226. package/dist/capture/forked/channel.d.mts +23 -0
  227. package/dist/capture/forked/child.d.mts +32 -0
  228. package/dist/capture/forked/child.mjs +201 -0
  229. package/dist/capture/forked/child.mjs.map +1 -0
  230. package/dist/capture/forked/crash-tracker.mjs +22 -0
  231. package/dist/capture/forked/crash-tracker.mjs.map +1 -0
  232. package/dist/capture/forked/decision.d.mts +24 -0
  233. package/dist/capture/forked/decision.mjs +26 -0
  234. package/dist/capture/forked/decision.mjs.map +1 -0
  235. package/dist/capture/forked/exit.mjs +11 -0
  236. package/dist/capture/forked/exit.mjs.map +1 -0
  237. package/dist/capture/forked/fork.d.mts +29 -0
  238. package/dist/capture/forked/fork.mjs +92 -0
  239. package/dist/capture/forked/fork.mjs.map +1 -0
  240. package/dist/capture/forked/forked-capture.d.mts +38 -0
  241. package/dist/capture/forked/forked-capture.mjs +239 -0
  242. package/dist/capture/forked/forked-capture.mjs.map +1 -0
  243. package/dist/capture/forked/lease-book.mjs +45 -0
  244. package/dist/capture/forked/lease-book.mjs.map +1 -0
  245. package/dist/capture/forked/protocol.d.mts +36 -0
  246. package/dist/capture/forked/protocol.mjs +24 -0
  247. package/dist/capture/forked/protocol.mjs.map +1 -0
  248. package/dist/capture/forked/runs.mjs +74 -0
  249. package/dist/capture/forked/runs.mjs.map +1 -0
  250. package/dist/capture/guards.mjs +1 -2
  251. package/dist/capture/ignore-regions.d.mts +36 -0
  252. package/dist/capture/ignore-regions.mjs +65 -0
  253. package/dist/capture/ignore-regions.mjs.map +1 -0
  254. package/dist/capture/isolate.mjs +140 -0
  255. package/dist/capture/isolate.mjs.map +1 -0
  256. package/dist/capture/job-lease.d.mts +26 -0
  257. package/dist/capture/job-lease.mjs +56 -0
  258. package/dist/capture/job-lease.mjs.map +1 -0
  259. package/dist/capture/matrix.mjs +298 -0
  260. package/dist/capture/matrix.mjs.map +1 -0
  261. package/dist/capture/modes.d.mts +23 -0
  262. package/dist/capture/modes.mjs +106 -0
  263. package/dist/capture/modes.mjs.map +1 -0
  264. package/dist/capture/orchestrator.d.mts +37 -7
  265. package/dist/capture/orchestrator.mjs +120 -110
  266. package/dist/capture/orchestrator.mjs.map +1 -1
  267. package/dist/capture/pipeline.d.mts +9 -4
  268. package/dist/capture/pipeline.mjs +284 -48
  269. package/dist/capture/pipeline.mjs.map +1 -1
  270. package/dist/capture/progress.d.mts +9 -0
  271. package/dist/capture/progress.mjs +27 -0
  272. package/dist/capture/progress.mjs.map +1 -0
  273. package/dist/capture/publish/accept.d.mts +37 -0
  274. package/dist/capture/publish/accept.mjs +27 -0
  275. package/dist/capture/publish/accept.mjs.map +1 -0
  276. package/dist/capture/publish/complete.d.mts +44 -0
  277. package/dist/capture/publish/complete.mjs +63 -0
  278. package/dist/capture/publish/complete.mjs.map +1 -0
  279. package/dist/capture/publish/extract.d.mts +18 -0
  280. package/dist/capture/publish/extract.mjs +120 -0
  281. package/dist/capture/publish/extract.mjs.map +1 -0
  282. package/dist/capture/publish/handler.d.mts +26 -0
  283. package/dist/capture/publish/handler.mjs +61 -0
  284. package/dist/capture/publish/handler.mjs.map +1 -0
  285. package/dist/capture/publish/index.d.mts +11 -0
  286. package/dist/capture/publish/invalid-zip.d.mts +8 -0
  287. package/dist/capture/publish/invalid-zip.mjs +11 -0
  288. package/dist/capture/publish/invalid-zip.mjs.map +1 -0
  289. package/dist/capture/publish/limits.d.mts +35 -0
  290. package/dist/capture/publish/limits.mjs +38 -0
  291. package/dist/capture/publish/limits.mjs.map +1 -0
  292. package/dist/capture/publish/published.d.mts +13 -0
  293. package/dist/capture/publish/published.mjs +17 -0
  294. package/dist/capture/publish/published.mjs.map +1 -0
  295. package/dist/capture/publish/run.d.mts +31 -0
  296. package/dist/capture/publish/run.mjs +29 -0
  297. package/dist/capture/publish/run.mjs.map +1 -0
  298. package/dist/capture/rediff.d.mts +1 -3
  299. package/dist/capture/rediff.mjs +23 -9
  300. package/dist/capture/rediff.mjs.map +1 -1
  301. package/dist/capture/render.mjs +52 -0
  302. package/dist/capture/render.mjs.map +1 -0
  303. package/dist/capture/scratch.d.mts +42 -0
  304. package/dist/capture/scratch.mjs +136 -0
  305. package/dist/capture/scratch.mjs.map +1 -0
  306. package/dist/capture/shard-plan.mjs +127 -0
  307. package/dist/capture/shard-plan.mjs.map +1 -0
  308. package/dist/capture/shards/context.mjs +51 -0
  309. package/dist/capture/shards/context.mjs.map +1 -0
  310. package/dist/capture/shards/execute.mjs +175 -0
  311. package/dist/capture/shards/execute.mjs.map +1 -0
  312. package/dist/capture/shards/fan-out.mjs +125 -0
  313. package/dist/capture/shards/fan-out.mjs.map +1 -0
  314. package/dist/capture/shards/history.mjs +34 -0
  315. package/dist/capture/shards/history.mjs.map +1 -0
  316. package/dist/capture/shards/reduce.mjs +96 -0
  317. package/dist/capture/shards/reduce.mjs.map +1 -0
  318. package/dist/capture/sizing.d.mts +0 -2
  319. package/dist/capture/sizing.mjs +2 -13
  320. package/dist/capture/sizing.mjs.map +1 -1
  321. package/dist/capture/skip-checks.mjs +3 -67
  322. package/dist/capture/skip-checks.mjs.map +1 -1
  323. package/dist/capture/statics.d.mts +7 -10
  324. package/dist/capture/statics.mjs +26 -74
  325. package/dist/capture/statics.mjs.map +1 -1
  326. package/dist/capture/storybook-urls.d.mts +38 -0
  327. package/dist/capture/storybook-urls.mjs +41 -0
  328. package/dist/capture/storybook-urls.mjs.map +1 -0
  329. package/dist/capture/storybook.d.mts +12 -6
  330. package/dist/capture/storybook.mjs +63 -19
  331. package/dist/capture/storybook.mjs.map +1 -1
  332. package/dist/capture/target.mjs +20 -0
  333. package/dist/capture/target.mjs.map +1 -0
  334. package/dist/capture/targets.d.mts +23 -0
  335. package/dist/capture/targets.mjs +31 -0
  336. package/dist/capture/targets.mjs.map +1 -0
  337. package/dist/capture/tests.d.mts +35 -0
  338. package/dist/capture/tests.mjs +136 -0
  339. package/dist/capture/tests.mjs.map +1 -0
  340. package/dist/capture/token-chunks.mjs +91 -0
  341. package/dist/capture/token-chunks.mjs.map +1 -0
  342. package/dist/capture.d.mts +63 -7
  343. package/dist/capture.mjs +51 -3
  344. package/dist/config.d.mts +136 -14
  345. package/dist/config.mjs +14 -8
  346. package/dist/config.mjs.map +1 -1
  347. package/dist/diff.d.mts +7 -3
  348. package/dist/diff.mjs +15 -3
  349. package/dist/diff.mjs.map +1 -0
  350. package/dist/index.d.mts +3 -3
  351. package/dist/index.mjs +2 -2
  352. package/dist/insights/budget.d.mts +18 -0
  353. package/dist/insights/budget.mjs +32 -0
  354. package/dist/insights/budget.mjs.map +1 -0
  355. package/dist/insights/envelope.d.mts +57 -0
  356. package/dist/insights/envelope.mjs +59 -0
  357. package/dist/insights/envelope.mjs.map +1 -0
  358. package/dist/insights/evidence-health.d.mts +30 -0
  359. package/dist/insights/evidence-health.mjs +27 -0
  360. package/dist/insights/evidence-health.mjs.map +1 -0
  361. package/dist/insights/evidence.d.mts +53 -0
  362. package/dist/insights/evidence.mjs +63 -0
  363. package/dist/insights/evidence.mjs.map +1 -0
  364. package/dist/insights/hash.d.mts +16 -0
  365. package/dist/insights/hash.mjs +20 -0
  366. package/dist/insights/hash.mjs.map +1 -0
  367. package/dist/insights/limits.d.mts +22 -0
  368. package/dist/insights/limits.mjs +23 -0
  369. package/dist/insights/limits.mjs.map +1 -0
  370. package/dist/insights/prompts/v1.d.mts +11 -0
  371. package/dist/insights/prompts/v1.mjs +33 -0
  372. package/dist/insights/prompts/v1.mjs.map +1 -0
  373. package/dist/insights/redact.d.mts +7 -0
  374. package/dist/insights/redact.mjs +23 -0
  375. package/dist/insights/redact.mjs.map +1 -0
  376. package/dist/insights/text.mjs +43 -0
  377. package/dist/insights/text.mjs.map +1 -0
  378. package/dist/insights.d.mts +11 -0
  379. package/dist/insights.mjs +12 -0
  380. package/dist/logger.d.mts +0 -2
  381. package/dist/logger.mjs +18 -3
  382. package/dist/logger.mjs.map +1 -1
  383. package/dist/models/ai-budget-alert.d.mts +21 -0
  384. package/dist/models/ai-budget-alert.mjs +37 -0
  385. package/dist/models/ai-budget-alert.mjs.map +1 -0
  386. package/dist/models/ai-usage.d.mts +38 -0
  387. package/dist/models/ai-usage.mjs +60 -0
  388. package/dist/models/ai-usage.mjs.map +1 -0
  389. package/dist/models/baseline-approval.d.mts +18 -0
  390. package/dist/models/baseline-approval.mjs +41 -0
  391. package/dist/models/baseline-approval.mjs.map +1 -0
  392. package/dist/models/baseline-archive.d.mts +82 -0
  393. package/dist/models/baseline-archive.mjs +105 -0
  394. package/dist/models/baseline-archive.mjs.map +1 -0
  395. package/dist/models/baseline-atomic.mjs +66 -0
  396. package/dist/models/baseline-atomic.mjs.map +1 -0
  397. package/dist/models/baseline-conflict.d.mts +6 -0
  398. package/dist/models/baseline-conflict.mjs +9 -0
  399. package/dist/models/baseline-conflict.mjs.map +1 -0
  400. package/dist/models/baseline-export.d.mts +17 -0
  401. package/dist/models/baseline-export.mjs +135 -0
  402. package/dist/models/baseline-export.mjs.map +1 -0
  403. package/dist/models/baseline-import.mjs +117 -0
  404. package/dist/models/baseline-import.mjs.map +1 -0
  405. package/dist/models/baseline-origin.d.mts +16 -0
  406. package/dist/models/baseline-origin.mjs +35 -0
  407. package/dist/models/baseline-origin.mjs.map +1 -0
  408. package/dist/models/baseline-status.d.mts +0 -2
  409. package/dist/models/baseline-status.mjs +1 -2
  410. package/dist/models/baseline-transfer.d.mts +48 -0
  411. package/dist/models/baseline-transfer.mjs +149 -0
  412. package/dist/models/baseline-transfer.mjs.map +1 -0
  413. package/dist/models/baseline.d.mts +37 -7
  414. package/dist/models/baseline.mjs +152 -28
  415. package/dist/models/baseline.mjs.map +1 -1
  416. package/dist/models/build-component.d.mts +26 -0
  417. package/dist/models/build-component.mjs +54 -0
  418. package/dist/models/build-component.mjs.map +1 -0
  419. package/dist/models/build-review-status.d.mts +27 -0
  420. package/dist/models/build-review-status.mjs +36 -0
  421. package/dist/models/build-review-status.mjs.map +1 -0
  422. package/dist/models/build-review.d.mts +26 -0
  423. package/dist/models/build-review.mjs +53 -0
  424. package/dist/models/build-review.mjs.map +1 -0
  425. package/dist/models/build.d.mts +25 -5
  426. package/dist/models/build.mjs +53 -15
  427. package/dist/models/build.mjs.map +1 -1
  428. package/dist/models/capture-attempt.d.mts +7 -3
  429. package/dist/models/capture-attempt.mjs +30 -6
  430. package/dist/models/capture-attempt.mjs.map +1 -1
  431. package/dist/models/capture-job.d.mts +104 -0
  432. package/dist/models/capture-job.mjs +287 -0
  433. package/dist/models/capture-job.mjs.map +1 -0
  434. package/dist/models/capture-log.d.mts +1 -3
  435. package/dist/models/capture-log.mjs +5 -5
  436. package/dist/models/capture-log.mjs.map +1 -1
  437. package/dist/models/capture-shard.d.mts +60 -0
  438. package/dist/models/capture-shard.mjs +189 -0
  439. package/dist/models/capture-shard.mjs.map +1 -0
  440. package/dist/models/changeset.d.mts +46 -0
  441. package/dist/models/changeset.mjs +80 -0
  442. package/dist/models/changeset.mjs.map +1 -0
  443. package/dist/models/columns.mjs +18 -0
  444. package/dist/models/columns.mjs.map +1 -0
  445. package/dist/models/comment.d.mts +4 -3
  446. package/dist/models/comment.mjs +8 -6
  447. package/dist/models/comment.mjs.map +1 -1
  448. package/dist/models/component.d.mts +41 -0
  449. package/dist/models/component.mjs +59 -0
  450. package/dist/models/component.mjs.map +1 -0
  451. package/dist/models/connections.d.mts +39 -0
  452. package/dist/models/connections.mjs +111 -0
  453. package/dist/models/connections.mjs.map +1 -0
  454. package/dist/models/content-ref.d.mts +1 -3
  455. package/dist/models/content-ref.mjs +2 -3
  456. package/dist/models/content-ref.mjs.map +1 -1
  457. package/dist/models/credentials.d.mts +0 -2
  458. package/dist/models/credentials.mjs +13 -4
  459. package/dist/models/credentials.mjs.map +1 -1
  460. package/dist/models/design-credentials.d.mts +39 -0
  461. package/dist/models/design-credentials.mjs +85 -0
  462. package/dist/models/design-credentials.mjs.map +1 -0
  463. package/dist/models/design-health.d.mts +14 -0
  464. package/dist/models/design-health.mjs +24 -0
  465. package/dist/models/design-health.mjs.map +1 -0
  466. package/dist/models/design-nodes.d.mts +81 -0
  467. package/dist/models/design-nodes.mjs +221 -0
  468. package/dist/models/design-nodes.mjs.map +1 -0
  469. package/dist/models/design-renders.mjs +73 -0
  470. package/dist/models/design-renders.mjs.map +1 -0
  471. package/dist/models/design-resolve.d.mts +27 -0
  472. package/dist/models/design-resolve.mjs +40 -0
  473. package/dist/models/design-resolve.mjs.map +1 -0
  474. package/dist/models/design.d.mts +37 -0
  475. package/dist/models/design.mjs +89 -0
  476. package/dist/models/design.mjs.map +1 -0
  477. package/dist/models/inherited-ratio.d.mts +19 -0
  478. package/dist/models/inherited-ratio.mjs +21 -0
  479. package/dist/models/inherited-ratio.mjs.map +1 -0
  480. package/dist/models/insight.d.mts +68 -0
  481. package/dist/models/insight.mjs +161 -0
  482. package/dist/models/insight.mjs.map +1 -0
  483. package/dist/models/label.d.mts +4 -4
  484. package/dist/models/label.mjs +26 -12
  485. package/dist/models/label.mjs.map +1 -1
  486. package/dist/models/member.d.mts +1 -3
  487. package/dist/models/member.mjs +6 -6
  488. package/dist/models/member.mjs.map +1 -1
  489. package/dist/models/notification-channel.d.mts +37 -5
  490. package/dist/models/notification-channel.mjs +89 -11
  491. package/dist/models/notification-channel.mjs.map +1 -1
  492. package/dist/models/notification-subscription.d.mts +1 -4
  493. package/dist/models/notification-subscription.mjs +8 -11
  494. package/dist/models/notification-subscription.mjs.map +1 -1
  495. package/dist/models/project-group-mapping.d.mts +6 -3
  496. package/dist/models/project-group-mapping.mjs +15 -6
  497. package/dist/models/project-group-mapping.mjs.map +1 -1
  498. package/dist/models/project.d.mts +9 -3
  499. package/dist/models/project.mjs +10 -6
  500. package/dist/models/project.mjs.map +1 -1
  501. package/dist/models/public-origin.d.mts +61 -0
  502. package/dist/models/public-origin.mjs +113 -0
  503. package/dist/models/public-origin.mjs.map +1 -0
  504. package/dist/models/review-switch-off.d.mts +12 -0
  505. package/dist/models/review-switch-off.mjs +25 -0
  506. package/dist/models/review-switch-off.mjs.map +1 -0
  507. package/dist/models/site-settings.d.mts +21 -0
  508. package/dist/models/site-settings.mjs +47 -0
  509. package/dist/models/site-settings.mjs.map +1 -0
  510. package/dist/models/snapshot.d.mts +39 -3
  511. package/dist/models/snapshot.mjs +54 -5
  512. package/dist/models/snapshot.mjs.map +1 -1
  513. package/dist/models/token.d.mts +13 -3
  514. package/dist/models/token.mjs +24 -7
  515. package/dist/models/token.mjs.map +1 -1
  516. package/dist/models/usage.d.mts +74 -0
  517. package/dist/models/usage.mjs +148 -0
  518. package/dist/models/usage.mjs.map +1 -0
  519. package/dist/models/user.d.mts +1 -3
  520. package/dist/models/user.mjs +5 -5
  521. package/dist/models/user.mjs.map +1 -1
  522. package/dist/models/webhook.d.mts +15 -3
  523. package/dist/models/webhook.mjs +34 -6
  524. package/dist/models/webhook.mjs.map +1 -1
  525. package/dist/models.d.mts +30 -4
  526. package/dist/models.mjs +31 -6
  527. package/dist/options.d.mts +16 -0
  528. package/dist/options.mjs +88 -0
  529. package/dist/options.mjs.map +1 -0
  530. package/dist/paths.d.mts +21 -6
  531. package/dist/paths.mjs +57 -12
  532. package/dist/paths.mjs.map +1 -1
  533. package/dist/retention/ai.d.mts +16 -0
  534. package/dist/retention/ai.mjs +22 -0
  535. package/dist/retention/ai.mjs.map +1 -0
  536. package/dist/retention/pending.mjs +46 -0
  537. package/dist/retention/pending.mjs.map +1 -0
  538. package/dist/retention/published-gzip-sweep.mjs +28 -0
  539. package/dist/retention/published-gzip-sweep.mjs.map +1 -0
  540. package/dist/retention/screenshot-sweep.d.mts +49 -0
  541. package/dist/retention/screenshot-sweep.mjs +127 -0
  542. package/dist/retention/screenshot-sweep.mjs.map +1 -0
  543. package/dist/retention.d.mts +16 -4
  544. package/dist/retention.mjs +76 -16
  545. package/dist/retention.mjs.map +1 -1
  546. package/dist/schema/baseline.d.mts +8 -2
  547. package/dist/schema/build-component.d.mts +23 -0
  548. package/dist/schema/build-review.d.mts +15 -0
  549. package/dist/schema/build.d.mts +7 -2
  550. package/dist/schema/capture-attempt.d.mts +0 -2
  551. package/dist/schema/capture-job.d.mts +58 -0
  552. package/dist/schema/capture-shard.d.mts +33 -0
  553. package/dist/schema/comment.d.mts +2 -2
  554. package/dist/schema/connection.d.mts +22 -0
  555. package/dist/schema/content-ref.d.mts +0 -2
  556. package/dist/schema/design.d.mts +56 -0
  557. package/dist/schema/insight.d.mts +52 -0
  558. package/dist/schema/label.d.mts +0 -2
  559. package/dist/schema/member.d.mts +0 -2
  560. package/dist/schema/notification.d.mts +4 -2
  561. package/dist/schema/project-group-mapping.d.mts +0 -2
  562. package/dist/schema/project.d.mts +21 -2
  563. package/dist/schema/site-setting.d.mts +19 -0
  564. package/dist/schema/snapshot.d.mts +17 -2
  565. package/dist/schema/token.d.mts +0 -2
  566. package/dist/schema/usage.d.mts +28 -0
  567. package/dist/schema/user.d.mts +0 -2
  568. package/dist/schema/webhook.d.mts +0 -2
  569. package/dist/schema.d.mts +12 -6
  570. package/dist/serverless.d.mts +19 -0
  571. package/dist/serverless.mjs +36 -0
  572. package/dist/serverless.mjs.map +1 -0
  573. package/dist/test-helpers/build-reference-contract.d.mts +14 -0
  574. package/dist/test-helpers/build-reference-contract.mjs +66 -0
  575. package/dist/test-helpers/build-reference-contract.mjs.map +1 -0
  576. package/dist/test-helpers/create-project.d.mts +1 -3
  577. package/dist/test-helpers/create-project.mjs +1 -2
  578. package/dist/test-helpers/database-contract.d.mts +0 -2
  579. package/dist/test-helpers/database-contract.mjs +37 -2
  580. package/dist/test-helpers/database-contract.mjs.map +1 -1
  581. package/dist/test-helpers/deferred.d.mts +37 -0
  582. package/dist/test-helpers/deferred.mjs +60 -0
  583. package/dist/test-helpers/deferred.mjs.map +1 -0
  584. package/dist/test-helpers/design-contract.d.mts +19 -0
  585. package/dist/test-helpers/design-contract.mjs +39 -0
  586. package/dist/test-helpers/design-contract.mjs.map +1 -0
  587. package/dist/test-helpers/fake-adapters.d.mts +0 -2
  588. package/dist/test-helpers/fake-adapters.mjs +1 -2
  589. package/dist/test-helpers/fake-database.d.mts +0 -2
  590. package/dist/test-helpers/fake-database.mjs +21 -4
  591. package/dist/test-helpers/fake-database.mjs.map +1 -1
  592. package/dist/test-helpers/fake-design.d.mts +41 -0
  593. package/dist/test-helpers/fake-design.mjs +113 -0
  594. package/dist/test-helpers/fake-design.mjs.map +1 -0
  595. package/dist/test-helpers/fake-notifier.d.mts +19 -0
  596. package/dist/test-helpers/fake-notifier.mjs +43 -0
  597. package/dist/test-helpers/fake-notifier.mjs.map +1 -0
  598. package/dist/test-helpers/fake-storage.d.mts +0 -2
  599. package/dist/test-helpers/fake-storage.mjs +1 -2
  600. package/dist/test-helpers/fake-tables.mjs +260 -69
  601. package/dist/test-helpers/fake-tables.mjs.map +1 -1
  602. package/dist/test-helpers/manual-clock.d.mts +25 -0
  603. package/dist/test-helpers/manual-clock.mjs +55 -0
  604. package/dist/test-helpers/manual-clock.mjs.map +1 -0
  605. package/dist/test-helpers/notifier-contract.d.mts +7 -3
  606. package/dist/test-helpers/notifier-contract.mjs +33 -5
  607. package/dist/test-helpers/notifier-contract.mjs.map +1 -1
  608. package/dist/test-helpers/queue-contract.d.mts +16 -4
  609. package/dist/test-helpers/queue-contract.mjs +196 -3
  610. package/dist/test-helpers/queue-contract.mjs.map +1 -1
  611. package/dist/test-helpers/queue-multi-instance.d.mts +18 -0
  612. package/dist/test-helpers/queue-multi-instance.mjs +205 -0
  613. package/dist/test-helpers/queue-multi-instance.mjs.map +1 -0
  614. package/dist/test-helpers/runner-contract.d.mts +0 -2
  615. package/dist/test-helpers/runner-contract.mjs +12 -2
  616. package/dist/test-helpers/runner-contract.mjs.map +1 -1
  617. package/dist/test-helpers/sql-chunks.mjs +25 -2
  618. package/dist/test-helpers/sql-chunks.mjs.map +1 -1
  619. package/dist/test-helpers/storage-contract.d.mts +0 -2
  620. package/dist/test-helpers/storage-contract.mjs +2 -3
  621. package/dist/test-helpers.d.mts +10 -4
  622. package/dist/test-helpers.mjs +9 -3
  623. package/dist/tracing.mjs +36 -6
  624. package/dist/tracing.mjs.map +1 -1
  625. package/dist/types.d.mts +14 -5
  626. package/dist/types.mjs +22 -6
  627. package/dist/types.mjs.map +1 -1
  628. package/dist/urls.d.mts +4 -2
  629. package/dist/urls.mjs +12 -4
  630. package/dist/urls.mjs.map +1 -1
  631. package/dist/utils/adaptive-concurrency.d.mts +64 -0
  632. package/dist/utils/adaptive-concurrency.mjs +148 -0
  633. package/dist/utils/adaptive-concurrency.mjs.map +1 -0
  634. package/dist/utils/connect-retry.d.mts +26 -0
  635. package/dist/utils/connect-retry.mjs +42 -0
  636. package/dist/utils/connect-retry.mjs.map +1 -0
  637. package/dist/utils/encrypt.d.mts +0 -2
  638. package/dist/utils/encrypt.mjs +1 -2
  639. package/dist/utils/environment.d.mts +17 -0
  640. package/dist/utils/environment.mjs +58 -0
  641. package/dist/utils/environment.mjs.map +1 -0
  642. package/dist/utils/hash.d.mts +0 -2
  643. package/dist/utils/hash.mjs +1 -2
  644. package/dist/utils/http.d.mts +29 -3
  645. package/dist/utils/http.mjs +100 -19
  646. package/dist/utils/http.mjs.map +1 -1
  647. package/dist/utils/map-adaptive.d.mts +13 -0
  648. package/dist/utils/map-adaptive.mjs +71 -0
  649. package/dist/utils/map-adaptive.mjs.map +1 -0
  650. package/dist/utils/map-limit.d.mts +8 -0
  651. package/dist/utils/map-limit.mjs +31 -0
  652. package/dist/utils/map-limit.mjs.map +1 -0
  653. package/dist/utils/mime.d.mts +0 -2
  654. package/dist/utils/mime.mjs +1 -2
  655. package/dist/utils/page-limiter.d.mts +35 -0
  656. package/dist/utils/page-limiter.mjs +55 -0
  657. package/dist/utils/page-limiter.mjs.map +1 -0
  658. package/dist/utils/path-security.d.mts +0 -2
  659. package/dist/utils/path-security.mjs +2 -4
  660. package/dist/utils/path-security.mjs.map +1 -1
  661. package/dist/utils/public-origin.d.mts +18 -0
  662. package/dist/utils/public-origin.mjs +74 -0
  663. package/dist/utils/public-origin.mjs.map +1 -0
  664. package/dist/utils/redact.d.mts +0 -2
  665. package/dist/utils/redact.mjs +4 -2
  666. package/dist/utils/redact.mjs.map +1 -1
  667. package/dist/utils/remote-environment.d.mts +76 -0
  668. package/dist/utils/remote-environment.mjs +163 -0
  669. package/dist/utils/remote-environment.mjs.map +1 -0
  670. package/dist/utils/resources.d.mts +62 -0
  671. package/dist/utils/resources.mjs +121 -0
  672. package/dist/utils/resources.mjs.map +1 -0
  673. package/dist/utils/screenshot-store.d.mts +13 -0
  674. package/dist/utils/screenshot-store.mjs +40 -0
  675. package/dist/utils/screenshot-store.mjs.map +1 -0
  676. package/dist/utils/session-gate.d.mts +23 -0
  677. package/dist/utils/session-gate.mjs +69 -0
  678. package/dist/utils/session-gate.mjs.map +1 -0
  679. package/dist/utils/storybook-token.d.mts +89 -0
  680. package/dist/utils/storybook-token.mjs +135 -0
  681. package/dist/utils/storybook-token.mjs.map +1 -0
  682. package/dist/utils/storybook-url.d.mts +13 -0
  683. package/dist/utils/storybook-url.mjs +20 -0
  684. package/dist/utils/storybook-url.mjs.map +1 -0
  685. package/dist/utils/timing.d.mts +0 -2
  686. package/dist/utils/timing.mjs +2 -3
  687. package/dist/utils/timing.mjs.map +1 -1
  688. package/dist/utils/ulid.d.mts +0 -2
  689. package/dist/utils/ulid.mjs +1 -2
  690. package/dist/utils/zip-read.mjs +128 -0
  691. package/dist/utils/zip-read.mjs.map +1 -0
  692. package/dist/utils/zip-write.d.mts +16 -0
  693. package/dist/utils/zip-write.mjs +187 -0
  694. package/dist/utils/zip-write.mjs.map +1 -0
  695. package/dist/utils.d.mts +17 -3
  696. package/dist/utils.mjs +18 -4
  697. package/package.json +35 -26
  698. package/dist/adapter/capture-runner.mjs.map +0 -1
  699. package/dist/adapter/git-host/comments.d.mts +0 -41
  700. package/dist/adapter/git-host/comments.mjs +0 -54
  701. package/dist/adapter/git-host/comments.mjs.map +0 -1
  702. package/dist/adapter/git-host/helpers.d.mts +0 -13
  703. package/dist/adapter/git-host/helpers.mjs +0 -30
  704. package/dist/adapter/git-host/helpers.mjs.map +0 -1
  705. package/dist/adapter/git-host.d.mts +0 -42
  706. package/dist/capture/queue.d.mts +0 -38
  707. package/dist/capture/queue.mjs +0 -98
  708. package/dist/capture/queue.mjs.map +0 -1
  709. package/dist/capture/recovery.d.mts +0 -21
  710. package/dist/capture/recovery.mjs +0 -83
  711. package/dist/capture/recovery.mjs.map +0 -1
  712. package/dist/capture/status-fanout.mjs +0 -72
  713. package/dist/capture/status-fanout.mjs.map +0 -1
  714. package/dist/diff/engine.d.mts +0 -16
  715. package/dist/diff/engine.mjs +0 -87
  716. package/dist/diff/engine.mjs.map +0 -1
  717. package/dist/diff/options.d.mts +0 -42
  718. package/dist/diff/options.mjs +0 -15
  719. package/dist/diff/options.mjs.map +0 -1
  720. package/dist/models/status-config.d.mts +0 -38
  721. package/dist/models/status-config.mjs +0 -63
  722. package/dist/models/status-config.mjs.map +0 -1
  723. package/dist/schema/status-config.d.mts +0 -16
  724. package/dist/test-helpers/git-contract.d.mts +0 -11
  725. package/dist/test-helpers/git-contract.mjs +0 -34
  726. package/dist/test-helpers/git-contract.mjs.map +0 -1
  727. /package/dist/adapter/{git-host.mjs → oauth.mjs} +0 -0
@@ -0,0 +1,113 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { Buffer } from "node:buffer";
5
+ // src/test-helpers/fake-design.ts
6
+ /** A scriptable in-memory design provider for model and app tests (links look like `https://design.test/<file>?node=<id>`). */
7
+ const FAKE_PNG = Buffer.from([
8
+ 137,
9
+ 80,
10
+ 78,
11
+ 71
12
+ ]);
13
+ /** Link to a fake file, optionally a node of it. */
14
+ const fakeUrl = (fileKey, nodeId) => `https://design.test/${fileKey}${nodeId ? `?node=${nodeId}` : ""}`;
15
+ function parse(raw) {
16
+ try {
17
+ const url = new URL(raw.trim());
18
+ const fileKey = url.pathname.slice(1);
19
+ if (url.hostname !== "design.test" || fileKey === "") return null;
20
+ return {
21
+ fileKey,
22
+ nodeId: url.searchParams.get("node"),
23
+ url: `${url.origin}${url.pathname}${url.search}`
24
+ };
25
+ } catch {
26
+ return null;
27
+ }
28
+ }
29
+ /** Create a fake provider whose behavior the test mutates through the returned object. */
30
+ function makeFakeDesign(kind = "fake") {
31
+ const fake = {
32
+ provider: void 0,
33
+ version: "1",
34
+ lastModified: "2026-01-01T00:00:00Z",
35
+ states: /* @__PURE__ */ new Map(),
36
+ unrenderable: /* @__PURE__ */ new Set(),
37
+ failRenders: false,
38
+ delayMs: 0,
39
+ credentials: [],
40
+ authTypes: [],
41
+ metaCalls: [],
42
+ renderCalls: [],
43
+ inFlight: 0,
44
+ peak: 0
45
+ };
46
+ const tracked = async (work, options) => {
47
+ fake.inFlight += 1;
48
+ fake.peak = Math.max(fake.peak, fake.inFlight);
49
+ try {
50
+ if (fake.delayMs > 0) await new Promise((resolve) => {
51
+ setTimeout(resolve, fake.delayMs);
52
+ });
53
+ options?.signal?.throwIfAborted();
54
+ return work();
55
+ } finally {
56
+ fake.inFlight -= 1;
57
+ }
58
+ };
59
+ fake.provider = {
60
+ metadata: {
61
+ name: "Fake design",
62
+ version: "0.0.0",
63
+ kind,
64
+ category: "design",
65
+ credentialLabel: "Fake access token",
66
+ credentialHelp: "Any string works.",
67
+ credentialPlaceholder: "fake_…",
68
+ urlHint: "https://design.test/<file>?node=<id>",
69
+ credentialMaxAgeDays: 90
70
+ },
71
+ parseUrl: parse,
72
+ create: ({ credential, authType }) => {
73
+ fake.credentials.push(credential);
74
+ fake.authTypes.push(authType ?? "token");
75
+ return {
76
+ fetchMetas: async (fileKey, refs, options) => {
77
+ fake.metaCalls.push({
78
+ fileKey,
79
+ nodeIds: refs.map((ref) => ref.nodeId ?? "")
80
+ });
81
+ return await tracked(() => {
82
+ const metas = /* @__PURE__ */ new Map();
83
+ for (const ref of refs) {
84
+ const id = ref.nodeId ?? "";
85
+ const state = fake.states.get(id) ?? "ok";
86
+ metas.set(id, {
87
+ state,
88
+ name: state === "ok" ? `Node ${id || fileKey}` : null,
89
+ version: state === "ok" ? fake.version : null,
90
+ lastModified: state === "ok" ? fake.lastModified : null
91
+ });
92
+ }
93
+ return metas;
94
+ }, options);
95
+ },
96
+ fetchRenders: async (fileKey, nodeIds, options) => {
97
+ fake.renderCalls.push({
98
+ fileKey,
99
+ nodeIds: [...nodeIds]
100
+ });
101
+ return await tracked(() => {
102
+ if (fake.failRenders) throw new Error("render failed");
103
+ return new Map(nodeIds.filter((id) => !fake.unrenderable.has(id)).map((id) => [id, FAKE_PNG]));
104
+ }, options);
105
+ }
106
+ };
107
+ }
108
+ };
109
+ return fake;
110
+ }
111
+ export { FAKE_PNG, fakeUrl, makeFakeDesign };
112
+
113
+ //# sourceMappingURL=fake-design.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake-design.mjs","names":[],"sources":["../../src/test-helpers/fake-design.ts"],"sourcesContent":["/** A scriptable in-memory design provider for model and app tests (links look like `https://design.test/<file>?node=<id>`). */\nimport { Buffer } from \"node:buffer\";\nimport type {\n DesignCallOptions,\n DesignMeta,\n DesignProvider,\n DesignRef,\n DesignState,\n} from \"../adapters/design.ts\";\n\nexport const FAKE_PNG = Buffer.from([137, 80, 78, 71]);\n\n/** Mutable behavior and call log of a {@link makeFakeDesign} provider. */\nexport interface FakeDesign {\n provider: DesignProvider;\n /** File version served; bump it to simulate an edit. */\n version: string;\n lastModified: string;\n /** Per node id (`\"\"` = whole file) state override; defaults to `ok`. */\n states: Map<string, DesignState>;\n /** Node ids the vendor cannot render. */\n unrenderable: Set<string>;\n /** Make every render call throw. */\n failRenders: boolean;\n /** Artificial latency per call, to observe concurrency. */\n delayMs: number;\n /** Credentials the provider was created with, in order. */\n credentials: string[];\n /** How each of those credentials authenticates, in the same order. */\n authTypes: string[];\n metaCalls: { fileKey: string; nodeIds: string[] }[];\n renderCalls: { fileKey: string; nodeIds: string[] }[];\n /** Calls currently in flight and the highest value seen. */\n inFlight: number;\n peak: number;\n}\n\n/** Link to a fake file, optionally a node of it. */\nexport const fakeUrl = (fileKey: string, nodeId?: string): string =>\n `https://design.test/${fileKey}${nodeId ? `?node=${nodeId}` : \"\"}`;\n\nfunction parse(raw: string): DesignRef | null {\n try {\n const url = new URL(raw.trim());\n const fileKey = url.pathname.slice(1);\n if (url.hostname !== \"design.test\" || fileKey === \"\") return null;\n return {\n fileKey,\n nodeId: url.searchParams.get(\"node\"),\n url: `${url.origin}${url.pathname}${url.search}`,\n };\n } catch {\n return null;\n }\n}\n\n/** Create a fake provider whose behavior the test mutates through the returned object. */\nexport function makeFakeDesign(kind = \"fake\"): FakeDesign {\n const fake: FakeDesign = {\n provider: undefined as unknown as DesignProvider,\n version: \"1\",\n lastModified: \"2026-01-01T00:00:00Z\",\n states: new Map(),\n unrenderable: new Set(),\n failRenders: false,\n delayMs: 0,\n credentials: [],\n authTypes: [],\n metaCalls: [],\n renderCalls: [],\n inFlight: 0,\n peak: 0,\n };\n const tracked = async <T>(work: () => T, options?: DesignCallOptions): Promise<T> => {\n fake.inFlight += 1;\n fake.peak = Math.max(fake.peak, fake.inFlight);\n try {\n if (fake.delayMs > 0) {\n await new Promise((resolve) => {\n setTimeout(resolve, fake.delayMs);\n });\n }\n options?.signal?.throwIfAborted();\n return work();\n } finally {\n fake.inFlight -= 1;\n }\n };\n fake.provider = {\n metadata: {\n name: \"Fake design\",\n version: \"0.0.0\",\n kind,\n category: \"design\",\n credentialLabel: \"Fake access token\",\n credentialHelp: \"Any string works.\",\n credentialPlaceholder: \"fake_…\",\n urlHint: \"https://design.test/<file>?node=<id>\",\n credentialMaxAgeDays: 90,\n },\n parseUrl: parse,\n create: ({ credential, authType }) => {\n fake.credentials.push(credential);\n fake.authTypes.push(authType ?? \"token\");\n return {\n fetchMetas: async (fileKey, refs, options) => {\n fake.metaCalls.push({ fileKey, nodeIds: refs.map((ref) => ref.nodeId ?? \"\") });\n return await tracked(() => {\n const metas = new Map<string, DesignMeta>();\n for (const ref of refs) {\n const id = ref.nodeId ?? \"\";\n const state = fake.states.get(id) ?? \"ok\";\n metas.set(id, {\n state,\n name: state === \"ok\" ? `Node ${id || fileKey}` : null,\n version: state === \"ok\" ? fake.version : null,\n lastModified: state === \"ok\" ? fake.lastModified : null,\n });\n }\n return metas;\n }, options);\n },\n fetchRenders: async (fileKey, nodeIds, options) => {\n fake.renderCalls.push({ fileKey, nodeIds: [...nodeIds] });\n return await tracked(() => {\n if (fake.failRenders) throw new Error(\"render failed\");\n return new Map(\n nodeIds\n .filter((id) => !fake.unrenderable.has(id))\n .map((id) => [id, FAKE_PNG] as const),\n );\n }, options);\n },\n };\n },\n };\n return fake;\n}\n"],"mappings":";;;;;;AAUA,MAAa,WAAW,OAAO,KAAK;CAAC;CAAK;CAAI;CAAI;AAAE,CAAC;;AA4BrD,MAAa,WAAW,SAAiB,WACvC,uBAAuB,UAAU,SAAS,SAAS,WAAW;AAEhE,SAAS,MAAM,KAA+B;CAC5C,IAAI;EACF,MAAM,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC;EAC9B,MAAM,UAAU,IAAI,SAAS,MAAM,CAAC;EACpC,IAAI,IAAI,aAAa,iBAAiB,YAAY,IAAI,OAAO;EAC7D,OAAO;GACL;GACA,QAAQ,IAAI,aAAa,IAAI,MAAM;GACnC,KAAK,GAAG,IAAI,SAAS,IAAI,WAAW,IAAI;EAC1C;CACF,QAAQ;EACN,OAAO;CACT;AACF;;AAGA,SAAgB,eAAe,OAAO,QAAoB;CACxD,MAAM,OAAmB;EACvB,UAAU,KAAA;EACV,SAAS;EACT,cAAc;EACd,wBAAQ,IAAI,IAAI;EAChB,8BAAc,IAAI,IAAI;EACtB,aAAa;EACb,SAAS;EACT,aAAa,CAAC;EACd,WAAW,CAAC;EACZ,WAAW,CAAC;EACZ,aAAa,CAAC;EACd,UAAU;EACV,MAAM;CACR;CACA,MAAM,UAAU,OAAU,MAAe,YAA4C;EACnF,KAAK,YAAY;EACjB,KAAK,OAAO,KAAK,IAAI,KAAK,MAAM,KAAK,QAAQ;EAC7C,IAAI;GACF,IAAI,KAAK,UAAU,GACjB,MAAM,IAAI,SAAS,YAAY;IAC7B,WAAW,SAAS,KAAK,OAAO;GAClC,CAAC;GAEH,SAAS,QAAQ,eAAe;GAChC,OAAO,KAAK;EACd,UAAU;GACR,KAAK,YAAY;EACnB;CACF;CACA,KAAK,WAAW;EACd,UAAU;GACR,MAAM;GACN,SAAS;GACT;GACA,UAAU;GACV,iBAAiB;GACjB,gBAAgB;GAChB,uBAAuB;GACvB,SAAS;GACT,sBAAsB;EACxB;EACA,UAAU;EACV,SAAS,EAAE,YAAY,eAAe;GACpC,KAAK,YAAY,KAAK,UAAU;GAChC,KAAK,UAAU,KAAK,YAAY,OAAO;GACvC,OAAO;IACL,YAAY,OAAO,SAAS,MAAM,YAAY;KAC5C,KAAK,UAAU,KAAK;MAAE;MAAS,SAAS,KAAK,KAAK,QAAQ,IAAI,UAAU,EAAE;KAAE,CAAC;KAC7E,OAAO,MAAM,cAAc;MACzB,MAAM,wBAAQ,IAAI,IAAwB;MAC1C,KAAK,MAAM,OAAO,MAAM;OACtB,MAAM,KAAK,IAAI,UAAU;OACzB,MAAM,QAAQ,KAAK,OAAO,IAAI,EAAE,KAAK;OACrC,MAAM,IAAI,IAAI;QACZ;QACA,MAAM,UAAU,OAAO,QAAQ,MAAM,YAAY;QACjD,SAAS,UAAU,OAAO,KAAK,UAAU;QACzC,cAAc,UAAU,OAAO,KAAK,eAAe;OACrD,CAAC;MACH;MACA,OAAO;KACT,GAAG,OAAO;IACZ;IACA,cAAc,OAAO,SAAS,SAAS,YAAY;KACjD,KAAK,YAAY,KAAK;MAAE;MAAS,SAAS,CAAC,GAAG,OAAO;KAAE,CAAC;KACxD,OAAO,MAAM,cAAc;MACzB,IAAI,KAAK,aAAa,MAAM,IAAI,MAAM,eAAe;MACrD,OAAO,IAAI,IACT,QACG,QAAQ,OAAO,CAAC,KAAK,aAAa,IAAI,EAAE,CAAC,CAAC,CAC1C,KAAK,OAAO,CAAC,IAAI,QAAQ,CAAU,CACxC;KACF,GAAG,OAAO;IACZ;GACF;EACF;CACF;CACA,OAAO;AACT"}
@@ -0,0 +1,19 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
3
+ import { SetStateInput, StateNotifierProvider } from "../adapters/notifier/provider.mjs";
4
+ import { z } from "zod";
5
+ /** A recording state provider and the writes it received. */
6
+ interface FakeStateNotifier {
7
+ provider: StateNotifierProvider;
8
+ calls: SetStateInput[];
9
+ /** Secrets `create` was bound with, in call order. */
10
+ secrets: (string | undefined)[];
11
+ }
12
+ /**
13
+ * Build a fake `state` provider of the given kind. `failWith` makes every write
14
+ * reject with that message, like a host rejecting the token; `schema` is the
15
+ * channel config schema (any object by default).
16
+ */
17
+ declare function makeFakeStateNotifier(kind?: string, failWith?: string, schema?: z.ZodType): FakeStateNotifier;
18
+ export { FakeStateNotifier, makeFakeStateNotifier };
19
+ //# sourceMappingURL=fake-notifier.d.mts.map
@@ -0,0 +1,43 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { z } from "zod";
5
+ // src/test-helpers/fake-notifier.ts
6
+ /** Fake `state` notifier (a git host stand-in) recording every state write. */
7
+ /**
8
+ * Build a fake `state` provider of the given kind. `failWith` makes every write
9
+ * reject with that message, like a host rejecting the token; `schema` is the
10
+ * channel config schema (any object by default).
11
+ */
12
+ function makeFakeStateNotifier(kind = "fake-git", failWith, schema = z.object({}).loose()) {
13
+ const calls = [];
14
+ const secrets = [];
15
+ const metadata = {
16
+ name: "Fake Git",
17
+ version: "0.0.0",
18
+ kind,
19
+ category: "notifier",
20
+ delivery: "state",
21
+ schema
22
+ };
23
+ return {
24
+ provider: {
25
+ metadata,
26
+ create: ({ secret }) => {
27
+ secrets.push(secret);
28
+ return {
29
+ metadata,
30
+ async setState(input) {
31
+ calls.push(input);
32
+ if (failWith !== void 0) throw new Error(failWith);
33
+ }
34
+ };
35
+ }
36
+ },
37
+ calls,
38
+ secrets
39
+ };
40
+ }
41
+ export { makeFakeStateNotifier };
42
+
43
+ //# sourceMappingURL=fake-notifier.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake-notifier.mjs","names":[],"sources":["../../src/test-helpers/fake-notifier.ts"],"sourcesContent":["/** Fake `state` notifier (a git host stand-in) recording every state write. */\nimport { z } from \"zod\";\nimport type {\n SetStateInput,\n StateNotifierMetadata,\n StateNotifierProvider,\n} from \"../adapters/notifier/provider.ts\";\n\n/** A recording state provider and the writes it received. */\nexport interface FakeStateNotifier {\n provider: StateNotifierProvider;\n calls: SetStateInput[];\n /** Secrets `create` was bound with, in call order. */\n secrets: (string | undefined)[];\n}\n\n/**\n * Build a fake `state` provider of the given kind. `failWith` makes every write\n * reject with that message, like a host rejecting the token; `schema` is the\n * channel config schema (any object by default).\n */\nexport function makeFakeStateNotifier(\n kind = \"fake-git\",\n failWith?: string,\n schema: z.ZodType = z.object({}).loose(),\n): FakeStateNotifier {\n const calls: SetStateInput[] = [];\n const secrets: (string | undefined)[] = [];\n const metadata: StateNotifierMetadata = {\n name: \"Fake Git\",\n version: \"0.0.0\",\n kind,\n category: \"notifier\",\n delivery: \"state\",\n schema,\n };\n const provider: StateNotifierProvider = {\n metadata,\n create: ({ secret }) => {\n secrets.push(secret);\n return {\n metadata,\n // oxlint-disable-next-line eslint/require-await -- setState is async by contract\n async setState(input: SetStateInput): Promise<void> {\n calls.push(input);\n if (failWith !== undefined) {\n throw new Error(failWith);\n }\n },\n };\n },\n };\n return { provider, calls, secrets };\n}\n"],"mappings":";;;;;;;;;;;AAqBA,SAAgB,sBACd,OAAO,YACP,UACA,SAAoB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GACpB;CACnB,MAAM,QAAyB,CAAC;CAChC,MAAM,UAAkC,CAAC;CACzC,MAAM,WAAkC;EACtC,MAAM;EACN,SAAS;EACT;EACA,UAAU;EACV,UAAU;EACV;CACF;CAiBA,OAAO;EAAE,UAAA;GAfP;GACA,SAAS,EAAE,aAAa;IACtB,QAAQ,KAAK,MAAM;IACnB,OAAO;KACL;KAEA,MAAM,SAAS,OAAqC;MAClD,MAAM,KAAK,KAAK;MAChB,IAAI,aAAa,KAAA,GACf,MAAM,IAAI,MAAM,QAAQ;KAE5B;IACF;GACF;EAEc;EAAG;EAAO;CAAQ;AACpC"}
@@ -1,7 +1,6 @@
1
1
  import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
3
  import { StorageAdapter } from "../adapter/storage.mjs";
4
- //#region src/test-helpers/fake-storage.d.ts
5
4
  /** Storage and database doubles used by the capture pipeline tests. */
6
5
  interface FakeStorage {
7
6
  storage: StorageAdapter;
@@ -9,6 +8,5 @@ interface FakeStorage {
9
8
  }
10
9
  /** Create an in-memory storage adapter for capture pipeline tests. */
11
10
  declare function makeStorage(): FakeStorage;
12
- //#endregion
13
11
  export { FakeStorage, makeStorage };
14
12
  //# sourceMappingURL=fake-storage.d.mts.map
@@ -2,7 +2,7 @@ import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
4
  import { Readable } from "node:stream";
5
- //#region src/test-helpers/fake-storage.ts
5
+ // src/test-helpers/fake-storage.ts
6
6
  /** Create an in-memory storage adapter for capture pipeline tests. */
7
7
  function makeStorage() {
8
8
  const objects = /* @__PURE__ */ new Map();
@@ -43,7 +43,6 @@ function makeStorage() {
43
43
  objects
44
44
  };
45
45
  }
46
- //#endregion
47
46
  export { makeStorage };
48
47
 
49
48
  //# sourceMappingURL=fake-storage.mjs.map
@@ -2,7 +2,7 @@ import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
4
  import { Column, Table } from "drizzle-orm";
5
- //#region src/test-helpers/fake-tables.ts
5
+ // src/test-helpers/fake-tables.ts
6
6
  /**
7
7
  * Dialect-free stub tables for the in-memory test fake.
8
8
  *
@@ -43,74 +43,185 @@ function defineTable(name, columns) {
43
43
  table[columnsSymbol] = handles;
44
44
  return table;
45
45
  }
46
+ const projects = defineTable("projects", {
47
+ id: "id",
48
+ name: "name",
49
+ slug: "slug",
50
+ gitRepository: "git_repository",
51
+ gitDefaultBranch: "git_default_branch",
52
+ pixelThreshold: "pixel_threshold",
53
+ maxDiffRatio: "max_diff_ratio",
54
+ publicBranchRegex: "public_branch_regex",
55
+ storybookMeta: "storybook_meta",
56
+ executePlay: "execute_play",
57
+ playTimeoutMs: "play_timeout_ms",
58
+ runA11y: "run_a11y",
59
+ runTests: "run_tests",
60
+ browser: "browser",
61
+ viewports: "viewports",
62
+ browsers: "browsers",
63
+ modesAllowlist: "modes_allowlist",
64
+ automigrate: "automigrate",
65
+ aiProfile: "ai_profile",
66
+ reviewEnabled: "review_enabled",
67
+ reviewApprovals: "review_approvals",
68
+ storybookUrlTtlSeconds: "storybook_url_ttl_seconds",
69
+ createdAt: "created_at",
70
+ updatedAt: "updated_at"
71
+ });
72
+ const designLinks = defineTable("design_links", {
73
+ id: "id",
74
+ projectId: "project_id",
75
+ importPath: "import_path",
76
+ label: "label",
77
+ url: "url",
78
+ createdAt: "created_at",
79
+ updatedAt: "updated_at"
80
+ });
81
+ const designCredentials = defineTable("design_credentials", {
82
+ id: "id",
83
+ projectId: "project_id",
84
+ provider: "provider",
85
+ tokenEncrypted: "token_encrypted",
86
+ status: "status",
87
+ checkedAt: "checked_at",
88
+ createdAt: "created_at",
89
+ updatedAt: "updated_at"
90
+ });
91
+ const userConnections = defineTable("user_connections", {
92
+ id: "id",
93
+ userId: "user_id",
94
+ service: "service",
95
+ tokenEncrypted: "token_encrypted",
96
+ refreshTokenEncrypted: "refresh_token_encrypted",
97
+ expiresAt: "expires_at",
98
+ status: "status",
99
+ createdAt: "created_at",
100
+ updatedAt: "updated_at"
101
+ });
102
+ const designNodes = defineTable("design_nodes", {
103
+ id: "id",
104
+ projectId: "project_id",
105
+ provider: "provider",
106
+ viewerId: "viewer_id",
107
+ fileKey: "file_key",
108
+ nodeId: "node_id",
109
+ name: "name",
110
+ version: "version",
111
+ lastModified: "last_modified",
112
+ state: "state",
113
+ renderPath: "render_path",
114
+ renderVersion: "render_version",
115
+ fetchedAt: "fetched_at",
116
+ createdAt: "created_at",
117
+ updatedAt: "updated_at"
118
+ });
119
+ const builds = defineTable("builds", {
120
+ id: "id",
121
+ projectId: "project_id",
122
+ gitSha: "git_sha",
123
+ gitBranch: "git_branch",
124
+ isDefault: "is_default",
125
+ authorEmail: "author_email",
126
+ authorName: "author_name",
127
+ message: "message",
128
+ public: "public",
129
+ status: "status",
130
+ snapshotCount: "snapshot_count",
131
+ changedCount: "changed_count",
132
+ approvedCount: "approved_count",
133
+ rejectedCount: "rejected_count",
134
+ inheritedCount: "inherited_count",
135
+ affectedOnly: "affected_only",
136
+ baselineSha: "baseline_sha",
137
+ changedFiles: "changed_files",
138
+ affectedImportPaths: "affected_import_paths",
139
+ testResults: "test_results",
140
+ createdAt: "created_at",
141
+ updatedAt: "updated_at"
142
+ });
143
+ const captureAttempts = defineTable("capture_attempts", {
144
+ id: "id",
145
+ projectId: "project_id",
146
+ buildId: "build_id",
147
+ attemptNo: "attempt_no",
148
+ status: "status",
149
+ error: "error",
150
+ reqId: "req_id",
151
+ storyCount: "story_count",
152
+ failedCount: "failed_count",
153
+ queuedAt: "queued_at",
154
+ startedAt: "started_at",
155
+ finishedAt: "finished_at",
156
+ createdAt: "created_at",
157
+ updatedAt: "updated_at"
158
+ });
159
+ const captureShards = defineTable("capture_shards", {
160
+ id: "id",
161
+ projectId: "project_id",
162
+ buildId: "build_id",
163
+ kind: "kind",
164
+ ordinal: "ordinal",
165
+ status: "status",
166
+ attemptId: "attempt_id",
167
+ payload: "payload",
168
+ result: "result",
169
+ error: "error",
170
+ startedAt: "started_at",
171
+ finishedAt: "finished_at",
172
+ createdAt: "created_at",
173
+ updatedAt: "updated_at"
174
+ });
175
+ const captureJobs = defineTable("capture_jobs", {
176
+ id: "id",
177
+ entry: "entry",
178
+ jobId: "job_id",
179
+ kind: "kind",
180
+ buildId: "build_id",
181
+ shardId: "shard_id",
182
+ attempt: "attempt",
183
+ maxAttempts: "max_attempts",
184
+ status: "status",
185
+ visibleAt: "visible_at",
186
+ owner: "owner",
187
+ payload: "payload",
188
+ cancelRequestedAt: "cancel_requested_at",
189
+ error: "error",
190
+ startedAt: "started_at",
191
+ finishedAt: "finished_at",
192
+ createdAt: "created_at",
193
+ updatedAt: "updated_at"
194
+ });
195
+ const buildComponents = defineTable("build_components", {
196
+ id: "id",
197
+ projectId: "project_id",
198
+ buildId: "build_id",
199
+ importPath: "import_path",
200
+ title: "title",
201
+ storyCount: "story_count",
202
+ hash: "hash",
203
+ createdAt: "created_at"
204
+ });
205
+ const buildReviews = defineTable("build_reviews", {
206
+ id: "id",
207
+ buildId: "build_id",
208
+ userId: "user_id",
209
+ verdict: "verdict",
210
+ body: "body",
211
+ createdAt: "created_at"
212
+ });
213
+ const siteSettings = defineTable("site_settings", {
214
+ id: "id",
215
+ value: "value",
216
+ updatedBy: "updated_by",
217
+ createdAt: "created_at",
218
+ updatedAt: "updated_at"
219
+ });
46
220
  /** Stub schema bundled into the `Tables` map every fake serves. */
47
221
  const fakeSchema = {
48
- projects: defineTable("projects", {
49
- id: "id",
50
- name: "name",
51
- slug: "slug",
52
- gitRepository: "git_repository",
53
- gitDefaultBranch: "git_default_branch",
54
- pixelThreshold: "pixel_threshold",
55
- maxDiffRatio: "max_diff_ratio",
56
- publicBranchRegex: "public_branch_regex",
57
- storybookMeta: "storybook_meta",
58
- executePlay: "execute_play",
59
- playTimeoutMs: "play_timeout_ms",
60
- runA11y: "run_a11y",
61
- browser: "browser",
62
- viewports: "viewports",
63
- automigrate: "automigrate",
64
- createdAt: "created_at",
65
- updatedAt: "updated_at"
66
- }),
67
- projectStatusConfigs: defineTable("project_status_configs", {
68
- id: "id",
69
- projectId: "project_id",
70
- provider: "provider",
71
- config: "config",
72
- tokenEncrypted: "token_encrypted",
73
- createdAt: "created_at",
74
- updatedAt: "updated_at"
75
- }),
76
- builds: defineTable("builds", {
77
- id: "id",
78
- projectId: "project_id",
79
- gitSha: "git_sha",
80
- gitBranch: "git_branch",
81
- isDefault: "is_default",
82
- authorEmail: "author_email",
83
- authorName: "author_name",
84
- message: "message",
85
- public: "public",
86
- status: "status",
87
- snapshotCount: "snapshot_count",
88
- changedCount: "changed_count",
89
- approvedCount: "approved_count",
90
- rejectedCount: "rejected_count",
91
- affectedOnly: "affected_only",
92
- baselineSha: "baseline_sha",
93
- changedFiles: "changed_files",
94
- affectedImportPaths: "affected_import_paths",
95
- createdAt: "created_at",
96
- updatedAt: "updated_at"
97
- }),
98
- captureAttempts: defineTable("capture_attempts", {
99
- id: "id",
100
- projectId: "project_id",
101
- buildId: "build_id",
102
- attemptNo: "attempt_no",
103
- status: "status",
104
- error: "error",
105
- reqId: "req_id",
106
- storyCount: "story_count",
107
- failedCount: "failed_count",
108
- queuedAt: "queued_at",
109
- startedAt: "started_at",
110
- finishedAt: "finished_at",
111
- createdAt: "created_at",
112
- updatedAt: "updated_at"
113
- }),
222
+ projects,
223
+ builds,
224
+ captureAttempts,
114
225
  captureLogs: defineTable("capture_logs", {
115
226
  id: "id",
116
227
  projectId: "project_id",
@@ -122,7 +233,14 @@ const fakeSchema = {
122
233
  fields: "fields",
123
234
  createdAt: "created_at"
124
235
  }),
236
+ captureShards,
237
+ captureJobs,
238
+ buildComponents,
239
+ buildReviews,
240
+ siteSettings,
125
241
  snapshots: defineTable("snapshots", {
242
+ durationMs: "duration_ms",
243
+ a11yViolations: "a11y_violations",
126
244
  id: "id",
127
245
  projectId: "project_id",
128
246
  buildId: "build_id",
@@ -141,10 +259,17 @@ const fakeSchema = {
141
259
  status: "status",
142
260
  reviewedBy: "reviewed_by",
143
261
  reviewedAt: "reviewed_at",
262
+ designUrl: "design_url",
144
263
  infraHash: "infra_hash",
264
+ envChange: "env_change",
145
265
  inherited: "inherited",
146
266
  baselineId: "baseline_id",
147
267
  baselineVersion: "baseline_version",
268
+ sourceBuildId: "source_build_id",
269
+ comparisonImagePath: "comparison_image_path",
270
+ comparisonMetadata: "comparison_metadata",
271
+ mode: "mode",
272
+ browser: "browser",
148
273
  createdAt: "created_at",
149
274
  updatedAt: "updated_at"
150
275
  }),
@@ -155,8 +280,12 @@ const fakeSchema = {
155
280
  viewportName: "viewport_name",
156
281
  branch: "branch",
157
282
  snapshotId: "snapshot_id",
283
+ sourceBuildId: "source_build_id",
158
284
  screenshotPath: "screenshot_path",
159
285
  infraHash: "infra_hash",
286
+ fingerprint: "fingerprint",
287
+ mode: "mode",
288
+ browser: "browser",
160
289
  createdAt: "created_at",
161
290
  updatedAt: "updated_at"
162
291
  }),
@@ -170,7 +299,8 @@ const fakeSchema = {
170
299
  parentId: "parent_id",
171
300
  resolved: "resolved",
172
301
  createdAt: "created_at",
173
- updatedAt: "updated_at"
302
+ updatedAt: "updated_at",
303
+ storyId: "story_id"
174
304
  }),
175
305
  labelTypes: defineTable("label_types", {
176
306
  id: "id",
@@ -189,6 +319,27 @@ const fakeSchema = {
189
319
  value: "value",
190
320
  createdAt: "created_at"
191
321
  }),
322
+ projectLinks: defineTable("project_links", {
323
+ id: "id",
324
+ downstreamId: "downstream_id",
325
+ upstreamId: "upstream_id",
326
+ packageName: "package_name",
327
+ createdAt: "created_at"
328
+ }),
329
+ designLinks,
330
+ designCredentials,
331
+ userConnections,
332
+ designNodes,
333
+ buildPackageUsage: defineTable("build_package_usage", {
334
+ id: "id",
335
+ projectId: "project_id",
336
+ buildId: "build_id",
337
+ storyImportPath: "story_import_path",
338
+ packageName: "package_name",
339
+ modulePath: "module_path",
340
+ version: "version",
341
+ createdAt: "created_at"
342
+ }),
192
343
  tokens: defineTable("tokens", {
193
344
  id: "id",
194
345
  projectId: "project_id",
@@ -243,6 +394,45 @@ const fakeSchema = {
243
394
  role: "role",
244
395
  createdAt: "created_at"
245
396
  }),
397
+ insights: defineTable("insights", {
398
+ id: "id",
399
+ projectId: "project_id",
400
+ buildId: "build_id",
401
+ kind: "kind",
402
+ windowKey: "window_key",
403
+ inputHash: "input_hash",
404
+ status: "status",
405
+ profile: "profile",
406
+ model: "model",
407
+ promptVersion: "prompt_version",
408
+ verdict: "verdict",
409
+ summary: "summary",
410
+ result: "result",
411
+ errorCode: "error_code",
412
+ createdAt: "created_at",
413
+ startedAt: "started_at",
414
+ finishedAt: "finished_at"
415
+ }),
416
+ aiUsage: defineTable("ai_usage", {
417
+ id: "id",
418
+ insightId: "insight_id",
419
+ projectId: "project_id",
420
+ profile: "profile",
421
+ task: "task",
422
+ model: "model",
423
+ inputTokens: "input_tokens",
424
+ outputTokens: "output_tokens",
425
+ estimated: "estimated",
426
+ images: "images",
427
+ status: "status",
428
+ createdAt: "created_at"
429
+ }),
430
+ aiBudgetAlerts: defineTable("ai_budget_alerts", {
431
+ id: "id",
432
+ day: "day",
433
+ threshold: "threshold",
434
+ createdAt: "created_at"
435
+ }),
246
436
  notificationChannels: defineTable("notification_channels", {
247
437
  id: "id",
248
438
  projectId: "project_id",
@@ -251,6 +441,8 @@ const fakeSchema = {
251
441
  secretEncrypted: "secret_encrypted",
252
442
  events: "events",
253
443
  enabled: "enabled",
444
+ lastError: "last_error",
445
+ lastErrorAt: "last_error_at",
254
446
  createdAt: "created_at",
255
447
  updatedAt: "updated_at"
256
448
  }),
@@ -270,7 +462,6 @@ const fakeSchema = {
270
462
  createdAt: "created_at"
271
463
  })
272
464
  };
273
- //#endregion
274
465
  export { fakeSchema };
275
466
 
276
467
  //# sourceMappingURL=fake-tables.mjs.map