@zapier/zapier-sdk 0.18.3 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +44 -32
  3. package/dist/index.cjs +658 -693
  4. package/dist/index.d.mts +272 -138
  5. package/dist/index.d.ts +2541 -40
  6. package/dist/index.mjs +638 -692
  7. package/package.json +14 -13
  8. package/dist/api/auth.d.ts +0 -19
  9. package/dist/api/auth.d.ts.map +0 -1
  10. package/dist/api/auth.js +0 -70
  11. package/dist/api/auth.test.d.ts +0 -2
  12. package/dist/api/auth.test.d.ts.map +0 -1
  13. package/dist/api/auth.test.js +0 -220
  14. package/dist/api/client.d.ts +0 -9
  15. package/dist/api/client.d.ts.map +0 -1
  16. package/dist/api/client.integration.test.d.ts +0 -5
  17. package/dist/api/client.integration.test.d.ts.map +0 -1
  18. package/dist/api/client.integration.test.js +0 -318
  19. package/dist/api/client.js +0 -374
  20. package/dist/api/client.methods.test.d.ts +0 -2
  21. package/dist/api/client.methods.test.d.ts.map +0 -1
  22. package/dist/api/client.methods.test.js +0 -158
  23. package/dist/api/client.test.d.ts +0 -2
  24. package/dist/api/client.test.d.ts.map +0 -1
  25. package/dist/api/client.test.js +0 -96
  26. package/dist/api/debug.d.ts +0 -14
  27. package/dist/api/debug.d.ts.map +0 -1
  28. package/dist/api/debug.js +0 -131
  29. package/dist/api/debug.test.d.ts +0 -2
  30. package/dist/api/debug.test.d.ts.map +0 -1
  31. package/dist/api/debug.test.js +0 -59
  32. package/dist/api/index.d.ts +0 -30
  33. package/dist/api/index.d.ts.map +0 -1
  34. package/dist/api/index.js +0 -43
  35. package/dist/api/polling.d.ts +0 -46
  36. package/dist/api/polling.d.ts.map +0 -1
  37. package/dist/api/polling.js +0 -139
  38. package/dist/api/polling.test.d.ts +0 -2
  39. package/dist/api/polling.test.d.ts.map +0 -1
  40. package/dist/api/polling.test.js +0 -318
  41. package/dist/api/router.d.ts +0 -16
  42. package/dist/api/router.d.ts.map +0 -1
  43. package/dist/api/router.js +0 -31
  44. package/dist/api/router.test.d.ts +0 -2
  45. package/dist/api/router.test.d.ts.map +0 -1
  46. package/dist/api/router.test.js +0 -103
  47. package/dist/api/schemas.d.ts +0 -531
  48. package/dist/api/schemas.d.ts.map +0 -1
  49. package/dist/api/schemas.js +0 -389
  50. package/dist/api/types.d.ts +0 -82
  51. package/dist/api/types.d.ts.map +0 -1
  52. package/dist/api/types.js +0 -1
  53. package/dist/auth.d.ts +0 -52
  54. package/dist/auth.d.ts.map +0 -1
  55. package/dist/auth.js +0 -72
  56. package/dist/auth.test.d.ts +0 -2
  57. package/dist/auth.test.d.ts.map +0 -1
  58. package/dist/auth.test.js +0 -102
  59. package/dist/constants.d.ts +0 -14
  60. package/dist/constants.d.ts.map +0 -1
  61. package/dist/constants.js +0 -13
  62. package/dist/index.d.ts.map +0 -1
  63. package/dist/index.js +0 -42
  64. package/dist/plugins/api/index.d.ts +0 -12
  65. package/dist/plugins/api/index.d.ts.map +0 -1
  66. package/dist/plugins/api/index.js +0 -24
  67. package/dist/plugins/apps/index.d.ts +0 -15
  68. package/dist/plugins/apps/index.d.ts.map +0 -1
  69. package/dist/plugins/apps/index.js +0 -112
  70. package/dist/plugins/apps/schemas.d.ts +0 -42
  71. package/dist/plugins/apps/schemas.d.ts.map +0 -1
  72. package/dist/plugins/apps/schemas.js +0 -14
  73. package/dist/plugins/eventEmission/builders.d.ts +0 -14
  74. package/dist/plugins/eventEmission/builders.d.ts.map +0 -1
  75. package/dist/plugins/eventEmission/builders.js +0 -109
  76. package/dist/plugins/eventEmission/index.d.ts +0 -38
  77. package/dist/plugins/eventEmission/index.d.ts.map +0 -1
  78. package/dist/plugins/eventEmission/index.js +0 -336
  79. package/dist/plugins/eventEmission/index.test.d.ts +0 -5
  80. package/dist/plugins/eventEmission/index.test.d.ts.map +0 -1
  81. package/dist/plugins/eventEmission/index.test.js +0 -581
  82. package/dist/plugins/eventEmission/transport.d.ts +0 -27
  83. package/dist/plugins/eventEmission/transport.d.ts.map +0 -1
  84. package/dist/plugins/eventEmission/transport.js +0 -104
  85. package/dist/plugins/eventEmission/transport.test.d.ts +0 -5
  86. package/dist/plugins/eventEmission/transport.test.d.ts.map +0 -1
  87. package/dist/plugins/eventEmission/transport.test.js +0 -164
  88. package/dist/plugins/eventEmission/types.d.ts +0 -63
  89. package/dist/plugins/eventEmission/types.d.ts.map +0 -1
  90. package/dist/plugins/eventEmission/types.js +0 -1
  91. package/dist/plugins/eventEmission/utils.d.ts +0 -45
  92. package/dist/plugins/eventEmission/utils.d.ts.map +0 -1
  93. package/dist/plugins/eventEmission/utils.js +0 -114
  94. package/dist/plugins/fetch/index.d.ts +0 -36
  95. package/dist/plugins/fetch/index.d.ts.map +0 -1
  96. package/dist/plugins/fetch/index.js +0 -62
  97. package/dist/plugins/fetch/schemas.d.ts +0 -19
  98. package/dist/plugins/fetch/schemas.d.ts.map +0 -1
  99. package/dist/plugins/fetch/schemas.js +0 -31
  100. package/dist/plugins/findFirstAuthentication/index.d.ts +0 -21
  101. package/dist/plugins/findFirstAuthentication/index.d.ts.map +0 -1
  102. package/dist/plugins/findFirstAuthentication/index.js +0 -36
  103. package/dist/plugins/findFirstAuthentication/index.test.d.ts +0 -2
  104. package/dist/plugins/findFirstAuthentication/index.test.d.ts.map +0 -1
  105. package/dist/plugins/findFirstAuthentication/index.test.js +0 -177
  106. package/dist/plugins/findFirstAuthentication/schemas.d.ts +0 -20
  107. package/dist/plugins/findFirstAuthentication/schemas.d.ts.map +0 -1
  108. package/dist/plugins/findFirstAuthentication/schemas.js +0 -18
  109. package/dist/plugins/findUniqueAuthentication/index.d.ts +0 -21
  110. package/dist/plugins/findUniqueAuthentication/index.d.ts.map +0 -1
  111. package/dist/plugins/findUniqueAuthentication/index.js +0 -39
  112. package/dist/plugins/findUniqueAuthentication/index.test.d.ts +0 -2
  113. package/dist/plugins/findUniqueAuthentication/index.test.d.ts.map +0 -1
  114. package/dist/plugins/findUniqueAuthentication/index.test.js +0 -159
  115. package/dist/plugins/findUniqueAuthentication/schemas.d.ts +0 -20
  116. package/dist/plugins/findUniqueAuthentication/schemas.d.ts.map +0 -1
  117. package/dist/plugins/findUniqueAuthentication/schemas.js +0 -18
  118. package/dist/plugins/getAction/index.d.ts +0 -25
  119. package/dist/plugins/getAction/index.d.ts.map +0 -1
  120. package/dist/plugins/getAction/index.js +0 -42
  121. package/dist/plugins/getAction/index.test.d.ts +0 -2
  122. package/dist/plugins/getAction/index.test.d.ts.map +0 -1
  123. package/dist/plugins/getAction/index.test.js +0 -211
  124. package/dist/plugins/getAction/schemas.d.ts +0 -30
  125. package/dist/plugins/getAction/schemas.d.ts.map +0 -1
  126. package/dist/plugins/getAction/schemas.js +0 -12
  127. package/dist/plugins/getApp/index.d.ts +0 -21
  128. package/dist/plugins/getApp/index.d.ts.map +0 -1
  129. package/dist/plugins/getApp/index.js +0 -44
  130. package/dist/plugins/getApp/index.test.d.ts +0 -2
  131. package/dist/plugins/getApp/index.test.d.ts.map +0 -1
  132. package/dist/plugins/getApp/index.test.js +0 -157
  133. package/dist/plugins/getApp/schemas.d.ts +0 -16
  134. package/dist/plugins/getApp/schemas.d.ts.map +0 -1
  135. package/dist/plugins/getApp/schemas.js +0 -8
  136. package/dist/plugins/getAuthentication/index.d.ts +0 -21
  137. package/dist/plugins/getAuthentication/index.d.ts.map +0 -1
  138. package/dist/plugins/getAuthentication/index.js +0 -29
  139. package/dist/plugins/getAuthentication/index.test.d.ts +0 -2
  140. package/dist/plugins/getAuthentication/index.test.d.ts.map +0 -1
  141. package/dist/plugins/getAuthentication/index.test.js +0 -106
  142. package/dist/plugins/getAuthentication/schemas.d.ts +0 -7
  143. package/dist/plugins/getAuthentication/schemas.d.ts.map +0 -1
  144. package/dist/plugins/getAuthentication/schemas.js +0 -1
  145. package/dist/plugins/getInputFieldsSchema/index.d.ts +0 -23
  146. package/dist/plugins/getInputFieldsSchema/index.d.ts.map +0 -1
  147. package/dist/plugins/getInputFieldsSchema/index.js +0 -53
  148. package/dist/plugins/getInputFieldsSchema/index.test.d.ts +0 -2
  149. package/dist/plugins/getInputFieldsSchema/index.test.d.ts.map +0 -1
  150. package/dist/plugins/getInputFieldsSchema/index.test.js +0 -291
  151. package/dist/plugins/getInputFieldsSchema/schemas.d.ts +0 -28
  152. package/dist/plugins/getInputFieldsSchema/schemas.d.ts.map +0 -1
  153. package/dist/plugins/getInputFieldsSchema/schemas.js +0 -13
  154. package/dist/plugins/getProfile/index.d.ts +0 -25
  155. package/dist/plugins/getProfile/index.d.ts.map +0 -1
  156. package/dist/plugins/getProfile/index.js +0 -39
  157. package/dist/plugins/getProfile/schemas.d.ts +0 -13
  158. package/dist/plugins/getProfile/schemas.d.ts.map +0 -1
  159. package/dist/plugins/getProfile/schemas.js +0 -6
  160. package/dist/plugins/listActions/index.d.ts +0 -30
  161. package/dist/plugins/listActions/index.d.ts.map +0 -1
  162. package/dist/plugins/listActions/index.js +0 -75
  163. package/dist/plugins/listActions/index.test.d.ts +0 -2
  164. package/dist/plugins/listActions/index.test.d.ts.map +0 -1
  165. package/dist/plugins/listActions/index.test.js +0 -453
  166. package/dist/plugins/listActions/schemas.d.ts +0 -35
  167. package/dist/plugins/listActions/schemas.d.ts.map +0 -1
  168. package/dist/plugins/listActions/schemas.js +0 -22
  169. package/dist/plugins/listApps/index.d.ts +0 -25
  170. package/dist/plugins/listApps/index.d.ts.map +0 -1
  171. package/dist/plugins/listApps/index.js +0 -69
  172. package/dist/plugins/listApps/index.test.d.ts +0 -2
  173. package/dist/plugins/listApps/index.test.d.ts.map +0 -1
  174. package/dist/plugins/listApps/index.test.js +0 -141
  175. package/dist/plugins/listApps/schemas.d.ts +0 -26
  176. package/dist/plugins/listApps/schemas.d.ts.map +0 -1
  177. package/dist/plugins/listApps/schemas.js +0 -19
  178. package/dist/plugins/listAuthentications/index.d.ts +0 -24
  179. package/dist/plugins/listAuthentications/index.d.ts.map +0 -1
  180. package/dist/plugins/listAuthentications/index.js +0 -77
  181. package/dist/plugins/listAuthentications/index.test.d.ts +0 -2
  182. package/dist/plugins/listAuthentications/index.test.d.ts.map +0 -1
  183. package/dist/plugins/listAuthentications/index.test.js +0 -832
  184. package/dist/plugins/listAuthentications/schemas.d.ts +0 -30
  185. package/dist/plugins/listAuthentications/schemas.d.ts.map +0 -1
  186. package/dist/plugins/listAuthentications/schemas.js +0 -32
  187. package/dist/plugins/listInputFieldChoices/index.d.ts +0 -33
  188. package/dist/plugins/listInputFieldChoices/index.d.ts.map +0 -1
  189. package/dist/plugins/listInputFieldChoices/index.js +0 -115
  190. package/dist/plugins/listInputFieldChoices/index.test.d.ts +0 -2
  191. package/dist/plugins/listInputFieldChoices/index.test.d.ts.map +0 -1
  192. package/dist/plugins/listInputFieldChoices/index.test.js +0 -717
  193. package/dist/plugins/listInputFieldChoices/schemas.d.ts +0 -43
  194. package/dist/plugins/listInputFieldChoices/schemas.d.ts.map +0 -1
  195. package/dist/plugins/listInputFieldChoices/schemas.js +0 -65
  196. package/dist/plugins/listInputFields/index.d.ts +0 -34
  197. package/dist/plugins/listInputFields/index.d.ts.map +0 -1
  198. package/dist/plugins/listInputFields/index.js +0 -204
  199. package/dist/plugins/listInputFields/index.test.d.ts +0 -2
  200. package/dist/plugins/listInputFields/index.test.d.ts.map +0 -1
  201. package/dist/plugins/listInputFields/index.test.js +0 -359
  202. package/dist/plugins/listInputFields/schemas.d.ts +0 -35
  203. package/dist/plugins/listInputFields/schemas.d.ts.map +0 -1
  204. package/dist/plugins/listInputFields/schemas.js +0 -23
  205. package/dist/plugins/manifest/index.d.ts +0 -85
  206. package/dist/plugins/manifest/index.d.ts.map +0 -1
  207. package/dist/plugins/manifest/index.js +0 -376
  208. package/dist/plugins/manifest/index.test.d.ts +0 -2
  209. package/dist/plugins/manifest/index.test.d.ts.map +0 -1
  210. package/dist/plugins/manifest/index.test.js +0 -1139
  211. package/dist/plugins/manifest/schemas.d.ts +0 -57
  212. package/dist/plugins/manifest/schemas.d.ts.map +0 -1
  213. package/dist/plugins/manifest/schemas.js +0 -50
  214. package/dist/plugins/registry/index.d.ts +0 -21
  215. package/dist/plugins/registry/index.d.ts.map +0 -1
  216. package/dist/plugins/registry/index.js +0 -117
  217. package/dist/plugins/request/index.d.ts +0 -21
  218. package/dist/plugins/request/index.d.ts.map +0 -1
  219. package/dist/plugins/request/index.js +0 -76
  220. package/dist/plugins/request/index.test.d.ts +0 -2
  221. package/dist/plugins/request/index.test.d.ts.map +0 -1
  222. package/dist/plugins/request/index.test.js +0 -337
  223. package/dist/plugins/request/schemas.d.ts +0 -54
  224. package/dist/plugins/request/schemas.d.ts.map +0 -1
  225. package/dist/plugins/request/schemas.js +0 -41
  226. package/dist/plugins/runAction/index.d.ts +0 -33
  227. package/dist/plugins/runAction/index.d.ts.map +0 -1
  228. package/dist/plugins/runAction/index.js +0 -108
  229. package/dist/plugins/runAction/index.test.d.ts +0 -2
  230. package/dist/plugins/runAction/index.test.d.ts.map +0 -1
  231. package/dist/plugins/runAction/index.test.js +0 -333
  232. package/dist/plugins/runAction/schemas.d.ts +0 -34
  233. package/dist/plugins/runAction/schemas.d.ts.map +0 -1
  234. package/dist/plugins/runAction/schemas.js +0 -23
  235. package/dist/resolvers/actionKey.d.ts +0 -15
  236. package/dist/resolvers/actionKey.d.ts.map +0 -1
  237. package/dist/resolvers/actionKey.js +0 -19
  238. package/dist/resolvers/actionType.d.ts +0 -10
  239. package/dist/resolvers/actionType.d.ts.map +0 -1
  240. package/dist/resolvers/actionType.js +0 -21
  241. package/dist/resolvers/appKey.d.ts +0 -3
  242. package/dist/resolvers/appKey.d.ts.map +0 -1
  243. package/dist/resolvers/appKey.js +0 -5
  244. package/dist/resolvers/authenticationId.d.ts +0 -9
  245. package/dist/resolvers/authenticationId.d.ts.map +0 -1
  246. package/dist/resolvers/authenticationId.js +0 -42
  247. package/dist/resolvers/index.d.ts +0 -8
  248. package/dist/resolvers/index.d.ts.map +0 -1
  249. package/dist/resolvers/index.js +0 -8
  250. package/dist/resolvers/inputFieldKey.d.ts +0 -11
  251. package/dist/resolvers/inputFieldKey.d.ts.map +0 -1
  252. package/dist/resolvers/inputFieldKey.js +0 -47
  253. package/dist/resolvers/inputs.d.ts +0 -17
  254. package/dist/resolvers/inputs.d.ts.map +0 -1
  255. package/dist/resolvers/inputs.js +0 -50
  256. package/dist/schemas/Action.d.ts +0 -24
  257. package/dist/schemas/Action.d.ts.map +0 -1
  258. package/dist/schemas/Action.js +0 -40
  259. package/dist/schemas/App.d.ts +0 -57
  260. package/dist/schemas/App.d.ts.map +0 -1
  261. package/dist/schemas/App.js +0 -31
  262. package/dist/schemas/Auth.d.ts +0 -55
  263. package/dist/schemas/Auth.d.ts.map +0 -1
  264. package/dist/schemas/Auth.js +0 -33
  265. package/dist/schemas/Field.d.ts +0 -61
  266. package/dist/schemas/Field.d.ts.map +0 -1
  267. package/dist/schemas/Field.js +0 -116
  268. package/dist/schemas/Run.d.ts +0 -3
  269. package/dist/schemas/Run.d.ts.map +0 -1
  270. package/dist/schemas/Run.js +0 -31
  271. package/dist/schemas/UserProfile.d.ts +0 -13
  272. package/dist/schemas/UserProfile.d.ts.map +0 -1
  273. package/dist/schemas/UserProfile.js +0 -32
  274. package/dist/sdk.d.ts +0 -146
  275. package/dist/sdk.d.ts.map +0 -1
  276. package/dist/sdk.js +0 -112
  277. package/dist/sdk.test.d.ts +0 -2
  278. package/dist/sdk.test.d.ts.map +0 -1
  279. package/dist/sdk.test.js +0 -255
  280. package/dist/services/implementations.d.ts +0 -63
  281. package/dist/services/implementations.d.ts.map +0 -1
  282. package/dist/services/implementations.js +0 -80
  283. package/dist/temporary-internal-core/handlers/listApps.d.ts +0 -67
  284. package/dist/temporary-internal-core/handlers/listApps.d.ts.map +0 -1
  285. package/dist/temporary-internal-core/handlers/listApps.js +0 -134
  286. package/dist/temporary-internal-core/handlers/listApps.test.d.ts +0 -2
  287. package/dist/temporary-internal-core/handlers/listApps.test.d.ts.map +0 -1
  288. package/dist/temporary-internal-core/handlers/listApps.test.js +0 -367
  289. package/dist/temporary-internal-core/index.d.ts +0 -18
  290. package/dist/temporary-internal-core/index.d.ts.map +0 -1
  291. package/dist/temporary-internal-core/index.js +0 -18
  292. package/dist/temporary-internal-core/schemas/apps/index.d.ts +0 -175
  293. package/dist/temporary-internal-core/schemas/apps/index.d.ts.map +0 -1
  294. package/dist/temporary-internal-core/schemas/apps/index.js +0 -97
  295. package/dist/temporary-internal-core/schemas/errors/index.d.ts +0 -139
  296. package/dist/temporary-internal-core/schemas/errors/index.d.ts.map +0 -1
  297. package/dist/temporary-internal-core/schemas/errors/index.js +0 -129
  298. package/dist/temporary-internal-core/schemas/implementations/index.d.ts +0 -127
  299. package/dist/temporary-internal-core/schemas/implementations/index.d.ts.map +0 -1
  300. package/dist/temporary-internal-core/schemas/implementations/index.js +0 -79
  301. package/dist/temporary-internal-core/types/handler.d.ts +0 -51
  302. package/dist/temporary-internal-core/types/handler.d.ts.map +0 -1
  303. package/dist/temporary-internal-core/types/handler.js +0 -8
  304. package/dist/temporary-internal-core/types/index.d.ts +0 -5
  305. package/dist/temporary-internal-core/types/index.d.ts.map +0 -1
  306. package/dist/temporary-internal-core/types/index.js +0 -4
  307. package/dist/temporary-internal-core/utils/app-locators.d.ts +0 -34
  308. package/dist/temporary-internal-core/utils/app-locators.d.ts.map +0 -1
  309. package/dist/temporary-internal-core/utils/app-locators.js +0 -39
  310. package/dist/temporary-internal-core/utils/string-utils.d.ts +0 -28
  311. package/dist/temporary-internal-core/utils/string-utils.d.ts.map +0 -1
  312. package/dist/temporary-internal-core/utils/string-utils.js +0 -52
  313. package/dist/temporary-internal-core/utils/transformations.d.ts +0 -18
  314. package/dist/temporary-internal-core/utils/transformations.d.ts.map +0 -1
  315. package/dist/temporary-internal-core/utils/transformations.js +0 -36
  316. package/dist/types/domain.d.ts +0 -52
  317. package/dist/types/domain.d.ts.map +0 -1
  318. package/dist/types/domain.js +0 -1
  319. package/dist/types/domain.test.d.ts +0 -2
  320. package/dist/types/domain.test.d.ts.map +0 -1
  321. package/dist/types/domain.test.js +0 -39
  322. package/dist/types/errors.d.ts +0 -143
  323. package/dist/types/errors.d.ts.map +0 -1
  324. package/dist/types/errors.js +0 -187
  325. package/dist/types/events.d.ts +0 -38
  326. package/dist/types/events.d.ts.map +0 -1
  327. package/dist/types/events.js +0 -7
  328. package/dist/types/functions.d.ts +0 -27
  329. package/dist/types/functions.d.ts.map +0 -1
  330. package/dist/types/functions.js +0 -1
  331. package/dist/types/plugin.d.ts +0 -75
  332. package/dist/types/plugin.d.ts.map +0 -1
  333. package/dist/types/plugin.js +0 -9
  334. package/dist/types/properties.d.ts +0 -33
  335. package/dist/types/properties.d.ts.map +0 -1
  336. package/dist/types/properties.js +0 -52
  337. package/dist/types/sdk.d.ts +0 -69
  338. package/dist/types/sdk.d.ts.map +0 -1
  339. package/dist/types/sdk.js +0 -4
  340. package/dist/types/telemetry-events.d.ts +0 -105
  341. package/dist/types/telemetry-events.d.ts.map +0 -1
  342. package/dist/types/telemetry-events.js +0 -8
  343. package/dist/utils/array-utils.d.ts +0 -31
  344. package/dist/utils/array-utils.d.ts.map +0 -1
  345. package/dist/utils/array-utils.js +0 -36
  346. package/dist/utils/array-utils.test.d.ts +0 -2
  347. package/dist/utils/array-utils.test.d.ts.map +0 -1
  348. package/dist/utils/array-utils.test.js +0 -107
  349. package/dist/utils/batch-utils.d.ts +0 -72
  350. package/dist/utils/batch-utils.d.ts.map +0 -1
  351. package/dist/utils/batch-utils.js +0 -162
  352. package/dist/utils/batch-utils.test.d.ts +0 -2
  353. package/dist/utils/batch-utils.test.d.ts.map +0 -1
  354. package/dist/utils/batch-utils.test.js +0 -476
  355. package/dist/utils/domain-utils.d.ts +0 -66
  356. package/dist/utils/domain-utils.d.ts.map +0 -1
  357. package/dist/utils/domain-utils.js +0 -164
  358. package/dist/utils/domain-utils.test.d.ts +0 -2
  359. package/dist/utils/domain-utils.test.d.ts.map +0 -1
  360. package/dist/utils/domain-utils.test.js +0 -346
  361. package/dist/utils/file-utils.d.ts +0 -4
  362. package/dist/utils/file-utils.d.ts.map +0 -1
  363. package/dist/utils/file-utils.js +0 -74
  364. package/dist/utils/file-utils.test.d.ts +0 -2
  365. package/dist/utils/file-utils.test.d.ts.map +0 -1
  366. package/dist/utils/file-utils.test.js +0 -51
  367. package/dist/utils/function-utils.d.ts +0 -73
  368. package/dist/utils/function-utils.d.ts.map +0 -1
  369. package/dist/utils/function-utils.js +0 -245
  370. package/dist/utils/function-utils.test.d.ts +0 -2
  371. package/dist/utils/function-utils.test.d.ts.map +0 -1
  372. package/dist/utils/function-utils.test.js +0 -110
  373. package/dist/utils/id-utils.d.ts +0 -13
  374. package/dist/utils/id-utils.d.ts.map +0 -1
  375. package/dist/utils/id-utils.js +0 -22
  376. package/dist/utils/id-utils.test.d.ts +0 -2
  377. package/dist/utils/id-utils.test.d.ts.map +0 -1
  378. package/dist/utils/id-utils.test.js +0 -22
  379. package/dist/utils/pagination-utils.d.ts +0 -37
  380. package/dist/utils/pagination-utils.d.ts.map +0 -1
  381. package/dist/utils/pagination-utils.js +0 -165
  382. package/dist/utils/pagination-utils.test.d.ts +0 -17
  383. package/dist/utils/pagination-utils.test.d.ts.map +0 -1
  384. package/dist/utils/pagination-utils.test.js +0 -461
  385. package/dist/utils/retry-utils.d.ts +0 -45
  386. package/dist/utils/retry-utils.d.ts.map +0 -1
  387. package/dist/utils/retry-utils.js +0 -51
  388. package/dist/utils/retry-utils.test.d.ts +0 -2
  389. package/dist/utils/retry-utils.test.d.ts.map +0 -1
  390. package/dist/utils/retry-utils.test.js +0 -90
  391. package/dist/utils/schema-utils.d.ts +0 -69
  392. package/dist/utils/schema-utils.d.ts.map +0 -1
  393. package/dist/utils/schema-utils.js +0 -72
  394. package/dist/utils/string-utils.d.ts +0 -40
  395. package/dist/utils/string-utils.d.ts.map +0 -1
  396. package/dist/utils/string-utils.js +0 -69
  397. package/dist/utils/string-utils.test.d.ts +0 -2
  398. package/dist/utils/string-utils.test.d.ts.map +0 -1
  399. package/dist/utils/string-utils.test.js +0 -59
  400. package/dist/utils/telemetry-utils.d.ts +0 -44
  401. package/dist/utils/telemetry-utils.d.ts.map +0 -1
  402. package/dist/utils/telemetry-utils.js +0 -55
  403. package/dist/utils/telemetry-utils.test.d.ts +0 -2
  404. package/dist/utils/telemetry-utils.test.d.ts.map +0 -1
  405. package/dist/utils/telemetry-utils.test.js +0 -94
  406. package/dist/utils/url-utils.d.ts +0 -19
  407. package/dist/utils/url-utils.d.ts.map +0 -1
  408. package/dist/utils/url-utils.js +0 -62
  409. package/dist/utils/url-utils.test.d.ts +0 -2
  410. package/dist/utils/url-utils.test.d.ts.map +0 -1
  411. package/dist/utils/url-utils.test.js +0 -103
  412. package/dist/utils/validation.d.ts +0 -4
  413. package/dist/utils/validation.d.ts.map +0 -1
  414. package/dist/utils/validation.js +0 -30
  415. package/dist/utils/validation.test.d.ts +0 -2
  416. package/dist/utils/validation.test.d.ts.map +0 -1
  417. package/dist/utils/validation.test.js +0 -44
@@ -1,67 +0,0 @@
1
- /**
2
- * Handler for listApps operation
3
- *
4
- * This handler will become an SDK API endpoint handler.
5
- * It encapsulates the business logic for listing apps, including:
6
- * - Search augmentation (merging search results with specified apps)
7
- * - API calls to internal services
8
- * - Response transformation
9
- * - Pagination with latest_only support
10
- *
11
- * Note: App key resolution (slugs → implementation IDs) happens in the SDK plugin.
12
- * The handler receives pre-resolved implementation IDs and performs search augmentation.
13
- */
14
- import type { Handler, HandlerDeps } from "../types";
15
- import { type ListAppsHandlerRequest, type ListAppsResponse } from "../schemas/apps";
16
- /**
17
- * Simple HTTP client interface for calling internal APIs
18
- *
19
- * Why pass this as a dependency instead of importing directly?
20
- *
21
- * 1. **Different implementations in different contexts:**
22
- * - In the SDK: Uses the ApiClient wrapper (adds auth, error handling, etc.)
23
- * - In the SDK API: Would use internal HTTP client or direct service calls
24
- *
25
- * 2. **Testability:**
26
- * - Can mock httpClient in tests without complex setup
27
- * - Can verify API calls and responses in isolation
28
- *
29
- * 3. **No hard coupling:**
30
- * - Handler doesn't know/care how HTTP calls are made
31
- * - Makes migration to SDK API easier (just swap implementation)
32
- */
33
- export interface HttpClient {
34
- get<T = unknown>(path: string, options?: {
35
- searchParams?: Record<string, string>;
36
- }): Promise<T>;
37
- }
38
- /**
39
- * Dependencies required by the listApps handler
40
- *
41
- * Passed as a parameter (dependency injection) rather than imported directly
42
- * to allow different implementations in different environments:
43
- * - SDK plugin injects: { httpClient: api } (SDK's ApiClient)
44
- * - SDK API would inject: { httpClient: internalHttpClient } (direct internal calls)
45
- * - Tests inject: { httpClient: mockHttpClient } (mocked responses)
46
- *
47
- * Extends HandlerDeps to ensure compatibility with the Handler interface.
48
- */
49
- export interface ListAppsHandlerDeps extends HandlerDeps {
50
- httpClient: HttpClient;
51
- }
52
- /**
53
- * Handles listApps operation
54
- *
55
- * Conforms to the Handler<TRequest, TResponse, TDeps> interface contract.
56
- * Validates and normalizes the request at the handler boundary before processing.
57
- *
58
- * Accepts flexible input types (via schema):
59
- * - implementationIds: string (comma-separated) or string[]
60
- * - pageSize: string or number
61
- *
62
- * @param request - The request with pre-resolved implementation IDs (handler performs search augmentation)
63
- * @param deps - Dependencies injected by the caller (see ListAppsHandlerDeps for why we use DI)
64
- * @returns Paginated list of apps with normalized data
65
- */
66
- export declare const handleListApps: Handler<ListAppsHandlerRequest, ListAppsResponse, ListAppsHandlerDeps>;
67
- //# sourceMappingURL=listApps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listApps.d.ts","sourceRoot":"","sources":["../../../src/temporary-internal-core/handlers/listApps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC;AAkBzB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,CAAC,GAAG,OAAO,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAClD,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,UAAU,EAAE,UAAU,CAAC;CACxB;AA2ED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,CAClC,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,CA+EpB,CAAC"}
@@ -1,134 +0,0 @@
1
- /**
2
- * Handler for listApps operation
3
- *
4
- * This handler will become an SDK API endpoint handler.
5
- * It encapsulates the business logic for listing apps, including:
6
- * - Search augmentation (merging search results with specified apps)
7
- * - API calls to internal services
8
- * - Response transformation
9
- * - Pagination with latest_only support
10
- *
11
- * Note: App key resolution (slugs → implementation IDs) happens in the SDK plugin.
12
- * The handler receives pre-resolved implementation IDs and performs search augmentation.
13
- */
14
- import { ListAppsHandlerRequestSchema, } from "../schemas/apps";
15
- import { splitVersionedKey } from "../utils/string-utils";
16
- import { transformImplementationMetaToAppItem, extractPaginationCursor, } from "../utils/transformations";
17
- // ============================================================================
18
- // Constants
19
- // ============================================================================
20
- const DEFAULT_PAGE_SIZE = 20;
21
- // ============================================================================
22
- // Business Logic Helpers
23
- // ============================================================================
24
- /**
25
- * Augments implementation IDs with search results
26
- *
27
- * Calls the search endpoint and merges results with existing implementation IDs,
28
- * deduplicating by implementation name (without version) and preferring public versions.
29
- */
30
- async function augmentWithSearchResults({ searchTerm, implementationIds, httpClient, }) {
31
- const searchResponse = await httpClient.get("/zapier/api/v4/implementations-meta/search/", {
32
- searchParams: { term: searchTerm },
33
- });
34
- // Deduplicate by implementation name, preferring public versions
35
- // This ensures that when a user has access to both a private version (e.g., 1.0.17)
36
- // and a public version (e.g., 1.1.0), we use the public one for search results
37
- const byImplementationName = new Map();
38
- for (const result of searchResponse.results) {
39
- const [implementationName] = splitVersionedKey(result.id);
40
- const isPublic = result.visibility === "public";
41
- const existing = byImplementationName.get(implementationName);
42
- // Take this result if we don't have one yet, or if this one is public and existing is not
43
- if (!existing || (isPublic && !existing.isPublic)) {
44
- byImplementationName.set(implementationName, { result, isPublic });
45
- }
46
- }
47
- const searchResults = Array.from(byImplementationName.values()).map((entry) => transformImplementationMetaToAppItem(entry.result));
48
- const implementationNameSet = new Set(implementationIds.map((id) => {
49
- const [name] = splitVersionedKey(id);
50
- return name;
51
- }));
52
- const additionalIds = [];
53
- for (const result of searchResults) {
54
- const [implementationName] = splitVersionedKey(result.key);
55
- if (!implementationNameSet.has(implementationName)) {
56
- implementationNameSet.add(implementationName);
57
- // Use the full implementation_id from the result
58
- additionalIds.push(result.implementation_id);
59
- }
60
- }
61
- return [...implementationIds, ...additionalIds];
62
- }
63
- // ============================================================================
64
- // Main Handler
65
- // ============================================================================
66
- /**
67
- * Handles listApps operation
68
- *
69
- * Conforms to the Handler<TRequest, TResponse, TDeps> interface contract.
70
- * Validates and normalizes the request at the handler boundary before processing.
71
- *
72
- * Accepts flexible input types (via schema):
73
- * - implementationIds: string (comma-separated) or string[]
74
- * - pageSize: string or number
75
- *
76
- * @param request - The request with pre-resolved implementation IDs (handler performs search augmentation)
77
- * @param deps - Dependencies injected by the caller (see ListAppsHandlerDeps for why we use DI)
78
- * @returns Paginated list of apps with normalized data
79
- */
80
- export const handleListApps = async ({ request, deps }) => {
81
- // Validate and normalize request at handler boundary
82
- // Schema automatically normalizes:
83
- // - implementationIds: string → string[]
84
- // - pageSize: string → number
85
- const validatedRequest = ListAppsHandlerRequestSchema.parse(request);
86
- const { httpClient } = deps;
87
- let { implementationIds } = validatedRequest;
88
- const pageSize = validatedRequest.pageSize ?? DEFAULT_PAGE_SIZE;
89
- if (validatedRequest.search) {
90
- implementationIds = await augmentWithSearchResults({
91
- searchTerm: validatedRequest.search,
92
- implementationIds,
93
- httpClient,
94
- });
95
- }
96
- if (implementationIds.length === 0) {
97
- // If search was provided but found nothing, return empty (bug fix)
98
- if (validatedRequest.search) {
99
- return {
100
- data: [],
101
- nextCursor: undefined,
102
- };
103
- }
104
- const searchParams = {
105
- latest_only: "true",
106
- selected_apis: "",
107
- limit: pageSize.toString(),
108
- };
109
- if (validatedRequest.cursor) {
110
- searchParams.offset = validatedRequest.cursor;
111
- }
112
- const implementationsResponse = await httpClient.get("/zapier/api/v4/implementations-meta/lookup/", {
113
- searchParams,
114
- });
115
- return {
116
- data: implementationsResponse.results.map(transformImplementationMetaToAppItem),
117
- nextCursor: extractPaginationCursor(implementationsResponse),
118
- };
119
- }
120
- const searchParams = {
121
- selected_apis: implementationIds.join(","),
122
- limit: pageSize.toString(),
123
- };
124
- if (validatedRequest.cursor) {
125
- searchParams.offset = validatedRequest.cursor;
126
- }
127
- const implementationsResponse = await httpClient.get("/zapier/api/v4/implementations-meta/lookup/", {
128
- searchParams,
129
- });
130
- return {
131
- data: implementationsResponse.results.map(transformImplementationMetaToAppItem),
132
- nextCursor: extractPaginationCursor(implementationsResponse),
133
- };
134
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=listApps.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listApps.test.d.ts","sourceRoot":"","sources":["../../../src/temporary-internal-core/handlers/listApps.test.ts"],"names":[],"mappings":""}
@@ -1,367 +0,0 @@
1
- import { describe, it, expect, vi } from "vitest";
2
- import { handleListApps, } from "./listApps";
3
- import { ListAppsResponseSchema, } from "../schemas/apps";
4
- describe("handleListApps", () => {
5
- const mockImplementation = (id, name, visibility = "public") => ({
6
- id,
7
- name,
8
- slug: name.toLowerCase().replace(/\s+/g, "-"),
9
- description: `${name} description`,
10
- primary_color: "#000000",
11
- categories: [{ id: 1, name: "test", slug: "test" }],
12
- visibility,
13
- });
14
- describe("pageSize handling", () => {
15
- it("should use default pageSize of 20 when not provided", async () => {
16
- const mockHttpClient = {
17
- get: vi.fn().mockResolvedValue({
18
- count: 0,
19
- results: [],
20
- }),
21
- };
22
- await handleListApps({
23
- request: {
24
- implementationIds: [],
25
- search: undefined,
26
- pageSize: undefined,
27
- cursor: undefined,
28
- },
29
- deps: { httpClient: mockHttpClient },
30
- });
31
- expect(mockHttpClient.get).toHaveBeenCalledWith(expect.any(String), expect.objectContaining({
32
- searchParams: expect.objectContaining({
33
- limit: "20",
34
- }),
35
- }));
36
- });
37
- it("should use custom pageSize when provided", async () => {
38
- const mockHttpClient = {
39
- get: vi.fn().mockResolvedValue({
40
- count: 0,
41
- results: [],
42
- }),
43
- };
44
- await handleListApps({
45
- request: {
46
- implementationIds: [],
47
- search: undefined,
48
- pageSize: 50,
49
- cursor: undefined,
50
- },
51
- deps: { httpClient: mockHttpClient },
52
- });
53
- expect(mockHttpClient.get).toHaveBeenCalledWith(expect.any(String), expect.objectContaining({
54
- searchParams: expect.objectContaining({
55
- limit: "50",
56
- }),
57
- }));
58
- });
59
- });
60
- describe("empty implementation IDs handling", () => {
61
- it("should fetch all apps when no implementationIds and no search", async () => {
62
- const mockResponse = {
63
- count: 2,
64
- results: [
65
- mockImplementation("SlackCLIAPI@1.0.0", "Slack"),
66
- mockImplementation("GitHubCLIAPI@1.0.0", "GitHub"),
67
- ],
68
- };
69
- const mockHttpClient = {
70
- get: vi.fn().mockResolvedValue(mockResponse),
71
- };
72
- const result = await handleListApps({
73
- request: {
74
- implementationIds: [],
75
- search: undefined,
76
- pageSize: undefined,
77
- cursor: undefined,
78
- },
79
- deps: { httpClient: mockHttpClient },
80
- });
81
- expect(result.data).toHaveLength(2);
82
- expect(mockHttpClient.get).toHaveBeenCalledWith("/zapier/api/v4/implementations-meta/lookup/", expect.objectContaining({
83
- searchParams: expect.objectContaining({
84
- latest_only: "true",
85
- selected_apis: "",
86
- }),
87
- }));
88
- });
89
- it("should return empty when search finds nothing (bug fix)", async () => {
90
- const mockSearchResponse = {
91
- count: 0,
92
- results: [],
93
- };
94
- const mockHttpClient = {
95
- get: vi.fn().mockResolvedValue(mockSearchResponse),
96
- };
97
- const result = await handleListApps({
98
- request: {
99
- implementationIds: [],
100
- search: "NonexistentApp",
101
- pageSize: undefined,
102
- cursor: undefined,
103
- },
104
- deps: { httpClient: mockHttpClient },
105
- });
106
- // Should only call search endpoint
107
- expect(mockHttpClient.get).toHaveBeenCalledTimes(1);
108
- expect(mockHttpClient.get).toHaveBeenCalledWith("/zapier/api/v4/implementations-meta/search/", expect.objectContaining({
109
- searchParams: { term: "NonexistentApp" },
110
- }));
111
- // Should return empty (bug fix - not all apps)
112
- expect(result.data).toHaveLength(0);
113
- expect(result.nextCursor).toBeUndefined();
114
- });
115
- });
116
- describe("search augmentation", () => {
117
- it("should augment results with search when search term provided", async () => {
118
- const mockSearchResponse = {
119
- count: 1,
120
- results: [mockImplementation("SlackCLIAPI@1.0.0", "Slack")],
121
- };
122
- const mockLookupResponse = {
123
- count: 2,
124
- results: [
125
- mockImplementation("GitHubCLIAPI@1.0.0", "GitHub"),
126
- mockImplementation("SlackCLIAPI@1.0.0", "Slack"),
127
- ],
128
- next: null,
129
- };
130
- const mockHttpClient = {
131
- get: vi
132
- .fn()
133
- .mockResolvedValueOnce(mockSearchResponse) // First call: search
134
- .mockResolvedValueOnce(mockLookupResponse), // Second call: lookup
135
- };
136
- const result = await handleListApps({
137
- request: {
138
- implementationIds: ["GitHubCLIAPI@1.0.0"],
139
- search: "Slack",
140
- pageSize: undefined,
141
- cursor: undefined,
142
- },
143
- deps: { httpClient: mockHttpClient },
144
- });
145
- // Should call both search and lookup
146
- expect(mockHttpClient.get).toHaveBeenCalledTimes(2);
147
- expect(mockHttpClient.get).toHaveBeenNthCalledWith(1, "/zapier/api/v4/implementations-meta/search/", expect.objectContaining({
148
- searchParams: { term: "Slack" },
149
- }));
150
- expect(mockHttpClient.get).toHaveBeenNthCalledWith(2, "/zapier/api/v4/implementations-meta/lookup/", expect.objectContaining({
151
- searchParams: expect.objectContaining({
152
- selected_apis: "GitHubCLIAPI@1.0.0,SlackCLIAPI@1.0.0",
153
- }),
154
- }));
155
- expect(result.data).toHaveLength(2);
156
- });
157
- it("should not duplicate apps when search returns apps already in implementationIds", async () => {
158
- const mockSearchResponse = {
159
- count: 1,
160
- results: [mockImplementation("SlackCLIAPI@1.0.0", "Slack")],
161
- };
162
- const mockLookupResponse = {
163
- count: 1,
164
- results: [mockImplementation("SlackCLIAPI@1.0.0", "Slack")],
165
- next: null,
166
- };
167
- const mockHttpClient = {
168
- get: vi
169
- .fn()
170
- .mockResolvedValueOnce(mockSearchResponse)
171
- .mockResolvedValueOnce(mockLookupResponse),
172
- };
173
- await handleListApps({
174
- request: {
175
- implementationIds: ["SlackCLIAPI@1.0.0"],
176
- search: "Slack",
177
- pageSize: undefined,
178
- cursor: undefined,
179
- },
180
- deps: { httpClient: mockHttpClient },
181
- });
182
- // Should call search and lookup but deduplicate IDs
183
- expect(mockHttpClient.get).toHaveBeenCalledTimes(2);
184
- expect(mockHttpClient.get).toHaveBeenNthCalledWith(2, "/zapier/api/v4/implementations-meta/lookup/", expect.objectContaining({
185
- searchParams: expect.objectContaining({
186
- selected_apis: "SlackCLIAPI@1.0.0",
187
- }),
188
- }));
189
- });
190
- it("should prefer public version when search returns multiple versions of same app", async () => {
191
- // Simulates a user having access to both private (1.0.17) and public (1.1.0) versions
192
- const mockSearchResponse = {
193
- count: 2,
194
- results: [
195
- mockImplementation("LumAppsCLIAPI@1.0.17", "LumApps (1.0.17)", "private"),
196
- mockImplementation("LumAppsCLIAPI@1.1.0", "LumApps", "public"),
197
- ],
198
- };
199
- const mockLookupResponse = {
200
- count: 1,
201
- results: [
202
- mockImplementation("LumAppsCLIAPI@1.1.0", "LumApps", "public"),
203
- ],
204
- next: null,
205
- };
206
- const mockHttpClient = {
207
- get: vi
208
- .fn()
209
- .mockResolvedValueOnce(mockSearchResponse)
210
- .mockResolvedValueOnce(mockLookupResponse),
211
- };
212
- await handleListApps({
213
- request: {
214
- implementationIds: [],
215
- search: "lumapps",
216
- pageSize: undefined,
217
- cursor: undefined,
218
- },
219
- deps: { httpClient: mockHttpClient },
220
- });
221
- // Should request the public version (1.1.0), not the private one (1.0.17)
222
- expect(mockHttpClient.get).toHaveBeenNthCalledWith(2, "/zapier/api/v4/implementations-meta/lookup/", expect.objectContaining({
223
- searchParams: expect.objectContaining({
224
- selected_apis: "LumAppsCLIAPI@1.1.0",
225
- }),
226
- }));
227
- });
228
- });
229
- describe("specific implementation IDs", () => {
230
- it("should fetch specific apps when implementationIds provided", async () => {
231
- const mockResponse = {
232
- count: 2,
233
- results: [
234
- mockImplementation("SlackCLIAPI@1.0.0", "Slack"),
235
- mockImplementation("GitHubCLIAPI@1.0.0", "GitHub"),
236
- ],
237
- };
238
- const mockHttpClient = {
239
- get: vi.fn().mockResolvedValue(mockResponse),
240
- };
241
- const result = await handleListApps({
242
- request: {
243
- implementationIds: ["SlackCLIAPI@1.0.0", "GitHubCLIAPI@1.0.0"],
244
- search: undefined,
245
- pageSize: undefined,
246
- cursor: undefined,
247
- },
248
- deps: { httpClient: mockHttpClient },
249
- });
250
- expect(result.data).toHaveLength(2);
251
- expect(mockHttpClient.get).toHaveBeenCalledWith("/zapier/api/v4/implementations-meta/lookup/", expect.objectContaining({
252
- searchParams: expect.objectContaining({
253
- selected_apis: "SlackCLIAPI@1.0.0,GitHubCLIAPI@1.0.0",
254
- }),
255
- }));
256
- });
257
- });
258
- describe("pagination", () => {
259
- it("should pass cursor to API when provided", async () => {
260
- const mockResponse = {
261
- count: 0,
262
- results: [],
263
- };
264
- const mockHttpClient = {
265
- get: vi.fn().mockResolvedValue(mockResponse),
266
- };
267
- await handleListApps({
268
- request: {
269
- implementationIds: ["SlackCLIAPI@1.0.0"],
270
- search: undefined,
271
- pageSize: undefined,
272
- cursor: "page-2-cursor",
273
- },
274
- deps: { httpClient: mockHttpClient },
275
- });
276
- expect(mockHttpClient.get).toHaveBeenCalledWith(expect.any(String), expect.objectContaining({
277
- searchParams: expect.objectContaining({
278
- offset: "page-2-cursor",
279
- }),
280
- }));
281
- });
282
- it("should extract nextCursor from response", async () => {
283
- const mockResponse = {
284
- count: 1,
285
- results: [mockImplementation("SlackCLIAPI@1.0.0", "Slack")],
286
- next: "https://api.zapier.com/v4/implementations-meta/lookup/?offset=next-page",
287
- };
288
- const mockHttpClient = {
289
- get: vi.fn().mockResolvedValue(mockResponse),
290
- };
291
- const result = await handleListApps({
292
- request: {
293
- implementationIds: [],
294
- search: undefined,
295
- pageSize: undefined,
296
- cursor: undefined,
297
- },
298
- deps: { httpClient: mockHttpClient },
299
- });
300
- expect(result.nextCursor).toBe("next-page");
301
- });
302
- });
303
- describe("request validation", () => {
304
- it("should reject request with invalid implementationIds type", async () => {
305
- const mockHttpClient = {
306
- get: vi.fn(),
307
- };
308
- const invalidRequest = {
309
- implementationIds: "not-an-array",
310
- search: undefined,
311
- pageSize: undefined,
312
- cursor: undefined,
313
- };
314
- const deps = {
315
- httpClient: mockHttpClient,
316
- };
317
- await expect(handleListApps({ request: invalidRequest, deps })).rejects.toThrow();
318
- });
319
- it("should reject request with negative pageSize", async () => {
320
- const mockHttpClient = {
321
- get: vi.fn(),
322
- };
323
- const invalidRequest = {
324
- implementationIds: [],
325
- search: undefined,
326
- pageSize: -1,
327
- cursor: undefined,
328
- };
329
- const deps = {
330
- httpClient: mockHttpClient,
331
- };
332
- await expect(handleListApps({ request: invalidRequest, deps })).rejects.toThrow();
333
- });
334
- });
335
- describe("response validation", () => {
336
- it("should return response matching ListAppsResponseSchema", async () => {
337
- const mockHttpClient = {
338
- get: vi.fn().mockResolvedValue({
339
- count: 1,
340
- results: [
341
- {
342
- id: "SlackCLIAPI@1.0.0",
343
- name: "SlackCLIAPI",
344
- slug: "slack",
345
- description: "Slack app",
346
- primary_color: "#000000",
347
- },
348
- ],
349
- }),
350
- };
351
- const request = {
352
- implementationIds: [],
353
- search: undefined,
354
- pageSize: 20,
355
- cursor: undefined,
356
- };
357
- const deps = {
358
- httpClient: mockHttpClient,
359
- };
360
- const result = await handleListApps({ request, deps });
361
- expect(() => ListAppsResponseSchema.parse(result)).not.toThrow();
362
- expect(result).toHaveProperty("data");
363
- expect(Array.isArray(result.data)).toBe(true);
364
- expect(result).toHaveProperty("nextCursor");
365
- });
366
- });
367
- });
@@ -1,18 +0,0 @@
1
- /**
2
- * temporary-internal-core
3
- *
4
- * Temporary internal directory for SDK core API extraction.
5
- * This will be extracted and moved to @sdkapi/ as @zapier/zapier-sdk-core.
6
- *
7
- * Purpose:
8
- * - Single source of truth for SDK API schemas
9
- * - Zod schemas for request/response shapes
10
- * - API endpoint contracts
11
- * - Lives inside zapier-sdk during extraction/migration (bundles when published)
12
- * - Will be extracted to separate package
13
- */
14
- export type { HandlerDeps, Handler, ValidatedHandler } from "./types";
15
- export * from "./schemas/apps";
16
- export * from "./schemas/implementations";
17
- export { handleListApps, type ListAppsHandlerDeps } from "./handlers/listApps";
18
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/temporary-internal-core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGtE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * temporary-internal-core
3
- *
4
- * Temporary internal directory for SDK core API extraction.
5
- * This will be extracted and moved to @sdkapi/ as @zapier/zapier-sdk-core.
6
- *
7
- * Purpose:
8
- * - Single source of truth for SDK API schemas
9
- * - Zod schemas for request/response shapes
10
- * - API endpoint contracts
11
- * - Lives inside zapier-sdk during extraction/migration (bundles when published)
12
- * - Will be extracted to separate package
13
- */
14
- // Schemas
15
- export * from "./schemas/apps";
16
- export * from "./schemas/implementations";
17
- // Handlers
18
- export { handleListApps } from "./handlers/listApps";