@iflow-mcp/shaun0927-openchrome 1.7.13

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 (525) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +387 -0
  3. package/assets/chart-tokens.svg +42 -0
  4. package/assets/demo.svg +278 -0
  5. package/assets/mascot.png +0 -0
  6. package/dist/cdp/client.d.ts +265 -0
  7. package/dist/cdp/client.d.ts.map +1 -0
  8. package/dist/cdp/client.js +1419 -0
  9. package/dist/cdp/client.js.map +1 -0
  10. package/dist/cdp/connection-pool.d.ts +117 -0
  11. package/dist/cdp/connection-pool.d.ts.map +1 -0
  12. package/dist/cdp/connection-pool.js +421 -0
  13. package/dist/cdp/connection-pool.js.map +1 -0
  14. package/dist/cdp/screenshot-scheduler.d.ts +55 -0
  15. package/dist/cdp/screenshot-scheduler.d.ts.map +1 -0
  16. package/dist/cdp/screenshot-scheduler.js +121 -0
  17. package/dist/cdp/screenshot-scheduler.js.map +1 -0
  18. package/dist/chrome/launcher.d.ts +113 -0
  19. package/dist/chrome/launcher.d.ts.map +1 -0
  20. package/dist/chrome/launcher.js +850 -0
  21. package/dist/chrome/launcher.js.map +1 -0
  22. package/dist/chrome/pool.d.ts +43 -0
  23. package/dist/chrome/pool.d.ts.map +1 -0
  24. package/dist/chrome/pool.js +219 -0
  25. package/dist/chrome/pool.js.map +1 -0
  26. package/dist/chrome/profile-manager.d.ts +156 -0
  27. package/dist/chrome/profile-manager.d.ts.map +1 -0
  28. package/dist/chrome/profile-manager.js +558 -0
  29. package/dist/chrome/profile-manager.js.map +1 -0
  30. package/dist/cli/claude-session.d.ts +11 -0
  31. package/dist/cli/claude-session.js +349 -0
  32. package/dist/cli/claude-session.js.map +1 -0
  33. package/dist/cli/index.d.ts +14 -0
  34. package/dist/cli/index.js +1013 -0
  35. package/dist/cli/index.js.map +1 -0
  36. package/dist/cli/install.d.ts +16 -0
  37. package/dist/cli/install.js +185 -0
  38. package/dist/cli/install.js.map +1 -0
  39. package/dist/cli/uninstall.d.ts +7 -0
  40. package/dist/cli/uninstall.js +126 -0
  41. package/dist/cli/uninstall.js.map +1 -0
  42. package/dist/cli/update-check.d.ts +10 -0
  43. package/dist/cli/update-check.js +187 -0
  44. package/dist/cli/update-check.js.map +1 -0
  45. package/dist/compression/snapshot-store.d.ts +54 -0
  46. package/dist/compression/snapshot-store.d.ts.map +1 -0
  47. package/dist/compression/snapshot-store.js +183 -0
  48. package/dist/compression/snapshot-store.js.map +1 -0
  49. package/dist/config/defaults.d.ts +102 -0
  50. package/dist/config/defaults.d.ts.map +1 -0
  51. package/dist/config/defaults.js +102 -0
  52. package/dist/config/defaults.js.map +1 -0
  53. package/dist/config/global.d.ts +81 -0
  54. package/dist/config/global.d.ts.map +1 -0
  55. package/dist/config/global.js +30 -0
  56. package/dist/config/global.js.map +1 -0
  57. package/dist/config/index.d.ts +16 -0
  58. package/dist/config/index.d.ts.map +1 -0
  59. package/dist/config/index.js +21 -0
  60. package/dist/config/index.js.map +1 -0
  61. package/dist/config/tool-tiers.d.ts +14 -0
  62. package/dist/config/tool-tiers.d.ts.map +1 -0
  63. package/dist/config/tool-tiers.js +69 -0
  64. package/dist/config/tool-tiers.js.map +1 -0
  65. package/dist/dashboard/activity-tracker.d.ts +95 -0
  66. package/dist/dashboard/activity-tracker.d.ts.map +1 -0
  67. package/dist/dashboard/activity-tracker.js +275 -0
  68. package/dist/dashboard/activity-tracker.js.map +1 -0
  69. package/dist/dashboard/ansi.d.ts +117 -0
  70. package/dist/dashboard/ansi.d.ts.map +1 -0
  71. package/dist/dashboard/ansi.js +199 -0
  72. package/dist/dashboard/ansi.js.map +1 -0
  73. package/dist/dashboard/index.d.ts +110 -0
  74. package/dist/dashboard/index.d.ts.map +1 -0
  75. package/dist/dashboard/index.js +413 -0
  76. package/dist/dashboard/index.js.map +1 -0
  77. package/dist/dashboard/keyboard-handler.d.ts +43 -0
  78. package/dist/dashboard/keyboard-handler.d.ts.map +1 -0
  79. package/dist/dashboard/keyboard-handler.js +230 -0
  80. package/dist/dashboard/keyboard-handler.js.map +1 -0
  81. package/dist/dashboard/operation-controller.d.ts +76 -0
  82. package/dist/dashboard/operation-controller.d.ts.map +1 -0
  83. package/dist/dashboard/operation-controller.js +167 -0
  84. package/dist/dashboard/operation-controller.js.map +1 -0
  85. package/dist/dashboard/renderer.d.ts +76 -0
  86. package/dist/dashboard/renderer.d.ts.map +1 -0
  87. package/dist/dashboard/renderer.js +193 -0
  88. package/dist/dashboard/renderer.js.map +1 -0
  89. package/dist/dashboard/types.d.ts +74 -0
  90. package/dist/dashboard/types.d.ts.map +1 -0
  91. package/dist/dashboard/types.js +12 -0
  92. package/dist/dashboard/types.js.map +1 -0
  93. package/dist/dashboard/views/main-view.d.ts +23 -0
  94. package/dist/dashboard/views/main-view.d.ts.map +1 -0
  95. package/dist/dashboard/views/main-view.js +143 -0
  96. package/dist/dashboard/views/main-view.js.map +1 -0
  97. package/dist/dashboard/views/sessions-view.d.ts +22 -0
  98. package/dist/dashboard/views/sessions-view.d.ts.map +1 -0
  99. package/dist/dashboard/views/sessions-view.js +104 -0
  100. package/dist/dashboard/views/sessions-view.js.map +1 -0
  101. package/dist/dashboard/views/tabs-view.d.ts +21 -0
  102. package/dist/dashboard/views/tabs-view.d.ts.map +1 -0
  103. package/dist/dashboard/views/tabs-view.js +92 -0
  104. package/dist/dashboard/views/tabs-view.js.map +1 -0
  105. package/dist/dom/dom-serializer.d.ts +37 -0
  106. package/dist/dom/dom-serializer.d.ts.map +1 -0
  107. package/dist/dom/dom-serializer.js +429 -0
  108. package/dist/dom/dom-serializer.js.map +1 -0
  109. package/dist/dom/index.d.ts +2 -0
  110. package/dist/dom/index.d.ts.map +1 -0
  111. package/dist/dom/index.js +6 -0
  112. package/dist/dom/index.js.map +1 -0
  113. package/dist/errors/timeout.d.ts +20 -0
  114. package/dist/errors/timeout.d.ts.map +1 -0
  115. package/dist/errors/timeout.js +41 -0
  116. package/dist/errors/timeout.js.map +1 -0
  117. package/dist/hints/hint-engine.d.ts +117 -0
  118. package/dist/hints/hint-engine.d.ts.map +1 -0
  119. package/dist/hints/hint-engine.js +347 -0
  120. package/dist/hints/hint-engine.js.map +1 -0
  121. package/dist/hints/index.d.ts +8 -0
  122. package/dist/hints/index.d.ts.map +1 -0
  123. package/dist/hints/index.js +11 -0
  124. package/dist/hints/index.js.map +1 -0
  125. package/dist/hints/pattern-learner.d.ts +76 -0
  126. package/dist/hints/pattern-learner.d.ts.map +1 -0
  127. package/dist/hints/pattern-learner.js +254 -0
  128. package/dist/hints/pattern-learner.js.map +1 -0
  129. package/dist/hints/progress-tracker.d.ts +44 -0
  130. package/dist/hints/progress-tracker.d.ts.map +1 -0
  131. package/dist/hints/progress-tracker.js +118 -0
  132. package/dist/hints/progress-tracker.js.map +1 -0
  133. package/dist/hints/rules/blocking-page.d.ts +8 -0
  134. package/dist/hints/rules/blocking-page.d.ts.map +1 -0
  135. package/dist/hints/rules/blocking-page.js +58 -0
  136. package/dist/hints/rules/blocking-page.js.map +1 -0
  137. package/dist/hints/rules/composite-suggestions.d.ts +6 -0
  138. package/dist/hints/rules/composite-suggestions.d.ts.map +1 -0
  139. package/dist/hints/rules/composite-suggestions.js +138 -0
  140. package/dist/hints/rules/composite-suggestions.js.map +1 -0
  141. package/dist/hints/rules/error-recovery.d.ts +7 -0
  142. package/dist/hints/rules/error-recovery.d.ts.map +1 -0
  143. package/dist/hints/rules/error-recovery.js +59 -0
  144. package/dist/hints/rules/error-recovery.js.map +1 -0
  145. package/dist/hints/rules/learned-rules.d.ts +13 -0
  146. package/dist/hints/rules/learned-rules.d.ts.map +1 -0
  147. package/dist/hints/rules/learned-rules.js +27 -0
  148. package/dist/hints/rules/learned-rules.js.map +1 -0
  149. package/dist/hints/rules/pagination-detection.d.ts +7 -0
  150. package/dist/hints/rules/pagination-detection.d.ts.map +1 -0
  151. package/dist/hints/rules/pagination-detection.js +220 -0
  152. package/dist/hints/rules/pagination-detection.js.map +1 -0
  153. package/dist/hints/rules/repetition-detection.d.ts +7 -0
  154. package/dist/hints/rules/repetition-detection.d.ts.map +1 -0
  155. package/dist/hints/rules/repetition-detection.js +271 -0
  156. package/dist/hints/rules/repetition-detection.js.map +1 -0
  157. package/dist/hints/rules/sequence-detection.d.ts +6 -0
  158. package/dist/hints/rules/sequence-detection.d.ts.map +1 -0
  159. package/dist/hints/rules/sequence-detection.js +99 -0
  160. package/dist/hints/rules/sequence-detection.js.map +1 -0
  161. package/dist/hints/rules/setup-hints.d.ts +6 -0
  162. package/dist/hints/rules/setup-hints.d.ts.map +1 -0
  163. package/dist/hints/rules/setup-hints.js +24 -0
  164. package/dist/hints/rules/setup-hints.js.map +1 -0
  165. package/dist/hints/rules/success-hints.d.ts +6 -0
  166. package/dist/hints/rules/success-hints.d.ts.map +1 -0
  167. package/dist/hints/rules/success-hints.js +74 -0
  168. package/dist/hints/rules/success-hints.js.map +1 -0
  169. package/dist/index.d.ts +10 -0
  170. package/dist/index.d.ts.map +1 -0
  171. package/dist/index.js +357 -0
  172. package/dist/index.js.map +1 -0
  173. package/dist/lightpanda/launcher.d.ts +58 -0
  174. package/dist/lightpanda/launcher.d.ts.map +1 -0
  175. package/dist/lightpanda/launcher.js +210 -0
  176. package/dist/lightpanda/launcher.js.map +1 -0
  177. package/dist/mcp-server.d.ts +154 -0
  178. package/dist/mcp-server.d.ts.map +1 -0
  179. package/dist/mcp-server.js +962 -0
  180. package/dist/mcp-server.js.map +1 -0
  181. package/dist/memory/domain-memory.d.ts +68 -0
  182. package/dist/memory/domain-memory.d.ts.map +1 -0
  183. package/dist/memory/domain-memory.js +224 -0
  184. package/dist/memory/domain-memory.js.map +1 -0
  185. package/dist/orchestration/plan-executor.d.ts +19 -0
  186. package/dist/orchestration/plan-executor.d.ts.map +1 -0
  187. package/dist/orchestration/plan-executor.js +276 -0
  188. package/dist/orchestration/plan-executor.js.map +1 -0
  189. package/dist/orchestration/plan-registry.d.ts +55 -0
  190. package/dist/orchestration/plan-registry.d.ts.map +1 -0
  191. package/dist/orchestration/plan-registry.js +256 -0
  192. package/dist/orchestration/plan-registry.js.map +1 -0
  193. package/dist/orchestration/state-manager.d.ts +127 -0
  194. package/dist/orchestration/state-manager.d.ts.map +1 -0
  195. package/dist/orchestration/state-manager.js +438 -0
  196. package/dist/orchestration/state-manager.js.map +1 -0
  197. package/dist/orchestration/workflow-engine.d.ts +162 -0
  198. package/dist/orchestration/workflow-engine.d.ts.map +1 -0
  199. package/dist/orchestration/workflow-engine.js +748 -0
  200. package/dist/orchestration/workflow-engine.js.map +1 -0
  201. package/dist/resources/usage-guide.d.ts +13 -0
  202. package/dist/resources/usage-guide.d.ts.map +1 -0
  203. package/dist/resources/usage-guide.js +123 -0
  204. package/dist/resources/usage-guide.js.map +1 -0
  205. package/dist/router/browser-router.d.ts +47 -0
  206. package/dist/router/browser-router.d.ts.map +1 -0
  207. package/dist/router/browser-router.js +157 -0
  208. package/dist/router/browser-router.js.map +1 -0
  209. package/dist/router/cookie-sync.d.ts +48 -0
  210. package/dist/router/cookie-sync.d.ts.map +1 -0
  211. package/dist/router/cookie-sync.js +106 -0
  212. package/dist/router/cookie-sync.js.map +1 -0
  213. package/dist/router/index.d.ts +5 -0
  214. package/dist/router/index.d.ts.map +1 -0
  215. package/dist/router/index.js +10 -0
  216. package/dist/router/index.js.map +1 -0
  217. package/dist/router/tool-routing-registry.d.ts +21 -0
  218. package/dist/router/tool-routing-registry.d.ts.map +1 -0
  219. package/dist/router/tool-routing-registry.js +89 -0
  220. package/dist/router/tool-routing-registry.js.map +1 -0
  221. package/dist/security/audit-logger.d.ts +2 -0
  222. package/dist/security/audit-logger.d.ts.map +1 -0
  223. package/dist/security/audit-logger.js +109 -0
  224. package/dist/security/audit-logger.js.map +1 -0
  225. package/dist/security/domain-guard.d.ts +11 -0
  226. package/dist/security/domain-guard.d.ts.map +1 -0
  227. package/dist/security/domain-guard.js +98 -0
  228. package/dist/security/domain-guard.js.map +1 -0
  229. package/dist/session-manager.d.ts +325 -0
  230. package/dist/session-manager.d.ts.map +1 -0
  231. package/dist/session-manager.js +1402 -0
  232. package/dist/session-manager.js.map +1 -0
  233. package/dist/storage-state/index.d.ts +2 -0
  234. package/dist/storage-state/index.d.ts.map +1 -0
  235. package/dist/storage-state/index.js +6 -0
  236. package/dist/storage-state/index.js.map +1 -0
  237. package/dist/storage-state/storage-state-manager.d.ts +52 -0
  238. package/dist/storage-state/storage-state-manager.d.ts.map +1 -0
  239. package/dist/storage-state/storage-state-manager.js +135 -0
  240. package/dist/storage-state/storage-state-manager.js.map +1 -0
  241. package/dist/tools/batch-execute.d.ts +11 -0
  242. package/dist/tools/batch-execute.d.ts.map +1 -0
  243. package/dist/tools/batch-execute.js +218 -0
  244. package/dist/tools/batch-execute.js.map +1 -0
  245. package/dist/tools/batch-paginate.d.ts +10 -0
  246. package/dist/tools/batch-paginate.d.ts.map +1 -0
  247. package/dist/tools/batch-paginate.js +436 -0
  248. package/dist/tools/batch-paginate.js.map +1 -0
  249. package/dist/tools/click-element.d.ts +8 -0
  250. package/dist/tools/click-element.d.ts.map +1 -0
  251. package/dist/tools/click-element.js +281 -0
  252. package/dist/tools/click-element.js.map +1 -0
  253. package/dist/tools/computer.d.ts +6 -0
  254. package/dist/tools/computer.d.ts.map +1 -0
  255. package/dist/tools/computer.js +832 -0
  256. package/dist/tools/computer.js.map +1 -0
  257. package/dist/tools/console-capture.d.ts +6 -0
  258. package/dist/tools/console-capture.d.ts.map +1 -0
  259. package/dist/tools/console-capture.js +380 -0
  260. package/dist/tools/console-capture.js.map +1 -0
  261. package/dist/tools/cookies.d.ts +6 -0
  262. package/dist/tools/cookies.d.ts.map +1 -0
  263. package/dist/tools/cookies.js +366 -0
  264. package/dist/tools/cookies.js.map +1 -0
  265. package/dist/tools/drag-drop.d.ts +6 -0
  266. package/dist/tools/drag-drop.d.ts.map +1 -0
  267. package/dist/tools/drag-drop.js +263 -0
  268. package/dist/tools/drag-drop.js.map +1 -0
  269. package/dist/tools/emulate-device.d.ts +6 -0
  270. package/dist/tools/emulate-device.d.ts.map +1 -0
  271. package/dist/tools/emulate-device.js +219 -0
  272. package/dist/tools/emulate-device.js.map +1 -0
  273. package/dist/tools/file-upload.d.ts +6 -0
  274. package/dist/tools/file-upload.d.ts.map +1 -0
  275. package/dist/tools/file-upload.js +224 -0
  276. package/dist/tools/file-upload.js.map +1 -0
  277. package/dist/tools/fill-form.d.ts +8 -0
  278. package/dist/tools/fill-form.d.ts.map +1 -0
  279. package/dist/tools/fill-form.js +311 -0
  280. package/dist/tools/fill-form.js.map +1 -0
  281. package/dist/tools/find.d.ts +6 -0
  282. package/dist/tools/find.d.ts.map +1 -0
  283. package/dist/tools/find.js +163 -0
  284. package/dist/tools/find.js.map +1 -0
  285. package/dist/tools/form-input.d.ts +6 -0
  286. package/dist/tools/form-input.d.ts.map +1 -0
  287. package/dist/tools/form-input.js +219 -0
  288. package/dist/tools/form-input.js.map +1 -0
  289. package/dist/tools/geolocation.d.ts +6 -0
  290. package/dist/tools/geolocation.d.ts.map +1 -0
  291. package/dist/tools/geolocation.js +170 -0
  292. package/dist/tools/geolocation.js.map +1 -0
  293. package/dist/tools/http-auth.d.ts +6 -0
  294. package/dist/tools/http-auth.d.ts.map +1 -0
  295. package/dist/tools/http-auth.js +132 -0
  296. package/dist/tools/http-auth.js.map +1 -0
  297. package/dist/tools/index.d.ts +6 -0
  298. package/dist/tools/index.d.ts.map +1 -0
  299. package/dist/tools/index.js +107 -0
  300. package/dist/tools/index.js.map +1 -0
  301. package/dist/tools/inspect.d.ts +12 -0
  302. package/dist/tools/inspect.d.ts.map +1 -0
  303. package/dist/tools/inspect.js +483 -0
  304. package/dist/tools/inspect.js.map +1 -0
  305. package/dist/tools/interact.d.ts +9 -0
  306. package/dist/tools/interact.d.ts.map +1 -0
  307. package/dist/tools/interact.js +366 -0
  308. package/dist/tools/interact.js.map +1 -0
  309. package/dist/tools/javascript.d.ts +7 -0
  310. package/dist/tools/javascript.d.ts.map +1 -0
  311. package/dist/tools/javascript.js +214 -0
  312. package/dist/tools/javascript.js.map +1 -0
  313. package/dist/tools/lightweight-scroll.d.ts +11 -0
  314. package/dist/tools/lightweight-scroll.d.ts.map +1 -0
  315. package/dist/tools/lightweight-scroll.js +314 -0
  316. package/dist/tools/lightweight-scroll.js.map +1 -0
  317. package/dist/tools/list-profiles.d.ts +10 -0
  318. package/dist/tools/list-profiles.d.ts.map +1 -0
  319. package/dist/tools/list-profiles.js +79 -0
  320. package/dist/tools/list-profiles.js.map +1 -0
  321. package/dist/tools/memory.d.ts +13 -0
  322. package/dist/tools/memory.d.ts.map +1 -0
  323. package/dist/tools/memory.js +159 -0
  324. package/dist/tools/memory.js.map +1 -0
  325. package/dist/tools/navigate.d.ts +6 -0
  326. package/dist/tools/navigate.d.ts.map +1 -0
  327. package/dist/tools/navigate.js +422 -0
  328. package/dist/tools/navigate.js.map +1 -0
  329. package/dist/tools/network.d.ts +6 -0
  330. package/dist/tools/network.d.ts.map +1 -0
  331. package/dist/tools/network.js +229 -0
  332. package/dist/tools/network.js.map +1 -0
  333. package/dist/tools/orchestration.d.ts +6 -0
  334. package/dist/tools/orchestration.d.ts.map +1 -0
  335. package/dist/tools/orchestration.js +735 -0
  336. package/dist/tools/orchestration.js.map +1 -0
  337. package/dist/tools/page-content.d.ts +6 -0
  338. package/dist/tools/page-content.d.ts.map +1 -0
  339. package/dist/tools/page-content.js +129 -0
  340. package/dist/tools/page-content.js.map +1 -0
  341. package/dist/tools/page-pdf.d.ts +6 -0
  342. package/dist/tools/page-pdf.d.ts.map +1 -0
  343. package/dist/tools/page-pdf.js +268 -0
  344. package/dist/tools/page-pdf.js.map +1 -0
  345. package/dist/tools/page-reload.d.ts +6 -0
  346. package/dist/tools/page-reload.d.ts.map +1 -0
  347. package/dist/tools/page-reload.js +91 -0
  348. package/dist/tools/page-reload.js.map +1 -0
  349. package/dist/tools/performance-metrics.d.ts +6 -0
  350. package/dist/tools/performance-metrics.d.ts.map +1 -0
  351. package/dist/tools/performance-metrics.js +154 -0
  352. package/dist/tools/performance-metrics.js.map +1 -0
  353. package/dist/tools/profile-status.d.ts +10 -0
  354. package/dist/tools/profile-status.d.ts.map +1 -0
  355. package/dist/tools/profile-status.js +108 -0
  356. package/dist/tools/profile-status.js.map +1 -0
  357. package/dist/tools/query-dom.d.ts +8 -0
  358. package/dist/tools/query-dom.d.ts.map +1 -0
  359. package/dist/tools/query-dom.js +647 -0
  360. package/dist/tools/query-dom.js.map +1 -0
  361. package/dist/tools/read-page.d.ts +6 -0
  362. package/dist/tools/read-page.d.ts.map +1 -0
  363. package/dist/tools/read-page.js +544 -0
  364. package/dist/tools/read-page.js.map +1 -0
  365. package/dist/tools/request-intercept.d.ts +6 -0
  366. package/dist/tools/request-intercept.d.ts.map +1 -0
  367. package/dist/tools/request-intercept.js +537 -0
  368. package/dist/tools/request-intercept.js.map +1 -0
  369. package/dist/tools/shutdown.d.ts +12 -0
  370. package/dist/tools/shutdown.d.ts.map +1 -0
  371. package/dist/tools/shutdown.js +124 -0
  372. package/dist/tools/shutdown.js.map +1 -0
  373. package/dist/tools/storage.d.ts +6 -0
  374. package/dist/tools/storage.d.ts.map +1 -0
  375. package/dist/tools/storage.js +262 -0
  376. package/dist/tools/storage.js.map +1 -0
  377. package/dist/tools/tabs-close.d.ts +6 -0
  378. package/dist/tools/tabs-close.d.ts.map +1 -0
  379. package/dist/tools/tabs-close.js +124 -0
  380. package/dist/tools/tabs-close.js.map +1 -0
  381. package/dist/tools/tabs-context.d.ts +6 -0
  382. package/dist/tools/tabs-context.d.ts.map +1 -0
  383. package/dist/tools/tabs-context.js +117 -0
  384. package/dist/tools/tabs-context.js.map +1 -0
  385. package/dist/tools/tabs-create.d.ts +6 -0
  386. package/dist/tools/tabs-create.d.ts.map +1 -0
  387. package/dist/tools/tabs-create.js +90 -0
  388. package/dist/tools/tabs-create.js.map +1 -0
  389. package/dist/tools/user-agent.d.ts +6 -0
  390. package/dist/tools/user-agent.d.ts.map +1 -0
  391. package/dist/tools/user-agent.js +126 -0
  392. package/dist/tools/user-agent.js.map +1 -0
  393. package/dist/tools/wait-and-click.d.ts +8 -0
  394. package/dist/tools/wait-and-click.d.ts.map +1 -0
  395. package/dist/tools/wait-and-click.js +165 -0
  396. package/dist/tools/wait-and-click.js.map +1 -0
  397. package/dist/tools/wait-for.d.ts +6 -0
  398. package/dist/tools/wait-for.d.ts.map +1 -0
  399. package/dist/tools/wait-for.js +290 -0
  400. package/dist/tools/wait-for.js.map +1 -0
  401. package/dist/tools/worker.d.ts +8 -0
  402. package/dist/tools/worker.d.ts.map +1 -0
  403. package/dist/tools/worker.js +160 -0
  404. package/dist/tools/worker.js.map +1 -0
  405. package/dist/types/browser-backend.d.ts +30 -0
  406. package/dist/types/browser-backend.d.ts.map +1 -0
  407. package/dist/types/browser-backend.js +9 -0
  408. package/dist/types/browser-backend.js.map +1 -0
  409. package/dist/types/index.d.ts +3 -0
  410. package/dist/types/index.d.ts.map +1 -0
  411. package/dist/types/index.js +19 -0
  412. package/dist/types/index.js.map +1 -0
  413. package/dist/types/mcp.d.ts +63 -0
  414. package/dist/types/mcp.d.ts.map +1 -0
  415. package/dist/types/mcp.js +14 -0
  416. package/dist/types/mcp.js.map +1 -0
  417. package/dist/types/plan-cache.d.ts +121 -0
  418. package/dist/types/plan-cache.d.ts.map +1 -0
  419. package/dist/types/plan-cache.js +9 -0
  420. package/dist/types/plan-cache.js.map +1 -0
  421. package/dist/types/session.d.ts +65 -0
  422. package/dist/types/session.d.ts.map +1 -0
  423. package/dist/types/session.js +6 -0
  424. package/dist/types/session.js.map +1 -0
  425. package/dist/types/tool-manifest.d.ts +52 -0
  426. package/dist/types/tool-manifest.d.ts.map +1 -0
  427. package/dist/types/tool-manifest.js +37 -0
  428. package/dist/types/tool-manifest.js.map +1 -0
  429. package/dist/utils/adaptive-screenshot.d.ts +57 -0
  430. package/dist/utils/adaptive-screenshot.d.ts.map +1 -0
  431. package/dist/utils/adaptive-screenshot.js +126 -0
  432. package/dist/utils/adaptive-screenshot.js.map +1 -0
  433. package/dist/utils/atomic-file.d.ts +50 -0
  434. package/dist/utils/atomic-file.d.ts.map +1 -0
  435. package/dist/utils/atomic-file.js +217 -0
  436. package/dist/utils/atomic-file.js.map +1 -0
  437. package/dist/utils/dom-delta.d.ts +36 -0
  438. package/dist/utils/dom-delta.d.ts.map +1 -0
  439. package/dist/utils/dom-delta.js +314 -0
  440. package/dist/utils/dom-delta.js.map +1 -0
  441. package/dist/utils/element-discovery.d.ts +115 -0
  442. package/dist/utils/element-discovery.d.ts.map +1 -0
  443. package/dist/utils/element-discovery.js +519 -0
  444. package/dist/utils/element-discovery.js.map +1 -0
  445. package/dist/utils/element-finder.d.ts +49 -0
  446. package/dist/utils/element-finder.d.ts.map +1 -0
  447. package/dist/utils/element-finder.js +130 -0
  448. package/dist/utils/element-finder.js.map +1 -0
  449. package/dist/utils/format-age.d.ts +5 -0
  450. package/dist/utils/format-age.d.ts.map +1 -0
  451. package/dist/utils/format-age.js +15 -0
  452. package/dist/utils/format-age.js.map +1 -0
  453. package/dist/utils/format-error.d.ts +5 -0
  454. package/dist/utils/format-error.d.ts.map +1 -0
  455. package/dist/utils/format-error.js +10 -0
  456. package/dist/utils/format-error.js.map +1 -0
  457. package/dist/utils/index.d.ts +7 -0
  458. package/dist/utils/index.d.ts.map +1 -0
  459. package/dist/utils/index.js +23 -0
  460. package/dist/utils/index.js.map +1 -0
  461. package/dist/utils/json-validator.d.ts +40 -0
  462. package/dist/utils/json-validator.d.ts.map +1 -0
  463. package/dist/utils/json-validator.js +295 -0
  464. package/dist/utils/json-validator.js.map +1 -0
  465. package/dist/utils/page-diagnostics.d.ts +23 -0
  466. package/dist/utils/page-diagnostics.d.ts.map +1 -0
  467. package/dist/utils/page-diagnostics.js +95 -0
  468. package/dist/utils/page-diagnostics.js.map +1 -0
  469. package/dist/utils/pagination-detector.d.ts +22 -0
  470. package/dist/utils/pagination-detector.d.ts.map +1 -0
  471. package/dist/utils/pagination-detector.js +292 -0
  472. package/dist/utils/pagination-detector.js.map +1 -0
  473. package/dist/utils/pid-manager.d.ts +6 -0
  474. package/dist/utils/pid-manager.d.ts.map +1 -0
  475. package/dist/utils/pid-manager.js +135 -0
  476. package/dist/utils/pid-manager.js.map +1 -0
  477. package/dist/utils/puppeteer-helpers.d.ts +8 -0
  478. package/dist/utils/puppeteer-helpers.d.ts.map +1 -0
  479. package/dist/utils/puppeteer-helpers.js +12 -0
  480. package/dist/utils/puppeteer-helpers.js.map +1 -0
  481. package/dist/utils/ref-id-manager.d.ts +72 -0
  482. package/dist/utils/ref-id-manager.d.ts.map +1 -0
  483. package/dist/utils/ref-id-manager.js +325 -0
  484. package/dist/utils/ref-id-manager.js.map +1 -0
  485. package/dist/utils/request-queue.d.ts +37 -0
  486. package/dist/utils/request-queue.d.ts.map +1 -0
  487. package/dist/utils/request-queue.js +114 -0
  488. package/dist/utils/request-queue.js.map +1 -0
  489. package/dist/utils/retry-with-fallback.d.ts +18 -0
  490. package/dist/utils/retry-with-fallback.d.ts.map +1 -0
  491. package/dist/utils/retry-with-fallback.js +39 -0
  492. package/dist/utils/retry-with-fallback.js.map +1 -0
  493. package/dist/utils/safe-title.d.ts +10 -0
  494. package/dist/utils/safe-title.d.ts.map +1 -0
  495. package/dist/utils/safe-title.js +24 -0
  496. package/dist/utils/safe-title.js.map +1 -0
  497. package/dist/utils/schema-validator.d.ts +12 -0
  498. package/dist/utils/schema-validator.d.ts.map +1 -0
  499. package/dist/utils/schema-validator.js +70 -0
  500. package/dist/utils/schema-validator.js.map +1 -0
  501. package/dist/utils/shadow-dom.d.ts +114 -0
  502. package/dist/utils/shadow-dom.d.ts.map +1 -0
  503. package/dist/utils/shadow-dom.js +385 -0
  504. package/dist/utils/shadow-dom.js.map +1 -0
  505. package/dist/utils/smart-goto.d.ts +39 -0
  506. package/dist/utils/smart-goto.d.ts.map +1 -0
  507. package/dist/utils/smart-goto.js +134 -0
  508. package/dist/utils/smart-goto.js.map +1 -0
  509. package/dist/utils/url-utils.d.ts +5 -0
  510. package/dist/utils/url-utils.d.ts.map +1 -0
  511. package/dist/utils/url-utils.js +15 -0
  512. package/dist/utils/url-utils.js.map +1 -0
  513. package/dist/utils/visual-summary.d.ts +17 -0
  514. package/dist/utils/visual-summary.d.ts.map +1 -0
  515. package/dist/utils/visual-summary.js +215 -0
  516. package/dist/utils/visual-summary.js.map +1 -0
  517. package/dist/utils/with-timeout.d.ts +5 -0
  518. package/dist/utils/with-timeout.d.ts.map +1 -0
  519. package/dist/utils/with-timeout.js +15 -0
  520. package/dist/utils/with-timeout.js.map +1 -0
  521. package/dist/version.d.ts +5 -0
  522. package/dist/version.d.ts.map +1 -0
  523. package/dist/version.js +22 -0
  524. package/dist/version.js.map +1 -0
  525. package/package.json +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * DomainMemory — Cross-project domain knowledge persistence.
3
+ *
4
+ * MCP-aligned: server stores and retrieves, agent decides what to store.
5
+ * Confidence: +0.1 on success, -0.2 on failure (asymmetric — broken selectors are dangerous).
6
+ * Storage: ~/.openchrome/memory/domain-knowledge.json
7
+ */
8
+ export interface DomainKnowledge {
9
+ id: string;
10
+ domain: string;
11
+ key: string;
12
+ value: string;
13
+ confidence: number;
14
+ updatedAt: number;
15
+ }
16
+ export declare class DomainMemory {
17
+ private entries;
18
+ private filePath;
19
+ private dirty;
20
+ static readonly MAX_ENTRIES = 200;
21
+ static readonly STALE_DAYS = 30;
22
+ static readonly MIN_CONFIDENCE = 0.2;
23
+ static readonly STALE_CONFIDENCE = 0.5;
24
+ static readonly CONFIDENCE_BOOST = 0.1;
25
+ static readonly CONFIDENCE_PENALTY = 0.2;
26
+ static readonly DEFAULT_CONFIDENCE = 0.5;
27
+ /**
28
+ * Enable persistence and run startup compression.
29
+ */
30
+ enablePersistence(dirPath: string): void;
31
+ /**
32
+ * CE: Write — Record domain knowledge. Agent calls this after successful operations.
33
+ * If an entry with the same domain+key exists, update its value and reset confidence.
34
+ */
35
+ record(domain: string, key: string, value: string): DomainKnowledge;
36
+ /**
37
+ * CE: Select — Returns entries for domain, sorted by confidence desc.
38
+ * Optionally filter by key prefix.
39
+ */
40
+ query(domain: string, key?: string): DomainKnowledge[];
41
+ /**
42
+ * Validation — Agent calls after using knowledge (success/fail).
43
+ * Returns updated entry, or null if not found / pruned.
44
+ */
45
+ validate(id: string, success: boolean): DomainKnowledge | null;
46
+ /**
47
+ * CE: Compress — Prune stale/invalid entries on startup.
48
+ * 1. confidence < 0.2 → remove
49
+ * 2. updatedAt > 30 days AND confidence < 0.5 → remove
50
+ * 3. count > 200 → remove lowest-confidence
51
+ */
52
+ compress(): {
53
+ pruned: number;
54
+ remaining: number;
55
+ };
56
+ /**
57
+ * Get all entries (for testing/inspection).
58
+ */
59
+ getAll(): DomainKnowledge[];
60
+ private load;
61
+ save(): void;
62
+ }
63
+ export declare function getDomainMemory(): DomainMemory;
64
+ /**
65
+ * Extract domain from a URL string. Returns empty string on failure.
66
+ */
67
+ export declare function extractDomainFromUrl(url: string): string;
68
+ //# sourceMappingURL=domain-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-memory.d.ts","sourceRoot":"","sources":["../../src/memory/domain-memory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,KAAK,CAAS;IAEtB,MAAM,CAAC,QAAQ,CAAC,WAAW,OAAO;IAClC,MAAM,CAAC,QAAQ,CAAC,UAAU,MAAM;IAChC,MAAM,CAAC,QAAQ,CAAC,cAAc,OAAO;IACrC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,OAAO;IACvC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,OAAO;IACvC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,OAAO;IACzC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,OAAO;IAEzC;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAWxC;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe;IA6BnE;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE;IAUtD;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI;IAuB9D;;;;;OAKG;IACH,QAAQ,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IA4BjD;;OAEG;IACH,MAAM,IAAI,eAAe,EAAE;IAI3B,OAAO,CAAC,IAAI;IAWZ,IAAI,IAAI,IAAI;CAgBb;AAKD,wBAAgB,eAAe,IAAI,YAAY,CAQ9C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD"}
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ /**
3
+ * DomainMemory — Cross-project domain knowledge persistence.
4
+ *
5
+ * MCP-aligned: server stores and retrieves, agent decides what to store.
6
+ * Confidence: +0.1 on success, -0.2 on failure (asymmetric — broken selectors are dangerous).
7
+ * Storage: ~/.openchrome/memory/domain-knowledge.json
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.DomainMemory = void 0;
44
+ exports.getDomainMemory = getDomainMemory;
45
+ exports.extractDomainFromUrl = extractDomainFromUrl;
46
+ const fs = __importStar(require("fs"));
47
+ const os = __importStar(require("os"));
48
+ const path = __importStar(require("path"));
49
+ const url_utils_1 = require("../utils/url-utils");
50
+ class DomainMemory {
51
+ entries = [];
52
+ filePath = null;
53
+ dirty = false;
54
+ static MAX_ENTRIES = 200;
55
+ static STALE_DAYS = 30;
56
+ static MIN_CONFIDENCE = 0.2;
57
+ static STALE_CONFIDENCE = 0.5;
58
+ static CONFIDENCE_BOOST = 0.1;
59
+ static CONFIDENCE_PENALTY = 0.2;
60
+ static DEFAULT_CONFIDENCE = 0.5;
61
+ /**
62
+ * Enable persistence and run startup compression.
63
+ */
64
+ enablePersistence(dirPath) {
65
+ try {
66
+ fs.mkdirSync(dirPath, { recursive: true });
67
+ this.filePath = path.join(dirPath, 'domain-knowledge.json');
68
+ this.load();
69
+ this.compress();
70
+ }
71
+ catch {
72
+ // Best-effort
73
+ }
74
+ }
75
+ /**
76
+ * CE: Write — Record domain knowledge. Agent calls this after successful operations.
77
+ * If an entry with the same domain+key exists, update its value and reset confidence.
78
+ */
79
+ record(domain, key, value) {
80
+ const existing = this.entries.find((e) => e.domain === domain && e.key === key);
81
+ if (existing) {
82
+ existing.value = value;
83
+ existing.confidence = Math.max(existing.confidence, DomainMemory.DEFAULT_CONFIDENCE);
84
+ existing.updatedAt = Date.now();
85
+ this.dirty = true;
86
+ this.save();
87
+ return existing;
88
+ }
89
+ const entry = {
90
+ id: `dk-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`,
91
+ domain,
92
+ key,
93
+ value,
94
+ confidence: DomainMemory.DEFAULT_CONFIDENCE,
95
+ updatedAt: Date.now(),
96
+ };
97
+ this.entries.push(entry);
98
+ this.dirty = true;
99
+ this.save();
100
+ return entry;
101
+ }
102
+ /**
103
+ * CE: Select — Returns entries for domain, sorted by confidence desc.
104
+ * Optionally filter by key prefix.
105
+ */
106
+ query(domain, key) {
107
+ let results = this.entries.filter((e) => e.domain === domain);
108
+ if (key) {
109
+ results = results.filter((e) => e.key === key || e.key.startsWith(key + ':'));
110
+ }
111
+ return results.sort((a, b) => b.confidence - a.confidence);
112
+ }
113
+ /**
114
+ * Validation — Agent calls after using knowledge (success/fail).
115
+ * Returns updated entry, or null if not found / pruned.
116
+ */
117
+ validate(id, success) {
118
+ const entry = this.entries.find((e) => e.id === id);
119
+ if (!entry)
120
+ return null;
121
+ if (success) {
122
+ entry.confidence = Math.min(1.0, entry.confidence + DomainMemory.CONFIDENCE_BOOST);
123
+ }
124
+ else {
125
+ entry.confidence = Math.max(0.0, entry.confidence - DomainMemory.CONFIDENCE_PENALTY);
126
+ }
127
+ entry.updatedAt = Date.now();
128
+ this.dirty = true;
129
+ // Prune if confidence dropped below threshold
130
+ if (entry.confidence < DomainMemory.MIN_CONFIDENCE) {
131
+ this.entries = this.entries.filter((e) => e.id !== id);
132
+ this.save();
133
+ return null;
134
+ }
135
+ this.save();
136
+ return entry;
137
+ }
138
+ /**
139
+ * CE: Compress — Prune stale/invalid entries on startup.
140
+ * 1. confidence < 0.2 → remove
141
+ * 2. updatedAt > 30 days AND confidence < 0.5 → remove
142
+ * 3. count > 200 → remove lowest-confidence
143
+ */
144
+ compress() {
145
+ const before = this.entries.length;
146
+ const now = Date.now();
147
+ const staleCutoff = now - DomainMemory.STALE_DAYS * 24 * 60 * 60 * 1000;
148
+ // Rule 1 & 2: Remove low-confidence and stale entries
149
+ this.entries = this.entries.filter((e) => {
150
+ if (e.confidence < DomainMemory.MIN_CONFIDENCE)
151
+ return false;
152
+ if (e.updatedAt < staleCutoff && e.confidence < DomainMemory.STALE_CONFIDENCE)
153
+ return false;
154
+ return true;
155
+ });
156
+ // Rule 3: Cap at MAX_ENTRIES, keep highest confidence
157
+ if (this.entries.length > DomainMemory.MAX_ENTRIES) {
158
+ this.entries.sort((a, b) => b.confidence - a.confidence);
159
+ this.entries = this.entries.slice(0, DomainMemory.MAX_ENTRIES);
160
+ }
161
+ const pruned = before - this.entries.length;
162
+ if (pruned > 0) {
163
+ this.dirty = true;
164
+ this.save();
165
+ console.error(`[DomainMemory] Compressed: pruned ${pruned}, remaining ${this.entries.length}`);
166
+ }
167
+ return { pruned, remaining: this.entries.length };
168
+ }
169
+ /**
170
+ * Get all entries (for testing/inspection).
171
+ */
172
+ getAll() {
173
+ return this.entries;
174
+ }
175
+ load() {
176
+ if (!this.filePath)
177
+ return;
178
+ try {
179
+ const data = fs.readFileSync(this.filePath, 'utf-8');
180
+ const store = JSON.parse(data);
181
+ this.entries = store.entries || [];
182
+ }
183
+ catch {
184
+ this.entries = [];
185
+ }
186
+ }
187
+ save() {
188
+ if (!this.filePath || !this.dirty)
189
+ return;
190
+ try {
191
+ const dir = path.dirname(this.filePath);
192
+ fs.mkdirSync(dir, { recursive: true });
193
+ const store = {
194
+ version: 1,
195
+ entries: this.entries,
196
+ updatedAt: Date.now(),
197
+ };
198
+ fs.writeFileSync(this.filePath, JSON.stringify(store, null, 2));
199
+ this.dirty = false;
200
+ }
201
+ catch {
202
+ // Best-effort
203
+ }
204
+ }
205
+ }
206
+ exports.DomainMemory = DomainMemory;
207
+ // Singleton
208
+ let instance = null;
209
+ function getDomainMemory() {
210
+ if (!instance) {
211
+ instance = new DomainMemory();
212
+ const homedir = os.homedir();
213
+ const memoryDir = path.join(homedir, '.openchrome', 'memory');
214
+ instance.enablePersistence(memoryDir);
215
+ }
216
+ return instance;
217
+ }
218
+ /**
219
+ * Extract domain from a URL string. Returns empty string on failure.
220
+ */
221
+ function extractDomainFromUrl(url) {
222
+ return (0, url_utils_1.extractHostname)(url);
223
+ }
224
+ //# sourceMappingURL=domain-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-memory.js","sourceRoot":"","sources":["../../src/memory/domain-memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * PlanExecutor - Executes compiled plans by chaining tool handlers internally.
3
+ *
4
+ * Bypasses per-step agent LLM round-trips by resolving and calling tool handlers
5
+ * directly from the MCP server's internal registry.
6
+ */
7
+ import { ToolHandler } from '../types/mcp';
8
+ import { CompiledPlan, PlanExecutionResult } from '../types/plan-cache';
9
+ export declare class PlanExecutor {
10
+ private toolResolver;
11
+ constructor(toolResolver: (toolName: string) => ToolHandler | null);
12
+ execute(plan: CompiledPlan, sessionId: string, runtimeParams: Record<string, unknown>): Promise<PlanExecutionResult>;
13
+ /**
14
+ * Attempt to find and run a recovery handler for a given condition.
15
+ * Returns updated stepsExecuted + params snapshot on success, null if no handler.
16
+ */
17
+ private tryRecovery;
18
+ }
19
+ //# sourceMappingURL=plan-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-executor.d.ts","sourceRoot":"","sources":["../../src/orchestration/plan-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAa,WAAW,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EACL,YAAY,EAGZ,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAuH7B,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAA2C;gBAEnD,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI;IAI5D,OAAO,CACX,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,mBAAmB,CAAC;IAsJ/B;;;OAGG;YACW,WAAW;CAqE1B"}
@@ -0,0 +1,276 @@
1
+ "use strict";
2
+ /**
3
+ * PlanExecutor - Executes compiled plans by chaining tool handlers internally.
4
+ *
5
+ * Bypasses per-step agent LLM round-trips by resolving and calling tool handlers
6
+ * directly from the MCP server's internal registry.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.PlanExecutor = void 0;
10
+ const with_timeout_1 = require("../utils/with-timeout");
11
+ /**
12
+ * Recursively substitute ${varName} templates in a value using the params map.
13
+ * Handles strings, objects, and arrays. Non-string primitives are returned as-is.
14
+ * Missing vars are left as-is (no crash).
15
+ */
16
+ function substituteParams(value, params) {
17
+ if (typeof value === 'string') {
18
+ return value.replace(/\$\{([^}]+)\}/g, (match, varName) => {
19
+ const resolved = params[varName];
20
+ if (resolved === undefined)
21
+ return match;
22
+ if (typeof resolved === 'string')
23
+ return resolved;
24
+ return JSON.stringify(resolved);
25
+ });
26
+ }
27
+ if (Array.isArray(value)) {
28
+ return value.map((item) => substituteParams(item, params));
29
+ }
30
+ if (value !== null && typeof value === 'object') {
31
+ const result = {};
32
+ for (const [k, v] of Object.entries(value)) {
33
+ result[k] = substituteParams(v, params);
34
+ }
35
+ return result;
36
+ }
37
+ return value;
38
+ }
39
+ /**
40
+ * Extract result data from an MCPResult according to parseResult spec.
41
+ * Returns the extracted value (raw text, parsed JSON, or a specific field).
42
+ */
43
+ function extractResult(mcpResult, parseResult) {
44
+ const content = mcpResult.content;
45
+ const text = content && content.length > 0 ? content[0].text ?? '' : '';
46
+ if (parseResult.format === 'text') {
47
+ return text;
48
+ }
49
+ // format === 'json'
50
+ let parsed;
51
+ try {
52
+ parsed = JSON.parse(text);
53
+ }
54
+ catch {
55
+ parsed = text;
56
+ }
57
+ if (parseResult.extractField) {
58
+ const obj = parsed;
59
+ parsed = obj?.[parseResult.extractField];
60
+ }
61
+ return parsed;
62
+ }
63
+ /**
64
+ * Check whether an MCPResult represents an empty/no-data result.
65
+ */
66
+ function isEmptyResult(mcpResult) {
67
+ if (mcpResult.isError)
68
+ return false; // errors are not "empty"
69
+ const content = mcpResult.content;
70
+ if (!content || content.length === 0)
71
+ return true;
72
+ const text = content[0].text ?? '';
73
+ if (text.trim() === '' || text.trim() === 'null' || text.trim() === '[]' || text.trim() === '{}') {
74
+ return true;
75
+ }
76
+ return false;
77
+ }
78
+ /**
79
+ * Validate final params against the plan's success criteria.
80
+ * Returns null if valid, or an error string describing the violation.
81
+ */
82
+ function validateSuccessCriteria(criteria, params) {
83
+ if (criteria.minDataItems !== undefined) {
84
+ // Find the first array or object in params that could represent "data items"
85
+ let found = false;
86
+ for (const val of Object.values(params)) {
87
+ if (Array.isArray(val)) {
88
+ if (val.length < criteria.minDataItems) {
89
+ return `minDataItems requirement not met: got ${val.length}, need ${criteria.minDataItems}`;
90
+ }
91
+ found = true;
92
+ break;
93
+ }
94
+ else if (val !== null && typeof val === 'object') {
95
+ const count = Object.keys(val).length;
96
+ if (count < criteria.minDataItems) {
97
+ return `minDataItems requirement not met: got ${count}, need ${criteria.minDataItems}`;
98
+ }
99
+ found = true;
100
+ break;
101
+ }
102
+ }
103
+ if (!found && criteria.minDataItems > 0) {
104
+ return `minDataItems requirement not met: no collection found in params`;
105
+ }
106
+ }
107
+ if (criteria.requiredFields && criteria.requiredFields.length > 0) {
108
+ for (const field of criteria.requiredFields) {
109
+ if (!(field in params) || params[field] === undefined) {
110
+ return `Required field missing from params: ${field}`;
111
+ }
112
+ }
113
+ }
114
+ return null;
115
+ }
116
+ class PlanExecutor {
117
+ toolResolver;
118
+ constructor(toolResolver) {
119
+ this.toolResolver = toolResolver;
120
+ }
121
+ async execute(plan, sessionId, runtimeParams) {
122
+ const startTime = Date.now();
123
+ let stepsExecuted = 0;
124
+ // 1. Build params map: plan defaults first, runtime overrides on top
125
+ const params = {};
126
+ for (const [key, spec] of Object.entries(plan.parameters)) {
127
+ if (spec.default !== undefined) {
128
+ params[key] = spec.default;
129
+ }
130
+ }
131
+ Object.assign(params, runtimeParams);
132
+ const failure = (error) => ({
133
+ success: false,
134
+ planId: plan.id,
135
+ error,
136
+ durationMs: Date.now() - startTime,
137
+ stepsExecuted,
138
+ totalSteps: plan.steps.length,
139
+ });
140
+ // 2. Execute each step sequentially
141
+ for (const step of plan.steps) {
142
+ const stepLabel = `plan=${plan.id} step=${step.order} tool=${step.tool}`;
143
+ // a. Resolve handler
144
+ const handler = this.toolResolver(step.tool);
145
+ if (!handler) {
146
+ const msg = `No handler found for tool "${step.tool}" at ${stepLabel}`;
147
+ console.error(`[PlanExecutor] ${msg}`);
148
+ return failure(msg);
149
+ }
150
+ // b. Substitute template variables in args
151
+ const substitutedArgs = substituteParams(step.args, params);
152
+ // c. Call handler with timeout
153
+ let mcpResult;
154
+ try {
155
+ mcpResult = await (0, with_timeout_1.withTimeout)(handler(sessionId, substitutedArgs), step.timeout, stepLabel);
156
+ stepsExecuted++;
157
+ }
158
+ catch (err) {
159
+ const errMsg = err instanceof Error ? err.message : String(err);
160
+ console.error(`[PlanExecutor] Step failed at ${stepLabel}: ${errMsg}`);
161
+ // Check for a matching error handler
162
+ const conditionKey = `step${step.order}_error`;
163
+ const recovered = await this.tryRecovery(conditionKey, plan.errorHandlers, sessionId, params, stepsExecuted);
164
+ if (recovered !== null) {
165
+ stepsExecuted = recovered.stepsExecuted;
166
+ // Merge any params updates from recovery into our params
167
+ Object.assign(params, recovered.params);
168
+ continue;
169
+ }
170
+ return failure(`Step ${step.order} (${step.tool}) failed: ${errMsg}`);
171
+ }
172
+ // d. Check for error result
173
+ if (mcpResult.isError) {
174
+ const errMsg = mcpResult.content?.[0]?.text ?? 'Unknown tool error';
175
+ console.error(`[PlanExecutor] Tool returned error at ${stepLabel}: ${errMsg}`);
176
+ const conditionKey = `step${step.order}_error`;
177
+ const recovered = await this.tryRecovery(conditionKey, plan.errorHandlers, sessionId, params, stepsExecuted);
178
+ if (recovered !== null) {
179
+ stepsExecuted = recovered.stepsExecuted;
180
+ Object.assign(params, recovered.params);
181
+ continue;
182
+ }
183
+ return failure(`Step ${step.order} (${step.tool}) returned error: ${errMsg}`);
184
+ }
185
+ // e. Check for empty result (before storing) — may trigger empty_result handler
186
+ if (isEmptyResult(mcpResult)) {
187
+ const conditionKey = `step${step.order}_empty_result`;
188
+ const recovered = await this.tryRecovery(conditionKey, plan.errorHandlers, sessionId, params, stepsExecuted);
189
+ if (recovered !== null) {
190
+ stepsExecuted = recovered.stepsExecuted;
191
+ Object.assign(params, recovered.params);
192
+ continue;
193
+ }
194
+ // No handler for empty — treat as non-fatal, just skip storing
195
+ }
196
+ // f. Parse and store result if requested
197
+ if (step.parseResult && step.parseResult.storeAs) {
198
+ try {
199
+ const extracted = extractResult(mcpResult, step.parseResult);
200
+ params[step.parseResult.storeAs] = extracted;
201
+ }
202
+ catch (err) {
203
+ console.error(`[PlanExecutor] Failed to extract result at ${stepLabel}: ${err instanceof Error ? err.message : String(err)}`);
204
+ // Non-fatal: continue without storing
205
+ }
206
+ }
207
+ }
208
+ // 3. Validate success criteria
209
+ const criteriaError = validateSuccessCriteria(plan.successCriteria, params);
210
+ if (criteriaError) {
211
+ console.error(`[PlanExecutor] Success criteria failed for plan=${plan.id}: ${criteriaError}`);
212
+ return {
213
+ success: false,
214
+ planId: plan.id,
215
+ error: `Success criteria not met: ${criteriaError}`,
216
+ durationMs: Date.now() - startTime,
217
+ stepsExecuted,
218
+ totalSteps: plan.steps.length,
219
+ };
220
+ }
221
+ // 4. Return success with all collected params as data
222
+ return {
223
+ success: true,
224
+ planId: plan.id,
225
+ data: params,
226
+ durationMs: Date.now() - startTime,
227
+ stepsExecuted,
228
+ totalSteps: plan.steps.length,
229
+ };
230
+ }
231
+ /**
232
+ * Attempt to find and run a recovery handler for a given condition.
233
+ * Returns updated stepsExecuted + params snapshot on success, null if no handler.
234
+ */
235
+ async tryRecovery(conditionKey, errorHandlers, sessionId, params, currentStepsExecuted) {
236
+ const handler = errorHandlers.find((h) => h.condition === conditionKey);
237
+ if (!handler)
238
+ return null;
239
+ console.error(`[PlanExecutor] Running error handler "${handler.action}" for condition "${conditionKey}"`);
240
+ let stepsExecuted = currentStepsExecuted;
241
+ for (const step of handler.steps) {
242
+ const stepLabel = `recovery action=${handler.action} step=${step.order} tool=${step.tool}`;
243
+ const toolHandler = this.toolResolver(step.tool);
244
+ if (!toolHandler) {
245
+ console.error(`[PlanExecutor] Recovery: no handler for tool "${step.tool}" at ${stepLabel}`);
246
+ continue;
247
+ }
248
+ const substitutedArgs = substituteParams(step.args, params);
249
+ let mcpResult;
250
+ try {
251
+ mcpResult = await (0, with_timeout_1.withTimeout)(toolHandler(sessionId, substitutedArgs), step.timeout, stepLabel);
252
+ stepsExecuted++;
253
+ }
254
+ catch (err) {
255
+ console.error(`[PlanExecutor] Recovery step failed at ${stepLabel}: ${err instanceof Error ? err.message : String(err)}`);
256
+ continue;
257
+ }
258
+ if (mcpResult.isError) {
259
+ console.error(`[PlanExecutor] Recovery step returned error at ${stepLabel}: ${mcpResult.content?.[0]?.text ?? 'unknown'}`);
260
+ continue;
261
+ }
262
+ if (step.parseResult && step.parseResult.storeAs) {
263
+ try {
264
+ const extracted = extractResult(mcpResult, step.parseResult);
265
+ params[step.parseResult.storeAs] = extracted;
266
+ }
267
+ catch (err) {
268
+ console.error(`[PlanExecutor] Recovery: failed to extract result at ${stepLabel}: ${err instanceof Error ? err.message : String(err)}`);
269
+ }
270
+ }
271
+ }
272
+ return { stepsExecuted, params };
273
+ }
274
+ }
275
+ exports.PlanExecutor = PlanExecutor;
276
+ //# sourceMappingURL=plan-executor.js.map