browser-debugger-cli 0.7.2 → 0.9.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 (1172) hide show
  1. package/README.md +17 -6
  2. package/dist/cdp/protocol.d.ts +1 -1
  3. package/dist/cdp/protocol.js +1 -1
  4. package/dist/cdp/schema.d.ts +14 -1
  5. package/dist/cdp/schema.js +61 -7
  6. package/dist/commands/cdp.js +76 -23
  7. package/dist/commands/cleanup.d.ts +11 -0
  8. package/dist/commands/cleanup.js +167 -55
  9. package/dist/commands/console.d.ts +38 -2
  10. package/dist/commands/console.js +147 -62
  11. package/dist/commands/details.js +15 -4
  12. package/dist/commands/dom/DomElementResolver.d.ts +34 -72
  13. package/dist/commands/dom/DomElementResolver.js +93 -166
  14. package/dist/commands/dom/a11y.d.ts +10 -0
  15. package/dist/commands/dom/a11y.js +75 -34
  16. package/dist/commands/dom/eval.d.ts +15 -0
  17. package/dist/commands/dom/eval.js +68 -0
  18. package/dist/commands/dom/form.js +109 -199
  19. package/dist/commands/dom/formInteraction.d.ts +6 -1
  20. package/dist/commands/dom/formInteraction.js +319 -362
  21. package/dist/commands/dom/formSummary.d.ts +49 -0
  22. package/dist/commands/dom/formSummary.js +180 -0
  23. package/dist/commands/dom/frames.d.ts +13 -0
  24. package/dist/commands/dom/frames.js +43 -0
  25. package/dist/commands/dom/get.d.ts +21 -0
  26. package/dist/commands/dom/get.js +151 -0
  27. package/dist/commands/dom/helpers/index.d.ts +11 -0
  28. package/dist/commands/dom/helpers/index.js +10 -0
  29. package/dist/commands/dom/helpers/query.d.ts +105 -0
  30. package/dist/commands/dom/helpers/query.js +604 -0
  31. package/dist/commands/dom/helpers/runElementCommand.d.ts +64 -0
  32. package/dist/commands/dom/helpers/runElementCommand.js +130 -0
  33. package/dist/commands/dom/helpers/screenshot.d.ts +33 -0
  34. package/dist/commands/dom/helpers/screenshot.js +489 -0
  35. package/dist/commands/dom/index.d.ts +17 -3
  36. package/dist/commands/dom/index.js +61 -517
  37. package/dist/commands/dom/layout.d.ts +14 -0
  38. package/dist/commands/dom/layout.js +54 -0
  39. package/dist/commands/dom/listeners.d.ts +20 -0
  40. package/dist/commands/dom/listeners.js +64 -0
  41. package/dist/commands/dom/query.d.ts +14 -0
  42. package/dist/commands/dom/query.js +35 -0
  43. package/dist/commands/dom/screenshot.d.ts +31 -0
  44. package/dist/commands/dom/screenshot.js +272 -0
  45. package/dist/commands/dom/semanticUtils.d.ts +37 -0
  46. package/dist/commands/dom/semanticUtils.js +98 -0
  47. package/dist/commands/dom/wait.d.ts +13 -0
  48. package/dist/commands/dom/wait.js +83 -0
  49. package/dist/commands/helpJson.d.ts +4 -2
  50. package/dist/commands/helpJson.js +12 -32
  51. package/dist/commands/helpTopic.d.ts +32 -0
  52. package/dist/commands/helpTopic.js +58 -0
  53. package/dist/commands/network/har.js +50 -24
  54. package/dist/commands/network/list.js +97 -71
  55. package/dist/commands/network/shared.d.ts +9 -15
  56. package/dist/commands/network/shared.js +30 -51
  57. package/dist/commands/optionBehaviors.d.ts +1 -9
  58. package/dist/commands/optionBehaviors.js +148 -36
  59. package/dist/commands/page.d.ts +12 -0
  60. package/dist/commands/page.js +148 -0
  61. package/dist/commands/peek.js +64 -57
  62. package/dist/commands/sessions.d.ts +8 -0
  63. package/dist/commands/sessions.js +19 -0
  64. package/dist/commands/shared/CommandRunner.d.ts +18 -1
  65. package/dist/commands/shared/CommandRunner.js +83 -26
  66. package/dist/commands/shared/commonOptions.d.ts +10 -0
  67. package/dist/commands/shared/commonOptions.js +12 -0
  68. package/dist/commands/shared/daemonErrorHandler.d.ts +9 -0
  69. package/dist/commands/shared/daemonErrorHandler.js +31 -11
  70. package/dist/commands/shared/dataFetcher.d.ts +33 -10
  71. package/dist/commands/shared/dataFetcher.js +57 -20
  72. package/dist/commands/shared/followMode.d.ts +21 -4
  73. package/dist/commands/shared/followMode.js +34 -12
  74. package/dist/commands/shared/handleValidationError.d.ts +14 -0
  75. package/dist/commands/shared/handleValidationError.js +48 -0
  76. package/dist/commands/shared/optionTypes.d.ts +80 -25
  77. package/dist/commands/shared/outputFile.d.ts +33 -0
  78. package/dist/commands/shared/outputFile.js +78 -0
  79. package/dist/commands/shared/startHelpers.d.ts +5 -8
  80. package/dist/commands/shared/startHelpers.js +235 -37
  81. package/dist/commands/shared/validation.d.ts +43 -0
  82. package/dist/commands/shared/validation.js +102 -22
  83. package/dist/commands/start.d.ts +91 -1
  84. package/dist/commands/start.js +328 -40
  85. package/dist/commands/status.js +76 -17
  86. package/dist/commands/stop.js +21 -30
  87. package/dist/commands/tail.js +22 -44
  88. package/dist/commands/types.d.ts +2 -0
  89. package/dist/commands.js +4 -0
  90. package/dist/connection/cdp.d.ts +12 -6
  91. package/dist/connection/cdp.js +59 -16
  92. package/dist/connection/chromeIdentity.d.ts +65 -0
  93. package/dist/connection/chromeIdentity.js +143 -0
  94. package/dist/connection/diagnostics.d.ts +0 -9
  95. package/dist/connection/diagnostics.js +0 -13
  96. package/dist/connection/errors.d.ts +36 -1
  97. package/dist/connection/errors.js +43 -3
  98. package/dist/connection/handlers.d.ts +5 -5
  99. package/dist/connection/handlers.js +1 -1
  100. package/dist/connection/inFlightRequests.d.ts +33 -0
  101. package/dist/connection/inFlightRequests.js +52 -0
  102. package/dist/connection/launcher/binaryResolver.js +20 -7
  103. package/dist/connection/launcher/flagsBuilder.d.ts +24 -54
  104. package/dist/connection/launcher/flagsBuilder.js +65 -40
  105. package/dist/connection/launcher/preferencesLoader.js +27 -8
  106. package/dist/connection/launcher/profilePreferences.d.ts +47 -0
  107. package/dist/connection/launcher/profilePreferences.js +151 -0
  108. package/dist/connection/launcher.d.ts +22 -1
  109. package/dist/connection/launcher.js +89 -44
  110. package/dist/connection/pageReadiness.d.ts +5 -6
  111. package/dist/connection/pageReadiness.js +63 -120
  112. package/dist/connection/portReservation.d.ts +20 -0
  113. package/dist/connection/portReservation.js +52 -2
  114. package/dist/connection/startupExit.d.ts +45 -0
  115. package/dist/connection/startupExit.js +116 -0
  116. package/dist/connection/typed-cdp.d.ts +8 -6
  117. package/dist/connection/typed-cdp.js +5 -3
  118. package/dist/connection/types.d.ts +3 -0
  119. package/dist/constants.d.ts +27 -24
  120. package/dist/constants.js +37 -27
  121. package/dist/daemon/SessionController.d.ts +125 -0
  122. package/dist/daemon/SessionController.js +488 -0
  123. package/dist/daemon/errors.d.ts +15 -19
  124. package/dist/daemon/errors.js +18 -21
  125. package/dist/daemon/ipcServer.d.ts +44 -30
  126. package/dist/daemon/ipcServer.js +164 -132
  127. package/dist/daemon/launcher.d.ts +14 -21
  128. package/dist/daemon/launcher.js +94 -102
  129. package/dist/daemon/messages.d.ts +29 -0
  130. package/dist/daemon/messages.js +35 -0
  131. package/dist/daemon/patternDefinitions.d.ts +1 -1
  132. package/dist/daemon/patternDefinitions.js +3 -2
  133. package/dist/daemon/patternDetector.d.ts +13 -29
  134. package/dist/daemon/patternDetector.js +26 -47
  135. package/dist/daemon/server/SocketServer.d.ts +56 -2
  136. package/dist/daemon/server/SocketServer.js +130 -30
  137. package/dist/daemon/session/Session.d.ts +150 -0
  138. package/dist/daemon/session/Session.js +337 -0
  139. package/dist/daemon/session/TelemetryStore.d.ts +30 -0
  140. package/dist/daemon/session/TelemetryStore.js +44 -0
  141. package/dist/daemon/session/cdpSetup.d.ts +47 -0
  142. package/dist/daemon/session/cdpSetup.js +94 -0
  143. package/dist/daemon/session/chromeConnection.d.ts +47 -0
  144. package/dist/daemon/session/chromeConnection.js +215 -0
  145. package/dist/daemon/{worker → session}/collectors.d.ts +3 -3
  146. package/dist/daemon/{worker → session}/collectors.js +3 -3
  147. package/dist/daemon/session/commandRegistry.js +435 -0
  148. package/dist/daemon/session/interactions.d.ts +53 -0
  149. package/dist/daemon/session/interactions.js +71 -0
  150. package/dist/daemon/{worker → session}/plugins.d.ts +3 -3
  151. package/dist/daemon/session/plugins.js +219 -0
  152. package/dist/daemon/session/targetMismatch.d.ts +34 -0
  153. package/dist/daemon/session/targetMismatch.js +83 -0
  154. package/dist/daemon/session/teardown.d.ts +27 -0
  155. package/dist/daemon/session/teardown.js +128 -0
  156. package/dist/daemon/session/triggeredRequests.d.ts +67 -0
  157. package/dist/daemon/session/triggeredRequests.js +157 -0
  158. package/dist/daemon/session/types.d.ts +19 -0
  159. package/dist/daemon.d.ts +3 -4
  160. package/dist/daemon.js +19149 -24
  161. package/dist/{ui/errors → errors}/CommandError.js +1 -1
  162. package/dist/{ui/errors → errors}/index.d.ts +2 -0
  163. package/dist/errors/issues.d.ts +16 -0
  164. package/dist/errors/issues.js +11 -0
  165. package/dist/errors/messages.d.ts +908 -0
  166. package/dist/errors/messages.js +1653 -0
  167. package/dist/errors/notices.d.ts +30 -0
  168. package/dist/errors/notices.js +11 -0
  169. package/dist/{ui/errors → errors}/utils.js +1 -1
  170. package/dist/index.js +18828 -168
  171. package/dist/ipc/client.d.ts +56 -9
  172. package/dist/ipc/client.js +115 -19
  173. package/dist/ipc/index.d.ts +2 -2
  174. package/dist/ipc/index.js +2 -2
  175. package/dist/ipc/protocol/commands.d.ts +305 -59
  176. package/dist/ipc/protocol/commands.js +29 -21
  177. package/dist/ipc/protocol/domTypes.d.ts +487 -0
  178. package/dist/ipc/protocol/domTypes.js +10 -0
  179. package/dist/ipc/protocol/guards.d.ts +4 -4
  180. package/dist/ipc/protocol/guards.js +4 -4
  181. package/dist/ipc/protocol/messages.d.ts +9 -33
  182. package/dist/ipc/protocol/messages.js +1 -1
  183. package/dist/ipc/session/errors.d.ts +10 -2
  184. package/dist/ipc/session/errors.js +10 -2
  185. package/dist/ipc/session/lifecycle.d.ts +28 -23
  186. package/dist/ipc/session/queries.d.ts +26 -5
  187. package/dist/ipc/session/types.d.ts +6 -1
  188. package/dist/ipc/session/types.js +1 -1
  189. package/dist/ipc/transport/IPCError.d.ts +3 -3
  190. package/dist/ipc/transport/IPCError.js +3 -3
  191. package/dist/ipc/transport/index.d.ts +8 -1
  192. package/dist/ipc/transport/index.js +8 -3
  193. package/dist/ipc/transport/jsonl.d.ts +28 -2
  194. package/dist/ipc/transport/jsonl.js +57 -10
  195. package/dist/ipc/utils/errors.d.ts +4 -2
  196. package/dist/ipc/utils/errors.js +10 -4
  197. package/dist/ipc/utils/index.d.ts +0 -1
  198. package/dist/ipc/utils/index.js +0 -1
  199. package/dist/ipc/utils/responseValidator.d.ts +5 -1
  200. package/dist/ipc/utils/responseValidator.js +7 -3
  201. package/dist/runtime/dom/actionEffects.d.ts +106 -0
  202. package/dist/runtime/dom/actionEffects.js +256 -0
  203. package/dist/runtime/dom/actionEffectsScripts.d.ts +52 -0
  204. package/dist/runtime/dom/actionEffectsScripts.js +234 -0
  205. package/dist/runtime/dom/elementGeometry.d.ts +170 -0
  206. package/dist/runtime/dom/elementGeometry.js +553 -0
  207. package/dist/runtime/dom/elementInfo.d.ts +77 -0
  208. package/dist/runtime/dom/elementInfo.js +191 -0
  209. package/dist/runtime/dom/evalHelpers.d.ts +121 -0
  210. package/dist/runtime/dom/evalHelpers.js +516 -0
  211. package/dist/runtime/dom/eventListeners.d.ts +24 -0
  212. package/dist/runtime/dom/eventListeners.js +379 -0
  213. package/dist/runtime/dom/formDiscovery.d.ts +26 -0
  214. package/dist/{commands → runtime}/dom/formDiscovery.js +163 -24
  215. package/dist/runtime/dom/formFillHelpers/fill.d.ts +39 -0
  216. package/dist/runtime/dom/formFillHelpers/fill.js +414 -0
  217. package/dist/runtime/dom/formFillHelpers/index.d.ts +17 -0
  218. package/dist/runtime/dom/formFillHelpers/index.js +17 -0
  219. package/dist/runtime/dom/formFillHelpers/pressKey.d.ts +28 -0
  220. package/dist/runtime/dom/formFillHelpers/pressKey.js +206 -0
  221. package/dist/runtime/dom/formFillHelpers/scroll.d.ts +27 -0
  222. package/dist/runtime/dom/formFillHelpers/scroll.js +230 -0
  223. package/dist/runtime/dom/formFillHelpers/shared.d.ts +60 -0
  224. package/dist/runtime/dom/formFillHelpers/shared.js +124 -0
  225. package/dist/runtime/dom/formFillHelpers/stability.d.ts +28 -0
  226. package/dist/runtime/dom/formFillHelpers/stability.js +71 -0
  227. package/dist/runtime/dom/formSubmitHelpers.d.ts +32 -0
  228. package/dist/runtime/dom/formSubmitHelpers.js +326 -0
  229. package/dist/runtime/dom/formTypes.d.ts +8 -0
  230. package/dist/runtime/dom/frameLayout.d.ts +60 -0
  231. package/dist/runtime/dom/frameLayout.js +140 -0
  232. package/dist/runtime/dom/frameOrigin.d.ts +50 -0
  233. package/dist/runtime/dom/frameOrigin.js +62 -0
  234. package/dist/runtime/dom/frameScopedConnection.d.ts +92 -0
  235. package/dist/runtime/dom/frameScopedConnection.js +252 -0
  236. package/dist/runtime/dom/frameSelection.d.ts +27 -0
  237. package/dist/runtime/dom/frameSelection.js +66 -0
  238. package/dist/runtime/dom/frames.d.ts +61 -0
  239. package/dist/runtime/dom/frames.js +444 -0
  240. package/dist/runtime/dom/keyMapping.d.ts +103 -0
  241. package/dist/runtime/dom/keyMapping.js +232 -0
  242. package/dist/runtime/dom/layout.d.ts +67 -0
  243. package/dist/runtime/dom/layout.js +333 -0
  244. package/dist/runtime/dom/listenerPageScripts.d.ts +66 -0
  245. package/dist/runtime/dom/listenerPageScripts.js +279 -0
  246. package/dist/runtime/dom/listenerSummary.d.ts +193 -0
  247. package/dist/runtime/dom/listenerSummary.js +472 -0
  248. package/dist/runtime/dom/pageActivity.d.ts +41 -0
  249. package/dist/runtime/dom/pageActivity.js +123 -0
  250. package/dist/runtime/dom/reactEventHelpers.d.ts +117 -0
  251. package/dist/runtime/dom/reactEventHelpers.js +641 -0
  252. package/dist/runtime/dom/targetNode.d.ts +131 -0
  253. package/dist/runtime/dom/targetNode.js +370 -0
  254. package/dist/runtime/dom/wait.d.ts +25 -0
  255. package/dist/runtime/dom/wait.js +199 -0
  256. package/dist/runtime/dom/waitCondition.d.ts +71 -0
  257. package/dist/runtime/dom/waitCondition.js +75 -0
  258. package/dist/runtime/page/emulation.d.ts +51 -0
  259. package/dist/runtime/page/emulation.js +80 -0
  260. package/dist/runtime/page/loadingState.d.ts +36 -0
  261. package/dist/runtime/page/loadingState.js +86 -0
  262. package/dist/runtime/page/navigation.d.ts +78 -0
  263. package/dist/runtime/page/navigation.js +285 -0
  264. package/dist/session/QueryCacheManager.d.ts +36 -83
  265. package/dist/session/QueryCacheManager.js +63 -133
  266. package/dist/session/chrome.d.ts +21 -16
  267. package/dist/session/chrome.js +28 -44
  268. package/dist/session/chromeOwners.d.ts +34 -0
  269. package/dist/session/chromeOwners.js +51 -0
  270. package/dist/session/cleanup/staleSession.d.ts +59 -0
  271. package/dist/session/cleanup/staleSession.js +135 -0
  272. package/dist/session/cleanup/userCommands.d.ts +36 -0
  273. package/dist/session/cleanup/userCommands.js +93 -0
  274. package/dist/session/daemonSocket.d.ts +25 -0
  275. package/dist/session/daemonSocket.js +40 -0
  276. package/dist/session/lastSession.d.ts +29 -0
  277. package/dist/session/lastSession.js +45 -0
  278. package/dist/session/metadata.d.ts +7 -1
  279. package/dist/session/metadata.js +2 -1
  280. package/dist/session/paths.d.ts +79 -7
  281. package/dist/session/paths.js +113 -9
  282. package/dist/session/pid.d.ts +9 -38
  283. package/dist/session/pid.js +14 -64
  284. package/dist/session/port.d.ts +31 -12
  285. package/dist/session/port.js +56 -59
  286. package/dist/session/portClaims.d.ts +66 -0
  287. package/dist/session/portClaims.js +284 -0
  288. package/dist/session/sessionList.d.ts +58 -0
  289. package/dist/session/sessionList.js +199 -0
  290. package/dist/session/sessionName.d.ts +46 -0
  291. package/dist/session/sessionName.js +97 -0
  292. package/dist/telemetry/a11y.d.ts +31 -20
  293. package/dist/telemetry/a11y.js +304 -107
  294. package/dist/telemetry/attachedTargets.d.ts +36 -0
  295. package/dist/telemetry/attachedTargets.js +163 -0
  296. package/dist/telemetry/console.d.ts +21 -4
  297. package/dist/telemetry/console.js +122 -11
  298. package/dist/telemetry/dialogs.d.ts +4 -2
  299. package/dist/telemetry/dialogs.js +3 -1
  300. package/dist/telemetry/dom.d.ts +1 -11
  301. package/dist/telemetry/dom.js +0 -102
  302. package/dist/telemetry/filterDsl.d.ts +9 -1
  303. package/dist/telemetry/filterDsl.js +101 -31
  304. package/dist/telemetry/filterPresets.js +12 -2
  305. package/dist/telemetry/filters.d.ts +1 -1
  306. package/dist/telemetry/filters.js +38 -3
  307. package/dist/telemetry/har/builder.js +190 -160
  308. package/dist/telemetry/har/types.d.ts +21 -4
  309. package/dist/telemetry/navigation.d.ts +13 -29
  310. package/dist/telemetry/navigation.js +12 -46
  311. package/dist/telemetry/network.d.ts +37 -1
  312. package/dist/telemetry/network.js +343 -130
  313. package/dist/telemetry/networkExtraInfo.d.ts +106 -0
  314. package/dist/telemetry/networkExtraInfo.js +241 -0
  315. package/dist/telemetry/objectExpander.d.ts +14 -5
  316. package/dist/telemetry/objectExpander.js +13 -6
  317. package/dist/telemetry/remoteObject.d.ts +10 -2
  318. package/dist/telemetry/remoteObject.js +59 -2
  319. package/dist/telemetry/remoteObjectUtils.js +22 -3
  320. package/dist/telemetry/requestKinds.d.ts +32 -0
  321. package/dist/telemetry/requestKinds.js +61 -0
  322. package/dist/telemetry/requestState.d.ts +31 -0
  323. package/dist/telemetry/requestState.js +38 -0
  324. package/dist/types.d.ts +143 -46
  325. package/dist/types.js +1 -33
  326. package/dist/ui/OutputBuilder.d.ts +17 -14
  327. package/dist/ui/OutputBuilder.js +18 -87
  328. package/dist/ui/formatters/a11y.js +75 -9
  329. package/dist/ui/formatters/console/chronological.d.ts +22 -0
  330. package/dist/ui/formatters/console/chronological.js +71 -0
  331. package/dist/ui/formatters/console/follow.d.ts +18 -0
  332. package/dist/ui/formatters/console/follow.js +36 -0
  333. package/dist/ui/formatters/console/json.d.ts +21 -0
  334. package/dist/ui/formatters/console/json.js +52 -0
  335. package/dist/ui/formatters/console/shared.d.ts +148 -0
  336. package/dist/ui/formatters/console/shared.js +158 -0
  337. package/dist/ui/formatters/console/summarize.d.ts +10 -0
  338. package/dist/ui/formatters/console/summarize.js +63 -0
  339. package/dist/ui/formatters/console.d.ts +16 -137
  340. package/dist/ui/formatters/console.js +17 -418
  341. package/dist/ui/formatters/cookies.js +3 -3
  342. package/dist/ui/formatters/details.d.ts +5 -2
  343. package/dist/ui/formatters/details.js +184 -24
  344. package/dist/ui/formatters/dom.d.ts +42 -9
  345. package/dist/ui/formatters/dom.js +99 -34
  346. package/dist/ui/formatters/form.js +62 -72
  347. package/dist/ui/formatters/helpFormatters.js +5 -4
  348. package/dist/ui/formatters/layout.d.ts +31 -0
  349. package/dist/ui/formatters/layout.js +53 -0
  350. package/dist/ui/formatters/listeners.d.ts +25 -0
  351. package/dist/ui/formatters/listeners.js +160 -0
  352. package/dist/ui/formatters/networkHeaders.d.ts +3 -3
  353. package/dist/ui/formatters/networkHeaders.js +20 -4
  354. package/dist/ui/formatters/networkList.d.ts +14 -2
  355. package/dist/ui/formatters/networkList.js +80 -35
  356. package/dist/ui/formatters/preview.d.ts +21 -3
  357. package/dist/ui/formatters/preview.js +55 -73
  358. package/dist/ui/formatters/requestStatus.d.ts +18 -0
  359. package/dist/ui/formatters/requestStatus.js +27 -0
  360. package/dist/ui/formatters/semantic.d.ts +1 -1
  361. package/dist/ui/formatters/semantic.js +1 -1
  362. package/dist/ui/formatters/sessions.d.ts +12 -0
  363. package/dist/ui/formatters/sessions.js +40 -0
  364. package/dist/ui/formatters/status.d.ts +44 -7
  365. package/dist/ui/formatters/status.js +89 -28
  366. package/dist/ui/formatters/triggeredRequests.d.ts +36 -0
  367. package/dist/ui/formatters/triggeredRequests.js +65 -0
  368. package/dist/ui/formatting.d.ts +45 -0
  369. package/dist/ui/formatting.js +115 -24
  370. package/dist/ui/logging/logger.d.ts +1 -1
  371. package/dist/ui/messages/chrome.d.ts +41 -97
  372. package/dist/ui/messages/chrome.js +110 -132
  373. package/dist/ui/messages/commands.d.ts +495 -3
  374. package/dist/ui/messages/commands.js +796 -6
  375. package/dist/ui/messages/consoleMessages.d.ts +7 -3
  376. package/dist/ui/messages/consoleMessages.js +13 -4
  377. package/dist/ui/messages/hints.d.ts +9 -15
  378. package/dist/ui/messages/hints.js +18 -16
  379. package/dist/ui/messages/networkMessages.d.ts +0 -6
  380. package/dist/ui/messages/networkMessages.js +0 -8
  381. package/dist/ui/messages/preview.js +5 -4
  382. package/dist/ui/messages/session.d.ts +37 -21
  383. package/dist/ui/messages/session.js +59 -26
  384. package/dist/ui/messages/sessionCommand.d.ts +43 -0
  385. package/dist/ui/messages/sessionCommand.js +52 -0
  386. package/dist/ui/messages/validation.d.ts +15 -26
  387. package/dist/ui/messages/validation.js +33 -38
  388. package/dist/utils/async.d.ts +8 -0
  389. package/dist/utils/async.js +19 -0
  390. package/dist/utils/atomicFile.js +1 -1
  391. package/dist/utils/decisionTrees.js +1 -1
  392. package/dist/utils/errorMapping.js +15 -4
  393. package/dist/utils/errors.d.ts +13 -0
  394. package/dist/utils/errors.js +21 -0
  395. package/dist/utils/exitCodes.d.ts +5 -0
  396. package/dist/utils/exitCodes.js +36 -2
  397. package/dist/utils/http.d.ts +56 -4
  398. package/dist/utils/http.js +78 -6
  399. package/dist/utils/packageRoot.d.ts +12 -0
  400. package/dist/utils/packageRoot.js +33 -0
  401. package/dist/utils/process.d.ts +10 -0
  402. package/dist/utils/process.js +35 -3
  403. package/dist/utils/selectorFilters.d.ts +73 -0
  404. package/dist/utils/selectorFilters.js +438 -0
  405. package/dist/utils/shellDetection.d.ts +8 -2
  406. package/dist/utils/shellDetection.js +120 -33
  407. package/dist/utils/suggestions.d.ts +26 -0
  408. package/dist/utils/suggestions.js +74 -1
  409. package/dist/utils/taskMappings.js +17 -2
  410. package/dist/utils/typeGuards.js +2 -2
  411. package/dist/utils/url.d.ts +23 -5
  412. package/dist/utils/url.js +115 -52
  413. package/dist/utils/validation.d.ts +15 -93
  414. package/dist/utils/validation.js +10 -118
  415. package/dist/utils/version.js +3 -5
  416. package/package.json +39 -30
  417. package/dist/__testfixtures__/cdpMessages.d.ts +0 -43
  418. package/dist/__testfixtures__/cdpMessages.d.ts.map +0 -1
  419. package/dist/__testfixtures__/cdpMessages.js +0 -118
  420. package/dist/__testfixtures__/cdpMessages.js.map +0 -1
  421. package/dist/__testfixtures__/connectionTargets.d.ts +0 -21
  422. package/dist/__testfixtures__/connectionTargets.d.ts.map +0 -1
  423. package/dist/__testfixtures__/connectionTargets.js +0 -59
  424. package/dist/__testfixtures__/connectionTargets.js.map +0 -1
  425. package/dist/__tests__/fixtures/schema-v0.2.1.golden.json +0 -47
  426. package/dist/__tests__/integration/session-files.integration.test.d.ts +0 -2
  427. package/dist/__tests__/integration/session-files.integration.test.d.ts.map +0 -1
  428. package/dist/__tests__/integration/session-files.integration.test.js +0 -66
  429. package/dist/__tests__/integration/session-files.integration.test.js.map +0 -1
  430. package/dist/__tests__/schema.contract.test.d.ts +0 -19
  431. package/dist/__tests__/schema.contract.test.d.ts.map +0 -1
  432. package/dist/__tests__/schema.contract.test.js +0 -236
  433. package/dist/__tests__/schema.contract.test.js.map +0 -1
  434. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts +0 -8
  435. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts.map +0 -1
  436. package/dist/__tests__/smoke/error-handling.smoke.test.js +0 -66
  437. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +0 -1
  438. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts +0 -8
  439. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts.map +0 -1
  440. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +0 -112
  441. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +0 -1
  442. package/dist/__tests__/telemetry/filterDsl.unit.test.d.ts +0 -12
  443. package/dist/__tests__/telemetry/filterDsl.unit.test.d.ts.map +0 -1
  444. package/dist/__tests__/telemetry/filterDsl.unit.test.js +0 -374
  445. package/dist/__tests__/telemetry/filterDsl.unit.test.js.map +0 -1
  446. package/dist/__tests__/telemetry/filterPresets.unit.test.d.ts +0 -10
  447. package/dist/__tests__/telemetry/filterPresets.unit.test.d.ts.map +0 -1
  448. package/dist/__tests__/telemetry/filterPresets.unit.test.js +0 -89
  449. package/dist/__tests__/telemetry/filterPresets.unit.test.js.map +0 -1
  450. package/dist/__testutils__/FakeClock.d.ts +0 -67
  451. package/dist/__testutils__/FakeClock.d.ts.map +0 -1
  452. package/dist/__testutils__/FakeClock.js +0 -132
  453. package/dist/__testutils__/FakeClock.js.map +0 -1
  454. package/dist/__testutils__/FakeWebSocket.d.ts +0 -106
  455. package/dist/__testutils__/FakeWebSocket.d.ts.map +0 -1
  456. package/dist/__testutils__/FakeWebSocket.js +0 -213
  457. package/dist/__testutils__/FakeWebSocket.js.map +0 -1
  458. package/dist/__testutils__/assertions.d.ts +0 -33
  459. package/dist/__testutils__/assertions.d.ts.map +0 -1
  460. package/dist/__testutils__/assertions.js +0 -57
  461. package/dist/__testutils__/assertions.js.map +0 -1
  462. package/dist/__testutils__/commandRunner.d.ts +0 -45
  463. package/dist/__testutils__/commandRunner.d.ts.map +0 -1
  464. package/dist/__testutils__/commandRunner.js +0 -108
  465. package/dist/__testutils__/commandRunner.js.map +0 -1
  466. package/dist/__testutils__/daemonHelpers.d.ts +0 -93
  467. package/dist/__testutils__/daemonHelpers.d.ts.map +0 -1
  468. package/dist/__testutils__/daemonHelpers.js +0 -255
  469. package/dist/__testutils__/daemonHelpers.js.map +0 -1
  470. package/dist/__testutils__/index.d.ts +0 -16
  471. package/dist/__testutils__/index.d.ts.map +0 -1
  472. package/dist/__testutils__/index.js +0 -16
  473. package/dist/__testutils__/index.js.map +0 -1
  474. package/dist/__testutils__/testCleanup.d.ts +0 -45
  475. package/dist/__testutils__/testCleanup.d.ts.map +0 -1
  476. package/dist/__testutils__/testCleanup.js +0 -87
  477. package/dist/__testutils__/testCleanup.js.map +0 -1
  478. package/dist/__testutils__/testClock.d.ts +0 -28
  479. package/dist/__testutils__/testClock.d.ts.map +0 -1
  480. package/dist/__testutils__/testClock.js +0 -81
  481. package/dist/__testutils__/testClock.js.map +0 -1
  482. package/dist/__testutils__/testFixtures.d.ts +0 -15
  483. package/dist/__testutils__/testFixtures.d.ts.map +0 -1
  484. package/dist/__testutils__/testFixtures.js +0 -23
  485. package/dist/__testutils__/testFixtures.js.map +0 -1
  486. package/dist/__testutils__/testHome.d.ts +0 -26
  487. package/dist/__testutils__/testHome.d.ts.map +0 -1
  488. package/dist/__testutils__/testHome.js +0 -57
  489. package/dist/__testutils__/testHome.js.map +0 -1
  490. package/dist/__testutils__/testProcess.d.ts +0 -46
  491. package/dist/__testutils__/testProcess.d.ts.map +0 -1
  492. package/dist/__testutils__/testProcess.js +0 -85
  493. package/dist/__testutils__/testProcess.js.map +0 -1
  494. package/dist/cdp/protocol.d.ts.map +0 -1
  495. package/dist/cdp/protocol.js.map +0 -1
  496. package/dist/cdp/schema.d.ts.map +0 -1
  497. package/dist/cdp/schema.js.map +0 -1
  498. package/dist/cdp/types.d.ts.map +0 -1
  499. package/dist/cdp/types.js.map +0 -1
  500. package/dist/commands/__tests__/cdp.contract.test.d.ts +0 -24
  501. package/dist/commands/__tests__/cdp.contract.test.d.ts.map +0 -1
  502. package/dist/commands/__tests__/cdp.contract.test.js +0 -466
  503. package/dist/commands/__tests__/cdp.contract.test.js.map +0 -1
  504. package/dist/commands/__tests__/console.contract.test.d.ts +0 -9
  505. package/dist/commands/__tests__/console.contract.test.d.ts.map +0 -1
  506. package/dist/commands/__tests__/console.contract.test.js +0 -118
  507. package/dist/commands/__tests__/console.contract.test.js.map +0 -1
  508. package/dist/commands/__tests__/domEval.contract.test.d.ts +0 -17
  509. package/dist/commands/__tests__/domEval.contract.test.d.ts.map +0 -1
  510. package/dist/commands/__tests__/domEval.contract.test.js +0 -235
  511. package/dist/commands/__tests__/domEval.contract.test.js.map +0 -1
  512. package/dist/commands/__tests__/helpJson.contract.test.d.ts +0 -12
  513. package/dist/commands/__tests__/helpJson.contract.test.d.ts.map +0 -1
  514. package/dist/commands/__tests__/helpJson.contract.test.js +0 -121
  515. package/dist/commands/__tests__/helpJson.contract.test.js.map +0 -1
  516. package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts +0 -12
  517. package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts.map +0 -1
  518. package/dist/commands/__tests__/machineReadableHelp.contract.test.js +0 -121
  519. package/dist/commands/__tests__/machineReadableHelp.contract.test.js.map +0 -1
  520. package/dist/commands/cdp.d.ts.map +0 -1
  521. package/dist/commands/cdp.js.map +0 -1
  522. package/dist/commands/cleanup.d.ts.map +0 -1
  523. package/dist/commands/cleanup.js.map +0 -1
  524. package/dist/commands/console.d.ts.map +0 -1
  525. package/dist/commands/console.js.map +0 -1
  526. package/dist/commands/details.d.ts.map +0 -1
  527. package/dist/commands/details.js.map +0 -1
  528. package/dist/commands/dom/DomElementResolver.d.ts.map +0 -1
  529. package/dist/commands/dom/DomElementResolver.js.map +0 -1
  530. package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts +0 -2
  531. package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts.map +0 -1
  532. package/dist/commands/dom/__tests__/screenshotResize.unit.test.js +0 -184
  533. package/dist/commands/dom/__tests__/screenshotResize.unit.test.js.map +0 -1
  534. package/dist/commands/dom/a11y.d.ts.map +0 -1
  535. package/dist/commands/dom/a11y.js.map +0 -1
  536. package/dist/commands/dom/evalHelpers.d.ts +0 -38
  537. package/dist/commands/dom/evalHelpers.d.ts.map +0 -1
  538. package/dist/commands/dom/evalHelpers.js +0 -121
  539. package/dist/commands/dom/evalHelpers.js.map +0 -1
  540. package/dist/commands/dom/form.d.ts.map +0 -1
  541. package/dist/commands/dom/form.js.map +0 -1
  542. package/dist/commands/dom/formDiscovery.d.ts +0 -26
  543. package/dist/commands/dom/formDiscovery.d.ts.map +0 -1
  544. package/dist/commands/dom/formDiscovery.js.map +0 -1
  545. package/dist/commands/dom/formFillHelpers.d.ts +0 -186
  546. package/dist/commands/dom/formFillHelpers.d.ts.map +0 -1
  547. package/dist/commands/dom/formFillHelpers.js +0 -650
  548. package/dist/commands/dom/formFillHelpers.js.map +0 -1
  549. package/dist/commands/dom/formInteraction.d.ts.map +0 -1
  550. package/dist/commands/dom/formInteraction.js.map +0 -1
  551. package/dist/commands/dom/formSubmitHelpers.d.ts +0 -59
  552. package/dist/commands/dom/formSubmitHelpers.d.ts.map +0 -1
  553. package/dist/commands/dom/formSubmitHelpers.js +0 -163
  554. package/dist/commands/dom/formSubmitHelpers.js.map +0 -1
  555. package/dist/commands/dom/formTypes.d.ts +0 -75
  556. package/dist/commands/dom/formTypes.d.ts.map +0 -1
  557. package/dist/commands/dom/formTypes.js.map +0 -1
  558. package/dist/commands/dom/helpers.d.ts +0 -86
  559. package/dist/commands/dom/helpers.d.ts.map +0 -1
  560. package/dist/commands/dom/helpers.js +0 -656
  561. package/dist/commands/dom/helpers.js.map +0 -1
  562. package/dist/commands/dom/index.d.ts.map +0 -1
  563. package/dist/commands/dom/index.js.map +0 -1
  564. package/dist/commands/dom/keyMapping.d.ts +0 -56
  565. package/dist/commands/dom/keyMapping.d.ts.map +0 -1
  566. package/dist/commands/dom/keyMapping.js +0 -110
  567. package/dist/commands/dom/keyMapping.js.map +0 -1
  568. package/dist/commands/dom/reactEventHelpers.d.ts +0 -79
  569. package/dist/commands/dom/reactEventHelpers.d.ts.map +0 -1
  570. package/dist/commands/dom/reactEventHelpers.js +0 -239
  571. package/dist/commands/dom/reactEventHelpers.js.map +0 -1
  572. package/dist/commands/dom/screenshotResize.d.ts.map +0 -1
  573. package/dist/commands/dom/screenshotResize.js.map +0 -1
  574. package/dist/commands/helpJson.d.ts.map +0 -1
  575. package/dist/commands/helpJson.js.map +0 -1
  576. package/dist/commands/machineReadableHelp.d.ts +0 -165
  577. package/dist/commands/machineReadableHelp.d.ts.map +0 -1
  578. package/dist/commands/machineReadableHelp.js +0 -252
  579. package/dist/commands/machineReadableHelp.js.map +0 -1
  580. package/dist/commands/network/har.d.ts.map +0 -1
  581. package/dist/commands/network/har.js.map +0 -1
  582. package/dist/commands/network/index.d.ts.map +0 -1
  583. package/dist/commands/network/index.js.map +0 -1
  584. package/dist/commands/network/list.d.ts.map +0 -1
  585. package/dist/commands/network/list.js.map +0 -1
  586. package/dist/commands/network/shared.d.ts.map +0 -1
  587. package/dist/commands/network/shared.js.map +0 -1
  588. package/dist/commands/network.d.ts +0 -8
  589. package/dist/commands/network.d.ts.map +0 -1
  590. package/dist/commands/network.js +0 -216
  591. package/dist/commands/network.js.map +0 -1
  592. package/dist/commands/optionBehaviors.d.ts.map +0 -1
  593. package/dist/commands/optionBehaviors.js.map +0 -1
  594. package/dist/commands/peek.d.ts.map +0 -1
  595. package/dist/commands/peek.js.map +0 -1
  596. package/dist/commands/shared/CommandRunner.d.ts.map +0 -1
  597. package/dist/commands/shared/CommandRunner.js.map +0 -1
  598. package/dist/commands/shared/__tests__/validation.unit.test.d.ts +0 -7
  599. package/dist/commands/shared/__tests__/validation.unit.test.d.ts.map +0 -1
  600. package/dist/commands/shared/__tests__/validation.unit.test.js +0 -141
  601. package/dist/commands/shared/__tests__/validation.unit.test.js.map +0 -1
  602. package/dist/commands/shared/commonOptions.d.ts.map +0 -1
  603. package/dist/commands/shared/commonOptions.js.map +0 -1
  604. package/dist/commands/shared/daemonErrorHandler.d.ts.map +0 -1
  605. package/dist/commands/shared/daemonErrorHandler.js.map +0 -1
  606. package/dist/commands/shared/dataFetcher.d.ts.map +0 -1
  607. package/dist/commands/shared/dataFetcher.js.map +0 -1
  608. package/dist/commands/shared/followMode.d.ts.map +0 -1
  609. package/dist/commands/shared/followMode.js.map +0 -1
  610. package/dist/commands/shared/landingPage.d.ts.map +0 -1
  611. package/dist/commands/shared/landingPage.js.map +0 -1
  612. package/dist/commands/shared/optionTypes.d.ts.map +0 -1
  613. package/dist/commands/shared/optionTypes.js.map +0 -1
  614. package/dist/commands/shared/startHelpers.d.ts.map +0 -1
  615. package/dist/commands/shared/startHelpers.js.map +0 -1
  616. package/dist/commands/shared/validation.d.ts.map +0 -1
  617. package/dist/commands/shared/validation.js.map +0 -1
  618. package/dist/commands/start.d.ts.map +0 -1
  619. package/dist/commands/start.js.map +0 -1
  620. package/dist/commands/status.d.ts.map +0 -1
  621. package/dist/commands/status.js.map +0 -1
  622. package/dist/commands/stop.d.ts.map +0 -1
  623. package/dist/commands/stop.js.map +0 -1
  624. package/dist/commands/tail.d.ts.map +0 -1
  625. package/dist/commands/tail.js.map +0 -1
  626. package/dist/commands/types.d.ts.map +0 -1
  627. package/dist/commands/types.js.map +0 -1
  628. package/dist/commands.d.ts.map +0 -1
  629. package/dist/commands.js.map +0 -1
  630. package/dist/connection/__tests__/cdp.contract.test.d.ts +0 -16
  631. package/dist/connection/__tests__/cdp.contract.test.d.ts.map +0 -1
  632. package/dist/connection/__tests__/cdp.contract.test.js +0 -377
  633. package/dist/connection/__tests__/cdp.contract.test.js.map +0 -1
  634. package/dist/connection/__tests__/flagsBuilder.unit.test.d.ts +0 -9
  635. package/dist/connection/__tests__/flagsBuilder.unit.test.d.ts.map +0 -1
  636. package/dist/connection/__tests__/flagsBuilder.unit.test.js +0 -94
  637. package/dist/connection/__tests__/flagsBuilder.unit.test.js.map +0 -1
  638. package/dist/connection/__tests__/handlers.unit.test.d.ts +0 -11
  639. package/dist/connection/__tests__/handlers.unit.test.d.ts.map +0 -1
  640. package/dist/connection/__tests__/handlers.unit.test.js +0 -220
  641. package/dist/connection/__tests__/handlers.unit.test.js.map +0 -1
  642. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts +0 -14
  643. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts.map +0 -1
  644. package/dist/connection/__tests__/pageReadiness.contract.test.js +0 -382
  645. package/dist/connection/__tests__/pageReadiness.contract.test.js.map +0 -1
  646. package/dist/connection/__tests__/portReservation.contract.test.d.ts +0 -14
  647. package/dist/connection/__tests__/portReservation.contract.test.d.ts.map +0 -1
  648. package/dist/connection/__tests__/portReservation.contract.test.js +0 -250
  649. package/dist/connection/__tests__/portReservation.contract.test.js.map +0 -1
  650. package/dist/connection/cdp.d.ts.map +0 -1
  651. package/dist/connection/cdp.js.map +0 -1
  652. package/dist/connection/config.d.ts.map +0 -1
  653. package/dist/connection/config.js.map +0 -1
  654. package/dist/connection/diagnostics.d.ts.map +0 -1
  655. package/dist/connection/diagnostics.js.map +0 -1
  656. package/dist/connection/errors.d.ts.map +0 -1
  657. package/dist/connection/errors.js.map +0 -1
  658. package/dist/connection/events.d.ts.map +0 -1
  659. package/dist/connection/events.js.map +0 -1
  660. package/dist/connection/handlers.d.ts.map +0 -1
  661. package/dist/connection/handlers.js.map +0 -1
  662. package/dist/connection/launcher/binaryResolver.d.ts.map +0 -1
  663. package/dist/connection/launcher/binaryResolver.js.map +0 -1
  664. package/dist/connection/launcher/flagsBuilder.d.ts.map +0 -1
  665. package/dist/connection/launcher/flagsBuilder.js.map +0 -1
  666. package/dist/connection/launcher/preferencesLoader.d.ts.map +0 -1
  667. package/dist/connection/launcher/preferencesLoader.js.map +0 -1
  668. package/dist/connection/launcher.d.ts.map +0 -1
  669. package/dist/connection/launcher.js.map +0 -1
  670. package/dist/connection/pageReadiness.d.ts.map +0 -1
  671. package/dist/connection/pageReadiness.js.map +0 -1
  672. package/dist/connection/portReservation.d.ts.map +0 -1
  673. package/dist/connection/portReservation.js.map +0 -1
  674. package/dist/connection/typed-cdp.d.ts.map +0 -1
  675. package/dist/connection/typed-cdp.js.map +0 -1
  676. package/dist/connection/types.d.ts.map +0 -1
  677. package/dist/connection/types.js.map +0 -1
  678. package/dist/constants.d.ts.map +0 -1
  679. package/dist/constants.js.map +0 -1
  680. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts +0 -8
  681. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts.map +0 -1
  682. package/dist/daemon/__tests__/JsonlParser.unit.test.js +0 -140
  683. package/dist/daemon/__tests__/JsonlParser.unit.test.js.map +0 -1
  684. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts +0 -8
  685. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts.map +0 -1
  686. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js +0 -276
  687. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js.map +0 -1
  688. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts +0 -8
  689. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts.map +0 -1
  690. package/dist/daemon/__tests__/TelemetryStore.unit.test.js +0 -290
  691. package/dist/daemon/__tests__/TelemetryStore.unit.test.js.map +0 -1
  692. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts +0 -8
  693. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts.map +0 -1
  694. package/dist/daemon/__tests__/commandRegistry.contract.test.js +0 -647
  695. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +0 -1
  696. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts +0 -19
  697. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts.map +0 -1
  698. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js +0 -212
  699. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js.map +0 -1
  700. package/dist/daemon/__tests__/ipcServer.contract.test.d.ts +0 -23
  701. package/dist/daemon/__tests__/ipcServer.contract.test.d.ts.map +0 -1
  702. package/dist/daemon/__tests__/ipcServer.contract.test.js +0 -416
  703. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +0 -1
  704. package/dist/daemon/__tests__/launcher.unit.test.d.ts +0 -8
  705. package/dist/daemon/__tests__/launcher.unit.test.d.ts.map +0 -1
  706. package/dist/daemon/__tests__/launcher.unit.test.js +0 -20
  707. package/dist/daemon/__tests__/launcher.unit.test.js.map +0 -1
  708. package/dist/daemon/errors.d.ts.map +0 -1
  709. package/dist/daemon/errors.js.map +0 -1
  710. package/dist/daemon/handlers/BaseHandler.d.ts +0 -75
  711. package/dist/daemon/handlers/BaseHandler.d.ts.map +0 -1
  712. package/dist/daemon/handlers/BaseHandler.js +0 -103
  713. package/dist/daemon/handlers/BaseHandler.js.map +0 -1
  714. package/dist/daemon/handlers/CommandHandlers.d.ts +0 -36
  715. package/dist/daemon/handlers/CommandHandlers.d.ts.map +0 -1
  716. package/dist/daemon/handlers/CommandHandlers.js +0 -60
  717. package/dist/daemon/handlers/CommandHandlers.js.map +0 -1
  718. package/dist/daemon/handlers/QueryHandlers.d.ts +0 -37
  719. package/dist/daemon/handlers/QueryHandlers.d.ts.map +0 -1
  720. package/dist/daemon/handlers/QueryHandlers.js +0 -126
  721. package/dist/daemon/handlers/QueryHandlers.js.map +0 -1
  722. package/dist/daemon/handlers/SessionHandlers.d.ts +0 -32
  723. package/dist/daemon/handlers/SessionHandlers.d.ts.map +0 -1
  724. package/dist/daemon/handlers/SessionHandlers.js +0 -213
  725. package/dist/daemon/handlers/SessionHandlers.js.map +0 -1
  726. package/dist/daemon/handlers/pendingRequests.d.ts +0 -50
  727. package/dist/daemon/handlers/pendingRequests.d.ts.map +0 -1
  728. package/dist/daemon/handlers/pendingRequests.js +0 -57
  729. package/dist/daemon/handlers/pendingRequests.js.map +0 -1
  730. package/dist/daemon/handlers/requestHandlers.d.ts +0 -55
  731. package/dist/daemon/handlers/requestHandlers.d.ts.map +0 -1
  732. package/dist/daemon/handlers/requestHandlers.js +0 -66
  733. package/dist/daemon/handlers/requestHandlers.js.map +0 -1
  734. package/dist/daemon/handlers/responseHandler.d.ts +0 -42
  735. package/dist/daemon/handlers/responseHandler.d.ts.map +0 -1
  736. package/dist/daemon/handlers/responseHandler.js +0 -217
  737. package/dist/daemon/handlers/responseHandler.js.map +0 -1
  738. package/dist/daemon/ipcServer.d.ts.map +0 -1
  739. package/dist/daemon/ipcServer.js.map +0 -1
  740. package/dist/daemon/launcher.d.ts.map +0 -1
  741. package/dist/daemon/launcher.js.map +0 -1
  742. package/dist/daemon/lifecycle/cdpSetup.d.ts +0 -24
  743. package/dist/daemon/lifecycle/cdpSetup.d.ts.map +0 -1
  744. package/dist/daemon/lifecycle/cdpSetup.js +0 -55
  745. package/dist/daemon/lifecycle/cdpSetup.js.map +0 -1
  746. package/dist/daemon/lifecycle/chromeConnection.d.ts +0 -17
  747. package/dist/daemon/lifecycle/chromeConnection.d.ts.map +0 -1
  748. package/dist/daemon/lifecycle/chromeConnection.js +0 -79
  749. package/dist/daemon/lifecycle/chromeConnection.js.map +0 -1
  750. package/dist/daemon/lifecycle/signalHandlers.d.ts +0 -14
  751. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +0 -1
  752. package/dist/daemon/lifecycle/signalHandlers.js +0 -48
  753. package/dist/daemon/lifecycle/signalHandlers.js.map +0 -1
  754. package/dist/daemon/lifecycle/workerCleanup.d.ts +0 -27
  755. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +0 -1
  756. package/dist/daemon/lifecycle/workerCleanup.js +0 -143
  757. package/dist/daemon/lifecycle/workerCleanup.js.map +0 -1
  758. package/dist/daemon/lifecycle/workerConfig.d.ts +0 -14
  759. package/dist/daemon/lifecycle/workerConfig.d.ts.map +0 -1
  760. package/dist/daemon/lifecycle/workerConfig.js +0 -69
  761. package/dist/daemon/lifecycle/workerConfig.js.map +0 -1
  762. package/dist/daemon/lifecycle/workerIpc.d.ts +0 -14
  763. package/dist/daemon/lifecycle/workerIpc.d.ts.map +0 -1
  764. package/dist/daemon/lifecycle/workerIpc.js +0 -86
  765. package/dist/daemon/lifecycle/workerIpc.js.map +0 -1
  766. package/dist/daemon/patternDefinitions.d.ts.map +0 -1
  767. package/dist/daemon/patternDefinitions.js.map +0 -1
  768. package/dist/daemon/patternDetector.d.ts.map +0 -1
  769. package/dist/daemon/patternDetector.js.map +0 -1
  770. package/dist/daemon/server/JsonlParser.d.ts +0 -31
  771. package/dist/daemon/server/JsonlParser.d.ts.map +0 -1
  772. package/dist/daemon/server/JsonlParser.js +0 -55
  773. package/dist/daemon/server/JsonlParser.js.map +0 -1
  774. package/dist/daemon/server/SocketServer.d.ts.map +0 -1
  775. package/dist/daemon/server/SocketServer.js.map +0 -1
  776. package/dist/daemon/server/WorkerManager.d.ts +0 -36
  777. package/dist/daemon/server/WorkerManager.d.ts.map +0 -1
  778. package/dist/daemon/server/WorkerManager.js +0 -89
  779. package/dist/daemon/server/WorkerManager.js.map +0 -1
  780. package/dist/daemon/services/SessionService.d.ts +0 -87
  781. package/dist/daemon/services/SessionService.d.ts.map +0 -1
  782. package/dist/daemon/services/SessionService.js +0 -45
  783. package/dist/daemon/services/SessionService.js.map +0 -1
  784. package/dist/daemon/startSession.d.ts +0 -55
  785. package/dist/daemon/startSession.d.ts.map +0 -1
  786. package/dist/daemon/startSession.js +0 -168
  787. package/dist/daemon/startSession.js.map +0 -1
  788. package/dist/daemon/worker/TelemetryStore.d.ts +0 -19
  789. package/dist/daemon/worker/TelemetryStore.d.ts.map +0 -1
  790. package/dist/daemon/worker/TelemetryStore.js +0 -53
  791. package/dist/daemon/worker/TelemetryStore.js.map +0 -1
  792. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts +0 -11
  793. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts.map +0 -1
  794. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js +0 -136
  795. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js.map +0 -1
  796. package/dist/daemon/worker/collectors.d.ts.map +0 -1
  797. package/dist/daemon/worker/collectors.js.map +0 -1
  798. package/dist/daemon/worker/commandRegistry.d.ts.map +0 -1
  799. package/dist/daemon/worker/commandRegistry.js +0 -236
  800. package/dist/daemon/worker/commandRegistry.js.map +0 -1
  801. package/dist/daemon/worker/plugins.d.ts.map +0 -1
  802. package/dist/daemon/worker/plugins.js +0 -75
  803. package/dist/daemon/worker/plugins.js.map +0 -1
  804. package/dist/daemon/worker/types.d.ts +0 -15
  805. package/dist/daemon/worker/types.d.ts.map +0 -1
  806. package/dist/daemon/worker/types.js.map +0 -1
  807. package/dist/daemon/worker.d.ts +0 -9
  808. package/dist/daemon/worker.d.ts.map +0 -1
  809. package/dist/daemon/worker.js +0 -98
  810. package/dist/daemon/worker.js.map +0 -1
  811. package/dist/daemon/workerIpc.d.ts +0 -33
  812. package/dist/daemon/workerIpc.d.ts.map +0 -1
  813. package/dist/daemon/workerIpc.js +0 -8
  814. package/dist/daemon/workerIpc.js.map +0 -1
  815. package/dist/daemon.d.ts.map +0 -1
  816. package/dist/daemon.js.map +0 -1
  817. package/dist/index.d.ts.map +0 -1
  818. package/dist/index.js.map +0 -1
  819. package/dist/ipc/__tests__/client.contract.test.d.ts +0 -8
  820. package/dist/ipc/__tests__/client.contract.test.d.ts.map +0 -1
  821. package/dist/ipc/__tests__/client.contract.test.js +0 -693
  822. package/dist/ipc/__tests__/client.contract.test.js.map +0 -1
  823. package/dist/ipc/__tests__/errors.unit.test.d.ts +0 -7
  824. package/dist/ipc/__tests__/errors.unit.test.d.ts.map +0 -1
  825. package/dist/ipc/__tests__/errors.unit.test.js +0 -77
  826. package/dist/ipc/__tests__/errors.unit.test.js.map +0 -1
  827. package/dist/ipc/__tests__/guards.unit.test.d.ts +0 -7
  828. package/dist/ipc/__tests__/guards.unit.test.d.ts.map +0 -1
  829. package/dist/ipc/__tests__/guards.unit.test.js +0 -73
  830. package/dist/ipc/__tests__/guards.unit.test.js.map +0 -1
  831. package/dist/ipc/__tests__/jsonl.unit.test.d.ts +0 -7
  832. package/dist/ipc/__tests__/jsonl.unit.test.d.ts.map +0 -1
  833. package/dist/ipc/__tests__/jsonl.unit.test.js +0 -103
  834. package/dist/ipc/__tests__/jsonl.unit.test.js.map +0 -1
  835. package/dist/ipc/__tests__/validation.unit.test.d.ts +0 -7
  836. package/dist/ipc/__tests__/validation.unit.test.d.ts.map +0 -1
  837. package/dist/ipc/__tests__/validation.unit.test.js +0 -60
  838. package/dist/ipc/__tests__/validation.unit.test.js.map +0 -1
  839. package/dist/ipc/client.d.ts.map +0 -1
  840. package/dist/ipc/client.js.map +0 -1
  841. package/dist/ipc/index.d.ts.map +0 -1
  842. package/dist/ipc/index.js.map +0 -1
  843. package/dist/ipc/protocol/commands.d.ts.map +0 -1
  844. package/dist/ipc/protocol/commands.js.map +0 -1
  845. package/dist/ipc/protocol/guards.d.ts.map +0 -1
  846. package/dist/ipc/protocol/guards.js.map +0 -1
  847. package/dist/ipc/protocol/index.d.ts.map +0 -1
  848. package/dist/ipc/protocol/index.js.map +0 -1
  849. package/dist/ipc/protocol/messages.d.ts.map +0 -1
  850. package/dist/ipc/protocol/messages.js.map +0 -1
  851. package/dist/ipc/session/errors.d.ts.map +0 -1
  852. package/dist/ipc/session/errors.js.map +0 -1
  853. package/dist/ipc/session/index.d.ts.map +0 -1
  854. package/dist/ipc/session/index.js.map +0 -1
  855. package/dist/ipc/session/lifecycle.d.ts.map +0 -1
  856. package/dist/ipc/session/lifecycle.js.map +0 -1
  857. package/dist/ipc/session/queries.d.ts.map +0 -1
  858. package/dist/ipc/session/queries.js.map +0 -1
  859. package/dist/ipc/session/types.d.ts.map +0 -1
  860. package/dist/ipc/session/types.js.map +0 -1
  861. package/dist/ipc/transport/IPCError.d.ts.map +0 -1
  862. package/dist/ipc/transport/IPCError.js.map +0 -1
  863. package/dist/ipc/transport/errors.d.ts.map +0 -1
  864. package/dist/ipc/transport/errors.js.map +0 -1
  865. package/dist/ipc/transport/index.d.ts.map +0 -1
  866. package/dist/ipc/transport/index.js.map +0 -1
  867. package/dist/ipc/transport/jsonl.d.ts.map +0 -1
  868. package/dist/ipc/transport/jsonl.js.map +0 -1
  869. package/dist/ipc/transport/socket.d.ts.map +0 -1
  870. package/dist/ipc/transport/socket.js.map +0 -1
  871. package/dist/ipc/transport/validation.d.ts.map +0 -1
  872. package/dist/ipc/transport/validation.js.map +0 -1
  873. package/dist/ipc/utils/errors.d.ts.map +0 -1
  874. package/dist/ipc/utils/errors.js.map +0 -1
  875. package/dist/ipc/utils/index.d.ts.map +0 -1
  876. package/dist/ipc/utils/index.js.map +0 -1
  877. package/dist/ipc/utils/requestId.d.ts +0 -23
  878. package/dist/ipc/utils/requestId.d.ts.map +0 -1
  879. package/dist/ipc/utils/requestId.js +0 -27
  880. package/dist/ipc/utils/requestId.js.map +0 -1
  881. package/dist/ipc/utils/responseValidator.d.ts.map +0 -1
  882. package/dist/ipc/utils/responseValidator.js.map +0 -1
  883. package/dist/ipc/utils/session.d.ts.map +0 -1
  884. package/dist/ipc/utils/session.js.map +0 -1
  885. package/dist/ipc/utils/types.d.ts.map +0 -1
  886. package/dist/ipc/utils/types.js.map +0 -1
  887. package/dist/session/QueryCacheManager.d.ts.map +0 -1
  888. package/dist/session/QueryCacheManager.js.map +0 -1
  889. package/dist/session/__tests__/chrome-cache.contract.test.d.ts +0 -7
  890. package/dist/session/__tests__/chrome-cache.contract.test.d.ts.map +0 -1
  891. package/dist/session/__tests__/chrome-cache.contract.test.js +0 -77
  892. package/dist/session/__tests__/chrome-cache.contract.test.js.map +0 -1
  893. package/dist/session/__tests__/cleanup.contract.test.d.ts +0 -7
  894. package/dist/session/__tests__/cleanup.contract.test.d.ts.map +0 -1
  895. package/dist/session/__tests__/cleanup.contract.test.js +0 -84
  896. package/dist/session/__tests__/cleanup.contract.test.js.map +0 -1
  897. package/dist/session/__tests__/lock.contract.test.d.ts +0 -7
  898. package/dist/session/__tests__/lock.contract.test.d.ts.map +0 -1
  899. package/dist/session/__tests__/lock.contract.test.js +0 -77
  900. package/dist/session/__tests__/lock.contract.test.js.map +0 -1
  901. package/dist/session/__tests__/metadata.contract.test.d.ts +0 -7
  902. package/dist/session/__tests__/metadata.contract.test.d.ts.map +0 -1
  903. package/dist/session/__tests__/metadata.contract.test.js +0 -87
  904. package/dist/session/__tests__/metadata.contract.test.js.map +0 -1
  905. package/dist/session/chrome.d.ts.map +0 -1
  906. package/dist/session/chrome.js.map +0 -1
  907. package/dist/session/cleanup.d.ts +0 -141
  908. package/dist/session/cleanup.d.ts.map +0 -1
  909. package/dist/session/cleanup.js +0 -514
  910. package/dist/session/cleanup.js.map +0 -1
  911. package/dist/session/lock.d.ts +0 -57
  912. package/dist/session/lock.d.ts.map +0 -1
  913. package/dist/session/lock.js +0 -165
  914. package/dist/session/lock.js.map +0 -1
  915. package/dist/session/metadata.d.ts.map +0 -1
  916. package/dist/session/metadata.js.map +0 -1
  917. package/dist/session/output.d.ts +0 -18
  918. package/dist/session/output.d.ts.map +0 -1
  919. package/dist/session/output.js +0 -24
  920. package/dist/session/output.js.map +0 -1
  921. package/dist/session/paths.d.ts.map +0 -1
  922. package/dist/session/paths.js.map +0 -1
  923. package/dist/session/pid.d.ts.map +0 -1
  924. package/dist/session/pid.js.map +0 -1
  925. package/dist/session/port.d.ts.map +0 -1
  926. package/dist/session/port.js.map +0 -1
  927. package/dist/session/process.d.ts +0 -8
  928. package/dist/session/process.d.ts.map +0 -1
  929. package/dist/session/process.js +0 -8
  930. package/dist/session/process.js.map +0 -1
  931. package/dist/session/queryCache.d.ts +0 -46
  932. package/dist/session/queryCache.d.ts.map +0 -1
  933. package/dist/session/queryCache.js +0 -54
  934. package/dist/session/queryCache.js.map +0 -1
  935. package/dist/session/statusData.d.ts.map +0 -1
  936. package/dist/session/statusData.js.map +0 -1
  937. package/dist/telemetry/__tests__/a11y.unit.test.d.ts +0 -10
  938. package/dist/telemetry/__tests__/a11y.unit.test.d.ts.map +0 -1
  939. package/dist/telemetry/__tests__/a11y.unit.test.js +0 -265
  940. package/dist/telemetry/__tests__/a11y.unit.test.js.map +0 -1
  941. package/dist/telemetry/__tests__/filters.unit.test.d.ts +0 -2
  942. package/dist/telemetry/__tests__/filters.unit.test.d.ts.map +0 -1
  943. package/dist/telemetry/__tests__/filters.unit.test.js +0 -357
  944. package/dist/telemetry/__tests__/filters.unit.test.js.map +0 -1
  945. package/dist/telemetry/__tests__/navigation.contract.test.d.ts +0 -8
  946. package/dist/telemetry/__tests__/navigation.contract.test.d.ts.map +0 -1
  947. package/dist/telemetry/__tests__/navigation.contract.test.js +0 -211
  948. package/dist/telemetry/__tests__/navigation.contract.test.js.map +0 -1
  949. package/dist/telemetry/__tests__/network.contract.test.d.ts +0 -8
  950. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +0 -1
  951. package/dist/telemetry/__tests__/network.contract.test.js +0 -623
  952. package/dist/telemetry/__tests__/network.contract.test.js.map +0 -1
  953. package/dist/telemetry/__tests__/remoteObject.unit.test.d.ts +0 -2
  954. package/dist/telemetry/__tests__/remoteObject.unit.test.d.ts.map +0 -1
  955. package/dist/telemetry/__tests__/remoteObject.unit.test.js +0 -261
  956. package/dist/telemetry/__tests__/remoteObject.unit.test.js.map +0 -1
  957. package/dist/telemetry/__tests__/roleInference.unit.test.d.ts +0 -9
  958. package/dist/telemetry/__tests__/roleInference.unit.test.d.ts.map +0 -1
  959. package/dist/telemetry/__tests__/roleInference.unit.test.js +0 -138
  960. package/dist/telemetry/__tests__/roleInference.unit.test.js.map +0 -1
  961. package/dist/telemetry/__tests__/utils.unit.test.d.ts +0 -7
  962. package/dist/telemetry/__tests__/utils.unit.test.d.ts.map +0 -1
  963. package/dist/telemetry/__tests__/utils.unit.test.js +0 -91
  964. package/dist/telemetry/__tests__/utils.unit.test.js.map +0 -1
  965. package/dist/telemetry/a11y.d.ts.map +0 -1
  966. package/dist/telemetry/a11y.js.map +0 -1
  967. package/dist/telemetry/console.d.ts.map +0 -1
  968. package/dist/telemetry/console.js.map +0 -1
  969. package/dist/telemetry/dialogs.d.ts.map +0 -1
  970. package/dist/telemetry/dialogs.js.map +0 -1
  971. package/dist/telemetry/dom.d.ts.map +0 -1
  972. package/dist/telemetry/dom.js.map +0 -1
  973. package/dist/telemetry/filterDsl.d.ts.map +0 -1
  974. package/dist/telemetry/filterDsl.js.map +0 -1
  975. package/dist/telemetry/filterPresets.d.ts.map +0 -1
  976. package/dist/telemetry/filterPresets.js.map +0 -1
  977. package/dist/telemetry/filters.d.ts.map +0 -1
  978. package/dist/telemetry/filters.js.map +0 -1
  979. package/dist/telemetry/har/__tests__/builder.unit.test.d.ts +0 -8
  980. package/dist/telemetry/har/__tests__/builder.unit.test.d.ts.map +0 -1
  981. package/dist/telemetry/har/__tests__/builder.unit.test.js +0 -694
  982. package/dist/telemetry/har/__tests__/builder.unit.test.js.map +0 -1
  983. package/dist/telemetry/har/builder.d.ts.map +0 -1
  984. package/dist/telemetry/har/builder.js.map +0 -1
  985. package/dist/telemetry/har/types.d.ts.map +0 -1
  986. package/dist/telemetry/har/types.js.map +0 -1
  987. package/dist/telemetry/navigation.d.ts.map +0 -1
  988. package/dist/telemetry/navigation.js.map +0 -1
  989. package/dist/telemetry/network.d.ts.map +0 -1
  990. package/dist/telemetry/network.js.map +0 -1
  991. package/dist/telemetry/objectExpander.d.ts.map +0 -1
  992. package/dist/telemetry/objectExpander.js.map +0 -1
  993. package/dist/telemetry/remoteObject.d.ts.map +0 -1
  994. package/dist/telemetry/remoteObject.js.map +0 -1
  995. package/dist/telemetry/remoteObjectUtils.d.ts.map +0 -1
  996. package/dist/telemetry/remoteObjectUtils.js.map +0 -1
  997. package/dist/telemetry/roleInference.d.ts.map +0 -1
  998. package/dist/telemetry/roleInference.js.map +0 -1
  999. package/dist/telemetry/utils.d.ts.map +0 -1
  1000. package/dist/telemetry/utils.js.map +0 -1
  1001. package/dist/types/dom.d.ts +0 -77
  1002. package/dist/types/dom.d.ts.map +0 -1
  1003. package/dist/types/dom.js +0 -8
  1004. package/dist/types/dom.js.map +0 -1
  1005. package/dist/types.d.ts.map +0 -1
  1006. package/dist/types.js.map +0 -1
  1007. package/dist/ui/OutputBuilder.d.ts.map +0 -1
  1008. package/dist/ui/OutputBuilder.js.map +0 -1
  1009. package/dist/ui/errors/CommandError.d.ts.map +0 -1
  1010. package/dist/ui/errors/CommandError.js.map +0 -1
  1011. package/dist/ui/errors/index.d.ts.map +0 -1
  1012. package/dist/ui/errors/index.js.map +0 -1
  1013. package/dist/ui/errors/utils.d.ts.map +0 -1
  1014. package/dist/ui/errors/utils.js.map +0 -1
  1015. package/dist/ui/formatters/__tests__/preview.unit.test.d.ts +0 -13
  1016. package/dist/ui/formatters/__tests__/preview.unit.test.d.ts.map +0 -1
  1017. package/dist/ui/formatters/__tests__/preview.unit.test.js +0 -180
  1018. package/dist/ui/formatters/__tests__/preview.unit.test.js.map +0 -1
  1019. package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts +0 -2
  1020. package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts.map +0 -1
  1021. package/dist/ui/formatters/__tests__/semantic.unit.test.js +0 -111
  1022. package/dist/ui/formatters/__tests__/semantic.unit.test.js.map +0 -1
  1023. package/dist/ui/formatters/a11y.d.ts.map +0 -1
  1024. package/dist/ui/formatters/a11y.js.map +0 -1
  1025. package/dist/ui/formatters/console.d.ts.map +0 -1
  1026. package/dist/ui/formatters/console.js.map +0 -1
  1027. package/dist/ui/formatters/cookies.d.ts.map +0 -1
  1028. package/dist/ui/formatters/cookies.js.map +0 -1
  1029. package/dist/ui/formatters/details.d.ts.map +0 -1
  1030. package/dist/ui/formatters/details.js.map +0 -1
  1031. package/dist/ui/formatters/dom.d.ts.map +0 -1
  1032. package/dist/ui/formatters/dom.js.map +0 -1
  1033. package/dist/ui/formatters/form.d.ts.map +0 -1
  1034. package/dist/ui/formatters/form.js.map +0 -1
  1035. package/dist/ui/formatters/helpFormatters.d.ts.map +0 -1
  1036. package/dist/ui/formatters/helpFormatters.js.map +0 -1
  1037. package/dist/ui/formatters/index.d.ts.map +0 -1
  1038. package/dist/ui/formatters/index.js.map +0 -1
  1039. package/dist/ui/formatters/networkHeaders.d.ts.map +0 -1
  1040. package/dist/ui/formatters/networkHeaders.js.map +0 -1
  1041. package/dist/ui/formatters/networkList.d.ts.map +0 -1
  1042. package/dist/ui/formatters/networkList.js.map +0 -1
  1043. package/dist/ui/formatters/preview.d.ts.map +0 -1
  1044. package/dist/ui/formatters/preview.js.map +0 -1
  1045. package/dist/ui/formatters/semantic.d.ts.map +0 -1
  1046. package/dist/ui/formatters/semantic.js.map +0 -1
  1047. package/dist/ui/formatters/sessionFormatters.d.ts +0 -58
  1048. package/dist/ui/formatters/sessionFormatters.d.ts.map +0 -1
  1049. package/dist/ui/formatters/sessionFormatters.js +0 -118
  1050. package/dist/ui/formatters/sessionFormatters.js.map +0 -1
  1051. package/dist/ui/formatters/status.d.ts.map +0 -1
  1052. package/dist/ui/formatters/status.js.map +0 -1
  1053. package/dist/ui/formatting.d.ts.map +0 -1
  1054. package/dist/ui/formatting.js.map +0 -1
  1055. package/dist/ui/logging/index.d.ts.map +0 -1
  1056. package/dist/ui/logging/index.js.map +0 -1
  1057. package/dist/ui/logging/logger.d.ts.map +0 -1
  1058. package/dist/ui/logging/logger.js.map +0 -1
  1059. package/dist/ui/messages/chrome.d.ts.map +0 -1
  1060. package/dist/ui/messages/chrome.js.map +0 -1
  1061. package/dist/ui/messages/commands.d.ts.map +0 -1
  1062. package/dist/ui/messages/commands.js.map +0 -1
  1063. package/dist/ui/messages/consoleMessages.d.ts.map +0 -1
  1064. package/dist/ui/messages/consoleMessages.js.map +0 -1
  1065. package/dist/ui/messages/debug.d.ts +0 -168
  1066. package/dist/ui/messages/debug.d.ts.map +0 -1
  1067. package/dist/ui/messages/debug.js +0 -219
  1068. package/dist/ui/messages/debug.js.map +0 -1
  1069. package/dist/ui/messages/dom.d.ts +0 -14
  1070. package/dist/ui/messages/dom.d.ts.map +0 -1
  1071. package/dist/ui/messages/dom.js +0 -28
  1072. package/dist/ui/messages/dom.js.map +0 -1
  1073. package/dist/ui/messages/errors.d.ts +0 -233
  1074. package/dist/ui/messages/errors.d.ts.map +0 -1
  1075. package/dist/ui/messages/errors.js +0 -395
  1076. package/dist/ui/messages/errors.js.map +0 -1
  1077. package/dist/ui/messages/hints.d.ts.map +0 -1
  1078. package/dist/ui/messages/hints.js.map +0 -1
  1079. package/dist/ui/messages/internal.d.ts +0 -23
  1080. package/dist/ui/messages/internal.d.ts.map +0 -1
  1081. package/dist/ui/messages/internal.js +0 -27
  1082. package/dist/ui/messages/internal.js.map +0 -1
  1083. package/dist/ui/messages/networkMessages.d.ts.map +0 -1
  1084. package/dist/ui/messages/networkMessages.js.map +0 -1
  1085. package/dist/ui/messages/preview.d.ts.map +0 -1
  1086. package/dist/ui/messages/preview.js.map +0 -1
  1087. package/dist/ui/messages/session.d.ts.map +0 -1
  1088. package/dist/ui/messages/session.js.map +0 -1
  1089. package/dist/ui/messages/validation.d.ts.map +0 -1
  1090. package/dist/ui/messages/validation.js.map +0 -1
  1091. package/dist/utils/__tests__/atomicFile.test.d.ts +0 -2
  1092. package/dist/utils/__tests__/atomicFile.test.d.ts.map +0 -1
  1093. package/dist/utils/__tests__/atomicFile.test.js +0 -43
  1094. package/dist/utils/__tests__/atomicFile.test.js.map +0 -1
  1095. package/dist/utils/__tests__/errors.unit.test.d.ts +0 -12
  1096. package/dist/utils/__tests__/errors.unit.test.d.ts.map +0 -1
  1097. package/dist/utils/__tests__/errors.unit.test.js +0 -255
  1098. package/dist/utils/__tests__/errors.unit.test.js.map +0 -1
  1099. package/dist/utils/__tests__/http.unit.test.d.ts +0 -12
  1100. package/dist/utils/__tests__/http.unit.test.d.ts.map +0 -1
  1101. package/dist/utils/__tests__/http.unit.test.js +0 -218
  1102. package/dist/utils/__tests__/http.unit.test.js.map +0 -1
  1103. package/dist/utils/__tests__/objects.test.d.ts +0 -2
  1104. package/dist/utils/__tests__/objects.test.d.ts.map +0 -1
  1105. package/dist/utils/__tests__/objects.test.js +0 -50
  1106. package/dist/utils/__tests__/objects.test.js.map +0 -1
  1107. package/dist/utils/__tests__/process.unit.test.d.ts +0 -14
  1108. package/dist/utils/__tests__/process.unit.test.d.ts.map +0 -1
  1109. package/dist/utils/__tests__/process.unit.test.js +0 -124
  1110. package/dist/utils/__tests__/process.unit.test.js.map +0 -1
  1111. package/dist/utils/__tests__/session.contract.test.d.ts +0 -2
  1112. package/dist/utils/__tests__/session.contract.test.d.ts.map +0 -1
  1113. package/dist/utils/__tests__/session.contract.test.js +0 -258
  1114. package/dist/utils/__tests__/session.contract.test.js.map +0 -1
  1115. package/dist/utils/__tests__/shellDetection.unit.test.d.ts +0 -12
  1116. package/dist/utils/__tests__/shellDetection.unit.test.d.ts.map +0 -1
  1117. package/dist/utils/__tests__/shellDetection.unit.test.js +0 -220
  1118. package/dist/utils/__tests__/shellDetection.unit.test.js.map +0 -1
  1119. package/dist/utils/__tests__/url.test.d.ts +0 -2
  1120. package/dist/utils/__tests__/url.test.d.ts.map +0 -1
  1121. package/dist/utils/__tests__/url.test.js +0 -42
  1122. package/dist/utils/__tests__/url.test.js.map +0 -1
  1123. package/dist/utils/async.d.ts.map +0 -1
  1124. package/dist/utils/async.js.map +0 -1
  1125. package/dist/utils/atomicFile.d.ts.map +0 -1
  1126. package/dist/utils/atomicFile.js.map +0 -1
  1127. package/dist/utils/concurrency.d.ts.map +0 -1
  1128. package/dist/utils/concurrency.js.map +0 -1
  1129. package/dist/utils/daemonErrors.d.ts +0 -60
  1130. package/dist/utils/daemonErrors.d.ts.map +0 -1
  1131. package/dist/utils/daemonErrors.js +0 -58
  1132. package/dist/utils/daemonErrors.js.map +0 -1
  1133. package/dist/utils/decisionTrees.d.ts.map +0 -1
  1134. package/dist/utils/decisionTrees.js.map +0 -1
  1135. package/dist/utils/errorMapping.d.ts.map +0 -1
  1136. package/dist/utils/errorMapping.js.map +0 -1
  1137. package/dist/utils/errors.d.ts.map +0 -1
  1138. package/dist/utils/errors.js.map +0 -1
  1139. package/dist/utils/exitCodes.d.ts.map +0 -1
  1140. package/dist/utils/exitCodes.js.map +0 -1
  1141. package/dist/utils/file.d.ts.map +0 -1
  1142. package/dist/utils/file.js.map +0 -1
  1143. package/dist/utils/http.d.ts.map +0 -1
  1144. package/dist/utils/http.js.map +0 -1
  1145. package/dist/utils/levenshtein.d.ts.map +0 -1
  1146. package/dist/utils/levenshtein.js.map +0 -1
  1147. package/dist/utils/objects.d.ts.map +0 -1
  1148. package/dist/utils/objects.js.map +0 -1
  1149. package/dist/utils/process.d.ts.map +0 -1
  1150. package/dist/utils/process.js.map +0 -1
  1151. package/dist/utils/shellDetection.d.ts.map +0 -1
  1152. package/dist/utils/shellDetection.js.map +0 -1
  1153. package/dist/utils/strings.d.ts.map +0 -1
  1154. package/dist/utils/strings.js.map +0 -1
  1155. package/dist/utils/suggestions.d.ts.map +0 -1
  1156. package/dist/utils/suggestions.js.map +0 -1
  1157. package/dist/utils/taskMappings.d.ts.map +0 -1
  1158. package/dist/utils/taskMappings.js.map +0 -1
  1159. package/dist/utils/typeGuards.d.ts.map +0 -1
  1160. package/dist/utils/typeGuards.js.map +0 -1
  1161. package/dist/utils/url.d.ts.map +0 -1
  1162. package/dist/utils/url.js.map +0 -1
  1163. package/dist/utils/validation.d.ts.map +0 -1
  1164. package/dist/utils/validation.js.map +0 -1
  1165. package/dist/utils/version.d.ts.map +0 -1
  1166. package/dist/utils/version.js.map +0 -1
  1167. /package/dist/daemon/{worker → session}/commandRegistry.d.ts +0 -0
  1168. /package/dist/daemon/{worker → session}/types.js +0 -0
  1169. /package/dist/{ui/errors → errors}/CommandError.d.ts +0 -0
  1170. /package/dist/{ui/errors → errors}/index.js +0 -0
  1171. /package/dist/{ui/errors → errors}/utils.d.ts +0 -0
  1172. /package/dist/{commands → runtime}/dom/formTypes.js +0 -0
@@ -4,16 +4,18 @@
4
4
  * User-facing messages for command-specific operations like stopping sessions,
5
5
  * cleaning up stale files, and validating command arguments.
6
6
  */
7
- import { buildAgentDiscoveryHelp, buildCommonTaskExamples, buildUrlExamples, buildSessionManagementReminder, } from '../../ui/formatters/helpFormatters.js';
8
- import { joinLines } from '../../ui/formatting.js';
7
+ import { buildAgentDiscoveryHelp, buildCommonTaskExamples, buildUrlExamples, buildSessionManagementReminder, } from '../formatters/helpFormatters.js';
8
+ import { formatDuration, joinLines, pluralize, truncateUrl } from '../formatting.js';
9
+ import { sessionCommand } from './sessionCommand.js';
10
+ import { truncateByLength } from '../../utils/strings.js';
9
11
  /**
10
- * Generate Chrome killed message.
12
+ * Chrome closed by `bdg stop` (gracefully, so the profile is saved).
11
13
  *
12
- * @param pid - Chrome process ID that was killed
14
+ * @param pid - Chrome process ID
13
15
  * @returns Formatted success message
14
16
  */
15
- export function chromeKilledMessage(pid) {
16
- return pid ? `Killed Chrome (PID ${pid})` : 'Killed Chrome';
17
+ export function chromeClosedMessage(pid) {
18
+ return pid ? `Closed Chrome (PID ${pid})` : 'Closed Chrome';
17
19
  }
18
20
  /**
19
21
  * Generate orphaned daemons cleaned message.
@@ -24,6 +26,776 @@ export function chromeKilledMessage(pid) {
24
26
  export function orphanedDaemonsCleanedMessage(count) {
25
27
  return `Cleaned up ${count} orphaned daemon process${count === 1 ? '' : 'es'}`;
26
28
  }
29
+ /**
30
+ * Warning shown when a click falls back from mouse events to `el.click()`.
31
+ *
32
+ * @param reason - Why the mouse could not reach the element (e.g. "covered by another element")
33
+ * @returns Warning text
34
+ */
35
+ export function domClickFallbackWarning(reason) {
36
+ return `Element is ${reason ?? 'not reachable by the mouse'}; dispatched DOM events instead of mouse events (a user could not reach it like this)`;
37
+ }
38
+ /** Reason of a `bdg dom form` blocker for a required field left empty */
39
+ export const REQUIRED_FIELD_EMPTY_REASON = 'Required field is empty';
40
+ /**
41
+ * Field labels as a list (without a trailing colon), the first five and how
42
+ * many more.
43
+ *
44
+ * @param labels - Field labels
45
+ * @returns e.g. "Last Name, Zip"
46
+ */
47
+ function fieldLabelList(labels) {
48
+ const shown = labels
49
+ .slice(0, 5)
50
+ .map((label) => label.replace(/\s*:\s*$/, ''))
51
+ .join(', ');
52
+ return labels.length > 5 ? `${shown} and ${labels.length - 5} more` : shown;
53
+ }
54
+ /**
55
+ * Part of the `bdg dom form` summary naming the required fields left empty.
56
+ *
57
+ * @param labels - Labels of the empty required fields
58
+ * @returns e.g. "2 required fields empty: Last Name, Zip"
59
+ */
60
+ export function requiredFieldsEmptyMessage(labels) {
61
+ const fields = labels.length === 1 ? 'field' : 'fields';
62
+ return `${labels.length} required ${fields} empty: ${fieldLabelList(labels)}`;
63
+ }
64
+ /**
65
+ * Readiness at the end of the `bdg dom form` summary.
66
+ *
67
+ * @param summary - Whether the form is ready, how many fields are filled and
68
+ * required, and the labels of the empty ones
69
+ * @returns e.g. "READY to submit", "NOT ready (no fields filled)"
70
+ */
71
+ export function formReadinessMessage(summary) {
72
+ if (!summary.readyToSubmit) {
73
+ return summary.filledFields === 0 ? 'NOT ready (no fields filled)' : 'NOT ready';
74
+ }
75
+ if (summary.requiredTotal > 0 || summary.emptyFieldLabels.length === 0)
76
+ return 'READY to submit';
77
+ return `READY to submit (no field is marked required; empty: ${fieldLabelList(summary.emptyFieldLabels)})`;
78
+ }
79
+ /** Why an action's status line is not a clean success when nothing changed */
80
+ export const NO_VISIBLE_EFFECT = 'no visible effect observed: no DOM change, requests or navigation within 300 ms';
81
+ /**
82
+ * Status line of a DOM action: a check mark only for a clean success.
83
+ *
84
+ * @param done - What was done, e.g. "Element Clicked"
85
+ * @param warned - Whether the action has warnings (shown right below)
86
+ * @param noEffect - Whether the action had no visible effect
87
+ * @returns e.g. "✓ Element Clicked", "⚠ Element Clicked (with warnings)" or
88
+ * "⚠ Element Clicked (no visible effect observed: no DOM change, requests or navigation within 300 ms)"
89
+ */
90
+ export function actionStatusLine(done, warned, noEffect = false) {
91
+ if (noEffect)
92
+ return `⚠ ${done} (${NO_VISIBLE_EFFECT})`;
93
+ return warned ? `⚠ ${done} (with warnings)` : `✓ ${done}`;
94
+ }
95
+ /**
96
+ * How an action changed the page's location, for its `Page:` row.
97
+ *
98
+ * @param navigation - Navigation the action caused
99
+ * @returns e.g. "navigated to https://example.com/secure (200)" or
100
+ * "URL changed to https://example.com/#/active (same document)"
101
+ */
102
+ export function pageNavigationText(navigation) {
103
+ if (navigation.sameDocument)
104
+ return `URL changed to ${navigation.url} (same document)`;
105
+ const status = navigation.status === undefined ? '' : ` (${navigation.status})`;
106
+ return `navigated to ${navigation.url}${status}`;
107
+ }
108
+ /**
109
+ * A message an action made appear, for its `New text:` rows.
110
+ *
111
+ * @param message - New message
112
+ * @returns e.g. `"Your password is invalid!" (div#flash.flash.error)`
113
+ */
114
+ export function newMessageText(message) {
115
+ return `"${message.text}" (${message.element})`;
116
+ }
117
+ /**
118
+ * Warning shown when a filled field's value read back is not the one given:
119
+ * cut to its maxlength, a password of another length (values never shown),
120
+ * or another value (naming the field the value went to, when one has it).
121
+ *
122
+ * @param mismatch - Value given and value found (masked for passwords)
123
+ * @returns Warning text
124
+ */
125
+ export function valueMismatchWarning(mismatch) {
126
+ if (mismatch.truncatedTo !== undefined) {
127
+ return `The value was cut to ${mismatch.truncatedTo} characters by maxlength`;
128
+ }
129
+ if (mismatch.expectedLength !== undefined) {
130
+ return `The password field's value differs from the one filled (length ${mismatch.actualLength ?? 0}, expected ${mismatch.expectedLength}); the page may have rejected or changed the input`;
131
+ }
132
+ const outcome = mismatch.movedTo === undefined
133
+ ? 'the page may have rejected or moved the input'
134
+ : `the value appeared in ${mismatch.movedTo} instead`;
135
+ return `The field's value is "${mismatch.actual}" after filling (expected "${mismatch.expected}"); ${outcome}`;
136
+ }
137
+ /**
138
+ * Warning shown when a mouse press was dispatched but the target never
139
+ * received it (e.g. a browser dialog or bubble captured the input).
140
+ */
141
+ export const CLICK_NOT_RECEIVED_WARNING = 'The click may not have reached the element: the page saw no mouse press (the browser may be showing a dialog or bubble that captures input)';
142
+ /**
143
+ * Note under a shortened list of matches.
144
+ *
145
+ * @param hidden - Matches not listed
146
+ * @param jsonLimit - How many JSON output lists, when it leaves some out too
147
+ * @returns e.g. "... and 1174 more (use --json for all)",
148
+ * "... and 8980 more (--json lists the first 100)"
149
+ */
150
+ export function moreMatchesNote(hidden, jsonLimit) {
151
+ const where = jsonLimit === undefined ? 'use --json for all' : `--json lists the first ${jsonLimit}`;
152
+ return `... and ${hidden} more (${where})`;
153
+ }
154
+ /**
155
+ * Note under a list of a11y query matches cut by `--limit`.
156
+ *
157
+ * @param omitted - Matches not listed
158
+ * @returns e.g. "... and 213 more (--limit 0 lists all; their indices work too)"
159
+ */
160
+ export function a11yMoreMatchesNote(omitted) {
161
+ return `... and ${omitted} more (--limit 0 lists all; their indices work too)`;
162
+ }
163
+ /**
164
+ * Note under a shortened list of requests an action triggered when JSON
165
+ * output left some out too (they are only in the network telemetry then).
166
+ *
167
+ * @param hidden - Requests not listed
168
+ * @returns e.g. "... and 50 more (see bdg network list)"
169
+ */
170
+ export function moreRequestsNote(hidden) {
171
+ return `... and ${hidden} more (see ${sessionCommand('bdg network list')})`;
172
+ }
173
+ /**
174
+ * Title of the list of requests that started while an action ran (they are
175
+ * attributed by time, so a page poller's requests are listed too: the title
176
+ * doesn't claim the action caused them).
177
+ *
178
+ * @param total - Requests in all
179
+ * @returns e.g. "Requests during the action (18):"
180
+ */
181
+ export function triggeredRequestsTitle(total) {
182
+ return `Requests during the action (${total}):`;
183
+ }
184
+ /**
185
+ * Line counting the static assets an action loaded instead of listing them.
186
+ *
187
+ * @param count - Asset requests
188
+ * @param types - Short type names, e.g. ["css", "js", "images"]
189
+ * @returns e.g. "+ 97 assets (css, js, fonts, images)"
190
+ */
191
+ export function assetRequestsNote(count, types) {
192
+ return `+ ${count} ${count === 1 ? 'asset' : 'assets'} (${types.join(', ')})`;
193
+ }
194
+ /**
195
+ * Pieces of the reasons `bdg dom layout` gives for hidden and invisible
196
+ * elements. The page-side measurement builds the reasons from them, e.g.
197
+ * `clipped by div#acc: zero height`, `opacity: 0 on div#menu`.
198
+ */
199
+ export const LAYOUT_REASONS = {
200
+ /** Hidden: an `<option>` of a closed `<select>` has no box */
201
+ option: 'not rendered (an <option> is shown by its <select>)',
202
+ /** Hidden: start of the reason for a clipping container with no area, followed by it */
203
+ clippedBy: 'clipped by ',
204
+ /** Which size of that container is zero */
205
+ zeroHeight: 'zero height',
206
+ zeroWidth: 'zero width',
207
+ /** Invisible: fully transparent */
208
+ transparent: 'opacity: 0',
209
+ /** Joins an invisible reason to the ancestor causing it */
210
+ on: ' on ',
211
+ };
212
+ /** Start of the off-screen reason of an element a scroll-locked page hides ({@link scrollLockedReason}) */
213
+ const SCROLL_LOCKED_PREFIX = 'page scrolling is locked';
214
+ /**
215
+ * Off-screen reason for an element out of view on a page whose scrolling is
216
+ * locked, naming the visible dialog that likely locked it when there is one.
217
+ *
218
+ * @param lock - What locks it, e.g. `overflow: hidden on body`
219
+ * @param dialog - Visible dialog on the page, e.g. `div#consent` (null: none)
220
+ * @returns e.g. `page scrolling is locked (overflow: hidden on body), likely by dialog div#consent`,
221
+ * or `page scrolling is locked (overflow: hidden on body)`
222
+ */
223
+ export function scrollLockedReason(lock, dialog = null) {
224
+ const cause = dialog ? `, likely by dialog ${dialog}` : '';
225
+ return `${SCROLL_LOCKED_PREFIX} (${lock})${cause}`;
226
+ }
227
+ /** Short location hints for elements a user cannot see without scrolling */
228
+ const VIEWPORT_POSITION_HINTS = {
229
+ above: 'above viewport',
230
+ below: 'below fold',
231
+ left: 'left of viewport',
232
+ right: 'right of viewport',
233
+ hidden: 'hidden',
234
+ };
235
+ /**
236
+ * Location hint for an element outside the viewport or hidden.
237
+ *
238
+ * @param position - Where the element is
239
+ * @param clippedBy - Ancestor or iframe cutting it off, if any
240
+ * @returns e.g. "below fold", "out of view in ul#list"; undefined for
241
+ * elements (partly) in view
242
+ */
243
+ export function viewportPositionHint(position, clippedBy) {
244
+ const outside = position !== 'visible' && position !== 'partly' && position !== 'hidden';
245
+ if (outside && clippedBy)
246
+ return `out of view in ${clippedBy}`;
247
+ return VIEWPORT_POSITION_HINTS[position];
248
+ }
249
+ /**
250
+ * Page scroll that would bring an element into view, in words.
251
+ *
252
+ * @param scrollBy - Scroll amounts
253
+ * @param purpose - What the scroll does, e.g. "centre it"
254
+ * @returns e.g. "scroll down 760px to centre it"
255
+ */
256
+ function scrollAdvice(scrollBy, purpose) {
257
+ const steps = [
258
+ scrollBy.y !== 0 && `${scrollBy.y > 0 ? 'down' : 'up'} ${Math.abs(scrollBy.y)}px`,
259
+ scrollBy.x !== 0 && `${scrollBy.x > 0 ? 'right' : 'left'} ${Math.abs(scrollBy.x)}px`,
260
+ ].filter(Boolean);
261
+ return `scroll ${steps.join(', ')} to ${purpose}`;
262
+ }
263
+ /**
264
+ * Whether an element fits the viewport (the scroll then centres it; a larger
265
+ * one gets its start aligned).
266
+ *
267
+ * @param element - Element layout
268
+ * @param viewport - Viewport size, when known
269
+ * @returns True when it fits, or the viewport is unknown
270
+ */
271
+ function fitsViewport(element, viewport) {
272
+ const { width, height } = element.bounds;
273
+ return !viewport || (width <= viewport.width && height <= viewport.height);
274
+ }
275
+ /**
276
+ * How to bring an element that is out of view into view, in words.
277
+ *
278
+ * @param element - Element layout
279
+ * @param viewport - Viewport size (an element larger than it is not centred)
280
+ * @returns e.g. "scroll down 760px to centre it", "off-screen: fixed position, page scroll
281
+ * does not move it"; undefined when neither applies
282
+ */
283
+ function layoutScrollNote(element, viewport) {
284
+ if (element.scrollBy) {
285
+ const purpose = fitsViewport(element, viewport) ? 'centre it' : 'bring it into view';
286
+ return scrollAdvice(element.scrollBy, purpose);
287
+ }
288
+ return element.offScreenReason && `off-screen: ${element.offScreenReason}`;
289
+ }
290
+ /**
291
+ * How to see all of an element that is partly in view, in words.
292
+ *
293
+ * @param element - Element layout
294
+ * @param viewport - Viewport size (for an element larger than it, the scroll shows its start)
295
+ * @returns e.g. "scroll down 302px to see all of it", "sticky position, page scroll moves it
296
+ * only until it sticks"; undefined when neither applies
297
+ */
298
+ function partlyVisibleNote(element, viewport) {
299
+ if (element.scrollBy) {
300
+ const purpose = fitsViewport(element, viewport) ? 'see all of it' : 'show it from its start';
301
+ return scrollAdvice(element.scrollBy, purpose);
302
+ }
303
+ return element.offScreenReason;
304
+ }
305
+ /**
306
+ * Where an element is relative to the viewport, for `bdg dom layout`.
307
+ *
308
+ * @param element - Element layout
309
+ * @param viewport - Viewport size, when known
310
+ * @returns e.g. "visible", "partly visible (40%); scroll down 302px to see all of it",
311
+ * "below fold (scroll down 760px to centre it)",
312
+ * "out of view in ul#list (below)", "hidden (display: none)",
313
+ * "left of viewport (off-screen: beyond the page's scroll range)",
314
+ * "below fold; page scrolling is locked (overflow: hidden on body), likely by dialog div#consent"
315
+ */
316
+ export function layoutPositionLabel(element, viewport) {
317
+ const { inViewport, percentVisible, hiddenReason, clippedBy, offScreenReason } = element;
318
+ if (inViewport === 'visible')
319
+ return 'visible';
320
+ const locked = !element.scrollBy && offScreenReason?.startsWith(SCROLL_LOCKED_PREFIX);
321
+ if (inViewport === 'partly') {
322
+ const clipped = clippedBy ? `, clipped by ${clippedBy}` : '';
323
+ const label = `partly visible (${percentVisible ?? 0}%${clipped})`;
324
+ const note = partlyVisibleNote(element, viewport);
325
+ return note ? `${label}; ${note}` : label;
326
+ }
327
+ const note = locked ? undefined : layoutScrollNote(element, viewport);
328
+ const label = viewportPositionHint(inViewport, clippedBy) ?? inViewport;
329
+ if (hiddenReason)
330
+ return `${label} (${hiddenReason})`;
331
+ if (clippedBy)
332
+ return `${label} (${inViewport})`;
333
+ if (locked)
334
+ return `${label}; ${offScreenReason}`;
335
+ return note ? `${label} (${note})` : label;
336
+ }
337
+ /**
338
+ * The `prefers-color-scheme` media feature the page sees, labelled as the
339
+ * preference it is (the page may still render its own theme), and where it
340
+ * comes from.
341
+ *
342
+ * @param scheme - Light or dark
343
+ * @param emulated - Set with `--color-scheme` (otherwise the system setting)
344
+ * @returns e.g. `prefers-color-scheme: dark (from the system setting)`
345
+ */
346
+ export function colorSchemeLabel(scheme, emulated) {
347
+ const source = emulated ? 'emulated with --color-scheme' : 'from the system setting';
348
+ return `prefers-color-scheme: ${scheme} (${source})`;
349
+ }
350
+ /**
351
+ * First line of `bdg status` for a running session.
352
+ *
353
+ * @param page - URL and title of the page, when the session reported them
354
+ * @returns e.g. `Session active: https://example.com/ — Example Domain`
355
+ */
356
+ export function sessionActiveLine(page) {
357
+ if (!page)
358
+ return 'Session active';
359
+ return `Session active: ${page.url}${page.title ? ` — ${page.title}` : ''}`;
360
+ }
361
+ /**
362
+ * Page dimensions line of `bdg dom layout`.
363
+ *
364
+ * @param page - Viewport, scroll position, document size and the color scheme the page is told to prefer
365
+ * @returns e.g. "Page: viewport 1280×720, scrolled to 0,0, document 1280×2400, prefers-color-scheme: dark"
366
+ */
367
+ export function pageLayoutLine(page) {
368
+ const { viewport, scroll, document, colorScheme } = page;
369
+ const scheme = colorScheme ? `, prefers-color-scheme: ${colorScheme}` : '';
370
+ return `Page: viewport ${viewport.width}×${viewport.height}, scrolled to ${scroll.x},${scroll.y}, document ${document.width}×${document.height}${scheme}`;
371
+ }
372
+ /**
373
+ * Headline of `bdg dom layout`.
374
+ *
375
+ * @param count - Elements matched
376
+ * @param listed - Elements reported (fewer with --index)
377
+ * @param selector - Selector they matched
378
+ * @returns e.g. '3 elements match "button" (page x,y and size in CSS px):',
379
+ * '1 of 3 elements matching "button" (...)'
380
+ */
381
+ export function layoutHeadline(count, listed, selector) {
382
+ const matched = listed < count
383
+ ? `${listed} of ${count} elements matching "${selector}"`
384
+ : `${count} element${count === 1 ? ' matches' : 's match'} "${selector}"`;
385
+ return `${matched} (page x,y and size in CSS px):`;
386
+ }
387
+ /**
388
+ * Headline of `bdg dom layout` for a cached index.
389
+ *
390
+ * @param target - The index and the list it refers to, in words
391
+ * @returns e.g. `Element at index 0 of the last dom query "h3" (page x,y and size in CSS px):`
392
+ */
393
+ export function indexLayoutHeadline(target) {
394
+ return `Element at ${target} (page x,y and size in CSS px):`;
395
+ }
396
+ /**
397
+ * Warning when a selector matched several elements and no --index was given.
398
+ *
399
+ * @param count - Number of matching elements
400
+ * @param action - What was done, e.g. "clicked the first visible one"
401
+ * @returns Warning text
402
+ */
403
+ export function multipleMatchesWarning(count, action) {
404
+ return `${count} elements match; ${action} (use --index or a more specific selector)`;
405
+ }
406
+ /**
407
+ * Headline of `bdg dom listeners`, saying where the counted listeners are:
408
+ * the list covers the element, its ancestors, its document and window.
409
+ *
410
+ * @param element - Inspected element, e.g. "button#save"
411
+ * @param counts - Listeners found, by placement
412
+ * @param context - Index of the element and the iframe it is in, if any
413
+ * @returns e.g. "Event listeners for button#save (156: 3 on the element, 120 on ancestors, 33 on document and window)"
414
+ */
415
+ export function listenersHeadline(element, counts, context = {}) {
416
+ const index = context.index === undefined ? '' : ` [${context.index}]`;
417
+ const frame = context.frame ? ` in ${context.frame}` : '';
418
+ const total = counts.target + counts.ancestor + counts.global;
419
+ const where = [
420
+ counts.target > 0 && `${counts.target} on the element`,
421
+ counts.ancestor > 0 && `${counts.ancestor} on ancestors`,
422
+ counts.global > 0 && `${counts.global} on document and window`,
423
+ ].filter(Boolean);
424
+ return `Event listeners for ${element}${index}${frame} (${total}: ${where.join(', ')})`;
425
+ }
426
+ /** Heading of the collapsed framework root listeners */
427
+ export const COLLAPSED_LISTENERS_HEADING = 'Framework roots (one line per node; --all lists each listener):';
428
+ /**
429
+ * One collapsed framework root.
430
+ *
431
+ * @param root - Framework label, event types, phases and dispatcher names
432
+ * @returns e.g. "React root: 90 event types, capture and bubble (dispatchEvent, …)"
433
+ */
434
+ export function collapsedListenersSummary(root) {
435
+ const phases = [root.capture && 'capture', root.bubble && 'bubble'].filter(Boolean).join(' and ');
436
+ const label = root.framework ?? 'Dispatcher';
437
+ return `${label}: ${root.types.length} event types, ${phases} (${root.handlers.join(', ')})`;
438
+ }
439
+ /**
440
+ * jQuery handlers left unresolved because there were too many.
441
+ *
442
+ * @param count - Handlers not resolved
443
+ * @returns One-line note
444
+ */
445
+ export function jqueryHandlersSkippedNote(count) {
446
+ return `Note: ${count} more jQuery handler${count === 1 ? '' : 's'} not resolved; their jQuery dispatcher is listed instead (narrow down with --type)`;
447
+ }
448
+ /**
449
+ * Event types a mistyped `--type` probably meant.
450
+ *
451
+ * @param types - Suggested types
452
+ * @returns e.g. "Did you mean: --type click?"
453
+ */
454
+ export function eventTypeSuggestion(types) {
455
+ return `Did you mean: --type ${types.join(',')}? (event types are case-sensitive, without "on")`;
456
+ }
457
+ /**
458
+ * `bdg dom listeners` found nothing.
459
+ *
460
+ * @param element - Inspected element
461
+ * @param types - Event types asked for with --type, if any
462
+ * @returns e.g. "No click listeners on button#save, its ancestors, document or window"
463
+ */
464
+ export function noListenersMessage(element, types) {
465
+ const kind = types?.length ? `${types.join('/')} listeners` : 'event listeners';
466
+ return `No ${kind} on ${element}, its ancestors, document or window`;
467
+ }
468
+ /** What `bdg dom listeners` covers, shown when it found nothing */
469
+ export const NO_LISTENERS_HINT = 'Inline on… attributes and on… properties are included, and so are handlers frameworks delegate to ancestors (React, jQuery)';
470
+ /** Event types named in a note; the rest are counted */
471
+ const NOTE_TYPES_SHOWN = 5;
472
+ /**
473
+ * "click", "click and keydown", "click, keydown and input", "a, b, c, d, e
474
+ * and 3 more".
475
+ *
476
+ * @param types - Event types
477
+ * @returns The types as a list in prose
478
+ */
479
+ function typeList(types) {
480
+ if (types.length > NOTE_TYPES_SHOWN + 1) {
481
+ return `${types.slice(0, NOTE_TYPES_SHOWN).join(', ')} and ${types.length - NOTE_TYPES_SHOWN} more`;
482
+ }
483
+ return types.length > 1
484
+ ? `${types.slice(0, -1).join(', ')} and ${types[types.length - 1]}`
485
+ : (types[0] ?? '');
486
+ }
487
+ /**
488
+ * Note for interaction event types the element has no listener of its own for.
489
+ *
490
+ * @param note - How the types reach their handlers
491
+ * @returns One-line note, or undefined when the listed handlers say it all
492
+ */
493
+ export function delegationNote(note) {
494
+ const types = typeList(note.types);
495
+ const has = note.types.length === 1 ? 'has' : 'have';
496
+ const placeholders = typeList(note.placeholderTypes);
497
+ const placeholder = `the element's own ${placeholders} listener is only React's no-op placeholder`;
498
+ switch (note.kind) {
499
+ case 'react':
500
+ if (note.placeholderTypes.length === 0)
501
+ return undefined;
502
+ return `Note: ${placeholder}; the React on… handlers listed above for ${placeholders} run from React's root container`;
503
+ case 'react-root':
504
+ return `Note: React's root container (${note.node ?? 'its root'}) handles ${types}, but no React on… prop for ${note.types.length === 1 ? 'it' : 'them'} was found on the element or its ancestors${note.placeholderTypes.length > 0 ? `; ${placeholder}` : ''}`;
505
+ case 'jquery':
506
+ return `Note: ${types} ${has} no listener on the element itself; jQuery runs the handlers listed above by delegation from ${note.node ?? 'an ancestor'}`;
507
+ case 'delegated': {
508
+ const own = note.placeholderTypes.length > 0 ? 'no listener that does anything' : 'no listener';
509
+ return `Note: ${types} ${has} ${own} on the element itself; the listeners on its ancestors, document or window listed above still run for it (event delegation)`;
510
+ }
511
+ }
512
+ }
513
+ /**
514
+ * React prop handlers left unresolved because there were too many.
515
+ *
516
+ * @param count - Handlers not resolved
517
+ * @returns One-line note
518
+ */
519
+ export function reactHandlersSkippedNote(count) {
520
+ return `Note: ${count} more React handler prop${count === 1 ? '' : 's'} not listed (narrow down with --type)`;
521
+ }
522
+ /**
523
+ * A JavaScript dialog bdg accepted, as one line.
524
+ *
525
+ * @param dialog - Dialog type and text
526
+ * @returns e.g. 'alert() dialog accepted: "Saved"'
527
+ */
528
+ export function dialogConsoleText(dialog) {
529
+ const kind = dialog.type === 'beforeunload' ? 'beforeunload' : `${dialog.type}()`;
530
+ return `${kind} dialog accepted${dialog.message ? `: "${dialog.message}"` : ''}`;
531
+ }
532
+ /** Headline of each pointer action, e.g. "Element Double-clicked" */
533
+ export const POINTER_ACTION_DONE = {
534
+ click: 'Clicked',
535
+ double: 'Double-clicked',
536
+ right: 'Right-clicked',
537
+ hover: 'Hovered',
538
+ };
539
+ /** Headline of each `bdg page` action */
540
+ export const PAGE_ACTION_DONE = {
541
+ navigate: 'Navigated',
542
+ reload: 'Reloaded',
543
+ back: 'Went back',
544
+ forward: 'Went forward',
545
+ };
546
+ /** Help text of the `bdg page` history commands */
547
+ /** Description of `bdg page info` */
548
+ export const PAGE_INFO_DESCRIPTION = 'Show the URL and title of the session page';
549
+ export const PAGE_ACTION_DESCRIPTIONS = {
550
+ reload: 'Reload the page',
551
+ back: 'Go back one page (like the browser button)',
552
+ forward: 'Go forward one page (like the browser button)',
553
+ };
554
+ /**
555
+ * `bdg page navigate|reload|back|forward` when the document answered with an
556
+ * error status, or the page then loaded another document that answered
557
+ * differently (a 404 page whose script loads the app).
558
+ *
559
+ * @param status - HTTP status of the navigation's document
560
+ * @param later - The last document the page loaded afterwards, if any
561
+ * @returns Warning, or undefined when there is nothing to report
562
+ */
563
+ export function documentStatusWarning(status, later) {
564
+ const failed = status >= 400;
565
+ const laterFailed = later !== undefined && later.status >= 400;
566
+ if (later && (failed || laterFailed)) {
567
+ return `The page responded with HTTP ${status}, then loaded ${later.url} (HTTP ${later.status})`;
568
+ }
569
+ return failed ? `The page responded with HTTP ${status}` : undefined;
570
+ }
571
+ /**
572
+ * `bdg page navigate` to a URL that loaded no page.
573
+ *
574
+ * @returns Warning
575
+ */
576
+ export function notAPageWarning() {
577
+ return 'The URL did not load a page (it may be a file download); the page did not change';
578
+ }
579
+ /**
580
+ * `bdg page` when the server did not answer in time.
581
+ *
582
+ * @param ms - Time waited
583
+ * @returns Warning
584
+ */
585
+ export function stillLoadingWarning(ms) {
586
+ return `The new page has not answered within ${Math.round(ms / 1000)}s; it is still loading (check with ${sessionCommand('bdg status')})`;
587
+ }
588
+ /**
589
+ * A request the page is still waiting for.
590
+ *
591
+ * @param request - Pending request
592
+ * @returns e.g. `GET code.jquery.com/ui/.../jquery-ui.js (pending 30s)`
593
+ */
594
+ function pendingRequestLabel(request) {
595
+ return `${request.method} ${truncateUrl(request.url)} (pending ${formatDuration(request.pendingMs)})`;
596
+ }
597
+ /**
598
+ * Requests still running, the longest-running first, in words.
599
+ *
600
+ * @param pending - The requests to name
601
+ * @param count - All requests still running
602
+ * @returns e.g. `GET …/app.js (pending 30s) and 2 more`
603
+ */
604
+ export function pendingRequestsText(pending, count) {
605
+ const more = count - pending.length;
606
+ return `${pending.map(pendingRequestLabel).join(', ')}${more > 0 ? ` and ${more} more` : ''}`;
607
+ }
608
+ /**
609
+ * How far a page request got, in words.
610
+ *
611
+ * @param request - The page request
612
+ * @returns e.g. `POST …/authenticate pending for 30s`, `POST …/authenticate returned 503 Service Unavailable`,
613
+ * `POST …/authenticate failed (net::ERR_CONNECTION_REFUSED)`
614
+ */
615
+ export function documentRequestText(request) {
616
+ const target = `${request.method} ${truncateUrl(request.url)}`;
617
+ if (request.errorText !== undefined)
618
+ return `${target} failed (${request.errorText})`;
619
+ if (request.status !== undefined) {
620
+ return `${target} returned ${request.status}${request.statusText ? ` ${request.statusText}` : ''}`;
621
+ }
622
+ return `${target} pending for ${formatDuration(request.pendingMs ?? 0)}`;
623
+ }
624
+ /**
625
+ * Start and `bdg page` when the document has not finished loading within
626
+ * the readiness wait: its readyState and the requests it is waiting on.
627
+ *
628
+ * @param state - Loading state of the page
629
+ * @returns Warning, e.g. `The page is still loading (document.readyState: loading); waiting on: GET …/jquery-ui.js (pending 30s)`
630
+ */
631
+ export function pageLoadingWarning(state) {
632
+ const waitingOn = state.pending.length > 0
633
+ ? `; waiting on: ${pendingRequestsText(state.pending, state.pendingCount)}`
634
+ : '';
635
+ return `The page is still loading (document.readyState: ${state.readyState})${waitingOn}. Elements may be missing until it finishes: ${sessionCommand('bdg dom wait <selector>')} waits for one`;
636
+ }
637
+ /**
638
+ * Help of `dom click`/`submit`: they wait for the network only, so results a
639
+ * page shows later (timers, spinners, animations) are waited for with `dom wait`.
640
+ */
641
+ export const CLICK_RESULT_WAIT_HELP = joinLines('', 'Waits only for the requests the action starts (150 ms idle, up to 2 s), not for', 'results the page shows later (timers, spinners, animations). Wait for those with:', " bdg dom wait '#result' --visible # or --text 'Saved', or '.spinner' --gone");
642
+ /** Examples in the help of `bdg dom wait` */
643
+ export const WAIT_HELP_EXAMPLES = joinLines('', 'Examples:', " bdg dom wait '#finish' --visible # timer-based loading (a spinner, then the result)", " bdg dom wait '.toast' --text 'Saved' # a match containing the text", " bdg dom wait '#loading' --gone # the spinner went away", ' bdg dom wait --load # the page finished loading');
644
+ /**
645
+ * The elements `bdg dom wait` waits for.
646
+ *
647
+ * @param condition - What is waited for
648
+ * @returns e.g. `#finish with text "hello world"`
649
+ */
650
+ export function waitTargetLabel(condition) {
651
+ const text = condition.text !== undefined ? ` with text "${condition.text}"` : '';
652
+ return `${condition.selector ?? 'the page'}${text}`;
653
+ }
654
+ /**
655
+ * One-line result of `bdg dom wait`.
656
+ *
657
+ * @param condition - What was waited for
658
+ * @param elapsedMs - How long it took
659
+ * @returns e.g. `✓ div#finish visible after 5.1s`
660
+ */
661
+ export function waitMetMessage(condition, elapsedMs) {
662
+ const after = `after ${(elapsedMs / 1000).toFixed(1)}s`;
663
+ if (condition.selector === undefined)
664
+ return `✓ Page loaded ${after}`;
665
+ const state = condition.gone
666
+ ? condition.visible
667
+ ? 'hidden'
668
+ : 'gone'
669
+ : condition.visible
670
+ ? 'visible'
671
+ : 'found';
672
+ const loaded = condition.load ? ' and page loaded' : '';
673
+ return `✓ ${waitTargetLabel(condition)} ${state}${loaded} ${after}`;
674
+ }
675
+ /**
676
+ * What the page showed, for a `bdg dom wait` that timed out.
677
+ *
678
+ * @param snapshot - Last thing the page reported
679
+ * @param condition - What was waited for
680
+ * @returns e.g. `2 matches, none visible` or `document.readyState: loading`
681
+ */
682
+ export function waitSnapshotSummary(snapshot, condition) {
683
+ const some = (count) => (count === 0 ? 'none' : String(count));
684
+ const parts = [];
685
+ if (condition.selector !== undefined) {
686
+ parts.push(snapshot.count === 0 ? 'no matches' : pluralize(snapshot.count, 'match', 'matches'));
687
+ if (condition.text !== undefined && snapshot.count > 0) {
688
+ parts.push(`${some(snapshot.textCount)} with text "${condition.text}"`);
689
+ }
690
+ if (condition.visible && snapshot.textCount > 0) {
691
+ parts.push(`${some(snapshot.visibleCount)} visible`);
692
+ }
693
+ }
694
+ if (condition.load || snapshot.readyState !== 'complete') {
695
+ parts.push(`document.readyState: ${snapshot.readyState}`);
696
+ }
697
+ return parts.join(', ');
698
+ }
699
+ /**
700
+ * One line describing an iframe: index, URL, name/id, and how it is isolated.
701
+ *
702
+ * @param frame - Frame from `bdg dom frames`
703
+ * @returns e.g. `[1] https://pay.example/ #checkout cross-origin, out-of-process`
704
+ */
705
+ export function frameLabel(frame) {
706
+ const names = [frame.name && `name=${frame.name}`, frame.id && `#${frame.id}`].filter(Boolean);
707
+ const isolation = [
708
+ frame.crossOrigin ? 'cross-origin' : 'same-origin',
709
+ frame.outOfProcess && 'out-of-process',
710
+ ].filter(Boolean);
711
+ const label = `[${frame.index}] ${frameUrlLabel(frame.url)}`;
712
+ return [label, ...names, isolation.join(', ')].join(' ');
713
+ }
714
+ /** Longest frame URL shown in human output (JSON has the full URL) */
715
+ const FRAME_URL_MAX_LENGTH = 100;
716
+ /**
717
+ * A frame URL for human output: shortened, and named when empty.
718
+ *
719
+ * @param url - Frame URL
720
+ * @returns e.g. `https://pay.example/checkout?…`, or `(no URL)`
721
+ */
722
+ export function frameUrlLabel(url) {
723
+ return url ? truncateByLength(url, FRAME_URL_MAX_LENGTH) : '(no URL)';
724
+ }
725
+ /**
726
+ * `bdg dom frames` on a page without iframes.
727
+ *
728
+ * @returns Message
729
+ */
730
+ export function noFramesMessage() {
731
+ return 'The page has no iframes';
732
+ }
733
+ /**
734
+ * `bdg dom frames` while the page is still loading: its iframes may not
735
+ * exist yet.
736
+ *
737
+ * @param empty - No iframe was found
738
+ * @returns e.g. `No iframes yet; the page is still loading, so the list may be incomplete (bdg dom wait --load)`
739
+ */
740
+ export function framesStillLoadingNote(empty) {
741
+ const wait = `(${sessionCommand('bdg dom wait --load')})`;
742
+ return empty
743
+ ? `No iframes yet; the page is still loading, so the list may be incomplete ${wait}`
744
+ : `Note: the page is still loading, so the list may be incomplete ${wait}`;
745
+ }
746
+ /**
747
+ * Text of an element in `bdg dom get` output.
748
+ *
749
+ * @param text - Collapsed text, ending in `...` when it was cut
750
+ * @returns e.g. `Text: Welcome to ... (cut at 500 characters; --full shows all of it)`
751
+ */
752
+ export function elementTextLine(text) {
753
+ const cut = text.endsWith('...') ? ' (cut at 500 characters; --full shows all of it)' : '';
754
+ return `Text: ${text}${cut}`;
755
+ }
756
+ /**
757
+ * What an element without text holds, in `bdg dom get` output.
758
+ *
759
+ * @param children - First child elements, e.g. `iframe#app`
760
+ * @param count - Number of child elements
761
+ * @returns e.g. `No text; holds 1 element: iframe (see its HTML with --raw)`
762
+ */
763
+ export function emptyElementLine(children, count) {
764
+ if (count === 0)
765
+ return 'No text and no child elements';
766
+ const more = count > children.length ? `, … ${count - children.length} more` : '';
767
+ return `No text; holds ${pluralize(count, 'element')}: ${children.join(', ')}${more} (see its HTML with --raw)`;
768
+ }
769
+ /**
770
+ * Note on an element screenshot that captured more than the element's border
771
+ * box, because content (floats, positioned children) overflows it.
772
+ *
773
+ * @param box - Border box
774
+ * @param captured - Area captured
775
+ * @returns e.g. `grown from 940×37 to 940×285 to include content overflowing the element`
776
+ */
777
+ export function screenshotGrownNote(box, captured) {
778
+ return `grown from ${box.width}×${box.height} to ${captured.width}×${captured.height} to include content overflowing the element`;
779
+ }
780
+ /**
781
+ * Next commands after `bdg dom query`, by index so they reach matches in
782
+ * shadow roots and iframes too.
783
+ *
784
+ * @param index - Match to use in the examples
785
+ * @returns One line
786
+ */
787
+ export function queryNextSteps(index) {
788
+ return `Next: bdg dom get ${index} (text), bdg dom get ${index} --raw (HTML), bdg dom layout ${index} (position)`;
789
+ }
790
+ /**
791
+ * Header of `bdg dom eval --frame` output naming the frame the script ran in.
792
+ *
793
+ * @param url - Frame URL
794
+ * @returns e.g. `Frame: https://pay.example/`
795
+ */
796
+ export function evalFrameLine(url) {
797
+ return `Frame: ${frameUrlLabel(url)}`;
798
+ }
27
799
  /**
28
800
  * Generate warning message.
29
801
  *
@@ -57,6 +829,15 @@ export function sessionOutputRemovedMessage() {
57
829
  export function sessionDirectoryCleanMessage() {
58
830
  return 'Session directory is now clean';
59
831
  }
832
+ /**
833
+ * `bdg cleanup --purge` deleted a named session's directory.
834
+ *
835
+ * @param dir - Deleted directory
836
+ * @returns Message
837
+ */
838
+ export function sessionDirectoryPurgedMessage(dir) {
839
+ return `Session directory removed: ${dir}`;
840
+ }
60
841
  /**
61
842
  * Generate no session files found message.
62
843
  *
@@ -74,6 +855,15 @@ export function noSessionFilesMessage() {
74
855
  export function sessionStillActiveError(pid) {
75
856
  return `Session is still active (PID ${pid})`;
76
857
  }
858
+ /**
859
+ * How to clean up a session that is still running.
860
+ *
861
+ * @param session - Name of a named session, or null for the default session
862
+ * @returns Suggestion lines
863
+ */
864
+ export function sessionStillActiveSuggestion(session) {
865
+ return `Stop gracefully: ${sessionCommand('bdg stop', session)}\nForce cleanup: ${sessionCommand('bdg cleanup --force', session)}`;
866
+ }
77
867
  /**
78
868
  * Generate help message when no URL is provided to start command.
79
869
  *