@hasna/connectors 0.7.2 → 0.8.0

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 (767) hide show
  1. package/bin/index.js +281 -1
  2. package/bin/mcp.js +281 -1
  3. package/bin/serve.js +280 -0
  4. package/connectors/connect-3scribe/.env.example +11 -0
  5. package/connectors/connect-3scribe/CLAUDE.md +82 -0
  6. package/connectors/connect-3scribe/README.md +193 -0
  7. package/connectors/connect-3scribe/package.json +51 -0
  8. package/connectors/connect-3scribe/scripts/release.ts +179 -0
  9. package/connectors/connect-3scribe/src/api/client.ts +207 -0
  10. package/connectors/connect-3scribe/src/api/index.ts +40 -0
  11. package/connectors/connect-3scribe/src/api/jobs.ts +44 -0
  12. package/connectors/connect-3scribe/src/cli/index.ts +278 -0
  13. package/connectors/connect-3scribe/src/index.ts +96 -0
  14. package/connectors/connect-3scribe/src/types/index.ts +232 -0
  15. package/connectors/connect-3scribe/src/utils/auth.ts +274 -0
  16. package/connectors/connect-3scribe/src/utils/bulk.ts +212 -0
  17. package/connectors/connect-3scribe/src/utils/config.ts +325 -0
  18. package/connectors/connect-3scribe/src/utils/output.ts +175 -0
  19. package/connectors/connect-3scribe/src/utils/settings.ts +114 -0
  20. package/connectors/connect-3scribe/src/utils/storage.ts +198 -0
  21. package/connectors/connect-3scribe/tsconfig.json +16 -0
  22. package/connectors/connect-7todos/.env.example +11 -0
  23. package/connectors/connect-7todos/CLAUDE.md +95 -0
  24. package/connectors/connect-7todos/README.md +193 -0
  25. package/connectors/connect-7todos/package.json +52 -0
  26. package/connectors/connect-7todos/scripts/release.ts +179 -0
  27. package/connectors/connect-7todos/src/api/client.ts +209 -0
  28. package/connectors/connect-7todos/src/api/index.ts +37 -0
  29. package/connectors/connect-7todos/src/api/tasks.ts +22 -0
  30. package/connectors/connect-7todos/src/cli/index.ts +261 -0
  31. package/connectors/connect-7todos/src/index.ts +96 -0
  32. package/connectors/connect-7todos/src/types/index.ts +210 -0
  33. package/connectors/connect-7todos/src/utils/auth.ts +274 -0
  34. package/connectors/connect-7todos/src/utils/bulk.ts +212 -0
  35. package/connectors/connect-7todos/src/utils/config.ts +325 -0
  36. package/connectors/connect-7todos/src/utils/output.ts +175 -0
  37. package/connectors/connect-7todos/src/utils/settings.ts +114 -0
  38. package/connectors/connect-7todos/src/utils/storage.ts +198 -0
  39. package/connectors/connect-7todos/tsconfig.json +16 -0
  40. package/connectors/connect-abstract/.env.example +11 -0
  41. package/connectors/connect-abstract/CLAUDE.md +111 -0
  42. package/connectors/connect-abstract/README.md +193 -0
  43. package/connectors/connect-abstract/package.json +53 -0
  44. package/connectors/connect-abstract/scripts/release.ts +179 -0
  45. package/connectors/connect-abstract/src/api/client.ts +197 -0
  46. package/connectors/connect-abstract/src/api/company.ts +24 -0
  47. package/connectors/connect-abstract/src/api/email.ts +24 -0
  48. package/connectors/connect-abstract/src/api/exchange.ts +64 -0
  49. package/connectors/connect-abstract/src/api/geolocation.ts +25 -0
  50. package/connectors/connect-abstract/src/api/index.ts +65 -0
  51. package/connectors/connect-abstract/src/api/phone.ts +16 -0
  52. package/connectors/connect-abstract/src/cli/index.ts +365 -0
  53. package/connectors/connect-abstract/src/index.ts +102 -0
  54. package/connectors/connect-abstract/src/types/index.ts +336 -0
  55. package/connectors/connect-abstract/src/utils/auth.ts +274 -0
  56. package/connectors/connect-abstract/src/utils/bulk.ts +212 -0
  57. package/connectors/connect-abstract/src/utils/config.ts +323 -0
  58. package/connectors/connect-abstract/src/utils/output.ts +175 -0
  59. package/connectors/connect-abstract/src/utils/settings.ts +114 -0
  60. package/connectors/connect-abstract/src/utils/storage.ts +198 -0
  61. package/connectors/connect-abstract/tsconfig.json +16 -0
  62. package/connectors/connect-abuselpdb/.env.example +11 -0
  63. package/connectors/connect-abuselpdb/CLAUDE.md +120 -0
  64. package/connectors/connect-abuselpdb/README.md +193 -0
  65. package/connectors/connect-abuselpdb/package.json +52 -0
  66. package/connectors/connect-abuselpdb/scripts/release.ts +179 -0
  67. package/connectors/connect-abuselpdb/src/api/blacklist.ts +32 -0
  68. package/connectors/connect-abuselpdb/src/api/check.ts +42 -0
  69. package/connectors/connect-abuselpdb/src/api/client.ts +182 -0
  70. package/connectors/connect-abuselpdb/src/api/index.ts +50 -0
  71. package/connectors/connect-abuselpdb/src/api/report.ts +59 -0
  72. package/connectors/connect-abuselpdb/src/cli/index.ts +339 -0
  73. package/connectors/connect-abuselpdb/src/index.ts +102 -0
  74. package/connectors/connect-abuselpdb/src/types/index.ts +302 -0
  75. package/connectors/connect-abuselpdb/src/utils/auth.ts +274 -0
  76. package/connectors/connect-abuselpdb/src/utils/bulk.ts +212 -0
  77. package/connectors/connect-abuselpdb/src/utils/config.ts +323 -0
  78. package/connectors/connect-abuselpdb/src/utils/output.ts +175 -0
  79. package/connectors/connect-abuselpdb/src/utils/settings.ts +114 -0
  80. package/connectors/connect-abuselpdb/src/utils/storage.ts +198 -0
  81. package/connectors/connect-abuselpdb/tsconfig.json +16 -0
  82. package/connectors/connect-accelo/.env.example +11 -0
  83. package/connectors/connect-accelo/CLAUDE.md +54 -0
  84. package/connectors/connect-accelo/README.md +193 -0
  85. package/connectors/connect-accelo/package.json +52 -0
  86. package/connectors/connect-accelo/scripts/release.ts +179 -0
  87. package/connectors/connect-accelo/src/api/activities.ts +34 -0
  88. package/connectors/connect-accelo/src/api/client.ts +182 -0
  89. package/connectors/connect-accelo/src/api/companies.ts +45 -0
  90. package/connectors/connect-accelo/src/api/contacts.ts +45 -0
  91. package/connectors/connect-accelo/src/api/index.ts +63 -0
  92. package/connectors/connect-accelo/src/api/issues.ts +45 -0
  93. package/connectors/connect-accelo/src/api/jobs.ts +45 -0
  94. package/connectors/connect-accelo/src/api/prospects.ts +45 -0
  95. package/connectors/connect-accelo/src/api/staff.ts +33 -0
  96. package/connectors/connect-accelo/src/api/tasks.ts +45 -0
  97. package/connectors/connect-accelo/src/cli/index.ts +629 -0
  98. package/connectors/connect-accelo/src/index.ts +112 -0
  99. package/connectors/connect-accelo/src/types/index.ts +443 -0
  100. package/connectors/connect-accelo/src/utils/auth.ts +274 -0
  101. package/connectors/connect-accelo/src/utils/bulk.ts +212 -0
  102. package/connectors/connect-accelo/src/utils/config.ts +326 -0
  103. package/connectors/connect-accelo/src/utils/output.ts +175 -0
  104. package/connectors/connect-accelo/src/utils/settings.ts +114 -0
  105. package/connectors/connect-accelo/src/utils/storage.ts +198 -0
  106. package/connectors/connect-accelo/tsconfig.json +16 -0
  107. package/connectors/connect-accredible/.env.example +11 -0
  108. package/connectors/connect-accredible/CLAUDE.md +63 -0
  109. package/connectors/connect-accredible/README.md +193 -0
  110. package/connectors/connect-accredible/package.json +53 -0
  111. package/connectors/connect-accredible/scripts/release.ts +179 -0
  112. package/connectors/connect-accredible/src/api/client.ts +178 -0
  113. package/connectors/connect-accredible/src/api/credentials.ts +33 -0
  114. package/connectors/connect-accredible/src/api/designs.ts +10 -0
  115. package/connectors/connect-accredible/src/api/evidence.ts +13 -0
  116. package/connectors/connect-accredible/src/api/groups.ts +32 -0
  117. package/connectors/connect-accredible/src/api/index.ts +50 -0
  118. package/connectors/connect-accredible/src/api/sso.ts +10 -0
  119. package/connectors/connect-accredible/src/cli/index.ts +463 -0
  120. package/connectors/connect-accredible/src/index.ts +109 -0
  121. package/connectors/connect-accredible/src/types/index.ts +365 -0
  122. package/connectors/connect-accredible/src/utils/auth.ts +274 -0
  123. package/connectors/connect-accredible/src/utils/bulk.ts +212 -0
  124. package/connectors/connect-accredible/src/utils/config.ts +326 -0
  125. package/connectors/connect-accredible/src/utils/output.ts +175 -0
  126. package/connectors/connect-accredible/src/utils/settings.ts +114 -0
  127. package/connectors/connect-accredible/src/utils/storage.ts +198 -0
  128. package/connectors/connect-accredible/tsconfig.json +16 -0
  129. package/connectors/connect-accurai/.env.example +11 -0
  130. package/connectors/connect-accurai/CLAUDE.md +59 -0
  131. package/connectors/connect-accurai/README.md +193 -0
  132. package/connectors/connect-accurai/package.json +54 -0
  133. package/connectors/connect-accurai/scripts/release.ts +179 -0
  134. package/connectors/connect-accurai/src/api/client.ts +177 -0
  135. package/connectors/connect-accurai/src/api/documents.ts +22 -0
  136. package/connectors/connect-accurai/src/api/index.ts +42 -0
  137. package/connectors/connect-accurai/src/api/models.ts +14 -0
  138. package/connectors/connect-accurai/src/api/predictions.ts +18 -0
  139. package/connectors/connect-accurai/src/cli/index.ts +372 -0
  140. package/connectors/connect-accurai/src/index.ts +107 -0
  141. package/connectors/connect-accurai/src/types/index.ts +256 -0
  142. package/connectors/connect-accurai/src/utils/auth.ts +274 -0
  143. package/connectors/connect-accurai/src/utils/bulk.ts +212 -0
  144. package/connectors/connect-accurai/src/utils/config.ts +326 -0
  145. package/connectors/connect-accurai/src/utils/output.ts +175 -0
  146. package/connectors/connect-accurai/src/utils/settings.ts +114 -0
  147. package/connectors/connect-accurai/src/utils/storage.ts +198 -0
  148. package/connectors/connect-accurai/tsconfig.json +16 -0
  149. package/connectors/connect-accuranker/.env.example +11 -0
  150. package/connectors/connect-accuranker/CLAUDE.md +85 -0
  151. package/connectors/connect-accuranker/README.md +193 -0
  152. package/connectors/connect-accuranker/package.json +54 -0
  153. package/connectors/connect-accuranker/scripts/release.ts +179 -0
  154. package/connectors/connect-accuranker/src/api/accounts.ts +14 -0
  155. package/connectors/connect-accuranker/src/api/client.ts +192 -0
  156. package/connectors/connect-accuranker/src/api/domains.ts +26 -0
  157. package/connectors/connect-accuranker/src/api/groups.ts +22 -0
  158. package/connectors/connect-accuranker/src/api/index.ts +54 -0
  159. package/connectors/connect-accuranker/src/api/keywords.ts +30 -0
  160. package/connectors/connect-accuranker/src/api/landing-pages.ts +14 -0
  161. package/connectors/connect-accuranker/src/api/tags.ts +10 -0
  162. package/connectors/connect-accuranker/src/cli/index.ts +550 -0
  163. package/connectors/connect-accuranker/src/index.ts +110 -0
  164. package/connectors/connect-accuranker/src/types/index.ts +342 -0
  165. package/connectors/connect-accuranker/src/utils/auth.ts +274 -0
  166. package/connectors/connect-accuranker/src/utils/bulk.ts +212 -0
  167. package/connectors/connect-accuranker/src/utils/config.ts +326 -0
  168. package/connectors/connect-accuranker/src/utils/output.ts +175 -0
  169. package/connectors/connect-accuranker/src/utils/settings.ts +114 -0
  170. package/connectors/connect-accuranker/src/utils/storage.ts +198 -0
  171. package/connectors/connect-accuranker/tsconfig.json +16 -0
  172. package/connectors/connect-acquire/.env.example +11 -0
  173. package/connectors/connect-acquire/CLAUDE.md +91 -0
  174. package/connectors/connect-acquire/README.md +193 -0
  175. package/connectors/connect-acquire/package.json +52 -0
  176. package/connectors/connect-acquire/scripts/release.ts +179 -0
  177. package/connectors/connect-acquire/src/api/analytics.ts +18 -0
  178. package/connectors/connect-acquire/src/api/cases.ts +45 -0
  179. package/connectors/connect-acquire/src/api/client.ts +180 -0
  180. package/connectors/connect-acquire/src/api/companies.ts +33 -0
  181. package/connectors/connect-acquire/src/api/contacts.ts +45 -0
  182. package/connectors/connect-acquire/src/api/index.ts +55 -0
  183. package/connectors/connect-acquire/src/api/knowledge-base.ts +14 -0
  184. package/connectors/connect-acquire/src/api/notes.ts +24 -0
  185. package/connectors/connect-acquire/src/cli/index.ts +804 -0
  186. package/connectors/connect-acquire/src/index.ts +111 -0
  187. package/connectors/connect-acquire/src/types/index.ts +470 -0
  188. package/connectors/connect-acquire/src/utils/auth.ts +274 -0
  189. package/connectors/connect-acquire/src/utils/bulk.ts +212 -0
  190. package/connectors/connect-acquire/src/utils/config.ts +323 -0
  191. package/connectors/connect-acquire/src/utils/output.ts +175 -0
  192. package/connectors/connect-acquire/src/utils/settings.ts +114 -0
  193. package/connectors/connect-acquire/src/utils/storage.ts +198 -0
  194. package/connectors/connect-acquire/tsconfig.json +16 -0
  195. package/connectors/connect-actionnetwork/.env.example +11 -0
  196. package/connectors/connect-actionnetwork/CLAUDE.md +94 -0
  197. package/connectors/connect-actionnetwork/README.md +193 -0
  198. package/connectors/connect-actionnetwork/package.json +53 -0
  199. package/connectors/connect-actionnetwork/scripts/release.ts +179 -0
  200. package/connectors/connect-actionnetwork/src/api/advocacy.ts +33 -0
  201. package/connectors/connect-actionnetwork/src/api/client.ts +173 -0
  202. package/connectors/connect-actionnetwork/src/api/events.ts +37 -0
  203. package/connectors/connect-actionnetwork/src/api/forms.ts +37 -0
  204. package/connectors/connect-actionnetwork/src/api/fundraising.ts +37 -0
  205. package/connectors/connect-actionnetwork/src/api/index.ts +62 -0
  206. package/connectors/connect-actionnetwork/src/api/messages.ts +25 -0
  207. package/connectors/connect-actionnetwork/src/api/people.ts +26 -0
  208. package/connectors/connect-actionnetwork/src/api/petitions.ts +37 -0
  209. package/connectors/connect-actionnetwork/src/api/tags.ts +36 -0
  210. package/connectors/connect-actionnetwork/src/cli/index.ts +1111 -0
  211. package/connectors/connect-actionnetwork/src/index.ts +113 -0
  212. package/connectors/connect-actionnetwork/src/types/index.ts +529 -0
  213. package/connectors/connect-actionnetwork/src/utils/auth.ts +274 -0
  214. package/connectors/connect-actionnetwork/src/utils/bulk.ts +212 -0
  215. package/connectors/connect-actionnetwork/src/utils/config.ts +325 -0
  216. package/connectors/connect-actionnetwork/src/utils/output.ts +175 -0
  217. package/connectors/connect-actionnetwork/src/utils/settings.ts +114 -0
  218. package/connectors/connect-actionnetwork/src/utils/storage.ts +198 -0
  219. package/connectors/connect-actionnetwork/tsconfig.json +16 -0
  220. package/connectors/connect-activetrail/.env.example +11 -0
  221. package/connectors/connect-activetrail/CLAUDE.md +65 -0
  222. package/connectors/connect-activetrail/README.md +193 -0
  223. package/connectors/connect-activetrail/package.json +53 -0
  224. package/connectors/connect-activetrail/scripts/release.ts +179 -0
  225. package/connectors/connect-activetrail/src/api/automations.ts +33 -0
  226. package/connectors/connect-activetrail/src/api/campaigns.ts +52 -0
  227. package/connectors/connect-activetrail/src/api/client.ts +186 -0
  228. package/connectors/connect-activetrail/src/api/contacts.ts +55 -0
  229. package/connectors/connect-activetrail/src/api/groups.ts +44 -0
  230. package/connectors/connect-activetrail/src/api/index.ts +57 -0
  231. package/connectors/connect-activetrail/src/api/reports.ts +52 -0
  232. package/connectors/connect-activetrail/src/api/templates.ts +33 -0
  233. package/connectors/connect-activetrail/src/api/webhooks.ts +29 -0
  234. package/connectors/connect-activetrail/src/cli/index.ts +989 -0
  235. package/connectors/connect-activetrail/src/index.ts +112 -0
  236. package/connectors/connect-activetrail/src/types/index.ts +389 -0
  237. package/connectors/connect-activetrail/src/utils/auth.ts +274 -0
  238. package/connectors/connect-activetrail/src/utils/bulk.ts +212 -0
  239. package/connectors/connect-activetrail/src/utils/config.ts +326 -0
  240. package/connectors/connect-activetrail/src/utils/output.ts +175 -0
  241. package/connectors/connect-activetrail/src/utils/settings.ts +114 -0
  242. package/connectors/connect-activetrail/src/utils/storage.ts +198 -0
  243. package/connectors/connect-activetrail/tsconfig.json +16 -0
  244. package/connectors/connect-adalo/.env.example +11 -0
  245. package/connectors/connect-adalo/CLAUDE.md +59 -0
  246. package/connectors/connect-adalo/README.md +193 -0
  247. package/connectors/connect-adalo/package.json +52 -0
  248. package/connectors/connect-adalo/scripts/release.ts +179 -0
  249. package/connectors/connect-adalo/src/api/client.ts +180 -0
  250. package/connectors/connect-adalo/src/api/index.ts +37 -0
  251. package/connectors/connect-adalo/src/api/notifications.ts +22 -0
  252. package/connectors/connect-adalo/src/api/records.ts +44 -0
  253. package/connectors/connect-adalo/src/cli/index.ts +320 -0
  254. package/connectors/connect-adalo/src/index.ts +103 -0
  255. package/connectors/connect-adalo/src/types/index.ts +220 -0
  256. package/connectors/connect-adalo/src/utils/auth.ts +274 -0
  257. package/connectors/connect-adalo/src/utils/bulk.ts +212 -0
  258. package/connectors/connect-adalo/src/utils/config.ts +326 -0
  259. package/connectors/connect-adalo/src/utils/output.ts +175 -0
  260. package/connectors/connect-adalo/src/utils/settings.ts +114 -0
  261. package/connectors/connect-adalo/src/utils/storage.ts +198 -0
  262. package/connectors/connect-adalo/tsconfig.json +16 -0
  263. package/connectors/connect-adroll/.env.example +11 -0
  264. package/connectors/connect-adroll/CLAUDE.md +75 -0
  265. package/connectors/connect-adroll/README.md +193 -0
  266. package/connectors/connect-adroll/package.json +52 -0
  267. package/connectors/connect-adroll/scripts/release.ts +179 -0
  268. package/connectors/connect-adroll/src/api/adgroups.ts +31 -0
  269. package/connectors/connect-adroll/src/api/ads.ts +34 -0
  270. package/connectors/connect-adroll/src/api/advertisables.ts +34 -0
  271. package/connectors/connect-adroll/src/api/campaigns.ts +34 -0
  272. package/connectors/connect-adroll/src/api/client.ts +177 -0
  273. package/connectors/connect-adroll/src/api/index.ts +54 -0
  274. package/connectors/connect-adroll/src/api/organizations.ts +17 -0
  275. package/connectors/connect-adroll/src/api/segments.ts +20 -0
  276. package/connectors/connect-adroll/src/cli/index.ts +547 -0
  277. package/connectors/connect-adroll/src/index.ts +111 -0
  278. package/connectors/connect-adroll/src/types/index.ts +307 -0
  279. package/connectors/connect-adroll/src/utils/auth.ts +274 -0
  280. package/connectors/connect-adroll/src/utils/bulk.ts +212 -0
  281. package/connectors/connect-adroll/src/utils/config.ts +323 -0
  282. package/connectors/connect-adroll/src/utils/output.ts +175 -0
  283. package/connectors/connect-adroll/src/utils/settings.ts +114 -0
  284. package/connectors/connect-adroll/src/utils/storage.ts +198 -0
  285. package/connectors/connect-adroll/tsconfig.json +16 -0
  286. package/connectors/connect-affinity/.env.example +11 -0
  287. package/connectors/connect-affinity/CLAUDE.md +60 -0
  288. package/connectors/connect-affinity/README.md +193 -0
  289. package/connectors/connect-affinity/package.json +52 -0
  290. package/connectors/connect-affinity/scripts/release.ts +179 -0
  291. package/connectors/connect-affinity/src/api/client.ts +176 -0
  292. package/connectors/connect-affinity/src/api/fields.ts +18 -0
  293. package/connectors/connect-affinity/src/api/index.ts +54 -0
  294. package/connectors/connect-affinity/src/api/lists.ts +34 -0
  295. package/connectors/connect-affinity/src/api/notes.ts +26 -0
  296. package/connectors/connect-affinity/src/api/opportunities.ts +30 -0
  297. package/connectors/connect-affinity/src/api/organizations.ts +30 -0
  298. package/connectors/connect-affinity/src/api/persons.ts +30 -0
  299. package/connectors/connect-affinity/src/cli/index.ts +631 -0
  300. package/connectors/connect-affinity/src/index.ts +111 -0
  301. package/connectors/connect-affinity/src/types/index.ts +342 -0
  302. package/connectors/connect-affinity/src/utils/auth.ts +274 -0
  303. package/connectors/connect-affinity/src/utils/bulk.ts +212 -0
  304. package/connectors/connect-affinity/src/utils/config.ts +326 -0
  305. package/connectors/connect-affinity/src/utils/output.ts +175 -0
  306. package/connectors/connect-affinity/src/utils/settings.ts +114 -0
  307. package/connectors/connect-affinity/src/utils/storage.ts +198 -0
  308. package/connectors/connect-affinity/tsconfig.json +16 -0
  309. package/connectors/connect-agent/.env.example +11 -0
  310. package/connectors/connect-agent/CLAUDE.md +59 -0
  311. package/connectors/connect-agent/README.md +193 -0
  312. package/connectors/connect-agent/package.json +53 -0
  313. package/connectors/connect-agent/scripts/release.ts +179 -0
  314. package/connectors/connect-agent/src/api/actions.ts +48 -0
  315. package/connectors/connect-agent/src/api/client.ts +176 -0
  316. package/connectors/connect-agent/src/api/index.ts +34 -0
  317. package/connectors/connect-agent/src/cli/index.ts +340 -0
  318. package/connectors/connect-agent/src/index.ts +103 -0
  319. package/connectors/connect-agent/src/types/index.ts +268 -0
  320. package/connectors/connect-agent/src/utils/auth.ts +274 -0
  321. package/connectors/connect-agent/src/utils/bulk.ts +212 -0
  322. package/connectors/connect-agent/src/utils/config.ts +323 -0
  323. package/connectors/connect-agent/src/utils/output.ts +175 -0
  324. package/connectors/connect-agent/src/utils/settings.ts +114 -0
  325. package/connectors/connect-agent/src/utils/storage.ts +198 -0
  326. package/connectors/connect-agent/tsconfig.json +16 -0
  327. package/connectors/connect-agilecrm/.env.example +11 -0
  328. package/connectors/connect-agilecrm/CLAUDE.md +59 -0
  329. package/connectors/connect-agilecrm/README.md +193 -0
  330. package/connectors/connect-agilecrm/package.json +52 -0
  331. package/connectors/connect-agilecrm/scripts/release.ts +179 -0
  332. package/connectors/connect-agilecrm/src/api/client.ts +189 -0
  333. package/connectors/connect-agilecrm/src/api/contacts.ts +84 -0
  334. package/connectors/connect-agilecrm/src/api/deals.ts +56 -0
  335. package/connectors/connect-agilecrm/src/api/index.ts +54 -0
  336. package/connectors/connect-agilecrm/src/api/notes.ts +26 -0
  337. package/connectors/connect-agilecrm/src/api/tasks.ts +38 -0
  338. package/connectors/connect-agilecrm/src/cli/index.ts +589 -0
  339. package/connectors/connect-agilecrm/src/index.ts +103 -0
  340. package/connectors/connect-agilecrm/src/types/index.ts +360 -0
  341. package/connectors/connect-agilecrm/src/utils/auth.ts +274 -0
  342. package/connectors/connect-agilecrm/src/utils/bulk.ts +212 -0
  343. package/connectors/connect-agilecrm/src/utils/config.ts +323 -0
  344. package/connectors/connect-agilecrm/src/utils/output.ts +175 -0
  345. package/connectors/connect-agilecrm/src/utils/settings.ts +114 -0
  346. package/connectors/connect-agilecrm/src/utils/storage.ts +198 -0
  347. package/connectors/connect-agilecrm/tsconfig.json +16 -0
  348. package/connectors/connect-aiagenttool/.env.example +11 -0
  349. package/connectors/connect-aiagenttool/CLAUDE.md +272 -0
  350. package/connectors/connect-aiagenttool/README.md +193 -0
  351. package/connectors/connect-aiagenttool/package.json +51 -0
  352. package/connectors/connect-aiagenttool/scripts/release.ts +179 -0
  353. package/connectors/connect-aiagenttool/src/api/client.ts +213 -0
  354. package/connectors/connect-aiagenttool/src/api/example.ts +48 -0
  355. package/connectors/connect-aiagenttool/src/api/index.ts +51 -0
  356. package/connectors/connect-aiagenttool/src/cli/index.ts +254 -0
  357. package/connectors/connect-aiagenttool/src/index.ts +103 -0
  358. package/connectors/connect-aiagenttool/src/types/index.ts +237 -0
  359. package/connectors/connect-aiagenttool/src/utils/auth.ts +274 -0
  360. package/connectors/connect-aiagenttool/src/utils/bulk.ts +212 -0
  361. package/connectors/connect-aiagenttool/src/utils/config.ts +326 -0
  362. package/connectors/connect-aiagenttool/src/utils/output.ts +175 -0
  363. package/connectors/connect-aiagenttool/src/utils/settings.ts +114 -0
  364. package/connectors/connect-aiagenttool/src/utils/storage.ts +198 -0
  365. package/connectors/connect-aiagenttool/tsconfig.json +16 -0
  366. package/connectors/connect-airbrake/.env.example +11 -0
  367. package/connectors/connect-airbrake/CLAUDE.md +272 -0
  368. package/connectors/connect-airbrake/README.md +193 -0
  369. package/connectors/connect-airbrake/package.json +51 -0
  370. package/connectors/connect-airbrake/scripts/release.ts +179 -0
  371. package/connectors/connect-airbrake/src/api/client.ts +213 -0
  372. package/connectors/connect-airbrake/src/api/example.ts +48 -0
  373. package/connectors/connect-airbrake/src/api/index.ts +51 -0
  374. package/connectors/connect-airbrake/src/cli/index.ts +254 -0
  375. package/connectors/connect-airbrake/src/index.ts +103 -0
  376. package/connectors/connect-airbrake/src/types/index.ts +237 -0
  377. package/connectors/connect-airbrake/src/utils/auth.ts +274 -0
  378. package/connectors/connect-airbrake/src/utils/bulk.ts +212 -0
  379. package/connectors/connect-airbrake/src/utils/config.ts +326 -0
  380. package/connectors/connect-airbrake/src/utils/output.ts +175 -0
  381. package/connectors/connect-airbrake/src/utils/settings.ts +114 -0
  382. package/connectors/connect-airbrake/src/utils/storage.ts +198 -0
  383. package/connectors/connect-airbrake/tsconfig.json +16 -0
  384. package/connectors/connect-airnow/.env.example +11 -0
  385. package/connectors/connect-airnow/CLAUDE.md +272 -0
  386. package/connectors/connect-airnow/README.md +193 -0
  387. package/connectors/connect-airnow/package.json +51 -0
  388. package/connectors/connect-airnow/scripts/release.ts +179 -0
  389. package/connectors/connect-airnow/src/api/client.ts +213 -0
  390. package/connectors/connect-airnow/src/api/example.ts +48 -0
  391. package/connectors/connect-airnow/src/api/index.ts +51 -0
  392. package/connectors/connect-airnow/src/cli/index.ts +254 -0
  393. package/connectors/connect-airnow/src/index.ts +103 -0
  394. package/connectors/connect-airnow/src/types/index.ts +237 -0
  395. package/connectors/connect-airnow/src/utils/auth.ts +274 -0
  396. package/connectors/connect-airnow/src/utils/bulk.ts +212 -0
  397. package/connectors/connect-airnow/src/utils/config.ts +326 -0
  398. package/connectors/connect-airnow/src/utils/output.ts +175 -0
  399. package/connectors/connect-airnow/src/utils/settings.ts +114 -0
  400. package/connectors/connect-airnow/src/utils/storage.ts +198 -0
  401. package/connectors/connect-airnow/tsconfig.json +16 -0
  402. package/connectors/connect-airtop/.env.example +11 -0
  403. package/connectors/connect-airtop/CLAUDE.md +272 -0
  404. package/connectors/connect-airtop/README.md +193 -0
  405. package/connectors/connect-airtop/package.json +51 -0
  406. package/connectors/connect-airtop/scripts/release.ts +179 -0
  407. package/connectors/connect-airtop/src/api/client.ts +213 -0
  408. package/connectors/connect-airtop/src/api/example.ts +48 -0
  409. package/connectors/connect-airtop/src/api/index.ts +51 -0
  410. package/connectors/connect-airtop/src/cli/index.ts +254 -0
  411. package/connectors/connect-airtop/src/index.ts +103 -0
  412. package/connectors/connect-airtop/src/types/index.ts +237 -0
  413. package/connectors/connect-airtop/src/utils/auth.ts +274 -0
  414. package/connectors/connect-airtop/src/utils/bulk.ts +212 -0
  415. package/connectors/connect-airtop/src/utils/config.ts +326 -0
  416. package/connectors/connect-airtop/src/utils/output.ts +175 -0
  417. package/connectors/connect-airtop/src/utils/settings.ts +114 -0
  418. package/connectors/connect-airtop/src/utils/storage.ts +198 -0
  419. package/connectors/connect-airtop/tsconfig.json +16 -0
  420. package/connectors/connect-aitableai/.env.example +11 -0
  421. package/connectors/connect-aitableai/CLAUDE.md +272 -0
  422. package/connectors/connect-aitableai/README.md +193 -0
  423. package/connectors/connect-aitableai/package.json +51 -0
  424. package/connectors/connect-aitableai/scripts/release.ts +179 -0
  425. package/connectors/connect-aitableai/src/api/client.ts +213 -0
  426. package/connectors/connect-aitableai/src/api/example.ts +48 -0
  427. package/connectors/connect-aitableai/src/api/index.ts +51 -0
  428. package/connectors/connect-aitableai/src/cli/index.ts +254 -0
  429. package/connectors/connect-aitableai/src/index.ts +103 -0
  430. package/connectors/connect-aitableai/src/types/index.ts +237 -0
  431. package/connectors/connect-aitableai/src/utils/auth.ts +274 -0
  432. package/connectors/connect-aitableai/src/utils/bulk.ts +212 -0
  433. package/connectors/connect-aitableai/src/utils/config.ts +326 -0
  434. package/connectors/connect-aitableai/src/utils/output.ts +175 -0
  435. package/connectors/connect-aitableai/src/utils/settings.ts +114 -0
  436. package/connectors/connect-aitableai/src/utils/storage.ts +198 -0
  437. package/connectors/connect-aitableai/tsconfig.json +16 -0
  438. package/connectors/connect-alchemy/.env.example +11 -0
  439. package/connectors/connect-alchemy/CLAUDE.md +272 -0
  440. package/connectors/connect-alchemy/README.md +193 -0
  441. package/connectors/connect-alchemy/package.json +51 -0
  442. package/connectors/connect-alchemy/scripts/release.ts +179 -0
  443. package/connectors/connect-alchemy/src/api/client.ts +213 -0
  444. package/connectors/connect-alchemy/src/api/example.ts +48 -0
  445. package/connectors/connect-alchemy/src/api/index.ts +51 -0
  446. package/connectors/connect-alchemy/src/cli/index.ts +254 -0
  447. package/connectors/connect-alchemy/src/index.ts +103 -0
  448. package/connectors/connect-alchemy/src/types/index.ts +237 -0
  449. package/connectors/connect-alchemy/src/utils/auth.ts +274 -0
  450. package/connectors/connect-alchemy/src/utils/bulk.ts +212 -0
  451. package/connectors/connect-alchemy/src/utils/config.ts +326 -0
  452. package/connectors/connect-alchemy/src/utils/output.ts +175 -0
  453. package/connectors/connect-alchemy/src/utils/settings.ts +114 -0
  454. package/connectors/connect-alchemy/src/utils/storage.ts +198 -0
  455. package/connectors/connect-alchemy/tsconfig.json +16 -0
  456. package/connectors/connect-alerty/.env.example +11 -0
  457. package/connectors/connect-alerty/CLAUDE.md +272 -0
  458. package/connectors/connect-alerty/README.md +193 -0
  459. package/connectors/connect-alerty/package.json +51 -0
  460. package/connectors/connect-alerty/scripts/release.ts +179 -0
  461. package/connectors/connect-alerty/src/api/client.ts +213 -0
  462. package/connectors/connect-alerty/src/api/example.ts +48 -0
  463. package/connectors/connect-alerty/src/api/index.ts +51 -0
  464. package/connectors/connect-alerty/src/cli/index.ts +254 -0
  465. package/connectors/connect-alerty/src/index.ts +103 -0
  466. package/connectors/connect-alerty/src/types/index.ts +237 -0
  467. package/connectors/connect-alerty/src/utils/auth.ts +274 -0
  468. package/connectors/connect-alerty/src/utils/bulk.ts +212 -0
  469. package/connectors/connect-alerty/src/utils/config.ts +326 -0
  470. package/connectors/connect-alerty/src/utils/output.ts +175 -0
  471. package/connectors/connect-alerty/src/utils/settings.ts +114 -0
  472. package/connectors/connect-alerty/src/utils/storage.ts +198 -0
  473. package/connectors/connect-alerty/tsconfig.json +16 -0
  474. package/connectors/connect-alienvault/.env.example +11 -0
  475. package/connectors/connect-alienvault/CLAUDE.md +272 -0
  476. package/connectors/connect-alienvault/README.md +193 -0
  477. package/connectors/connect-alienvault/package.json +51 -0
  478. package/connectors/connect-alienvault/scripts/release.ts +179 -0
  479. package/connectors/connect-alienvault/src/api/client.ts +213 -0
  480. package/connectors/connect-alienvault/src/api/example.ts +48 -0
  481. package/connectors/connect-alienvault/src/api/index.ts +51 -0
  482. package/connectors/connect-alienvault/src/cli/index.ts +254 -0
  483. package/connectors/connect-alienvault/src/index.ts +103 -0
  484. package/connectors/connect-alienvault/src/types/index.ts +237 -0
  485. package/connectors/connect-alienvault/src/utils/auth.ts +274 -0
  486. package/connectors/connect-alienvault/src/utils/bulk.ts +212 -0
  487. package/connectors/connect-alienvault/src/utils/config.ts +326 -0
  488. package/connectors/connect-alienvault/src/utils/output.ts +175 -0
  489. package/connectors/connect-alienvault/src/utils/settings.ts +114 -0
  490. package/connectors/connect-alienvault/src/utils/storage.ts +198 -0
  491. package/connectors/connect-alienvault/tsconfig.json +16 -0
  492. package/connectors/connect-alphamoon/.env.example +11 -0
  493. package/connectors/connect-alphamoon/CLAUDE.md +272 -0
  494. package/connectors/connect-alphamoon/README.md +193 -0
  495. package/connectors/connect-alphamoon/package.json +51 -0
  496. package/connectors/connect-alphamoon/scripts/release.ts +179 -0
  497. package/connectors/connect-alphamoon/src/api/client.ts +213 -0
  498. package/connectors/connect-alphamoon/src/api/example.ts +48 -0
  499. package/connectors/connect-alphamoon/src/api/index.ts +51 -0
  500. package/connectors/connect-alphamoon/src/cli/index.ts +254 -0
  501. package/connectors/connect-alphamoon/src/index.ts +103 -0
  502. package/connectors/connect-alphamoon/src/types/index.ts +237 -0
  503. package/connectors/connect-alphamoon/src/utils/auth.ts +274 -0
  504. package/connectors/connect-alphamoon/src/utils/bulk.ts +212 -0
  505. package/connectors/connect-alphamoon/src/utils/config.ts +326 -0
  506. package/connectors/connect-alphamoon/src/utils/output.ts +175 -0
  507. package/connectors/connect-alphamoon/src/utils/settings.ts +114 -0
  508. package/connectors/connect-alphamoon/src/utils/storage.ts +198 -0
  509. package/connectors/connect-alphamoon/tsconfig.json +16 -0
  510. package/connectors/connect-alttextai/.env.example +11 -0
  511. package/connectors/connect-alttextai/CLAUDE.md +272 -0
  512. package/connectors/connect-alttextai/README.md +193 -0
  513. package/connectors/connect-alttextai/package.json +51 -0
  514. package/connectors/connect-alttextai/scripts/release.ts +179 -0
  515. package/connectors/connect-alttextai/src/api/client.ts +213 -0
  516. package/connectors/connect-alttextai/src/api/example.ts +48 -0
  517. package/connectors/connect-alttextai/src/api/index.ts +51 -0
  518. package/connectors/connect-alttextai/src/cli/index.ts +254 -0
  519. package/connectors/connect-alttextai/src/index.ts +103 -0
  520. package/connectors/connect-alttextai/src/types/index.ts +237 -0
  521. package/connectors/connect-alttextai/src/utils/auth.ts +274 -0
  522. package/connectors/connect-alttextai/src/utils/bulk.ts +212 -0
  523. package/connectors/connect-alttextai/src/utils/config.ts +326 -0
  524. package/connectors/connect-alttextai/src/utils/output.ts +175 -0
  525. package/connectors/connect-alttextai/src/utils/settings.ts +114 -0
  526. package/connectors/connect-alttextai/src/utils/storage.ts +198 -0
  527. package/connectors/connect-alttextai/tsconfig.json +16 -0
  528. package/connectors/connect-amadeus/package.json +49 -0
  529. package/connectors/connect-amadeus/src/api/client.ts +135 -0
  530. package/connectors/connect-amadeus/src/api/flights.ts +129 -0
  531. package/connectors/connect-amadeus/src/api/index.ts +34 -0
  532. package/connectors/connect-amadeus/src/cli/index.ts +372 -0
  533. package/connectors/connect-amadeus/src/index.ts +30 -0
  534. package/connectors/connect-amadeus/src/types/index.ts +209 -0
  535. package/connectors/connect-amadeus/src/utils/config.ts +135 -0
  536. package/connectors/connect-amadeus/src/utils/output.ts +124 -0
  537. package/connectors/connect-amadeus/tsconfig.json +15 -0
  538. package/connectors/connect-amazon/.env.example +11 -0
  539. package/connectors/connect-amazon/CLAUDE.md +272 -0
  540. package/connectors/connect-amazon/README.md +193 -0
  541. package/connectors/connect-amazon/package.json +51 -0
  542. package/connectors/connect-amazon/scripts/release.ts +179 -0
  543. package/connectors/connect-amazon/src/api/client.ts +213 -0
  544. package/connectors/connect-amazon/src/api/example.ts +48 -0
  545. package/connectors/connect-amazon/src/api/index.ts +51 -0
  546. package/connectors/connect-amazon/src/cli/index.ts +254 -0
  547. package/connectors/connect-amazon/src/index.ts +103 -0
  548. package/connectors/connect-amazon/src/types/index.ts +237 -0
  549. package/connectors/connect-amazon/src/utils/auth.ts +274 -0
  550. package/connectors/connect-amazon/src/utils/bulk.ts +212 -0
  551. package/connectors/connect-amazon/src/utils/config.ts +326 -0
  552. package/connectors/connect-amazon/src/utils/output.ts +175 -0
  553. package/connectors/connect-amazon/src/utils/settings.ts +114 -0
  554. package/connectors/connect-amazon/src/utils/storage.ts +198 -0
  555. package/connectors/connect-amazon/tsconfig.json +16 -0
  556. package/connectors/connect-amilia/.env.example +11 -0
  557. package/connectors/connect-amilia/CLAUDE.md +272 -0
  558. package/connectors/connect-amilia/README.md +193 -0
  559. package/connectors/connect-amilia/package.json +51 -0
  560. package/connectors/connect-amilia/scripts/release.ts +179 -0
  561. package/connectors/connect-amilia/src/api/client.ts +213 -0
  562. package/connectors/connect-amilia/src/api/example.ts +48 -0
  563. package/connectors/connect-amilia/src/api/index.ts +51 -0
  564. package/connectors/connect-amilia/src/cli/index.ts +254 -0
  565. package/connectors/connect-amilia/src/index.ts +103 -0
  566. package/connectors/connect-amilia/src/types/index.ts +237 -0
  567. package/connectors/connect-amilia/src/utils/auth.ts +274 -0
  568. package/connectors/connect-amilia/src/utils/bulk.ts +212 -0
  569. package/connectors/connect-amilia/src/utils/config.ts +326 -0
  570. package/connectors/connect-amilia/src/utils/output.ts +175 -0
  571. package/connectors/connect-amilia/src/utils/settings.ts +114 -0
  572. package/connectors/connect-amilia/src/utils/storage.ts +198 -0
  573. package/connectors/connect-amilia/tsconfig.json +16 -0
  574. package/connectors/connect-amqpsender/.env.example +11 -0
  575. package/connectors/connect-amqpsender/CLAUDE.md +272 -0
  576. package/connectors/connect-amqpsender/README.md +193 -0
  577. package/connectors/connect-amqpsender/package.json +51 -0
  578. package/connectors/connect-amqpsender/scripts/release.ts +179 -0
  579. package/connectors/connect-amqpsender/src/api/client.ts +213 -0
  580. package/connectors/connect-amqpsender/src/api/example.ts +48 -0
  581. package/connectors/connect-amqpsender/src/api/index.ts +51 -0
  582. package/connectors/connect-amqpsender/src/cli/index.ts +254 -0
  583. package/connectors/connect-amqpsender/src/index.ts +103 -0
  584. package/connectors/connect-amqpsender/src/types/index.ts +237 -0
  585. package/connectors/connect-amqpsender/src/utils/auth.ts +274 -0
  586. package/connectors/connect-amqpsender/src/utils/bulk.ts +212 -0
  587. package/connectors/connect-amqpsender/src/utils/config.ts +326 -0
  588. package/connectors/connect-amqpsender/src/utils/output.ts +175 -0
  589. package/connectors/connect-amqpsender/src/utils/settings.ts +114 -0
  590. package/connectors/connect-amqpsender/src/utils/storage.ts +198 -0
  591. package/connectors/connect-amqpsender/tsconfig.json +16 -0
  592. package/connectors/connect-announcekit/.env.example +11 -0
  593. package/connectors/connect-announcekit/CLAUDE.md +272 -0
  594. package/connectors/connect-announcekit/README.md +193 -0
  595. package/connectors/connect-announcekit/package.json +51 -0
  596. package/connectors/connect-announcekit/scripts/release.ts +179 -0
  597. package/connectors/connect-announcekit/src/api/client.ts +213 -0
  598. package/connectors/connect-announcekit/src/api/example.ts +48 -0
  599. package/connectors/connect-announcekit/src/api/index.ts +51 -0
  600. package/connectors/connect-announcekit/src/cli/index.ts +254 -0
  601. package/connectors/connect-announcekit/src/index.ts +103 -0
  602. package/connectors/connect-announcekit/src/types/index.ts +237 -0
  603. package/connectors/connect-announcekit/src/utils/auth.ts +274 -0
  604. package/connectors/connect-announcekit/src/utils/bulk.ts +212 -0
  605. package/connectors/connect-announcekit/src/utils/config.ts +326 -0
  606. package/connectors/connect-announcekit/src/utils/output.ts +175 -0
  607. package/connectors/connect-announcekit/src/utils/settings.ts +114 -0
  608. package/connectors/connect-announcekit/src/utils/storage.ts +198 -0
  609. package/connectors/connect-announcekit/tsconfig.json +16 -0
  610. package/connectors/connect-anyscale/.env.example +11 -0
  611. package/connectors/connect-anyscale/CLAUDE.md +128 -0
  612. package/connectors/connect-anyscale/README.md +193 -0
  613. package/connectors/connect-anyscale/package.json +51 -0
  614. package/connectors/connect-anyscale/src/api/client.ts +63 -0
  615. package/connectors/connect-anyscale/src/api/index.ts +36 -0
  616. package/connectors/connect-anyscale/src/cli/index.ts +244 -0
  617. package/connectors/connect-anyscale/src/index.ts +19 -0
  618. package/connectors/connect-anyscale/src/types/index.ts +70 -0
  619. package/connectors/connect-anyscale/src/utils/config.ts +103 -0
  620. package/connectors/connect-anyscale/src/utils/output.ts +119 -0
  621. package/connectors/connect-anyscale/tsconfig.json +16 -0
  622. package/connectors/connect-apiary/.env.example +11 -0
  623. package/connectors/connect-apiary/CLAUDE.md +272 -0
  624. package/connectors/connect-apiary/README.md +193 -0
  625. package/connectors/connect-apiary/package.json +51 -0
  626. package/connectors/connect-apiary/scripts/release.ts +179 -0
  627. package/connectors/connect-apiary/src/api/client.ts +213 -0
  628. package/connectors/connect-apiary/src/api/example.ts +48 -0
  629. package/connectors/connect-apiary/src/api/index.ts +51 -0
  630. package/connectors/connect-apiary/src/cli/index.ts +254 -0
  631. package/connectors/connect-apiary/src/index.ts +103 -0
  632. package/connectors/connect-apiary/src/types/index.ts +237 -0
  633. package/connectors/connect-apiary/src/utils/auth.ts +274 -0
  634. package/connectors/connect-apiary/src/utils/bulk.ts +212 -0
  635. package/connectors/connect-apiary/src/utils/config.ts +326 -0
  636. package/connectors/connect-apiary/src/utils/output.ts +175 -0
  637. package/connectors/connect-apiary/src/utils/settings.ts +114 -0
  638. package/connectors/connect-apiary/src/utils/storage.ts +198 -0
  639. package/connectors/connect-apiary/tsconfig.json +16 -0
  640. package/connectors/connect-apiflash/.env.example +11 -0
  641. package/connectors/connect-apiflash/CLAUDE.md +272 -0
  642. package/connectors/connect-apiflash/README.md +193 -0
  643. package/connectors/connect-apiflash/package.json +51 -0
  644. package/connectors/connect-apiflash/scripts/release.ts +179 -0
  645. package/connectors/connect-apiflash/src/api/client.ts +213 -0
  646. package/connectors/connect-apiflash/src/api/example.ts +48 -0
  647. package/connectors/connect-apiflash/src/api/index.ts +51 -0
  648. package/connectors/connect-apiflash/src/cli/index.ts +254 -0
  649. package/connectors/connect-apiflash/src/index.ts +103 -0
  650. package/connectors/connect-apiflash/src/types/index.ts +237 -0
  651. package/connectors/connect-apiflash/src/utils/auth.ts +274 -0
  652. package/connectors/connect-apiflash/src/utils/bulk.ts +212 -0
  653. package/connectors/connect-apiflash/src/utils/config.ts +326 -0
  654. package/connectors/connect-apiflash/src/utils/output.ts +175 -0
  655. package/connectors/connect-apiflash/src/utils/settings.ts +114 -0
  656. package/connectors/connect-apiflash/src/utils/storage.ts +198 -0
  657. package/connectors/connect-apiflash/tsconfig.json +16 -0
  658. package/connectors/connect-apitemplateio/.env.example +11 -0
  659. package/connectors/connect-apitemplateio/CLAUDE.md +272 -0
  660. package/connectors/connect-apitemplateio/README.md +193 -0
  661. package/connectors/connect-apitemplateio/package.json +51 -0
  662. package/connectors/connect-apitemplateio/scripts/release.ts +179 -0
  663. package/connectors/connect-apitemplateio/src/api/client.ts +213 -0
  664. package/connectors/connect-apitemplateio/src/api/example.ts +48 -0
  665. package/connectors/connect-apitemplateio/src/api/index.ts +51 -0
  666. package/connectors/connect-apitemplateio/src/cli/index.ts +254 -0
  667. package/connectors/connect-apitemplateio/src/index.ts +103 -0
  668. package/connectors/connect-apitemplateio/src/types/index.ts +237 -0
  669. package/connectors/connect-apitemplateio/src/utils/auth.ts +274 -0
  670. package/connectors/connect-apitemplateio/src/utils/bulk.ts +212 -0
  671. package/connectors/connect-apitemplateio/src/utils/config.ts +326 -0
  672. package/connectors/connect-apitemplateio/src/utils/output.ts +175 -0
  673. package/connectors/connect-apitemplateio/src/utils/settings.ts +114 -0
  674. package/connectors/connect-apitemplateio/src/utils/storage.ts +198 -0
  675. package/connectors/connect-apitemplateio/tsconfig.json +16 -0
  676. package/connectors/connect-apptivegrid/.env.example +11 -0
  677. package/connectors/connect-apptivegrid/CLAUDE.md +272 -0
  678. package/connectors/connect-apptivegrid/README.md +193 -0
  679. package/connectors/connect-apptivegrid/package.json +51 -0
  680. package/connectors/connect-apptivegrid/scripts/release.ts +179 -0
  681. package/connectors/connect-apptivegrid/src/api/client.ts +213 -0
  682. package/connectors/connect-apptivegrid/src/api/example.ts +48 -0
  683. package/connectors/connect-apptivegrid/src/api/index.ts +51 -0
  684. package/connectors/connect-apptivegrid/src/cli/index.ts +254 -0
  685. package/connectors/connect-apptivegrid/src/index.ts +103 -0
  686. package/connectors/connect-apptivegrid/src/types/index.ts +237 -0
  687. package/connectors/connect-apptivegrid/src/utils/auth.ts +274 -0
  688. package/connectors/connect-apptivegrid/src/utils/bulk.ts +212 -0
  689. package/connectors/connect-apptivegrid/src/utils/config.ts +326 -0
  690. package/connectors/connect-apptivegrid/src/utils/output.ts +175 -0
  691. package/connectors/connect-apptivegrid/src/utils/settings.ts +114 -0
  692. package/connectors/connect-apptivegrid/src/utils/storage.ts +198 -0
  693. package/connectors/connect-apptivegrid/tsconfig.json +16 -0
  694. package/connectors/connect-autom/.env.example +11 -0
  695. package/connectors/connect-autom/CLAUDE.md +272 -0
  696. package/connectors/connect-autom/README.md +193 -0
  697. package/connectors/connect-autom/package.json +51 -0
  698. package/connectors/connect-autom/scripts/release.ts +179 -0
  699. package/connectors/connect-autom/src/api/client.ts +213 -0
  700. package/connectors/connect-autom/src/api/example.ts +48 -0
  701. package/connectors/connect-autom/src/api/index.ts +51 -0
  702. package/connectors/connect-autom/src/cli/index.ts +254 -0
  703. package/connectors/connect-autom/src/index.ts +103 -0
  704. package/connectors/connect-autom/src/types/index.ts +237 -0
  705. package/connectors/connect-autom/src/utils/auth.ts +274 -0
  706. package/connectors/connect-autom/src/utils/bulk.ts +212 -0
  707. package/connectors/connect-autom/src/utils/config.ts +326 -0
  708. package/connectors/connect-autom/src/utils/output.ts +175 -0
  709. package/connectors/connect-autom/src/utils/settings.ts +114 -0
  710. package/connectors/connect-autom/src/utils/storage.ts +198 -0
  711. package/connectors/connect-autom/tsconfig.json +16 -0
  712. package/connectors/connect-automizy/.env.example +11 -0
  713. package/connectors/connect-automizy/CLAUDE.md +272 -0
  714. package/connectors/connect-automizy/README.md +193 -0
  715. package/connectors/connect-automizy/package.json +51 -0
  716. package/connectors/connect-automizy/scripts/release.ts +179 -0
  717. package/connectors/connect-automizy/src/api/client.ts +213 -0
  718. package/connectors/connect-automizy/src/api/example.ts +48 -0
  719. package/connectors/connect-automizy/src/api/index.ts +51 -0
  720. package/connectors/connect-automizy/src/cli/index.ts +254 -0
  721. package/connectors/connect-automizy/src/index.ts +103 -0
  722. package/connectors/connect-automizy/src/types/index.ts +237 -0
  723. package/connectors/connect-automizy/src/utils/auth.ts +274 -0
  724. package/connectors/connect-automizy/src/utils/bulk.ts +212 -0
  725. package/connectors/connect-automizy/src/utils/config.ts +326 -0
  726. package/connectors/connect-automizy/src/utils/output.ts +175 -0
  727. package/connectors/connect-automizy/src/utils/settings.ts +114 -0
  728. package/connectors/connect-automizy/src/utils/storage.ts +198 -0
  729. package/connectors/connect-automizy/tsconfig.json +16 -0
  730. package/connectors/connect-autopilot/.env.example +11 -0
  731. package/connectors/connect-autopilot/CLAUDE.md +272 -0
  732. package/connectors/connect-autopilot/README.md +193 -0
  733. package/connectors/connect-autopilot/package.json +51 -0
  734. package/connectors/connect-autopilot/scripts/release.ts +179 -0
  735. package/connectors/connect-autopilot/src/api/client.ts +213 -0
  736. package/connectors/connect-autopilot/src/api/example.ts +48 -0
  737. package/connectors/connect-autopilot/src/api/index.ts +51 -0
  738. package/connectors/connect-autopilot/src/cli/index.ts +254 -0
  739. package/connectors/connect-autopilot/src/index.ts +103 -0
  740. package/connectors/connect-autopilot/src/types/index.ts +237 -0
  741. package/connectors/connect-autopilot/src/utils/auth.ts +274 -0
  742. package/connectors/connect-autopilot/src/utils/bulk.ts +212 -0
  743. package/connectors/connect-autopilot/src/utils/config.ts +326 -0
  744. package/connectors/connect-autopilot/src/utils/output.ts +175 -0
  745. package/connectors/connect-autopilot/src/utils/settings.ts +114 -0
  746. package/connectors/connect-autopilot/src/utils/storage.ts +198 -0
  747. package/connectors/connect-autopilot/tsconfig.json +16 -0
  748. package/connectors/connect-awscognito/.env.example +11 -0
  749. package/connectors/connect-awscognito/CLAUDE.md +272 -0
  750. package/connectors/connect-awscognito/README.md +193 -0
  751. package/connectors/connect-awscognito/package.json +51 -0
  752. package/connectors/connect-awscognito/scripts/release.ts +179 -0
  753. package/connectors/connect-awscognito/src/api/client.ts +213 -0
  754. package/connectors/connect-awscognito/src/api/example.ts +48 -0
  755. package/connectors/connect-awscognito/src/api/index.ts +51 -0
  756. package/connectors/connect-awscognito/src/cli/index.ts +254 -0
  757. package/connectors/connect-awscognito/src/index.ts +103 -0
  758. package/connectors/connect-awscognito/src/types/index.ts +237 -0
  759. package/connectors/connect-awscognito/src/utils/auth.ts +274 -0
  760. package/connectors/connect-awscognito/src/utils/bulk.ts +212 -0
  761. package/connectors/connect-awscognito/src/utils/config.ts +326 -0
  762. package/connectors/connect-awscognito/src/utils/output.ts +175 -0
  763. package/connectors/connect-awscognito/src/utils/settings.ts +114 -0
  764. package/connectors/connect-awscognito/src/utils/storage.ts +198 -0
  765. package/connectors/connect-awscognito/tsconfig.json +16 -0
  766. package/dist/index.js +280 -0
  767. package/package.json +1 -1
@@ -0,0 +1,179 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Release script for publishing to npm
4
+ *
5
+ * Usage:
6
+ * bun run release # Build, bump version, and publish
7
+ * bun run release:dry # Dry run (preview only)
8
+ *
9
+ * Features:
10
+ * - Auto-fetches current npm version
11
+ * - Bumps patch version if needed
12
+ * - Creates git tag
13
+ * - Publishes to npm
14
+ */
15
+
16
+ import { readFileSync, writeFileSync } from 'fs';
17
+ import { execSync } from 'child_process';
18
+
19
+ const isDryRun = process.argv.includes('--dry-run');
20
+
21
+ interface PackageJson {
22
+ name: string;
23
+ version: string;
24
+ [key: string]: unknown;
25
+ }
26
+
27
+ function exec(command: string, silent = false): string {
28
+ try {
29
+ const result = execSync(command, {
30
+ encoding: 'utf-8',
31
+ stdio: silent ? 'pipe' : 'inherit',
32
+ });
33
+ return result?.trim() || '';
34
+ } catch (err) {
35
+ if (silent) {
36
+ return '';
37
+ }
38
+ throw err;
39
+ }
40
+ }
41
+
42
+ function log(message: string): void {
43
+ console.log(`\x1b[36m▸\x1b[0m ${message}`);
44
+ }
45
+
46
+ function success(message: string): void {
47
+ console.log(`\x1b[32m✓\x1b[0m ${message}`);
48
+ }
49
+
50
+ function warn(message: string): void {
51
+ console.log(`\x1b[33m⚠\x1b[0m ${message}`);
52
+ }
53
+
54
+ function error(message: string): void {
55
+ console.error(`\x1b[31m✗\x1b[0m ${message}`);
56
+ }
57
+
58
+ function parseVersion(version: string): { major: number; minor: number; patch: number } {
59
+ const [major, minor, patch] = version.split('.').map(Number);
60
+ return { major, minor, patch };
61
+ }
62
+
63
+ function bumpPatch(version: string): string {
64
+ const { major, minor, patch } = parseVersion(version);
65
+ return `${major}.${minor}.${patch + 1}`;
66
+ }
67
+
68
+ async function main(): Promise<void> {
69
+ // Read package.json
70
+ const packageJsonPath = 'package.json';
71
+ const packageJson: PackageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
72
+ const { name, version: localVersion } = packageJson;
73
+
74
+ log(`Package: ${name}`);
75
+ log(`Local version: ${localVersion}`);
76
+
77
+ // Get current npm version
78
+ let npmVersion = '';
79
+ try {
80
+ npmVersion = exec(`npm view ${name} version 2>/dev/null`, true);
81
+ log(`npm version: ${npmVersion || 'not published'}`);
82
+ } catch {
83
+ log('npm version: not published yet');
84
+ }
85
+
86
+ // Determine new version
87
+ let newVersion = localVersion;
88
+ if (npmVersion) {
89
+ const localParsed = parseVersion(localVersion);
90
+ const npmParsed = parseVersion(npmVersion);
91
+
92
+ // If local version <= npm version, bump from npm version
93
+ if (
94
+ localParsed.major < npmParsed.major ||
95
+ (localParsed.major === npmParsed.major && localParsed.minor < npmParsed.minor) ||
96
+ (localParsed.major === npmParsed.major &&
97
+ localParsed.minor === npmParsed.minor &&
98
+ localParsed.patch <= npmParsed.patch)
99
+ ) {
100
+ newVersion = bumpPatch(npmVersion);
101
+ }
102
+ }
103
+
104
+ if (newVersion !== localVersion) {
105
+ log(`Bumping version: ${localVersion} → ${newVersion}`);
106
+
107
+ if (!isDryRun) {
108
+ packageJson.version = newVersion;
109
+ writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n');
110
+ }
111
+ } else {
112
+ log(`Version unchanged: ${newVersion}`);
113
+ }
114
+
115
+ // Run typecheck
116
+ log('Running typecheck...');
117
+ if (!isDryRun) {
118
+ exec('bun run typecheck');
119
+ success('Typecheck passed');
120
+ }
121
+
122
+ // Build
123
+ log('Building...');
124
+ if (!isDryRun) {
125
+ exec('bun run build');
126
+ success('Build completed');
127
+ }
128
+
129
+ // Git operations
130
+ const gitStatus = exec('git status --porcelain', true);
131
+ if (gitStatus) {
132
+ log('Staging changes...');
133
+ if (!isDryRun) {
134
+ exec('git add package.json');
135
+ exec(`git commit -m "chore: release v${newVersion}"`);
136
+ }
137
+ }
138
+
139
+ // Create git tag
140
+ const tagName = `v${newVersion}`;
141
+ log(`Creating tag: ${tagName}`);
142
+ if (!isDryRun) {
143
+ try {
144
+ exec(`git tag ${tagName}`);
145
+ success(`Tag ${tagName} created`);
146
+ } catch {
147
+ warn(`Tag ${tagName} already exists`);
148
+ }
149
+ }
150
+
151
+ // Publish
152
+ log('Publishing to npm...');
153
+ if (isDryRun) {
154
+ warn('Dry run - skipping publish');
155
+ exec('npm publish --dry-run');
156
+ } else {
157
+ exec('npm publish');
158
+ success(`Published ${name}@${newVersion}`);
159
+ }
160
+
161
+ // Push tags
162
+ if (!isDryRun) {
163
+ log('Pushing tags...');
164
+ try {
165
+ exec('git push --tags');
166
+ success('Tags pushed');
167
+ } catch {
168
+ warn('Failed to push tags (you may need to push manually)');
169
+ }
170
+ }
171
+
172
+ console.log('');
173
+ success(`Release ${isDryRun ? '(dry run) ' : ''}complete: ${name}@${newVersion}`);
174
+ }
175
+
176
+ main().catch((err) => {
177
+ error(String(err));
178
+ process.exit(1);
179
+ });
@@ -0,0 +1,209 @@
1
+ import type { ConnectorConfig, OutputFormat } from '../types';
2
+ import { ConnectorApiError, parseApiError } from '../types';
3
+
4
+ const DEFAULT_BASE_URL = 'https://7todos.com/api/v1';
5
+
6
+ export interface RequestOptions {
7
+ method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
8
+ params?: Record<string, string | number | boolean | undefined>;
9
+ body?: Record<string, unknown> | unknown[] | string;
10
+ headers?: Record<string, string>;
11
+ format?: OutputFormat;
12
+ /** Number of retries for failed requests (default: 3) */
13
+ retries?: number;
14
+ /** Timeout in milliseconds (default: 30000) */
15
+ timeout?: number;
16
+ }
17
+
18
+ export class ConnectorClient {
19
+ private readonly apiKey: string;
20
+ private readonly workspaceId: string;
21
+ private readonly baseUrl: string;
22
+
23
+ constructor(config: ConnectorConfig) {
24
+ const key = config.apiKey || config.token || config.accessToken;
25
+ if (!key) {
26
+ throw new Error('API key is required');
27
+ }
28
+ if (!config.workspaceId) {
29
+ throw new Error('Workspace ID is required');
30
+ }
31
+ this.apiKey = key;
32
+ this.workspaceId = config.workspaceId;
33
+ this.baseUrl = config.baseUrl || DEFAULT_BASE_URL;
34
+ }
35
+
36
+ private buildUrl(path: string, params?: Record<string, string | number | boolean | undefined>): string {
37
+ const url = new URL(`${this.baseUrl}${path}`);
38
+
39
+ if (params) {
40
+ Object.entries(params).forEach(([key, value]) => {
41
+ if (value !== undefined && value !== null && value !== '') {
42
+ url.searchParams.append(key, String(value));
43
+ }
44
+ });
45
+ }
46
+
47
+ return url.toString();
48
+ }
49
+
50
+ /**
51
+ * Sleep for a given number of milliseconds
52
+ */
53
+ private sleep(ms: number): Promise<void> {
54
+ return new Promise(resolve => setTimeout(resolve, ms));
55
+ }
56
+
57
+ /**
58
+ * Calculate delay for exponential backoff
59
+ */
60
+ private getRetryDelay(attempt: number, baseDelay: number = 1000): number {
61
+ // Exponential backoff with jitter: base * 2^attempt + random(0-1000)ms
62
+ return baseDelay * Math.pow(2, attempt) + Math.random() * 1000;
63
+ }
64
+
65
+ /**
66
+ * Check if error is retryable
67
+ */
68
+ private isRetryableStatus(status: number): boolean {
69
+ // Retry on rate limit (429) and server errors (5xx)
70
+ return status === 429 || (status >= 500 && status < 600);
71
+ }
72
+
73
+ /**
74
+ * Make an authenticated request to the 7todos API
75
+ */
76
+ async request<T>(path: string, options: RequestOptions = {}): Promise<T> {
77
+ const { method = 'GET', params, body, headers = {}, retries = 3, timeout = 30000 } = options;
78
+
79
+ const url = this.buildUrl(path, params);
80
+
81
+ const requestHeaders: Record<string, string> = {
82
+ 'key': this.apiKey,
83
+ 'workspaceId': this.workspaceId,
84
+ 'Accept': 'application/json',
85
+ ...headers,
86
+ };
87
+
88
+ if (body && ['POST', 'PUT', 'PATCH'].includes(method)) {
89
+ requestHeaders['Content-Type'] = 'application/json';
90
+ }
91
+
92
+ const fetchOptions: RequestInit = {
93
+ method,
94
+ headers: requestHeaders,
95
+ };
96
+
97
+ if (body && ['POST', 'PUT', 'PATCH'].includes(method)) {
98
+ fetchOptions.body = typeof body === 'string' ? body : JSON.stringify(body);
99
+ }
100
+
101
+ let lastError: Error | null = null;
102
+ let lastStatus: number = 0;
103
+
104
+ for (let attempt = 0; attempt <= retries; attempt++) {
105
+ try {
106
+ // Create abort controller for timeout
107
+ const controller = new AbortController();
108
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
109
+
110
+ const response = await fetch(url, {
111
+ ...fetchOptions,
112
+ signal: controller.signal,
113
+ });
114
+
115
+ clearTimeout(timeoutId);
116
+ lastStatus = response.status;
117
+
118
+ // Handle 204 No Content
119
+ if (response.status === 204) {
120
+ return {} as T;
121
+ }
122
+
123
+ // Parse response
124
+ let data: unknown;
125
+ const contentType = response.headers.get('content-type') || '';
126
+
127
+ if (contentType.includes('application/json')) {
128
+ const text = await response.text();
129
+ if (text) {
130
+ try {
131
+ data = JSON.parse(text);
132
+ } catch {
133
+ data = text;
134
+ }
135
+ }
136
+ } else {
137
+ data = await response.text();
138
+ }
139
+
140
+ // Handle errors
141
+ if (!response.ok) {
142
+ // Check if we should retry
143
+ if (this.isRetryableStatus(response.status) && attempt < retries) {
144
+ // Check for Retry-After header
145
+ const retryAfter = response.headers.get('retry-after');
146
+ const delay = retryAfter
147
+ ? parseInt(retryAfter, 10) * 1000
148
+ : this.getRetryDelay(attempt);
149
+
150
+ await this.sleep(delay);
151
+ continue;
152
+ }
153
+
154
+ throw parseApiError(data, response.status);
155
+ }
156
+
157
+ return data as T;
158
+ } catch (err) {
159
+ lastError = err instanceof Error ? err : new Error(String(err));
160
+
161
+ // Handle timeout errors
162
+ if (lastError.name === 'AbortError') {
163
+ lastError = new Error(`Request timeout after ${timeout}ms`);
164
+ }
165
+
166
+ // Retry on network errors
167
+ if (attempt < retries && !(err instanceof ConnectorApiError)) {
168
+ await this.sleep(this.getRetryDelay(attempt));
169
+ continue;
170
+ }
171
+
172
+ throw err;
173
+ }
174
+ }
175
+
176
+ // Should not reach here, but just in case
177
+ throw lastError || new ConnectorApiError('Request failed', lastStatus);
178
+ }
179
+
180
+ async get<T>(path: string, params?: Record<string, string | number | boolean | undefined>): Promise<T> {
181
+ return this.request<T>(path, { method: 'GET', params });
182
+ }
183
+
184
+ async post<T>(path: string, body?: Record<string, unknown> | unknown[] | string | object, params?: Record<string, string | number | boolean | undefined>): Promise<T> {
185
+ return this.request<T>(path, { method: 'POST', body: body as Record<string, unknown>, params });
186
+ }
187
+
188
+ async put<T>(path: string, body?: Record<string, unknown> | object, params?: Record<string, string | number | boolean | undefined>): Promise<T> {
189
+ return this.request<T>(path, { method: 'PUT', body: body as Record<string, unknown>, params });
190
+ }
191
+
192
+ async patch<T>(path: string, body?: Record<string, unknown> | object, params?: Record<string, string | number | boolean | undefined>): Promise<T> {
193
+ return this.request<T>(path, { method: 'PATCH', body: body as Record<string, unknown>, params });
194
+ }
195
+
196
+ async delete<T>(path: string, params?: Record<string, string | number | boolean | undefined>): Promise<T> {
197
+ return this.request<T>(path, { method: 'DELETE', params });
198
+ }
199
+
200
+ /**
201
+ * Get a preview of the API key (for display/debugging)
202
+ */
203
+ getApiKeyPreview(): string {
204
+ if (this.apiKey.length > 10) {
205
+ return `${this.apiKey.substring(0, 6)}...${this.apiKey.substring(this.apiKey.length - 4)}`;
206
+ }
207
+ return '***';
208
+ }
209
+ }
@@ -0,0 +1,37 @@
1
+ import type { ConnectorConfig } from '../types';
2
+ import { ConnectorClient } from './client';
3
+ import { TasksApi } from './tasks';
4
+
5
+ export class Connector {
6
+ private readonly client: ConnectorClient;
7
+ public readonly tasks: TasksApi;
8
+
9
+ constructor(config: ConnectorConfig) {
10
+ this.client = new ConnectorClient(config);
11
+ this.tasks = new TasksApi(this.client);
12
+ }
13
+
14
+ static fromEnv(): Connector {
15
+ const apiKey = process.env.SEVENTODOS_API_KEY;
16
+ const workspaceId = process.env.SEVENTODOS_WORKSPACE_ID;
17
+
18
+ if (!apiKey) {
19
+ throw new Error('SEVENTODOS_API_KEY environment variable is required');
20
+ }
21
+ if (!workspaceId) {
22
+ throw new Error('SEVENTODOS_WORKSPACE_ID environment variable is required');
23
+ }
24
+ return new Connector({ apiKey, workspaceId });
25
+ }
26
+
27
+ getApiKeyPreview(): string {
28
+ return this.client.getApiKeyPreview();
29
+ }
30
+
31
+ getClient(): ConnectorClient {
32
+ return this.client;
33
+ }
34
+ }
35
+
36
+ export { ConnectorClient } from './client';
37
+ export { TasksApi } from './tasks';
@@ -0,0 +1,22 @@
1
+ import type { ConnectorClient } from './client';
2
+ import type { Task, CreateTaskParams } from '../types';
3
+
4
+ export class TasksApi {
5
+ constructor(private readonly client: ConnectorClient) {}
6
+
7
+ /**
8
+ * Create a new task
9
+ */
10
+ async create(params: CreateTaskParams): Promise<Task> {
11
+ const body: Record<string, unknown> = {
12
+ title: params.title,
13
+ };
14
+ if (params.description !== undefined) body.description = params.description;
15
+ if (params.startDate !== undefined) body.startDate = params.startDate;
16
+ if (params.dueDate !== undefined) body.dueDate = params.dueDate;
17
+ if (params.state !== undefined) body.state = params.state;
18
+ if (params.complexity !== undefined) body.complexity = params.complexity;
19
+
20
+ return this.client.post<Task>('/tasks/create', body);
21
+ }
22
+ }
@@ -0,0 +1,261 @@
1
+ #!/usr/bin/env bun
2
+ import { Command } from 'commander';
3
+ import chalk from 'chalk';
4
+ import { Connector } from '../api';
5
+ import {
6
+ getApiKey,
7
+ setApiKey,
8
+ clearConfig,
9
+ getConfigDir,
10
+ setProfileOverride,
11
+ getCurrentProfile,
12
+ setCurrentProfile,
13
+ listProfiles,
14
+ createProfile,
15
+ deleteProfile,
16
+ profileExists,
17
+ loadProfile,
18
+ saveProfile,
19
+ } from '../utils/config';
20
+ import type { OutputFormat } from '../utils/output';
21
+ import { success, error, info, print, warn, setVerboseMode, debug } from '../utils/output';
22
+
23
+ const CONNECTOR_NAME = 'connect-7todos';
24
+ const VERSION = '0.0.1';
25
+
26
+ const program = new Command();
27
+
28
+ program
29
+ .name(CONNECTOR_NAME)
30
+ .description('7todos task management API connector CLI')
31
+ .version(VERSION)
32
+ .option('-k, --api-key <key>', 'API key (overrides config)')
33
+ .option('-w, --workspace-id <id>', 'Workspace ID (overrides config)')
34
+ .option('-f, --format <format>', 'Output format (json, pretty)', 'pretty')
35
+ .option('-p, --profile <profile>', 'Use a specific profile')
36
+ .option('-v, --verbose', 'Enable verbose output for debugging')
37
+ .hook('preAction', (thisCommand) => {
38
+ const opts = thisCommand.opts();
39
+
40
+ if (opts.verbose) {
41
+ setVerboseMode(true);
42
+ debug('Verbose mode enabled');
43
+ }
44
+
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
+ debug(`Using profile: ${opts.profile}`);
52
+ }
53
+
54
+ if (opts.apiKey) {
55
+ process.env.SEVENTODOS_API_KEY = opts.apiKey;
56
+ debug('API key set from command line flag');
57
+ }
58
+
59
+ if (opts.workspaceId) {
60
+ process.env.SEVENTODOS_WORKSPACE_ID = opts.workspaceId;
61
+ debug('Workspace ID set from command line flag');
62
+ }
63
+ });
64
+
65
+ function getFormat(cmd: Command): OutputFormat {
66
+ const parent = cmd.parent;
67
+ return (parent?.opts().format || 'pretty') as OutputFormat;
68
+ }
69
+
70
+ function getWorkspaceId(): string | undefined {
71
+ return process.env.SEVENTODOS_WORKSPACE_ID || loadProfile().apiSecret;
72
+ }
73
+
74
+ function getClient(): Connector {
75
+ const apiKey = getApiKey();
76
+ const workspaceId = getWorkspaceId();
77
+ if (!apiKey) {
78
+ error(`No API key configured. Run "${CONNECTOR_NAME} config set-key <key>" or set SEVENTODOS_API_KEY environment variable.`);
79
+ process.exit(1);
80
+ }
81
+ if (!workspaceId) {
82
+ error(`No workspace ID configured. Run "${CONNECTOR_NAME} config set-workspace <id>" or set SEVENTODOS_WORKSPACE_ID environment variable.`);
83
+ process.exit(1);
84
+ }
85
+ return new Connector({ apiKey, workspaceId });
86
+ }
87
+
88
+ // ============================================
89
+ // Profile Commands
90
+ // ============================================
91
+ const profileCmd = program
92
+ .command('profile')
93
+ .description('Manage configuration profiles');
94
+
95
+ profileCmd
96
+ .command('list')
97
+ .description('List all profiles')
98
+ .action(() => {
99
+ const profiles = listProfiles();
100
+ const current = getCurrentProfile();
101
+
102
+ if (profiles.length === 0) {
103
+ info('No profiles found. Use "profile create <name>" to create one.');
104
+ return;
105
+ }
106
+
107
+ success(`Profiles:`);
108
+ profiles.forEach(p => {
109
+ const isActive = p === current ? chalk.green(' (active)') : '';
110
+ console.log(` ${p}${isActive}`);
111
+ });
112
+ });
113
+
114
+ profileCmd
115
+ .command('use <name>')
116
+ .description('Switch to a profile')
117
+ .action((name: string) => {
118
+ if (!profileExists(name)) {
119
+ error(`Profile "${name}" does not exist. Create it with "profile create ${name}"`);
120
+ process.exit(1);
121
+ }
122
+ setCurrentProfile(name);
123
+ success(`Switched to profile: ${name}`);
124
+ });
125
+
126
+ profileCmd
127
+ .command('create <name>')
128
+ .description('Create a new profile')
129
+ .option('--api-key <key>', 'API key')
130
+ .option('--workspace-id <id>', 'Workspace ID')
131
+ .option('--use', 'Switch to this profile after creation')
132
+ .action((name: string, opts) => {
133
+ if (profileExists(name)) {
134
+ error(`Profile "${name}" already exists`);
135
+ process.exit(1);
136
+ }
137
+
138
+ createProfile(name, {
139
+ apiKey: opts.apiKey,
140
+ apiSecret: opts.workspaceId,
141
+ });
142
+ success(`Profile "${name}" created`);
143
+
144
+ if (opts.use) {
145
+ setCurrentProfile(name);
146
+ info(`Switched to profile: ${name}`);
147
+ }
148
+ });
149
+
150
+ profileCmd
151
+ .command('delete <name>')
152
+ .description('Delete a profile')
153
+ .action((name: string) => {
154
+ if (name === 'default') {
155
+ error('Cannot delete the default profile');
156
+ process.exit(1);
157
+ }
158
+ if (deleteProfile(name)) {
159
+ success(`Profile "${name}" deleted`);
160
+ } else {
161
+ error(`Profile "${name}" not found`);
162
+ process.exit(1);
163
+ }
164
+ });
165
+
166
+ profileCmd
167
+ .command('show [name]')
168
+ .description('Show profile configuration')
169
+ .action((name?: string) => {
170
+ const profileName = name || getCurrentProfile();
171
+ const config = loadProfile(profileName);
172
+ const active = getCurrentProfile();
173
+
174
+ console.log(chalk.bold(`Profile: ${profileName}${profileName === active ? chalk.green(' (active)') : ''}`));
175
+ info(`API Key: ${config.apiKey ? `${config.apiKey.substring(0, 8)}...` : chalk.gray('not set')}`);
176
+ info(`Workspace ID: ${config.apiSecret || chalk.gray('not set')}`);
177
+ });
178
+
179
+ // ============================================
180
+ // Config Commands
181
+ // ============================================
182
+ const configCmd = program
183
+ .command('config')
184
+ .description('Manage CLI configuration (for active profile)');
185
+
186
+ configCmd
187
+ .command('set-key <apiKey>')
188
+ .description('Set API key')
189
+ .action((apiKey: string) => {
190
+ setApiKey(apiKey);
191
+ success(`API key saved to profile: ${getCurrentProfile()}`);
192
+ });
193
+
194
+ configCmd
195
+ .command('set-workspace <workspaceId>')
196
+ .description('Set workspace ID')
197
+ .action((workspaceId: string) => {
198
+ const config = loadProfile();
199
+ config.apiSecret = workspaceId;
200
+ saveProfile(config);
201
+ success(`Workspace ID saved to profile: ${getCurrentProfile()}`);
202
+ });
203
+
204
+ configCmd
205
+ .command('show')
206
+ .description('Show current configuration')
207
+ .action(() => {
208
+ const profileName = getCurrentProfile();
209
+ const apiKey = getApiKey();
210
+ const workspaceId = getWorkspaceId();
211
+
212
+ console.log(chalk.bold(`Active Profile: ${profileName}`));
213
+ info(`Config directory: ${getConfigDir()}`);
214
+ info(`API Key: ${apiKey ? `${apiKey.substring(0, 8)}...` : chalk.gray('not set')}`);
215
+ info(`Workspace ID: ${workspaceId || chalk.gray('not set')}`);
216
+ });
217
+
218
+ configCmd
219
+ .command('clear')
220
+ .description('Clear configuration for active profile')
221
+ .action(() => {
222
+ clearConfig();
223
+ success(`Configuration cleared for profile: ${getCurrentProfile()}`);
224
+ });
225
+
226
+ // ============================================
227
+ // Tasks Commands
228
+ // ============================================
229
+ const tasksCmd = program
230
+ .command('tasks')
231
+ .description('Manage tasks');
232
+
233
+ tasksCmd
234
+ .command('create')
235
+ .description('Create a new task')
236
+ .requiredOption('-t, --title <title>', 'Task title')
237
+ .option('-d, --description <desc>', 'Task description')
238
+ .option('--start-date <date>', 'Start date (yyyy-mm-dd)')
239
+ .option('--due-date <date>', 'Due date (yyyy-mm-dd)')
240
+ .option('-s, --state <state>', 'Task state (todo, progress, done)')
241
+ .option('-c, --complexity <level>', 'Complexity level (1-5)')
242
+ .action(async (opts) => {
243
+ try {
244
+ const client = getClient();
245
+ const result = await client.tasks.create({
246
+ title: opts.title,
247
+ description: opts.description,
248
+ startDate: opts.startDate,
249
+ dueDate: opts.dueDate,
250
+ state: opts.state,
251
+ complexity: opts.complexity ? parseInt(opts.complexity) : undefined,
252
+ });
253
+ success('Task created!');
254
+ print(result, getFormat(tasksCmd));
255
+ } catch (err) {
256
+ error(String(err));
257
+ process.exit(1);
258
+ }
259
+ });
260
+
261
+ program.parse();