@vforsh/argus-watcher 0.1.10 → 0.1.12

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 (346) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/buffer/RealtimeNetBuffer.d.ts +31 -0
  3. package/dist/buffer/RealtimeNetBuffer.d.ts.map +1 -0
  4. package/dist/buffer/RealtimeNetBuffer.js +190 -0
  5. package/dist/buffer/RealtimeNetBuffer.js.map +1 -0
  6. package/dist/cdp/editor.d.ts +5 -1
  7. package/dist/cdp/editor.d.ts.map +1 -1
  8. package/dist/cdp/editor.js +44 -0
  9. package/dist/cdp/editor.js.map +1 -1
  10. package/dist/cdp/eval.d.ts +1 -0
  11. package/dist/cdp/eval.d.ts.map +1 -1
  12. package/dist/cdp/eval.js +77 -29
  13. package/dist/cdp/eval.js.map +1 -1
  14. package/dist/cdp/mouse.d.ts +1 -1
  15. package/dist/cdp/mouse.d.ts.map +1 -1
  16. package/dist/cdp/mouse.js +1 -1
  17. package/dist/cdp/mouse.js.map +1 -1
  18. package/dist/cdp/networkCapture.d.ts +2 -0
  19. package/dist/cdp/networkCapture.d.ts.map +1 -1
  20. package/dist/cdp/networkCapture.js +8 -0
  21. package/dist/cdp/networkCapture.js.map +1 -1
  22. package/dist/cdp/networkRealtimeCapture.d.ts +23 -0
  23. package/dist/cdp/networkRealtimeCapture.d.ts.map +1 -0
  24. package/dist/cdp/networkRealtimeCapture.js +161 -0
  25. package/dist/cdp/networkRealtimeCapture.js.map +1 -0
  26. package/dist/cdp/pageIndicator.d.ts.map +1 -1
  27. package/dist/cdp/pageIndicator.js +1 -249
  28. package/dist/cdp/pageIndicator.js.map +1 -1
  29. package/dist/cdp/pageIndicatorScript.d.ts +19 -0
  30. package/dist/cdp/pageIndicatorScript.d.ts.map +1 -0
  31. package/dist/cdp/pageIndicatorScript.js +351 -0
  32. package/dist/cdp/pageIndicatorScript.js.map +1 -0
  33. package/dist/cdp/screenshot.d.ts.map +1 -1
  34. package/dist/cdp/screenshot.js +67 -19
  35. package/dist/cdp/screenshot.js.map +1 -1
  36. package/dist/events.d.ts +17 -2
  37. package/dist/events.d.ts.map +1 -1
  38. package/dist/http/routes/authCookies.d.ts +5 -10
  39. package/dist/http/routes/authCookies.d.ts.map +1 -1
  40. package/dist/http/routes/authCookies.js +17 -30
  41. package/dist/http/routes/authCookies.js.map +1 -1
  42. package/dist/http/routes/defineDomTargetRoute.d.ts +59 -0
  43. package/dist/http/routes/defineDomTargetRoute.d.ts.map +1 -0
  44. package/dist/http/routes/defineDomTargetRoute.js +39 -0
  45. package/dist/http/routes/defineDomTargetRoute.js.map +1 -0
  46. package/dist/http/routes/defineRoute.d.ts +39 -0
  47. package/dist/http/routes/defineRoute.d.ts.map +1 -0
  48. package/dist/http/routes/defineRoute.js +41 -0
  49. package/dist/http/routes/defineRoute.js.map +1 -0
  50. package/dist/http/routes/domSelectorRoute.d.ts +4 -11
  51. package/dist/http/routes/domSelectorRoute.d.ts.map +1 -1
  52. package/dist/http/routes/domSelectorRoute.js +9 -17
  53. package/dist/http/routes/domSelectorRoute.js.map +1 -1
  54. package/dist/http/routes/getAuthCookies.d.ts +1 -2
  55. package/dist/http/routes/getAuthCookies.d.ts.map +1 -1
  56. package/dist/http/routes/getAuthCookies.js +14 -14
  57. package/dist/http/routes/getAuthCookies.js.map +1 -1
  58. package/dist/http/routes/getAuthState.d.ts +1 -2
  59. package/dist/http/routes/getAuthState.d.ts.map +1 -1
  60. package/dist/http/routes/getAuthState.js +13 -13
  61. package/dist/http/routes/getAuthState.js.map +1 -1
  62. package/dist/http/routes/getDialog.d.ts +1 -2
  63. package/dist/http/routes/getDialog.d.ts.map +1 -1
  64. package/dist/http/routes/getDialog.js +7 -10
  65. package/dist/http/routes/getDialog.js.map +1 -1
  66. package/dist/http/routes/getEmulation.d.ts +1 -2
  67. package/dist/http/routes/getEmulation.d.ts.map +1 -1
  68. package/dist/http/routes/getEmulation.js +7 -7
  69. package/dist/http/routes/getEmulation.js.map +1 -1
  70. package/dist/http/routes/getExtensionTabs.d.ts +2 -0
  71. package/dist/http/routes/getExtensionTabs.d.ts.map +1 -0
  72. package/dist/http/routes/getExtensionTabs.js +24 -0
  73. package/dist/http/routes/getExtensionTabs.js.map +1 -0
  74. package/dist/http/routes/getLogs.d.ts +1 -2
  75. package/dist/http/routes/getLogs.d.ts.map +1 -1
  76. package/dist/http/routes/getLogs.js +31 -26
  77. package/dist/http/routes/getLogs.js.map +1 -1
  78. package/dist/http/routes/getNet.d.ts +1 -2
  79. package/dist/http/routes/getNet.d.ts.map +1 -1
  80. package/dist/http/routes/getNet.js +19 -21
  81. package/dist/http/routes/getNet.js.map +1 -1
  82. package/dist/http/routes/getNetRequest.d.ts +1 -2
  83. package/dist/http/routes/getNetRequest.d.ts.map +1 -1
  84. package/dist/http/routes/getNetRequest.js +22 -20
  85. package/dist/http/routes/getNetRequest.js.map +1 -1
  86. package/dist/http/routes/getNetRequestBody.d.ts +1 -2
  87. package/dist/http/routes/getNetRequestBody.d.ts.map +1 -1
  88. package/dist/http/routes/getNetRequestBody.js +53 -51
  89. package/dist/http/routes/getNetRequestBody.js.map +1 -1
  90. package/dist/http/routes/getNetRequests.d.ts +1 -2
  91. package/dist/http/routes/getNetRequests.d.ts.map +1 -1
  92. package/dist/http/routes/getNetRequests.js +19 -21
  93. package/dist/http/routes/getNetRequests.js.map +1 -1
  94. package/dist/http/routes/getNetSse.d.ts +2 -0
  95. package/dist/http/routes/getNetSse.d.ts.map +1 -0
  96. package/dist/http/routes/getNetSse.js +21 -0
  97. package/dist/http/routes/getNetSse.js.map +1 -0
  98. package/dist/http/routes/getNetTail.d.ts +1 -2
  99. package/dist/http/routes/getNetTail.d.ts.map +1 -1
  100. package/dist/http/routes/getNetTail.js +21 -30
  101. package/dist/http/routes/getNetTail.js.map +1 -1
  102. package/dist/http/routes/getNetWebSocketConnection.d.ts +2 -0
  103. package/dist/http/routes/getNetWebSocketConnection.d.ts.map +1 -0
  104. package/dist/http/routes/getNetWebSocketConnection.js +25 -0
  105. package/dist/http/routes/getNetWebSocketConnection.js.map +1 -0
  106. package/dist/http/routes/getNetWebSockets.d.ts +2 -0
  107. package/dist/http/routes/getNetWebSockets.d.ts.map +1 -0
  108. package/dist/http/routes/getNetWebSockets.js +21 -0
  109. package/dist/http/routes/getNetWebSockets.js.map +1 -0
  110. package/dist/http/routes/getStatus.d.ts +1 -2
  111. package/dist/http/routes/getStatus.d.ts.map +1 -1
  112. package/dist/http/routes/getStatus.js +7 -4
  113. package/dist/http/routes/getStatus.js.map +1 -1
  114. package/dist/http/routes/getTail.d.ts +1 -2
  115. package/dist/http/routes/getTail.d.ts.map +1 -1
  116. package/dist/http/routes/getTail.js +31 -26
  117. package/dist/http/routes/getTail.js.map +1 -1
  118. package/dist/http/routes/getTargets.d.ts +1 -2
  119. package/dist/http/routes/getTargets.d.ts.map +1 -1
  120. package/dist/http/routes/getTargets.js +14 -13
  121. package/dist/http/routes/getTargets.js.map +1 -1
  122. package/dist/http/routes/getThrottle.d.ts +1 -2
  123. package/dist/http/routes/getThrottle.d.ts.map +1 -1
  124. package/dist/http/routes/getThrottle.js +7 -7
  125. package/dist/http/routes/getThrottle.js.map +1 -1
  126. package/dist/http/routes/index.d.ts +6 -8
  127. package/dist/http/routes/index.d.ts.map +1 -1
  128. package/dist/http/routes/index.js +115 -102
  129. package/dist/http/routes/index.js.map +1 -1
  130. package/dist/http/routes/netFilters.d.ts +10 -0
  131. package/dist/http/routes/netFilters.d.ts.map +1 -1
  132. package/dist/http/routes/netFilters.js +26 -3
  133. package/dist/http/routes/netFilters.js.map +1 -1
  134. package/dist/http/routes/netMock.d.ts +3 -0
  135. package/dist/http/routes/netMock.d.ts.map +1 -0
  136. package/dist/http/routes/netMock.js +141 -0
  137. package/dist/http/routes/netMock.js.map +1 -0
  138. package/dist/http/routes/postAttach.d.ts +1 -2
  139. package/dist/http/routes/postAttach.d.ts.map +1 -1
  140. package/dist/http/routes/postAttach.js +19 -21
  141. package/dist/http/routes/postAttach.js.map +1 -1
  142. package/dist/http/routes/postAuthStateLoad.d.ts +1 -2
  143. package/dist/http/routes/postAuthStateLoad.d.ts.map +1 -1
  144. package/dist/http/routes/postAuthStateLoad.js +29 -34
  145. package/dist/http/routes/postAuthStateLoad.js.map +1 -1
  146. package/dist/http/routes/postCodeEdit.d.ts +2 -0
  147. package/dist/http/routes/postCodeEdit.d.ts.map +1 -0
  148. package/dist/http/routes/postCodeEdit.js +21 -0
  149. package/dist/http/routes/postCodeEdit.js.map +1 -0
  150. package/dist/http/routes/postCodeGrep.d.ts +1 -2
  151. package/dist/http/routes/postCodeGrep.d.ts.map +1 -1
  152. package/dist/http/routes/postCodeGrep.js +20 -25
  153. package/dist/http/routes/postCodeGrep.js.map +1 -1
  154. package/dist/http/routes/postCodeList.d.ts +1 -2
  155. package/dist/http/routes/postCodeList.d.ts.map +1 -1
  156. package/dist/http/routes/postCodeList.js +14 -19
  157. package/dist/http/routes/postCodeList.js.map +1 -1
  158. package/dist/http/routes/postCodeRead.d.ts +1 -2
  159. package/dist/http/routes/postCodeRead.d.ts.map +1 -1
  160. package/dist/http/routes/postCodeRead.js +24 -29
  161. package/dist/http/routes/postCodeRead.js.map +1 -1
  162. package/dist/http/routes/postDetach.d.ts +1 -2
  163. package/dist/http/routes/postDetach.d.ts.map +1 -1
  164. package/dist/http/routes/postDetach.js +19 -21
  165. package/dist/http/routes/postDetach.js.map +1 -1
  166. package/dist/http/routes/postDialog.d.ts +1 -2
  167. package/dist/http/routes/postDialog.d.ts.map +1 -1
  168. package/dist/http/routes/postDialog.js +30 -29
  169. package/dist/http/routes/postDialog.js.map +1 -1
  170. package/dist/http/routes/postDomAdd.d.ts +1 -2
  171. package/dist/http/routes/postDomAdd.d.ts.map +1 -1
  172. package/dist/http/routes/postDomAdd.js +44 -48
  173. package/dist/http/routes/postDomAdd.js.map +1 -1
  174. package/dist/http/routes/postDomClick.d.ts +1 -2
  175. package/dist/http/routes/postDomClick.d.ts.map +1 -1
  176. package/dist/http/routes/postDomClick.js +25 -57
  177. package/dist/http/routes/postDomClick.js.map +1 -1
  178. package/dist/http/routes/postDomFill.d.ts +1 -2
  179. package/dist/http/routes/postDomFill.d.ts.map +1 -1
  180. package/dist/http/routes/postDomFill.js +17 -49
  181. package/dist/http/routes/postDomFill.js.map +1 -1
  182. package/dist/http/routes/postDomFocus.d.ts +1 -2
  183. package/dist/http/routes/postDomFocus.d.ts.map +1 -1
  184. package/dist/http/routes/postDomFocus.js +9 -39
  185. package/dist/http/routes/postDomFocus.js.map +1 -1
  186. package/dist/http/routes/postDomHover.d.ts +1 -2
  187. package/dist/http/routes/postDomHover.d.ts.map +1 -1
  188. package/dist/http/routes/postDomHover.js +9 -39
  189. package/dist/http/routes/postDomHover.js.map +1 -1
  190. package/dist/http/routes/postDomInfo.d.ts +1 -2
  191. package/dist/http/routes/postDomInfo.d.ts.map +1 -1
  192. package/dist/http/routes/postDomInfo.js +14 -20
  193. package/dist/http/routes/postDomInfo.js.map +1 -1
  194. package/dist/http/routes/postDomKeydown.d.ts +1 -2
  195. package/dist/http/routes/postDomKeydown.d.ts.map +1 -1
  196. package/dist/http/routes/postDomKeydown.js +26 -30
  197. package/dist/http/routes/postDomKeydown.js.map +1 -1
  198. package/dist/http/routes/postDomModify.d.ts +1 -2
  199. package/dist/http/routes/postDomModify.d.ts.map +1 -1
  200. package/dist/http/routes/postDomModify.js +30 -41
  201. package/dist/http/routes/postDomModify.js.map +1 -1
  202. package/dist/http/routes/postDomRemove.d.ts +1 -2
  203. package/dist/http/routes/postDomRemove.d.ts.map +1 -1
  204. package/dist/http/routes/postDomRemove.js +13 -18
  205. package/dist/http/routes/postDomRemove.js.map +1 -1
  206. package/dist/http/routes/postDomScroll.d.ts +1 -2
  207. package/dist/http/routes/postDomScroll.d.ts.map +1 -1
  208. package/dist/http/routes/postDomScroll.js +37 -42
  209. package/dist/http/routes/postDomScroll.js.map +1 -1
  210. package/dist/http/routes/postDomScrollTo.d.ts +1 -2
  211. package/dist/http/routes/postDomScrollTo.d.ts.map +1 -1
  212. package/dist/http/routes/postDomScrollTo.js +42 -48
  213. package/dist/http/routes/postDomScrollTo.js.map +1 -1
  214. package/dist/http/routes/postDomSetFile.d.ts +1 -2
  215. package/dist/http/routes/postDomSetFile.d.ts.map +1 -1
  216. package/dist/http/routes/postDomSetFile.js +29 -32
  217. package/dist/http/routes/postDomSetFile.js.map +1 -1
  218. package/dist/http/routes/postDomTree.d.ts +1 -2
  219. package/dist/http/routes/postDomTree.d.ts.map +1 -1
  220. package/dist/http/routes/postDomTree.js +13 -17
  221. package/dist/http/routes/postDomTree.js.map +1 -1
  222. package/dist/http/routes/postEmulation.d.ts +1 -2
  223. package/dist/http/routes/postEmulation.d.ts.map +1 -1
  224. package/dist/http/routes/postEmulation.js +29 -39
  225. package/dist/http/routes/postEmulation.js.map +1 -1
  226. package/dist/http/routes/postEval.d.ts +1 -2
  227. package/dist/http/routes/postEval.d.ts.map +1 -1
  228. package/dist/http/routes/postEval.js +31 -22
  229. package/dist/http/routes/postEval.js.map +1 -1
  230. package/dist/http/routes/postLocate.d.ts +2 -4
  231. package/dist/http/routes/postLocate.d.ts.map +1 -1
  232. package/dist/http/routes/postLocate.js +40 -60
  233. package/dist/http/routes/postLocate.js.map +1 -1
  234. package/dist/http/routes/postNetClear.d.ts +1 -2
  235. package/dist/http/routes/postNetClear.d.ts.map +1 -1
  236. package/dist/http/routes/postNetClear.js +14 -12
  237. package/dist/http/routes/postNetClear.js.map +1 -1
  238. package/dist/http/routes/postReload.d.ts +1 -2
  239. package/dist/http/routes/postReload.d.ts.map +1 -1
  240. package/dist/http/routes/postReload.js +10 -16
  241. package/dist/http/routes/postReload.js.map +1 -1
  242. package/dist/http/routes/postScreenshot.d.ts +1 -2
  243. package/dist/http/routes/postScreenshot.d.ts.map +1 -1
  244. package/dist/http/routes/postScreenshot.js +35 -12
  245. package/dist/http/routes/postScreenshot.js.map +1 -1
  246. package/dist/http/routes/postShutdown.d.ts +1 -2
  247. package/dist/http/routes/postShutdown.d.ts.map +1 -1
  248. package/dist/http/routes/postShutdown.js +15 -11
  249. package/dist/http/routes/postShutdown.js.map +1 -1
  250. package/dist/http/routes/postSnapshot.d.ts +1 -2
  251. package/dist/http/routes/postSnapshot.d.ts.map +1 -1
  252. package/dist/http/routes/postSnapshot.js +21 -26
  253. package/dist/http/routes/postSnapshot.js.map +1 -1
  254. package/dist/http/routes/postThrottle.d.ts +1 -2
  255. package/dist/http/routes/postThrottle.d.ts.map +1 -1
  256. package/dist/http/routes/postThrottle.js +26 -35
  257. package/dist/http/routes/postThrottle.js.map +1 -1
  258. package/dist/http/routes/postTraceStart.d.ts +1 -2
  259. package/dist/http/routes/postTraceStart.d.ts.map +1 -1
  260. package/dist/http/routes/postTraceStart.js +8 -16
  261. package/dist/http/routes/postTraceStart.js.map +1 -1
  262. package/dist/http/routes/postTraceStop.d.ts +1 -2
  263. package/dist/http/routes/postTraceStop.d.ts.map +1 -1
  264. package/dist/http/routes/postTraceStop.js +8 -16
  265. package/dist/http/routes/postTraceStop.js.map +1 -1
  266. package/dist/http/routes/postVisibility.d.ts +2 -0
  267. package/dist/http/routes/postVisibility.d.ts.map +1 -0
  268. package/dist/http/routes/postVisibility.js +23 -0
  269. package/dist/http/routes/postVisibility.js.map +1 -0
  270. package/dist/http/routes/storage.d.ts +2 -4
  271. package/dist/http/routes/storage.d.ts.map +1 -1
  272. package/dist/http/routes/storage.js +13 -25
  273. package/dist/http/routes/storage.js.map +1 -1
  274. package/dist/http/server.d.ts +14 -9
  275. package/dist/http/server.d.ts.map +1 -1
  276. package/dist/http/server.js.map +1 -1
  277. package/dist/index.d.ts +5 -5
  278. package/dist/index.d.ts.map +1 -1
  279. package/dist/index.js.map +1 -1
  280. package/dist/native-messaging/control-session-manager.d.ts +16 -0
  281. package/dist/native-messaging/control-session-manager.d.ts.map +1 -0
  282. package/dist/native-messaging/control-session-manager.js +50 -0
  283. package/dist/native-messaging/control-session-manager.js.map +1 -0
  284. package/dist/native-messaging/messaging.d.ts +4 -4
  285. package/dist/native-messaging/messaging.d.ts.map +1 -1
  286. package/dist/native-messaging/messaging.js.map +1 -1
  287. package/dist/native-messaging/session-manager.d.ts +2 -15
  288. package/dist/native-messaging/session-manager.d.ts.map +1 -1
  289. package/dist/native-messaging/session-manager.js +0 -34
  290. package/dist/native-messaging/session-manager.js.map +1 -1
  291. package/dist/native-messaging/types.d.ts +19 -2
  292. package/dist/native-messaging/types.d.ts.map +1 -1
  293. package/dist/net/NetMockController.d.ts +26 -0
  294. package/dist/net/NetMockController.d.ts.map +1 -0
  295. package/dist/net/NetMockController.js +264 -0
  296. package/dist/net/NetMockController.js.map +1 -0
  297. package/dist/runtime/watcherServices.d.ts.map +1 -1
  298. package/dist/runtime/watcherServices.js +12 -3
  299. package/dist/runtime/watcherServices.js.map +1 -1
  300. package/dist/runtime/watcherSetup.d.ts +7 -0
  301. package/dist/runtime/watcherSetup.d.ts.map +1 -1
  302. package/dist/runtime/watcherSetup.js +9 -0
  303. package/dist/runtime/watcherSetup.js.map +1 -1
  304. package/dist/scripts/install-host.js +58 -54
  305. package/dist/scripts/install-host.js.map +1 -1
  306. package/dist/sources/extension-control-source.d.ts +9 -0
  307. package/dist/sources/extension-control-source.d.ts.map +1 -0
  308. package/dist/sources/extension-control-source.js +88 -0
  309. package/dist/sources/extension-control-source.js.map +1 -0
  310. package/dist/sources/extension-delegating-session.d.ts +15 -2
  311. package/dist/sources/extension-delegating-session.d.ts.map +1 -1
  312. package/dist/sources/extension-delegating-session.js +16 -4
  313. package/dist/sources/extension-delegating-session.js.map +1 -1
  314. package/dist/sources/extension-frame-runtime.d.ts.map +1 -1
  315. package/dist/sources/extension-frame-runtime.js +10 -2
  316. package/dist/sources/extension-frame-runtime.js.map +1 -1
  317. package/dist/sources/extension-frame-state.d.ts +23 -0
  318. package/dist/sources/extension-frame-state.d.ts.map +1 -1
  319. package/dist/sources/extension-frame-state.js +41 -0
  320. package/dist/sources/extension-frame-state.js.map +1 -1
  321. package/dist/sources/extension-source.d.ts +3 -1
  322. package/dist/sources/extension-source.d.ts.map +1 -1
  323. package/dist/sources/extension-source.js +51 -96
  324. package/dist/sources/extension-source.js.map +1 -1
  325. package/dist/sources/extension-target-recovery.d.ts +32 -0
  326. package/dist/sources/extension-target-recovery.d.ts.map +1 -0
  327. package/dist/sources/extension-target-recovery.js +114 -0
  328. package/dist/sources/extension-target-recovery.js.map +1 -0
  329. package/dist/sources/types.d.ts +15 -0
  330. package/dist/sources/types.d.ts.map +1 -1
  331. package/dist/startWatcherRuntime.d.ts.map +1 -1
  332. package/dist/startWatcherRuntime.js +11 -1
  333. package/dist/startWatcherRuntime.js.map +1 -1
  334. package/dist/visibility/VisibilityController.d.ts +27 -0
  335. package/dist/visibility/VisibilityController.d.ts.map +1 -0
  336. package/dist/visibility/VisibilityController.js +48 -0
  337. package/dist/visibility/VisibilityController.js.map +1 -0
  338. package/package.json +2 -2
  339. package/dist/http/routes/postStorageLocal.d.ts +0 -2
  340. package/dist/http/routes/postStorageLocal.d.ts.map +0 -1
  341. package/dist/http/routes/postStorageLocal.js +0 -3
  342. package/dist/http/routes/postStorageLocal.js.map +0 -1
  343. package/dist/http/routes/postStorageSession.d.ts +0 -2
  344. package/dist/http/routes/postStorageSession.d.ts.map +0 -1
  345. package/dist/http/routes/postStorageSession.js +0 -3
  346. package/dist/http/routes/postStorageSession.js.map +0 -1
@@ -1,5 +1,7 @@
1
+ import type http from 'node:http';
1
2
  import type { NetFilterContext, NetFilters, NetScope } from '../../net/filtering.js';
2
3
  import type { HttpRequestEventMetadata } from '../server.js';
4
+ import type { RouteContext } from './types.js';
3
5
  export type ParsedNetFilters = NetFilters & {
4
6
  after: number;
5
7
  limit: number;
@@ -16,6 +18,14 @@ type ParseNetFilterResult = {
16
18
  value?: ParsedNetFilters;
17
19
  error?: string;
18
20
  };
21
+ /** Respond 400 `net_disabled`. Shared precondition failure for all `/net*` routes. */
22
+ export declare const respondNetDisabled: (res: http.ServerResponse) => void;
23
+ /**
24
+ * Parse network filters from a route URL with the standard after/limit/sinceTs
25
+ * defaults shared by the `/net*` listing routes. Responds 400 `invalid_net_filter`
26
+ * and returns null when the query is invalid.
27
+ */
28
+ export declare const readNetFiltersFromUrl: (url: URL, ctx: RouteContext, res: http.ServerResponse) => ParsedNetFilters | null;
19
29
  /**
20
30
  * Parse and resolve network query params so every `/net*` route shares the same semantics.
21
31
  * Scope defaults are resolved against the active watcher target instead of forcing the CLI
@@ -1 +1 @@
1
- {"version":3,"file":"netFilters.d.ts","sourceRoot":"","sources":["../../../src/http/routes/netFilters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAY,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAE9F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAG5D,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,QAAQ,CAAA;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CACjC,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC3B,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAOD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,cAAc,eAAe,EAAE,SAAS,qBAAqB,KAAG,oBAiDtG,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,SAAS,gBAAgB,EAAE,UAAS;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,KAAG,wBAAwB,CAAC,OAAO,CAmBvI,CAAA"}
1
+ {"version":3,"file":"netFilters.d.ts","sourceRoot":"","sources":["../../../src/http/routes/netFilters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAY,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAE9F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG9C,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,QAAQ,CAAA;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CACjC,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC3B,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAOD,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,GAAI,KAAK,IAAI,CAAC,cAAc,KAAG,IAE7D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,KAAK,GAAG,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,CAAC,cAAc,KAAG,gBAAgB,GAAG,IAYhH,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,cAAc,eAAe,EAAE,SAAS,qBAAqB,KAAG,oBAiDtG,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,SAAS,gBAAgB,EAAE,UAAS;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,KAAG,wBAAwB,CAAC,OAAO,CAmBvI,CAAA"}
@@ -1,5 +1,27 @@
1
1
  import { derivePartyHost, normalizeNetUrlKey } from '../../net/filtering.js';
2
- import { clampNumber, normalizeQueryValue } from '../httpUtils.js';
2
+ import { clampNumber, normalizeQueryValue, respondJson } from '../httpUtils.js';
3
+ /** Respond 400 `net_disabled`. Shared precondition failure for all `/net*` routes. */
4
+ export const respondNetDisabled = (res) => {
5
+ respondJson(res, { ok: false, error: { code: 'net_disabled', message: 'Network capture is disabled for this watcher' } }, 400);
6
+ };
7
+ /**
8
+ * Parse network filters from a route URL with the standard after/limit/sinceTs
9
+ * defaults shared by the `/net*` listing routes. Responds 400 `invalid_net_filter`
10
+ * and returns null when the query is invalid.
11
+ */
12
+ export const readNetFiltersFromUrl = (url, ctx, res) => {
13
+ const filters = parseNetRequestFilters(url.searchParams, {
14
+ after: clampNumber(url.searchParams.get('after'), 0),
15
+ limit: clampNumber(url.searchParams.get('limit'), 500, 1, 5000),
16
+ sinceTs: clampNumber(url.searchParams.get('sinceTs'), undefined),
17
+ context: ctx.getNetFilterContext?.() ?? null,
18
+ });
19
+ if (filters.error || !filters.value) {
20
+ respondJson(res, { ok: false, error: { code: 'invalid_net_filter', message: filters.error ?? 'Invalid network filter' } }, 400);
21
+ return null;
22
+ }
23
+ return filters.value;
24
+ };
3
25
  /**
4
26
  * Parse and resolve network query params so every `/net*` route shares the same semantics.
5
27
  * Scope defaults are resolved against the active watcher target instead of forcing the CLI
@@ -43,8 +65,8 @@ export const parseNetRequestFilters = (searchParams, options) => {
43
65
  frameId: resolvedFrameId,
44
66
  documentUrlKey: resolveDocumentUrlKey({ frame: frame.value ?? null, scope: resolvedScope, context }),
45
67
  failedOnly: hasTruthyFlag(searchParams, 'failedOnly'),
46
- minDurationMs: clampNumber(searchParams.get('minDurationMs'), undefined, 1),
47
- minTransferBytes: clampNumber(searchParams.get('minTransferBytes'), undefined, 1),
68
+ minDurationMs: optionalClampNumber(searchParams.get('minDurationMs'), 1),
69
+ minTransferBytes: optionalClampNumber(searchParams.get('minTransferBytes'), 1),
48
70
  scope: resolvedScope,
49
71
  frame: frame.value ?? null,
50
72
  },
@@ -157,4 +179,5 @@ const hasTruthyFlag = (searchParams, key) => {
157
179
  const normalized = value.trim().toLowerCase();
158
180
  return normalized !== '' && normalized !== '0' && normalized !== 'false';
159
181
  };
182
+ const optionalClampNumber = (value, min) => value == null ? undefined : clampNumber(value, undefined, min);
160
183
  //# sourceMappingURL=netFilters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"netFilters.js","sourceRoot":"","sources":["../../../src/http/routes/netFilters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"netFilters.js","sourceRoot":"","sources":["../../../src/http/routes/netFilters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAG5E,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AA0B/E,sFAAsF;AACtF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAwB,EAAQ,EAAE;IACpE,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,8CAA8C,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;AAC/H,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAQ,EAAE,GAAiB,EAAE,GAAwB,EAA2B,EAAE;IACvH,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,YAAY,EAAE;QACxD,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC;QAC/D,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;QAChE,OAAO,EAAE,GAAG,CAAC,mBAAmB,EAAE,EAAE,IAAI,IAAI;KAC5C,CAAC,CAAA;IACF,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,wBAAwB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAC/H,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAA;AACrB,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,YAA6B,EAAE,OAA8B,EAAwB,EAAE;IAC7H,MAAM,KAAK,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IACvD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IACvD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAA;IAC9B,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO,EAAE,KAAK,EAAE,+DAA+D,EAAE,CAAA;IAClF,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IACvD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAA;IACvC,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,CAAA;IAC1D,MAAM,eAAe,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAA;IACrG,MAAM,SAAS,GAAG,eAAe,CAAC,wBAAwB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAA;IAEnF,OAAO;QACN,KAAK,EAAE;YACN,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnD,WAAW,EAAE,uBAAuB,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACvE,cAAc,EAAE,uBAAuB,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC7E,KAAK,EAAE,uBAAuB,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,EAAE,uBAAuB,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC/D,QAAQ,EAAE,qBAAqB,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9D,aAAa,EAAE,uBAAuB,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC3E,SAAS,EAAE,uBAAuB,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/D,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS;YACT,OAAO,EAAE,eAAe;YACxB,cAAc,EAAE,qBAAqB,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;YACpG,UAAU,EAAE,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC;YACrD,aAAa,EAAE,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YACxE,gBAAgB,EAAE,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAC9E,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;SAC1B;KACD,CAAA;AACF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAyB,EAAE,UAAkC,EAAE,EAAqC,EAAE,CAAC,CAAC;IAC9I,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,OAAO,EAAE,OAAO,CAAC,OAAO;IACxB,SAAS,EAAE,OAAO,CAAC,SAAS;IAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,OAAO,EAAE,OAAO,CAAC,OAAO;IACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;IAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;IACpC,SAAS,EAAE,OAAO,CAAC,SAAS;IAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;IACjC,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,UAAU,EAAE,OAAO,CAAC,UAAU;IAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;IACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;IAC1C,WAAW,EAAE,OAAO,CAAC,WAAW;IAChC,cAAc,EAAE,OAAO,CAAC,cAAc;CACtC,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAAC,OAAoF,EAAiB,EAAE;IACrI,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC/E,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QACtD,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,OAAO,GACZ,OAAO,CAAC,KAAK,KAAK,MAAM;QACvB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;QACpC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,UAAU;YAC7B,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;YAC1E,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IAE7D,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,QAAiC,EAAY,EAAE,CAAC,KAAK,CAAA;AAE3E,MAAM,cAAc,GAAG,CAAC,OAAoF,EAAsB,EAAE;IACnI,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,OAAO,EAAE,eAAe,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,IAAI,SAAS,CAAA;IACpF,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,EAAE,UAAU,IAAI,SAAS,CAAA;IAChD,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAA;IACjB,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,EAAE,UAAU,IAAI,SAAS,CAAA;IAChD,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,EAAE,eAAe,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,IAAI,SAAS,CAAA;AACpF,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,CAAC,KAAe,EAAE,OAAgC,EAAiB,EAAE;IACrG,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAA;IACpD,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,iBAAiB,CAAA;AACpD,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAmC,EAAE;IAChF,OAAO,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,CAAA;AAC3E,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAwC,EAAE;IACrF,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,EAAE,CAAA;IACV,CAAC;IAED,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACxD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;IAC7B,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAmC,EAAE;IAChF,OAAO,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAA;AAClE,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAmB,KAAoB,EAAE,OAAqB,EAAE,KAAa,EAA4B,EAAE;IAClI,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,EAAE,CAAA;IACV,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAe,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,KAAK,EAAE,UAAe,EAAE,CAAA;IAClC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,WAAW,KAAK,KAAK,KAAK,EAAE,EAAE,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,CAAC,MAAgB,EAAwB,EAAE;IAC1E,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAA;IACtH,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,MAAgB,EAAwB,EAAE;IACxE,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;IACvF,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QACzB,OAAO,SAAS,CAAA;IACjB,CAAC;IAED,OAAO,UAAU,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,YAA6B,EAAE,GAAW,EAAW,EAAE;IAC7E,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,KAAK,CAAA;IACb,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7C,OAAO,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,OAAO,CAAA;AACzE,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,KAAoB,EAAE,GAAW,EAAsB,EAAE,CACrF,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { WatcherRouteDefinition } from './defineRoute.js';
2
+ export declare const netMockRoutes: WatcherRouteDefinition[];
3
+ //# sourceMappingURL=netMock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"netMock.d.ts","sourceRoot":"","sources":["../../../src/http/routes/netMock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAI9D,eAAO,MAAM,aAAa,EAAE,sBAAsB,EAmCjD,CAAA"}
@@ -0,0 +1,141 @@
1
+ import { NET_MOCK_FAIL_REASONS } from '@vforsh/argus-core';
2
+ import { defineJsonRoute } from './defineRoute.js';
3
+ export const netMockRoutes = [
4
+ defineJsonRoute({
5
+ method: 'GET',
6
+ path: '/net/mock',
7
+ endpoint: 'net/mock',
8
+ handle: ({ ctx }) => ctx.netMockController.getStatus({ attached: ctx.getCdpStatus().attached }),
9
+ }),
10
+ defineJsonRoute({
11
+ method: 'POST',
12
+ path: '/net/mock/add',
13
+ parseBody: true,
14
+ endpoint: 'net/mock/add',
15
+ validate: validateAddRequest,
16
+ handle: ({ ctx, body }) => ctx.netMockController.addRule(body, ctx.getCdpStatus().attached),
17
+ }),
18
+ defineJsonRoute({
19
+ method: 'POST',
20
+ path: '/net/mock/remove',
21
+ parseBody: true,
22
+ endpoint: 'net/mock/remove',
23
+ validate: (body) => {
24
+ const id = body.id;
25
+ if (!Number.isInteger(id) || id < 1) {
26
+ return 'id must be an integer >= 1';
27
+ }
28
+ return null;
29
+ },
30
+ handle: ({ ctx, body }) => ctx.netMockController.removeRule(body.id),
31
+ }),
32
+ defineJsonRoute({
33
+ method: 'POST',
34
+ path: '/net/mock/clear',
35
+ endpoint: 'net/mock/clear',
36
+ handle: ({ ctx }) => ctx.netMockController.clearRules(),
37
+ }),
38
+ ];
39
+ /** Validate an add payload. Returns an error message, or null when valid. */
40
+ function validateAddRequest(body) {
41
+ const payload = body;
42
+ if (!payload || typeof payload !== 'object') {
43
+ return 'body must be an object';
44
+ }
45
+ const matchIssue = validateMatch(payload.match);
46
+ if (matchIssue) {
47
+ return matchIssue;
48
+ }
49
+ const actionIssue = validateAction(payload.action, payload.delayMs);
50
+ if (actionIssue) {
51
+ return actionIssue;
52
+ }
53
+ if (payload.delayMs !== undefined && (typeof payload.delayMs !== 'number' || !Number.isFinite(payload.delayMs) || payload.delayMs < 0)) {
54
+ return 'delayMs must be a finite number >= 0';
55
+ }
56
+ if (payload.times !== undefined && (!Number.isInteger(payload.times) || payload.times < 1)) {
57
+ return 'times must be an integer >= 1';
58
+ }
59
+ return null;
60
+ }
61
+ const validateMatch = (match) => {
62
+ const value = match;
63
+ if (!value || typeof value !== 'object') {
64
+ return 'match must be an object';
65
+ }
66
+ if (typeof value.url !== 'string' || value.url.trim() === '') {
67
+ return 'match.url must be a non-empty string';
68
+ }
69
+ if (value.method !== undefined && (typeof value.method !== 'string' || value.method.trim() === '')) {
70
+ return 'match.method must be a non-empty string';
71
+ }
72
+ if (value.resourceType !== undefined && (typeof value.resourceType !== 'string' || value.resourceType.trim() === '')) {
73
+ return 'match.resourceType must be a non-empty string';
74
+ }
75
+ return null;
76
+ };
77
+ const validateAction = (action, delayMs) => {
78
+ const value = action;
79
+ if (!value || typeof value !== 'object' || typeof value.kind !== 'string') {
80
+ return 'action.kind must be one of: block, fail, fulfill, continue';
81
+ }
82
+ if (value.kind === 'block') {
83
+ return null;
84
+ }
85
+ if (value.kind === 'fail') {
86
+ const reason = value.reason;
87
+ if (typeof reason !== 'string' || !NET_MOCK_FAIL_REASONS.includes(reason)) {
88
+ return `action.reason must be one of: ${NET_MOCK_FAIL_REASONS.join(', ')}`;
89
+ }
90
+ return null;
91
+ }
92
+ if (value.kind === 'fulfill') {
93
+ const fulfill = value;
94
+ if (!Number.isInteger(fulfill.status) || fulfill.status < 100 || fulfill.status > 599) {
95
+ return 'action.status must be an integer between 100 and 599';
96
+ }
97
+ const headersIssue = validateHeaders(fulfill.headers, 'action.headers');
98
+ if (headersIssue) {
99
+ return headersIssue;
100
+ }
101
+ if (fulfill.bodyBase64 !== undefined && typeof fulfill.bodyBase64 !== 'string') {
102
+ return 'action.bodyBase64 must be a string';
103
+ }
104
+ return null;
105
+ }
106
+ if (value.kind === 'continue') {
107
+ const cont = value;
108
+ const headersIssue = validateHeaders(cont.setHeaders, 'action.setHeaders');
109
+ if (headersIssue) {
110
+ return headersIssue;
111
+ }
112
+ if (cont.rewriteHost !== undefined && (typeof cont.rewriteHost !== 'string' || cont.rewriteHost.trim() === '')) {
113
+ return 'action.rewriteHost must be a non-empty string';
114
+ }
115
+ const hasEffect = (Array.isArray(cont.setHeaders) && cont.setHeaders.length > 0) || cont.rewriteHost !== undefined || delayMs !== undefined;
116
+ if (!hasEffect) {
117
+ return 'continue action requires at least one of: setHeaders, rewriteHost, delayMs';
118
+ }
119
+ return null;
120
+ }
121
+ return 'action.kind must be one of: block, fail, fulfill, continue';
122
+ };
123
+ const validateHeaders = (headers, path) => {
124
+ if (headers === undefined) {
125
+ return null;
126
+ }
127
+ if (!Array.isArray(headers)) {
128
+ return `${path} must be an array of { name, value } entries`;
129
+ }
130
+ for (const header of headers) {
131
+ if (!header ||
132
+ typeof header !== 'object' ||
133
+ typeof header.name !== 'string' ||
134
+ header.name.trim() === '' ||
135
+ typeof header.value !== 'string') {
136
+ return `${path} entries must have a non-empty string name and a string value`;
137
+ }
138
+ }
139
+ return null;
140
+ };
141
+ //# sourceMappingURL=netMock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"netMock.js","sourceRoot":"","sources":["../../../src/http/routes/netMock.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- import type { RouteHandler } from './types.js';
2
- export declare const handle: RouteHandler;
1
+ export declare const route: import("./defineRoute.js").WatcherRouteDefinition;
3
2
  //# sourceMappingURL=postAttach.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postAttach.d.ts","sourceRoot":"","sources":["../../../src/http/routes/postAttach.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAI9C,eAAO,MAAM,MAAM,EAAE,YAuBpB,CAAA"}
1
+ {"version":3,"file":"postAttach.d.ts","sourceRoot":"","sources":["../../../src/http/routes/postAttach.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,KAAK,mDAmBhB,CAAA"}
@@ -1,24 +1,22 @@
1
+ import { defineJsonRoute } from './defineRoute.js';
2
+ import { respondInvalidBody, respondJson } from '../httpUtils.js';
1
3
  import { emitRequest } from './types.js';
2
- import { respondJson, respondInvalidBody, respondError, readJsonBody } from '../httpUtils.js';
3
- export const handle = async (req, res, _url, ctx) => {
4
- if (!ctx.sourceHandle?.attachTarget) {
5
- return respondJson(res, { ok: false, error: { message: 'Not available', code: 'not_available' } }, 400);
6
- }
7
- const payload = await readJsonBody(req, res);
8
- if (!payload) {
9
- return;
10
- }
11
- const targetId = typeof payload.targetId === 'string' ? payload.targetId : typeof payload.tabId === 'number' ? String(payload.tabId) : null;
12
- if (!targetId) {
13
- return respondInvalidBody(res, 'targetId is required');
14
- }
15
- emitRequest(ctx, res, 'attach');
16
- try {
4
+ export const route = defineJsonRoute({
5
+ method: 'POST',
6
+ path: '/attach',
7
+ parseBody: true,
8
+ extensionOnly: true,
9
+ handle: ({ res, ctx, body: payload }) => {
10
+ if (!ctx.sourceHandle?.attachTarget) {
11
+ return respondJson(res, { ok: false, error: { message: 'Not available', code: 'not_available' } }, 400);
12
+ }
13
+ const targetId = typeof payload.targetId === 'string' ? payload.targetId : typeof payload.tabId === 'number' ? String(payload.tabId) : null;
14
+ if (!targetId) {
15
+ return respondInvalidBody(res, 'targetId is required');
16
+ }
17
+ emitRequest(ctx, res, 'attach');
17
18
  ctx.sourceHandle.attachTarget(targetId);
18
- respondJson(res, { ok: true, message: 'Attach request sent' });
19
- }
20
- catch (error) {
21
- respondError(res, error);
22
- }
23
- };
19
+ return { ok: true, message: 'Attach request sent' };
20
+ },
21
+ });
24
22
  //# sourceMappingURL=postAttach.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postAttach.js","sourceRoot":"","sources":["../../../src/http/routes/postAttach.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE7F,MAAM,CAAC,MAAM,MAAM,GAAiB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACjE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC;QACrC,OAAO,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACxG,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,YAAY,CAAwC,GAAG,EAAE,GAAG,CAAC,CAAA;IACnF,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAM;IACP,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3I,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,kBAAkB,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAA;IACvD,CAAC;IAED,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IAE/B,IAAI,CAAC;QACJ,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QACvC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAA;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC;AACF,CAAC,CAAA"}
1
+ {"version":3,"file":"postAttach.js","sourceRoot":"","sources":["../../../src/http/routes/postAttach.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAwC;IAC3E,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QACvC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC;YACrC,OAAO,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QACxG,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3I,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,kBAAkB,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAA;QACvD,CAAC;QAED,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;QAC/B,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QACvC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAA;IACpD,CAAC;CACD,CAAC,CAAA"}
@@ -1,3 +1,2 @@
1
- import type { RouteHandler } from './types.js';
2
- export declare const handle: RouteHandler;
1
+ export declare const route: import("./defineRoute.js").WatcherRouteDefinition;
3
2
  //# sourceMappingURL=postAuthStateLoad.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postAuthStateLoad.d.ts","sourceRoot":"","sources":["../../../src/http/routes/postAuthStateLoad.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAK9C,eAAO,MAAM,MAAM,EAAE,YAkCpB,CAAA"}
1
+ {"version":3,"file":"postAuthStateLoad.d.ts","sourceRoot":"","sources":["../../../src/http/routes/postAuthStateLoad.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,KAAK,mDA0BhB,CAAA"}
@@ -1,37 +1,32 @@
1
1
  import { parseAuthStateSnapshot } from '@vforsh/argus-core';
2
- import { emitRequest } from './types.js';
3
2
  import { applyAuthStateToSession } from '../../cdp/authState.js';
4
- import { normalizeQueryValue, respondError, respondInvalidBody, respondJson, readJsonBody } from '../httpUtils.js';
5
- export const handle = async (req, res, _url, ctx) => {
6
- const payload = await readJsonBody(req, res);
7
- if (!payload) {
8
- return;
9
- }
10
- if (!payload.snapshot) {
11
- return respondInvalidBody(res, 'snapshot is required');
12
- }
13
- if (payload.url !== undefined && typeof payload.url !== 'string') {
14
- return respondInvalidBody(res, 'url must be a string when provided');
15
- }
16
- let snapshot;
17
- try {
18
- snapshot = parseAuthStateSnapshot(payload.snapshot, 'auth state snapshot');
19
- }
20
- catch (error) {
21
- return respondInvalidBody(res, error instanceof Error ? error.message : String(error));
22
- }
23
- const startupUrl = normalizeQueryValue(payload.url ?? null);
24
- emitRequest(ctx, res, 'auth/state/load');
25
- try {
26
- const response = await applyAuthStateToSession({
27
- session: ctx.cdpSession,
28
- snapshot,
29
- startupUrl: startupUrl ?? null,
30
- });
31
- respondJson(res, response);
32
- }
33
- catch (error) {
34
- respondError(res, error);
35
- }
36
- };
3
+ import { defineJsonRoute } from './defineRoute.js';
4
+ import { normalizeQueryValue } from '../httpUtils.js';
5
+ export const route = defineJsonRoute({
6
+ method: 'POST',
7
+ path: '/auth/state/load',
8
+ parseBody: true,
9
+ endpoint: 'auth/state/load',
10
+ validate: (payload) => {
11
+ if (!payload.snapshot) {
12
+ return 'snapshot is required';
13
+ }
14
+ if (payload.url !== undefined && typeof payload.url !== 'string') {
15
+ return 'url must be a string when provided';
16
+ }
17
+ try {
18
+ parseAuthStateSnapshot(payload.snapshot, 'auth state snapshot');
19
+ }
20
+ catch (error) {
21
+ return error instanceof Error ? error.message : String(error);
22
+ }
23
+ return null;
24
+ },
25
+ handle: ({ ctx, body: payload }) => applyAuthStateToSession({
26
+ session: ctx.cdpSession,
27
+ // Re-parse is cheap and keeps validation/normalization in one place.
28
+ snapshot: parseAuthStateSnapshot(payload.snapshot, 'auth state snapshot'),
29
+ startupUrl: normalizeQueryValue(payload.url ?? null) ?? null,
30
+ }),
31
+ });
37
32
  //# sourceMappingURL=postAuthStateLoad.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postAuthStateLoad.js","sourceRoot":"","sources":["../../../src/http/routes/postAuthStateLoad.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAElH,MAAM,CAAC,MAAM,MAAM,GAAiB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACjE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAuB,GAAG,EAAE,GAAG,CAAC,CAAA;IAClE,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAM;IACP,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,kBAAkB,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAA;IACvD,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAClE,OAAO,kBAAkB,CAAC,GAAG,EAAE,oCAAoC,CAAC,CAAA;IACrE,CAAC;IAED,IAAI,QAAQ,CAAA;IACZ,IAAI,CAAC;QACJ,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,kBAAkB,CAAC,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACvF,CAAC;IAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,CAAA;IAC3D,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAA;IAExC,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC;YAC9C,OAAO,EAAE,GAAG,CAAC,UAAU;YACvB,QAAQ;YACR,UAAU,EAAE,UAAU,IAAI,IAAI;SAC9B,CAAC,CAAA;QACF,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC;AACF,CAAC,CAAA"}
1
+ {"version":3,"file":"postAuthStateLoad.js","sourceRoot":"","sources":["../../../src/http/routes/postAuthStateLoad.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAuB;IAC1D,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,kBAAkB;IACxB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,iBAAiB;IAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,sBAAsB,CAAA;QAC9B,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAClE,OAAO,oCAAoC,CAAA;QAC5C,CAAC;QACD,IAAI,CAAC;YACJ,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAA;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAClC,uBAAuB,CAAC;QACvB,OAAO,EAAE,GAAG,CAAC,UAAU;QACvB,qEAAqE;QACrE,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,CAAC;QACzE,UAAU,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI;KAC5D,CAAC;CACH,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const route: import("./defineRoute.js").WatcherRouteDefinition;
2
+ //# sourceMappingURL=postCodeEdit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postCodeEdit.d.ts","sourceRoot":"","sources":["../../../src/http/routes/postCodeEdit.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,mDAmBhB,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { defineJsonRoute } from './defineRoute.js';
2
+ export const route = defineJsonRoute({
3
+ method: 'POST',
4
+ path: '/code/edit',
5
+ parseBody: true,
6
+ endpoint: 'code/edit',
7
+ validate: (payload) => {
8
+ if (typeof payload.url !== 'string' || payload.url.trim() === '') {
9
+ return 'url must be a non-empty string';
10
+ }
11
+ if (typeof payload.source !== 'string') {
12
+ return 'source must be a string';
13
+ }
14
+ return null;
15
+ },
16
+ handle: ({ ctx, body: payload }) => ctx.runtimeEditor.edit({
17
+ url: payload.url,
18
+ source: payload.source,
19
+ }),
20
+ });
21
+ //# sourceMappingURL=postCodeEdit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postCodeEdit.js","sourceRoot":"","sources":["../../../src/http/routes/postCodeEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAoC;IACvE,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;QACrB,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAClE,OAAO,gCAAgC,CAAA;QACxC,CAAC;QACD,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,yBAAyB,CAAA;QACjC,CAAC;QACD,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAClC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM;KACtB,CAAC;CACH,CAAC,CAAA"}
@@ -1,3 +1,2 @@
1
- import type { RouteHandler } from './types.js';
2
- export declare const handle: RouteHandler;
1
+ export declare const route: import("./defineRoute.js").WatcherRouteDefinition;
3
2
  //# sourceMappingURL=postCodeGrep.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postCodeGrep.d.ts","sourceRoot":"","sources":["../../../src/http/routes/postCodeGrep.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAI9C,eAAO,MAAM,MAAM,EAAE,YAwBpB,CAAA"}
1
+ {"version":3,"file":"postCodeGrep.d.ts","sourceRoot":"","sources":["../../../src/http/routes/postCodeGrep.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,mDAmBhB,CAAA"}
@@ -1,26 +1,21 @@
1
- import { emitRequest } from './types.js';
2
- import { readJsonBody, respondError, respondInvalidBody, respondJson } from '../httpUtils.js';
3
- export const handle = async (req, res, _url, ctx) => {
4
- const payload = await readJsonBody(req, res);
5
- if (!payload) {
6
- return;
7
- }
8
- if (typeof payload.pattern !== 'string' || payload.pattern.trim() === '') {
9
- return respondInvalidBody(res, 'pattern must be a non-empty string');
10
- }
11
- if (payload.urlPattern != null && (typeof payload.urlPattern !== 'string' || payload.urlPattern.trim() === '')) {
12
- return respondInvalidBody(res, 'urlPattern must be a non-empty string');
13
- }
14
- emitRequest(ctx, res, 'code/grep');
15
- try {
16
- const response = await ctx.runtimeEditor.grep({
17
- pattern: payload.pattern,
18
- urlPattern: payload.urlPattern,
19
- });
20
- respondJson(res, response);
21
- }
22
- catch (error) {
23
- respondError(res, error);
24
- }
25
- };
1
+ import { defineJsonRoute } from './defineRoute.js';
2
+ export const route = defineJsonRoute({
3
+ method: 'POST',
4
+ path: '/code/grep',
5
+ parseBody: true,
6
+ endpoint: 'code/grep',
7
+ validate: (payload) => {
8
+ if (typeof payload.pattern !== 'string' || payload.pattern.trim() === '') {
9
+ return 'pattern must be a non-empty string';
10
+ }
11
+ if (payload.urlPattern != null && (typeof payload.urlPattern !== 'string' || payload.urlPattern.trim() === '')) {
12
+ return 'urlPattern must be a non-empty string';
13
+ }
14
+ return null;
15
+ },
16
+ handle: ({ ctx, body: payload }) => ctx.runtimeEditor.grep({
17
+ pattern: payload.pattern,
18
+ urlPattern: payload.urlPattern,
19
+ }),
20
+ });
26
21
  //# sourceMappingURL=postCodeGrep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postCodeGrep.js","sourceRoot":"","sources":["../../../src/http/routes/postCodeGrep.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7F,MAAM,CAAC,MAAM,MAAM,GAAiB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACjE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAkB,GAAG,EAAE,GAAG,CAAC,CAAA;IAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAM;IACP,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1E,OAAO,kBAAkB,CAAC,GAAG,EAAE,oCAAoC,CAAC,CAAA;IACrE,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAChH,OAAO,kBAAkB,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAA;IACxE,CAAC;IAED,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAA;IAElC,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAqB,MAAM,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC;YAC/D,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC9B,CAAC,CAAA;QACF,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC;AACF,CAAC,CAAA"}
1
+ {"version":3,"file":"postCodeGrep.js","sourceRoot":"","sources":["../../../src/http/routes/postCodeGrep.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAoC;IACvE,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;QACrB,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1E,OAAO,oCAAoC,CAAA;QAC5C,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAChH,OAAO,uCAAuC,CAAA;QAC/C,CAAC;QACD,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAClC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;KAC9B,CAAC;CACH,CAAC,CAAA"}
@@ -1,3 +1,2 @@
1
- import type { RouteHandler } from './types.js';
2
- export declare const handle: RouteHandler;
1
+ export declare const route: import("./defineRoute.js").WatcherRouteDefinition;
3
2
  //# sourceMappingURL=postCodeList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postCodeList.d.ts","sourceRoot":"","sources":["../../../src/http/routes/postCodeList.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAI9C,eAAO,MAAM,MAAM,EAAE,YAkBpB,CAAA"}
1
+ {"version":3,"file":"postCodeList.d.ts","sourceRoot":"","sources":["../../../src/http/routes/postCodeList.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,mDAYhB,CAAA"}
@@ -1,20 +1,15 @@
1
- import { emitRequest } from './types.js';
2
- import { readJsonBody, respondError, respondInvalidBody, respondJson } from '../httpUtils.js';
3
- export const handle = async (req, res, _url, ctx) => {
4
- const payload = await readJsonBody(req, res);
5
- if (!payload) {
6
- return;
7
- }
8
- if (payload.pattern != null && (typeof payload.pattern !== 'string' || payload.pattern.trim() === '')) {
9
- return respondInvalidBody(res, 'pattern must be a non-empty string');
10
- }
11
- emitRequest(ctx, res, 'code/list');
12
- try {
13
- const response = await ctx.runtimeEditor.list({ pattern: payload.pattern });
14
- respondJson(res, response);
15
- }
16
- catch (error) {
17
- respondError(res, error);
18
- }
19
- };
1
+ import { defineJsonRoute } from './defineRoute.js';
2
+ export const route = defineJsonRoute({
3
+ method: 'POST',
4
+ path: '/code/list',
5
+ parseBody: true,
6
+ endpoint: 'code/list',
7
+ validate: (payload) => {
8
+ if (payload.pattern != null && (typeof payload.pattern !== 'string' || payload.pattern.trim() === '')) {
9
+ return 'pattern must be a non-empty string';
10
+ }
11
+ return null;
12
+ },
13
+ handle: ({ ctx, body: payload }) => ctx.runtimeEditor.list({ pattern: payload.pattern }),
14
+ });
20
15
  //# sourceMappingURL=postCodeList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postCodeList.js","sourceRoot":"","sources":["../../../src/http/routes/postCodeList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7F,MAAM,CAAC,MAAM,MAAM,GAAiB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACjE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAkB,GAAG,EAAE,GAAG,CAAC,CAAA;IAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAM;IACP,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACvG,OAAO,kBAAkB,CAAC,GAAG,EAAE,oCAAoC,CAAC,CAAA;IACrE,CAAC;IAED,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAA;IAElC,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAqB,MAAM,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;QAC7F,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC;AACF,CAAC,CAAA"}
1
+ {"version":3,"file":"postCodeList.js","sourceRoot":"","sources":["../../../src/http/routes/postCodeList.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAoC;IACvE,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;QACrB,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACvG,OAAO,oCAAoC,CAAA;QAC5C,CAAC;QACD,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;CACxF,CAAC,CAAA"}
@@ -1,3 +1,2 @@
1
- import type { RouteHandler } from './types.js';
2
- export declare const handle: RouteHandler;
1
+ export declare const route: import("./defineRoute.js").WatcherRouteDefinition;
3
2
  //# sourceMappingURL=postCodeRead.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postCodeRead.d.ts","sourceRoot":"","sources":["../../../src/http/routes/postCodeRead.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAI9C,eAAO,MAAM,MAAM,EAAE,YA4BpB,CAAA"}
1
+ {"version":3,"file":"postCodeRead.d.ts","sourceRoot":"","sources":["../../../src/http/routes/postCodeRead.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,mDAuBhB,CAAA"}