@hasna/connectors 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (665) hide show
  1. package/bin/index.js +260 -1
  2. package/bin/mcp.js +260 -1
  3. package/bin/serve.js +259 -0
  4. package/connectors/connect-cloudlayer/.env.example +11 -0
  5. package/connectors/connect-cloudlayer/CLAUDE.md +272 -0
  6. package/connectors/connect-cloudlayer/README.md +84 -0
  7. package/connectors/connect-cloudlayer/package.json +51 -0
  8. package/connectors/connect-cloudlayer/scripts/release.ts +179 -0
  9. package/connectors/connect-cloudlayer/src/api/client.ts +213 -0
  10. package/connectors/connect-cloudlayer/src/api/example.ts +48 -0
  11. package/connectors/connect-cloudlayer/src/api/index.ts +51 -0
  12. package/connectors/connect-cloudlayer/src/cli/index.ts +254 -0
  13. package/connectors/connect-cloudlayer/src/index.ts +103 -0
  14. package/connectors/connect-cloudlayer/src/types/index.ts +237 -0
  15. package/connectors/connect-cloudlayer/src/utils/auth.ts +274 -0
  16. package/connectors/connect-cloudlayer/src/utils/bulk.ts +212 -0
  17. package/connectors/connect-cloudlayer/src/utils/config.ts +326 -0
  18. package/connectors/connect-cloudlayer/src/utils/output.ts +175 -0
  19. package/connectors/connect-cloudlayer/src/utils/settings.ts +114 -0
  20. package/connectors/connect-cloudlayer/src/utils/storage.ts +198 -0
  21. package/connectors/connect-cloudlayer/tsconfig.json +16 -0
  22. package/connectors/connect-cloudshare/.env.example +11 -0
  23. package/connectors/connect-cloudshare/CLAUDE.md +272 -0
  24. package/connectors/connect-cloudshare/README.md +77 -0
  25. package/connectors/connect-cloudshare/package.json +51 -0
  26. package/connectors/connect-cloudshare/scripts/release.ts +179 -0
  27. package/connectors/connect-cloudshare/src/api/client.ts +213 -0
  28. package/connectors/connect-cloudshare/src/api/example.ts +48 -0
  29. package/connectors/connect-cloudshare/src/api/index.ts +51 -0
  30. package/connectors/connect-cloudshare/src/cli/index.ts +254 -0
  31. package/connectors/connect-cloudshare/src/index.ts +103 -0
  32. package/connectors/connect-cloudshare/src/types/index.ts +237 -0
  33. package/connectors/connect-cloudshare/src/utils/auth.ts +274 -0
  34. package/connectors/connect-cloudshare/src/utils/bulk.ts +212 -0
  35. package/connectors/connect-cloudshare/src/utils/config.ts +326 -0
  36. package/connectors/connect-cloudshare/src/utils/output.ts +175 -0
  37. package/connectors/connect-cloudshare/src/utils/settings.ts +114 -0
  38. package/connectors/connect-cloudshare/src/utils/storage.ts +198 -0
  39. package/connectors/connect-cloudshare/tsconfig.json +16 -0
  40. package/connectors/connect-cloze/.env.example +11 -0
  41. package/connectors/connect-cloze/CLAUDE.md +272 -0
  42. package/connectors/connect-cloze/README.md +77 -0
  43. package/connectors/connect-cloze/package.json +51 -0
  44. package/connectors/connect-cloze/scripts/release.ts +179 -0
  45. package/connectors/connect-cloze/src/api/client.ts +213 -0
  46. package/connectors/connect-cloze/src/api/example.ts +48 -0
  47. package/connectors/connect-cloze/src/api/index.ts +51 -0
  48. package/connectors/connect-cloze/src/cli/index.ts +254 -0
  49. package/connectors/connect-cloze/src/index.ts +103 -0
  50. package/connectors/connect-cloze/src/types/index.ts +237 -0
  51. package/connectors/connect-cloze/src/utils/auth.ts +274 -0
  52. package/connectors/connect-cloze/src/utils/bulk.ts +212 -0
  53. package/connectors/connect-cloze/src/utils/config.ts +326 -0
  54. package/connectors/connect-cloze/src/utils/output.ts +175 -0
  55. package/connectors/connect-cloze/src/utils/settings.ts +114 -0
  56. package/connectors/connect-cloze/src/utils/storage.ts +198 -0
  57. package/connectors/connect-cloze/tsconfig.json +16 -0
  58. package/connectors/connect-cockpit/.env.example +11 -0
  59. package/connectors/connect-cockpit/CLAUDE.md +272 -0
  60. package/connectors/connect-cockpit/README.md +77 -0
  61. package/connectors/connect-cockpit/package.json +51 -0
  62. package/connectors/connect-cockpit/scripts/release.ts +179 -0
  63. package/connectors/connect-cockpit/src/api/client.ts +213 -0
  64. package/connectors/connect-cockpit/src/api/example.ts +48 -0
  65. package/connectors/connect-cockpit/src/api/index.ts +51 -0
  66. package/connectors/connect-cockpit/src/cli/index.ts +254 -0
  67. package/connectors/connect-cockpit/src/index.ts +103 -0
  68. package/connectors/connect-cockpit/src/types/index.ts +237 -0
  69. package/connectors/connect-cockpit/src/utils/auth.ts +274 -0
  70. package/connectors/connect-cockpit/src/utils/bulk.ts +212 -0
  71. package/connectors/connect-cockpit/src/utils/config.ts +326 -0
  72. package/connectors/connect-cockpit/src/utils/output.ts +175 -0
  73. package/connectors/connect-cockpit/src/utils/settings.ts +114 -0
  74. package/connectors/connect-cockpit/src/utils/storage.ts +198 -0
  75. package/connectors/connect-cockpit/tsconfig.json +16 -0
  76. package/connectors/connect-codeclimate/.env.example +11 -0
  77. package/connectors/connect-codeclimate/CLAUDE.md +272 -0
  78. package/connectors/connect-codeclimate/README.md +77 -0
  79. package/connectors/connect-codeclimate/package.json +51 -0
  80. package/connectors/connect-codeclimate/scripts/release.ts +179 -0
  81. package/connectors/connect-codeclimate/src/api/client.ts +213 -0
  82. package/connectors/connect-codeclimate/src/api/example.ts +48 -0
  83. package/connectors/connect-codeclimate/src/api/index.ts +51 -0
  84. package/connectors/connect-codeclimate/src/cli/index.ts +254 -0
  85. package/connectors/connect-codeclimate/src/index.ts +103 -0
  86. package/connectors/connect-codeclimate/src/types/index.ts +237 -0
  87. package/connectors/connect-codeclimate/src/utils/auth.ts +274 -0
  88. package/connectors/connect-codeclimate/src/utils/bulk.ts +212 -0
  89. package/connectors/connect-codeclimate/src/utils/config.ts +326 -0
  90. package/connectors/connect-codeclimate/src/utils/output.ts +175 -0
  91. package/connectors/connect-codeclimate/src/utils/settings.ts +114 -0
  92. package/connectors/connect-codeclimate/src/utils/storage.ts +198 -0
  93. package/connectors/connect-codeclimate/tsconfig.json +16 -0
  94. package/connectors/connect-codefresh/.env.example +11 -0
  95. package/connectors/connect-codefresh/CLAUDE.md +272 -0
  96. package/connectors/connect-codefresh/README.md +77 -0
  97. package/connectors/connect-codefresh/package.json +51 -0
  98. package/connectors/connect-codefresh/scripts/release.ts +179 -0
  99. package/connectors/connect-codefresh/src/api/client.ts +213 -0
  100. package/connectors/connect-codefresh/src/api/example.ts +48 -0
  101. package/connectors/connect-codefresh/src/api/index.ts +51 -0
  102. package/connectors/connect-codefresh/src/cli/index.ts +254 -0
  103. package/connectors/connect-codefresh/src/index.ts +103 -0
  104. package/connectors/connect-codefresh/src/types/index.ts +237 -0
  105. package/connectors/connect-codefresh/src/utils/auth.ts +274 -0
  106. package/connectors/connect-codefresh/src/utils/bulk.ts +212 -0
  107. package/connectors/connect-codefresh/src/utils/config.ts +326 -0
  108. package/connectors/connect-codefresh/src/utils/output.ts +175 -0
  109. package/connectors/connect-codefresh/src/utils/settings.ts +114 -0
  110. package/connectors/connect-codefresh/src/utils/storage.ts +198 -0
  111. package/connectors/connect-codefresh/tsconfig.json +16 -0
  112. package/connectors/connect-cody/.env.example +11 -0
  113. package/connectors/connect-cody/CLAUDE.md +272 -0
  114. package/connectors/connect-cody/README.md +77 -0
  115. package/connectors/connect-cody/package.json +51 -0
  116. package/connectors/connect-cody/scripts/release.ts +179 -0
  117. package/connectors/connect-cody/src/api/client.ts +213 -0
  118. package/connectors/connect-cody/src/api/example.ts +48 -0
  119. package/connectors/connect-cody/src/api/index.ts +51 -0
  120. package/connectors/connect-cody/src/cli/index.ts +254 -0
  121. package/connectors/connect-cody/src/index.ts +103 -0
  122. package/connectors/connect-cody/src/types/index.ts +237 -0
  123. package/connectors/connect-cody/src/utils/auth.ts +274 -0
  124. package/connectors/connect-cody/src/utils/bulk.ts +212 -0
  125. package/connectors/connect-cody/src/utils/config.ts +326 -0
  126. package/connectors/connect-cody/src/utils/output.ts +175 -0
  127. package/connectors/connect-cody/src/utils/settings.ts +114 -0
  128. package/connectors/connect-cody/src/utils/storage.ts +198 -0
  129. package/connectors/connect-cody/tsconfig.json +16 -0
  130. package/connectors/connect-coinbase/.env.example +11 -0
  131. package/connectors/connect-coinbase/CLAUDE.md +128 -0
  132. package/connectors/connect-coinbase/README.md +77 -0
  133. package/connectors/connect-coinbase/package.json +53 -0
  134. package/connectors/connect-coinbase/src/api/client.ts +167 -0
  135. package/connectors/connect-coinbase/src/api/index.ts +283 -0
  136. package/connectors/connect-coinbase/src/cli/index.ts +536 -0
  137. package/connectors/connect-coinbase/src/index.ts +23 -0
  138. package/connectors/connect-coinbase/src/types/index.ts +329 -0
  139. package/connectors/connect-coinbase/src/utils/config.ts +220 -0
  140. package/connectors/connect-coinbase/src/utils/output.ts +119 -0
  141. package/connectors/connect-coinbase/tsconfig.json +16 -0
  142. package/connectors/connect-collegefootballdata/.env.example +11 -0
  143. package/connectors/connect-collegefootballdata/CLAUDE.md +272 -0
  144. package/connectors/connect-collegefootballdata/README.md +77 -0
  145. package/connectors/connect-collegefootballdata/package.json +51 -0
  146. package/connectors/connect-collegefootballdata/scripts/release.ts +179 -0
  147. package/connectors/connect-collegefootballdata/src/api/client.ts +213 -0
  148. package/connectors/connect-collegefootballdata/src/api/example.ts +48 -0
  149. package/connectors/connect-collegefootballdata/src/api/index.ts +51 -0
  150. package/connectors/connect-collegefootballdata/src/cli/index.ts +254 -0
  151. package/connectors/connect-collegefootballdata/src/index.ts +103 -0
  152. package/connectors/connect-collegefootballdata/src/types/index.ts +237 -0
  153. package/connectors/connect-collegefootballdata/src/utils/auth.ts +274 -0
  154. package/connectors/connect-collegefootballdata/src/utils/bulk.ts +212 -0
  155. package/connectors/connect-collegefootballdata/src/utils/config.ts +326 -0
  156. package/connectors/connect-collegefootballdata/src/utils/output.ts +175 -0
  157. package/connectors/connect-collegefootballdata/src/utils/settings.ts +114 -0
  158. package/connectors/connect-collegefootballdata/src/utils/storage.ts +198 -0
  159. package/connectors/connect-collegefootballdata/tsconfig.json +16 -0
  160. package/connectors/connect-configcat/.env.example +11 -0
  161. package/connectors/connect-configcat/CLAUDE.md +272 -0
  162. package/connectors/connect-configcat/README.md +77 -0
  163. package/connectors/connect-configcat/package.json +51 -0
  164. package/connectors/connect-configcat/scripts/release.ts +179 -0
  165. package/connectors/connect-configcat/src/api/client.ts +213 -0
  166. package/connectors/connect-configcat/src/api/example.ts +48 -0
  167. package/connectors/connect-configcat/src/api/index.ts +51 -0
  168. package/connectors/connect-configcat/src/cli/index.ts +254 -0
  169. package/connectors/connect-configcat/src/index.ts +103 -0
  170. package/connectors/connect-configcat/src/types/index.ts +237 -0
  171. package/connectors/connect-configcat/src/utils/auth.ts +274 -0
  172. package/connectors/connect-configcat/src/utils/bulk.ts +212 -0
  173. package/connectors/connect-configcat/src/utils/config.ts +326 -0
  174. package/connectors/connect-configcat/src/utils/output.ts +175 -0
  175. package/connectors/connect-configcat/src/utils/settings.ts +114 -0
  176. package/connectors/connect-configcat/src/utils/storage.ts +198 -0
  177. package/connectors/connect-configcat/tsconfig.json +16 -0
  178. package/connectors/connect-confluent/.env.example +11 -0
  179. package/connectors/connect-confluent/CLAUDE.md +272 -0
  180. package/connectors/connect-confluent/README.md +193 -0
  181. package/connectors/connect-confluent/package.json +51 -0
  182. package/connectors/connect-confluent/scripts/release.ts +179 -0
  183. package/connectors/connect-confluent/src/api/client.ts +213 -0
  184. package/connectors/connect-confluent/src/api/example.ts +48 -0
  185. package/connectors/connect-confluent/src/api/index.ts +51 -0
  186. package/connectors/connect-confluent/src/cli/index.ts +254 -0
  187. package/connectors/connect-confluent/src/index.ts +103 -0
  188. package/connectors/connect-confluent/src/types/index.ts +237 -0
  189. package/connectors/connect-confluent/src/utils/auth.ts +274 -0
  190. package/connectors/connect-confluent/src/utils/bulk.ts +212 -0
  191. package/connectors/connect-confluent/src/utils/config.ts +326 -0
  192. package/connectors/connect-confluent/src/utils/output.ts +175 -0
  193. package/connectors/connect-confluent/src/utils/settings.ts +114 -0
  194. package/connectors/connect-confluent/src/utils/storage.ts +198 -0
  195. package/connectors/connect-confluent/tsconfig.json +16 -0
  196. package/connectors/connect-contactout/.env.example +7 -0
  197. package/connectors/connect-contactout/CLAUDE.md +182 -0
  198. package/connectors/connect-contactout/README.md +186 -0
  199. package/connectors/connect-contactout/package.json +53 -0
  200. package/connectors/connect-contactout/scripts/publish.ts +210 -0
  201. package/connectors/connect-contactout/src/api/client.ts +133 -0
  202. package/connectors/connect-contactout/src/api/company.ts +60 -0
  203. package/connectors/connect-contactout/src/api/email.ts +81 -0
  204. package/connectors/connect-contactout/src/api/index.ts +65 -0
  205. package/connectors/connect-contactout/src/api/linkedin.ts +131 -0
  206. package/connectors/connect-contactout/src/api/people.ts +107 -0
  207. package/connectors/connect-contactout/src/api/stats.ts +30 -0
  208. package/connectors/connect-contactout/src/cli/index.ts +619 -0
  209. package/connectors/connect-contactout/src/index.ts +29 -0
  210. package/connectors/connect-contactout/src/types/index.ts +363 -0
  211. package/connectors/connect-contactout/src/utils/config.ts +197 -0
  212. package/connectors/connect-contactout/src/utils/output.ts +119 -0
  213. package/connectors/connect-contactout/tsconfig.json +16 -0
  214. package/connectors/connect-contentful/.env.example +11 -0
  215. package/connectors/connect-contentful/CLAUDE.md +272 -0
  216. package/connectors/connect-contentful/README.md +193 -0
  217. package/connectors/connect-contentful/package.json +51 -0
  218. package/connectors/connect-contentful/scripts/release.ts +179 -0
  219. package/connectors/connect-contentful/src/api/client.ts +213 -0
  220. package/connectors/connect-contentful/src/api/example.ts +48 -0
  221. package/connectors/connect-contentful/src/api/index.ts +51 -0
  222. package/connectors/connect-contentful/src/cli/index.ts +254 -0
  223. package/connectors/connect-contentful/src/index.ts +103 -0
  224. package/connectors/connect-contentful/src/types/index.ts +237 -0
  225. package/connectors/connect-contentful/src/utils/auth.ts +274 -0
  226. package/connectors/connect-contentful/src/utils/bulk.ts +212 -0
  227. package/connectors/connect-contentful/src/utils/config.ts +326 -0
  228. package/connectors/connect-contentful/src/utils/output.ts +175 -0
  229. package/connectors/connect-contentful/src/utils/settings.ts +114 -0
  230. package/connectors/connect-contentful/src/utils/storage.ts +198 -0
  231. package/connectors/connect-contentful/tsconfig.json +16 -0
  232. package/connectors/connect-convertapi/.env.example +11 -0
  233. package/connectors/connect-convertapi/CLAUDE.md +272 -0
  234. package/connectors/connect-convertapi/README.md +193 -0
  235. package/connectors/connect-convertapi/package.json +51 -0
  236. package/connectors/connect-convertapi/scripts/release.ts +179 -0
  237. package/connectors/connect-convertapi/src/api/client.ts +213 -0
  238. package/connectors/connect-convertapi/src/api/example.ts +48 -0
  239. package/connectors/connect-convertapi/src/api/index.ts +51 -0
  240. package/connectors/connect-convertapi/src/cli/index.ts +254 -0
  241. package/connectors/connect-convertapi/src/index.ts +103 -0
  242. package/connectors/connect-convertapi/src/types/index.ts +237 -0
  243. package/connectors/connect-convertapi/src/utils/auth.ts +274 -0
  244. package/connectors/connect-convertapi/src/utils/bulk.ts +212 -0
  245. package/connectors/connect-convertapi/src/utils/config.ts +326 -0
  246. package/connectors/connect-convertapi/src/utils/output.ts +175 -0
  247. package/connectors/connect-convertapi/src/utils/settings.ts +114 -0
  248. package/connectors/connect-convertapi/src/utils/storage.ts +198 -0
  249. package/connectors/connect-convertapi/tsconfig.json +16 -0
  250. package/connectors/connect-convi/.env.example +11 -0
  251. package/connectors/connect-convi/CLAUDE.md +272 -0
  252. package/connectors/connect-convi/README.md +193 -0
  253. package/connectors/connect-convi/package.json +51 -0
  254. package/connectors/connect-convi/scripts/release.ts +179 -0
  255. package/connectors/connect-convi/src/api/client.ts +213 -0
  256. package/connectors/connect-convi/src/api/example.ts +48 -0
  257. package/connectors/connect-convi/src/api/index.ts +51 -0
  258. package/connectors/connect-convi/src/cli/index.ts +254 -0
  259. package/connectors/connect-convi/src/index.ts +103 -0
  260. package/connectors/connect-convi/src/types/index.ts +237 -0
  261. package/connectors/connect-convi/src/utils/auth.ts +274 -0
  262. package/connectors/connect-convi/src/utils/bulk.ts +212 -0
  263. package/connectors/connect-convi/src/utils/config.ts +326 -0
  264. package/connectors/connect-convi/src/utils/output.ts +175 -0
  265. package/connectors/connect-convi/src/utils/settings.ts +114 -0
  266. package/connectors/connect-convi/src/utils/storage.ts +198 -0
  267. package/connectors/connect-convi/tsconfig.json +16 -0
  268. package/connectors/connect-copper/.env.example +11 -0
  269. package/connectors/connect-copper/CLAUDE.md +272 -0
  270. package/connectors/connect-copper/README.md +193 -0
  271. package/connectors/connect-copper/package.json +51 -0
  272. package/connectors/connect-copper/scripts/release.ts +179 -0
  273. package/connectors/connect-copper/src/api/client.ts +213 -0
  274. package/connectors/connect-copper/src/api/example.ts +48 -0
  275. package/connectors/connect-copper/src/api/index.ts +51 -0
  276. package/connectors/connect-copper/src/cli/index.ts +254 -0
  277. package/connectors/connect-copper/src/index.ts +103 -0
  278. package/connectors/connect-copper/src/types/index.ts +237 -0
  279. package/connectors/connect-copper/src/utils/auth.ts +274 -0
  280. package/connectors/connect-copper/src/utils/bulk.ts +212 -0
  281. package/connectors/connect-copper/src/utils/config.ts +326 -0
  282. package/connectors/connect-copper/src/utils/output.ts +175 -0
  283. package/connectors/connect-copper/src/utils/settings.ts +114 -0
  284. package/connectors/connect-copper/src/utils/storage.ts +198 -0
  285. package/connectors/connect-copper/tsconfig.json +16 -0
  286. package/connectors/connect-copyai/.env.example +11 -0
  287. package/connectors/connect-copyai/CLAUDE.md +272 -0
  288. package/connectors/connect-copyai/README.md +193 -0
  289. package/connectors/connect-copyai/package.json +51 -0
  290. package/connectors/connect-copyai/scripts/release.ts +179 -0
  291. package/connectors/connect-copyai/src/api/client.ts +213 -0
  292. package/connectors/connect-copyai/src/api/example.ts +48 -0
  293. package/connectors/connect-copyai/src/api/index.ts +51 -0
  294. package/connectors/connect-copyai/src/cli/index.ts +254 -0
  295. package/connectors/connect-copyai/src/index.ts +103 -0
  296. package/connectors/connect-copyai/src/types/index.ts +237 -0
  297. package/connectors/connect-copyai/src/utils/auth.ts +274 -0
  298. package/connectors/connect-copyai/src/utils/bulk.ts +212 -0
  299. package/connectors/connect-copyai/src/utils/config.ts +326 -0
  300. package/connectors/connect-copyai/src/utils/output.ts +175 -0
  301. package/connectors/connect-copyai/src/utils/settings.ts +114 -0
  302. package/connectors/connect-copyai/src/utils/storage.ts +198 -0
  303. package/connectors/connect-copyai/tsconfig.json +16 -0
  304. package/connectors/connect-corsizio/.env.example +11 -0
  305. package/connectors/connect-corsizio/CLAUDE.md +272 -0
  306. package/connectors/connect-corsizio/README.md +193 -0
  307. package/connectors/connect-corsizio/package.json +51 -0
  308. package/connectors/connect-corsizio/scripts/release.ts +179 -0
  309. package/connectors/connect-corsizio/src/api/client.ts +213 -0
  310. package/connectors/connect-corsizio/src/api/example.ts +48 -0
  311. package/connectors/connect-corsizio/src/api/index.ts +51 -0
  312. package/connectors/connect-corsizio/src/cli/index.ts +254 -0
  313. package/connectors/connect-corsizio/src/index.ts +103 -0
  314. package/connectors/connect-corsizio/src/types/index.ts +237 -0
  315. package/connectors/connect-corsizio/src/utils/auth.ts +274 -0
  316. package/connectors/connect-corsizio/src/utils/bulk.ts +212 -0
  317. package/connectors/connect-corsizio/src/utils/config.ts +326 -0
  318. package/connectors/connect-corsizio/src/utils/output.ts +175 -0
  319. package/connectors/connect-corsizio/src/utils/settings.ts +114 -0
  320. package/connectors/connect-corsizio/src/utils/storage.ts +198 -0
  321. package/connectors/connect-corsizio/tsconfig.json +16 -0
  322. package/connectors/connect-cortex/.env.example +11 -0
  323. package/connectors/connect-cortex/CLAUDE.md +272 -0
  324. package/connectors/connect-cortex/README.md +193 -0
  325. package/connectors/connect-cortex/package.json +51 -0
  326. package/connectors/connect-cortex/scripts/release.ts +179 -0
  327. package/connectors/connect-cortex/src/api/client.ts +213 -0
  328. package/connectors/connect-cortex/src/api/example.ts +48 -0
  329. package/connectors/connect-cortex/src/api/index.ts +51 -0
  330. package/connectors/connect-cortex/src/cli/index.ts +254 -0
  331. package/connectors/connect-cortex/src/index.ts +103 -0
  332. package/connectors/connect-cortex/src/types/index.ts +237 -0
  333. package/connectors/connect-cortex/src/utils/auth.ts +274 -0
  334. package/connectors/connect-cortex/src/utils/bulk.ts +212 -0
  335. package/connectors/connect-cortex/src/utils/config.ts +326 -0
  336. package/connectors/connect-cortex/src/utils/output.ts +175 -0
  337. package/connectors/connect-cortex/src/utils/settings.ts +114 -0
  338. package/connectors/connect-cortex/src/utils/storage.ts +198 -0
  339. package/connectors/connect-cortex/tsconfig.json +16 -0
  340. package/connectors/connect-cradlai/.env.example +11 -0
  341. package/connectors/connect-cradlai/CLAUDE.md +272 -0
  342. package/connectors/connect-cradlai/README.md +193 -0
  343. package/connectors/connect-cradlai/package.json +51 -0
  344. package/connectors/connect-cradlai/scripts/release.ts +179 -0
  345. package/connectors/connect-cradlai/src/api/client.ts +213 -0
  346. package/connectors/connect-cradlai/src/api/example.ts +48 -0
  347. package/connectors/connect-cradlai/src/api/index.ts +51 -0
  348. package/connectors/connect-cradlai/src/cli/index.ts +254 -0
  349. package/connectors/connect-cradlai/src/index.ts +103 -0
  350. package/connectors/connect-cradlai/src/types/index.ts +237 -0
  351. package/connectors/connect-cradlai/src/utils/auth.ts +274 -0
  352. package/connectors/connect-cradlai/src/utils/bulk.ts +212 -0
  353. package/connectors/connect-cradlai/src/utils/config.ts +326 -0
  354. package/connectors/connect-cradlai/src/utils/output.ts +175 -0
  355. package/connectors/connect-cradlai/src/utils/settings.ts +114 -0
  356. package/connectors/connect-cradlai/src/utils/storage.ts +198 -0
  357. package/connectors/connect-cradlai/tsconfig.json +16 -0
  358. package/connectors/connect-craftdraft/.env.example +11 -0
  359. package/connectors/connect-craftdraft/CLAUDE.md +272 -0
  360. package/connectors/connect-craftdraft/README.md +193 -0
  361. package/connectors/connect-craftdraft/package.json +51 -0
  362. package/connectors/connect-craftdraft/scripts/release.ts +179 -0
  363. package/connectors/connect-craftdraft/src/api/client.ts +213 -0
  364. package/connectors/connect-craftdraft/src/api/example.ts +48 -0
  365. package/connectors/connect-craftdraft/src/api/index.ts +51 -0
  366. package/connectors/connect-craftdraft/src/cli/index.ts +254 -0
  367. package/connectors/connect-craftdraft/src/index.ts +103 -0
  368. package/connectors/connect-craftdraft/src/types/index.ts +237 -0
  369. package/connectors/connect-craftdraft/src/utils/auth.ts +274 -0
  370. package/connectors/connect-craftdraft/src/utils/bulk.ts +212 -0
  371. package/connectors/connect-craftdraft/src/utils/config.ts +326 -0
  372. package/connectors/connect-craftdraft/src/utils/output.ts +175 -0
  373. package/connectors/connect-craftdraft/src/utils/settings.ts +114 -0
  374. package/connectors/connect-craftdraft/src/utils/storage.ts +198 -0
  375. package/connectors/connect-craftdraft/tsconfig.json +16 -0
  376. package/connectors/connect-cratedb/.env.example +11 -0
  377. package/connectors/connect-cratedb/CLAUDE.md +272 -0
  378. package/connectors/connect-cratedb/README.md +193 -0
  379. package/connectors/connect-cratedb/package.json +51 -0
  380. package/connectors/connect-cratedb/scripts/release.ts +179 -0
  381. package/connectors/connect-cratedb/src/api/client.ts +213 -0
  382. package/connectors/connect-cratedb/src/api/example.ts +48 -0
  383. package/connectors/connect-cratedb/src/api/index.ts +51 -0
  384. package/connectors/connect-cratedb/src/cli/index.ts +254 -0
  385. package/connectors/connect-cratedb/src/index.ts +103 -0
  386. package/connectors/connect-cratedb/src/types/index.ts +237 -0
  387. package/connectors/connect-cratedb/src/utils/auth.ts +274 -0
  388. package/connectors/connect-cratedb/src/utils/bulk.ts +212 -0
  389. package/connectors/connect-cratedb/src/utils/config.ts +326 -0
  390. package/connectors/connect-cratedb/src/utils/output.ts +175 -0
  391. package/connectors/connect-cratedb/src/utils/settings.ts +114 -0
  392. package/connectors/connect-cratedb/src/utils/storage.ts +198 -0
  393. package/connectors/connect-cratedb/tsconfig.json +16 -0
  394. package/connectors/connect-cronly/.env.example +11 -0
  395. package/connectors/connect-cronly/CLAUDE.md +272 -0
  396. package/connectors/connect-cronly/README.md +193 -0
  397. package/connectors/connect-cronly/package.json +51 -0
  398. package/connectors/connect-cronly/scripts/release.ts +179 -0
  399. package/connectors/connect-cronly/src/api/client.ts +213 -0
  400. package/connectors/connect-cronly/src/api/example.ts +48 -0
  401. package/connectors/connect-cronly/src/api/index.ts +51 -0
  402. package/connectors/connect-cronly/src/cli/index.ts +254 -0
  403. package/connectors/connect-cronly/src/index.ts +103 -0
  404. package/connectors/connect-cronly/src/types/index.ts +237 -0
  405. package/connectors/connect-cronly/src/utils/auth.ts +274 -0
  406. package/connectors/connect-cronly/src/utils/bulk.ts +212 -0
  407. package/connectors/connect-cronly/src/utils/config.ts +326 -0
  408. package/connectors/connect-cronly/src/utils/output.ts +175 -0
  409. package/connectors/connect-cronly/src/utils/settings.ts +114 -0
  410. package/connectors/connect-cronly/src/utils/storage.ts +198 -0
  411. package/connectors/connect-cronly/tsconfig.json +16 -0
  412. package/connectors/connect-crossmint/.env.example +11 -0
  413. package/connectors/connect-crossmint/CLAUDE.md +272 -0
  414. package/connectors/connect-crossmint/README.md +193 -0
  415. package/connectors/connect-crossmint/package.json +51 -0
  416. package/connectors/connect-crossmint/scripts/release.ts +179 -0
  417. package/connectors/connect-crossmint/src/api/client.ts +213 -0
  418. package/connectors/connect-crossmint/src/api/example.ts +48 -0
  419. package/connectors/connect-crossmint/src/api/index.ts +51 -0
  420. package/connectors/connect-crossmint/src/cli/index.ts +254 -0
  421. package/connectors/connect-crossmint/src/index.ts +103 -0
  422. package/connectors/connect-crossmint/src/types/index.ts +237 -0
  423. package/connectors/connect-crossmint/src/utils/auth.ts +274 -0
  424. package/connectors/connect-crossmint/src/utils/bulk.ts +212 -0
  425. package/connectors/connect-crossmint/src/utils/config.ts +326 -0
  426. package/connectors/connect-crossmint/src/utils/output.ts +175 -0
  427. package/connectors/connect-crossmint/src/utils/settings.ts +114 -0
  428. package/connectors/connect-crossmint/src/utils/storage.ts +198 -0
  429. package/connectors/connect-crossmint/tsconfig.json +16 -0
  430. package/connectors/connect-crowddev/.env.example +11 -0
  431. package/connectors/connect-crowddev/CLAUDE.md +272 -0
  432. package/connectors/connect-crowddev/README.md +193 -0
  433. package/connectors/connect-crowddev/package.json +51 -0
  434. package/connectors/connect-crowddev/scripts/release.ts +179 -0
  435. package/connectors/connect-crowddev/src/api/client.ts +213 -0
  436. package/connectors/connect-crowddev/src/api/example.ts +48 -0
  437. package/connectors/connect-crowddev/src/api/index.ts +51 -0
  438. package/connectors/connect-crowddev/src/cli/index.ts +254 -0
  439. package/connectors/connect-crowddev/src/index.ts +103 -0
  440. package/connectors/connect-crowddev/src/types/index.ts +237 -0
  441. package/connectors/connect-crowddev/src/utils/auth.ts +274 -0
  442. package/connectors/connect-crowddev/src/utils/bulk.ts +212 -0
  443. package/connectors/connect-crowddev/src/utils/config.ts +326 -0
  444. package/connectors/connect-crowddev/src/utils/output.ts +175 -0
  445. package/connectors/connect-crowddev/src/utils/settings.ts +114 -0
  446. package/connectors/connect-crowddev/src/utils/storage.ts +198 -0
  447. package/connectors/connect-crowddev/tsconfig.json +16 -0
  448. package/connectors/connect-crowdin/.env.example +11 -0
  449. package/connectors/connect-crowdin/CLAUDE.md +272 -0
  450. package/connectors/connect-crowdin/README.md +193 -0
  451. package/connectors/connect-crowdin/package.json +51 -0
  452. package/connectors/connect-crowdin/scripts/release.ts +179 -0
  453. package/connectors/connect-crowdin/src/api/client.ts +213 -0
  454. package/connectors/connect-crowdin/src/api/example.ts +48 -0
  455. package/connectors/connect-crowdin/src/api/index.ts +51 -0
  456. package/connectors/connect-crowdin/src/cli/index.ts +254 -0
  457. package/connectors/connect-crowdin/src/index.ts +103 -0
  458. package/connectors/connect-crowdin/src/types/index.ts +237 -0
  459. package/connectors/connect-crowdin/src/utils/auth.ts +274 -0
  460. package/connectors/connect-crowdin/src/utils/bulk.ts +212 -0
  461. package/connectors/connect-crowdin/src/utils/config.ts +326 -0
  462. package/connectors/connect-crowdin/src/utils/output.ts +175 -0
  463. package/connectors/connect-crowdin/src/utils/settings.ts +114 -0
  464. package/connectors/connect-crowdin/src/utils/storage.ts +198 -0
  465. package/connectors/connect-crowdin/tsconfig.json +16 -0
  466. package/connectors/connect-crowdpower/.env.example +11 -0
  467. package/connectors/connect-crowdpower/CLAUDE.md +272 -0
  468. package/connectors/connect-crowdpower/README.md +193 -0
  469. package/connectors/connect-crowdpower/package.json +51 -0
  470. package/connectors/connect-crowdpower/scripts/release.ts +179 -0
  471. package/connectors/connect-crowdpower/src/api/client.ts +213 -0
  472. package/connectors/connect-crowdpower/src/api/example.ts +48 -0
  473. package/connectors/connect-crowdpower/src/api/index.ts +51 -0
  474. package/connectors/connect-crowdpower/src/cli/index.ts +254 -0
  475. package/connectors/connect-crowdpower/src/index.ts +103 -0
  476. package/connectors/connect-crowdpower/src/types/index.ts +237 -0
  477. package/connectors/connect-crowdpower/src/utils/auth.ts +274 -0
  478. package/connectors/connect-crowdpower/src/utils/bulk.ts +212 -0
  479. package/connectors/connect-crowdpower/src/utils/config.ts +326 -0
  480. package/connectors/connect-crowdpower/src/utils/output.ts +175 -0
  481. package/connectors/connect-crowdpower/src/utils/settings.ts +114 -0
  482. package/connectors/connect-crowdpower/src/utils/storage.ts +198 -0
  483. package/connectors/connect-crowdpower/tsconfig.json +16 -0
  484. package/connectors/connect-crowdstrike/.env.example +11 -0
  485. package/connectors/connect-crowdstrike/CLAUDE.md +272 -0
  486. package/connectors/connect-crowdstrike/README.md +193 -0
  487. package/connectors/connect-crowdstrike/package.json +51 -0
  488. package/connectors/connect-crowdstrike/scripts/release.ts +179 -0
  489. package/connectors/connect-crowdstrike/src/api/client.ts +213 -0
  490. package/connectors/connect-crowdstrike/src/api/example.ts +48 -0
  491. package/connectors/connect-crowdstrike/src/api/index.ts +51 -0
  492. package/connectors/connect-crowdstrike/src/cli/index.ts +254 -0
  493. package/connectors/connect-crowdstrike/src/index.ts +103 -0
  494. package/connectors/connect-crowdstrike/src/types/index.ts +237 -0
  495. package/connectors/connect-crowdstrike/src/utils/auth.ts +274 -0
  496. package/connectors/connect-crowdstrike/src/utils/bulk.ts +212 -0
  497. package/connectors/connect-crowdstrike/src/utils/config.ts +326 -0
  498. package/connectors/connect-crowdstrike/src/utils/output.ts +175 -0
  499. package/connectors/connect-crowdstrike/src/utils/settings.ts +114 -0
  500. package/connectors/connect-crowdstrike/src/utils/storage.ts +198 -0
  501. package/connectors/connect-crowdstrike/tsconfig.json +16 -0
  502. package/connectors/connect-cryptolens/.env.example +11 -0
  503. package/connectors/connect-cryptolens/CLAUDE.md +272 -0
  504. package/connectors/connect-cryptolens/README.md +193 -0
  505. package/connectors/connect-cryptolens/package.json +51 -0
  506. package/connectors/connect-cryptolens/scripts/release.ts +179 -0
  507. package/connectors/connect-cryptolens/src/api/client.ts +213 -0
  508. package/connectors/connect-cryptolens/src/api/example.ts +48 -0
  509. package/connectors/connect-cryptolens/src/api/index.ts +51 -0
  510. package/connectors/connect-cryptolens/src/cli/index.ts +254 -0
  511. package/connectors/connect-cryptolens/src/index.ts +103 -0
  512. package/connectors/connect-cryptolens/src/types/index.ts +237 -0
  513. package/connectors/connect-cryptolens/src/utils/auth.ts +274 -0
  514. package/connectors/connect-cryptolens/src/utils/bulk.ts +212 -0
  515. package/connectors/connect-cryptolens/src/utils/config.ts +326 -0
  516. package/connectors/connect-cryptolens/src/utils/output.ts +175 -0
  517. package/connectors/connect-cryptolens/src/utils/settings.ts +114 -0
  518. package/connectors/connect-cryptolens/src/utils/storage.ts +198 -0
  519. package/connectors/connect-cryptolens/tsconfig.json +16 -0
  520. package/connectors/connect-currents/.env.example +11 -0
  521. package/connectors/connect-currents/CLAUDE.md +272 -0
  522. package/connectors/connect-currents/README.md +193 -0
  523. package/connectors/connect-currents/package.json +51 -0
  524. package/connectors/connect-currents/scripts/release.ts +179 -0
  525. package/connectors/connect-currents/src/api/client.ts +213 -0
  526. package/connectors/connect-currents/src/api/example.ts +48 -0
  527. package/connectors/connect-currents/src/api/index.ts +51 -0
  528. package/connectors/connect-currents/src/cli/index.ts +254 -0
  529. package/connectors/connect-currents/src/index.ts +103 -0
  530. package/connectors/connect-currents/src/types/index.ts +237 -0
  531. package/connectors/connect-currents/src/utils/auth.ts +274 -0
  532. package/connectors/connect-currents/src/utils/bulk.ts +212 -0
  533. package/connectors/connect-currents/src/utils/config.ts +326 -0
  534. package/connectors/connect-currents/src/utils/output.ts +175 -0
  535. package/connectors/connect-currents/src/utils/settings.ts +114 -0
  536. package/connectors/connect-currents/src/utils/storage.ts +198 -0
  537. package/connectors/connect-currents/tsconfig.json +16 -0
  538. package/connectors/connect-customeriq/.env.example +11 -0
  539. package/connectors/connect-customeriq/CLAUDE.md +272 -0
  540. package/connectors/connect-customeriq/README.md +193 -0
  541. package/connectors/connect-customeriq/package.json +49 -0
  542. package/connectors/connect-customeriq/scripts/release.ts +179 -0
  543. package/connectors/connect-customeriq/src/api/client.ts +213 -0
  544. package/connectors/connect-customeriq/src/api/example.ts +48 -0
  545. package/connectors/connect-customeriq/src/api/index.ts +51 -0
  546. package/connectors/connect-customeriq/src/cli/index.ts +254 -0
  547. package/connectors/connect-customeriq/src/index.ts +103 -0
  548. package/connectors/connect-customeriq/src/types/index.ts +237 -0
  549. package/connectors/connect-customeriq/src/utils/auth.ts +274 -0
  550. package/connectors/connect-customeriq/src/utils/bulk.ts +212 -0
  551. package/connectors/connect-customeriq/src/utils/config.ts +326 -0
  552. package/connectors/connect-customeriq/src/utils/output.ts +175 -0
  553. package/connectors/connect-customeriq/src/utils/settings.ts +114 -0
  554. package/connectors/connect-customeriq/src/utils/storage.ts +198 -0
  555. package/connectors/connect-customeriq/tsconfig.json +16 -0
  556. package/connectors/connect-daffy/.env.example +11 -0
  557. package/connectors/connect-daffy/CLAUDE.md +272 -0
  558. package/connectors/connect-daffy/README.md +193 -0
  559. package/connectors/connect-daffy/package.json +50 -0
  560. package/connectors/connect-daffy/scripts/release.ts +179 -0
  561. package/connectors/connect-daffy/src/api/client.ts +213 -0
  562. package/connectors/connect-daffy/src/api/example.ts +48 -0
  563. package/connectors/connect-daffy/src/api/index.ts +51 -0
  564. package/connectors/connect-daffy/src/cli/index.ts +254 -0
  565. package/connectors/connect-daffy/src/index.ts +103 -0
  566. package/connectors/connect-daffy/src/types/index.ts +237 -0
  567. package/connectors/connect-daffy/src/utils/auth.ts +274 -0
  568. package/connectors/connect-daffy/src/utils/bulk.ts +212 -0
  569. package/connectors/connect-daffy/src/utils/config.ts +326 -0
  570. package/connectors/connect-daffy/src/utils/output.ts +175 -0
  571. package/connectors/connect-daffy/src/utils/settings.ts +114 -0
  572. package/connectors/connect-daffy/src/utils/storage.ts +198 -0
  573. package/connectors/connect-daffy/tsconfig.json +16 -0
  574. package/connectors/connect-danteai/.env.example +11 -0
  575. package/connectors/connect-danteai/CLAUDE.md +272 -0
  576. package/connectors/connect-danteai/README.md +193 -0
  577. package/connectors/connect-danteai/package.json +50 -0
  578. package/connectors/connect-danteai/scripts/release.ts +179 -0
  579. package/connectors/connect-danteai/src/api/client.ts +213 -0
  580. package/connectors/connect-danteai/src/api/example.ts +48 -0
  581. package/connectors/connect-danteai/src/api/index.ts +51 -0
  582. package/connectors/connect-danteai/src/cli/index.ts +254 -0
  583. package/connectors/connect-danteai/src/index.ts +103 -0
  584. package/connectors/connect-danteai/src/types/index.ts +237 -0
  585. package/connectors/connect-danteai/src/utils/auth.ts +274 -0
  586. package/connectors/connect-danteai/src/utils/bulk.ts +212 -0
  587. package/connectors/connect-danteai/src/utils/config.ts +326 -0
  588. package/connectors/connect-danteai/src/utils/output.ts +175 -0
  589. package/connectors/connect-danteai/src/utils/settings.ts +114 -0
  590. package/connectors/connect-danteai/src/utils/storage.ts +198 -0
  591. package/connectors/connect-danteai/tsconfig.json +16 -0
  592. package/connectors/connect-darkskyapi/.env.example +11 -0
  593. package/connectors/connect-darkskyapi/CLAUDE.md +272 -0
  594. package/connectors/connect-darkskyapi/README.md +193 -0
  595. package/connectors/connect-darkskyapi/package.json +50 -0
  596. package/connectors/connect-darkskyapi/scripts/release.ts +179 -0
  597. package/connectors/connect-darkskyapi/src/api/client.ts +213 -0
  598. package/connectors/connect-darkskyapi/src/api/example.ts +48 -0
  599. package/connectors/connect-darkskyapi/src/api/index.ts +51 -0
  600. package/connectors/connect-darkskyapi/src/cli/index.ts +254 -0
  601. package/connectors/connect-darkskyapi/src/index.ts +103 -0
  602. package/connectors/connect-darkskyapi/src/types/index.ts +237 -0
  603. package/connectors/connect-darkskyapi/src/utils/auth.ts +274 -0
  604. package/connectors/connect-darkskyapi/src/utils/bulk.ts +212 -0
  605. package/connectors/connect-darkskyapi/src/utils/config.ts +326 -0
  606. package/connectors/connect-darkskyapi/src/utils/output.ts +175 -0
  607. package/connectors/connect-darkskyapi/src/utils/settings.ts +114 -0
  608. package/connectors/connect-darkskyapi/src/utils/storage.ts +198 -0
  609. package/connectors/connect-darkskyapi/tsconfig.json +16 -0
  610. package/connectors/connect-dasha/.env.example +11 -0
  611. package/connectors/connect-dasha/CLAUDE.md +272 -0
  612. package/connectors/connect-dasha/README.md +193 -0
  613. package/connectors/connect-dasha/package.json +49 -0
  614. package/connectors/connect-dasha/scripts/release.ts +179 -0
  615. package/connectors/connect-dasha/src/api/client.ts +213 -0
  616. package/connectors/connect-dasha/src/api/example.ts +48 -0
  617. package/connectors/connect-dasha/src/api/index.ts +51 -0
  618. package/connectors/connect-dasha/src/cli/index.ts +254 -0
  619. package/connectors/connect-dasha/src/index.ts +103 -0
  620. package/connectors/connect-dasha/src/types/index.ts +237 -0
  621. package/connectors/connect-dasha/src/utils/auth.ts +274 -0
  622. package/connectors/connect-dasha/src/utils/bulk.ts +212 -0
  623. package/connectors/connect-dasha/src/utils/config.ts +326 -0
  624. package/connectors/connect-dasha/src/utils/output.ts +175 -0
  625. package/connectors/connect-dasha/src/utils/settings.ts +114 -0
  626. package/connectors/connect-dasha/src/utils/storage.ts +198 -0
  627. package/connectors/connect-dasha/tsconfig.json +16 -0
  628. package/connectors/connect-databox/.env.example +11 -0
  629. package/connectors/connect-databox/CLAUDE.md +272 -0
  630. package/connectors/connect-databox/README.md +193 -0
  631. package/connectors/connect-databox/package.json +50 -0
  632. package/connectors/connect-databox/scripts/release.ts +179 -0
  633. package/connectors/connect-databox/src/api/client.ts +213 -0
  634. package/connectors/connect-databox/src/api/example.ts +48 -0
  635. package/connectors/connect-databox/src/api/index.ts +51 -0
  636. package/connectors/connect-databox/src/cli/index.ts +254 -0
  637. package/connectors/connect-databox/src/index.ts +103 -0
  638. package/connectors/connect-databox/src/types/index.ts +237 -0
  639. package/connectors/connect-databox/src/utils/auth.ts +274 -0
  640. package/connectors/connect-databox/src/utils/bulk.ts +212 -0
  641. package/connectors/connect-databox/src/utils/config.ts +326 -0
  642. package/connectors/connect-databox/src/utils/output.ts +175 -0
  643. package/connectors/connect-databox/src/utils/settings.ts +114 -0
  644. package/connectors/connect-databox/src/utils/storage.ts +198 -0
  645. package/connectors/connect-databox/tsconfig.json +16 -0
  646. package/connectors/connect-datarobot/.env.example +11 -0
  647. package/connectors/connect-datarobot/CLAUDE.md +272 -0
  648. package/connectors/connect-datarobot/README.md +193 -0
  649. package/connectors/connect-datarobot/package.json +50 -0
  650. package/connectors/connect-datarobot/scripts/release.ts +179 -0
  651. package/connectors/connect-datarobot/src/api/client.ts +213 -0
  652. package/connectors/connect-datarobot/src/api/example.ts +48 -0
  653. package/connectors/connect-datarobot/src/api/index.ts +51 -0
  654. package/connectors/connect-datarobot/src/cli/index.ts +254 -0
  655. package/connectors/connect-datarobot/src/index.ts +103 -0
  656. package/connectors/connect-datarobot/src/types/index.ts +237 -0
  657. package/connectors/connect-datarobot/src/utils/auth.ts +274 -0
  658. package/connectors/connect-datarobot/src/utils/bulk.ts +212 -0
  659. package/connectors/connect-datarobot/src/utils/config.ts +326 -0
  660. package/connectors/connect-datarobot/src/utils/output.ts +175 -0
  661. package/connectors/connect-datarobot/src/utils/settings.ts +114 -0
  662. package/connectors/connect-datarobot/src/utils/storage.ts +198 -0
  663. package/connectors/connect-datarobot/tsconfig.json +16 -0
  664. package/dist/index.js +259 -0
  665. package/package.json +1 -1
@@ -0,0 +1,210 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Auto-versioning publish script
4
+ * - Fetches current npm version
5
+ * - Auto-bumps patch version if local version <= npm version
6
+ * - Creates git tag
7
+ * - Publishes to npm
8
+ */
9
+
10
+ import { $ } from 'bun';
11
+ import { readFileSync, writeFileSync } from 'fs';
12
+ import { join } from 'path';
13
+
14
+ interface PackageJson {
15
+ name: string;
16
+ version: string;
17
+ [key: string]: unknown;
18
+ }
19
+
20
+ type BumpType = 'patch' | 'minor' | 'major';
21
+
22
+ function parseVersion(version: string): { major: number; minor: number; patch: number } {
23
+ const [major, minor, patch] = version.split('.').map(Number);
24
+ return { major, minor, patch };
25
+ }
26
+
27
+ function bumpVersion(version: string, type: BumpType = 'patch'): string {
28
+ const { major, minor, patch } = parseVersion(version);
29
+
30
+ switch (type) {
31
+ case 'major':
32
+ return `${major + 1}.0.0`;
33
+ case 'minor':
34
+ return `${major}.${minor + 1}.0`;
35
+ case 'patch':
36
+ default:
37
+ return `${major}.${minor}.${patch + 1}`;
38
+ }
39
+ }
40
+
41
+ function compareVersions(a: string, b: string): number {
42
+ const vA = parseVersion(a);
43
+ const vB = parseVersion(b);
44
+
45
+ if (vA.major !== vB.major) return vA.major - vB.major;
46
+ if (vA.minor !== vB.minor) return vA.minor - vB.minor;
47
+ return vA.patch - vB.patch;
48
+ }
49
+
50
+ async function getNpmVersion(packageName: string): Promise<string | null> {
51
+ try {
52
+ const result = await $`npm view ${packageName} version 2>/dev/null`.text();
53
+ return result.trim() || null;
54
+ } catch {
55
+ return null;
56
+ }
57
+ }
58
+
59
+ async function hasUncommittedChanges(): Promise<boolean> {
60
+ try {
61
+ const result = await $`git status --porcelain`.text();
62
+ return result.trim().length > 0;
63
+ } catch {
64
+ return false;
65
+ }
66
+ }
67
+
68
+ async function isGitRepo(): Promise<boolean> {
69
+ try {
70
+ await $`git rev-parse --git-dir 2>/dev/null`.text();
71
+ return true;
72
+ } catch {
73
+ return false;
74
+ }
75
+ }
76
+
77
+ async function createGitTag(version: string, packageName: string): Promise<boolean> {
78
+ const tagName = `${packageName}@${version}`;
79
+
80
+ try {
81
+ // Check if tag already exists
82
+ const existingTags = await $`git tag -l ${tagName}`.text();
83
+ if (existingTags.trim()) {
84
+ console.log(`⚠️ Tag ${tagName} already exists, skipping tag creation`);
85
+ return true;
86
+ }
87
+
88
+ await $`git tag -a ${tagName} -m "Release ${tagName}"`;
89
+ console.log(`✅ Created git tag: ${tagName}`);
90
+ return true;
91
+ } catch (error) {
92
+ console.error(`❌ Failed to create git tag: ${error}`);
93
+ return false;
94
+ }
95
+ }
96
+
97
+ async function commitVersionBump(version: string, packageName: string): Promise<boolean> {
98
+ try {
99
+ await $`git add package.json`;
100
+ await $`git commit -m "chore(${packageName}): bump version to ${version}"`;
101
+ console.log(`✅ Committed version bump`);
102
+ return true;
103
+ } catch (error) {
104
+ console.error(`❌ Failed to commit: ${error}`);
105
+ return false;
106
+ }
107
+ }
108
+
109
+ async function main() {
110
+ const args = process.argv.slice(2);
111
+ const bumpType = (args.find(a => ['patch', 'minor', 'major'].includes(a)) || 'patch') as BumpType;
112
+ const skipGit = args.includes('--skip-git');
113
+ const dryRun = args.includes('--dry-run');
114
+ const force = args.includes('--force');
115
+
116
+ // Read package.json
117
+ const pkgPath = join(process.cwd(), 'package.json');
118
+ const pkg: PackageJson = JSON.parse(readFileSync(pkgPath, 'utf-8'));
119
+
120
+ console.log(`\n📦 Publishing ${pkg.name}\n`);
121
+
122
+ // Get current npm version
123
+ const npmVersion = await getNpmVersion(pkg.name);
124
+ let newVersion = pkg.version;
125
+
126
+ if (npmVersion) {
127
+ console.log(`📌 Current npm version: ${npmVersion}`);
128
+ console.log(`📌 Local version: ${pkg.version}`);
129
+
130
+ // Check if we need to bump
131
+ if (compareVersions(pkg.version, npmVersion) <= 0) {
132
+ newVersion = bumpVersion(npmVersion, bumpType);
133
+ console.log(`🔄 Auto-bumping to: ${newVersion}`);
134
+ } else {
135
+ console.log(`✅ Local version is ahead, using: ${pkg.version}`);
136
+ }
137
+ } else {
138
+ console.log(`📌 Package not yet published to npm`);
139
+ console.log(`📌 Using local version: ${pkg.version}`);
140
+ }
141
+
142
+ // Update package.json if version changed
143
+ if (newVersion !== pkg.version) {
144
+ if (dryRun) {
145
+ console.log(`\n🧪 DRY RUN: Would update version to ${newVersion}`);
146
+ } else {
147
+ pkg.version = newVersion;
148
+ writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n');
149
+ console.log(`✅ Updated package.json to version ${newVersion}`);
150
+ }
151
+ }
152
+
153
+ // Git operations
154
+ const isGit = await isGitRepo();
155
+
156
+ if (isGit && !skipGit) {
157
+ const hasChanges = await hasUncommittedChanges();
158
+
159
+ if (hasChanges && newVersion !== pkg.version) {
160
+ if (dryRun) {
161
+ console.log(`🧪 DRY RUN: Would commit version bump`);
162
+ } else {
163
+ await commitVersionBump(newVersion, pkg.name.replace('@hasna/', ''));
164
+ }
165
+ }
166
+
167
+ if (dryRun) {
168
+ console.log(`🧪 DRY RUN: Would create tag ${pkg.name}@${newVersion}`);
169
+ } else {
170
+ await createGitTag(newVersion, pkg.name.replace('@hasna/', ''));
171
+ }
172
+ }
173
+
174
+ // Build
175
+ console.log(`\n🔨 Building...`);
176
+ if (!dryRun) {
177
+ await $`bun run build`;
178
+ } else {
179
+ console.log(`🧪 DRY RUN: Would run build`);
180
+ }
181
+
182
+ // Publish
183
+ console.log(`\n🚀 Publishing to npm...`);
184
+ if (dryRun) {
185
+ console.log(`🧪 DRY RUN: Would publish ${pkg.name}@${newVersion}`);
186
+ } else {
187
+ try {
188
+ await $`npm publish`;
189
+ console.log(`\n✅ Successfully published ${pkg.name}@${newVersion}`);
190
+ } catch (error) {
191
+ console.error(`\n❌ Publish failed: ${error}`);
192
+ process.exit(1);
193
+ }
194
+ }
195
+
196
+ // Push tags
197
+ if (isGit && !skipGit && !dryRun) {
198
+ console.log(`\n📤 Pushing tags to remote...`);
199
+ try {
200
+ await $`git push --tags`;
201
+ console.log(`✅ Pushed tags to remote`);
202
+ } catch {
203
+ console.log(`⚠️ Could not push tags (no remote or not configured)`);
204
+ }
205
+ }
206
+
207
+ console.log(`\n✨ Done!\n`);
208
+ }
209
+
210
+ main().catch(console.error);
@@ -0,0 +1,133 @@
1
+ import type { ContactOutConfig, OutputFormat } from '../types';
2
+ import { ContactOutApiError } from '../types';
3
+
4
+ const DEFAULT_BASE_URL = 'https://api.contactout.com';
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
+ }
13
+
14
+ export class ContactOutClient {
15
+ private readonly apiKey: string;
16
+ private readonly baseUrl: string;
17
+
18
+ constructor(config: ContactOutConfig) {
19
+ if (!config.apiKey) {
20
+ throw new Error('API key is required');
21
+ }
22
+ this.apiKey = config.apiKey;
23
+ this.baseUrl = config.baseUrl || DEFAULT_BASE_URL;
24
+ }
25
+
26
+ private buildUrl(path: string, params?: Record<string, string | number | boolean | undefined>): string {
27
+ const url = new URL(`${this.baseUrl}${path}`);
28
+
29
+ if (params) {
30
+ Object.entries(params).forEach(([key, value]) => {
31
+ if (value !== undefined && value !== null && value !== '') {
32
+ url.searchParams.append(key, String(value));
33
+ }
34
+ });
35
+ }
36
+
37
+ return url.toString();
38
+ }
39
+
40
+ /**
41
+ * Make an authenticated request to the ContactOut API
42
+ * Uses token header authentication as per ContactOut API docs
43
+ */
44
+ async request<T>(path: string, options: RequestOptions = {}): Promise<T> {
45
+ const { method = 'GET', params, body, headers = {} } = options;
46
+
47
+ const url = this.buildUrl(path, params);
48
+
49
+ // ContactOut uses token header for authentication
50
+ const requestHeaders: Record<string, string> = {
51
+ 'token': this.apiKey,
52
+ 'Accept': 'application/json',
53
+ ...headers,
54
+ };
55
+
56
+ if (body && ['POST', 'PUT', 'PATCH'].includes(method)) {
57
+ requestHeaders['Content-Type'] = 'application/json';
58
+ }
59
+
60
+ const fetchOptions: RequestInit = {
61
+ method,
62
+ headers: requestHeaders,
63
+ };
64
+
65
+ if (body && ['POST', 'PUT', 'PATCH'].includes(method)) {
66
+ fetchOptions.body = typeof body === 'string' ? body : JSON.stringify(body);
67
+ }
68
+
69
+ const response = await fetch(url, fetchOptions);
70
+
71
+ // Handle 204 No Content
72
+ if (response.status === 204) {
73
+ return {} as T;
74
+ }
75
+
76
+ // Parse response
77
+ let data: unknown;
78
+ const contentType = response.headers.get('content-type') || '';
79
+
80
+ if (contentType.includes('application/json')) {
81
+ const text = await response.text();
82
+ if (text) {
83
+ try {
84
+ data = JSON.parse(text);
85
+ } catch {
86
+ data = text;
87
+ }
88
+ }
89
+ } else {
90
+ data = await response.text();
91
+ }
92
+
93
+ // Handle errors
94
+ if (!response.ok) {
95
+ const errorMessage = typeof data === 'object' && data !== null
96
+ ? JSON.stringify(data)
97
+ : String(data || response.statusText);
98
+ throw new ContactOutApiError(errorMessage, response.status);
99
+ }
100
+
101
+ return data as T;
102
+ }
103
+
104
+ async get<T>(path: string, params?: Record<string, string | number | boolean | undefined>): Promise<T> {
105
+ return this.request<T>(path, { method: 'GET', params });
106
+ }
107
+
108
+ async post<T>(path: string, body?: Record<string, unknown> | unknown[] | string | object, params?: Record<string, string | number | boolean | undefined>): Promise<T> {
109
+ return this.request<T>(path, { method: 'POST', body: body as Record<string, unknown>, params });
110
+ }
111
+
112
+ async put<T>(path: string, body?: Record<string, unknown> | object, params?: Record<string, string | number | boolean | undefined>): Promise<T> {
113
+ return this.request<T>(path, { method: 'PUT', body: body as Record<string, unknown>, params });
114
+ }
115
+
116
+ async patch<T>(path: string, body?: Record<string, unknown> | object, params?: Record<string, string | number | boolean | undefined>): Promise<T> {
117
+ return this.request<T>(path, { method: 'PATCH', body: body as Record<string, unknown>, params });
118
+ }
119
+
120
+ async delete<T>(path: string, params?: Record<string, string | number | boolean | undefined>): Promise<T> {
121
+ return this.request<T>(path, { method: 'DELETE', params });
122
+ }
123
+
124
+ /**
125
+ * Get a preview of the API key (for display/debugging)
126
+ */
127
+ getApiKeyPreview(): string {
128
+ if (this.apiKey.length > 10) {
129
+ return `${this.apiKey.substring(0, 6)}...${this.apiKey.substring(this.apiKey.length - 4)}`;
130
+ }
131
+ return '***';
132
+ }
133
+ }
@@ -0,0 +1,60 @@
1
+ import type { ContactOutClient } from './client';
2
+ import type {
3
+ CompanySearchParams,
4
+ CompanySearchResponse,
5
+ DomainEnrichParams,
6
+ DomainEnrichResponse,
7
+ } from '../types';
8
+
9
+ /**
10
+ * Company API - Search and enrich company profiles
11
+ */
12
+ export class CompanyApi {
13
+ constructor(private readonly client: ContactOutClient) {}
14
+
15
+ /**
16
+ * Search for companies matching criteria
17
+ * @param params - Search filters including name, domain, size, location, industry, revenue, etc.
18
+ * @returns Paginated list of matching companies
19
+ * @cost 1 search credit per company
20
+ */
21
+ async search(params: CompanySearchParams): Promise<CompanySearchResponse> {
22
+ return this.client.post<CompanySearchResponse>('/v1/company/search', {
23
+ name: params.name,
24
+ domain: params.domain,
25
+ size: params.size,
26
+ location: params.location,
27
+ industry: params.industry,
28
+ min_revenue: params.min_revenue,
29
+ max_revenue: params.max_revenue,
30
+ year_founded_from: params.year_founded_from,
31
+ year_founded_to: params.year_founded_to,
32
+ page: params.page,
33
+ hq_only: params.hq_only,
34
+ });
35
+ }
36
+
37
+ /**
38
+ * Enrich company information from domains
39
+ * @param params.domains - Array of domain names (max 30)
40
+ * @returns Company details for each domain
41
+ * @cost No credits consumed
42
+ */
43
+ async enrichFromDomains(params: DomainEnrichParams): Promise<DomainEnrichResponse> {
44
+ if (params.domains.length > 30) {
45
+ throw new Error('Maximum 30 domains allowed per request');
46
+ }
47
+ return this.client.post<DomainEnrichResponse>('/v1/domain/enrich', {
48
+ domains: params.domains,
49
+ });
50
+ }
51
+
52
+ /**
53
+ * Get company by domain (convenience method for single domain)
54
+ * @param domain - Company domain
55
+ * @returns Company profile
56
+ */
57
+ async getByDomain(domain: string): Promise<DomainEnrichResponse> {
58
+ return this.enrichFromDomains({ domains: [domain] });
59
+ }
60
+ }
@@ -0,0 +1,81 @@
1
+ import type { ContactOutClient } from './client';
2
+ import type {
3
+ EmailEnrichParams,
4
+ EmailEnrichResponse,
5
+ EmailVerifyResponse,
6
+ BatchEmailVerifyParams,
7
+ BatchEmailVerifyResponse,
8
+ BatchEmailVerifyJobResponse,
9
+ EmailToLinkedInResponse,
10
+ } from '../types';
11
+
12
+ /**
13
+ * Email API - Enrich profiles from email, verify emails, find LinkedIn from email
14
+ */
15
+ export class EmailApi {
16
+ constructor(private readonly client: ContactOutClient) {}
17
+
18
+ /**
19
+ * Enrich a profile from an email address
20
+ * @param params.email - Email address to lookup
21
+ * @param params.include - Optional: include work_email in response
22
+ * @returns Full profile data mapped to email
23
+ * @cost 1 email/phone credit per match
24
+ */
25
+ async enrich(params: EmailEnrichParams): Promise<EmailEnrichResponse> {
26
+ return this.client.get<EmailEnrichResponse>('/v1/email/enrich', {
27
+ email: params.email,
28
+ include: params.include,
29
+ });
30
+ }
31
+
32
+ /**
33
+ * Verify a single email address
34
+ * @param email - Email address to verify
35
+ * @returns Verification status: valid, invalid, accept_all, disposable, or unknown
36
+ * @cost 1 verifier credit if result is valid/invalid/accept_all
37
+ */
38
+ async verify(email: string): Promise<EmailVerifyResponse> {
39
+ return this.client.get<EmailVerifyResponse>('/v1/email/verify', {
40
+ email,
41
+ });
42
+ }
43
+
44
+ /**
45
+ * Batch verify multiple email addresses (asynchronous)
46
+ * @param params.emails - Array of email addresses (max 1000)
47
+ * @param params.callback_url - Optional webhook URL for completion notification
48
+ * @returns Job ID for polling
49
+ * @cost 1 verifier credit per email (valid/invalid/accept_all results)
50
+ */
51
+ async batchVerify(params: BatchEmailVerifyParams): Promise<BatchEmailVerifyResponse> {
52
+ if (params.emails.length > 1000) {
53
+ throw new Error('Maximum 1000 emails allowed per batch');
54
+ }
55
+ return this.client.post<BatchEmailVerifyResponse>('/v1/email/verify/batch', {
56
+ emails: params.emails,
57
+ callback_url: params.callback_url,
58
+ });
59
+ }
60
+
61
+ /**
62
+ * Get batch verification job status and results
63
+ * @param jobId - Job UUID from batchVerify
64
+ * @returns Job status and results when complete
65
+ */
66
+ async getBatchVerifyJob(jobId: string): Promise<BatchEmailVerifyJobResponse> {
67
+ return this.client.get<BatchEmailVerifyJobResponse>(`/v1/email/verify/batch/${jobId}`);
68
+ }
69
+
70
+ /**
71
+ * Find LinkedIn profile URL from an email address
72
+ * @param email - Email address to lookup
73
+ * @returns LinkedIn profile URL if found
74
+ * @cost 1 email credit if found
75
+ */
76
+ async toLinkedIn(email: string): Promise<EmailToLinkedInResponse> {
77
+ return this.client.get<EmailToLinkedInResponse>('/v1/people/person', {
78
+ email,
79
+ });
80
+ }
81
+ }
@@ -0,0 +1,65 @@
1
+ import type { ContactOutConfig } from '../types';
2
+ import { ContactOutClient } from './client';
3
+ import { LinkedInApi } from './linkedin';
4
+ import { PeopleApi } from './people';
5
+ import { CompanyApi } from './company';
6
+ import { EmailApi } from './email';
7
+ import { StatsApi } from './stats';
8
+
9
+ /**
10
+ * ContactOut API Client
11
+ * Find emails, phone numbers, and enrich LinkedIn profiles
12
+ */
13
+ export class ContactOut {
14
+ private readonly client: ContactOutClient;
15
+
16
+ // API modules
17
+ public readonly linkedin: LinkedInApi;
18
+ public readonly people: PeopleApi;
19
+ public readonly company: CompanyApi;
20
+ public readonly email: EmailApi;
21
+ public readonly stats: StatsApi;
22
+
23
+ constructor(config: ContactOutConfig) {
24
+ this.client = new ContactOutClient(config);
25
+ this.linkedin = new LinkedInApi(this.client);
26
+ this.people = new PeopleApi(this.client);
27
+ this.company = new CompanyApi(this.client);
28
+ this.email = new EmailApi(this.client);
29
+ this.stats = new StatsApi(this.client);
30
+ }
31
+
32
+ /**
33
+ * Create a client from environment variables
34
+ * Looks for CONTACTOUT_API_KEY
35
+ */
36
+ static fromEnv(): ContactOut {
37
+ const apiKey = process.env.CONTACTOUT_API_KEY;
38
+
39
+ if (!apiKey) {
40
+ throw new Error('CONTACTOUT_API_KEY environment variable is required');
41
+ }
42
+ return new ContactOut({ apiKey });
43
+ }
44
+
45
+ /**
46
+ * Get a preview of the API key (for debugging)
47
+ */
48
+ getApiKeyPreview(): string {
49
+ return this.client.getApiKeyPreview();
50
+ }
51
+
52
+ /**
53
+ * Get the underlying client for direct API access
54
+ */
55
+ getClient(): ContactOutClient {
56
+ return this.client;
57
+ }
58
+ }
59
+
60
+ export { ContactOutClient } from './client';
61
+ export { LinkedInApi } from './linkedin';
62
+ export { PeopleApi } from './people';
63
+ export { CompanyApi } from './company';
64
+ export { EmailApi } from './email';
65
+ export { StatsApi } from './stats';
@@ -0,0 +1,131 @@
1
+ import type { ContactOutClient } from './client';
2
+ import type {
3
+ LinkedInEnrichParams,
4
+ LinkedInEnrichResponse,
5
+ ContactInfoParams,
6
+ ContactInfoResponse,
7
+ BatchContactParams,
8
+ BatchContactResponse,
9
+ BatchJobResponse,
10
+ EmailStatusResponse,
11
+ PhoneStatusResponse,
12
+ } from '../types';
13
+
14
+ /**
15
+ * LinkedIn Profile API - Enrich and get contact info from LinkedIn profiles
16
+ */
17
+ export class LinkedInApi {
18
+ constructor(private readonly client: ContactOutClient) {}
19
+
20
+ /**
21
+ * Enrich a LinkedIn profile - get full profile data including contact info
22
+ * @param params.profile - LinkedIn profile URL
23
+ * @param params.profile_only - If true, returns profile without contact info
24
+ * @returns Profile data with emails and phones
25
+ * @cost 1 email/phone credit per match; 1 search credit if profile_only
26
+ */
27
+ async enrich(params: LinkedInEnrichParams): Promise<LinkedInEnrichResponse> {
28
+ return this.client.get<LinkedInEnrichResponse>('/v1/linkedin/enrich', {
29
+ profile: params.profile,
30
+ profile_only: params.profile_only,
31
+ });
32
+ }
33
+
34
+ /**
35
+ * Get contact info for a single LinkedIn profile
36
+ * @param params.profile - LinkedIn profile URL
37
+ * @param params.include_phone - Include phone numbers in response
38
+ * @param params.email_type - Type of email to return: personal, work, personal,work, or none
39
+ * @returns Email addresses and phone numbers
40
+ * @cost 1 email/phone credit per match
41
+ */
42
+ async getContactInfo(params: ContactInfoParams): Promise<ContactInfoResponse> {
43
+ return this.client.get<ContactInfoResponse>('/v1/people/linkedin', {
44
+ profile: params.profile,
45
+ include_phone: params.include_phone,
46
+ email_type: params.email_type,
47
+ });
48
+ }
49
+
50
+ /**
51
+ * Batch get contact info for up to 30 LinkedIn profiles (synchronous)
52
+ * @param params.profiles - Array of LinkedIn profile URLs (max 30)
53
+ * @returns Map of LinkedIn URLs to email arrays
54
+ * @cost 1 email credit per profile with match
55
+ */
56
+ async batchContactInfo(params: BatchContactParams): Promise<BatchContactResponse> {
57
+ if (params.profiles.length > 30) {
58
+ throw new Error('V1 batch endpoint supports maximum 30 profiles. Use batchContactInfoAsync for larger batches.');
59
+ }
60
+ return this.client.post<BatchContactResponse>('/v1/people/linkedin/batch', {
61
+ profiles: params.profiles,
62
+ });
63
+ }
64
+
65
+ /**
66
+ * Batch get contact info for up to 1000 LinkedIn profiles (asynchronous)
67
+ * @param params.profiles - Array of LinkedIn profile URLs (max 1000)
68
+ * @param params.callback_url - Optional webhook URL for completion notification
69
+ * @param params.include_phone - Include phone numbers in response
70
+ * @returns Job ID for polling
71
+ * @cost 1 email credit per profile with match
72
+ */
73
+ async batchContactInfoAsync(params: BatchContactParams): Promise<BatchContactResponse> {
74
+ if (params.profiles.length > 1000) {
75
+ throw new Error('V2 batch endpoint supports maximum 1000 profiles');
76
+ }
77
+ return this.client.post<BatchContactResponse>('/v2/people/linkedin/batch', {
78
+ profiles: params.profiles,
79
+ callback_url: params.callback_url,
80
+ include_phone: params.include_phone,
81
+ });
82
+ }
83
+
84
+ /**
85
+ * Get batch job status and results
86
+ * @param jobId - Job UUID from batchContactInfoAsync
87
+ * @returns Job status and results when complete
88
+ */
89
+ async getBatchJob(jobId: string): Promise<BatchJobResponse> {
90
+ return this.client.get<BatchJobResponse>(`/v2/people/linkedin/batch/${jobId}`);
91
+ }
92
+
93
+ /**
94
+ * Check if personal email is available for a LinkedIn profile
95
+ * @param profile - LinkedIn profile URL
96
+ * @returns Boolean indicating if personal email is available
97
+ * @cost No credits consumed
98
+ * @access Paid users only
99
+ */
100
+ async checkPersonalEmailStatus(profile: string): Promise<EmailStatusResponse> {
101
+ return this.client.get<EmailStatusResponse>('/v1/people/linkedin/personal_email_status', {
102
+ profile,
103
+ });
104
+ }
105
+
106
+ /**
107
+ * Check if work email is available for a LinkedIn profile
108
+ * @param profile - LinkedIn profile URL
109
+ * @returns Email availability and verification status
110
+ * @cost No credits consumed
111
+ * @access Paid users only
112
+ */
113
+ async checkWorkEmailStatus(profile: string): Promise<EmailStatusResponse> {
114
+ return this.client.get<EmailStatusResponse>('/v1/people/linkedin/work_email_status', {
115
+ profile,
116
+ });
117
+ }
118
+
119
+ /**
120
+ * Check if phone number is available for a LinkedIn profile
121
+ * @param profile - LinkedIn profile URL
122
+ * @returns Boolean indicating if phone is available
123
+ * @cost No credits consumed
124
+ * @access Paid users only
125
+ */
126
+ async checkPhoneStatus(profile: string): Promise<PhoneStatusResponse> {
127
+ return this.client.get<PhoneStatusResponse>('/v1/people/linkedin/phone_status', {
128
+ profile,
129
+ });
130
+ }
131
+ }