@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,24 @@
1
+ // Supabase Connector
2
+ // A TypeScript wrapper for the Supabase API
3
+
4
+ export { Supabase } from './api';
5
+ export { SupabaseClient } from './api/client';
6
+ export * from './types';
7
+
8
+ // Export config utilities
9
+ export {
10
+ getProjectUrl,
11
+ setProjectUrl,
12
+ getServiceRoleKey,
13
+ setServiceRoleKey,
14
+ getAnonKey,
15
+ setAnonKey,
16
+ getCurrentProfile,
17
+ setCurrentProfile,
18
+ listProfiles,
19
+ createProfile,
20
+ deleteProfile,
21
+ loadProfile,
22
+ saveProfile,
23
+ clearConfig,
24
+ } from './utils/config';
@@ -0,0 +1,215 @@
1
+ // Supabase Connector Types
2
+
3
+ // ============================================
4
+ // Configuration
5
+ // ============================================
6
+
7
+ export interface SupabaseConfig {
8
+ projectUrl: string;
9
+ serviceRoleKey?: string;
10
+ anonKey?: string;
11
+ }
12
+
13
+ // ============================================
14
+ // Common Types
15
+ // ============================================
16
+
17
+ export type OutputFormat = 'json' | 'pretty';
18
+
19
+ // ============================================
20
+ // Auth Types
21
+ // ============================================
22
+
23
+ export interface User {
24
+ id: string;
25
+ aud: string;
26
+ role?: string;
27
+ email?: string;
28
+ email_confirmed_at?: string;
29
+ phone?: string;
30
+ phone_confirmed_at?: string;
31
+ confirmed_at?: string;
32
+ last_sign_in_at?: string;
33
+ app_metadata: {
34
+ provider?: string;
35
+ providers?: string[];
36
+ [key: string]: unknown;
37
+ };
38
+ user_metadata: Record<string, unknown>;
39
+ identities?: Identity[];
40
+ created_at: string;
41
+ updated_at: string;
42
+ is_anonymous?: boolean;
43
+ banned_until?: string;
44
+ }
45
+
46
+ export interface Identity {
47
+ id: string;
48
+ user_id: string;
49
+ identity_data: Record<string, unknown>;
50
+ identity_id: string;
51
+ provider: string;
52
+ created_at: string;
53
+ last_sign_in_at: string;
54
+ updated_at: string;
55
+ }
56
+
57
+ export interface Session {
58
+ access_token: string;
59
+ token_type: string;
60
+ expires_in: number;
61
+ expires_at?: number;
62
+ refresh_token: string;
63
+ user: User;
64
+ }
65
+
66
+ export interface AuthResponse {
67
+ user: User | null;
68
+ session: Session | null;
69
+ }
70
+
71
+ export interface AdminUserAttributes {
72
+ email?: string;
73
+ phone?: string;
74
+ password?: string;
75
+ email_confirm?: boolean;
76
+ phone_confirm?: boolean;
77
+ user_metadata?: Record<string, unknown>;
78
+ app_metadata?: Record<string, unknown>;
79
+ ban_duration?: string;
80
+ role?: string;
81
+ }
82
+
83
+ export interface ListUsersResult {
84
+ users: User[];
85
+ aud?: string;
86
+ nextPage?: number;
87
+ lastPage?: number;
88
+ total?: number;
89
+ }
90
+
91
+ export interface Factor {
92
+ id: string;
93
+ friendly_name?: string;
94
+ factor_type: 'totp' | 'phone';
95
+ status: 'verified' | 'unverified';
96
+ created_at: string;
97
+ updated_at: string;
98
+ }
99
+
100
+ // ============================================
101
+ // Storage Types
102
+ // ============================================
103
+
104
+ export interface Bucket {
105
+ id: string;
106
+ name: string;
107
+ owner?: string;
108
+ created_at: string;
109
+ updated_at: string;
110
+ public: boolean;
111
+ file_size_limit?: number;
112
+ allowed_mime_types?: string[];
113
+ }
114
+
115
+ export interface FileObject {
116
+ id: string;
117
+ name: string;
118
+ bucket_id: string;
119
+ owner?: string;
120
+ created_at: string;
121
+ updated_at: string;
122
+ last_accessed_at?: string;
123
+ metadata: Record<string, unknown>;
124
+ }
125
+
126
+ export interface SignedUrl {
127
+ signedUrl: string;
128
+ token?: string;
129
+ path?: string;
130
+ }
131
+
132
+ export interface UploadResult {
133
+ id: string;
134
+ path: string;
135
+ fullPath: string;
136
+ }
137
+
138
+ // ============================================
139
+ // Database Types (REST API)
140
+ // ============================================
141
+
142
+ export interface TableInfo {
143
+ table_name: string;
144
+ table_schema: string;
145
+ table_type: string;
146
+ }
147
+
148
+ export interface ColumnInfo {
149
+ column_name: string;
150
+ data_type: string;
151
+ is_nullable: string;
152
+ column_default?: string;
153
+ table_name: string;
154
+ table_schema: string;
155
+ }
156
+
157
+ // ============================================
158
+ // Edge Functions Types
159
+ // ============================================
160
+
161
+ export interface EdgeFunction {
162
+ id: string;
163
+ slug: string;
164
+ name: string;
165
+ version: number;
166
+ created_at: string;
167
+ updated_at: string;
168
+ status: 'ACTIVE' | 'INACTIVE' | 'THROTTLED';
169
+ verify_jwt: boolean;
170
+ }
171
+
172
+ // ============================================
173
+ // Project Settings Types
174
+ // ============================================
175
+
176
+ export interface ProjectSettings {
177
+ name: string;
178
+ ref: string;
179
+ organization_id: string;
180
+ cloud_provider: string;
181
+ region: string;
182
+ created_at: string;
183
+ database: {
184
+ host: string;
185
+ version: string;
186
+ };
187
+ }
188
+
189
+ // ============================================
190
+ // API Error Types
191
+ // ============================================
192
+
193
+ export interface SupabaseErrorResponse {
194
+ error?: string;
195
+ error_description?: string;
196
+ message?: string;
197
+ msg?: string;
198
+ code?: string;
199
+ hint?: string;
200
+ details?: string;
201
+ }
202
+
203
+ export class SupabaseApiError extends Error {
204
+ public readonly statusCode: number;
205
+ public readonly code?: string;
206
+ public readonly hint?: string;
207
+
208
+ constructor(message: string, statusCode: number, code?: string, hint?: string) {
209
+ super(message);
210
+ this.name = 'SupabaseApiError';
211
+ this.statusCode = statusCode;
212
+ this.code = code;
213
+ this.hint = hint;
214
+ }
215
+ }
@@ -0,0 +1,219 @@
1
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync, rmSync } from 'fs';
2
+ import { homedir } from 'os';
3
+ import { join } from 'path';
4
+
5
+ const CONNECTOR_NAME = 'connect-supabase';
6
+ const DEFAULT_PROFILE = 'default';
7
+
8
+ export interface ProfileConfig {
9
+ projectUrl?: string;
10
+ serviceRoleKey?: string;
11
+ anonKey?: string;
12
+ }
13
+
14
+ // Store for --profile flag override (set by CLI before commands run)
15
+ let profileOverride: string | undefined;
16
+
17
+ // Config directory: ~/.connect/{connector-name}/
18
+ const CONFIG_DIR = join(homedir(), '.connect', CONNECTOR_NAME);
19
+ const PROFILES_DIR = join(CONFIG_DIR, 'profiles');
20
+ const CURRENT_PROFILE_FILE = join(CONFIG_DIR, 'current_profile');
21
+
22
+ // ============================================
23
+ // Profile Management
24
+ // ============================================
25
+
26
+ export function setProfileOverride(profile: string | undefined): void {
27
+ profileOverride = profile;
28
+ }
29
+
30
+ export function ensureConfigDir(): void {
31
+ if (!existsSync(CONFIG_DIR)) {
32
+ mkdirSync(CONFIG_DIR, { recursive: true });
33
+ }
34
+ if (!existsSync(PROFILES_DIR)) {
35
+ mkdirSync(PROFILES_DIR, { recursive: true });
36
+ }
37
+ }
38
+
39
+ function getProfilePath(profile: string): string {
40
+ return join(PROFILES_DIR, `${profile}.json`);
41
+ }
42
+
43
+ /**
44
+ * Get the current active profile name
45
+ */
46
+ export function getCurrentProfile(): string {
47
+ if (profileOverride) {
48
+ return profileOverride;
49
+ }
50
+
51
+ ensureConfigDir();
52
+
53
+ if (existsSync(CURRENT_PROFILE_FILE)) {
54
+ try {
55
+ const profile = readFileSync(CURRENT_PROFILE_FILE, 'utf-8').trim();
56
+ if (profile && profileExists(profile)) {
57
+ return profile;
58
+ }
59
+ } catch {
60
+ // Fall through to default
61
+ }
62
+ }
63
+
64
+ return DEFAULT_PROFILE;
65
+ }
66
+
67
+ /**
68
+ * Set the current active profile
69
+ */
70
+ export function setCurrentProfile(profile: string): void {
71
+ ensureConfigDir();
72
+
73
+ if (!profileExists(profile) && profile !== DEFAULT_PROFILE) {
74
+ throw new Error(`Profile "${profile}" does not exist`);
75
+ }
76
+
77
+ writeFileSync(CURRENT_PROFILE_FILE, profile);
78
+ }
79
+
80
+ /**
81
+ * Check if a profile exists
82
+ */
83
+ export function profileExists(profile: string): boolean {
84
+ return existsSync(getProfilePath(profile));
85
+ }
86
+
87
+ /**
88
+ * List all available profiles
89
+ */
90
+ export function listProfiles(): string[] {
91
+ ensureConfigDir();
92
+
93
+ if (!existsSync(PROFILES_DIR)) {
94
+ return [];
95
+ }
96
+
97
+ return readdirSync(PROFILES_DIR)
98
+ .filter(f => f.endsWith('.json'))
99
+ .map(f => f.replace('.json', ''))
100
+ .sort();
101
+ }
102
+
103
+ /**
104
+ * Create a new profile
105
+ */
106
+ export function createProfile(profile: string, config: ProfileConfig = {}): boolean {
107
+ ensureConfigDir();
108
+
109
+ if (profileExists(profile)) {
110
+ return false;
111
+ }
112
+
113
+ // Validate profile name
114
+ if (!/^[a-zA-Z0-9_-]+$/.test(profile)) {
115
+ throw new Error('Profile name can only contain letters, numbers, hyphens, and underscores');
116
+ }
117
+
118
+ writeFileSync(getProfilePath(profile), JSON.stringify(config, null, 2));
119
+ return true;
120
+ }
121
+
122
+ /**
123
+ * Delete a profile
124
+ */
125
+ export function deleteProfile(profile: string): boolean {
126
+ if (profile === DEFAULT_PROFILE) {
127
+ return false;
128
+ }
129
+
130
+ if (!profileExists(profile)) {
131
+ return false;
132
+ }
133
+
134
+ // Switch to default if deleting current profile
135
+ if (getCurrentProfile() === profile) {
136
+ setCurrentProfile(DEFAULT_PROFILE);
137
+ }
138
+
139
+ rmSync(getProfilePath(profile));
140
+ return true;
141
+ }
142
+
143
+ /**
144
+ * Load profile config
145
+ */
146
+ export function loadProfile(profile?: string): ProfileConfig {
147
+ ensureConfigDir();
148
+ const profileName = profile || getCurrentProfile();
149
+ const profilePath = getProfilePath(profileName);
150
+
151
+ if (!existsSync(profilePath)) {
152
+ return {};
153
+ }
154
+
155
+ try {
156
+ return JSON.parse(readFileSync(profilePath, 'utf-8'));
157
+ } catch {
158
+ return {};
159
+ }
160
+ }
161
+
162
+ /**
163
+ * Save profile config
164
+ */
165
+ export function saveProfile(config: ProfileConfig, profile?: string): void {
166
+ ensureConfigDir();
167
+ const profileName = profile || getCurrentProfile();
168
+ writeFileSync(getProfilePath(profileName), JSON.stringify(config, null, 2));
169
+ }
170
+
171
+ // ============================================
172
+ // Supabase Config Management
173
+ // ============================================
174
+
175
+ export function getProjectUrl(): string | undefined {
176
+ return process.env.SUPABASE_URL || process.env.SUPABASE_PROJECT_URL || loadProfile().projectUrl;
177
+ }
178
+
179
+ export function setProjectUrl(projectUrl: string): void {
180
+ const config = loadProfile();
181
+ config.projectUrl = projectUrl;
182
+ saveProfile(config);
183
+ }
184
+
185
+ export function getServiceRoleKey(): string | undefined {
186
+ return process.env.SUPABASE_SERVICE_ROLE_KEY || process.env.SUPABASE_SERVICE_KEY || loadProfile().serviceRoleKey;
187
+ }
188
+
189
+ export function setServiceRoleKey(serviceRoleKey: string): void {
190
+ const config = loadProfile();
191
+ config.serviceRoleKey = serviceRoleKey;
192
+ saveProfile(config);
193
+ }
194
+
195
+ export function getAnonKey(): string | undefined {
196
+ return process.env.SUPABASE_ANON_KEY || process.env.SUPABASE_KEY || loadProfile().anonKey;
197
+ }
198
+
199
+ export function setAnonKey(anonKey: string): void {
200
+ const config = loadProfile();
201
+ config.anonKey = anonKey;
202
+ saveProfile(config);
203
+ }
204
+
205
+ // ============================================
206
+ // Utility Functions
207
+ // ============================================
208
+
209
+ export function clearConfig(): void {
210
+ saveProfile({});
211
+ }
212
+
213
+ export function getConfigDir(): string {
214
+ return CONFIG_DIR;
215
+ }
216
+
217
+ export function getActiveProfileName(): string {
218
+ return getCurrentProfile();
219
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "module": "ESNext",
5
+ "moduleResolution": "bundler",
6
+ "esModuleInterop": true,
7
+ "strict": true,
8
+ "skipLibCheck": true,
9
+ "declaration": true,
10
+ "outDir": "./dist",
11
+ "rootDir": "./src",
12
+ "types": ["bun-types"]
13
+ },
14
+ "include": ["src/**/*"],
15
+ "exclude": ["node_modules", "dist", "bin"]
16
+ }
@@ -0,0 +1,11 @@
1
+ # API Credentials
2
+ # TODO: Update variable names and instructions for your API
3
+ # Example: PERPLEXITY_API_KEY, OPENAI_API_KEY, etc.
4
+
5
+ CONNECTOR_API_KEY=your-api-key-here
6
+
7
+ # Optional: API secret (if your API requires it)
8
+ # CONNECTOR_API_SECRET=your-api-secret-here
9
+
10
+ # Optional: Custom base URL (if needed)
11
+ # CONNECTOR_BASE_URL=https://api.example.com
@@ -0,0 +1,142 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ connect-vercel is a TypeScript connector for Vercel's REST API. It provides a CLI and programmatic interface for managing Vercel deployments, projects, domains, environment variables, and more.
8
+
9
+ ## Build & Run Commands
10
+
11
+ ```bash
12
+ bun install # Install dependencies
13
+ bun run dev # Run CLI in development
14
+ bun run build # Build for distribution
15
+ bun run typecheck # Type check
16
+ ```
17
+
18
+ ## CLI Commands
19
+
20
+ ```bash
21
+ # Authentication
22
+ connect-vercel auth login # Set API key
23
+ connect-vercel auth logout # Clear API key
24
+ connect-vercel auth status # Check auth status
25
+
26
+ # Profile management
27
+ connect-vercel profile list # List profiles
28
+ connect-vercel profile use <name> # Switch profile
29
+ connect-vercel profile create <name> # Create profile
30
+ connect-vercel profile delete <name> # Delete profile
31
+
32
+ # User
33
+ connect-vercel user # Get authenticated user info
34
+
35
+ # Teams
36
+ connect-vercel team list # List teams
37
+ connect-vercel team get <id> # Get team details
38
+ connect-vercel team use <id> # Set team ID for requests
39
+
40
+ # Projects
41
+ connect-vercel project list # List projects
42
+ connect-vercel project get <name> # Get project details
43
+ connect-vercel project create <name> # Create project
44
+ connect-vercel project delete <name> # Delete project
45
+
46
+ # Deployments
47
+ connect-vercel deployment list # List deployments
48
+ connect-vercel deployment get <id> # Get deployment details
49
+ connect-vercel deployment cancel <id> # Cancel deployment
50
+ connect-vercel deployment delete <id> # Delete deployment
51
+ connect-vercel deployment logs <id> # Get deployment logs
52
+
53
+ # Domains
54
+ connect-vercel domain list # List domains
55
+ connect-vercel domain get <domain> # Get domain details
56
+ connect-vercel domain add <project> <domain> # Add domain to project
57
+ connect-vercel domain remove <project> <domain> # Remove domain from project
58
+ connect-vercel domain verify <project> <domain> # Verify domain
59
+
60
+ # Environment Variables
61
+ connect-vercel env list <project> # List env vars
62
+ connect-vercel env get <project> <id> # Get env var details
63
+ connect-vercel env create <project> # Create env var
64
+ connect-vercel env delete <project> <id> # Delete env var
65
+
66
+ # Secrets (Legacy)
67
+ connect-vercel secret list # List secrets
68
+ connect-vercel secret get <name> # Get secret details
69
+ connect-vercel secret create <name> # Create secret
70
+ connect-vercel secret delete <name> # Delete secret
71
+
72
+ # Aliases
73
+ connect-vercel alias list # List aliases
74
+ connect-vercel alias get <id> # Get alias details
75
+ connect-vercel alias assign <deployment> <alias> # Assign alias
76
+ connect-vercel alias delete <id> # Delete alias
77
+ ```
78
+
79
+ ## Environment Variables
80
+
81
+ | Variable | Description |
82
+ |----------|-------------|
83
+ | `VERCEL_TOKEN` | API token (overrides profile config) |
84
+ | `VERCEL_TEAM_ID` | Team ID (overrides profile config) |
85
+
86
+ ## Authentication
87
+
88
+ Uses Bearer token authentication. Get your token from:
89
+ https://vercel.com/account/tokens
90
+
91
+ ## Data Storage
92
+
93
+ ```
94
+ ~/.connect/connect-vercel/
95
+ ├── current_profile # Active profile name
96
+ └── profiles/
97
+ ├── default.json # Default profile
98
+ └── {name}.json # Named profiles
99
+ ```
100
+
101
+ Profile JSON structure:
102
+ ```json
103
+ {
104
+ "apiKey": "vercel_token_xxx",
105
+ "teamId": "team_xxx"
106
+ }
107
+ ```
108
+
109
+ ## Code Style
110
+
111
+ - TypeScript with strict mode
112
+ - ESM modules (type: module)
113
+ - Use async/await for all async operations
114
+ - Type annotations required everywhere
115
+
116
+ ## Project Structure
117
+
118
+ ```
119
+ src/
120
+ ├── api/
121
+ │ ├── client.ts # HTTP client with Bearer auth
122
+ │ └── index.ts # Vercel API wrapper
123
+ ├── cli/
124
+ │ └── index.ts # CLI commands
125
+ ├── types/
126
+ │ └── index.ts # Type definitions
127
+ ├── utils/
128
+ │ ├── config.ts # Multi-profile configuration
129
+ │ └── output.ts # CLI output formatting
130
+ └── index.ts # Library exports
131
+ ```
132
+
133
+ ## API Coverage
134
+
135
+ - User: Get authenticated user
136
+ - Teams: List, get, set
137
+ - Projects: List, get, create, update, delete
138
+ - Deployments: List, get, create, cancel, delete, logs
139
+ - Domains: List, get, add, remove, verify, config
140
+ - Environment Variables: List, get, create, update, delete
141
+ - Secrets (Legacy): List, get, create, delete
142
+ - Aliases: List, get, assign, delete