explorbot 0.0.1 → 0.0.5

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 (423) hide show
  1. package/README.md +80 -26
  2. package/bin/explorbot-cli.ts +679 -0
  3. package/boat/api-tester/src/ai/chief/styles.ts +15 -0
  4. package/boat/api-tester/src/ai/chief.ts +335 -0
  5. package/boat/api-tester/src/ai/curler-tools.ts +278 -0
  6. package/boat/api-tester/src/ai/curler.ts +306 -0
  7. package/boat/api-tester/src/api-client.ts +28 -0
  8. package/boat/api-tester/src/apibot.ts +203 -0
  9. package/boat/api-tester/src/cli.ts +301 -0
  10. package/boat/api-tester/src/config.ts +190 -0
  11. package/dist/bin/explorbot-cli.js +19 -98
  12. package/dist/boat/api-tester/bin/apibot-cli.js +0 -1
  13. package/dist/boat/api-tester/src/ai/chief/styles.js +0 -1
  14. package/dist/boat/api-tester/src/ai/chief.js +0 -1
  15. package/dist/boat/api-tester/src/ai/curler-tools.js +0 -1
  16. package/dist/boat/api-tester/src/ai/curler.js +0 -1
  17. package/dist/boat/api-tester/src/api-client.js +0 -1
  18. package/dist/boat/api-tester/src/apibot.js +0 -1
  19. package/dist/boat/api-tester/src/cli.js +0 -1
  20. package/dist/boat/api-tester/src/config.js +0 -1
  21. package/dist/src/action-result.js +0 -1
  22. package/dist/src/action.js +0 -1
  23. package/dist/src/activity.js +0 -1
  24. package/dist/src/ai/agent.js +0 -1
  25. package/dist/src/ai/bosun.js +0 -1
  26. package/dist/src/ai/captain/idle-mode.js +0 -1
  27. package/dist/src/ai/captain/mixin.js +0 -1
  28. package/dist/src/ai/captain/test-mode.js +0 -1
  29. package/dist/src/ai/captain/web-mode.js +0 -1
  30. package/dist/src/ai/captain.js +0 -1
  31. package/dist/src/ai/conversation.js +0 -1
  32. package/dist/src/ai/experience-compactor.js +0 -1
  33. package/dist/src/ai/fisherman-tools.js +0 -1
  34. package/dist/src/ai/fisherman.js +0 -1
  35. package/dist/src/ai/historian.js +0 -1
  36. package/dist/src/ai/navigator.js +0 -1
  37. package/dist/src/ai/pilot.js +0 -1
  38. package/dist/src/ai/planner/session-dedup.js +0 -1
  39. package/dist/src/ai/planner/styles.js +0 -1
  40. package/dist/src/ai/planner/subpages.js +0 -1
  41. package/dist/src/ai/planner.js +0 -1
  42. package/dist/src/ai/provider.js +0 -1
  43. package/dist/src/ai/quartermaster.js +0 -1
  44. package/dist/src/ai/researcher/cache.js +0 -1
  45. package/dist/src/ai/researcher/coordinates.js +0 -1
  46. package/dist/src/ai/researcher/deep-analysis.js +0 -1
  47. package/dist/src/ai/researcher/fingerprint-worker.js +0 -1
  48. package/dist/src/ai/researcher/focus.js +0 -1
  49. package/dist/src/ai/researcher/locators.js +0 -1
  50. package/dist/src/ai/researcher/mixin.js +0 -1
  51. package/dist/src/ai/researcher/parser.js +0 -1
  52. package/dist/src/ai/researcher/research-result.js +0 -1
  53. package/dist/src/ai/researcher.js +0 -1
  54. package/dist/src/ai/rules.js +0 -1
  55. package/dist/src/ai/task-agent.js +0 -1
  56. package/dist/src/ai/tester.js +0 -1
  57. package/dist/src/ai/tools.js +0 -1
  58. package/dist/src/api/api-client.js +0 -1
  59. package/dist/src/api/request-result.js +0 -1
  60. package/dist/src/api/request-store.js +0 -1
  61. package/dist/src/api/spec-reader.js +0 -1
  62. package/dist/src/api/xhr-capture.js +0 -1
  63. package/dist/src/browser-server.js +0 -1
  64. package/dist/src/command-handler.js +0 -1
  65. package/dist/src/commands/add-rule-command.js +0 -1
  66. package/dist/src/commands/base-command.js +0 -1
  67. package/dist/src/commands/clean-command.js +0 -1
  68. package/dist/src/commands/context-aria-command.js +0 -1
  69. package/dist/src/commands/context-command.js +0 -1
  70. package/dist/src/commands/context-data-command.js +0 -1
  71. package/dist/src/commands/context-experience-command.js +0 -1
  72. package/dist/src/commands/context-html-command.js +0 -1
  73. package/dist/src/commands/context-knowledge-command.js +0 -1
  74. package/dist/src/commands/debug-command.js +0 -1
  75. package/dist/src/commands/drill-command.js +0 -1
  76. package/dist/src/commands/exit-command.js +0 -1
  77. package/dist/src/commands/explore-command.js +2 -2
  78. package/dist/src/commands/freesail-command.js +0 -1
  79. package/dist/src/commands/help-command.js +0 -1
  80. package/dist/src/commands/index.js +0 -1
  81. package/dist/src/commands/init-command.js +115 -0
  82. package/dist/src/commands/knows-command.js +0 -1
  83. package/dist/src/commands/learn-command.js +0 -1
  84. package/dist/src/commands/navigate-command.js +0 -1
  85. package/dist/src/commands/path-command.js +0 -1
  86. package/dist/src/commands/plan-clear-command.js +0 -1
  87. package/dist/src/commands/plan-command.js +0 -1
  88. package/dist/src/commands/plan-edit-command.js +0 -1
  89. package/dist/src/commands/plan-load-command.js +0 -1
  90. package/dist/src/commands/plan-reload-command.js +0 -1
  91. package/dist/src/commands/plan-save-command.js +0 -1
  92. package/dist/src/commands/research-command.js +0 -1
  93. package/dist/src/commands/start-command.js +0 -1
  94. package/dist/src/commands/status-command.js +0 -1
  95. package/dist/src/commands/test-command.js +0 -1
  96. package/dist/src/components/ActivityPane.js +0 -1
  97. package/dist/src/components/AddKnowledge.js +0 -1
  98. package/dist/src/components/AddRule.js +0 -1
  99. package/dist/src/components/App.js +0 -1
  100. package/dist/src/components/Autocomplete.js +0 -1
  101. package/dist/src/components/InputPane.js +0 -1
  102. package/dist/src/components/InputReadline.js +0 -1
  103. package/dist/src/components/LogPane.js +0 -1
  104. package/dist/src/components/PlanEditor.js +0 -1
  105. package/dist/src/components/PlanPane.js +0 -1
  106. package/dist/src/components/SessionTimer.js +0 -1
  107. package/dist/src/components/StateTransitionPane.js +0 -1
  108. package/dist/src/components/StatusPane.js +0 -1
  109. package/dist/src/components/TaskPane.js +0 -1
  110. package/dist/src/components/Welcome.js +0 -1
  111. package/dist/src/components/WelcomeChecklist.js +0 -1
  112. package/dist/src/components/WelcomeCommands.js +0 -1
  113. package/dist/src/components/autocomplete-store.js +0 -1
  114. package/dist/src/components/parse-keypress.js +0 -1
  115. package/dist/src/config.js +0 -1
  116. package/dist/src/execution-controller.js +0 -1
  117. package/dist/src/experience-tracker.js +0 -1
  118. package/dist/src/explorbot.js +0 -1
  119. package/dist/src/explorer.js +0 -1
  120. package/dist/src/index.js +0 -1
  121. package/dist/src/knowledge-tracker.js +2 -2
  122. package/dist/src/observability.js +0 -1
  123. package/dist/src/reporter.js +0 -1
  124. package/dist/src/state-manager.js +0 -1
  125. package/dist/src/stats.js +0 -1
  126. package/dist/src/test-plan.js +0 -1
  127. package/dist/src/utils/aria.js +0 -1
  128. package/dist/src/utils/cli-name.js +16 -0
  129. package/dist/src/utils/code-extractor.js +0 -1
  130. package/dist/src/utils/context-formatter.js +0 -1
  131. package/dist/src/utils/error-page.js +0 -1
  132. package/dist/src/utils/expandable.js +0 -1
  133. package/dist/src/utils/hooks-runner.js +0 -1
  134. package/dist/src/utils/html-diff.js +0 -1
  135. package/dist/src/utils/html.js +0 -1
  136. package/dist/src/utils/logger.js +0 -1
  137. package/dist/src/utils/loop.js +0 -1
  138. package/dist/src/utils/markdown-parser.js +0 -1
  139. package/dist/src/utils/markdown-query.js +0 -1
  140. package/dist/src/utils/markdown-terminal.js +0 -1
  141. package/dist/src/utils/research-parser.js +0 -1
  142. package/dist/src/utils/retry.js +0 -1
  143. package/dist/src/utils/rules-loader.js +0 -1
  144. package/dist/src/utils/strings.js +0 -1
  145. package/dist/src/utils/test-plan-markdown.js +0 -1
  146. package/dist/src/utils/throttle.js +0 -1
  147. package/dist/src/utils/unique-names.js +0 -1
  148. package/dist/src/utils/url-matcher.js +0 -1
  149. package/dist/src/utils/web-element.js +0 -1
  150. package/dist/src/utils/xpath.js +0 -1
  151. package/package.json +27 -3
  152. package/src/action-result.ts +694 -0
  153. package/src/action.ts +445 -0
  154. package/src/activity.ts +111 -0
  155. package/src/ai/agent.ts +3 -0
  156. package/src/ai/bosun.ts +557 -0
  157. package/src/ai/captain/idle-mode.ts +116 -0
  158. package/src/ai/captain/mixin.ts +22 -0
  159. package/src/ai/captain/test-mode.ts +262 -0
  160. package/src/ai/captain/web-mode.ts +136 -0
  161. package/src/ai/captain.ts +504 -0
  162. package/src/ai/conversation.ts +205 -0
  163. package/src/ai/experience-compactor.ts +284 -0
  164. package/src/ai/fisherman-tools.ts +181 -0
  165. package/src/ai/fisherman.ts +223 -0
  166. package/src/ai/historian.ts +457 -0
  167. package/src/ai/navigator.ts +572 -0
  168. package/src/ai/pilot.ts +776 -0
  169. package/src/ai/planner/session-dedup.ts +35 -0
  170. package/src/ai/planner/styles.ts +17 -0
  171. package/src/ai/planner/subpages.ts +141 -0
  172. package/src/ai/planner.ts +536 -0
  173. package/src/ai/provider.ts +613 -0
  174. package/src/ai/quartermaster.ts +286 -0
  175. package/src/ai/researcher/cache.ts +103 -0
  176. package/src/ai/researcher/coordinates.ts +238 -0
  177. package/src/ai/researcher/deep-analysis.ts +415 -0
  178. package/src/ai/researcher/fingerprint-worker.ts +59 -0
  179. package/src/ai/researcher/focus.ts +42 -0
  180. package/src/ai/researcher/locators.ts +282 -0
  181. package/src/ai/researcher/mixin.ts +4 -0
  182. package/src/ai/researcher/parser.ts +186 -0
  183. package/src/ai/researcher/research-result.ts +115 -0
  184. package/src/ai/researcher.ts +857 -0
  185. package/src/ai/rules.ts +376 -0
  186. package/src/ai/task-agent.ts +141 -0
  187. package/src/ai/tester.ts +939 -0
  188. package/src/ai/tools.ts +1117 -0
  189. package/src/api/api-client.ts +109 -0
  190. package/src/api/request-result.ts +212 -0
  191. package/src/api/request-store.ts +130 -0
  192. package/src/api/spec-reader.ts +174 -0
  193. package/src/api/xhr-capture.ts +100 -0
  194. package/src/browser-server.ts +74 -0
  195. package/src/command-handler.ts +454 -0
  196. package/src/commands/add-rule-command.ts +63 -0
  197. package/src/commands/base-command.ts +27 -0
  198. package/src/commands/clean-command.ts +73 -0
  199. package/src/commands/context-aria-command.ts +22 -0
  200. package/src/commands/context-command.ts +67 -0
  201. package/src/commands/context-data-command.ts +30 -0
  202. package/src/commands/context-experience-command.ts +48 -0
  203. package/src/commands/context-html-command.ts +33 -0
  204. package/src/commands/context-knowledge-command.ts +43 -0
  205. package/src/commands/debug-command.ts +13 -0
  206. package/src/commands/drill-command.ts +34 -0
  207. package/src/commands/exit-command.ts +32 -0
  208. package/src/commands/explore-command.ts +129 -0
  209. package/src/commands/freesail-command.ts +95 -0
  210. package/src/commands/help-command.ts +8 -0
  211. package/src/commands/index.ts +69 -0
  212. package/src/commands/init-command.ts +128 -0
  213. package/src/commands/knows-command.ts +68 -0
  214. package/src/commands/learn-command.ts +44 -0
  215. package/src/commands/navigate-command.ts +18 -0
  216. package/src/commands/path-command.ts +83 -0
  217. package/src/commands/plan-clear-command.ts +14 -0
  218. package/src/commands/plan-command.ts +41 -0
  219. package/src/commands/plan-edit-command.ts +9 -0
  220. package/src/commands/plan-load-command.ts +18 -0
  221. package/src/commands/plan-reload-command.ts +28 -0
  222. package/src/commands/plan-save-command.ts +25 -0
  223. package/src/commands/research-command.ts +45 -0
  224. package/src/commands/start-command.ts +13 -0
  225. package/src/commands/status-command.tsx +23 -0
  226. package/src/commands/test-command.ts +84 -0
  227. package/src/components/ActivityPane.tsx +80 -0
  228. package/src/components/AddKnowledge.tsx +169 -0
  229. package/src/components/AddRule.tsx +174 -0
  230. package/src/components/App.tsx +377 -0
  231. package/src/components/Autocomplete.tsx +63 -0
  232. package/src/components/InputPane.tsx +259 -0
  233. package/src/components/InputReadline.tsx +704 -0
  234. package/src/components/LogPane.tsx +187 -0
  235. package/src/components/PlanEditor.tsx +150 -0
  236. package/src/components/PlanPane.tsx +71 -0
  237. package/src/components/SessionTimer.tsx +35 -0
  238. package/src/components/StateTransitionPane.tsx +149 -0
  239. package/src/components/StatusPane.tsx +62 -0
  240. package/src/components/TaskPane.tsx +119 -0
  241. package/src/components/Welcome.tsx +83 -0
  242. package/src/components/WelcomeChecklist.tsx +118 -0
  243. package/src/components/WelcomeCommands.tsx +102 -0
  244. package/src/components/autocomplete-store.ts +35 -0
  245. package/src/components/parse-keypress.ts +170 -0
  246. package/src/config.ts +490 -0
  247. package/src/execution-controller.ts +109 -0
  248. package/src/experience-tracker.ts +350 -0
  249. package/src/explorbot.ts +405 -0
  250. package/src/explorer.ts +713 -0
  251. package/src/index.tsx +62 -0
  252. package/src/knowledge-tracker.ts +230 -0
  253. package/src/observability.ts +150 -0
  254. package/src/reporter.ts +224 -0
  255. package/src/state-manager.ts +556 -0
  256. package/src/stats.ts +53 -0
  257. package/src/test-plan.ts +432 -0
  258. package/src/utils/aria.ts +629 -0
  259. package/src/utils/cli-name.ts +13 -0
  260. package/src/utils/code-extractor.ts +22 -0
  261. package/src/utils/context-formatter.ts +239 -0
  262. package/src/utils/error-page.ts +23 -0
  263. package/src/utils/expandable.ts +38 -0
  264. package/src/utils/hooks-runner.ts +79 -0
  265. package/src/utils/html-diff.ts +918 -0
  266. package/src/utils/html.ts +1316 -0
  267. package/src/utils/logger.ts +534 -0
  268. package/src/utils/loop.ts +176 -0
  269. package/src/utils/markdown-parser.ts +127 -0
  270. package/src/utils/markdown-query.ts +466 -0
  271. package/src/utils/markdown-terminal.ts +43 -0
  272. package/src/utils/research-parser.ts +11 -0
  273. package/src/utils/retry.ts +73 -0
  274. package/src/utils/rules-loader.ts +118 -0
  275. package/src/utils/strings.ts +13 -0
  276. package/src/utils/test-plan-markdown.ts +332 -0
  277. package/src/utils/throttle.ts +18 -0
  278. package/src/utils/unique-names.ts +14 -0
  279. package/src/utils/url-matcher.ts +45 -0
  280. package/src/utils/web-element.ts +145 -0
  281. package/src/utils/xpath.ts +129 -0
  282. package/dist/bin/explorbot-cli.js.map +0 -1
  283. package/dist/boat/api-tester/bin/apibot-cli.js.map +0 -1
  284. package/dist/boat/api-tester/example/apibot.config.js +0 -31
  285. package/dist/boat/api-tester/example/apibot.config.js.map +0 -1
  286. package/dist/boat/api-tester/src/ai/chief/styles.js.map +0 -1
  287. package/dist/boat/api-tester/src/ai/chief.js.map +0 -1
  288. package/dist/boat/api-tester/src/ai/curler-tools.js.map +0 -1
  289. package/dist/boat/api-tester/src/ai/curler.js.map +0 -1
  290. package/dist/boat/api-tester/src/api-client.js.map +0 -1
  291. package/dist/boat/api-tester/src/apibot.js.map +0 -1
  292. package/dist/boat/api-tester/src/cli.js.map +0 -1
  293. package/dist/boat/api-tester/src/config.js.map +0 -1
  294. package/dist/prompts/audit-rules.md +0 -124
  295. package/dist/src/action-result.js.map +0 -1
  296. package/dist/src/action.js.map +0 -1
  297. package/dist/src/activity.js.map +0 -1
  298. package/dist/src/ai/agent.js.map +0 -1
  299. package/dist/src/ai/bosun.js.map +0 -1
  300. package/dist/src/ai/captain/idle-mode.js.map +0 -1
  301. package/dist/src/ai/captain/mixin.js.map +0 -1
  302. package/dist/src/ai/captain/test-mode.js.map +0 -1
  303. package/dist/src/ai/captain/web-mode.js.map +0 -1
  304. package/dist/src/ai/captain.js.map +0 -1
  305. package/dist/src/ai/conversation.js.map +0 -1
  306. package/dist/src/ai/experience-compactor.js.map +0 -1
  307. package/dist/src/ai/fisherman-tools.js.map +0 -1
  308. package/dist/src/ai/fisherman.js.map +0 -1
  309. package/dist/src/ai/historian.js.map +0 -1
  310. package/dist/src/ai/navigator.js.map +0 -1
  311. package/dist/src/ai/pilot.js.map +0 -1
  312. package/dist/src/ai/planner/session-dedup.js.map +0 -1
  313. package/dist/src/ai/planner/styles.js.map +0 -1
  314. package/dist/src/ai/planner/subpages.js.map +0 -1
  315. package/dist/src/ai/planner.js.map +0 -1
  316. package/dist/src/ai/provider.js.map +0 -1
  317. package/dist/src/ai/quartermaster.js.map +0 -1
  318. package/dist/src/ai/researcher/cache.js.map +0 -1
  319. package/dist/src/ai/researcher/coordinates.js.map +0 -1
  320. package/dist/src/ai/researcher/deep-analysis.js.map +0 -1
  321. package/dist/src/ai/researcher/fingerprint-worker.js.map +0 -1
  322. package/dist/src/ai/researcher/focus.js.map +0 -1
  323. package/dist/src/ai/researcher/locators.js.map +0 -1
  324. package/dist/src/ai/researcher/mixin.js.map +0 -1
  325. package/dist/src/ai/researcher/parser.js.map +0 -1
  326. package/dist/src/ai/researcher/research-result.js.map +0 -1
  327. package/dist/src/ai/researcher.js.map +0 -1
  328. package/dist/src/ai/rules.js.map +0 -1
  329. package/dist/src/ai/task-agent.js.map +0 -1
  330. package/dist/src/ai/tester.js.map +0 -1
  331. package/dist/src/ai/tools.js.map +0 -1
  332. package/dist/src/api/api-client.js.map +0 -1
  333. package/dist/src/api/request-result.js.map +0 -1
  334. package/dist/src/api/request-store.js.map +0 -1
  335. package/dist/src/api/spec-reader.js.map +0 -1
  336. package/dist/src/api/xhr-capture.js.map +0 -1
  337. package/dist/src/browser-server.js.map +0 -1
  338. package/dist/src/command-handler.js.map +0 -1
  339. package/dist/src/commands/add-rule-command.js.map +0 -1
  340. package/dist/src/commands/base-command.js.map +0 -1
  341. package/dist/src/commands/clean-command.js.map +0 -1
  342. package/dist/src/commands/context-aria-command.js.map +0 -1
  343. package/dist/src/commands/context-command.js.map +0 -1
  344. package/dist/src/commands/context-data-command.js.map +0 -1
  345. package/dist/src/commands/context-experience-command.js.map +0 -1
  346. package/dist/src/commands/context-html-command.js.map +0 -1
  347. package/dist/src/commands/context-knowledge-command.js.map +0 -1
  348. package/dist/src/commands/debug-command.js.map +0 -1
  349. package/dist/src/commands/drill-command.js.map +0 -1
  350. package/dist/src/commands/exit-command.js.map +0 -1
  351. package/dist/src/commands/explore-command.js.map +0 -1
  352. package/dist/src/commands/freesail-command.js.map +0 -1
  353. package/dist/src/commands/help-command.js.map +0 -1
  354. package/dist/src/commands/index.js.map +0 -1
  355. package/dist/src/commands/knows-command.js.map +0 -1
  356. package/dist/src/commands/learn-command.js.map +0 -1
  357. package/dist/src/commands/navigate-command.js.map +0 -1
  358. package/dist/src/commands/path-command.js.map +0 -1
  359. package/dist/src/commands/plan-clear-command.js.map +0 -1
  360. package/dist/src/commands/plan-command.js.map +0 -1
  361. package/dist/src/commands/plan-edit-command.js.map +0 -1
  362. package/dist/src/commands/plan-load-command.js.map +0 -1
  363. package/dist/src/commands/plan-reload-command.js.map +0 -1
  364. package/dist/src/commands/plan-save-command.js.map +0 -1
  365. package/dist/src/commands/research-command.js.map +0 -1
  366. package/dist/src/commands/start-command.js.map +0 -1
  367. package/dist/src/commands/status-command.js.map +0 -1
  368. package/dist/src/commands/test-command.js.map +0 -1
  369. package/dist/src/components/ActivityPane.js.map +0 -1
  370. package/dist/src/components/AddKnowledge.js.map +0 -1
  371. package/dist/src/components/AddRule.js.map +0 -1
  372. package/dist/src/components/App.js.map +0 -1
  373. package/dist/src/components/Autocomplete.js.map +0 -1
  374. package/dist/src/components/InputPane.js.map +0 -1
  375. package/dist/src/components/InputReadline.js.map +0 -1
  376. package/dist/src/components/LogPane.js.map +0 -1
  377. package/dist/src/components/PlanEditor.js.map +0 -1
  378. package/dist/src/components/PlanPane.js.map +0 -1
  379. package/dist/src/components/SessionTimer.js.map +0 -1
  380. package/dist/src/components/StateTransitionPane.js.map +0 -1
  381. package/dist/src/components/StatusPane.js.map +0 -1
  382. package/dist/src/components/TaskPane.js.map +0 -1
  383. package/dist/src/components/Welcome.js.map +0 -1
  384. package/dist/src/components/WelcomeChecklist.js.map +0 -1
  385. package/dist/src/components/WelcomeCommands.js.map +0 -1
  386. package/dist/src/components/autocomplete-store.js.map +0 -1
  387. package/dist/src/components/parse-keypress.js.map +0 -1
  388. package/dist/src/config.js.map +0 -1
  389. package/dist/src/execution-controller.js.map +0 -1
  390. package/dist/src/experience-tracker.js.map +0 -1
  391. package/dist/src/explorbot.js.map +0 -1
  392. package/dist/src/explorer.js.map +0 -1
  393. package/dist/src/index.js.map +0 -1
  394. package/dist/src/knowledge-tracker.js.map +0 -1
  395. package/dist/src/observability.js.map +0 -1
  396. package/dist/src/reporter.js.map +0 -1
  397. package/dist/src/state-manager.js.map +0 -1
  398. package/dist/src/stats.js.map +0 -1
  399. package/dist/src/test-plan.js.map +0 -1
  400. package/dist/src/utils/aria.js.map +0 -1
  401. package/dist/src/utils/code-extractor.js.map +0 -1
  402. package/dist/src/utils/context-formatter.js.map +0 -1
  403. package/dist/src/utils/error-page.js.map +0 -1
  404. package/dist/src/utils/expandable.js.map +0 -1
  405. package/dist/src/utils/hooks-runner.js.map +0 -1
  406. package/dist/src/utils/html-diff.js.map +0 -1
  407. package/dist/src/utils/html.js.map +0 -1
  408. package/dist/src/utils/logger.js.map +0 -1
  409. package/dist/src/utils/loop.js.map +0 -1
  410. package/dist/src/utils/markdown-parser.js.map +0 -1
  411. package/dist/src/utils/markdown-query.js.map +0 -1
  412. package/dist/src/utils/markdown-terminal.js.map +0 -1
  413. package/dist/src/utils/research-parser.js.map +0 -1
  414. package/dist/src/utils/retry.js.map +0 -1
  415. package/dist/src/utils/rules-loader.js.map +0 -1
  416. package/dist/src/utils/strings.js.map +0 -1
  417. package/dist/src/utils/test-plan-markdown.js.map +0 -1
  418. package/dist/src/utils/throttle.js.map +0 -1
  419. package/dist/src/utils/unique-names.js.map +0 -1
  420. package/dist/src/utils/url-matcher.js.map +0 -1
  421. package/dist/src/utils/web-element.js.map +0 -1
  422. package/dist/src/utils/xpath.js.map +0 -1
  423. package/prompts/audit-rules.md +0 -124
@@ -259,4 +259,3 @@ export default {
259
259
  });
260
260
  return cmd;
261
261
  }
262
- //# sourceMappingURL=cli.js.map
@@ -156,4 +156,3 @@ export class ApibotConfigParser {
156
156
  return result;
157
157
  }
158
158
  }
159
- //# sourceMappingURL=config.js.map
@@ -571,4 +571,3 @@ export class Diff {
571
571
  this._ariaDiffResult = diffAriaSnapshots(this.previous.ariaSnapshot, this.current.ariaSnapshot);
572
572
  }
573
573
  }
574
- //# sourceMappingURL=action-result.js.map
@@ -385,4 +385,3 @@ const unregisterStepLogger = () => {
385
385
  codeceptjs.event.dispatcher.off(codeceptjs.event.step.passed, stepLogger);
386
386
  codeceptjs.event.dispatcher.off(codeceptjs.event.step.failed, stepLogger);
387
387
  };
388
- //# sourceMappingURL=action.js.map
@@ -83,4 +83,3 @@ export const removeActivityListener = (listener) => {
83
83
  activity.removeListener(listener);
84
84
  };
85
85
  export default Activity;
86
- //# sourceMappingURL=activity.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=agent.js.map
@@ -440,4 +440,3 @@ export class Bosun extends TaskAgent {
440
440
  return this.currentConversation;
441
441
  }
442
442
  }
443
- //# sourceMappingURL=bosun.js.map
@@ -99,4 +99,3 @@ export function WithIdleMode(Base) {
99
99
  }
100
100
  };
101
101
  }
102
- //# sourceMappingURL=idle-mode.js.map
@@ -8,4 +8,3 @@ export function resolveProjectRoot() {
8
8
  return null;
9
9
  return dirname(configPath);
10
10
  }
11
- //# sourceMappingURL=mixin.js.map
@@ -248,4 +248,3 @@ export function WithTestMode(Base) {
248
248
  }
249
249
  };
250
250
  }
251
- //# sourceMappingURL=test-mode.js.map
@@ -121,4 +121,3 @@ export function WithWebMode(Base) {
121
121
  }
122
122
  };
123
123
  }
124
- //# sourceMappingURL=web-mode.js.map
@@ -439,4 +439,3 @@ export class Captain extends CaptainBase {
439
439
  }
440
440
  }
441
441
  export default Captain;
442
- //# sourceMappingURL=captain.js.map
@@ -173,4 +173,3 @@ export class Conversation {
173
173
  return executions;
174
174
  }
175
175
  }
176
- //# sourceMappingURL=conversation.js.map
@@ -229,4 +229,3 @@ export class ExperienceCompactor {
229
229
  `;
230
230
  }
231
231
  }
232
- //# sourceMappingURL=experience-compactor.js.map
@@ -151,4 +151,3 @@ function extractKeyFields(body, result = {}, depth = 0) {
151
151
  }
152
152
  return result;
153
153
  }
154
- //# sourceMappingURL=fisherman-tools.js.map
@@ -181,4 +181,3 @@ export class Fisherman {
181
181
  `;
182
182
  }
183
183
  }
184
- //# sourceMappingURL=fisherman.js.map
@@ -381,4 +381,3 @@ export class Historian {
381
381
  .join('\n');
382
382
  }
383
383
  }
384
- //# sourceMappingURL=historian.js.map
@@ -490,4 +490,3 @@ class Navigator {
490
490
  }
491
491
  }
492
492
  export { Navigator };
493
- //# sourceMappingURL=navigator.js.map
@@ -681,4 +681,3 @@ export class Pilot {
681
681
  `;
682
682
  }
683
683
  }
684
- //# sourceMappingURL=pilot.js.map
@@ -25,4 +25,3 @@ export function WithSessionDedup(Base) {
25
25
  }
26
26
  };
27
27
  }
28
- //# sourceMappingURL=session-dedup.js.map
@@ -12,4 +12,3 @@ export function getStyles() {
12
12
  export function getActiveStyle(iteration, override) {
13
13
  return RulesLoader.getActiveStyle(getStyles(), iteration, override);
14
14
  }
15
- //# sourceMappingURL=styles.js.map
@@ -115,4 +115,3 @@ export function WithSubPages(Base) {
115
115
  }
116
116
  };
117
117
  }
118
- //# sourceMappingURL=subpages.js.map
@@ -483,4 +483,3 @@ export class Planner extends PlannerBase {
483
483
  return conversation;
484
484
  }
485
485
  }
486
- //# sourceMappingURL=planner.js.map
@@ -537,4 +537,3 @@ export class Provider {
537
537
  }
538
538
  }
539
539
  export { AiError, Provider as AIProvider };
540
- //# sourceMappingURL=provider.js.map
@@ -207,4 +207,3 @@ Focus on what would confuse a real user or caused the agent to make mistakes.`;
207
207
  return content;
208
208
  }
209
209
  }
210
- //# sourceMappingURL=quartermaster.js.map
@@ -92,4 +92,3 @@ export function findSimilarResearch(combinedHtml) {
92
92
  });
93
93
  });
94
94
  }
95
- //# sourceMappingURL=cache.js.map
@@ -207,4 +207,3 @@ export function WithCoordinates(Base) {
207
207
  }
208
208
  };
209
209
  }
210
- //# sourceMappingURL=coordinates.js.map
@@ -361,4 +361,3 @@ export function WithDeepAnalysis(Base) {
361
361
  }
362
362
  };
363
363
  }
364
- //# sourceMappingURL=deep-analysis.js.map
@@ -43,4 +43,3 @@ self.onmessage = (event) => {
43
43
  const matched = bestSimilarity >= threshold;
44
44
  self.postMessage({ matchHash: matched ? bestHash : null, similarity: bestSimilarity });
45
45
  };
46
- //# sourceMappingURL=fingerprint-worker.js.map
@@ -34,4 +34,3 @@ export function pickDefaultFocusedSection(sections) {
34
34
  const candidate = sections.find((s) => s.containerCss && !FOCUS_SKIP_SECTIONS.has(s.name.toLowerCase().replace(/^section:\s*/, '')));
35
35
  return candidate?.name || null;
36
36
  }
37
- //# sourceMappingURL=focus.js.map
@@ -239,4 +239,3 @@ export function WithLocators(Base) {
239
239
  }
240
240
  };
241
241
  }
242
- //# sourceMappingURL=locators.js.map
@@ -1,3 +1,2 @@
1
1
  import { createDebug } from '../../utils/logger.js';
2
2
  export const debugLog = createDebug('explorbot:researcher');
3
- //# sourceMappingURL=mixin.js.map
@@ -157,4 +157,3 @@ function formatSectionLine(s) {
157
157
  parts.push('**Focused**');
158
158
  return parts.join(' ');
159
159
  }
160
- //# sourceMappingURL=parser.js.map
@@ -107,4 +107,3 @@ export class ResearchResult {
107
107
  return [...ordered, ...rest];
108
108
  }
109
109
  }
110
- //# sourceMappingURL=research-result.js.map
@@ -773,4 +773,3 @@ export class Researcher extends ResearcherBase {
773
773
  await action.execute(`I.pressKey('Escape')`);
774
774
  }
775
775
  }
776
- //# sourceMappingURL=researcher.js.map
@@ -365,4 +365,3 @@ export const actionRule = dedent `
365
365
 
366
366
  </actions>
367
367
  `;
368
- //# sourceMappingURL=rules.js.map
@@ -107,4 +107,3 @@ export class TaskAgent {
107
107
  this.recentToolCalls = [];
108
108
  }
109
109
  }
110
- //# sourceMappingURL=task-agent.js.map
@@ -837,4 +837,3 @@ export class Tester extends TaskAgent {
837
837
  };
838
838
  }
839
839
  }
840
- //# sourceMappingURL=tester.js.map
@@ -977,4 +977,3 @@ function getNotFoundSuggestion(errorMessage) {
977
977
  4. Prefer ARIA locators: { "role": "button", "text": "visible text" }
978
978
  `;
979
979
  }
980
- //# sourceMappingURL=tools.js.map
@@ -88,4 +88,3 @@ export class ApiClient {
88
88
  resetRequestCounter();
89
89
  }
90
90
  }
91
- //# sourceMappingURL=api-client.js.map
@@ -174,4 +174,3 @@ export class RequestResult {
174
174
  return cmd;
175
175
  }
176
176
  }
177
- //# sourceMappingURL=request-result.js.map
@@ -106,4 +106,3 @@ export class RequestStore {
106
106
  function normalizePathPattern(urlPath) {
107
107
  return urlPath.replace(/\/[0-9a-f]{24}\b/g, '/{id}').replace(/\/\d+\b/g, '/{id}');
108
108
  }
109
- //# sourceMappingURL=request-store.js.map
@@ -145,4 +145,3 @@ function matchesEndpoint(specPath, endpoint) {
145
145
  return true;
146
146
  return false;
147
147
  }
148
- //# sourceMappingURL=spec-reader.js.map
@@ -88,4 +88,3 @@ export class XhrCapture {
88
88
  this.store.addCapturedRequest(result);
89
89
  }
90
90
  }
91
- //# sourceMappingURL=xhr-capture.js.map
@@ -64,4 +64,3 @@ async function getAliveEndpoint() {
64
64
  return null;
65
65
  }
66
66
  export { readEndpoint, removeEndpointFile, isServerRunning, launchServer, getEndpointFilePath, getAliveEndpoint };
67
- //# sourceMappingURL=browser-server.js.map
@@ -360,4 +360,3 @@ export class CommandHandler {
360
360
  return 0;
361
361
  }
362
362
  }
363
- //# sourceMappingURL=command-handler.js.map
@@ -49,4 +49,3 @@ export class AddRuleCommand extends BaseCommand {
49
49
  return filePath;
50
50
  }
51
51
  }
52
- //# sourceMappingURL=add-rule-command.js.map
@@ -11,4 +11,3 @@ export class BaseCommand {
11
11
  return this.name === commandName || this.aliases.includes(commandName);
12
12
  }
13
13
  }
14
- //# sourceMappingURL=base-command.js.map
@@ -64,4 +64,3 @@ export class CleanCommand extends BaseCommand {
64
64
  tag('success').log(`Cleaned ${count} ${target.description} files from ${dir}`);
65
65
  }
66
66
  }
67
- //# sourceMappingURL=clean-command.js.map
@@ -15,4 +15,3 @@ export class ContextAriaCommand extends BaseCommand {
15
15
  tag('multiline').log(`ARIA Snapshot:\n\n${ariaSnapshot}`);
16
16
  }
17
17
  }
18
- //# sourceMappingURL=context-aria-command.js.map
@@ -54,4 +54,3 @@ export class ContextCommand extends BaseCommand {
54
54
  }
55
55
  }
56
56
  }
57
- //# sourceMappingURL=context-command.js.map
@@ -22,4 +22,3 @@ export class ContextDataCommand extends BaseCommand {
22
22
  tag('multiline').log(table);
23
23
  }
24
24
  }
25
- //# sourceMappingURL=context-data-command.js.map
@@ -38,4 +38,3 @@ export class ContextExperienceCommand extends BaseCommand {
38
38
  tag('multiline').log(lines.join('\n'));
39
39
  }
40
40
  }
41
- //# sourceMappingURL=context-experience-command.js.map
@@ -23,4 +23,3 @@ export class ContextHtmlCommand extends BaseCommand {
23
23
  tag('html').log(html);
24
24
  }
25
25
  }
26
- //# sourceMappingURL=context-html-command.js.map
@@ -33,4 +33,3 @@ export class ContextKnowledgeCommand extends BaseCommand {
33
33
  tag('multiline').log(lines.join('\n'));
34
34
  }
35
35
  }
36
- //# sourceMappingURL=context-knowledge-command.js.map
@@ -9,4 +9,3 @@ export class DebugCommand extends BaseCommand {
9
9
  tag('info').log(`Debug mode ${enabled ? 'enabled' : 'disabled'}`);
10
10
  }
11
11
  }
12
- //# sourceMappingURL=debug-command.js.map
@@ -26,4 +26,3 @@ export class DrillCommand extends BaseCommand {
26
26
  return match ? Number.parseInt(match[1], 10) : undefined;
27
27
  }
28
28
  }
29
- //# sourceMappingURL=drill-command.js.map
@@ -23,4 +23,3 @@ export class ExitCommand extends BaseCommand {
23
23
  process.exit(0);
24
24
  }
25
25
  }
26
- //# sourceMappingURL=exit-command.js.map
@@ -1,6 +1,7 @@
1
1
  import figureSet from 'figures';
2
2
  import path from 'node:path';
3
3
  import { getStyles } from '../ai/planner/styles.js';
4
+ import { getCliName } from "../utils/cli-name.js";
4
5
  import { jsonToTable } from '../utils/markdown-parser.js';
5
6
  import { tag } from '../utils/logger.js';
6
7
  import { BaseCommand } from './base-command.js';
@@ -103,7 +104,7 @@ export class ExploreCommand extends BaseCommand {
103
104
  tag('info').log(`${figureSet.tick} ${allTests.length} tests completed`);
104
105
  if (savedPath) {
105
106
  const relativePath = path.relative(process.cwd(), savedPath);
106
- tag('info').log(`Re-run tests: explorbot test ${relativePath} <index>`);
107
+ tag('info').log(`Re-run tests: ${getCliName()} test ${relativePath} <index>`);
107
108
  }
108
109
  }
109
110
  isLimitReached() {
@@ -121,4 +122,3 @@ export class ExploreCommand extends BaseCommand {
121
122
  }
122
123
  }
123
124
  }
124
- //# sourceMappingURL=explore-command.js.map
@@ -81,4 +81,3 @@ function parseArgs(args) {
81
81
  }
82
82
  return { strategy, scope, maxTests };
83
83
  }
84
- //# sourceMappingURL=freesail-command.js.map
@@ -4,4 +4,3 @@ export class HelpCommand extends BaseCommand {
4
4
  description = 'Show available commands';
5
5
  async execute(_args) { }
6
6
  }
7
- //# sourceMappingURL=help-command.js.map
@@ -60,4 +60,3 @@ const commandClasses = [
60
60
  export function createCommands(explorBot) {
61
61
  return commandClasses.map((Cmd) => new Cmd(explorBot));
62
62
  }
63
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,115 @@
1
+ import { existsSync, mkdirSync, statSync, writeFileSync } from 'node:fs';
2
+ import { dirname, extname, join, resolve } from 'node:path';
3
+ import { log, tag } from '../utils/logger.js';
4
+ import dedent from 'dedent';
5
+ import { getCliName } from "../utils/cli-name.js";
6
+ const DEFAULT_CONFIG_TEMPLATE = `import { createOpenRouter } from '@openrouter/ai-sdk-provider';
7
+ // import { '<your provider here>' } from '<your provider package here>';
8
+
9
+ // Vercel AI SDK is used to connect to AI providers.
10
+ // Bring your own provider or use OpenRouter (one API key, many providers).
11
+ // https://github.com/testomatio/explorbot/blob/main/docs/providers.md
12
+ const openrouter = createOpenRouter({
13
+ apiKey: process.env.OPENROUTER_API_KEY,
14
+ });
15
+
16
+ const config = {
17
+ web: {
18
+ // use application host without path prefix (e.g., http://localhost:3000)
19
+ url: 'http://<your-app-host-here>',
20
+ },
21
+
22
+ ai: {
23
+ // fast model with tool calling capabilities
24
+ model: openrouter('<your base model here>'),
25
+ // vision model for screenshot analysis
26
+ visionModel: openrouter('<your vision model here>'),
27
+ // agentic model for decision making
28
+ agenticModel: openrouter('<your agentic model here>'),
29
+ },
30
+ };
31
+
32
+ export default config;
33
+ `;
34
+ const DEFAULT_ENV_TEMPLATE = dedent `
35
+ # AI provider API keys
36
+ OPENROUTER_API_KEY=
37
+
38
+ # OPENAI_API_KEY=
39
+ # ANTHROPIC_API_KEY=
40
+ # GROQ_API_KEY=
41
+
42
+ # Langfuse Tracing
43
+ LANGFUSE_SECRET_KEY=
44
+ LANGFUSE_PUBLIC_KEY=
45
+ LANGFUSE_BASE_URL=
46
+
47
+ # Testomat.io API key to publish run results
48
+ TESTOMATIO=
49
+ `;
50
+ export function runInitCommand(options) {
51
+ const configPath = options.configPath ?? './explorbot.config.js';
52
+ const force = options.force ?? false;
53
+ const customPath = options.path;
54
+ const originalCwd = process.cwd();
55
+ if (customPath) {
56
+ const dir = resolve(customPath);
57
+ if (!existsSync(dir)) {
58
+ mkdirSync(dir, { recursive: true });
59
+ log(`Created directory: ${dir}`);
60
+ }
61
+ process.chdir(dir);
62
+ log(`Working in directory: ${dir}`);
63
+ }
64
+ try {
65
+ let outPath = resolve(configPath);
66
+ if (existsSync(outPath) && statSync(outPath).isDirectory()) {
67
+ outPath = join(outPath, 'explorbot.config.js');
68
+ }
69
+ else if (!extname(outPath)) {
70
+ outPath = join(outPath, 'explorbot.config.js');
71
+ }
72
+ const dir = dirname(outPath);
73
+ if (!existsSync(dir)) {
74
+ mkdirSync(dir, { recursive: true });
75
+ log(`Created directory: ${dir}`);
76
+ }
77
+ if (existsSync(outPath) && !force) {
78
+ log(`Config file already exists: ${outPath}`);
79
+ log('Use --force to overwrite existing file');
80
+ process.exit(1);
81
+ }
82
+ writeFileSync(outPath, DEFAULT_CONFIG_TEMPLATE, 'utf8');
83
+ log(`Created config file: ${outPath}`);
84
+ const envPath = resolve(process.cwd(), '.env');
85
+ if (!existsSync(envPath)) {
86
+ writeFileSync(envPath, `${DEFAULT_ENV_TEMPLATE}\n`, 'utf8');
87
+ log(`Created env file: ${envPath}`);
88
+ }
89
+ else {
90
+ log(`Env file already exists: ${envPath}`);
91
+ }
92
+ log('');
93
+ log('Next steps:');
94
+ log('1. Configure AI provider in .env');
95
+ log('2. Set AI models config file');
96
+ log('3. Set web application URL in the config file');
97
+ log('4. Add initial knowledge (how to authorize to the application, etc.)');
98
+ tag('substep').log(`${getCliName()} learn * 'to aurhorize use these credentials: admin@example.com / secret123'`);
99
+ log('5. Launch application on a relative URL');
100
+ tag('substep').log(`${getCliName()} start /dashboard`);
101
+ if (!existsSync('./output')) {
102
+ mkdirSync('./output', { recursive: true });
103
+ log('Created directory: ./output');
104
+ }
105
+ }
106
+ catch (error) {
107
+ log('Failed to create config file:', error);
108
+ process.exit(1);
109
+ }
110
+ finally {
111
+ if (process.cwd() !== originalCwd) {
112
+ process.chdir(originalCwd);
113
+ }
114
+ }
115
+ }
@@ -51,4 +51,3 @@ export class KnowsCommand extends BaseCommand {
51
51
  tag('multiline').log(`Found ${matching.length} matching knowledge entries for: ${url}\n\n${formatKnowledgeList(knowledgeList)}`);
52
52
  }
53
53
  }
54
- //# sourceMappingURL=knows-command.js.map
@@ -32,4 +32,3 @@ export class LearnCommand extends BaseCommand {
32
32
  tag('success').log('Knowledge saved for current page');
33
33
  }
34
34
  }
35
- //# sourceMappingURL=learn-command.js.map
@@ -13,4 +13,3 @@ export class NavigateCommand extends BaseCommand {
13
13
  tag('success').log(`Navigation requested: ${destination}`);
14
14
  }
15
15
  }
16
- //# sourceMappingURL=navigate-command.js.map
@@ -67,4 +67,3 @@ export class PathCommand extends BaseCommand {
67
67
  tag('multiline').log(lines.join('\n'));
68
68
  }
69
69
  }
70
- //# sourceMappingURL=path-command.js.map
@@ -10,4 +10,3 @@ export class PlanClearCommand extends BaseCommand {
10
10
  await this.explorBot.plan(args.trim() || undefined, { fresh: true });
11
11
  }
12
12
  }
13
- //# sourceMappingURL=plan-clear-command.js.map
@@ -33,4 +33,3 @@ export class PlanCommand extends BaseCommand {
33
33
  }
34
34
  }
35
35
  }
36
- //# sourceMappingURL=plan-command.js.map
@@ -5,4 +5,3 @@ export class PlanEditCommand extends BaseCommand {
5
5
  suggestions = ['/plan:edit - toggle tests on/off'];
6
6
  async execute(_args) { }
7
7
  }
8
- //# sourceMappingURL=plan-edit-command.js.map
@@ -13,4 +13,3 @@ export class PlanLoadCommand extends BaseCommand {
13
13
  tag('success').log(`Plan loaded: ${plan.title} with ${plan.tests.length} tests`);
14
14
  }
15
15
  }
16
- //# sourceMappingURL=plan-load-command.js.map
@@ -20,4 +20,3 @@ export class PlanReloadCommand extends BaseCommand {
20
20
  tag('success').log(`Plan regenerated with ${plan.tests.length} tests`);
21
21
  }
22
22
  }
23
- //# sourceMappingURL=plan-reload-command.js.map
@@ -19,4 +19,3 @@ export class PlanSaveCommand extends BaseCommand {
19
19
  }
20
20
  }
21
21
  }
22
- //# sourceMappingURL=plan-save-command.js.map
@@ -35,4 +35,3 @@ export class ResearchCommand extends BaseCommand {
35
35
  }
36
36
  }
37
37
  }
38
- //# sourceMappingURL=research-command.js.map
@@ -9,4 +9,3 @@ export class StartCommand extends BaseCommand {
9
9
  await new ExploreCommand(this.explorBot).execute(args);
10
10
  }
11
11
  }
12
- //# sourceMappingURL=start-command.js.map
@@ -16,4 +16,3 @@ export class StatusCommand extends BaseCommand {
16
16
  });
17
17
  }
18
18
  }
19
- //# sourceMappingURL=status-command.js.map
@@ -82,4 +82,3 @@ function parseTestIndices(input, total) {
82
82
  }
83
83
  return [...indices].sort((a, b) => a - b);
84
84
  }
85
- //# sourceMappingURL=test-command.js.map
@@ -52,4 +52,3 @@ const ActivityPane = React.memo(({ isInputVisible = false }) => {
52
52
  getDots())));
53
53
  });
54
54
  export default ActivityPane;
55
- //# sourceMappingURL=ActivityPane.js.map
@@ -119,4 +119,3 @@ const AddKnowledge = ({ initialUrl = '', onComplete, onCancel }) => {
119
119
  ": Exit"))));
120
120
  };
121
121
  export default AddKnowledge;
122
- //# sourceMappingURL=AddKnowledge.js.map
@@ -114,4 +114,3 @@ const AddRule = ({ initialAgent = '', initialName = '', onComplete, onCancel })
114
114
  ": Exit"))));
115
115
  };
116
116
  export default AddRule;
117
- //# sourceMappingURL=AddRule.js.map
@@ -310,4 +310,3 @@ export function App({ explorBot, initialShowInput = false, exitOnEmptyInput = fa
310
310
  React.createElement(Autocomplete, null)),
311
311
  React.createElement(PlanPane, { completedPlans: completedPlans, activePlan: activePlanInfo })));
312
312
  }
313
- //# sourceMappingURL=App.js.map