donobu 2.16.0 → 2.17.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 (527) hide show
  1. package/dist/apis/EnvDataApi.d.ts +26 -0
  2. package/dist/apis/EnvDataApi.d.ts.map +1 -0
  3. package/dist/apis/EnvDataApi.js +59 -0
  4. package/dist/apis/EnvDataApi.js.map +1 -0
  5. package/dist/apis/EnvironmentDataApi.d.ts +26 -0
  6. package/dist/apis/EnvironmentDataApi.d.ts.map +1 -0
  7. package/dist/apis/EnvironmentDataApi.js +59 -0
  8. package/dist/apis/EnvironmentDataApi.js.map +1 -0
  9. package/dist/apis/FlowsApi.d.ts +4 -0
  10. package/dist/apis/FlowsApi.d.ts.map +1 -1
  11. package/dist/apis/FlowsApi.js +26 -2
  12. package/dist/apis/FlowsApi.js.map +1 -1
  13. package/dist/apis/FlowsFilesApi.d.ts +1 -1
  14. package/dist/apis/FlowsFilesApi.d.ts.map +1 -1
  15. package/dist/apis/SpecialFlowsApi.js +1 -1
  16. package/dist/apis/SpecialFlowsApi.js.map +1 -1
  17. package/dist/assets/generated/parameter-schemas.json +22 -8
  18. package/dist/assets/generated/version +1 -1
  19. package/dist/esm/apis/EnvDataApi.d.ts +26 -0
  20. package/dist/esm/apis/EnvDataApi.d.ts.map +1 -0
  21. package/dist/esm/apis/EnvDataApi.js +59 -0
  22. package/dist/esm/apis/EnvDataApi.js.map +1 -0
  23. package/dist/esm/apis/EnvironmentDataApi.d.ts +26 -0
  24. package/dist/esm/apis/EnvironmentDataApi.d.ts.map +1 -0
  25. package/dist/esm/apis/EnvironmentDataApi.js +59 -0
  26. package/dist/esm/apis/EnvironmentDataApi.js.map +1 -0
  27. package/dist/esm/apis/FlowsApi.d.ts +4 -0
  28. package/dist/esm/apis/FlowsApi.d.ts.map +1 -1
  29. package/dist/esm/apis/FlowsApi.js +26 -2
  30. package/dist/esm/apis/FlowsApi.js.map +1 -1
  31. package/dist/esm/apis/FlowsFilesApi.d.ts +1 -1
  32. package/dist/esm/apis/FlowsFilesApi.d.ts.map +1 -1
  33. package/dist/esm/apis/SpecialFlowsApi.js +1 -1
  34. package/dist/esm/apis/SpecialFlowsApi.js.map +1 -1
  35. package/dist/esm/assets/generated/parameter-schemas.json +22 -8
  36. package/dist/esm/assets/generated/version +1 -1
  37. package/dist/esm/lib/DonobuExtendedPage.d.ts +106 -0
  38. package/dist/esm/lib/DonobuExtendedPage.d.ts.map +1 -0
  39. package/dist/esm/lib/DonobuExtendedPage.js +3 -0
  40. package/dist/esm/lib/DonobuExtendedPage.js.map +1 -0
  41. package/dist/esm/lib/constants.d.ts +8 -0
  42. package/dist/esm/lib/constants.d.ts.map +1 -0
  43. package/dist/esm/lib/constants.js +14 -0
  44. package/dist/esm/lib/constants.js.map +1 -0
  45. package/dist/esm/lib/fixtures/browserState.d.ts +6 -0
  46. package/dist/esm/lib/fixtures/browserState.d.ts.map +1 -0
  47. package/dist/esm/lib/fixtures/browserState.js +15 -0
  48. package/dist/esm/lib/fixtures/browserState.js.map +1 -0
  49. package/dist/esm/lib/fixtures/gptClients.d.ts +40 -0
  50. package/dist/esm/lib/fixtures/gptClients.d.ts.map +1 -0
  51. package/dist/esm/lib/fixtures/gptClients.js +187 -0
  52. package/dist/esm/lib/fixtures/gptClients.js.map +1 -0
  53. package/dist/esm/lib/fixtures/testExtension.d.ts +10 -0
  54. package/dist/esm/lib/fixtures/testExtension.d.ts.map +1 -0
  55. package/dist/esm/lib/fixtures/testExtension.js +383 -0
  56. package/dist/esm/lib/fixtures/testExtension.js.map +1 -0
  57. package/dist/esm/lib/testExtension.d.ts +10 -0
  58. package/dist/esm/lib/testExtension.d.ts.map +1 -0
  59. package/dist/esm/lib/testExtension.js +383 -0
  60. package/dist/esm/lib/testExtension.js.map +1 -0
  61. package/dist/esm/lib/types.d.ts +106 -0
  62. package/dist/esm/lib/types.d.ts.map +1 -0
  63. package/dist/esm/lib/types.js +3 -0
  64. package/dist/esm/lib/types.js.map +1 -0
  65. package/dist/esm/lib/utils/donobuTestStack.d.ts +7 -0
  66. package/dist/esm/lib/utils/donobuTestStack.d.ts.map +1 -0
  67. package/dist/esm/lib/utils/donobuTestStack.js +31 -0
  68. package/dist/esm/lib/utils/donobuTestStack.js.map +1 -0
  69. package/dist/esm/lib/utils/selfHealing.d.ts +15 -0
  70. package/dist/esm/lib/utils/selfHealing.d.ts.map +1 -0
  71. package/dist/esm/lib/utils/selfHealing.js +89 -0
  72. package/dist/esm/lib/utils/selfHealing.js.map +1 -0
  73. package/dist/esm/main.d.ts +5 -1
  74. package/dist/esm/main.d.ts.map +1 -1
  75. package/dist/esm/main.js +8 -5
  76. package/dist/esm/main.js.map +1 -1
  77. package/dist/esm/managers/AdminApiController.d.ts.map +1 -1
  78. package/dist/esm/managers/AdminApiController.js +7 -0
  79. package/dist/esm/managers/AdminApiController.js.map +1 -1
  80. package/dist/esm/managers/AgentsManager.d.ts +1 -1
  81. package/dist/esm/managers/AgentsManager.d.ts.map +1 -1
  82. package/dist/esm/managers/DonobuFlow.d.ts +3 -2
  83. package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
  84. package/dist/esm/managers/DonobuFlow.js +90 -21
  85. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  86. package/dist/esm/managers/DonobuFlowsManager.d.ts +47 -6
  87. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  88. package/dist/esm/managers/DonobuFlowsManager.js +104 -24
  89. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  90. package/dist/esm/managers/DonobuStack.d.ts +18 -4
  91. package/dist/esm/managers/DonobuStack.d.ts.map +1 -1
  92. package/dist/esm/managers/DonobuStack.js +21 -5
  93. package/dist/esm/managers/DonobuStack.js.map +1 -1
  94. package/dist/esm/managers/EnvDataManager.d.ts +58 -0
  95. package/dist/esm/managers/EnvDataManager.d.ts.map +1 -0
  96. package/dist/esm/managers/EnvDataManager.js +134 -0
  97. package/dist/esm/managers/EnvDataManager.js.map +1 -0
  98. package/dist/esm/managers/EnvironmentDataManager.d.ts +58 -0
  99. package/dist/esm/managers/EnvironmentDataManager.d.ts.map +1 -0
  100. package/dist/esm/managers/EnvironmentDataManager.js +134 -0
  101. package/dist/esm/managers/EnvironmentDataManager.js.map +1 -0
  102. package/dist/esm/managers/GptConfigsManager.d.ts +1 -1
  103. package/dist/esm/managers/GptConfigsManager.d.ts.map +1 -1
  104. package/dist/esm/managers/PageInspector.d.ts +0 -1
  105. package/dist/esm/managers/PageInspector.d.ts.map +1 -1
  106. package/dist/esm/managers/PageInspector.js +29 -26
  107. package/dist/esm/managers/PageInspector.js.map +1 -1
  108. package/dist/esm/managers/ToolManager.d.ts +10 -0
  109. package/dist/esm/managers/ToolManager.d.ts.map +1 -1
  110. package/dist/esm/managers/ToolManager.js +46 -3
  111. package/dist/esm/managers/ToolManager.js.map +1 -1
  112. package/dist/esm/models/BrowserConfig.d.ts +1 -6
  113. package/dist/esm/models/BrowserConfig.d.ts.map +1 -1
  114. package/dist/esm/models/BrowserFramework.d.ts +2 -6
  115. package/dist/esm/models/BrowserFramework.d.ts.map +1 -1
  116. package/dist/esm/models/BrowserFramework.js +4 -22
  117. package/dist/esm/models/BrowserFramework.js.map +1 -1
  118. package/dist/esm/models/CreateDonobuFlow.d.ts +4 -0
  119. package/dist/esm/models/CreateDonobuFlow.d.ts.map +1 -1
  120. package/dist/esm/models/EnvironmentDatum.d.ts +54 -0
  121. package/dist/esm/models/EnvironmentDatum.d.ts.map +1 -0
  122. package/dist/esm/models/EnvironmentDatum.js +57 -0
  123. package/dist/esm/models/EnvironmentDatum.js.map +1 -0
  124. package/dist/esm/models/FlowMetadata.d.ts +14 -1
  125. package/dist/esm/models/FlowMetadata.d.ts.map +1 -1
  126. package/dist/esm/models/FlowMetadata.js.map +1 -1
  127. package/dist/esm/models/PaginatedResult.d.ts +10 -0
  128. package/dist/esm/models/PaginatedResult.d.ts.map +1 -0
  129. package/dist/esm/models/PaginatedResult.js +6 -0
  130. package/dist/esm/models/PaginatedResult.js.map +1 -0
  131. package/dist/esm/models/ToolCallContext.d.ts +2 -1
  132. package/dist/esm/models/ToolCallContext.d.ts.map +1 -1
  133. package/dist/esm/models/ToolTemplateDataSource.d.ts +40 -0
  134. package/dist/esm/models/ToolTemplateDataSource.d.ts.map +1 -0
  135. package/dist/esm/models/ToolTemplateDataSource.js +3 -0
  136. package/dist/esm/models/ToolTemplateDataSource.js.map +1 -0
  137. package/dist/esm/persistence/DonobuSqliteDb.d.ts.map +1 -1
  138. package/dist/esm/persistence/DonobuSqliteDb.js +12 -0
  139. package/dist/esm/persistence/DonobuSqliteDb.js.map +1 -1
  140. package/dist/esm/persistence/FlowsPersistence.d.ts +23 -14
  141. package/dist/esm/persistence/FlowsPersistence.d.ts.map +1 -1
  142. package/dist/esm/persistence/FlowsPersistenceAwsS3.d.ts +10 -5
  143. package/dist/esm/persistence/FlowsPersistenceAwsS3.d.ts.map +1 -1
  144. package/dist/esm/persistence/FlowsPersistenceAwsS3.js +79 -1
  145. package/dist/esm/persistence/FlowsPersistenceAwsS3.js.map +1 -1
  146. package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js +1 -1
  147. package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js.map +1 -1
  148. package/dist/esm/persistence/FlowsPersistenceFilesystem.d.ts +32 -5
  149. package/dist/esm/persistence/FlowsPersistenceFilesystem.d.ts.map +1 -1
  150. package/dist/esm/persistence/FlowsPersistenceFilesystem.js +114 -4
  151. package/dist/esm/persistence/FlowsPersistenceFilesystem.js.map +1 -1
  152. package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.d.ts +10 -5
  153. package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
  154. package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.js +58 -1
  155. package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
  156. package/dist/esm/persistence/FlowsPersistenceSqlite.d.ts +12 -5
  157. package/dist/esm/persistence/FlowsPersistenceSqlite.d.ts.map +1 -1
  158. package/dist/esm/persistence/FlowsPersistenceSqlite.js +35 -1
  159. package/dist/esm/persistence/FlowsPersistenceSqlite.js.map +1 -1
  160. package/dist/esm/persistence/FlowsPersistenceSupabase.d.ts +10 -5
  161. package/dist/esm/persistence/FlowsPersistenceSupabase.d.ts.map +1 -1
  162. package/dist/esm/persistence/FlowsPersistenceSupabase.js +46 -1
  163. package/dist/esm/persistence/FlowsPersistenceSupabase.js.map +1 -1
  164. package/dist/esm/persistence/FlowsPersistenceVolatile.d.ts +10 -5
  165. package/dist/esm/persistence/FlowsPersistenceVolatile.d.ts.map +1 -1
  166. package/dist/esm/persistence/FlowsPersistenceVolatile.js +21 -1
  167. package/dist/esm/persistence/FlowsPersistenceVolatile.js.map +1 -1
  168. package/dist/esm/persistence/agents/AgentsPersistence.d.ts +12 -0
  169. package/dist/esm/persistence/agents/AgentsPersistence.d.ts.map +1 -0
  170. package/dist/esm/persistence/agents/AgentsPersistence.js +3 -0
  171. package/dist/esm/persistence/agents/AgentsPersistence.js.map +1 -0
  172. package/dist/esm/persistence/agents/AgentsPersistenceSqlite.d.ts +15 -0
  173. package/dist/esm/persistence/agents/AgentsPersistenceSqlite.d.ts.map +1 -0
  174. package/dist/esm/persistence/agents/AgentsPersistenceSqlite.js +50 -0
  175. package/dist/esm/persistence/agents/AgentsPersistenceSqlite.js.map +1 -0
  176. package/dist/esm/persistence/agents/AgentsPersistenceVolatile.d.ts +14 -0
  177. package/dist/esm/persistence/agents/AgentsPersistenceVolatile.d.ts.map +1 -0
  178. package/dist/esm/persistence/agents/AgentsPersistenceVolatile.js +26 -0
  179. package/dist/esm/persistence/agents/AgentsPersistenceVolatile.js.map +1 -0
  180. package/dist/esm/persistence/env/EnvPersistence.d.ts +20 -0
  181. package/dist/esm/persistence/env/EnvPersistence.d.ts.map +1 -0
  182. package/dist/esm/persistence/env/EnvPersistence.js +3 -0
  183. package/dist/esm/persistence/env/EnvPersistence.js.map +1 -0
  184. package/dist/esm/persistence/env/EnvPersistenceAwsS3.d.ts +31 -0
  185. package/dist/esm/persistence/env/EnvPersistenceAwsS3.d.ts.map +1 -0
  186. package/dist/esm/persistence/env/EnvPersistenceAwsS3.js +117 -0
  187. package/dist/esm/persistence/env/EnvPersistenceAwsS3.js.map +1 -0
  188. package/dist/esm/persistence/env/EnvPersistenceFactory.d.ts +6 -0
  189. package/dist/esm/persistence/env/EnvPersistenceFactory.d.ts.map +1 -0
  190. package/dist/esm/persistence/env/EnvPersistenceFactory.js +3 -0
  191. package/dist/esm/persistence/env/EnvPersistenceFactory.js.map +1 -0
  192. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.d.ts +45 -0
  193. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.d.ts.map +1 -0
  194. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.js +86 -0
  195. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.js.map +1 -0
  196. package/dist/esm/persistence/env/EnvPersistenceFactoryPreset.d.ts +12 -0
  197. package/dist/esm/persistence/env/EnvPersistenceFactoryPreset.d.ts.map +1 -0
  198. package/dist/esm/persistence/env/EnvPersistenceFactoryPreset.js +17 -0
  199. package/dist/esm/persistence/env/EnvPersistenceFactoryPreset.js.map +1 -0
  200. package/dist/esm/persistence/env/EnvPersistenceFilesystem.d.ts +36 -0
  201. package/dist/esm/persistence/env/EnvPersistenceFilesystem.d.ts.map +1 -0
  202. package/dist/esm/persistence/env/EnvPersistenceFilesystem.js +132 -0
  203. package/dist/esm/persistence/env/EnvPersistenceFilesystem.js.map +1 -0
  204. package/dist/esm/persistence/env/EnvPersistenceGoogleCloudStorage.d.ts +30 -0
  205. package/dist/esm/persistence/env/EnvPersistenceGoogleCloudStorage.d.ts.map +1 -0
  206. package/dist/esm/persistence/env/EnvPersistenceGoogleCloudStorage.js +131 -0
  207. package/dist/esm/persistence/env/EnvPersistenceGoogleCloudStorage.js.map +1 -0
  208. package/dist/esm/persistence/env/EnvPersistenceSqlite.d.ts +19 -0
  209. package/dist/esm/persistence/env/EnvPersistenceSqlite.d.ts.map +1 -0
  210. package/dist/esm/persistence/env/EnvPersistenceSqlite.js +54 -0
  211. package/dist/esm/persistence/env/EnvPersistenceSqlite.js.map +1 -0
  212. package/dist/esm/persistence/env/EnvPersistenceSupabase.d.ts +17 -0
  213. package/dist/esm/persistence/env/EnvPersistenceSupabase.d.ts.map +1 -0
  214. package/dist/esm/persistence/env/EnvPersistenceSupabase.js +60 -0
  215. package/dist/esm/persistence/env/EnvPersistenceSupabase.js.map +1 -0
  216. package/dist/esm/persistence/env/EnvPersistenceVolatile.d.ts +13 -0
  217. package/dist/esm/persistence/env/EnvPersistenceVolatile.d.ts.map +1 -0
  218. package/dist/esm/persistence/env/EnvPersistenceVolatile.js +31 -0
  219. package/dist/esm/persistence/env/EnvPersistenceVolatile.js.map +1 -0
  220. package/dist/esm/persistence/flows/FlowsPersistence.d.ts +87 -0
  221. package/dist/esm/persistence/flows/FlowsPersistence.d.ts.map +1 -0
  222. package/dist/esm/persistence/flows/FlowsPersistence.js +3 -0
  223. package/dist/esm/persistence/flows/FlowsPersistence.js.map +1 -0
  224. package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.d.ts +71 -0
  225. package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.d.ts.map +1 -0
  226. package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.js +448 -0
  227. package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.js.map +1 -0
  228. package/dist/esm/persistence/flows/FlowsPersistenceFactory.d.ts +10 -0
  229. package/dist/esm/persistence/flows/FlowsPersistenceFactory.d.ts.map +1 -0
  230. package/dist/esm/persistence/flows/FlowsPersistenceFactory.js +3 -0
  231. package/dist/esm/persistence/flows/FlowsPersistenceFactory.js.map +1 -0
  232. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.d.ts +57 -0
  233. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.d.ts.map +1 -0
  234. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.js +238 -0
  235. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.js.map +1 -0
  236. package/dist/esm/persistence/flows/FlowsPersistenceFactoryPreset.d.ts +13 -0
  237. package/dist/esm/persistence/flows/FlowsPersistenceFactoryPreset.d.ts.map +1 -0
  238. package/dist/esm/persistence/flows/FlowsPersistenceFactoryPreset.js +24 -0
  239. package/dist/esm/persistence/flows/FlowsPersistenceFactoryPreset.js.map +1 -0
  240. package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.d.ts +52 -0
  241. package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.d.ts.map +1 -0
  242. package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.js +291 -0
  243. package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.js.map +1 -0
  244. package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts +71 -0
  245. package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -0
  246. package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.js +429 -0
  247. package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.js.map +1 -0
  248. package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts +43 -0
  249. package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts.map +1 -0
  250. package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js +259 -0
  251. package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js.map +1 -0
  252. package/dist/esm/persistence/flows/FlowsPersistenceSupabase.d.ts +40 -0
  253. package/dist/esm/persistence/flows/FlowsPersistenceSupabase.d.ts.map +1 -0
  254. package/dist/esm/persistence/flows/FlowsPersistenceSupabase.js +218 -0
  255. package/dist/esm/persistence/flows/FlowsPersistenceSupabase.js.map +1 -0
  256. package/dist/esm/persistence/flows/FlowsPersistenceVolatile.d.ts +37 -0
  257. package/dist/esm/persistence/flows/FlowsPersistenceVolatile.d.ts.map +1 -0
  258. package/dist/esm/persistence/flows/FlowsPersistenceVolatile.js +151 -0
  259. package/dist/esm/persistence/flows/FlowsPersistenceVolatile.js.map +1 -0
  260. package/dist/esm/persistence/gptconfigs/GptConfigsPersistence.d.ts +12 -0
  261. package/dist/esm/persistence/gptconfigs/GptConfigsPersistence.d.ts.map +1 -0
  262. package/dist/esm/persistence/gptconfigs/GptConfigsPersistence.js +3 -0
  263. package/dist/esm/persistence/gptconfigs/GptConfigsPersistence.js.map +1 -0
  264. package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceSqlite.d.ts +13 -0
  265. package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceSqlite.d.ts.map +1 -0
  266. package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceSqlite.js +35 -0
  267. package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceSqlite.js.map +1 -0
  268. package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceVolatile.d.ts +15 -0
  269. package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceVolatile.d.ts.map +1 -0
  270. package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceVolatile.js +31 -0
  271. package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceVolatile.js.map +1 -0
  272. package/dist/esm/playwrightTestExtensions.d.ts.map +1 -1
  273. package/dist/esm/playwrightTestExtensions.js +31 -10
  274. package/dist/esm/playwrightTestExtensions.js.map +1 -1
  275. package/dist/esm/tools/GoToWebpageTool.d.ts.map +1 -1
  276. package/dist/esm/tools/GoToWebpageTool.js +3 -2
  277. package/dist/esm/tools/GoToWebpageTool.js.map +1 -1
  278. package/dist/esm/utils/TemplateInterpolator.d.ts +47 -0
  279. package/dist/esm/utils/TemplateInterpolator.d.ts.map +1 -0
  280. package/dist/esm/utils/TemplateInterpolator.js +352 -0
  281. package/dist/esm/utils/TemplateInterpolator.js.map +1 -0
  282. package/dist/lib/DonobuExtendedPage.d.ts +106 -0
  283. package/dist/lib/DonobuExtendedPage.d.ts.map +1 -0
  284. package/dist/lib/DonobuExtendedPage.js +3 -0
  285. package/dist/lib/DonobuExtendedPage.js.map +1 -0
  286. package/dist/lib/constants.d.ts +8 -0
  287. package/dist/lib/constants.d.ts.map +1 -0
  288. package/dist/lib/constants.js +14 -0
  289. package/dist/lib/constants.js.map +1 -0
  290. package/dist/lib/fixtures/browserState.d.ts +6 -0
  291. package/dist/lib/fixtures/browserState.d.ts.map +1 -0
  292. package/dist/lib/fixtures/browserState.js +15 -0
  293. package/dist/lib/fixtures/browserState.js.map +1 -0
  294. package/dist/lib/fixtures/gptClients.d.ts +40 -0
  295. package/dist/lib/fixtures/gptClients.d.ts.map +1 -0
  296. package/dist/lib/fixtures/gptClients.js +187 -0
  297. package/dist/lib/fixtures/gptClients.js.map +1 -0
  298. package/dist/lib/fixtures/testExtension.d.ts +10 -0
  299. package/dist/lib/fixtures/testExtension.d.ts.map +1 -0
  300. package/dist/lib/fixtures/testExtension.js +383 -0
  301. package/dist/lib/fixtures/testExtension.js.map +1 -0
  302. package/dist/lib/testExtension.d.ts +10 -0
  303. package/dist/lib/testExtension.d.ts.map +1 -0
  304. package/dist/lib/testExtension.js +383 -0
  305. package/dist/lib/testExtension.js.map +1 -0
  306. package/dist/lib/types.d.ts +106 -0
  307. package/dist/lib/types.d.ts.map +1 -0
  308. package/dist/lib/types.js +3 -0
  309. package/dist/lib/types.js.map +1 -0
  310. package/dist/lib/utils/donobuTestStack.d.ts +7 -0
  311. package/dist/lib/utils/donobuTestStack.d.ts.map +1 -0
  312. package/dist/lib/utils/donobuTestStack.js +31 -0
  313. package/dist/lib/utils/donobuTestStack.js.map +1 -0
  314. package/dist/lib/utils/selfHealing.d.ts +15 -0
  315. package/dist/lib/utils/selfHealing.d.ts.map +1 -0
  316. package/dist/lib/utils/selfHealing.js +89 -0
  317. package/dist/lib/utils/selfHealing.js.map +1 -0
  318. package/dist/main.d.ts +5 -1
  319. package/dist/main.d.ts.map +1 -1
  320. package/dist/main.js +8 -5
  321. package/dist/main.js.map +1 -1
  322. package/dist/managers/AdminApiController.d.ts.map +1 -1
  323. package/dist/managers/AdminApiController.js +7 -0
  324. package/dist/managers/AdminApiController.js.map +1 -1
  325. package/dist/managers/AgentsManager.d.ts +1 -1
  326. package/dist/managers/AgentsManager.d.ts.map +1 -1
  327. package/dist/managers/DonobuFlow.d.ts +3 -2
  328. package/dist/managers/DonobuFlow.d.ts.map +1 -1
  329. package/dist/managers/DonobuFlow.js +90 -21
  330. package/dist/managers/DonobuFlow.js.map +1 -1
  331. package/dist/managers/DonobuFlowsManager.d.ts +47 -6
  332. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  333. package/dist/managers/DonobuFlowsManager.js +104 -24
  334. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  335. package/dist/managers/DonobuStack.d.ts +18 -4
  336. package/dist/managers/DonobuStack.d.ts.map +1 -1
  337. package/dist/managers/DonobuStack.js +21 -5
  338. package/dist/managers/DonobuStack.js.map +1 -1
  339. package/dist/managers/EnvDataManager.d.ts +58 -0
  340. package/dist/managers/EnvDataManager.d.ts.map +1 -0
  341. package/dist/managers/EnvDataManager.js +134 -0
  342. package/dist/managers/EnvDataManager.js.map +1 -0
  343. package/dist/managers/EnvironmentDataManager.d.ts +58 -0
  344. package/dist/managers/EnvironmentDataManager.d.ts.map +1 -0
  345. package/dist/managers/EnvironmentDataManager.js +134 -0
  346. package/dist/managers/EnvironmentDataManager.js.map +1 -0
  347. package/dist/managers/GptConfigsManager.d.ts +1 -1
  348. package/dist/managers/GptConfigsManager.d.ts.map +1 -1
  349. package/dist/managers/PageInspector.d.ts +0 -1
  350. package/dist/managers/PageInspector.d.ts.map +1 -1
  351. package/dist/managers/PageInspector.js +29 -26
  352. package/dist/managers/PageInspector.js.map +1 -1
  353. package/dist/managers/ToolManager.d.ts +10 -0
  354. package/dist/managers/ToolManager.d.ts.map +1 -1
  355. package/dist/managers/ToolManager.js +46 -3
  356. package/dist/managers/ToolManager.js.map +1 -1
  357. package/dist/models/BrowserConfig.d.ts +1 -6
  358. package/dist/models/BrowserConfig.d.ts.map +1 -1
  359. package/dist/models/BrowserFramework.d.ts +2 -6
  360. package/dist/models/BrowserFramework.d.ts.map +1 -1
  361. package/dist/models/BrowserFramework.js +4 -22
  362. package/dist/models/BrowserFramework.js.map +1 -1
  363. package/dist/models/CreateDonobuFlow.d.ts +4 -0
  364. package/dist/models/CreateDonobuFlow.d.ts.map +1 -1
  365. package/dist/models/EnvironmentDatum.d.ts +54 -0
  366. package/dist/models/EnvironmentDatum.d.ts.map +1 -0
  367. package/dist/models/EnvironmentDatum.js +57 -0
  368. package/dist/models/EnvironmentDatum.js.map +1 -0
  369. package/dist/models/FlowMetadata.d.ts +14 -1
  370. package/dist/models/FlowMetadata.d.ts.map +1 -1
  371. package/dist/models/FlowMetadata.js.map +1 -1
  372. package/dist/models/PaginatedResult.d.ts +10 -0
  373. package/dist/models/PaginatedResult.d.ts.map +1 -0
  374. package/dist/models/PaginatedResult.js +6 -0
  375. package/dist/models/PaginatedResult.js.map +1 -0
  376. package/dist/models/ToolCallContext.d.ts +2 -1
  377. package/dist/models/ToolCallContext.d.ts.map +1 -1
  378. package/dist/models/ToolTemplateDataSource.d.ts +40 -0
  379. package/dist/models/ToolTemplateDataSource.d.ts.map +1 -0
  380. package/dist/models/ToolTemplateDataSource.js +3 -0
  381. package/dist/models/ToolTemplateDataSource.js.map +1 -0
  382. package/dist/persistence/DonobuSqliteDb.d.ts.map +1 -1
  383. package/dist/persistence/DonobuSqliteDb.js +12 -0
  384. package/dist/persistence/DonobuSqliteDb.js.map +1 -1
  385. package/dist/persistence/FlowsPersistence.d.ts +23 -14
  386. package/dist/persistence/FlowsPersistence.d.ts.map +1 -1
  387. package/dist/persistence/FlowsPersistenceAwsS3.d.ts +10 -5
  388. package/dist/persistence/FlowsPersistenceAwsS3.d.ts.map +1 -1
  389. package/dist/persistence/FlowsPersistenceAwsS3.js +79 -1
  390. package/dist/persistence/FlowsPersistenceAwsS3.js.map +1 -1
  391. package/dist/persistence/FlowsPersistenceFactoryImpl.js +1 -1
  392. package/dist/persistence/FlowsPersistenceFactoryImpl.js.map +1 -1
  393. package/dist/persistence/FlowsPersistenceFilesystem.d.ts +32 -5
  394. package/dist/persistence/FlowsPersistenceFilesystem.d.ts.map +1 -1
  395. package/dist/persistence/FlowsPersistenceFilesystem.js +114 -4
  396. package/dist/persistence/FlowsPersistenceFilesystem.js.map +1 -1
  397. package/dist/persistence/FlowsPersistenceGoogleCloudStorage.d.ts +10 -5
  398. package/dist/persistence/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
  399. package/dist/persistence/FlowsPersistenceGoogleCloudStorage.js +58 -1
  400. package/dist/persistence/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
  401. package/dist/persistence/FlowsPersistenceSqlite.d.ts +12 -5
  402. package/dist/persistence/FlowsPersistenceSqlite.d.ts.map +1 -1
  403. package/dist/persistence/FlowsPersistenceSqlite.js +35 -1
  404. package/dist/persistence/FlowsPersistenceSqlite.js.map +1 -1
  405. package/dist/persistence/FlowsPersistenceSupabase.d.ts +10 -5
  406. package/dist/persistence/FlowsPersistenceSupabase.d.ts.map +1 -1
  407. package/dist/persistence/FlowsPersistenceSupabase.js +46 -1
  408. package/dist/persistence/FlowsPersistenceSupabase.js.map +1 -1
  409. package/dist/persistence/FlowsPersistenceVolatile.d.ts +10 -5
  410. package/dist/persistence/FlowsPersistenceVolatile.d.ts.map +1 -1
  411. package/dist/persistence/FlowsPersistenceVolatile.js +21 -1
  412. package/dist/persistence/FlowsPersistenceVolatile.js.map +1 -1
  413. package/dist/persistence/agents/AgentsPersistence.d.ts +12 -0
  414. package/dist/persistence/agents/AgentsPersistence.d.ts.map +1 -0
  415. package/dist/persistence/agents/AgentsPersistence.js +3 -0
  416. package/dist/persistence/agents/AgentsPersistence.js.map +1 -0
  417. package/dist/persistence/agents/AgentsPersistenceSqlite.d.ts +15 -0
  418. package/dist/persistence/agents/AgentsPersistenceSqlite.d.ts.map +1 -0
  419. package/dist/persistence/agents/AgentsPersistenceSqlite.js +50 -0
  420. package/dist/persistence/agents/AgentsPersistenceSqlite.js.map +1 -0
  421. package/dist/persistence/agents/AgentsPersistenceVolatile.d.ts +14 -0
  422. package/dist/persistence/agents/AgentsPersistenceVolatile.d.ts.map +1 -0
  423. package/dist/persistence/agents/AgentsPersistenceVolatile.js +26 -0
  424. package/dist/persistence/agents/AgentsPersistenceVolatile.js.map +1 -0
  425. package/dist/persistence/env/EnvPersistence.d.ts +20 -0
  426. package/dist/persistence/env/EnvPersistence.d.ts.map +1 -0
  427. package/dist/persistence/env/EnvPersistence.js +3 -0
  428. package/dist/persistence/env/EnvPersistence.js.map +1 -0
  429. package/dist/persistence/env/EnvPersistenceAwsS3.d.ts +31 -0
  430. package/dist/persistence/env/EnvPersistenceAwsS3.d.ts.map +1 -0
  431. package/dist/persistence/env/EnvPersistenceAwsS3.js +117 -0
  432. package/dist/persistence/env/EnvPersistenceAwsS3.js.map +1 -0
  433. package/dist/persistence/env/EnvPersistenceFactory.d.ts +6 -0
  434. package/dist/persistence/env/EnvPersistenceFactory.d.ts.map +1 -0
  435. package/dist/persistence/env/EnvPersistenceFactory.js +3 -0
  436. package/dist/persistence/env/EnvPersistenceFactory.js.map +1 -0
  437. package/dist/persistence/env/EnvPersistenceFactoryImpl.d.ts +45 -0
  438. package/dist/persistence/env/EnvPersistenceFactoryImpl.d.ts.map +1 -0
  439. package/dist/persistence/env/EnvPersistenceFactoryImpl.js +86 -0
  440. package/dist/persistence/env/EnvPersistenceFactoryImpl.js.map +1 -0
  441. package/dist/persistence/env/EnvPersistenceFactoryPreset.d.ts +12 -0
  442. package/dist/persistence/env/EnvPersistenceFactoryPreset.d.ts.map +1 -0
  443. package/dist/persistence/env/EnvPersistenceFactoryPreset.js +17 -0
  444. package/dist/persistence/env/EnvPersistenceFactoryPreset.js.map +1 -0
  445. package/dist/persistence/env/EnvPersistenceFilesystem.d.ts +36 -0
  446. package/dist/persistence/env/EnvPersistenceFilesystem.d.ts.map +1 -0
  447. package/dist/persistence/env/EnvPersistenceFilesystem.js +132 -0
  448. package/dist/persistence/env/EnvPersistenceFilesystem.js.map +1 -0
  449. package/dist/persistence/env/EnvPersistenceGoogleCloudStorage.d.ts +30 -0
  450. package/dist/persistence/env/EnvPersistenceGoogleCloudStorage.d.ts.map +1 -0
  451. package/dist/persistence/env/EnvPersistenceGoogleCloudStorage.js +131 -0
  452. package/dist/persistence/env/EnvPersistenceGoogleCloudStorage.js.map +1 -0
  453. package/dist/persistence/env/EnvPersistenceSqlite.d.ts +19 -0
  454. package/dist/persistence/env/EnvPersistenceSqlite.d.ts.map +1 -0
  455. package/dist/persistence/env/EnvPersistenceSqlite.js +54 -0
  456. package/dist/persistence/env/EnvPersistenceSqlite.js.map +1 -0
  457. package/dist/persistence/env/EnvPersistenceSupabase.d.ts +17 -0
  458. package/dist/persistence/env/EnvPersistenceSupabase.d.ts.map +1 -0
  459. package/dist/persistence/env/EnvPersistenceSupabase.js +60 -0
  460. package/dist/persistence/env/EnvPersistenceSupabase.js.map +1 -0
  461. package/dist/persistence/env/EnvPersistenceVolatile.d.ts +13 -0
  462. package/dist/persistence/env/EnvPersistenceVolatile.d.ts.map +1 -0
  463. package/dist/persistence/env/EnvPersistenceVolatile.js +31 -0
  464. package/dist/persistence/env/EnvPersistenceVolatile.js.map +1 -0
  465. package/dist/persistence/flows/FlowsPersistence.d.ts +87 -0
  466. package/dist/persistence/flows/FlowsPersistence.d.ts.map +1 -0
  467. package/dist/persistence/flows/FlowsPersistence.js +3 -0
  468. package/dist/persistence/flows/FlowsPersistence.js.map +1 -0
  469. package/dist/persistence/flows/FlowsPersistenceAwsS3.d.ts +71 -0
  470. package/dist/persistence/flows/FlowsPersistenceAwsS3.d.ts.map +1 -0
  471. package/dist/persistence/flows/FlowsPersistenceAwsS3.js +448 -0
  472. package/dist/persistence/flows/FlowsPersistenceAwsS3.js.map +1 -0
  473. package/dist/persistence/flows/FlowsPersistenceFactory.d.ts +10 -0
  474. package/dist/persistence/flows/FlowsPersistenceFactory.d.ts.map +1 -0
  475. package/dist/persistence/flows/FlowsPersistenceFactory.js +3 -0
  476. package/dist/persistence/flows/FlowsPersistenceFactory.js.map +1 -0
  477. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.d.ts +57 -0
  478. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.d.ts.map +1 -0
  479. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.js +238 -0
  480. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.js.map +1 -0
  481. package/dist/persistence/flows/FlowsPersistenceFactoryPreset.d.ts +13 -0
  482. package/dist/persistence/flows/FlowsPersistenceFactoryPreset.d.ts.map +1 -0
  483. package/dist/persistence/flows/FlowsPersistenceFactoryPreset.js +24 -0
  484. package/dist/persistence/flows/FlowsPersistenceFactoryPreset.js.map +1 -0
  485. package/dist/persistence/flows/FlowsPersistenceFilesystem.d.ts +52 -0
  486. package/dist/persistence/flows/FlowsPersistenceFilesystem.d.ts.map +1 -0
  487. package/dist/persistence/flows/FlowsPersistenceFilesystem.js +291 -0
  488. package/dist/persistence/flows/FlowsPersistenceFilesystem.js.map +1 -0
  489. package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts +71 -0
  490. package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -0
  491. package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.js +429 -0
  492. package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.js.map +1 -0
  493. package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts +43 -0
  494. package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts.map +1 -0
  495. package/dist/persistence/flows/FlowsPersistenceSqlite.js +259 -0
  496. package/dist/persistence/flows/FlowsPersistenceSqlite.js.map +1 -0
  497. package/dist/persistence/flows/FlowsPersistenceSupabase.d.ts +40 -0
  498. package/dist/persistence/flows/FlowsPersistenceSupabase.d.ts.map +1 -0
  499. package/dist/persistence/flows/FlowsPersistenceSupabase.js +218 -0
  500. package/dist/persistence/flows/FlowsPersistenceSupabase.js.map +1 -0
  501. package/dist/persistence/flows/FlowsPersistenceVolatile.d.ts +37 -0
  502. package/dist/persistence/flows/FlowsPersistenceVolatile.d.ts.map +1 -0
  503. package/dist/persistence/flows/FlowsPersistenceVolatile.js +151 -0
  504. package/dist/persistence/flows/FlowsPersistenceVolatile.js.map +1 -0
  505. package/dist/persistence/gptconfigs/GptConfigsPersistence.d.ts +12 -0
  506. package/dist/persistence/gptconfigs/GptConfigsPersistence.d.ts.map +1 -0
  507. package/dist/persistence/gptconfigs/GptConfigsPersistence.js +3 -0
  508. package/dist/persistence/gptconfigs/GptConfigsPersistence.js.map +1 -0
  509. package/dist/persistence/gptconfigs/GptConfigsPersistenceSqlite.d.ts +13 -0
  510. package/dist/persistence/gptconfigs/GptConfigsPersistenceSqlite.d.ts.map +1 -0
  511. package/dist/persistence/gptconfigs/GptConfigsPersistenceSqlite.js +35 -0
  512. package/dist/persistence/gptconfigs/GptConfigsPersistenceSqlite.js.map +1 -0
  513. package/dist/persistence/gptconfigs/GptConfigsPersistenceVolatile.d.ts +15 -0
  514. package/dist/persistence/gptconfigs/GptConfigsPersistenceVolatile.d.ts.map +1 -0
  515. package/dist/persistence/gptconfigs/GptConfigsPersistenceVolatile.js +31 -0
  516. package/dist/persistence/gptconfigs/GptConfigsPersistenceVolatile.js.map +1 -0
  517. package/dist/playwrightTestExtensions.d.ts.map +1 -1
  518. package/dist/playwrightTestExtensions.js +31 -10
  519. package/dist/playwrightTestExtensions.js.map +1 -1
  520. package/dist/tools/GoToWebpageTool.d.ts.map +1 -1
  521. package/dist/tools/GoToWebpageTool.js +3 -2
  522. package/dist/tools/GoToWebpageTool.js.map +1 -1
  523. package/dist/utils/TemplateInterpolator.d.ts +47 -0
  524. package/dist/utils/TemplateInterpolator.d.ts.map +1 -0
  525. package/dist/utils/TemplateInterpolator.js +352 -0
  526. package/dist/utils/TemplateInterpolator.js.map +1 -0
  527. package/package.json +3 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateInterpolator.d.ts","sourceRoot":"","sources":["../../../src/utils/TemplateInterpolator.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAAqB,CAAC;AAkFxD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,GAAG,CAmDL;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,cAAc,GAAE,MAAU,EAC1B,iBAAiB,GAAE,MAAW,EAC9B,SAAS,GAAE,GAAG,CAAC,MAAM,CAAa,GACjC,MAAM,CA4GR;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,GAAG,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,cAAc,GAAE,MAAU,EAC1B,iBAAiB,GAAE,MAAW,EAC9B,gBAAgB,GAAE,OAAO,CAAC,MAAM,CAAiB,GAChD,GAAG,CAoFL;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAmD1E"}
@@ -0,0 +1,352 @@
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.TEMPLATE_DATA_PATTERN = void 0;
7
+ exports.resolveExpression = resolveExpression;
8
+ exports.interpolateString = interpolateString;
9
+ exports.interpolateObject = interpolateObject;
10
+ exports.extractInterpolationExpressions = extractInterpolationExpressions;
11
+ const Logger_1 = require("./Logger");
12
+ const jsonpath_1 = __importDefault(require("jsonpath"));
13
+ /**
14
+ * Regular expression to match template JSON-path expressions inside of {{...}}
15
+ */
16
+ exports.TEMPLATE_DATA_PATTERN = /\{\{([^}]+)\}\}/g;
17
+ /**
18
+ * Regular expression to detect expressions that need to be handled specially
19
+ * Matches patterns like: $..path[?(@.condition)][0] or $..path[?(@.condition)][index] or $..path[?(@.condition)][n:m]
20
+ */
21
+ const FILTER_WITH_INDEX_PATTERN = /(\[\?\(.*\)\])(\[-?\d+(\:\d+)?\])/;
22
+ /**
23
+ * Regular expression to detect standalone negative indices that need to be
24
+ * handled specially since the jsonpath library doesn't support negative indices
25
+ * directly (when running queries, we will convert them to slice notation).
26
+ */
27
+ const STANDALONE_NEGATIVE_INDEX_PATTERN = /(\$\.calls)\[(-\d+)\](?!\:)/;
28
+ /**
29
+ * Parse and modify JSONPath expressions to handle indexing after filter expressions
30
+ * @param expression - The JSONPath expression to process
31
+ * @returns A processed expression that works with the jsonpath library
32
+ */
33
+ function processJSONPathExpression(expression) {
34
+ // First check for filter followed by index pattern
35
+ const filterMatch = expression.match(FILTER_WITH_INDEX_PATTERN);
36
+ if (filterMatch) {
37
+ // Extract just the number from indexPart (remove the brackets)
38
+ const indexMatch = filterMatch[2].match(/\[(-?\d+)(\:\d+)?\]/);
39
+ if (indexMatch) {
40
+ // If it's a simple index (not a slice)
41
+ if (!indexMatch[2]) {
42
+ // Remove the index part from the expression
43
+ const baseExpression = expression.replace(filterMatch[2], '');
44
+ // Return the modified expression
45
+ return baseExpression;
46
+ }
47
+ }
48
+ }
49
+ // Check for standalone negative index pattern and convert it to slice notation
50
+ // since the jsonpath library doesn't support negative indices directly.
51
+ const negativeIndexMatch = expression.match(STANDALONE_NEGATIVE_INDEX_PATTERN);
52
+ if (negativeIndexMatch && negativeIndexMatch[2].startsWith('-')) {
53
+ // Convert the standalone negative index to slice notation
54
+ // For example: $.calls[-1] becomes $.calls[-1:]
55
+ const convertedExpression = expression.replace(`[${negativeIndexMatch[2]}]`, `[${negativeIndexMatch[2]}:]`);
56
+ return convertedExpression;
57
+ }
58
+ // If it doesn't match our patterns, return the original expression
59
+ return expression;
60
+ }
61
+ /**
62
+ * Format a value to string with special handling for objects and arrays
63
+ * @param value - The value to format
64
+ * @returns A string representation of the value
65
+ */
66
+ function formatValue(value) {
67
+ if (value === undefined || value === null) {
68
+ return '';
69
+ }
70
+ // Handle arrays by joining their string representations
71
+ if (Array.isArray(value)) {
72
+ return value.map(formatValue).join(',');
73
+ }
74
+ // Handle objects with proper JSON formatting
75
+ if (typeof value === 'object' && value !== null) {
76
+ return JSON.stringify(value);
77
+ }
78
+ // Default case
79
+ return String(value);
80
+ }
81
+ /**
82
+ * Resolve a JSONPath expression against the context
83
+ * @param expression - The JSONPath expression to evaluate
84
+ * @param dataSource - The data context to evaluate against
85
+ * @returns The resolved value or undefined if not found
86
+ */
87
+ function resolveExpression(expression, dataSource) {
88
+ try {
89
+ // Process the expression to handle special cases
90
+ const processedExpression = processJSONPathExpression(expression);
91
+ // Handle expressions with wildcards or recursive searches that might return arrays
92
+ const isWildcardOrRecursive = expression.includes('..') ||
93
+ expression.includes('*') ||
94
+ expression.includes('[:]');
95
+ // Use JSONPath to evaluate the expression against the context
96
+ const results = jsonpath_1.default.query(dataSource, processedExpression);
97
+ // Handle the indexing ourselves if needed
98
+ if (expression !== processedExpression) {
99
+ const match = expression.match(FILTER_WITH_INDEX_PATTERN);
100
+ if (match) {
101
+ const indexMatch = match[2].match(/\[(-?\d+)(\:\d+)?\]/);
102
+ if (indexMatch) {
103
+ const index = parseInt(indexMatch[1], 10);
104
+ // If we have results, handle both positive and negative indices
105
+ if (results && results.length > 0) {
106
+ // For negative indices, count from the end of the array
107
+ const actualIndex = index < 0 ? results.length + index : index;
108
+ // Return the result if the calculated index is valid
109
+ if (actualIndex >= 0 && actualIndex < results.length) {
110
+ return results[actualIndex];
111
+ }
112
+ }
113
+ return undefined;
114
+ }
115
+ }
116
+ }
117
+ // Return the entire array for expressions that clearly want multiple values
118
+ if (isWildcardOrRecursive && results.length > 1) {
119
+ return results;
120
+ }
121
+ // Default case - return the first result if available
122
+ if (results && results.length > 0) {
123
+ return results[0];
124
+ }
125
+ return undefined;
126
+ }
127
+ catch (error) {
128
+ throw new Error(`Failed to evaluate JSONPath expression: ${expression}. Error: ${error}`);
129
+ }
130
+ }
131
+ /**
132
+ * Interpolate template strings using JSONPath expressions, handling nested expressions
133
+ * @param template - The template string with {{...}} expressions
134
+ * @param dataSource - The data context to interpolate from
135
+ * @param recursionDepth - Current recursion depth (for loop detection)
136
+ * @param maxRecursionDepth - Maximum allowed recursion depth
137
+ * @param processed - Set of already processed templates (for loop detection)
138
+ * @returns The interpolated string
139
+ */
140
+ function interpolateString(template, dataSource, recursionDepth = 0, maxRecursionDepth = 10, processed = new Set()) {
141
+ // Check for recursion depth limits
142
+ if (recursionDepth > maxRecursionDepth) {
143
+ Logger_1.appLogger.warn(`Maximum interpolation depth (${maxRecursionDepth}) exceeded for template: ${template.substring(0, 100)}${template.length > 100 ? '...' : ''}`);
144
+ return template;
145
+ }
146
+ // Base case: no more expressions to interpolate
147
+ if (!template.includes('{{')) {
148
+ return template;
149
+ }
150
+ // Check if we've already processed this exact template (loop detection)
151
+ if (processed.has(template)) {
152
+ Logger_1.appLogger.warn(`Circular reference detected in template: ${template.substring(0, 100)}${template.length > 100 ? '...' : ''}`);
153
+ return template;
154
+ }
155
+ // Add this template to the processed set
156
+ processed.add(template);
157
+ let result = template;
158
+ const processedSegments = []; // [start, end, replacement]
159
+ // Find and process expressions from outermost to innermost
160
+ let i = 0;
161
+ while (i < result.length) {
162
+ // Find opening braces
163
+ const openIndex = result.indexOf('{{', i);
164
+ if (openIndex === -1)
165
+ break;
166
+ // Find matching closing braces with proper nesting
167
+ let braceDepth = 1;
168
+ let closeIndex = openIndex + 2;
169
+ while (closeIndex < result.length && braceDepth > 0) {
170
+ if (result.substr(closeIndex, 2) === '{{') {
171
+ braceDepth++;
172
+ closeIndex += 2;
173
+ }
174
+ else if (result.substr(closeIndex, 2) === '}}') {
175
+ braceDepth--;
176
+ closeIndex += 2;
177
+ }
178
+ else {
179
+ closeIndex++;
180
+ }
181
+ }
182
+ // If we found a complete expression
183
+ if (braceDepth === 0) {
184
+ const expressionContent = result
185
+ .substring(openIndex + 2, closeIndex - 2)
186
+ .trim();
187
+ try {
188
+ // If the expression contains nested templates, process it first, passing along depth info
189
+ const processedExpression = interpolateString(expressionContent, dataSource, recursionDepth + 1, maxRecursionDepth, new Set(processed));
190
+ // Then resolve the processed expression
191
+ const value = resolveExpression(processedExpression, dataSource);
192
+ // If the value is undefined, keep the original expression
193
+ const replacement = value !== undefined ? formatValue(value) : `{{${expressionContent}}}`;
194
+ // Store the replacement for later
195
+ processedSegments.push([openIndex, closeIndex, replacement]);
196
+ i = closeIndex;
197
+ }
198
+ catch (error) {
199
+ Logger_1.appLogger.warn(`Error interpolating template: ${template}, expression: ${expressionContent}, error: ${error}`);
200
+ i = closeIndex;
201
+ }
202
+ }
203
+ else {
204
+ // No matching closing braces, move past this opening brace
205
+ i = openIndex + 2;
206
+ }
207
+ }
208
+ // Apply replacements in reverse order (from end to start) to maintain correct indices
209
+ for (let i = processedSegments.length - 1; i >= 0; i--) {
210
+ const [start, end, replacement] = processedSegments[i];
211
+ result = result.substring(0, start) + replacement + result.substring(end);
212
+ }
213
+ // Recursively process the result again for any new expressions, but only if the result changed
214
+ if (result.includes('{{') && result !== template) {
215
+ return interpolateString(result, dataSource, recursionDepth + 1, maxRecursionDepth, processed);
216
+ }
217
+ return result;
218
+ }
219
+ /**
220
+ * Interpolate the parameters object using JSONPath expressions. Any string values
221
+ * and keys in the object will be replaced with the corresponding values from the data source.
222
+ * Nested objects and arrays will be processed recursively.
223
+ *
224
+ * @param parameters - The original parameters object
225
+ * @param dataSource - The data context to interpolate from
226
+ * @returns A new parameters object with interpolated string values and keys
227
+ */
228
+ function interpolateObject(parameters, dataSource, recursionDepth = 0, maxRecursionDepth = 10, processedObjects = new WeakSet()) {
229
+ // Check for primitive values
230
+ if (!parameters || typeof parameters !== 'object') {
231
+ return parameters;
232
+ }
233
+ // Check for recursion depth limits
234
+ if (recursionDepth > maxRecursionDepth) {
235
+ Logger_1.appLogger.warn(`Maximum interpolation depth (${maxRecursionDepth}) exceeded for object`);
236
+ return parameters;
237
+ }
238
+ // Check for circular references in objects
239
+ if (processedObjects.has(parameters)) {
240
+ Logger_1.appLogger.warn(`Circular reference detected in object`);
241
+ return parameters;
242
+ }
243
+ // Add this object to the processed set
244
+ processedObjects.add(parameters);
245
+ // Create appropriate result container
246
+ const result = Array.isArray(parameters) ? [] : {};
247
+ // Process each key-value pair
248
+ if (Array.isArray(parameters)) {
249
+ // Handle array case
250
+ for (let i = 0; i < parameters.length; i++) {
251
+ const value = parameters[i];
252
+ if (typeof value === 'string') {
253
+ // Interpolate string values
254
+ result[i] = interpolateString(value, dataSource, 0, maxRecursionDepth);
255
+ }
256
+ else if (typeof value === 'object' && value !== null) {
257
+ // Recursively process nested objects
258
+ result[i] = interpolateObject(value, dataSource, recursionDepth + 1, maxRecursionDepth, processedObjects);
259
+ }
260
+ else {
261
+ // Keep non-string values as is
262
+ result[i] = value;
263
+ }
264
+ }
265
+ }
266
+ else {
267
+ // Handle object case
268
+ for (const key in parameters) {
269
+ const value = parameters[key];
270
+ // Interpolate the key if it's a string and contains a template pattern
271
+ let processedKey = key;
272
+ if (typeof key === 'string' && key.includes('{{')) {
273
+ processedKey = interpolateString(key, dataSource, 0, maxRecursionDepth);
274
+ }
275
+ if (typeof value === 'string') {
276
+ // Interpolate string values
277
+ result[processedKey] = interpolateString(value, dataSource, 0, maxRecursionDepth);
278
+ }
279
+ else if (typeof value === 'object' && value !== null) {
280
+ // Recursively process nested objects
281
+ result[processedKey] = interpolateObject(value, dataSource, recursionDepth + 1, maxRecursionDepth, processedObjects);
282
+ }
283
+ else {
284
+ // Keep non-string values as is
285
+ result[processedKey] = value;
286
+ }
287
+ }
288
+ }
289
+ return result;
290
+ }
291
+ /**
292
+ * Extracts interpolation expressions from a template string.
293
+ *
294
+ * @param template - The template string with {{...}} expressions
295
+ * @returns An array of the extracted expressions without the {{ }} delimiters
296
+ *
297
+ * @example
298
+ * // Returns ["env.USER_NAME"]
299
+ * extractInterpolationExpressions("Hello {{env.USER_NAME}}, how are you?");
300
+ *
301
+ * @example
302
+ * // Returns ["env.API_KEY", "calls[0].result"]
303
+ * extractInterpolationExpressions("Use {{env.API_KEY}} to access {{calls[0].result}}");
304
+ */
305
+ function extractInterpolationExpressions(template) {
306
+ const expressions = [];
307
+ // Extract expressions recursively
308
+ function extractExpressions(text) {
309
+ let i = 0;
310
+ while (i < text.length) {
311
+ // Find opening braces
312
+ const openIndex = text.indexOf('{{', i);
313
+ if (openIndex === -1)
314
+ break;
315
+ // Find matching closing braces
316
+ let braceDepth = 1;
317
+ let closeIndex = openIndex + 2;
318
+ while (closeIndex < text.length && braceDepth > 0) {
319
+ if (text.substr(closeIndex, 2) === '{{') {
320
+ braceDepth++;
321
+ closeIndex += 2;
322
+ }
323
+ else if (text.substr(closeIndex, 2) === '}}') {
324
+ braceDepth--;
325
+ closeIndex += 2;
326
+ }
327
+ else {
328
+ closeIndex++;
329
+ }
330
+ }
331
+ // If we found a complete expression
332
+ if (braceDepth === 0) {
333
+ // Extract the content between {{ and }}
334
+ const expressionContent = text
335
+ .substring(openIndex + 2, closeIndex - 2)
336
+ .trim();
337
+ expressions.push(expressionContent);
338
+ // Recursively look for nested expressions within this expression
339
+ extractExpressions(expressionContent);
340
+ i = closeIndex;
341
+ }
342
+ else {
343
+ // No matching closing braces, move past this opening brace
344
+ i = openIndex + 2;
345
+ }
346
+ }
347
+ }
348
+ extractExpressions(template);
349
+ // Return unique expressions
350
+ return [...new Set(expressions)];
351
+ }
352
+ //# sourceMappingURL=TemplateInterpolator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateInterpolator.js","sourceRoot":"","sources":["../../../src/utils/TemplateInterpolator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ import type { Page } from '@playwright/test';
2
+ import { ToolCallResult } from '../models/ToolCallResult';
3
+ import { GptClient } from '../clients/GptClient';
4
+ import { LanguageModel } from 'ai';
5
+ import { AnalyzePageTextToolCoreParameters } from '../tools/AnalyzePageTextTool';
6
+ import { JSONSchema7 } from 'json-schema';
7
+ import { FlowMetadata } from '../models/FlowMetadata';
8
+ import { AssertPageTextToolCoreParameters } from '../tools/AssertPageTextTool';
9
+ import { AssertToolCoreParameters } from '../tools/AssertTool';
10
+ import { SelectorBasedChooseSelectOptionToolParameters } from '../tools/ChooseSelectOptionTool';
11
+ import { SelectorBasedClickToolParameters } from '../tools/ClickTool';
12
+ import { SelectorBasedHoverOverElementToolParameters } from '../tools/HoverOverElementTool';
13
+ import { SelectorBasedInputRandomizedEmailAddressToolParameters } from '../tools/InputRandomizedEmailAddressTool';
14
+ import { SelectorBasedInputTextToolParameters } from '../tools/InputTextTool';
15
+ import { SelectorBasedPressKeyToolParameters } from '../tools/PressKeyTool';
16
+ import { ScrollPageToolCoreParameters } from '../tools/ScrollPageTool';
17
+ /**
18
+ * Extends the Page object with additional test-related methods.
19
+ */
20
+ export interface DonobuExtendedPage extends Page {
21
+ /**
22
+ * Run an arbitrary Donobu tool by name.
23
+ */
24
+ run(toolName: string, toolParams?: any, gptClientOverride?: GptClient | LanguageModel): Promise<ToolCallResult>;
25
+ /**
26
+ * Run an analysis on the current webpage's full raw text. Note that since this runs an analysis on the raw text,
27
+ * rather than, the HTML of the page, the raw text may be a bit jumbled, have its styling lost, careful
28
+ * positioning lost, etc. This tool is useful if there happens to be a lot of text on a page, and it would be
29
+ * tedious to scroll through the entirety of the page in order to get enough context to run an analysis.
30
+ *
31
+ * If there is context relevant to running the analysis that would not be found in the webpage text itself,
32
+ * perhaps context given in another message, prompt, overall object, etc, then provide it in the
33
+ * "additionalRelevantContext" parameter.
34
+ */
35
+ analyzePageText(params: AnalyzePageTextToolCoreParameters, gptClientOverride?: GptClient | LanguageModel): Promise<ToolCallResult>;
36
+ /**
37
+ * Assert that given text is visible in the current page.
38
+ */
39
+ assertPageText(params: AssertPageTextToolCoreParameters, gptClientOverride?: GptClient | LanguageModel): Promise<ToolCallResult>;
40
+ /**
41
+ * Checks all of the pages in the current browser context and returns the one
42
+ * matching the given URL.
43
+ */
44
+ changeTab(url: string): Promise<Page>;
45
+ /**
46
+ * Choose <option> values for a particular <select> HTML element.
47
+ */
48
+ chooseSelectOption(params: SelectorBasedChooseSelectOptionToolParameters): Promise<ToolCallResult>;
49
+ /**
50
+ * Click an element on a webpage.
51
+ */
52
+ clickElement(params: SelectorBasedClickToolParameters): Promise<ToolCallResult>;
53
+ /**
54
+ * Perform an analysis of the cookies for the current web browsing session.
55
+ */
56
+ createCookieReport(gptClientOverride?: GptClient | LanguageModel): Promise<ToolCallResult>;
57
+ /**
58
+ * Return an object conforming to the given JSON-schema. The object will be
59
+ * generated considering the following:
60
+ * - The given instruction (if any).
61
+ * - A screenshot of the current state of the page.
62
+ * - The history of actions taken on the page.
63
+ */
64
+ extract(params: {
65
+ instruction?: string;
66
+ schema: JSONSchema7;
67
+ }, gptClientOverride?: GptClient | LanguageModel): Promise<Record<string, unknown>>;
68
+ /**
69
+ * Hover the mouse over a specified element on a webpage.
70
+ */
71
+ hoverOverElement(params: SelectorBasedHoverOverElementToolParameters): Promise<ToolCallResult>;
72
+ /**
73
+ * Create a new randomized email address based on a given email and inputs it to a specific input text field.
74
+ * For example if passed "foo@gmail.com", this tool will create "foo+SOMETHING_RANDOM@gmail.com", where
75
+ * SOMETHING_RANDOM is a random string of characters safe for use in an email address, and input it in the
76
+ * specified text field.
77
+ */
78
+ inputRandomizedEmailAddress(params: SelectorBasedInputRandomizedEmailAddressToolParameters): Promise<ToolCallResult>;
79
+ /**
80
+ * Input text to a webpage's text input box.
81
+ */
82
+ inputText(params: SelectorBasedInputTextToolParameters): Promise<ToolCallResult>;
83
+ /**
84
+ * Press a single key. Note that if there is existing text in the element, it is appended rather than cleared.
85
+ *
86
+ * Generally, prefer using the 'inputText' tool instead as it automatically clears existing text
87
+ * and it allows the input of multiple characters at a time. The only advantage this tool has is
88
+ * that it allows the passing of control keys like "Tab", "Backspace", etc.
89
+ */
90
+ pressKey(params: SelectorBasedPressKeyToolParameters): Promise<ToolCallResult>;
91
+ /**
92
+ * Run an web accessibility (i.e. axe-core) test on the current webpage.
93
+ */
94
+ runAccessibilityTest(): Promise<ToolCallResult>;
95
+ /**
96
+ * Scroll the current page up or down by one viewport.
97
+ */
98
+ scroll(params: ScrollPageToolCoreParameters): Promise<ToolCallResult>;
99
+ /**
100
+ * Visually assert that a given condition (i.e. the 'assertionToTestFor' field) holds true, using a screenshot of
101
+ * the current webpage.
102
+ */
103
+ visuallyAssert(params: AssertToolCoreParameters, gptClientOverride?: GptClient | LanguageModel): Promise<ToolCallResult>;
104
+ _donobuFlowMetadata: FlowMetadata;
105
+ }
106
+ //# sourceMappingURL=DonobuExtendedPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DonobuExtendedPage.d.ts","sourceRoot":"","sources":["../../src/lib/DonobuExtendedPage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=DonobuExtendedPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DonobuExtendedPage.js","sourceRoot":"","sources":["../../src/lib/DonobuExtendedPage.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export declare const PLACEHOLDER_FLOW_URL = "https://example.com";
2
+ export declare const DEFAULT_GPT_MODEL_FOR_PLATFORM: {
3
+ ANTHROPIC: string;
4
+ ANTHROPIC_AWS_BEDROCK: string | undefined;
5
+ GOOGLE_GEMINI: string;
6
+ OPENAI: string;
7
+ };
8
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAC1D,eAAO,MAAM,8BAA8B;;;;;CAU1C,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_GPT_MODEL_FOR_PLATFORM = exports.PLACEHOLDER_FLOW_URL = void 0;
4
+ const envVars_1 = require("../envVars");
5
+ exports.PLACEHOLDER_FLOW_URL = 'https://example.com';
6
+ exports.DEFAULT_GPT_MODEL_FOR_PLATFORM = {
7
+ ANTHROPIC: process.env[envVars_1.ENV_VAR_NAMES.ANTHROPIC_MODEL_NAME] ||
8
+ 'claude-3-5-sonnet-latest',
9
+ ANTHROPIC_AWS_BEDROCK: process.env[envVars_1.ENV_VAR_NAMES.AWS_BEDROCK_MODEL_NAME] || undefined,
10
+ GOOGLE_GEMINI: process.env[envVars_1.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_MODEL_NAME] ||
11
+ 'gemini-2.0-flash',
12
+ OPENAI: process.env[envVars_1.ENV_VAR_NAMES.OPENAI_API_MODEL_NAME] || 'gpt-4o',
13
+ };
14
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":";;;AAAA,wCAA2C;AAE9B,QAAA,oBAAoB,GAAG,qBAAqB,CAAC;AAC7C,QAAA,8BAA8B,GAAG;IAC5C,SAAS,EACP,OAAO,CAAC,GAAG,CAAC,uBAAa,CAAC,oBAAoB,CAAC;QAC/C,0BAA0B;IAC5B,qBAAqB,EACnB,OAAO,CAAC,GAAG,CAAC,uBAAa,CAAC,sBAAsB,CAAC,IAAI,SAAS;IAChE,aAAa,EACX,OAAO,CAAC,GAAG,CAAC,uBAAa,CAAC,+BAA+B,CAAC;QAC1D,kBAAkB;IACpB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAa,CAAC,qBAAqB,CAAC,IAAI,QAAQ;CACrE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { TestFixture } from '@playwright/test';
2
+ import { BrowserStorageState } from '../../models/BrowserStorageState';
3
+ import { BrowserStateReference } from '../../models/BrowserStateFlowReference';
4
+ export declare function getBrowserStorageState(flowIdOrName: BrowserStateReference): Promise<BrowserStorageState>;
5
+ export declare function getBrowserStorageStateFixture(flowIdOrName: BrowserStateReference): TestFixture<BrowserStorageState, any>;
6
+ //# sourceMappingURL=browserState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserState.d.ts","sourceRoot":"","sources":["../../../src/lib/fixtures/browserState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAG/E,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAI9B;AAED,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,qBAAqB,GAClC,WAAW,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAOvC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBrowserStorageState = getBrowserStorageState;
4
+ exports.getBrowserStorageStateFixture = getBrowserStorageStateFixture;
5
+ const donobuTestStack_1 = require("../utils/donobuTestStack");
6
+ async function getBrowserStorageState(flowIdOrName) {
7
+ return (await (0, donobuTestStack_1.getOrCreateDonobuStack)()).flowsManager.getBrowserStorageState(flowIdOrName);
8
+ }
9
+ function getBrowserStorageStateFixture(flowIdOrName) {
10
+ return async ({}, use) => {
11
+ const storage = await (await (0, donobuTestStack_1.getOrCreateDonobuStack)()).flowsManager.getBrowserStorageState(flowIdOrName);
12
+ await use(storage);
13
+ };
14
+ }
15
+ //# sourceMappingURL=browserState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserState.js","sourceRoot":"","sources":["../../../src/lib/fixtures/browserState.ts"],"names":[],"mappings":";;AAKA,wDAMC;AAED,sEASC;AAnBD,8DAAkE;AAE3D,KAAK,UAAU,sBAAsB,CAC1C,YAAmC;IAEnC,OAAO,CAAC,MAAM,IAAA,wCAAsB,GAAE,CAAC,CAAC,YAAY,CAAC,sBAAsB,CACzE,YAAY,CACb,CAAC;AACJ,CAAC;AAED,SAAgB,6BAA6B,CAC3C,YAAmC;IAEnC,OAAO,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;QACvB,MAAM,OAAO,GAAG,MAAM,CACpB,MAAM,IAAA,wCAAsB,GAAE,CAC/B,CAAC,YAAY,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QACpD,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { TestFixture } from '@playwright/test';
2
+ import { GptClient } from '../../clients/GptClient';
3
+ import { LanguageModel } from 'ai';
4
+ export declare function getOrCreateDefaultGptClient(): Promise<GptClient>;
5
+ /**
6
+ * This fixture resolves a GPT client based on environment variables.
7
+ * Supplying different environment variables will result in different GPT
8
+ * clients being created. Here is a mapping of client type to environment
9
+ * variables for how to create the various types of clients...
10
+ *
11
+ * Anthropic AWS Bedrock GPT client requires:
12
+ * - AWS_BEDROCK_MODEL_NAME
13
+ * - AWS_REGION
14
+ * - AWS_ACCESS_KEY_ID
15
+ * - AWS_SECRET_ACCESS_KEY
16
+ *
17
+ * Anthropic GPT client requires:
18
+ * - ANTHROPIC_API_KEY
19
+ *
20
+ * Google GPT client requires:
21
+ * - GOOGLE_GENERATIVE_AI_API_KEY
22
+ *
23
+ * OpenAI GPT client requires:
24
+ * - OPENAI_API_KEY
25
+ *
26
+ * If the modelName is not specified, it will be defaulted according to the
27
+ * DEFAULT_GPT_MODEL_FOR_PLATFORM mapping.
28
+ */
29
+ export declare function createGptClient(modelName?: string): Promise<GptClient>;
30
+ export declare function anthropicClient(modelName: string, apiKey?: string): Promise<GptClient>;
31
+ export declare function anthropicClientFixture(modelName: string, apiKey?: string): TestFixture<GptClient, any>;
32
+ export declare function anthropicAwsBedrockClient(modelName: string, region?: string, accessKeyId?: string, secretAccessKey?: string): Promise<GptClient>;
33
+ export declare function anthropicAwsBedrockClientFixture(modelName: string, region?: string, accessKeyId?: string, secretAccessKey?: string): TestFixture<GptClient, any>;
34
+ export declare function googleGeminiClient(modelName: string, apiKey?: string): Promise<GptClient>;
35
+ export declare function googleGeminiClientFixture(modelName: string, apiKey?: string): TestFixture<GptClient, any>;
36
+ export declare function openAiClient(modelName: string, apiKey?: string): Promise<GptClient>;
37
+ export declare function openAiClientFixture(modelName: string, apiKey?: string): TestFixture<GptClient, any>;
38
+ export declare function vercelAiClientFixture(model: LanguageModel): TestFixture<GptClient, any>;
39
+ export declare function gptClientFixture(modelName?: string): TestFixture<GptClient, any>;
40
+ //# sourceMappingURL=gptClients.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gptClients.d.ts","sourceRoot":"","sources":["../../../src/lib/fixtures/gptClients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAkBnC,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,SAAS,CAAC,CAOtE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAiD5E;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CAcpB;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAK7B;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,SAAS,CAAC,CAmBpB;AAED,wBAAgB,gCAAgC,CAC9C,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,GACvB,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAU7B;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CAepB;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAK7B;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CAcpB;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAK7B;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,GACnB,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAK7B;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAK7B"}