@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,342 @@
1
+ // AccuRanker API Types
2
+
3
+ // ============================================
4
+ // Configuration
5
+ // ============================================
6
+
7
+ export interface ConnectorConfig {
8
+ apiKey?: string;
9
+ token?: string;
10
+ apiSecret?: string;
11
+ accessToken?: string;
12
+ baseUrl?: string;
13
+ }
14
+
15
+ // ============================================
16
+ // OAuth2 Types
17
+ // ============================================
18
+
19
+ export interface OAuth2Config {
20
+ clientId: string;
21
+ clientSecret: string;
22
+ redirectUri?: string;
23
+ }
24
+
25
+ export interface OAuth2Tokens {
26
+ accessToken: string;
27
+ refreshToken?: string;
28
+ expiresAt: number;
29
+ tokenType?: string;
30
+ scope?: string;
31
+ }
32
+
33
+ // ============================================
34
+ // Common Types
35
+ // ============================================
36
+
37
+ export type OutputFormat = 'json' | 'pretty';
38
+
39
+ export interface ListParams {
40
+ limit?: number;
41
+ offset?: number;
42
+ fields?: string;
43
+ }
44
+
45
+ // ============================================
46
+ // Account Types
47
+ // ============================================
48
+
49
+ export interface Account {
50
+ id: number;
51
+ name: string;
52
+ [key: string]: unknown;
53
+ }
54
+
55
+ // ============================================
56
+ // Domain Types
57
+ // ============================================
58
+
59
+ export interface Domain {
60
+ id: number;
61
+ domain: string;
62
+ display_name?: string;
63
+ include_subdomains?: boolean;
64
+ exact_match?: boolean;
65
+ share_of_voice_percentage?: boolean;
66
+ [key: string]: unknown;
67
+ }
68
+
69
+ export interface DomainCreateParams {
70
+ domain: string;
71
+ group_id: number;
72
+ display_name?: string;
73
+ include_subdomains?: boolean;
74
+ exact_match?: boolean;
75
+ share_of_voice_percentage?: boolean;
76
+ default_searchsettings_names?: SearchSettings[];
77
+ }
78
+
79
+ export interface DomainUpdateParams {
80
+ display_name?: string;
81
+ include_subdomains?: boolean;
82
+ exact_match?: boolean;
83
+ share_of_voice_percentage?: boolean;
84
+ }
85
+
86
+ export interface SearchSettings {
87
+ countrylocale: string;
88
+ search_engine_names: string[];
89
+ search_type_names: string[];
90
+ locations?: string[];
91
+ ignore_local_results?: boolean;
92
+ ignore_featured_snippet?: boolean;
93
+ enable_autocorrect?: boolean;
94
+ primary?: boolean;
95
+ }
96
+
97
+ // ============================================
98
+ // Keyword Types
99
+ // ============================================
100
+
101
+ export interface Keyword {
102
+ id: number;
103
+ keyword: string;
104
+ search_type?: string;
105
+ starred?: boolean;
106
+ description?: string;
107
+ tags?: string[];
108
+ ranks?: KeywordRank;
109
+ [key: string]: unknown;
110
+ }
111
+
112
+ export interface KeywordRank {
113
+ rank?: number;
114
+ rank_change?: number;
115
+ search_volume?: number;
116
+ cpc?: number;
117
+ url?: string;
118
+ share_of_voice?: number;
119
+ ctr?: number;
120
+ serp_features?: string[];
121
+ search_intent?: string;
122
+ [key: string]: unknown;
123
+ }
124
+
125
+ export interface KeywordCreateParams {
126
+ domain_id: number;
127
+ keywords: string[];
128
+ tags?: string[];
129
+ starred?: boolean;
130
+ ignore_local_results?: boolean;
131
+ ignore_featured_snippet?: boolean;
132
+ ignore_in_share_of_voice?: boolean;
133
+ enable_autocorrect?: boolean;
134
+ description?: string;
135
+ }
136
+
137
+ export interface KeywordUpdateParams {
138
+ keyword_ids: number[];
139
+ starred?: boolean;
140
+ tags?: string[];
141
+ description?: string;
142
+ }
143
+
144
+ export interface KeywordDeleteParams {
145
+ keyword_ids: number[];
146
+ }
147
+
148
+ // ============================================
149
+ // Landing Page Types
150
+ // ============================================
151
+
152
+ export interface LandingPage {
153
+ id: number;
154
+ path: string;
155
+ [key: string]: unknown;
156
+ }
157
+
158
+ // ============================================
159
+ // Tag Types
160
+ // ============================================
161
+
162
+ export interface Tag {
163
+ id: number;
164
+ tag: string;
165
+ [key: string]: unknown;
166
+ }
167
+
168
+ // ============================================
169
+ // Group Types
170
+ // ============================================
171
+
172
+ export interface Group {
173
+ id: number;
174
+ name: string;
175
+ [key: string]: unknown;
176
+ }
177
+
178
+ export interface GroupCreateParams {
179
+ account_id: number;
180
+ name: string;
181
+ }
182
+
183
+ // ============================================
184
+ // Brand Types
185
+ // ============================================
186
+
187
+ export interface Brand {
188
+ id: number;
189
+ [key: string]: unknown;
190
+ }
191
+
192
+ export interface BrandPrompt {
193
+ id: number;
194
+ [key: string]: unknown;
195
+ }
196
+
197
+ // ============================================
198
+ // Job Types
199
+ // ============================================
200
+
201
+ export interface KeywordJob {
202
+ status: string;
203
+ [key: string]: unknown;
204
+ }
205
+
206
+ // ============================================
207
+ // API Error Types
208
+ // ============================================
209
+
210
+ export interface ApiErrorDetail {
211
+ code: string;
212
+ message: string;
213
+ field?: string;
214
+ resource?: string;
215
+ }
216
+
217
+ export class ConnectorApiError extends Error {
218
+ public readonly statusCode: number;
219
+ public readonly errors?: ApiErrorDetail[];
220
+ public readonly documentationUrl?: string;
221
+ public readonly requestId?: string;
222
+
223
+ constructor(
224
+ message: string,
225
+ statusCode: number,
226
+ options?: {
227
+ errors?: ApiErrorDetail[];
228
+ documentationUrl?: string;
229
+ requestId?: string;
230
+ }
231
+ ) {
232
+ super(message);
233
+ this.name = 'ConnectorApiError';
234
+ this.statusCode = statusCode;
235
+ this.errors = options?.errors;
236
+ this.documentationUrl = options?.documentationUrl;
237
+ this.requestId = options?.requestId;
238
+ }
239
+
240
+ isRateLimited(): boolean {
241
+ return this.statusCode === 429;
242
+ }
243
+
244
+ isServerError(): boolean {
245
+ return this.statusCode >= 500 && this.statusCode < 600;
246
+ }
247
+
248
+ isClientError(): boolean {
249
+ return this.statusCode >= 400 && this.statusCode < 500;
250
+ }
251
+
252
+ isAuthError(): boolean {
253
+ return this.statusCode === 401 || this.statusCode === 403;
254
+ }
255
+
256
+ isNotFound(): boolean {
257
+ return this.statusCode === 404;
258
+ }
259
+
260
+ getUserMessage(): string {
261
+ switch (this.statusCode) {
262
+ case 400:
263
+ return 'Bad request. Please check your input.';
264
+ case 401:
265
+ return 'Authentication failed. Please check your API token.';
266
+ case 403:
267
+ return 'Access denied. You do not have permission to perform this action.';
268
+ case 404:
269
+ return 'Resource not found.';
270
+ case 429:
271
+ return 'Rate limit exceeded. Please wait and try again.';
272
+ case 500:
273
+ return 'Server error. Please try again later.';
274
+ case 502:
275
+ case 503:
276
+ case 504:
277
+ return 'Service temporarily unavailable. Please try again later.';
278
+ default:
279
+ return this.message;
280
+ }
281
+ }
282
+
283
+ toJSON(): Record<string, unknown> {
284
+ return {
285
+ name: this.name,
286
+ message: this.message,
287
+ statusCode: this.statusCode,
288
+ errors: this.errors,
289
+ documentationUrl: this.documentationUrl,
290
+ requestId: this.requestId,
291
+ };
292
+ }
293
+ }
294
+
295
+ export function parseApiError(
296
+ response: unknown,
297
+ statusCode: number
298
+ ): ConnectorApiError {
299
+ if (typeof response === 'string') {
300
+ return new ConnectorApiError(response, statusCode);
301
+ }
302
+
303
+ if (!response || typeof response !== 'object') {
304
+ return new ConnectorApiError(`HTTP ${statusCode} Error`, statusCode);
305
+ }
306
+
307
+ const data = response as Record<string, unknown>;
308
+
309
+ const message =
310
+ (data.message as string) ||
311
+ (data.error as string) ||
312
+ ((data.error as Record<string, unknown>)?.message as string) ||
313
+ (data.error_description as string) ||
314
+ (data.detail as string) ||
315
+ `HTTP ${statusCode} Error`;
316
+
317
+ let errors: ApiErrorDetail[] | undefined;
318
+ if (Array.isArray(data.errors)) {
319
+ errors = data.errors.map((e: Record<string, unknown>) => ({
320
+ code: String(e.code || e.error || 'unknown'),
321
+ message: String(e.message || e.description || 'Unknown error'),
322
+ field: e.field as string,
323
+ resource: e.resource as string,
324
+ }));
325
+ }
326
+
327
+ const documentationUrl =
328
+ (data.documentation_url as string) ||
329
+ (data.docs_url as string) ||
330
+ (data.help_url as string);
331
+
332
+ const requestId =
333
+ (data.request_id as string) ||
334
+ (data.requestId as string) ||
335
+ (data.trace_id as string);
336
+
337
+ return new ConnectorApiError(message, statusCode, {
338
+ errors,
339
+ documentationUrl,
340
+ requestId,
341
+ });
342
+ }
@@ -0,0 +1,274 @@
1
+ import { createServer } from 'http';
2
+ import type { OAuth2Tokens, OAuth2Config } from '../types';
3
+ import { saveOAuthTokens, loadOAuthTokens, getOAuthConfig } from './config';
4
+
5
+ // ============================================
6
+ // OAuth2 Authentication Utility
7
+ // ============================================
8
+
9
+ // TODO: Replace with your OAuth provider's endpoints
10
+ const DEFAULT_AUTH_URL = 'https://accounts.example.com/oauth2/authorize';
11
+ const DEFAULT_TOKEN_URL = 'https://accounts.example.com/oauth2/token';
12
+
13
+ // TODO: Define your OAuth scopes
14
+ const DEFAULT_SCOPES = ['read', 'write'].join(' ');
15
+
16
+ const REDIRECT_PORT = 8089;
17
+ const REDIRECT_URI = `http://localhost:${REDIRECT_PORT}/callback`;
18
+
19
+ export interface AuthResult {
20
+ success: boolean;
21
+ tokens?: OAuth2Tokens;
22
+ error?: string;
23
+ }
24
+
25
+ export interface AuthUrlOptions {
26
+ authUrl?: string;
27
+ scopes?: string;
28
+ state?: string;
29
+ extraParams?: Record<string, string>;
30
+ }
31
+
32
+ /**
33
+ * Generate the OAuth2 authorization URL
34
+ */
35
+ export function getAuthUrl(options: AuthUrlOptions = {}): string {
36
+ const config = getOAuthConfig();
37
+ if (!config?.clientId) {
38
+ throw new Error('OAuth client ID not configured. Run "config set-credentials" first.');
39
+ }
40
+
41
+ const authUrl = options.authUrl || DEFAULT_AUTH_URL;
42
+ const scopes = options.scopes || DEFAULT_SCOPES;
43
+
44
+ const params = new URLSearchParams({
45
+ client_id: config.clientId,
46
+ redirect_uri: REDIRECT_URI,
47
+ response_type: 'code',
48
+ scope: scopes,
49
+ access_type: 'offline',
50
+ prompt: 'consent', // Force consent to get refresh token
51
+ ...(options.state && { state: options.state }),
52
+ ...options.extraParams,
53
+ });
54
+
55
+ return `${authUrl}?${params.toString()}`;
56
+ }
57
+
58
+ /**
59
+ * Exchange authorization code for tokens
60
+ */
61
+ export async function exchangeCodeForTokens(
62
+ code: string,
63
+ tokenUrl: string = DEFAULT_TOKEN_URL
64
+ ): Promise<OAuth2Tokens> {
65
+ const config = getOAuthConfig();
66
+
67
+ if (!config?.clientId || !config?.clientSecret) {
68
+ throw new Error('OAuth credentials not configured');
69
+ }
70
+
71
+ const response = await fetch(tokenUrl, {
72
+ method: 'POST',
73
+ headers: {
74
+ 'Content-Type': 'application/x-www-form-urlencoded',
75
+ },
76
+ body: new URLSearchParams({
77
+ code,
78
+ client_id: config.clientId,
79
+ client_secret: config.clientSecret,
80
+ redirect_uri: REDIRECT_URI,
81
+ grant_type: 'authorization_code',
82
+ }),
83
+ });
84
+
85
+ if (!response.ok) {
86
+ const error = await response.json().catch(() => ({ error: response.statusText }));
87
+ throw new Error(`Token exchange failed: ${error.error_description || error.error}`);
88
+ }
89
+
90
+ const data = await response.json();
91
+
92
+ const tokens: OAuth2Tokens = {
93
+ accessToken: data.access_token,
94
+ refreshToken: data.refresh_token,
95
+ expiresAt: Date.now() + data.expires_in * 1000,
96
+ tokenType: data.token_type,
97
+ scope: data.scope,
98
+ };
99
+
100
+ return tokens;
101
+ }
102
+
103
+ /**
104
+ * Refresh the access token using the refresh token
105
+ */
106
+ export async function refreshAccessToken(
107
+ tokenUrl: string = DEFAULT_TOKEN_URL
108
+ ): Promise<OAuth2Tokens> {
109
+ const config = getOAuthConfig();
110
+ const currentTokens = loadOAuthTokens();
111
+
112
+ if (!config?.clientId || !config?.clientSecret) {
113
+ throw new Error('OAuth credentials not configured');
114
+ }
115
+
116
+ if (!currentTokens?.refreshToken) {
117
+ throw new Error('No refresh token available. Please login again.');
118
+ }
119
+
120
+ const response = await fetch(tokenUrl, {
121
+ method: 'POST',
122
+ headers: {
123
+ 'Content-Type': 'application/x-www-form-urlencoded',
124
+ },
125
+ body: new URLSearchParams({
126
+ client_id: config.clientId,
127
+ client_secret: config.clientSecret,
128
+ refresh_token: currentTokens.refreshToken,
129
+ grant_type: 'refresh_token',
130
+ }),
131
+ });
132
+
133
+ if (!response.ok) {
134
+ const error = await response.json().catch(() => ({ error: response.statusText }));
135
+ throw new Error(`Token refresh failed: ${error.error_description || error.error}`);
136
+ }
137
+
138
+ const data = await response.json();
139
+
140
+ const tokens: OAuth2Tokens = {
141
+ accessToken: data.access_token,
142
+ refreshToken: data.refresh_token || currentTokens.refreshToken, // Keep original if not returned
143
+ expiresAt: Date.now() + data.expires_in * 1000,
144
+ tokenType: data.token_type,
145
+ scope: data.scope || currentTokens.scope,
146
+ };
147
+
148
+ saveOAuthTokens(tokens);
149
+ return tokens;
150
+ }
151
+
152
+ /**
153
+ * Start a local HTTP server to receive the OAuth callback
154
+ */
155
+ export function startCallbackServer(): Promise<AuthResult> {
156
+ return new Promise((resolve) => {
157
+ const server = createServer(async (req, res) => {
158
+ const url = new URL(req.url || '', `http://localhost:${REDIRECT_PORT}`);
159
+
160
+ if (url.pathname === '/callback') {
161
+ const code = url.searchParams.get('code');
162
+ const error = url.searchParams.get('error');
163
+
164
+ if (error) {
165
+ res.writeHead(200, { 'Content-Type': 'text/html' });
166
+ res.end(`
167
+ <html>
168
+ <body style="font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0;">
169
+ <div style="text-align: center;">
170
+ <h1 style="color: #dc3545;">Authentication Failed</h1>
171
+ <p>Error: ${error}</p>
172
+ <p>You can close this window.</p>
173
+ </div>
174
+ </body>
175
+ </html>
176
+ `);
177
+ server.close();
178
+ resolve({ success: false, error });
179
+ return;
180
+ }
181
+
182
+ if (code) {
183
+ try {
184
+ const tokens = await exchangeCodeForTokens(code);
185
+ res.writeHead(200, { 'Content-Type': 'text/html' });
186
+ res.end(`
187
+ <html>
188
+ <body style="font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0;">
189
+ <div style="text-align: center;">
190
+ <h1 style="color: #28a745;">Authentication Successful!</h1>
191
+ <p>You can close this window and return to the terminal.</p>
192
+ </div>
193
+ </body>
194
+ </html>
195
+ `);
196
+ server.close();
197
+ resolve({ success: true, tokens });
198
+ } catch (err) {
199
+ res.writeHead(200, { 'Content-Type': 'text/html' });
200
+ res.end(`
201
+ <html>
202
+ <body style="font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0;">
203
+ <div style="text-align: center;">
204
+ <h1 style="color: #dc3545;">Authentication Failed</h1>
205
+ <p>Error: ${String(err)}</p>
206
+ <p>You can close this window.</p>
207
+ </div>
208
+ </body>
209
+ </html>
210
+ `);
211
+ server.close();
212
+ resolve({ success: false, error: String(err) });
213
+ }
214
+ }
215
+ }
216
+ });
217
+
218
+ server.listen(REDIRECT_PORT, () => {
219
+ // Server is ready
220
+ });
221
+
222
+ // Timeout after 5 minutes
223
+ setTimeout(() => {
224
+ server.close();
225
+ resolve({ success: false, error: 'Authentication timed out' });
226
+ }, 5 * 60 * 1000);
227
+ });
228
+ }
229
+
230
+ /**
231
+ * Get a valid access token, refreshing if necessary
232
+ * @param tokenUrl - Token endpoint URL for refresh
233
+ * @param bufferMs - Refresh buffer in ms (default: 5 minutes)
234
+ */
235
+ export async function getValidAccessToken(
236
+ tokenUrl: string = DEFAULT_TOKEN_URL,
237
+ bufferMs: number = 5 * 60 * 1000
238
+ ): Promise<string> {
239
+ const tokens = loadOAuthTokens();
240
+
241
+ if (!tokens) {
242
+ throw new Error('Not authenticated. Run "auth login" first.');
243
+ }
244
+
245
+ // Check if token is expired or will expire within buffer time
246
+ if (Date.now() >= tokens.expiresAt - bufferMs) {
247
+ const newTokens = await refreshAccessToken(tokenUrl);
248
+ return newTokens.accessToken;
249
+ }
250
+
251
+ return tokens.accessToken;
252
+ }
253
+
254
+ /**
255
+ * Check if the user is authenticated
256
+ */
257
+ export function isAuthenticated(): boolean {
258
+ const tokens = loadOAuthTokens();
259
+ return !!tokens?.accessToken;
260
+ }
261
+
262
+ /**
263
+ * Get the redirect URI for OAuth configuration
264
+ */
265
+ export function getRedirectUri(): string {
266
+ return REDIRECT_URI;
267
+ }
268
+
269
+ /**
270
+ * Get the redirect port for OAuth callback
271
+ */
272
+ export function getRedirectPort(): number {
273
+ return REDIRECT_PORT;
274
+ }