@hasna/connectors 0.0.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 (1269) hide show
  1. package/README.md +304 -0
  2. package/bin/index.js +5281 -0
  3. package/connectors/connect-anthropic/.env.example +4 -0
  4. package/connectors/connect-anthropic/.npmrc.example +2 -0
  5. package/connectors/connect-anthropic/AGENTS.md +97 -0
  6. package/connectors/connect-anthropic/CLAUDE.md +97 -0
  7. package/connectors/connect-anthropic/GEMINI.md +97 -0
  8. package/connectors/connect-anthropic/README.md +106 -0
  9. package/connectors/connect-anthropic/package.json +60 -0
  10. package/connectors/connect-anthropic/src/api/client.ts +122 -0
  11. package/connectors/connect-anthropic/src/api/index.ts +51 -0
  12. package/connectors/connect-anthropic/src/api/messages.ts +109 -0
  13. package/connectors/connect-anthropic/src/cli/index.ts +336 -0
  14. package/connectors/connect-anthropic/src/index.ts +24 -0
  15. package/connectors/connect-anthropic/src/types/index.ts +198 -0
  16. package/connectors/connect-anthropic/src/utils/config.ts +208 -0
  17. package/connectors/connect-anthropic/src/utils/output.ts +119 -0
  18. package/connectors/connect-anthropic/tsconfig.json +16 -0
  19. package/connectors/connect-aws/.env.example +11 -0
  20. package/connectors/connect-aws/.npmrc.example +2 -0
  21. package/connectors/connect-aws/AGENTS.md +145 -0
  22. package/connectors/connect-aws/CLAUDE.md +145 -0
  23. package/connectors/connect-aws/GEMINI.md +145 -0
  24. package/connectors/connect-aws/README.md +131 -0
  25. package/connectors/connect-aws/package.json +51 -0
  26. package/connectors/connect-aws/src/api/client.ts +349 -0
  27. package/connectors/connect-aws/src/api/dynamodb.ts +542 -0
  28. package/connectors/connect-aws/src/api/index.ts +71 -0
  29. package/connectors/connect-aws/src/api/lambda.ts +326 -0
  30. package/connectors/connect-aws/src/api/s3.ts +305 -0
  31. package/connectors/connect-aws/src/cli/index.ts +614 -0
  32. package/connectors/connect-aws/src/index.ts +28 -0
  33. package/connectors/connect-aws/src/types/index.ts +276 -0
  34. package/connectors/connect-aws/src/utils/config.ts +230 -0
  35. package/connectors/connect-aws/src/utils/output.ts +119 -0
  36. package/connectors/connect-aws/tsconfig.json +16 -0
  37. package/connectors/connect-brandsight/.env.example +8 -0
  38. package/connectors/connect-brandsight/.npmrc.example +2 -0
  39. package/connectors/connect-brandsight/AGENTS.md +128 -0
  40. package/connectors/connect-brandsight/CLAUDE.md +128 -0
  41. package/connectors/connect-brandsight/GEMINI.md +128 -0
  42. package/connectors/connect-brandsight/README.md +129 -0
  43. package/connectors/connect-brandsight/package.json +56 -0
  44. package/connectors/connect-brandsight/src/api/client.ts +171 -0
  45. package/connectors/connect-brandsight/src/api/domains.ts +387 -0
  46. package/connectors/connect-brandsight/src/api/example.ts +59 -0
  47. package/connectors/connect-brandsight/src/api/index.ts +50 -0
  48. package/connectors/connect-brandsight/src/cli/index.ts +775 -0
  49. package/connectors/connect-brandsight/src/index.ts +11 -0
  50. package/connectors/connect-brandsight/src/types/index.ts +197 -0
  51. package/connectors/connect-brandsight/src/utils/config.ts +244 -0
  52. package/connectors/connect-brandsight/src/utils/contacts.ts +204 -0
  53. package/connectors/connect-brandsight/src/utils/output.ts +119 -0
  54. package/connectors/connect-brandsight/tsconfig.json +29 -0
  55. package/connectors/connect-browseruse/.env.example +7 -0
  56. package/connectors/connect-browseruse/.npmrc.example +2 -0
  57. package/connectors/connect-browseruse/AGENTS.md +172 -0
  58. package/connectors/connect-browseruse/CLAUDE.md +172 -0
  59. package/connectors/connect-browseruse/GEMINI.md +172 -0
  60. package/connectors/connect-browseruse/README.md +153 -0
  61. package/connectors/connect-browseruse/package.json +52 -0
  62. package/connectors/connect-browseruse/src/api/billing.ts +32 -0
  63. package/connectors/connect-browseruse/src/api/browsers.ts +50 -0
  64. package/connectors/connect-browseruse/src/api/client.ts +168 -0
  65. package/connectors/connect-browseruse/src/api/files.ts +70 -0
  66. package/connectors/connect-browseruse/src/api/index.ts +95 -0
  67. package/connectors/connect-browseruse/src/api/profiles.ts +59 -0
  68. package/connectors/connect-browseruse/src/api/sessions.ts +88 -0
  69. package/connectors/connect-browseruse/src/api/skills.ts +194 -0
  70. package/connectors/connect-browseruse/src/api/tasks.ts +127 -0
  71. package/connectors/connect-browseruse/src/cli/index.ts +888 -0
  72. package/connectors/connect-browseruse/src/index.ts +35 -0
  73. package/connectors/connect-browseruse/src/types/index.ts +312 -0
  74. package/connectors/connect-browseruse/src/utils/config.ts +212 -0
  75. package/connectors/connect-browseruse/src/utils/output.ts +119 -0
  76. package/connectors/connect-browseruse/tsconfig.json +16 -0
  77. package/connectors/connect-cloudflare/.env.example +10 -0
  78. package/connectors/connect-cloudflare/.npmrc.example +2 -0
  79. package/connectors/connect-cloudflare/AGENTS.md +84 -0
  80. package/connectors/connect-cloudflare/CLAUDE.md +84 -0
  81. package/connectors/connect-cloudflare/GEMINI.md +84 -0
  82. package/connectors/connect-cloudflare/README.md +94 -0
  83. package/connectors/connect-cloudflare/package.json +59 -0
  84. package/connectors/connect-cloudflare/scripts/init.sh +62 -0
  85. package/connectors/connect-cloudflare/src/api/accounts.ts +352 -0
  86. package/connectors/connect-cloudflare/src/api/analytics.ts +638 -0
  87. package/connectors/connect-cloudflare/src/api/bulk.ts +1104 -0
  88. package/connectors/connect-cloudflare/src/api/cache.ts +192 -0
  89. package/connectors/connect-cloudflare/src/api/client.ts +201 -0
  90. package/connectors/connect-cloudflare/src/api/dns.ts +109 -0
  91. package/connectors/connect-cloudflare/src/api/firewall.ts +405 -0
  92. package/connectors/connect-cloudflare/src/api/index.ts +150 -0
  93. package/connectors/connect-cloudflare/src/api/kv.ts +171 -0
  94. package/connectors/connect-cloudflare/src/api/pages.ts +241 -0
  95. package/connectors/connect-cloudflare/src/api/r2.ts +270 -0
  96. package/connectors/connect-cloudflare/src/api/ssl.ts +416 -0
  97. package/connectors/connect-cloudflare/src/api/workers.ts +235 -0
  98. package/connectors/connect-cloudflare/src/api/zones.ts +121 -0
  99. package/connectors/connect-cloudflare/src/cli/index.ts +1644 -0
  100. package/connectors/connect-cloudflare/src/index.ts +21 -0
  101. package/connectors/connect-cloudflare/src/types/index.ts +754 -0
  102. package/connectors/connect-cloudflare/src/utils/config.ts +365 -0
  103. package/connectors/connect-cloudflare/src/utils/output.ts +119 -0
  104. package/connectors/connect-cloudflare/tsconfig.json +29 -0
  105. package/connectors/connect-discord/.env.example +9 -0
  106. package/connectors/connect-discord/.npmrc.example +2 -0
  107. package/connectors/connect-discord/AGENTS.md +187 -0
  108. package/connectors/connect-discord/CLAUDE.md +187 -0
  109. package/connectors/connect-discord/GEMINI.md +187 -0
  110. package/connectors/connect-discord/README.md +158 -0
  111. package/connectors/connect-discord/package.json +55 -0
  112. package/connectors/connect-discord/src/api/channels.ts +451 -0
  113. package/connectors/connect-discord/src/api/client.ts +147 -0
  114. package/connectors/connect-discord/src/api/commands.ts +212 -0
  115. package/connectors/connect-discord/src/api/gateway.ts +27 -0
  116. package/connectors/connect-discord/src/api/guilds.ts +434 -0
  117. package/connectors/connect-discord/src/api/index.ts +82 -0
  118. package/connectors/connect-discord/src/api/invites.ts +27 -0
  119. package/connectors/connect-discord/src/api/users.ts +66 -0
  120. package/connectors/connect-discord/src/api/webhooks.ts +188 -0
  121. package/connectors/connect-discord/src/cli/index.ts +788 -0
  122. package/connectors/connect-discord/src/index.ts +35 -0
  123. package/connectors/connect-discord/src/types/index.ts +545 -0
  124. package/connectors/connect-discord/src/utils/config.ts +219 -0
  125. package/connectors/connect-discord/src/utils/output.ts +119 -0
  126. package/connectors/connect-discord/tsconfig.json +16 -0
  127. package/connectors/connect-docker/.env.example +11 -0
  128. package/connectors/connect-docker/.npmrc.example +2 -0
  129. package/connectors/connect-docker/AGENTS.md +112 -0
  130. package/connectors/connect-docker/CLAUDE.md +112 -0
  131. package/connectors/connect-docker/GEMINI.md +112 -0
  132. package/connectors/connect-docker/README.md +97 -0
  133. package/connectors/connect-docker/package.json +57 -0
  134. package/connectors/connect-docker/src/api/client.ts +181 -0
  135. package/connectors/connect-docker/src/api/example.ts +79 -0
  136. package/connectors/connect-docker/src/api/index.ts +63 -0
  137. package/connectors/connect-docker/src/cli/index.ts +318 -0
  138. package/connectors/connect-docker/src/index.ts +30 -0
  139. package/connectors/connect-docker/src/types/index.ts +172 -0
  140. package/connectors/connect-docker/src/utils/config.ts +238 -0
  141. package/connectors/connect-docker/src/utils/output.ts +119 -0
  142. package/connectors/connect-docker/tsconfig.json +16 -0
  143. package/connectors/connect-e2b/.env.example +7 -0
  144. package/connectors/connect-e2b/.npmrc.example +2 -0
  145. package/connectors/connect-e2b/AGENTS.md +126 -0
  146. package/connectors/connect-e2b/CLAUDE.md +126 -0
  147. package/connectors/connect-e2b/GEMINI.md +126 -0
  148. package/connectors/connect-e2b/README.md +135 -0
  149. package/connectors/connect-e2b/package.json +51 -0
  150. package/connectors/connect-e2b/src/api/client.ts +150 -0
  151. package/connectors/connect-e2b/src/api/code.ts +188 -0
  152. package/connectors/connect-e2b/src/api/filesystem.ts +168 -0
  153. package/connectors/connect-e2b/src/api/index.ts +131 -0
  154. package/connectors/connect-e2b/src/api/sandbox.ts +91 -0
  155. package/connectors/connect-e2b/src/cli/index.ts +481 -0
  156. package/connectors/connect-e2b/src/index.ts +28 -0
  157. package/connectors/connect-e2b/src/types/index.ts +136 -0
  158. package/connectors/connect-e2b/src/utils/config.ts +231 -0
  159. package/connectors/connect-e2b/src/utils/output.ts +119 -0
  160. package/connectors/connect-e2b/tsconfig.json +16 -0
  161. package/connectors/connect-elevenlabs/.env.example +15 -0
  162. package/connectors/connect-elevenlabs/.npmrc.example +2 -0
  163. package/connectors/connect-elevenlabs/AGENTS.md +80 -0
  164. package/connectors/connect-elevenlabs/CLAUDE.md +80 -0
  165. package/connectors/connect-elevenlabs/GEMINI.md +80 -0
  166. package/connectors/connect-elevenlabs/README.md +98 -0
  167. package/connectors/connect-elevenlabs/package.json +57 -0
  168. package/connectors/connect-elevenlabs/src/api/client.ts +175 -0
  169. package/connectors/connect-elevenlabs/src/api/history.ts +103 -0
  170. package/connectors/connect-elevenlabs/src/api/index.ts +101 -0
  171. package/connectors/connect-elevenlabs/src/api/models.ts +49 -0
  172. package/connectors/connect-elevenlabs/src/api/sound-effects.ts +62 -0
  173. package/connectors/connect-elevenlabs/src/api/sts.ts +109 -0
  174. package/connectors/connect-elevenlabs/src/api/stt.ts +93 -0
  175. package/connectors/connect-elevenlabs/src/api/tts.ts +175 -0
  176. package/connectors/connect-elevenlabs/src/api/user.ts +43 -0
  177. package/connectors/connect-elevenlabs/src/api/voices.ts +169 -0
  178. package/connectors/connect-elevenlabs/src/cli/index.ts +739 -0
  179. package/connectors/connect-elevenlabs/src/index.ts +40 -0
  180. package/connectors/connect-elevenlabs/src/types/index.ts +432 -0
  181. package/connectors/connect-elevenlabs/src/utils/config.ts +242 -0
  182. package/connectors/connect-elevenlabs/src/utils/output.ts +119 -0
  183. package/connectors/connect-elevenlabs/tsconfig.json +16 -0
  184. package/connectors/connect-exa/.npmrc.example +2 -0
  185. package/connectors/connect-exa/AGENTS.md +76 -0
  186. package/connectors/connect-exa/CLAUDE.md +76 -0
  187. package/connectors/connect-exa/GEMINI.md +76 -0
  188. package/connectors/connect-exa/README.md +94 -0
  189. package/connectors/connect-exa/package.json +59 -0
  190. package/connectors/connect-exa/src/api/answer.ts +150 -0
  191. package/connectors/connect-exa/src/api/client.ts +171 -0
  192. package/connectors/connect-exa/src/api/contents.ts +150 -0
  193. package/connectors/connect-exa/src/api/context.ts +84 -0
  194. package/connectors/connect-exa/src/api/index.ts +77 -0
  195. package/connectors/connect-exa/src/api/research.ts +154 -0
  196. package/connectors/connect-exa/src/api/search.ts +153 -0
  197. package/connectors/connect-exa/src/api/similar.ts +138 -0
  198. package/connectors/connect-exa/src/api/team.ts +165 -0
  199. package/connectors/connect-exa/src/api/websets.ts +228 -0
  200. package/connectors/connect-exa/src/cli/index.ts +813 -0
  201. package/connectors/connect-exa/src/index.ts +32 -0
  202. package/connectors/connect-exa/src/types/index.ts +410 -0
  203. package/connectors/connect-exa/src/utils/config.ts +336 -0
  204. package/connectors/connect-exa/src/utils/output.ts +119 -0
  205. package/connectors/connect-exa/tsconfig.json +21 -0
  206. package/connectors/connect-figma/.npmrc.example +2 -0
  207. package/connectors/connect-figma/AGENTS.md +185 -0
  208. package/connectors/connect-figma/CLAUDE.md +185 -0
  209. package/connectors/connect-figma/GEMINI.md +185 -0
  210. package/connectors/connect-figma/README.md +164 -0
  211. package/connectors/connect-figma/package.json +50 -0
  212. package/connectors/connect-figma/src/api/client.ts +111 -0
  213. package/connectors/connect-figma/src/api/comments.ts +114 -0
  214. package/connectors/connect-figma/src/api/components.ts +82 -0
  215. package/connectors/connect-figma/src/api/devresources.ts +78 -0
  216. package/connectors/connect-figma/src/api/files.ts +132 -0
  217. package/connectors/connect-figma/src/api/index.ts +86 -0
  218. package/connectors/connect-figma/src/api/projects.ts +36 -0
  219. package/connectors/connect-figma/src/api/styles.ts +46 -0
  220. package/connectors/connect-figma/src/api/teams.ts +17 -0
  221. package/connectors/connect-figma/src/api/users.ts +16 -0
  222. package/connectors/connect-figma/src/api/variables.ts +73 -0
  223. package/connectors/connect-figma/src/api/webhooks.ts +97 -0
  224. package/connectors/connect-figma/src/cli/index.ts +960 -0
  225. package/connectors/connect-figma/src/index.ts +34 -0
  226. package/connectors/connect-figma/src/types/index.ts +593 -0
  227. package/connectors/connect-figma/src/utils/config.ts +197 -0
  228. package/connectors/connect-figma/src/utils/output.ts +119 -0
  229. package/connectors/connect-figma/tsconfig.json +16 -0
  230. package/connectors/connect-firecrawl/.env.example +7 -0
  231. package/connectors/connect-firecrawl/.npmrc.example +2 -0
  232. package/connectors/connect-firecrawl/AGENTS.md +104 -0
  233. package/connectors/connect-firecrawl/CLAUDE.md +104 -0
  234. package/connectors/connect-firecrawl/GEMINI.md +104 -0
  235. package/connectors/connect-firecrawl/README.md +95 -0
  236. package/connectors/connect-firecrawl/package.json +51 -0
  237. package/connectors/connect-firecrawl/src/api/client.ts +123 -0
  238. package/connectors/connect-firecrawl/src/api/crawl.ts +93 -0
  239. package/connectors/connect-firecrawl/src/api/index.ts +61 -0
  240. package/connectors/connect-firecrawl/src/api/map.ts +51 -0
  241. package/connectors/connect-firecrawl/src/api/scrape.ts +71 -0
  242. package/connectors/connect-firecrawl/src/api/search.ts +61 -0
  243. package/connectors/connect-firecrawl/src/cli/index.ts +432 -0
  244. package/connectors/connect-firecrawl/src/index.ts +24 -0
  245. package/connectors/connect-firecrawl/src/types/index.ts +216 -0
  246. package/connectors/connect-firecrawl/src/utils/config.ts +208 -0
  247. package/connectors/connect-firecrawl/src/utils/output.ts +119 -0
  248. package/connectors/connect-firecrawl/tsconfig.json +16 -0
  249. package/connectors/connect-github/.env.example +11 -0
  250. package/connectors/connect-github/.npmrc.example +2 -0
  251. package/connectors/connect-github/AGENTS.md +150 -0
  252. package/connectors/connect-github/CLAUDE.md +150 -0
  253. package/connectors/connect-github/GEMINI.md +150 -0
  254. package/connectors/connect-github/README.md +126 -0
  255. package/connectors/connect-github/package.json +49 -0
  256. package/connectors/connect-github/src/api/client.ts +137 -0
  257. package/connectors/connect-github/src/api/index.ts +62 -0
  258. package/connectors/connect-github/src/api/issues.ts +186 -0
  259. package/connectors/connect-github/src/api/pulls.ts +284 -0
  260. package/connectors/connect-github/src/api/repos.ts +155 -0
  261. package/connectors/connect-github/src/api/users.ts +139 -0
  262. package/connectors/connect-github/src/cli/index.ts +732 -0
  263. package/connectors/connect-github/src/index.ts +24 -0
  264. package/connectors/connect-github/src/types/index.ts +497 -0
  265. package/connectors/connect-github/src/utils/config.ts +208 -0
  266. package/connectors/connect-github/src/utils/output.ts +119 -0
  267. package/connectors/connect-github/tsconfig.json +16 -0
  268. package/connectors/connect-gmail/.env.example +8 -0
  269. package/connectors/connect-gmail/.npmrc.example +2 -0
  270. package/connectors/connect-gmail/AGENTS.md +79 -0
  271. package/connectors/connect-gmail/CLAUDE.md +79 -0
  272. package/connectors/connect-gmail/GEMINI.md +79 -0
  273. package/connectors/connect-gmail/README.md +97 -0
  274. package/connectors/connect-gmail/package.json +58 -0
  275. package/connectors/connect-gmail/src/api/attachments.ts +141 -0
  276. package/connectors/connect-gmail/src/api/bulk.ts +661 -0
  277. package/connectors/connect-gmail/src/api/client.ts +131 -0
  278. package/connectors/connect-gmail/src/api/drafts.ts +198 -0
  279. package/connectors/connect-gmail/src/api/export.ts +312 -0
  280. package/connectors/connect-gmail/src/api/filters.ts +127 -0
  281. package/connectors/connect-gmail/src/api/index.ts +63 -0
  282. package/connectors/connect-gmail/src/api/labels.ts +123 -0
  283. package/connectors/connect-gmail/src/api/messages.ts +527 -0
  284. package/connectors/connect-gmail/src/api/profile.ts +72 -0
  285. package/connectors/connect-gmail/src/api/threads.ts +85 -0
  286. package/connectors/connect-gmail/src/cli/index.ts +2143 -0
  287. package/connectors/connect-gmail/src/index.ts +30 -0
  288. package/connectors/connect-gmail/src/types/index.ts +202 -0
  289. package/connectors/connect-gmail/src/utils/auth.ts +247 -0
  290. package/connectors/connect-gmail/src/utils/config.ts +466 -0
  291. package/connectors/connect-gmail/src/utils/contacts.ts +147 -0
  292. package/connectors/connect-gmail/src/utils/markdown.ts +110 -0
  293. package/connectors/connect-gmail/src/utils/output.ts +119 -0
  294. package/connectors/connect-gmail/src/utils/settings.ts +87 -0
  295. package/connectors/connect-gmail/tsconfig.json +16 -0
  296. package/connectors/connect-google/.env.example +10 -0
  297. package/connectors/connect-google/.npmrc.example +2 -0
  298. package/connectors/connect-google/AGENTS.md +76 -0
  299. package/connectors/connect-google/CLAUDE.md +76 -0
  300. package/connectors/connect-google/GEMINI.md +76 -0
  301. package/connectors/connect-google/README.md +94 -0
  302. package/connectors/connect-google/package.json +60 -0
  303. package/connectors/connect-google/src/api/calendar.ts +339 -0
  304. package/connectors/connect-google/src/api/client.ts +201 -0
  305. package/connectors/connect-google/src/api/docs.ts +372 -0
  306. package/connectors/connect-google/src/api/drive.ts +370 -0
  307. package/connectors/connect-google/src/api/gmail.ts +338 -0
  308. package/connectors/connect-google/src/api/index.ts +66 -0
  309. package/connectors/connect-google/src/api/sheets.ts +343 -0
  310. package/connectors/connect-google/src/cli/index.ts +1232 -0
  311. package/connectors/connect-google/src/index.ts +27 -0
  312. package/connectors/connect-google/src/types/index.ts +1893 -0
  313. package/connectors/connect-google/src/utils/config.ts +248 -0
  314. package/connectors/connect-google/src/utils/output.ts +119 -0
  315. package/connectors/connect-google/tsconfig.json +21 -0
  316. package/connectors/connect-googlecalendar/.npmrc.example +2 -0
  317. package/connectors/connect-googlecalendar/AGENTS.md +117 -0
  318. package/connectors/connect-googlecalendar/CLAUDE.md +117 -0
  319. package/connectors/connect-googlecalendar/GEMINI.md +117 -0
  320. package/connectors/connect-googlecalendar/README.md +97 -0
  321. package/connectors/connect-googlecalendar/package.json +57 -0
  322. package/connectors/connect-googlecalendar/src/api/calendars.ts +106 -0
  323. package/connectors/connect-googlecalendar/src/api/client.ts +266 -0
  324. package/connectors/connect-googlecalendar/src/api/events.ts +266 -0
  325. package/connectors/connect-googlecalendar/src/api/index.ts +96 -0
  326. package/connectors/connect-googlecalendar/src/cli/index.ts +819 -0
  327. package/connectors/connect-googlecalendar/src/index.ts +30 -0
  328. package/connectors/connect-googlecalendar/src/types/index.ts +347 -0
  329. package/connectors/connect-googlecalendar/src/utils/config.ts +251 -0
  330. package/connectors/connect-googlecalendar/src/utils/output.ts +119 -0
  331. package/connectors/connect-googlecalendar/tsconfig.json +16 -0
  332. package/connectors/connect-googlecloud/.env.example +11 -0
  333. package/connectors/connect-googlecloud/.npmrc.example +2 -0
  334. package/connectors/connect-googlecloud/AGENTS.md +110 -0
  335. package/connectors/connect-googlecloud/CLAUDE.md +110 -0
  336. package/connectors/connect-googlecloud/GEMINI.md +110 -0
  337. package/connectors/connect-googlecloud/README.md +96 -0
  338. package/connectors/connect-googlecloud/package.json +56 -0
  339. package/connectors/connect-googlecloud/src/api/client.ts +208 -0
  340. package/connectors/connect-googlecloud/src/api/index.ts +53 -0
  341. package/connectors/connect-googlecloud/src/api/projects.ts +75 -0
  342. package/connectors/connect-googlecloud/src/cli/index.ts +305 -0
  343. package/connectors/connect-googlecloud/src/index.ts +28 -0
  344. package/connectors/connect-googlecloud/src/types/index.ts +100 -0
  345. package/connectors/connect-googlecloud/src/utils/config.ts +232 -0
  346. package/connectors/connect-googlecloud/src/utils/output.ts +119 -0
  347. package/connectors/connect-googlecloud/tsconfig.json +16 -0
  348. package/connectors/connect-googlecontacts/.npmrc.example +2 -0
  349. package/connectors/connect-googlecontacts/AGENTS.md +181 -0
  350. package/connectors/connect-googlecontacts/CLAUDE.md +181 -0
  351. package/connectors/connect-googlecontacts/GEMINI.md +181 -0
  352. package/connectors/connect-googlecontacts/README.md +117 -0
  353. package/connectors/connect-googlecontacts/package.json +56 -0
  354. package/connectors/connect-googlecontacts/src/api/client.ts +306 -0
  355. package/connectors/connect-googlecontacts/src/api/contacts.ts +236 -0
  356. package/connectors/connect-googlecontacts/src/api/index.ts +99 -0
  357. package/connectors/connect-googlecontacts/src/cli/index.ts +654 -0
  358. package/connectors/connect-googlecontacts/src/index.ts +34 -0
  359. package/connectors/connect-googlecontacts/src/types/index.ts +254 -0
  360. package/connectors/connect-googlecontacts/src/utils/config.ts +337 -0
  361. package/connectors/connect-googlecontacts/src/utils/output.ts +119 -0
  362. package/connectors/connect-googlecontacts/tsconfig.json +16 -0
  363. package/connectors/connect-googledocs/.env.example +11 -0
  364. package/connectors/connect-googledocs/.npmrc.example +2 -0
  365. package/connectors/connect-googledocs/AGENTS.md +130 -0
  366. package/connectors/connect-googledocs/CLAUDE.md +130 -0
  367. package/connectors/connect-googledocs/GEMINI.md +130 -0
  368. package/connectors/connect-googledocs/README.md +112 -0
  369. package/connectors/connect-googledocs/package.json +50 -0
  370. package/connectors/connect-googledocs/src/api/client.ts +159 -0
  371. package/connectors/connect-googledocs/src/api/content.ts +219 -0
  372. package/connectors/connect-googledocs/src/api/documents.ts +52 -0
  373. package/connectors/connect-googledocs/src/api/index.ts +65 -0
  374. package/connectors/connect-googledocs/src/api/styles.ts +386 -0
  375. package/connectors/connect-googledocs/src/cli/index.ts +364 -0
  376. package/connectors/connect-googledocs/src/index.ts +24 -0
  377. package/connectors/connect-googledocs/src/types/index.ts +767 -0
  378. package/connectors/connect-googledocs/src/utils/config.ts +208 -0
  379. package/connectors/connect-googledocs/src/utils/output.ts +119 -0
  380. package/connectors/connect-googledocs/tsconfig.json +16 -0
  381. package/connectors/connect-googledrive/.npmrc.example +2 -0
  382. package/connectors/connect-googledrive/AGENTS.md +76 -0
  383. package/connectors/connect-googledrive/CLAUDE.md +76 -0
  384. package/connectors/connect-googledrive/GEMINI.md +76 -0
  385. package/connectors/connect-googledrive/README.md +94 -0
  386. package/connectors/connect-googledrive/package.json +55 -0
  387. package/connectors/connect-googledrive/src/api/client.ts +216 -0
  388. package/connectors/connect-googledrive/src/api/drives.ts +186 -0
  389. package/connectors/connect-googledrive/src/api/files.ts +305 -0
  390. package/connectors/connect-googledrive/src/api/folders.ts +133 -0
  391. package/connectors/connect-googledrive/src/api/index.ts +47 -0
  392. package/connectors/connect-googledrive/src/api/storage.ts +48 -0
  393. package/connectors/connect-googledrive/src/api/trash.ts +47 -0
  394. package/connectors/connect-googledrive/src/cli/index.ts +933 -0
  395. package/connectors/connect-googledrive/src/index.ts +30 -0
  396. package/connectors/connect-googledrive/src/types/index.ts +378 -0
  397. package/connectors/connect-googledrive/src/utils/auth.ts +207 -0
  398. package/connectors/connect-googledrive/src/utils/config.ts +440 -0
  399. package/connectors/connect-googledrive/src/utils/output.ts +135 -0
  400. package/connectors/connect-googledrive/tsconfig.json +25 -0
  401. package/connectors/connect-googlegemini/.env.example +7 -0
  402. package/connectors/connect-googlegemini/.npmrc.example +2 -0
  403. package/connectors/connect-googlegemini/AGENTS.md +184 -0
  404. package/connectors/connect-googlegemini/CLAUDE.md +184 -0
  405. package/connectors/connect-googlegemini/GEMINI.md +184 -0
  406. package/connectors/connect-googlegemini/README.md +143 -0
  407. package/connectors/connect-googlegemini/package.json +55 -0
  408. package/connectors/connect-googlegemini/src/api/client.ts +219 -0
  409. package/connectors/connect-googlegemini/src/api/embeddings.ts +142 -0
  410. package/connectors/connect-googlegemini/src/api/files.ts +152 -0
  411. package/connectors/connect-googlegemini/src/api/generate.ts +187 -0
  412. package/connectors/connect-googlegemini/src/api/images.ts +216 -0
  413. package/connectors/connect-googlegemini/src/api/index.ts +103 -0
  414. package/connectors/connect-googlegemini/src/api/models.ts +102 -0
  415. package/connectors/connect-googlegemini/src/api/speech.ts +195 -0
  416. package/connectors/connect-googlegemini/src/api/video.ts +224 -0
  417. package/connectors/connect-googlegemini/src/cli/index.ts +702 -0
  418. package/connectors/connect-googlegemini/src/index.ts +34 -0
  419. package/connectors/connect-googlegemini/src/types/index.ts +324 -0
  420. package/connectors/connect-googlegemini/src/utils/config.ts +139 -0
  421. package/connectors/connect-googlegemini/src/utils/output.ts +169 -0
  422. package/connectors/connect-googlegemini/tsconfig.json +15 -0
  423. package/connectors/connect-googlemaps/.npmrc.example +2 -0
  424. package/connectors/connect-googlemaps/AGENTS.md +143 -0
  425. package/connectors/connect-googlemaps/CLAUDE.md +143 -0
  426. package/connectors/connect-googlemaps/GEMINI.md +143 -0
  427. package/connectors/connect-googlemaps/README.md +152 -0
  428. package/connectors/connect-googlemaps/package.json +29 -0
  429. package/connectors/connect-googlemaps/src/api/index.ts +315 -0
  430. package/connectors/connect-googlemaps/src/cli/index.ts +423 -0
  431. package/connectors/connect-googlemaps/src/index.ts +3 -0
  432. package/connectors/connect-googlemaps/src/types/index.ts +268 -0
  433. package/connectors/connect-googlemaps/src/utils/config.ts +59 -0
  434. package/connectors/connect-googlemaps/src/utils/output.ts +178 -0
  435. package/connectors/connect-googlemaps/tsconfig.json +17 -0
  436. package/connectors/connect-googlesheets/.env.example +15 -0
  437. package/connectors/connect-googlesheets/.npmrc.example +2 -0
  438. package/connectors/connect-googlesheets/AGENTS.md +144 -0
  439. package/connectors/connect-googlesheets/CLAUDE.md +144 -0
  440. package/connectors/connect-googlesheets/GEMINI.md +144 -0
  441. package/connectors/connect-googlesheets/README.md +124 -0
  442. package/connectors/connect-googlesheets/package.json +51 -0
  443. package/connectors/connect-googlesheets/src/api/client.ts +230 -0
  444. package/connectors/connect-googlesheets/src/api/index.ts +113 -0
  445. package/connectors/connect-googlesheets/src/api/sheets.ts +249 -0
  446. package/connectors/connect-googlesheets/src/api/spreadsheets.ts +150 -0
  447. package/connectors/connect-googlesheets/src/api/values.ts +209 -0
  448. package/connectors/connect-googlesheets/src/cli/index.ts +544 -0
  449. package/connectors/connect-googlesheets/src/index.ts +32 -0
  450. package/connectors/connect-googlesheets/src/types/index.ts +764 -0
  451. package/connectors/connect-googlesheets/src/utils/config.ts +289 -0
  452. package/connectors/connect-googlesheets/src/utils/output.ts +119 -0
  453. package/connectors/connect-googlesheets/tsconfig.json +16 -0
  454. package/connectors/connect-googletasks/.env.example +6 -0
  455. package/connectors/connect-googletasks/.npmrc.example +2 -0
  456. package/connectors/connect-googletasks/AGENTS.md +122 -0
  457. package/connectors/connect-googletasks/CLAUDE.md +122 -0
  458. package/connectors/connect-googletasks/GEMINI.md +122 -0
  459. package/connectors/connect-googletasks/README.md +131 -0
  460. package/connectors/connect-googletasks/package.json +50 -0
  461. package/connectors/connect-googletasks/src/api/index.ts +321 -0
  462. package/connectors/connect-googletasks/src/cli/index.ts +542 -0
  463. package/connectors/connect-googletasks/src/index.ts +42 -0
  464. package/connectors/connect-googletasks/src/types/index.ts +167 -0
  465. package/connectors/connect-googletasks/src/utils/config.ts +287 -0
  466. package/connectors/connect-googletasks/src/utils/output.ts +145 -0
  467. package/connectors/connect-googletasks/tsconfig.json +16 -0
  468. package/connectors/connect-hedra/.env.example +7 -0
  469. package/connectors/connect-hedra/.npmrc.example +2 -0
  470. package/connectors/connect-hedra/AGENTS.md +101 -0
  471. package/connectors/connect-hedra/CLAUDE.md +101 -0
  472. package/connectors/connect-hedra/GEMINI.md +101 -0
  473. package/connectors/connect-hedra/README.md +95 -0
  474. package/connectors/connect-hedra/package.json +57 -0
  475. package/connectors/connect-hedra/src/api/characters.ts +44 -0
  476. package/connectors/connect-hedra/src/api/client.ts +136 -0
  477. package/connectors/connect-hedra/src/api/index.ts +57 -0
  478. package/connectors/connect-hedra/src/api/projects.ts +44 -0
  479. package/connectors/connect-hedra/src/api/voices.ts +23 -0
  480. package/connectors/connect-hedra/src/cli/index.ts +314 -0
  481. package/connectors/connect-hedra/src/index.ts +24 -0
  482. package/connectors/connect-hedra/src/types/index.ts +103 -0
  483. package/connectors/connect-hedra/src/utils/config.ts +211 -0
  484. package/connectors/connect-hedra/src/utils/output.ts +119 -0
  485. package/connectors/connect-hedra/tsconfig.json +16 -0
  486. package/connectors/connect-heygen/.env.example +11 -0
  487. package/connectors/connect-heygen/.npmrc.example +2 -0
  488. package/connectors/connect-heygen/AGENTS.md +102 -0
  489. package/connectors/connect-heygen/CLAUDE.md +102 -0
  490. package/connectors/connect-heygen/GEMINI.md +102 -0
  491. package/connectors/connect-heygen/README.md +96 -0
  492. package/connectors/connect-heygen/package.json +57 -0
  493. package/connectors/connect-heygen/src/api/client.ts +134 -0
  494. package/connectors/connect-heygen/src/api/example.ts +48 -0
  495. package/connectors/connect-heygen/src/api/index.ts +49 -0
  496. package/connectors/connect-heygen/src/cli/index.ts +242 -0
  497. package/connectors/connect-heygen/src/index.ts +24 -0
  498. package/connectors/connect-heygen/src/types/index.ts +69 -0
  499. package/connectors/connect-heygen/src/utils/config.ts +209 -0
  500. package/connectors/connect-heygen/src/utils/output.ts +119 -0
  501. package/connectors/connect-heygen/tsconfig.json +16 -0
  502. package/connectors/connect-huggingface/.env.example +10 -0
  503. package/connectors/connect-huggingface/.npmrc.example +2 -0
  504. package/connectors/connect-huggingface/AGENTS.md +113 -0
  505. package/connectors/connect-huggingface/CLAUDE.md +113 -0
  506. package/connectors/connect-huggingface/GEMINI.md +113 -0
  507. package/connectors/connect-huggingface/README.md +97 -0
  508. package/connectors/connect-huggingface/package.json +57 -0
  509. package/connectors/connect-huggingface/src/api/client.ts +136 -0
  510. package/connectors/connect-huggingface/src/api/example.ts +48 -0
  511. package/connectors/connect-huggingface/src/api/index.ts +49 -0
  512. package/connectors/connect-huggingface/src/cli/index.ts +243 -0
  513. package/connectors/connect-huggingface/src/index.ts +24 -0
  514. package/connectors/connect-huggingface/src/types/index.ts +69 -0
  515. package/connectors/connect-huggingface/src/utils/config.ts +211 -0
  516. package/connectors/connect-huggingface/src/utils/output.ts +119 -0
  517. package/connectors/connect-huggingface/tsconfig.json +16 -0
  518. package/connectors/connect-icons8/.env.example +7 -0
  519. package/connectors/connect-icons8/.npmrc.example +2 -0
  520. package/connectors/connect-icons8/AGENTS.md +101 -0
  521. package/connectors/connect-icons8/CLAUDE.md +101 -0
  522. package/connectors/connect-icons8/GEMINI.md +101 -0
  523. package/connectors/connect-icons8/README.md +95 -0
  524. package/connectors/connect-icons8/package.json +55 -0
  525. package/connectors/connect-icons8/src/api/client.ts +137 -0
  526. package/connectors/connect-icons8/src/api/example.ts +64 -0
  527. package/connectors/connect-icons8/src/api/index.ts +48 -0
  528. package/connectors/connect-icons8/src/cli/index.ts +286 -0
  529. package/connectors/connect-icons8/src/index.ts +24 -0
  530. package/connectors/connect-icons8/src/types/index.ts +114 -0
  531. package/connectors/connect-icons8/src/utils/config.ts +211 -0
  532. package/connectors/connect-icons8/src/utils/output.ts +119 -0
  533. package/connectors/connect-icons8/tsconfig.json +16 -0
  534. package/connectors/connect-maropost/.env.example +13 -0
  535. package/connectors/connect-maropost/.npmrc.example +2 -0
  536. package/connectors/connect-maropost/AGENTS.md +110 -0
  537. package/connectors/connect-maropost/CLAUDE.md +110 -0
  538. package/connectors/connect-maropost/GEMINI.md +110 -0
  539. package/connectors/connect-maropost/README.md +96 -0
  540. package/connectors/connect-maropost/package.json +51 -0
  541. package/connectors/connect-maropost/src/api/campaigns.ts +129 -0
  542. package/connectors/connect-maropost/src/api/client.ts +162 -0
  543. package/connectors/connect-maropost/src/api/contacts.ts +128 -0
  544. package/connectors/connect-maropost/src/api/index.ts +91 -0
  545. package/connectors/connect-maropost/src/api/journeys.ts +60 -0
  546. package/connectors/connect-maropost/src/api/lists.ts +80 -0
  547. package/connectors/connect-maropost/src/api/reports.ts +123 -0
  548. package/connectors/connect-maropost/src/api/transactional.ts +109 -0
  549. package/connectors/connect-maropost/src/cli/index.ts +958 -0
  550. package/connectors/connect-maropost/src/index.ts +33 -0
  551. package/connectors/connect-maropost/src/types/index.ts +340 -0
  552. package/connectors/connect-maropost/src/utils/config.ts +213 -0
  553. package/connectors/connect-maropost/src/utils/output.ts +119 -0
  554. package/connectors/connect-maropost/tsconfig.json +16 -0
  555. package/connectors/connect-mercury/.env.example +5 -0
  556. package/connectors/connect-mercury/.npmrc.example +2 -0
  557. package/connectors/connect-mercury/AGENTS.md +137 -0
  558. package/connectors/connect-mercury/CLAUDE.md +137 -0
  559. package/connectors/connect-mercury/GEMINI.md +137 -0
  560. package/connectors/connect-mercury/README.md +146 -0
  561. package/connectors/connect-mercury/package.json +60 -0
  562. package/connectors/connect-mercury/src/api/accounts.ts +79 -0
  563. package/connectors/connect-mercury/src/api/attachments.ts +24 -0
  564. package/connectors/connect-mercury/src/api/categories.ts +40 -0
  565. package/connectors/connect-mercury/src/api/client.ts +134 -0
  566. package/connectors/connect-mercury/src/api/credit.ts +38 -0
  567. package/connectors/connect-mercury/src/api/customers.ts +53 -0
  568. package/connectors/connect-mercury/src/api/events.ts +63 -0
  569. package/connectors/connect-mercury/src/api/index.ts +97 -0
  570. package/connectors/connect-mercury/src/api/invoices.ts +102 -0
  571. package/connectors/connect-mercury/src/api/organization.ts +88 -0
  572. package/connectors/connect-mercury/src/api/recipients.ts +84 -0
  573. package/connectors/connect-mercury/src/api/transactions.ts +128 -0
  574. package/connectors/connect-mercury/src/api/transfers.ts +96 -0
  575. package/connectors/connect-mercury/src/api/treasury.ts +82 -0
  576. package/connectors/connect-mercury/src/api/webhooks.ts +90 -0
  577. package/connectors/connect-mercury/src/cli/index.ts +1263 -0
  578. package/connectors/connect-mercury/src/index.ts +33 -0
  579. package/connectors/connect-mercury/src/types/index.ts +505 -0
  580. package/connectors/connect-mercury/src/utils/config.ts +393 -0
  581. package/connectors/connect-mercury/src/utils/output.ts +119 -0
  582. package/connectors/connect-mercury/tsconfig.json +16 -0
  583. package/connectors/connect-meta/.npmrc.example +2 -0
  584. package/connectors/connect-meta/AGENTS.md +76 -0
  585. package/connectors/connect-meta/CLAUDE.md +76 -0
  586. package/connectors/connect-meta/GEMINI.md +76 -0
  587. package/connectors/connect-meta/README.md +94 -0
  588. package/connectors/connect-meta/package.json +61 -0
  589. package/connectors/connect-meta/src/api/accounts.ts +120 -0
  590. package/connectors/connect-meta/src/api/ads.ts +274 -0
  591. package/connectors/connect-meta/src/api/adsets.ts +263 -0
  592. package/connectors/connect-meta/src/api/audiences.ts +392 -0
  593. package/connectors/connect-meta/src/api/business.ts +495 -0
  594. package/connectors/connect-meta/src/api/campaigns.ts +191 -0
  595. package/connectors/connect-meta/src/api/catalogs.ts +500 -0
  596. package/connectors/connect-meta/src/api/client.ts +154 -0
  597. package/connectors/connect-meta/src/api/creatives.ts +357 -0
  598. package/connectors/connect-meta/src/api/index.ts +100 -0
  599. package/connectors/connect-meta/src/api/insights.ts +357 -0
  600. package/connectors/connect-meta/src/api/instagram.ts +449 -0
  601. package/connectors/connect-meta/src/api/pages.ts +330 -0
  602. package/connectors/connect-meta/src/api/pixels.ts +408 -0
  603. package/connectors/connect-meta/src/cli/index.ts +1585 -0
  604. package/connectors/connect-meta/src/index.ts +44 -0
  605. package/connectors/connect-meta/src/types/index.ts +1523 -0
  606. package/connectors/connect-meta/src/utils/config.ts +458 -0
  607. package/connectors/connect-meta/src/utils/output.ts +152 -0
  608. package/connectors/connect-meta/tsconfig.json +18 -0
  609. package/connectors/connect-midjourney/.env.example +13 -0
  610. package/connectors/connect-midjourney/.npmrc.example +2 -0
  611. package/connectors/connect-midjourney/AGENTS.md +104 -0
  612. package/connectors/connect-midjourney/CLAUDE.md +104 -0
  613. package/connectors/connect-midjourney/GEMINI.md +104 -0
  614. package/connectors/connect-midjourney/README.md +96 -0
  615. package/connectors/connect-midjourney/package.json +57 -0
  616. package/connectors/connect-midjourney/src/api/client.ts +143 -0
  617. package/connectors/connect-midjourney/src/api/imagine.ts +84 -0
  618. package/connectors/connect-midjourney/src/api/index.ts +50 -0
  619. package/connectors/connect-midjourney/src/cli/index.ts +343 -0
  620. package/connectors/connect-midjourney/src/index.ts +24 -0
  621. package/connectors/connect-midjourney/src/types/index.ts +98 -0
  622. package/connectors/connect-midjourney/src/utils/config.ts +219 -0
  623. package/connectors/connect-midjourney/src/utils/output.ts +119 -0
  624. package/connectors/connect-midjourney/tsconfig.json +16 -0
  625. package/connectors/connect-mistral/.env.example +4 -0
  626. package/connectors/connect-mistral/.npmrc.example +2 -0
  627. package/connectors/connect-mistral/AGENTS.md +100 -0
  628. package/connectors/connect-mistral/CLAUDE.md +100 -0
  629. package/connectors/connect-mistral/GEMINI.md +100 -0
  630. package/connectors/connect-mistral/README.md +109 -0
  631. package/connectors/connect-mistral/package.json +60 -0
  632. package/connectors/connect-mistral/src/api/chat.ts +113 -0
  633. package/connectors/connect-mistral/src/api/client.ts +122 -0
  634. package/connectors/connect-mistral/src/api/embeddings.ts +52 -0
  635. package/connectors/connect-mistral/src/api/index.ts +62 -0
  636. package/connectors/connect-mistral/src/cli/index.ts +371 -0
  637. package/connectors/connect-mistral/src/index.ts +24 -0
  638. package/connectors/connect-mistral/src/types/index.ts +183 -0
  639. package/connectors/connect-mistral/src/utils/config.ts +208 -0
  640. package/connectors/connect-mistral/src/utils/output.ts +119 -0
  641. package/connectors/connect-mistral/tsconfig.json +16 -0
  642. package/connectors/connect-mixpanel/.env.example +8 -0
  643. package/connectors/connect-mixpanel/.npmrc.example +2 -0
  644. package/connectors/connect-mixpanel/AGENTS.md +178 -0
  645. package/connectors/connect-mixpanel/CLAUDE.md +178 -0
  646. package/connectors/connect-mixpanel/GEMINI.md +178 -0
  647. package/connectors/connect-mixpanel/README.md +149 -0
  648. package/connectors/connect-mixpanel/package.json +54 -0
  649. package/connectors/connect-mixpanel/src/api/client.ts +352 -0
  650. package/connectors/connect-mixpanel/src/api/engage.ts +209 -0
  651. package/connectors/connect-mixpanel/src/api/export.ts +122 -0
  652. package/connectors/connect-mixpanel/src/api/funnels.ts +136 -0
  653. package/connectors/connect-mixpanel/src/api/index.ts +97 -0
  654. package/connectors/connect-mixpanel/src/api/insights.ts +198 -0
  655. package/connectors/connect-mixpanel/src/api/retention.ts +139 -0
  656. package/connectors/connect-mixpanel/src/api/track.ts +69 -0
  657. package/connectors/connect-mixpanel/src/cli/index.ts +678 -0
  658. package/connectors/connect-mixpanel/src/index.ts +32 -0
  659. package/connectors/connect-mixpanel/src/types/index.ts +262 -0
  660. package/connectors/connect-mixpanel/src/utils/config.ts +255 -0
  661. package/connectors/connect-mixpanel/src/utils/output.ts +119 -0
  662. package/connectors/connect-mixpanel/tsconfig.json +16 -0
  663. package/connectors/connect-notion/.env.example +10 -0
  664. package/connectors/connect-notion/.npmrc.example +2 -0
  665. package/connectors/connect-notion/AGENTS.md +75 -0
  666. package/connectors/connect-notion/CLAUDE.md +211 -0
  667. package/connectors/connect-notion/GEMINI.md +54 -0
  668. package/connectors/connect-notion/README.md +244 -0
  669. package/connectors/connect-notion/package.json +56 -0
  670. package/connectors/connect-notion/src/api/blocks.ts +463 -0
  671. package/connectors/connect-notion/src/api/bulk.ts +614 -0
  672. package/connectors/connect-notion/src/api/client.ts +127 -0
  673. package/connectors/connect-notion/src/api/comments.ts +142 -0
  674. package/connectors/connect-notion/src/api/databases.ts +652 -0
  675. package/connectors/connect-notion/src/api/export.ts +487 -0
  676. package/connectors/connect-notion/src/api/index.ts +72 -0
  677. package/connectors/connect-notion/src/api/pages.ts +465 -0
  678. package/connectors/connect-notion/src/api/search.ts +202 -0
  679. package/connectors/connect-notion/src/api/users.ts +99 -0
  680. package/connectors/connect-notion/src/cli/index.ts +1666 -0
  681. package/connectors/connect-notion/src/index.ts +16 -0
  682. package/connectors/connect-notion/src/types/index.ts +723 -0
  683. package/connectors/connect-notion/src/utils/auth.ts +186 -0
  684. package/connectors/connect-notion/src/utils/config.ts +434 -0
  685. package/connectors/connect-notion/src/utils/output.ts +119 -0
  686. package/connectors/connect-notion/tsconfig.json +29 -0
  687. package/connectors/connect-openai/.env.example +4 -0
  688. package/connectors/connect-openai/.npmrc.example +2 -0
  689. package/connectors/connect-openai/AGENTS.md +77 -0
  690. package/connectors/connect-openai/CLAUDE.md +77 -0
  691. package/connectors/connect-openai/GEMINI.md +77 -0
  692. package/connectors/connect-openai/README.md +95 -0
  693. package/connectors/connect-openai/package.json +61 -0
  694. package/connectors/connect-openai/src/api/chat.ts +134 -0
  695. package/connectors/connect-openai/src/api/client.ts +128 -0
  696. package/connectors/connect-openai/src/api/embeddings.ts +57 -0
  697. package/connectors/connect-openai/src/api/images.ts +75 -0
  698. package/connectors/connect-openai/src/api/index.ts +67 -0
  699. package/connectors/connect-openai/src/cli/index.ts +459 -0
  700. package/connectors/connect-openai/src/index.ts +26 -0
  701. package/connectors/connect-openai/src/types/index.ts +241 -0
  702. package/connectors/connect-openai/src/utils/config.ts +219 -0
  703. package/connectors/connect-openai/src/utils/output.ts +119 -0
  704. package/connectors/connect-openai/tsconfig.json +16 -0
  705. package/connectors/connect-openweathermap/.env.example +2 -0
  706. package/connectors/connect-openweathermap/.npmrc.example +2 -0
  707. package/connectors/connect-openweathermap/AGENTS.md +106 -0
  708. package/connectors/connect-openweathermap/CLAUDE.md +106 -0
  709. package/connectors/connect-openweathermap/GEMINI.md +106 -0
  710. package/connectors/connect-openweathermap/README.md +115 -0
  711. package/connectors/connect-openweathermap/package.json +52 -0
  712. package/connectors/connect-openweathermap/src/api/client.ts +76 -0
  713. package/connectors/connect-openweathermap/src/api/index.ts +24 -0
  714. package/connectors/connect-openweathermap/src/api/weather.ts +108 -0
  715. package/connectors/connect-openweathermap/src/cli/index.ts +470 -0
  716. package/connectors/connect-openweathermap/src/index.ts +33 -0
  717. package/connectors/connect-openweathermap/src/types/index.ts +275 -0
  718. package/connectors/connect-openweathermap/src/utils/config.ts +82 -0
  719. package/connectors/connect-openweathermap/src/utils/output.ts +106 -0
  720. package/connectors/connect-openweathermap/tsconfig.json +16 -0
  721. package/connectors/connect-pandadoc/.env.example +13 -0
  722. package/connectors/connect-pandadoc/.npmrc.example +2 -0
  723. package/connectors/connect-pandadoc/AGENTS.md +76 -0
  724. package/connectors/connect-pandadoc/CLAUDE.md +76 -0
  725. package/connectors/connect-pandadoc/GEMINI.md +76 -0
  726. package/connectors/connect-pandadoc/README.md +94 -0
  727. package/connectors/connect-pandadoc/package.json +57 -0
  728. package/connectors/connect-pandadoc/src/api/catalogs.ts +58 -0
  729. package/connectors/connect-pandadoc/src/api/client.ts +169 -0
  730. package/connectors/connect-pandadoc/src/api/contacts.ts +58 -0
  731. package/connectors/connect-pandadoc/src/api/content-library.ts +57 -0
  732. package/connectors/connect-pandadoc/src/api/documents.ts +263 -0
  733. package/connectors/connect-pandadoc/src/api/folders.ts +58 -0
  734. package/connectors/connect-pandadoc/src/api/forms.ts +37 -0
  735. package/connectors/connect-pandadoc/src/api/index.ts +83 -0
  736. package/connectors/connect-pandadoc/src/api/members.ts +42 -0
  737. package/connectors/connect-pandadoc/src/api/templates.ts +61 -0
  738. package/connectors/connect-pandadoc/src/api/webhooks.ts +81 -0
  739. package/connectors/connect-pandadoc/src/cli/index.ts +1212 -0
  740. package/connectors/connect-pandadoc/src/index.ts +39 -0
  741. package/connectors/connect-pandadoc/src/types/index.ts +454 -0
  742. package/connectors/connect-pandadoc/src/utils/config.ts +259 -0
  743. package/connectors/connect-pandadoc/src/utils/output.ts +119 -0
  744. package/connectors/connect-pandadoc/tsconfig.json +16 -0
  745. package/connectors/connect-quo/.env.example +7 -0
  746. package/connectors/connect-quo/.npmrc.example +2 -0
  747. package/connectors/connect-quo/AGENTS.md +76 -0
  748. package/connectors/connect-quo/CLAUDE.md +76 -0
  749. package/connectors/connect-quo/GEMINI.md +76 -0
  750. package/connectors/connect-quo/README.md +94 -0
  751. package/connectors/connect-quo/package.json +58 -0
  752. package/connectors/connect-quo/src/api/calls.ts +64 -0
  753. package/connectors/connect-quo/src/api/client.ts +133 -0
  754. package/connectors/connect-quo/src/api/contacts.ts +57 -0
  755. package/connectors/connect-quo/src/api/conversations.ts +45 -0
  756. package/connectors/connect-quo/src/api/custom-fields.ts +17 -0
  757. package/connectors/connect-quo/src/api/index.ts +76 -0
  758. package/connectors/connect-quo/src/api/messages.ts +50 -0
  759. package/connectors/connect-quo/src/api/phone-numbers.ts +24 -0
  760. package/connectors/connect-quo/src/api/users.ts +24 -0
  761. package/connectors/connect-quo/src/api/webhooks.ts +121 -0
  762. package/connectors/connect-quo/src/cli/index.ts +713 -0
  763. package/connectors/connect-quo/src/index.ts +32 -0
  764. package/connectors/connect-quo/src/types/index.ts +361 -0
  765. package/connectors/connect-quo/src/utils/config.ts +242 -0
  766. package/connectors/connect-quo/src/utils/output.ts +119 -0
  767. package/connectors/connect-quo/tsconfig.json +16 -0
  768. package/connectors/connect-reddit/.npmrc.example +2 -0
  769. package/connectors/connect-reddit/AGENTS.md +176 -0
  770. package/connectors/connect-reddit/CLAUDE.md +176 -0
  771. package/connectors/connect-reddit/GEMINI.md +176 -0
  772. package/connectors/connect-reddit/README.md +160 -0
  773. package/connectors/connect-reddit/package.json +50 -0
  774. package/connectors/connect-reddit/src/api/client.ts +299 -0
  775. package/connectors/connect-reddit/src/api/comments.ts +268 -0
  776. package/connectors/connect-reddit/src/api/index.ts +113 -0
  777. package/connectors/connect-reddit/src/api/posts.ts +298 -0
  778. package/connectors/connect-reddit/src/api/search.ts +235 -0
  779. package/connectors/connect-reddit/src/api/subreddits.ts +279 -0
  780. package/connectors/connect-reddit/src/api/users.ts +403 -0
  781. package/connectors/connect-reddit/src/cli/index.ts +766 -0
  782. package/connectors/connect-reddit/src/index.ts +36 -0
  783. package/connectors/connect-reddit/src/types/index.ts +295 -0
  784. package/connectors/connect-reddit/src/utils/config.ts +281 -0
  785. package/connectors/connect-reddit/src/utils/output.ts +138 -0
  786. package/connectors/connect-reddit/tsconfig.json +16 -0
  787. package/connectors/connect-reducto/.npmrc.example +2 -0
  788. package/connectors/connect-reducto/AGENTS.md +136 -0
  789. package/connectors/connect-reducto/CLAUDE.md +136 -0
  790. package/connectors/connect-reducto/GEMINI.md +136 -0
  791. package/connectors/connect-reducto/README.md +145 -0
  792. package/connectors/connect-reducto/package.json +48 -0
  793. package/connectors/connect-reducto/src/api/index.ts +362 -0
  794. package/connectors/connect-reducto/src/cli/index.ts +582 -0
  795. package/connectors/connect-reducto/src/index.ts +48 -0
  796. package/connectors/connect-reducto/src/types/index.ts +204 -0
  797. package/connectors/connect-reducto/src/utils/config.ts +144 -0
  798. package/connectors/connect-reducto/src/utils/output.ts +256 -0
  799. package/connectors/connect-reducto/tsconfig.json +18 -0
  800. package/connectors/connect-resend/.npmrc.example +2 -0
  801. package/connectors/connect-resend/AGENTS.md +76 -0
  802. package/connectors/connect-resend/CLAUDE.md +76 -0
  803. package/connectors/connect-resend/GEMINI.md +76 -0
  804. package/connectors/connect-resend/README.md +94 -0
  805. package/connectors/connect-resend/package.json +58 -0
  806. package/connectors/connect-resend/src/api/api-keys.ts +41 -0
  807. package/connectors/connect-resend/src/api/audiences.ts +46 -0
  808. package/connectors/connect-resend/src/api/broadcasts.ts +65 -0
  809. package/connectors/connect-resend/src/api/client.ts +132 -0
  810. package/connectors/connect-resend/src/api/contacts.ts +64 -0
  811. package/connectors/connect-resend/src/api/domains.ts +64 -0
  812. package/connectors/connect-resend/src/api/emails.ts +66 -0
  813. package/connectors/connect-resend/src/api/index.ts +77 -0
  814. package/connectors/connect-resend/src/api/templates.ts +65 -0
  815. package/connectors/connect-resend/src/api/webhooks.ts +55 -0
  816. package/connectors/connect-resend/src/cli/index.ts +1029 -0
  817. package/connectors/connect-resend/src/index.ts +32 -0
  818. package/connectors/connect-resend/src/types/index.ts +327 -0
  819. package/connectors/connect-resend/src/utils/config.ts +228 -0
  820. package/connectors/connect-resend/src/utils/output.ts +119 -0
  821. package/connectors/connect-resend/tsconfig.json +21 -0
  822. package/connectors/connect-revolut/.npmrc.example +2 -0
  823. package/connectors/connect-revolut/AGENTS.md +162 -0
  824. package/connectors/connect-revolut/CLAUDE.md +162 -0
  825. package/connectors/connect-revolut/GEMINI.md +162 -0
  826. package/connectors/connect-revolut/README.md +145 -0
  827. package/connectors/connect-revolut/package.json +54 -0
  828. package/connectors/connect-revolut/src/api/accounts.ts +46 -0
  829. package/connectors/connect-revolut/src/api/cards.ts +87 -0
  830. package/connectors/connect-revolut/src/api/client.ts +128 -0
  831. package/connectors/connect-revolut/src/api/counterparties.ts +64 -0
  832. package/connectors/connect-revolut/src/api/exchange.ts +87 -0
  833. package/connectors/connect-revolut/src/api/index.ts +85 -0
  834. package/connectors/connect-revolut/src/api/payments.ts +64 -0
  835. package/connectors/connect-revolut/src/api/transactions.ts +62 -0
  836. package/connectors/connect-revolut/src/cli/index.ts +674 -0
  837. package/connectors/connect-revolut/src/index.ts +32 -0
  838. package/connectors/connect-revolut/src/types/index.ts +306 -0
  839. package/connectors/connect-revolut/src/utils/config.ts +212 -0
  840. package/connectors/connect-revolut/src/utils/output.ts +77 -0
  841. package/connectors/connect-revolut/tsconfig.json +16 -0
  842. package/connectors/connect-sedo/.env.example +7 -0
  843. package/connectors/connect-sedo/.npmrc.example +2 -0
  844. package/connectors/connect-sedo/AGENTS.md +111 -0
  845. package/connectors/connect-sedo/CLAUDE.md +111 -0
  846. package/connectors/connect-sedo/GEMINI.md +111 -0
  847. package/connectors/connect-sedo/README.md +112 -0
  848. package/connectors/connect-sedo/package.json +54 -0
  849. package/connectors/connect-sedo/src/api/client.ts +139 -0
  850. package/connectors/connect-sedo/src/api/domains.ts +246 -0
  851. package/connectors/connect-sedo/src/api/index.ts +30 -0
  852. package/connectors/connect-sedo/src/cli/index.ts +490 -0
  853. package/connectors/connect-sedo/src/index.ts +18 -0
  854. package/connectors/connect-sedo/src/types/index.ts +104 -0
  855. package/connectors/connect-sedo/src/utils/config.ts +234 -0
  856. package/connectors/connect-sedo/src/utils/output.ts +62 -0
  857. package/connectors/connect-sedo/tsconfig.json +29 -0
  858. package/connectors/connect-sentry/.env.example +10 -0
  859. package/connectors/connect-sentry/.npmrc.example +2 -0
  860. package/connectors/connect-sentry/AGENTS.md +102 -0
  861. package/connectors/connect-sentry/CLAUDE.md +102 -0
  862. package/connectors/connect-sentry/GEMINI.md +102 -0
  863. package/connectors/connect-sentry/README.md +96 -0
  864. package/connectors/connect-sentry/package.json +55 -0
  865. package/connectors/connect-sentry/src/api/client.ts +136 -0
  866. package/connectors/connect-sentry/src/api/example.ts +48 -0
  867. package/connectors/connect-sentry/src/api/index.ts +49 -0
  868. package/connectors/connect-sentry/src/cli/index.ts +242 -0
  869. package/connectors/connect-sentry/src/index.ts +24 -0
  870. package/connectors/connect-sentry/src/types/index.ts +69 -0
  871. package/connectors/connect-sentry/src/utils/config.ts +210 -0
  872. package/connectors/connect-sentry/src/utils/output.ts +119 -0
  873. package/connectors/connect-sentry/tsconfig.json +16 -0
  874. package/connectors/connect-shadcn/.env.example +5 -0
  875. package/connectors/connect-shadcn/.npmrc.example +2 -0
  876. package/connectors/connect-shadcn/AGENTS.md +104 -0
  877. package/connectors/connect-shadcn/CLAUDE.md +104 -0
  878. package/connectors/connect-shadcn/GEMINI.md +104 -0
  879. package/connectors/connect-shadcn/README.md +94 -0
  880. package/connectors/connect-shadcn/package.json +55 -0
  881. package/connectors/connect-shadcn/src/api/client.ts +91 -0
  882. package/connectors/connect-shadcn/src/api/components.ts +146 -0
  883. package/connectors/connect-shadcn/src/api/index.ts +50 -0
  884. package/connectors/connect-shadcn/src/cli/index.ts +320 -0
  885. package/connectors/connect-shadcn/src/index.ts +22 -0
  886. package/connectors/connect-shadcn/src/types/index.ts +89 -0
  887. package/connectors/connect-shadcn/src/utils/config.ts +208 -0
  888. package/connectors/connect-shadcn/src/utils/output.ts +119 -0
  889. package/connectors/connect-shadcn/tsconfig.json +16 -0
  890. package/connectors/connect-shopify/.npmrc.example +2 -0
  891. package/connectors/connect-shopify/AGENTS.md +170 -0
  892. package/connectors/connect-shopify/CLAUDE.md +170 -0
  893. package/connectors/connect-shopify/GEMINI.md +170 -0
  894. package/connectors/connect-shopify/README.md +153 -0
  895. package/connectors/connect-shopify/package.json +29 -0
  896. package/connectors/connect-shopify/src/api/client.ts +163 -0
  897. package/connectors/connect-shopify/src/api/collections.ts +322 -0
  898. package/connectors/connect-shopify/src/api/customers.ts +239 -0
  899. package/connectors/connect-shopify/src/api/index.ts +89 -0
  900. package/connectors/connect-shopify/src/api/inventory.ts +236 -0
  901. package/connectors/connect-shopify/src/api/orders.ts +367 -0
  902. package/connectors/connect-shopify/src/api/products.ts +252 -0
  903. package/connectors/connect-shopify/src/api/shop.ts +50 -0
  904. package/connectors/connect-shopify/src/cli/index.ts +870 -0
  905. package/connectors/connect-shopify/src/index.ts +35 -0
  906. package/connectors/connect-shopify/src/types/index.ts +262 -0
  907. package/connectors/connect-shopify/src/utils/config.ts +240 -0
  908. package/connectors/connect-shopify/src/utils/output.ts +119 -0
  909. package/connectors/connect-shopify/tsconfig.json +17 -0
  910. package/connectors/connect-snap/.npmrc.example +2 -0
  911. package/connectors/connect-snap/AGENTS.md +76 -0
  912. package/connectors/connect-snap/CLAUDE.md +76 -0
  913. package/connectors/connect-snap/GEMINI.md +76 -0
  914. package/connectors/connect-snap/README.md +94 -0
  915. package/connectors/connect-snap/package.json +62 -0
  916. package/connectors/connect-snap/src/api/accounts.ts +81 -0
  917. package/connectors/connect-snap/src/api/ads.ts +102 -0
  918. package/connectors/connect-snap/src/api/adsquads.ts +130 -0
  919. package/connectors/connect-snap/src/api/audiences.ts +208 -0
  920. package/connectors/connect-snap/src/api/campaigns.ts +92 -0
  921. package/connectors/connect-snap/src/api/catalogs.ts +313 -0
  922. package/connectors/connect-snap/src/api/client.ts +324 -0
  923. package/connectors/connect-snap/src/api/conversions.ts +403 -0
  924. package/connectors/connect-snap/src/api/creatives.ts +232 -0
  925. package/connectors/connect-snap/src/api/index.ts +124 -0
  926. package/connectors/connect-snap/src/api/leads.ts +299 -0
  927. package/connectors/connect-snap/src/api/media.ts +246 -0
  928. package/connectors/connect-snap/src/api/organizations.ts +30 -0
  929. package/connectors/connect-snap/src/api/pixels.ts +215 -0
  930. package/connectors/connect-snap/src/api/stats.ts +305 -0
  931. package/connectors/connect-snap/src/api/targeting.ts +255 -0
  932. package/connectors/connect-snap/src/cli/index.ts +1810 -0
  933. package/connectors/connect-snap/src/index.ts +52 -0
  934. package/connectors/connect-snap/src/types/index.ts +1226 -0
  935. package/connectors/connect-snap/src/utils/config.ts +509 -0
  936. package/connectors/connect-snap/src/utils/output.ts +139 -0
  937. package/connectors/connect-snap/tsconfig.json +16 -0
  938. package/connectors/connect-stabilityai/.npmrc.example +2 -0
  939. package/connectors/connect-stabilityai/AGENTS.md +76 -0
  940. package/connectors/connect-stabilityai/CLAUDE.md +76 -0
  941. package/connectors/connect-stabilityai/GEMINI.md +76 -0
  942. package/connectors/connect-stabilityai/README.md +94 -0
  943. package/connectors/connect-stabilityai/package.json +63 -0
  944. package/connectors/connect-stabilityai/src/api/3d.ts +99 -0
  945. package/connectors/connect-stabilityai/src/api/client.ts +238 -0
  946. package/connectors/connect-stabilityai/src/api/edit.ts +130 -0
  947. package/connectors/connect-stabilityai/src/api/engines.ts +41 -0
  948. package/connectors/connect-stabilityai/src/api/image-to-image.ts +150 -0
  949. package/connectors/connect-stabilityai/src/api/index.ts +81 -0
  950. package/connectors/connect-stabilityai/src/api/inpaint.ts +153 -0
  951. package/connectors/connect-stabilityai/src/api/outpaint.ts +117 -0
  952. package/connectors/connect-stabilityai/src/api/text-to-image.ts +181 -0
  953. package/connectors/connect-stabilityai/src/api/upscale.ts +113 -0
  954. package/connectors/connect-stabilityai/src/api/user.ts +24 -0
  955. package/connectors/connect-stabilityai/src/cli/index.ts +859 -0
  956. package/connectors/connect-stabilityai/src/index.ts +37 -0
  957. package/connectors/connect-stabilityai/src/types/index.ts +315 -0
  958. package/connectors/connect-stabilityai/src/utils/config.ts +340 -0
  959. package/connectors/connect-stabilityai/src/utils/output.ts +119 -0
  960. package/connectors/connect-stabilityai/tsconfig.json +21 -0
  961. package/connectors/connect-stripe/.env.example +10 -0
  962. package/connectors/connect-stripe/.npmrc.example +2 -0
  963. package/connectors/connect-stripe/AGENTS.md +204 -0
  964. package/connectors/connect-stripe/CLAUDE.md +204 -0
  965. package/connectors/connect-stripe/GEMINI.md +204 -0
  966. package/connectors/connect-stripe/README.md +181 -0
  967. package/connectors/connect-stripe/package.json +55 -0
  968. package/connectors/connect-stripe/src/api/balance.ts +28 -0
  969. package/connectors/connect-stripe/src/api/billing-portal.ts +64 -0
  970. package/connectors/connect-stripe/src/api/charges.ts +65 -0
  971. package/connectors/connect-stripe/src/api/checkout-sessions.ts +55 -0
  972. package/connectors/connect-stripe/src/api/client.ts +190 -0
  973. package/connectors/connect-stripe/src/api/coupons.ts +52 -0
  974. package/connectors/connect-stripe/src/api/customers.ts +65 -0
  975. package/connectors/connect-stripe/src/api/events.ts +28 -0
  976. package/connectors/connect-stripe/src/api/index.ts +118 -0
  977. package/connectors/connect-stripe/src/api/invoice-items.ts +52 -0
  978. package/connectors/connect-stripe/src/api/invoices.ts +102 -0
  979. package/connectors/connect-stripe/src/api/payment-intents.ts +81 -0
  980. package/connectors/connect-stripe/src/api/payment-links.ts +57 -0
  981. package/connectors/connect-stripe/src/api/payment-methods.ts +59 -0
  982. package/connectors/connect-stripe/src/api/prices.ts +57 -0
  983. package/connectors/connect-stripe/src/api/products.ts +65 -0
  984. package/connectors/connect-stripe/src/api/promotion-codes.ts +44 -0
  985. package/connectors/connect-stripe/src/api/subscription-items.ts +53 -0
  986. package/connectors/connect-stripe/src/api/subscriptions.ts +73 -0
  987. package/connectors/connect-stripe/src/api/webhooks.ts +52 -0
  988. package/connectors/connect-stripe/src/cli/index.ts +1995 -0
  989. package/connectors/connect-stripe/src/index.ts +44 -0
  990. package/connectors/connect-stripe/src/types/index.ts +2147 -0
  991. package/connectors/connect-stripe/src/utils/config.ts +220 -0
  992. package/connectors/connect-stripe/src/utils/output.ts +119 -0
  993. package/connectors/connect-stripe/tsconfig.json +16 -0
  994. package/connectors/connect-stripeatlas/.env.example +11 -0
  995. package/connectors/connect-stripeatlas/.npmrc.example +2 -0
  996. package/connectors/connect-stripeatlas/AGENTS.md +102 -0
  997. package/connectors/connect-stripeatlas/CLAUDE.md +102 -0
  998. package/connectors/connect-stripeatlas/GEMINI.md +102 -0
  999. package/connectors/connect-stripeatlas/README.md +95 -0
  1000. package/connectors/connect-stripeatlas/package.json +57 -0
  1001. package/connectors/connect-stripeatlas/src/api/client.ts +77 -0
  1002. package/connectors/connect-stripeatlas/src/api/example.ts +60 -0
  1003. package/connectors/connect-stripeatlas/src/api/index.ts +65 -0
  1004. package/connectors/connect-stripeatlas/src/cli/index.ts +270 -0
  1005. package/connectors/connect-stripeatlas/src/index.ts +29 -0
  1006. package/connectors/connect-stripeatlas/src/types/index.ts +93 -0
  1007. package/connectors/connect-stripeatlas/src/utils/config.ts +228 -0
  1008. package/connectors/connect-stripeatlas/src/utils/output.ts +119 -0
  1009. package/connectors/connect-stripeatlas/tsconfig.json +16 -0
  1010. package/connectors/connect-substack/.env.example +4 -0
  1011. package/connectors/connect-substack/.npmrc.example +2 -0
  1012. package/connectors/connect-substack/AGENTS.md +168 -0
  1013. package/connectors/connect-substack/CLAUDE.md +168 -0
  1014. package/connectors/connect-substack/GEMINI.md +168 -0
  1015. package/connectors/connect-substack/README.md +146 -0
  1016. package/connectors/connect-substack/package.json +51 -0
  1017. package/connectors/connect-substack/src/api/client.ts +147 -0
  1018. package/connectors/connect-substack/src/api/comments.ts +68 -0
  1019. package/connectors/connect-substack/src/api/index.ts +77 -0
  1020. package/connectors/connect-substack/src/api/posts.ts +135 -0
  1021. package/connectors/connect-substack/src/api/publication.ts +126 -0
  1022. package/connectors/connect-substack/src/api/stats.ts +113 -0
  1023. package/connectors/connect-substack/src/api/subscribers.ts +97 -0
  1024. package/connectors/connect-substack/src/cli/index.ts +531 -0
  1025. package/connectors/connect-substack/src/index.ts +31 -0
  1026. package/connectors/connect-substack/src/types/index.ts +257 -0
  1027. package/connectors/connect-substack/src/utils/config.ts +208 -0
  1028. package/connectors/connect-substack/src/utils/output.ts +143 -0
  1029. package/connectors/connect-substack/tsconfig.json +16 -0
  1030. package/connectors/connect-tiktok/.npmrc.example +2 -0
  1031. package/connectors/connect-tiktok/AGENTS.md +76 -0
  1032. package/connectors/connect-tiktok/CLAUDE.md +76 -0
  1033. package/connectors/connect-tiktok/GEMINI.md +76 -0
  1034. package/connectors/connect-tiktok/README.md +94 -0
  1035. package/connectors/connect-tiktok/package.json +60 -0
  1036. package/connectors/connect-tiktok/src/api/adgroups.ts +144 -0
  1037. package/connectors/connect-tiktok/src/api/ads.ts +160 -0
  1038. package/connectors/connect-tiktok/src/api/advertisers.ts +104 -0
  1039. package/connectors/connect-tiktok/src/api/audiences.ts +246 -0
  1040. package/connectors/connect-tiktok/src/api/business.ts +273 -0
  1041. package/connectors/connect-tiktok/src/api/campaigns.ts +116 -0
  1042. package/connectors/connect-tiktok/src/api/catalogs.ts +326 -0
  1043. package/connectors/connect-tiktok/src/api/client.ts +137 -0
  1044. package/connectors/connect-tiktok/src/api/creatives.ts +293 -0
  1045. package/connectors/connect-tiktok/src/api/events.ts +314 -0
  1046. package/connectors/connect-tiktok/src/api/identity.ts +255 -0
  1047. package/connectors/connect-tiktok/src/api/index.ts +105 -0
  1048. package/connectors/connect-tiktok/src/api/pixels.ts +188 -0
  1049. package/connectors/connect-tiktok/src/api/reports.ts +290 -0
  1050. package/connectors/connect-tiktok/src/api/targeting.ts +326 -0
  1051. package/connectors/connect-tiktok/src/cli/index.ts +1329 -0
  1052. package/connectors/connect-tiktok/src/index.ts +39 -0
  1053. package/connectors/connect-tiktok/src/types/index.ts +1052 -0
  1054. package/connectors/connect-tiktok/src/utils/config.ts +419 -0
  1055. package/connectors/connect-tiktok/src/utils/output.ts +136 -0
  1056. package/connectors/connect-tiktok/tsconfig.json +16 -0
  1057. package/connectors/connect-tinker/.env.example +8 -0
  1058. package/connectors/connect-tinker/.npmrc.example +2 -0
  1059. package/connectors/connect-tinker/AGENTS.md +189 -0
  1060. package/connectors/connect-tinker/CLAUDE.md +189 -0
  1061. package/connectors/connect-tinker/GEMINI.md +189 -0
  1062. package/connectors/connect-tinker/README.md +157 -0
  1063. package/connectors/connect-tinker/package.json +55 -0
  1064. package/connectors/connect-tinker/src/api/client.ts +146 -0
  1065. package/connectors/connect-tinker/src/api/index.ts +100 -0
  1066. package/connectors/connect-tinker/src/api/sampling.ts +163 -0
  1067. package/connectors/connect-tinker/src/api/state.ts +147 -0
  1068. package/connectors/connect-tinker/src/api/training.ts +152 -0
  1069. package/connectors/connect-tinker/src/cli/index.ts +775 -0
  1070. package/connectors/connect-tinker/src/index.ts +28 -0
  1071. package/connectors/connect-tinker/src/types/index.ts +287 -0
  1072. package/connectors/connect-tinker/src/utils/config.ts +230 -0
  1073. package/connectors/connect-tinker/src/utils/output.ts +139 -0
  1074. package/connectors/connect-tinker/tsconfig.json +16 -0
  1075. package/connectors/connect-twilio/.npmrc.example +2 -0
  1076. package/connectors/connect-twilio/AGENTS.md +76 -0
  1077. package/connectors/connect-twilio/CLAUDE.md +76 -0
  1078. package/connectors/connect-twilio/GEMINI.md +76 -0
  1079. package/connectors/connect-twilio/README.md +94 -0
  1080. package/connectors/connect-twilio/package.json +72 -0
  1081. package/connectors/connect-twilio/src/api/accounts.ts +352 -0
  1082. package/connectors/connect-twilio/src/api/calls.ts +120 -0
  1083. package/connectors/connect-twilio/src/api/client.ts +181 -0
  1084. package/connectors/connect-twilio/src/api/conversations.ts +313 -0
  1085. package/connectors/connect-twilio/src/api/index.ts +91 -0
  1086. package/connectors/connect-twilio/src/api/lookup.ts +271 -0
  1087. package/connectors/connect-twilio/src/api/messages.ts +107 -0
  1088. package/connectors/connect-twilio/src/api/numbers.ts +152 -0
  1089. package/connectors/connect-twilio/src/api/verify.ts +213 -0
  1090. package/connectors/connect-twilio/src/api/video.ts +305 -0
  1091. package/connectors/connect-twilio/src/cli/index.ts +1093 -0
  1092. package/connectors/connect-twilio/src/index.ts +34 -0
  1093. package/connectors/connect-twilio/src/types/index.ts +983 -0
  1094. package/connectors/connect-twilio/src/utils/config.ts +424 -0
  1095. package/connectors/connect-twilio/src/utils/output.ts +119 -0
  1096. package/connectors/connect-twilio/tsconfig.json +16 -0
  1097. package/connectors/connect-uspto/.env.example +13 -0
  1098. package/connectors/connect-uspto/.npmrc.example +2 -0
  1099. package/connectors/connect-uspto/AGENTS.md +80 -0
  1100. package/connectors/connect-uspto/CLAUDE.md +80 -0
  1101. package/connectors/connect-uspto/GEMINI.md +80 -0
  1102. package/connectors/connect-uspto/README.md +98 -0
  1103. package/connectors/connect-uspto/package.json +54 -0
  1104. package/connectors/connect-uspto/src/api/browser.ts +335 -0
  1105. package/connectors/connect-uspto/src/api/client.ts +186 -0
  1106. package/connectors/connect-uspto/src/api/index.ts +104 -0
  1107. package/connectors/connect-uspto/src/api/patents.ts +290 -0
  1108. package/connectors/connect-uspto/src/api/ptab.ts +150 -0
  1109. package/connectors/connect-uspto/src/api/trademarks.ts +302 -0
  1110. package/connectors/connect-uspto/src/cli/index.ts +713 -0
  1111. package/connectors/connect-uspto/src/index.ts +26 -0
  1112. package/connectors/connect-uspto/src/types/index.ts +302 -0
  1113. package/connectors/connect-uspto/src/utils/config.ts +235 -0
  1114. package/connectors/connect-uspto/src/utils/output.ts +119 -0
  1115. package/connectors/connect-uspto/tsconfig.json +16 -0
  1116. package/connectors/connect-webflow/.npmrc.example +2 -0
  1117. package/connectors/connect-webflow/AGENTS.md +193 -0
  1118. package/connectors/connect-webflow/CLAUDE.md +193 -0
  1119. package/connectors/connect-webflow/GEMINI.md +193 -0
  1120. package/connectors/connect-webflow/README.md +173 -0
  1121. package/connectors/connect-webflow/package.json +29 -0
  1122. package/connectors/connect-webflow/src/api/assets.ts +89 -0
  1123. package/connectors/connect-webflow/src/api/client.ts +121 -0
  1124. package/connectors/connect-webflow/src/api/collections.ts +46 -0
  1125. package/connectors/connect-webflow/src/api/forms.ts +75 -0
  1126. package/connectors/connect-webflow/src/api/index.ts +93 -0
  1127. package/connectors/connect-webflow/src/api/items.ts +141 -0
  1128. package/connectors/connect-webflow/src/api/orders.ts +89 -0
  1129. package/connectors/connect-webflow/src/api/pages.ts +76 -0
  1130. package/connectors/connect-webflow/src/api/products.ts +160 -0
  1131. package/connectors/connect-webflow/src/api/sites.ts +41 -0
  1132. package/connectors/connect-webflow/src/api/users.ts +81 -0
  1133. package/connectors/connect-webflow/src/cli/index.ts +1048 -0
  1134. package/connectors/connect-webflow/src/index.ts +35 -0
  1135. package/connectors/connect-webflow/src/types/index.ts +488 -0
  1136. package/connectors/connect-webflow/src/utils/config.ts +208 -0
  1137. package/connectors/connect-webflow/src/utils/output.ts +119 -0
  1138. package/connectors/connect-webflow/tsconfig.json +17 -0
  1139. package/connectors/connect-wix/.npmrc.example +2 -0
  1140. package/connectors/connect-wix/AGENTS.md +181 -0
  1141. package/connectors/connect-wix/CLAUDE.md +181 -0
  1142. package/connectors/connect-wix/GEMINI.md +181 -0
  1143. package/connectors/connect-wix/README.md +163 -0
  1144. package/connectors/connect-wix/package.json +29 -0
  1145. package/connectors/connect-wix/src/api/bookings.ts +575 -0
  1146. package/connectors/connect-wix/src/api/client.ts +147 -0
  1147. package/connectors/connect-wix/src/api/contacts.ts +308 -0
  1148. package/connectors/connect-wix/src/api/index.ts +90 -0
  1149. package/connectors/connect-wix/src/api/inventory.ts +195 -0
  1150. package/connectors/connect-wix/src/api/members.ts +172 -0
  1151. package/connectors/connect-wix/src/api/orders.ts +415 -0
  1152. package/connectors/connect-wix/src/api/products.ts +453 -0
  1153. package/connectors/connect-wix/src/api/sites.ts +77 -0
  1154. package/connectors/connect-wix/src/cli/index.ts +1009 -0
  1155. package/connectors/connect-wix/src/index.ts +35 -0
  1156. package/connectors/connect-wix/src/types/index.ts +786 -0
  1157. package/connectors/connect-wix/src/utils/config.ts +219 -0
  1158. package/connectors/connect-wix/src/utils/output.ts +119 -0
  1159. package/connectors/connect-wix/tsconfig.json +17 -0
  1160. package/connectors/connect-x/.env.example +11 -0
  1161. package/connectors/connect-x/.npmrc.example +2 -0
  1162. package/connectors/connect-x/AGENTS.md +84 -0
  1163. package/connectors/connect-x/CLAUDE.md +84 -0
  1164. package/connectors/connect-x/GEMINI.md +84 -0
  1165. package/connectors/connect-x/README.md +102 -0
  1166. package/connectors/connect-x/package.json +59 -0
  1167. package/connectors/connect-x/src/api/client.ts +392 -0
  1168. package/connectors/connect-x/src/api/index.ts +171 -0
  1169. package/connectors/connect-x/src/api/media.ts +323 -0
  1170. package/connectors/connect-x/src/api/oauth.ts +408 -0
  1171. package/connectors/connect-x/src/api/oauth1.ts +351 -0
  1172. package/connectors/connect-x/src/api/tweets.ts +339 -0
  1173. package/connectors/connect-x/src/api/users.ts +259 -0
  1174. package/connectors/connect-x/src/cli/index.ts +1205 -0
  1175. package/connectors/connect-x/src/index.ts +92 -0
  1176. package/connectors/connect-x/src/types/index.ts +230 -0
  1177. package/connectors/connect-x/src/utils/config.ts +496 -0
  1178. package/connectors/connect-x/src/utils/output.ts +119 -0
  1179. package/connectors/connect-x/tsconfig.json +16 -0
  1180. package/connectors/connect-xads/.env.example +11 -0
  1181. package/connectors/connect-xads/.npmrc.example +2 -0
  1182. package/connectors/connect-xads/AGENTS.md +183 -0
  1183. package/connectors/connect-xads/CLAUDE.md +183 -0
  1184. package/connectors/connect-xads/GEMINI.md +183 -0
  1185. package/connectors/connect-xads/README.md +161 -0
  1186. package/connectors/connect-xads/package.json +52 -0
  1187. package/connectors/connect-xads/src/api/accounts.ts +70 -0
  1188. package/connectors/connect-xads/src/api/analytics.ts +165 -0
  1189. package/connectors/connect-xads/src/api/audiences.ts +143 -0
  1190. package/connectors/connect-xads/src/api/campaigns.ts +113 -0
  1191. package/connectors/connect-xads/src/api/client.ts +315 -0
  1192. package/connectors/connect-xads/src/api/index.ts +91 -0
  1193. package/connectors/connect-xads/src/api/line-items.ts +126 -0
  1194. package/connectors/connect-xads/src/api/media.ts +96 -0
  1195. package/connectors/connect-xads/src/api/promoted-tweets.ts +97 -0
  1196. package/connectors/connect-xads/src/api/targeting.ts +165 -0
  1197. package/connectors/connect-xads/src/cli/index.ts +1036 -0
  1198. package/connectors/connect-xads/src/index.ts +41 -0
  1199. package/connectors/connect-xads/src/types/index.ts +474 -0
  1200. package/connectors/connect-xads/src/utils/config.ts +176 -0
  1201. package/connectors/connect-xads/src/utils/output.ts +177 -0
  1202. package/connectors/connect-xads/tsconfig.json +15 -0
  1203. package/connectors/connect-xai/.env.example +4 -0
  1204. package/connectors/connect-xai/.npmrc.example +2 -0
  1205. package/connectors/connect-xai/AGENTS.md +97 -0
  1206. package/connectors/connect-xai/CLAUDE.md +97 -0
  1207. package/connectors/connect-xai/GEMINI.md +97 -0
  1208. package/connectors/connect-xai/README.md +106 -0
  1209. package/connectors/connect-xai/package.json +60 -0
  1210. package/connectors/connect-xai/src/api/chat.ts +114 -0
  1211. package/connectors/connect-xai/src/api/client.ts +122 -0
  1212. package/connectors/connect-xai/src/api/index.ts +58 -0
  1213. package/connectors/connect-xai/src/cli/index.ts +330 -0
  1214. package/connectors/connect-xai/src/index.ts +24 -0
  1215. package/connectors/connect-xai/src/types/index.ts +172 -0
  1216. package/connectors/connect-xai/src/utils/config.ts +208 -0
  1217. package/connectors/connect-xai/src/utils/output.ts +119 -0
  1218. package/connectors/connect-xai/tsconfig.json +16 -0
  1219. package/connectors/connect-youtube/.npmrc.example +2 -0
  1220. package/connectors/connect-youtube/AGENTS.md +76 -0
  1221. package/connectors/connect-youtube/CLAUDE.md +76 -0
  1222. package/connectors/connect-youtube/GEMINI.md +76 -0
  1223. package/connectors/connect-youtube/README.md +94 -0
  1224. package/connectors/connect-youtube/package.json +61 -0
  1225. package/connectors/connect-youtube/src/api/analytics.ts +364 -0
  1226. package/connectors/connect-youtube/src/api/captions.ts +196 -0
  1227. package/connectors/connect-youtube/src/api/categories.ts +107 -0
  1228. package/connectors/connect-youtube/src/api/channels.ts +149 -0
  1229. package/connectors/connect-youtube/src/api/client.ts +278 -0
  1230. package/connectors/connect-youtube/src/api/commentThreads.ts +215 -0
  1231. package/connectors/connect-youtube/src/api/comments.ts +179 -0
  1232. package/connectors/connect-youtube/src/api/index.ts +113 -0
  1233. package/connectors/connect-youtube/src/api/live.ts +480 -0
  1234. package/connectors/connect-youtube/src/api/members.ts +119 -0
  1235. package/connectors/connect-youtube/src/api/playlistItems.ts +184 -0
  1236. package/connectors/connect-youtube/src/api/playlists.ts +174 -0
  1237. package/connectors/connect-youtube/src/api/search.ts +222 -0
  1238. package/connectors/connect-youtube/src/api/subscriptions.ts +164 -0
  1239. package/connectors/connect-youtube/src/api/thumbnails.ts +73 -0
  1240. package/connectors/connect-youtube/src/api/videos.ts +217 -0
  1241. package/connectors/connect-youtube/src/api/watermarks.ts +110 -0
  1242. package/connectors/connect-youtube/src/cli/index.ts +1768 -0
  1243. package/connectors/connect-youtube/src/index.ts +41 -0
  1244. package/connectors/connect-youtube/src/types/index.ts +1207 -0
  1245. package/connectors/connect-youtube/src/utils/auth.ts +236 -0
  1246. package/connectors/connect-youtube/src/utils/config.ts +529 -0
  1247. package/connectors/connect-youtube/src/utils/output.ts +157 -0
  1248. package/connectors/connect-youtube/tsconfig.json +16 -0
  1249. package/connectors/connect-zoom/.npmrc.example +2 -0
  1250. package/connectors/connect-zoom/AGENTS.md +164 -0
  1251. package/connectors/connect-zoom/CLAUDE.md +164 -0
  1252. package/connectors/connect-zoom/GEMINI.md +164 -0
  1253. package/connectors/connect-zoom/README.md +145 -0
  1254. package/connectors/connect-zoom/package.json +51 -0
  1255. package/connectors/connect-zoom/src/api/client.ts +177 -0
  1256. package/connectors/connect-zoom/src/api/index.ts +81 -0
  1257. package/connectors/connect-zoom/src/api/meetings.ts +126 -0
  1258. package/connectors/connect-zoom/src/api/recordings.ts +129 -0
  1259. package/connectors/connect-zoom/src/api/reports.ts +178 -0
  1260. package/connectors/connect-zoom/src/api/users.ts +52 -0
  1261. package/connectors/connect-zoom/src/api/webinars.ts +115 -0
  1262. package/connectors/connect-zoom/src/cli/index.ts +735 -0
  1263. package/connectors/connect-zoom/src/index.ts +26 -0
  1264. package/connectors/connect-zoom/src/types/index.ts +311 -0
  1265. package/connectors/connect-zoom/src/utils/config.ts +241 -0
  1266. package/connectors/connect-zoom/src/utils/output.ts +119 -0
  1267. package/connectors/connect-zoom/tsconfig.json +16 -0
  1268. package/dist/index.js +580 -0
  1269. package/package.json +68 -0
@@ -0,0 +1,1263 @@
1
+ #!/usr/bin/env bun
2
+ import { Command } from 'commander';
3
+ import chalk from 'chalk';
4
+ import { Mercury } from '../api';
5
+ import {
6
+ getApiKey,
7
+ setApiKey,
8
+ clearConfig,
9
+ getConfigDir,
10
+ getBaseConfigDir,
11
+ setProfileOverride,
12
+ getCurrentProfile,
13
+ setCurrentProfile,
14
+ listProfiles,
15
+ createProfile,
16
+ deleteProfile,
17
+ profileExists,
18
+ loadProfile,
19
+ getAccountId,
20
+ getDefaultAccountId,
21
+ setDefaultAccountId,
22
+ setNamedAccount,
23
+ removeNamedAccount,
24
+ listNamedAccounts,
25
+ getExportsDir,
26
+ getImportsDir,
27
+ } from '../utils/config';
28
+ import type { OutputFormat } from '../utils/output';
29
+ import { success, error, info, print } from '../utils/output';
30
+
31
+ const CONNECTOR_NAME = 'connect-mercury';
32
+ const VERSION = '0.1.5';
33
+
34
+ const program = new Command();
35
+
36
+ program
37
+ .name(CONNECTOR_NAME)
38
+ .description('Mercury Banking API CLI - Accounts, transactions, transfers, and treasury management')
39
+ .version(VERSION)
40
+ .option('-k, --api-key <key>', 'API key (overrides config)')
41
+ .option('-f, --format <format>', 'Output format (json, pretty)', 'pretty')
42
+ .option('-p, --profile <profile>', 'Use a specific profile')
43
+ .hook('preAction', (thisCommand) => {
44
+ const opts = thisCommand.opts();
45
+ if (opts.profile) {
46
+ if (!profileExists(opts.profile)) {
47
+ error(`Profile "${opts.profile}" does not exist. Create it with "${CONNECTOR_NAME} profile create ${opts.profile}"`);
48
+ process.exit(1);
49
+ }
50
+ setProfileOverride(opts.profile);
51
+ }
52
+ if (opts.apiKey) {
53
+ process.env.MERCURY_API_KEY = opts.apiKey;
54
+ }
55
+ });
56
+
57
+ function getFormat(cmd: Command): OutputFormat {
58
+ const parent = cmd.parent;
59
+ return (parent?.opts().format || 'pretty') as OutputFormat;
60
+ }
61
+
62
+ function getClient(): Mercury {
63
+ const apiKey = getApiKey();
64
+ if (!apiKey) {
65
+ error(`No API key configured. Run "${CONNECTOR_NAME} config set-key <key>" or set MERCURY_API_KEY environment variable.`);
66
+ process.exit(1);
67
+ }
68
+ return new Mercury({ apiKey });
69
+ }
70
+
71
+ function formatMoney(cents: number): string {
72
+ return `$${(cents / 100).toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
73
+ }
74
+
75
+ function resolveAccountId(nameOrId?: string): string {
76
+ const resolved = getAccountId(nameOrId);
77
+ if (!resolved) {
78
+ error(`No account specified. Use --account or set default with "${CONNECTOR_NAME} config set-account <id>"`);
79
+ process.exit(1);
80
+ }
81
+ return resolved;
82
+ }
83
+
84
+ // ============================================
85
+ // Profile Commands
86
+ // ============================================
87
+ const profileCmd = program
88
+ .command('profile')
89
+ .description('Manage configuration profiles');
90
+
91
+ profileCmd
92
+ .command('list')
93
+ .description('List all profiles')
94
+ .action(() => {
95
+ const profiles = listProfiles();
96
+ const current = getCurrentProfile();
97
+
98
+ if (profiles.length === 0) {
99
+ info('No profiles found. Use "profile create <name>" to create one.');
100
+ return;
101
+ }
102
+
103
+ success(`Profiles:`);
104
+ profiles.forEach(p => {
105
+ const isActive = p === current ? chalk.green(' (active)') : '';
106
+ console.log(` ${p}${isActive}`);
107
+ });
108
+ });
109
+
110
+ profileCmd
111
+ .command('use <name>')
112
+ .description('Switch to a profile')
113
+ .action((name: string) => {
114
+ if (!profileExists(name)) {
115
+ error(`Profile "${name}" does not exist. Create it with "profile create ${name}"`);
116
+ process.exit(1);
117
+ }
118
+ setCurrentProfile(name);
119
+ success(`Switched to profile: ${name}`);
120
+ });
121
+
122
+ profileCmd
123
+ .command('create <name>')
124
+ .description('Create a new profile')
125
+ .option('--api-key <key>', 'API key')
126
+ .option('--use', 'Switch to this profile after creation')
127
+ .action((name: string, opts) => {
128
+ if (profileExists(name)) {
129
+ error(`Profile "${name}" already exists`);
130
+ process.exit(1);
131
+ }
132
+
133
+ createProfile(name, {
134
+ apiKey: opts.apiKey,
135
+ });
136
+ success(`Profile "${name}" created`);
137
+
138
+ if (opts.use) {
139
+ setCurrentProfile(name);
140
+ info(`Switched to profile: ${name}`);
141
+ }
142
+ });
143
+
144
+ profileCmd
145
+ .command('delete <name>')
146
+ .description('Delete a profile')
147
+ .action((name: string) => {
148
+ if (name === 'default') {
149
+ error('Cannot delete the default profile');
150
+ process.exit(1);
151
+ }
152
+ if (deleteProfile(name)) {
153
+ success(`Profile "${name}" deleted`);
154
+ } else {
155
+ error(`Profile "${name}" not found`);
156
+ process.exit(1);
157
+ }
158
+ });
159
+
160
+ profileCmd
161
+ .command('show [name]')
162
+ .description('Show profile configuration')
163
+ .action((name?: string) => {
164
+ const profileName = name || getCurrentProfile();
165
+ const config = loadProfile(profileName);
166
+ const active = getCurrentProfile();
167
+
168
+ console.log(chalk.bold(`Profile: ${profileName}${profileName === active ? chalk.green(' (active)') : ''}`));
169
+ info(`API Key: ${config.apiKey ? `${config.apiKey.substring(0, 8)}...` : chalk.gray('not set')}`);
170
+ });
171
+
172
+ // ============================================
173
+ // Config Commands
174
+ // ============================================
175
+ const configCmd = program
176
+ .command('config')
177
+ .description('Manage CLI configuration (for active profile)');
178
+
179
+ configCmd
180
+ .command('set-key <apiKey>')
181
+ .description('Set API key')
182
+ .action((apiKey: string) => {
183
+ setApiKey(apiKey);
184
+ success(`API key saved to profile: ${getCurrentProfile()}`);
185
+ });
186
+
187
+ configCmd
188
+ .command('show')
189
+ .description('Show current configuration')
190
+ .action(() => {
191
+ const profileName = getCurrentProfile();
192
+ const apiKey = getApiKey();
193
+ const defaultAccount = getDefaultAccountId();
194
+ const namedAccounts = listNamedAccounts();
195
+
196
+ console.log(chalk.bold(`Active Profile: ${profileName}`));
197
+ console.log();
198
+ info(`Base directory: ${getBaseConfigDir()}`);
199
+ info(`Profile directory: ${getConfigDir()}`);
200
+ info(`Exports directory: ${getExportsDir()}`);
201
+ info(`Imports directory: ${getImportsDir()}`);
202
+ console.log();
203
+ info(`API Key: ${apiKey ? `${apiKey.substring(0, 8)}...` : chalk.gray('not set')}`);
204
+ info(`Default Account: ${defaultAccount || chalk.gray('not set')}`);
205
+
206
+ const accountNames = Object.keys(namedAccounts);
207
+ if (accountNames.length > 0) {
208
+ console.log();
209
+ info(`Named Accounts:`);
210
+ accountNames.forEach(name => {
211
+ console.log(` ${chalk.cyan(name)}: ${namedAccounts[name]}`);
212
+ });
213
+ }
214
+ });
215
+
216
+ configCmd
217
+ .command('set-account <accountId>')
218
+ .description('Set default account ID')
219
+ .action((accountId: string) => {
220
+ setDefaultAccountId(accountId);
221
+ success(`Default account set: ${accountId}`);
222
+ });
223
+
224
+ configCmd
225
+ .command('set-named-account <name> <accountId>')
226
+ .description('Set a named account (e.g., revenue, expenses)')
227
+ .action((name: string, accountId: string) => {
228
+ setNamedAccount(name, accountId);
229
+ success(`Account "${name}" set to: ${accountId}`);
230
+ });
231
+
232
+ configCmd
233
+ .command('remove-named-account <name>')
234
+ .description('Remove a named account')
235
+ .action((name: string) => {
236
+ if (removeNamedAccount(name)) {
237
+ success(`Named account "${name}" removed`);
238
+ } else {
239
+ error(`Named account "${name}" not found`);
240
+ process.exit(1);
241
+ }
242
+ });
243
+
244
+ configCmd
245
+ .command('clear')
246
+ .description('Clear configuration for active profile')
247
+ .action(() => {
248
+ clearConfig();
249
+ success(`Configuration cleared for profile: ${getCurrentProfile()}`);
250
+ });
251
+
252
+ // ============================================
253
+ // Accounts Commands
254
+ // ============================================
255
+ const accountsCmd = program
256
+ .command('accounts')
257
+ .description('Manage bank accounts');
258
+
259
+ accountsCmd
260
+ .command('list')
261
+ .description('List all accounts')
262
+ .option('-l, --limit <number>', 'Maximum results')
263
+ .action(async (opts) => {
264
+ try {
265
+ const client = getClient();
266
+ const result = await client.accounts.list({
267
+ limit: opts.limit ? parseInt(opts.limit) : undefined,
268
+ });
269
+
270
+ if (getFormat(accountsCmd) === 'json') {
271
+ print(result, 'json');
272
+ } else {
273
+ success(`Accounts (${result.total} total):`);
274
+ result.accounts.forEach(account => {
275
+ console.log(` ${chalk.bold(account.name)} (${account.type})`);
276
+ console.log(` ID: ${account.id}`);
277
+ console.log(` Status: ${account.status}`);
278
+ console.log(` Account: ****${account.accountNumber.slice(-4)}`);
279
+ console.log(` Balance: ${formatMoney(account.currentBalance)} (Available: ${formatMoney(account.availableBalance)})`);
280
+ console.log();
281
+ });
282
+ }
283
+ } catch (err) {
284
+ error(String(err));
285
+ process.exit(1);
286
+ }
287
+ });
288
+
289
+ accountsCmd
290
+ .command('get [account]')
291
+ .description('Get account details (account: ID, name, or default)')
292
+ .action(async (account?: string) => {
293
+ try {
294
+ const client = getClient();
295
+ const accountId = resolveAccountId(account);
296
+ const result = await client.accounts.get(accountId);
297
+ print(result, getFormat(accountsCmd));
298
+ } catch (err) {
299
+ error(String(err));
300
+ process.exit(1);
301
+ }
302
+ });
303
+
304
+ accountsCmd
305
+ .command('balance [account]')
306
+ .description('Get account balance (account: ID, name, or default)')
307
+ .action(async (account?: string) => {
308
+ try {
309
+ const client = getClient();
310
+ const accountId = resolveAccountId(account);
311
+ const result = await client.accounts.getBalance(accountId);
312
+
313
+ if (getFormat(accountsCmd) === 'json') {
314
+ print(result, 'json');
315
+ } else {
316
+ console.log(chalk.bold('Account Balance:'));
317
+ console.log(` Current: ${formatMoney(result.currentBalance)}`);
318
+ console.log(` Available: ${formatMoney(result.availableBalance)}`);
319
+ }
320
+ } catch (err) {
321
+ error(String(err));
322
+ process.exit(1);
323
+ }
324
+ });
325
+
326
+ accountsCmd
327
+ .command('statements [account]')
328
+ .description('List account statements (account: ID, name, or default)')
329
+ .option('-l, --limit <number>', 'Maximum results')
330
+ .action(async (account: string | undefined, opts) => {
331
+ try {
332
+ const client = getClient();
333
+ const accountId = resolveAccountId(account);
334
+ const result = await client.accounts.listStatements(accountId, {
335
+ limit: opts.limit ? parseInt(opts.limit) : undefined,
336
+ });
337
+ print(result, getFormat(accountsCmd));
338
+ } catch (err) {
339
+ error(String(err));
340
+ process.exit(1);
341
+ }
342
+ });
343
+
344
+ accountsCmd
345
+ .command('cards [account]')
346
+ .description('List cards for an account (account: ID, name, or default)')
347
+ .action(async (account?: string) => {
348
+ try {
349
+ const client = getClient();
350
+ const accountId = resolveAccountId(account);
351
+ const result = await client.accounts.listCards(accountId);
352
+ print(result, getFormat(accountsCmd));
353
+ } catch (err) {
354
+ error(String(err));
355
+ process.exit(1);
356
+ }
357
+ });
358
+
359
+ // ============================================
360
+ // Transactions Commands
361
+ // ============================================
362
+ const transactionsCmd = program
363
+ .command('transactions')
364
+ .description('View transactions');
365
+
366
+ transactionsCmd
367
+ .command('list [account]')
368
+ .description('List transactions (account: ID, name, or default)')
369
+ .option('-l, --limit <number>', 'Maximum results', '20')
370
+ .option('-s, --start <date>', 'Start date (YYYY-MM-DD)')
371
+ .option('-e, --end <date>', 'End date (YYYY-MM-DD)')
372
+ .option('--status <status>', 'Filter by status (pending, sent, cancelled, failed)')
373
+ .option('--search <query>', 'Search transactions')
374
+ .action(async (account: string | undefined, opts) => {
375
+ try {
376
+ const client = getClient();
377
+ const accountId = resolveAccountId(account);
378
+ const result = await client.transactions.list(accountId, {
379
+ limit: parseInt(opts.limit),
380
+ start: opts.start,
381
+ end: opts.end,
382
+ status: opts.status,
383
+ search: opts.search,
384
+ });
385
+
386
+ if (getFormat(transactionsCmd) === 'json') {
387
+ print(result, 'json');
388
+ } else {
389
+ success(`Transactions (${result.total} total):`);
390
+ result.transactions.forEach(tx => {
391
+ const amountColor = tx.amount >= 0 ? chalk.green : chalk.red;
392
+ console.log(` ${chalk.gray(tx.createdAt.split('T')[0])} ${amountColor(formatMoney(tx.amount))} - ${tx.counterpartyName || tx.kind}`);
393
+ console.log(` ID: ${tx.id} | Status: ${tx.status}`);
394
+ if (tx.note) console.log(` Note: ${tx.note}`);
395
+ console.log();
396
+ });
397
+ }
398
+ } catch (err) {
399
+ error(String(err));
400
+ process.exit(1);
401
+ }
402
+ });
403
+
404
+ transactionsCmd
405
+ .command('get <transactionId> [account]')
406
+ .description('Get transaction details (account: ID, name, or default)')
407
+ .action(async (transactionId: string, account?: string) => {
408
+ try {
409
+ const client = getClient();
410
+ const accountId = resolveAccountId(account);
411
+ const result = await client.transactions.get(accountId, transactionId);
412
+ print(result, getFormat(transactionsCmd));
413
+ } catch (err) {
414
+ error(String(err));
415
+ process.exit(1);
416
+ }
417
+ });
418
+
419
+ transactionsCmd
420
+ .command('list-all')
421
+ .description('List transactions across all accounts')
422
+ .option('-l, --limit <number>', 'Maximum results', '20')
423
+ .option('-s, --start <date>', 'Start date (YYYY-MM-DD)')
424
+ .option('-e, --end <date>', 'End date (YYYY-MM-DD)')
425
+ .option('--status <status>', 'Filter by status')
426
+ .option('--search <query>', 'Search transactions')
427
+ .action(async (opts) => {
428
+ try {
429
+ const client = getClient();
430
+ const result = await client.transactions.listAll({
431
+ limit: parseInt(opts.limit),
432
+ start: opts.start,
433
+ end: opts.end,
434
+ status: opts.status,
435
+ search: opts.search,
436
+ });
437
+
438
+ if (getFormat(transactionsCmd) === 'json') {
439
+ print(result, 'json');
440
+ } else {
441
+ success(`All Transactions (${result.total} total):`);
442
+ result.transactions.forEach(tx => {
443
+ const amountColor = tx.amount >= 0 ? chalk.green : chalk.red;
444
+ console.log(` ${chalk.gray(tx.createdAt.split('T')[0])} ${amountColor(formatMoney(tx.amount))} - ${tx.counterpartyName || tx.kind}`);
445
+ console.log(` ID: ${tx.id} | Account: ${tx.accountId} | Status: ${tx.status}`);
446
+ if (tx.note) console.log(` Note: ${tx.note}`);
447
+ console.log();
448
+ });
449
+ }
450
+ } catch (err) {
451
+ error(String(err));
452
+ process.exit(1);
453
+ }
454
+ });
455
+
456
+ transactionsCmd
457
+ .command('get-by-id <transactionId>')
458
+ .description('Get transaction by ID (global, no account needed)')
459
+ .action(async (transactionId: string) => {
460
+ try {
461
+ const client = getClient();
462
+ const result = await client.transactions.getById(transactionId);
463
+ print(result, getFormat(transactionsCmd));
464
+ } catch (err) {
465
+ error(String(err));
466
+ process.exit(1);
467
+ }
468
+ });
469
+
470
+ // ============================================
471
+ // Recipients Commands
472
+ // ============================================
473
+ const recipientsCmd = program
474
+ .command('recipients')
475
+ .description('Manage payment recipients');
476
+
477
+ recipientsCmd
478
+ .command('list')
479
+ .description('List all recipients')
480
+ .option('-l, --limit <number>', 'Maximum results')
481
+ .option('--status <status>', 'Filter by status (active, deleted)')
482
+ .action(async (opts) => {
483
+ try {
484
+ const client = getClient();
485
+ const result = await client.recipients.list({
486
+ limit: opts.limit ? parseInt(opts.limit) : undefined,
487
+ status: opts.status,
488
+ });
489
+
490
+ if (getFormat(recipientsCmd) === 'json') {
491
+ print(result, 'json');
492
+ } else {
493
+ success(`Recipients (${result.total} total):`);
494
+ result.recipients.forEach(r => {
495
+ console.log(` ${chalk.bold(r.name)}${r.nickname ? ` (${r.nickname})` : ''}`);
496
+ console.log(` ID: ${r.id}`);
497
+ console.log(` Type: ${r.isBusiness ? 'business' : 'individual'} | Payment: ${r.defaultPaymentMethod || 'N/A'}`);
498
+ console.log(` Status: ${r.status}`);
499
+ console.log();
500
+ });
501
+ }
502
+ } catch (err) {
503
+ error(String(err));
504
+ process.exit(1);
505
+ }
506
+ });
507
+
508
+ recipientsCmd
509
+ .command('get <recipientId>')
510
+ .description('Get recipient details')
511
+ .action(async (recipientId: string) => {
512
+ try {
513
+ const client = getClient();
514
+ const result = await client.recipients.get(recipientId);
515
+ print(result, getFormat(recipientsCmd));
516
+ } catch (err) {
517
+ error(String(err));
518
+ process.exit(1);
519
+ }
520
+ });
521
+
522
+ recipientsCmd
523
+ .command('create')
524
+ .description('Create a new recipient')
525
+ .requiredOption('-n, --name <name>', 'Recipient name')
526
+ .requiredOption('-m, --method <method>', 'Payment method (ach, domesticWire, internationalWire, check)')
527
+ .option('-b, --business', 'Recipient is a business (default: individual)')
528
+ .option('--nickname <nickname>', 'Nickname')
529
+ .option('--email <email>', 'Email address')
530
+ .option('--routing <routing>', 'Routing number')
531
+ .option('--account <account>', 'Account number')
532
+ .option('--address1 <address1>', 'Address line 1')
533
+ .option('--city <city>', 'City')
534
+ .option('--region <region>', 'State/Region')
535
+ .option('--postal <postal>', 'Postal code')
536
+ .option('--country <country>', 'Country code (default: US)')
537
+ .action(async (opts) => {
538
+ try {
539
+ const client = getClient();
540
+ const method = opts.method as 'ach' | 'domesticWire' | 'internationalWire' | 'check';
541
+
542
+ // Build address if provided
543
+ const address = opts.address1 ? {
544
+ address1: opts.address1,
545
+ city: opts.city || '',
546
+ region: opts.region || '',
547
+ postalCode: opts.postal || '',
548
+ country: opts.country || 'US',
549
+ } : undefined;
550
+
551
+ // Build routing info based on payment method
552
+ const routingInfo = (opts.routing && opts.account) ? {
553
+ routingNumber: opts.routing,
554
+ accountNumber: opts.account,
555
+ address,
556
+ } : undefined;
557
+
558
+ const params: import('../types').RecipientCreateParams = {
559
+ name: opts.name,
560
+ isBusiness: opts.business || false,
561
+ defaultPaymentMethod: method,
562
+ nickname: opts.nickname,
563
+ emails: opts.email ? [opts.email] : undefined,
564
+ defaultAddress: address,
565
+ };
566
+
567
+ // Set the appropriate routing info based on method
568
+ if (routingInfo) {
569
+ if (method === 'ach') {
570
+ params.electronicRoutingInfo = routingInfo;
571
+ } else if (method === 'domesticWire') {
572
+ params.domesticWireRoutingInfo = routingInfo;
573
+ }
574
+ }
575
+
576
+ const result = await client.recipients.create(params);
577
+ success('Recipient created!');
578
+ print(result, getFormat(recipientsCmd));
579
+ } catch (err) {
580
+ error(String(err));
581
+ process.exit(1);
582
+ }
583
+ });
584
+
585
+ recipientsCmd
586
+ .command('delete <recipientId>')
587
+ .description('Delete a recipient')
588
+ .action(async (recipientId: string) => {
589
+ try {
590
+ const client = getClient();
591
+ await client.recipients.delete(recipientId);
592
+ success('Recipient deleted');
593
+ } catch (err) {
594
+ error(String(err));
595
+ process.exit(1);
596
+ }
597
+ });
598
+
599
+ // ============================================
600
+ // Transfers Commands
601
+ // ============================================
602
+ const transfersCmd = program
603
+ .command('transfers')
604
+ .description('Manage transfers');
605
+
606
+ transfersCmd
607
+ .command('list [account]')
608
+ .description('List transfers for an account (account: ID, name, or default)')
609
+ .option('-l, --limit <number>', 'Maximum results')
610
+ .option('--status <status>', 'Filter by status')
611
+ .action(async (account: string | undefined, opts) => {
612
+ try {
613
+ const client = getClient();
614
+ const accountId = resolveAccountId(account);
615
+ const result = await client.transfers.list(accountId, {
616
+ limit: opts.limit ? parseInt(opts.limit) : undefined,
617
+ status: opts.status,
618
+ });
619
+ print(result, getFormat(transfersCmd));
620
+ } catch (err) {
621
+ error(String(err));
622
+ process.exit(1);
623
+ }
624
+ });
625
+
626
+ transfersCmd
627
+ .command('send')
628
+ .description('Send a transfer (requires IP whitelist)')
629
+ .option('-a, --account <account>', 'Source account (ID, name, or default)')
630
+ .requiredOption('-r, --recipient <recipientId>', 'Recipient ID')
631
+ .requiredOption('--amount <cents>', 'Amount in cents')
632
+ .option('-m, --method <method>', 'Payment method')
633
+ .option('--memo <memo>', 'External memo')
634
+ .option('--note <note>', 'Internal note')
635
+ .option('--idempotency-key <key>', 'Idempotency key')
636
+ .action(async (opts) => {
637
+ try {
638
+ const client = getClient();
639
+ const accountId = resolveAccountId(opts.account);
640
+ const result = await client.transfers.create({
641
+ accountId,
642
+ recipientId: opts.recipient,
643
+ amount: parseInt(opts.amount),
644
+ paymentMethod: opts.method,
645
+ externalMemo: opts.memo,
646
+ note: opts.note,
647
+ idempotencyKey: opts.idempotencyKey,
648
+ });
649
+ success('Transfer created!');
650
+ print(result, getFormat(transfersCmd));
651
+ } catch (err) {
652
+ error(String(err));
653
+ process.exit(1);
654
+ }
655
+ });
656
+
657
+ transfersCmd
658
+ .command('request')
659
+ .description('Request a transfer (queued for admin approval - no IP whitelist needed)')
660
+ .option('-a, --account <account>', 'Source account (ID, name, or default)')
661
+ .requiredOption('-r, --recipient <recipientId>', 'Recipient ID')
662
+ .requiredOption('--amount <cents>', 'Amount in cents')
663
+ .option('-m, --method <method>', 'Payment method')
664
+ .option('--memo <memo>', 'External memo')
665
+ .option('--note <note>', 'Internal note')
666
+ .option('--idempotency-key <key>', 'Idempotency key')
667
+ .action(async (opts) => {
668
+ try {
669
+ const client = getClient();
670
+ const accountId = resolveAccountId(opts.account);
671
+ const result = await client.transfers.requestSendMoney({
672
+ accountId,
673
+ recipientId: opts.recipient,
674
+ amount: parseInt(opts.amount),
675
+ paymentMethod: opts.method,
676
+ externalMemo: opts.memo,
677
+ note: opts.note,
678
+ idempotencyKey: opts.idempotencyKey,
679
+ });
680
+ success('Transfer request submitted for admin approval!');
681
+ print(result, getFormat(transfersCmd));
682
+ } catch (err) {
683
+ error(String(err));
684
+ process.exit(1);
685
+ }
686
+ });
687
+
688
+ transfersCmd
689
+ .command('internal')
690
+ .description('Create an internal transfer between accounts')
691
+ .requiredOption('-f, --from <account>', 'Source account (ID, name, or default)')
692
+ .requiredOption('-t, --to <account>', 'Destination account (ID or name)')
693
+ .requiredOption('--amount <cents>', 'Amount in cents')
694
+ .option('--note <note>', 'Note')
695
+ .action(async (opts) => {
696
+ try {
697
+ const client = getClient();
698
+ const fromAccountId = resolveAccountId(opts.from);
699
+ const toAccountId = getAccountId(opts.to) || opts.to;
700
+ const result = await client.transfers.createInternal({
701
+ fromAccountId,
702
+ toAccountId,
703
+ amount: parseInt(opts.amount),
704
+ note: opts.note,
705
+ });
706
+ success('Internal transfer created!');
707
+ print(result, getFormat(transfersCmd));
708
+ } catch (err) {
709
+ error(String(err));
710
+ process.exit(1);
711
+ }
712
+ });
713
+
714
+ // ============================================
715
+ // Invoices Commands
716
+ // ============================================
717
+ const invoicesCmd = program
718
+ .command('invoices')
719
+ .description('Manage invoices');
720
+
721
+ invoicesCmd
722
+ .command('list')
723
+ .description('List invoices')
724
+ .option('-l, --limit <number>', 'Maximum results')
725
+ .option('--status <status>', 'Filter by status')
726
+ .option('--customer <customerId>', 'Filter by customer')
727
+ .action(async (opts) => {
728
+ try {
729
+ const client = getClient();
730
+ const result = await client.invoices.list({
731
+ limit: opts.limit ? parseInt(opts.limit) : undefined,
732
+ status: opts.status,
733
+ customerId: opts.customer,
734
+ });
735
+
736
+ if (getFormat(invoicesCmd) === 'json') {
737
+ print(result, 'json');
738
+ } else {
739
+ success(`Invoices (${result.total} total):`);
740
+ result.invoices.forEach(inv => {
741
+ console.log(` ${chalk.bold(inv.invoiceNumber)} - ${inv.status}`);
742
+ console.log(` Total: ${formatMoney(inv.total)} | Due: ${formatMoney(inv.amountDue)}`);
743
+ console.log(` Due Date: ${inv.dueDate}`);
744
+ console.log();
745
+ });
746
+ }
747
+ } catch (err) {
748
+ error(String(err));
749
+ process.exit(1);
750
+ }
751
+ });
752
+
753
+ invoicesCmd
754
+ .command('get <invoiceId>')
755
+ .description('Get invoice details')
756
+ .action(async (invoiceId: string) => {
757
+ try {
758
+ const client = getClient();
759
+ const result = await client.invoices.get(invoiceId);
760
+ print(result, getFormat(invoicesCmd));
761
+ } catch (err) {
762
+ error(String(err));
763
+ process.exit(1);
764
+ }
765
+ });
766
+
767
+ invoicesCmd
768
+ .command('send <invoiceId>')
769
+ .description('Send an invoice to the customer')
770
+ .action(async (invoiceId: string) => {
771
+ try {
772
+ const client = getClient();
773
+ const result = await client.invoices.send(invoiceId);
774
+ success('Invoice sent!');
775
+ print(result, getFormat(invoicesCmd));
776
+ } catch (err) {
777
+ error(String(err));
778
+ process.exit(1);
779
+ }
780
+ });
781
+
782
+ invoicesCmd
783
+ .command('cancel <invoiceId>')
784
+ .description('Cancel an invoice')
785
+ .action(async (invoiceId: string) => {
786
+ try {
787
+ const client = getClient();
788
+ const result = await client.invoices.cancel(invoiceId);
789
+ success('Invoice cancelled');
790
+ print(result, getFormat(invoicesCmd));
791
+ } catch (err) {
792
+ error(String(err));
793
+ process.exit(1);
794
+ }
795
+ });
796
+
797
+ // ============================================
798
+ // Customers Commands
799
+ // ============================================
800
+ const customersCmd = program
801
+ .command('customers')
802
+ .description('Manage invoice customers');
803
+
804
+ customersCmd
805
+ .command('list')
806
+ .description('List customers')
807
+ .option('-l, --limit <number>', 'Maximum results')
808
+ .option('-s, --search <query>', 'Search customers')
809
+ .action(async (opts) => {
810
+ try {
811
+ const client = getClient();
812
+ const result = await client.customers.list({
813
+ limit: opts.limit ? parseInt(opts.limit) : undefined,
814
+ search: opts.search,
815
+ });
816
+ print(result, getFormat(customersCmd));
817
+ } catch (err) {
818
+ error(String(err));
819
+ process.exit(1);
820
+ }
821
+ });
822
+
823
+ customersCmd
824
+ .command('get <customerId>')
825
+ .description('Get customer details')
826
+ .action(async (customerId: string) => {
827
+ try {
828
+ const client = getClient();
829
+ const result = await client.customers.get(customerId);
830
+ print(result, getFormat(customersCmd));
831
+ } catch (err) {
832
+ error(String(err));
833
+ process.exit(1);
834
+ }
835
+ });
836
+
837
+ customersCmd
838
+ .command('create')
839
+ .description('Create a new customer')
840
+ .requiredOption('-n, --name <name>', 'Customer name')
841
+ .requiredOption('-e, --email <email>', 'Email address')
842
+ .option('--phone <phone>', 'Phone number')
843
+ .action(async (opts) => {
844
+ try {
845
+ const client = getClient();
846
+ const result = await client.customers.create({
847
+ name: opts.name,
848
+ email: opts.email,
849
+ phone: opts.phone,
850
+ });
851
+ success('Customer created!');
852
+ print(result, getFormat(customersCmd));
853
+ } catch (err) {
854
+ error(String(err));
855
+ process.exit(1);
856
+ }
857
+ });
858
+
859
+ customersCmd
860
+ .command('delete <customerId>')
861
+ .description('Delete a customer')
862
+ .action(async (customerId: string) => {
863
+ try {
864
+ const client = getClient();
865
+ await client.customers.delete(customerId);
866
+ success('Customer deleted');
867
+ } catch (err) {
868
+ error(String(err));
869
+ process.exit(1);
870
+ }
871
+ });
872
+
873
+ // ============================================
874
+ // Treasury Commands
875
+ // ============================================
876
+ const treasuryCmd = program
877
+ .command('treasury')
878
+ .description('Manage treasury accounts');
879
+
880
+ treasuryCmd
881
+ .command('list')
882
+ .description('List treasury accounts')
883
+ .action(async () => {
884
+ try {
885
+ const client = getClient();
886
+ const result = await client.treasury.list();
887
+
888
+ if (getFormat(treasuryCmd) === 'json') {
889
+ print(result, 'json');
890
+ } else {
891
+ const accounts = result.accounts || [];
892
+ success(`Treasury Accounts (${accounts.length} total):`);
893
+ if (accounts.length === 0) {
894
+ info('No treasury accounts found');
895
+ } else {
896
+ accounts.forEach(acc => {
897
+ console.log(` ${chalk.bold(acc.name || 'Treasury Account')}`);
898
+ console.log(` ID: ${acc.id}`);
899
+ console.log(` Balance: ${formatMoney(acc.currentBalance)}`);
900
+ if (acc.apy) console.log(` APY: ${(acc.apy * 100).toFixed(2)}%`);
901
+ console.log(` Status: ${acc.status}`);
902
+ console.log();
903
+ });
904
+ }
905
+ }
906
+ } catch (err) {
907
+ error(String(err));
908
+ process.exit(1);
909
+ }
910
+ });
911
+
912
+ treasuryCmd
913
+ .command('get <treasuryAccountId>')
914
+ .description('Get treasury account details')
915
+ .action(async (treasuryAccountId: string) => {
916
+ try {
917
+ const client = getClient();
918
+ const result = await client.treasury.get(treasuryAccountId);
919
+ print(result, getFormat(treasuryCmd));
920
+ } catch (err) {
921
+ error(String(err));
922
+ process.exit(1);
923
+ }
924
+ });
925
+
926
+ treasuryCmd
927
+ .command('deposit')
928
+ .description('Deposit funds into treasury')
929
+ .requiredOption('-t, --treasury <treasuryId>', 'Treasury account ID')
930
+ .requiredOption('-f, --from <accountId>', 'Source account ID')
931
+ .requiredOption('--amount <cents>', 'Amount in cents')
932
+ .action(async (opts) => {
933
+ try {
934
+ const client = getClient();
935
+ const result = await client.treasury.deposit(opts.treasury, {
936
+ fromAccountId: opts.from,
937
+ amount: parseInt(opts.amount),
938
+ });
939
+ success('Deposit initiated!');
940
+ print(result, getFormat(treasuryCmd));
941
+ } catch (err) {
942
+ error(String(err));
943
+ process.exit(1);
944
+ }
945
+ });
946
+
947
+ treasuryCmd
948
+ .command('withdraw')
949
+ .description('Withdraw funds from treasury')
950
+ .requiredOption('-t, --treasury <treasuryId>', 'Treasury account ID')
951
+ .requiredOption('--to <accountId>', 'Destination account ID')
952
+ .requiredOption('--amount <cents>', 'Amount in cents')
953
+ .action(async (opts) => {
954
+ try {
955
+ const client = getClient();
956
+ const result = await client.treasury.withdraw(opts.treasury, {
957
+ toAccountId: opts.to,
958
+ amount: parseInt(opts.amount),
959
+ });
960
+ success('Withdrawal initiated!');
961
+ print(result, getFormat(treasuryCmd));
962
+ } catch (err) {
963
+ error(String(err));
964
+ process.exit(1);
965
+ }
966
+ });
967
+
968
+ // ============================================
969
+ // Organization Commands
970
+ // ============================================
971
+ const orgCmd = program
972
+ .command('org')
973
+ .description('Organization and user management');
974
+
975
+ orgCmd
976
+ .command('info')
977
+ .description('Get organization info')
978
+ .action(async () => {
979
+ try {
980
+ const client = getClient();
981
+ const result = await client.organization.get();
982
+ print(result, getFormat(orgCmd));
983
+ } catch (err) {
984
+ error(String(err));
985
+ process.exit(1);
986
+ }
987
+ });
988
+
989
+ orgCmd
990
+ .command('users')
991
+ .description('List users')
992
+ .option('--role <role>', 'Filter by role')
993
+ .option('--status <status>', 'Filter by status')
994
+ .action(async (opts) => {
995
+ try {
996
+ const client = getClient();
997
+ const result = await client.organization.listUsers({
998
+ role: opts.role,
999
+ status: opts.status,
1000
+ });
1001
+
1002
+ if (getFormat(orgCmd) === 'json') {
1003
+ print(result, 'json');
1004
+ } else {
1005
+ success(`Users (${result.total} total):`);
1006
+ result.users.forEach(user => {
1007
+ console.log(` ${chalk.bold(user.firstName)} ${chalk.bold(user.lastName)} (${user.role})`);
1008
+ console.log(` ID: ${user.id}`);
1009
+ console.log(` Email: ${user.email}`);
1010
+ console.log(` Status: ${user.status}`);
1011
+ console.log();
1012
+ });
1013
+ }
1014
+ } catch (err) {
1015
+ error(String(err));
1016
+ process.exit(1);
1017
+ }
1018
+ });
1019
+
1020
+ orgCmd
1021
+ .command('me')
1022
+ .description('Get current user info')
1023
+ .action(async () => {
1024
+ try {
1025
+ const client = getClient();
1026
+ const result = await client.organization.getCurrentUser();
1027
+ print(result, getFormat(orgCmd));
1028
+ } catch (err) {
1029
+ error(String(err));
1030
+ process.exit(1);
1031
+ }
1032
+ });
1033
+
1034
+ // ============================================
1035
+ // Webhooks Commands
1036
+ // ============================================
1037
+ const webhooksCmd = program
1038
+ .command('webhooks')
1039
+ .description('Manage webhooks');
1040
+
1041
+ webhooksCmd
1042
+ .command('list')
1043
+ .description('List webhooks')
1044
+ .action(async () => {
1045
+ try {
1046
+ const client = getClient();
1047
+ const result = await client.webhooks.list();
1048
+ print(result, getFormat(webhooksCmd));
1049
+ } catch (err) {
1050
+ error(String(err));
1051
+ process.exit(1);
1052
+ }
1053
+ });
1054
+
1055
+ webhooksCmd
1056
+ .command('get <webhookId>')
1057
+ .description('Get webhook details')
1058
+ .action(async (webhookId: string) => {
1059
+ try {
1060
+ const client = getClient();
1061
+ const result = await client.webhooks.get(webhookId);
1062
+ print(result, getFormat(webhooksCmd));
1063
+ } catch (err) {
1064
+ error(String(err));
1065
+ process.exit(1);
1066
+ }
1067
+ });
1068
+
1069
+ webhooksCmd
1070
+ .command('create')
1071
+ .description('Create a webhook')
1072
+ .requiredOption('-u, --url <url>', 'Webhook URL')
1073
+ .option('-e, --events <events>', 'Comma-separated event types (transaction.created, transaction.updated, checkingAccount.balance.updated, etc.)')
1074
+ .action(async (opts) => {
1075
+ try {
1076
+ const client = getClient();
1077
+ const result = await client.webhooks.create({
1078
+ url: opts.url,
1079
+ eventTypes: opts.events ? opts.events.split(',') : undefined,
1080
+ });
1081
+ success('Webhook created!');
1082
+ print(result, getFormat(webhooksCmd));
1083
+ } catch (err) {
1084
+ error(String(err));
1085
+ process.exit(1);
1086
+ }
1087
+ });
1088
+
1089
+ webhooksCmd
1090
+ .command('delete <webhookId>')
1091
+ .description('Delete a webhook')
1092
+ .action(async (webhookId: string) => {
1093
+ try {
1094
+ const client = getClient();
1095
+ await client.webhooks.delete(webhookId);
1096
+ success('Webhook deleted');
1097
+ } catch (err) {
1098
+ error(String(err));
1099
+ process.exit(1);
1100
+ }
1101
+ });
1102
+
1103
+ webhooksCmd
1104
+ .command('test <webhookId>')
1105
+ .description('Test a webhook')
1106
+ .action(async (webhookId: string) => {
1107
+ try {
1108
+ const client = getClient();
1109
+ const result = await client.webhooks.test(webhookId);
1110
+ if (result.success) {
1111
+ success(`Webhook test successful! Status: ${result.statusCode}`);
1112
+ } else {
1113
+ error(`Webhook test failed. Status: ${result.statusCode}`);
1114
+ }
1115
+ } catch (err) {
1116
+ error(String(err));
1117
+ process.exit(1);
1118
+ }
1119
+ });
1120
+
1121
+ webhooksCmd
1122
+ .command('verify <webhookId>')
1123
+ .description('Verify a webhook endpoint')
1124
+ .action(async (webhookId: string) => {
1125
+ try {
1126
+ const client = getClient();
1127
+ const result = await client.webhooks.verify(webhookId);
1128
+ if (result.verified) {
1129
+ success('Webhook verified successfully!');
1130
+ } else {
1131
+ error('Webhook verification failed');
1132
+ }
1133
+ } catch (err) {
1134
+ error(String(err));
1135
+ process.exit(1);
1136
+ }
1137
+ });
1138
+
1139
+ // ============================================
1140
+ // Categories Commands
1141
+ // ============================================
1142
+ const categoriesCmd = program
1143
+ .command('categories')
1144
+ .description('View transaction categories');
1145
+
1146
+ categoriesCmd
1147
+ .command('list')
1148
+ .description('List all categories')
1149
+ .option('-l, --limit <number>', 'Maximum results')
1150
+ .action(async (opts) => {
1151
+ try {
1152
+ const client = getClient();
1153
+ const result = await client.categories.list({
1154
+ limit: opts.limit ? parseInt(opts.limit) : undefined,
1155
+ });
1156
+ print(result, getFormat(categoriesCmd));
1157
+ } catch (err) {
1158
+ error(String(err));
1159
+ process.exit(1);
1160
+ }
1161
+ });
1162
+
1163
+ // ============================================
1164
+ // Credit Commands
1165
+ // ============================================
1166
+ const creditCmd = program
1167
+ .command('credit')
1168
+ .description('View credit accounts');
1169
+
1170
+ creditCmd
1171
+ .command('list')
1172
+ .description('List all credit accounts')
1173
+ .option('-l, --limit <number>', 'Maximum results')
1174
+ .action(async (opts) => {
1175
+ try {
1176
+ const client = getClient();
1177
+ const result = await client.credit.list({
1178
+ limit: opts.limit ? parseInt(opts.limit) : undefined,
1179
+ });
1180
+ print(result, getFormat(creditCmd));
1181
+ } catch (err) {
1182
+ error(String(err));
1183
+ process.exit(1);
1184
+ }
1185
+ });
1186
+
1187
+ creditCmd
1188
+ .command('get <creditAccountId>')
1189
+ .description('Get credit account details')
1190
+ .action(async (creditAccountId: string) => {
1191
+ try {
1192
+ const client = getClient();
1193
+ const result = await client.credit.get(creditAccountId);
1194
+ print(result, getFormat(creditCmd));
1195
+ } catch (err) {
1196
+ error(String(err));
1197
+ process.exit(1);
1198
+ }
1199
+ });
1200
+
1201
+ // ============================================
1202
+ // Events Commands
1203
+ // ============================================
1204
+ const eventsCmd = program
1205
+ .command('events')
1206
+ .description('View API events');
1207
+
1208
+ eventsCmd
1209
+ .command('list')
1210
+ .description('List all events')
1211
+ .option('-l, --limit <number>', 'Maximum results')
1212
+ .option('-r, --resource-type <type>', 'Filter by resource type (transaction, checkingAccount, savingsAccount, treasuryAccount, investmentAccount, creditAccount)')
1213
+ .action(async (opts) => {
1214
+ try {
1215
+ const client = getClient();
1216
+ const result = await client.events.list({
1217
+ limit: opts.limit ? parseInt(opts.limit) : undefined,
1218
+ resourceType: opts.resourceType,
1219
+ });
1220
+ print(result, getFormat(eventsCmd));
1221
+ } catch (err) {
1222
+ error(String(err));
1223
+ process.exit(1);
1224
+ }
1225
+ });
1226
+
1227
+ eventsCmd
1228
+ .command('get <eventId>')
1229
+ .description('Get event details')
1230
+ .action(async (eventId: string) => {
1231
+ try {
1232
+ const client = getClient();
1233
+ const result = await client.events.get(eventId);
1234
+ print(result, getFormat(eventsCmd));
1235
+ } catch (err) {
1236
+ error(String(err));
1237
+ process.exit(1);
1238
+ }
1239
+ });
1240
+
1241
+ // ============================================
1242
+ // Attachments Commands
1243
+ // ============================================
1244
+ const attachmentsCmd = program
1245
+ .command('attachments')
1246
+ .description('View attachment details');
1247
+
1248
+ attachmentsCmd
1249
+ .command('get <attachmentId>')
1250
+ .description('Get attachment details and download URL')
1251
+ .action(async (attachmentId: string) => {
1252
+ try {
1253
+ const client = getClient();
1254
+ const result = await client.attachments.get(attachmentId);
1255
+ print(result, getFormat(attachmentsCmd));
1256
+ } catch (err) {
1257
+ error(String(err));
1258
+ process.exit(1);
1259
+ }
1260
+ });
1261
+
1262
+ // Parse and execute
1263
+ program.parse();