@zapier/zapier-sdk 0.18.4 → 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 (372) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +43 -31
  3. package/dist/index.cjs +365 -64
  4. package/dist/index.d.mts +220 -33
  5. package/dist/index.d.ts +2541 -40
  6. package/dist/index.mjs +345 -63
  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.js +0 -356
  17. package/dist/api/client.test.d.ts +0 -2
  18. package/dist/api/client.test.d.ts.map +0 -1
  19. package/dist/api/client.test.js +0 -96
  20. package/dist/api/debug.d.ts +0 -14
  21. package/dist/api/debug.d.ts.map +0 -1
  22. package/dist/api/debug.js +0 -131
  23. package/dist/api/debug.test.d.ts +0 -2
  24. package/dist/api/debug.test.d.ts.map +0 -1
  25. package/dist/api/debug.test.js +0 -59
  26. package/dist/api/index.d.ts +0 -30
  27. package/dist/api/index.d.ts.map +0 -1
  28. package/dist/api/index.js +0 -43
  29. package/dist/api/polling.d.ts +0 -46
  30. package/dist/api/polling.d.ts.map +0 -1
  31. package/dist/api/polling.js +0 -139
  32. package/dist/api/polling.test.d.ts +0 -2
  33. package/dist/api/polling.test.d.ts.map +0 -1
  34. package/dist/api/polling.test.js +0 -318
  35. package/dist/api/schemas.d.ts +0 -422
  36. package/dist/api/schemas.d.ts.map +0 -1
  37. package/dist/api/schemas.js +0 -322
  38. package/dist/api/types.d.ts +0 -83
  39. package/dist/api/types.d.ts.map +0 -1
  40. package/dist/api/types.js +0 -1
  41. package/dist/auth.d.ts +0 -52
  42. package/dist/auth.d.ts.map +0 -1
  43. package/dist/auth.js +0 -72
  44. package/dist/auth.test.d.ts +0 -2
  45. package/dist/auth.test.d.ts.map +0 -1
  46. package/dist/auth.test.js +0 -102
  47. package/dist/constants.d.ts +0 -14
  48. package/dist/constants.d.ts.map +0 -1
  49. package/dist/constants.js +0 -13
  50. package/dist/index.d.ts.map +0 -1
  51. package/dist/index.js +0 -42
  52. package/dist/plugins/api/index.d.ts +0 -12
  53. package/dist/plugins/api/index.d.ts.map +0 -1
  54. package/dist/plugins/api/index.js +0 -24
  55. package/dist/plugins/apps/index.d.ts +0 -15
  56. package/dist/plugins/apps/index.d.ts.map +0 -1
  57. package/dist/plugins/apps/index.js +0 -112
  58. package/dist/plugins/apps/schemas.d.ts +0 -42
  59. package/dist/plugins/apps/schemas.d.ts.map +0 -1
  60. package/dist/plugins/apps/schemas.js +0 -14
  61. package/dist/plugins/eventEmission/builders.d.ts +0 -14
  62. package/dist/plugins/eventEmission/builders.d.ts.map +0 -1
  63. package/dist/plugins/eventEmission/builders.js +0 -109
  64. package/dist/plugins/eventEmission/index.d.ts +0 -38
  65. package/dist/plugins/eventEmission/index.d.ts.map +0 -1
  66. package/dist/plugins/eventEmission/index.js +0 -336
  67. package/dist/plugins/eventEmission/index.test.d.ts +0 -5
  68. package/dist/plugins/eventEmission/index.test.d.ts.map +0 -1
  69. package/dist/plugins/eventEmission/index.test.js +0 -581
  70. package/dist/plugins/eventEmission/transport.d.ts +0 -27
  71. package/dist/plugins/eventEmission/transport.d.ts.map +0 -1
  72. package/dist/plugins/eventEmission/transport.js +0 -104
  73. package/dist/plugins/eventEmission/transport.test.d.ts +0 -5
  74. package/dist/plugins/eventEmission/transport.test.d.ts.map +0 -1
  75. package/dist/plugins/eventEmission/transport.test.js +0 -164
  76. package/dist/plugins/eventEmission/types.d.ts +0 -63
  77. package/dist/plugins/eventEmission/types.d.ts.map +0 -1
  78. package/dist/plugins/eventEmission/types.js +0 -1
  79. package/dist/plugins/eventEmission/utils.d.ts +0 -45
  80. package/dist/plugins/eventEmission/utils.d.ts.map +0 -1
  81. package/dist/plugins/eventEmission/utils.js +0 -114
  82. package/dist/plugins/fetch/index.d.ts +0 -36
  83. package/dist/plugins/fetch/index.d.ts.map +0 -1
  84. package/dist/plugins/fetch/index.js +0 -62
  85. package/dist/plugins/fetch/schemas.d.ts +0 -19
  86. package/dist/plugins/fetch/schemas.d.ts.map +0 -1
  87. package/dist/plugins/fetch/schemas.js +0 -31
  88. package/dist/plugins/findFirstAuthentication/index.d.ts +0 -21
  89. package/dist/plugins/findFirstAuthentication/index.d.ts.map +0 -1
  90. package/dist/plugins/findFirstAuthentication/index.js +0 -36
  91. package/dist/plugins/findFirstAuthentication/index.test.d.ts +0 -2
  92. package/dist/plugins/findFirstAuthentication/index.test.d.ts.map +0 -1
  93. package/dist/plugins/findFirstAuthentication/index.test.js +0 -177
  94. package/dist/plugins/findFirstAuthentication/schemas.d.ts +0 -20
  95. package/dist/plugins/findFirstAuthentication/schemas.d.ts.map +0 -1
  96. package/dist/plugins/findFirstAuthentication/schemas.js +0 -18
  97. package/dist/plugins/findUniqueAuthentication/index.d.ts +0 -21
  98. package/dist/plugins/findUniqueAuthentication/index.d.ts.map +0 -1
  99. package/dist/plugins/findUniqueAuthentication/index.js +0 -39
  100. package/dist/plugins/findUniqueAuthentication/index.test.d.ts +0 -2
  101. package/dist/plugins/findUniqueAuthentication/index.test.d.ts.map +0 -1
  102. package/dist/plugins/findUniqueAuthentication/index.test.js +0 -159
  103. package/dist/plugins/findUniqueAuthentication/schemas.d.ts +0 -20
  104. package/dist/plugins/findUniqueAuthentication/schemas.d.ts.map +0 -1
  105. package/dist/plugins/findUniqueAuthentication/schemas.js +0 -18
  106. package/dist/plugins/getAction/index.d.ts +0 -25
  107. package/dist/plugins/getAction/index.d.ts.map +0 -1
  108. package/dist/plugins/getAction/index.js +0 -42
  109. package/dist/plugins/getAction/index.test.d.ts +0 -2
  110. package/dist/plugins/getAction/index.test.d.ts.map +0 -1
  111. package/dist/plugins/getAction/index.test.js +0 -211
  112. package/dist/plugins/getAction/schemas.d.ts +0 -30
  113. package/dist/plugins/getAction/schemas.d.ts.map +0 -1
  114. package/dist/plugins/getAction/schemas.js +0 -12
  115. package/dist/plugins/getApp/index.d.ts +0 -21
  116. package/dist/plugins/getApp/index.d.ts.map +0 -1
  117. package/dist/plugins/getApp/index.js +0 -44
  118. package/dist/plugins/getApp/index.test.d.ts +0 -2
  119. package/dist/plugins/getApp/index.test.d.ts.map +0 -1
  120. package/dist/plugins/getApp/index.test.js +0 -157
  121. package/dist/plugins/getApp/schemas.d.ts +0 -16
  122. package/dist/plugins/getApp/schemas.d.ts.map +0 -1
  123. package/dist/plugins/getApp/schemas.js +0 -8
  124. package/dist/plugins/getAuthentication/index.d.ts +0 -21
  125. package/dist/plugins/getAuthentication/index.d.ts.map +0 -1
  126. package/dist/plugins/getAuthentication/index.js +0 -29
  127. package/dist/plugins/getAuthentication/index.test.d.ts +0 -2
  128. package/dist/plugins/getAuthentication/index.test.d.ts.map +0 -1
  129. package/dist/plugins/getAuthentication/index.test.js +0 -106
  130. package/dist/plugins/getAuthentication/schemas.d.ts +0 -7
  131. package/dist/plugins/getAuthentication/schemas.d.ts.map +0 -1
  132. package/dist/plugins/getAuthentication/schemas.js +0 -1
  133. package/dist/plugins/getInputFieldsSchema/index.d.ts +0 -23
  134. package/dist/plugins/getInputFieldsSchema/index.d.ts.map +0 -1
  135. package/dist/plugins/getInputFieldsSchema/index.js +0 -53
  136. package/dist/plugins/getInputFieldsSchema/index.test.d.ts +0 -2
  137. package/dist/plugins/getInputFieldsSchema/index.test.d.ts.map +0 -1
  138. package/dist/plugins/getInputFieldsSchema/index.test.js +0 -291
  139. package/dist/plugins/getInputFieldsSchema/schemas.d.ts +0 -28
  140. package/dist/plugins/getInputFieldsSchema/schemas.d.ts.map +0 -1
  141. package/dist/plugins/getInputFieldsSchema/schemas.js +0 -13
  142. package/dist/plugins/getProfile/index.d.ts +0 -25
  143. package/dist/plugins/getProfile/index.d.ts.map +0 -1
  144. package/dist/plugins/getProfile/index.js +0 -39
  145. package/dist/plugins/getProfile/schemas.d.ts +0 -13
  146. package/dist/plugins/getProfile/schemas.d.ts.map +0 -1
  147. package/dist/plugins/getProfile/schemas.js +0 -6
  148. package/dist/plugins/listActions/index.d.ts +0 -30
  149. package/dist/plugins/listActions/index.d.ts.map +0 -1
  150. package/dist/plugins/listActions/index.js +0 -75
  151. package/dist/plugins/listActions/index.test.d.ts +0 -2
  152. package/dist/plugins/listActions/index.test.d.ts.map +0 -1
  153. package/dist/plugins/listActions/index.test.js +0 -453
  154. package/dist/plugins/listActions/schemas.d.ts +0 -35
  155. package/dist/plugins/listActions/schemas.d.ts.map +0 -1
  156. package/dist/plugins/listActions/schemas.js +0 -22
  157. package/dist/plugins/listApps/index.d.ts +0 -19
  158. package/dist/plugins/listApps/index.d.ts.map +0 -1
  159. package/dist/plugins/listApps/index.js +0 -67
  160. package/dist/plugins/listApps/index.test.d.ts +0 -2
  161. package/dist/plugins/listApps/index.test.d.ts.map +0 -1
  162. package/dist/plugins/listApps/index.test.js +0 -121
  163. package/dist/plugins/listApps/schemas.d.ts +0 -47
  164. package/dist/plugins/listApps/schemas.d.ts.map +0 -1
  165. package/dist/plugins/listApps/schemas.js +0 -49
  166. package/dist/plugins/listAuthentications/index.d.ts +0 -24
  167. package/dist/plugins/listAuthentications/index.d.ts.map +0 -1
  168. package/dist/plugins/listAuthentications/index.js +0 -77
  169. package/dist/plugins/listAuthentications/index.test.d.ts +0 -2
  170. package/dist/plugins/listAuthentications/index.test.d.ts.map +0 -1
  171. package/dist/plugins/listAuthentications/index.test.js +0 -848
  172. package/dist/plugins/listAuthentications/schemas.d.ts +0 -30
  173. package/dist/plugins/listAuthentications/schemas.d.ts.map +0 -1
  174. package/dist/plugins/listAuthentications/schemas.js +0 -32
  175. package/dist/plugins/listInputFieldChoices/index.d.ts +0 -33
  176. package/dist/plugins/listInputFieldChoices/index.d.ts.map +0 -1
  177. package/dist/plugins/listInputFieldChoices/index.js +0 -115
  178. package/dist/plugins/listInputFieldChoices/index.test.d.ts +0 -2
  179. package/dist/plugins/listInputFieldChoices/index.test.d.ts.map +0 -1
  180. package/dist/plugins/listInputFieldChoices/index.test.js +0 -717
  181. package/dist/plugins/listInputFieldChoices/schemas.d.ts +0 -43
  182. package/dist/plugins/listInputFieldChoices/schemas.d.ts.map +0 -1
  183. package/dist/plugins/listInputFieldChoices/schemas.js +0 -65
  184. package/dist/plugins/listInputFields/index.d.ts +0 -34
  185. package/dist/plugins/listInputFields/index.d.ts.map +0 -1
  186. package/dist/plugins/listInputFields/index.js +0 -204
  187. package/dist/plugins/listInputFields/index.test.d.ts +0 -2
  188. package/dist/plugins/listInputFields/index.test.d.ts.map +0 -1
  189. package/dist/plugins/listInputFields/index.test.js +0 -359
  190. package/dist/plugins/listInputFields/schemas.d.ts +0 -35
  191. package/dist/plugins/listInputFields/schemas.d.ts.map +0 -1
  192. package/dist/plugins/listInputFields/schemas.js +0 -23
  193. package/dist/plugins/manifest/index.d.ts +0 -85
  194. package/dist/plugins/manifest/index.d.ts.map +0 -1
  195. package/dist/plugins/manifest/index.js +0 -376
  196. package/dist/plugins/manifest/index.test.d.ts +0 -2
  197. package/dist/plugins/manifest/index.test.d.ts.map +0 -1
  198. package/dist/plugins/manifest/index.test.js +0 -1139
  199. package/dist/plugins/manifest/schemas.d.ts +0 -57
  200. package/dist/plugins/manifest/schemas.d.ts.map +0 -1
  201. package/dist/plugins/manifest/schemas.js +0 -50
  202. package/dist/plugins/registry/index.d.ts +0 -21
  203. package/dist/plugins/registry/index.d.ts.map +0 -1
  204. package/dist/plugins/registry/index.js +0 -117
  205. package/dist/plugins/request/index.d.ts +0 -21
  206. package/dist/plugins/request/index.d.ts.map +0 -1
  207. package/dist/plugins/request/index.js +0 -76
  208. package/dist/plugins/request/index.test.d.ts +0 -2
  209. package/dist/plugins/request/index.test.d.ts.map +0 -1
  210. package/dist/plugins/request/index.test.js +0 -337
  211. package/dist/plugins/request/schemas.d.ts +0 -54
  212. package/dist/plugins/request/schemas.d.ts.map +0 -1
  213. package/dist/plugins/request/schemas.js +0 -41
  214. package/dist/plugins/runAction/index.d.ts +0 -33
  215. package/dist/plugins/runAction/index.d.ts.map +0 -1
  216. package/dist/plugins/runAction/index.js +0 -108
  217. package/dist/plugins/runAction/index.test.d.ts +0 -2
  218. package/dist/plugins/runAction/index.test.d.ts.map +0 -1
  219. package/dist/plugins/runAction/index.test.js +0 -333
  220. package/dist/plugins/runAction/schemas.d.ts +0 -34
  221. package/dist/plugins/runAction/schemas.d.ts.map +0 -1
  222. package/dist/plugins/runAction/schemas.js +0 -23
  223. package/dist/resolvers/actionKey.d.ts +0 -15
  224. package/dist/resolvers/actionKey.d.ts.map +0 -1
  225. package/dist/resolvers/actionKey.js +0 -19
  226. package/dist/resolvers/actionType.d.ts +0 -10
  227. package/dist/resolvers/actionType.d.ts.map +0 -1
  228. package/dist/resolvers/actionType.js +0 -21
  229. package/dist/resolvers/appKey.d.ts +0 -3
  230. package/dist/resolvers/appKey.d.ts.map +0 -1
  231. package/dist/resolvers/appKey.js +0 -5
  232. package/dist/resolvers/authenticationId.d.ts +0 -9
  233. package/dist/resolvers/authenticationId.d.ts.map +0 -1
  234. package/dist/resolvers/authenticationId.js +0 -42
  235. package/dist/resolvers/index.d.ts +0 -8
  236. package/dist/resolvers/index.d.ts.map +0 -1
  237. package/dist/resolvers/index.js +0 -8
  238. package/dist/resolvers/inputFieldKey.d.ts +0 -11
  239. package/dist/resolvers/inputFieldKey.d.ts.map +0 -1
  240. package/dist/resolvers/inputFieldKey.js +0 -47
  241. package/dist/resolvers/inputs.d.ts +0 -17
  242. package/dist/resolvers/inputs.d.ts.map +0 -1
  243. package/dist/resolvers/inputs.js +0 -50
  244. package/dist/schemas/Action.d.ts +0 -24
  245. package/dist/schemas/Action.d.ts.map +0 -1
  246. package/dist/schemas/Action.js +0 -40
  247. package/dist/schemas/App.d.ts +0 -57
  248. package/dist/schemas/App.d.ts.map +0 -1
  249. package/dist/schemas/App.js +0 -26
  250. package/dist/schemas/Auth.d.ts +0 -55
  251. package/dist/schemas/Auth.d.ts.map +0 -1
  252. package/dist/schemas/Auth.js +0 -33
  253. package/dist/schemas/Field.d.ts +0 -61
  254. package/dist/schemas/Field.d.ts.map +0 -1
  255. package/dist/schemas/Field.js +0 -116
  256. package/dist/schemas/Run.d.ts +0 -3
  257. package/dist/schemas/Run.d.ts.map +0 -1
  258. package/dist/schemas/Run.js +0 -31
  259. package/dist/schemas/UserProfile.d.ts +0 -13
  260. package/dist/schemas/UserProfile.d.ts.map +0 -1
  261. package/dist/schemas/UserProfile.js +0 -32
  262. package/dist/sdk.d.ts +0 -146
  263. package/dist/sdk.d.ts.map +0 -1
  264. package/dist/sdk.js +0 -112
  265. package/dist/sdk.test.d.ts +0 -2
  266. package/dist/sdk.test.d.ts.map +0 -1
  267. package/dist/sdk.test.js +0 -258
  268. package/dist/services/implementations.d.ts +0 -63
  269. package/dist/services/implementations.d.ts.map +0 -1
  270. package/dist/services/implementations.js +0 -80
  271. package/dist/types/domain.d.ts +0 -52
  272. package/dist/types/domain.d.ts.map +0 -1
  273. package/dist/types/domain.js +0 -1
  274. package/dist/types/domain.test.d.ts +0 -2
  275. package/dist/types/domain.test.d.ts.map +0 -1
  276. package/dist/types/domain.test.js +0 -39
  277. package/dist/types/errors.d.ts +0 -143
  278. package/dist/types/errors.d.ts.map +0 -1
  279. package/dist/types/errors.js +0 -187
  280. package/dist/types/events.d.ts +0 -38
  281. package/dist/types/events.d.ts.map +0 -1
  282. package/dist/types/events.js +0 -7
  283. package/dist/types/functions.d.ts +0 -27
  284. package/dist/types/functions.d.ts.map +0 -1
  285. package/dist/types/functions.js +0 -1
  286. package/dist/types/plugin.d.ts +0 -75
  287. package/dist/types/plugin.d.ts.map +0 -1
  288. package/dist/types/plugin.js +0 -9
  289. package/dist/types/properties.d.ts +0 -33
  290. package/dist/types/properties.d.ts.map +0 -1
  291. package/dist/types/properties.js +0 -52
  292. package/dist/types/sdk.d.ts +0 -69
  293. package/dist/types/sdk.d.ts.map +0 -1
  294. package/dist/types/sdk.js +0 -4
  295. package/dist/types/telemetry-events.d.ts +0 -105
  296. package/dist/types/telemetry-events.d.ts.map +0 -1
  297. package/dist/types/telemetry-events.js +0 -8
  298. package/dist/utils/array-utils.d.ts +0 -31
  299. package/dist/utils/array-utils.d.ts.map +0 -1
  300. package/dist/utils/array-utils.js +0 -36
  301. package/dist/utils/array-utils.test.d.ts +0 -2
  302. package/dist/utils/array-utils.test.d.ts.map +0 -1
  303. package/dist/utils/array-utils.test.js +0 -107
  304. package/dist/utils/batch-utils.d.ts +0 -72
  305. package/dist/utils/batch-utils.d.ts.map +0 -1
  306. package/dist/utils/batch-utils.js +0 -162
  307. package/dist/utils/batch-utils.test.d.ts +0 -2
  308. package/dist/utils/batch-utils.test.d.ts.map +0 -1
  309. package/dist/utils/batch-utils.test.js +0 -476
  310. package/dist/utils/domain-utils.d.ts +0 -66
  311. package/dist/utils/domain-utils.d.ts.map +0 -1
  312. package/dist/utils/domain-utils.js +0 -164
  313. package/dist/utils/domain-utils.test.d.ts +0 -2
  314. package/dist/utils/domain-utils.test.d.ts.map +0 -1
  315. package/dist/utils/domain-utils.test.js +0 -346
  316. package/dist/utils/file-utils.d.ts +0 -4
  317. package/dist/utils/file-utils.d.ts.map +0 -1
  318. package/dist/utils/file-utils.js +0 -74
  319. package/dist/utils/file-utils.test.d.ts +0 -2
  320. package/dist/utils/file-utils.test.d.ts.map +0 -1
  321. package/dist/utils/file-utils.test.js +0 -51
  322. package/dist/utils/function-utils.d.ts +0 -73
  323. package/dist/utils/function-utils.d.ts.map +0 -1
  324. package/dist/utils/function-utils.js +0 -245
  325. package/dist/utils/function-utils.test.d.ts +0 -2
  326. package/dist/utils/function-utils.test.d.ts.map +0 -1
  327. package/dist/utils/function-utils.test.js +0 -110
  328. package/dist/utils/id-utils.d.ts +0 -13
  329. package/dist/utils/id-utils.d.ts.map +0 -1
  330. package/dist/utils/id-utils.js +0 -22
  331. package/dist/utils/id-utils.test.d.ts +0 -2
  332. package/dist/utils/id-utils.test.d.ts.map +0 -1
  333. package/dist/utils/id-utils.test.js +0 -22
  334. package/dist/utils/pagination-utils.d.ts +0 -37
  335. package/dist/utils/pagination-utils.d.ts.map +0 -1
  336. package/dist/utils/pagination-utils.js +0 -165
  337. package/dist/utils/pagination-utils.test.d.ts +0 -17
  338. package/dist/utils/pagination-utils.test.d.ts.map +0 -1
  339. package/dist/utils/pagination-utils.test.js +0 -461
  340. package/dist/utils/retry-utils.d.ts +0 -45
  341. package/dist/utils/retry-utils.d.ts.map +0 -1
  342. package/dist/utils/retry-utils.js +0 -51
  343. package/dist/utils/retry-utils.test.d.ts +0 -2
  344. package/dist/utils/retry-utils.test.d.ts.map +0 -1
  345. package/dist/utils/retry-utils.test.js +0 -90
  346. package/dist/utils/schema-utils.d.ts +0 -69
  347. package/dist/utils/schema-utils.d.ts.map +0 -1
  348. package/dist/utils/schema-utils.js +0 -72
  349. package/dist/utils/string-utils.d.ts +0 -40
  350. package/dist/utils/string-utils.d.ts.map +0 -1
  351. package/dist/utils/string-utils.js +0 -69
  352. package/dist/utils/string-utils.test.d.ts +0 -2
  353. package/dist/utils/string-utils.test.d.ts.map +0 -1
  354. package/dist/utils/string-utils.test.js +0 -59
  355. package/dist/utils/telemetry-utils.d.ts +0 -44
  356. package/dist/utils/telemetry-utils.d.ts.map +0 -1
  357. package/dist/utils/telemetry-utils.js +0 -55
  358. package/dist/utils/telemetry-utils.test.d.ts +0 -2
  359. package/dist/utils/telemetry-utils.test.d.ts.map +0 -1
  360. package/dist/utils/telemetry-utils.test.js +0 -94
  361. package/dist/utils/url-utils.d.ts +0 -19
  362. package/dist/utils/url-utils.d.ts.map +0 -1
  363. package/dist/utils/url-utils.js +0 -62
  364. package/dist/utils/url-utils.test.d.ts +0 -2
  365. package/dist/utils/url-utils.test.d.ts.map +0 -1
  366. package/dist/utils/url-utils.test.js +0 -103
  367. package/dist/utils/validation.d.ts +0 -4
  368. package/dist/utils/validation.d.ts.map +0 -1
  369. package/dist/utils/validation.js +0 -30
  370. package/dist/utils/validation.test.d.ts +0 -2
  371. package/dist/utils/validation.test.d.ts.map +0 -1
  372. package/dist/utils/validation.test.js +0 -44
@@ -1,376 +0,0 @@
1
- import { readFile, writeFile, resolve } from "../../utils/file-utils";
2
- import { ManifestSchema, DEFAULT_CONFIG_PATH } from "./schemas";
3
- import { normalizeImplementationMetaToAppItem, splitVersionedKey, isSnakeCasedSlug, dashifySnakeCasedSlug, toAppLocator, isResolvedAppLocator, } from "../../utils/domain-utils";
4
- import { extractCursor } from "../../utils/function-utils";
5
- import { paginate } from "../../utils/pagination-utils";
6
- import { toArrayFromAsync } from "../../utils/array-utils";
7
- /**
8
- * Parse manifest content from a string
9
- */
10
- function parseManifestContent(content, source) {
11
- try {
12
- const parsed = JSON.parse(content);
13
- if (parsed?.apps && typeof parsed?.apps === "object") {
14
- const result = ManifestSchema.safeParse(parsed);
15
- if (result.success) {
16
- return result.data;
17
- }
18
- console.warn(`⚠️ Invalid manifest format in ${source}: ${result.error}`);
19
- }
20
- return null;
21
- }
22
- catch (error) {
23
- console.warn(`⚠️ Failed to parse manifest from ${source}:`, error);
24
- return null;
25
- }
26
- }
27
- /**
28
- * Read manifest from a file path asynchronously
29
- * Supports local files (Node.js) and browser environments (fallback to global filesystem)
30
- */
31
- export async function readManifestFromFile(filePath) {
32
- try {
33
- // Resolve relative paths relative to current working directory
34
- const resolvedPath = await resolve(filePath);
35
- const content = await readFile(resolvedPath);
36
- return parseManifestContent(content, resolvedPath);
37
- }
38
- catch {
39
- console.warn(`⚠️ Failed to read manifest from ${filePath}`);
40
- return null;
41
- }
42
- }
43
- /**
44
- * Write manifest to a file path asynchronously
45
- * Supports local files (Node.js) and browser environments (fallback to global filesystem)
46
- */
47
- async function writeManifestToFile(manifest, filePath) {
48
- const resolvedPath = await resolve(filePath);
49
- await writeFile(resolvedPath, JSON.stringify(manifest, null, 2));
50
- }
51
- /**
52
- * Get the preferred key for storing an app in the manifest
53
- * Extracted from plugin to make it easier to test
54
- */
55
- export async function getPreferredManifestEntryKey({ appKey, api, }) {
56
- const locator = toAppLocator(appKey);
57
- // If we have a slug, prefer it
58
- if (locator.slug) {
59
- return locator.slug;
60
- }
61
- // If we have implementation name, look up the latest to get the slug
62
- if (locator.implementationName) {
63
- try {
64
- // API call to get app metadata by implementation name using selected_apis parameter
65
- const implementationsEnvelope = await api.get(`/zapier/api/v4/implementations-meta/lookup/`, {
66
- searchParams: {
67
- selected_apis: locator.implementationName,
68
- },
69
- });
70
- if (implementationsEnvelope.results.length > 0 &&
71
- implementationsEnvelope.results[0].slug) {
72
- return implementationsEnvelope.results[0].slug;
73
- }
74
- }
75
- catch {
76
- // Fall back to implementation name if lookup fails
77
- }
78
- return locator.implementationName;
79
- }
80
- // Fall back to original key if we can't determine anything better
81
- return locator.lookupAppKey;
82
- }
83
- async function listAppsForSlugsPage({ slugs, cursor, api, }) {
84
- const searchParams = {};
85
- if (slugs.length > 0) {
86
- searchParams.slugs = slugs.join(",");
87
- }
88
- if (cursor) {
89
- searchParams.offset = cursor;
90
- }
91
- const implementationsEnvelope = await api.get("/zapier/api/v4/implementations-meta/lookup/", {
92
- searchParams,
93
- });
94
- return {
95
- data: implementationsEnvelope.results.map(normalizeImplementationMetaToAppItem),
96
- nextCursor: extractCursor(implementationsEnvelope),
97
- };
98
- }
99
- /**
100
- * Find a manifest entry by any app key (implementation name, slug, etc.).
101
- */
102
- export function findManifestEntry({ appKey, manifest, }) {
103
- const [appKeyWithoutVersion] = splitVersionedKey(appKey);
104
- // Direct match by key
105
- if (manifest.apps[appKeyWithoutVersion]) {
106
- return [appKeyWithoutVersion, manifest.apps[appKeyWithoutVersion]];
107
- }
108
- // Handle snake-cased slugs (convert to dashed)
109
- if (isSnakeCasedSlug(appKey)) {
110
- const slug = dashifySnakeCasedSlug(appKey);
111
- if (manifest.apps[slug]) {
112
- return [slug, manifest.apps[slug]];
113
- }
114
- }
115
- // Search by implementation name in manifest values
116
- for (const [key, entry] of Object.entries(manifest.apps)) {
117
- if (entry.implementationName === appKeyWithoutVersion) {
118
- return [key, entry];
119
- }
120
- }
121
- // No match found
122
- return null;
123
- }
124
- /**
125
- * Turn any app keys (slugs, implementation names, etc.) into app locators, which are objects that will be guaranteed to
126
- * have implementation names. Note that this function will not actually guarantee that implementation names are valid!
127
- * It will attempt to find the app key in the manifest, or if it's a slug, actually do an API call, or otherwise just
128
- * assume it's an implementation name that will be used for an API call.
129
- */
130
- async function resolveAppKeys({ appKeys, api, manifest, }) {
131
- // Step 1: Convert all app keys to locators
132
- const locators = appKeys.map(toAppLocator);
133
- // Step 2: Map to resolved/unresolved via manifest
134
- const locatorsWithManifest = locators.map((locator) => {
135
- const manifestEntryResult = findManifestEntry({
136
- appKey: locator.lookupAppKey,
137
- manifest,
138
- });
139
- if (manifestEntryResult) {
140
- const [, manifestEntry] = manifestEntryResult;
141
- // Use manifest entry to resolve implementation name
142
- const resolvedVersion = locator.version || manifestEntry.version;
143
- const resolvedLocator = {
144
- ...locator,
145
- implementationName: manifestEntry.implementationName,
146
- version: resolvedVersion,
147
- };
148
- return resolvedLocator;
149
- }
150
- // If these have an implementationName, they're already resolved.
151
- return locator;
152
- });
153
- // Step 3: Separate resolved from unresolved
154
- const unresolvedLocators = locatorsWithManifest.filter((locator) => !isResolvedAppLocator(locator));
155
- // Step 4: Resolve slugs via API
156
- const slugsToResolve = unresolvedLocators
157
- .map((locator) => locator.slug)
158
- .filter((slug) => !!slug)
159
- .filter((slug, index, array) => array.indexOf(slug) === index); // dedupe
160
- if (slugsToResolve.length === 0) {
161
- return locatorsWithManifest.filter(isResolvedAppLocator);
162
- }
163
- const iterator = paginate(listAppsForSlugsPage, {
164
- slugs: slugsToResolve,
165
- api,
166
- });
167
- const pages = await toArrayFromAsync(iterator);
168
- const apps = pages.flatMap((page) => page.data);
169
- const slugToAppData = new Map();
170
- for (const app of apps) {
171
- if (app.slug) {
172
- slugToAppData.set(app.slug, app);
173
- }
174
- }
175
- const slugResolvedLocators = locatorsWithManifest.map((locator) => {
176
- if (isResolvedAppLocator(locator)) {
177
- return locator;
178
- }
179
- if (locator.slug) {
180
- const appData = slugToAppData.get(locator.slug);
181
- if (appData) {
182
- // After resolving from API, check if we have a manifest entry for this implementation name
183
- const manifestEntryByImplementationName = findManifestEntry({
184
- appKey: appData.key, // appData.key is the implementation name
185
- manifest,
186
- });
187
- let version = locator.version;
188
- if (!version) {
189
- // Prefer manifest version if available, otherwise use API version
190
- version = manifestEntryByImplementationName
191
- ? manifestEntryByImplementationName[1].version || appData.version
192
- : appData.version;
193
- }
194
- return {
195
- ...locator,
196
- implementationName: appData.key,
197
- version,
198
- };
199
- }
200
- }
201
- return locator;
202
- });
203
- // Return all resolved locators.
204
- return slugResolvedLocators.filter(isResolvedAppLocator);
205
- }
206
- export { DEFAULT_CONFIG_PATH } from "./schemas";
207
- export const manifestPlugin = (params) => {
208
- const { context } = params;
209
- const { api, options } = context;
210
- const { manifestPath = DEFAULT_CONFIG_PATH, manifest } = options || {};
211
- let resolvedManifest;
212
- async function resolveManifest() {
213
- // If manifest is provided directly, use it
214
- if (manifest) {
215
- return manifest;
216
- }
217
- // If manifestPath is provided, load from file
218
- if (manifestPath) {
219
- return await readManifestFromFile(manifestPath);
220
- }
221
- return null;
222
- }
223
- const getResolvedManifest = async () => {
224
- if (typeof resolvedManifest === "undefined") {
225
- resolvedManifest = (await resolveManifest()) ?? null;
226
- }
227
- return resolvedManifest;
228
- };
229
- const getVersionedImplementationId = async (appKey) => {
230
- const resolvedApps = await resolveAppKeys({
231
- appKeys: [appKey],
232
- api,
233
- manifest: (await getResolvedManifest()) ?? { apps: {} },
234
- });
235
- const resolvedApp = resolvedApps[0];
236
- if (!resolvedApp)
237
- return null;
238
- return `${resolvedApp.implementationName}@${resolvedApp.version || "latest"}`;
239
- };
240
- const updateManifestEntry = async (options) => {
241
- const { appKey, entry, configPath = DEFAULT_CONFIG_PATH, skipWrite = false, manifest: inputManifest, } = options;
242
- // Use provided manifest or read from file
243
- const manifest = inputManifest ||
244
- (await readManifestFromFile(configPath)) || { apps: {} };
245
- // Try to find existing entry by direct key first
246
- let existingEntry = findManifestEntry({
247
- appKey,
248
- manifest,
249
- });
250
- // If not found directly, try to resolve the app key and search by implementation name
251
- if (!existingEntry) {
252
- try {
253
- const resolvedApps = await resolveAppKeys({
254
- appKeys: [appKey],
255
- api,
256
- manifest,
257
- });
258
- if (resolvedApps.length > 0) {
259
- const resolvedImplementationName = resolvedApps[0].implementationName;
260
- // Try to find entry using the resolved implementation name
261
- existingEntry = findManifestEntry({
262
- appKey: resolvedImplementationName,
263
- manifest,
264
- });
265
- }
266
- }
267
- catch {
268
- // If resolution fails, continue with original logic
269
- }
270
- }
271
- let manifestKey;
272
- if (existingEntry) {
273
- // Use existing key to maintain consistency with types files
274
- manifestKey = existingEntry[0];
275
- }
276
- else {
277
- // Get preferred key for new entries
278
- manifestKey = await getPreferredManifestEntryKey({
279
- appKey,
280
- api,
281
- });
282
- }
283
- const updatedManifest = {
284
- ...manifest,
285
- apps: {
286
- ...manifest.apps,
287
- [manifestKey]: entry,
288
- },
289
- };
290
- // Conditionally write to file
291
- if (!skipWrite) {
292
- await writeManifestToFile(updatedManifest, configPath);
293
- // Clear the cached manifest so it gets reloaded with the new data
294
- resolvedManifest = undefined;
295
- }
296
- return {
297
- key: manifestKey,
298
- entry,
299
- manifest: updatedManifest,
300
- };
301
- };
302
- const addActionEntry = async (options) => {
303
- const { name, entry, configPath = DEFAULT_CONFIG_PATH, skipWrite = false, manifest: inputManifest, } = options;
304
- // Use provided manifest or read from file
305
- const manifest = inputManifest ||
306
- (await readManifestFromFile(configPath)) || { apps: {} };
307
- // Ensure actions exists
308
- const actions = manifest.actions || {};
309
- // Validate uniqueness - if action with this name already exists, throw error
310
- if (actions[name] && !skipWrite) {
311
- throw new Error(`Action "${name}" already exists. Please choose a different name or remove the existing action first.`);
312
- }
313
- const updatedManifest = {
314
- ...manifest,
315
- actions: {
316
- ...actions,
317
- [name]: entry,
318
- },
319
- };
320
- // Conditionally write to file
321
- if (!skipWrite) {
322
- await writeManifestToFile(updatedManifest, configPath);
323
- // Clear the cached manifest so it gets reloaded with the new data
324
- resolvedManifest = undefined;
325
- }
326
- return {
327
- name,
328
- entry,
329
- manifest: updatedManifest,
330
- };
331
- };
332
- const findActionEntry = ({ name, manifest, }) => {
333
- return manifest.actions?.[name] || null;
334
- };
335
- const listActionEntries = async ({ configPath = DEFAULT_CONFIG_PATH, } = {}) => {
336
- const manifest = (await readManifestFromFile(configPath)) || { apps: {} };
337
- return Object.entries(manifest.actions || {});
338
- };
339
- const deleteActionEntry = async ({ name, configPath = DEFAULT_CONFIG_PATH, skipWrite = false, }) => {
340
- const manifest = (await readManifestFromFile(configPath)) || { apps: {} };
341
- if (!manifest.actions?.[name]) {
342
- throw new Error(`Action "${name}" does not exist.`);
343
- }
344
- const { [name]: removed, ...remainingActions } = manifest.actions;
345
- const updatedManifest = {
346
- ...manifest,
347
- actions: remainingActions,
348
- };
349
- if (!skipWrite) {
350
- await writeManifestToFile(updatedManifest, configPath);
351
- resolvedManifest = undefined;
352
- }
353
- return updatedManifest;
354
- };
355
- const hasActionEntry = ({ name, manifest, }) => {
356
- return !!manifest.actions?.[name];
357
- };
358
- return {
359
- context: {
360
- getVersionedImplementationId,
361
- resolveAppKeys: async ({ appKeys }) => resolveAppKeys({
362
- appKeys,
363
- api,
364
- manifest: (await getResolvedManifest()) ?? { apps: {} },
365
- }),
366
- updateManifestEntry,
367
- addActionEntry,
368
- findActionEntry,
369
- listActionEntries,
370
- deleteActionEntry,
371
- hasActionEntry,
372
- findManifestEntry,
373
- readManifestFromFile,
374
- },
375
- };
376
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/plugins/manifest/index.test.ts"],"names":[],"mappings":""}