@hasna/connectors 0.4.0 → 0.4.1

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 +176 -1
  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
package/bin/index.js CHANGED
@@ -2423,6 +2423,181 @@ var init_registry = __esm(() => {
2423
2423
  description: "Business Cloud API for messages and templates",
2424
2424
  category: "Communication",
2425
2425
  tags: ["messaging", "business"]
2426
+ },
2427
+ {
2428
+ name: "hubspot",
2429
+ displayName: "HubSpot",
2430
+ description: "CRM contacts, companies, deals, and tickets",
2431
+ category: "Business Tools",
2432
+ tags: ["crm", "sales", "marketing"]
2433
+ },
2434
+ {
2435
+ name: "salesforce",
2436
+ displayName: "Salesforce",
2437
+ description: "CRM accounts, contacts, leads, and opportunities",
2438
+ category: "Business Tools",
2439
+ tags: ["crm", "sales", "enterprise"]
2440
+ },
2441
+ {
2442
+ name: "intercom",
2443
+ displayName: "Intercom",
2444
+ description: "Contacts, conversations, and customer engagement",
2445
+ category: "Communication",
2446
+ tags: ["support", "messaging", "crm"]
2447
+ },
2448
+ {
2449
+ name: "zendesk",
2450
+ displayName: "Zendesk",
2451
+ description: "Support tickets and helpdesk",
2452
+ category: "Business Tools",
2453
+ tags: ["support", "helpdesk", "tickets"]
2454
+ },
2455
+ {
2456
+ name: "freshdesk",
2457
+ displayName: "Freshdesk",
2458
+ description: "Helpdesk and customer support",
2459
+ category: "Business Tools",
2460
+ tags: ["support", "helpdesk"]
2461
+ },
2462
+ {
2463
+ name: "crisp",
2464
+ displayName: "Crisp",
2465
+ description: "Customer messaging and live chat",
2466
+ category: "Communication",
2467
+ tags: ["chat", "support", "messaging"]
2468
+ },
2469
+ {
2470
+ name: "drift",
2471
+ displayName: "Drift",
2472
+ description: "Conversational marketing and sales",
2473
+ category: "Communication",
2474
+ tags: ["chat", "marketing", "sales"]
2475
+ },
2476
+ {
2477
+ name: "mailchimp",
2478
+ displayName: "Mailchimp",
2479
+ description: "Email marketing and automation",
2480
+ category: "Communication",
2481
+ tags: ["email", "marketing", "automation"]
2482
+ },
2483
+ {
2484
+ name: "convertkit",
2485
+ displayName: "ConvertKit",
2486
+ description: "Email marketing for creators",
2487
+ category: "Communication",
2488
+ tags: ["email", "marketing", "creators"]
2489
+ },
2490
+ {
2491
+ name: "sendgrid",
2492
+ displayName: "SendGrid",
2493
+ description: "Email delivery and marketing",
2494
+ category: "Communication",
2495
+ tags: ["email", "api", "transactional"]
2496
+ },
2497
+ {
2498
+ name: "vercel",
2499
+ displayName: "Vercel",
2500
+ description: "Deployment and hosting platform",
2501
+ category: "Developer Tools",
2502
+ tags: ["hosting", "deployment", "serverless"]
2503
+ },
2504
+ {
2505
+ name: "netlify",
2506
+ displayName: "Netlify",
2507
+ description: "Web hosting and deployment",
2508
+ category: "Developer Tools",
2509
+ tags: ["hosting", "deployment", "jamstack"]
2510
+ },
2511
+ {
2512
+ name: "supabase",
2513
+ displayName: "Supabase",
2514
+ description: "PostgreSQL database and auth",
2515
+ category: "Developer Tools",
2516
+ tags: ["database", "auth", "postgres"]
2517
+ },
2518
+ {
2519
+ name: "mongodb",
2520
+ displayName: "MongoDB",
2521
+ description: "Document database and Atlas",
2522
+ category: "Developer Tools",
2523
+ tags: ["database", "nosql"]
2524
+ },
2525
+ {
2526
+ name: "airtable",
2527
+ displayName: "Airtable",
2528
+ description: "Spreadsheet-database hybrid",
2529
+ category: "Data & Analytics",
2530
+ tags: ["database", "spreadsheet"]
2531
+ },
2532
+ {
2533
+ name: "segment",
2534
+ displayName: "Segment",
2535
+ description: "Customer data platform",
2536
+ category: "Data & Analytics",
2537
+ tags: ["analytics", "cdp", "data"]
2538
+ },
2539
+ {
2540
+ name: "amplitude",
2541
+ displayName: "Amplitude",
2542
+ description: "Product analytics platform",
2543
+ category: "Data & Analytics",
2544
+ tags: ["analytics", "product"]
2545
+ },
2546
+ {
2547
+ name: "posthog",
2548
+ displayName: "PostHog",
2549
+ description: "Product analytics and feature flags",
2550
+ category: "Data & Analytics",
2551
+ tags: ["analytics", "feature-flags"]
2552
+ },
2553
+ {
2554
+ name: "paypal",
2555
+ displayName: "PayPal",
2556
+ description: "Payments and checkout",
2557
+ category: "Commerce & Finance",
2558
+ tags: ["payments", "checkout"]
2559
+ },
2560
+ {
2561
+ name: "lemonsqueezy",
2562
+ displayName: "Lemon Squeezy",
2563
+ description: "Payments for digital products",
2564
+ category: "Commerce & Finance",
2565
+ tags: ["payments", "digital", "saas"]
2566
+ },
2567
+ {
2568
+ name: "gumroad",
2569
+ displayName: "Gumroad",
2570
+ description: "Sell digital products and memberships",
2571
+ category: "Commerce & Finance",
2572
+ tags: ["ecommerce", "digital", "creators"]
2573
+ },
2574
+ {
2575
+ name: "calendly",
2576
+ displayName: "Calendly",
2577
+ description: "Scheduling and appointment booking",
2578
+ category: "Business Tools",
2579
+ tags: ["scheduling", "calendar"]
2580
+ },
2581
+ {
2582
+ name: "docusign",
2583
+ displayName: "DocuSign",
2584
+ description: "Electronic signatures and agreements",
2585
+ category: "Business Tools",
2586
+ tags: ["esign", "documents", "contracts"]
2587
+ },
2588
+ {
2589
+ name: "pinterest",
2590
+ displayName: "Pinterest",
2591
+ description: "Pins, boards, and visual discovery",
2592
+ category: "Social Media",
2593
+ tags: ["social", "visual", "marketing"]
2594
+ },
2595
+ {
2596
+ name: "linkedin",
2597
+ displayName: "LinkedIn",
2598
+ description: "Professional network and marketing",
2599
+ category: "Social Media",
2600
+ tags: ["social", "professional", "b2b"]
2426
2601
  }
2427
2602
  ];
2428
2603
  });
@@ -6903,7 +7078,7 @@ var PRESETS = {
6903
7078
  commerce: { description: "Commerce and finance", connectors: ["stripe", "shopify", "revolut", "mercury", "pandadoc"] }
6904
7079
  };
6905
7080
  var program2 = new Command;
6906
- program2.name("connectors").description("Install API connectors for your project").version("0.4.0").enablePositionalOptions();
7081
+ program2.name("connectors").description("Install API connectors for your project").version("0.4.1").enablePositionalOptions();
6907
7082
  program2.command("interactive", { isDefault: true }).alias("i").description("Interactive connector browser").action(() => {
6908
7083
  if (!isTTY) {
6909
7084
  console.log(`Non-interactive environment detected. Use a subcommand:
package/bin/mcp.js CHANGED
@@ -19911,6 +19911,181 @@ var CONNECTORS = [
19911
19911
  description: "Business Cloud API for messages and templates",
19912
19912
  category: "Communication",
19913
19913
  tags: ["messaging", "business"]
19914
+ },
19915
+ {
19916
+ name: "hubspot",
19917
+ displayName: "HubSpot",
19918
+ description: "CRM contacts, companies, deals, and tickets",
19919
+ category: "Business Tools",
19920
+ tags: ["crm", "sales", "marketing"]
19921
+ },
19922
+ {
19923
+ name: "salesforce",
19924
+ displayName: "Salesforce",
19925
+ description: "CRM accounts, contacts, leads, and opportunities",
19926
+ category: "Business Tools",
19927
+ tags: ["crm", "sales", "enterprise"]
19928
+ },
19929
+ {
19930
+ name: "intercom",
19931
+ displayName: "Intercom",
19932
+ description: "Contacts, conversations, and customer engagement",
19933
+ category: "Communication",
19934
+ tags: ["support", "messaging", "crm"]
19935
+ },
19936
+ {
19937
+ name: "zendesk",
19938
+ displayName: "Zendesk",
19939
+ description: "Support tickets and helpdesk",
19940
+ category: "Business Tools",
19941
+ tags: ["support", "helpdesk", "tickets"]
19942
+ },
19943
+ {
19944
+ name: "freshdesk",
19945
+ displayName: "Freshdesk",
19946
+ description: "Helpdesk and customer support",
19947
+ category: "Business Tools",
19948
+ tags: ["support", "helpdesk"]
19949
+ },
19950
+ {
19951
+ name: "crisp",
19952
+ displayName: "Crisp",
19953
+ description: "Customer messaging and live chat",
19954
+ category: "Communication",
19955
+ tags: ["chat", "support", "messaging"]
19956
+ },
19957
+ {
19958
+ name: "drift",
19959
+ displayName: "Drift",
19960
+ description: "Conversational marketing and sales",
19961
+ category: "Communication",
19962
+ tags: ["chat", "marketing", "sales"]
19963
+ },
19964
+ {
19965
+ name: "mailchimp",
19966
+ displayName: "Mailchimp",
19967
+ description: "Email marketing and automation",
19968
+ category: "Communication",
19969
+ tags: ["email", "marketing", "automation"]
19970
+ },
19971
+ {
19972
+ name: "convertkit",
19973
+ displayName: "ConvertKit",
19974
+ description: "Email marketing for creators",
19975
+ category: "Communication",
19976
+ tags: ["email", "marketing", "creators"]
19977
+ },
19978
+ {
19979
+ name: "sendgrid",
19980
+ displayName: "SendGrid",
19981
+ description: "Email delivery and marketing",
19982
+ category: "Communication",
19983
+ tags: ["email", "api", "transactional"]
19984
+ },
19985
+ {
19986
+ name: "vercel",
19987
+ displayName: "Vercel",
19988
+ description: "Deployment and hosting platform",
19989
+ category: "Developer Tools",
19990
+ tags: ["hosting", "deployment", "serverless"]
19991
+ },
19992
+ {
19993
+ name: "netlify",
19994
+ displayName: "Netlify",
19995
+ description: "Web hosting and deployment",
19996
+ category: "Developer Tools",
19997
+ tags: ["hosting", "deployment", "jamstack"]
19998
+ },
19999
+ {
20000
+ name: "supabase",
20001
+ displayName: "Supabase",
20002
+ description: "PostgreSQL database and auth",
20003
+ category: "Developer Tools",
20004
+ tags: ["database", "auth", "postgres"]
20005
+ },
20006
+ {
20007
+ name: "mongodb",
20008
+ displayName: "MongoDB",
20009
+ description: "Document database and Atlas",
20010
+ category: "Developer Tools",
20011
+ tags: ["database", "nosql"]
20012
+ },
20013
+ {
20014
+ name: "airtable",
20015
+ displayName: "Airtable",
20016
+ description: "Spreadsheet-database hybrid",
20017
+ category: "Data & Analytics",
20018
+ tags: ["database", "spreadsheet"]
20019
+ },
20020
+ {
20021
+ name: "segment",
20022
+ displayName: "Segment",
20023
+ description: "Customer data platform",
20024
+ category: "Data & Analytics",
20025
+ tags: ["analytics", "cdp", "data"]
20026
+ },
20027
+ {
20028
+ name: "amplitude",
20029
+ displayName: "Amplitude",
20030
+ description: "Product analytics platform",
20031
+ category: "Data & Analytics",
20032
+ tags: ["analytics", "product"]
20033
+ },
20034
+ {
20035
+ name: "posthog",
20036
+ displayName: "PostHog",
20037
+ description: "Product analytics and feature flags",
20038
+ category: "Data & Analytics",
20039
+ tags: ["analytics", "feature-flags"]
20040
+ },
20041
+ {
20042
+ name: "paypal",
20043
+ displayName: "PayPal",
20044
+ description: "Payments and checkout",
20045
+ category: "Commerce & Finance",
20046
+ tags: ["payments", "checkout"]
20047
+ },
20048
+ {
20049
+ name: "lemonsqueezy",
20050
+ displayName: "Lemon Squeezy",
20051
+ description: "Payments for digital products",
20052
+ category: "Commerce & Finance",
20053
+ tags: ["payments", "digital", "saas"]
20054
+ },
20055
+ {
20056
+ name: "gumroad",
20057
+ displayName: "Gumroad",
20058
+ description: "Sell digital products and memberships",
20059
+ category: "Commerce & Finance",
20060
+ tags: ["ecommerce", "digital", "creators"]
20061
+ },
20062
+ {
20063
+ name: "calendly",
20064
+ displayName: "Calendly",
20065
+ description: "Scheduling and appointment booking",
20066
+ category: "Business Tools",
20067
+ tags: ["scheduling", "calendar"]
20068
+ },
20069
+ {
20070
+ name: "docusign",
20071
+ displayName: "DocuSign",
20072
+ description: "Electronic signatures and agreements",
20073
+ category: "Business Tools",
20074
+ tags: ["esign", "documents", "contracts"]
20075
+ },
20076
+ {
20077
+ name: "pinterest",
20078
+ displayName: "Pinterest",
20079
+ description: "Pins, boards, and visual discovery",
20080
+ category: "Social Media",
20081
+ tags: ["social", "visual", "marketing"]
20082
+ },
20083
+ {
20084
+ name: "linkedin",
20085
+ displayName: "LinkedIn",
20086
+ description: "Professional network and marketing",
20087
+ category: "Social Media",
20088
+ tags: ["social", "professional", "b2b"]
19914
20089
  }
19915
20090
  ];
19916
20091
  function getConnectorsByCategory(category) {
@@ -20385,7 +20560,7 @@ async function getConnectorCommandHelp(name, command) {
20385
20560
  loadConnectorVersions();
20386
20561
  var server = new McpServer({
20387
20562
  name: "connectors",
20388
- version: "0.4.0"
20563
+ version: "0.4.1"
20389
20564
  });
20390
20565
  server.registerTool("search_connectors", {
20391
20566
  title: "Search Connectors",
package/bin/serve.js CHANGED
@@ -516,6 +516,181 @@ var CONNECTORS = [
516
516
  description: "Business Cloud API for messages and templates",
517
517
  category: "Communication",
518
518
  tags: ["messaging", "business"]
519
+ },
520
+ {
521
+ name: "hubspot",
522
+ displayName: "HubSpot",
523
+ description: "CRM contacts, companies, deals, and tickets",
524
+ category: "Business Tools",
525
+ tags: ["crm", "sales", "marketing"]
526
+ },
527
+ {
528
+ name: "salesforce",
529
+ displayName: "Salesforce",
530
+ description: "CRM accounts, contacts, leads, and opportunities",
531
+ category: "Business Tools",
532
+ tags: ["crm", "sales", "enterprise"]
533
+ },
534
+ {
535
+ name: "intercom",
536
+ displayName: "Intercom",
537
+ description: "Contacts, conversations, and customer engagement",
538
+ category: "Communication",
539
+ tags: ["support", "messaging", "crm"]
540
+ },
541
+ {
542
+ name: "zendesk",
543
+ displayName: "Zendesk",
544
+ description: "Support tickets and helpdesk",
545
+ category: "Business Tools",
546
+ tags: ["support", "helpdesk", "tickets"]
547
+ },
548
+ {
549
+ name: "freshdesk",
550
+ displayName: "Freshdesk",
551
+ description: "Helpdesk and customer support",
552
+ category: "Business Tools",
553
+ tags: ["support", "helpdesk"]
554
+ },
555
+ {
556
+ name: "crisp",
557
+ displayName: "Crisp",
558
+ description: "Customer messaging and live chat",
559
+ category: "Communication",
560
+ tags: ["chat", "support", "messaging"]
561
+ },
562
+ {
563
+ name: "drift",
564
+ displayName: "Drift",
565
+ description: "Conversational marketing and sales",
566
+ category: "Communication",
567
+ tags: ["chat", "marketing", "sales"]
568
+ },
569
+ {
570
+ name: "mailchimp",
571
+ displayName: "Mailchimp",
572
+ description: "Email marketing and automation",
573
+ category: "Communication",
574
+ tags: ["email", "marketing", "automation"]
575
+ },
576
+ {
577
+ name: "convertkit",
578
+ displayName: "ConvertKit",
579
+ description: "Email marketing for creators",
580
+ category: "Communication",
581
+ tags: ["email", "marketing", "creators"]
582
+ },
583
+ {
584
+ name: "sendgrid",
585
+ displayName: "SendGrid",
586
+ description: "Email delivery and marketing",
587
+ category: "Communication",
588
+ tags: ["email", "api", "transactional"]
589
+ },
590
+ {
591
+ name: "vercel",
592
+ displayName: "Vercel",
593
+ description: "Deployment and hosting platform",
594
+ category: "Developer Tools",
595
+ tags: ["hosting", "deployment", "serverless"]
596
+ },
597
+ {
598
+ name: "netlify",
599
+ displayName: "Netlify",
600
+ description: "Web hosting and deployment",
601
+ category: "Developer Tools",
602
+ tags: ["hosting", "deployment", "jamstack"]
603
+ },
604
+ {
605
+ name: "supabase",
606
+ displayName: "Supabase",
607
+ description: "PostgreSQL database and auth",
608
+ category: "Developer Tools",
609
+ tags: ["database", "auth", "postgres"]
610
+ },
611
+ {
612
+ name: "mongodb",
613
+ displayName: "MongoDB",
614
+ description: "Document database and Atlas",
615
+ category: "Developer Tools",
616
+ tags: ["database", "nosql"]
617
+ },
618
+ {
619
+ name: "airtable",
620
+ displayName: "Airtable",
621
+ description: "Spreadsheet-database hybrid",
622
+ category: "Data & Analytics",
623
+ tags: ["database", "spreadsheet"]
624
+ },
625
+ {
626
+ name: "segment",
627
+ displayName: "Segment",
628
+ description: "Customer data platform",
629
+ category: "Data & Analytics",
630
+ tags: ["analytics", "cdp", "data"]
631
+ },
632
+ {
633
+ name: "amplitude",
634
+ displayName: "Amplitude",
635
+ description: "Product analytics platform",
636
+ category: "Data & Analytics",
637
+ tags: ["analytics", "product"]
638
+ },
639
+ {
640
+ name: "posthog",
641
+ displayName: "PostHog",
642
+ description: "Product analytics and feature flags",
643
+ category: "Data & Analytics",
644
+ tags: ["analytics", "feature-flags"]
645
+ },
646
+ {
647
+ name: "paypal",
648
+ displayName: "PayPal",
649
+ description: "Payments and checkout",
650
+ category: "Commerce & Finance",
651
+ tags: ["payments", "checkout"]
652
+ },
653
+ {
654
+ name: "lemonsqueezy",
655
+ displayName: "Lemon Squeezy",
656
+ description: "Payments for digital products",
657
+ category: "Commerce & Finance",
658
+ tags: ["payments", "digital", "saas"]
659
+ },
660
+ {
661
+ name: "gumroad",
662
+ displayName: "Gumroad",
663
+ description: "Sell digital products and memberships",
664
+ category: "Commerce & Finance",
665
+ tags: ["ecommerce", "digital", "creators"]
666
+ },
667
+ {
668
+ name: "calendly",
669
+ displayName: "Calendly",
670
+ description: "Scheduling and appointment booking",
671
+ category: "Business Tools",
672
+ tags: ["scheduling", "calendar"]
673
+ },
674
+ {
675
+ name: "docusign",
676
+ displayName: "DocuSign",
677
+ description: "Electronic signatures and agreements",
678
+ category: "Business Tools",
679
+ tags: ["esign", "documents", "contracts"]
680
+ },
681
+ {
682
+ name: "pinterest",
683
+ displayName: "Pinterest",
684
+ description: "Pins, boards, and visual discovery",
685
+ category: "Social Media",
686
+ tags: ["social", "visual", "marketing"]
687
+ },
688
+ {
689
+ name: "linkedin",
690
+ displayName: "LinkedIn",
691
+ description: "Professional network and marketing",
692
+ category: "Social Media",
693
+ tags: ["social", "professional", "b2b"]
519
694
  }
520
695
  ];
521
696
  function getConnector(name) {
@@ -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,121 @@
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-airtable is a TypeScript connector for the Airtable API. It provides a CLI and library for managing bases, tables, records, fields, comments, and webhooks.
8
+
9
+ ## Build & Run Commands
10
+
11
+ ```bash
12
+ # Install dependencies
13
+ bun install
14
+
15
+ # Run CLI in development
16
+ bun run dev
17
+
18
+ # Build for distribution
19
+ bun run build
20
+
21
+ # Type check
22
+ bun run typecheck
23
+
24
+ # Run specific commands
25
+ bun run dev auth status
26
+ bun run dev bases list
27
+ bun run dev records list <base-id> <table>
28
+ ```
29
+
30
+ ## Code Style
31
+
32
+ - TypeScript with strict mode
33
+ - ESM modules (type: module)
34
+ - Use async/await for all async operations
35
+ - Minimal dependencies: commander, chalk only
36
+ - Type annotations required everywhere
37
+ - Use interfaces for all API types
38
+
39
+ ## Project Structure
40
+
41
+ ```
42
+ src/
43
+ ├── api/
44
+ │ ├── client.ts # HTTP client with Bearer token auth
45
+ │ └── index.ts # Airtable API wrapper
46
+ ├── cli/
47
+ │ └── index.ts # CLI commands
48
+ ├── types/
49
+ │ └── index.ts # Type definitions
50
+ ├── utils/
51
+ │ └── config.ts # Multi-profile configuration
52
+ └── index.ts # Library exports
53
+ ```
54
+
55
+ ## API Authentication
56
+
57
+ Airtable uses OAuth 2.0 Bearer token authentication (personal access tokens or API keys).
58
+
59
+ Environment variables:
60
+ - `AIRTABLE_ACCESS_TOKEN` - Personal access token (primary)
61
+ - `AIRTABLE_API_KEY` - Legacy API key (fallback)
62
+
63
+ ## Key Patterns
64
+
65
+ ### Multi-Profile Configuration
66
+
67
+ Profiles stored in `~/.connect/connect-airtable/profiles/`:
68
+ - Each profile is a separate JSON file
69
+ - `current_profile` file tracks active profile
70
+ - `--profile` flag overrides for single command
71
+ - Environment variables override profile config
72
+
73
+ ### API Base URL
74
+
75
+ All requests go to `https://api.airtable.com/v0`:
76
+ - `/meta/bases` - List bases
77
+ - `/meta/bases/{baseId}/tables` - Get base schema
78
+ - `/{baseId}/{tableIdOrName}` - Record operations
79
+
80
+ ### Field Types
81
+
82
+ Supported field types:
83
+ - Text: singleLineText, multilineText, richText, email, url, phoneNumber
84
+ - Number: number, percent, currency, rating, duration
85
+ - Select: singleSelect, multipleSelects
86
+ - Date/Time: date, dateTime, createdTime, lastModifiedTime
87
+ - Lookup: multipleRecordLinks, lookup, rollup, count
88
+ - Other: checkbox, multipleAttachments, barcode, autoNumber, formula
89
+
90
+ ## CLI Commands
91
+
92
+ - `auth set/status/clear` - Authentication
93
+ - `profile list/use/create/delete/show` - Profile management
94
+ - `bases list/schema` - Base operations
95
+ - `tables create/update` - Table operations
96
+ - `records list/get/create/update/delete` - Record operations
97
+ - `fields create/update` - Field operations
98
+ - `comments list/create/delete` - Comment operations
99
+ - `webhooks list/delete/refresh` - Webhook operations
100
+
101
+ ## Data Storage
102
+
103
+ ```
104
+ ~/.connect/connect-airtable/
105
+ ├── current_profile # Active profile name
106
+ └── profiles/
107
+ ├── default.json # Default profile
108
+ └── {name}.json # Named profiles
109
+ ```
110
+
111
+ Profile JSON structure:
112
+ ```json
113
+ {
114
+ "accessToken": "pat..."
115
+ }
116
+ ```
117
+
118
+ ## Dependencies
119
+
120
+ - commander: CLI framework
121
+ - chalk: Terminal styling