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,57 +0,0 @@
1
- import type { Page } from '@playwright/test';
2
- import { DonobuFlowsManager } from './managers/DonobuFlowsManager';
3
- import { FlowsPersistenceFactory } from './managers/FlowsPersistenceFactory';
4
- import { ToolManager } from './managers/ToolManager';
5
- import { GptPlatformApiKeysManagerFilesystem } from './managers/GptPlatformApiKeysManagerFilesystem';
6
- import { FlowMetadata, Platform } from './models/FlowMetadata';
7
- import { BrowserStorageState } from './models/BrowserState';
8
- import { FlowsPersistence } from './managers/FlowsPersistence';
9
- import { DonobuDeploymentEnvironment } from './models/DonobuDeploymentEnvironment';
10
- import { BrowserStateFlowReference } from './models/BrowserStateFlowReference';
11
- import { ToolCallResult } from './models/ToolCallResult';
12
- import { AnalyzePageTextToolCoreParameters } from './tools/AnalyzePageTextTool';
13
- import { AssertToolCoreParameters } from './tools/AssertTool';
14
- import { GptClient } from './clients/GptClient';
15
- import { SelectorBasedClickButtonToolParameters } from './tools/ChooseSelectOptionTool';
16
- import { InputRandomizedEmailAddressToolCoreParameters } from './tools/InputRandomizedEmailAddressTool';
17
- import { SelectorBasedInputTextToolParameters } from './tools/InputTextTool';
18
- import { SelectorBasedPressKeyToolParameters } from './tools/PressKeyTool';
19
- import { ScrollPageToolCoreParameters } from './tools/ScrollPageTool';
20
- import { SelectorBasedHoverOverElementToolParameters } from './tools/HoverOverElementTool';
21
- /**
22
- * Extends the Page object with additional test-related methods.
23
- */
24
- interface DonobuExtendedPage extends Page {
25
- run(toolName: string, toolParams?: any): Promise<ToolCallResult>;
26
- analyzePageText(params: AnalyzePageTextToolCoreParameters): Promise<ToolCallResult>;
27
- chooseSelectOption(params: SelectorBasedClickButtonToolParameters): Promise<ToolCallResult>;
28
- clickElement(params: SelectorBasedClickButtonToolParameters): Promise<ToolCallResult>;
29
- createCookieReport(): Promise<ToolCallResult>;
30
- detectBrokenLinks(): Promise<ToolCallResult>;
31
- hoverOverElement(params: SelectorBasedHoverOverElementToolParameters): Promise<ToolCallResult>;
32
- inputRandomizedEmailAddress(params: InputRandomizedEmailAddressToolCoreParameters): Promise<ToolCallResult>;
33
- inputText(params: SelectorBasedInputTextToolParameters): Promise<ToolCallResult>;
34
- pressKey(params: SelectorBasedPressKeyToolParameters): Promise<ToolCallResult>;
35
- runAccessibilityTest(): Promise<ToolCallResult>;
36
- scroll(params: ScrollPageToolCoreParameters): Promise<ToolCallResult>;
37
- visuallyAssert(params: AssertToolCoreParameters): Promise<ToolCallResult>;
38
- _donobu: DonobuParams;
39
- _donobuFlowMetadata: FlowMetadata;
40
- _gptClient: GptClient | null;
41
- }
42
- type DonobuParams = {
43
- workingDir: string;
44
- donobuVersion: string;
45
- deploymentEnvironment: DonobuDeploymentEnvironment;
46
- gptPlatformApiKeysManager: GptPlatformApiKeysManagerFilesystem;
47
- enabledGptPlatforms: Platform[];
48
- flowsPersistenceFactory: FlowsPersistenceFactory;
49
- toolManager: ToolManager;
50
- flowsManager: DonobuFlowsManager;
51
- persistenceLayer: FlowsPersistence;
52
- };
53
- export declare function getBrowserStorageState(flowIdOrName: BrowserStateFlowReference): Promise<BrowserStorageState>;
54
- export declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & {
55
- page: DonobuExtendedPage;
56
- }, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
57
- export {};
@@ -1,167 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.test = void 0;
4
- exports.getBrowserStorageState = getBrowserStorageState;
5
- //
6
- // TODO:
7
- // - Add bindings (i.e. FocusPage) to the page object. This one may be impossible.
8
- //
9
- const test_1 = require("@playwright/test");
10
- const DonobuFlowsManager_1 = require("./managers/DonobuFlowsManager");
11
- const FlowsPersistenceFactoryImpl_1 = require("./managers/FlowsPersistenceFactoryImpl");
12
- const RequestContextHolder_1 = require("./managers/RequestContextHolder");
13
- const DirectoryUtils_1 = require("./utils/DirectoryUtils");
14
- const ToolManager_1 = require("./managers/ToolManager");
15
- const GptPlatformApiKeysManagerFilesystem_1 = require("./managers/GptPlatformApiKeysManagerFilesystem");
16
- const ToolTipper_1 = require("./managers/ToolTipper");
17
- const FlowMetadata_1 = require("./models/FlowMetadata");
18
- const PlaywrightUtils_1 = require("./utils/PlaywrightUtils");
19
- const MiscUtils_1 = require("./utils/MiscUtils");
20
- const DonobuDeploymentEnvironment_1 = require("./models/DonobuDeploymentEnvironment");
21
- async function setupDonobu() {
22
- const workingDir = (0, DirectoryUtils_1.baseWorkingDirectory)();
23
- const donobuVersion = MiscUtils_1.MiscUtils.DONOBU_VERSION;
24
- const deploymentEnvironment = DonobuDeploymentEnvironment_1.DonobuDeploymentEnvironment.LOCAL;
25
- const gptPlatformApiKeysManager = await GptPlatformApiKeysManagerFilesystem_1.GptPlatformApiKeysManagerFilesystem.create(workingDir);
26
- const enabledGptPlatforms = await gptPlatformApiKeysManager.getGptPlatformsWithKeys();
27
- const flowsPersistenceFactory = FlowsPersistenceFactoryImpl_1.FlowsPersistenceFactoryImpl.fromEnvironment(DonobuDeploymentEnvironment_1.DonobuDeploymentEnvironment.LOCAL, workingDir, new RequestContextHolder_1.RequestContextHolder());
28
- const toolManager = new ToolManager_1.ToolManager(ToolManager_1.ToolManager.ALL_TOOLS);
29
- const flowsManager = new DonobuFlowsManager_1.DonobuFlowsManager(deploymentEnvironment, gptPlatformApiKeysManager, flowsPersistenceFactory, toolManager.tools);
30
- const persistenceLayer = await flowsPersistenceFactory.createPersistenceLayer();
31
- return {
32
- workingDir,
33
- donobuVersion,
34
- deploymentEnvironment,
35
- gptPlatformApiKeysManager,
36
- enabledGptPlatforms,
37
- flowsPersistenceFactory,
38
- toolManager,
39
- flowsManager,
40
- persistenceLayer,
41
- };
42
- }
43
- async function getBrowserStorageState(flowIdOrName) {
44
- return (await setupDonobu()).flowsManager.getBrowserStorageState(flowIdOrName);
45
- }
46
- exports.test = test_1.test.extend({
47
- // Override the default page fixture
48
- page: async ({ page }, use) => {
49
- // Patch the page with "run", but do it lazily
50
- const donobu = await setupDonobu();
51
- await page
52
- .context()
53
- .addInitScript(PlaywrightUtils_1.PlaywrightUtils.accessibilityTestInitScript());
54
- let isInitialized = false;
55
- async function maybeInitDonobu() {
56
- if (isInitialized) {
57
- return;
58
- }
59
- const donobuTestFlowMetadata = {
60
- id: crypto.randomUUID(),
61
- name: null,
62
- createdWithDonobuVersion: donobu.donobuVersion,
63
- initialBrowserState: null,
64
- persistBrowserState: null,
65
- gptPlatform: donobu.enabledGptPlatforms[0] ?? null,
66
- gptModel: null,
67
- customTools: null,
68
- defaultToolTipDurationMilliseconds: 0,
69
- runMode: FlowMetadata_1.RunMode.DETERMINISTIC,
70
- isControlPanelEnabled: false,
71
- deviceName: null,
72
- remoteBrowserInstanceUrl: null,
73
- callbackUrl: null,
74
- headless: true,
75
- targetWebsite: 'https://example.com',
76
- overallObjective: null,
77
- allowedTools: [],
78
- resultJsonSchema: null,
79
- result: null,
80
- inputTokensUsed: 0,
81
- completionTokensUsed: 0,
82
- iterations: 0,
83
- maxIterations: 0,
84
- startedAt: new Date().toISOString(),
85
- completedAt: null,
86
- state: FlowMetadata_1.State.RUNNING_ACTION,
87
- nextState: null,
88
- };
89
- const gptClient = await donobu.flowsManager.createGptClient(donobuTestFlowMetadata.gptPlatform?.toString() ?? null, donobuTestFlowMetadata.gptModel);
90
- await donobu.persistenceLayer.saveMetadata(donobuTestFlowMetadata);
91
- page._donobu = donobu;
92
- page._donobuFlowMetadata = donobuTestFlowMetadata;
93
- page._gptClient = gptClient;
94
- isInitialized = true;
95
- }
96
- page.run = async (toolName, toolParams) => {
97
- await maybeInitDonobu();
98
- const clonedParams = toolParams
99
- ? JSON.parse(JSON.stringify(toolParams))
100
- : {};
101
- clonedParams.rationale ||= '';
102
- const toolCallContext = {
103
- flowsManager: page._donobu.flowsManager,
104
- persistence: page._donobu.persistenceLayer,
105
- gptClient: page._gptClient,
106
- toolTipper: new ToolTipper_1.ToolTipper(0),
107
- proposedToolCalls: [],
108
- invokedToolCalls: [],
109
- page: page,
110
- metadata: page._donobuFlowMetadata,
111
- toolCallId: clonedParams.toolCallId ?? (0, MiscUtils_1.createAdHocToolCallId)(),
112
- };
113
- const proposedToolCall = {
114
- name: toolName,
115
- parameters: clonedParams,
116
- toolCallId: null,
117
- };
118
- return page._donobu.toolManager
119
- .invokeTool(toolCallContext, proposedToolCall, false)
120
- .then(async (result) => {
121
- await page._donobu.persistenceLayer.saveMetadata(page._donobuFlowMetadata);
122
- await page._donobu.persistenceLayer.saveToolCall(page._donobuFlowMetadata.id, result);
123
- return result;
124
- })
125
- .then((result) => result.outcome);
126
- };
127
- page.analyzePageText = async (params) => {
128
- return page.run('analyzePageText', params);
129
- };
130
- page.chooseSelectOption = async (params) => {
131
- return page.run('chooseSelectOption', params);
132
- };
133
- page.clickElement = async (params) => {
134
- return page.run('clickButton', params);
135
- };
136
- page.createCookieReport = async () => {
137
- return page.run('createCookieReport');
138
- };
139
- page.detectBrokenLinks = async () => {
140
- return page.run('detectBrokenLinks');
141
- };
142
- page.hoverOverElement = async (params) => {
143
- return page.run('hover', params);
144
- };
145
- page.inputRandomizedEmailAddress = async (params) => {
146
- return page.run('inputRandomizedEmailAddress', params);
147
- };
148
- page.inputText = async (params) => {
149
- return page.run('inputText', params);
150
- };
151
- page.pressKey = async (params) => {
152
- return page.run('pressKey', params);
153
- };
154
- page.runAccessibilityTest = async () => {
155
- return page.run('runAccessibilityTest');
156
- };
157
- page.scroll = async (params) => {
158
- return page.run('scrollPage', params);
159
- };
160
- page.visuallyAssert = async (params) => {
161
- return page.run('assert', params);
162
- };
163
- // Let Playwright continue and give tests the patched page
164
- await use(page);
165
- },
166
- });
167
- //# sourceMappingURL=donobu.fixtures.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"donobu.fixtures.js","sourceRoot":"","sources":["../src/donobu.fixtures.ts"],"names":[],"mappings":";;;AAsHA,wDAMC;AA5HD,EAAE;AACF,QAAQ;AACR,qFAAqF;AACrF,EAAE;AACF,2CAAgD;AAEhD,sEAAmE;AAEnE,wFAAqF;AACrF,0EAAuE;AACvE,2DAA8D;AAC9D,wDAAqD;AACrD,wGAAqG;AAErG,sDAAmD;AAEnD,wDAA+E;AAC/E,6DAA0D;AAC1D,iDAAqE;AAGrE,sFAAmF;AA8DnF,KAAK,UAAU,WAAW;IACxB,MAAM,UAAU,GAAG,IAAA,qCAAoB,GAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,qBAAS,CAAC,cAAc,CAAC;IAC/C,MAAM,qBAAqB,GAAG,yDAA2B,CAAC,KAAK,CAAC;IAChE,MAAM,yBAAyB,GAC7B,MAAM,yEAAmC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,mBAAmB,GACvB,MAAM,yBAAyB,CAAC,uBAAuB,EAAE,CAAC;IAC5D,MAAM,uBAAuB,GAAG,yDAA2B,CAAC,eAAe,CACzE,yDAA2B,CAAC,KAAK,EACjC,UAAU,EACV,IAAI,2CAAoB,EAAE,CAC3B,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,yBAAW,CAAC,yBAAW,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,uCAAkB,CACzC,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,WAAW,CAAC,KAAK,CAClB,CAAC;IACF,MAAM,gBAAgB,GACpB,MAAM,uBAAuB,CAAC,sBAAsB,EAAE,CAAC;IACzD,OAAO;QACL,UAAU;QACV,aAAa;QACb,qBAAqB;QACrB,yBAAyB;QACzB,mBAAmB;QACnB,uBAAuB;QACvB,WAAW;QACX,YAAY;QACZ,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,YAAuC;IAEvC,OAAO,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,sBAAsB,CAC9D,YAAY,CACb,CAAC;AACJ,CAAC;AAEY,QAAA,IAAI,GAAG,WAAI,CAAC,MAAM,CAE5B;IACD,oCAAoC;IACpC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;QAC5B,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,WAAW,EAAE,CAAC;QACnC,MAAM,IAAI;aACP,OAAO,EAAE;aACT,aAAa,CAAC,iCAAe,CAAC,2BAA2B,EAAE,CAAC,CAAC;QAChE,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,KAAK,UAAU,eAAe;YAC5B,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YAED,MAAM,sBAAsB,GAAiB;gBAC3C,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;gBACvB,IAAI,EAAE,IAAI;gBACV,wBAAwB,EAAE,MAAM,CAAC,aAAa;gBAC9C,mBAAmB,EAAE,IAAI;gBACzB,mBAAmB,EAAE,IAAI;gBACzB,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,IAAI;gBAClD,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,IAAI;gBACjB,kCAAkC,EAAE,CAAC;gBACrC,OAAO,EAAE,sBAAO,CAAC,aAAa;gBAC9B,qBAAqB,EAAE,KAAK;gBAC5B,UAAU,EAAE,IAAI;gBAChB,wBAAwB,EAAE,IAAI;gBAC9B,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,qBAAqB;gBACpC,gBAAgB,EAAE,IAAI;gBACtB,YAAY,EAAE,EAAE;gBAChB,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,IAAI;gBACZ,eAAe,EAAE,CAAC;gBAClB,oBAAoB,EAAE,CAAC;gBACvB,UAAU,EAAE,CAAC;gBACb,aAAa,EAAE,CAAC;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,oBAAK,CAAC,cAAc;gBAC3B,SAAS,EAAE,IAAI;aAChB,CAAC;YACF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,eAAe,CACzD,sBAAsB,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,IAAI,EACtD,sBAAsB,CAAC,QAAQ,CAChC,CAAC;YACF,MAAM,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,CAAC,mBAAmB,GAAG,sBAAsB,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,QAAgB,EAAE,UAAgB,EAAE,EAAE;YACtD,MAAM,eAAe,EAAE,CAAC;YAExB,MAAM,YAAY,GAAG,UAAU;gBAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC,CAAC,EAAE,CAAC;YACP,YAAY,CAAC,SAAS,KAAK,EAAE,CAAC;YAC9B,MAAM,eAAe,GAAG;gBACtB,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;gBACvC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;gBAC1C,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,UAAU,EAAE,IAAI,uBAAU,CAAC,CAAC,CAAC;gBAC7B,iBAAiB,EAAE,EAAE;gBACrB,gBAAgB,EAAE,EAAE;gBACpB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI,CAAC,mBAAmB;gBAClC,UAAU,EAAE,YAAY,CAAC,UAAU,IAAI,IAAA,iCAAqB,GAAE;aACrC,CAAC;YAE5B,MAAM,gBAAgB,GAAG;gBACvB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,YAAY;gBACxB,UAAU,EAAE,IAAI;aACe,CAAC;YAClC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW;iBAC5B,UAAU,CAAC,eAAe,EAAE,gBAAgB,EAAE,KAAK,CAAC;iBACpD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACrB,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAC9C,IAAI,CAAC,mBAAmB,CACzB,CAAC;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAC9C,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAC3B,MAAM,CACP,CAAC;gBACF,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;iBACD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,KAAK,EAC1B,MAAyC,EACzC,EAAE;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,KAAK,EAC7B,MAA8C,EAC9C,EAAE;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,KAAK,EACvB,MAA8C,EAC9C,EAAE;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,KAAK,IAAI,EAAE;YAClC,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,KAAK,EAC3B,MAAmD,EACnD,EAAE;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,IAAI,CAAC,2BAA2B,GAAG,KAAK,EACtC,MAAqD,EACrD,EAAE;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,KAAK,EAAE,MAA4C,EAAE,EAAE;YACtE,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,MAA2C,EAAE,EAAE;YACpE,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,KAAK,IAAI,EAAE;YACrC,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,MAAoC,EAAE,EAAE;YAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,KAAK,EAAE,MAAgC,EAAE,EAAE;YAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC;QAEF,0DAA0D;QAC1D,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;CACF,CAAC,CAAC"}
@@ -1,20 +0,0 @@
1
- import { Request, Response } from 'express';
2
- import { GptResourcesManager } from '../managers/GptResourcesManager';
3
- import { GptResource } from '../models/GptResource';
4
- /**
5
- * This API manages the GPT resources available to the Donobu runtime.
6
- */
7
- export declare class GptResourcesApi {
8
- private readonly gptResourcesManager;
9
- private static readonly REDACTED_FIELD_NAME;
10
- constructor(gptResourcesManager: GptResourcesManager);
11
- set(req: Request, res: Response): Promise<void>;
12
- get(req: Request, res: Response): Promise<void>;
13
- getAll(_req: Request, res: Response): Promise<void>;
14
- delete(req: Request, res: Response): Promise<void>;
15
- /**
16
- * Redacts sensative data from the given GPT resource so that the record can
17
- * be safely returned through the API.
18
- */
19
- static redactSensativeData(gptResource: GptResource): GptResource;
20
- }
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GptResourcesApi = void 0;
4
- const GptResourceNotFoundException_1 = require("../exceptions/GptResourceNotFoundException");
5
- /**
6
- * This API manages the GPT resources available to the Donobu runtime.
7
- */
8
- class GptResourcesApi {
9
- gptResourcesManager;
10
- static REDACTED_FIELD_NAME = 'apiKey';
11
- constructor(gptResourcesManager) {
12
- this.gptResourcesManager = gptResourcesManager;
13
- }
14
- async set(req, res) {
15
- const gptResource = req.body;
16
- const gptResourceName = req.params.name;
17
- if (!gptResourceName) {
18
- throw new GptResourceNotFoundException_1.GptResourceNotFoundException(gptResourceName);
19
- }
20
- await this.gptResourcesManager.set(gptResourceName, gptResource);
21
- res.status(200);
22
- }
23
- async get(req, res) {
24
- const gptResourceName = req.params.name;
25
- const gptResource = GptResourcesApi.redactSensativeData(await this.gptResourcesManager.get(gptResourceName));
26
- res.json(gptResource);
27
- }
28
- async getAll(_req, res) {
29
- const gptResources = await this.gptResourcesManager.getAll();
30
- const redactedGptResources = new Map(Array.from(gptResources.entries()).map(([key, value]) => [
31
- key,
32
- GptResourcesApi.redactSensativeData(value),
33
- ]));
34
- res.json(Object.fromEntries(redactedGptResources));
35
- }
36
- async delete(req, res) {
37
- const gptResourceName = req.params.name;
38
- await this.gptResourcesManager.delete(gptResourceName);
39
- res.status(200);
40
- }
41
- /**
42
- * Redacts sensative data from the given GPT resource so that the record can
43
- * be safely returned through the API.
44
- */
45
- static redactSensativeData(gptResource) {
46
- if (GptResourcesApi.REDACTED_FIELD_NAME in gptResource) {
47
- gptResource[GptResourcesApi.REDACTED_FIELD_NAME] = '****************';
48
- }
49
- return gptResource;
50
- }
51
- }
52
- exports.GptResourcesApi = GptResourcesApi;
53
- //# sourceMappingURL=GptResourcesApi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GptResourcesApi.js","sourceRoot":"","sources":["../../../src/apis/GptResourcesApi.ts"],"names":[],"mappings":";;;AAEA,6FAA0F;AAG1F;;GAEG;AACH,MAAa,eAAe;IAIP;IAHX,MAAM,CAAU,mBAAmB,GAAG,QAAQ,CAAC;IAEvD,YACmB,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;IACxD,CAAC;IAEG,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa;QAC1C,MAAM,WAAW,GAAG,GAAG,CAAC,IAAmB,CAAC;QAC5C,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAExC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,2DAA4B,CAAC,eAAe,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QACjE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa;QAC1C,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QACxC,MAAM,WAAW,GAAG,eAAe,CAAC,mBAAmB,CACrD,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CACpD,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,IAAa,EAAE,GAAa;QAC9C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;QAC7D,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACvD,GAAG;YACH,eAAe,CAAC,mBAAmB,CAAC,KAAK,CAAC;SAC3C,CAAC,CACH,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAY,EAAE,GAAa;QAC7C,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QACxC,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACvD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,mBAAmB,CAAC,WAAwB;QACjD,IAAI,eAAe,CAAC,mBAAmB,IAAI,WAAW,EAAE,CAAC;YACvD,WAAW,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,kBAAkB,CAAC;QACxE,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;;AAtDH,0CAuDC"}
@@ -1,25 +0,0 @@
1
- import { Request, Response } from 'express';
2
- import { GptPlatformApiKeysManager } from '../managers/GptPlatformApiKeysManager';
3
- export declare class KeysApi {
4
- private readonly gptPlatformApiKeysManager;
5
- constructor(gptPlatformApiKeysManager: GptPlatformApiKeysManager);
6
- /**
7
- * NOTE: This does not actually return the API key itself, but rather, flags if it exists or not.
8
- */
9
- getApiKey(req: Request, res: Response): Promise<void>;
10
- /**
11
- * NOTE: This does not actually return the API keys themselves, but rather, the map of Platforms
12
- * that have API keys available. Example response:
13
- *
14
- * <pre>
15
- * {
16
- * "OPENAI": true,
17
- * "ANTHROPIC": false,
18
- * "GOOGLE": false
19
- * }
20
- * </pre>
21
- */
22
- getApiKeys(_req: Request, res: Response): Promise<void>;
23
- setApiKey(req: Request, res: Response): Promise<void>;
24
- deleteApiKey(req: Request, res: Response): Promise<void>;
25
- }
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeysApi = void 0;
4
- const FlowMetadata_1 = require("../models/FlowMetadata");
5
- const InvalidParamValueException_1 = require("../exceptions/InvalidParamValueException");
6
- class KeysApi {
7
- gptPlatformApiKeysManager;
8
- constructor(gptPlatformApiKeysManager) {
9
- this.gptPlatformApiKeysManager = gptPlatformApiKeysManager;
10
- }
11
- /**
12
- * NOTE: This does not actually return the API key itself, but rather, flags if it exists or not.
13
- */
14
- async getApiKey(req, res) {
15
- const platformName = req.params.platform.toUpperCase();
16
- const platform = FlowMetadata_1.Platform[platformName];
17
- if (!platform) {
18
- throw new InvalidParamValueException_1.InvalidParamValueException('/api-keys/{platform}', platformName);
19
- }
20
- await this.gptPlatformApiKeysManager.getKey(platform);
21
- res.sendStatus(200);
22
- }
23
- /**
24
- * NOTE: This does not actually return the API keys themselves, but rather, the map of Platforms
25
- * that have API keys available. Example response:
26
- *
27
- * <pre>
28
- * {
29
- * "OPENAI": true,
30
- * "ANTHROPIC": false,
31
- * "GOOGLE": false
32
- * }
33
- * </pre>
34
- */
35
- async getApiKeys(_req, res) {
36
- const platformsWithKeys = await this.gptPlatformApiKeysManager.getGptPlatformsWithKeys();
37
- const response = {};
38
- for (const platform of Object.values(FlowMetadata_1.Platform)) {
39
- response[platform] = platformsWithKeys.includes(platform);
40
- }
41
- res.json(response);
42
- }
43
- async setApiKey(req, res) {
44
- const body = req.body;
45
- const platformName = req.params.platform.toUpperCase();
46
- const platform = FlowMetadata_1.Platform[platformName];
47
- if (!platform) {
48
- throw new InvalidParamValueException_1.InvalidParamValueException('/api-keys/{platform}', platformName);
49
- }
50
- await this.gptPlatformApiKeysManager.setKey(platform, body.key);
51
- res.sendStatus(200);
52
- }
53
- async deleteApiKey(req, res) {
54
- const platformName = req.params.platform.toUpperCase();
55
- const platform = FlowMetadata_1.Platform[platformName];
56
- if (!platform) {
57
- throw new InvalidParamValueException_1.InvalidParamValueException('/api-keys/{platform}', platformName);
58
- }
59
- await this.gptPlatformApiKeysManager.deleteKey(platform);
60
- res.sendStatus(200);
61
- }
62
- }
63
- exports.KeysApi = KeysApi;
64
- //# sourceMappingURL=KeysApi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KeysApi.js","sourceRoot":"","sources":["../../../src/apis/KeysApi.ts"],"names":[],"mappings":";;;AACA,yDAAkD;AAElD,yFAAsF;AAEtF,MAAa,OAAO;IAEC;IADnB,YACmB,yBAAoD;QAApD,8BAAyB,GAAzB,yBAAyB,CAA2B;IACpE,CAAC;IAEJ;;OAEG;IACI,KAAK,CAAC,SAAS,CAAC,GAAY,EAAE,GAAa;QAChD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,uBAAQ,CAAC,YAAqC,CAAC,CAAC;QAEjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,uDAA0B,CAClC,sBAAsB,EACtB,YAAY,CACb,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,UAAU,CAAC,IAAa,EAAE,GAAa;QAClD,MAAM,iBAAiB,GACrB,MAAM,IAAI,CAAC,yBAAyB,CAAC,uBAAuB,EAAE,CAAC;QACjE,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAE7C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,uBAAQ,CAAC,EAAE,CAAC;YAC/C,QAAQ,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,GAAY,EAAE,GAAa;QAChD,MAAM,IAAI,GAAG,GAAG,CAAC,IAEhB,CAAC;QACF,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,uBAAQ,CAAC,YAAqC,CAAC,CAAC;QAEjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,uDAA0B,CAClC,sBAAsB,EACtB,YAAY,CACb,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,GAAY,EAAE,GAAa;QACnD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,uBAAQ,CAAC,YAAqC,CAAC,CAAC;QAEjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,uDAA0B,CAClC,sBAAsB,EACtB,YAAY,CACb,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AA/ED,0BA+EC"}
@@ -1,28 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <!-- Allow Just-In-Time (JIT) compilation (important for Java) -->
6
- <key>com.apple.security.cs.allow-jit</key>
7
- <true/>
8
-
9
- <!-- Allow running unsigned executable memory (important for Java's dynamic nature) -->
10
- <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
11
- <true/>
12
-
13
- <!-- Disable library validation, allows the app to load unsigned libraries -->
14
- <key>com.apple.security.cs.disable-library-validation</key>
15
- <true/>
16
-
17
- <!-- Allow access to the network -->
18
- <key>com.apple.security.network.client</key>
19
- <true/>
20
-
21
- <key>com.apple.security.network.server</key>
22
- <true/>
23
-
24
- <!-- Allow the app to access files within the user-selected directories -->
25
- <key>com.apple.security.files.user-selected.read-write</key>
26
- <true/>
27
- </dict>
28
- </plist>
@@ -1,57 +0,0 @@
1
- import type { Page } from '@playwright/test';
2
- import { DonobuFlowsManager } from './managers/DonobuFlowsManager';
3
- import { FlowsPersistenceFactory } from './managers/FlowsPersistenceFactory';
4
- import { ToolManager } from './managers/ToolManager';
5
- import { GptPlatformApiKeysManagerFilesystem } from './managers/GptPlatformApiKeysManagerFilesystem';
6
- import { FlowMetadata, Platform } from './models/FlowMetadata';
7
- import { BrowserStorageState } from './models/BrowserState';
8
- import { FlowsPersistence } from './managers/FlowsPersistence';
9
- import { DonobuDeploymentEnvironment } from './models/DonobuDeploymentEnvironment';
10
- import { BrowserStateFlowReference } from './models/BrowserStateFlowReference';
11
- import { ToolCallResult } from './models/ToolCallResult';
12
- import { AnalyzePageTextToolCoreParameters } from './tools/AnalyzePageTextTool';
13
- import { AssertToolCoreParameters } from './tools/AssertTool';
14
- import { GptClient } from './clients/GptClient';
15
- import { SelectorBasedClickButtonToolParameters } from './tools/ChooseSelectOptionTool';
16
- import { InputRandomizedEmailAddressToolCoreParameters } from './tools/InputRandomizedEmailAddressTool';
17
- import { SelectorBasedInputTextToolParameters } from './tools/InputTextTool';
18
- import { SelectorBasedPressKeyToolParameters } from './tools/PressKeyTool';
19
- import { ScrollPageToolCoreParameters } from './tools/ScrollPageTool';
20
- import { SelectorBasedHoverOverElementToolParameters } from './tools/HoverOverElementTool';
21
- /**
22
- * Extends the Page object with additional test-related methods.
23
- */
24
- interface DonobuExtendedPage extends Page {
25
- run(toolName: string, toolParams?: any): Promise<ToolCallResult>;
26
- analyzePageText(params: AnalyzePageTextToolCoreParameters): Promise<ToolCallResult>;
27
- chooseSelectOption(params: SelectorBasedClickButtonToolParameters): Promise<ToolCallResult>;
28
- clickElement(params: SelectorBasedClickButtonToolParameters): Promise<ToolCallResult>;
29
- createCookieReport(): Promise<ToolCallResult>;
30
- detectBrokenLinks(): Promise<ToolCallResult>;
31
- hoverOverElement(params: SelectorBasedHoverOverElementToolParameters): Promise<ToolCallResult>;
32
- inputRandomizedEmailAddress(params: InputRandomizedEmailAddressToolCoreParameters): Promise<ToolCallResult>;
33
- inputText(params: SelectorBasedInputTextToolParameters): Promise<ToolCallResult>;
34
- pressKey(params: SelectorBasedPressKeyToolParameters): Promise<ToolCallResult>;
35
- runAccessibilityTest(): Promise<ToolCallResult>;
36
- scroll(params: ScrollPageToolCoreParameters): Promise<ToolCallResult>;
37
- visuallyAssert(params: AssertToolCoreParameters): Promise<ToolCallResult>;
38
- _donobu: DonobuParams;
39
- _donobuFlowMetadata: FlowMetadata;
40
- _gptClient: GptClient | null;
41
- }
42
- type DonobuParams = {
43
- workingDir: string;
44
- donobuVersion: string;
45
- deploymentEnvironment: DonobuDeploymentEnvironment;
46
- gptPlatformApiKeysManager: GptPlatformApiKeysManagerFilesystem;
47
- enabledGptPlatforms: Platform[];
48
- flowsPersistenceFactory: FlowsPersistenceFactory;
49
- toolManager: ToolManager;
50
- flowsManager: DonobuFlowsManager;
51
- persistenceLayer: FlowsPersistence;
52
- };
53
- export declare function getBrowserStorageState(flowIdOrName: BrowserStateFlowReference): Promise<BrowserStorageState>;
54
- export declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & {
55
- page: DonobuExtendedPage;
56
- }, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
57
- export {};