@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,21 @@
1
+ // Intercom Connector
2
+ // Manage contacts, conversations, companies, and customer engagement
3
+
4
+ export { Intercom, IntercomClient } from './api';
5
+ export * from './types';
6
+
7
+ // Export config utilities
8
+ export {
9
+ getAccessToken,
10
+ setAccessToken,
11
+ getCurrentProfile,
12
+ setCurrentProfile,
13
+ listProfiles,
14
+ createProfile,
15
+ deleteProfile,
16
+ loadProfile,
17
+ saveProfile,
18
+ clearConfig,
19
+ getConfigDir,
20
+ getActiveProfileName,
21
+ } from './utils/config';
@@ -0,0 +1,650 @@
1
+ // Intercom Connector Types
2
+
3
+ // ============================================
4
+ // Configuration
5
+ // ============================================
6
+
7
+ export interface IntercomConfig {
8
+ accessToken: string;
9
+ baseUrl?: string;
10
+ }
11
+
12
+ // ============================================
13
+ // Common Types
14
+ // ============================================
15
+
16
+ export type OutputFormat = 'json' | 'pretty';
17
+
18
+ export interface PaginatedResponse<T> {
19
+ type: string;
20
+ data: T[];
21
+ total_count?: number;
22
+ pages?: {
23
+ type: string;
24
+ next?: {
25
+ page: number;
26
+ starting_after?: string;
27
+ };
28
+ page: number;
29
+ per_page: number;
30
+ total_pages: number;
31
+ };
32
+ }
33
+
34
+ // ============================================
35
+ // Contact Types
36
+ // ============================================
37
+
38
+ export type ContactRole = 'user' | 'lead';
39
+
40
+ export interface Contact {
41
+ type: 'contact';
42
+ id: string;
43
+ workspace_id: string;
44
+ external_id?: string;
45
+ role: ContactRole;
46
+ email?: string;
47
+ phone?: string;
48
+ name?: string;
49
+ avatar?: string;
50
+ owner_id?: number;
51
+ social_profiles?: {
52
+ type: string;
53
+ data: SocialProfile[];
54
+ };
55
+ has_hard_bounced: boolean;
56
+ marked_email_as_spam: boolean;
57
+ unsubscribed_from_emails: boolean;
58
+ created_at: number;
59
+ updated_at: number;
60
+ signed_up_at?: number;
61
+ last_seen_at?: number;
62
+ last_replied_at?: number;
63
+ last_contacted_at?: number;
64
+ last_email_opened_at?: number;
65
+ last_email_clicked_at?: number;
66
+ language_override?: string;
67
+ browser?: string;
68
+ browser_version?: string;
69
+ browser_language?: string;
70
+ os?: string;
71
+ location?: ContactLocation;
72
+ android_app_name?: string;
73
+ android_app_version?: string;
74
+ android_device?: string;
75
+ android_os_version?: string;
76
+ android_sdk_version?: string;
77
+ android_last_seen_at?: number;
78
+ ios_app_name?: string;
79
+ ios_app_version?: string;
80
+ ios_device?: string;
81
+ ios_os_version?: string;
82
+ ios_sdk_version?: string;
83
+ ios_last_seen_at?: number;
84
+ custom_attributes?: Record<string, unknown>;
85
+ tags?: {
86
+ type: string;
87
+ data: TagReference[];
88
+ };
89
+ notes?: {
90
+ type: string;
91
+ data: NoteReference[];
92
+ };
93
+ companies?: {
94
+ type: string;
95
+ data: CompanyReference[];
96
+ };
97
+ }
98
+
99
+ export interface SocialProfile {
100
+ type: string;
101
+ name: string;
102
+ url: string;
103
+ }
104
+
105
+ export interface ContactLocation {
106
+ type: string;
107
+ country?: string;
108
+ region?: string;
109
+ city?: string;
110
+ country_code?: string;
111
+ continent_code?: string;
112
+ }
113
+
114
+ export interface TagReference {
115
+ type: 'tag';
116
+ id: string;
117
+ url: string;
118
+ }
119
+
120
+ export interface NoteReference {
121
+ type: 'note';
122
+ id: string;
123
+ url: string;
124
+ }
125
+
126
+ export interface CompanyReference {
127
+ type: 'company';
128
+ id: string;
129
+ url: string;
130
+ }
131
+
132
+ export interface ContactListResponse extends PaginatedResponse<Contact> {
133
+ type: 'list';
134
+ }
135
+
136
+ export interface ContactCreateParams {
137
+ role?: ContactRole;
138
+ external_id?: string;
139
+ email?: string;
140
+ phone?: string;
141
+ name?: string;
142
+ avatar?: string;
143
+ signed_up_at?: number;
144
+ last_seen_at?: number;
145
+ owner_id?: number;
146
+ unsubscribed_from_emails?: boolean;
147
+ custom_attributes?: Record<string, unknown>;
148
+ }
149
+
150
+ export interface ContactUpdateParams {
151
+ role?: ContactRole;
152
+ external_id?: string;
153
+ email?: string;
154
+ phone?: string;
155
+ name?: string;
156
+ avatar?: string;
157
+ signed_up_at?: number;
158
+ last_seen_at?: number;
159
+ owner_id?: number;
160
+ unsubscribed_from_emails?: boolean;
161
+ custom_attributes?: Record<string, unknown>;
162
+ }
163
+
164
+ export interface ContactSearchParams {
165
+ query: ContactSearchQuery;
166
+ pagination?: {
167
+ per_page?: number;
168
+ starting_after?: string;
169
+ };
170
+ }
171
+
172
+ export interface ContactSearchQuery {
173
+ field?: string;
174
+ operator?: 'AND' | 'OR' | '=' | '!=' | 'IN' | 'NIN' | '<' | '>' | '~' | '!~' | '^' | '$';
175
+ value?: string | number | boolean | string[];
176
+ queries?: ContactSearchQuery[];
177
+ }
178
+
179
+ // ============================================
180
+ // Conversation Types
181
+ // ============================================
182
+
183
+ export type ConversationState = 'open' | 'closed' | 'snoozed';
184
+
185
+ export interface Conversation {
186
+ type: 'conversation';
187
+ id: string;
188
+ title?: string;
189
+ created_at: number;
190
+ updated_at: number;
191
+ waiting_since?: number;
192
+ snoozed_until?: number;
193
+ open: boolean;
194
+ state: ConversationState;
195
+ read: boolean;
196
+ priority: 'priority' | 'not_priority';
197
+ admin_assignee_id?: number;
198
+ team_assignee_id?: string;
199
+ tags?: {
200
+ type: string;
201
+ tags: Tag[];
202
+ };
203
+ conversation_rating?: ConversationRating;
204
+ source: ConversationSource;
205
+ contacts?: {
206
+ type: string;
207
+ contacts: ContactReference[];
208
+ };
209
+ teammates?: {
210
+ type: string;
211
+ admins: AdminReference[];
212
+ };
213
+ first_contact_reply?: {
214
+ created_at: number;
215
+ type: string;
216
+ url?: string;
217
+ };
218
+ sla_applied?: SlaApplied;
219
+ statistics?: ConversationStatistics;
220
+ conversation_parts?: {
221
+ type: string;
222
+ conversation_parts: ConversationPart[];
223
+ total_count: number;
224
+ };
225
+ custom_attributes?: Record<string, unknown>;
226
+ }
227
+
228
+ export interface ConversationRating {
229
+ rating: number;
230
+ remark?: string;
231
+ created_at: number;
232
+ contact: ContactReference;
233
+ teammate?: AdminReference;
234
+ }
235
+
236
+ export interface ConversationSource {
237
+ type: string;
238
+ id: string;
239
+ delivered_as: string;
240
+ subject?: string;
241
+ body: string;
242
+ author: Author;
243
+ attachments?: Attachment[];
244
+ url?: string;
245
+ redacted: boolean;
246
+ }
247
+
248
+ export interface Author {
249
+ type: string;
250
+ id: string;
251
+ name?: string;
252
+ email?: string;
253
+ }
254
+
255
+ export interface Attachment {
256
+ type: string;
257
+ name: string;
258
+ url: string;
259
+ content_type: string;
260
+ filesize: number;
261
+ width?: number;
262
+ height?: number;
263
+ }
264
+
265
+ export interface ContactReference {
266
+ type: 'contact';
267
+ id: string;
268
+ external_id?: string;
269
+ }
270
+
271
+ export interface AdminReference {
272
+ type: 'admin';
273
+ id: string;
274
+ }
275
+
276
+ export interface SlaApplied {
277
+ type: string;
278
+ sla_name: string;
279
+ sla_status: 'hit' | 'missed' | 'cancelled' | 'active';
280
+ }
281
+
282
+ export interface ConversationStatistics {
283
+ type: string;
284
+ time_to_assignment?: number;
285
+ time_to_admin_reply?: number;
286
+ time_to_first_close?: number;
287
+ time_to_last_close?: number;
288
+ median_time_to_reply?: number;
289
+ first_contact_reply_at?: number;
290
+ first_assignment_at?: number;
291
+ first_admin_reply_at?: number;
292
+ first_close_at?: number;
293
+ last_assignment_at?: number;
294
+ last_assignment_admin_reply_at?: number;
295
+ last_contact_reply_at?: number;
296
+ last_admin_reply_at?: number;
297
+ last_close_at?: number;
298
+ last_closed_by_id?: string;
299
+ count_reopens?: number;
300
+ count_assignments?: number;
301
+ count_conversation_parts?: number;
302
+ }
303
+
304
+ export interface ConversationPart {
305
+ type: 'conversation_part';
306
+ id: string;
307
+ part_type: string;
308
+ body?: string;
309
+ created_at: number;
310
+ updated_at: number;
311
+ notified_at: number;
312
+ assigned_to?: AdminReference;
313
+ author: Author;
314
+ attachments?: Attachment[];
315
+ external_id?: string;
316
+ redacted: boolean;
317
+ }
318
+
319
+ export interface ConversationListResponse extends PaginatedResponse<Conversation> {
320
+ type: 'conversation.list';
321
+ }
322
+
323
+ export interface ConversationReplyParams {
324
+ message_type: 'comment' | 'note';
325
+ type: 'admin' | 'user';
326
+ body: string;
327
+ admin_id?: string;
328
+ intercom_user_id?: string;
329
+ user_id?: string;
330
+ email?: string;
331
+ attachment_urls?: string[];
332
+ }
333
+
334
+ export interface ConversationSearchParams {
335
+ query: ContactSearchQuery;
336
+ pagination?: {
337
+ per_page?: number;
338
+ starting_after?: string;
339
+ };
340
+ }
341
+
342
+ // ============================================
343
+ // Company Types
344
+ // ============================================
345
+
346
+ export interface Company {
347
+ type: 'company';
348
+ id: string;
349
+ company_id?: string;
350
+ name?: string;
351
+ app_id?: string;
352
+ plan?: {
353
+ type: string;
354
+ id: string;
355
+ name: string;
356
+ };
357
+ remote_created_at?: number;
358
+ created_at: number;
359
+ updated_at: number;
360
+ last_request_at?: number;
361
+ size?: number;
362
+ website?: string;
363
+ industry?: string;
364
+ monthly_spend?: number;
365
+ session_count?: number;
366
+ user_count?: number;
367
+ tags?: {
368
+ type: string;
369
+ tags: Tag[];
370
+ };
371
+ segments?: {
372
+ type: string;
373
+ segments: Segment[];
374
+ };
375
+ custom_attributes?: Record<string, unknown>;
376
+ }
377
+
378
+ export interface Segment {
379
+ type: 'segment';
380
+ id: string;
381
+ name: string;
382
+ created_at: number;
383
+ updated_at: number;
384
+ person_type: 'user' | 'lead' | 'contact';
385
+ count?: number;
386
+ }
387
+
388
+ export interface CompanyListResponse extends PaginatedResponse<Company> {
389
+ type: 'list';
390
+ }
391
+
392
+ export interface CompanyCreateParams {
393
+ company_id?: string;
394
+ name?: string;
395
+ plan?: string;
396
+ remote_created_at?: number;
397
+ size?: number;
398
+ website?: string;
399
+ industry?: string;
400
+ monthly_spend?: number;
401
+ custom_attributes?: Record<string, unknown>;
402
+ }
403
+
404
+ // ============================================
405
+ // Tag Types
406
+ // ============================================
407
+
408
+ export interface Tag {
409
+ type: 'tag';
410
+ id: string;
411
+ name: string;
412
+ applied_at?: number;
413
+ applied_by?: AdminReference;
414
+ }
415
+
416
+ export interface TagListResponse {
417
+ type: 'list';
418
+ data: Tag[];
419
+ }
420
+
421
+ export interface TagCreateParams {
422
+ name: string;
423
+ }
424
+
425
+ // ============================================
426
+ // Admin Types
427
+ // ============================================
428
+
429
+ export interface Admin {
430
+ type: 'admin';
431
+ id: string;
432
+ name?: string;
433
+ email: string;
434
+ job_title?: string;
435
+ away_mode_enabled: boolean;
436
+ away_mode_reassign: boolean;
437
+ has_inbox_seat: boolean;
438
+ team_ids?: string[];
439
+ avatar?: {
440
+ type: string;
441
+ image_url?: string;
442
+ };
443
+ }
444
+
445
+ export interface AdminListResponse {
446
+ type: 'admin.list';
447
+ admins: Admin[];
448
+ }
449
+
450
+ // ============================================
451
+ // Team Types
452
+ // ============================================
453
+
454
+ export interface Team {
455
+ type: 'team';
456
+ id: string;
457
+ name: string;
458
+ admin_ids?: string[];
459
+ admin_priority_level?: {
460
+ primary_admin_ids?: string[];
461
+ secondary_admin_ids?: string[];
462
+ };
463
+ }
464
+
465
+ export interface TeamListResponse {
466
+ type: 'team.list';
467
+ teams: Team[];
468
+ }
469
+
470
+ // ============================================
471
+ // Data Event Types
472
+ // ============================================
473
+
474
+ export interface DataEvent {
475
+ type: 'event';
476
+ event_name: string;
477
+ created_at: number;
478
+ user_id?: string;
479
+ intercom_user_id?: string;
480
+ email?: string;
481
+ metadata?: Record<string, unknown>;
482
+ }
483
+
484
+ export interface DataEventCreateParams {
485
+ event_name: string;
486
+ created_at?: number;
487
+ user_id?: string;
488
+ id?: string;
489
+ email?: string;
490
+ metadata?: Record<string, unknown>;
491
+ }
492
+
493
+ export interface DataEventListResponse {
494
+ type: 'event.list';
495
+ events: DataEvent[];
496
+ pages?: {
497
+ next?: string;
498
+ since?: string;
499
+ };
500
+ }
501
+
502
+ // ============================================
503
+ // Article Types
504
+ // ============================================
505
+
506
+ export type ArticleState = 'published' | 'draft';
507
+
508
+ export interface Article {
509
+ type: 'article';
510
+ id: string;
511
+ workspace_id: string;
512
+ title: string;
513
+ description?: string;
514
+ body: string;
515
+ author_id: number;
516
+ state: ArticleState;
517
+ created_at: number;
518
+ updated_at: number;
519
+ url?: string;
520
+ parent_id?: number;
521
+ parent_ids?: number[];
522
+ parent_type?: string;
523
+ default_locale: string;
524
+ translated_content?: {
525
+ type: string;
526
+ [locale: string]: ArticleTranslation | string;
527
+ };
528
+ statistics?: {
529
+ type: string;
530
+ views: number;
531
+ conversions: number;
532
+ reactions: number;
533
+ happy_reaction_percentage: number;
534
+ neutral_reaction_percentage: number;
535
+ sad_reaction_percentage: number;
536
+ };
537
+ }
538
+
539
+ export interface ArticleTranslation {
540
+ type: string;
541
+ title?: string;
542
+ description?: string;
543
+ body?: string;
544
+ author_id?: number;
545
+ state?: ArticleState;
546
+ created_at?: number;
547
+ updated_at?: number;
548
+ url?: string;
549
+ }
550
+
551
+ export interface ArticleListResponse extends PaginatedResponse<Article> {
552
+ type: 'list';
553
+ }
554
+
555
+ export interface ArticleCreateParams {
556
+ title: string;
557
+ description?: string;
558
+ body: string;
559
+ author_id: number;
560
+ state?: ArticleState;
561
+ parent_id?: number;
562
+ parent_type?: string;
563
+ translated_content?: Record<string, {
564
+ title?: string;
565
+ description?: string;
566
+ body?: string;
567
+ author_id?: number;
568
+ state?: ArticleState;
569
+ }>;
570
+ }
571
+
572
+ // ============================================
573
+ // Note Types
574
+ // ============================================
575
+
576
+ export interface Note {
577
+ type: 'note';
578
+ id: string;
579
+ created_at: number;
580
+ contact?: ContactReference;
581
+ author?: Author;
582
+ body: string;
583
+ }
584
+
585
+ export interface NoteCreateParams {
586
+ body: string;
587
+ contact_id: string;
588
+ admin_id?: string;
589
+ }
590
+
591
+ // ============================================
592
+ // Message Types (for creating outbound messages)
593
+ // ============================================
594
+
595
+ export interface Message {
596
+ type: 'user_message' | 'admin_message';
597
+ id: string;
598
+ created_at: number;
599
+ body: string;
600
+ message_type: 'email' | 'inapp' | 'facebook' | 'twitter' | 'push';
601
+ conversation_id?: string;
602
+ }
603
+
604
+ export interface MessageCreateParams {
605
+ message_type: 'email' | 'inapp';
606
+ subject?: string;
607
+ body: string;
608
+ template?: 'plain' | 'personal';
609
+ from: {
610
+ type: 'admin' | 'bot';
611
+ id?: string;
612
+ };
613
+ to: {
614
+ type: 'user' | 'lead' | 'contact';
615
+ id?: string;
616
+ user_id?: string;
617
+ email?: string;
618
+ };
619
+ create_conversation_without_contact_reply?: boolean;
620
+ }
621
+
622
+ // ============================================
623
+ // API Error Types
624
+ // ============================================
625
+
626
+ export interface IntercomErrorDetail {
627
+ code: string;
628
+ message: string;
629
+ field?: string;
630
+ }
631
+
632
+ export interface IntercomErrorResponse {
633
+ type: 'error.list';
634
+ request_id?: string;
635
+ errors: IntercomErrorDetail[];
636
+ }
637
+
638
+ export class IntercomApiError extends Error {
639
+ public readonly statusCode: number;
640
+ public readonly errors?: IntercomErrorDetail[];
641
+ public readonly requestId?: string;
642
+
643
+ constructor(message: string, statusCode: number, errors?: IntercomErrorDetail[], requestId?: string) {
644
+ super(message);
645
+ this.name = 'IntercomApiError';
646
+ this.statusCode = statusCode;
647
+ this.errors = errors;
648
+ this.requestId = requestId;
649
+ }
650
+ }