@hasna/connectors 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/bin/index.js +189 -2
  2. package/bin/mcp.js +176 -1
  3. package/bin/serve.js +175 -0
  4. package/connectors/connect-airtable/.env.example +11 -0
  5. package/connectors/connect-airtable/CLAUDE.md +121 -0
  6. package/connectors/connect-airtable/README.md +193 -0
  7. package/connectors/connect-airtable/package.json +50 -0
  8. package/connectors/connect-airtable/src/api/client.ts +139 -0
  9. package/connectors/connect-airtable/src/api/index.ts +405 -0
  10. package/connectors/connect-airtable/src/cli/index.ts +637 -0
  11. package/connectors/connect-airtable/src/index.ts +20 -0
  12. package/connectors/connect-airtable/src/types/index.ts +349 -0
  13. package/connectors/connect-airtable/src/utils/config.ts +197 -0
  14. package/connectors/connect-airtable/tsconfig.json +16 -0
  15. package/connectors/connect-amplitude/.env.example +11 -0
  16. package/connectors/connect-amplitude/CLAUDE.md +121 -0
  17. package/connectors/connect-amplitude/README.md +193 -0
  18. package/connectors/connect-amplitude/package.json +51 -0
  19. package/connectors/connect-amplitude/src/api/client.ts +144 -0
  20. package/connectors/connect-amplitude/src/api/index.ts +215 -0
  21. package/connectors/connect-amplitude/src/cli/index.ts +532 -0
  22. package/connectors/connect-amplitude/src/index.ts +22 -0
  23. package/connectors/connect-amplitude/src/types/index.ts +329 -0
  24. package/connectors/connect-amplitude/src/utils/config.ts +208 -0
  25. package/connectors/connect-amplitude/tsconfig.json +16 -0
  26. package/connectors/connect-calendly/.env.example +11 -0
  27. package/connectors/connect-calendly/CLAUDE.md +272 -0
  28. package/connectors/connect-calendly/README.md +193 -0
  29. package/connectors/connect-calendly/package.json +51 -0
  30. package/connectors/connect-calendly/scripts/release.ts +179 -0
  31. package/connectors/connect-calendly/src/api/client.ts +213 -0
  32. package/connectors/connect-calendly/src/api/example.ts +48 -0
  33. package/connectors/connect-calendly/src/api/index.ts +51 -0
  34. package/connectors/connect-calendly/src/cli/index.ts +254 -0
  35. package/connectors/connect-calendly/src/index.ts +103 -0
  36. package/connectors/connect-calendly/src/types/index.ts +237 -0
  37. package/connectors/connect-calendly/src/utils/auth.ts +274 -0
  38. package/connectors/connect-calendly/src/utils/bulk.ts +212 -0
  39. package/connectors/connect-calendly/src/utils/config.ts +326 -0
  40. package/connectors/connect-calendly/src/utils/output.ts +175 -0
  41. package/connectors/connect-calendly/src/utils/settings.ts +114 -0
  42. package/connectors/connect-calendly/src/utils/storage.ts +198 -0
  43. package/connectors/connect-calendly/tsconfig.json +16 -0
  44. package/connectors/connect-convertkit/.env.example +11 -0
  45. package/connectors/connect-convertkit/CLAUDE.md +272 -0
  46. package/connectors/connect-convertkit/README.md +193 -0
  47. package/connectors/connect-convertkit/package.json +51 -0
  48. package/connectors/connect-convertkit/scripts/release.ts +179 -0
  49. package/connectors/connect-convertkit/src/api/client.ts +213 -0
  50. package/connectors/connect-convertkit/src/api/example.ts +48 -0
  51. package/connectors/connect-convertkit/src/api/index.ts +51 -0
  52. package/connectors/connect-convertkit/src/cli/index.ts +254 -0
  53. package/connectors/connect-convertkit/src/index.ts +103 -0
  54. package/connectors/connect-convertkit/src/types/index.ts +237 -0
  55. package/connectors/connect-convertkit/src/utils/auth.ts +274 -0
  56. package/connectors/connect-convertkit/src/utils/bulk.ts +212 -0
  57. package/connectors/connect-convertkit/src/utils/config.ts +326 -0
  58. package/connectors/connect-convertkit/src/utils/output.ts +175 -0
  59. package/connectors/connect-convertkit/src/utils/settings.ts +114 -0
  60. package/connectors/connect-convertkit/src/utils/storage.ts +198 -0
  61. package/connectors/connect-convertkit/tsconfig.json +16 -0
  62. package/connectors/connect-crisp/.env.example +11 -0
  63. package/connectors/connect-crisp/CLAUDE.md +272 -0
  64. package/connectors/connect-crisp/README.md +193 -0
  65. package/connectors/connect-crisp/package.json +51 -0
  66. package/connectors/connect-crisp/scripts/release.ts +179 -0
  67. package/connectors/connect-crisp/src/api/client.ts +213 -0
  68. package/connectors/connect-crisp/src/api/example.ts +48 -0
  69. package/connectors/connect-crisp/src/api/index.ts +51 -0
  70. package/connectors/connect-crisp/src/cli/index.ts +254 -0
  71. package/connectors/connect-crisp/src/index.ts +103 -0
  72. package/connectors/connect-crisp/src/types/index.ts +237 -0
  73. package/connectors/connect-crisp/src/utils/auth.ts +274 -0
  74. package/connectors/connect-crisp/src/utils/bulk.ts +212 -0
  75. package/connectors/connect-crisp/src/utils/config.ts +326 -0
  76. package/connectors/connect-crisp/src/utils/output.ts +175 -0
  77. package/connectors/connect-crisp/src/utils/settings.ts +114 -0
  78. package/connectors/connect-crisp/src/utils/storage.ts +198 -0
  79. package/connectors/connect-crisp/tsconfig.json +16 -0
  80. package/connectors/connect-docusign/.env.example +11 -0
  81. package/connectors/connect-docusign/CLAUDE.md +128 -0
  82. package/connectors/connect-docusign/README.md +193 -0
  83. package/connectors/connect-docusign/package.json +52 -0
  84. package/connectors/connect-docusign/src/api/client.ts +133 -0
  85. package/connectors/connect-docusign/src/api/index.ts +178 -0
  86. package/connectors/connect-docusign/src/cli/index.ts +381 -0
  87. package/connectors/connect-docusign/src/index.ts +23 -0
  88. package/connectors/connect-docusign/src/types/index.ts +208 -0
  89. package/connectors/connect-docusign/src/utils/config.ts +125 -0
  90. package/connectors/connect-docusign/src/utils/output.ts +119 -0
  91. package/connectors/connect-docusign/tsconfig.json +16 -0
  92. package/connectors/connect-drift/.env.example +11 -0
  93. package/connectors/connect-drift/CLAUDE.md +272 -0
  94. package/connectors/connect-drift/README.md +193 -0
  95. package/connectors/connect-drift/package.json +51 -0
  96. package/connectors/connect-drift/scripts/release.ts +179 -0
  97. package/connectors/connect-drift/src/api/client.ts +213 -0
  98. package/connectors/connect-drift/src/api/example.ts +48 -0
  99. package/connectors/connect-drift/src/api/index.ts +51 -0
  100. package/connectors/connect-drift/src/cli/index.ts +254 -0
  101. package/connectors/connect-drift/src/index.ts +103 -0
  102. package/connectors/connect-drift/src/types/index.ts +237 -0
  103. package/connectors/connect-drift/src/utils/auth.ts +274 -0
  104. package/connectors/connect-drift/src/utils/bulk.ts +212 -0
  105. package/connectors/connect-drift/src/utils/config.ts +326 -0
  106. package/connectors/connect-drift/src/utils/output.ts +175 -0
  107. package/connectors/connect-drift/src/utils/settings.ts +114 -0
  108. package/connectors/connect-drift/src/utils/storage.ts +198 -0
  109. package/connectors/connect-drift/tsconfig.json +16 -0
  110. package/connectors/connect-freshdesk/.env.example +11 -0
  111. package/connectors/connect-freshdesk/CLAUDE.md +272 -0
  112. package/connectors/connect-freshdesk/README.md +193 -0
  113. package/connectors/connect-freshdesk/package.json +51 -0
  114. package/connectors/connect-freshdesk/scripts/release.ts +179 -0
  115. package/connectors/connect-freshdesk/src/api/client.ts +213 -0
  116. package/connectors/connect-freshdesk/src/api/example.ts +48 -0
  117. package/connectors/connect-freshdesk/src/api/index.ts +51 -0
  118. package/connectors/connect-freshdesk/src/cli/index.ts +254 -0
  119. package/connectors/connect-freshdesk/src/index.ts +103 -0
  120. package/connectors/connect-freshdesk/src/types/index.ts +237 -0
  121. package/connectors/connect-freshdesk/src/utils/auth.ts +274 -0
  122. package/connectors/connect-freshdesk/src/utils/bulk.ts +212 -0
  123. package/connectors/connect-freshdesk/src/utils/config.ts +326 -0
  124. package/connectors/connect-freshdesk/src/utils/output.ts +175 -0
  125. package/connectors/connect-freshdesk/src/utils/settings.ts +114 -0
  126. package/connectors/connect-freshdesk/src/utils/storage.ts +198 -0
  127. package/connectors/connect-freshdesk/tsconfig.json +16 -0
  128. package/connectors/connect-gumroad/.env.example +11 -0
  129. package/connectors/connect-gumroad/CLAUDE.md +272 -0
  130. package/connectors/connect-gumroad/README.md +193 -0
  131. package/connectors/connect-gumroad/package.json +51 -0
  132. package/connectors/connect-gumroad/scripts/release.ts +179 -0
  133. package/connectors/connect-gumroad/src/api/client.ts +213 -0
  134. package/connectors/connect-gumroad/src/api/example.ts +48 -0
  135. package/connectors/connect-gumroad/src/api/index.ts +51 -0
  136. package/connectors/connect-gumroad/src/cli/index.ts +254 -0
  137. package/connectors/connect-gumroad/src/index.ts +103 -0
  138. package/connectors/connect-gumroad/src/types/index.ts +237 -0
  139. package/connectors/connect-gumroad/src/utils/auth.ts +274 -0
  140. package/connectors/connect-gumroad/src/utils/bulk.ts +212 -0
  141. package/connectors/connect-gumroad/src/utils/config.ts +326 -0
  142. package/connectors/connect-gumroad/src/utils/output.ts +175 -0
  143. package/connectors/connect-gumroad/src/utils/settings.ts +114 -0
  144. package/connectors/connect-gumroad/src/utils/storage.ts +198 -0
  145. package/connectors/connect-gumroad/tsconfig.json +16 -0
  146. package/connectors/connect-hubspot/.env.example +11 -0
  147. package/connectors/connect-hubspot/CLAUDE.md +128 -0
  148. package/connectors/connect-hubspot/README.md +193 -0
  149. package/connectors/connect-hubspot/package.json +52 -0
  150. package/connectors/connect-hubspot/src/api/client.ts +136 -0
  151. package/connectors/connect-hubspot/src/api/index.ts +379 -0
  152. package/connectors/connect-hubspot/src/cli/index.ts +589 -0
  153. package/connectors/connect-hubspot/src/index.ts +21 -0
  154. package/connectors/connect-hubspot/src/types/index.ts +285 -0
  155. package/connectors/connect-hubspot/src/utils/config.ts +205 -0
  156. package/connectors/connect-hubspot/src/utils/output.ts +119 -0
  157. package/connectors/connect-hubspot/tsconfig.json +16 -0
  158. package/connectors/connect-intercom/.env.example +11 -0
  159. package/connectors/connect-intercom/CLAUDE.md +131 -0
  160. package/connectors/connect-intercom/README.md +193 -0
  161. package/connectors/connect-intercom/package.json +52 -0
  162. package/connectors/connect-intercom/src/api/client.ts +132 -0
  163. package/connectors/connect-intercom/src/api/index.ts +366 -0
  164. package/connectors/connect-intercom/src/cli/index.ts +831 -0
  165. package/connectors/connect-intercom/src/index.ts +21 -0
  166. package/connectors/connect-intercom/src/types/index.ts +650 -0
  167. package/connectors/connect-intercom/src/utils/config.ts +157 -0
  168. package/connectors/connect-intercom/src/utils/output.ts +119 -0
  169. package/connectors/connect-intercom/tsconfig.json +16 -0
  170. package/connectors/connect-lemonsqueezy/.env.example +11 -0
  171. package/connectors/connect-lemonsqueezy/CLAUDE.md +128 -0
  172. package/connectors/connect-lemonsqueezy/README.md +193 -0
  173. package/connectors/connect-lemonsqueezy/package.json +52 -0
  174. package/connectors/connect-lemonsqueezy/src/api/client.ts +133 -0
  175. package/connectors/connect-lemonsqueezy/src/api/index.ts +502 -0
  176. package/connectors/connect-lemonsqueezy/src/cli/index.ts +723 -0
  177. package/connectors/connect-lemonsqueezy/src/index.ts +21 -0
  178. package/connectors/connect-lemonsqueezy/src/types/index.ts +353 -0
  179. package/connectors/connect-lemonsqueezy/src/utils/config.ts +205 -0
  180. package/connectors/connect-lemonsqueezy/src/utils/output.ts +119 -0
  181. package/connectors/connect-lemonsqueezy/tsconfig.json +16 -0
  182. package/connectors/connect-linkedin/.env.example +11 -0
  183. package/connectors/connect-linkedin/CLAUDE.md +124 -0
  184. package/connectors/connect-linkedin/README.md +193 -0
  185. package/connectors/connect-linkedin/package.json +52 -0
  186. package/connectors/connect-linkedin/src/api/client.ts +132 -0
  187. package/connectors/connect-linkedin/src/api/index.ts +313 -0
  188. package/connectors/connect-linkedin/src/cli/index.ts +548 -0
  189. package/connectors/connect-linkedin/src/index.ts +21 -0
  190. package/connectors/connect-linkedin/src/types/index.ts +472 -0
  191. package/connectors/connect-linkedin/src/utils/config.ts +157 -0
  192. package/connectors/connect-linkedin/src/utils/output.ts +119 -0
  193. package/connectors/connect-linkedin/tsconfig.json +16 -0
  194. package/connectors/connect-mailchimp/.env.example +11 -0
  195. package/connectors/connect-mailchimp/CLAUDE.md +127 -0
  196. package/connectors/connect-mailchimp/README.md +193 -0
  197. package/connectors/connect-mailchimp/package.json +52 -0
  198. package/connectors/connect-mailchimp/src/api/client.ts +162 -0
  199. package/connectors/connect-mailchimp/src/api/index.ts +580 -0
  200. package/connectors/connect-mailchimp/src/cli/index.ts +822 -0
  201. package/connectors/connect-mailchimp/src/index.ts +23 -0
  202. package/connectors/connect-mailchimp/src/types/index.ts +585 -0
  203. package/connectors/connect-mailchimp/src/utils/config.ts +208 -0
  204. package/connectors/connect-mailchimp/src/utils/output.ts +119 -0
  205. package/connectors/connect-mailchimp/tsconfig.json +16 -0
  206. package/connectors/connect-mongodb/.env.example +11 -0
  207. package/connectors/connect-mongodb/CLAUDE.md +272 -0
  208. package/connectors/connect-mongodb/README.md +193 -0
  209. package/connectors/connect-mongodb/package.json +51 -0
  210. package/connectors/connect-mongodb/scripts/release.ts +179 -0
  211. package/connectors/connect-mongodb/src/api/client.ts +213 -0
  212. package/connectors/connect-mongodb/src/api/example.ts +48 -0
  213. package/connectors/connect-mongodb/src/api/index.ts +51 -0
  214. package/connectors/connect-mongodb/src/cli/index.ts +254 -0
  215. package/connectors/connect-mongodb/src/index.ts +103 -0
  216. package/connectors/connect-mongodb/src/types/index.ts +237 -0
  217. package/connectors/connect-mongodb/src/utils/auth.ts +274 -0
  218. package/connectors/connect-mongodb/src/utils/bulk.ts +212 -0
  219. package/connectors/connect-mongodb/src/utils/config.ts +326 -0
  220. package/connectors/connect-mongodb/src/utils/output.ts +175 -0
  221. package/connectors/connect-mongodb/src/utils/settings.ts +114 -0
  222. package/connectors/connect-mongodb/src/utils/storage.ts +198 -0
  223. package/connectors/connect-mongodb/tsconfig.json +16 -0
  224. package/connectors/connect-netlify/.env.example +11 -0
  225. package/connectors/connect-netlify/CLAUDE.md +170 -0
  226. package/connectors/connect-netlify/README.md +193 -0
  227. package/connectors/connect-netlify/package.json +53 -0
  228. package/connectors/connect-netlify/src/api/client.ts +132 -0
  229. package/connectors/connect-netlify/src/api/index.ts +533 -0
  230. package/connectors/connect-netlify/src/cli/index.ts +985 -0
  231. package/connectors/connect-netlify/src/index.ts +22 -0
  232. package/connectors/connect-netlify/src/types/index.ts +423 -0
  233. package/connectors/connect-netlify/src/utils/config.ts +171 -0
  234. package/connectors/connect-netlify/src/utils/output.ts +119 -0
  235. package/connectors/connect-netlify/tsconfig.json +16 -0
  236. package/connectors/connect-paypal/.env.example +11 -0
  237. package/connectors/connect-paypal/CLAUDE.md +128 -0
  238. package/connectors/connect-paypal/README.md +193 -0
  239. package/connectors/connect-paypal/package.json +51 -0
  240. package/connectors/connect-paypal/src/api/client.ts +182 -0
  241. package/connectors/connect-paypal/src/api/index.ts +235 -0
  242. package/connectors/connect-paypal/src/cli/index.ts +559 -0
  243. package/connectors/connect-paypal/src/index.ts +23 -0
  244. package/connectors/connect-paypal/src/types/index.ts +377 -0
  245. package/connectors/connect-paypal/src/utils/config.ts +125 -0
  246. package/connectors/connect-paypal/src/utils/output.ts +119 -0
  247. package/connectors/connect-paypal/tsconfig.json +16 -0
  248. package/connectors/connect-pinterest/.env.example +11 -0
  249. package/connectors/connect-pinterest/CLAUDE.md +115 -0
  250. package/connectors/connect-pinterest/README.md +193 -0
  251. package/connectors/connect-pinterest/package.json +52 -0
  252. package/connectors/connect-pinterest/src/api/client.ts +125 -0
  253. package/connectors/connect-pinterest/src/api/index.ts +203 -0
  254. package/connectors/connect-pinterest/src/cli/index.ts +653 -0
  255. package/connectors/connect-pinterest/src/index.ts +21 -0
  256. package/connectors/connect-pinterest/src/types/index.ts +268 -0
  257. package/connectors/connect-pinterest/src/utils/config.ts +157 -0
  258. package/connectors/connect-pinterest/src/utils/output.ts +119 -0
  259. package/connectors/connect-pinterest/tsconfig.json +16 -0
  260. package/connectors/connect-posthog/.env.example +11 -0
  261. package/connectors/connect-posthog/CLAUDE.md +272 -0
  262. package/connectors/connect-posthog/README.md +193 -0
  263. package/connectors/connect-posthog/package.json +51 -0
  264. package/connectors/connect-posthog/scripts/release.ts +179 -0
  265. package/connectors/connect-posthog/src/api/client.ts +213 -0
  266. package/connectors/connect-posthog/src/api/example.ts +48 -0
  267. package/connectors/connect-posthog/src/api/index.ts +51 -0
  268. package/connectors/connect-posthog/src/cli/index.ts +254 -0
  269. package/connectors/connect-posthog/src/index.ts +103 -0
  270. package/connectors/connect-posthog/src/types/index.ts +237 -0
  271. package/connectors/connect-posthog/src/utils/auth.ts +274 -0
  272. package/connectors/connect-posthog/src/utils/bulk.ts +212 -0
  273. package/connectors/connect-posthog/src/utils/config.ts +326 -0
  274. package/connectors/connect-posthog/src/utils/output.ts +175 -0
  275. package/connectors/connect-posthog/src/utils/settings.ts +114 -0
  276. package/connectors/connect-posthog/src/utils/storage.ts +198 -0
  277. package/connectors/connect-posthog/tsconfig.json +16 -0
  278. package/connectors/connect-salesforce/.env.example +11 -0
  279. package/connectors/connect-salesforce/CLAUDE.md +128 -0
  280. package/connectors/connect-salesforce/README.md +193 -0
  281. package/connectors/connect-salesforce/package.json +53 -0
  282. package/connectors/connect-salesforce/src/api/client.ts +150 -0
  283. package/connectors/connect-salesforce/src/api/index.ts +367 -0
  284. package/connectors/connect-salesforce/src/cli/index.ts +594 -0
  285. package/connectors/connect-salesforce/src/index.ts +21 -0
  286. package/connectors/connect-salesforce/src/types/index.ts +292 -0
  287. package/connectors/connect-salesforce/src/utils/config.ts +208 -0
  288. package/connectors/connect-salesforce/src/utils/output.ts +119 -0
  289. package/connectors/connect-salesforce/tsconfig.json +16 -0
  290. package/connectors/connect-segment/.env.example +11 -0
  291. package/connectors/connect-segment/CLAUDE.md +272 -0
  292. package/connectors/connect-segment/README.md +193 -0
  293. package/connectors/connect-segment/package.json +51 -0
  294. package/connectors/connect-segment/scripts/release.ts +179 -0
  295. package/connectors/connect-segment/src/api/client.ts +213 -0
  296. package/connectors/connect-segment/src/api/example.ts +48 -0
  297. package/connectors/connect-segment/src/api/index.ts +51 -0
  298. package/connectors/connect-segment/src/cli/index.ts +254 -0
  299. package/connectors/connect-segment/src/index.ts +103 -0
  300. package/connectors/connect-segment/src/types/index.ts +237 -0
  301. package/connectors/connect-segment/src/utils/auth.ts +274 -0
  302. package/connectors/connect-segment/src/utils/bulk.ts +212 -0
  303. package/connectors/connect-segment/src/utils/config.ts +326 -0
  304. package/connectors/connect-segment/src/utils/output.ts +175 -0
  305. package/connectors/connect-segment/src/utils/settings.ts +114 -0
  306. package/connectors/connect-segment/src/utils/storage.ts +198 -0
  307. package/connectors/connect-segment/tsconfig.json +16 -0
  308. package/connectors/connect-sendgrid/.env.example +11 -0
  309. package/connectors/connect-sendgrid/CLAUDE.md +125 -0
  310. package/connectors/connect-sendgrid/README.md +193 -0
  311. package/connectors/connect-sendgrid/package.json +53 -0
  312. package/connectors/connect-sendgrid/src/api/client.ts +137 -0
  313. package/connectors/connect-sendgrid/src/api/index.ts +588 -0
  314. package/connectors/connect-sendgrid/src/cli/index.ts +764 -0
  315. package/connectors/connect-sendgrid/src/index.ts +21 -0
  316. package/connectors/connect-sendgrid/src/types/index.ts +403 -0
  317. package/connectors/connect-sendgrid/src/utils/config.ts +197 -0
  318. package/connectors/connect-sendgrid/src/utils/output.ts +119 -0
  319. package/connectors/connect-sendgrid/tsconfig.json +16 -0
  320. package/connectors/connect-supabase/.env.example +11 -0
  321. package/connectors/connect-supabase/CLAUDE.md +132 -0
  322. package/connectors/connect-supabase/README.md +193 -0
  323. package/connectors/connect-supabase/package.json +52 -0
  324. package/connectors/connect-supabase/src/api/client.ts +231 -0
  325. package/connectors/connect-supabase/src/api/index.ts +439 -0
  326. package/connectors/connect-supabase/src/cli/index.ts +691 -0
  327. package/connectors/connect-supabase/src/index.ts +24 -0
  328. package/connectors/connect-supabase/src/types/index.ts +215 -0
  329. package/connectors/connect-supabase/src/utils/config.ts +219 -0
  330. package/connectors/connect-supabase/tsconfig.json +16 -0
  331. package/connectors/connect-vercel/.env.example +11 -0
  332. package/connectors/connect-vercel/CLAUDE.md +142 -0
  333. package/connectors/connect-vercel/README.md +193 -0
  334. package/connectors/connect-vercel/package.json +52 -0
  335. package/connectors/connect-vercel/src/api/client.ts +139 -0
  336. package/connectors/connect-vercel/src/api/index.ts +384 -0
  337. package/connectors/connect-vercel/src/cli/index.ts +740 -0
  338. package/connectors/connect-vercel/src/index.ts +24 -0
  339. package/connectors/connect-vercel/src/types/index.ts +350 -0
  340. package/connectors/connect-vercel/src/utils/config.ts +182 -0
  341. package/connectors/connect-vercel/src/utils/output.ts +119 -0
  342. package/connectors/connect-vercel/tsconfig.json +16 -0
  343. package/connectors/connect-zendesk/.env.example +10 -0
  344. package/connectors/connect-zendesk/.github/workflows/deploy.yml +51 -0
  345. package/connectors/connect-zendesk/CLAUDE.md +78 -0
  346. package/connectors/connect-zendesk/Makefile +129 -0
  347. package/connectors/connect-zendesk/README.md +295 -0
  348. package/connectors/connect-zendesk/SCAFFOLD.md +178 -0
  349. package/connectors/connect-zendesk/nginx-connector.conf +218 -0
  350. package/connectors/connect-zendesk/nginx.conf +61 -0
  351. package/connectors/connect-zendesk/package.json +71 -0
  352. package/connectors/connect-zendesk/scripts/init.sh +62 -0
  353. package/connectors/connect-zendesk/scripts/publish.ts +210 -0
  354. package/connectors/connect-zendesk/server/index.js +142 -0
  355. package/connectors/connect-zendesk/src/api/automations.ts +95 -0
  356. package/connectors/connect-zendesk/src/api/brands.ts +80 -0
  357. package/connectors/connect-zendesk/src/api/bulk.ts +838 -0
  358. package/connectors/connect-zendesk/src/api/client.test.ts +315 -0
  359. package/connectors/connect-zendesk/src/api/client.ts +173 -0
  360. package/connectors/connect-zendesk/src/api/example.ts +59 -0
  361. package/connectors/connect-zendesk/src/api/groups.ts +60 -0
  362. package/connectors/connect-zendesk/src/api/index.test.ts +111 -0
  363. package/connectors/connect-zendesk/src/api/index.ts +131 -0
  364. package/connectors/connect-zendesk/src/api/macros.ts +124 -0
  365. package/connectors/connect-zendesk/src/api/organizations.ts +85 -0
  366. package/connectors/connect-zendesk/src/api/slas.ts +80 -0
  367. package/connectors/connect-zendesk/src/api/ticket-fields.ts +98 -0
  368. package/connectors/connect-zendesk/src/api/tickets.test.ts +215 -0
  369. package/connectors/connect-zendesk/src/api/tickets.ts +103 -0
  370. package/connectors/connect-zendesk/src/api/triggers.test.ts +204 -0
  371. package/connectors/connect-zendesk/src/api/triggers.ts +125 -0
  372. package/connectors/connect-zendesk/src/api/users.test.ts +180 -0
  373. package/connectors/connect-zendesk/src/api/users.ts +108 -0
  374. package/connectors/connect-zendesk/src/api/views.test.ts +223 -0
  375. package/connectors/connect-zendesk/src/api/views.ts +145 -0
  376. package/connectors/connect-zendesk/src/api/webhooks.test.ts +208 -0
  377. package/connectors/connect-zendesk/src/api/webhooks.ts +118 -0
  378. package/connectors/connect-zendesk/src/cli/index.ts +1478 -0
  379. package/connectors/connect-zendesk/src/index.ts +36 -0
  380. package/connectors/connect-zendesk/src/server/index.ts +204 -0
  381. package/connectors/connect-zendesk/src/types/index.ts +910 -0
  382. package/connectors/connect-zendesk/src/utils/config.test.ts +193 -0
  383. package/connectors/connect-zendesk/src/utils/config.ts +526 -0
  384. package/connectors/connect-zendesk/src/utils/export.ts +338 -0
  385. package/connectors/connect-zendesk/src/utils/logger.ts +105 -0
  386. package/connectors/connect-zendesk/src/utils/output.test.ts +137 -0
  387. package/connectors/connect-zendesk/src/utils/output.ts +119 -0
  388. package/connectors/connect-zendesk/tsconfig.json +31 -0
  389. package/dist/index.js +175 -0
  390. package/package.json +1 -1
@@ -0,0 +1,366 @@
1
+ import type {
2
+ IntercomConfig,
3
+ Contact,
4
+ ContactListResponse,
5
+ ContactCreateParams,
6
+ ContactUpdateParams,
7
+ ContactSearchParams,
8
+ Conversation,
9
+ ConversationListResponse,
10
+ ConversationReplyParams,
11
+ ConversationSearchParams,
12
+ Company,
13
+ CompanyListResponse,
14
+ CompanyCreateParams,
15
+ Tag,
16
+ TagListResponse,
17
+ TagCreateParams,
18
+ Admin,
19
+ AdminListResponse,
20
+ Team,
21
+ TeamListResponse,
22
+ DataEvent,
23
+ DataEventListResponse,
24
+ DataEventCreateParams,
25
+ Article,
26
+ ArticleListResponse,
27
+ ArticleCreateParams,
28
+ Note,
29
+ NoteCreateParams,
30
+ Message,
31
+ MessageCreateParams,
32
+ } from '../types';
33
+ import { IntercomClient } from './client';
34
+
35
+ export class Intercom {
36
+ private readonly client: IntercomClient;
37
+
38
+ constructor(config: IntercomConfig) {
39
+ this.client = new IntercomClient(config);
40
+ }
41
+
42
+ static fromEnv(): Intercom {
43
+ const accessToken = process.env.INTERCOM_ACCESS_TOKEN;
44
+
45
+ if (!accessToken) {
46
+ throw new Error('INTERCOM_ACCESS_TOKEN environment variable is required');
47
+ }
48
+ return new Intercom({ accessToken });
49
+ }
50
+
51
+ getAccessTokenPreview(): string {
52
+ return this.client.getAccessTokenPreview();
53
+ }
54
+
55
+ getClient(): IntercomClient {
56
+ return this.client;
57
+ }
58
+
59
+ // ============================================
60
+ // Contact Methods
61
+ // ============================================
62
+
63
+ async listContacts(params?: { per_page?: number; starting_after?: string }): Promise<ContactListResponse> {
64
+ return this.client.get<ContactListResponse>('/contacts', params);
65
+ }
66
+
67
+ async getContact(id: string): Promise<Contact> {
68
+ return this.client.get<Contact>(`/contacts/${id}`);
69
+ }
70
+
71
+ async createContact(params: ContactCreateParams): Promise<Contact> {
72
+ return this.client.post<Contact>('/contacts', params);
73
+ }
74
+
75
+ async updateContact(id: string, params: ContactUpdateParams): Promise<Contact> {
76
+ return this.client.put<Contact>(`/contacts/${id}`, params);
77
+ }
78
+
79
+ async deleteContact(id: string): Promise<{ id: string; type: string; deleted: boolean }> {
80
+ return this.client.delete<{ id: string; type: string; deleted: boolean }>(`/contacts/${id}`);
81
+ }
82
+
83
+ async archiveContact(id: string): Promise<Contact> {
84
+ return this.client.post<Contact>(`/contacts/${id}/archive`);
85
+ }
86
+
87
+ async unarchiveContact(id: string): Promise<Contact> {
88
+ return this.client.post<Contact>(`/contacts/${id}/unarchive`);
89
+ }
90
+
91
+ async searchContacts(params: ContactSearchParams): Promise<ContactListResponse> {
92
+ return this.client.post<ContactListResponse>('/contacts/search', params);
93
+ }
94
+
95
+ async mergeContacts(leadId: string, userId: string): Promise<Contact> {
96
+ return this.client.post<Contact>('/contacts/merge', {
97
+ from: leadId,
98
+ into: userId,
99
+ });
100
+ }
101
+
102
+ async attachContactToCompany(contactId: string, companyId: string): Promise<Company> {
103
+ return this.client.post<Company>(`/contacts/${contactId}/companies`, {
104
+ id: companyId,
105
+ });
106
+ }
107
+
108
+ async detachContactFromCompany(contactId: string, companyId: string): Promise<Company> {
109
+ return this.client.delete<Company>(`/contacts/${contactId}/companies/${companyId}`);
110
+ }
111
+
112
+ async listContactCompanies(contactId: string): Promise<CompanyListResponse> {
113
+ return this.client.get<CompanyListResponse>(`/contacts/${contactId}/companies`);
114
+ }
115
+
116
+ async addTagToContact(contactId: string, tagId: string): Promise<Tag> {
117
+ return this.client.post<Tag>(`/contacts/${contactId}/tags`, {
118
+ id: tagId,
119
+ });
120
+ }
121
+
122
+ async removeTagFromContact(contactId: string, tagId: string): Promise<Tag> {
123
+ return this.client.delete<Tag>(`/contacts/${contactId}/tags/${tagId}`);
124
+ }
125
+
126
+ async listContactTags(contactId: string): Promise<TagListResponse> {
127
+ return this.client.get<TagListResponse>(`/contacts/${contactId}/tags`);
128
+ }
129
+
130
+ async createNoteForContact(params: NoteCreateParams): Promise<Note> {
131
+ return this.client.post<Note>(`/contacts/${params.contact_id}/notes`, {
132
+ body: params.body,
133
+ admin_id: params.admin_id,
134
+ });
135
+ }
136
+
137
+ async listContactNotes(contactId: string): Promise<{ type: string; data: Note[] }> {
138
+ return this.client.get<{ type: string; data: Note[] }>(`/contacts/${contactId}/notes`);
139
+ }
140
+
141
+ // ============================================
142
+ // Conversation Methods
143
+ // ============================================
144
+
145
+ async listConversations(params?: { per_page?: number; starting_after?: string }): Promise<ConversationListResponse> {
146
+ return this.client.get<ConversationListResponse>('/conversations', params);
147
+ }
148
+
149
+ async getConversation(id: string, displayAs?: 'plaintext'): Promise<Conversation> {
150
+ return this.client.get<Conversation>(`/conversations/${id}`, displayAs ? { display_as: displayAs } : undefined);
151
+ }
152
+
153
+ async searchConversations(params: ConversationSearchParams): Promise<ConversationListResponse> {
154
+ return this.client.post<ConversationListResponse>('/conversations/search', params);
155
+ }
156
+
157
+ async replyToConversation(conversationId: string, params: ConversationReplyParams): Promise<Conversation> {
158
+ return this.client.post<Conversation>(`/conversations/${conversationId}/reply`, params);
159
+ }
160
+
161
+ async closeConversation(conversationId: string, adminId: string, body?: string): Promise<Conversation> {
162
+ return this.client.post<Conversation>(`/conversations/${conversationId}/parts`, {
163
+ message_type: 'close',
164
+ type: 'admin',
165
+ admin_id: adminId,
166
+ body,
167
+ });
168
+ }
169
+
170
+ async openConversation(conversationId: string, adminId: string): Promise<Conversation> {
171
+ return this.client.post<Conversation>(`/conversations/${conversationId}/parts`, {
172
+ message_type: 'open',
173
+ admin_id: adminId,
174
+ });
175
+ }
176
+
177
+ async assignConversation(conversationId: string, adminId: string, assigneeId?: string, teamId?: string, body?: string): Promise<Conversation> {
178
+ return this.client.post<Conversation>(`/conversations/${conversationId}/parts`, {
179
+ message_type: 'assignment',
180
+ type: 'admin',
181
+ admin_id: adminId,
182
+ assignee_id: assigneeId,
183
+ team_id: teamId,
184
+ body,
185
+ });
186
+ }
187
+
188
+ async snoozeConversation(conversationId: string, adminId: string, snoozedUntil: number): Promise<Conversation> {
189
+ return this.client.post<Conversation>(`/conversations/${conversationId}/parts`, {
190
+ message_type: 'snoozed',
191
+ admin_id: adminId,
192
+ snoozed_until: snoozedUntil,
193
+ });
194
+ }
195
+
196
+ async addTagToConversation(conversationId: string, tagId: string, adminId: string): Promise<Tag> {
197
+ return this.client.post<Tag>(`/conversations/${conversationId}/tags`, {
198
+ id: tagId,
199
+ admin_id: adminId,
200
+ });
201
+ }
202
+
203
+ async removeTagFromConversation(conversationId: string, tagId: string, adminId: string): Promise<Tag> {
204
+ return this.client.delete<Tag>(`/conversations/${conversationId}/tags/${tagId}`, { admin_id: adminId });
205
+ }
206
+
207
+ // ============================================
208
+ // Company Methods
209
+ // ============================================
210
+
211
+ async listCompanies(params?: { per_page?: number; page?: number }): Promise<CompanyListResponse> {
212
+ return this.client.get<CompanyListResponse>('/companies', params);
213
+ }
214
+
215
+ async getCompany(id: string): Promise<Company> {
216
+ return this.client.get<Company>(`/companies/${id}`);
217
+ }
218
+
219
+ async createOrUpdateCompany(params: CompanyCreateParams): Promise<Company> {
220
+ return this.client.post<Company>('/companies', params);
221
+ }
222
+
223
+ async deleteCompany(id: string): Promise<{ id: string; type: string; deleted: boolean }> {
224
+ return this.client.delete<{ id: string; type: string; deleted: boolean }>(`/companies/${id}`);
225
+ }
226
+
227
+ async listCompanyContacts(companyId: string, params?: { per_page?: number; page?: number }): Promise<ContactListResponse> {
228
+ return this.client.get<ContactListResponse>(`/companies/${companyId}/contacts`, params);
229
+ }
230
+
231
+ async addTagToCompany(companyId: string, tagName: string): Promise<Tag> {
232
+ return this.client.post<Tag>(`/companies/${companyId}/tags`, {
233
+ name: tagName,
234
+ });
235
+ }
236
+
237
+ async removeTagFromCompany(companyId: string, tagId: string): Promise<Tag> {
238
+ return this.client.delete<Tag>(`/companies/${companyId}/tags/${tagId}`);
239
+ }
240
+
241
+ // ============================================
242
+ // Tag Methods
243
+ // ============================================
244
+
245
+ async listTags(): Promise<TagListResponse> {
246
+ return this.client.get<TagListResponse>('/tags');
247
+ }
248
+
249
+ async getTag(id: string): Promise<Tag> {
250
+ return this.client.get<Tag>(`/tags/${id}`);
251
+ }
252
+
253
+ async createTag(params: TagCreateParams): Promise<Tag> {
254
+ return this.client.post<Tag>('/tags', params);
255
+ }
256
+
257
+ async updateTag(id: string, name: string): Promise<Tag> {
258
+ return this.client.put<Tag>(`/tags/${id}`, { name });
259
+ }
260
+
261
+ async deleteTag(id: string): Promise<void> {
262
+ return this.client.delete<void>(`/tags/${id}`);
263
+ }
264
+
265
+ // ============================================
266
+ // Admin Methods
267
+ // ============================================
268
+
269
+ async listAdmins(): Promise<AdminListResponse> {
270
+ return this.client.get<AdminListResponse>('/admins');
271
+ }
272
+
273
+ async getAdmin(id: string): Promise<Admin> {
274
+ return this.client.get<Admin>(`/admins/${id}`);
275
+ }
276
+
277
+ async getCurrentAdmin(): Promise<Admin> {
278
+ return this.client.get<Admin>('/me');
279
+ }
280
+
281
+ async setAdminAwayMode(adminId: string, awayModeEnabled: boolean, awayModeReassign: boolean): Promise<Admin> {
282
+ return this.client.put<Admin>(`/admins/${adminId}/away`, {
283
+ away_mode_enabled: awayModeEnabled,
284
+ away_mode_reassign: awayModeReassign,
285
+ });
286
+ }
287
+
288
+ // ============================================
289
+ // Team Methods
290
+ // ============================================
291
+
292
+ async listTeams(): Promise<TeamListResponse> {
293
+ return this.client.get<TeamListResponse>('/teams');
294
+ }
295
+
296
+ async getTeam(id: string): Promise<Team> {
297
+ return this.client.get<Team>(`/teams/${id}`);
298
+ }
299
+
300
+ // ============================================
301
+ // Data Event Methods
302
+ // ============================================
303
+
304
+ async listDataEvents(params: { user_id?: string; intercom_user_id?: string; email?: string; type: string }): Promise<DataEventListResponse> {
305
+ return this.client.get<DataEventListResponse>('/events', params);
306
+ }
307
+
308
+ async createDataEvent(params: DataEventCreateParams): Promise<void> {
309
+ return this.client.post<void>('/events', params);
310
+ }
311
+
312
+ async trackDataEvents(events: DataEventCreateParams[]): Promise<void> {
313
+ return this.client.post<void>('/bulk/events', {
314
+ items: events.map(e => ({
315
+ method: 'post',
316
+ data_type: 'event',
317
+ data: e,
318
+ })),
319
+ });
320
+ }
321
+
322
+ // ============================================
323
+ // Article Methods
324
+ // ============================================
325
+
326
+ async listArticles(params?: { per_page?: number; page?: number }): Promise<ArticleListResponse> {
327
+ return this.client.get<ArticleListResponse>('/articles', params);
328
+ }
329
+
330
+ async getArticle(id: string): Promise<Article> {
331
+ return this.client.get<Article>(`/articles/${id}`);
332
+ }
333
+
334
+ async createArticle(params: ArticleCreateParams): Promise<Article> {
335
+ return this.client.post<Article>('/articles', params);
336
+ }
337
+
338
+ async updateArticle(id: string, params: Partial<ArticleCreateParams>): Promise<Article> {
339
+ return this.client.put<Article>(`/articles/${id}`, params);
340
+ }
341
+
342
+ async deleteArticle(id: string): Promise<{ id: string; type: string; deleted: boolean }> {
343
+ return this.client.delete<{ id: string; type: string; deleted: boolean }>(`/articles/${id}`);
344
+ }
345
+
346
+ // ============================================
347
+ // Message Methods (Outbound)
348
+ // ============================================
349
+
350
+ async createMessage(params: MessageCreateParams): Promise<Message> {
351
+ return this.client.post<Message>('/messages', params);
352
+ }
353
+
354
+ // ============================================
355
+ // Counts
356
+ // ============================================
357
+
358
+ async getCounts(type: 'conversation' | 'user' | 'company'): Promise<{
359
+ type: string;
360
+ [key: string]: unknown;
361
+ }> {
362
+ return this.client.get<{ type: string; [key: string]: unknown }>('/counts', { type });
363
+ }
364
+ }
365
+
366
+ export { IntercomClient } from './client';