@keystrokehq/serpapi 0.1.0 → 0.1.2

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 (312) hide show
  1. package/README.md +1 -1
  2. package/dist/action.cjs.map +1 -1
  3. package/dist/action.mjs.map +1 -1
  4. package/dist/actions/baidu-search.cjs.map +1 -1
  5. package/dist/actions/baidu-search.d.cts +43 -3
  6. package/dist/actions/baidu-search.d.cts.map +1 -1
  7. package/dist/actions/baidu-search.d.mts +43 -3
  8. package/dist/actions/baidu-search.d.mts.map +1 -1
  9. package/dist/actions/baidu-search.mjs.map +1 -1
  10. package/dist/actions/bing-maps.cjs.map +1 -1
  11. package/dist/actions/bing-maps.d.cts +122 -3
  12. package/dist/actions/bing-maps.d.cts.map +1 -1
  13. package/dist/actions/bing-maps.d.mts +122 -3
  14. package/dist/actions/bing-maps.d.mts.map +1 -1
  15. package/dist/actions/bing-maps.mjs.map +1 -1
  16. package/dist/actions/bing-search.cjs.map +1 -1
  17. package/dist/actions/bing-search.d.cts +28 -3
  18. package/dist/actions/bing-search.d.cts.map +1 -1
  19. package/dist/actions/bing-search.d.mts +28 -3
  20. package/dist/actions/bing-search.d.mts.map +1 -1
  21. package/dist/actions/bing-search.mjs.map +1 -1
  22. package/dist/actions/duck-duck-go-light-search.cjs.map +1 -1
  23. package/dist/actions/duck-duck-go-light-search.d.cts +64 -3
  24. package/dist/actions/duck-duck-go-light-search.d.cts.map +1 -1
  25. package/dist/actions/duck-duck-go-light-search.d.mts +64 -3
  26. package/dist/actions/duck-duck-go-light-search.d.mts.map +1 -1
  27. package/dist/actions/duck-duck-go-light-search.mjs.map +1 -1
  28. package/dist/actions/duck-duck-go-maps.cjs +19 -19
  29. package/dist/actions/duck-duck-go-maps.cjs.map +1 -1
  30. package/dist/actions/duck-duck-go-maps.d.cts +78 -3
  31. package/dist/actions/duck-duck-go-maps.d.cts.map +1 -1
  32. package/dist/actions/duck-duck-go-maps.d.mts +78 -3
  33. package/dist/actions/duck-duck-go-maps.d.mts.map +1 -1
  34. package/dist/actions/duck-duck-go-maps.mjs +19 -19
  35. package/dist/actions/duck-duck-go-maps.mjs.map +1 -1
  36. package/dist/actions/duck-duck-go-search.cjs +35 -35
  37. package/dist/actions/duck-duck-go-search.cjs.map +1 -1
  38. package/dist/actions/duck-duck-go-search.d.cts +101 -3
  39. package/dist/actions/duck-duck-go-search.d.cts.map +1 -1
  40. package/dist/actions/duck-duck-go-search.d.mts +101 -3
  41. package/dist/actions/duck-duck-go-search.d.mts.map +1 -1
  42. package/dist/actions/duck-duck-go-search.mjs +35 -35
  43. package/dist/actions/duck-duck-go-search.mjs.map +1 -1
  44. package/dist/actions/ebay-search.cjs.map +1 -1
  45. package/dist/actions/ebay-search.d.cts +99 -3
  46. package/dist/actions/ebay-search.d.cts.map +1 -1
  47. package/dist/actions/ebay-search.d.mts +99 -3
  48. package/dist/actions/ebay-search.d.mts.map +1 -1
  49. package/dist/actions/ebay-search.mjs.map +1 -1
  50. package/dist/actions/event-search.cjs.map +1 -1
  51. package/dist/actions/event-search.d.cts +65 -3
  52. package/dist/actions/event-search.d.cts.map +1 -1
  53. package/dist/actions/event-search.d.mts +65 -3
  54. package/dist/actions/event-search.d.mts.map +1 -1
  55. package/dist/actions/event-search.mjs.map +1 -1
  56. package/dist/actions/finance-search.cjs.map +1 -1
  57. package/dist/actions/finance-search.d.cts +248 -3
  58. package/dist/actions/finance-search.d.cts.map +1 -1
  59. package/dist/actions/finance-search.d.mts +248 -3
  60. package/dist/actions/finance-search.d.mts.map +1 -1
  61. package/dist/actions/finance-search.mjs.map +1 -1
  62. package/dist/actions/get-available-location-options-for-google-searches.cjs.map +1 -1
  63. package/dist/actions/get-available-location-options-for-google-searches.d.cts +22 -3
  64. package/dist/actions/get-available-location-options-for-google-searches.d.cts.map +1 -1
  65. package/dist/actions/get-available-location-options-for-google-searches.d.mts +22 -3
  66. package/dist/actions/get-available-location-options-for-google-searches.d.mts.map +1 -1
  67. package/dist/actions/get-available-location-options-for-google-searches.mjs.map +1 -1
  68. package/dist/actions/get-facebook-profile.cjs.map +1 -1
  69. package/dist/actions/get-facebook-profile.d.cts +88 -3
  70. package/dist/actions/get-facebook-profile.d.cts.map +1 -1
  71. package/dist/actions/get-facebook-profile.d.mts +88 -3
  72. package/dist/actions/get-facebook-profile.d.mts.map +1 -1
  73. package/dist/actions/get-facebook-profile.mjs.map +1 -1
  74. package/dist/actions/get-google-about-this-result.cjs.map +1 -1
  75. package/dist/actions/get-google-about-this-result.d.cts +96 -3
  76. package/dist/actions/get-google-about-this-result.d.cts.map +1 -1
  77. package/dist/actions/get-google-about-this-result.d.mts +96 -3
  78. package/dist/actions/get-google-about-this-result.d.mts.map +1 -1
  79. package/dist/actions/get-google-about-this-result.mjs.map +1 -1
  80. package/dist/actions/get-google-hotels-autocomplete-suggestions.cjs.map +1 -1
  81. package/dist/actions/get-google-hotels-autocomplete-suggestions.d.cts +42 -3
  82. package/dist/actions/get-google-hotels-autocomplete-suggestions.d.cts.map +1 -1
  83. package/dist/actions/get-google-hotels-autocomplete-suggestions.d.mts +42 -3
  84. package/dist/actions/get-google-hotels-autocomplete-suggestions.d.mts.map +1 -1
  85. package/dist/actions/get-google-hotels-autocomplete-suggestions.mjs.map +1 -1
  86. package/dist/actions/get-google-images-related-content.cjs.map +1 -1
  87. package/dist/actions/get-google-images-related-content.d.cts +55 -3
  88. package/dist/actions/get-google-images-related-content.d.cts.map +1 -1
  89. package/dist/actions/get-google-images-related-content.d.mts +55 -3
  90. package/dist/actions/get-google-images-related-content.d.mts.map +1 -1
  91. package/dist/actions/get-google-images-related-content.mjs.map +1 -1
  92. package/dist/actions/get-google-patent-details.cjs.map +1 -1
  93. package/dist/actions/get-google-patent-details.d.cts +94 -3
  94. package/dist/actions/get-google-patent-details.d.cts.map +1 -1
  95. package/dist/actions/get-google-patent-details.d.mts +94 -3
  96. package/dist/actions/get-google-patent-details.d.mts.map +1 -1
  97. package/dist/actions/get-google-patent-details.mjs.map +1 -1
  98. package/dist/actions/get-search-archive.cjs.map +1 -1
  99. package/dist/actions/get-search-archive.d.cts +67 -3
  100. package/dist/actions/get-search-archive.d.cts.map +1 -1
  101. package/dist/actions/get-search-archive.d.mts +67 -3
  102. package/dist/actions/get-search-archive.d.mts.map +1 -1
  103. package/dist/actions/get-search-archive.mjs.map +1 -1
  104. package/dist/actions/google-domains-list.cjs +3 -3
  105. package/dist/actions/google-domains-list.cjs.map +1 -1
  106. package/dist/actions/google-domains-list.d.cts +12 -3
  107. package/dist/actions/google-domains-list.d.cts.map +1 -1
  108. package/dist/actions/google-domains-list.d.mts +12 -3
  109. package/dist/actions/google-domains-list.d.mts.map +1 -1
  110. package/dist/actions/google-domains-list.mjs +3 -3
  111. package/dist/actions/google-domains-list.mjs.map +1 -1
  112. package/dist/actions/google-forums-search.cjs.map +1 -1
  113. package/dist/actions/google-forums-search.d.cts +123 -3
  114. package/dist/actions/google-forums-search.d.cts.map +1 -1
  115. package/dist/actions/google-forums-search.d.mts +123 -3
  116. package/dist/actions/google-forums-search.d.mts.map +1 -1
  117. package/dist/actions/google-forums-search.mjs.map +1 -1
  118. package/dist/actions/google-jobs-search.cjs.map +1 -1
  119. package/dist/actions/google-jobs-search.d.cts +104 -3
  120. package/dist/actions/google-jobs-search.d.cts.map +1 -1
  121. package/dist/actions/google-jobs-search.d.mts +104 -3
  122. package/dist/actions/google-jobs-search.d.mts.map +1 -1
  123. package/dist/actions/google-jobs-search.mjs.map +1 -1
  124. package/dist/actions/google-lens-search.cjs.map +1 -1
  125. package/dist/actions/google-lens-search.d.cts +63 -3
  126. package/dist/actions/google-lens-search.d.cts.map +1 -1
  127. package/dist/actions/google-lens-search.d.mts +63 -3
  128. package/dist/actions/google-lens-search.d.mts.map +1 -1
  129. package/dist/actions/google-lens-search.mjs.map +1 -1
  130. package/dist/actions/google-light-search.cjs.map +1 -1
  131. package/dist/actions/google-light-search.d.cts +91 -3
  132. package/dist/actions/google-light-search.d.cts.map +1 -1
  133. package/dist/actions/google-light-search.d.mts +91 -3
  134. package/dist/actions/google-light-search.d.mts.map +1 -1
  135. package/dist/actions/google-light-search.mjs.map +1 -1
  136. package/dist/actions/google-maps-posts.cjs.map +1 -1
  137. package/dist/actions/google-maps-posts.d.cts +49 -3
  138. package/dist/actions/google-maps-posts.d.cts.map +1 -1
  139. package/dist/actions/google-maps-posts.d.mts +49 -3
  140. package/dist/actions/google-maps-posts.d.mts.map +1 -1
  141. package/dist/actions/google-maps-posts.mjs.map +1 -1
  142. package/dist/actions/google-maps-search.cjs +18 -18
  143. package/dist/actions/google-maps-search.cjs.map +1 -1
  144. package/dist/actions/google-maps-search.d.cts +122 -3
  145. package/dist/actions/google-maps-search.d.cts.map +1 -1
  146. package/dist/actions/google-maps-search.d.mts +122 -3
  147. package/dist/actions/google-maps-search.d.mts.map +1 -1
  148. package/dist/actions/google-maps-search.mjs +18 -18
  149. package/dist/actions/google-maps-search.mjs.map +1 -1
  150. package/dist/actions/google-play-product.cjs.map +1 -1
  151. package/dist/actions/google-play-product.d.cts +163 -3
  152. package/dist/actions/google-play-product.d.cts.map +1 -1
  153. package/dist/actions/google-play-product.d.mts +163 -3
  154. package/dist/actions/google-play-product.d.mts.map +1 -1
  155. package/dist/actions/google-play-product.mjs.map +1 -1
  156. package/dist/actions/google-scholar-author.cjs +5 -5
  157. package/dist/actions/google-scholar-author.cjs.map +1 -1
  158. package/dist/actions/google-scholar-author.d.cts +82 -3
  159. package/dist/actions/google-scholar-author.d.cts.map +1 -1
  160. package/dist/actions/google-scholar-author.d.mts +82 -3
  161. package/dist/actions/google-scholar-author.d.mts.map +1 -1
  162. package/dist/actions/google-scholar-author.mjs +5 -5
  163. package/dist/actions/google-scholar-author.mjs.map +1 -1
  164. package/dist/actions/google-scholar-cite.cjs.map +1 -1
  165. package/dist/actions/google-scholar-cite.d.cts +32 -3
  166. package/dist/actions/google-scholar-cite.d.cts.map +1 -1
  167. package/dist/actions/google-scholar-cite.d.mts +32 -3
  168. package/dist/actions/google-scholar-cite.d.mts.map +1 -1
  169. package/dist/actions/google-scholar-cite.mjs.map +1 -1
  170. package/dist/actions/google-videos-light.cjs.map +1 -1
  171. package/dist/actions/google-videos-light.d.cts +79 -3
  172. package/dist/actions/google-videos-light.d.cts.map +1 -1
  173. package/dist/actions/google-videos-light.d.mts +79 -3
  174. package/dist/actions/google-videos-light.d.mts.map +1 -1
  175. package/dist/actions/google-videos-light.mjs.map +1 -1
  176. package/dist/actions/hotel-search.cjs.map +1 -1
  177. package/dist/actions/hotel-search.d.cts +65 -3
  178. package/dist/actions/hotel-search.d.cts.map +1 -1
  179. package/dist/actions/hotel-search.d.mts +65 -3
  180. package/dist/actions/hotel-search.d.mts.map +1 -1
  181. package/dist/actions/hotel-search.mjs.map +1 -1
  182. package/dist/actions/image-search.cjs.map +1 -1
  183. package/dist/actions/image-search.d.cts +11 -3
  184. package/dist/actions/image-search.d.cts.map +1 -1
  185. package/dist/actions/image-search.d.mts +11 -3
  186. package/dist/actions/image-search.d.mts.map +1 -1
  187. package/dist/actions/image-search.mjs.map +1 -1
  188. package/dist/actions/naver-search.cjs.map +1 -1
  189. package/dist/actions/naver-search.d.cts +158 -3
  190. package/dist/actions/naver-search.d.cts.map +1 -1
  191. package/dist/actions/naver-search.d.mts +158 -3
  192. package/dist/actions/naver-search.d.mts.map +1 -1
  193. package/dist/actions/naver-search.mjs.map +1 -1
  194. package/dist/actions/news-search.cjs.map +1 -1
  195. package/dist/actions/news-search.d.cts +13 -3
  196. package/dist/actions/news-search.d.cts.map +1 -1
  197. package/dist/actions/news-search.d.mts +13 -3
  198. package/dist/actions/news-search.d.mts.map +1 -1
  199. package/dist/actions/news-search.mjs.map +1 -1
  200. package/dist/actions/open-table-reviews.cjs.map +1 -1
  201. package/dist/actions/open-table-reviews.d.cts +103 -3
  202. package/dist/actions/open-table-reviews.d.cts.map +1 -1
  203. package/dist/actions/open-table-reviews.d.mts +103 -3
  204. package/dist/actions/open-table-reviews.d.mts.map +1 -1
  205. package/dist/actions/open-table-reviews.mjs.map +1 -1
  206. package/dist/actions/play-search.cjs.map +1 -1
  207. package/dist/actions/play-search.d.cts +39 -3
  208. package/dist/actions/play-search.d.cts.map +1 -1
  209. package/dist/actions/play-search.d.mts +39 -3
  210. package/dist/actions/play-search.d.mts.map +1 -1
  211. package/dist/actions/play-search.mjs.map +1 -1
  212. package/dist/actions/scholar-search.cjs.map +1 -1
  213. package/dist/actions/scholar-search.d.cts +13 -3
  214. package/dist/actions/scholar-search.d.cts.map +1 -1
  215. package/dist/actions/scholar-search.d.mts +13 -3
  216. package/dist/actions/scholar-search.d.mts.map +1 -1
  217. package/dist/actions/scholar-search.mjs.map +1 -1
  218. package/dist/actions/search-apple-app-store.cjs.map +1 -1
  219. package/dist/actions/search-apple-app-store.d.cts +63 -3
  220. package/dist/actions/search-apple-app-store.d.cts.map +1 -1
  221. package/dist/actions/search-apple-app-store.d.mts +63 -3
  222. package/dist/actions/search-apple-app-store.d.mts.map +1 -1
  223. package/dist/actions/search-apple-app-store.mjs.map +1 -1
  224. package/dist/actions/search-google-images-light.cjs.map +1 -1
  225. package/dist/actions/search-google-images-light.d.cts +81 -3
  226. package/dist/actions/search-google-images-light.d.cts.map +1 -1
  227. package/dist/actions/search-google-images-light.d.mts +81 -3
  228. package/dist/actions/search-google-images-light.d.mts.map +1 -1
  229. package/dist/actions/search-google-images-light.mjs.map +1 -1
  230. package/dist/actions/search-google-local-services.cjs.map +1 -1
  231. package/dist/actions/search-google-local-services.d.cts +57 -3
  232. package/dist/actions/search-google-local-services.d.cts.map +1 -1
  233. package/dist/actions/search-google-local-services.d.mts +57 -3
  234. package/dist/actions/search-google-local-services.d.mts.map +1 -1
  235. package/dist/actions/search-google-local-services.mjs.map +1 -1
  236. package/dist/actions/search-yelp.cjs.map +1 -1
  237. package/dist/actions/search-yelp.d.cts +41 -3
  238. package/dist/actions/search-yelp.d.cts.map +1 -1
  239. package/dist/actions/search-yelp.d.mts +41 -3
  240. package/dist/actions/search-yelp.d.mts.map +1 -1
  241. package/dist/actions/search-yelp.mjs.map +1 -1
  242. package/dist/actions/search.cjs.map +1 -1
  243. package/dist/actions/search.d.cts +15 -3
  244. package/dist/actions/search.d.cts.map +1 -1
  245. package/dist/actions/search.d.mts +15 -3
  246. package/dist/actions/search.d.mts.map +1 -1
  247. package/dist/actions/search.mjs.map +1 -1
  248. package/dist/actions/shopping-search.cjs.map +1 -1
  249. package/dist/actions/shopping-search.d.cts +13 -3
  250. package/dist/actions/shopping-search.d.cts.map +1 -1
  251. package/dist/actions/shopping-search.d.mts +13 -3
  252. package/dist/actions/shopping-search.d.mts.map +1 -1
  253. package/dist/actions/shopping-search.mjs.map +1 -1
  254. package/dist/actions/trends-search.cjs.map +1 -1
  255. package/dist/actions/trends-search.d.cts +106 -3
  256. package/dist/actions/trends-search.d.cts.map +1 -1
  257. package/dist/actions/trends-search.d.mts +106 -3
  258. package/dist/actions/trends-search.d.mts.map +1 -1
  259. package/dist/actions/trends-search.mjs.map +1 -1
  260. package/dist/actions/walmart-product-reviews.cjs.map +1 -1
  261. package/dist/actions/walmart-product-reviews.d.cts +109 -3
  262. package/dist/actions/walmart-product-reviews.d.cts.map +1 -1
  263. package/dist/actions/walmart-product-reviews.d.mts +109 -3
  264. package/dist/actions/walmart-product-reviews.d.mts.map +1 -1
  265. package/dist/actions/walmart-product-reviews.mjs.map +1 -1
  266. package/dist/actions/walmart-search.cjs.map +1 -1
  267. package/dist/actions/walmart-search.d.cts +29 -3
  268. package/dist/actions/walmart-search.d.cts.map +1 -1
  269. package/dist/actions/walmart-search.d.mts +29 -3
  270. package/dist/actions/walmart-search.d.mts.map +1 -1
  271. package/dist/actions/walmart-search.mjs.map +1 -1
  272. package/dist/actions/yahoo-search.cjs.map +1 -1
  273. package/dist/actions/yahoo-search.d.cts +44 -3
  274. package/dist/actions/yahoo-search.d.cts.map +1 -1
  275. package/dist/actions/yahoo-search.d.mts +44 -3
  276. package/dist/actions/yahoo-search.d.mts.map +1 -1
  277. package/dist/actions/yahoo-search.mjs.map +1 -1
  278. package/dist/actions/yahoo-videos.cjs.map +1 -1
  279. package/dist/actions/yahoo-videos.d.cts +87 -3
  280. package/dist/actions/yahoo-videos.d.cts.map +1 -1
  281. package/dist/actions/yahoo-videos.d.mts +87 -3
  282. package/dist/actions/yahoo-videos.d.mts.map +1 -1
  283. package/dist/actions/yahoo-videos.mjs.map +1 -1
  284. package/dist/actions/yandex-images-search.cjs.map +1 -1
  285. package/dist/actions/yandex-images-search.d.cts +97 -3
  286. package/dist/actions/yandex-images-search.d.cts.map +1 -1
  287. package/dist/actions/yandex-images-search.d.mts +97 -3
  288. package/dist/actions/yandex-images-search.d.mts.map +1 -1
  289. package/dist/actions/yandex-images-search.mjs.map +1 -1
  290. package/dist/actions/yandex-search.cjs.map +1 -1
  291. package/dist/actions/yandex-search.d.cts +24 -3
  292. package/dist/actions/yandex-search.d.cts.map +1 -1
  293. package/dist/actions/yandex-search.d.mts +24 -3
  294. package/dist/actions/yandex-search.d.mts.map +1 -1
  295. package/dist/actions/yandex-search.mjs.map +1 -1
  296. package/dist/actions/you-tube-search.cjs.map +1 -1
  297. package/dist/actions/you-tube-search.d.cts +34 -3
  298. package/dist/actions/you-tube-search.d.cts.map +1 -1
  299. package/dist/actions/you-tube-search.d.mts +34 -3
  300. package/dist/actions/you-tube-search.d.mts.map +1 -1
  301. package/dist/actions/you-tube-search.mjs.map +1 -1
  302. package/dist/catalog.cjs +7 -1
  303. package/dist/catalog.cjs.map +1 -1
  304. package/dist/catalog.d.cts +8 -0
  305. package/dist/catalog.d.mts +8 -0
  306. package/dist/catalog.mjs +7 -1
  307. package/dist/catalog.mjs.map +1 -1
  308. package/dist/execute.cjs +1 -1
  309. package/dist/execute.cjs.map +1 -1
  310. package/dist/execute.mjs +1 -1
  311. package/dist/execute.mjs.map +1 -1
  312. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"search-google-images-light.d.mts","names":[],"sources":["../../src/actions/search-google-images-light.ts"],"mappings":";;;cAIa,mCAAA,EAAqC,CAAA,CAAE,UAgBlD;AAAA,cA8CW,oCAAA,EAAsC,CAAA,CAAE,UAMnD;AAAA,cAEW,8BAAA,gCAA8B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
1
+ {"version":3,"file":"search-google-images-light.d.mts","names":[],"sources":["../../src/actions/search-google-images-light.ts"],"mappings":";;;cAIa,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;cA8DnC,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAQpC,8BAAA,gCAA8B,wBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-google-images-light.mjs","names":[],"sources":["../../src/actions/search-google-images-light.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiSearchGoogleImagesLightInput: z.ZodTypeAny = z.object({\n q: z.string().describe(\"Search query for Google Images. Supports Google search operators like inurl:, site:, intitle:.\"),\n gl: z.string().describe(\"Two-letter country code to define the country for the search.\").optional(),\n hl: z.string().describe(\"Two-letter language code to define the language for the search interface.\").optional(),\n imgar: z.string().describe(\"Aspect ratio filter. Options: s (square), t (tall), w (wide), xw (extra wide).\").optional(),\n imgsz: z.string().describe(\"Image size filter. Options: l (large), m (medium), i (icon), etc.\").optional(),\n start: z.number().int().describe(\"Result offset for pagination. Must be between 0 and 999.\").optional(),\n device: z.string().describe(\"Device type for the search. Options: desktop (default), tablet, mobile.\").optional(),\n engine: z.string().default(\"google_images_light\").describe(\"Set parameter to google_images_light to use the Google Images Light API engine.\").optional(),\n end_date: z.string().describe(\"End date for filtering images by upload date. Format: YYYYMMDD.\").optional(),\n location: z.string().describe(\"Geographic location for the search origin. Specify at city level for best results.\").optional(),\n start_date: z.string().describe(\"Start date for filtering images by upload date. Format: YYYYMMDD.\").optional(),\n image_color: z.string().describe(\"Color filter for images. Options: bw (black and white), red, blue, green, yellow, orange, pink, white, gray, black, teal, brown.\").optional(),\n period_unit: z.string().describe(\"Time period unit for filtering by upload date. Options: s (second), n (minute), h (hour), d (day), w (week), m (month), y (year). Must be used with period_value.\").optional(),\n period_value: z.number().int().describe(\"Time period value to use with period_unit. Specifies how many units back to search.\").optional(),\n google_domain: z.string().describe(\"Google domain to use for the search. Defaults to google.com.\").optional(),\n});\nconst SerpapiSearchGoogleImagesLight_ImageResultSchema: z.ZodTypeAny = z.object({\n link: z.string().describe(\"Clickable URL to source webpage.\").nullable().optional(),\n title: z.string().describe(\"Brief image description or caption.\").nullable().optional(),\n source: z.string().describe(\"Displayed website URL of image origin.\").nullable().optional(),\n in_stock: z.boolean().describe(\"Product availability status (for products only).\").nullable().optional(),\n original: z.string().describe(\"Full-resolution image URL or x-raw-image reference.\").nullable().optional(),\n position: z.number().int().describe(\"Position of the image result on the search page.\").nullable().optional(),\n raw_link: z.string().describe(\"URL associated with Google search page.\").nullable().optional(),\n thumbnail: z.string().describe(\"Google-hosted thumbnail image URL.\").nullable().optional(),\n is_product: z.boolean().describe(\"Whether source page contains product listing.\").nullable().optional(),\n source_logo: z.string().describe(\"Website favicon or logo URL.\").nullable().optional(),\n original_width: z.number().int().describe(\"Native image width in pixels.\").nullable().optional(),\n original_height: z.number().int().describe(\"Native image height in pixels.\").nullable().optional(),\n serpapi_thumbnail: z.string().describe(\"SerpApi-hosted thumbnail URL for more reliable access.\").nullable().optional(),\n related_content_id: z.string().describe(\"Identifier for fetching related images.\").nullable().optional(),\n license_details_url: z.string().describe(\"License information URL when applicable.\").nullable().optional(),\n serpapi_related_content_link: z.string().describe(\"SerpApi endpoint for related content.\").nullable().optional(),\n});\nconst SerpapiSearchGoogleImagesLight_SearchMetadataSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique search identifier within SerpApi.\").nullable().optional(),\n error: z.string().describe(\"Error message (present only on failure).\").nullable().optional(),\n status: z.string().describe(\"Search execution status: Processing, Success, or Error.\").nullable().optional(),\n created_at: z.string().describe(\"Timestamp when search was initiated.\").nullable().optional(),\n processed_at: z.string().describe(\"Timestamp when search completed.\").nullable().optional(),\n json_endpoint: z.string().describe(\"URL to retrieve results in JSON format.\").nullable().optional(),\n raw_html_file: z.string().describe(\"Link to raw HTML response.\").nullable().optional(),\n total_time_taken: z.number().describe(\"Processing duration in seconds.\").nullable().optional(),\n google_images_light_url: z.string().describe(\"Direct URL to Google Images Light results page.\").nullable().optional(),\n});\nconst SerpapiSearchGoogleImagesLight_SearchParametersSchema: z.ZodTypeAny = z.object({\n q: z.string().describe(\"Search query submitted.\").nullable().optional(),\n gl: z.string().describe(\"Country/region code.\").nullable().optional(),\n hl: z.string().describe(\"Language code.\").nullable().optional(),\n device: z.string().describe(\"Device type (desktop, mobile, tablet).\").nullable().optional(),\n engine: z.string().describe(\"API engine identifier (google_images_light).\").nullable().optional(),\n google_domain: z.string().describe(\"Google domain used.\").nullable().optional(),\n});\nconst SerpapiSearchGoogleImagesLight_SearchInformationSchema: z.ZodTypeAny = z.object({\n image_results_state: z.string().describe(\"Status of result accuracy (e.g., 'Results for exact spelling').\").nullable().optional(),\n});\nconst SerpapiSearchGoogleImagesLight_SerpApiPaginationSchema: z.ZodTypeAny = z.object({\n next: z.string().describe(\"SerpApi link for paginating to the next page of results.\").nullable().optional(),\n current: z.number().int().describe(\"Current page index.\").nullable().optional(),\n previous: z.string().describe(\"SerpApi link to previous page (when available).\").nullable().optional(),\n});\nexport const SerpapiSearchGoogleImagesLightOutput: z.ZodTypeAny = z.object({\n images_results: z.array(SerpapiSearchGoogleImagesLight_ImageResultSchema).describe(\"Collection of image results with thumbnails, titles, sources, and metadata.\").nullable().optional(),\n search_metadata: SerpapiSearchGoogleImagesLight_SearchMetadataSchema.nullable().optional(),\n search_parameters: SerpapiSearchGoogleImagesLight_SearchParametersSchema.nullable().optional(),\n search_information: SerpapiSearchGoogleImagesLight_SearchInformationSchema.nullable().optional(),\n serpapi_pagination: SerpapiSearchGoogleImagesLight_SerpApiPaginationSchema.nullable().optional(),\n});\n\nexport const serpapiSearchGoogleImagesLight = action(\"SERPAPI_SEARCH_GOOGLE_IMAGES_LIGHT\", {\n slug: \"serpapi-search-google-images-light\",\n name: \"Google Images Light Search\",\n description: \"Tool to scrape Google Images results using SerpApi's Google Images Light API. Use when you need fast image search with thumbnails, titles, sources, and original image URLs from Google Images. This lightweight version provides faster response times compared to the full Google Images API.\",\n input: SerpapiSearchGoogleImagesLightInput,\n output: SerpapiSearchGoogleImagesLightOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"search-google-images-light.mjs","names":[],"sources":["../../src/actions/search-google-images-light.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiSearchGoogleImagesLightInput = z.object({\n q: z.string().describe(\"Search query for Google Images. Supports Google search operators like inurl:, site:, intitle:.\"),\n gl: z.string().describe(\"Two-letter country code to define the country for the search.\").optional(),\n hl: z.string().describe(\"Two-letter language code to define the language for the search interface.\").optional(),\n imgar: z.string().describe(\"Aspect ratio filter. Options: s (square), t (tall), w (wide), xw (extra wide).\").optional(),\n imgsz: z.string().describe(\"Image size filter. Options: l (large), m (medium), i (icon), etc.\").optional(),\n start: z.number().int().describe(\"Result offset for pagination. Must be between 0 and 999.\").optional(),\n device: z.string().describe(\"Device type for the search. Options: desktop (default), tablet, mobile.\").optional(),\n engine: z.string().default(\"google_images_light\").describe(\"Set parameter to google_images_light to use the Google Images Light API engine.\").optional(),\n end_date: z.string().describe(\"End date for filtering images by upload date. Format: YYYYMMDD.\").optional(),\n location: z.string().describe(\"Geographic location for the search origin. Specify at city level for best results.\").optional(),\n start_date: z.string().describe(\"Start date for filtering images by upload date. Format: YYYYMMDD.\").optional(),\n image_color: z.string().describe(\"Color filter for images. Options: bw (black and white), red, blue, green, yellow, orange, pink, white, gray, black, teal, brown.\").optional(),\n period_unit: z.string().describe(\"Time period unit for filtering by upload date. Options: s (second), n (minute), h (hour), d (day), w (week), m (month), y (year). Must be used with period_value.\").optional(),\n period_value: z.number().int().describe(\"Time period value to use with period_unit. Specifies how many units back to search.\").optional(),\n google_domain: z.string().describe(\"Google domain to use for the search. Defaults to google.com.\").optional(),\n});\nconst SerpapiSearchGoogleImagesLight_ImageResultSchema = z.object({\n link: z.string().describe(\"Clickable URL to source webpage.\").nullable().optional(),\n title: z.string().describe(\"Brief image description or caption.\").nullable().optional(),\n source: z.string().describe(\"Displayed website URL of image origin.\").nullable().optional(),\n in_stock: z.boolean().describe(\"Product availability status (for products only).\").nullable().optional(),\n original: z.string().describe(\"Full-resolution image URL or x-raw-image reference.\").nullable().optional(),\n position: z.number().int().describe(\"Position of the image result on the search page.\").nullable().optional(),\n raw_link: z.string().describe(\"URL associated with Google search page.\").nullable().optional(),\n thumbnail: z.string().describe(\"Google-hosted thumbnail image URL.\").nullable().optional(),\n is_product: z.boolean().describe(\"Whether source page contains product listing.\").nullable().optional(),\n source_logo: z.string().describe(\"Website favicon or logo URL.\").nullable().optional(),\n original_width: z.number().int().describe(\"Native image width in pixels.\").nullable().optional(),\n original_height: z.number().int().describe(\"Native image height in pixels.\").nullable().optional(),\n serpapi_thumbnail: z.string().describe(\"SerpApi-hosted thumbnail URL for more reliable access.\").nullable().optional(),\n related_content_id: z.string().describe(\"Identifier for fetching related images.\").nullable().optional(),\n license_details_url: z.string().describe(\"License information URL when applicable.\").nullable().optional(),\n serpapi_related_content_link: z.string().describe(\"SerpApi endpoint for related content.\").nullable().optional(),\n});\nconst SerpapiSearchGoogleImagesLight_SearchMetadataSchema = z.object({\n id: z.string().describe(\"Unique search identifier within SerpApi.\").nullable().optional(),\n error: z.string().describe(\"Error message (present only on failure).\").nullable().optional(),\n status: z.string().describe(\"Search execution status: Processing, Success, or Error.\").nullable().optional(),\n created_at: z.string().describe(\"Timestamp when search was initiated.\").nullable().optional(),\n processed_at: z.string().describe(\"Timestamp when search completed.\").nullable().optional(),\n json_endpoint: z.string().describe(\"URL to retrieve results in JSON format.\").nullable().optional(),\n raw_html_file: z.string().describe(\"Link to raw HTML response.\").nullable().optional(),\n total_time_taken: z.number().describe(\"Processing duration in seconds.\").nullable().optional(),\n google_images_light_url: z.string().describe(\"Direct URL to Google Images Light results page.\").nullable().optional(),\n});\nconst SerpapiSearchGoogleImagesLight_SearchParametersSchema = z.object({\n q: z.string().describe(\"Search query submitted.\").nullable().optional(),\n gl: z.string().describe(\"Country/region code.\").nullable().optional(),\n hl: z.string().describe(\"Language code.\").nullable().optional(),\n device: z.string().describe(\"Device type (desktop, mobile, tablet).\").nullable().optional(),\n engine: z.string().describe(\"API engine identifier (google_images_light).\").nullable().optional(),\n google_domain: z.string().describe(\"Google domain used.\").nullable().optional(),\n});\nconst SerpapiSearchGoogleImagesLight_SearchInformationSchema = z.object({\n image_results_state: z.string().describe(\"Status of result accuracy (e.g., 'Results for exact spelling').\").nullable().optional(),\n});\nconst SerpapiSearchGoogleImagesLight_SerpApiPaginationSchema = z.object({\n next: z.string().describe(\"SerpApi link for paginating to the next page of results.\").nullable().optional(),\n current: z.number().int().describe(\"Current page index.\").nullable().optional(),\n previous: z.string().describe(\"SerpApi link to previous page (when available).\").nullable().optional(),\n});\nexport const SerpapiSearchGoogleImagesLightOutput = z.object({\n images_results: z.array(SerpapiSearchGoogleImagesLight_ImageResultSchema).describe(\"Collection of image results with thumbnails, titles, sources, and metadata.\").nullable().optional(),\n search_metadata: SerpapiSearchGoogleImagesLight_SearchMetadataSchema.nullable().optional(),\n search_parameters: SerpapiSearchGoogleImagesLight_SearchParametersSchema.nullable().optional(),\n search_information: SerpapiSearchGoogleImagesLight_SearchInformationSchema.nullable().optional(),\n serpapi_pagination: SerpapiSearchGoogleImagesLight_SerpApiPaginationSchema.nullable().optional(),\n});\n\nexport const serpapiSearchGoogleImagesLight = action(\"SERPAPI_SEARCH_GOOGLE_IMAGES_LIGHT\", {\n slug: \"serpapi-search-google-images-light\",\n name: \"Google Images Light Search\",\n description: \"Tool to scrape Google Images results using SerpApi's Google Images Light API. Use when you need fast image search with thumbnails, titles, sources, and original image URLs from Google Images. This lightweight version provides faster response times compared to the full Google Images API.\",\n input: SerpapiSearchGoogleImagesLightInput,\n output: SerpapiSearchGoogleImagesLightOutput,\n});\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-google-local-services.cjs","names":["z","action"],"sources":["../../src/actions/search-google-local-services.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiSearchGoogleLocalServicesInput: z.ZodTypeAny = z.object({\n q: z.string().describe(\"Parameter defines the service you want to search for (e.g., 'electrician', 'plumber', 'hvac repair').\"),\n hl: z.string().describe(\"Parameter defines the language to use for the search. It's a two-letter language code (e.g., 'en' for English, 'es' for Spanish, 'fr' for French).\").optional(),\n bid: z.string().describe(\"Unique business identifier. Used together with cid and pid parameters to identify a specific business.\").optional(),\n cid: z.string().describe(\"Unique business place ID from API response. Used to get details for a specific business.\").optional(),\n pid: z.string().describe(\"Unique place identifier. Used together with cid and bid parameters to identify a specific business.\").optional(),\n async: z.boolean().describe(\"Parameter defines the way you want to submit your search to SerpApi. Set to true to submit the search asynchronously.\").optional(),\n output: z.string().describe(\"Parameter defines the final output format. Can be set to 'json' (default) to get structured JSON results, or 'html' to get raw HTML.\").optional(),\n data_cid: z.string().describe(\"Google customer identifier for location. This is a unique identifier that specifies the geographic area for the search.\"),\n job_type: z.string().describe(\"Parameter defines the service subcategory or specific job type within the main service category (e.g., 'restore_power' for electrician searches).\").optional(),\n no_cache: z.boolean().describe(\"Parameter will force SerpApi to fetch the Google Local Services results even if a cached version is already present. Set to true to get fresh results.\").optional(),\n zero_trace: z.boolean().describe(\"Enterprise only. Parameter enables ZeroTrace mode to skip storing search metadata. Set to true to enable.\").optional(),\n json_restrictor: z.string().describe(\"Parameter restricts the output fields to reduce response size. Specify field paths to include in the response.\").optional(),\n});\nconst SerpapiSearchGoogleLocalServices_LocalAdSchema: z.ZodTypeAny = z.object({\n bid: z.string().describe(\"Business identifier.\").nullable().optional(),\n cid: z.string().describe(\"Business customer identifier.\").nullable().optional(),\n pid: z.string().describe(\"Place identifier.\").nullable().optional(),\n link: z.string().describe(\"Link to the business details.\").nullable().optional(),\n type: z.string().describe(\"Type of service provider.\").nullable().optional(),\n badge: z.string().describe(\"Badge status (e.g., 'GOOGLE GUARANTEED').\").nullable().optional(),\n hours: z.object({}).describe(\"Operating hours by day. Contains 'currently' (str) and 'week' (list of day dictionaries).\").nullable().optional(),\n phone: z.string().describe(\"Business phone number.\").nullable().optional(),\n title: z.string().describe(\"Business name or title.\").nullable().optional(),\n rating: z.number().describe(\"Average rating of the business.\").nullable().optional(),\n reviews: z.number().int().describe(\"Number of reviews.\").nullable().optional(),\n thumbnail: z.string().describe(\"Thumbnail image URL.\").nullable().optional(),\n serpapi_link: z.string().describe(\"Direct SerpAPI search URL.\").nullable().optional(),\n service_area: z.string().describe(\"Geographic service area.\").nullable().optional(),\n bookings_nearby: z.number().int().describe(\"Number of nearby bookings.\").nullable().optional(),\n years_in_business: z.number().int().describe(\"Number of years in business.\").nullable().optional(),\n});\nconst SerpapiSearchGoogleLocalServices_SearchMetadataSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Search identifier.\").nullable().optional(),\n status: z.string().describe(\"Processing status (Processing, Success, or Error).\").nullable().optional(),\n created_at: z.string().describe(\"Timestamp of search creation.\").nullable().optional(),\n json_endpoint: z.string().describe(\"URL to JSON results.\").nullable().optional(),\n total_time_taken: z.number().describe(\"Execution duration in seconds.\").nullable().optional(),\n});\nexport const SerpapiSearchGoogleLocalServicesOutput: z.ZodTypeAny = z.object({\n error: z.string().describe(\"Error message if the search failed.\").nullable().optional(),\n local_ads: z.array(SerpapiSearchGoogleLocalServices_LocalAdSchema).describe(\"List of local service providers found in the search. Each entry contains details like title, link, rating, reviews, phone, badge (e.g., 'GOOGLE GUARANTEED'), service area, years in business, and more.\").nullable().optional(),\n search_metadata: SerpapiSearchGoogleLocalServices_SearchMetadataSchema.nullable().optional(),\n search_parameters: z.object({}).describe(\"Parameters used for the search including engine, query, data_cid, and other request parameters.\").nullable().optional(),\n});\n\nexport const serpapiSearchGoogleLocalServices = action(\"SERPAPI_SEARCH_GOOGLE_LOCAL_SERVICES\", {\n slug: \"serpapi-search-google-local-services\",\n name: \"Search Google Local Services\",\n description: \"Search Google Local Services for service providers like electricians, plumbers, HVAC technicians, and more. Use when you need to find local service professionals with Google's guaranteed badge and verified business information.\",\n input: SerpapiSearchGoogleLocalServicesInput,\n output: SerpapiSearchGoogleLocalServicesOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"search-google-local-services.cjs","names":["z","action"],"sources":["../../src/actions/search-google-local-services.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiSearchGoogleLocalServicesInput = z.object({\n q: z.string().describe(\"Parameter defines the service you want to search for (e.g., 'electrician', 'plumber', 'hvac repair').\"),\n hl: z.string().describe(\"Parameter defines the language to use for the search. It's a two-letter language code (e.g., 'en' for English, 'es' for Spanish, 'fr' for French).\").optional(),\n bid: z.string().describe(\"Unique business identifier. Used together with cid and pid parameters to identify a specific business.\").optional(),\n cid: z.string().describe(\"Unique business place ID from API response. Used to get details for a specific business.\").optional(),\n pid: z.string().describe(\"Unique place identifier. Used together with cid and bid parameters to identify a specific business.\").optional(),\n async: z.boolean().describe(\"Parameter defines the way you want to submit your search to SerpApi. Set to true to submit the search asynchronously.\").optional(),\n output: z.string().describe(\"Parameter defines the final output format. Can be set to 'json' (default) to get structured JSON results, or 'html' to get raw HTML.\").optional(),\n data_cid: z.string().describe(\"Google customer identifier for location. This is a unique identifier that specifies the geographic area for the search.\"),\n job_type: z.string().describe(\"Parameter defines the service subcategory or specific job type within the main service category (e.g., 'restore_power' for electrician searches).\").optional(),\n no_cache: z.boolean().describe(\"Parameter will force SerpApi to fetch the Google Local Services results even if a cached version is already present. Set to true to get fresh results.\").optional(),\n zero_trace: z.boolean().describe(\"Enterprise only. Parameter enables ZeroTrace mode to skip storing search metadata. Set to true to enable.\").optional(),\n json_restrictor: z.string().describe(\"Parameter restricts the output fields to reduce response size. Specify field paths to include in the response.\").optional(),\n});\nconst SerpapiSearchGoogleLocalServices_LocalAdSchema = z.object({\n bid: z.string().describe(\"Business identifier.\").nullable().optional(),\n cid: z.string().describe(\"Business customer identifier.\").nullable().optional(),\n pid: z.string().describe(\"Place identifier.\").nullable().optional(),\n link: z.string().describe(\"Link to the business details.\").nullable().optional(),\n type: z.string().describe(\"Type of service provider.\").nullable().optional(),\n badge: z.string().describe(\"Badge status (e.g., 'GOOGLE GUARANTEED').\").nullable().optional(),\n hours: z.object({}).describe(\"Operating hours by day. Contains 'currently' (str) and 'week' (list of day dictionaries).\").nullable().optional(),\n phone: z.string().describe(\"Business phone number.\").nullable().optional(),\n title: z.string().describe(\"Business name or title.\").nullable().optional(),\n rating: z.number().describe(\"Average rating of the business.\").nullable().optional(),\n reviews: z.number().int().describe(\"Number of reviews.\").nullable().optional(),\n thumbnail: z.string().describe(\"Thumbnail image URL.\").nullable().optional(),\n serpapi_link: z.string().describe(\"Direct SerpAPI search URL.\").nullable().optional(),\n service_area: z.string().describe(\"Geographic service area.\").nullable().optional(),\n bookings_nearby: z.number().int().describe(\"Number of nearby bookings.\").nullable().optional(),\n years_in_business: z.number().int().describe(\"Number of years in business.\").nullable().optional(),\n});\nconst SerpapiSearchGoogleLocalServices_SearchMetadataSchema = z.object({\n id: z.string().describe(\"Search identifier.\").nullable().optional(),\n status: z.string().describe(\"Processing status (Processing, Success, or Error).\").nullable().optional(),\n created_at: z.string().describe(\"Timestamp of search creation.\").nullable().optional(),\n json_endpoint: z.string().describe(\"URL to JSON results.\").nullable().optional(),\n total_time_taken: z.number().describe(\"Execution duration in seconds.\").nullable().optional(),\n});\nexport const SerpapiSearchGoogleLocalServicesOutput = z.object({\n error: z.string().describe(\"Error message if the search failed.\").nullable().optional(),\n local_ads: z.array(SerpapiSearchGoogleLocalServices_LocalAdSchema).describe(\"List of local service providers found in the search. Each entry contains details like title, link, rating, reviews, phone, badge (e.g., 'GOOGLE GUARANTEED'), service area, years in business, and more.\").nullable().optional(),\n search_metadata: SerpapiSearchGoogleLocalServices_SearchMetadataSchema.nullable().optional(),\n search_parameters: z.object({}).describe(\"Parameters used for the search including engine, query, data_cid, and other request parameters.\").nullable().optional(),\n});\n\nexport const serpapiSearchGoogleLocalServices = action(\"SERPAPI_SEARCH_GOOGLE_LOCAL_SERVICES\", {\n slug: \"serpapi-search-google-local-services\",\n name: \"Search Google Local Services\",\n description: \"Search Google Local Services for service providers like electricians, plumbers, HVAC technicians, and more. Use when you need to find local service professionals with Google's guaranteed badge and verified business information.\",\n input: SerpapiSearchGoogleLocalServicesInput,\n output: SerpapiSearchGoogleLocalServicesOutput,\n});\n"],"mappings":"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"}
@@ -1,9 +1,63 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  //#region src/actions/search-google-local-services.d.ts
4
- declare const SerpapiSearchGoogleLocalServicesInput: z.ZodTypeAny;
5
- declare const SerpapiSearchGoogleLocalServicesOutput: z.ZodTypeAny;
6
- declare const serpapiSearchGoogleLocalServices: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
4
+ declare const SerpapiSearchGoogleLocalServicesInput: z.ZodObject<{
5
+ q: z.ZodString;
6
+ hl: z.ZodOptional<z.ZodString>;
7
+ bid: z.ZodOptional<z.ZodString>;
8
+ cid: z.ZodOptional<z.ZodString>;
9
+ pid: z.ZodOptional<z.ZodString>;
10
+ async: z.ZodOptional<z.ZodBoolean>;
11
+ output: z.ZodOptional<z.ZodString>;
12
+ data_cid: z.ZodString;
13
+ job_type: z.ZodOptional<z.ZodString>;
14
+ no_cache: z.ZodOptional<z.ZodBoolean>;
15
+ zero_trace: z.ZodOptional<z.ZodBoolean>;
16
+ json_restrictor: z.ZodOptional<z.ZodString>;
17
+ }, z.core.$strip>;
18
+ declare const SerpapiSearchGoogleLocalServicesOutput: z.ZodObject<{
19
+ error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
+ local_ads: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
21
+ bid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
22
+ cid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
+ pid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
+ link: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ badge: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
+ hours: z.ZodOptional<z.ZodNullable<z.ZodObject<{}, z.core.$strip>>>;
28
+ phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ rating: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
31
+ reviews: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
32
+ thumbnail: z.ZodOptional<z.ZodNullable<z.ZodString>>;
33
+ serpapi_link: z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
+ service_area: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
+ bookings_nearby: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
36
+ years_in_business: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
37
+ }, z.core.$strip>>>>;
38
+ search_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
39
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
+ status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
+ json_endpoint: z.ZodOptional<z.ZodNullable<z.ZodString>>;
43
+ total_time_taken: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
44
+ }, z.core.$strip>>>;
45
+ search_parameters: z.ZodOptional<z.ZodNullable<z.ZodObject<{}, z.core.$strip>>>;
46
+ }, z.core.$strip>;
47
+ declare const serpapiSearchGoogleLocalServices: import("@keystrokehq/action").WorkflowActionDefinition<{
48
+ q: string;
49
+ data_cid: string;
50
+ hl?: string | undefined;
51
+ bid?: string | undefined;
52
+ cid?: string | undefined;
53
+ pid?: string | undefined;
54
+ async?: boolean | undefined;
55
+ output?: string | undefined;
56
+ job_type?: string | undefined;
57
+ no_cache?: boolean | undefined;
58
+ zero_trace?: boolean | undefined;
59
+ json_restrictor?: string | undefined;
60
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
61
  //#endregion
8
62
  export { serpapiSearchGoogleLocalServices };
9
63
  //# sourceMappingURL=search-google-local-services.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-google-local-services.d.cts","names":[],"sources":["../../src/actions/search-google-local-services.ts"],"mappings":";;;cAIa,qCAAA,EAAuC,CAAA,CAAE,UAapD;AAAA,cA0BW,sCAAA,EAAwC,CAAA,CAAE,UAKrD;AAAA,cAEW,gCAAA,gCAAgC,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
1
+ {"version":3,"file":"search-google-local-services.d.cts","names":[],"sources":["../../src/actions/search-google-local-services.ts"],"mappings":";;;cAIa,qCAAA,EAAqC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAuCrC,sCAAA,EAAsC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAOtC,gCAAA,gCAAgC,wBAAA"}
@@ -1,9 +1,63 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  //#region src/actions/search-google-local-services.d.ts
4
- declare const SerpapiSearchGoogleLocalServicesInput: z.ZodTypeAny;
5
- declare const SerpapiSearchGoogleLocalServicesOutput: z.ZodTypeAny;
6
- declare const serpapiSearchGoogleLocalServices: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
4
+ declare const SerpapiSearchGoogleLocalServicesInput: z.ZodObject<{
5
+ q: z.ZodString;
6
+ hl: z.ZodOptional<z.ZodString>;
7
+ bid: z.ZodOptional<z.ZodString>;
8
+ cid: z.ZodOptional<z.ZodString>;
9
+ pid: z.ZodOptional<z.ZodString>;
10
+ async: z.ZodOptional<z.ZodBoolean>;
11
+ output: z.ZodOptional<z.ZodString>;
12
+ data_cid: z.ZodString;
13
+ job_type: z.ZodOptional<z.ZodString>;
14
+ no_cache: z.ZodOptional<z.ZodBoolean>;
15
+ zero_trace: z.ZodOptional<z.ZodBoolean>;
16
+ json_restrictor: z.ZodOptional<z.ZodString>;
17
+ }, z.core.$strip>;
18
+ declare const SerpapiSearchGoogleLocalServicesOutput: z.ZodObject<{
19
+ error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
+ local_ads: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
21
+ bid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
22
+ cid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
+ pid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
+ link: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ badge: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
+ hours: z.ZodOptional<z.ZodNullable<z.ZodObject<{}, z.core.$strip>>>;
28
+ phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ rating: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
31
+ reviews: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
32
+ thumbnail: z.ZodOptional<z.ZodNullable<z.ZodString>>;
33
+ serpapi_link: z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
+ service_area: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
+ bookings_nearby: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
36
+ years_in_business: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
37
+ }, z.core.$strip>>>>;
38
+ search_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
39
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
+ status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
+ json_endpoint: z.ZodOptional<z.ZodNullable<z.ZodString>>;
43
+ total_time_taken: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
44
+ }, z.core.$strip>>>;
45
+ search_parameters: z.ZodOptional<z.ZodNullable<z.ZodObject<{}, z.core.$strip>>>;
46
+ }, z.core.$strip>;
47
+ declare const serpapiSearchGoogleLocalServices: import("@keystrokehq/action").WorkflowActionDefinition<{
48
+ q: string;
49
+ data_cid: string;
50
+ hl?: string | undefined;
51
+ bid?: string | undefined;
52
+ cid?: string | undefined;
53
+ pid?: string | undefined;
54
+ async?: boolean | undefined;
55
+ output?: string | undefined;
56
+ job_type?: string | undefined;
57
+ no_cache?: boolean | undefined;
58
+ zero_trace?: boolean | undefined;
59
+ json_restrictor?: string | undefined;
60
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
61
  //#endregion
8
62
  export { serpapiSearchGoogleLocalServices };
9
63
  //# sourceMappingURL=search-google-local-services.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-google-local-services.d.mts","names":[],"sources":["../../src/actions/search-google-local-services.ts"],"mappings":";;;cAIa,qCAAA,EAAuC,CAAA,CAAE,UAapD;AAAA,cA0BW,sCAAA,EAAwC,CAAA,CAAE,UAKrD;AAAA,cAEW,gCAAA,gCAAgC,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
1
+ {"version":3,"file":"search-google-local-services.d.mts","names":[],"sources":["../../src/actions/search-google-local-services.ts"],"mappings":";;;cAIa,qCAAA,EAAqC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAuCrC,sCAAA,EAAsC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAOtC,gCAAA,gCAAgC,wBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-google-local-services.mjs","names":[],"sources":["../../src/actions/search-google-local-services.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiSearchGoogleLocalServicesInput: z.ZodTypeAny = z.object({\n q: z.string().describe(\"Parameter defines the service you want to search for (e.g., 'electrician', 'plumber', 'hvac repair').\"),\n hl: z.string().describe(\"Parameter defines the language to use for the search. It's a two-letter language code (e.g., 'en' for English, 'es' for Spanish, 'fr' for French).\").optional(),\n bid: z.string().describe(\"Unique business identifier. Used together with cid and pid parameters to identify a specific business.\").optional(),\n cid: z.string().describe(\"Unique business place ID from API response. Used to get details for a specific business.\").optional(),\n pid: z.string().describe(\"Unique place identifier. Used together with cid and bid parameters to identify a specific business.\").optional(),\n async: z.boolean().describe(\"Parameter defines the way you want to submit your search to SerpApi. Set to true to submit the search asynchronously.\").optional(),\n output: z.string().describe(\"Parameter defines the final output format. Can be set to 'json' (default) to get structured JSON results, or 'html' to get raw HTML.\").optional(),\n data_cid: z.string().describe(\"Google customer identifier for location. This is a unique identifier that specifies the geographic area for the search.\"),\n job_type: z.string().describe(\"Parameter defines the service subcategory or specific job type within the main service category (e.g., 'restore_power' for electrician searches).\").optional(),\n no_cache: z.boolean().describe(\"Parameter will force SerpApi to fetch the Google Local Services results even if a cached version is already present. Set to true to get fresh results.\").optional(),\n zero_trace: z.boolean().describe(\"Enterprise only. Parameter enables ZeroTrace mode to skip storing search metadata. Set to true to enable.\").optional(),\n json_restrictor: z.string().describe(\"Parameter restricts the output fields to reduce response size. Specify field paths to include in the response.\").optional(),\n});\nconst SerpapiSearchGoogleLocalServices_LocalAdSchema: z.ZodTypeAny = z.object({\n bid: z.string().describe(\"Business identifier.\").nullable().optional(),\n cid: z.string().describe(\"Business customer identifier.\").nullable().optional(),\n pid: z.string().describe(\"Place identifier.\").nullable().optional(),\n link: z.string().describe(\"Link to the business details.\").nullable().optional(),\n type: z.string().describe(\"Type of service provider.\").nullable().optional(),\n badge: z.string().describe(\"Badge status (e.g., 'GOOGLE GUARANTEED').\").nullable().optional(),\n hours: z.object({}).describe(\"Operating hours by day. Contains 'currently' (str) and 'week' (list of day dictionaries).\").nullable().optional(),\n phone: z.string().describe(\"Business phone number.\").nullable().optional(),\n title: z.string().describe(\"Business name or title.\").nullable().optional(),\n rating: z.number().describe(\"Average rating of the business.\").nullable().optional(),\n reviews: z.number().int().describe(\"Number of reviews.\").nullable().optional(),\n thumbnail: z.string().describe(\"Thumbnail image URL.\").nullable().optional(),\n serpapi_link: z.string().describe(\"Direct SerpAPI search URL.\").nullable().optional(),\n service_area: z.string().describe(\"Geographic service area.\").nullable().optional(),\n bookings_nearby: z.number().int().describe(\"Number of nearby bookings.\").nullable().optional(),\n years_in_business: z.number().int().describe(\"Number of years in business.\").nullable().optional(),\n});\nconst SerpapiSearchGoogleLocalServices_SearchMetadataSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Search identifier.\").nullable().optional(),\n status: z.string().describe(\"Processing status (Processing, Success, or Error).\").nullable().optional(),\n created_at: z.string().describe(\"Timestamp of search creation.\").nullable().optional(),\n json_endpoint: z.string().describe(\"URL to JSON results.\").nullable().optional(),\n total_time_taken: z.number().describe(\"Execution duration in seconds.\").nullable().optional(),\n});\nexport const SerpapiSearchGoogleLocalServicesOutput: z.ZodTypeAny = z.object({\n error: z.string().describe(\"Error message if the search failed.\").nullable().optional(),\n local_ads: z.array(SerpapiSearchGoogleLocalServices_LocalAdSchema).describe(\"List of local service providers found in the search. Each entry contains details like title, link, rating, reviews, phone, badge (e.g., 'GOOGLE GUARANTEED'), service area, years in business, and more.\").nullable().optional(),\n search_metadata: SerpapiSearchGoogleLocalServices_SearchMetadataSchema.nullable().optional(),\n search_parameters: z.object({}).describe(\"Parameters used for the search including engine, query, data_cid, and other request parameters.\").nullable().optional(),\n});\n\nexport const serpapiSearchGoogleLocalServices = action(\"SERPAPI_SEARCH_GOOGLE_LOCAL_SERVICES\", {\n slug: \"serpapi-search-google-local-services\",\n name: \"Search Google Local Services\",\n description: \"Search Google Local Services for service providers like electricians, plumbers, HVAC technicians, and more. Use when you need to find local service professionals with Google's guaranteed badge and verified business information.\",\n input: SerpapiSearchGoogleLocalServicesInput,\n output: SerpapiSearchGoogleLocalServicesOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"search-google-local-services.mjs","names":[],"sources":["../../src/actions/search-google-local-services.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiSearchGoogleLocalServicesInput = z.object({\n q: z.string().describe(\"Parameter defines the service you want to search for (e.g., 'electrician', 'plumber', 'hvac repair').\"),\n hl: z.string().describe(\"Parameter defines the language to use for the search. It's a two-letter language code (e.g., 'en' for English, 'es' for Spanish, 'fr' for French).\").optional(),\n bid: z.string().describe(\"Unique business identifier. Used together with cid and pid parameters to identify a specific business.\").optional(),\n cid: z.string().describe(\"Unique business place ID from API response. Used to get details for a specific business.\").optional(),\n pid: z.string().describe(\"Unique place identifier. Used together with cid and bid parameters to identify a specific business.\").optional(),\n async: z.boolean().describe(\"Parameter defines the way you want to submit your search to SerpApi. Set to true to submit the search asynchronously.\").optional(),\n output: z.string().describe(\"Parameter defines the final output format. Can be set to 'json' (default) to get structured JSON results, or 'html' to get raw HTML.\").optional(),\n data_cid: z.string().describe(\"Google customer identifier for location. This is a unique identifier that specifies the geographic area for the search.\"),\n job_type: z.string().describe(\"Parameter defines the service subcategory or specific job type within the main service category (e.g., 'restore_power' for electrician searches).\").optional(),\n no_cache: z.boolean().describe(\"Parameter will force SerpApi to fetch the Google Local Services results even if a cached version is already present. Set to true to get fresh results.\").optional(),\n zero_trace: z.boolean().describe(\"Enterprise only. Parameter enables ZeroTrace mode to skip storing search metadata. Set to true to enable.\").optional(),\n json_restrictor: z.string().describe(\"Parameter restricts the output fields to reduce response size. Specify field paths to include in the response.\").optional(),\n});\nconst SerpapiSearchGoogleLocalServices_LocalAdSchema = z.object({\n bid: z.string().describe(\"Business identifier.\").nullable().optional(),\n cid: z.string().describe(\"Business customer identifier.\").nullable().optional(),\n pid: z.string().describe(\"Place identifier.\").nullable().optional(),\n link: z.string().describe(\"Link to the business details.\").nullable().optional(),\n type: z.string().describe(\"Type of service provider.\").nullable().optional(),\n badge: z.string().describe(\"Badge status (e.g., 'GOOGLE GUARANTEED').\").nullable().optional(),\n hours: z.object({}).describe(\"Operating hours by day. Contains 'currently' (str) and 'week' (list of day dictionaries).\").nullable().optional(),\n phone: z.string().describe(\"Business phone number.\").nullable().optional(),\n title: z.string().describe(\"Business name or title.\").nullable().optional(),\n rating: z.number().describe(\"Average rating of the business.\").nullable().optional(),\n reviews: z.number().int().describe(\"Number of reviews.\").nullable().optional(),\n thumbnail: z.string().describe(\"Thumbnail image URL.\").nullable().optional(),\n serpapi_link: z.string().describe(\"Direct SerpAPI search URL.\").nullable().optional(),\n service_area: z.string().describe(\"Geographic service area.\").nullable().optional(),\n bookings_nearby: z.number().int().describe(\"Number of nearby bookings.\").nullable().optional(),\n years_in_business: z.number().int().describe(\"Number of years in business.\").nullable().optional(),\n});\nconst SerpapiSearchGoogleLocalServices_SearchMetadataSchema = z.object({\n id: z.string().describe(\"Search identifier.\").nullable().optional(),\n status: z.string().describe(\"Processing status (Processing, Success, or Error).\").nullable().optional(),\n created_at: z.string().describe(\"Timestamp of search creation.\").nullable().optional(),\n json_endpoint: z.string().describe(\"URL to JSON results.\").nullable().optional(),\n total_time_taken: z.number().describe(\"Execution duration in seconds.\").nullable().optional(),\n});\nexport const SerpapiSearchGoogleLocalServicesOutput = z.object({\n error: z.string().describe(\"Error message if the search failed.\").nullable().optional(),\n local_ads: z.array(SerpapiSearchGoogleLocalServices_LocalAdSchema).describe(\"List of local service providers found in the search. Each entry contains details like title, link, rating, reviews, phone, badge (e.g., 'GOOGLE GUARANTEED'), service area, years in business, and more.\").nullable().optional(),\n search_metadata: SerpapiSearchGoogleLocalServices_SearchMetadataSchema.nullable().optional(),\n search_parameters: z.object({}).describe(\"Parameters used for the search including engine, query, data_cid, and other request parameters.\").nullable().optional(),\n});\n\nexport const serpapiSearchGoogleLocalServices = action(\"SERPAPI_SEARCH_GOOGLE_LOCAL_SERVICES\", {\n slug: \"serpapi-search-google-local-services\",\n name: \"Search Google Local Services\",\n description: \"Search Google Local Services for service providers like electricians, plumbers, HVAC technicians, and more. Use when you need to find local service professionals with Google's guaranteed badge and verified business information.\",\n input: SerpapiSearchGoogleLocalServicesInput,\n output: SerpapiSearchGoogleLocalServicesOutput,\n});\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-yelp.cjs","names":["z","action"],"sources":["../../src/actions/search-yelp.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiSearchYelpInput: z.ZodTypeAny = z.object({\n attrs: z.string().describe(\"Attribute filters to refine search (e.g., 'HotAndNew' for new businesses, 'Deals' for businesses with offers). Can be comma-separated for multiple filters.\").optional(),\n start: z.number().int().describe(\"Result offset for pagination. Use to fetch additional results beyond the first page. Each page typically contains 10 results.\").optional(),\n sortby: z.enum([\"recommended\", \"rating\", \"review_count\"]).describe(\"Sort order for results. 'recommended' shows Yelp's recommended matches, 'rating' shows highest-rated first, 'review_count' shows most-reviewed first.\").optional(),\n find_loc: z.string().describe(\"Location to search in (e.g., 'San Francisco, CA', 'New York, NY', '10001'). Can be a city, state, address, or ZIP code.\"),\n no_cache: z.boolean().describe(\"Set to true to force fresh results from Yelp, bypassing SerpApi's cache. Useful when you need real-time data.\").optional(),\n find_desc: z.string().describe(\"Search query describing what to find (e.g., 'pizza', 'coffee shop', 'italian restaurant'). This is the business type or service you're looking for.\"),\n yelp_domain: z.string().describe(\"Yelp domain to search on (e.g., 'yelp.com' for US, 'yelp.ca' for Canada, 'yelp.co.uk' for UK). Defaults to yelp.com if not specified.\").optional(),\n});\nconst SerpapiSearchYelp_YelpBusinessSchema: z.ZodTypeAny = z.object({\n link: z.string().describe(\"URL to the Yelp page for this business.\").nullable().optional(),\n phone: z.string().describe(\"Phone number of the business.\").nullable().optional(),\n price: z.string().describe(\"Price range indicator (e.g., '$', '$$', '$$$', '$$$$').\").nullable().optional(),\n title: z.string().describe(\"Name of the business.\").nullable().optional(),\n rating: z.number().describe(\"Average rating (typically 1.0 to 5.0).\").nullable().optional(),\n address: z.string().describe(\"Full street address of the business.\").nullable().optional(),\n reviews: z.number().int().describe(\"Total number of reviews.\").nullable().optional(),\n snippet: z.string().describe(\"Brief description or highlight from reviews.\").nullable().optional(),\n position: z.number().int().describe(\"Position of this result in the search results (1-indexed).\").nullable().optional(),\n place_ids: z.array(z.string()).describe(\"Yelp place IDs associated with this business.\").nullable().optional(),\n thumbnail: z.string().describe(\"URL to the business thumbnail image.\").nullable().optional(),\n categories: z.union([z.array(z.string()), z.array(z.record(z.string(), z.unknown()))]).nullable().optional(),\n neighborhoods: z.union([z.string(), z.array(z.string())]).nullable().optional(),\n});\nexport const SerpapiSearchYelpOutput: z.ZodTypeAny = z.object({\n organic_results: z.array(SerpapiSearchYelp_YelpBusinessSchema).describe(\"List of businesses matching the search criteria, with ratings, reviews, contact info, and other details.\").nullable().optional(),\n search_metadata: z.record(z.string(), z.unknown()).describe(\"Metadata about the search request, including request ID, status, and processing time.\").nullable().optional(),\n search_parameters: z.record(z.string(), z.unknown()).describe(\"Echo of the search parameters used in this request.\").nullable().optional(),\n});\n\nexport const serpapiSearchYelp = action(\"SERPAPI_SEARCH_YELP\", {\n slug: \"serpapi-search-yelp\",\n name: \"Search Yelp businesses\",\n description: \"Tool to search Yelp for businesses and places using SerpApi. Returns business listings with ratings, reviews, hours, contact information, and location details. Use when you need to find local businesses, restaurants, services, or read customer reviews.\",\n input: SerpapiSearchYelpInput,\n output: SerpapiSearchYelpOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"search-yelp.cjs","names":["z","action"],"sources":["../../src/actions/search-yelp.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiSearchYelpInput = z.object({\n attrs: z.string().describe(\"Attribute filters to refine search (e.g., 'HotAndNew' for new businesses, 'Deals' for businesses with offers). Can be comma-separated for multiple filters.\").optional(),\n start: z.number().int().describe(\"Result offset for pagination. Use to fetch additional results beyond the first page. Each page typically contains 10 results.\").optional(),\n sortby: z.enum([\"recommended\", \"rating\", \"review_count\"]).describe(\"Sort order for results. 'recommended' shows Yelp's recommended matches, 'rating' shows highest-rated first, 'review_count' shows most-reviewed first.\").optional(),\n find_loc: z.string().describe(\"Location to search in (e.g., 'San Francisco, CA', 'New York, NY', '10001'). Can be a city, state, address, or ZIP code.\"),\n no_cache: z.boolean().describe(\"Set to true to force fresh results from Yelp, bypassing SerpApi's cache. Useful when you need real-time data.\").optional(),\n find_desc: z.string().describe(\"Search query describing what to find (e.g., 'pizza', 'coffee shop', 'italian restaurant'). This is the business type or service you're looking for.\"),\n yelp_domain: z.string().describe(\"Yelp domain to search on (e.g., 'yelp.com' for US, 'yelp.ca' for Canada, 'yelp.co.uk' for UK). Defaults to yelp.com if not specified.\").optional(),\n});\nconst SerpapiSearchYelp_YelpBusinessSchema = z.object({\n link: z.string().describe(\"URL to the Yelp page for this business.\").nullable().optional(),\n phone: z.string().describe(\"Phone number of the business.\").nullable().optional(),\n price: z.string().describe(\"Price range indicator (e.g., '$', '$$', '$$$', '$$$$').\").nullable().optional(),\n title: z.string().describe(\"Name of the business.\").nullable().optional(),\n rating: z.number().describe(\"Average rating (typically 1.0 to 5.0).\").nullable().optional(),\n address: z.string().describe(\"Full street address of the business.\").nullable().optional(),\n reviews: z.number().int().describe(\"Total number of reviews.\").nullable().optional(),\n snippet: z.string().describe(\"Brief description or highlight from reviews.\").nullable().optional(),\n position: z.number().int().describe(\"Position of this result in the search results (1-indexed).\").nullable().optional(),\n place_ids: z.array(z.string()).describe(\"Yelp place IDs associated with this business.\").nullable().optional(),\n thumbnail: z.string().describe(\"URL to the business thumbnail image.\").nullable().optional(),\n categories: z.union([z.array(z.string()), z.array(z.record(z.string(), z.unknown()))]).nullable().optional(),\n neighborhoods: z.union([z.string(), z.array(z.string())]).nullable().optional(),\n});\nexport const SerpapiSearchYelpOutput = z.object({\n organic_results: z.array(SerpapiSearchYelp_YelpBusinessSchema).describe(\"List of businesses matching the search criteria, with ratings, reviews, contact info, and other details.\").nullable().optional(),\n search_metadata: z.record(z.string(), z.unknown()).describe(\"Metadata about the search request, including request ID, status, and processing time.\").nullable().optional(),\n search_parameters: z.record(z.string(), z.unknown()).describe(\"Echo of the search parameters used in this request.\").nullable().optional(),\n});\n\nexport const serpapiSearchYelp = action(\"SERPAPI_SEARCH_YELP\", {\n slug: \"serpapi-search-yelp\",\n name: \"Search Yelp businesses\",\n description: \"Tool to search Yelp for businesses and places using SerpApi. Returns business listings with ratings, reviews, hours, contact information, and location details. Use when you need to find local businesses, restaurants, services, or read customer reviews.\",\n input: SerpapiSearchYelpInput,\n output: SerpapiSearchYelpOutput,\n});\n"],"mappings":"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"}
@@ -1,9 +1,47 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  //#region src/actions/search-yelp.d.ts
4
- declare const SerpapiSearchYelpInput: z.ZodTypeAny;
5
- declare const SerpapiSearchYelpOutput: z.ZodTypeAny;
6
- declare const serpapiSearchYelp: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
4
+ declare const SerpapiSearchYelpInput: z.ZodObject<{
5
+ attrs: z.ZodOptional<z.ZodString>;
6
+ start: z.ZodOptional<z.ZodNumber>;
7
+ sortby: z.ZodOptional<z.ZodEnum<{
8
+ rating: "rating";
9
+ recommended: "recommended";
10
+ review_count: "review_count";
11
+ }>>;
12
+ find_loc: z.ZodString;
13
+ no_cache: z.ZodOptional<z.ZodBoolean>;
14
+ find_desc: z.ZodString;
15
+ yelp_domain: z.ZodOptional<z.ZodString>;
16
+ }, z.core.$strip>;
17
+ declare const SerpapiSearchYelpOutput: z.ZodObject<{
18
+ organic_results: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
19
+ link: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
+ phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
+ price: z.ZodOptional<z.ZodNullable<z.ZodString>>;
22
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
+ rating: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
24
+ address: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25
+ reviews: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
26
+ snippet: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
28
+ place_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
29
+ thumbnail: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ categories: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>>;
31
+ neighborhoods: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>>;
32
+ }, z.core.$strip>>>>;
33
+ search_metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
34
+ search_parameters: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
35
+ }, z.core.$strip>;
36
+ declare const serpapiSearchYelp: import("@keystrokehq/action").WorkflowActionDefinition<{
37
+ find_loc: string;
38
+ find_desc: string;
39
+ attrs?: string | undefined;
40
+ start?: number | undefined;
41
+ sortby?: "rating" | "recommended" | "review_count" | undefined;
42
+ no_cache?: boolean | undefined;
43
+ yelp_domain?: string | undefined;
44
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
45
  //#endregion
8
46
  export { serpapiSearchYelp };
9
47
  //# sourceMappingURL=search-yelp.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-yelp.d.cts","names":[],"sources":["../../src/actions/search-yelp.ts"],"mappings":";;;cAIa,sBAAA,EAAwB,CAAA,CAAE,UAQrC;AAAA,cAgBW,uBAAA,EAAyB,CAAA,CAAE,UAItC;AAAA,cAEW,iBAAA,gCAAiB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
1
+ {"version":3,"file":"search-yelp.d.cts","names":[],"sources":["../../src/actions/search-yelp.ts"],"mappings":";;;cAIa,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;;;;;;;;;;cAwBtB,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;cAMvB,iBAAA,gCAAiB,wBAAA"}
@@ -1,9 +1,47 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  //#region src/actions/search-yelp.d.ts
4
- declare const SerpapiSearchYelpInput: z.ZodTypeAny;
5
- declare const SerpapiSearchYelpOutput: z.ZodTypeAny;
6
- declare const serpapiSearchYelp: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
4
+ declare const SerpapiSearchYelpInput: z.ZodObject<{
5
+ attrs: z.ZodOptional<z.ZodString>;
6
+ start: z.ZodOptional<z.ZodNumber>;
7
+ sortby: z.ZodOptional<z.ZodEnum<{
8
+ rating: "rating";
9
+ recommended: "recommended";
10
+ review_count: "review_count";
11
+ }>>;
12
+ find_loc: z.ZodString;
13
+ no_cache: z.ZodOptional<z.ZodBoolean>;
14
+ find_desc: z.ZodString;
15
+ yelp_domain: z.ZodOptional<z.ZodString>;
16
+ }, z.core.$strip>;
17
+ declare const SerpapiSearchYelpOutput: z.ZodObject<{
18
+ organic_results: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
19
+ link: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
+ phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
+ price: z.ZodOptional<z.ZodNullable<z.ZodString>>;
22
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
+ rating: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
24
+ address: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25
+ reviews: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
26
+ snippet: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
28
+ place_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
29
+ thumbnail: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ categories: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>>;
31
+ neighborhoods: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>>;
32
+ }, z.core.$strip>>>>;
33
+ search_metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
34
+ search_parameters: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
35
+ }, z.core.$strip>;
36
+ declare const serpapiSearchYelp: import("@keystrokehq/action").WorkflowActionDefinition<{
37
+ find_loc: string;
38
+ find_desc: string;
39
+ attrs?: string | undefined;
40
+ start?: number | undefined;
41
+ sortby?: "rating" | "recommended" | "review_count" | undefined;
42
+ no_cache?: boolean | undefined;
43
+ yelp_domain?: string | undefined;
44
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
45
  //#endregion
8
46
  export { serpapiSearchYelp };
9
47
  //# sourceMappingURL=search-yelp.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-yelp.d.mts","names":[],"sources":["../../src/actions/search-yelp.ts"],"mappings":";;;cAIa,sBAAA,EAAwB,CAAA,CAAE,UAQrC;AAAA,cAgBW,uBAAA,EAAyB,CAAA,CAAE,UAItC;AAAA,cAEW,iBAAA,gCAAiB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
1
+ {"version":3,"file":"search-yelp.d.mts","names":[],"sources":["../../src/actions/search-yelp.ts"],"mappings":";;;cAIa,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;;;;;;;;;;cAwBtB,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;cAMvB,iBAAA,gCAAiB,wBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-yelp.mjs","names":[],"sources":["../../src/actions/search-yelp.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiSearchYelpInput: z.ZodTypeAny = z.object({\n attrs: z.string().describe(\"Attribute filters to refine search (e.g., 'HotAndNew' for new businesses, 'Deals' for businesses with offers). Can be comma-separated for multiple filters.\").optional(),\n start: z.number().int().describe(\"Result offset for pagination. Use to fetch additional results beyond the first page. Each page typically contains 10 results.\").optional(),\n sortby: z.enum([\"recommended\", \"rating\", \"review_count\"]).describe(\"Sort order for results. 'recommended' shows Yelp's recommended matches, 'rating' shows highest-rated first, 'review_count' shows most-reviewed first.\").optional(),\n find_loc: z.string().describe(\"Location to search in (e.g., 'San Francisco, CA', 'New York, NY', '10001'). Can be a city, state, address, or ZIP code.\"),\n no_cache: z.boolean().describe(\"Set to true to force fresh results from Yelp, bypassing SerpApi's cache. Useful when you need real-time data.\").optional(),\n find_desc: z.string().describe(\"Search query describing what to find (e.g., 'pizza', 'coffee shop', 'italian restaurant'). This is the business type or service you're looking for.\"),\n yelp_domain: z.string().describe(\"Yelp domain to search on (e.g., 'yelp.com' for US, 'yelp.ca' for Canada, 'yelp.co.uk' for UK). Defaults to yelp.com if not specified.\").optional(),\n});\nconst SerpapiSearchYelp_YelpBusinessSchema: z.ZodTypeAny = z.object({\n link: z.string().describe(\"URL to the Yelp page for this business.\").nullable().optional(),\n phone: z.string().describe(\"Phone number of the business.\").nullable().optional(),\n price: z.string().describe(\"Price range indicator (e.g., '$', '$$', '$$$', '$$$$').\").nullable().optional(),\n title: z.string().describe(\"Name of the business.\").nullable().optional(),\n rating: z.number().describe(\"Average rating (typically 1.0 to 5.0).\").nullable().optional(),\n address: z.string().describe(\"Full street address of the business.\").nullable().optional(),\n reviews: z.number().int().describe(\"Total number of reviews.\").nullable().optional(),\n snippet: z.string().describe(\"Brief description or highlight from reviews.\").nullable().optional(),\n position: z.number().int().describe(\"Position of this result in the search results (1-indexed).\").nullable().optional(),\n place_ids: z.array(z.string()).describe(\"Yelp place IDs associated with this business.\").nullable().optional(),\n thumbnail: z.string().describe(\"URL to the business thumbnail image.\").nullable().optional(),\n categories: z.union([z.array(z.string()), z.array(z.record(z.string(), z.unknown()))]).nullable().optional(),\n neighborhoods: z.union([z.string(), z.array(z.string())]).nullable().optional(),\n});\nexport const SerpapiSearchYelpOutput: z.ZodTypeAny = z.object({\n organic_results: z.array(SerpapiSearchYelp_YelpBusinessSchema).describe(\"List of businesses matching the search criteria, with ratings, reviews, contact info, and other details.\").nullable().optional(),\n search_metadata: z.record(z.string(), z.unknown()).describe(\"Metadata about the search request, including request ID, status, and processing time.\").nullable().optional(),\n search_parameters: z.record(z.string(), z.unknown()).describe(\"Echo of the search parameters used in this request.\").nullable().optional(),\n});\n\nexport const serpapiSearchYelp = action(\"SERPAPI_SEARCH_YELP\", {\n slug: \"serpapi-search-yelp\",\n name: \"Search Yelp businesses\",\n description: \"Tool to search Yelp for businesses and places using SerpApi. Returns business listings with ratings, reviews, hours, contact information, and location details. Use when you need to find local businesses, restaurants, services, or read customer reviews.\",\n input: SerpapiSearchYelpInput,\n output: SerpapiSearchYelpOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"search-yelp.mjs","names":[],"sources":["../../src/actions/search-yelp.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiSearchYelpInput = z.object({\n attrs: z.string().describe(\"Attribute filters to refine search (e.g., 'HotAndNew' for new businesses, 'Deals' for businesses with offers). Can be comma-separated for multiple filters.\").optional(),\n start: z.number().int().describe(\"Result offset for pagination. Use to fetch additional results beyond the first page. Each page typically contains 10 results.\").optional(),\n sortby: z.enum([\"recommended\", \"rating\", \"review_count\"]).describe(\"Sort order for results. 'recommended' shows Yelp's recommended matches, 'rating' shows highest-rated first, 'review_count' shows most-reviewed first.\").optional(),\n find_loc: z.string().describe(\"Location to search in (e.g., 'San Francisco, CA', 'New York, NY', '10001'). Can be a city, state, address, or ZIP code.\"),\n no_cache: z.boolean().describe(\"Set to true to force fresh results from Yelp, bypassing SerpApi's cache. Useful when you need real-time data.\").optional(),\n find_desc: z.string().describe(\"Search query describing what to find (e.g., 'pizza', 'coffee shop', 'italian restaurant'). This is the business type or service you're looking for.\"),\n yelp_domain: z.string().describe(\"Yelp domain to search on (e.g., 'yelp.com' for US, 'yelp.ca' for Canada, 'yelp.co.uk' for UK). Defaults to yelp.com if not specified.\").optional(),\n});\nconst SerpapiSearchYelp_YelpBusinessSchema = z.object({\n link: z.string().describe(\"URL to the Yelp page for this business.\").nullable().optional(),\n phone: z.string().describe(\"Phone number of the business.\").nullable().optional(),\n price: z.string().describe(\"Price range indicator (e.g., '$', '$$', '$$$', '$$$$').\").nullable().optional(),\n title: z.string().describe(\"Name of the business.\").nullable().optional(),\n rating: z.number().describe(\"Average rating (typically 1.0 to 5.0).\").nullable().optional(),\n address: z.string().describe(\"Full street address of the business.\").nullable().optional(),\n reviews: z.number().int().describe(\"Total number of reviews.\").nullable().optional(),\n snippet: z.string().describe(\"Brief description or highlight from reviews.\").nullable().optional(),\n position: z.number().int().describe(\"Position of this result in the search results (1-indexed).\").nullable().optional(),\n place_ids: z.array(z.string()).describe(\"Yelp place IDs associated with this business.\").nullable().optional(),\n thumbnail: z.string().describe(\"URL to the business thumbnail image.\").nullable().optional(),\n categories: z.union([z.array(z.string()), z.array(z.record(z.string(), z.unknown()))]).nullable().optional(),\n neighborhoods: z.union([z.string(), z.array(z.string())]).nullable().optional(),\n});\nexport const SerpapiSearchYelpOutput = z.object({\n organic_results: z.array(SerpapiSearchYelp_YelpBusinessSchema).describe(\"List of businesses matching the search criteria, with ratings, reviews, contact info, and other details.\").nullable().optional(),\n search_metadata: z.record(z.string(), z.unknown()).describe(\"Metadata about the search request, including request ID, status, and processing time.\").nullable().optional(),\n search_parameters: z.record(z.string(), z.unknown()).describe(\"Echo of the search parameters used in this request.\").nullable().optional(),\n});\n\nexport const serpapiSearchYelp = action(\"SERPAPI_SEARCH_YELP\", {\n slug: \"serpapi-search-yelp\",\n name: \"Search Yelp businesses\",\n description: \"Tool to search Yelp for businesses and places using SerpApi. Returns business listings with ratings, reviews, hours, contact information, and location details. Use when you need to find local businesses, restaurants, services, or read customer reviews.\",\n input: SerpapiSearchYelpInput,\n output: SerpapiSearchYelpOutput,\n});\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search.cjs","names":["z","action"],"sources":["../../src/actions/search.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiSearchInput: z.ZodTypeAny = z.object({\n query: z.string().describe(\"User's search query; should be a clear, concise question or keyword phrase.\"),\n});\nconst SerpapiSearch_OrganicResultItemSchema: z.ZodTypeAny = z.object({\n link: z.string().describe(\"URL of the search result\").nullable().optional(),\n title: z.string().describe(\"Title of the search result\").nullable().optional(),\n position: z.number().int().describe(\"Ranking position of the result\").nullable().optional(),\n}).describe(\"Single organic search result from Google.\");\nconst SerpapiSearch_SearchResultsSchema: z.ZodTypeAny = z.object({\n organic_results: z.array(SerpapiSearch_OrganicResultItemSchema).describe(\"List of organic search results (top 5)\"),\n}).describe(\"Container for search results.\");\nexport const SerpapiSearchOutput: z.ZodTypeAny = z.object({\n results: SerpapiSearch_SearchResultsSchema.nullable(),\n});\n\nexport const serpapiSearch = action(\"SERPAPI_SEARCH\", {\n slug: \"serpapi-search\",\n name: \"Serp API search\",\n description: \"Performs a real-time Google search via the SerpAPI connection (must be active; if unavailable, use COMPOSIO_SEARCH_WEB or other COMPOSIO_SEARCH_* tools). Returns ~10 organic results per page nested under results.organic_results — not a flat list; handle missing/empty arrays. Paginate via start offset or serpapi_pagination.next; max num=100; stop when domains plateau to avoid quota exhaustion. Rate-limited: throttle to 1–2 req/s; HTTP 429 on bursts — apply exponential backoff (1s, 2s, 4s). Derive result rank from array index (absolute rank = start + index; no explicit rank field). Lacks date-bound controls — embed recency terms in query or use SERPAPI_NEWS_SEARCH for time-sensitive queries. Results may include ads and sponsored content; prefer authoritative domains. Use vertical tools (SERPAPI_IMAGE_SEARCH, SERPAPI_NEWS_SEARCH, SERPAPI_YOU_TUBE_SEARCH, SERPAPI_GOOGLE_JOBS_SEARCH) for specialized query types.\",\n input: SerpapiSearchInput,\n output: SerpapiSearchOutput,\n});\n"],"mappings":";;;AAIA,MAAa,qBAAmCA,IAAAA,EAAE,OAAO,EACvD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6EAA6E,EAC1G,CAAC;AACD,MAAM,wCAAsDA,IAAAA,EAAE,OAAO;CACnE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1E,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7E,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC5F,CAAC,CAAC,CAAC,SAAS,2CAA2C;AACvD,MAAM,oCAAkDA,IAAAA,EAAE,OAAO,EAC/D,iBAAiBA,IAAAA,EAAE,MAAM,qCAAqC,CAAC,CAAC,SAAS,wCAAwC,EACnH,CAAC,CAAC,CAAC,SAAS,+BAA+B;AAC3C,MAAa,sBAAoCA,IAAAA,EAAE,OAAO,EACxD,SAAS,kCAAkC,SAAS,EACtD,CAAC;AAED,MAAa,gBAAgBC,eAAAA,OAAO,kBAAkB;CACpD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"search.cjs","names":["z","action"],"sources":["../../src/actions/search.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiSearchInput = z.object({\n query: z.string().describe(\"User's search query; should be a clear, concise question or keyword phrase.\"),\n});\nconst SerpapiSearch_OrganicResultItemSchema = z.object({\n link: z.string().describe(\"URL of the search result\").nullable().optional(),\n title: z.string().describe(\"Title of the search result\").nullable().optional(),\n position: z.number().int().describe(\"Ranking position of the result\").nullable().optional(),\n}).describe(\"Single organic search result from Google.\");\nconst SerpapiSearch_SearchResultsSchema = z.object({\n organic_results: z.array(SerpapiSearch_OrganicResultItemSchema).describe(\"List of organic search results (top 5)\"),\n}).describe(\"Container for search results.\");\nexport const SerpapiSearchOutput = z.object({\n results: SerpapiSearch_SearchResultsSchema.nullable(),\n});\n\nexport const serpapiSearch = action(\"SERPAPI_SEARCH\", {\n slug: \"serpapi-search\",\n name: \"Serp API search\",\n description: \"Performs a real-time Google search via the SerpAPI connection (must be active; if unavailable, use COMPOSIO_SEARCH_WEB or other COMPOSIO_SEARCH_* tools). Returns ~10 organic results per page nested under results.organic_results — not a flat list; handle missing/empty arrays. Paginate via start offset or serpapi_pagination.next; max num=100; stop when domains plateau to avoid quota exhaustion. Rate-limited: throttle to 1–2 req/s; HTTP 429 on bursts — apply exponential backoff (1s, 2s, 4s). Derive result rank from array index (absolute rank = start + index; no explicit rank field). Lacks date-bound controls — embed recency terms in query or use SERPAPI_NEWS_SEARCH for time-sensitive queries. Results may include ads and sponsored content; prefer authoritative domains. Use vertical tools (SERPAPI_IMAGE_SEARCH, SERPAPI_NEWS_SEARCH, SERPAPI_YOU_TUBE_SEARCH, SERPAPI_GOOGLE_JOBS_SEARCH) for specialized query types.\",\n input: SerpapiSearchInput,\n output: SerpapiSearchOutput,\n});\n"],"mappings":";;;AAIA,MAAa,qBAAqBA,IAAAA,EAAE,OAAO,EACzC,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6EAA6E,EAC1G,CAAC;AACD,MAAM,wCAAwCA,IAAAA,EAAE,OAAO;CACrD,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1E,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7E,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC5F,CAAC,CAAC,CAAC,SAAS,2CAA2C;AACvD,MAAM,oCAAoCA,IAAAA,EAAE,OAAO,EACjD,iBAAiBA,IAAAA,EAAE,MAAM,qCAAqC,CAAC,CAAC,SAAS,wCAAwC,EACnH,CAAC,CAAC,CAAC,SAAS,+BAA+B;AAC3C,MAAa,sBAAsBA,IAAAA,EAAE,OAAO,EAC1C,SAAS,kCAAkC,SAAS,EACtD,CAAC;AAED,MAAa,gBAAgBC,eAAAA,OAAO,kBAAkB;CACpD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,9 +1,21 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  //#region src/actions/search.d.ts
4
- declare const SerpapiSearchInput: z.ZodTypeAny;
5
- declare const SerpapiSearchOutput: z.ZodTypeAny;
6
- declare const serpapiSearch: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
4
+ declare const SerpapiSearchInput: z.ZodObject<{
5
+ query: z.ZodString;
6
+ }, z.core.$strip>;
7
+ declare const SerpapiSearchOutput: z.ZodObject<{
8
+ results: z.ZodNullable<z.ZodObject<{
9
+ organic_results: z.ZodArray<z.ZodObject<{
10
+ link: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
13
+ }, z.core.$strip>>;
14
+ }, z.core.$strip>>;
15
+ }, z.core.$strip>;
16
+ declare const serpapiSearch: import("@keystrokehq/action").WorkflowActionDefinition<{
17
+ query: string;
18
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
19
  //#endregion
8
20
  export { serpapiSearch };
9
21
  //# sourceMappingURL=search.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.cts","names":[],"sources":["../../src/actions/search.ts"],"mappings":";;;cAIa,kBAAA,EAAoB,CAAA,CAAE,UAEjC;AAAA,cASW,mBAAA,EAAqB,CAAA,CAAE,UAElC;AAAA,cAEW,aAAA,gCAAa,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
1
+ {"version":3,"file":"search.d.cts","names":[],"sources":["../../src/actions/search.ts"],"mappings":";;;cAIa,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;cAWlB,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;;;;;cAInB,aAAA,gCAAa,wBAAA"}
@@ -1,9 +1,21 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  //#region src/actions/search.d.ts
4
- declare const SerpapiSearchInput: z.ZodTypeAny;
5
- declare const SerpapiSearchOutput: z.ZodTypeAny;
6
- declare const serpapiSearch: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
4
+ declare const SerpapiSearchInput: z.ZodObject<{
5
+ query: z.ZodString;
6
+ }, z.core.$strip>;
7
+ declare const SerpapiSearchOutput: z.ZodObject<{
8
+ results: z.ZodNullable<z.ZodObject<{
9
+ organic_results: z.ZodArray<z.ZodObject<{
10
+ link: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
13
+ }, z.core.$strip>>;
14
+ }, z.core.$strip>>;
15
+ }, z.core.$strip>;
16
+ declare const serpapiSearch: import("@keystrokehq/action").WorkflowActionDefinition<{
17
+ query: string;
18
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
19
  //#endregion
8
20
  export { serpapiSearch };
9
21
  //# sourceMappingURL=search.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.mts","names":[],"sources":["../../src/actions/search.ts"],"mappings":";;;cAIa,kBAAA,EAAoB,CAAA,CAAE,UAEjC;AAAA,cASW,mBAAA,EAAqB,CAAA,CAAE,UAElC;AAAA,cAEW,aAAA,gCAAa,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
1
+ {"version":3,"file":"search.d.mts","names":[],"sources":["../../src/actions/search.ts"],"mappings":";;;cAIa,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;cAWlB,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;;;;;cAInB,aAAA,gCAAa,wBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"search.mjs","names":[],"sources":["../../src/actions/search.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiSearchInput: z.ZodTypeAny = z.object({\n query: z.string().describe(\"User's search query; should be a clear, concise question or keyword phrase.\"),\n});\nconst SerpapiSearch_OrganicResultItemSchema: z.ZodTypeAny = z.object({\n link: z.string().describe(\"URL of the search result\").nullable().optional(),\n title: z.string().describe(\"Title of the search result\").nullable().optional(),\n position: z.number().int().describe(\"Ranking position of the result\").nullable().optional(),\n}).describe(\"Single organic search result from Google.\");\nconst SerpapiSearch_SearchResultsSchema: z.ZodTypeAny = z.object({\n organic_results: z.array(SerpapiSearch_OrganicResultItemSchema).describe(\"List of organic search results (top 5)\"),\n}).describe(\"Container for search results.\");\nexport const SerpapiSearchOutput: z.ZodTypeAny = z.object({\n results: SerpapiSearch_SearchResultsSchema.nullable(),\n});\n\nexport const serpapiSearch = action(\"SERPAPI_SEARCH\", {\n slug: \"serpapi-search\",\n name: \"Serp API search\",\n description: \"Performs a real-time Google search via the SerpAPI connection (must be active; if unavailable, use COMPOSIO_SEARCH_WEB or other COMPOSIO_SEARCH_* tools). Returns ~10 organic results per page nested under results.organic_results — not a flat list; handle missing/empty arrays. Paginate via start offset or serpapi_pagination.next; max num=100; stop when domains plateau to avoid quota exhaustion. Rate-limited: throttle to 1–2 req/s; HTTP 429 on bursts — apply exponential backoff (1s, 2s, 4s). Derive result rank from array index (absolute rank = start + index; no explicit rank field). Lacks date-bound controls — embed recency terms in query or use SERPAPI_NEWS_SEARCH for time-sensitive queries. Results may include ads and sponsored content; prefer authoritative domains. Use vertical tools (SERPAPI_IMAGE_SEARCH, SERPAPI_NEWS_SEARCH, SERPAPI_YOU_TUBE_SEARCH, SERPAPI_GOOGLE_JOBS_SEARCH) for specialized query types.\",\n input: SerpapiSearchInput,\n output: SerpapiSearchOutput,\n});\n"],"mappings":";;;AAIA,MAAa,qBAAmC,EAAE,OAAO,EACvD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,6EAA6E,EAC1G,CAAC;AACD,MAAM,wCAAsD,EAAE,OAAO;CACnE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1E,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7E,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC5F,CAAC,CAAC,CAAC,SAAS,2CAA2C;AACvD,MAAM,oCAAkD,EAAE,OAAO,EAC/D,iBAAiB,EAAE,MAAM,qCAAqC,CAAC,CAAC,SAAS,wCAAwC,EACnH,CAAC,CAAC,CAAC,SAAS,+BAA+B;AAK3C,MAAa,gBAAgB,OAAO,kBAAkB;CACpD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAT+C,EAAE,OAAO,EACxD,SAAS,kCAAkC,SAAS,EACtD,CAOU;AACV,CAAC"}
1
+ {"version":3,"file":"search.mjs","names":[],"sources":["../../src/actions/search.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiSearchInput = z.object({\n query: z.string().describe(\"User's search query; should be a clear, concise question or keyword phrase.\"),\n});\nconst SerpapiSearch_OrganicResultItemSchema = z.object({\n link: z.string().describe(\"URL of the search result\").nullable().optional(),\n title: z.string().describe(\"Title of the search result\").nullable().optional(),\n position: z.number().int().describe(\"Ranking position of the result\").nullable().optional(),\n}).describe(\"Single organic search result from Google.\");\nconst SerpapiSearch_SearchResultsSchema = z.object({\n organic_results: z.array(SerpapiSearch_OrganicResultItemSchema).describe(\"List of organic search results (top 5)\"),\n}).describe(\"Container for search results.\");\nexport const SerpapiSearchOutput = z.object({\n results: SerpapiSearch_SearchResultsSchema.nullable(),\n});\n\nexport const serpapiSearch = action(\"SERPAPI_SEARCH\", {\n slug: \"serpapi-search\",\n name: \"Serp API search\",\n description: \"Performs a real-time Google search via the SerpAPI connection (must be active; if unavailable, use COMPOSIO_SEARCH_WEB or other COMPOSIO_SEARCH_* tools). Returns ~10 organic results per page nested under results.organic_results — not a flat list; handle missing/empty arrays. Paginate via start offset or serpapi_pagination.next; max num=100; stop when domains plateau to avoid quota exhaustion. Rate-limited: throttle to 1–2 req/s; HTTP 429 on bursts — apply exponential backoff (1s, 2s, 4s). Derive result rank from array index (absolute rank = start + index; no explicit rank field). Lacks date-bound controls — embed recency terms in query or use SERPAPI_NEWS_SEARCH for time-sensitive queries. Results may include ads and sponsored content; prefer authoritative domains. Use vertical tools (SERPAPI_IMAGE_SEARCH, SERPAPI_NEWS_SEARCH, SERPAPI_YOU_TUBE_SEARCH, SERPAPI_GOOGLE_JOBS_SEARCH) for specialized query types.\",\n input: SerpapiSearchInput,\n output: SerpapiSearchOutput,\n});\n"],"mappings":";;;AAIA,MAAa,qBAAqB,EAAE,OAAO,EACzC,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,6EAA6E,EAC1G,CAAC;AACD,MAAM,wCAAwC,EAAE,OAAO;CACrD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1E,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7E,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC5F,CAAC,CAAC,CAAC,SAAS,2CAA2C;AACvD,MAAM,oCAAoC,EAAE,OAAO,EACjD,iBAAiB,EAAE,MAAM,qCAAqC,CAAC,CAAC,SAAS,wCAAwC,EACnH,CAAC,CAAC,CAAC,SAAS,+BAA+B;AAK3C,MAAa,gBAAgB,OAAO,kBAAkB;CACpD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QATiC,EAAE,OAAO,EAC1C,SAAS,kCAAkC,SAAS,EACtD,CAOU;AACV,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"shopping-search.cjs","names":["z","action"],"sources":["../../src/actions/shopping-search.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiShoppingSearchInput: z.ZodTypeAny = z.object({\n num: z.number().int().describe(\"Maximum number of results to return per page. Default is 10, maximum is 100.\").optional(),\n query: z.string().describe(\"Product or item to search for on Google Shopping.\"),\n start: z.number().int().describe(\"Result offset for pagination. Use 0 for the first page (default), 10 for the second page, 20 for the third, etc.\").optional(),\n});\nexport const SerpapiShoppingSearchOutput: z.ZodTypeAny = z.object({\n results: z.record(z.string(), z.unknown()).describe(\"Structured search results from Google Shopping, including product details like title, link, price, and retailer.\"),\n});\n\nexport const serpapiShoppingSearch = action(\"SERPAPI_SHOPPING_SEARCH\", {\n slug: \"serpapi-shopping-search\",\n name: \"Shopping search\",\n description: \"Searches Google Shopping via SerpAPI for a specific product, returning structured listings in results.shopping_results. Requires an active SerpAPI connection. Response fields such as rating, review_count, extracted_price, and extracted_old_price may be absent; null-check before ranking or computing discounts. Discount percentages in listings may reflect aggregate promotional claims, not per-item pricing.\",\n input: SerpapiShoppingSearchInput,\n output: SerpapiShoppingSearchOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA2CA,IAAAA,EAAE,OAAO;CAC/D,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS;CACxH,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD;CAC9E,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kHAAkH,CAAC,CAAC,SAAS;AAChK,CAAC;AACD,MAAa,8BAA4CA,IAAAA,EAAE,OAAO,EAChE,SAASA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,kHAAkH,EACxK,CAAC;AAED,MAAa,wBAAwBC,eAAAA,OAAO,2BAA2B;CACrE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"shopping-search.cjs","names":["z","action"],"sources":["../../src/actions/shopping-search.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpapiShoppingSearchInput = z.object({\n num: z.number().int().describe(\"Maximum number of results to return per page. Default is 10, maximum is 100.\").optional(),\n query: z.string().describe(\"Product or item to search for on Google Shopping.\"),\n start: z.number().int().describe(\"Result offset for pagination. Use 0 for the first page (default), 10 for the second page, 20 for the third, etc.\").optional(),\n});\nexport const SerpapiShoppingSearchOutput = z.object({\n results: z.record(z.string(), z.unknown()).describe(\"Structured search results from Google Shopping, including product details like title, link, price, and retailer.\"),\n});\n\nexport const serpapiShoppingSearch = action(\"SERPAPI_SHOPPING_SEARCH\", {\n slug: \"serpapi-shopping-search\",\n name: \"Shopping search\",\n description: \"Searches Google Shopping via SerpAPI for a specific product, returning structured listings in results.shopping_results. Requires an active SerpAPI connection. Response fields such as rating, review_count, extracted_price, and extracted_old_price may be absent; null-check before ranking or computing discounts. Discount percentages in listings may reflect aggregate promotional claims, not per-item pricing.\",\n input: SerpapiShoppingSearchInput,\n output: SerpapiShoppingSearchOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA6BA,IAAAA,EAAE,OAAO;CACjD,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS;CACxH,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD;CAC9E,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kHAAkH,CAAC,CAAC,SAAS;AAChK,CAAC;AACD,MAAa,8BAA8BA,IAAAA,EAAE,OAAO,EAClD,SAASA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,kHAAkH,EACxK,CAAC;AAED,MAAa,wBAAwBC,eAAAA,OAAO,2BAA2B;CACrE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}