@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
package/dist/sdk.d.ts DELETED
@@ -1,146 +0,0 @@
1
- import type { BaseSdkOptions } from "./types/sdk";
2
- import type { ZapierSdk } from "./types/sdk";
3
- import type { Sdk, Plugin, ExtractContextProperties, ExtractSdkProperties, PluginProvides, PluginMeta } from "./types/plugin";
4
- export interface ZapierSdkOptions extends BaseSdkOptions {
5
- }
6
- export declare function createSdk<TCurrentSdk = {}, TCurrentContext extends {
7
- meta: Record<string, PluginMeta>;
8
- } = {
9
- meta: Record<string, PluginMeta>;
10
- }>(options?: ZapierSdkOptions, initialSdk?: TCurrentSdk, initialContext?: TCurrentContext): TCurrentSdk & {
11
- getContext: () => TCurrentContext;
12
- addPlugin<TRequiresContext, TProvides extends PluginProvides>(plugin: Plugin<TCurrentSdk & {
13
- getContext(): TCurrentContext;
14
- }, TRequiresContext, TProvides>, addPluginOptions?: Record<string, unknown>): Sdk<TCurrentSdk & ExtractSdkProperties<TProvides>, TCurrentContext & NonNullable<ExtractContextProperties<TProvides>>>;
15
- };
16
- export declare function createZapierSdkWithoutRegistry(options?: ZapierSdkOptions): Sdk<ExtractSdkProperties<import("./plugins/eventEmission").EventEmissionProvides> & ExtractSdkProperties<import(".").ApiPluginProvides> & ExtractSdkProperties<import(".").ManifestPluginProvides> & ExtractSdkProperties<import(".").ListAppsPluginProvides> & ExtractSdkProperties<import(".").GetAppPluginProvides> & ExtractSdkProperties<import(".").ListActionsPluginProvides> & ExtractSdkProperties<import(".").GetActionPluginProvides> & ExtractSdkProperties<import(".").ListInputFieldsPluginProvides> & ExtractSdkProperties<import("./plugins/getInputFieldsSchema").GetInputFieldsSchemaPluginProvides> & ExtractSdkProperties<import("./plugins/listInputFieldChoices").ListInputFieldChoicesPluginProvides> & ExtractSdkProperties<import(".").RunActionPluginProvides> & ExtractSdkProperties<import(".").ListAuthenticationsPluginProvides> & ExtractSdkProperties<import(".").GetAuthenticationPluginProvides> & ExtractSdkProperties<import(".").FindFirstAuthenticationPluginProvides> & ExtractSdkProperties<import(".").FindUniqueAuthenticationPluginProvides> & ExtractSdkProperties<import(".").RequestPluginProvides> & ExtractSdkProperties<import(".").FetchPluginProvides> & ExtractSdkProperties<import(".").AppsPluginProvides> & ExtractSdkProperties<import(".").GetProfilePluginProvides>, {
17
- meta: Record<string, PluginMeta>;
18
- } & import(".").EventEmissionContext & {
19
- api: import("./api").ApiClient;
20
- } & {
21
- getVersionedImplementationId: import("./plugins/manifest/schemas").GetVersionedImplementationId;
22
- resolveAppKeys: import("./plugins/manifest/schemas").ResolveAppKeys;
23
- updateManifestEntry: (options: import(".").UpdateManifestEntryOptions) => Promise<import(".").UpdateManifestEntryResult>;
24
- addActionEntry: (options: import(".").AddActionEntryOptions) => Promise<import(".").AddActionEntryResult>;
25
- findActionEntry: (options: {
26
- name: string;
27
- manifest: import(".").Manifest;
28
- }) => import(".").ActionEntry | null;
29
- listActionEntries: (options?: {
30
- configPath?: string;
31
- }) => Promise<Array<[string, import(".").ActionEntry]>>;
32
- deleteActionEntry: (options: {
33
- name: string;
34
- configPath?: string;
35
- skipWrite?: boolean;
36
- }) => Promise<import(".").Manifest>;
37
- hasActionEntry: (options: {
38
- name: string;
39
- manifest: import(".").Manifest;
40
- }) => boolean;
41
- findManifestEntry: (options: {
42
- appKey: string;
43
- manifest: import(".").Manifest;
44
- }) => [string, import(".").ManifestEntry] | null;
45
- readManifestFromFile: (filePath: string) => Promise<import(".").Manifest | null>;
46
- } & {
47
- meta: {
48
- listApps: {
49
- inputSchema: typeof import("./temporary-internal-core").ListAppsOptionsSchema;
50
- };
51
- };
52
- } & {
53
- meta: {
54
- getApp: {
55
- inputSchema: typeof import("./plugins/getApp/schemas").GetAppSchema;
56
- };
57
- };
58
- } & {
59
- meta: {
60
- listActions: {
61
- inputSchema: typeof import("./plugins/listActions/schemas").ListActionsSchema;
62
- };
63
- };
64
- } & {
65
- meta: {
66
- getAction: {
67
- inputSchema: typeof import("./plugins/getAction/schemas").GetActionSchema;
68
- };
69
- };
70
- } & {
71
- meta: {
72
- listInputFields: {
73
- inputSchema: typeof import("./plugins/listInputFields/schemas").ListInputFieldsSchema;
74
- };
75
- };
76
- } & {
77
- meta: {
78
- getInputFieldsSchema: {
79
- inputSchema: typeof import("./plugins/getInputFieldsSchema/schemas").GetInputFieldsSchemaSchema;
80
- };
81
- };
82
- } & {
83
- meta: {
84
- listInputFieldChoices: {
85
- inputSchema: typeof import("./plugins/listInputFieldChoices/schemas").ListInputFieldChoicesSchema;
86
- };
87
- };
88
- } & {
89
- meta: {
90
- runAction: {
91
- inputSchema: typeof import("./plugins/runAction/schemas").RunActionSchema;
92
- };
93
- };
94
- } & {
95
- meta: {
96
- listAuthentications: {
97
- inputSchema: typeof import("./plugins/listAuthentications/schemas").ListAuthenticationsQuerySchema;
98
- };
99
- };
100
- } & {
101
- meta: {
102
- getAuthentication: {
103
- inputSchema: import("zod").ZodObject<{
104
- authenticationId: import("zod").ZodString;
105
- }, import("zod/v4/core").$strip>;
106
- };
107
- };
108
- } & {
109
- meta: {
110
- findFirstAuthentication: {
111
- inputSchema: typeof import("./plugins/findFirstAuthentication/schemas").FindFirstAuthenticationSchema;
112
- };
113
- };
114
- } & {
115
- meta: {
116
- findUniqueAuthentication: {
117
- inputSchema: typeof import("./plugins/findUniqueAuthentication/schemas").FindUniqueAuthenticationSchema;
118
- };
119
- };
120
- } & {
121
- meta: {
122
- request: {
123
- inputSchema: typeof import(".").RelayRequestSchema;
124
- };
125
- };
126
- } & {
127
- meta: {
128
- fetch: {
129
- packages: string[];
130
- categories: string[];
131
- returnType: string;
132
- inputParameters: Array<{
133
- name: string;
134
- schema: import("zod").ZodType;
135
- }>;
136
- };
137
- };
138
- } & {
139
- meta: {
140
- getProfile: {
141
- inputSchema: typeof import("./plugins/getProfile/schemas").GetProfileSchema;
142
- };
143
- };
144
- }>;
145
- export declare function createZapierSdk(options?: ZapierSdkOptions): ZapierSdk;
146
- //# sourceMappingURL=sdk.d.ts.map
package/dist/sdk.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EACV,GAAG,EACH,MAAM,EACN,wBAAwB,EACxB,oBAAoB,EACpB,cAAc,EACd,UAAU,EACX,MAAM,gBAAgB,CAAC;AA2BxB,MAAM,WAAW,gBAAiB,SAAQ,cAAc;CAAG;AAG3D,wBAAgB,SAAS,CACvB,WAAW,GAAG,EAAE,EAChB,eAAe,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAAE,GAAG;IAC7D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAClC,EAED,OAAO,GAAE,gBAAqB,EAC9B,UAAU,GAAE,WAA+B,EAC3C,cAAc,GAAE,eAAiD;;cAKrD,gBAAgB,EAAE,SAAS,SAAS,cAAc,UAClD,MAAM,CACZ,WAAW,GAAG;QAAE,UAAU,IAAI,eAAe,CAAA;KAAE,EAC/C,gBAAgB,EAChB,SAAS,CACV,qBACiB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC,GAAG,CACJ,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,EAC7C,eAAe,GAAG,WAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CACnE;EA8DJ;AAED,wBAAgB,8BAA8B,CAAC,OAAO,GAAE,gBAAqB;UApFnE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;;;;;;;;;;;;+BAD2B,CAAC;kBAC/C,CAAC;;;;kBAKG,CAAC;iBAAyB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuH/C;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,CAMzE"}
package/dist/sdk.js DELETED
@@ -1,112 +0,0 @@
1
- // Import plugin functions
2
- import { appsPlugin } from "./plugins/apps/index";
3
- import { fetchPlugin } from "./plugins/fetch/index";
4
- import { registryPlugin } from "./plugins/registry/index";
5
- import { apiPlugin } from "./plugins/api/index";
6
- import { getProfilePlugin } from "./plugins/getProfile";
7
- import { listAppsPlugin } from "./plugins/listApps";
8
- import { getAppPlugin } from "./plugins/getApp";
9
- import { listActionsPlugin } from "./plugins/listActions";
10
- import { getActionPlugin } from "./plugins/getAction";
11
- import { runActionPlugin } from "./plugins/runAction";
12
- import { listAuthenticationsPlugin } from "./plugins/listAuthentications";
13
- import { getAuthenticationPlugin } from "./plugins/getAuthentication";
14
- import { findFirstAuthenticationPlugin } from "./plugins/findFirstAuthentication";
15
- import { findUniqueAuthenticationPlugin } from "./plugins/findUniqueAuthentication";
16
- import { listInputFieldsPlugin } from "./plugins/listInputFields";
17
- import { getInputFieldsSchemaPlugin } from "./plugins/getInputFieldsSchema";
18
- import { listInputFieldChoicesPlugin } from "./plugins/listInputFieldChoices";
19
- import { requestPlugin } from "./plugins/request";
20
- import { manifestPlugin } from "./plugins/manifest";
21
- import { eventEmissionPlugin } from "./plugins/eventEmission";
22
- // Create SDK that supports flat plugins - returns an SDK, not a builder
23
- export function createSdk(options = {}, initialSdk = {}, initialContext = { meta: {} }) {
24
- return {
25
- ...initialSdk,
26
- getContext: () => initialContext,
27
- addPlugin(plugin, addPluginOptions = {}) {
28
- // Create SDK with getContext method for plugins to use
29
- const currentSdkWithContext = {
30
- ...initialSdk,
31
- getContext: () => initialContext,
32
- };
33
- // Apply the plugin with options merged in
34
- const pluginResult = plugin({
35
- sdk: currentSdkWithContext,
36
- context: {
37
- ...initialContext,
38
- // Add the options that createSdk was called with to context
39
- options,
40
- },
41
- ...addPluginOptions,
42
- });
43
- // Extract context from plugin result if present
44
- const { context: pluginContext, ...sdkProperties } = pluginResult;
45
- // Merge SDK properties directly (flat structure)
46
- const newSdk = { ...initialSdk, ...sdkProperties };
47
- // Merge context additions if plugin returned any
48
- // Ensure meta is always present, starting with existing or empty object
49
- let newContext = {
50
- ...initialContext,
51
- ...addPluginOptions,
52
- meta: initialContext.meta || {},
53
- };
54
- if (pluginContext) {
55
- // Extract meta from plugin context for special merging
56
- const { meta: pluginMeta, ...otherPluginContext } = pluginContext;
57
- newContext = {
58
- ...newContext,
59
- ...otherPluginContext,
60
- };
61
- // Merge meta separately to avoid overwriting
62
- if (pluginMeta) {
63
- newContext = {
64
- ...newContext,
65
- meta: {
66
- ...newContext.meta, // Existing meta (now guaranteed to exist)
67
- ...pluginMeta, // New meta from plugin
68
- },
69
- };
70
- }
71
- }
72
- // Recursively create new SDK with updated properties
73
- return createSdk(options, newSdk, newContext);
74
- },
75
- };
76
- }
77
- export function createZapierSdkWithoutRegistry(options = {}) {
78
- return (createSdk(options)
79
- // Event emission (must be first to be available to other plugins)
80
- .addPlugin(eventEmissionPlugin)
81
- // Provides the API client in context
82
- .addPlugin(apiPlugin)
83
- // Manifest plugin (provides version locking context) - must come after apiPlugin
84
- .addPlugin(manifestPlugin)
85
- // Apps/actions/fields
86
- .addPlugin(listAppsPlugin)
87
- .addPlugin(getAppPlugin)
88
- .addPlugin(listActionsPlugin)
89
- .addPlugin(getActionPlugin)
90
- .addPlugin(listInputFieldsPlugin)
91
- .addPlugin(getInputFieldsSchemaPlugin)
92
- .addPlugin(listInputFieldChoicesPlugin)
93
- // Run action
94
- .addPlugin(runActionPlugin)
95
- // Authentications
96
- .addPlugin(listAuthenticationsPlugin)
97
- .addPlugin(getAuthenticationPlugin)
98
- .addPlugin(findFirstAuthenticationPlugin)
99
- .addPlugin(findUniqueAuthenticationPlugin)
100
- // Relay fetching
101
- .addPlugin(requestPlugin)
102
- .addPlugin(fetchPlugin)
103
- // Magic apps plugin
104
- .addPlugin(appsPlugin)
105
- // Profile
106
- .addPlugin(getProfilePlugin));
107
- }
108
- export function createZapierSdk(options = {}) {
109
- return (createZapierSdkWithoutRegistry(options)
110
- // Register plugins for CLI/MCP metadata
111
- .addPlugin(registryPlugin));
112
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sdk.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdk.test.d.ts","sourceRoot":"","sources":["../src/sdk.test.ts"],"names":[],"mappings":""}
package/dist/sdk.test.js DELETED
@@ -1,255 +0,0 @@
1
- // Test the flat plugin system
2
- import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
3
- import { createZapierSdk, createSdk } from "./sdk";
4
- describe("Flat Plugin System", () => {
5
- it("should create SDK with all expected methods", () => {
6
- const sdk = createZapierSdk();
7
- // Test that all core methods are available
8
- expect(sdk.listApps).toBeDefined();
9
- expect(sdk.listAuthentications).toBeDefined();
10
- expect(sdk.getAuthentication).toBeDefined();
11
- expect(sdk.runAction).toBeDefined();
12
- expect(sdk.request).toBeDefined();
13
- // Test that plugin methods are available
14
- expect(sdk.fetch).toBeDefined();
15
- expect(sdk.apps).toBeDefined();
16
- expect(sdk.getProfile).toBeDefined();
17
- // Test that getContext method is available
18
- expect(sdk.getContext).toBeDefined();
19
- expect(typeof sdk.getContext).toBe("function");
20
- });
21
- it("should have getContext method that returns context", () => {
22
- const sdk = createZapierSdk();
23
- const context = sdk.getContext(); // Type assertion to work around complex context inference
24
- // Context should be an object
25
- expect(typeof context).toBe("object");
26
- expect(context).not.toBeNull();
27
- // Context should have some properties (specific properties depend on plugin composition)
28
- expect(Object.keys(context).length).toBeGreaterThan(0);
29
- // Should have meta object
30
- expect(context.meta).toBeDefined();
31
- expect(typeof context.meta).toBe("object");
32
- // Should have getProfile metadata from the plugin (verify it exists in meta)
33
- expect("getProfile" in context.meta).toBe(true);
34
- expect(context.meta.getProfile).toBeDefined();
35
- expect(context.meta.getProfile.inputSchema).toBeDefined();
36
- });
37
- it("should have plugins return flat structure", () => {
38
- const sdk = createZapierSdk();
39
- // fetch should be directly available (not sdk.plugins.fetch or sdk.fetch.fetch)
40
- expect(typeof sdk.fetch).toBe("function");
41
- // apps should be directly available
42
- expect(typeof sdk.apps).toBe("object");
43
- // getProfile should be directly available
44
- expect(typeof sdk.getProfile).toBe("function");
45
- });
46
- it("should support fluent plugin chaining with createSdk", () => {
47
- // Test that createSdk().addPlugin().addPlugin() works and returns properly typed SDK
48
- const testPlugin = () => ({
49
- testMethod: () => "test result",
50
- });
51
- const sdk = createSdk().addPlugin(testPlugin);
52
- // Should have getContext method
53
- expect(typeof sdk.getContext).toBe("function");
54
- // Should have addPlugin method for further chaining
55
- expect(typeof sdk.addPlugin).toBe("function");
56
- // Should have the plugin method
57
- expect(typeof sdk.testMethod).toBe("function");
58
- expect(sdk.testMethod()).toBe("test result");
59
- });
60
- it("should support fluent plugin chaining without .getSdk()", () => {
61
- // This demonstrates the simplified API - no .getSdk() needed!
62
- const plugin1 = () => ({ method1: () => "method1" });
63
- const plugin2 = () => ({ method2: () => "method2" });
64
- // Fluent chaining - each addPlugin returns a new SDK
65
- const sdk = createSdk().addPlugin(plugin1).addPlugin(plugin2);
66
- expect(sdk.method1()).toBe("method1");
67
- expect(sdk.method2()).toBe("method2");
68
- expect(typeof sdk.getContext).toBe("function");
69
- expect(typeof sdk.addPlugin).toBe("function"); // Can still add more plugins!
70
- });
71
- it("should support plugins with options", () => {
72
- // Test that addPlugin(pluginFn, options) works correctly
73
- const pluginWithOptions = (params) => ({
74
- getMessage: () => params.message,
75
- });
76
- const sdk = createSdk().addPlugin(pluginWithOptions, {
77
- message: "Hello from options!",
78
- });
79
- expect(typeof sdk.getMessage).toBe("function");
80
- expect(sdk.getMessage()).toBe("Hello from options!");
81
- });
82
- it("should merge context.meta from multiple plugins", () => {
83
- // Test that multiple plugins can provide meta without overwriting each other
84
- const plugin1 = () => ({
85
- method1: () => "method1",
86
- context: {
87
- meta: {
88
- plugin1: { info: "Plugin 1 metadata" },
89
- },
90
- },
91
- });
92
- const plugin2 = () => ({
93
- method2: () => "method2",
94
- context: {
95
- meta: {
96
- plugin2: { info: "Plugin 2 metadata" },
97
- },
98
- },
99
- });
100
- const sdk = createSdk().addPlugin(plugin1).addPlugin(plugin2);
101
- const context = sdk.getContext();
102
- // Both plugins should have their meta preserved
103
- expect(context.meta.plugin1.info).toBe("Plugin 1 metadata");
104
- expect(context.meta.plugin2.info).toBe("Plugin 2 metadata");
105
- // Both methods should work
106
- expect(sdk.method1()).toBe("method1");
107
- expect(sdk.method2()).toBe("method2");
108
- });
109
- it("should support context requirements for cleaner plugin definitions", () => {
110
- // Test context requirements work correctly
111
- const pluginWithHelper = ({ sdk, context }) => ({
112
- helperMethod: () => `Helper: ${sdk.existingMethod()} + ${context.customContext}`,
113
- });
114
- const baseSdk = { existingMethod: () => "base" };
115
- const baseContext = { customContext: "custom", meta: {} };
116
- const sdk = createSdk({}, baseSdk, baseContext).addPlugin(pluginWithHelper);
117
- expect(sdk.helperMethod()).toBe("Helper: base + custom");
118
- expect(sdk.existingMethod()).toBe("base"); // Original method still works
119
- });
120
- it("should ensure context.meta is always available", () => {
121
- // Test that context.meta is always at least an empty object, even without explicit initialization
122
- const plugin = ({ context }) => ({
123
- testMethod: () => `Meta keys: ${Object.keys(context.meta).length}`,
124
- });
125
- // Create SDK without explicitly providing meta
126
- const sdk = createSdk({}).addPlugin(plugin);
127
- // Should work without error - meta should be at least an empty object
128
- expect(sdk.testMethod()).toBe("Meta keys: 0");
129
- // getContext() should also provide meta
130
- const context = sdk.getContext();
131
- expect(context.meta).toBeDefined();
132
- expect(typeof context.meta).toBe("object");
133
- expect(context.meta).not.toBeNull();
134
- });
135
- });
136
- describe("Environment Variable Support", () => {
137
- let originalEnv;
138
- beforeEach(() => {
139
- // Save original environment variable
140
- originalEnv = process.env.ZAPIER_BASE_URL;
141
- });
142
- afterEach(() => {
143
- // Restore original environment variable
144
- if (originalEnv !== undefined) {
145
- process.env.ZAPIER_BASE_URL = originalEnv;
146
- }
147
- else {
148
- delete process.env.ZAPIER_BASE_URL;
149
- }
150
- // Clear module cache to ensure constants are re-evaluated
151
- vi.resetModules();
152
- });
153
- it("should use custom base URL from ZAPIER_BASE_URL environment variable", async () => {
154
- // Set custom base URL via environment variable
155
- const customBaseUrl = "https://custom-zapier.example.com";
156
- process.env.ZAPIER_BASE_URL = customBaseUrl;
157
- // Clear module cache and re-import to get fresh constants
158
- vi.resetModules();
159
- const { createZapierSdk } = await import("./sdk");
160
- // Create mock fetch function to capture requests
161
- const mockFetch = vi.fn().mockResolvedValue({
162
- ok: true,
163
- status: 200,
164
- json: async () => ({
165
- results: [],
166
- meta: { next_cursor: null },
167
- }),
168
- headers: new Headers(),
169
- });
170
- // Create SDK instance with mock fetch
171
- const sdk = createZapierSdk({
172
- token: "test-token",
173
- fetch: mockFetch,
174
- });
175
- // Make an API call that should use the custom base URL
176
- await sdk.listApps();
177
- // Verify that the request was made to the custom base URL
178
- expect(mockFetch).toHaveBeenCalledTimes(1);
179
- const [actualUrl] = mockFetch.mock.calls[0];
180
- expect(actualUrl).toMatch(new RegExp(`^${customBaseUrl}`));
181
- expect(actualUrl).toContain("/api/v4/");
182
- });
183
- it("should use default base URL when ZAPIER_BASE_URL is not set", async () => {
184
- // Ensure environment variable is not set
185
- delete process.env.ZAPIER_BASE_URL;
186
- // Clear module cache and re-import to get fresh constants
187
- vi.resetModules();
188
- const { createZapierSdk } = await import("./sdk");
189
- // Create mock fetch function to capture requests
190
- const mockFetch = vi.fn().mockResolvedValue({
191
- ok: true,
192
- status: 200,
193
- json: async () => ({
194
- results: [],
195
- meta: { next_cursor: null },
196
- }),
197
- headers: new Headers(),
198
- });
199
- // Create SDK instance with mock fetch
200
- const sdk = createZapierSdk({
201
- token: "test-token",
202
- fetch: mockFetch,
203
- });
204
- // Make an API call that should use the default base URL
205
- await sdk.listApps();
206
- // Verify that the request was made to the default base URL
207
- expect(mockFetch).toHaveBeenCalledTimes(1);
208
- const [actualUrl] = mockFetch.mock.calls[0];
209
- expect(actualUrl).toMatch(/^https:\/\/sdkapi\.zapier\.com/);
210
- expect(actualUrl).toContain("/api/v4/");
211
- });
212
- it("should use explicit baseUrl option for SDK API requests", async () => {
213
- // Clear environment variable to ensure we're testing the explicit option
214
- delete process.env.ZAPIER_BASE_URL;
215
- // Clear module cache and re-import to get fresh constants
216
- vi.resetModules();
217
- const { createZapierSdk } = await import("./sdk");
218
- const customBaseUrl = "https://staging.zapier.com";
219
- // Create mock fetch function to capture requests
220
- const mockFetch = vi.fn().mockResolvedValue({
221
- ok: true,
222
- status: 200,
223
- json: async () => ({
224
- results: [],
225
- meta: { next_cursor: null },
226
- }),
227
- headers: new Headers(),
228
- });
229
- // Create SDK instance with explicit baseUrl option and mock fetch
230
- const sdk = createZapierSdk({
231
- baseUrl: customBaseUrl,
232
- token: "test-token",
233
- fetch: mockFetch,
234
- });
235
- // Make an API call that should use the custom base URL
236
- await sdk.listApps();
237
- // Verify that the request was made to the custom base URL
238
- expect(mockFetch).toHaveBeenCalledTimes(1);
239
- const [actualUrl] = mockFetch.mock.calls[0];
240
- expect(actualUrl).toMatch(new RegExp(`^${customBaseUrl}`));
241
- expect(actualUrl).toContain("/api/v4/");
242
- });
243
- it("should accept authClientId in SDK options", async () => {
244
- delete process.env.ZAPIER_BASE_URL;
245
- vi.resetModules();
246
- const { createZapierSdk } = await import("./sdk");
247
- const sdk = createZapierSdk({
248
- authClientId: "test-client-id",
249
- token: "test-token",
250
- });
251
- // Verify SDK was created successfully with authClientId option
252
- expect(sdk).toBeDefined();
253
- expect(sdk.listApps).toBeDefined();
254
- });
255
- });
@@ -1,63 +0,0 @@
1
- /**
2
- * Implementation Services
3
- *
4
- * This module provides domain-specific service functions for interacting with
5
- * the /api/v4/implementations/* endpoints. These services handle request building,
6
- * validation, error handling, and authentication for implementation-related API calls.
7
- *
8
- * Services are consumed by plugins to avoid code duplication while maintaining
9
- * separation between the generic HTTP client layer and business logic.
10
- */
11
- import type { ApiClient } from "../api";
12
- import type { NeedsResponse, NeedChoicesResponse } from "../api/types";
13
- /**
14
- * Fetches implementation needs (input fields) for a specific action.
15
- *
16
- * This service calls the /api/v4/implementations/needs/ endpoint and returns
17
- * the raw response after validating success. The response includes all field
18
- * metadata including static choices, field types, and validation rules.
19
- *
20
- * @param params - Request parameters
21
- * @param params.api - API client instance
22
- * @param params.selectedApi - Versioned implementation ID (e.g., "SlackCLIAPI@1.21.1")
23
- * @param params.action - Action key
24
- * @param params.actionType - Action type (read, write, etc.)
25
- * @param params.authenticationId - Authentication ID (null to skip authentication)
26
- * @param params.inputs - Input values that may affect available fields
27
- * @returns Promise resolving to NeedsResponse
28
- * @throws {ZapierApiError} When the API request fails or returns success: false
29
- */
30
- export declare function fetchImplementationNeeds({ api, selectedApi, action, actionType, authenticationId, inputs, }: {
31
- api: ApiClient;
32
- selectedApi: string;
33
- action: string;
34
- actionType: string;
35
- authenticationId: string | number | null;
36
- inputs?: Record<string, unknown>;
37
- }): Promise<NeedsResponse>;
38
- /**
39
- * Fetches dynamic choices for a specific input field.
40
- *
41
- * This service calls the /api/v4/implementations/choices/ endpoint and returns
42
- * the raw response after validating success. The response includes available
43
- * choices for dropdown fields with pagination support.
44
- *
45
- * @param params - Request parameters
46
- * @param params.api - API client instance
47
- * @param params.actionId - Action ID (e.g., "core:123")
48
- * @param params.inputFieldId - Input field key
49
- * @param params.authenticationId - Authentication ID (null to skip authentication)
50
- * @param params.inputs - Input values that may affect available choices
51
- * @param params.page - Page number for pagination (0-indexed)
52
- * @returns Promise resolving to NeedChoicesResponse
53
- * @throws {ZapierApiError} When the API request fails or returns success: false
54
- */
55
- export declare function fetchImplementationChoices({ api, actionId, inputFieldId, authenticationId, inputs, page, }: {
56
- api: ApiClient;
57
- actionId: string;
58
- inputFieldId: string;
59
- authenticationId: string | number | null;
60
- inputs?: Record<string, unknown>;
61
- page: number;
62
- }): Promise<NeedChoicesResponse>;
63
- //# sourceMappingURL=implementations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"implementations.d.ts","sourceRoot":"","sources":["../../src/services/implementations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAEV,aAAa,EAEb,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAItB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,wBAAwB,CAAC,EAC7C,GAAG,EACH,WAAW,EACX,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,MAAM,GACP,EAAE;IACD,GAAG,EAAE,SAAS,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,GAAG,OAAO,CAAC,aAAa,CAAC,CA4BzB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,0BAA0B,CAAC,EAC/C,GAAG,EACH,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,IAAI,GACL,EAAE;IACD,GAAG,EAAE,SAAS,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA4B/B"}
@@ -1,80 +0,0 @@
1
- /**
2
- * Implementation Services
3
- *
4
- * This module provides domain-specific service functions for interacting with
5
- * the /api/v4/implementations/* endpoints. These services handle request building,
6
- * validation, error handling, and authentication for implementation-related API calls.
7
- *
8
- * Services are consumed by plugins to avoid code duplication while maintaining
9
- * separation between the generic HTTP client layer and business logic.
10
- */
11
- import { ZapierApiError } from "../types/errors";
12
- import { coerceToNumericId } from "../utils/id-utils";
13
- /**
14
- * Fetches implementation needs (input fields) for a specific action.
15
- *
16
- * This service calls the /api/v4/implementations/needs/ endpoint and returns
17
- * the raw response after validating success. The response includes all field
18
- * metadata including static choices, field types, and validation rules.
19
- *
20
- * @param params - Request parameters
21
- * @param params.api - API client instance
22
- * @param params.selectedApi - Versioned implementation ID (e.g., "SlackCLIAPI@1.21.1")
23
- * @param params.action - Action key
24
- * @param params.actionType - Action type (read, write, etc.)
25
- * @param params.authenticationId - Authentication ID (null to skip authentication)
26
- * @param params.inputs - Input values that may affect available fields
27
- * @returns Promise resolving to NeedsResponse
28
- * @throws {ZapierApiError} When the API request fails or returns success: false
29
- */
30
- export async function fetchImplementationNeeds({ api, selectedApi, action, actionType, authenticationId, inputs, }) {
31
- const request = {
32
- selected_api: selectedApi,
33
- action,
34
- type_of: actionType,
35
- params: inputs || {},
36
- };
37
- // Only include authentication_id if it's not null (skip authentication when null)
38
- if (authenticationId !== null) {
39
- request.authentication_id = coerceToNumericId("authentication_id", authenticationId);
40
- }
41
- const response = await api.post("/zapier/api/v4/implementations/needs/", request);
42
- if (!response.success) {
43
- throw new ZapierApiError(`Failed to get input fields: ${response.errors?.join(", ") || "Unknown error"}`);
44
- }
45
- return response;
46
- }
47
- /**
48
- * Fetches dynamic choices for a specific input field.
49
- *
50
- * This service calls the /api/v4/implementations/choices/ endpoint and returns
51
- * the raw response after validating success. The response includes available
52
- * choices for dropdown fields with pagination support.
53
- *
54
- * @param params - Request parameters
55
- * @param params.api - API client instance
56
- * @param params.actionId - Action ID (e.g., "core:123")
57
- * @param params.inputFieldId - Input field key
58
- * @param params.authenticationId - Authentication ID (null to skip authentication)
59
- * @param params.inputs - Input values that may affect available choices
60
- * @param params.page - Page number for pagination (0-indexed)
61
- * @returns Promise resolving to NeedChoicesResponse
62
- * @throws {ZapierApiError} When the API request fails or returns success: false
63
- */
64
- export async function fetchImplementationChoices({ api, actionId, inputFieldId, authenticationId, inputs, page, }) {
65
- const request = {
66
- action_id: actionId,
67
- input_field_id: inputFieldId,
68
- page,
69
- params: inputs || {},
70
- };
71
- // Only include authentication_id if it's not null (skip authentication when null)
72
- if (authenticationId !== null) {
73
- request.authentication_id = coerceToNumericId("authentication_id", authenticationId);
74
- }
75
- const response = await api.post("/zapier/api/v4/implementations/choices/", request);
76
- if (!response.success) {
77
- throw new ZapierApiError(`Failed to get input field choices: ${response.errors?.join(", ") || "Unknown error"}`);
78
- }
79
- return response;
80
- }