@jitsusama/agentic-harness.core 0.1.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 (974) hide show
  1. package/README.md +52 -0
  2. package/dist/advisor/charter.d.ts +14 -0
  3. package/dist/advisor/charter.js +48 -0
  4. package/dist/advisor/findings.d.ts +43 -0
  5. package/dist/advisor/findings.js +82 -0
  6. package/dist/advisor/index.d.ts +24 -0
  7. package/dist/advisor/index.js +23 -0
  8. package/dist/advisor/settings.d.ts +16 -0
  9. package/dist/advisor/settings.js +30 -0
  10. package/dist/advisor/substantive.d.ts +14 -0
  11. package/dist/advisor/substantive.js +33 -0
  12. package/dist/advisor/tools.d.ts +38 -0
  13. package/dist/advisor/tools.js +202 -0
  14. package/dist/attribution/commit-hook.d.ts +53 -0
  15. package/dist/attribution/commit-hook.js +133 -0
  16. package/dist/attribution/gh-footer.d.ts +27 -0
  17. package/dist/attribution/gh-footer.js +80 -0
  18. package/dist/attribution/index.d.ts +11 -0
  19. package/dist/attribution/index.js +11 -0
  20. package/dist/attribution/model-name.d.ts +11 -0
  21. package/dist/attribution/model-name.js +26 -0
  22. package/dist/bin/attribution.d.ts +36 -0
  23. package/dist/bin/attribution.js +82 -0
  24. package/dist/bin/cli.d.ts +14 -0
  25. package/dist/bin/cli.js +236 -0
  26. package/dist/bin/gate-deps.d.ts +23 -0
  27. package/dist/bin/gate-deps.js +61 -0
  28. package/dist/bin/guardians.d.ts +51 -0
  29. package/dist/bin/guardians.js +174 -0
  30. package/dist/bin/memory.d.ts +16 -0
  31. package/dist/bin/memory.js +81 -0
  32. package/dist/bin/notes.d.ts +30 -0
  33. package/dist/bin/notes.js +67 -0
  34. package/dist/bin/process-exec.d.ts +14 -0
  35. package/dist/bin/process-exec.js +31 -0
  36. package/dist/bin/quest.d.ts +38 -0
  37. package/dist/bin/quest.js +187 -0
  38. package/dist/bin/slack-auth.d.ts +49 -0
  39. package/dist/bin/slack-auth.js +107 -0
  40. package/dist/clock/index.d.ts +46 -0
  41. package/dist/clock/index.js +72 -0
  42. package/dist/command/cwd.d.ts +21 -0
  43. package/dist/command/cwd.js +60 -0
  44. package/dist/command/edit.d.ts +14 -0
  45. package/dist/command/edit.js +22 -0
  46. package/dist/command/flags.d.ts +29 -0
  47. package/dist/command/flags.js +111 -0
  48. package/dist/command/index.d.ts +16 -0
  49. package/dist/command/index.js +12 -0
  50. package/dist/command/tokenize.d.ts +7 -0
  51. package/dist/command/tokenize.js +315 -0
  52. package/dist/command/types.d.ts +66 -0
  53. package/dist/command/types.js +9 -0
  54. package/dist/completion/index.d.ts +17 -0
  55. package/dist/completion/index.js +16 -0
  56. package/dist/completion/investigate.d.ts +63 -0
  57. package/dist/completion/investigate.js +198 -0
  58. package/dist/completion/resolve.d.ts +29 -0
  59. package/dist/completion/resolve.js +42 -0
  60. package/dist/completion/side.d.ts +51 -0
  61. package/dist/completion/side.js +93 -0
  62. package/dist/completion/types.d.ts +84 -0
  63. package/dist/completion/types.js +14 -0
  64. package/dist/exec/exec.d.ts +38 -0
  65. package/dist/exec/exec.js +51 -0
  66. package/dist/exec/index.d.ts +8 -0
  67. package/dist/exec/index.js +8 -0
  68. package/dist/gate/decision.d.ts +52 -0
  69. package/dist/gate/decision.js +68 -0
  70. package/dist/gate/deps.d.ts +14 -0
  71. package/dist/gate/deps.js +1 -0
  72. package/dist/gate/index.d.ts +2 -0
  73. package/dist/gate/index.js +1 -0
  74. package/dist/git-cli/index.d.ts +47 -0
  75. package/dist/git-cli/index.js +127 -0
  76. package/dist/github-cli/command-spec.d.ts +14 -0
  77. package/dist/github-cli/command-spec.js +18 -0
  78. package/dist/github-cli/index.d.ts +71 -0
  79. package/dist/github-cli/index.js +188 -0
  80. package/dist/google/apis/calendar.d.ts +64 -0
  81. package/dist/google/apis/calendar.js +297 -0
  82. package/dist/google/apis/docs.d.ts +29 -0
  83. package/dist/google/apis/docs.js +154 -0
  84. package/dist/google/apis/drive.d.ts +46 -0
  85. package/dist/google/apis/drive.js +189 -0
  86. package/dist/google/apis/gmail.d.ts +67 -0
  87. package/dist/google/apis/gmail.js +374 -0
  88. package/dist/google/apis/index.d.ts +10 -0
  89. package/dist/google/apis/index.js +10 -0
  90. package/dist/google/apis/sheets.d.ts +16 -0
  91. package/dist/google/apis/sheets.js +54 -0
  92. package/dist/google/apis/slides.d.ts +16 -0
  93. package/dist/google/apis/slides.js +40 -0
  94. package/dist/google/auth/browser.d.ts +5 -0
  95. package/dist/google/auth/browser.js +27 -0
  96. package/dist/google/auth/credentials.d.ts +26 -0
  97. package/dist/google/auth/credentials.js +69 -0
  98. package/dist/google/auth/errors.d.ts +15 -0
  99. package/dist/google/auth/errors.js +26 -0
  100. package/dist/google/auth/index.d.ts +12 -0
  101. package/dist/google/auth/index.js +12 -0
  102. package/dist/google/auth/oauth-app.d.ts +15 -0
  103. package/dist/google/auth/oauth-app.js +20 -0
  104. package/dist/google/auth/oauth.d.ts +46 -0
  105. package/dist/google/auth/oauth.js +146 -0
  106. package/dist/google/auth/server.d.ts +13 -0
  107. package/dist/google/auth/server.js +70 -0
  108. package/dist/google/auth/setup-instructions.d.ts +16 -0
  109. package/dist/google/auth/setup-instructions.js +24 -0
  110. package/dist/google/auth/store.d.ts +19 -0
  111. package/dist/google/auth/store.js +27 -0
  112. package/dist/google/index.d.ts +13 -0
  113. package/dist/google/index.js +12 -0
  114. package/dist/google/paths.d.ts +17 -0
  115. package/dist/google/paths.js +28 -0
  116. package/dist/google/renderers/calendar.d.ts +23 -0
  117. package/dist/google/renderers/calendar.js +312 -0
  118. package/dist/google/renderers/drive.d.ts +31 -0
  119. package/dist/google/renderers/drive.js +214 -0
  120. package/dist/google/renderers/email.d.ts +16 -0
  121. package/dist/google/renderers/email.js +130 -0
  122. package/dist/google/renderers/index.d.ts +8 -0
  123. package/dist/google/renderers/index.js +8 -0
  124. package/dist/google/types.d.ts +143 -0
  125. package/dist/google/types.js +27 -0
  126. package/dist/governance/distill.d.ts +31 -0
  127. package/dist/governance/distill.js +78 -0
  128. package/dist/governance/index.d.ts +11 -0
  129. package/dist/governance/index.js +10 -0
  130. package/dist/governance/render.d.ts +13 -0
  131. package/dist/governance/render.js +23 -0
  132. package/dist/governance/store.d.ts +32 -0
  133. package/dist/governance/store.js +102 -0
  134. package/dist/governance/types.d.ts +19 -0
  135. package/dist/governance/types.js +9 -0
  136. package/dist/guardian/index.d.ts +7 -0
  137. package/dist/guardian/index.js +7 -0
  138. package/dist/guardian/types.d.ts +37 -0
  139. package/dist/guardian/types.js +12 -0
  140. package/dist/internal/github/cli.d.ts +40 -0
  141. package/dist/internal/github/cli.js +102 -0
  142. package/dist/internal/guardian/commit-file.d.ts +7 -0
  143. package/dist/internal/guardian/commit-file.js +36 -0
  144. package/dist/internal/guardian/commit-format.d.ts +35 -0
  145. package/dist/internal/guardian/commit-format.js +63 -0
  146. package/dist/internal/guardian/commit-shell.d.ts +38 -0
  147. package/dist/internal/guardian/commit-shell.js +134 -0
  148. package/dist/internal/guardian/history-gate.d.ts +41 -0
  149. package/dist/internal/guardian/history-gate.js +76 -0
  150. package/dist/internal/guardian/prose-gate.d.ts +31 -0
  151. package/dist/internal/guardian/prose-gate.js +50 -0
  152. package/dist/internal/guardian/redirect-gate.d.ts +41 -0
  153. package/dist/internal/guardian/redirect-gate.js +114 -0
  154. package/dist/internal/guardian/section-gate.d.ts +20 -0
  155. package/dist/internal/guardian/section-gate.js +36 -0
  156. package/dist/internal/guardian/title-gate.d.ts +20 -0
  157. package/dist/internal/guardian/title-gate.js +36 -0
  158. package/dist/internal/json-array.d.ts +11 -0
  159. package/dist/internal/json-array.js +40 -0
  160. package/dist/internal/lsp/registry.d.ts +12 -0
  161. package/dist/internal/lsp/registry.js +16 -0
  162. package/dist/internal/notes/discovery.d.ts +59 -0
  163. package/dist/internal/notes/discovery.js +91 -0
  164. package/dist/internal/notes/frontmatter.d.ts +52 -0
  165. package/dist/internal/notes/frontmatter.js +163 -0
  166. package/dist/internal/notes/id.d.ts +42 -0
  167. package/dist/internal/notes/id.js +80 -0
  168. package/dist/internal/notes/io.d.ts +25 -0
  169. package/dist/internal/notes/io.js +51 -0
  170. package/dist/internal/notes/sanitize.d.ts +19 -0
  171. package/dist/internal/notes/sanitize.js +35 -0
  172. package/dist/internal/process-global.d.ts +20 -0
  173. package/dist/internal/process-global.js +28 -0
  174. package/dist/internal/quest/alias-index.d.ts +61 -0
  175. package/dist/internal/quest/alias-index.js +69 -0
  176. package/dist/internal/quest/append-journey.d.ts +22 -0
  177. package/dist/internal/quest/append-journey.js +63 -0
  178. package/dist/internal/quest/bash-write.d.ts +49 -0
  179. package/dist/internal/quest/bash-write.js +208 -0
  180. package/dist/internal/quest/dates.d.ts +14 -0
  181. package/dist/internal/quest/dates.js +20 -0
  182. package/dist/internal/quest/discovery.d.ts +96 -0
  183. package/dist/internal/quest/discovery.js +354 -0
  184. package/dist/internal/quest/fields.d.ts +37 -0
  185. package/dist/internal/quest/fields.js +94 -0
  186. package/dist/internal/quest/frontmatter.d.ts +88 -0
  187. package/dist/internal/quest/frontmatter.js +630 -0
  188. package/dist/internal/quest/git-signals.d.ts +53 -0
  189. package/dist/internal/quest/git-signals.js +192 -0
  190. package/dist/internal/quest/id.d.ts +50 -0
  191. package/dist/internal/quest/id.js +116 -0
  192. package/dist/internal/quest/io.d.ts +54 -0
  193. package/dist/internal/quest/io.js +233 -0
  194. package/dist/internal/quest/mentions.d.ts +45 -0
  195. package/dist/internal/quest/mentions.js +70 -0
  196. package/dist/internal/quest/mutate.d.ts +38 -0
  197. package/dist/internal/quest/mutate.js +83 -0
  198. package/dist/internal/quest/process-liveness.d.ts +98 -0
  199. package/dist/internal/quest/process-liveness.js +216 -0
  200. package/dist/internal/quest/quest-doc.d.ts +116 -0
  201. package/dist/internal/quest/quest-doc.js +239 -0
  202. package/dist/internal/quest/ranking.d.ts +48 -0
  203. package/dist/internal/quest/ranking.js +114 -0
  204. package/dist/internal/quest/reopen.d.ts +65 -0
  205. package/dist/internal/quest/reopen.js +113 -0
  206. package/dist/internal/quest/resolve-cwd.d.ts +32 -0
  207. package/dist/internal/quest/resolve-cwd.js +89 -0
  208. package/dist/internal/quest/sanitize.d.ts +42 -0
  209. package/dist/internal/quest/sanitize.js +69 -0
  210. package/dist/internal/quest/scaffold.d.ts +59 -0
  211. package/dist/internal/quest/scaffold.js +169 -0
  212. package/dist/internal/quest/scratch.d.ts +27 -0
  213. package/dist/internal/quest/scratch.js +106 -0
  214. package/dist/internal/quest/session-liveness.d.ts +125 -0
  215. package/dist/internal/quest/session-liveness.js +386 -0
  216. package/dist/internal/quest/session-ownership.d.ts +22 -0
  217. package/dist/internal/quest/session-ownership.js +100 -0
  218. package/dist/internal/quest/session-registry.d.ts +221 -0
  219. package/dist/internal/quest/session-registry.js +266 -0
  220. package/dist/internal/quest/status.d.ts +10 -0
  221. package/dist/internal/quest/status.js +15 -0
  222. package/dist/internal/quest/structural-journal.d.ts +41 -0
  223. package/dist/internal/quest/structural-journal.js +67 -0
  224. package/dist/internal/quest/structural.d.ts +43 -0
  225. package/dist/internal/quest/structural.js +77 -0
  226. package/dist/internal/quest/toc.d.ts +28 -0
  227. package/dist/internal/quest/toc.js +90 -0
  228. package/dist/internal/quest/trees.d.ts +53 -0
  229. package/dist/internal/quest/trees.js +145 -0
  230. package/dist/internal/quest/url-fetchers.d.ts +50 -0
  231. package/dist/internal/quest/url-fetchers.js +97 -0
  232. package/dist/internal/quest/write-classifier.d.ts +46 -0
  233. package/dist/internal/quest/write-classifier.js +59 -0
  234. package/dist/internal/refs/builtins.d.ts +32 -0
  235. package/dist/internal/refs/builtins.js +179 -0
  236. package/dist/internal/refs/registry.d.ts +25 -0
  237. package/dist/internal/refs/registry.js +42 -0
  238. package/dist/internal/registry/global-symbol-registry.d.ts +37 -0
  239. package/dist/internal/registry/global-symbol-registry.js +55 -0
  240. package/dist/internal/review/registry.d.ts +12 -0
  241. package/dist/internal/review/registry.js +16 -0
  242. package/dist/internal/sqlite/db.d.ts +16 -0
  243. package/dist/internal/sqlite/db.js +26 -0
  244. package/dist/internal/terminal/builtins.d.ts +8 -0
  245. package/dist/internal/terminal/builtins.js +14 -0
  246. package/dist/internal/terminal/drivers/fallback.d.ts +8 -0
  247. package/dist/internal/terminal/drivers/fallback.js +31 -0
  248. package/dist/internal/terminal/drivers/shared.d.ts +39 -0
  249. package/dist/internal/terminal/drivers/shared.js +51 -0
  250. package/dist/internal/terminal/drivers/tmux.d.ts +14 -0
  251. package/dist/internal/terminal/drivers/tmux.js +88 -0
  252. package/dist/internal/terminal/drivers/wezterm.d.ts +35 -0
  253. package/dist/internal/terminal/drivers/wezterm.js +175 -0
  254. package/dist/internal/terminal/registry.d.ts +12 -0
  255. package/dist/internal/terminal/registry.js +16 -0
  256. package/dist/internal/tree/builtins.d.ts +8 -0
  257. package/dist/internal/tree/builtins.js +10 -0
  258. package/dist/internal/tree/providers/git-worktree.d.ts +20 -0
  259. package/dist/internal/tree/providers/git-worktree.js +279 -0
  260. package/dist/internal/tree/registry.d.ts +12 -0
  261. package/dist/internal/tree/registry.js +16 -0
  262. package/dist/lsp/config.d.ts +77 -0
  263. package/dist/lsp/config.js +154 -0
  264. package/dist/lsp/external.d.ts +13 -0
  265. package/dist/lsp/external.js +52 -0
  266. package/dist/lsp/format.d.ts +11 -0
  267. package/dist/lsp/format.js +54 -0
  268. package/dist/lsp/index.d.ts +17 -0
  269. package/dist/lsp/index.js +16 -0
  270. package/dist/lsp/offsets.d.ts +22 -0
  271. package/dist/lsp/offsets.js +51 -0
  272. package/dist/lsp/registry.d.ts +28 -0
  273. package/dist/lsp/registry.js +45 -0
  274. package/dist/lsp/standalone/backend.d.ts +42 -0
  275. package/dist/lsp/standalone/backend.js +150 -0
  276. package/dist/lsp/standalone/document.d.ts +45 -0
  277. package/dist/lsp/standalone/document.js +81 -0
  278. package/dist/lsp/standalone/server.d.ts +84 -0
  279. package/dist/lsp/standalone/server.js +521 -0
  280. package/dist/lsp/types.d.ts +119 -0
  281. package/dist/lsp/types.js +13 -0
  282. package/dist/memory/db.d.ts +15 -0
  283. package/dist/memory/db.js +25 -0
  284. package/dist/memory/index.d.ts +12 -0
  285. package/dist/memory/index.js +11 -0
  286. package/dist/memory/paths.d.ts +19 -0
  287. package/dist/memory/paths.js +33 -0
  288. package/dist/memory/scope.d.ts +14 -0
  289. package/dist/memory/scope.js +22 -0
  290. package/dist/memory/store.d.ts +12 -0
  291. package/dist/memory/store.js +146 -0
  292. package/dist/memory/types.d.ts +80 -0
  293. package/dist/memory/types.js +6 -0
  294. package/dist/notes/types.d.ts +50 -0
  295. package/dist/notes/types.js +23 -0
  296. package/dist/notes/verbs/create.d.ts +5 -0
  297. package/dist/notes/verbs/create.js +55 -0
  298. package/dist/notes/verbs/mutate.d.ts +8 -0
  299. package/dist/notes/verbs/mutate.js +152 -0
  300. package/dist/notes/verbs/queries.d.ts +15 -0
  301. package/dist/notes/verbs/queries.js +116 -0
  302. package/dist/notes/verbs/reindex.d.ts +12 -0
  303. package/dist/notes/verbs/reindex.js +35 -0
  304. package/dist/notes/verbs/shared.d.ts +37 -0
  305. package/dist/notes/verbs/shared.js +29 -0
  306. package/dist/observability/index.d.ts +13 -0
  307. package/dist/observability/index.js +12 -0
  308. package/dist/observability/recorder.d.ts +50 -0
  309. package/dist/observability/recorder.js +77 -0
  310. package/dist/observability/store.d.ts +22 -0
  311. package/dist/observability/store.js +213 -0
  312. package/dist/observability/types.d.ts +82 -0
  313. package/dist/observability/types.js +1 -0
  314. package/dist/process/index.d.ts +9 -0
  315. package/dist/process/index.js +9 -0
  316. package/dist/process/process.d.ts +95 -0
  317. package/dist/process/process.js +153 -0
  318. package/dist/prose/block.d.ts +9 -0
  319. package/dist/prose/block.js +43 -0
  320. package/dist/prose/detect.d.ts +50 -0
  321. package/dist/prose/detect.js +217 -0
  322. package/dist/prose/gate.d.ts +14 -0
  323. package/dist/prose/gate.js +21 -0
  324. package/dist/prose/index.d.ts +4 -0
  325. package/dist/prose/index.js +4 -0
  326. package/dist/prose/wrap.d.ts +9 -0
  327. package/dist/prose/wrap.js +47 -0
  328. package/dist/quest/actions.d.ts +20 -0
  329. package/dist/quest/actions.js +107 -0
  330. package/dist/quest/config.d.ts +79 -0
  331. package/dist/quest/config.js +83 -0
  332. package/dist/quest/index.d.ts +29 -0
  333. package/dist/quest/index.js +28 -0
  334. package/dist/quest/lifecycle.d.ts +365 -0
  335. package/dist/quest/lifecycle.js +900 -0
  336. package/dist/quest/lookup.d.ts +243 -0
  337. package/dist/quest/lookup.js +496 -0
  338. package/dist/quest/machine.d.ts +48 -0
  339. package/dist/quest/machine.js +96 -0
  340. package/dist/quest/render-rows.d.ts +166 -0
  341. package/dist/quest/render-rows.js +214 -0
  342. package/dist/quest/state.d.ts +111 -0
  343. package/dist/quest/state.js +46 -0
  344. package/dist/quest/types.d.ts +224 -0
  345. package/dist/quest/types.js +10 -0
  346. package/dist/quest/verbs/alias.d.ts +9 -0
  347. package/dist/quest/verbs/alias.js +129 -0
  348. package/dist/quest/verbs/lifecycle.d.ts +36 -0
  349. package/dist/quest/verbs/lifecycle.js +407 -0
  350. package/dist/quest/verbs/queries.d.ts +24 -0
  351. package/dist/quest/verbs/queries.js +241 -0
  352. package/dist/quest/verbs/reorder.d.ts +15 -0
  353. package/dist/quest/verbs/reorder.js +85 -0
  354. package/dist/quest/verbs/shared.d.ts +63 -0
  355. package/dist/quest/verbs/shared.js +35 -0
  356. package/dist/quest/verbs/stage.d.ts +39 -0
  357. package/dist/quest/verbs/stage.js +506 -0
  358. package/dist/quest/verbs/structural.d.ts +23 -0
  359. package/dist/quest/verbs/structural.js +310 -0
  360. package/dist/quest/verbs/tree-ops.d.ts +20 -0
  361. package/dist/quest/verbs/tree-ops.js +289 -0
  362. package/dist/refs/index.d.ts +13 -0
  363. package/dist/refs/index.js +12 -0
  364. package/dist/refs/lookup.d.ts +53 -0
  365. package/dist/refs/lookup.js +102 -0
  366. package/dist/refs/register.d.ts +34 -0
  367. package/dist/refs/register.js +44 -0
  368. package/dist/refs/types.d.ts +81 -0
  369. package/dist/refs/types.js +17 -0
  370. package/dist/remote/index.d.ts +9 -0
  371. package/dist/remote/index.js +9 -0
  372. package/dist/remote/name.d.ts +22 -0
  373. package/dist/remote/name.js +30 -0
  374. package/dist/result/cite.d.ts +84 -0
  375. package/dist/result/cite.js +127 -0
  376. package/dist/result/counts.d.ts +15 -0
  377. package/dist/result/counts.js +17 -0
  378. package/dist/result/details.d.ts +61 -0
  379. package/dist/result/details.js +121 -0
  380. package/dist/result/digest.d.ts +37 -0
  381. package/dist/result/digest.js +227 -0
  382. package/dist/result/follow.d.ts +29 -0
  383. package/dist/result/follow.js +37 -0
  384. package/dist/result/index.d.ts +26 -0
  385. package/dist/result/index.js +26 -0
  386. package/dist/result/listing.d.ts +62 -0
  387. package/dist/result/listing.js +72 -0
  388. package/dist/result/location.d.ts +67 -0
  389. package/dist/result/location.js +125 -0
  390. package/dist/result/query.d.ts +67 -0
  391. package/dist/result/query.js +144 -0
  392. package/dist/result/spill.d.ts +41 -0
  393. package/dist/result/spill.js +121 -0
  394. package/dist/result/store.d.ts +83 -0
  395. package/dist/result/store.js +214 -0
  396. package/dist/result/view.d.ts +31 -0
  397. package/dist/result/view.js +38 -0
  398. package/dist/review/anchor.d.ts +84 -0
  399. package/dist/review/anchor.js +89 -0
  400. package/dist/review/ask/agents.d.ts +80 -0
  401. package/dist/review/ask/agents.js +296 -0
  402. package/dist/review/ask/anchorable.d.ts +35 -0
  403. package/dist/review/ask/anchorable.js +76 -0
  404. package/dist/review/ask/answer.d.ts +54 -0
  405. package/dist/review/ask/answer.js +209 -0
  406. package/dist/review/ask/audit.d.ts +71 -0
  407. package/dist/review/ask/audit.js +158 -0
  408. package/dist/review/ask/collect.d.ts +41 -0
  409. package/dist/review/ask/collect.js +82 -0
  410. package/dist/review/ask/council.d.ts +290 -0
  411. package/dist/review/ask/council.js +386 -0
  412. package/dist/review/ask/critique.d.ts +69 -0
  413. package/dist/review/ask/critique.js +157 -0
  414. package/dist/review/ask/harvest.d.ts +119 -0
  415. package/dist/review/ask/harvest.js +409 -0
  416. package/dist/review/ask/identity.d.ts +93 -0
  417. package/dist/review/ask/identity.js +134 -0
  418. package/dist/review/ask/judge.d.ts +37 -0
  419. package/dist/review/ask/judge.js +140 -0
  420. package/dist/review/ask/persona.d.ts +84 -0
  421. package/dist/review/ask/persona.js +127 -0
  422. package/dist/review/ask/progress.d.ts +117 -0
  423. package/dist/review/ask/progress.js +137 -0
  424. package/dist/review/ask/prompt.d.ts +131 -0
  425. package/dist/review/ask/prompt.js +242 -0
  426. package/dist/review/ask/roster.d.ts +94 -0
  427. package/dist/review/ask/roster.js +338 -0
  428. package/dist/review/ask/run.d.ts +435 -0
  429. package/dist/review/ask/run.js +340 -0
  430. package/dist/review/ask/span.d.ts +70 -0
  431. package/dist/review/ask/span.js +166 -0
  432. package/dist/review/ask/stack-round.d.ts +66 -0
  433. package/dist/review/ask/stack-round.js +125 -0
  434. package/dist/review/ask/start.d.ts +48 -0
  435. package/dist/review/ask/start.js +118 -0
  436. package/dist/review/ask/store.d.ts +83 -0
  437. package/dist/review/ask/store.js +226 -0
  438. package/dist/review/ask/wire.d.ts +89 -0
  439. package/dist/review/ask/wire.js +204 -0
  440. package/dist/review/attach.d.ts +161 -0
  441. package/dist/review/attach.js +357 -0
  442. package/dist/review/authoring.d.ts +84 -0
  443. package/dist/review/authoring.js +203 -0
  444. package/dist/review/backed.d.ts +90 -0
  445. package/dist/review/backed.js +168 -0
  446. package/dist/review/bind.d.ts +75 -0
  447. package/dist/review/bind.js +223 -0
  448. package/dist/review/budget.d.ts +133 -0
  449. package/dist/review/budget.js +278 -0
  450. package/dist/review/capabilities.d.ts +217 -0
  451. package/dist/review/capabilities.js +46 -0
  452. package/dist/review/change.d.ts +155 -0
  453. package/dist/review/change.js +15 -0
  454. package/dist/review/checks.d.ts +56 -0
  455. package/dist/review/checks.js +11 -0
  456. package/dist/review/config.d.ts +71 -0
  457. package/dist/review/config.js +125 -0
  458. package/dist/review/conventions.d.ts +35 -0
  459. package/dist/review/conventions.js +58 -0
  460. package/dist/review/conversation.d.ts +98 -0
  461. package/dist/review/conversation.js +16 -0
  462. package/dist/review/decided.d.ts +58 -0
  463. package/dist/review/decided.js +67 -0
  464. package/dist/review/diff.d.ts +116 -0
  465. package/dist/review/diff.js +237 -0
  466. package/dist/review/draft/continuation.d.ts +23 -0
  467. package/dist/review/draft/continuation.js +32 -0
  468. package/dist/review/draft/fanout.d.ts +57 -0
  469. package/dist/review/draft/fanout.js +46 -0
  470. package/dist/review/draft/handle.d.ts +55 -0
  471. package/dist/review/draft/handle.js +110 -0
  472. package/dist/review/draft/plan.d.ts +112 -0
  473. package/dist/review/draft/plan.js +343 -0
  474. package/dist/review/draft/publish.d.ts +38 -0
  475. package/dist/review/draft/publish.js +118 -0
  476. package/dist/review/draft/render.d.ts +32 -0
  477. package/dist/review/draft/render.js +100 -0
  478. package/dist/review/draft/state.d.ts +98 -0
  479. package/dist/review/draft/state.js +83 -0
  480. package/dist/review/draft/store.d.ts +33 -0
  481. package/dist/review/draft/store.js +100 -0
  482. package/dist/review/elsewhere.d.ts +27 -0
  483. package/dist/review/elsewhere.js +39 -0
  484. package/dist/review/engine.d.ts +106 -0
  485. package/dist/review/engine.js +243 -0
  486. package/dist/review/events.d.ts +59 -0
  487. package/dist/review/events.js +35 -0
  488. package/dist/review/failed.d.ts +46 -0
  489. package/dist/review/failed.js +56 -0
  490. package/dist/review/finding.d.ts +81 -0
  491. package/dist/review/finding.js +85 -0
  492. package/dist/review/fix.d.ts +147 -0
  493. package/dist/review/fix.js +175 -0
  494. package/dist/review/followup.d.ts +84 -0
  495. package/dist/review/followup.js +123 -0
  496. package/dist/review/index.d.ts +134 -0
  497. package/dist/review/index.js +80 -0
  498. package/dist/review/keys.d.ts +23 -0
  499. package/dist/review/keys.js +40 -0
  500. package/dist/review/landing.d.ts +37 -0
  501. package/dist/review/landing.js +68 -0
  502. package/dist/review/lenses.d.ts +132 -0
  503. package/dist/review/lenses.js +430 -0
  504. package/dist/review/propose-from.d.ts +76 -0
  505. package/dist/review/propose-from.js +86 -0
  506. package/dist/review/provider.d.ts +306 -0
  507. package/dist/review/provider.js +16 -0
  508. package/dist/review/providers/git/index.d.ts +23 -0
  509. package/dist/review/providers/git/index.js +214 -0
  510. package/dist/review/providers/github/authoring.d.ts +22 -0
  511. package/dist/review/providers/github/authoring.js +350 -0
  512. package/dist/review/providers/github/claims.d.ts +49 -0
  513. package/dist/review/providers/github/claims.js +136 -0
  514. package/dist/review/providers/github/conversation.d.ts +18 -0
  515. package/dist/review/providers/github/conversation.js +455 -0
  516. package/dist/review/providers/github/fields.d.ts +30 -0
  517. package/dist/review/providers/github/fields.js +47 -0
  518. package/dist/review/providers/github/index.d.ts +15 -0
  519. package/dist/review/providers/github/index.js +110 -0
  520. package/dist/review/providers/github/proposals.d.ts +14 -0
  521. package/dist/review/providers/github/proposals.js +298 -0
  522. package/dist/review/providers/github/queue.d.ts +46 -0
  523. package/dist/review/providers/github/queue.js +122 -0
  524. package/dist/review/providers/github/stacking.d.ts +20 -0
  525. package/dist/review/providers/github/stacking.js +107 -0
  526. package/dist/review/queue.d.ts +43 -0
  527. package/dist/review/queue.js +56 -0
  528. package/dist/review/reactable.d.ts +93 -0
  529. package/dist/review/reactable.js +140 -0
  530. package/dist/review/register.d.ts +52 -0
  531. package/dist/review/register.js +53 -0
  532. package/dist/review/resolve.d.ts +58 -0
  533. package/dist/review/resolve.js +150 -0
  534. package/dist/review/retarget.d.ts +73 -0
  535. package/dist/review/retarget.js +82 -0
  536. package/dist/review/revisited.d.ts +77 -0
  537. package/dist/review/revisited.js +121 -0
  538. package/dist/review/stack.d.ts +110 -0
  539. package/dist/review/stack.js +52 -0
  540. package/dist/sections/block.d.ts +9 -0
  541. package/dist/sections/block.js +42 -0
  542. package/dist/sections/detect.d.ts +31 -0
  543. package/dist/sections/detect.js +67 -0
  544. package/dist/sections/gate.d.ts +21 -0
  545. package/dist/sections/gate.js +22 -0
  546. package/dist/sections/index.d.ts +5 -0
  547. package/dist/sections/index.js +5 -0
  548. package/dist/sections/sanctioned.d.ts +13 -0
  549. package/dist/sections/sanctioned.js +21 -0
  550. package/dist/shell/index.d.ts +8 -0
  551. package/dist/shell/index.js +8 -0
  552. package/dist/shell/parse.d.ts +125 -0
  553. package/dist/shell/parse.js +298 -0
  554. package/dist/slack/api/channels.d.ts +12 -0
  555. package/dist/slack/api/channels.js +28 -0
  556. package/dist/slack/api/client.d.ts +94 -0
  557. package/dist/slack/api/client.js +272 -0
  558. package/dist/slack/api/files.d.ts +95 -0
  559. package/dist/slack/api/files.js +223 -0
  560. package/dist/slack/api/index.d.ts +11 -0
  561. package/dist/slack/api/index.js +11 -0
  562. package/dist/slack/api/messages.d.ts +98 -0
  563. package/dist/slack/api/messages.js +292 -0
  564. package/dist/slack/api/reactions.d.ts +47 -0
  565. package/dist/slack/api/reactions.js +50 -0
  566. package/dist/slack/api/resolve-conversations.d.ts +43 -0
  567. package/dist/slack/api/resolve-conversations.js +130 -0
  568. package/dist/slack/api/resolve-messages.d.ts +29 -0
  569. package/dist/slack/api/resolve-messages.js +93 -0
  570. package/dist/slack/api/resolve-users.d.ts +27 -0
  571. package/dist/slack/api/resolve-users.js +73 -0
  572. package/dist/slack/api/search.d.ts +86 -0
  573. package/dist/slack/api/search.js +186 -0
  574. package/dist/slack/api/users.d.ts +12 -0
  575. package/dist/slack/api/users.js +33 -0
  576. package/dist/slack/auth/browser-extract.d.ts +33 -0
  577. package/dist/slack/auth/browser-extract.js +201 -0
  578. package/dist/slack/auth/browser.d.ts +5 -0
  579. package/dist/slack/auth/browser.js +25 -0
  580. package/dist/slack/auth/credentials.d.ts +14 -0
  581. package/dist/slack/auth/credentials.js +24 -0
  582. package/dist/slack/auth/errors.d.ts +9 -0
  583. package/dist/slack/auth/errors.js +19 -0
  584. package/dist/slack/auth/extract.d.ts +23 -0
  585. package/dist/slack/auth/extract.js +44 -0
  586. package/dist/slack/auth/index.d.ts +12 -0
  587. package/dist/slack/auth/index.js +11 -0
  588. package/dist/slack/auth/oauth-app.d.ts +11 -0
  589. package/dist/slack/auth/oauth-app.js +20 -0
  590. package/dist/slack/auth/oauth.d.ts +31 -0
  591. package/dist/slack/auth/oauth.js +82 -0
  592. package/dist/slack/auth/server.d.ts +14 -0
  593. package/dist/slack/auth/server.js +75 -0
  594. package/dist/slack/auth/store.d.ts +17 -0
  595. package/dist/slack/auth/store.js +27 -0
  596. package/dist/slack/block-message.d.ts +9 -0
  597. package/dist/slack/block-message.js +30 -0
  598. package/dist/slack/blocks.d.ts +94 -0
  599. package/dist/slack/blocks.js +765 -0
  600. package/dist/slack/content-gate.d.ts +12 -0
  601. package/dist/slack/content-gate.js +22 -0
  602. package/dist/slack/detect.d.ts +31 -0
  603. package/dist/slack/detect.js +125 -0
  604. package/dist/slack/index.d.ts +18 -0
  605. package/dist/slack/index.js +17 -0
  606. package/dist/slack/paths.d.ts +28 -0
  607. package/dist/slack/paths.js +46 -0
  608. package/dist/slack/renderers/channel.d.ts +6 -0
  609. package/dist/slack/renderers/channel.js +27 -0
  610. package/dist/slack/renderers/index.d.ts +9 -0
  611. package/dist/slack/renderers/index.js +9 -0
  612. package/dist/slack/renderers/message.d.ts +21 -0
  613. package/dist/slack/renderers/message.js +214 -0
  614. package/dist/slack/renderers/reactions.d.ts +8 -0
  615. package/dist/slack/renderers/reactions.js +43 -0
  616. package/dist/slack/renderers/search.d.ts +6 -0
  617. package/dist/slack/renderers/search.js +39 -0
  618. package/dist/slack/renderers/user.d.ts +6 -0
  619. package/dist/slack/renderers/user.js +32 -0
  620. package/dist/slack/resolvers/cache.d.ts +29 -0
  621. package/dist/slack/resolvers/cache.js +70 -0
  622. package/dist/slack/resolvers/conversation-cache.d.ts +42 -0
  623. package/dist/slack/resolvers/conversation-cache.js +128 -0
  624. package/dist/slack/resolvers/conversation.d.ts +44 -0
  625. package/dist/slack/resolvers/conversation.js +229 -0
  626. package/dist/slack/resolvers/index.d.ts +8 -0
  627. package/dist/slack/resolvers/index.js +8 -0
  628. package/dist/slack/resolvers/target.d.ts +19 -0
  629. package/dist/slack/resolvers/target.js +45 -0
  630. package/dist/slack/resolvers/url.d.ts +20 -0
  631. package/dist/slack/resolvers/url.js +22 -0
  632. package/dist/slack/resolvers/user.d.ts +54 -0
  633. package/dist/slack/resolvers/user.js +134 -0
  634. package/dist/slack/types.d.ts +180 -0
  635. package/dist/slack/types.js +13 -0
  636. package/dist/tdd/attest.d.ts +21 -0
  637. package/dist/tdd/attest.js +21 -0
  638. package/dist/tdd/discipline.d.ts +11 -0
  639. package/dist/tdd/discipline.js +28 -0
  640. package/dist/tdd/index.d.ts +14 -0
  641. package/dist/tdd/index.js +13 -0
  642. package/dist/tdd/machine.d.ts +48 -0
  643. package/dist/tdd/machine.js +139 -0
  644. package/dist/tdd/presentation.d.ts +34 -0
  645. package/dist/tdd/presentation.js +38 -0
  646. package/dist/tdd/queries.d.ts +10 -0
  647. package/dist/tdd/queries.js +22 -0
  648. package/dist/terminal/index.d.ts +12 -0
  649. package/dist/terminal/index.js +11 -0
  650. package/dist/terminal/register.d.ts +21 -0
  651. package/dist/terminal/register.js +31 -0
  652. package/dist/terminal/resolve.d.ts +63 -0
  653. package/dist/terminal/resolve.js +117 -0
  654. package/dist/terminal/types.d.ts +134 -0
  655. package/dist/terminal/types.js +19 -0
  656. package/dist/thinking/index.d.ts +20 -0
  657. package/dist/thinking/index.js +27 -0
  658. package/dist/title/block.d.ts +9 -0
  659. package/dist/title/block.js +32 -0
  660. package/dist/title/detect.d.ts +25 -0
  661. package/dist/title/detect.js +154 -0
  662. package/dist/title/gate.d.ts +19 -0
  663. package/dist/title/gate.js +21 -0
  664. package/dist/title/index.d.ts +3 -0
  665. package/dist/title/index.js +3 -0
  666. package/dist/tree/index.d.ts +18 -0
  667. package/dist/tree/index.js +17 -0
  668. package/dist/tree/register.d.ts +21 -0
  669. package/dist/tree/register.js +31 -0
  670. package/dist/tree/resolve.d.ts +20 -0
  671. package/dist/tree/resolve.js +31 -0
  672. package/dist/tree/types.d.ts +83 -0
  673. package/dist/tree/types.js +12 -0
  674. package/dist/ui/count.d.ts +29 -0
  675. package/dist/ui/count.js +35 -0
  676. package/dist/ui/path.d.ts +25 -0
  677. package/dist/ui/path.js +40 -0
  678. package/dist/verify/index.d.ts +17 -0
  679. package/dist/verify/index.js +14 -0
  680. package/dist/verify/project.d.ts +21 -0
  681. package/dist/verify/project.js +49 -0
  682. package/dist/verify/resolve.d.ts +26 -0
  683. package/dist/verify/resolve.js +27 -0
  684. package/dist/verify/run.d.ts +31 -0
  685. package/dist/verify/run.js +145 -0
  686. package/dist/web/a11y/announcements.d.ts +67 -0
  687. package/dist/web/a11y/announcements.js +116 -0
  688. package/dist/web/a11y/budget.d.ts +75 -0
  689. package/dist/web/a11y/budget.js +97 -0
  690. package/dist/web/a11y/focus.d.ts +37 -0
  691. package/dist/web/a11y/focus.js +106 -0
  692. package/dist/web/a11y/index.d.ts +19 -0
  693. package/dist/web/a11y/index.js +25 -0
  694. package/dist/web/a11y/naming.d.ts +23 -0
  695. package/dist/web/a11y/naming.js +55 -0
  696. package/dist/web/a11y/outline.d.ts +23 -0
  697. package/dist/web/a11y/outline.js +42 -0
  698. package/dist/web/a11y/reading.d.ts +12 -0
  699. package/dist/web/a11y/reading.js +101 -0
  700. package/dist/web/a11y/scope.d.ts +23 -0
  701. package/dist/web/a11y/scope.js +99 -0
  702. package/dist/web/a11y/states.d.ts +22 -0
  703. package/dist/web/a11y/states.js +53 -0
  704. package/dist/web/a11y/tree.d.ts +124 -0
  705. package/dist/web/a11y/tree.js +269 -0
  706. package/dist/web/a11y/walk.d.ts +225 -0
  707. package/dist/web/a11y/walk.js +568 -0
  708. package/dist/web/a11y/walkprobe.d.ts +44 -0
  709. package/dist/web/a11y/walkprobe.js +365 -0
  710. package/dist/web/audit/axe.d.ts +219 -0
  711. package/dist/web/audit/axe.js +322 -0
  712. package/dist/web/audit/behind.d.ts +63 -0
  713. package/dist/web/audit/behind.js +142 -0
  714. package/dist/web/audit/capture.d.ts +43 -0
  715. package/dist/web/audit/capture.js +185 -0
  716. package/dist/web/audit/colour.d.ts +85 -0
  717. package/dist/web/audit/colour.js +189 -0
  718. package/dist/web/audit/contrast.d.ts +74 -0
  719. package/dist/web/audit/contrast.js +104 -0
  720. package/dist/web/audit/health.d.ts +27 -0
  721. package/dist/web/audit/health.js +57 -0
  722. package/dist/web/audit/index.d.ts +22 -0
  723. package/dist/web/audit/index.js +22 -0
  724. package/dist/web/audit/pair.d.ts +55 -0
  725. package/dist/web/audit/pair.js +157 -0
  726. package/dist/web/audit/probe.d.ts +31 -0
  727. package/dist/web/audit/probe.js +189 -0
  728. package/dist/web/audit/report.d.ts +22 -0
  729. package/dist/web/audit/report.js +250 -0
  730. package/dist/web/audit/structure.d.ts +126 -0
  731. package/dist/web/audit/structure.js +595 -0
  732. package/dist/web/audit/sweep.d.ts +66 -0
  733. package/dist/web/audit/sweep.js +117 -0
  734. package/dist/web/audit/target.d.ts +89 -0
  735. package/dist/web/audit/target.js +168 -0
  736. package/dist/web/audit/verdict.d.ts +48 -0
  737. package/dist/web/audit/verdict.js +52 -0
  738. package/dist/web/audit/visual.d.ts +161 -0
  739. package/dist/web/audit/visual.js +297 -0
  740. package/dist/web/browser.d.ts +213 -0
  741. package/dist/web/browser.js +927 -0
  742. package/dist/web/compare/images.d.ts +45 -0
  743. package/dist/web/compare/images.js +101 -0
  744. package/dist/web/compare/index.d.ts +15 -0
  745. package/dist/web/compare/index.js +15 -0
  746. package/dist/web/compare/provenance.d.ts +48 -0
  747. package/dist/web/compare/provenance.js +86 -0
  748. package/dist/web/compare/regions.d.ts +78 -0
  749. package/dist/web/compare/regions.js +211 -0
  750. package/dist/web/cookies/extract.d.ts +26 -0
  751. package/dist/web/cookies/extract.js +167 -0
  752. package/dist/web/cookies/index.d.ts +8 -0
  753. package/dist/web/cookies/index.js +7 -0
  754. package/dist/web/cookies/inject.d.ts +13 -0
  755. package/dist/web/cookies/inject.js +27 -0
  756. package/dist/web/cookies/setup.d.ts +31 -0
  757. package/dist/web/cookies/setup.js +94 -0
  758. package/dist/web/design/index.d.ts +9 -0
  759. package/dist/web/design/index.js +9 -0
  760. package/dist/web/design/inventory.d.ts +126 -0
  761. package/dist/web/design/inventory.js +324 -0
  762. package/dist/web/design/probe.d.ts +24 -0
  763. package/dist/web/design/probe.js +88 -0
  764. package/dist/web/element/actionable.d.ts +34 -0
  765. package/dist/web/element/actionable.js +48 -0
  766. package/dist/web/element/animations.d.ts +48 -0
  767. package/dist/web/element/animations.js +74 -0
  768. package/dist/web/element/box.d.ts +53 -0
  769. package/dist/web/element/box.js +58 -0
  770. package/dist/web/element/hover.d.ts +75 -0
  771. package/dist/web/element/hover.js +172 -0
  772. package/dist/web/element/index.d.ts +17 -0
  773. package/dist/web/element/index.js +17 -0
  774. package/dist/web/element/listeners.d.ts +72 -0
  775. package/dist/web/element/listeners.js +98 -0
  776. package/dist/web/element/measure.d.ts +40 -0
  777. package/dist/web/element/measure.js +118 -0
  778. package/dist/web/element/probes.d.ts +108 -0
  779. package/dist/web/element/probes.js +195 -0
  780. package/dist/web/element/pseudo.d.ts +51 -0
  781. package/dist/web/element/pseudo.js +96 -0
  782. package/dist/web/element/view.d.ts +30 -0
  783. package/dist/web/element/view.js +117 -0
  784. package/dist/web/element/visibility.d.ts +42 -0
  785. package/dist/web/element/visibility.js +67 -0
  786. package/dist/web/envelope/artifacts.d.ts +23 -0
  787. package/dist/web/envelope/artifacts.js +45 -0
  788. package/dist/web/envelope/index.d.ts +9 -0
  789. package/dist/web/envelope/index.js +9 -0
  790. package/dist/web/envelope/naming.d.ts +23 -0
  791. package/dist/web/envelope/naming.js +43 -0
  792. package/dist/web/envelope/paged.d.ts +42 -0
  793. package/dist/web/envelope/paged.js +99 -0
  794. package/dist/web/envelope/sink.d.ts +43 -0
  795. package/dist/web/envelope/sink.js +67 -0
  796. package/dist/web/environment/devices.d.ts +65 -0
  797. package/dist/web/environment/devices.js +82 -0
  798. package/dist/web/environment/emulation.d.ts +124 -0
  799. package/dist/web/environment/emulation.js +258 -0
  800. package/dist/web/environment/index.d.ts +15 -0
  801. package/dist/web/environment/index.js +15 -0
  802. package/dist/web/environment/probes.d.ts +18 -0
  803. package/dist/web/environment/probes.js +40 -0
  804. package/dist/web/environment/shaping.d.ts +90 -0
  805. package/dist/web/environment/shaping.js +141 -0
  806. package/dist/web/environment/status.d.ts +51 -0
  807. package/dist/web/environment/status.js +109 -0
  808. package/dist/web/environment/storage.d.ts +55 -0
  809. package/dist/web/environment/storage.js +142 -0
  810. package/dist/web/environment/tabs.d.ts +32 -0
  811. package/dist/web/environment/tabs.js +47 -0
  812. package/dist/web/environment/view.d.ts +10 -0
  813. package/dist/web/environment/view.js +42 -0
  814. package/dist/web/evaluate/index.d.ts +6 -0
  815. package/dist/web/evaluate/index.js +6 -0
  816. package/dist/web/evaluate/outcome.d.ts +74 -0
  817. package/dist/web/evaluate/outcome.js +91 -0
  818. package/dist/web/evaluate/probe.d.ts +31 -0
  819. package/dist/web/evaluate/probe.js +303 -0
  820. package/dist/web/index.d.ts +47 -0
  821. package/dist/web/index.js +47 -0
  822. package/dist/web/input/index.d.ts +11 -0
  823. package/dist/web/input/index.js +11 -0
  824. package/dist/web/input/keys.d.ts +48 -0
  825. package/dist/web/input/keys.js +189 -0
  826. package/dist/web/input/pointer.d.ts +56 -0
  827. package/dist/web/input/pointer.js +77 -0
  828. package/dist/web/input/touch.d.ts +61 -0
  829. package/dist/web/input/touch.js +83 -0
  830. package/dist/web/mermaid.d.ts +69 -0
  831. package/dist/web/mermaid.js +223 -0
  832. package/dist/web/paths.d.ts +16 -0
  833. package/dist/web/paths.js +27 -0
  834. package/dist/web/perf/heap.d.ts +42 -0
  835. package/dist/web/perf/heap.js +73 -0
  836. package/dist/web/perf/index.d.ts +14 -0
  837. package/dist/web/perf/index.js +14 -0
  838. package/dist/web/perf/layers.d.ts +98 -0
  839. package/dist/web/perf/layers.js +165 -0
  840. package/dist/web/perf/probe.d.ts +26 -0
  841. package/dist/web/perf/probe.js +123 -0
  842. package/dist/web/perf/profile.d.ts +53 -0
  843. package/dist/web/perf/profile.js +97 -0
  844. package/dist/web/perf/trace.d.ts +152 -0
  845. package/dist/web/perf/trace.js +429 -0
  846. package/dist/web/perf/view.d.ts +6 -0
  847. package/dist/web/perf/view.js +86 -0
  848. package/dist/web/perf/vitals.d.ts +141 -0
  849. package/dist/web/perf/vitals.js +175 -0
  850. package/dist/web/reader.d.ts +131 -0
  851. package/dist/web/reader.js +340 -0
  852. package/dist/web/screenshot.d.ts +50 -0
  853. package/dist/web/screenshot.js +108 -0
  854. package/dist/web/search.d.ts +49 -0
  855. package/dist/web/search.js +137 -0
  856. package/dist/web/session/artifacts.d.ts +32 -0
  857. package/dist/web/session/artifacts.js +47 -0
  858. package/dist/web/session/emulation.d.ts +118 -0
  859. package/dist/web/session/emulation.js +307 -0
  860. package/dist/web/session/recording.d.ts +51 -0
  861. package/dist/web/session/recording.js +64 -0
  862. package/dist/web/session/settling.d.ts +42 -0
  863. package/dist/web/session/settling.js +104 -0
  864. package/dist/web/session/shaping.d.ts +48 -0
  865. package/dist/web/session/shaping.js +113 -0
  866. package/dist/web/session/sourcemaps.d.ts +64 -0
  867. package/dist/web/session/sourcemaps.js +135 -0
  868. package/dist/web/session/telemetry.d.ts +219 -0
  869. package/dist/web/session/telemetry.js +486 -0
  870. package/dist/web/session/wires.d.ts +22 -0
  871. package/dist/web/session/wires.js +11 -0
  872. package/dist/web/session.d.ts +1153 -0
  873. package/dist/web/session.js +3400 -0
  874. package/dist/web/snapshot/deep.d.ts +36 -0
  875. package/dist/web/snapshot/deep.js +91 -0
  876. package/dist/web/snapshot/flatten.d.ts +101 -0
  877. package/dist/web/snapshot/flatten.js +131 -0
  878. package/dist/web/snapshot/index.d.ts +8 -0
  879. package/dist/web/snapshot/index.js +10 -0
  880. package/dist/web/snapshot/presented.d.ts +32 -0
  881. package/dist/web/snapshot/presented.js +74 -0
  882. package/dist/web/snapshot/query.d.ts +67 -0
  883. package/dist/web/snapshot/query.js +136 -0
  884. package/dist/web/sourcemap/index.d.ts +9 -0
  885. package/dist/web/sourcemap/index.js +9 -0
  886. package/dist/web/sourcemap/mappings.d.ts +111 -0
  887. package/dist/web/sourcemap/mappings.js +218 -0
  888. package/dist/web/styles/capture.d.ts +49 -0
  889. package/dist/web/styles/capture.js +85 -0
  890. package/dist/web/styles/cascade.d.ts +107 -0
  891. package/dist/web/styles/cascade.js +275 -0
  892. package/dist/web/styles/curation.d.ts +45 -0
  893. package/dist/web/styles/curation.js +282 -0
  894. package/dist/web/styles/index.d.ts +10 -0
  895. package/dist/web/styles/index.js +10 -0
  896. package/dist/web/target/index.d.ts +7 -0
  897. package/dist/web/target/index.js +7 -0
  898. package/dist/web/target/refusals.d.ts +59 -0
  899. package/dist/web/target/refusals.js +305 -0
  900. package/dist/web/target/target.d.ts +59 -0
  901. package/dist/web/target/target.js +94 -0
  902. package/dist/web/telemetry/buffer.d.ts +35 -0
  903. package/dist/web/telemetry/buffer.js +72 -0
  904. package/dist/web/telemetry/console.d.ts +127 -0
  905. package/dist/web/telemetry/console.js +217 -0
  906. package/dist/web/telemetry/dialogs.d.ts +41 -0
  907. package/dist/web/telemetry/dialogs.js +38 -0
  908. package/dist/web/telemetry/downloads.d.ts +42 -0
  909. package/dist/web/telemetry/downloads.js +65 -0
  910. package/dist/web/telemetry/failure.d.ts +31 -0
  911. package/dist/web/telemetry/failure.js +72 -0
  912. package/dist/web/telemetry/har.d.ts +97 -0
  913. package/dist/web/telemetry/har.js +227 -0
  914. package/dist/web/telemetry/index.d.ts +18 -0
  915. package/dist/web/telemetry/index.js +18 -0
  916. package/dist/web/telemetry/lifecycle.d.ts +69 -0
  917. package/dist/web/telemetry/lifecycle.js +120 -0
  918. package/dist/web/telemetry/network.d.ts +152 -0
  919. package/dist/web/telemetry/network.js +130 -0
  920. package/dist/web/telemetry/requests.d.ts +31 -0
  921. package/dist/web/telemetry/requests.js +119 -0
  922. package/dist/web/telemetry/sockets.d.ts +56 -0
  923. package/dist/web/telemetry/sockets.js +101 -0
  924. package/dist/web/telemetry/view.d.ts +16 -0
  925. package/dist/web/telemetry/view.js +125 -0
  926. package/dist/web/wait/conditions.d.ts +87 -0
  927. package/dist/web/wait/conditions.js +100 -0
  928. package/dist/web/wait/index.d.ts +6 -0
  929. package/dist/web/wait/index.js +6 -0
  930. package/dist/web/wait/settle.d.ts +54 -0
  931. package/dist/web/wait/settle.js +84 -0
  932. package/dist/work/ask.d.ts +45 -0
  933. package/dist/work/ask.js +85 -0
  934. package/dist/work/author.d.ts +61 -0
  935. package/dist/work/author.js +144 -0
  936. package/dist/work/broker.d.ts +151 -0
  937. package/dist/work/broker.js +165 -0
  938. package/dist/work/events.d.ts +98 -0
  939. package/dist/work/events.js +57 -0
  940. package/dist/work/history.d.ts +69 -0
  941. package/dist/work/history.js +174 -0
  942. package/dist/work/index.d.ts +49 -0
  943. package/dist/work/index.js +33 -0
  944. package/dist/work/inplay.d.ts +43 -0
  945. package/dist/work/inplay.js +42 -0
  946. package/dist/work/memory.d.ts +84 -0
  947. package/dist/work/memory.js +203 -0
  948. package/dist/work/objection.d.ts +92 -0
  949. package/dist/work/objection.js +72 -0
  950. package/dist/work/provider.d.ts +79 -0
  951. package/dist/work/provider.js +45 -0
  952. package/dist/work/providers/git.d.ts +29 -0
  953. package/dist/work/providers/git.js +87 -0
  954. package/dist/work/publish.d.ts +53 -0
  955. package/dist/work/publish.js +139 -0
  956. package/dist/work/rebase.d.ts +78 -0
  957. package/dist/work/rebase.js +261 -0
  958. package/dist/work/reclaim.d.ts +56 -0
  959. package/dist/work/reclaim.js +52 -0
  960. package/dist/work/register.d.ts +29 -0
  961. package/dist/work/register.js +41 -0
  962. package/dist/work/stack.d.ts +126 -0
  963. package/dist/work/stack.js +243 -0
  964. package/dist/work/stacks.d.ts +156 -0
  965. package/dist/work/stacks.js +524 -0
  966. package/dist/work/survey.d.ts +52 -0
  967. package/dist/work/survey.js +58 -0
  968. package/dist/work/tidy.d.ts +147 -0
  969. package/dist/work/tidy.js +136 -0
  970. package/dist/work/tree.d.ts +120 -0
  971. package/dist/work/tree.js +69 -0
  972. package/dist/work/unattended.d.ts +40 -0
  973. package/dist/work/unattended.js +57 -0
  974. package/package.json +145 -0
@@ -0,0 +1,118 @@
1
+ /**
2
+ * The space between two elements.
3
+ *
4
+ * Most of design review is one question asked over and over: is
5
+ * that gap 16 or 12. Every box needed to answer it was already
6
+ * being read; nothing subtracted them, so the answer came from
7
+ * squinting at a screenshot.
8
+ */
9
+ /**
10
+ * Sub-pixel layout is normal and a designer does not mean it.
11
+ *
12
+ * Two edges a thousandth of a pixel apart were meant to line up,
13
+ * and reporting them as misaligned would bury the one case that
14
+ * is a real mistake in noise.
15
+ */
16
+ const SAME = 0.5;
17
+ /** Measure one axis: the space between two spans on a line. */
18
+ function relate(startA, endA, startB, endB) {
19
+ const between = Math.max(startA, startB) - Math.min(endA, endB);
20
+ if (between > 0)
21
+ return { kind: "gap", pixels: round(between) };
22
+ // They touch or cross. How far they cross is the smaller of the
23
+ // two overhangs, which is the distance one would have to move
24
+ // to clear the other.
25
+ const into = Math.min(endA, endB) - Math.max(startA, startB);
26
+ if (into <= 0)
27
+ return { kind: "gap", pixels: 0 };
28
+ // One fully inside the other on this axis is the ordinary case
29
+ // for boxes in a row, and is not an overlap anybody wants told.
30
+ const shorter = Math.min(endA - startA, endB - startB);
31
+ if (into >= shorter - SAME)
32
+ return { kind: "spans", pixels: 0 };
33
+ return { kind: "overlap", pixels: round(into) };
34
+ }
35
+ /** Pixels, to a tenth, without a trailing zero. */
36
+ function round(value) {
37
+ return Math.round(value * 10) / 10;
38
+ }
39
+ const near = (a, b) => Math.abs(a - b) <= SAME;
40
+ /** Measure the space between two boxes. */
41
+ export function measureBetween(a, b) {
42
+ const horizontal = relate(a.x, a.x + a.width, b.x, b.x + b.width);
43
+ const vertical = relate(a.y, a.y + a.height, b.y, b.y + b.height);
44
+ const aligned = [];
45
+ if (near(a.x, b.x))
46
+ aligned.push("left");
47
+ if (near(a.x + a.width, b.x + b.width))
48
+ aligned.push("right");
49
+ if (near(a.y, b.y))
50
+ aligned.push("top");
51
+ if (near(a.y + a.height, b.y + b.height))
52
+ aligned.push("bottom");
53
+ // A centre line only earns a mention when no edge on that axis
54
+ // already explains the alignment, or every centred pair would
55
+ // be reported three times.
56
+ if (!aligned.includes("left") && !aligned.includes("right")) {
57
+ if (near(a.x + a.width / 2, b.x + b.width / 2)) {
58
+ aligned.push("horizontal centre");
59
+ }
60
+ }
61
+ if (!aligned.includes("top") && !aligned.includes("bottom")) {
62
+ if (near(a.y + a.height / 2, b.y + b.height / 2)) {
63
+ aligned.push("vertical centre");
64
+ }
65
+ }
66
+ const widthDelta = round(Math.abs(a.width - b.width));
67
+ const heightDelta = round(Math.abs(a.height - b.height));
68
+ return {
69
+ horizontal,
70
+ vertical,
71
+ aligned,
72
+ sameSize: widthDelta <= SAME && heightDelta <= SAME,
73
+ widthDelta,
74
+ heightDelta,
75
+ };
76
+ }
77
+ /** One axis in words. */
78
+ function say(relation, axis) {
79
+ if (relation.kind === "gap") {
80
+ return `${relation.pixels}px ${axis} between them`;
81
+ }
82
+ if (relation.kind === "overlap") {
83
+ return `they overlap by ${relation.pixels}px ${axis}`;
84
+ }
85
+ return undefined;
86
+ }
87
+ /**
88
+ * Say what was measured, gap first because that is what was asked.
89
+ */
90
+ export function renderMeasurement(m, nameA, nameB) {
91
+ const lines = [`${nameA} and ${nameB}:`];
92
+ const across = say(m.horizontal, "horizontally");
93
+ const down = say(m.vertical, "vertically");
94
+ if (across === undefined && down === undefined) {
95
+ // Both axes spanning means one contains the other, which is
96
+ // worth saying plainly rather than reporting as no news.
97
+ lines.push(" One sits inside the other; there is no gap to measure.");
98
+ }
99
+ if (across !== undefined)
100
+ lines.push(` ${across}`);
101
+ if (down !== undefined)
102
+ lines.push(` ${down}`);
103
+ if (m.aligned.length > 0) {
104
+ lines.push(` Lined up on: ${m.aligned.join(", ")}`);
105
+ }
106
+ if (m.sameSize) {
107
+ lines.push(" Same size.");
108
+ }
109
+ else {
110
+ const parts = [];
111
+ if (m.widthDelta > SAME)
112
+ parts.push(`${m.widthDelta}px in width`);
113
+ if (m.heightDelta > SAME)
114
+ parts.push(`${m.heightDelta}px in height`);
115
+ lines.push(` Differ by ${parts.join(" and ")}.`);
116
+ }
117
+ return lines.join("\n");
118
+ }
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Asking the browser about one element.
3
+ *
4
+ * Page sources rather than functions, for the same reason the
5
+ * accessibility observer is: the compiler wraps named inner
6
+ * bindings in a __name helper the page has never heard of, so
7
+ * a serialized function that declares helpers of its own
8
+ * throws on arrival.
9
+ */
10
+ /**
11
+ * Who receives a click at a point, when it is not the element
12
+ * being asked about.
13
+ *
14
+ * Runs with the element as its receiver and the hit node as its
15
+ * only argument. Anything the element contains counts as
16
+ * itself, since a click there still reaches it. Returns a short
17
+ * description of the obstruction, or null when there is none.
18
+ */
19
+ /**
20
+ * Stop an element's own text from painting, and put it back.
21
+ *
22
+ * Runs with the element as its receiver. Only colour and shadow are
23
+ * touched, because neither affects layout: the glyphs still occupy
24
+ * the same pixels and simply leave no mark, which is what lets two
25
+ * shots of the same region be subtracted from one another.
26
+ *
27
+ * The element's own inline values are remembered on the node itself
28
+ * rather than in the caller, so a restore still works if the caller
29
+ * lost track of what it changed. An element with no inline colour of
30
+ * its own is restored by removing the property, not by writing an
31
+ * empty string over it, since those differ once a stylesheet has an
32
+ * opinion.
33
+ */
34
+ /**
35
+ * Whether an element paints text of its own.
36
+ *
37
+ * Its own text nodes only, not its descendants'. A card wrapping a
38
+ * paragraph is a surface being looked at; the paragraph is the thing
39
+ * being read. Judging the card as text would compare its colour,
40
+ * which nothing there paints, against the wrong criterion.
41
+ */
42
+ /**
43
+ * The element that paints this node.
44
+ *
45
+ * A `StaticText` target resolves to a DOM text node, which is the
46
+ * honest answer to what was named but has no style, no class list
47
+ * and no `getBoundingClientRect`. Anything that wants to read or
48
+ * change how the text is painted has to work on the element holding
49
+ * it. Without this, hiding a paragraph's text quietly did nothing
50
+ * and the contrast measurement concluded there was no text there.
51
+ */
52
+ export declare const PAINTING_ELEMENT_PROBE = "function () {\n return this.nodeType === 3 ? this.parentElement : this;\n}";
53
+ export declare const OWN_TEXT_PROBE = "function () {\n var kids = this.childNodes || [];\n for (var i = 0; i < kids.length; i++) {\n var node = kids[i];\n if (node.nodeType === 3 && (node.textContent || \"\").trim()) return true;\n }\n return false;\n}";
54
+ export declare const HIDE_TEXT = "function (hidden) {\n var KEY = \"__piHiddenText\";\n if (hidden) {\n if (!this[KEY]) {\n this[KEY] = {\n color: this.style.getPropertyValue(\"color\"),\n colorPriority: this.style.getPropertyPriority(\"color\"),\n shadow: this.style.getPropertyValue(\"text-shadow\"),\n shadowPriority: this.style.getPropertyPriority(\"text-shadow\")\n };\n }\n this.style.setProperty(\"color\", \"transparent\", \"important\");\n this.style.setProperty(\"text-shadow\", \"none\", \"important\");\n return true;\n }\n var had = this[KEY];\n if (!had) return false;\n this.style.removeProperty(\"color\");\n this.style.removeProperty(\"text-shadow\");\n if (had.color) {\n this.style.setProperty(\"color\", had.color, had.colorPriority);\n }\n if (had.shadow) {\n this.style.setProperty(\"text-shadow\", had.shadow, had.shadowPriority);\n }\n delete this[KEY];\n return true;\n}";
55
+ /**
56
+ * Select everything in a text field, the way the field itself
57
+ * offers to.
58
+ *
59
+ * Runs with the element as its receiver. Used instead of a
60
+ * triple click so that clearing a field does not need an
61
+ * unobstructed centre, and instead of a select-all shortcut so
62
+ * there is no platform to guess at.
63
+ */
64
+ export declare const SELECT_TEXT_PROBE = "function () {\n if (typeof this.select === \"function\") {\n this.select();\n return true;\n }\n return false;\n}";
65
+ /**
66
+ * What an element says, holds, and is tagged with.
67
+ *
68
+ * Runs with the element as its receiver. Text is trimmed and
69
+ * capped, because a container's textContent can be the whole
70
+ * page and the question being asked is almost always about a
71
+ * short piece of it. Only data attributes and a handful of
72
+ * state attributes are returned: the rest are either already in
73
+ * the accessibility tree or noise.
74
+ */
75
+ export declare const CONTENT_PROBE = "function () {\n var text = (this.textContent || \"\").replace(/\\s+/g, \" \").trim();\n if (text.length > 400) text = text.slice(0, 400) + \"...\";\n var attributes = [];\n var names = this.getAttributeNames ? this.getAttributeNames() : [];\n for (var at = 0; at < names.length; at++) {\n var name = names[at];\n if (name.indexOf(\"data-\") === 0 || name === \"disabled\" ||\n name === \"readonly\" || name === \"open\" || name === \"hidden\" ||\n name === \"contenteditable\" || name === \"autocomplete\" ||\n name === \"inputmode\" || name === \"type\" || name === \"name\") {\n attributes.push([name, this.getAttribute(name)]);\n }\n }\n var held;\n if (typeof this.value === \"string\") held = this.value;\n return { text: text, value: held, attributes: attributes };\n}";
76
+ /**
77
+ * What is painted over the element's own centre, if anything.
78
+ *
79
+ * The whole question is answered in the page, deliberately. It was
80
+ * once split: the centre came from the box model out here and the
81
+ * hit test from `DOM.getNodeForLocation` over there. Those two are
82
+ * not in the same coordinate space once the page has scrolled, and
83
+ * a scrolled page reported whatever happened to sit at the wrong
84
+ * point as an occluder. Every target the driver had to scroll to
85
+ * became unclickable, blamed on a paragraph elsewhere on the page.
86
+ * `getBoundingClientRect` and `elementFromPoint` are both viewport
87
+ * space by definition, so asking for both together is what makes
88
+ * the answer sound, not merely what makes it shorter.
89
+ *
90
+ * The hit is asked of the element's own root, not of the document.
91
+ * `document.elementFromPoint` retargets a hit inside a shadow tree
92
+ * to the host, so an element in a shadow root was reported as
93
+ * covered by the very host that contains it. A host that covers
94
+ * something else is still named as itself, which is the useful
95
+ * answer: the component is what is in the way.
96
+ *
97
+ * A point off the viewport reads as nothing here, where the
98
+ * protocol call answered with whatever node it found instead. That
99
+ * difference is the safety: an unanswerable question now returns no
100
+ * occluder rather than a confident wrong one.
101
+ *
102
+ * With `alsoCorners`, the corners are tried after the centre, which
103
+ * is what a full inspection wants: an element clipped at one edge
104
+ * is worth reporting even though a click at its middle would land.
105
+ * The readiness poll asks for the centre alone, since that is where
106
+ * a click is aimed and it runs on every pass.
107
+ */
108
+ export declare const OCCLUDER_PROBE = "function (alsoCorners) {\n var box = this.getBoundingClientRect();\n if (!box.width || !box.height) return null;\n\n var inset = 2;\n var points = [[box.left + box.width / 2, box.top + box.height / 2]];\n if (alsoCorners) {\n points.push([box.left + inset, box.top + inset]);\n points.push([box.right - inset, box.top + inset]);\n points.push([box.left + inset, box.bottom - inset]);\n points.push([box.right - inset, box.bottom - inset]);\n }\n\n var root = this.getRootNode();\n var from = root.elementFromPoint ? root : document;\n for (var at = 0; at < points.length; at++) {\n var x = points[at][0];\n var y = points[at][1];\n var hit = from.elementFromPoint(x, y);\n if (!hit || hit === this || this.contains(hit)) continue;\n var described = hit.nodeName.toLowerCase();\n if (hit.id) described += \" id=\" + hit.id;\n else if (hit.classList && hit.classList.length) {\n described += \" class=\" + hit.classList[0];\n }\n return described;\n }\n return null;\n}";
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Asking the browser about one element.
3
+ *
4
+ * Page sources rather than functions, for the same reason the
5
+ * accessibility observer is: the compiler wraps named inner
6
+ * bindings in a __name helper the page has never heard of, so
7
+ * a serialized function that declares helpers of its own
8
+ * throws on arrival.
9
+ */
10
+ /**
11
+ * Who receives a click at a point, when it is not the element
12
+ * being asked about.
13
+ *
14
+ * Runs with the element as its receiver and the hit node as its
15
+ * only argument. Anything the element contains counts as
16
+ * itself, since a click there still reaches it. Returns a short
17
+ * description of the obstruction, or null when there is none.
18
+ */
19
+ /**
20
+ * Stop an element's own text from painting, and put it back.
21
+ *
22
+ * Runs with the element as its receiver. Only colour and shadow are
23
+ * touched, because neither affects layout: the glyphs still occupy
24
+ * the same pixels and simply leave no mark, which is what lets two
25
+ * shots of the same region be subtracted from one another.
26
+ *
27
+ * The element's own inline values are remembered on the node itself
28
+ * rather than in the caller, so a restore still works if the caller
29
+ * lost track of what it changed. An element with no inline colour of
30
+ * its own is restored by removing the property, not by writing an
31
+ * empty string over it, since those differ once a stylesheet has an
32
+ * opinion.
33
+ */
34
+ /**
35
+ * Whether an element paints text of its own.
36
+ *
37
+ * Its own text nodes only, not its descendants'. A card wrapping a
38
+ * paragraph is a surface being looked at; the paragraph is the thing
39
+ * being read. Judging the card as text would compare its colour,
40
+ * which nothing there paints, against the wrong criterion.
41
+ */
42
+ /**
43
+ * The element that paints this node.
44
+ *
45
+ * A `StaticText` target resolves to a DOM text node, which is the
46
+ * honest answer to what was named but has no style, no class list
47
+ * and no `getBoundingClientRect`. Anything that wants to read or
48
+ * change how the text is painted has to work on the element holding
49
+ * it. Without this, hiding a paragraph's text quietly did nothing
50
+ * and the contrast measurement concluded there was no text there.
51
+ */
52
+ export const PAINTING_ELEMENT_PROBE = `function () {
53
+ return this.nodeType === 3 ? this.parentElement : this;
54
+ }`;
55
+ export const OWN_TEXT_PROBE = `function () {
56
+ var kids = this.childNodes || [];
57
+ for (var i = 0; i < kids.length; i++) {
58
+ var node = kids[i];
59
+ if (node.nodeType === 3 && (node.textContent || "").trim()) return true;
60
+ }
61
+ return false;
62
+ }`;
63
+ export const HIDE_TEXT = `function (hidden) {
64
+ var KEY = "__piHiddenText";
65
+ if (hidden) {
66
+ if (!this[KEY]) {
67
+ this[KEY] = {
68
+ color: this.style.getPropertyValue("color"),
69
+ colorPriority: this.style.getPropertyPriority("color"),
70
+ shadow: this.style.getPropertyValue("text-shadow"),
71
+ shadowPriority: this.style.getPropertyPriority("text-shadow")
72
+ };
73
+ }
74
+ this.style.setProperty("color", "transparent", "important");
75
+ this.style.setProperty("text-shadow", "none", "important");
76
+ return true;
77
+ }
78
+ var had = this[KEY];
79
+ if (!had) return false;
80
+ this.style.removeProperty("color");
81
+ this.style.removeProperty("text-shadow");
82
+ if (had.color) {
83
+ this.style.setProperty("color", had.color, had.colorPriority);
84
+ }
85
+ if (had.shadow) {
86
+ this.style.setProperty("text-shadow", had.shadow, had.shadowPriority);
87
+ }
88
+ delete this[KEY];
89
+ return true;
90
+ }`;
91
+ /**
92
+ * Select everything in a text field, the way the field itself
93
+ * offers to.
94
+ *
95
+ * Runs with the element as its receiver. Used instead of a
96
+ * triple click so that clearing a field does not need an
97
+ * unobstructed centre, and instead of a select-all shortcut so
98
+ * there is no platform to guess at.
99
+ */
100
+ export const SELECT_TEXT_PROBE = `function () {
101
+ if (typeof this.select === "function") {
102
+ this.select();
103
+ return true;
104
+ }
105
+ return false;
106
+ }`;
107
+ /**
108
+ * What an element says, holds, and is tagged with.
109
+ *
110
+ * Runs with the element as its receiver. Text is trimmed and
111
+ * capped, because a container's textContent can be the whole
112
+ * page and the question being asked is almost always about a
113
+ * short piece of it. Only data attributes and a handful of
114
+ * state attributes are returned: the rest are either already in
115
+ * the accessibility tree or noise.
116
+ */
117
+ export const CONTENT_PROBE = `function () {
118
+ var text = (this.textContent || "").replace(/\\s+/g, " ").trim();
119
+ if (text.length > 400) text = text.slice(0, 400) + "...";
120
+ var attributes = [];
121
+ var names = this.getAttributeNames ? this.getAttributeNames() : [];
122
+ for (var at = 0; at < names.length; at++) {
123
+ var name = names[at];
124
+ if (name.indexOf("data-") === 0 || name === "disabled" ||
125
+ name === "readonly" || name === "open" || name === "hidden" ||
126
+ name === "contenteditable" || name === "autocomplete" ||
127
+ name === "inputmode" || name === "type" || name === "name") {
128
+ attributes.push([name, this.getAttribute(name)]);
129
+ }
130
+ }
131
+ var held;
132
+ if (typeof this.value === "string") held = this.value;
133
+ return { text: text, value: held, attributes: attributes };
134
+ }`;
135
+ /**
136
+ * What is painted over the element's own centre, if anything.
137
+ *
138
+ * The whole question is answered in the page, deliberately. It was
139
+ * once split: the centre came from the box model out here and the
140
+ * hit test from `DOM.getNodeForLocation` over there. Those two are
141
+ * not in the same coordinate space once the page has scrolled, and
142
+ * a scrolled page reported whatever happened to sit at the wrong
143
+ * point as an occluder. Every target the driver had to scroll to
144
+ * became unclickable, blamed on a paragraph elsewhere on the page.
145
+ * `getBoundingClientRect` and `elementFromPoint` are both viewport
146
+ * space by definition, so asking for both together is what makes
147
+ * the answer sound, not merely what makes it shorter.
148
+ *
149
+ * The hit is asked of the element's own root, not of the document.
150
+ * `document.elementFromPoint` retargets a hit inside a shadow tree
151
+ * to the host, so an element in a shadow root was reported as
152
+ * covered by the very host that contains it. A host that covers
153
+ * something else is still named as itself, which is the useful
154
+ * answer: the component is what is in the way.
155
+ *
156
+ * A point off the viewport reads as nothing here, where the
157
+ * protocol call answered with whatever node it found instead. That
158
+ * difference is the safety: an unanswerable question now returns no
159
+ * occluder rather than a confident wrong one.
160
+ *
161
+ * With `alsoCorners`, the corners are tried after the centre, which
162
+ * is what a full inspection wants: an element clipped at one edge
163
+ * is worth reporting even though a click at its middle would land.
164
+ * The readiness poll asks for the centre alone, since that is where
165
+ * a click is aimed and it runs on every pass.
166
+ */
167
+ export const OCCLUDER_PROBE = `function (alsoCorners) {
168
+ var box = this.getBoundingClientRect();
169
+ if (!box.width || !box.height) return null;
170
+
171
+ var inset = 2;
172
+ var points = [[box.left + box.width / 2, box.top + box.height / 2]];
173
+ if (alsoCorners) {
174
+ points.push([box.left + inset, box.top + inset]);
175
+ points.push([box.right - inset, box.top + inset]);
176
+ points.push([box.left + inset, box.bottom - inset]);
177
+ points.push([box.right - inset, box.bottom - inset]);
178
+ }
179
+
180
+ var root = this.getRootNode();
181
+ var from = root.elementFromPoint ? root : document;
182
+ for (var at = 0; at < points.length; at++) {
183
+ var x = points[at][0];
184
+ var y = points[at][1];
185
+ var hit = from.elementFromPoint(x, y);
186
+ if (!hit || hit === this || this.contains(hit)) continue;
187
+ var described = hit.nodeName.toLowerCase();
188
+ if (hit.id) described += " id=" + hit.id;
189
+ else if (hit.classList && hit.classList.length) {
190
+ described += " class=" + hit.classList[0];
191
+ }
192
+ return described;
193
+ }
194
+ return null;
195
+ }`;
@@ -0,0 +1,51 @@
1
+ /**
2
+ * How an element looks in states a person has to reach for.
3
+ *
4
+ * Hover, focus and active styles are invisible to a static
5
+ * reading, and they are where accessibility problems hide: a
6
+ * focus ring that never appears, a hover state that is the only
7
+ * cue a thing is interactive. The browser can be told to hold a
8
+ * state, which is the only way to read one without a mouse.
9
+ */
10
+ import type { StyleEntry, StyleGroup } from "../styles/index.js";
11
+ /** A state the browser can be asked to hold. */
12
+ export type PseudoState = "hover" | "focus" | "active" | "focus-visible";
13
+ /** What changed about an element while a state was held. */
14
+ export interface PseudoVariant {
15
+ readonly state: PseudoState;
16
+ readonly changes: readonly StyleChange[];
17
+ }
18
+ /** One property that differs between two readings. */
19
+ export interface StyleChange {
20
+ readonly property: string;
21
+ readonly from: string;
22
+ readonly to: string;
23
+ }
24
+ /**
25
+ * What a state changed.
26
+ *
27
+ * Only differences are reported. Repeating everything that
28
+ * stayed the same would bury the two lines that answer whether
29
+ * the state is visible at all.
30
+ */
31
+ export declare function diffStyles(atRest: readonly StyleGroup[], held: readonly StyleGroup[]): readonly StyleChange[];
32
+ /** Say what each held state changed. */
33
+ export declare function renderVariants(variants: readonly PseudoVariant[]): string;
34
+ /** An entry list as a group, for callers holding a flat read. */
35
+ export declare function asGroup(name: string, entries: readonly StyleEntry[]): StyleGroup;
36
+ /**
37
+ * Wait until the element has stopped moving.
38
+ *
39
+ * Forcing a state starts whatever transition the page declared,
40
+ * and reading the styles immediately catches them at their
41
+ * resting values, which reports that nothing changed. Rather
42
+ * than guessing a delay from the declared durations, this waits
43
+ * on the browser's own promise that each animation has
44
+ * finished. Endless animations are skipped, since waiting for
45
+ * one would never return, and a cap keeps a page that keeps
46
+ * starting new work from holding the read open.
47
+ *
48
+ * Runs with the element as its receiver, and resolves rather
49
+ * than rejecting so a caller always gets its reading.
50
+ */
51
+ export declare const SETTLE_PROBE = "function (capMs) {\n if (!this.getAnimations) return Promise.resolve(false);\n var running = this.getAnimations().filter(function (animation) {\n var timing = animation.effect && animation.effect.getTiming\n ? animation.effect.getTiming()\n : {};\n return Number.isFinite(timing.iterations);\n });\n if (running.length === 0) return Promise.resolve(true);\n var settled = Promise.all(running.map(function (animation) {\n return animation.finished.catch(function () { return null; });\n }));\n var capped = new Promise(function (resolve) {\n setTimeout(function () { resolve(false); }, capMs);\n });\n return Promise.race([settled.then(function () { return true; }), capped]);\n}";
@@ -0,0 +1,96 @@
1
+ /**
2
+ * How an element looks in states a person has to reach for.
3
+ *
4
+ * Hover, focus and active styles are invisible to a static
5
+ * reading, and they are where accessibility problems hide: a
6
+ * focus ring that never appears, a hover state that is the only
7
+ * cue a thing is interactive. The browser can be told to hold a
8
+ * state, which is the only way to read one without a mouse.
9
+ */
10
+ /** Flatten grouped styles into one lookup. */
11
+ function flatten(groups) {
12
+ const flat = new Map();
13
+ for (const group of groups) {
14
+ for (const entry of group.entries)
15
+ flat.set(entry.property, entry.value);
16
+ }
17
+ return flat;
18
+ }
19
+ /**
20
+ * What a state changed.
21
+ *
22
+ * Only differences are reported. Repeating everything that
23
+ * stayed the same would bury the two lines that answer whether
24
+ * the state is visible at all.
25
+ */
26
+ export function diffStyles(atRest, held) {
27
+ const before = flatten(atRest);
28
+ const after = flatten(held);
29
+ const changes = [];
30
+ for (const [property, to] of after) {
31
+ const from = before.get(property);
32
+ if (from !== to) {
33
+ changes.push({ property, from: from ?? "not set", to });
34
+ }
35
+ }
36
+ // A property present at rest and gone while held changed too,
37
+ // and it is the shape a disappearing outline takes.
38
+ for (const [property, from] of before) {
39
+ if (!after.has(property)) {
40
+ changes.push({ property, from, to: "not set" });
41
+ }
42
+ }
43
+ return changes;
44
+ }
45
+ /** Say what each held state changed. */
46
+ export function renderVariants(variants) {
47
+ if (variants.length === 0)
48
+ return "";
49
+ return variants
50
+ .map((variant) => {
51
+ if (variant.changes.length === 0) {
52
+ return `${variant.state}: nothing changes`;
53
+ }
54
+ return [
55
+ `${variant.state}:`,
56
+ ...variant.changes.map((change) => ` ${change.property}: ${change.from} -> ${change.to}`),
57
+ ].join("\n");
58
+ })
59
+ .join("\n");
60
+ }
61
+ /** An entry list as a group, for callers holding a flat read. */
62
+ export function asGroup(name, entries) {
63
+ return { name, entries };
64
+ }
65
+ /**
66
+ * Wait until the element has stopped moving.
67
+ *
68
+ * Forcing a state starts whatever transition the page declared,
69
+ * and reading the styles immediately catches them at their
70
+ * resting values, which reports that nothing changed. Rather
71
+ * than guessing a delay from the declared durations, this waits
72
+ * on the browser's own promise that each animation has
73
+ * finished. Endless animations are skipped, since waiting for
74
+ * one would never return, and a cap keeps a page that keeps
75
+ * starting new work from holding the read open.
76
+ *
77
+ * Runs with the element as its receiver, and resolves rather
78
+ * than rejecting so a caller always gets its reading.
79
+ */
80
+ export const SETTLE_PROBE = `function (capMs) {
81
+ if (!this.getAnimations) return Promise.resolve(false);
82
+ var running = this.getAnimations().filter(function (animation) {
83
+ var timing = animation.effect && animation.effect.getTiming
84
+ ? animation.effect.getTiming()
85
+ : {};
86
+ return Number.isFinite(timing.iterations);
87
+ });
88
+ if (running.length === 0) return Promise.resolve(true);
89
+ var settled = Promise.all(running.map(function (animation) {
90
+ return animation.finished.catch(function () { return null; });
91
+ }));
92
+ var capped = new Promise(function (resolve) {
93
+ setTimeout(function () { resolve(false); }, capMs);
94
+ });
95
+ return Promise.race([settled.then(function () { return true; }), capped]);
96
+ }`;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Laying out what was found about one element.
3
+ *
4
+ * Kept apart from the judging so the two have separate reasons
5
+ * to change: what is true about an element and how it reads are
6
+ * different questions.
7
+ */
8
+ import type { PropertyTrace, StyleGroup } from "../styles/index.js";
9
+ import type { BoxModel } from "./box.js";
10
+ import type { VisibilityVerdict } from "./visibility.js";
11
+ /** The verdict, as a sentence. */
12
+ export declare function renderVisibility(verdict: VisibilityVerdict): string;
13
+ /**
14
+ * The boxes, innermost outwards, with the offsets between them
15
+ * stated only where they exist. Four zeroes for the margin of
16
+ * an element with no margin is noise.
17
+ *
18
+ * The position says which space it is measured in. These numbers
19
+ * come from the box model, which measures from the viewport, while
20
+ * a page query reports the same element measured down the document.
21
+ * On a scrolled page the two differ by however far it has moved,
22
+ * and an unlabelled pair of numbers invites reading one as the
23
+ * other: that confusion hid a real defect for hours, because every
24
+ * reading was true in its own frame and none were comparable.
25
+ */
26
+ export declare function renderBox(box: BoxModel): string;
27
+ /** Curated styles, grouped as they were curated. */
28
+ export declare function renderStyles(groups: readonly StyleGroup[]): string;
29
+ /** Everything that had a say in one property, strongest first. */
30
+ export declare function renderTrace(trace: PropertyTrace): string;