@descryy/mcp 0.6.0 → 0.7.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 (260) hide show
  1. package/dist/action-handshake.d.ts +8 -75
  2. package/dist/action-handshake.d.ts.map +1 -1
  3. package/dist/action-handshake.js +9 -79
  4. package/dist/action-handshake.js.map +1 -1
  5. package/dist/bin/descry-mcp.d.ts +4 -15
  6. package/dist/bin/descry-mcp.d.ts.map +1 -1
  7. package/dist/bin/descry-mcp.js +12 -42
  8. package/dist/bin/descry-mcp.js.map +1 -1
  9. package/dist/browser/driver.d.ts +59 -224
  10. package/dist/browser/driver.d.ts.map +1 -1
  11. package/dist/browser/driver.js +9 -55
  12. package/dist/browser/driver.js.map +1 -1
  13. package/dist/browser/evidence.d.ts +10 -43
  14. package/dist/browser/evidence.d.ts.map +1 -1
  15. package/dist/browser/evidence.js +20 -54
  16. package/dist/browser/evidence.js.map +1 -1
  17. package/dist/browser/fake-driver.d.ts +4 -16
  18. package/dist/browser/fake-driver.d.ts.map +1 -1
  19. package/dist/browser/fake-driver.js +6 -20
  20. package/dist/browser/fake-driver.js.map +1 -1
  21. package/dist/browser/graph-write.d.ts +4 -45
  22. package/dist/browser/graph-write.d.ts.map +1 -1
  23. package/dist/browser/graph-write.js +8 -53
  24. package/dist/browser/graph-write.js.map +1 -1
  25. package/dist/browser/playwright-driver.d.ts +7 -91
  26. package/dist/browser/playwright-driver.d.ts.map +1 -1
  27. package/dist/browser/playwright-driver.js +40 -194
  28. package/dist/browser/playwright-driver.js.map +1 -1
  29. package/dist/browser/provider.d.ts +5 -34
  30. package/dist/browser/provider.d.ts.map +1 -1
  31. package/dist/browser/provider.js +4 -24
  32. package/dist/browser/provider.js.map +1 -1
  33. package/dist/browser/registry.d.ts +26 -106
  34. package/dist/browser/registry.d.ts.map +1 -1
  35. package/dist/browser/registry.js +20 -77
  36. package/dist/browser/registry.js.map +1 -1
  37. package/dist/browser/scenario-resolve.d.ts +10 -44
  38. package/dist/browser/scenario-resolve.d.ts.map +1 -1
  39. package/dist/browser/scenario-resolve.js +10 -41
  40. package/dist/browser/scenario-resolve.js.map +1 -1
  41. package/dist/browser/scenario-runner.d.ts +12 -70
  42. package/dist/browser/scenario-runner.d.ts.map +1 -1
  43. package/dist/browser/scenario-runner.js +30 -90
  44. package/dist/browser/scenario-runner.js.map +1 -1
  45. package/dist/browser/stack-parser.d.ts +4 -28
  46. package/dist/browser/stack-parser.d.ts.map +1 -1
  47. package/dist/browser/stack-parser.js +12 -39
  48. package/dist/browser/stack-parser.js.map +1 -1
  49. package/dist/browser/tool-support.d.ts +20 -67
  50. package/dist/browser/tool-support.d.ts.map +1 -1
  51. package/dist/browser/tool-support.js +21 -65
  52. package/dist/browser/tool-support.js.map +1 -1
  53. package/dist/browser/url-scheme.d.ts +14 -0
  54. package/dist/browser/url-scheme.d.ts.map +1 -0
  55. package/dist/browser/url-scheme.js +38 -0
  56. package/dist/browser/url-scheme.js.map +1 -0
  57. package/dist/cancellation.d.ts +11 -46
  58. package/dist/cancellation.d.ts.map +1 -1
  59. package/dist/cancellation.js +11 -46
  60. package/dist/cancellation.js.map +1 -1
  61. package/dist/capped.d.ts +9 -33
  62. package/dist/capped.d.ts.map +1 -1
  63. package/dist/capped.js +7 -27
  64. package/dist/capped.js.map +1 -1
  65. package/dist/disclosure-ledger.d.ts +6 -30
  66. package/dist/disclosure-ledger.d.ts.map +1 -1
  67. package/dist/disclosure-ledger.js +4 -26
  68. package/dist/disclosure-ledger.js.map +1 -1
  69. package/dist/index.d.ts +10 -26
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +7 -17
  72. package/dist/index.js.map +1 -1
  73. package/dist/module-trust.d.ts +24 -0
  74. package/dist/module-trust.d.ts.map +1 -0
  75. package/dist/module-trust.js +60 -0
  76. package/dist/module-trust.js.map +1 -0
  77. package/dist/path-confinement.d.ts +31 -0
  78. package/dist/path-confinement.d.ts.map +1 -0
  79. package/dist/path-confinement.js +44 -0
  80. package/dist/path-confinement.js.map +1 -0
  81. package/dist/protocol.d.ts +10 -53
  82. package/dist/protocol.d.ts.map +1 -1
  83. package/dist/protocol.js +14 -60
  84. package/dist/protocol.js.map +1 -1
  85. package/dist/registry.d.ts +10 -58
  86. package/dist/registry.d.ts.map +1 -1
  87. package/dist/registry.js +38 -90
  88. package/dist/registry.js.map +1 -1
  89. package/dist/render.d.ts +42 -11
  90. package/dist/render.d.ts.map +1 -1
  91. package/dist/render.js +74 -10
  92. package/dist/render.js.map +1 -1
  93. package/dist/runtime-registry.d.ts +7 -66
  94. package/dist/runtime-registry.d.ts.map +1 -1
  95. package/dist/runtime-registry.js +39 -114
  96. package/dist/runtime-registry.js.map +1 -1
  97. package/dist/scenarios/index.d.ts +1 -1
  98. package/dist/scenarios/index.d.ts.map +1 -1
  99. package/dist/scenarios/index.js +1 -1
  100. package/dist/scenarios/index.js.map +1 -1
  101. package/dist/scenarios/parse.d.ts +4 -18
  102. package/dist/scenarios/parse.d.ts.map +1 -1
  103. package/dist/scenarios/parse.js +14 -34
  104. package/dist/scenarios/parse.js.map +1 -1
  105. package/dist/scenarios/scenario.d.ts +18 -74
  106. package/dist/scenarios/scenario.d.ts.map +1 -1
  107. package/dist/scenarios/scenario.js +7 -34
  108. package/dist/scenarios/scenario.js.map +1 -1
  109. package/dist/scenarios/storage.d.ts +11 -41
  110. package/dist/scenarios/storage.d.ts.map +1 -1
  111. package/dist/scenarios/storage.js +57 -47
  112. package/dist/scenarios/storage.js.map +1 -1
  113. package/dist/server.d.ts.map +1 -1
  114. package/dist/server.js +37 -17
  115. package/dist/server.js.map +1 -1
  116. package/dist/session.d.ts +67 -259
  117. package/dist/session.d.ts.map +1 -1
  118. package/dist/session.js +69 -250
  119. package/dist/session.js.map +1 -1
  120. package/dist/tools/analyze.d.ts +24 -118
  121. package/dist/tools/analyze.d.ts.map +1 -1
  122. package/dist/tools/analyze.js +44 -166
  123. package/dist/tools/analyze.js.map +1 -1
  124. package/dist/tools/browser-click.d.ts +3 -21
  125. package/dist/tools/browser-click.d.ts.map +1 -1
  126. package/dist/tools/browser-click.js +10 -31
  127. package/dist/tools/browser-click.js.map +1 -1
  128. package/dist/tools/browser-close-session.d.ts +4 -13
  129. package/dist/tools/browser-close-session.d.ts.map +1 -1
  130. package/dist/tools/browser-close-session.js +4 -13
  131. package/dist/tools/browser-close-session.js.map +1 -1
  132. package/dist/tools/browser-fill.d.ts +5 -36
  133. package/dist/tools/browser-fill.d.ts.map +1 -1
  134. package/dist/tools/browser-fill.js +9 -44
  135. package/dist/tools/browser-fill.js.map +1 -1
  136. package/dist/tools/browser-navigate.d.ts +6 -27
  137. package/dist/tools/browser-navigate.d.ts.map +1 -1
  138. package/dist/tools/browser-navigate.js +6 -23
  139. package/dist/tools/browser-navigate.js.map +1 -1
  140. package/dist/tools/browser-run-scenario.d.ts +5 -31
  141. package/dist/tools/browser-run-scenario.d.ts.map +1 -1
  142. package/dist/tools/browser-run-scenario.js +10 -46
  143. package/dist/tools/browser-run-scenario.js.map +1 -1
  144. package/dist/tools/browser-save-scenario.d.ts +3 -28
  145. package/dist/tools/browser-save-scenario.d.ts.map +1 -1
  146. package/dist/tools/browser-save-scenario.js +15 -74
  147. package/dist/tools/browser-save-scenario.js.map +1 -1
  148. package/dist/tools/browser-snapshot.d.ts +6 -39
  149. package/dist/tools/browser-snapshot.d.ts.map +1 -1
  150. package/dist/tools/browser-snapshot.js +4 -31
  151. package/dist/tools/browser-snapshot.js.map +1 -1
  152. package/dist/tools/browser-start-session.d.ts +4 -23
  153. package/dist/tools/browser-start-session.d.ts.map +1 -1
  154. package/dist/tools/browser-start-session.js +33 -55
  155. package/dist/tools/browser-start-session.js.map +1 -1
  156. package/dist/tools/browser-type.d.ts +5 -35
  157. package/dist/tools/browser-type.d.ts.map +1 -1
  158. package/dist/tools/browser-type.js +10 -45
  159. package/dist/tools/browser-type.js.map +1 -1
  160. package/dist/tools/contracts.d.ts +9 -86
  161. package/dist/tools/contracts.d.ts.map +1 -1
  162. package/dist/tools/contracts.js +24 -80
  163. package/dist/tools/contracts.js.map +1 -1
  164. package/dist/tools/cross-pr.d.ts +42 -30
  165. package/dist/tools/cross-pr.d.ts.map +1 -1
  166. package/dist/tools/cross-pr.js +81 -62
  167. package/dist/tools/cross-pr.js.map +1 -1
  168. package/dist/tools/git-diff.d.ts +18 -2
  169. package/dist/tools/git-diff.d.ts.map +1 -1
  170. package/dist/tools/git-diff.js +118 -26
  171. package/dist/tools/git-diff.js.map +1 -1
  172. package/dist/tools/git-history.d.ts +5 -16
  173. package/dist/tools/git-history.d.ts.map +1 -1
  174. package/dist/tools/git-history.js +3 -10
  175. package/dist/tools/git-history.js.map +1 -1
  176. package/dist/tools/history.d.ts +4 -33
  177. package/dist/tools/history.d.ts.map +1 -1
  178. package/dist/tools/history.js +6 -31
  179. package/dist/tools/history.js.map +1 -1
  180. package/dist/tools/impact.d.ts +7 -51
  181. package/dist/tools/impact.d.ts.map +1 -1
  182. package/dist/tools/impact.js +15 -67
  183. package/dist/tools/impact.js.map +1 -1
  184. package/dist/tools/index.d.ts +3 -8
  185. package/dist/tools/index.d.ts.map +1 -1
  186. package/dist/tools/index.js +3 -8
  187. package/dist/tools/index.js.map +1 -1
  188. package/dist/tools/kit.d.ts +66 -113
  189. package/dist/tools/kit.d.ts.map +1 -1
  190. package/dist/tools/kit.js +60 -28
  191. package/dist/tools/kit.js.map +1 -1
  192. package/dist/tools/link-workspace.d.ts +7 -45
  193. package/dist/tools/link-workspace.d.ts.map +1 -1
  194. package/dist/tools/link-workspace.js +10 -48
  195. package/dist/tools/link-workspace.js.map +1 -1
  196. package/dist/tools/lookup.d.ts +4 -14
  197. package/dist/tools/lookup.d.ts.map +1 -1
  198. package/dist/tools/lookup.js +4 -14
  199. package/dist/tools/lookup.js.map +1 -1
  200. package/dist/tools/mark-incident.d.ts +7 -54
  201. package/dist/tools/mark-incident.d.ts.map +1 -1
  202. package/dist/tools/mark-incident.js +15 -68
  203. package/dist/tools/mark-incident.js.map +1 -1
  204. package/dist/tools/observe-runtime.d.ts +27 -210
  205. package/dist/tools/observe-runtime.d.ts.map +1 -1
  206. package/dist/tools/observe-runtime.js +257 -435
  207. package/dist/tools/observe-runtime.js.map +1 -1
  208. package/dist/tools/observe-tests.d.ts +9 -100
  209. package/dist/tools/observe-tests.d.ts.map +1 -1
  210. package/dist/tools/observe-tests.js +24 -152
  211. package/dist/tools/observe-tests.js.map +1 -1
  212. package/dist/tools/pr-analysis.d.ts +18 -2
  213. package/dist/tools/pr-analysis.d.ts.map +1 -1
  214. package/dist/tools/pr-analysis.js +73 -23
  215. package/dist/tools/pr-analysis.js.map +1 -1
  216. package/dist/tools/pre-push.d.ts +68 -16
  217. package/dist/tools/pre-push.d.ts.map +1 -1
  218. package/dist/tools/pre-push.js +98 -35
  219. package/dist/tools/pre-push.js.map +1 -1
  220. package/dist/tools/propagation.d.ts +11 -53
  221. package/dist/tools/propagation.d.ts.map +1 -1
  222. package/dist/tools/propagation.js +14 -57
  223. package/dist/tools/propagation.js.map +1 -1
  224. package/dist/tools/questions.d.ts +13 -63
  225. package/dist/tools/questions.d.ts.map +1 -1
  226. package/dist/tools/questions.js +33 -105
  227. package/dist/tools/questions.js.map +1 -1
  228. package/dist/tools/refusal-fetch.d.ts +4 -40
  229. package/dist/tools/refusal-fetch.d.ts.map +1 -1
  230. package/dist/tools/refusal-fetch.js +4 -40
  231. package/dist/tools/refusal-fetch.js.map +1 -1
  232. package/dist/tools/runtime-incident.d.ts +4 -63
  233. package/dist/tools/runtime-incident.d.ts.map +1 -1
  234. package/dist/tools/runtime-incident.js +10 -87
  235. package/dist/tools/runtime-incident.js.map +1 -1
  236. package/dist/tools/scope.d.ts +7 -25
  237. package/dist/tools/scope.d.ts.map +1 -1
  238. package/dist/tools/scope.js +10 -29
  239. package/dist/tools/scope.js.map +1 -1
  240. package/dist/tools/similar-incidents.d.ts +11 -86
  241. package/dist/tools/similar-incidents.d.ts.map +1 -1
  242. package/dist/tools/similar-incidents.js +7 -71
  243. package/dist/tools/similar-incidents.js.map +1 -1
  244. package/dist/tools/validate.d.ts +14 -69
  245. package/dist/tools/validate.d.ts.map +1 -1
  246. package/dist/tools/validate.js +23 -74
  247. package/dist/tools/validate.js.map +1 -1
  248. package/dist/tools/verification-status.d.ts +9 -64
  249. package/dist/tools/verification-status.d.ts.map +1 -1
  250. package/dist/tools/verification-status.js +9 -62
  251. package/dist/tools/verification-status.js.map +1 -1
  252. package/dist/tools/verify-claim.d.ts +5 -52
  253. package/dist/tools/verify-claim.d.ts.map +1 -1
  254. package/dist/tools/verify-claim.js +6 -56
  255. package/dist/tools/verify-claim.js.map +1 -1
  256. package/dist/transport.d.ts +15 -52
  257. package/dist/transport.d.ts.map +1 -1
  258. package/dist/transport.js +16 -60
  259. package/dist/transport.js.map +1 -1
  260. package/package.json +30 -21
@@ -1,45 +1,7 @@
1
1
  /**
2
- * The real `BrowserDriver`, over `@descryy/runtime-browser`.
3
- *
4
- * ## Why the import is still dynamic
5
- *
6
- * `@descryy/runtime-browser` is now a declared dependency of `@descryy/mcp`
7
- * (`mcp-browser-tools.md` §3.1's publish landed) — so the reason this module
8
- * used to give for a call-time specifier import, "not on the registry yet,"
9
- * no longer holds. It stays dynamic anyway, for a reason that outgrew that
10
- * one: `loadRuntimeModule` (`PlaywrightDriverOptions`, below) is a real
11
- * injection seam that `browser-action-settle.test.ts` uses today to drive
12
- * this file's settle logic against a fake module shaped like this one,
13
- * deterministically, with no real browser involved. A static
14
- * `import … from "@descryy/runtime-browser"` at the top of this file would
15
- * remove that seam along with the indirection, and nothing here needs
16
- * removing it — the package being on the registry made the *dependency*
17
- * declarable, not the import path mandatory. Absence (package missing,
18
- * import throws, or Chromium missing) is still a **named refusal with a
19
- * remedy**, exactly as before — see `provider.ts`.
20
- *
21
- * ## What this adds over the runtime package, and what it deliberately does not
22
- *
23
- * It adds exactly one thing the runtime has no API for: **element refs.** The
24
- * port's contract is that an action names an element the agent has seen, and
25
- * `BrowserActionCollector` acts on raw selectors. So this module enumerates
26
- * the page's interactive elements, holds a Playwright `ElementHandle` per ref,
27
- * and drops the whole map on navigation. Handles rather than injected `data-`
28
- * attributes on purpose: stamping the DOM would make the act of observing
29
- * change the page being observed, and a detached element then fails naturally
30
- * instead of resolving to whatever took its place.
31
- *
32
- * Everything else is composition. Launch, click, type, fill, console capture,
33
- * network capture, the `fetch()` initiator stack and its source-map rewrite
34
- * are all the runtime package's, called rather than reimplemented.
35
- *
36
- * ## Rule 1
37
- *
38
- * No language is named here. The stack-trace parser that turns a raw browser
39
- * stack into resolved frames is handed in by the caller as a module specifier
40
- * — the same mechanism `runtime-registry.ts` uses for runtime adapters, for
41
- * the same reason. Without one, requests are still observed and no caller
42
- * edge is written; the reply says so.
2
+ * The real `BrowserDriver`, over `@descryy/runtime-browser`. Import stays
3
+ * dynamic — `loadRuntimeModule` is a test injection seam (fake module, no
4
+ * browser needed). Adds only element refs over the runtime; stack-trace parsing is caller-supplied (rule 1: no language named here).
43
5
  */
44
6
  var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
45
7
  if (typeof path === "string" && /^\.\.?\//.test(path)) {
@@ -53,40 +15,15 @@ import { BrowserSessionCrashedError, UnknownElementRefError } from "./driver.js"
53
15
  /** The module the driver composes. Named once, imported at call time. */
54
16
  const RUNTIME_BROWSER_MODULE = "@descryy/runtime-browser";
55
17
  const defaultRuntimeModuleLoader = () => import(__rewriteRelativeImportExtension(RUNTIME_BROWSER_MODULE));
56
- /**
57
- * How long an action waits for the page to *start* doing something.
58
- *
59
- * This is the one half of the wait that cannot be made conditional: there is
60
- * no signal for "this click will never issue a request", and proving that
61
- * negative is proving a negative. It is the old fixed 300ms, kept at its old
62
- * value so an action that causes nothing observes exactly what it observed
63
- * before — and it is now a *ceiling* rather than a duration, since any
64
- * request that starts inside it moves the wait onto the settle condition
65
- * below.
66
- */
18
+ /** Ceiling on waiting for network activity to *start* — no signal proves "never will". Kept at the old fixed 300ms so a no-op action observes the same as before. */
67
19
  const ACTIVITY_GRACE_MS = 300;
68
- /**
69
- * After the last request lifecycle event, how long of nothing counts as
70
- * settled. Short on purpose: this fires only once activity has been seen, so
71
- * it measures a gap between requests, not a guess about whether any will come.
72
- */
20
+ /** How long after the last request event counts as settled; fires only once activity is seen, so it measures a gap, not a guess about more coming. */
73
21
  const NETWORK_QUIET_MS = 120;
74
- /**
75
- * The ceiling on the whole wait. A page that never stops requesting must not
76
- * hold a tool call open forever; reaching this is recorded on the observation
77
- * and disclosed, never swallowed.
78
- */
22
+ /** Ceiling on the whole wait; reaching it is recorded on the observation and disclosed, never swallowed. */
79
23
  const SETTLE_TIMEOUT_MS = 5_000;
80
24
  /** How often the settle loop re-checks. Small enough not to add latency of its own. */
81
25
  const POLL_INTERVAL_MS = 10;
82
- /**
83
- * Elements an agent can act on.
84
- *
85
- * Deliberately narrow. A snapshot of every node on the page would be
86
- * enormous, mostly unactionable, and would push the reply budget into
87
- * dropping the elements that matter. `[role]` is included so an application
88
- * that builds its own controls is not invisible.
89
- */
26
+ /** Elements an agent can act on — deliberately narrow; a full-page snapshot would blow the reply budget. `[role]` included for custom controls. */
90
27
  const INTERACTIVE = "a, button, input, select, textarea, [role], [onclick], summary";
91
28
  export class BrowserBackendMissingError extends Error {
92
29
  constructor(cause) {
@@ -119,9 +56,7 @@ async function openSession(runtime, session, launchOptions, options) {
119
56
  const emitted = [];
120
57
  const actions = [];
121
58
  const unsettled = [];
122
- // The request lifecycle, counted rather than slept through. `inFlight` is
123
- // what "the page is still doing something" means, and `lastEventAt` is what
124
- // separates a gap between two requests from the end of them.
59
+ // inFlight/lastEventAt track request activity: counted, not slept through.
125
60
  let inFlight = 0;
126
61
  let lastEventAt = 0;
127
62
  session.page.on("request", () => {
@@ -160,12 +95,9 @@ async function openSession(runtime, session, launchOptions, options) {
160
95
  ...(options.service === undefined ? {} : { service: options.service }),
161
96
  ...(options.stackParser === undefined ? {} : { stackTraceParser: options.stackParser }),
162
97
  });
163
- // Started before the first navigation, deliberately. The initiator capture
164
- // wraps `fetch` via an init script, and Playwright's own contract is that
165
- // an init script does not reach a document already loaded — so a collector
166
- // started after navigating would observe a page it could never have
167
- // instrumented, and would report an honest-looking empty stack for every
168
- // request.
98
+ // Started before first navigation: Playwright's init-script contract means
99
+ // a collector started later misses instrumentation, reporting an
100
+ // honest-looking but empty stack.
169
101
  await actionCollector.start(context);
170
102
  await consoleCollector.start(context);
171
103
  await networkCollector.start(context);
@@ -183,26 +115,7 @@ async function openSession(runtime, session, launchOptions, options) {
183
115
  function recordAction(action, ref, mode) {
184
116
  actions.push({ action, ref, mode, url: session.page.url(), at: new Date().toISOString() });
185
117
  }
186
- /**
187
- * Waits for the network activity this action caused, and records it when it
188
- * does not arrive.
189
- *
190
- * Two conditions, because there are two different questions:
191
- *
192
- * - **Did anything start?** There is no signal for "nothing will", so this
193
- * half is a bounded wait — `ACTIVITY_GRACE_MS`, the old fixed sleep's own
194
- * value, so an action that causes nothing observes exactly what it did
195
- * before. It is a ceiling now rather than a duration: the moment a
196
- * request starts, the wait moves onto the second condition.
197
- * - **Has it finished?** Nothing in flight, and nothing new for
198
- * `NETWORK_QUIET_MS`. This is the half the fixed sleep got wrong: a
199
- * request that took longer than 300ms was not waited for and its
200
- * evidence was silently absent from the reply.
201
- *
202
- * Whichever condition is running, the whole wait is capped at
203
- * `SETTLE_TIMEOUT_MS` — and reaching that cap is recorded on the
204
- * observation, never swallowed.
205
- */
118
+ /** Waits for the action's network effect (started within `ACTIVITY_GRACE_MS`, then quiet for `NETWORK_QUIET_MS`), capped at `SETTLE_TIMEOUT_MS` — reaching the cap is recorded, never swallowed. */
206
119
  async function settleAfterAction(action, ref) {
207
120
  const startedAt = Date.now();
208
121
  lastEventAt = startedAt;
@@ -266,25 +179,18 @@ async function openSession(runtime, session, launchOptions, options) {
266
179
  : tag === "input" && type === "checkbox"
267
180
  ? "checkbox"
268
181
  : tag);
269
- // A pragmatic accessible name, not a full AccName implementation:
270
- // the label a person would read, in the order a person would find
271
- // it. Named as an approximation rather than presented as the
272
- // accessibility tree's own answer.
182
+ // A pragmatic accessible-name approximation, not a full AccName implementation.
273
183
  const name = el.getAttribute("aria-label") ??
274
184
  el.innerText?.trim() ??
275
185
  el.textContent?.trim() ??
276
186
  el.getAttribute("placeholder") ??
277
187
  el.getAttribute("name") ??
278
188
  "";
279
- // --- a real, re-resolvable selector, computed in this same
280
- // round trip so role/name/selector are all read off one live
281
- // DOM state. Everything below runs *inside the page* — it is
282
- // serialized by Playwright, so it must be entirely self
283
- // contained (no closures over the outer module).
284
- // An id that looks generated rather than authored: a hex run
285
- // (a hashed/uuid-derived id), React's `:r0:`-style useId
286
- // output, or blank. Rejected because "stable across a reload"
287
- // is exactly the property a generated id does not have.
189
+ // Computed in this same round trip so role/name/selector read off
190
+ // one live DOM state; runs inside the page (serialized by
191
+ // Playwright), so it must not close over the outer module.
192
+ // Rejects ids that look generated (hex run, React's `:r0:` useId
193
+ // style, or blank) — "stable across reload" is what a generated id lacks.
288
194
  const GENERATED_ID = /[0-9a-f]{8}|:r[0-9a-z]+:|^\s*$/i;
289
195
  const FORM_CONTROLS = ["input", "select", "textarea", "button"];
290
196
  function escapeAttrValue(value) {
@@ -295,9 +201,7 @@ async function openSession(runtime, session, launchOptions, options) {
295
201
  return el.ownerDocument.querySelectorAll(candidate).length === 1;
296
202
  }
297
203
  catch {
298
- // An attribute value that produces an invalid selector (rare,
299
- // but not impossible) is treated as "no candidate" rather
300
- // than thrown — the caller falls through to the next tier.
204
+ // Invalid selector (rare) is treated as "no candidate", not thrown.
301
205
  return false;
302
206
  }
303
207
  }
@@ -344,12 +248,9 @@ async function openSession(runtime, session, launchOptions, options) {
344
248
  return null;
345
249
  }
346
250
  function computeSelector(target) {
347
- // Priority order: first candidate that is unique in the whole
348
- // document wins. Each tier is checked for uniqueness on its
349
- // own — a data-testid shared by two elements is not
350
- // addressable either, and the next tier gets its turn rather
351
- // than giving up at the first attribute that happens to be
352
- // present.
251
+ // Priority order: first unique candidate wins. Each tier is checked
252
+ // independently — a shared data-testid isn't addressable either,
253
+ // so the next tier gets a turn instead of stopping there.
353
254
  const testId = target.getAttribute("data-testid");
354
255
  if (testId !== null && testId.trim() !== "") {
355
256
  const candidate = `[data-testid="${escapeAttrValue(testId)}"]`;
@@ -407,9 +308,7 @@ async function openSession(runtime, session, launchOptions, options) {
407
308
  assertUsable();
408
309
  await resolve(ref).handle.click();
409
310
  recordAction("click", ref, null);
410
- // `requestfinished` fires after the page's own handler resolves, so a
411
- // drain immediately after a click would miss the request the click
412
- // caused — which is the request this whole feature exists to witness.
311
+ // requestfinished fires after the page's handler resolves; draining immediately would miss the very request being watched for.
413
312
  await settleAfterAction("click", ref);
414
313
  },
415
314
  async type(ref, text) {
@@ -441,9 +340,8 @@ async function openSession(runtime, session, launchOptions, options) {
441
340
  if (finalObservation !== null)
442
341
  return finalObservation;
443
342
  closed = true;
444
- // Collectors are stopped before the observation is taken: a stop
445
- // flushes whatever the collector was still holding, and taking the
446
- // observation first would drop exactly that.
343
+ // Stopped before observing: a stop flushes what each collector was
344
+ // still holding, which observing first would drop.
447
345
  await actionCollector.stop().catch(() => { });
448
346
  await consoleCollector.stop().catch(() => { });
449
347
  await networkCollector.stop().catch(() => { });
@@ -458,33 +356,16 @@ async function openSession(runtime, session, launchOptions, options) {
458
356
  },
459
357
  };
460
358
  }
461
- /**
462
- * Turn what the collectors emitted into the port's vocabulary.
463
- *
464
- * The request/response join is on `requestId`, because a `NETWORK_REQUEST`
465
- * carries the method, the URL and the call-site stack while only the matching
466
- * `NETWORK_RESPONSE` knows the status. A request with no response is kept with
467
- * `status: null` — "never answered" is a different fact from a 500, and the
468
- * port says so.
469
- *
470
- * Exported for `browser-request-outcome-mapping.test.ts` — see
471
- * `EmittedEvidence`'s doc comment for why.
472
- */
359
+ /** Turns collector evidence into the port's vocabulary. Joins request/response on `requestId`, keeping `status: null` (not guessed) when unanswered. Exported for `browser-request-outcome-mapping.test.ts`. */
473
360
  export function collect(emitted, actions, unsettled) {
474
- // Two joins, in priority order, because `requestId` is a *correlation
475
- // header* and not a transport id: it exists only when the application
476
- // itself propagates one. The fixture's own delete sets `x-request-id`, so
477
- // an id-only join looked correct while silently reporting `status: null`
478
- // for every request the page issued without one — which is most of them.
361
+ // Two joins, by priority: `requestId` is a correlation header the app must
362
+ // itself propagate, not a transport id — an id-only join silently reported
363
+ // `status: null` for every request without one, i.e. most of them.
479
364
  const statusByRequestId = new Map();
480
365
  const statusByUrl = new Map();
481
- // B3: the same two joins, for `outcome`. `descry-runtime` stamps
482
- // `outcome: "answered"` on every `NETWORK_RESPONSE` and `"unanswered"` on a
483
- // paired `HTTP_ERROR` (a real `requestfailed`, a collector timeout, or a
484
- // WebSocket `socketerror`); it never emits `"pending"` itself — a request
485
- // still open when the drain runs simply has no terminal event at all,
486
- // which is why `pairedRequestIds`/`pairedUrls` below track "a terminal
487
- // event existed" separately from "and it named a recognisable outcome".
366
+ // B3: same two joins, for `outcome`. `descry-runtime` stamps "answered" or
367
+ // "unanswered", never "pending" itself — a still-open request at drain time
368
+ // has no terminal event, which pairedRequestIds/pairedUrls track separately.
488
369
  const outcomeByRequestId = new Map();
489
370
  const outcomeByUrl = new Map();
490
371
  const pairedRequestIds = new Set();
@@ -502,9 +383,7 @@ export function collect(emitted, actions, unsettled) {
502
383
  if (typeof status === "number") {
503
384
  if (evidence.requestId !== null)
504
385
  statusByRequestId.set(evidence.requestId, status);
505
- // Last response wins: a page that requests the same URL twice reports
506
- // the most recent outcome, which is the one a caller reading this
507
- // reply is asking about.
386
+ // Last response wins: repeat requests report the most recent outcome.
508
387
  if (typeof url === "string")
509
388
  statusByUrl.set(url, status);
510
389
  }
@@ -528,12 +407,9 @@ export function collect(emitted, actions, unsettled) {
528
407
  const requestId = evidence.requestId;
529
408
  const pairedOutcome = (requestId === null ? undefined : outcomeByRequestId.get(requestId)) ?? outcomeByUrl.get(url);
530
409
  const wasPaired = (requestId !== null && pairedRequestIds.has(requestId)) || pairedUrls.has(url);
531
- // A recognised outcome from the paired terminal event wins; no terminal
532
- // event at all means the request was still in flight when the drain
533
- // happened, so "pending"; a terminal event that exists but names no
534
- // recognisable outcome (an older `descry-runtime` build) leaves the
535
- // field undefined rather than guessing — `isFailedRequest`'s documented
536
- // fallback is what handles that case, not this function.
410
+ // Paired outcome wins; no terminal event means still in-flight
411
+ // ("pending"); an unrecognised outcome (older runtime build) leaves the
412
+ // field undefined — `isFailedRequest`'s fallback handles that, not this.
537
413
  const outcome = pairedOutcome ?? (wasPaired ? undefined : "pending");
538
414
  requests.push({
539
415
  method,
@@ -547,9 +423,7 @@ export function collect(emitted, actions, unsettled) {
547
423
  });
548
424
  continue;
549
425
  }
550
- // An uncaught page error and a console error are both "the page reported
551
- // something went wrong"; a caller triaging them does not need to know
552
- // which listener fired.
426
+ // Uncaught page error and console error both mean "something went wrong"; callers don't need to know which listener fired.
553
427
  if (evidence.eventType === "EXCEPTION" || evidence.eventType === "CONSOLE_MESSAGE") {
554
428
  const level = evidence.payload["level"] ?? evidence.payload["type"];
555
429
  if (evidence.eventType === "CONSOLE_MESSAGE" && level !== "error")
@@ -565,30 +439,14 @@ export function collect(emitted, actions, unsettled) {
565
439
  }
566
440
  return { actions: [...actions], consoleErrors, requests, unsettled: [...unsettled] };
567
441
  }
568
- /**
569
- * Reads a terminal event's `outcome` off an untyped payload.
570
- *
571
- * Validated rather than cast, exactly like `scriptUrlOutcomesOf` below: this
572
- * crosses a package boundary — the field is `@descryy/runtime-browser`'s to
573
- * set, and this build does not depend on that package's types — so an
574
- * absent or unrecognised value must degrade to "no outcome reported", never
575
- * be cast through as one of the three known literals it might not actually
576
- * be.
577
- */
442
+ /** Reads `outcome` off an untyped cross-package payload; validated not cast, since this build doesn't depend on `@descryy/runtime-browser`'s types — unrecognised values degrade to undefined, never a guessed literal. */
578
443
  function requestOutcomeOf(payload) {
579
444
  const raw = payload["outcome"];
580
445
  if (raw === "answered" || raw === "unanswered" || raw === "pending")
581
446
  return raw;
582
447
  return undefined;
583
448
  }
584
- /**
585
- * Reads the collector's `scriptUrlMapping` off an untyped payload.
586
- *
587
- * Validated rather than cast. This crosses a package boundary — the shape is
588
- * `@descryy/runtime-browser`'s and this build does not even depend on it — so
589
- * a malformed or absent field must degrade to "no mapping was reported",
590
- * never to a half-populated outcome that reads like a real one.
591
- */
449
+ /** Reads `scriptUrlMapping` off an untyped cross-package payload; validated not cast, so a malformed/absent field degrades to "no mapping reported" rather than a half-populated result. */
592
450
  function scriptUrlOutcomesOf(payload) {
593
451
  const raw = payload["scriptUrlMapping"];
594
452
  if (!Array.isArray(raw))
@@ -611,19 +469,7 @@ function scriptUrlOutcomesOf(payload) {
611
469
  }
612
470
  return outcomes;
613
471
  }
614
- /**
615
- * A short, readable rendering of a parsed stack.
616
- *
617
- * `StackTrace` carries frames, not the original text — the raw string is
618
- * consumed by the parser and deliberately not kept, since a parsed frame with
619
- * a resolved on-disk path is strictly more useful than the `http://` line it
620
- * came from. So the port's `stackText` is rendered from the frames rather
621
- * than passed through, and it is for a human reading the reply: the R4 write
622
- * uses `stackTrace`, never this.
623
- *
624
- * The primary frame is marked, because it is the one a developer should be
625
- * sent to and it is not always the innermost.
626
- */
472
+ /** Human-readable rendering of parsed stack frames, for the reply; the R4 write uses `stackTrace` itself, never this. Primary frame marked since it isn't always the innermost. */
627
473
  function renderStack(stack) {
628
474
  if (stack === null || stack.frames.length === 0)
629
475
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-driver.js","sourceRoot":"","sources":["../../src/browser/playwright-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playwright-driver.js","sourceRoot":"","sources":["../../src/browser/playwright-driver.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,12 @@
1
1
  /**
2
- * Where a tool gets a browser.
3
- *
4
- * `@descryy/runtime-browser` is published and declared as a dependency of this
5
- * package, so a complete install has a real driver in it. It is still imported by
6
- * specifier at call time rather than statically — that indirection is the
7
- * injection seam the tests drive the settle logic through, against a fake module
8
- * with no real browser involved (see `playwright-driver.ts`) — and an import can
9
- * still fail for reasons an install does not rule out: a pruned dependency tree,
10
- * or a Chromium binary that was never downloaded. That absence is handled the way
11
- * this codebase handles every expected inability: as a **named refusal with a
12
- * remedy**, returned rather than thrown, and never as a tool that quietly does
13
- * nothing.
14
- *
15
- * Rule 7 is the whole point of this file. A browser tool in a build with no
16
- * browser backend must say *"this build cannot do that, and here is why"* —
17
- * not fail obscurely inside a missing import, and certainly not return an
18
- * empty snapshot that reads like a page with no elements on it.
2
+ * Where a tool gets a browser. Imported by specifier at call time (test
3
+ * injection seam, see `playwright-driver.ts`) even though the package is a
4
+ * declared dependency. Rule 7: absence is a named refusal with a remedy, never a silent no-op or an empty snapshot pretending to be a real page.
19
5
  */
20
6
  import type { StackTraceParser } from "@descryy/runtime-backend-observation";
21
7
  import type { ServiceRootLookup } from "@descryy/runtime-contracts";
22
8
  import type { BrowserDriver } from "./driver.ts";
23
- /**
24
- * Builds the driver one session will use.
25
- *
26
- * Takes the per-session facts a driver cannot know for itself: which parser
27
- * can read this application's stack traces, and which on-disk root serves the
28
- * origin being driven. Both are the caller's to state — see
29
- * `stack-parser.ts` for why the parser cannot be chosen here, and
30
- * `browser_start_session`'s `documentRoot` for why the root cannot be
31
- * guessed.
32
- */
9
+ /** Builds the driver for one session: the per-session facts a driver can't know itself — which parser reads this app's stack traces, which on-disk root serves the origin. Caller-supplied; see `stack-parser.ts` and `documentRoot`. */
33
10
  export type BrowserDriverFactory = (options: {
34
11
  readonly stackParser?: StackTraceParser;
35
12
  readonly resolveSourceRoot?: (origin: string) => ServiceRootLookup;
@@ -44,12 +21,6 @@ export type BrowserBackend = {
44
21
  readonly available: true;
45
22
  readonly createDriver: BrowserDriverFactory;
46
23
  } | BrowserBackendUnavailable;
47
- /**
48
- * The stand-in used until the real driver is wired at the final swap.
49
- *
50
- * Deliberately not a driver that launches nothing successfully — that would
51
- * make every browser tool return a plausible, empty, wrong answer. It is an
52
- * explicit unavailability instead.
53
- */
24
+ /** Stand-in until the real driver is wired at the final swap — deliberately not a driver that launches nothing successfully (would look like an empty, wrong answer); an explicit unavailability instead. */
54
25
  export declare const BROWSER_BACKEND_NOT_INSTALLED: BrowserBackendUnavailable;
55
26
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/browser/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;;;;;GASG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,CAAC;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAE7B,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAA;CAAE,GAAG,yBAAyB,CAAC;AAEnI;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,EAAE,yBAO3C,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/browser/provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,yOAAyO;AACzO,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,CAAC;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAE7B,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAA;CAAE,GAAG,yBAAyB,CAAC;AAEnI,6MAA6M;AAC7M,eAAO,MAAM,6BAA6B,EAAE,yBAO3C,CAAC"}
@@ -1,29 +1,9 @@
1
1
  /**
2
- * Where a tool gets a browser.
3
- *
4
- * `@descryy/runtime-browser` is published and declared as a dependency of this
5
- * package, so a complete install has a real driver in it. It is still imported by
6
- * specifier at call time rather than statically — that indirection is the
7
- * injection seam the tests drive the settle logic through, against a fake module
8
- * with no real browser involved (see `playwright-driver.ts`) — and an import can
9
- * still fail for reasons an install does not rule out: a pruned dependency tree,
10
- * or a Chromium binary that was never downloaded. That absence is handled the way
11
- * this codebase handles every expected inability: as a **named refusal with a
12
- * remedy**, returned rather than thrown, and never as a tool that quietly does
13
- * nothing.
14
- *
15
- * Rule 7 is the whole point of this file. A browser tool in a build with no
16
- * browser backend must say *"this build cannot do that, and here is why"* —
17
- * not fail obscurely inside a missing import, and certainly not return an
18
- * empty snapshot that reads like a page with no elements on it.
19
- */
20
- /**
21
- * The stand-in used until the real driver is wired at the final swap.
22
- *
23
- * Deliberately not a driver that launches nothing successfully — that would
24
- * make every browser tool return a plausible, empty, wrong answer. It is an
25
- * explicit unavailability instead.
2
+ * Where a tool gets a browser. Imported by specifier at call time (test
3
+ * injection seam, see `playwright-driver.ts`) even though the package is a
4
+ * declared dependency. Rule 7: absence is a named refusal with a remedy, never a silent no-op or an empty snapshot pretending to be a real page.
26
5
  */
6
+ /** Stand-in until the real driver is wired at the final swap — deliberately not a driver that launches nothing successfully (would look like an empty, wrong answer); an explicit unavailability instead. */
27
7
  export const BROWSER_BACKEND_NOT_INSTALLED = {
28
8
  available: false,
29
9
  reason: "This build of @descryy/mcp has no browser backend. The browser tools are declared so a caller can see " +
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/browser/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AA+BH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAA8B;IACtE,SAAS,EAAE,KAAK;IAChB,MAAM,EACJ,wGAAwG;QACxG,6GAA6G;QAC7G,2CAA2C;IAC7C,MAAM,EAAE,2EAA2E;CACpF,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/browser/provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsBH,6MAA6M;AAC7M,MAAM,CAAC,MAAM,6BAA6B,GAA8B;IACtE,SAAS,EAAE,KAAK;IAChB,MAAM,EACJ,wGAAwG;QACxG,6GAA6G;QAC7G,2CAA2C;IAC7C,MAAM,EAAE,2EAA2E;CACpF,CAAC"}