donobu 2.20.0 → 2.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (739) hide show
  1. package/dist/apis/AgentsApi.d.ts +45 -1
  2. package/dist/apis/AgentsApi.d.ts.map +1 -1
  3. package/dist/apis/AgentsApi.js +53 -4
  4. package/dist/apis/AgentsApi.js.map +1 -1
  5. package/dist/apis/AskAiApi.d.ts.map +1 -1
  6. package/dist/apis/AskAiApi.js +21 -9
  7. package/dist/apis/AskAiApi.js.map +1 -1
  8. package/dist/apis/DefaultApiAuthApi.d.ts +41 -5
  9. package/dist/apis/DefaultApiAuthApi.d.ts.map +1 -1
  10. package/dist/apis/DefaultApiAuthApi.js +45 -13
  11. package/dist/apis/DefaultApiAuthApi.js.map +1 -1
  12. package/dist/apis/EnvDataApi.d.ts.map +1 -1
  13. package/dist/apis/EnvDataApi.js +8 -13
  14. package/dist/apis/EnvDataApi.js.map +1 -1
  15. package/dist/apis/FlowsApi.d.ts +256 -12
  16. package/dist/apis/FlowsApi.d.ts.map +1 -1
  17. package/dist/apis/FlowsApi.js +265 -36
  18. package/dist/apis/FlowsApi.js.map +1 -1
  19. package/dist/apis/FlowsFilesApi.d.ts +46 -0
  20. package/dist/apis/FlowsFilesApi.d.ts.map +1 -1
  21. package/dist/apis/FlowsFilesApi.js +46 -0
  22. package/dist/apis/FlowsFilesApi.js.map +1 -1
  23. package/dist/apis/FlowsToolCallsApi.d.ts +81 -3
  24. package/dist/apis/FlowsToolCallsApi.d.ts.map +1 -1
  25. package/dist/apis/FlowsToolCallsApi.js +84 -6
  26. package/dist/apis/FlowsToolCallsApi.js.map +1 -1
  27. package/dist/apis/GptConfigsApi.d.ts +74 -1
  28. package/dist/apis/GptConfigsApi.d.ts.map +1 -1
  29. package/dist/apis/GptConfigsApi.js +78 -4
  30. package/dist/apis/GptConfigsApi.js.map +1 -1
  31. package/dist/apis/PingApi.d.ts +0 -3
  32. package/dist/apis/PingApi.d.ts.map +1 -1
  33. package/dist/apis/PingApi.js +0 -3
  34. package/dist/apis/PingApi.js.map +1 -1
  35. package/dist/apis/SpecialFlowsApi.d.ts +0 -7
  36. package/dist/apis/SpecialFlowsApi.d.ts.map +1 -1
  37. package/dist/apis/SpecialFlowsApi.js +19 -82
  38. package/dist/apis/SpecialFlowsApi.js.map +1 -1
  39. package/dist/apis/ToolsApi.d.ts +3 -1
  40. package/dist/apis/ToolsApi.d.ts.map +1 -1
  41. package/dist/apis/ToolsApi.js +9 -1
  42. package/dist/apis/ToolsApi.js.map +1 -1
  43. package/dist/apis/VersionApi.d.ts +1 -4
  44. package/dist/apis/VersionApi.d.ts.map +1 -1
  45. package/dist/apis/VersionApi.js +1 -4
  46. package/dist/apis/VersionApi.js.map +1 -1
  47. package/dist/assets/control-panel.js +58 -44
  48. package/dist/assets/generated/version +1 -1
  49. package/dist/bindings/NamedBindingCallback.d.ts +1 -1
  50. package/dist/bindings/NamedBindingCallback.d.ts.map +1 -1
  51. package/dist/bindings/PageInteractionTracker.d.ts.map +1 -1
  52. package/dist/bindings/PageInteractionTracker.js.map +1 -1
  53. package/dist/bindings/ProposeToolCall.d.ts +1 -1
  54. package/dist/bindings/ProposeToolCall.d.ts.map +1 -1
  55. package/dist/bindings/ProposeToolCall.js +24 -4
  56. package/dist/bindings/ProposeToolCall.js.map +1 -1
  57. package/dist/bindings/ToggleDonobuAnnotations.d.ts +4 -4
  58. package/dist/bindings/ToggleDonobuAnnotations.d.ts.map +1 -1
  59. package/dist/bindings/ToggleDonobuAnnotations.js +24 -8
  60. package/dist/bindings/ToggleDonobuAnnotations.js.map +1 -1
  61. package/dist/clients/AnthropicAwsBedrockGptClient.d.ts +3 -4
  62. package/dist/clients/AnthropicAwsBedrockGptClient.d.ts.map +1 -1
  63. package/dist/clients/AnthropicAwsBedrockGptClient.js +6 -7
  64. package/dist/clients/AnthropicAwsBedrockGptClient.js.map +1 -1
  65. package/dist/clients/AnthropicGptClient.d.ts +2 -2
  66. package/dist/clients/AnthropicGptClient.d.ts.map +1 -1
  67. package/dist/clients/AnthropicGptClient.js +9 -2
  68. package/dist/clients/AnthropicGptClient.js.map +1 -1
  69. package/dist/clients/GoogleGptClient.d.ts +3 -18
  70. package/dist/clients/GoogleGptClient.d.ts.map +1 -1
  71. package/dist/clients/GoogleGptClient.js +18 -68
  72. package/dist/clients/GoogleGptClient.js.map +1 -1
  73. package/dist/clients/GptClient.d.ts +3 -3
  74. package/dist/clients/GptClient.d.ts.map +1 -1
  75. package/dist/clients/OpenAiGptClient.d.ts +2 -2
  76. package/dist/clients/OpenAiGptClient.d.ts.map +1 -1
  77. package/dist/clients/OpenAiGptClient.js +20 -4
  78. package/dist/clients/OpenAiGptClient.js.map +1 -1
  79. package/dist/clients/VercelAiGptClient.d.ts +2 -2
  80. package/dist/clients/VercelAiGptClient.d.ts.map +1 -1
  81. package/dist/clients/VercelAiGptClient.js +6 -2
  82. package/dist/clients/VercelAiGptClient.js.map +1 -1
  83. package/dist/esm/apis/AgentsApi.d.ts +45 -1
  84. package/dist/esm/apis/AgentsApi.d.ts.map +1 -1
  85. package/dist/esm/apis/AgentsApi.js +53 -4
  86. package/dist/esm/apis/AgentsApi.js.map +1 -1
  87. package/dist/esm/apis/AskAiApi.d.ts.map +1 -1
  88. package/dist/esm/apis/AskAiApi.js +21 -9
  89. package/dist/esm/apis/AskAiApi.js.map +1 -1
  90. package/dist/esm/apis/DefaultApiAuthApi.d.ts +41 -5
  91. package/dist/esm/apis/DefaultApiAuthApi.d.ts.map +1 -1
  92. package/dist/esm/apis/DefaultApiAuthApi.js +45 -13
  93. package/dist/esm/apis/DefaultApiAuthApi.js.map +1 -1
  94. package/dist/esm/apis/EnvDataApi.d.ts.map +1 -1
  95. package/dist/esm/apis/EnvDataApi.js +8 -13
  96. package/dist/esm/apis/EnvDataApi.js.map +1 -1
  97. package/dist/esm/apis/FlowsApi.d.ts +256 -12
  98. package/dist/esm/apis/FlowsApi.d.ts.map +1 -1
  99. package/dist/esm/apis/FlowsApi.js +265 -36
  100. package/dist/esm/apis/FlowsApi.js.map +1 -1
  101. package/dist/esm/apis/FlowsFilesApi.d.ts +46 -0
  102. package/dist/esm/apis/FlowsFilesApi.d.ts.map +1 -1
  103. package/dist/esm/apis/FlowsFilesApi.js +46 -0
  104. package/dist/esm/apis/FlowsFilesApi.js.map +1 -1
  105. package/dist/esm/apis/FlowsToolCallsApi.d.ts +81 -3
  106. package/dist/esm/apis/FlowsToolCallsApi.d.ts.map +1 -1
  107. package/dist/esm/apis/FlowsToolCallsApi.js +84 -6
  108. package/dist/esm/apis/FlowsToolCallsApi.js.map +1 -1
  109. package/dist/esm/apis/GptConfigsApi.d.ts +74 -1
  110. package/dist/esm/apis/GptConfigsApi.d.ts.map +1 -1
  111. package/dist/esm/apis/GptConfigsApi.js +78 -4
  112. package/dist/esm/apis/GptConfigsApi.js.map +1 -1
  113. package/dist/esm/apis/PingApi.d.ts +0 -3
  114. package/dist/esm/apis/PingApi.d.ts.map +1 -1
  115. package/dist/esm/apis/PingApi.js +0 -3
  116. package/dist/esm/apis/PingApi.js.map +1 -1
  117. package/dist/esm/apis/SpecialFlowsApi.d.ts +0 -7
  118. package/dist/esm/apis/SpecialFlowsApi.d.ts.map +1 -1
  119. package/dist/esm/apis/SpecialFlowsApi.js +19 -82
  120. package/dist/esm/apis/SpecialFlowsApi.js.map +1 -1
  121. package/dist/esm/apis/ToolsApi.d.ts +3 -1
  122. package/dist/esm/apis/ToolsApi.d.ts.map +1 -1
  123. package/dist/esm/apis/ToolsApi.js +9 -1
  124. package/dist/esm/apis/ToolsApi.js.map +1 -1
  125. package/dist/esm/apis/VersionApi.d.ts +1 -4
  126. package/dist/esm/apis/VersionApi.d.ts.map +1 -1
  127. package/dist/esm/apis/VersionApi.js +1 -4
  128. package/dist/esm/apis/VersionApi.js.map +1 -1
  129. package/dist/esm/assets/control-panel.js +58 -44
  130. package/dist/esm/assets/generated/version +1 -1
  131. package/dist/esm/bindings/NamedBindingCallback.d.ts +1 -1
  132. package/dist/esm/bindings/NamedBindingCallback.d.ts.map +1 -1
  133. package/dist/esm/bindings/PageInteractionTracker.d.ts.map +1 -1
  134. package/dist/esm/bindings/PageInteractionTracker.js.map +1 -1
  135. package/dist/esm/bindings/ProposeToolCall.d.ts +1 -1
  136. package/dist/esm/bindings/ProposeToolCall.d.ts.map +1 -1
  137. package/dist/esm/bindings/ProposeToolCall.js +24 -4
  138. package/dist/esm/bindings/ProposeToolCall.js.map +1 -1
  139. package/dist/esm/bindings/ToggleDonobuAnnotations.d.ts +4 -4
  140. package/dist/esm/bindings/ToggleDonobuAnnotations.d.ts.map +1 -1
  141. package/dist/esm/bindings/ToggleDonobuAnnotations.js +24 -8
  142. package/dist/esm/bindings/ToggleDonobuAnnotations.js.map +1 -1
  143. package/dist/esm/clients/AnthropicAwsBedrockGptClient.d.ts +3 -4
  144. package/dist/esm/clients/AnthropicAwsBedrockGptClient.d.ts.map +1 -1
  145. package/dist/esm/clients/AnthropicAwsBedrockGptClient.js +6 -7
  146. package/dist/esm/clients/AnthropicAwsBedrockGptClient.js.map +1 -1
  147. package/dist/esm/clients/AnthropicGptClient.d.ts +2 -2
  148. package/dist/esm/clients/AnthropicGptClient.d.ts.map +1 -1
  149. package/dist/esm/clients/AnthropicGptClient.js +9 -2
  150. package/dist/esm/clients/AnthropicGptClient.js.map +1 -1
  151. package/dist/esm/clients/GoogleGptClient.d.ts +3 -18
  152. package/dist/esm/clients/GoogleGptClient.d.ts.map +1 -1
  153. package/dist/esm/clients/GoogleGptClient.js +18 -68
  154. package/dist/esm/clients/GoogleGptClient.js.map +1 -1
  155. package/dist/esm/clients/GptClient.d.ts +3 -3
  156. package/dist/esm/clients/GptClient.d.ts.map +1 -1
  157. package/dist/esm/clients/OpenAiGptClient.d.ts +2 -2
  158. package/dist/esm/clients/OpenAiGptClient.d.ts.map +1 -1
  159. package/dist/esm/clients/OpenAiGptClient.js +20 -4
  160. package/dist/esm/clients/OpenAiGptClient.js.map +1 -1
  161. package/dist/esm/clients/VercelAiGptClient.d.ts +2 -2
  162. package/dist/esm/clients/VercelAiGptClient.d.ts.map +1 -1
  163. package/dist/esm/clients/VercelAiGptClient.js +6 -2
  164. package/dist/esm/clients/VercelAiGptClient.js.map +1 -1
  165. package/dist/esm/exceptions/UnparseableJsonBodyException.d.ts +1 -1
  166. package/dist/esm/exceptions/UnparseableJsonBodyException.d.ts.map +1 -1
  167. package/dist/esm/exceptions/UnparseableJsonBodyException.js +2 -3
  168. package/dist/esm/exceptions/UnparseableJsonBodyException.js.map +1 -1
  169. package/dist/esm/lib/DonobuExtendedPage.d.ts +20 -20
  170. package/dist/esm/lib/DonobuExtendedPage.d.ts.map +1 -1
  171. package/dist/esm/lib/testExtension.d.ts.map +1 -1
  172. package/dist/esm/lib/testExtension.js +2 -1
  173. package/dist/esm/lib/testExtension.js.map +1 -1
  174. package/dist/esm/lib/utils/donobuTestStack.d.ts.map +1 -1
  175. package/dist/esm/lib/utils/donobuTestStack.js +1 -2
  176. package/dist/esm/lib/utils/donobuTestStack.js.map +1 -1
  177. package/dist/esm/main.d.ts +6 -1
  178. package/dist/esm/main.d.ts.map +1 -1
  179. package/dist/esm/main.js +7 -4
  180. package/dist/esm/main.js.map +1 -1
  181. package/dist/esm/managers/AdminApiController.d.ts +76 -2
  182. package/dist/esm/managers/AdminApiController.d.ts.map +1 -1
  183. package/dist/esm/managers/AdminApiController.js +186 -89
  184. package/dist/esm/managers/AdminApiController.js.map +1 -1
  185. package/dist/esm/managers/CodeGenerator.d.ts +2 -2
  186. package/dist/esm/managers/CodeGenerator.d.ts.map +1 -1
  187. package/dist/esm/managers/CodeGenerator.js +1 -1
  188. package/dist/esm/managers/CodeGenerator.js.map +1 -1
  189. package/dist/esm/managers/DonobuFlow.d.ts +41 -5
  190. package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
  191. package/dist/esm/managers/DonobuFlow.js +94 -7
  192. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  193. package/dist/esm/managers/DonobuFlowsManager.d.ts +10 -9
  194. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  195. package/dist/esm/managers/DonobuFlowsManager.js +126 -94
  196. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  197. package/dist/esm/managers/DonobuStack.d.ts +2 -1
  198. package/dist/esm/managers/DonobuStack.d.ts.map +1 -1
  199. package/dist/esm/managers/DonobuStack.js +7 -4
  200. package/dist/esm/managers/DonobuStack.js.map +1 -1
  201. package/dist/esm/managers/FlowDependencyAnalyzer.d.ts +1 -1
  202. package/dist/esm/managers/FlowDependencyAnalyzer.d.ts.map +1 -1
  203. package/dist/esm/managers/FlowDependencyAnalyzer.js.map +1 -1
  204. package/dist/esm/managers/GptConfigsManager.d.ts.map +1 -1
  205. package/dist/esm/managers/GptConfigsManager.js +13 -12
  206. package/dist/esm/managers/GptConfigsManager.js.map +1 -1
  207. package/dist/esm/managers/PageInspector.d.ts.map +1 -1
  208. package/dist/esm/managers/PageInspector.js +41 -29
  209. package/dist/esm/managers/PageInspector.js.map +1 -1
  210. package/dist/esm/managers/ToolManager.d.ts +6 -5
  211. package/dist/esm/managers/ToolManager.d.ts.map +1 -1
  212. package/dist/esm/managers/ToolManager.js +26 -2
  213. package/dist/esm/managers/ToolManager.js.map +1 -1
  214. package/dist/esm/models/BrowserConfig.d.ts +339 -48
  215. package/dist/esm/models/BrowserConfig.d.ts.map +1 -1
  216. package/dist/esm/models/BrowserConfig.js +100 -0
  217. package/dist/esm/models/BrowserConfig.js.map +1 -1
  218. package/dist/esm/models/CreateDonobuFlow.d.ts +692 -67
  219. package/dist/esm/models/CreateDonobuFlow.d.ts.map +1 -1
  220. package/dist/esm/models/CreateDonobuFlow.js +66 -0
  221. package/dist/esm/models/CreateDonobuFlow.js.map +1 -1
  222. package/dist/esm/models/CreateGoogleSteetviewExtractionFlow.d.ts +31 -5
  223. package/dist/esm/models/CreateGoogleSteetviewExtractionFlow.d.ts.map +1 -1
  224. package/dist/esm/models/CreateGoogleSteetviewExtractionFlow.js +50 -0
  225. package/dist/esm/models/CreateGoogleSteetviewExtractionFlow.js.map +1 -1
  226. package/dist/esm/models/CustomTool.d.ts +18 -9
  227. package/dist/esm/models/CustomTool.d.ts.map +1 -1
  228. package/dist/esm/models/CustomTool.js +14 -0
  229. package/dist/esm/models/CustomTool.js.map +1 -1
  230. package/dist/esm/models/DonobuToolPlugin.d.ts +5 -0
  231. package/dist/esm/models/DonobuToolPlugin.d.ts.map +1 -0
  232. package/dist/esm/models/DonobuToolPlugin.js +3 -0
  233. package/dist/esm/models/DonobuToolPlugin.js.map +1 -0
  234. package/dist/esm/models/ElementSelector.d.ts +12 -16
  235. package/dist/esm/models/ElementSelector.d.ts.map +1 -1
  236. package/dist/esm/models/ElementSelector.js +13 -0
  237. package/dist/esm/models/ElementSelector.js.map +1 -1
  238. package/dist/esm/models/FlowMetadata.d.ts +449 -104
  239. package/dist/esm/models/FlowMetadata.d.ts.map +1 -1
  240. package/dist/esm/models/FlowMetadata.js +165 -4
  241. package/dist/esm/models/FlowMetadata.js.map +1 -1
  242. package/dist/esm/models/GptConfig.d.ts +185 -35
  243. package/dist/esm/models/GptConfig.d.ts.map +1 -1
  244. package/dist/esm/models/GptConfig.js +60 -0
  245. package/dist/esm/models/GptConfig.js.map +1 -1
  246. package/dist/esm/models/GptMessage.d.ts +1 -1
  247. package/dist/esm/models/GptMessage.d.ts.map +1 -1
  248. package/dist/esm/models/ProposedToolCall.d.ts +15 -16
  249. package/dist/esm/models/ProposedToolCall.d.ts.map +1 -1
  250. package/dist/esm/models/ProposedToolCall.js +16 -0
  251. package/dist/esm/models/ProposedToolCall.js.map +1 -1
  252. package/dist/esm/models/ToolCall.d.ts +1 -1
  253. package/dist/esm/models/ToolCall.d.ts.map +1 -1
  254. package/dist/esm/models/ToolCallContext.d.ts +1 -1
  255. package/dist/esm/models/ToolCallContext.d.ts.map +1 -1
  256. package/dist/esm/models/ToolCallResult.d.ts +3 -3
  257. package/dist/esm/models/ToolCallResult.d.ts.map +1 -1
  258. package/dist/esm/models/ToolSchema.d.ts +16 -0
  259. package/dist/esm/models/ToolSchema.d.ts.map +1 -0
  260. package/dist/esm/models/ToolSchema.js +17 -0
  261. package/dist/esm/models/ToolSchema.js.map +1 -0
  262. package/dist/esm/tools/AggregateExtractedStreetviewDataTool.d.ts +5 -8
  263. package/dist/esm/tools/AggregateExtractedStreetviewDataTool.d.ts.map +1 -1
  264. package/dist/esm/tools/AggregateExtractedStreetviewDataTool.js +2 -1
  265. package/dist/esm/tools/AggregateExtractedStreetviewDataTool.js.map +1 -1
  266. package/dist/esm/tools/AnalyzePageTextTool.d.ts +26 -14
  267. package/dist/esm/tools/AnalyzePageTextTool.d.ts.map +1 -1
  268. package/dist/esm/tools/AnalyzePageTextTool.js +13 -2
  269. package/dist/esm/tools/AnalyzePageTextTool.js.map +1 -1
  270. package/dist/esm/tools/AssertPageTextTool.d.ts +21 -12
  271. package/dist/esm/tools/AssertPageTextTool.d.ts.map +1 -1
  272. package/dist/esm/tools/AssertPageTextTool.js +10 -2
  273. package/dist/esm/tools/AssertPageTextTool.js.map +1 -1
  274. package/dist/esm/tools/AssertPageTool.d.ts +33 -23
  275. package/dist/esm/tools/AssertPageTool.d.ts.map +1 -1
  276. package/dist/esm/tools/AssertPageTool.js +18 -2
  277. package/dist/esm/tools/AssertPageTool.js.map +1 -1
  278. package/dist/esm/tools/AssertTool.d.ts +21 -31
  279. package/dist/esm/tools/AssertTool.d.ts.map +1 -1
  280. package/dist/esm/tools/AssertTool.js +36 -18
  281. package/dist/esm/tools/AssertTool.js.map +1 -1
  282. package/dist/esm/tools/ChangeWebBrowserTabTool.d.ts +21 -11
  283. package/dist/esm/tools/ChangeWebBrowserTabTool.d.ts.map +1 -1
  284. package/dist/esm/tools/ChangeWebBrowserTabTool.js +8 -2
  285. package/dist/esm/tools/ChangeWebBrowserTabTool.js.map +1 -1
  286. package/dist/esm/tools/ChooseSelectOptionTool.d.ts +54 -12
  287. package/dist/esm/tools/ChooseSelectOptionTool.d.ts.map +1 -1
  288. package/dist/esm/tools/ChooseSelectOptionTool.js +11 -2
  289. package/dist/esm/tools/ChooseSelectOptionTool.js.map +1 -1
  290. package/dist/esm/tools/ClickTool.d.ts +5 -9
  291. package/dist/esm/tools/ClickTool.d.ts.map +1 -1
  292. package/dist/esm/tools/ClickTool.js +5 -4
  293. package/dist/esm/tools/ClickTool.js.map +1 -1
  294. package/dist/esm/tools/CreateBrowserCookieReportTool.d.ts +5 -8
  295. package/dist/esm/tools/CreateBrowserCookieReportTool.d.ts.map +1 -1
  296. package/dist/esm/tools/CreateBrowserCookieReportTool.js +15 -28
  297. package/dist/esm/tools/CreateBrowserCookieReportTool.js.map +1 -1
  298. package/dist/esm/tools/CustomToolRunnerTool.d.ts +5 -3
  299. package/dist/esm/tools/CustomToolRunnerTool.d.ts.map +1 -1
  300. package/dist/esm/tools/CustomToolRunnerTool.js +8 -10
  301. package/dist/esm/tools/CustomToolRunnerTool.js.map +1 -1
  302. package/dist/esm/tools/DetectBrokenLinksTool.d.ts +22 -12
  303. package/dist/esm/tools/DetectBrokenLinksTool.d.ts.map +1 -1
  304. package/dist/esm/tools/DetectBrokenLinksTool.js +11 -2
  305. package/dist/esm/tools/DetectBrokenLinksTool.js.map +1 -1
  306. package/dist/esm/tools/DownloadPdfTool.d.ts +21 -12
  307. package/dist/esm/tools/DownloadPdfTool.d.ts.map +1 -1
  308. package/dist/esm/tools/DownloadPdfTool.js +8 -2
  309. package/dist/esm/tools/DownloadPdfTool.js.map +1 -1
  310. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.d.ts +40 -29
  311. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.d.ts.map +1 -1
  312. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js +56 -68
  313. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js.map +1 -1
  314. package/dist/esm/tools/ExtractPaymentProviderKeyTool.d.ts +33 -15
  315. package/dist/esm/tools/ExtractPaymentProviderKeyTool.d.ts.map +1 -1
  316. package/dist/esm/tools/ExtractPaymentProviderKeyTool.js +113 -11
  317. package/dist/esm/tools/ExtractPaymentProviderKeyTool.js.map +1 -1
  318. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.d.ts +28 -17
  319. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.d.ts.map +1 -1
  320. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js +75 -95
  321. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js.map +1 -1
  322. package/dist/esm/tools/GetEntityDataFromGoogleMapResult.d.ts +17 -14
  323. package/dist/esm/tools/GetEntityDataFromGoogleMapResult.d.ts.map +1 -1
  324. package/dist/esm/tools/GetEntityDataFromGoogleMapResult.js +12 -2
  325. package/dist/esm/tools/GetEntityDataFromGoogleMapResult.js.map +1 -1
  326. package/dist/esm/tools/GoForwardOrBackTool.d.ts +22 -16
  327. package/dist/esm/tools/GoForwardOrBackTool.d.ts.map +1 -1
  328. package/dist/esm/tools/GoForwardOrBackTool.js +12 -9
  329. package/dist/esm/tools/GoForwardOrBackTool.js.map +1 -1
  330. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.d.ts +26 -17
  331. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.d.ts.map +1 -1
  332. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js +11 -2
  333. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js.map +1 -1
  334. package/dist/esm/tools/GoToWebpageTool.d.ts +24 -8
  335. package/dist/esm/tools/GoToWebpageTool.d.ts.map +1 -1
  336. package/dist/esm/tools/GoToWebpageTool.js +13 -2
  337. package/dist/esm/tools/GoToWebpageTool.js.map +1 -1
  338. package/dist/esm/tools/HandleBrowserDialogTool.d.ts +22 -16
  339. package/dist/esm/tools/HandleBrowserDialogTool.d.ts.map +1 -1
  340. package/dist/esm/tools/HandleBrowserDialogTool.js +11 -2
  341. package/dist/esm/tools/HandleBrowserDialogTool.js.map +1 -1
  342. package/dist/esm/tools/HoverOverElementTool.d.ts +6 -10
  343. package/dist/esm/tools/HoverOverElementTool.d.ts.map +1 -1
  344. package/dist/esm/tools/HoverOverElementTool.js +2 -1
  345. package/dist/esm/tools/HoverOverElementTool.js.map +1 -1
  346. package/dist/esm/tools/InputRandomizedEmailAddressTool.d.ts +62 -15
  347. package/dist/esm/tools/InputRandomizedEmailAddressTool.d.ts.map +1 -1
  348. package/dist/esm/tools/InputRandomizedEmailAddressTool.js +22 -9
  349. package/dist/esm/tools/InputRandomizedEmailAddressTool.js.map +1 -1
  350. package/dist/esm/tools/InputTextTool.d.ts +62 -16
  351. package/dist/esm/tools/InputTextTool.d.ts.map +1 -1
  352. package/dist/esm/tools/InputTextTool.js +21 -9
  353. package/dist/esm/tools/InputTextTool.js.map +1 -1
  354. package/dist/esm/tools/MakeCommentTool.d.ts +21 -11
  355. package/dist/esm/tools/MakeCommentTool.d.ts.map +1 -1
  356. package/dist/esm/tools/MakeCommentTool.js +10 -4
  357. package/dist/esm/tools/MakeCommentTool.js.map +1 -1
  358. package/dist/esm/tools/MarkObjectiveCompleteTool.d.ts +15 -17
  359. package/dist/esm/tools/MarkObjectiveCompleteTool.d.ts.map +1 -1
  360. package/dist/esm/tools/MarkObjectiveCompleteTool.js +7 -2
  361. package/dist/esm/tools/MarkObjectiveCompleteTool.js.map +1 -1
  362. package/dist/esm/tools/MarkObjectiveNotCompletableTool.d.ts +5 -8
  363. package/dist/esm/tools/MarkObjectiveNotCompletableTool.d.ts.map +1 -1
  364. package/dist/esm/tools/MarkObjectiveNotCompletableTool.js +4 -3
  365. package/dist/esm/tools/MarkObjectiveNotCompletableTool.js.map +1 -1
  366. package/dist/esm/tools/NavigateWithinStreetView.d.ts +30 -15
  367. package/dist/esm/tools/NavigateWithinStreetView.d.ts.map +1 -1
  368. package/dist/esm/tools/NavigateWithinStreetView.js +26 -14
  369. package/dist/esm/tools/NavigateWithinStreetView.js.map +1 -1
  370. package/dist/esm/tools/PauseForUserInteractionTool.d.ts +5 -9
  371. package/dist/esm/tools/PauseForUserInteractionTool.d.ts.map +1 -1
  372. package/dist/esm/tools/PauseForUserInteractionTool.js +2 -1
  373. package/dist/esm/tools/PauseForUserInteractionTool.js.map +1 -1
  374. package/dist/esm/tools/PressKeyTool.d.ts +54 -12
  375. package/dist/esm/tools/PressKeyTool.d.ts.map +1 -1
  376. package/dist/esm/tools/PressKeyTool.js +9 -3
  377. package/dist/esm/tools/PressKeyTool.js.map +1 -1
  378. package/dist/esm/tools/ReloadPageTool.d.ts +5 -8
  379. package/dist/esm/tools/ReloadPageTool.d.ts.map +1 -1
  380. package/dist/esm/tools/ReloadPageTool.js +2 -1
  381. package/dist/esm/tools/ReloadPageTool.js.map +1 -1
  382. package/dist/esm/tools/ReplayableInteraction.d.ts +41 -26
  383. package/dist/esm/tools/ReplayableInteraction.d.ts.map +1 -1
  384. package/dist/esm/tools/ReplayableInteraction.js +21 -15
  385. package/dist/esm/tools/ReplayableInteraction.js.map +1 -1
  386. package/dist/esm/tools/RunAccessibilityTestTool.d.ts +5 -8
  387. package/dist/esm/tools/RunAccessibilityTestTool.d.ts.map +1 -1
  388. package/dist/esm/tools/RunAccessibilityTestTool.js +2 -1
  389. package/dist/esm/tools/RunAccessibilityTestTool.js.map +1 -1
  390. package/dist/esm/tools/RunInlineJavaScriptCodeTool.d.ts +21 -10
  391. package/dist/esm/tools/RunInlineJavaScriptCodeTool.d.ts.map +1 -1
  392. package/dist/esm/tools/RunInlineJavaScriptCodeTool.js +8 -2
  393. package/dist/esm/tools/RunInlineJavaScriptCodeTool.js.map +1 -1
  394. package/dist/esm/tools/RunSandboxedJavaScriptCodeTool.d.ts +21 -11
  395. package/dist/esm/tools/RunSandboxedJavaScriptCodeTool.d.ts.map +1 -1
  396. package/dist/esm/tools/RunSandboxedJavaScriptCodeTool.js +8 -2
  397. package/dist/esm/tools/RunSandboxedJavaScriptCodeTool.js.map +1 -1
  398. package/dist/esm/tools/SaveWebpageAsPdfTool.d.ts +5 -9
  399. package/dist/esm/tools/SaveWebpageAsPdfTool.d.ts.map +1 -1
  400. package/dist/esm/tools/SaveWebpageAsPdfTool.js +2 -1
  401. package/dist/esm/tools/SaveWebpageAsPdfTool.js.map +1 -1
  402. package/dist/esm/tools/ScrollPageTool.d.ts +22 -12
  403. package/dist/esm/tools/ScrollPageTool.d.ts.map +1 -1
  404. package/dist/esm/tools/ScrollPageTool.js +15 -7
  405. package/dist/esm/tools/ScrollPageTool.js.map +1 -1
  406. package/dist/esm/tools/SetRunModeTool.d.ts +22 -14
  407. package/dist/esm/tools/SetRunModeTool.d.ts.map +1 -1
  408. package/dist/esm/tools/SetRunModeTool.js +9 -2
  409. package/dist/esm/tools/SetRunModeTool.js.map +1 -1
  410. package/dist/esm/tools/SolveMfaChallenge.d.ts +70 -21
  411. package/dist/esm/tools/SolveMfaChallenge.d.ts.map +1 -1
  412. package/dist/esm/tools/SolveMfaChallenge.js +16 -2
  413. package/dist/esm/tools/SolveMfaChallenge.js.map +1 -1
  414. package/dist/esm/tools/SummarizeLearningsTool.d.ts +21 -11
  415. package/dist/esm/tools/SummarizeLearningsTool.d.ts.map +1 -1
  416. package/dist/esm/tools/SummarizeLearningsTool.js +8 -2
  417. package/dist/esm/tools/SummarizeLearningsTool.js.map +1 -1
  418. package/dist/esm/tools/Tool.d.ts +18 -21
  419. package/dist/esm/tools/Tool.d.ts.map +1 -1
  420. package/dist/esm/tools/Tool.js +15 -5
  421. package/dist/esm/tools/Tool.js.map +1 -1
  422. package/dist/esm/tools/TriggerDonobuFlowTool.d.ts +1640 -13
  423. package/dist/esm/tools/TriggerDonobuFlowTool.d.ts.map +1 -1
  424. package/dist/esm/tools/TriggerDonobuFlowTool.js +9 -2
  425. package/dist/esm/tools/TriggerDonobuFlowTool.js.map +1 -1
  426. package/dist/esm/tools/WaitTool.d.ts +21 -11
  427. package/dist/esm/tools/WaitTool.d.ts.map +1 -1
  428. package/dist/esm/tools/WaitTool.js +8 -2
  429. package/dist/esm/tools/WaitTool.js.map +1 -1
  430. package/dist/esm/utils/BrowserUtils.d.ts.map +1 -1
  431. package/dist/esm/utils/BrowserUtils.js +5 -2
  432. package/dist/esm/utils/BrowserUtils.js.map +1 -1
  433. package/dist/esm/utils/JsonSchemaUtils.d.ts +4 -0
  434. package/dist/esm/utils/JsonSchemaUtils.d.ts.map +1 -0
  435. package/dist/esm/utils/JsonSchemaUtils.js +179 -0
  436. package/dist/esm/utils/JsonSchemaUtils.js.map +1 -0
  437. package/dist/esm/utils/JsonUtils.d.ts +0 -2
  438. package/dist/esm/utils/JsonUtils.d.ts.map +1 -1
  439. package/dist/esm/utils/JsonUtils.js +0 -3
  440. package/dist/esm/utils/JsonUtils.js.map +1 -1
  441. package/dist/esm/utils/TemplateInterpolator.d.ts +1 -1
  442. package/dist/esm/utils/TemplateInterpolator.d.ts.map +1 -1
  443. package/dist/esm/utils/TemplateInterpolator.js.map +1 -1
  444. package/dist/esm/utils/ToolPluginLoader.d.ts +2 -0
  445. package/dist/esm/utils/ToolPluginLoader.d.ts.map +1 -0
  446. package/dist/esm/utils/ToolPluginLoader.js +4 -0
  447. package/dist/esm/utils/ToolPluginLoader.js.map +1 -0
  448. package/dist/esm/utils/ToolsPluginsLoader.d.ts +52 -0
  449. package/dist/esm/utils/ToolsPluginsLoader.d.ts.map +1 -0
  450. package/dist/esm/utils/ToolsPluginsLoader.js +301 -0
  451. package/dist/esm/utils/ToolsPluginsLoader.js.map +1 -0
  452. package/dist/exceptions/UnparseableJsonBodyException.d.ts +1 -1
  453. package/dist/exceptions/UnparseableJsonBodyException.d.ts.map +1 -1
  454. package/dist/exceptions/UnparseableJsonBodyException.js +2 -3
  455. package/dist/exceptions/UnparseableJsonBodyException.js.map +1 -1
  456. package/dist/lib/DonobuExtendedPage.d.ts +20 -20
  457. package/dist/lib/DonobuExtendedPage.d.ts.map +1 -1
  458. package/dist/lib/testExtension.d.ts.map +1 -1
  459. package/dist/lib/testExtension.js +2 -1
  460. package/dist/lib/testExtension.js.map +1 -1
  461. package/dist/lib/utils/donobuTestStack.d.ts.map +1 -1
  462. package/dist/lib/utils/donobuTestStack.js +1 -2
  463. package/dist/lib/utils/donobuTestStack.js.map +1 -1
  464. package/dist/main.d.ts +6 -1
  465. package/dist/main.d.ts.map +1 -1
  466. package/dist/main.js +7 -4
  467. package/dist/main.js.map +1 -1
  468. package/dist/managers/AdminApiController.d.ts +76 -2
  469. package/dist/managers/AdminApiController.d.ts.map +1 -1
  470. package/dist/managers/AdminApiController.js +186 -89
  471. package/dist/managers/AdminApiController.js.map +1 -1
  472. package/dist/managers/CodeGenerator.d.ts +2 -2
  473. package/dist/managers/CodeGenerator.d.ts.map +1 -1
  474. package/dist/managers/CodeGenerator.js +1 -1
  475. package/dist/managers/CodeGenerator.js.map +1 -1
  476. package/dist/managers/DonobuFlow.d.ts +41 -5
  477. package/dist/managers/DonobuFlow.d.ts.map +1 -1
  478. package/dist/managers/DonobuFlow.js +94 -7
  479. package/dist/managers/DonobuFlow.js.map +1 -1
  480. package/dist/managers/DonobuFlowsManager.d.ts +10 -9
  481. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  482. package/dist/managers/DonobuFlowsManager.js +126 -94
  483. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  484. package/dist/managers/DonobuStack.d.ts +2 -1
  485. package/dist/managers/DonobuStack.d.ts.map +1 -1
  486. package/dist/managers/DonobuStack.js +7 -4
  487. package/dist/managers/DonobuStack.js.map +1 -1
  488. package/dist/managers/FlowDependencyAnalyzer.d.ts +1 -1
  489. package/dist/managers/FlowDependencyAnalyzer.d.ts.map +1 -1
  490. package/dist/managers/FlowDependencyAnalyzer.js.map +1 -1
  491. package/dist/managers/GptConfigsManager.d.ts.map +1 -1
  492. package/dist/managers/GptConfigsManager.js +13 -12
  493. package/dist/managers/GptConfigsManager.js.map +1 -1
  494. package/dist/managers/PageInspector.d.ts.map +1 -1
  495. package/dist/managers/PageInspector.js +41 -29
  496. package/dist/managers/PageInspector.js.map +1 -1
  497. package/dist/managers/ToolManager.d.ts +6 -5
  498. package/dist/managers/ToolManager.d.ts.map +1 -1
  499. package/dist/managers/ToolManager.js +26 -2
  500. package/dist/managers/ToolManager.js.map +1 -1
  501. package/dist/models/BrowserConfig.d.ts +339 -48
  502. package/dist/models/BrowserConfig.d.ts.map +1 -1
  503. package/dist/models/BrowserConfig.js +100 -0
  504. package/dist/models/BrowserConfig.js.map +1 -1
  505. package/dist/models/CreateDonobuFlow.d.ts +692 -67
  506. package/dist/models/CreateDonobuFlow.d.ts.map +1 -1
  507. package/dist/models/CreateDonobuFlow.js +66 -0
  508. package/dist/models/CreateDonobuFlow.js.map +1 -1
  509. package/dist/models/CreateGoogleSteetviewExtractionFlow.d.ts +31 -5
  510. package/dist/models/CreateGoogleSteetviewExtractionFlow.d.ts.map +1 -1
  511. package/dist/models/CreateGoogleSteetviewExtractionFlow.js +50 -0
  512. package/dist/models/CreateGoogleSteetviewExtractionFlow.js.map +1 -1
  513. package/dist/models/CustomTool.d.ts +18 -9
  514. package/dist/models/CustomTool.d.ts.map +1 -1
  515. package/dist/models/CustomTool.js +14 -0
  516. package/dist/models/CustomTool.js.map +1 -1
  517. package/dist/models/DonobuToolPlugin.d.ts +5 -0
  518. package/dist/models/DonobuToolPlugin.d.ts.map +1 -0
  519. package/dist/models/DonobuToolPlugin.js +3 -0
  520. package/dist/models/DonobuToolPlugin.js.map +1 -0
  521. package/dist/models/ElementSelector.d.ts +12 -16
  522. package/dist/models/ElementSelector.d.ts.map +1 -1
  523. package/dist/models/ElementSelector.js +13 -0
  524. package/dist/models/ElementSelector.js.map +1 -1
  525. package/dist/models/FlowMetadata.d.ts +449 -104
  526. package/dist/models/FlowMetadata.d.ts.map +1 -1
  527. package/dist/models/FlowMetadata.js +165 -4
  528. package/dist/models/FlowMetadata.js.map +1 -1
  529. package/dist/models/GptConfig.d.ts +185 -35
  530. package/dist/models/GptConfig.d.ts.map +1 -1
  531. package/dist/models/GptConfig.js +60 -0
  532. package/dist/models/GptConfig.js.map +1 -1
  533. package/dist/models/GptMessage.d.ts +1 -1
  534. package/dist/models/GptMessage.d.ts.map +1 -1
  535. package/dist/models/ProposedToolCall.d.ts +15 -16
  536. package/dist/models/ProposedToolCall.d.ts.map +1 -1
  537. package/dist/models/ProposedToolCall.js +16 -0
  538. package/dist/models/ProposedToolCall.js.map +1 -1
  539. package/dist/models/ToolCall.d.ts +1 -1
  540. package/dist/models/ToolCall.d.ts.map +1 -1
  541. package/dist/models/ToolCallContext.d.ts +1 -1
  542. package/dist/models/ToolCallContext.d.ts.map +1 -1
  543. package/dist/models/ToolCallResult.d.ts +3 -3
  544. package/dist/models/ToolCallResult.d.ts.map +1 -1
  545. package/dist/models/ToolSchema.d.ts +16 -0
  546. package/dist/models/ToolSchema.d.ts.map +1 -0
  547. package/dist/models/ToolSchema.js +17 -0
  548. package/dist/models/ToolSchema.js.map +1 -0
  549. package/dist/tools/AggregateExtractedStreetviewDataTool.d.ts +5 -8
  550. package/dist/tools/AggregateExtractedStreetviewDataTool.d.ts.map +1 -1
  551. package/dist/tools/AggregateExtractedStreetviewDataTool.js +2 -1
  552. package/dist/tools/AggregateExtractedStreetviewDataTool.js.map +1 -1
  553. package/dist/tools/AnalyzePageTextTool.d.ts +26 -14
  554. package/dist/tools/AnalyzePageTextTool.d.ts.map +1 -1
  555. package/dist/tools/AnalyzePageTextTool.js +13 -2
  556. package/dist/tools/AnalyzePageTextTool.js.map +1 -1
  557. package/dist/tools/AssertPageTextTool.d.ts +21 -12
  558. package/dist/tools/AssertPageTextTool.d.ts.map +1 -1
  559. package/dist/tools/AssertPageTextTool.js +10 -2
  560. package/dist/tools/AssertPageTextTool.js.map +1 -1
  561. package/dist/tools/AssertPageTool.d.ts +33 -23
  562. package/dist/tools/AssertPageTool.d.ts.map +1 -1
  563. package/dist/tools/AssertPageTool.js +18 -2
  564. package/dist/tools/AssertPageTool.js.map +1 -1
  565. package/dist/tools/AssertTool.d.ts +21 -31
  566. package/dist/tools/AssertTool.d.ts.map +1 -1
  567. package/dist/tools/AssertTool.js +36 -18
  568. package/dist/tools/AssertTool.js.map +1 -1
  569. package/dist/tools/ChangeWebBrowserTabTool.d.ts +21 -11
  570. package/dist/tools/ChangeWebBrowserTabTool.d.ts.map +1 -1
  571. package/dist/tools/ChangeWebBrowserTabTool.js +8 -2
  572. package/dist/tools/ChangeWebBrowserTabTool.js.map +1 -1
  573. package/dist/tools/ChooseSelectOptionTool.d.ts +54 -12
  574. package/dist/tools/ChooseSelectOptionTool.d.ts.map +1 -1
  575. package/dist/tools/ChooseSelectOptionTool.js +11 -2
  576. package/dist/tools/ChooseSelectOptionTool.js.map +1 -1
  577. package/dist/tools/ClickTool.d.ts +5 -9
  578. package/dist/tools/ClickTool.d.ts.map +1 -1
  579. package/dist/tools/ClickTool.js +5 -4
  580. package/dist/tools/ClickTool.js.map +1 -1
  581. package/dist/tools/CreateBrowserCookieReportTool.d.ts +5 -8
  582. package/dist/tools/CreateBrowserCookieReportTool.d.ts.map +1 -1
  583. package/dist/tools/CreateBrowserCookieReportTool.js +15 -28
  584. package/dist/tools/CreateBrowserCookieReportTool.js.map +1 -1
  585. package/dist/tools/CustomToolRunnerTool.d.ts +5 -3
  586. package/dist/tools/CustomToolRunnerTool.d.ts.map +1 -1
  587. package/dist/tools/CustomToolRunnerTool.js +8 -10
  588. package/dist/tools/CustomToolRunnerTool.js.map +1 -1
  589. package/dist/tools/DetectBrokenLinksTool.d.ts +22 -12
  590. package/dist/tools/DetectBrokenLinksTool.d.ts.map +1 -1
  591. package/dist/tools/DetectBrokenLinksTool.js +11 -2
  592. package/dist/tools/DetectBrokenLinksTool.js.map +1 -1
  593. package/dist/tools/DownloadPdfTool.d.ts +21 -12
  594. package/dist/tools/DownloadPdfTool.d.ts.map +1 -1
  595. package/dist/tools/DownloadPdfTool.js +8 -2
  596. package/dist/tools/DownloadPdfTool.js.map +1 -1
  597. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.d.ts +40 -29
  598. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.d.ts.map +1 -1
  599. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js +56 -68
  600. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js.map +1 -1
  601. package/dist/tools/ExtractPaymentProviderKeyTool.d.ts +33 -15
  602. package/dist/tools/ExtractPaymentProviderKeyTool.d.ts.map +1 -1
  603. package/dist/tools/ExtractPaymentProviderKeyTool.js +113 -11
  604. package/dist/tools/ExtractPaymentProviderKeyTool.js.map +1 -1
  605. package/dist/tools/ExtractPublicFacebookEntityDataTool.d.ts +28 -17
  606. package/dist/tools/ExtractPublicFacebookEntityDataTool.d.ts.map +1 -1
  607. package/dist/tools/ExtractPublicFacebookEntityDataTool.js +75 -95
  608. package/dist/tools/ExtractPublicFacebookEntityDataTool.js.map +1 -1
  609. package/dist/tools/GetEntityDataFromGoogleMapResult.d.ts +17 -14
  610. package/dist/tools/GetEntityDataFromGoogleMapResult.d.ts.map +1 -1
  611. package/dist/tools/GetEntityDataFromGoogleMapResult.js +12 -2
  612. package/dist/tools/GetEntityDataFromGoogleMapResult.js.map +1 -1
  613. package/dist/tools/GoForwardOrBackTool.d.ts +22 -16
  614. package/dist/tools/GoForwardOrBackTool.d.ts.map +1 -1
  615. package/dist/tools/GoForwardOrBackTool.js +12 -9
  616. package/dist/tools/GoForwardOrBackTool.js.map +1 -1
  617. package/dist/tools/GoToGoogleMapsStreetViewTool.d.ts +26 -17
  618. package/dist/tools/GoToGoogleMapsStreetViewTool.d.ts.map +1 -1
  619. package/dist/tools/GoToGoogleMapsStreetViewTool.js +11 -2
  620. package/dist/tools/GoToGoogleMapsStreetViewTool.js.map +1 -1
  621. package/dist/tools/GoToWebpageTool.d.ts +24 -8
  622. package/dist/tools/GoToWebpageTool.d.ts.map +1 -1
  623. package/dist/tools/GoToWebpageTool.js +13 -2
  624. package/dist/tools/GoToWebpageTool.js.map +1 -1
  625. package/dist/tools/HandleBrowserDialogTool.d.ts +22 -16
  626. package/dist/tools/HandleBrowserDialogTool.d.ts.map +1 -1
  627. package/dist/tools/HandleBrowserDialogTool.js +11 -2
  628. package/dist/tools/HandleBrowserDialogTool.js.map +1 -1
  629. package/dist/tools/HoverOverElementTool.d.ts +6 -10
  630. package/dist/tools/HoverOverElementTool.d.ts.map +1 -1
  631. package/dist/tools/HoverOverElementTool.js +2 -1
  632. package/dist/tools/HoverOverElementTool.js.map +1 -1
  633. package/dist/tools/InputRandomizedEmailAddressTool.d.ts +62 -15
  634. package/dist/tools/InputRandomizedEmailAddressTool.d.ts.map +1 -1
  635. package/dist/tools/InputRandomizedEmailAddressTool.js +22 -9
  636. package/dist/tools/InputRandomizedEmailAddressTool.js.map +1 -1
  637. package/dist/tools/InputTextTool.d.ts +62 -16
  638. package/dist/tools/InputTextTool.d.ts.map +1 -1
  639. package/dist/tools/InputTextTool.js +21 -9
  640. package/dist/tools/InputTextTool.js.map +1 -1
  641. package/dist/tools/MakeCommentTool.d.ts +21 -11
  642. package/dist/tools/MakeCommentTool.d.ts.map +1 -1
  643. package/dist/tools/MakeCommentTool.js +10 -4
  644. package/dist/tools/MakeCommentTool.js.map +1 -1
  645. package/dist/tools/MarkObjectiveCompleteTool.d.ts +15 -17
  646. package/dist/tools/MarkObjectiveCompleteTool.d.ts.map +1 -1
  647. package/dist/tools/MarkObjectiveCompleteTool.js +7 -2
  648. package/dist/tools/MarkObjectiveCompleteTool.js.map +1 -1
  649. package/dist/tools/MarkObjectiveNotCompletableTool.d.ts +5 -8
  650. package/dist/tools/MarkObjectiveNotCompletableTool.d.ts.map +1 -1
  651. package/dist/tools/MarkObjectiveNotCompletableTool.js +4 -3
  652. package/dist/tools/MarkObjectiveNotCompletableTool.js.map +1 -1
  653. package/dist/tools/NavigateWithinStreetView.d.ts +30 -15
  654. package/dist/tools/NavigateWithinStreetView.d.ts.map +1 -1
  655. package/dist/tools/NavigateWithinStreetView.js +26 -14
  656. package/dist/tools/NavigateWithinStreetView.js.map +1 -1
  657. package/dist/tools/PauseForUserInteractionTool.d.ts +5 -9
  658. package/dist/tools/PauseForUserInteractionTool.d.ts.map +1 -1
  659. package/dist/tools/PauseForUserInteractionTool.js +2 -1
  660. package/dist/tools/PauseForUserInteractionTool.js.map +1 -1
  661. package/dist/tools/PressKeyTool.d.ts +54 -12
  662. package/dist/tools/PressKeyTool.d.ts.map +1 -1
  663. package/dist/tools/PressKeyTool.js +9 -3
  664. package/dist/tools/PressKeyTool.js.map +1 -1
  665. package/dist/tools/ReloadPageTool.d.ts +5 -8
  666. package/dist/tools/ReloadPageTool.d.ts.map +1 -1
  667. package/dist/tools/ReloadPageTool.js +2 -1
  668. package/dist/tools/ReloadPageTool.js.map +1 -1
  669. package/dist/tools/ReplayableInteraction.d.ts +41 -26
  670. package/dist/tools/ReplayableInteraction.d.ts.map +1 -1
  671. package/dist/tools/ReplayableInteraction.js +21 -15
  672. package/dist/tools/ReplayableInteraction.js.map +1 -1
  673. package/dist/tools/RunAccessibilityTestTool.d.ts +5 -8
  674. package/dist/tools/RunAccessibilityTestTool.d.ts.map +1 -1
  675. package/dist/tools/RunAccessibilityTestTool.js +2 -1
  676. package/dist/tools/RunAccessibilityTestTool.js.map +1 -1
  677. package/dist/tools/RunInlineJavaScriptCodeTool.d.ts +21 -10
  678. package/dist/tools/RunInlineJavaScriptCodeTool.d.ts.map +1 -1
  679. package/dist/tools/RunInlineJavaScriptCodeTool.js +8 -2
  680. package/dist/tools/RunInlineJavaScriptCodeTool.js.map +1 -1
  681. package/dist/tools/RunSandboxedJavaScriptCodeTool.d.ts +21 -11
  682. package/dist/tools/RunSandboxedJavaScriptCodeTool.d.ts.map +1 -1
  683. package/dist/tools/RunSandboxedJavaScriptCodeTool.js +8 -2
  684. package/dist/tools/RunSandboxedJavaScriptCodeTool.js.map +1 -1
  685. package/dist/tools/SaveWebpageAsPdfTool.d.ts +5 -9
  686. package/dist/tools/SaveWebpageAsPdfTool.d.ts.map +1 -1
  687. package/dist/tools/SaveWebpageAsPdfTool.js +2 -1
  688. package/dist/tools/SaveWebpageAsPdfTool.js.map +1 -1
  689. package/dist/tools/ScrollPageTool.d.ts +22 -12
  690. package/dist/tools/ScrollPageTool.d.ts.map +1 -1
  691. package/dist/tools/ScrollPageTool.js +15 -7
  692. package/dist/tools/ScrollPageTool.js.map +1 -1
  693. package/dist/tools/SetRunModeTool.d.ts +22 -14
  694. package/dist/tools/SetRunModeTool.d.ts.map +1 -1
  695. package/dist/tools/SetRunModeTool.js +9 -2
  696. package/dist/tools/SetRunModeTool.js.map +1 -1
  697. package/dist/tools/SolveMfaChallenge.d.ts +70 -21
  698. package/dist/tools/SolveMfaChallenge.d.ts.map +1 -1
  699. package/dist/tools/SolveMfaChallenge.js +16 -2
  700. package/dist/tools/SolveMfaChallenge.js.map +1 -1
  701. package/dist/tools/SummarizeLearningsTool.d.ts +21 -11
  702. package/dist/tools/SummarizeLearningsTool.d.ts.map +1 -1
  703. package/dist/tools/SummarizeLearningsTool.js +8 -2
  704. package/dist/tools/SummarizeLearningsTool.js.map +1 -1
  705. package/dist/tools/Tool.d.ts +18 -21
  706. package/dist/tools/Tool.d.ts.map +1 -1
  707. package/dist/tools/Tool.js +15 -5
  708. package/dist/tools/Tool.js.map +1 -1
  709. package/dist/tools/TriggerDonobuFlowTool.d.ts +1640 -13
  710. package/dist/tools/TriggerDonobuFlowTool.d.ts.map +1 -1
  711. package/dist/tools/TriggerDonobuFlowTool.js +9 -2
  712. package/dist/tools/TriggerDonobuFlowTool.js.map +1 -1
  713. package/dist/tools/WaitTool.d.ts +21 -11
  714. package/dist/tools/WaitTool.d.ts.map +1 -1
  715. package/dist/tools/WaitTool.js +8 -2
  716. package/dist/tools/WaitTool.js.map +1 -1
  717. package/dist/utils/BrowserUtils.d.ts.map +1 -1
  718. package/dist/utils/BrowserUtils.js +5 -2
  719. package/dist/utils/BrowserUtils.js.map +1 -1
  720. package/dist/utils/JsonUtils.d.ts +0 -2
  721. package/dist/utils/JsonUtils.d.ts.map +1 -1
  722. package/dist/utils/JsonUtils.js +0 -3
  723. package/dist/utils/JsonUtils.js.map +1 -1
  724. package/dist/utils/TemplateInterpolator.d.ts +1 -1
  725. package/dist/utils/TemplateInterpolator.d.ts.map +1 -1
  726. package/dist/utils/TemplateInterpolator.js.map +1 -1
  727. package/dist/utils/ToolPluginLoader.d.ts +2 -0
  728. package/dist/utils/ToolPluginLoader.d.ts.map +1 -0
  729. package/dist/utils/ToolPluginLoader.js +4 -0
  730. package/dist/utils/ToolPluginLoader.js.map +1 -0
  731. package/dist/utils/ToolsPluginsLoader.d.ts +52 -0
  732. package/dist/utils/ToolsPluginsLoader.d.ts.map +1 -0
  733. package/dist/utils/ToolsPluginsLoader.js +301 -0
  734. package/dist/utils/ToolsPluginsLoader.js.map +1 -0
  735. package/dist/utils/jsonSchemaUtils.d.ts +4 -0
  736. package/dist/utils/jsonSchemaUtils.d.ts.map +1 -0
  737. package/dist/utils/jsonSchemaUtils.js +179 -0
  738. package/dist/utils/jsonSchemaUtils.js.map +1 -0
  739. package/package.json +6 -5
@@ -2,13 +2,55 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FlowsToolCallsApi = void 0;
4
4
  const ToolCallNotFoundException_1 = require("../exceptions/ToolCallNotFoundException");
5
- const JsonUtils_1 = require("../utils/JsonUtils");
5
+ const ProposedToolCall_1 = require("../models/ProposedToolCall");
6
+ /**
7
+ * API controller for managing tool calls within Donobu flows.
8
+ *
9
+ * The FlowsToolCallsApi provides endpoints for retrieving and proposing tool calls
10
+ * that are executed during flow runs. Tool calls represent individual actions taken
11
+ * by flows, such as clicking elements, inputting text, or analyzing page content.
12
+ * This API enables both historical analysis of flow execution and real-time
13
+ * interaction with running flows.
14
+ *
15
+ * **Key Concepts:**
16
+ * - **Tool Call**: A completed action with parameters, results, and metadata
17
+ * - **Proposed Tool Call**: A queued action waiting to be executed
18
+ * - **Tool Call History**: Chronological sequence of all actions in a flow
19
+ * - **Interactive Flow Control**: Real-time tool call injection during execution
20
+ *
21
+ * **Use Cases:**
22
+ * - Debugging flow execution by examining tool call sequences
23
+ * - Analyzing flow performance and action outcomes
24
+ * - Manual intervention during INSTRUCT mode flows
25
+ * - Flow replay and deterministic execution
26
+ *
27
+ * **Security Considerations:**
28
+ * - Tool call proposal is restricted to LOCAL deployment environments
29
+ * - Only active flows accept new tool call proposals
30
+ * - Tool parameters are validated before execution
31
+ */
6
32
  class FlowsToolCallsApi {
7
33
  constructor(donobuFlowsManager) {
8
34
  this.donobuFlowsManager = donobuFlowsManager;
9
35
  }
10
36
  /**
11
- * Get all tool calls for a specific flow
37
+ * Retrieves all tool calls for a specific flow.
38
+ *
39
+ * Returns the complete chronological history of tool calls executed within
40
+ * the specified flow. Each tool call includes comprehensive execution details
41
+ * including parameters, outcomes, timing information, and associated metadata.
42
+ * The results are ordered by execution time (startedAt) to provide a clear
43
+ * sequence of actions.
44
+ *
45
+ * **Returned Information:**
46
+ * - Tool call ID and name
47
+ * - Input parameters and execution context
48
+ * - Success/failure status and result messages
49
+ * - Execution timing (start and completion timestamps)
50
+ * - Page URLs
51
+ * - Error details and debugging information
52
+ * - Screenshot references are included but image data is served separately
53
+ * via the FlowsFilesApi
12
54
  */
13
55
  async getToolCalls(req, res) {
14
56
  const flowId = req.params.flowId;
@@ -16,7 +58,21 @@ class FlowsToolCallsApi {
16
58
  res.json(toolCalls);
17
59
  }
18
60
  /**
19
- * Get a specific tool call for a flow
61
+ * Retrieves a specific tool call by ID within a flow.
62
+ *
63
+ * Returns detailed information about a single tool call execution, including
64
+ * all parameters, results, and metadata. This endpoint is useful for detailed
65
+ * analysis of specific actions or troubleshooting particular tool call failures.
66
+ *
67
+ * **Response Details:**
68
+ * - Tool call ID and name
69
+ * - Input parameters and execution context
70
+ * - Success/failure status and result messages
71
+ * - Execution timing (start and completion timestamps)
72
+ * - Page URLs
73
+ * - Error details and debugging information
74
+ * - Screenshot references are included but image data is served separately
75
+ * via the FlowsFilesApi
20
76
  */
21
77
  async getToolCall(req, res) {
22
78
  const flowId = req.params.flowId;
@@ -29,12 +85,34 @@ class FlowsToolCallsApi {
29
85
  res.json(response);
30
86
  }
31
87
  /**
32
- * Propose a new tool call for a flow
88
+ * Proposes a new tool call for execution in an active flow.
89
+ *
90
+ * This endpoint allows real-time injection of tool calls into running flows,
91
+ * primarily used during INSTRUCT mode execution where manual intervention
92
+ * is required. The proposed tool call is validated and queued for execution
93
+ * by the flow's main execution loop.
94
+ *
95
+ * **Important Restrictions:**
96
+ * - Available only in LOCAL deployment environments for security
97
+ * - Target flow must be actively running (not completed or failed)
98
+ * - Tool name must correspond to a valid, available tool
99
+ * - Parameters must conform to the tool's expected schema
100
+ *
101
+ * **Execution Flow:**
102
+ * 1. Validates the tool name and parameters
103
+ * 2. Checks that the target flow is active and accepting proposals
104
+ * 3. Queues the tool call in the flow's execution pipeline
105
+ * 4. Returns success confirmation (execution happens asynchronously)
106
+ *
107
+ * **Integration with Flow States:**
108
+ * - INSTRUCT mode: Tool calls are executed when proposed
109
+ * - AUTONOMOUS mode: Proposals may be ignored in favor of AI decisions
110
+ * - PAUSED flows: Proposals are queued until flow resumes
33
111
  */
34
112
  async postToolCalls(req, res) {
35
113
  const flowId = req.params.flowId;
36
- const clientProposedToolCall = req.body;
37
- await this.donobuFlowsManager.proposeToolCall(flowId, clientProposedToolCall.name, JsonUtils_1.JsonUtils.objectToJson(clientProposedToolCall.parameters));
114
+ const parsedBody = ProposedToolCall_1.ProposedToolCallSchema.parse(req.body);
115
+ await this.donobuFlowsManager.proposeToolCall(flowId, parsedBody.name, parsedBody.parameters);
38
116
  res.sendStatus(200);
39
117
  }
40
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FlowsToolCallsApi.js","sourceRoot":"","sources":["../../src/apis/FlowsToolCallsApi.ts"],"names":[],"mappings":";;;AAEA,uFAAoF;AACpF,kDAA+C;AAG/C,MAAa,iBAAiB;IAC5B,YAA6B,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAAG,CAAC;IAEvE;;OAEG;IACI,KAAK,CAAC,YAAY,CAAC,GAAY,EAAE,GAAa;QACnD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,GAAY,EAAE,GAAa;QAClD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QAElE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,qDAAyB,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,GAAY,EAAE,GAAa;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,sBAAsB,GAAG,GAAG,CAAC,IAAiC,CAAC;QAErE,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAC3C,MAAM,EACN,sBAAsB,CAAC,IAAI,EAC3B,qBAAS,CAAC,YAAY,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAC1D,CAAC;QAEF,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AA3CD,8CA2CC"}
1
+ {"version":3,"file":"FlowsToolCallsApi.js","sourceRoot":"","sources":["../../src/apis/FlowsToolCallsApi.ts"],"names":[],"mappings":";;;AAEA,uFAAoF;AACpF,iEAAoE;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAa,iBAAiB;IAC5B,YAAoC,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAAG,CAAC;IAE9E;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,YAAY,CAAC,GAAY,EAAE,GAAa;QACnD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACI,KAAK,CAAC,WAAW,CAAC,GAAY,EAAE,GAAa;QAClD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QAElE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,qDAAyB,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,KAAK,CAAC,aAAa,CAAC,GAAY,EAAE,GAAa;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,UAAU,GAAG,yCAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE1D,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAC3C,MAAM,EACN,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,UAAU,CACtB,CAAC;QAEF,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AA/FD,8CA+FC"}
@@ -3,16 +3,89 @@ import { GptConfigsManager } from '../managers/GptConfigsManager';
3
3
  import { GptConfig } from '../models/GptConfig';
4
4
  import { AgentsManager } from '../managers/AgentsManager';
5
5
  /**
6
- * This API manages the GPT connection configurations available to the Donobu runtime.
6
+ * API controller for managing GPT configurations used by Donobu flows.
7
+ *
8
+ * The GptConfigsApi provides comprehensive management of GPT configurations, which define
9
+ * the connection parameters, authentication credentials, and model settings for various
10
+ * AI providers. These configurations are referenced by agents and used during flow execution
11
+ * to connect to external AI services.
12
+ *
13
+ * **Supported Providers:**
14
+ * - Anthropic (Claude models)
15
+ * - Anthropic via AWS Bedrock
16
+ * - Google Gemini
17
+ * - OpenAI (GPT models)
18
+ * - OpenAI Azure
19
+ * - Local LLaMA models
20
+ * - LLaMA via Hugging Face
21
+ * - Vercel AI SDK
22
+ *
23
+ * **Security Features:**
24
+ * - Automatic redaction of sensitive fields (API keys, secret keys) in responses
25
+ * - Validation of configurations before storage
26
+ * - Cascade cleanup when configurations are deleted
27
+ *
28
+ * **Key Features:**
29
+ * - Automatic cleanup of dependent agent mappings on deletion
30
+ * - Comprehensive error handling and validation
31
+ * - Support for multiple AI provider types and authentication methods
7
32
  */
8
33
  export declare class GptConfigsApi {
9
34
  private readonly gptConfigsManager;
10
35
  private readonly agentsManager;
36
+ /**
37
+ * Field names that contain sensitive data and should be redacted in API responses.
38
+ * These fields are automatically replaced with asterisks to prevent credential exposure.
39
+ */
11
40
  private static readonly REDACTED_FIELD_NAMES;
12
41
  constructor(gptConfigsManager: GptConfigsManager, agentsManager: AgentsManager);
42
+ /**
43
+ * Creates or updates a GPT configuration.
44
+ *
45
+ * This endpoint performs comprehensive validation of the GPT configuration before
46
+ * storage, including attempting a request to the GPT to verify connectivity and
47
+ * authentication. The configuration is validated against the provider's requirements
48
+ * and tested for functionality before being saved.
49
+ *
50
+ * **Validation Process:**
51
+ * 1. Schema validation against the configuration type
52
+ * 2. Credential validation via test request to the provider
53
+ * 3. Model availability verification (where supported)
54
+ * 4. Persistent storage of the validated configuration
55
+ *
56
+ * **Security:**
57
+ * - Sensitive fields are automatically redacted in the response
58
+ * - Original credentials are securely stored but never returned
59
+ */
13
60
  set(req: Request, res: Response): Promise<void>;
61
+ /**
62
+ * Retrieves a specific GPT configuration by name.
63
+ *
64
+ * Returns the requested GPT configuration with sensitive fields automatically
65
+ * redacted for security. The configuration includes all provider-specific
66
+ * settings and model parameters needed for AI service connectivity.
67
+ */
14
68
  get(req: Request, res: Response): Promise<void>;
69
+ /**
70
+ * Retrieves all stored GPT configurations.
71
+ *
72
+ * Returns a complete collection of all GPT configurations with sensitive
73
+ * fields redacted. This endpoint is useful for administrative interfaces
74
+ * and configuration management tools. The response maps configuration
75
+ * names to their respective settings.
76
+ */
15
77
  getAll(_req: Request, res: Response): Promise<void>;
78
+ /**
79
+ * Deletes a GPT configuration and cleans up dependent references.
80
+ *
81
+ * This endpoint permanently removes a GPT configuration and performs
82
+ * cascade cleanup to maintain system integrity:
83
+ *
84
+ * **Cleanup Process:**
85
+ * 1. Removes the configuration from storage
86
+ * 2. Identifies all agents referencing this configuration
87
+ * 3. Unlinks the configuration from all dependent agents
88
+ */
16
89
  delete(req: Request, res: Response): Promise<void>;
17
90
  /**
18
91
  * Redacts sensative data from the given GPT configuration so that the record
@@ -1 +1 @@
1
- {"version":3,"file":"GptConfigsApi.d.ts","sourceRoot":"","sources":["../../src/apis/GptConfigsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D;;GAEG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJhC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAiC;gBAG1D,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa;IAGlC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/C,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnD,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B/D;;;OAGG;WACW,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS;CAYhE"}
1
+ {"version":3,"file":"GptConfigsApi.d.ts","sourceRoot":"","sources":["../../src/apis/GptConfigsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,SAAS,EAAmB,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,aAAa;IAQtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;IARhC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAiC;gBAG1D,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa;IAG/C;;;;;;;;;;;;;;;;;OAiBG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5D;;;;;;OAMG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5D;;;;;;;OAOG;IACU,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhE;;;;;;;;;;OAUG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B/D;;;OAGG;WACW,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS;CAYhE"}
@@ -2,29 +2,88 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GptConfigsApi = void 0;
4
4
  const GptConfigNotFoundException_1 = require("../exceptions/GptConfigNotFoundException");
5
+ const GptConfig_1 = require("../models/GptConfig");
5
6
  const Logger_1 = require("../utils/Logger");
6
7
  /**
7
- * This API manages the GPT connection configurations available to the Donobu runtime.
8
+ * API controller for managing GPT configurations used by Donobu flows.
9
+ *
10
+ * The GptConfigsApi provides comprehensive management of GPT configurations, which define
11
+ * the connection parameters, authentication credentials, and model settings for various
12
+ * AI providers. These configurations are referenced by agents and used during flow execution
13
+ * to connect to external AI services.
14
+ *
15
+ * **Supported Providers:**
16
+ * - Anthropic (Claude models)
17
+ * - Anthropic via AWS Bedrock
18
+ * - Google Gemini
19
+ * - OpenAI (GPT models)
20
+ * - OpenAI Azure
21
+ * - Local LLaMA models
22
+ * - LLaMA via Hugging Face
23
+ * - Vercel AI SDK
24
+ *
25
+ * **Security Features:**
26
+ * - Automatic redaction of sensitive fields (API keys, secret keys) in responses
27
+ * - Validation of configurations before storage
28
+ * - Cascade cleanup when configurations are deleted
29
+ *
30
+ * **Key Features:**
31
+ * - Automatic cleanup of dependent agent mappings on deletion
32
+ * - Comprehensive error handling and validation
33
+ * - Support for multiple AI provider types and authentication methods
8
34
  */
9
35
  class GptConfigsApi {
10
36
  constructor(gptConfigsManager, agentsManager) {
11
37
  this.gptConfigsManager = gptConfigsManager;
12
38
  this.agentsManager = agentsManager;
13
39
  }
40
+ /**
41
+ * Creates or updates a GPT configuration.
42
+ *
43
+ * This endpoint performs comprehensive validation of the GPT configuration before
44
+ * storage, including attempting a request to the GPT to verify connectivity and
45
+ * authentication. The configuration is validated against the provider's requirements
46
+ * and tested for functionality before being saved.
47
+ *
48
+ * **Validation Process:**
49
+ * 1. Schema validation against the configuration type
50
+ * 2. Credential validation via test request to the provider
51
+ * 3. Model availability verification (where supported)
52
+ * 4. Persistent storage of the validated configuration
53
+ *
54
+ * **Security:**
55
+ * - Sensitive fields are automatically redacted in the response
56
+ * - Original credentials are securely stored but never returned
57
+ */
14
58
  async set(req, res) {
15
- const config = req.body;
16
59
  const name = req.params.name;
60
+ const parsedBody = GptConfig_1.GptConfigSchema.parse(req.body);
17
61
  if (!name) {
18
62
  throw new GptConfigNotFoundException_1.GptConfigNotFoundException(name);
19
63
  }
20
- await this.gptConfigsManager.set(name, config);
21
- res.json(GptConfigsApi.redactSensativeData(config));
64
+ await this.gptConfigsManager.set(name, parsedBody);
65
+ res.json(GptConfigsApi.redactSensativeData(parsedBody));
22
66
  }
67
+ /**
68
+ * Retrieves a specific GPT configuration by name.
69
+ *
70
+ * Returns the requested GPT configuration with sensitive fields automatically
71
+ * redacted for security. The configuration includes all provider-specific
72
+ * settings and model parameters needed for AI service connectivity.
73
+ */
23
74
  async get(req, res) {
24
75
  const name = req.params.name;
25
76
  const config = GptConfigsApi.redactSensativeData(await this.gptConfigsManager.get(name));
26
77
  res.json(config);
27
78
  }
79
+ /**
80
+ * Retrieves all stored GPT configurations.
81
+ *
82
+ * Returns a complete collection of all GPT configurations with sensitive
83
+ * fields redacted. This endpoint is useful for administrative interfaces
84
+ * and configuration management tools. The response maps configuration
85
+ * names to their respective settings.
86
+ */
28
87
  async getAll(_req, res) {
29
88
  const configs = await this.gptConfigsManager.getAll();
30
89
  const redactedConfigs = new Map(Array.from(configs.entries()).map(([key, value]) => [
@@ -33,6 +92,17 @@ class GptConfigsApi {
33
92
  ]));
34
93
  res.json(Object.fromEntries(redactedConfigs));
35
94
  }
95
+ /**
96
+ * Deletes a GPT configuration and cleans up dependent references.
97
+ *
98
+ * This endpoint permanently removes a GPT configuration and performs
99
+ * cascade cleanup to maintain system integrity:
100
+ *
101
+ * **Cleanup Process:**
102
+ * 1. Removes the configuration from storage
103
+ * 2. Identifies all agents referencing this configuration
104
+ * 3. Unlinks the configuration from all dependent agents
105
+ */
36
106
  async delete(req, res) {
37
107
  const name = req.params.name;
38
108
  await this.gptConfigsManager.delete(name);
@@ -71,5 +141,9 @@ class GptConfigsApi {
71
141
  }
72
142
  }
73
143
  exports.GptConfigsApi = GptConfigsApi;
144
+ /**
145
+ * Field names that contain sensitive data and should be redacted in API responses.
146
+ * These fields are automatically replaced with asterisks to prevent credential exposure.
147
+ */
74
148
  GptConfigsApi.REDACTED_FIELD_NAMES = ['apiKey', 'secretAccessKey'];
75
149
  //# sourceMappingURL=GptConfigsApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GptConfigsApi.js","sourceRoot":"","sources":["../../src/apis/GptConfigsApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GptConfigsApi.js","sourceRoot":"","sources":["../../src/apis/GptConfigsApi.ts"],"names":[],"mappings":";;;AAEA,yFAAsF;AACtF,mDAAiE;AAEjE,4CAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,aAAa;IAOxB,YACmB,iBAAoC,EACpC,aAA4B;QAD5B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEJ;;;;;;;;;;;;;;;;;OAiBG;IACI,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,MAAM,UAAU,GAAG,2BAAe,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,uDAA0B,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,mBAAmB,CAC9C,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CACvC,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,MAAM,CAAC,IAAa,EAAE,GAAa;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YAClD,GAAG;YACH,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC;SACzC,CAAC,CACH,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,MAAM,CAAC,GAAY,EAAE,GAAa;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,wEAAwE;YACxE,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YACnE,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;gBAC/D,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;oBACxB,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,kBAAS,CAAC,IAAI,CACZ,0BAA0B,SAAS,8BAA8B,IAAI,GAAG,EACxE,KAAK,CACN,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kBAAS,CAAC,IAAI,CACZ,qDAAqD,IAAI,GAAG,EAC5D,KAAK,CACN,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,mBAAmB,CAAC,MAAiB;QACjD,MAAM,UAAU,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAEjC,KAAK,MAAM,iBAAiB,IAAI,aAAa,CAAC,oBAAoB,EAAE,CAAC;YACnE,IAAI,iBAAiB,IAAI,UAAU,EAAE,CAAC;gBACpC,wDAAwD;gBACvD,UAAkB,CAAC,iBAAiB,CAAC,GAAG,kBAAkB,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;;AAnIH,sCAoIC;AAnIC;;;GAGG;AACqB,kCAAoB,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC"}
@@ -5,9 +5,6 @@ import { Request, Response } from 'express';
5
5
  export declare class PingApi {
6
6
  /**
7
7
  * No-op endpoint that just returns HTTP 200.
8
- *
9
- * @param _req - Express request object (unused)
10
- * @param res - Express response object
11
8
  */
12
9
  ping(_req: Request, res: Response): Promise<void>;
13
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PingApi.d.ts","sourceRoot":"","sources":["../../src/apis/PingApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C;;GAEG;AACH,qBAAa,OAAO;IAClB;;;;;OAKG;IACU,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/D"}
1
+ {"version":3,"file":"PingApi.d.ts","sourceRoot":"","sources":["../../src/apis/PingApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C;;GAEG;AACH,qBAAa,OAAO;IAClB;;OAEG;IACU,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/D"}
@@ -7,9 +7,6 @@ exports.PingApi = void 0;
7
7
  class PingApi {
8
8
  /**
9
9
  * No-op endpoint that just returns HTTP 200.
10
- *
11
- * @param _req - Express request object (unused)
12
- * @param res - Express response object
13
10
  */
14
11
  async ping(_req, res) {
15
12
  res.sendStatus(200);
@@ -1 +1 @@
1
- {"version":3,"file":"PingApi.js","sourceRoot":"","sources":["../../src/apis/PingApi.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,OAAO;IAClB;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CAAC,IAAa,EAAE,GAAa;QAC5C,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAVD,0BAUC"}
1
+ {"version":3,"file":"PingApi.js","sourceRoot":"","sources":["../../src/apis/PingApi.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,OAAO;IAClB;;OAEG;IACI,KAAK,CAAC,IAAI,CAAC,IAAa,EAAE,GAAa;QAC5C,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAPD,0BAOC"}
@@ -16,12 +16,5 @@ export declare class SpecialFlowsApi {
16
16
  private wrapUp;
17
17
  private wrapUpWithStreetDataRecovery;
18
18
  private parseUrl;
19
- private useDevice;
20
- /**
21
- * Returns a BrowserConfig for BrowserBase if the BROWSERBASE_PROJECT_ID and
22
- * BROWSERBASE_API_KEY environment variables are present, otherwise, returns a
23
- * BrowserConfig for the given device name.
24
- */
25
- private maybeUseBrowserBase;
26
19
  }
27
20
  //# sourceMappingURL=SpecialFlowsApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpecialFlowsApi.d.ts","sourceRoot":"","sources":["../../src/apis/SpecialFlowsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAc,MAAM,gCAAgC,CAAC;AAmDhF;;;GAGG;AACH,qBAAa,eAAe;IACP,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,kBAAkB;IAE7D,oBAAoB,CAC/B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IA8IH,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B7D,+BAA+B,CAC1C,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IA8BH,0BAA0B,CACrC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IAiDH,iCAAiC,CAC5C,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;YA2FF,sCAAsC;YA0BtC,MAAM;YA8BN,4BAA4B;IA+B1C,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,SAAS;IAYjB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CA+B5B"}
1
+ {"version":3,"file":"SpecialFlowsApi.d.ts","sourceRoot":"","sources":["../../src/apis/SpecialFlowsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAc,MAAM,gCAAgC,CAAC;AAgDhF;;;GAGG;AACH,qBAAa,eAAe;IACP,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,kBAAkB;IAE7D,oBAAoB,CAC/B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IAyIH,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B7D,+BAA+B,CAC1C,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IA4BH,0BAA0B,CACrC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IA6CH,iCAAiC,CAC5C,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;YAqFF,sCAAsC;YAwBtC,MAAM;YA8BN,4BAA4B;IA+B1C,OAAO,CAAC,QAAQ;CAWjB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SpecialFlowsApi = void 0;
4
+ const CreateGoogleSteetviewExtractionFlow_1 = require("../models/CreateGoogleSteetviewExtractionFlow");
4
5
  const JsonUtils_1 = require("../utils/JsonUtils");
5
6
  const Logger_1 = require("../utils/Logger");
6
7
  const CreateBrowserCookieReportTool_1 = require("../tools/CreateBrowserCookieReportTool");
@@ -23,7 +24,8 @@ const GoToGoogleMapsStreetViewTool_1 = require("../tools/GoToGoogleMapsStreetVie
23
24
  const NavigateWithinStreetView_1 = require("../tools/NavigateWithinStreetView");
24
25
  const GetEntityDataFromGoogleMapResult_1 = require("../tools/GetEntityDataFromGoogleMapResult");
25
26
  const DetectBrokenLinksTool_1 = require("../tools/DetectBrokenLinksTool");
26
- const envVars_1 = require("../envVars");
27
+ const zod_1 = require("zod");
28
+ const InvalidParamValueException_1 = require("../exceptions/InvalidParamValueException");
27
29
  /**
28
30
  * This class defines the API for special flows (i.e. flows that are essentially
29
31
  * pre-defined and have a specific purpose).
@@ -33,8 +35,7 @@ class SpecialFlowsApi {
33
35
  this.donobuFlowsManager = donobuFlowsManager;
34
36
  }
35
37
  async analyzeCookieConsent(req, res) {
36
- const httpBodyParams = req.body;
37
- const url = httpBodyParams.url;
38
+ const parsedBody = zod_1.z.object({ url: zod_1.z.string() }).parse(req.body);
38
39
  const overallObjective = `
39
40
  You are a web-browsing QA agent verifying a website's cookie banner behavior and compliance. Follow the steps below carefully.
40
41
  If any step (such as rejecting cookies) is not possible due to the absence of a cookie banner or a lack of “Reject”/“Customize” options,
@@ -119,11 +120,9 @@ document your observations but do not conclude “objective not completable.”
119
120
  },
120
121
  },
121
122
  };
122
- const browserConfig = this.useDevice('Desktop Chromium');
123
123
  const flowParams = {
124
- targetWebsite: url,
124
+ targetWebsite: parsedBody.url,
125
125
  overallObjective: overallObjective,
126
- browser: browserConfig,
127
126
  maxIterations: 10,
128
127
  defaultMessageDuration: 0,
129
128
  initialRunMode: 'AUTONOMOUS',
@@ -140,7 +139,7 @@ document your observations but do not conclude “objective not completable.”
140
139
  {
141
140
  name: GoToWebpageTool_1.GoToWebpageTool.NAME,
142
141
  parameters: {
143
- url: url.toString(),
142
+ url: parsedBody.url,
144
143
  },
145
144
  },
146
145
  {
@@ -166,11 +165,9 @@ document your observations but do not conclude “objective not completable.”
166
165
  }
167
166
  }
168
167
  async detectBrokenLinks(req, res) {
169
- const httpBodyParams = req.body;
170
- const browserConfig = this.useDevice('Desktop Chromium');
168
+ const parsedBody = zod_1.z.object({ url: zod_1.z.string() }).parse(req.body);
171
169
  const flowParams = {
172
- targetWebsite: httpBodyParams.url,
173
- browser: browserConfig,
170
+ targetWebsite: parsedBody.url,
174
171
  defaultMessageDuration: 0,
175
172
  initialRunMode: 'DETERMINISTIC',
176
173
  isControlPanelEnabled: false,
@@ -178,12 +175,12 @@ document your observations but do not conclude “objective not completable.”
178
175
  {
179
176
  name: GoToWebpageTool_1.GoToWebpageTool.NAME,
180
177
  parameters: {
181
- url: httpBodyParams.url,
178
+ url: parsedBody.url,
182
179
  },
183
180
  },
184
181
  {
185
182
  name: DetectBrokenLinksTool_1.DetectBrokenLinksTool.NAME,
186
- parameters: {},
183
+ parameters: { captureScreenshots: false },
187
184
  },
188
185
  ],
189
186
  };
@@ -191,13 +188,11 @@ document your observations but do not conclude “objective not completable.”
191
188
  res.json({ id: flowHandle.donobuFlow.metadata.id });
192
189
  }
193
190
  async extractPublicFacebookEntityData(req, res) {
194
- const httpBodyParams = req.body;
191
+ const httpBodyParams = ExtractPublicFacebookEntityDataTool_1.ExtractPublicFacebookEntityDataCoreSchema.parse(req.body);
195
192
  const overallObjective = `Source Facebook transparency data for ${httpBodyParams.facebookEntityName || httpBodyParams.facebookEntityUrl}`;
196
- const browserConfig = this.maybeUseBrowserBase('Desktop Firefox');
197
193
  const flowParams = {
198
194
  targetWebsite: 'https://www.facebook.com',
199
195
  overallObjective: overallObjective,
200
- browser: browserConfig,
201
196
  maxIterations: 0,
202
197
  gptConfigNameOverride: 'claude-3-5-sonnet-latest',
203
198
  defaultMessageDuration: 0,
@@ -215,10 +210,10 @@ document your observations but do not conclude “objective not completable.”
215
210
  await this.wrapUp(res, flowHandle);
216
211
  }
217
212
  async extractPaymentProviderData(req, res) {
218
- const httpBodyParams = req.body;
219
- const url = this.parseUrl(httpBodyParams.website);
213
+ const parsedBody = zod_1.z.object({ website: zod_1.z.string() }).parse(req.body);
214
+ const url = this.parseUrl(parsedBody.website);
220
215
  if (!url) {
221
- throw new Error(`Invalid website parameter: ${httpBodyParams.website}`);
216
+ throw new InvalidParamValueException_1.InvalidParamValueException('website', url);
222
217
  }
223
218
  const overallObjective = `Find the payments provider for ${url}
224
219
 
@@ -232,11 +227,9 @@ If there are additional fields that need to be filled out, use the following inf
232
227
  - Name: Sam Langhorne
233
228
  - Address: 351 Farmington Ave, Hartford, Conn. 06105, USA
234
229
  - Phone: +15002470998`;
235
- const browserConfig = this.maybeUseBrowserBase('Desktop Chromium');
236
230
  const flowParams = {
237
231
  targetWebsite: url,
238
232
  overallObjective: overallObjective,
239
- browser: browserConfig,
240
233
  maxIterations: 30,
241
234
  defaultMessageDuration: 0,
242
235
  initialRunMode: 'AUTONOMOUS',
@@ -258,25 +251,19 @@ If there are additional fields that need to be filled out, use the following inf
258
251
  await this.wrapUp(res, flowHandle);
259
252
  }
260
253
  async extractGoogleStreetviewEntityData(req, res) {
261
- const httpBodyParams = req.body;
262
- if (!httpBodyParams.entityName && !httpBodyParams.googleMapsUrl) {
263
- throw new Error('entityName and googleMapsUrl cannot both be null.');
264
- }
265
- else if (httpBodyParams.entityName && !httpBodyParams.entityLocation) {
266
- throw new Error('entityLocation cannot be null if entityName is non-null.');
267
- }
254
+ const parsedBody = CreateGoogleSteetviewExtractionFlow_1.CreateGoogleSteetviewExtractionFlowSchema.parse(req.body);
268
255
  let entityName;
269
256
  let entityLocation;
270
257
  let inputTokensForTmpFlow;
271
258
  let completionTokensForTmpFlow;
272
- if (httpBodyParams.entityName) {
273
- entityName = httpBodyParams.entityName;
274
- entityLocation = httpBodyParams.entityLocation;
259
+ if (parsedBody.entityName) {
260
+ entityName = parsedBody.entityName;
261
+ entityLocation = parsedBody.entityLocation;
275
262
  inputTokensForTmpFlow = 0;
276
263
  completionTokensForTmpFlow = 0;
277
264
  }
278
265
  else {
279
- const tmpFlow = await this.divineTargetEntityDataFromGoogleMapUrl(httpBodyParams.googleMapsUrl);
266
+ const tmpFlow = await this.divineTargetEntityDataFromGoogleMapUrl(parsedBody.googleMapsUrl);
280
267
  const entityData = JsonUtils_1.JsonUtils.objectToJson(tmpFlow.metadata.result);
281
268
  entityName = entityData.entityName;
282
269
  entityLocation = entityData.entityAddress;
@@ -300,11 +287,9 @@ If there are additional fields that need to be filled out, use the following inf
300
287
  Once confident about the existence or non-existence of the target business/entity at the given location,
301
288
  using (perhaps multiple times) the '${ExtractGoogleStreetviewEntityDataTool_1.ExtractGoogleStreetviewEntityDataTool.NAME}' tool, call the '${AggregateExtractedStreetviewDataTool_1.AggregateExtractedStreetviewDataTool.NAME}' tool.
302
289
  `;
303
- const browserConfig = this.maybeUseBrowserBase('Desktop Chromium');
304
290
  const flowParams = {
305
291
  targetWebsite: 'https://maps.google.com',
306
292
  overallObjective: overallObjective,
307
- browser: browserConfig,
308
293
  maxIterations: 10,
309
294
  defaultMessageDuration: 0,
310
295
  initialRunMode: 'AUTONOMOUS',
@@ -339,11 +324,9 @@ If there are additional fields that need to be filled out, use the following inf
339
324
  await this.wrapUpWithStreetDataRecovery(res, flowHandle);
340
325
  }
341
326
  async divineTargetEntityDataFromGoogleMapUrl(googleMapUrl) {
342
- const browserConfig = this.maybeUseBrowserBase('Desktop Chromium');
343
327
  const flowParams = {
344
328
  targetWebsite: googleMapUrl,
345
329
  overallObjective: 'Extract the business/entity data from the current Google Maps page.',
346
- browser: browserConfig,
347
330
  maxIterations: 1,
348
331
  defaultMessageDuration: 0,
349
332
  initialRunMode: 'AUTONOMOUS',
@@ -411,52 +394,6 @@ If there are additional fields that need to be filled out, use the following inf
411
394
  }
412
395
  return url;
413
396
  }
414
- useDevice(deviceName) {
415
- return {
416
- initialState: undefined,
417
- persistState: false,
418
- using: {
419
- type: 'device',
420
- deviceName: deviceName,
421
- headless: true,
422
- },
423
- };
424
- }
425
- /**
426
- * Returns a BrowserConfig for BrowserBase if the BROWSERBASE_PROJECT_ID and
427
- * BROWSERBASE_API_KEY environment variables are present, otherwise, returns a
428
- * BrowserConfig for the given device name.
429
- */
430
- maybeUseBrowserBase(deviceName) {
431
- if (process.env[envVars_1.ENV_VAR_NAMES.BROWSERBASE_PROJECT_ID] &&
432
- process.env[envVars_1.ENV_VAR_NAMES.BROWSERBASE_API_KEY]) {
433
- return {
434
- initialState: undefined,
435
- persistState: false,
436
- using: {
437
- type: 'browserBase',
438
- sessionArgs: {
439
- projectId: process.env[envVars_1.ENV_VAR_NAMES.BROWSERBASE_PROJECT_ID],
440
- browserSettings: {
441
- advancedStealth: false, // Advanced Stealth is only available on BrowserBase enterprise plans.
442
- },
443
- proxies: true,
444
- },
445
- },
446
- };
447
- }
448
- else {
449
- return {
450
- initialState: undefined,
451
- persistState: false,
452
- using: {
453
- type: 'device',
454
- deviceName: deviceName,
455
- headless: true,
456
- },
457
- };
458
- }
459
- }
460
397
  }
461
398
  exports.SpecialFlowsApi = SpecialFlowsApi;
462
399
  //# sourceMappingURL=SpecialFlowsApi.js.map