donobu 2.3.1 → 2.4.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 (314) hide show
  1. package/dist/apis/SpecialFlowsApi.d.ts +7 -1
  2. package/dist/apis/SpecialFlowsApi.js +41 -29
  3. package/dist/apis/SpecialFlowsApi.js.map +1 -1
  4. package/dist/apis/ToolsApi.d.ts +1 -1
  5. package/dist/apis/ToolsApi.js +1 -1
  6. package/dist/apis/ToolsApi.js.map +1 -1
  7. package/dist/assets/generated/parameter-schemas.json +4 -4
  8. package/dist/assets/generated/version +1 -1
  9. package/dist/clients/AnthropicAwsBedrockGptClient.js +1 -1
  10. package/dist/clients/AnthropicAwsBedrockGptClient.js.map +1 -1
  11. package/dist/clients/AnthropicGptClient.js +1 -1
  12. package/dist/clients/AnthropicGptClient.js.map +1 -1
  13. package/dist/clients/GoogleGptClient.js +3 -3
  14. package/dist/clients/GoogleGptClient.js.map +1 -1
  15. package/dist/clients/GptClient.d.ts +1 -1
  16. package/dist/clients/OpenAiGptClient.js +1 -1
  17. package/dist/clients/OpenAiGptClient.js.map +1 -1
  18. package/dist/clients/VercelAiGptClient.js +1 -1
  19. package/dist/clients/VercelAiGptClient.js.map +1 -1
  20. package/dist/esm/apis/SpecialFlowsApi.d.ts +7 -1
  21. package/dist/esm/apis/SpecialFlowsApi.js +41 -29
  22. package/dist/esm/apis/SpecialFlowsApi.js.map +1 -1
  23. package/dist/esm/apis/ToolsApi.d.ts +1 -1
  24. package/dist/esm/apis/ToolsApi.js +1 -1
  25. package/dist/esm/apis/ToolsApi.js.map +1 -1
  26. package/dist/esm/assets/generated/parameter-schemas.json +4 -4
  27. package/dist/esm/assets/generated/version +1 -1
  28. package/dist/esm/clients/AnthropicAwsBedrockGptClient.js +1 -1
  29. package/dist/esm/clients/AnthropicAwsBedrockGptClient.js.map +1 -1
  30. package/dist/esm/clients/AnthropicGptClient.js +1 -1
  31. package/dist/esm/clients/AnthropicGptClient.js.map +1 -1
  32. package/dist/esm/clients/GoogleGptClient.js +3 -3
  33. package/dist/esm/clients/GoogleGptClient.js.map +1 -1
  34. package/dist/esm/clients/GptClient.d.ts +1 -1
  35. package/dist/esm/clients/OpenAiGptClient.js +1 -1
  36. package/dist/esm/clients/OpenAiGptClient.js.map +1 -1
  37. package/dist/esm/clients/VercelAiGptClient.js +1 -1
  38. package/dist/esm/clients/VercelAiGptClient.js.map +1 -1
  39. package/dist/esm/main.d.ts +6 -6
  40. package/dist/esm/main.js +50 -39
  41. package/dist/esm/main.js.map +1 -1
  42. package/dist/esm/managers/AdminApiController.js +12 -25
  43. package/dist/esm/managers/AdminApiController.js.map +1 -1
  44. package/dist/esm/managers/CodeGenerator.d.ts +8 -0
  45. package/dist/esm/managers/CodeGenerator.js +25 -9
  46. package/dist/esm/managers/CodeGenerator.js.map +1 -1
  47. package/dist/esm/managers/DonobuFlow.js +4 -2
  48. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  49. package/dist/esm/managers/DonobuFlowsManager.js +16 -7
  50. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  51. package/dist/esm/managers/DonobuMcpServer.d.ts +24 -0
  52. package/dist/esm/managers/DonobuMcpServer.js +146 -0
  53. package/dist/esm/managers/DonobuMcpServer.js.map +1 -0
  54. package/dist/esm/managers/DonobuStack.d.ts +19 -0
  55. package/dist/esm/managers/DonobuStack.js +29 -0
  56. package/dist/esm/managers/DonobuStack.js.map +1 -0
  57. package/dist/esm/managers/ToolManager.d.ts +1 -2
  58. package/dist/esm/managers/ToolManager.js +14 -14
  59. package/dist/esm/managers/ToolManager.js.map +1 -1
  60. package/dist/esm/models/BrowserFramework.d.ts +8 -15
  61. package/dist/esm/models/BrowserFramework.js +74 -96
  62. package/dist/esm/models/BrowserFramework.js.map +1 -1
  63. package/dist/esm/models/CustomTool.d.ts +1 -1
  64. package/dist/esm/persistence/DonobuSqliteDb.js +3 -2
  65. package/dist/esm/persistence/DonobuSqliteDb.js.map +1 -1
  66. package/dist/esm/test.d.ts +2 -15
  67. package/dist/esm/test.js +37 -54
  68. package/dist/esm/test.js.map +1 -1
  69. package/dist/esm/tools/CustomToolRunnerTool.js +5 -5
  70. package/dist/esm/tools/CustomToolRunnerTool.js.map +1 -1
  71. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js +9 -11
  72. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js.map +1 -1
  73. package/dist/esm/tools/Tool.d.ts +2 -2
  74. package/dist/esm/tools/Tool.js +4 -4
  75. package/dist/esm/tools/Tool.js.map +1 -1
  76. package/dist/esm/utils/PlaywrightUtils.js +0 -2
  77. package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
  78. package/dist/main.d.ts +6 -6
  79. package/dist/main.js +50 -39
  80. package/dist/main.js.map +1 -1
  81. package/dist/managers/AdminApiController.js +12 -25
  82. package/dist/managers/AdminApiController.js.map +1 -1
  83. package/dist/managers/CodeGenerator.d.ts +8 -0
  84. package/dist/managers/CodeGenerator.js +25 -9
  85. package/dist/managers/CodeGenerator.js.map +1 -1
  86. package/dist/managers/DonobuFlow.js +4 -2
  87. package/dist/managers/DonobuFlow.js.map +1 -1
  88. package/dist/managers/DonobuFlowsManager.js +16 -7
  89. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  90. package/dist/managers/DonobuMcpServer.d.ts +24 -0
  91. package/dist/managers/DonobuMcpServer.js +146 -0
  92. package/dist/managers/DonobuMcpServer.js.map +1 -0
  93. package/dist/managers/DonobuStack.d.ts +19 -0
  94. package/dist/managers/DonobuStack.js +29 -0
  95. package/dist/managers/DonobuStack.js.map +1 -0
  96. package/dist/managers/ToolManager.d.ts +1 -2
  97. package/dist/managers/ToolManager.js +14 -14
  98. package/dist/managers/ToolManager.js.map +1 -1
  99. package/dist/models/BrowserFramework.d.ts +8 -15
  100. package/dist/models/BrowserFramework.js +74 -96
  101. package/dist/models/BrowserFramework.js.map +1 -1
  102. package/dist/models/CustomTool.d.ts +1 -1
  103. package/dist/persistence/DonobuSqliteDb.js +3 -2
  104. package/dist/persistence/DonobuSqliteDb.js.map +1 -1
  105. package/dist/test.d.ts +2 -15
  106. package/dist/test.js +37 -54
  107. package/dist/test.js.map +1 -1
  108. package/dist/tools/CustomToolRunnerTool.js +5 -5
  109. package/dist/tools/CustomToolRunnerTool.js.map +1 -1
  110. package/dist/tools/GoToGoogleMapsStreetViewTool.js +9 -11
  111. package/dist/tools/GoToGoogleMapsStreetViewTool.js.map +1 -1
  112. package/dist/tools/Tool.d.ts +2 -2
  113. package/dist/tools/Tool.js +4 -4
  114. package/dist/tools/Tool.js.map +1 -1
  115. package/dist/utils/PlaywrightUtils.js +0 -2
  116. package/dist/utils/PlaywrightUtils.js.map +1 -1
  117. package/package.json +1 -1
  118. package/dist/apis/GptResourcesApi.d.ts +0 -20
  119. package/dist/apis/GptResourcesApi.js +0 -53
  120. package/dist/apis/GptResourcesApi.js.map +0 -1
  121. package/dist/apis/KeysApi.d.ts +0 -25
  122. package/dist/apis/KeysApi.js +0 -64
  123. package/dist/apis/KeysApi.js.map +0 -1
  124. package/dist/assets/Donobu.entitlements.plist +0 -28
  125. package/dist/clients/GoogleGptClient2.d.ts +0 -18
  126. package/dist/clients/GoogleGptClient2.js +0 -237
  127. package/dist/clients/GoogleGptClient2.js.map +0 -1
  128. package/dist/donobu.fixtures.d.ts +0 -57
  129. package/dist/donobu.fixtures.js +0 -167
  130. package/dist/donobu.fixtures.js.map +0 -1
  131. package/dist/esm/apis/GptResourcesApi.d.ts +0 -20
  132. package/dist/esm/apis/GptResourcesApi.js +0 -53
  133. package/dist/esm/apis/GptResourcesApi.js.map +0 -1
  134. package/dist/esm/apis/KeysApi.d.ts +0 -25
  135. package/dist/esm/apis/KeysApi.js +0 -64
  136. package/dist/esm/apis/KeysApi.js.map +0 -1
  137. package/dist/esm/assets/Donobu.entitlements.plist +0 -28
  138. package/dist/esm/donobu.fixtures.d.ts +0 -57
  139. package/dist/esm/donobu.fixtures.js +0 -167
  140. package/dist/esm/donobu.fixtures.js.map +0 -1
  141. package/dist/esm/exceptions/GptResourceNotFoundException.d.ts +0 -8
  142. package/dist/esm/exceptions/GptResourceNotFoundException.js +0 -16
  143. package/dist/esm/exceptions/GptResourceNotFoundException.js.map +0 -1
  144. package/dist/esm/managers/FlowsPersistence.d.ts +0 -79
  145. package/dist/esm/managers/FlowsPersistence.js +0 -3
  146. package/dist/esm/managers/FlowsPersistence.js.map +0 -1
  147. package/dist/esm/managers/FlowsPersistenceAwsS3.d.ts +0 -48
  148. package/dist/esm/managers/FlowsPersistenceAwsS3.js +0 -284
  149. package/dist/esm/managers/FlowsPersistenceAwsS3.js.map +0 -1
  150. package/dist/esm/managers/FlowsPersistenceFactory.d.ts +0 -9
  151. package/dist/esm/managers/FlowsPersistenceFactory.js +0 -3
  152. package/dist/esm/managers/FlowsPersistenceFactory.js.map +0 -1
  153. package/dist/esm/managers/FlowsPersistenceFactoryImpl.d.ts +0 -57
  154. package/dist/esm/managers/FlowsPersistenceFactoryImpl.js +0 -119
  155. package/dist/esm/managers/FlowsPersistenceFactoryImpl.js.map +0 -1
  156. package/dist/esm/managers/FlowsPersistenceFactoryPreset.d.ts +0 -12
  157. package/dist/esm/managers/FlowsPersistenceFactoryPreset.js +0 -25
  158. package/dist/esm/managers/FlowsPersistenceFactoryPreset.js.map +0 -1
  159. package/dist/esm/managers/FlowsPersistenceFilesystem.d.ts +0 -33
  160. package/dist/esm/managers/FlowsPersistenceFilesystem.js +0 -180
  161. package/dist/esm/managers/FlowsPersistenceFilesystem.js.map +0 -1
  162. package/dist/esm/managers/FlowsPersistenceGoogleCloudStorage.d.ts +0 -40
  163. package/dist/esm/managers/FlowsPersistenceGoogleCloudStorage.js +0 -209
  164. package/dist/esm/managers/FlowsPersistenceGoogleCloudStorage.js.map +0 -1
  165. package/dist/esm/managers/FlowsPersistenceSupabase.d.ts +0 -33
  166. package/dist/esm/managers/FlowsPersistenceSupabase.js +0 -152
  167. package/dist/esm/managers/FlowsPersistenceSupabase.js.map +0 -1
  168. package/dist/esm/managers/FlowsPersistenceVolatile.d.ts +0 -30
  169. package/dist/esm/managers/FlowsPersistenceVolatile.js +0 -103
  170. package/dist/esm/managers/FlowsPersistenceVolatile.js.map +0 -1
  171. package/dist/esm/managers/GptPlatformApiKeysManager.d.ts +0 -36
  172. package/dist/esm/managers/GptPlatformApiKeysManager.js +0 -3
  173. package/dist/esm/managers/GptPlatformApiKeysManager.js.map +0 -1
  174. package/dist/esm/managers/GptPlatformApiKeysManagerFilesystem.d.ts +0 -29
  175. package/dist/esm/managers/GptPlatformApiKeysManagerFilesystem.js +0 -136
  176. package/dist/esm/managers/GptPlatformApiKeysManagerFilesystem.js.map +0 -1
  177. package/dist/esm/managers/GptPlatformApiKeysManagerVolatile.d.ts +0 -35
  178. package/dist/esm/managers/GptPlatformApiKeysManagerVolatile.js +0 -51
  179. package/dist/esm/managers/GptPlatformApiKeysManagerVolatile.js.map +0 -1
  180. package/dist/esm/managers/GptResourcesManager.d.ts +0 -39
  181. package/dist/esm/managers/GptResourcesManager.js +0 -130
  182. package/dist/esm/managers/GptResourcesManager.js.map +0 -1
  183. package/dist/esm/managers/SelectorGenerator.d.ts +0 -8
  184. package/dist/esm/managers/SelectorGenerator.js +0 -15
  185. package/dist/esm/managers/SelectorGenerator.js.map +0 -1
  186. package/dist/esm/models/ElementSelectorForReplay.d.ts +0 -14
  187. package/dist/esm/models/ElementSelectorForReplay.js +0 -3
  188. package/dist/esm/models/ElementSelectorForReplay.js.map +0 -1
  189. package/dist/esm/models/GptResource.d.ts +0 -33
  190. package/dist/esm/models/GptResource.js +0 -3
  191. package/dist/esm/models/GptResource.js.map +0 -1
  192. package/dist/esm/persistence/AgentsPersistenceFilesystem.d.ts +0 -15
  193. package/dist/esm/persistence/AgentsPersistenceFilesystem.js +0 -48
  194. package/dist/esm/persistence/AgentsPersistenceFilesystem.js.map +0 -1
  195. package/dist/esm/persistence/GptConfigsPersistenceFilesystem.d.ts +0 -16
  196. package/dist/esm/persistence/GptConfigsPersistenceFilesystem.js +0 -54
  197. package/dist/esm/persistence/GptConfigsPersistenceFilesystem.js.map +0 -1
  198. package/dist/esm/persistence/GptResourcesPersistence.d.ts +0 -11
  199. package/dist/esm/persistence/GptResourcesPersistence.js +0 -3
  200. package/dist/esm/persistence/GptResourcesPersistence.js.map +0 -1
  201. package/dist/esm/persistence/GptResourcesPersistenceFilesystem.d.ts +0 -20
  202. package/dist/esm/persistence/GptResourcesPersistenceFilesystem.js +0 -79
  203. package/dist/esm/persistence/GptResourcesPersistenceFilesystem.js.map +0 -1
  204. package/dist/esm/persistence/GptResourcesPersistenceVolatile.d.ts +0 -14
  205. package/dist/esm/persistence/GptResourcesPersistenceVolatile.js +0 -32
  206. package/dist/esm/persistence/GptResourcesPersistenceVolatile.js.map +0 -1
  207. package/dist/esm/testfixtures.d.ts +0 -66
  208. package/dist/esm/testfixtures.js +0 -288
  209. package/dist/esm/testfixtures.js.map +0 -1
  210. package/dist/esm/tools/AssertTextVisibility.d.ts +0 -19
  211. package/dist/esm/tools/AssertTextVisibility.js +0 -32
  212. package/dist/esm/tools/AssertTextVisibility.js.map +0 -1
  213. package/dist/esm/tools/ClickButtonTool.d.ts +0 -14
  214. package/dist/esm/tools/ClickButtonTool.js +0 -36
  215. package/dist/esm/tools/ClickButtonTool.js.map +0 -1
  216. package/dist/esm/tools/NavigateToWebpageTool.d.ts +0 -20
  217. package/dist/esm/tools/NavigateToWebpageTool.js +0 -40
  218. package/dist/esm/tools/NavigateToWebpageTool.js.map +0 -1
  219. package/dist/esm/utils/DirectoryUtils.d.ts +0 -11
  220. package/dist/esm/utils/DirectoryUtils.js +0 -37
  221. package/dist/esm/utils/DirectoryUtils.js.map +0 -1
  222. package/dist/exceptions/GptResourceNotFoundException.d.ts +0 -8
  223. package/dist/exceptions/GptResourceNotFoundException.js +0 -16
  224. package/dist/exceptions/GptResourceNotFoundException.js.map +0 -1
  225. package/dist/managers/FlowsPersistence.d.ts +0 -79
  226. package/dist/managers/FlowsPersistence.js +0 -3
  227. package/dist/managers/FlowsPersistence.js.map +0 -1
  228. package/dist/managers/FlowsPersistenceAwsS3.d.ts +0 -48
  229. package/dist/managers/FlowsPersistenceAwsS3.js +0 -284
  230. package/dist/managers/FlowsPersistenceAwsS3.js.map +0 -1
  231. package/dist/managers/FlowsPersistenceFactory.d.ts +0 -9
  232. package/dist/managers/FlowsPersistenceFactory.js +0 -3
  233. package/dist/managers/FlowsPersistenceFactory.js.map +0 -1
  234. package/dist/managers/FlowsPersistenceFactoryImpl.d.ts +0 -57
  235. package/dist/managers/FlowsPersistenceFactoryImpl.js +0 -119
  236. package/dist/managers/FlowsPersistenceFactoryImpl.js.map +0 -1
  237. package/dist/managers/FlowsPersistenceFactoryPreset.d.ts +0 -12
  238. package/dist/managers/FlowsPersistenceFactoryPreset.js +0 -25
  239. package/dist/managers/FlowsPersistenceFactoryPreset.js.map +0 -1
  240. package/dist/managers/FlowsPersistenceFilesystem.d.ts +0 -33
  241. package/dist/managers/FlowsPersistenceFilesystem.js +0 -180
  242. package/dist/managers/FlowsPersistenceFilesystem.js.map +0 -1
  243. package/dist/managers/FlowsPersistenceGoogleCloudStorage.d.ts +0 -40
  244. package/dist/managers/FlowsPersistenceGoogleCloudStorage.js +0 -209
  245. package/dist/managers/FlowsPersistenceGoogleCloudStorage.js.map +0 -1
  246. package/dist/managers/FlowsPersistenceSupabase.d.ts +0 -33
  247. package/dist/managers/FlowsPersistenceSupabase.js +0 -152
  248. package/dist/managers/FlowsPersistenceSupabase.js.map +0 -1
  249. package/dist/managers/FlowsPersistenceVolatile.d.ts +0 -30
  250. package/dist/managers/FlowsPersistenceVolatile.js +0 -103
  251. package/dist/managers/FlowsPersistenceVolatile.js.map +0 -1
  252. package/dist/managers/GptPlatformApiKeysManager.d.ts +0 -36
  253. package/dist/managers/GptPlatformApiKeysManager.js +0 -3
  254. package/dist/managers/GptPlatformApiKeysManager.js.map +0 -1
  255. package/dist/managers/GptPlatformApiKeysManagerFilesystem.d.ts +0 -29
  256. package/dist/managers/GptPlatformApiKeysManagerFilesystem.js +0 -136
  257. package/dist/managers/GptPlatformApiKeysManagerFilesystem.js.map +0 -1
  258. package/dist/managers/GptPlatformApiKeysManagerVolatile.d.ts +0 -35
  259. package/dist/managers/GptPlatformApiKeysManagerVolatile.js +0 -51
  260. package/dist/managers/GptPlatformApiKeysManagerVolatile.js.map +0 -1
  261. package/dist/managers/GptResourcesManager.d.ts +0 -44
  262. package/dist/managers/GptResourcesManager.js +0 -180
  263. package/dist/managers/GptResourcesManager.js.map +0 -1
  264. package/dist/managers/SelectorGenerator.d.ts +0 -8
  265. package/dist/managers/SelectorGenerator.js +0 -15
  266. package/dist/managers/SelectorGenerator.js.map +0 -1
  267. package/dist/models/BaseToolParam.d.ts +0 -9
  268. package/dist/models/BaseToolParam.js +0 -3
  269. package/dist/models/BaseToolParam.js.map +0 -1
  270. package/dist/models/BaseToolParameters.d.ts +0 -9
  271. package/dist/models/BaseToolParameters.js +0 -3
  272. package/dist/models/BaseToolParameters.js.map +0 -1
  273. package/dist/models/DonobuAnnotated.d.ts +0 -23
  274. package/dist/models/DonobuAnnotated.js +0 -12
  275. package/dist/models/DonobuAnnotated.js.map +0 -1
  276. package/dist/models/ElementSelectorForReplay.d.ts +0 -14
  277. package/dist/models/ElementSelectorForReplay.js +0 -3
  278. package/dist/models/ElementSelectorForReplay.js.map +0 -1
  279. package/dist/models/GptResource.d.ts +0 -33
  280. package/dist/models/GptResource.js +0 -3
  281. package/dist/models/GptResource.js.map +0 -1
  282. package/dist/persistence/AgentsPersistenceFilesystem.d.ts +0 -15
  283. package/dist/persistence/AgentsPersistenceFilesystem.js +0 -48
  284. package/dist/persistence/AgentsPersistenceFilesystem.js.map +0 -1
  285. package/dist/persistence/GptConfigsPersistenceFilesystem.d.ts +0 -16
  286. package/dist/persistence/GptConfigsPersistenceFilesystem.js +0 -54
  287. package/dist/persistence/GptConfigsPersistenceFilesystem.js.map +0 -1
  288. package/dist/persistence/GptResourcesPersistence.d.ts +0 -11
  289. package/dist/persistence/GptResourcesPersistence.js +0 -3
  290. package/dist/persistence/GptResourcesPersistence.js.map +0 -1
  291. package/dist/persistence/GptResourcesPersistenceFilesystem.d.ts +0 -20
  292. package/dist/persistence/GptResourcesPersistenceFilesystem.js +0 -79
  293. package/dist/persistence/GptResourcesPersistenceFilesystem.js.map +0 -1
  294. package/dist/persistence/GptResourcesPersistenceVolatile.d.ts +0 -14
  295. package/dist/persistence/GptResourcesPersistenceVolatile.js +0 -32
  296. package/dist/persistence/GptResourcesPersistenceVolatile.js.map +0 -1
  297. package/dist/testfixtures.d.ts +0 -66
  298. package/dist/testfixtures.js +0 -288
  299. package/dist/testfixtures.js.map +0 -1
  300. package/dist/tools/AssertTextVisibility.d.ts +0 -19
  301. package/dist/tools/AssertTextVisibility.js +0 -32
  302. package/dist/tools/AssertTextVisibility.js.map +0 -1
  303. package/dist/tools/ClickButtonTool.d.ts +0 -14
  304. package/dist/tools/ClickButtonTool.js +0 -36
  305. package/dist/tools/ClickButtonTool.js.map +0 -1
  306. package/dist/tools/NavigateToWebpage.d.ts +0 -19
  307. package/dist/tools/NavigateToWebpage.js +0 -25
  308. package/dist/tools/NavigateToWebpage.js.map +0 -1
  309. package/dist/tools/NavigateToWebpageTool.d.ts +0 -20
  310. package/dist/tools/NavigateToWebpageTool.js +0 -40
  311. package/dist/tools/NavigateToWebpageTool.js.map +0 -1
  312. package/dist/utils/DirectoryUtils.d.ts +0 -11
  313. package/dist/utils/DirectoryUtils.js +0 -37
  314. package/dist/utils/DirectoryUtils.js.map +0 -1
@@ -1,288 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.test = void 0;
7
- exports.getBrowserStorageState = getBrowserStorageState;
8
- exports.getBrowserStorageStateFixture = getBrowserStorageStateFixture;
9
- exports.getAnthropicClient = getAnthropicClient;
10
- exports.getAnthropicClientFixture = getAnthropicClientFixture;
11
- exports.getGoogleGeminiClient = getGoogleGeminiClient;
12
- exports.getGoogleGeminiClientFixture = getGoogleGeminiClientFixture;
13
- exports.getOpenAiClient = getOpenAiClient;
14
- exports.getOpenAiClientFixture = getOpenAiClientFixture;
15
- exports.getAnthropicAwsBedrockClient = getAnthropicAwsBedrockClient;
16
- exports.getAnthropicAwsBedrockClientFixture = getAnthropicAwsBedrockClientFixture;
17
- /**
18
- * This code extends the Playwright Page object and test fixture with
19
- * test-related Donobu methods.
20
- */
21
- const crypto_1 = __importDefault(require("crypto"));
22
- const test_1 = require("@playwright/test");
23
- const DonobuFlowsManager_1 = require("./managers/DonobuFlowsManager");
24
- const FlowsPersistenceFactoryImpl_1 = require("./persistence/FlowsPersistenceFactoryImpl");
25
- const RequestContextHolder_1 = require("./managers/RequestContextHolder");
26
- const ToolManager_1 = require("./managers/ToolManager");
27
- const ToolTipper_1 = require("./managers/ToolTipper");
28
- const FlowMetadata_1 = require("./models/FlowMetadata");
29
- const PlaywrightUtils_1 = require("./utils/PlaywrightUtils");
30
- const MiscUtils_1 = require("./utils/MiscUtils");
31
- const DonobuDeploymentEnvironment_1 = require("./models/DonobuDeploymentEnvironment");
32
- const GptConfigsManager_1 = require("./managers/GptConfigsManager");
33
- const AgentsManager_1 = require("./managers/AgentsManager");
34
- const GptConfigsPersistenceSqlite_1 = require("./persistence/GptConfigsPersistenceSqlite");
35
- const DonobuSqliteDb_1 = require("./persistence/DonobuSqliteDb");
36
- const AgentsPersistenceSqlite_1 = require("./persistence/AgentsPersistenceSqlite");
37
- const GptClientFactory_1 = require("./clients/GptClientFactory");
38
- async function setupDonobu() {
39
- const donobuVersion = MiscUtils_1.MiscUtils.DONOBU_VERSION;
40
- const deploymentEnvironment = DonobuDeploymentEnvironment_1.DonobuDeploymentEnvironment.LOCAL;
41
- const sqliteDb = (0, DonobuSqliteDb_1.getDonobuSqliteDatabase)();
42
- const gptConfigsPersistence = await GptConfigsPersistenceSqlite_1.GptConfigsPersistenceSqlite.create(sqliteDb);
43
- const gptConfigsManager = await GptConfigsManager_1.GptConfigsManager.create(gptConfigsPersistence);
44
- const agentsPersistence = await AgentsPersistenceSqlite_1.AgentsPersistenceSqlite.create(sqliteDb);
45
- const agentsManager = await AgentsManager_1.AgentsManager.create(agentsPersistence, gptConfigsManager);
46
- const flowsPersistenceFactory = await FlowsPersistenceFactoryImpl_1.FlowsPersistenceFactoryImpl.fromEnvironment(DonobuDeploymentEnvironment_1.DonobuDeploymentEnvironment.LOCAL, new RequestContextHolder_1.RequestContextHolder());
47
- const toolManager = new ToolManager_1.ToolManager(ToolManager_1.ToolManager.ALL_TOOLS);
48
- const flowsManager = new DonobuFlowsManager_1.DonobuFlowsManager(deploymentEnvironment, gptConfigsManager, agentsManager, flowsPersistenceFactory, toolManager.tools);
49
- const persistenceLayer = await flowsPersistenceFactory.createPersistenceLayer();
50
- return {
51
- donobuVersion,
52
- deploymentEnvironment,
53
- flowsPersistenceFactory,
54
- toolManager,
55
- flowsManager,
56
- persistenceLayer,
57
- };
58
- }
59
- async function getBrowserStorageState(flowIdOrName) {
60
- return (await setupDonobu()).flowsManager.getBrowserStorageState(flowIdOrName);
61
- }
62
- function getBrowserStorageStateFixture(flowIdOrName) {
63
- return async ({}, use) => {
64
- const storage = await (await setupDonobu()).flowsManager.getBrowserStorageState(flowIdOrName);
65
- await use(storage);
66
- };
67
- }
68
- async function getAnthropicClient(modelName, apiKey) {
69
- const divinedApiKey = apiKey || process.env.ANTHROPIC_API_KEY;
70
- if (!divinedApiKey) {
71
- throw new Error('An API key is required to use the Anthropic API. Please provide one as an argument or set it using the ANTHROPIC_API_KEY environment variable.');
72
- }
73
- return GptClientFactory_1.GptClientFactory.createFromGptConfig({
74
- type: 'ANTHROPIC',
75
- apiKey: divinedApiKey,
76
- modelName: modelName,
77
- });
78
- }
79
- function getAnthropicClientFixture(modelName, apiKey) {
80
- return async ({}, use) => {
81
- const client = await getAnthropicClient(modelName, apiKey);
82
- await use(client);
83
- };
84
- }
85
- async function getGoogleGeminiClient(modelName, apiKey) {
86
- const divinedApiKey = apiKey || process.env.GOOGLE_GENERATIVE_AI_API_KEY;
87
- if (!divinedApiKey) {
88
- throw new Error('An API key is required to use the Google Gemini API. Please provide one as an argument or set it using the GOOGLE_GENERATIVE_AI_API_KEY environment variable.');
89
- }
90
- return GptClientFactory_1.GptClientFactory.createFromGptConfig({
91
- type: 'GOOGLE_GEMINI',
92
- apiKey: divinedApiKey,
93
- modelName: modelName,
94
- });
95
- }
96
- function getGoogleGeminiClientFixture(modelName, apiKey) {
97
- return async ({}, use) => {
98
- const client = await getGoogleGeminiClient(modelName, apiKey);
99
- await use(client);
100
- };
101
- }
102
- async function getOpenAiClient(modelName, apiKey) {
103
- const divinedApiKey = apiKey || process.env.OPENAI_API_KEY;
104
- if (!divinedApiKey) {
105
- throw new Error('An API key is required to use the OpenAI API. Please provide one as an argument or set it using the OPENAI_API_KEY environment variable.');
106
- }
107
- return GptClientFactory_1.GptClientFactory.createFromGptConfig({
108
- type: 'OPENAI',
109
- apiKey: divinedApiKey,
110
- modelName: modelName,
111
- });
112
- }
113
- function getOpenAiClientFixture(modelName, apiKey) {
114
- return async ({}, use) => {
115
- const client = await getOpenAiClient(modelName, apiKey);
116
- await use(client);
117
- };
118
- }
119
- async function getAnthropicAwsBedrockClient(modelName, region, accessKeyId, secretAccessKey) {
120
- const divinedAccessKeyId = accessKeyId || process.env.AWS_ACCESS_KEY_ID;
121
- const divinedSecretAccessKey = secretAccessKey || process.env.AWS_SECRET_ACCESS_KEY;
122
- if (!divinedAccessKeyId || !divinedSecretAccessKey) {
123
- throw new Error('AWS access key ID and secret access key are required to use the Anthropic AWS Bedrock API. Please provide them as arguments or set them using the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables.');
124
- }
125
- return GptClientFactory_1.GptClientFactory.createFromGptConfig({
126
- type: 'ANTHROPIC_AWS_BEDROCK',
127
- region: region,
128
- modelName: modelName,
129
- accessKeyId: divinedAccessKeyId,
130
- secretAccessKey: divinedSecretAccessKey,
131
- });
132
- }
133
- function getAnthropicAwsBedrockClientFixture(modelName, region, accessKeyId, secretAccessKey) {
134
- return async ({}, use) => {
135
- const client = await getAnthropicAwsBedrockClient(modelName, region, accessKeyId, secretAccessKey);
136
- await use(client);
137
- };
138
- }
139
- exports.test = test_1.test.extend({
140
- // 1) Declare `gptClient` as an "option" fixture with a default of `undefined`.
141
- gptClient: [
142
- undefined, // default
143
- { option: true }, // so that test.use({ gptClient: ... }) can override
144
- ],
145
- // Override the default page fixture
146
- page: async ({ page, gptClient }, use, testInfo) => {
147
- // Patch the page with "run", but do it lazily
148
- const donobu = await setupDonobu();
149
- await page
150
- .context()
151
- .addInitScript(PlaywrightUtils_1.PlaywrightUtils.accessibilityTestInitScript());
152
- await page
153
- .context()
154
- .addInitScript(PlaywrightUtils_1.PlaywrightUtils.clickableElementsTrackerInitScript());
155
- await page
156
- .context()
157
- .addInitScript(PlaywrightUtils_1.PlaywrightUtils.dialogPromptTrackerInitScript());
158
- await page
159
- .context()
160
- .addInitScript(PlaywrightUtils_1.PlaywrightUtils.smartSelectorGeneratorInitScript());
161
- let isInitialized = false;
162
- async function maybeInitDonobu() {
163
- if (isInitialized) {
164
- return;
165
- }
166
- const donobuTestFlowMetadata = {
167
- id: crypto_1.default.randomUUID(),
168
- name: testInfo.title,
169
- createdWithDonobuVersion: donobu.donobuVersion,
170
- initialBrowserState: null,
171
- persistBrowserState: null,
172
- gptConfigName: null,
173
- hasGptConfigNameOverride: false,
174
- customTools: null,
175
- defaultToolTipDurationMilliseconds: 0,
176
- runMode: FlowMetadata_1.RunMode.DETERMINISTIC,
177
- isControlPanelEnabled: false,
178
- deviceName: null,
179
- remoteBrowserInstanceUrl: null,
180
- callbackUrl: null,
181
- headless: true,
182
- targetWebsite: 'https://example.com',
183
- overallObjective: null,
184
- allowedTools: [],
185
- resultJsonSchema: null,
186
- result: null,
187
- inputTokensUsed: 0,
188
- completionTokensUsed: 0,
189
- iterations: 0,
190
- maxIterations: 0,
191
- startedAt: new Date().getTime(),
192
- completedAt: null,
193
- state: FlowMetadata_1.State.RUNNING_ACTION,
194
- nextState: null,
195
- };
196
- await donobu.persistenceLayer.saveMetadata(donobuTestFlowMetadata);
197
- page._donobu = donobu;
198
- page._donobuFlowMetadata = donobuTestFlowMetadata;
199
- page._gptClient = gptClient ?? null;
200
- isInitialized = true;
201
- }
202
- page.run = async (toolName, toolParams) => {
203
- await maybeInitDonobu();
204
- const clonedParams = toolParams
205
- ? JSON.parse(JSON.stringify(toolParams))
206
- : {};
207
- clonedParams.rationale ||= '';
208
- const toolCallContext = {
209
- flowsManager: page._donobu.flowsManager,
210
- persistence: page._donobu.persistenceLayer,
211
- gptClient: page._gptClient,
212
- toolTipper: new ToolTipper_1.ToolTipper(0),
213
- proposedToolCalls: [],
214
- invokedToolCalls: [],
215
- page: page,
216
- metadata: page._donobuFlowMetadata,
217
- toolCallId: clonedParams.toolCallId ?? MiscUtils_1.MiscUtils.createAdHocToolCallId(),
218
- };
219
- const proposedToolCall = {
220
- name: toolName,
221
- parameters: clonedParams,
222
- toolCallId: null,
223
- };
224
- return page._donobu.toolManager
225
- .invokeTool(toolCallContext, proposedToolCall, false)
226
- .then(async (result) => {
227
- await page._donobu.persistenceLayer.saveMetadata(page._donobuFlowMetadata);
228
- await page._donobu.persistenceLayer.saveToolCall(page._donobuFlowMetadata.id, result);
229
- return result;
230
- })
231
- .then((result) => result.outcome);
232
- };
233
- page.analyzePageText = async (params) => {
234
- return page.run('analyzePageText', params);
235
- };
236
- page.chooseSelectOption = async (params) => {
237
- return page.run('chooseSelectOption', params);
238
- };
239
- page.clickElement = async (params) => {
240
- return page.run('click', params);
241
- };
242
- page.createCookieReport = async () => {
243
- return page.run('createCookieReport');
244
- };
245
- page.detectBrokenLinks = async () => {
246
- return page.run('detectBrokenLinks');
247
- };
248
- page.hoverOverElement = async (params) => {
249
- return page.run('hover', params);
250
- };
251
- page.inputRandomizedEmailAddress = async (params) => {
252
- return page.run('inputRandomizedEmailAddress', params);
253
- };
254
- page.inputText = async (params) => {
255
- return page.run('inputText', params);
256
- };
257
- page.pressKey = async (params) => {
258
- return page.run('pressKey', params);
259
- };
260
- page.runAccessibilityTest = async () => {
261
- return page.run('runAccessibilityTest');
262
- };
263
- page.scroll = async (params) => {
264
- return page.run('scrollPage', params);
265
- };
266
- page.visuallyAssert = async (params) => {
267
- return page.run('assert', params);
268
- };
269
- try {
270
- // Let Playwright continue and give tests the patched page.
271
- await use(page);
272
- }
273
- finally {
274
- try {
275
- if (page._donobuFlowMetadata) {
276
- page._donobuFlowMetadata.state = FlowMetadata_1.State.SUCCESS;
277
- page._donobuFlowMetadata.completedAt = new Date().getTime();
278
- await page._donobu.persistenceLayer.saveMetadata(page._donobuFlowMetadata);
279
- }
280
- }
281
- catch (error) {
282
- // Log but don't throw, to ensure cleanup continues.
283
- console.error('Error during test cleanup:', error);
284
- }
285
- }
286
- },
287
- });
288
- //# sourceMappingURL=testfixtures.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testfixtures.js","sourceRoot":"","sources":["../src/testfixtures.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import { Tool } from './Tool';
2
- import { ToolCallContext } from '../models/ToolCallContext';
3
- import { ToolCallResult } from '../models/ToolCallResult';
4
- import { BaseToolGptParameters } from '../models/BaseToolGptParameters';
5
- export interface AssertTextVisibilityToolCoreParameters {
6
- /**
7
- * The text to check visibility for in the current page.
8
- */
9
- text: string;
10
- }
11
- interface AssertTextVisibilityToolGptParameters extends BaseToolGptParameters, AssertTextVisibilityToolCoreParameters {
12
- }
13
- export declare class AssertTextVisibilityTool extends Tool<AssertTextVisibilityToolCoreParameters, AssertTextVisibilityToolGptParameters> {
14
- static readonly NAME = "assertTextVisibility";
15
- constructor();
16
- call(context: ToolCallContext, parameters: AssertTextVisibilityToolCoreParameters): Promise<ToolCallResult>;
17
- callFromGpt(context: ToolCallContext, parameters: AssertTextVisibilityToolGptParameters): Promise<ToolCallResult>;
18
- }
19
- export {};
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AssertTextVisibilityTool = void 0;
4
- const Tool_1 = require("./Tool");
5
- const ToolCallResult_1 = require("../models/ToolCallResult");
6
- class AssertTextVisibilityTool extends Tool_1.Tool {
7
- static NAME = 'assertTextVisibility';
8
- constructor() {
9
- super(AssertTextVisibilityTool.NAME, 'This method will test that the given text is visible in the current page.', 'AssertTextVisibilityToolCoreParameters', 'AssertTextVisibilityToolGptParameters', true);
10
- }
11
- async call(context, parameters) {
12
- const locator = context.page.getByText(parameters.text);
13
- const count = await locator.count();
14
- for (let i = 0; i < count; ++i) {
15
- const element = locator.nth(i);
16
- await element.scrollIntoViewIfNeeded();
17
- if (await element.isVisible()) {
18
- return ToolCallResult_1.ToolCallResult.successful();
19
- }
20
- }
21
- return {
22
- isSuccessful: false,
23
- forLlm: `Failed to find the text: "${parameters.text}"`,
24
- metadata: null,
25
- };
26
- }
27
- async callFromGpt(context, parameters) {
28
- return this.call(context, parameters);
29
- }
30
- }
31
- exports.AssertTextVisibilityTool = AssertTextVisibilityTool;
32
- //# sourceMappingURL=AssertTextVisibility.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AssertTextVisibility.js","sourceRoot":"","sources":["../../src/tools/AssertTextVisibility.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAE9B,6DAA0D;AAc1D,MAAa,wBAAyB,SAAQ,WAG7C;IACQ,MAAM,CAAU,IAAI,GAAG,sBAAsB,CAAC;IAErD;QACE,KAAK,CACH,wBAAwB,CAAC,IAAI,EAC7B,2EAA2E,EAC3E,wCAAwC,EACxC,uCAAuC,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,IAAI,CACxB,OAAwB,EACxB,UAAkD;QAElD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,OAAO,CAAC,sBAAsB,EAAE,CAAC;YAEvC,IAAI,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC9B,OAAO,+BAAc,CAAC,UAAU,EAAE,CAAC;YACrC,CAAC;QACH,CAAC;QAED,OAAO;YACL,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,6BAA6B,UAAU,CAAC,IAAI,GAAG;YACvD,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,WAAW,CAC/B,OAAwB,EACxB,UAAiD;QAEjD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;;AA5CH,4DA6CC"}
@@ -1,14 +0,0 @@
1
- import { Locator } from 'playwright';
2
- import { ToolCallContext } from '../models/ToolCallContext';
3
- import { ReplayableInteraction, AnnotationBasedParameters, SelectorBasedParameters } from './ReplayableInteraction';
4
- export interface ClickButtonToolCoreParameters {
5
- }
6
- export interface SelectorBasedClickButtonToolParameters extends SelectorBasedParameters, ClickButtonToolCoreParameters {
7
- }
8
- export interface AnnotationBasedClickButtonToolParameters extends AnnotationBasedParameters, ClickButtonToolCoreParameters {
9
- }
10
- export declare class ClickButtonTool extends ReplayableInteraction<ClickButtonToolCoreParameters, SelectorBasedClickButtonToolParameters, AnnotationBasedClickButtonToolParameters> {
11
- static readonly NAME = "clickButton";
12
- constructor();
13
- invoke(context: ToolCallContext, _parameters: ClickButtonToolCoreParameters, element: Locator): Promise<string>;
14
- }
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClickButtonTool = void 0;
4
- const ReplayableInteraction_1 = require("./ReplayableInteraction");
5
- const MiscUtils_1 = require("../utils/MiscUtils");
6
- class ClickButtonTool extends ReplayableInteraction_1.ReplayableInteraction {
7
- static NAME = 'clickButton';
8
- constructor() {
9
- super(ClickButtonTool.NAME, 'Click an element on a webpage.', 'SelectorBasedClickButtonToolParameters', 'AnnotationBasedClickButtonToolParameters');
10
- }
11
- async invoke(context, _parameters, element) {
12
- const page = context.page;
13
- const box = await element.boundingBox();
14
- if (!box) {
15
- throw new Error(`Failed to retrieve element bounding box for '${element}'; element may be offscreen or detached.`);
16
- }
17
- try {
18
- await element.click({
19
- delay: MiscUtils_1.MiscUtils.generateHumanLikeClickDurationInMs(),
20
- timeout: 1000,
21
- });
22
- return 'Clicked the element.';
23
- }
24
- catch (_error) {
25
- const x = box.x + box.width / 2;
26
- const y = box.y + box.height / 2;
27
- await page.mouse.move(x, y);
28
- await page.mouse.click(x, y, {
29
- delay: MiscUtils_1.MiscUtils.generateHumanLikeClickDurationInMs(),
30
- });
31
- return 'Clicked on the element.';
32
- }
33
- }
34
- }
35
- exports.ClickButtonTool = ClickButtonTool;
36
- //# sourceMappingURL=ClickButtonTool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClickButtonTool.js","sourceRoot":"","sources":["../../src/tools/ClickButtonTool.ts"],"names":[],"mappings":";;;AAEA,mEAIiC;AACjC,kDAA+C;AAU/C,MAAa,eAAgB,SAAQ,6CAIpC;IACQ,MAAM,CAAU,IAAI,GAAG,aAAa,CAAC;IAE5C;QACE,KAAK,CACH,eAAe,CAAC,IAAI,EACpB,gCAAgC,EAChC,wCAAwC,EACxC,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,OAAwB,EACxB,WAA0C,EAC1C,OAAgB;QAEhB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;QAExC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACb,gDAAgD,OAAO,0CAA0C,CAClG,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,KAAK,CAAC;gBAClB,KAAK,EAAE,qBAAS,CAAC,kCAAkC,EAAE;gBACrD,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,OAAO,sBAAsB,CAAC;QAChC,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YACjC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE;gBAC3B,KAAK,EAAE,qBAAS,CAAC,kCAAkC,EAAE;aACtD,CAAC,CAAC;YACH,OAAO,yBAAyB,CAAC;QACnC,CAAC;IACH,CAAC;;AA7CH,0CA8CC"}
@@ -1,19 +0,0 @@
1
- import { Tool } from './Tool';
2
- import { ToolCallContext } from '../models/ToolCallContext';
3
- import { ToolCallResult } from '../models/ToolCallResult';
4
- export interface NavigateToWebpageToolParameters {
5
- /**
6
- * The reason why this particular action is being taken. It MUST relate to the overall objective.
7
- */
8
- rationale: string;
9
- /**
10
- * The URL to navigate to. Must use HTTP or file protocol (example is https://google.com).
11
- */
12
- url: string;
13
- }
14
- /** Directly navigate to the specified URL. */
15
- export declare class NavigateToWebpageTool extends Tool<NavigateToWebpageToolParameters> {
16
- private static readonly VALID_PROTOCOLS;
17
- constructor();
18
- call(context: ToolCallContext, parameters: NavigateToWebpageToolParameters): Promise<ToolCallResult>;
19
- }
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NavigateToWebpageTool = void 0;
4
- const Tool_1 = require("./Tool");
5
- const ToolCallResult_1 = require("../models/ToolCallResult");
6
- /** Directly navigate to the specified URL. */
7
- class NavigateToWebpageTool extends Tool_1.Tool {
8
- static VALID_PROTOCOLS = ['https://', 'http://', 'file://'];
9
- constructor() {
10
- super('Navigate to the specified URL.', 'NavigateToWebpageToolParameters');
11
- }
12
- async call(context, parameters) {
13
- const page = context.page;
14
- const url = parameters.url.trim();
15
- if (NavigateToWebpageTool.VALID_PROTOCOLS.some((protocol) => url.startsWith(protocol))) {
16
- await page.goto(url);
17
- return ToolCallResult_1.ToolCallResult.successful();
18
- }
19
- else {
20
- return ToolCallResult_1.ToolCallResult.failed(`Will not navigate a URL not using the following prefixes: ${NavigateToWebpageTool.VALID_PROTOCOLS}`);
21
- }
22
- }
23
- }
24
- exports.NavigateToWebpageTool = NavigateToWebpageTool;
25
- //# sourceMappingURL=NavigateToWebpage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavigateToWebpage.js","sourceRoot":"","sources":["../../src/tools/NavigateToWebpage.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAE9B,6DAA0D;AAc1D,8CAA8C;AAC9C,MAAa,qBAAsB,SAAQ,WAAqC;IACtE,MAAM,CAAU,eAAe,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAE7E;QACE,KAAK,CAAC,gCAAgC,EAAE,iCAAiC,CAAC,CAAC;IAC7E,CAAC;IAEe,KAAK,CAAC,IAAI,CACxB,OAAwB,EACxB,UAA2C;QAE3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAElC,IACE,qBAAqB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtD,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CACzB,EACD,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,+BAAc,CAAC,UAAU,EAAE,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,+BAAc,CAAC,MAAM,CAC1B,6DAA6D,qBAAqB,CAAC,eAAe,EAAE,CACrG,CAAC;QACJ,CAAC;IACH,CAAC;;AA1BH,sDA2BC"}
@@ -1,20 +0,0 @@
1
- import { Tool } from './Tool';
2
- import { ToolCallContext } from '../models/ToolCallContext';
3
- import { ToolCallResult } from '../models/ToolCallResult';
4
- import { BaseToolGptParameters } from '../models/BaseToolGptParameters';
5
- export interface NavigateToWebpageToolCoreParameters {
6
- /**
7
- * The URL to navigate to. Must use HTTP or file protocol (example is https://google.com).
8
- */
9
- url: string;
10
- }
11
- export interface NavigateToWebpageToolGptParameters extends BaseToolGptParameters, NavigateToWebpageToolCoreParameters {
12
- }
13
- /** Directly navigate to the specified URL. */
14
- export declare class NavigateToWebpageTool extends Tool<NavigateToWebpageToolCoreParameters, NavigateToWebpageToolGptParameters> {
15
- static readonly NAME = "navigateToWebpage";
16
- private static readonly VALID_PROTOCOLS;
17
- constructor();
18
- call(context: ToolCallContext, parameters: NavigateToWebpageToolCoreParameters): Promise<ToolCallResult>;
19
- callFromGpt(context: ToolCallContext, parameters: NavigateToWebpageToolGptParameters): Promise<ToolCallResult>;
20
- }
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NavigateToWebpageTool = void 0;
4
- const Tool_1 = require("./Tool");
5
- const PlaywrightUtils_1 = require("../utils/PlaywrightUtils");
6
- /** Directly navigate to the specified URL. */
7
- class NavigateToWebpageTool extends Tool_1.Tool {
8
- static NAME = 'navigateToWebpage';
9
- static VALID_PROTOCOLS = ['https://', 'http://', 'file://'];
10
- constructor() {
11
- super(NavigateToWebpageTool.NAME, 'Navigate to the specified URL.', 'NavigateToWebpageToolCoreParameters', 'NavigateToWebpageToolGptParameters');
12
- }
13
- async call(context, parameters) {
14
- const page = context.page;
15
- const url = parameters.url.trim();
16
- if (NavigateToWebpageTool.VALID_PROTOCOLS.some((protocol) => url.startsWith(protocol))) {
17
- await page.goto(url, {
18
- waitUntil: 'domcontentloaded',
19
- });
20
- await PlaywrightUtils_1.PlaywrightUtils.waitForPageStability(page);
21
- return {
22
- isSuccessful: true,
23
- forLlm: `Successfully navigated to ${url}`,
24
- metadata: null,
25
- };
26
- }
27
- else {
28
- return {
29
- isSuccessful: false,
30
- forLlm: `Will not navigate a URL not using the following prefixes: ${NavigateToWebpageTool.VALID_PROTOCOLS}`,
31
- metadata: null,
32
- };
33
- }
34
- }
35
- async callFromGpt(context, parameters) {
36
- return this.call(context, parameters);
37
- }
38
- }
39
- exports.NavigateToWebpageTool = NavigateToWebpageTool;
40
- //# sourceMappingURL=NavigateToWebpageTool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavigateToWebpageTool.js","sourceRoot":"","sources":["../../src/tools/NavigateToWebpageTool.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAI9B,8DAA2D;AAY3D,8CAA8C;AAC9C,MAAa,qBAAsB,SAAQ,WAG1C;IACQ,MAAM,CAAU,IAAI,GAAG,mBAAmB,CAAC;IAE1C,MAAM,CAAU,eAAe,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAE7E;QACE,KAAK,CACH,qBAAqB,CAAC,IAAI,EAC1B,gCAAgC,EAChC,qCAAqC,EACrC,oCAAoC,CACrC,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,IAAI,CACxB,OAAwB,EACxB,UAA+C;QAE/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAElC,IACE,qBAAqB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtD,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CACzB,EACD,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,SAAS,EAAE,kBAAkB;aAC9B,CAAC,CAAC;YACH,MAAM,iCAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO;gBACL,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,6BAA6B,GAAG,EAAE;gBAC1C,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,6DAA6D,qBAAqB,CAAC,eAAe,EAAE;gBAC5G,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,CAAC;IACH,CAAC;IAEe,KAAK,CAAC,WAAW,CAC/B,OAAwB,EACxB,UAA8C;QAE9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;;AApDH,sDAqDC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * This is the base working directory for the entire application. Care is made to ensure we do not
3
- * access data outside of this directory to maintain proper permissions across platforms.
4
- * Returns platform-specific application data directories:
5
- * - macOS: ~/Library/Application Support/Donobu
6
- * - Windows: %APPDATA%/Donobu
7
- * - Linux: ~/.config/Donobu
8
- *
9
- * If the BASE_WORKING_DIR environment variable is set, its value is used instead.
10
- */
11
- export declare function baseWorkingDirectory(): string;
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.baseWorkingDirectory = baseWorkingDirectory;
4
- const path_1 = require("path");
5
- const os_1 = require("os");
6
- /**
7
- * This is the base working directory for the entire application. Care is made to ensure we do not
8
- * access data outside of this directory to maintain proper permissions across platforms.
9
- * Returns platform-specific application data directories:
10
- * - macOS: ~/Library/Application Support/Donobu
11
- * - Windows: %APPDATA%/Donobu
12
- * - Linux: ~/.config/Donobu
13
- *
14
- * If the BASE_WORKING_DIR environment variable is set, its value is used instead.
15
- */
16
- function baseWorkingDirectory() {
17
- const persistenceDirOverride = process.env['BASE_WORKING_DIR'];
18
- if (persistenceDirOverride) {
19
- return persistenceDirOverride;
20
- }
21
- const appName = 'Donobu';
22
- switch ((0, os_1.platform)()) {
23
- case 'win32':
24
- // Windows - typically use %APPDATA% (Roaming).
25
- return (0, path_1.join)(process.env.APPDATA || (0, path_1.join)((0, os_1.homedir)(), 'AppData', 'Roaming'), appName);
26
- case 'darwin':
27
- // macOS
28
- return (0, path_1.join)((0, os_1.homedir)(), 'Library', 'Application Support', appName);
29
- case 'linux':
30
- // Linux - following XDG Base Directory Specification.
31
- return (0, path_1.join)(process.env.XDG_CONFIG_HOME || (0, path_1.join)((0, os_1.homedir)(), '.config'), appName);
32
- default:
33
- // Default fallback to home directory for other platforms.
34
- return (0, path_1.join)((0, os_1.homedir)(), `.${appName}`);
35
- }
36
- }
37
- //# sourceMappingURL=DirectoryUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DirectoryUtils.js","sourceRoot":"","sources":["../../src/utils/DirectoryUtils.ts"],"names":[],"mappings":";;AAaA,oDAgCC;AA7CD,+BAA4B;AAC5B,2BAAuC;AAEvC;;;;;;;;;GASG;AACH,SAAgB,oBAAoB;IAClC,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAE/D,IAAI,sBAAsB,EAAE,CAAC;QAC3B,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC;IAEzB,QAAQ,IAAA,aAAQ,GAAE,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,+CAA+C;YAC/C,OAAO,IAAA,WAAI,EACT,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EAC5D,OAAO,CACR,CAAC;QAEJ,KAAK,QAAQ;YACX,QAAQ;YACR,OAAO,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAEpE,KAAK,OAAO;YACV,sDAAsD;YACtD,OAAO,IAAA,WAAI,EACT,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,SAAS,CAAC,EACzD,OAAO,CACR,CAAC;QAEJ;YACE,0DAA0D;YAC1D,OAAO,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}