@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,22 @@
1
+ // Netlify Connector API
2
+ // A TypeScript wrapper for Netlify's REST API
3
+
4
+ export { Netlify } from './api';
5
+ export * from './types';
6
+
7
+ // Re-export individual API classes for advanced usage
8
+ export { NetlifyClient } from './api';
9
+
10
+ // Export config utilities
11
+ export {
12
+ getApiKey,
13
+ setApiKey,
14
+ getCurrentProfile,
15
+ setCurrentProfile,
16
+ listProfiles,
17
+ createProfile,
18
+ deleteProfile,
19
+ loadProfile,
20
+ saveProfile,
21
+ clearConfig,
22
+ } from './utils/config';
@@ -0,0 +1,423 @@
1
+ // Netlify Connector Types
2
+
3
+ // ============================================
4
+ // Configuration
5
+ // ============================================
6
+
7
+ export interface NetlifyConfig {
8
+ apiKey: string;
9
+ }
10
+
11
+ // ============================================
12
+ // Common Types
13
+ // ============================================
14
+
15
+ export type OutputFormat = 'json' | 'pretty';
16
+
17
+ // ============================================
18
+ // Account Types
19
+ // ============================================
20
+
21
+ export interface Account {
22
+ id: string;
23
+ name: string;
24
+ slug: string;
25
+ type: string;
26
+ capabilities?: {
27
+ sites?: { included: number; used: number };
28
+ collaborators?: { included: number; used: number };
29
+ };
30
+ billing_name?: string;
31
+ billing_email?: string;
32
+ billing_details?: string;
33
+ billing_period?: string;
34
+ payment_method_id?: string;
35
+ type_name?: string;
36
+ type_id?: string;
37
+ owner_ids?: string[];
38
+ roles_allowed?: string[];
39
+ created_at?: string;
40
+ updated_at?: string;
41
+ }
42
+
43
+ // ============================================
44
+ // Site Types
45
+ // ============================================
46
+
47
+ export interface Site {
48
+ id: string;
49
+ state: string;
50
+ plan?: string;
51
+ name: string;
52
+ custom_domain?: string;
53
+ domain_aliases?: string[];
54
+ branch_deploy_custom_domain?: string;
55
+ deploy_preview_custom_domain?: string;
56
+ password?: string;
57
+ notification_email?: string;
58
+ url: string;
59
+ ssl_url: string;
60
+ admin_url: string;
61
+ screenshot_url?: string;
62
+ created_at: string;
63
+ updated_at: string;
64
+ user_id?: string;
65
+ session_id?: string;
66
+ ssl?: boolean;
67
+ force_ssl?: boolean;
68
+ managed_dns?: boolean;
69
+ deploy_url?: string;
70
+ published_deploy?: Deploy;
71
+ account_name?: string;
72
+ account_slug?: string;
73
+ git_provider?: string;
74
+ deploy_hook?: string;
75
+ capabilities?: Record<string, unknown>;
76
+ processing_settings?: {
77
+ skip?: boolean;
78
+ css?: { bundle?: boolean; minify?: boolean };
79
+ js?: { bundle?: boolean; minify?: boolean };
80
+ images?: { optimize?: boolean };
81
+ html?: { pretty_urls?: boolean };
82
+ };
83
+ build_settings?: {
84
+ id?: number;
85
+ provider?: string;
86
+ deploy_key_id?: string;
87
+ repo_path?: string;
88
+ repo_branch?: string;
89
+ dir?: string;
90
+ functions_dir?: string;
91
+ cmd?: string;
92
+ allowed_branches?: string[];
93
+ public_repo?: boolean;
94
+ private_logs?: boolean;
95
+ repo_url?: string;
96
+ env?: Record<string, string>;
97
+ installation_id?: number;
98
+ stop_builds?: boolean;
99
+ };
100
+ id_domain?: string;
101
+ default_hooks_data?: {
102
+ access_token?: string;
103
+ };
104
+ build_image?: string;
105
+ prerender?: string;
106
+ functions_region?: string;
107
+ }
108
+
109
+ export interface SiteCreateParams {
110
+ name?: string;
111
+ custom_domain?: string;
112
+ password?: string;
113
+ force_ssl?: boolean;
114
+ processing_settings?: Site['processing_settings'];
115
+ repo?: {
116
+ provider?: string;
117
+ id?: number;
118
+ repo?: string;
119
+ private?: boolean;
120
+ branch?: string;
121
+ cmd?: string;
122
+ dir?: string;
123
+ functions_dir?: string;
124
+ deploy_key_id?: string;
125
+ installation_id?: number;
126
+ };
127
+ account_slug?: string;
128
+ }
129
+
130
+ // ============================================
131
+ // Deploy Types
132
+ // ============================================
133
+
134
+ export type DeployState = 'new' | 'pending_review' | 'accepted' | 'building' | 'enqueued' | 'uploading' | 'uploaded' | 'preparing' | 'prepared' | 'processing' | 'ready' | 'error' | 'retrying';
135
+
136
+ export interface Deploy {
137
+ id: string;
138
+ site_id: string;
139
+ user_id?: string;
140
+ build_id?: string;
141
+ state: DeployState;
142
+ name: string;
143
+ url: string;
144
+ ssl_url: string;
145
+ admin_url: string;
146
+ deploy_url: string;
147
+ deploy_ssl_url: string;
148
+ screenshot_url?: string;
149
+ review_id?: number;
150
+ draft?: boolean;
151
+ required?: string[];
152
+ required_functions?: string[];
153
+ error_message?: string;
154
+ branch?: string;
155
+ commit_ref?: string;
156
+ commit_url?: string;
157
+ skipped?: boolean;
158
+ created_at: string;
159
+ updated_at: string;
160
+ published_at?: string;
161
+ title?: string;
162
+ context?: string;
163
+ locked?: boolean;
164
+ review_url?: string;
165
+ site_capabilities?: {
166
+ large_media_enabled?: boolean;
167
+ };
168
+ framework?: string;
169
+ function_schedules?: Array<{
170
+ name: string;
171
+ cron: string;
172
+ }>;
173
+ plugin_state?: string;
174
+ lighthouse_plugin_scores?: Record<string, number>;
175
+ links?: {
176
+ permalink?: string;
177
+ alias?: string;
178
+ };
179
+ }
180
+
181
+ // ============================================
182
+ // Form Types
183
+ // ============================================
184
+
185
+ export interface Form {
186
+ id: string;
187
+ site_id: string;
188
+ name: string;
189
+ paths?: string[];
190
+ submission_count: number;
191
+ fields?: string[];
192
+ created_at: string;
193
+ }
194
+
195
+ export interface FormSubmission {
196
+ id: string;
197
+ number: number;
198
+ email?: string;
199
+ name?: string;
200
+ first_name?: string;
201
+ last_name?: string;
202
+ company?: string;
203
+ summary?: string;
204
+ body?: string;
205
+ data: Record<string, unknown>;
206
+ created_at: string;
207
+ site_url?: string;
208
+ form_id: string;
209
+ form_name: string;
210
+ }
211
+
212
+ // ============================================
213
+ // DNS Zone Types
214
+ // ============================================
215
+
216
+ export interface DnsZone {
217
+ id: string;
218
+ name: string;
219
+ errors?: string[];
220
+ supported_record_types?: string[];
221
+ user_id?: string;
222
+ created_at?: string;
223
+ updated_at?: string;
224
+ records?: DnsRecord[];
225
+ dns_servers?: string[];
226
+ account_id?: string;
227
+ site_id?: string;
228
+ account_slug?: string;
229
+ account_name?: string;
230
+ domain?: string;
231
+ ipv6_enabled?: boolean;
232
+ dedicated?: boolean;
233
+ }
234
+
235
+ export interface DnsRecord {
236
+ id: string;
237
+ hostname: string;
238
+ type: 'A' | 'AAAA' | 'ALIAS' | 'CAA' | 'CNAME' | 'MX' | 'NS' | 'SPF' | 'SRV' | 'TXT' | 'NETLIFY' | 'NETLIFYv6';
239
+ value: string;
240
+ ttl?: number;
241
+ priority?: number;
242
+ dns_zone_id: string;
243
+ site_id?: string;
244
+ flag?: number;
245
+ tag?: string;
246
+ managed?: boolean;
247
+ }
248
+
249
+ export interface DnsRecordCreateParams {
250
+ type: DnsRecord['type'];
251
+ hostname: string;
252
+ value: string;
253
+ ttl?: number;
254
+ priority?: number;
255
+ weight?: number;
256
+ port?: number;
257
+ flag?: number;
258
+ tag?: string;
259
+ }
260
+
261
+ // ============================================
262
+ // Build Types
263
+ // ============================================
264
+
265
+ export interface Build {
266
+ id: string;
267
+ deploy_id: string;
268
+ sha?: string;
269
+ done: boolean;
270
+ error?: string;
271
+ created_at: string;
272
+ }
273
+
274
+ // ============================================
275
+ // Hook Types
276
+ // ============================================
277
+
278
+ export interface Hook {
279
+ id: string;
280
+ site_id: string;
281
+ type: string;
282
+ event: string;
283
+ data: Record<string, unknown>;
284
+ created_at: string;
285
+ updated_at: string;
286
+ disabled?: boolean;
287
+ }
288
+
289
+ export interface HookCreateParams {
290
+ site_id: string;
291
+ type: string;
292
+ event: string;
293
+ data: Record<string, unknown>;
294
+ }
295
+
296
+ // ============================================
297
+ // Deploy Key Types
298
+ // ============================================
299
+
300
+ export interface DeployKey {
301
+ id: string;
302
+ public_key: string;
303
+ created_at: string;
304
+ }
305
+
306
+ // ============================================
307
+ // Environment Variable Types
308
+ // ============================================
309
+
310
+ export interface EnvVar {
311
+ key: string;
312
+ scopes: ('builds' | 'functions' | 'runtime' | 'post_processing')[];
313
+ values: EnvVarValue[];
314
+ is_secret?: boolean;
315
+ updated_at?: string;
316
+ updated_by?: {
317
+ id?: string;
318
+ full_name?: string;
319
+ email?: string;
320
+ avatar_url?: string;
321
+ };
322
+ }
323
+
324
+ export interface EnvVarValue {
325
+ id?: string;
326
+ value: string;
327
+ context: 'all' | 'dev' | 'branch-deploy' | 'deploy-preview' | 'production' | 'branch';
328
+ context_parameter?: string;
329
+ }
330
+
331
+ export interface EnvVarCreateParams {
332
+ key: string;
333
+ values: EnvVarValue[];
334
+ is_secret?: boolean;
335
+ scopes?: EnvVar['scopes'];
336
+ }
337
+
338
+ // ============================================
339
+ // Function Types
340
+ // ============================================
341
+
342
+ export interface NetlifyFunction {
343
+ id: string;
344
+ name: string;
345
+ sha?: string;
346
+ created_at?: string;
347
+ }
348
+
349
+ // ============================================
350
+ // Snippet Types
351
+ // ============================================
352
+
353
+ export interface Snippet {
354
+ id: number;
355
+ site_id: string;
356
+ title: string;
357
+ general?: string;
358
+ general_position?: string;
359
+ goal?: string;
360
+ goal_position?: string;
361
+ }
362
+
363
+ // ============================================
364
+ // Split Test Types
365
+ // ============================================
366
+
367
+ export interface SplitTest {
368
+ id: string;
369
+ site_id: string;
370
+ name?: string;
371
+ path: string;
372
+ branches: Array<{
373
+ id: string;
374
+ name: string;
375
+ slug: string;
376
+ }>;
377
+ active: boolean;
378
+ created_at?: string;
379
+ updated_at?: string;
380
+ unpublished_at?: string;
381
+ }
382
+
383
+ // ============================================
384
+ // User Types
385
+ // ============================================
386
+
387
+ export interface User {
388
+ id: string;
389
+ uid?: string;
390
+ full_name?: string;
391
+ avatar_url?: string;
392
+ email: string;
393
+ affiliate_id?: string;
394
+ site_count?: number;
395
+ created_at: string;
396
+ last_login?: string;
397
+ login_providers?: string[];
398
+ onboarding_progress?: {
399
+ slides?: string;
400
+ };
401
+ mfa_enabled?: boolean;
402
+ }
403
+
404
+ // ============================================
405
+ // API Error Types
406
+ // ============================================
407
+
408
+ export interface NetlifyErrorResponse {
409
+ message: string;
410
+ code?: number;
411
+ }
412
+
413
+ export class NetlifyApiError extends Error {
414
+ public readonly statusCode: number;
415
+ public readonly code?: number;
416
+
417
+ constructor(message: string, statusCode: number, code?: number) {
418
+ super(message);
419
+ this.name = 'NetlifyApiError';
420
+ this.statusCode = statusCode;
421
+ this.code = code;
422
+ }
423
+ }
@@ -0,0 +1,171 @@
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-netlify';
6
+ const DEFAULT_PROFILE = 'default';
7
+
8
+ export interface ProfileConfig {
9
+ apiKey?: string;
10
+ }
11
+
12
+ // Store for --profile flag override (set by CLI before commands run)
13
+ let profileOverride: string | undefined;
14
+
15
+ // Config directory: ~/.connect/{connector-name}/
16
+ const CONFIG_DIR = join(homedir(), '.connect', CONNECTOR_NAME);
17
+ const PROFILES_DIR = join(CONFIG_DIR, 'profiles');
18
+ const CURRENT_PROFILE_FILE = join(CONFIG_DIR, 'current_profile');
19
+
20
+ // ============================================
21
+ // Profile Management
22
+ // ============================================
23
+
24
+ export function setProfileOverride(profile: string | undefined): void {
25
+ profileOverride = profile;
26
+ }
27
+
28
+ export function ensureConfigDir(): void {
29
+ if (!existsSync(CONFIG_DIR)) {
30
+ mkdirSync(CONFIG_DIR, { recursive: true });
31
+ }
32
+ if (!existsSync(PROFILES_DIR)) {
33
+ mkdirSync(PROFILES_DIR, { recursive: true });
34
+ }
35
+ }
36
+
37
+ function getProfilePath(profile: string): string {
38
+ return join(PROFILES_DIR, `${profile}.json`);
39
+ }
40
+
41
+ export function getCurrentProfile(): string {
42
+ if (profileOverride) {
43
+ return profileOverride;
44
+ }
45
+
46
+ ensureConfigDir();
47
+
48
+ if (existsSync(CURRENT_PROFILE_FILE)) {
49
+ try {
50
+ const profile = readFileSync(CURRENT_PROFILE_FILE, 'utf-8').trim();
51
+ if (profile && profileExists(profile)) {
52
+ return profile;
53
+ }
54
+ } catch {
55
+ // Fall through to default
56
+ }
57
+ }
58
+
59
+ return DEFAULT_PROFILE;
60
+ }
61
+
62
+ export function setCurrentProfile(profile: string): void {
63
+ ensureConfigDir();
64
+
65
+ if (!profileExists(profile) && profile !== DEFAULT_PROFILE) {
66
+ throw new Error(`Profile "${profile}" does not exist`);
67
+ }
68
+
69
+ writeFileSync(CURRENT_PROFILE_FILE, profile);
70
+ }
71
+
72
+ export function profileExists(profile: string): boolean {
73
+ return existsSync(getProfilePath(profile));
74
+ }
75
+
76
+ export function listProfiles(): string[] {
77
+ ensureConfigDir();
78
+
79
+ if (!existsSync(PROFILES_DIR)) {
80
+ return [];
81
+ }
82
+
83
+ return readdirSync(PROFILES_DIR)
84
+ .filter(f => f.endsWith('.json'))
85
+ .map(f => f.replace('.json', ''))
86
+ .sort();
87
+ }
88
+
89
+ export function createProfile(profile: string, config: ProfileConfig = {}): boolean {
90
+ ensureConfigDir();
91
+
92
+ if (profileExists(profile)) {
93
+ return false;
94
+ }
95
+
96
+ if (!/^[a-zA-Z0-9_-]+$/.test(profile)) {
97
+ throw new Error('Profile name can only contain letters, numbers, hyphens, and underscores');
98
+ }
99
+
100
+ writeFileSync(getProfilePath(profile), JSON.stringify(config, null, 2));
101
+ return true;
102
+ }
103
+
104
+ export function deleteProfile(profile: string): boolean {
105
+ if (profile === DEFAULT_PROFILE) {
106
+ return false;
107
+ }
108
+
109
+ if (!profileExists(profile)) {
110
+ return false;
111
+ }
112
+
113
+ if (getCurrentProfile() === profile) {
114
+ setCurrentProfile(DEFAULT_PROFILE);
115
+ }
116
+
117
+ rmSync(getProfilePath(profile));
118
+ return true;
119
+ }
120
+
121
+ export function loadProfile(profile?: string): ProfileConfig {
122
+ ensureConfigDir();
123
+ const profileName = profile || getCurrentProfile();
124
+ const profilePath = getProfilePath(profileName);
125
+
126
+ if (!existsSync(profilePath)) {
127
+ return {};
128
+ }
129
+
130
+ try {
131
+ return JSON.parse(readFileSync(profilePath, 'utf-8'));
132
+ } catch {
133
+ return {};
134
+ }
135
+ }
136
+
137
+ export function saveProfile(config: ProfileConfig, profile?: string): void {
138
+ ensureConfigDir();
139
+ const profileName = profile || getCurrentProfile();
140
+ writeFileSync(getProfilePath(profileName), JSON.stringify(config, null, 2));
141
+ }
142
+
143
+ // ============================================
144
+ // API Key Management
145
+ // ============================================
146
+
147
+ export function getApiKey(): string | undefined {
148
+ return process.env.NETLIFY_AUTH_TOKEN || process.env.NETLIFY_TOKEN || loadProfile().apiKey;
149
+ }
150
+
151
+ export function setApiKey(apiKey: string): void {
152
+ const config = loadProfile();
153
+ config.apiKey = apiKey;
154
+ saveProfile(config);
155
+ }
156
+
157
+ // ============================================
158
+ // Utility Functions
159
+ // ============================================
160
+
161
+ export function clearConfig(): void {
162
+ saveProfile({});
163
+ }
164
+
165
+ export function getConfigDir(): string {
166
+ return CONFIG_DIR;
167
+ }
168
+
169
+ export function getActiveProfileName(): string {
170
+ return getCurrentProfile();
171
+ }