@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,42 @@
1
+ /**
2
+ * Reading the emulated environment back.
3
+ *
4
+ * Led by what the page observes rather than by what was asked
5
+ * for, so a setting that did not take cannot read as though it
6
+ * did.
7
+ */
8
+ /** What the page is experiencing, and where that differs from the ask. */
9
+ export function renderEnvironment(asked, observed, gaps) {
10
+ const lines = [
11
+ "The page reports:",
12
+ ` ${observed.width} by ${observed.height} at ${observed.devicePixelRatio}x`,
13
+ ` colour scheme ${observed.colorScheme}` +
14
+ `, contrast ${observed.contrast}` +
15
+ `, reduced motion ${observed.reducedMotion ? "on" : "off"}` +
16
+ `, forced colours ${observed.forcedColors ? "on" : "off"}`,
17
+ ` ${observed.language} in ${observed.timezone}`,
18
+ ` ${observed.maxTouchPoints > 0
19
+ ? `${observed.maxTouchPoints} touch points`
20
+ : "no touch"}${observed.touchEvents ? ", touch events present" : ""}` +
21
+ `${observed.print ? ", print stylesheet active" : ""}`,
22
+ ];
23
+ // Vision deficiency is a filter over what is painted, so no
24
+ // media query reports it and the page cannot be asked. It is
25
+ // the one thing here that has to be taken on our own word.
26
+ if (asked.vision !== undefined && asked.vision !== "none") {
27
+ lines.push(` simulating ${asked.vision}, which paints differently but is ` +
28
+ "invisible to the page's own scripts");
29
+ }
30
+ if (asked.cpuThrottle !== undefined && asked.cpuThrottle > 1) {
31
+ lines.push(` cpu slowed ${asked.cpuThrottle} times`);
32
+ }
33
+ if (gaps.length > 0) {
34
+ lines.push("", "Asked for, but not what the page sees:");
35
+ for (const gap of gaps) {
36
+ lines.push(` ${gap.what}: asked ${gap.asked}, got ${gap.observed}`);
37
+ if (gap.note)
38
+ lines.push(` ${gap.note}`);
39
+ }
40
+ }
41
+ return lines.join("\n");
42
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Running an expression in the page, and reading back what it
3
+ * said, including how it failed.
4
+ */
5
+ export { describeThrow, type EvalFrame, type EvalOutcome, type EvalThrew, type EvalValue, MAX_INLINE_RESULT, type RawExceptionDetails, renderEvaluation, } from "./outcome.js";
6
+ export { evaluationSource, SERIALIZE_BREADTH, SERIALIZE_DEPTH, SERIALIZE_STRING, } from "./probe.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Running an expression in the page, and reading back what it
3
+ * said, including how it failed.
4
+ */
5
+ export { describeThrow, MAX_INLINE_RESULT, renderEvaluation, } from "./outcome.js";
6
+ export { evaluationSource, SERIALIZE_BREADTH, SERIALIZE_DEPTH, SERIALIZE_STRING, } from "./probe.js";
@@ -0,0 +1,74 @@
1
+ /**
2
+ * What came back from running an expression in the page.
3
+ *
4
+ * An exception is a result, not an error to swallow: running
5
+ * code against a live page to find out how it fails is the whole
6
+ * point of being able to run code against a live page.
7
+ */
8
+ import type { AuthoredPosition } from "../sourcemap/index.js";
9
+ /** One frame of a page-side stack. */
10
+ export interface EvalFrame {
11
+ readonly functionName: string;
12
+ readonly url: string;
13
+ readonly lineNumber: number;
14
+ readonly columnNumber: number;
15
+ /** Where the frame was authored, when a source map said. */
16
+ readonly authored?: AuthoredPosition;
17
+ }
18
+ /** The page threw. */
19
+ export interface EvalThrew {
20
+ readonly message: string;
21
+ readonly className?: string;
22
+ readonly frames: readonly EvalFrame[];
23
+ /** Whether it came out of a promise rather than directly. */
24
+ readonly fromPromise: boolean;
25
+ }
26
+ /** The page answered. */
27
+ export interface EvalValue {
28
+ readonly type: string;
29
+ readonly value: unknown;
30
+ /** Whether anything was left out to keep the answer a size. */
31
+ readonly clipped: boolean;
32
+ }
33
+ /** How an evaluation ended. */
34
+ export type EvalOutcome = {
35
+ readonly ok: true;
36
+ readonly result: EvalValue;
37
+ } | {
38
+ readonly ok: false;
39
+ readonly threw: EvalThrew;
40
+ } | {
41
+ readonly ok: false;
42
+ readonly refused: string;
43
+ };
44
+ /** Runtime.exceptionDetails, as the protocol sends it. */
45
+ export interface RawExceptionDetails {
46
+ readonly text?: string;
47
+ readonly lineNumber?: number;
48
+ readonly columnNumber?: number;
49
+ readonly exception?: {
50
+ readonly className?: string;
51
+ readonly description?: string;
52
+ };
53
+ readonly stackTrace?: {
54
+ readonly callFrames?: readonly {
55
+ readonly functionName?: string;
56
+ readonly url?: string;
57
+ readonly lineNumber?: number;
58
+ readonly columnNumber?: number;
59
+ }[];
60
+ };
61
+ }
62
+ /**
63
+ * Read the protocol's account of a thrown exception.
64
+ *
65
+ * The useful message is on the exception's description, not on
66
+ * the details' text, which is only ever "Uncaught" or "Uncaught
67
+ * (in promise)". Reporting the text would tell the caller
68
+ * nothing they did not already know.
69
+ */
70
+ export declare function describeThrow(details: RawExceptionDetails): EvalThrew;
71
+ /** How much of a rendered value to inline before diverting it. */
72
+ export declare const MAX_INLINE_RESULT = 4096;
73
+ /** Say what happened. */
74
+ export declare function renderEvaluation(outcome: EvalOutcome): string;
@@ -0,0 +1,91 @@
1
+ /**
2
+ * What came back from running an expression in the page.
3
+ *
4
+ * An exception is a result, not an error to swallow: running
5
+ * code against a live page to find out how it fails is the whole
6
+ * point of being able to run code against a live page.
7
+ */
8
+ /**
9
+ * Read the protocol's account of a thrown exception.
10
+ *
11
+ * The useful message is on the exception's description, not on
12
+ * the details' text, which is only ever "Uncaught" or "Uncaught
13
+ * (in promise)". Reporting the text would tell the caller
14
+ * nothing they did not already know.
15
+ */
16
+ export function describeThrow(details) {
17
+ const description = details.exception?.description;
18
+ const message = description ?? details.text ?? "Something threw.";
19
+ return {
20
+ // The description carries its own stack after the first
21
+ // line, which the frames already say more precisely.
22
+ message: message.split("\n")[0] ?? message,
23
+ ...(details.exception?.className === undefined
24
+ ? {}
25
+ : { className: details.exception.className }),
26
+ frames: (details.stackTrace?.callFrames ?? []).map((frame) => ({
27
+ functionName: frame.functionName || "(anonymous)",
28
+ url: frame.url ?? "",
29
+ lineNumber: frame.lineNumber ?? 0,
30
+ columnNumber: frame.columnNumber ?? 0,
31
+ })),
32
+ fromPromise: (details.text ?? "").includes("in promise"),
33
+ };
34
+ }
35
+ /** How much of a rendered value to inline before diverting it. */
36
+ export const MAX_INLINE_RESULT = 4096;
37
+ /**
38
+ * Say where a frame is, preferring where it was written.
39
+ *
40
+ * The generated position is kept beside the authored one rather
41
+ * than replaced by it. They disagree often enough, through a
42
+ * stale map or a bundler quirk, that hiding what the browser
43
+ * actually reported would remove the only way to notice.
44
+ */
45
+ function describeFrame(frame) {
46
+ const generated = `${frame.url}:${frame.lineNumber + 1}:${frame.columnNumber}`;
47
+ if (!frame.authored)
48
+ return generated;
49
+ const { source, line, column, name } = frame.authored;
50
+ const called = name === undefined ? "" : ` (${name})`;
51
+ return `${source}:${line + 1}:${column}${called}\n built from ${generated}`;
52
+ }
53
+ /** Say what happened. */
54
+ export function renderEvaluation(outcome) {
55
+ if (!outcome.ok && "refused" in outcome)
56
+ return outcome.refused;
57
+ if (!outcome.ok) {
58
+ const { threw } = outcome;
59
+ const lines = [
60
+ threw.fromPromise
61
+ ? `The page rejected: ${threw.message}`
62
+ : `The page threw: ${threw.message}`,
63
+ ];
64
+ // A stack of one anonymous frame at the top of the
65
+ // expression says only what the message already said.
66
+ const useful = threw.frames.filter((frame) => frame.url !== "" || frame.functionName !== "(anonymous)");
67
+ if (useful.length > 0) {
68
+ lines.push("");
69
+ for (const frame of useful) {
70
+ lines.push(` ${frame.functionName} ${describeFrame(frame)}`);
71
+ }
72
+ }
73
+ return lines.join("\n");
74
+ }
75
+ const { result } = outcome;
76
+ if (result.type === "undefined" || result.value === "[undefined]") {
77
+ return "The expression returned undefined.";
78
+ }
79
+ const body = typeof result.value === "string"
80
+ ? result.value
81
+ : JSON.stringify(result.value, null, 2);
82
+ const head = `${result.type}:`;
83
+ if (body.length <= MAX_INLINE_RESULT) {
84
+ return result.clipped
85
+ ? `${head} ${body}\n\n(Parts were left out to keep this a size.)`
86
+ : `${head} ${body}`;
87
+ }
88
+ return (`${head} ${body.slice(0, MAX_INLINE_RESULT)}\n\n` +
89
+ `... ${body.length - MAX_INLINE_RESULT} more characters. Narrow the ` +
90
+ `expression, or pick out the part you want.`);
91
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Turning a page value into something that can be carried back.
3
+ *
4
+ * Serialization happens in the page, not in the protocol, and
5
+ * that is a deliberate choice rather than a convenience. Asking
6
+ * the protocol to return a circular object by value does not
7
+ * fail politely: it rejects the whole call with "object
8
+ * reference chain is too long", which takes the evaluation and
9
+ * any honest report of it down together. A DOM node and a
10
+ * function fare no better, coming back as an empty object that
11
+ * says nothing about what they were.
12
+ *
13
+ * This is a presentational judgment and is labelled as one. What
14
+ * a value *is* comes from the browser; how it reads once it has
15
+ * crossed the wire is ours to decide.
16
+ *
17
+ * It ships as a source string because it declares helpers of its
18
+ * own, and the bundler rewrites every named inner binding
19
+ * through a wrapper the page has never heard of.
20
+ */
21
+ /** How deep into a structure to go before saying "more". */
22
+ export declare const SERIALIZE_DEPTH = 4;
23
+ /** How many entries of a collection to show. */
24
+ export declare const SERIALIZE_BREADTH = 30;
25
+ /** How long a single string may be before it is clipped. */
26
+ export declare const SERIALIZE_STRING = 2048;
27
+ /**
28
+ * Build the expression that evaluates a caller's code and
29
+ * describes whatever comes back.
30
+ */
31
+ export declare function evaluationSource(expression: string): string;
@@ -0,0 +1,303 @@
1
+ /**
2
+ * Turning a page value into something that can be carried back.
3
+ *
4
+ * Serialization happens in the page, not in the protocol, and
5
+ * that is a deliberate choice rather than a convenience. Asking
6
+ * the protocol to return a circular object by value does not
7
+ * fail politely: it rejects the whole call with "object
8
+ * reference chain is too long", which takes the evaluation and
9
+ * any honest report of it down together. A DOM node and a
10
+ * function fare no better, coming back as an empty object that
11
+ * says nothing about what they were.
12
+ *
13
+ * This is a presentational judgment and is labelled as one. What
14
+ * a value *is* comes from the browser; how it reads once it has
15
+ * crossed the wire is ours to decide.
16
+ *
17
+ * It ships as a source string because it declares helpers of its
18
+ * own, and the bundler rewrites every named inner binding
19
+ * through a wrapper the page has never heard of.
20
+ */
21
+ /** How deep into a structure to go before saying "more". */
22
+ export const SERIALIZE_DEPTH = 4;
23
+ /** How many entries of a collection to show. */
24
+ export const SERIALIZE_BREADTH = 30;
25
+ /** How long a single string may be before it is clipped. */
26
+ export const SERIALIZE_STRING = 2048;
27
+ /**
28
+ * Whether a source text is a single JavaScript expression.
29
+ *
30
+ * Decided here rather than in the page. The page could answer it
31
+ * with new Function, but that is exactly what a strict
32
+ * Content-Security-Policy forbids, and an inspection tool must
33
+ * not fail on the pages most worth inspecting. The grammar is
34
+ * the same in both runtimes, and compiling is not running: this
35
+ * never executes the caller's code, so a reference to a page
36
+ * global that does not exist here is irrelevant.
37
+ */
38
+ function isExpression(source) {
39
+ try {
40
+ new Function(`return (${source});`);
41
+ return true;
42
+ }
43
+ catch {
44
+ // A syntax error means it is not one expression. Whether it is
45
+ // valid at all is the page's business to report, not ours.
46
+ return false;
47
+ }
48
+ }
49
+ /**
50
+ * The offsets of semicolons that end a statement at the top
51
+ * level, ignoring any inside brackets, strings, templates,
52
+ * regular expressions or comments.
53
+ *
54
+ * Enough to find where the last statement begins. Anything it
55
+ * gets wrong is caught by compiling the result before use, so a
56
+ * wrong guess costs the old behaviour rather than a broken call.
57
+ */
58
+ function topLevelBreaks(source) {
59
+ const breaks = [];
60
+ let depth = 0;
61
+ let quote = null;
62
+ let comment = null;
63
+ for (let at = 0; at < source.length; at++) {
64
+ const char = source[at];
65
+ const next = source[at + 1];
66
+ if (comment === "line") {
67
+ if (char === "\n")
68
+ comment = null;
69
+ continue;
70
+ }
71
+ if (comment === "block") {
72
+ if (char === "*" && next === "/") {
73
+ comment = null;
74
+ at++;
75
+ }
76
+ continue;
77
+ }
78
+ if (quote) {
79
+ if (char === "\\")
80
+ at++;
81
+ else if (char === quote)
82
+ quote = null;
83
+ continue;
84
+ }
85
+ if (char === "/" && next === "/") {
86
+ comment = "line";
87
+ at++;
88
+ continue;
89
+ }
90
+ if (char === "/" && next === "*") {
91
+ comment = "block";
92
+ at++;
93
+ continue;
94
+ }
95
+ if (char === '"' || char === "'" || char === "`") {
96
+ quote = char;
97
+ continue;
98
+ }
99
+ if (char === "(" || char === "[" || char === "{")
100
+ depth++;
101
+ else if (char === ")" || char === "]" || char === "}")
102
+ depth--;
103
+ else if (char === ";" && depth === 0)
104
+ breaks.push(at);
105
+ }
106
+ return breaks;
107
+ }
108
+ /**
109
+ * A statement list rewritten so its last expression is its value.
110
+ *
111
+ * A console shows the completion value of what you typed, so
112
+ * `var a = 1; a + 41` answers 42. Run as a plain function body it
113
+ * answers undefined, because a function returns nothing unless
114
+ * told to, and that is what this used to do: people paste a
115
+ * snippet ending in the thing they want to see and got nothing
116
+ * back, then retyped it with a return. Nobody reads that as the
117
+ * tool being careful.
118
+ *
119
+ * Rewriting rather than using the page's own eval, which would
120
+ * give these semantics for free, because a page whose policy
121
+ * forbids eval must still be able to answer.
122
+ *
123
+ * Returns undefined when the last statement is not an expression
124
+ * (a declaration, a loop, a block), since prefixing those with
125
+ * return is a syntax error. The rewrite is compiled here before
126
+ * it is offered, so a wrong guess falls back instead of failing
127
+ * in the page.
128
+ */
129
+ function withCompletionValue(source) {
130
+ const trimmed = source.trimEnd().replace(/;$/, "");
131
+ const breaks = topLevelBreaks(trimmed);
132
+ const lastBreak = breaks[breaks.length - 1];
133
+ if (lastBreak === undefined)
134
+ return undefined;
135
+ const head = trimmed.slice(0, lastBreak + 1);
136
+ const tail = trimmed.slice(lastBreak + 1).trim();
137
+ if (tail === "")
138
+ return undefined;
139
+ const rewritten = `${head} return (${tail});`;
140
+ try {
141
+ new Function(rewritten);
142
+ return rewritten;
143
+ }
144
+ catch {
145
+ // The last statement was not an expression, so it cannot be
146
+ // returned. The caller still gets the statement list.
147
+ return undefined;
148
+ }
149
+ }
150
+ /**
151
+ * How the caller's code is turned into one value.
152
+ *
153
+ * An expression is parenthesized so an object literal reads as a
154
+ * value rather than a block, which is the syntax people trip
155
+ * over constantly. Anything else is run as a statement list, the
156
+ * way a console accepts one, because `scrollTo(0, 400); check()`
157
+ * is a thing people type and it used to come back as
158
+ * "SyntaxError: Unexpected token ';'", which reads as the
159
+ * caller's mistake rather than ours. A statement list answers
160
+ * with its last expression, as a console does, and an explicit
161
+ * return still wins.
162
+ */
163
+ function producer(expression) {
164
+ if (isExpression(expression))
165
+ return `(${expression})`;
166
+ const completing = withCompletionValue(expression);
167
+ return `(() => { ${completing ?? expression} })()`;
168
+ }
169
+ /**
170
+ * Build the expression that evaluates a caller's code and
171
+ * describes whatever comes back.
172
+ */
173
+ export function evaluationSource(expression) {
174
+ return `(() => {
175
+ const DEPTH = ${SERIALIZE_DEPTH};
176
+ const BREADTH = ${SERIALIZE_BREADTH};
177
+ const STRING = ${SERIALIZE_STRING};
178
+ // The chain of ancestors currently being walked, not every
179
+ // object ever seen: a value reachable by two paths is shared,
180
+ // and only a value that contains itself is circular.
181
+ const path = new Set();
182
+ let clipped = false;
183
+
184
+ const describeNode = (node) => {
185
+ if (node.nodeType === 3) return "#text " + JSON.stringify(
186
+ (node.nodeValue || "").slice(0, 40));
187
+ if (node.nodeType === 9) return "#document";
188
+ const id = node.id ? "#" + node.id : "";
189
+ const cls = node.classList && node.classList.length
190
+ ? "." + [...node.classList].join(".") : "";
191
+ return "<" + node.tagName.toLowerCase() + id + cls + ">";
192
+ };
193
+
194
+ const walk = (value, depth) => {
195
+ if (value === null) return null;
196
+ const kind = typeof value;
197
+ if (kind === "undefined") return "[undefined]";
198
+ if (kind === "boolean") return value;
199
+ // JSON has no NaN and no Infinity, so passing them straight
200
+ // through turned three of the answers a console most often
201
+ // gives into "number: null", which is a wrong answer wearing a
202
+ // right one's clothes. bigint below is tagged for this reason.
203
+ if (kind === "number") {
204
+ return Number.isFinite(value) ? value : String(value);
205
+ }
206
+ if (kind === "bigint") return String(value) + "n";
207
+ if (kind === "symbol") return String(value);
208
+ if (kind === "string") {
209
+ if (value.length <= STRING) return value;
210
+ clipped = true;
211
+ return value.slice(0, STRING) + "... (" + value.length + " chars)";
212
+ }
213
+ if (kind === "function") {
214
+ return "[function " + (value.name || "anonymous") + "]";
215
+ }
216
+
217
+ if (value instanceof Error) {
218
+ return "[" + value.name + ": " + value.message + "]";
219
+ }
220
+ if (typeof Node !== "undefined" && value instanceof Node) {
221
+ return describeNode(value);
222
+ }
223
+ if (typeof Window !== "undefined" && value instanceof Window) {
224
+ return "[window]";
225
+ }
226
+
227
+ // Circularity is checked before descending, so a structure
228
+ // that points at itself is named rather than followed.
229
+ //
230
+ // Only an ancestor counts. This used to be every object ever
231
+ // visited, never unwound, so an object holding the same store
232
+ // under two keys reported the second as circular when nothing
233
+ // pointed at itself. The unwind is in the finally below so no
234
+ // branch can forget it.
235
+ if (path.has(value)) return "[circular]";
236
+ path.add(value);
237
+ try {
238
+ return descend(value, depth);
239
+ } finally {
240
+ path.delete(value);
241
+ }
242
+ };
243
+
244
+ const descend = (value, depth) => {
245
+ if (depth >= DEPTH) {
246
+ clipped = true;
247
+ return Array.isArray(value) ? "[array, deeper]" : "[object, deeper]";
248
+ }
249
+
250
+ if (Array.isArray(value)) {
251
+ const shown = value.slice(0, BREADTH).map((item) => walk(item, depth + 1));
252
+ if (value.length > BREADTH) {
253
+ clipped = true;
254
+ shown.push("... " + (value.length - BREADTH) + " more");
255
+ }
256
+ return shown;
257
+ }
258
+ if (value instanceof Map || value instanceof Set) {
259
+ const items = [...value].slice(0, BREADTH)
260
+ .map((item) => walk(item, depth + 1));
261
+ if (value.size > BREADTH) {
262
+ clipped = true;
263
+ items.push("... " + (value.size - BREADTH) + " more");
264
+ }
265
+ return { ["[" + value.constructor.name + "]"]: items };
266
+ }
267
+ if (typeof NodeList !== "undefined" && value instanceof NodeList) {
268
+ return [...value].slice(0, BREADTH).map(describeNode);
269
+ }
270
+
271
+ const out = {};
272
+ const keys = Object.keys(value);
273
+ for (const key of keys.slice(0, BREADTH)) {
274
+ try {
275
+ out[key] = walk(value[key], depth + 1);
276
+ } catch (error) {
277
+ // A getter that throws is the page's problem, not a
278
+ // reason to lose everything else on the object.
279
+ out[key] = "[threw: " + error.message + "]";
280
+ }
281
+ }
282
+ if (keys.length > BREADTH) {
283
+ clipped = true;
284
+ out["..."] = (keys.length - BREADTH) + " more keys";
285
+ }
286
+ return out;
287
+ };
288
+
289
+ const typeOf = (value) => {
290
+ if (value === null) return "null";
291
+ if (Array.isArray(value)) return "array";
292
+ if (typeof Node !== "undefined" && value instanceof Node) return "node";
293
+ return typeof value;
294
+ };
295
+
296
+ const value = ${producer(expression)};
297
+ return Promise.resolve(value).then((settled) => ({
298
+ type: typeOf(settled),
299
+ value: walk(settled, 0),
300
+ clipped,
301
+ }));
302
+ })()`;
303
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Driving a browser, and reading back everything it knows.
3
+ *
4
+ * This barrel is the front door: the session that drives a real
5
+ * Chrome, the one-shot page reader, and web search. Everything
6
+ * else lives in a subdomain barrel beside it, because the whole
7
+ * surface in one namespace would be several hundred names, and
8
+ * a consumer who wants contrast arithmetic should not have to
9
+ * load a browser to get it.
10
+ *
11
+ * The subdomains, and what each is for:
12
+ *
13
+ * - `a11y/` the accessibility tree, reading order, live
14
+ * region announcements, keyboard walks
15
+ * - `audit/` verdicts: axe, structural and layout rules,
16
+ * contrast and target-size arithmetic, sweeps
17
+ * - `compare/` diffing a page against a baseline of itself
18
+ * - `design/` what a page is built from, and its drift
19
+ * - `element/` one element in depth: box, styles, listeners,
20
+ * animations, actionability
21
+ * - `envelope/` paging, budgets and the on-disk artifact sink
22
+ * - `environment/` emulation, storage, network shaping, status
23
+ * - `evaluate/` running an expression and surviving the result
24
+ * - `input/` key chords, pointer paths, touch gestures
25
+ * - `perf/` web vitals from the browser's own observers
26
+ * - `snapshot/` the whole page flattened, frames and shadow
27
+ * content included, and queries over it
28
+ * - `sourcemap/` where generated code was authored
29
+ * - `styles/` computed style curation and cascade tracing
30
+ * - `target/` naming an element by role and accessible name
31
+ * - `telemetry/` console, network, dialogs, downloads, lifecycle
32
+ * - `wait/` conditions worth waiting for
33
+ *
34
+ * Every subdomain but `session` is pure and capture-agnostic:
35
+ * serializable data in, answers out. That is what lets the same
36
+ * analysis run against a live page, a stored capture, or one
37
+ * taken by something that is not this library at all. Only
38
+ * `session` and `browser` reach for puppeteer, so importing an
39
+ * analysis module never starts a browser.
40
+ */
41
+ export { type AxNode, type AxProperties, normalizeAxTree, type RawAxNode, renderAxOutline, } from "./a11y/index.js";
42
+ export { BrowserLaunchFailed, closeBrowser, killBrowserSync, } from "./browser.js";
43
+ export { type MermaidRender, MermaidRenderError, renderMermaid, } from "./mermaid.js";
44
+ export { AuthSetupNeeded, cleanupSessionBundles, type PageBundle, readPage, reapAbandonedBundles, } from "./reader.js";
45
+ export { type SearchResult, webSearch } from "./search.js";
46
+ export { type ActResult, BrowserSession, type Observation, type PageAction, } from "./session.js";
47
+ export { resolveTarget, type Target as SemanticTarget, type TargetResolution, } from "./target/index.js";
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Driving a browser, and reading back everything it knows.
3
+ *
4
+ * This barrel is the front door: the session that drives a real
5
+ * Chrome, the one-shot page reader, and web search. Everything
6
+ * else lives in a subdomain barrel beside it, because the whole
7
+ * surface in one namespace would be several hundred names, and
8
+ * a consumer who wants contrast arithmetic should not have to
9
+ * load a browser to get it.
10
+ *
11
+ * The subdomains, and what each is for:
12
+ *
13
+ * - `a11y/` the accessibility tree, reading order, live
14
+ * region announcements, keyboard walks
15
+ * - `audit/` verdicts: axe, structural and layout rules,
16
+ * contrast and target-size arithmetic, sweeps
17
+ * - `compare/` diffing a page against a baseline of itself
18
+ * - `design/` what a page is built from, and its drift
19
+ * - `element/` one element in depth: box, styles, listeners,
20
+ * animations, actionability
21
+ * - `envelope/` paging, budgets and the on-disk artifact sink
22
+ * - `environment/` emulation, storage, network shaping, status
23
+ * - `evaluate/` running an expression and surviving the result
24
+ * - `input/` key chords, pointer paths, touch gestures
25
+ * - `perf/` web vitals from the browser's own observers
26
+ * - `snapshot/` the whole page flattened, frames and shadow
27
+ * content included, and queries over it
28
+ * - `sourcemap/` where generated code was authored
29
+ * - `styles/` computed style curation and cascade tracing
30
+ * - `target/` naming an element by role and accessible name
31
+ * - `telemetry/` console, network, dialogs, downloads, lifecycle
32
+ * - `wait/` conditions worth waiting for
33
+ *
34
+ * Every subdomain but `session` is pure and capture-agnostic:
35
+ * serializable data in, answers out. That is what lets the same
36
+ * analysis run against a live page, a stored capture, or one
37
+ * taken by something that is not this library at all. Only
38
+ * `session` and `browser` reach for puppeteer, so importing an
39
+ * analysis module never starts a browser.
40
+ */
41
+ export { normalizeAxTree, renderAxOutline, } from "./a11y/index.js";
42
+ export { BrowserLaunchFailed, closeBrowser, killBrowserSync, } from "./browser.js";
43
+ export { MermaidRenderError, renderMermaid, } from "./mermaid.js";
44
+ export { AuthSetupNeeded, cleanupSessionBundles, readPage, reapAbandonedBundles, } from "./reader.js";
45
+ export { webSearch } from "./search.js";
46
+ export { BrowserSession, } from "./session.js";
47
+ export { resolveTarget, } from "./target/index.js";
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Raw input: chords, pointer gestures and touch gestures.
3
+ *
4
+ * Everything here is pure composition. A gesture is described as
5
+ * the ordered events a real hand would produce, and dispatching
6
+ * them is the session's job, so the shape of an interaction can
7
+ * be checked without a browser.
8
+ */
9
+ export { type Chord, type ChordRefusal, MODIFIER_BITS, type ModifierName, parseChords, } from "./keys.js";
10
+ export { composeClick, composeDrag, type DragOptions, interpolate, type MouseButton, type Point, type PointerEventStep, ratios, } from "./pointer.js";
11
+ export { composeLongPress, composePinch, composeSwipe, composeTap, LONG_PRESS_MS, type TouchPoint, type TouchStep, } from "./touch.js";
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Raw input: chords, pointer gestures and touch gestures.
3
+ *
4
+ * Everything here is pure composition. A gesture is described as
5
+ * the ordered events a real hand would produce, and dispatching
6
+ * them is the session's job, so the shape of an interaction can
7
+ * be checked without a browser.
8
+ */
9
+ export { MODIFIER_BITS, parseChords, } from "./keys.js";
10
+ export { composeClick, composeDrag, interpolate, ratios, } from "./pointer.js";
11
+ export { composeLongPress, composePinch, composeSwipe, composeTap, LONG_PRESS_MS, } from "./touch.js";