@hasna/connectors 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (659) 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-datasoap/.env.example +11 -0
  5. package/connectors/connect-datasoap/CLAUDE.md +272 -0
  6. package/connectors/connect-datasoap/README.md +193 -0
  7. package/connectors/connect-datasoap/package.json +50 -0
  8. package/connectors/connect-datasoap/scripts/release.ts +179 -0
  9. package/connectors/connect-datasoap/src/api/client.ts +213 -0
  10. package/connectors/connect-datasoap/src/api/example.ts +48 -0
  11. package/connectors/connect-datasoap/src/api/index.ts +51 -0
  12. package/connectors/connect-datasoap/src/cli/index.ts +254 -0
  13. package/connectors/connect-datasoap/src/index.ts +103 -0
  14. package/connectors/connect-datasoap/src/types/index.ts +237 -0
  15. package/connectors/connect-datasoap/src/utils/auth.ts +274 -0
  16. package/connectors/connect-datasoap/src/utils/bulk.ts +212 -0
  17. package/connectors/connect-datasoap/src/utils/config.ts +326 -0
  18. package/connectors/connect-datasoap/src/utils/output.ts +175 -0
  19. package/connectors/connect-datasoap/src/utils/settings.ts +114 -0
  20. package/connectors/connect-datasoap/src/utils/storage.ts +198 -0
  21. package/connectors/connect-datasoap/tsconfig.json +16 -0
  22. package/connectors/connect-datumbox/.env.example +11 -0
  23. package/connectors/connect-datumbox/CLAUDE.md +272 -0
  24. package/connectors/connect-datumbox/README.md +193 -0
  25. package/connectors/connect-datumbox/package.json +51 -0
  26. package/connectors/connect-datumbox/scripts/release.ts +179 -0
  27. package/connectors/connect-datumbox/src/api/client.ts +213 -0
  28. package/connectors/connect-datumbox/src/api/example.ts +48 -0
  29. package/connectors/connect-datumbox/src/api/index.ts +51 -0
  30. package/connectors/connect-datumbox/src/cli/index.ts +254 -0
  31. package/connectors/connect-datumbox/src/index.ts +103 -0
  32. package/connectors/connect-datumbox/src/types/index.ts +237 -0
  33. package/connectors/connect-datumbox/src/utils/auth.ts +274 -0
  34. package/connectors/connect-datumbox/src/utils/bulk.ts +212 -0
  35. package/connectors/connect-datumbox/src/utils/config.ts +326 -0
  36. package/connectors/connect-datumbox/src/utils/output.ts +175 -0
  37. package/connectors/connect-datumbox/src/utils/settings.ts +114 -0
  38. package/connectors/connect-datumbox/src/utils/storage.ts +198 -0
  39. package/connectors/connect-datumbox/tsconfig.json +16 -0
  40. package/connectors/connect-dayschedule/.env.example +11 -0
  41. package/connectors/connect-dayschedule/CLAUDE.md +272 -0
  42. package/connectors/connect-dayschedule/README.md +193 -0
  43. package/connectors/connect-dayschedule/package.json +51 -0
  44. package/connectors/connect-dayschedule/scripts/release.ts +179 -0
  45. package/connectors/connect-dayschedule/src/api/client.ts +213 -0
  46. package/connectors/connect-dayschedule/src/api/example.ts +48 -0
  47. package/connectors/connect-dayschedule/src/api/index.ts +51 -0
  48. package/connectors/connect-dayschedule/src/cli/index.ts +254 -0
  49. package/connectors/connect-dayschedule/src/index.ts +103 -0
  50. package/connectors/connect-dayschedule/src/types/index.ts +237 -0
  51. package/connectors/connect-dayschedule/src/utils/auth.ts +274 -0
  52. package/connectors/connect-dayschedule/src/utils/bulk.ts +212 -0
  53. package/connectors/connect-dayschedule/src/utils/config.ts +326 -0
  54. package/connectors/connect-dayschedule/src/utils/output.ts +175 -0
  55. package/connectors/connect-dayschedule/src/utils/settings.ts +114 -0
  56. package/connectors/connect-dayschedule/src/utils/storage.ts +198 -0
  57. package/connectors/connect-dayschedule/tsconfig.json +16 -0
  58. package/connectors/connect-deepinfra/.env.example +11 -0
  59. package/connectors/connect-deepinfra/CLAUDE.md +128 -0
  60. package/connectors/connect-deepinfra/README.md +193 -0
  61. package/connectors/connect-deepinfra/package.json +50 -0
  62. package/connectors/connect-deepinfra/src/api/client.ts +64 -0
  63. package/connectors/connect-deepinfra/src/api/index.ts +32 -0
  64. package/connectors/connect-deepinfra/src/cli/index.ts +244 -0
  65. package/connectors/connect-deepinfra/src/index.ts +19 -0
  66. package/connectors/connect-deepinfra/src/types/index.ts +65 -0
  67. package/connectors/connect-deepinfra/src/utils/config.ts +103 -0
  68. package/connectors/connect-deepinfra/src/utils/output.ts +119 -0
  69. package/connectors/connect-deepinfra/tsconfig.json +16 -0
  70. package/connectors/connect-deepl/.env.example +11 -0
  71. package/connectors/connect-deepl/CLAUDE.md +272 -0
  72. package/connectors/connect-deepl/README.md +193 -0
  73. package/connectors/connect-deepl/package.json +51 -0
  74. package/connectors/connect-deepl/scripts/release.ts +179 -0
  75. package/connectors/connect-deepl/src/api/client.ts +213 -0
  76. package/connectors/connect-deepl/src/api/example.ts +48 -0
  77. package/connectors/connect-deepl/src/api/index.ts +51 -0
  78. package/connectors/connect-deepl/src/cli/index.ts +254 -0
  79. package/connectors/connect-deepl/src/index.ts +103 -0
  80. package/connectors/connect-deepl/src/types/index.ts +237 -0
  81. package/connectors/connect-deepl/src/utils/auth.ts +274 -0
  82. package/connectors/connect-deepl/src/utils/bulk.ts +212 -0
  83. package/connectors/connect-deepl/src/utils/config.ts +326 -0
  84. package/connectors/connect-deepl/src/utils/output.ts +175 -0
  85. package/connectors/connect-deepl/src/utils/settings.ts +114 -0
  86. package/connectors/connect-deepl/src/utils/storage.ts +198 -0
  87. package/connectors/connect-deepl/tsconfig.json +16 -0
  88. package/connectors/connect-demio/.env.example +11 -0
  89. package/connectors/connect-demio/CLAUDE.md +272 -0
  90. package/connectors/connect-demio/README.md +193 -0
  91. package/connectors/connect-demio/package.json +51 -0
  92. package/connectors/connect-demio/scripts/release.ts +179 -0
  93. package/connectors/connect-demio/src/api/client.ts +213 -0
  94. package/connectors/connect-demio/src/api/example.ts +48 -0
  95. package/connectors/connect-demio/src/api/index.ts +51 -0
  96. package/connectors/connect-demio/src/cli/index.ts +254 -0
  97. package/connectors/connect-demio/src/index.ts +103 -0
  98. package/connectors/connect-demio/src/types/index.ts +237 -0
  99. package/connectors/connect-demio/src/utils/auth.ts +274 -0
  100. package/connectors/connect-demio/src/utils/bulk.ts +212 -0
  101. package/connectors/connect-demio/src/utils/config.ts +326 -0
  102. package/connectors/connect-demio/src/utils/output.ts +175 -0
  103. package/connectors/connect-demio/src/utils/settings.ts +114 -0
  104. package/connectors/connect-demio/src/utils/storage.ts +198 -0
  105. package/connectors/connect-demio/tsconfig.json +16 -0
  106. package/connectors/connect-descript/.env.example +11 -0
  107. package/connectors/connect-descript/CLAUDE.md +272 -0
  108. package/connectors/connect-descript/README.md +193 -0
  109. package/connectors/connect-descript/package.json +52 -0
  110. package/connectors/connect-descript/scripts/release.ts +179 -0
  111. package/connectors/connect-descript/src/api/client.ts +213 -0
  112. package/connectors/connect-descript/src/api/example.ts +48 -0
  113. package/connectors/connect-descript/src/api/index.ts +51 -0
  114. package/connectors/connect-descript/src/cli/index.ts +254 -0
  115. package/connectors/connect-descript/src/index.ts +103 -0
  116. package/connectors/connect-descript/src/types/index.ts +237 -0
  117. package/connectors/connect-descript/src/utils/auth.ts +274 -0
  118. package/connectors/connect-descript/src/utils/bulk.ts +212 -0
  119. package/connectors/connect-descript/src/utils/config.ts +326 -0
  120. package/connectors/connect-descript/src/utils/output.ts +175 -0
  121. package/connectors/connect-descript/src/utils/settings.ts +114 -0
  122. package/connectors/connect-descript/src/utils/storage.ts +198 -0
  123. package/connectors/connect-descript/tsconfig.json +16 -0
  124. package/connectors/connect-detrack/.env.example +11 -0
  125. package/connectors/connect-detrack/CLAUDE.md +272 -0
  126. package/connectors/connect-detrack/README.md +193 -0
  127. package/connectors/connect-detrack/package.json +52 -0
  128. package/connectors/connect-detrack/scripts/release.ts +179 -0
  129. package/connectors/connect-detrack/src/api/client.ts +213 -0
  130. package/connectors/connect-detrack/src/api/example.ts +48 -0
  131. package/connectors/connect-detrack/src/api/index.ts +51 -0
  132. package/connectors/connect-detrack/src/cli/index.ts +254 -0
  133. package/connectors/connect-detrack/src/index.ts +103 -0
  134. package/connectors/connect-detrack/src/types/index.ts +237 -0
  135. package/connectors/connect-detrack/src/utils/auth.ts +274 -0
  136. package/connectors/connect-detrack/src/utils/bulk.ts +212 -0
  137. package/connectors/connect-detrack/src/utils/config.ts +326 -0
  138. package/connectors/connect-detrack/src/utils/output.ts +175 -0
  139. package/connectors/connect-detrack/src/utils/settings.ts +114 -0
  140. package/connectors/connect-detrack/src/utils/storage.ts +198 -0
  141. package/connectors/connect-detrack/tsconfig.json +16 -0
  142. package/connectors/connect-devcycle/.env.example +11 -0
  143. package/connectors/connect-devcycle/CLAUDE.md +272 -0
  144. package/connectors/connect-devcycle/README.md +193 -0
  145. package/connectors/connect-devcycle/package.json +50 -0
  146. package/connectors/connect-devcycle/scripts/release.ts +179 -0
  147. package/connectors/connect-devcycle/src/api/client.ts +213 -0
  148. package/connectors/connect-devcycle/src/api/example.ts +48 -0
  149. package/connectors/connect-devcycle/src/api/index.ts +51 -0
  150. package/connectors/connect-devcycle/src/cli/index.ts +254 -0
  151. package/connectors/connect-devcycle/src/index.ts +103 -0
  152. package/connectors/connect-devcycle/src/types/index.ts +237 -0
  153. package/connectors/connect-devcycle/src/utils/auth.ts +274 -0
  154. package/connectors/connect-devcycle/src/utils/bulk.ts +212 -0
  155. package/connectors/connect-devcycle/src/utils/config.ts +326 -0
  156. package/connectors/connect-devcycle/src/utils/output.ts +175 -0
  157. package/connectors/connect-devcycle/src/utils/settings.ts +114 -0
  158. package/connectors/connect-devcycle/src/utils/storage.ts +198 -0
  159. package/connectors/connect-devcycle/tsconfig.json +16 -0
  160. package/connectors/connect-dhl/.env.example +11 -0
  161. package/connectors/connect-dhl/CLAUDE.md +272 -0
  162. package/connectors/connect-dhl/README.md +193 -0
  163. package/connectors/connect-dhl/package.json +51 -0
  164. package/connectors/connect-dhl/scripts/release.ts +179 -0
  165. package/connectors/connect-dhl/src/api/client.ts +213 -0
  166. package/connectors/connect-dhl/src/api/example.ts +48 -0
  167. package/connectors/connect-dhl/src/api/index.ts +51 -0
  168. package/connectors/connect-dhl/src/cli/index.ts +254 -0
  169. package/connectors/connect-dhl/src/index.ts +103 -0
  170. package/connectors/connect-dhl/src/types/index.ts +237 -0
  171. package/connectors/connect-dhl/src/utils/auth.ts +274 -0
  172. package/connectors/connect-dhl/src/utils/bulk.ts +212 -0
  173. package/connectors/connect-dhl/src/utils/config.ts +326 -0
  174. package/connectors/connect-dhl/src/utils/output.ts +175 -0
  175. package/connectors/connect-dhl/src/utils/settings.ts +114 -0
  176. package/connectors/connect-dhl/src/utils/storage.ts +198 -0
  177. package/connectors/connect-dhl/tsconfig.json +16 -0
  178. package/connectors/connect-dialzara/.env.example +11 -0
  179. package/connectors/connect-dialzara/CLAUDE.md +272 -0
  180. package/connectors/connect-dialzara/README.md +96 -0
  181. package/connectors/connect-dialzara/package.json +50 -0
  182. package/connectors/connect-dialzara/scripts/release.ts +179 -0
  183. package/connectors/connect-dialzara/src/api/client.ts +213 -0
  184. package/connectors/connect-dialzara/src/api/example.ts +48 -0
  185. package/connectors/connect-dialzara/src/api/index.ts +51 -0
  186. package/connectors/connect-dialzara/src/cli/index.ts +254 -0
  187. package/connectors/connect-dialzara/src/index.ts +103 -0
  188. package/connectors/connect-dialzara/src/types/index.ts +237 -0
  189. package/connectors/connect-dialzara/src/utils/auth.ts +274 -0
  190. package/connectors/connect-dialzara/src/utils/bulk.ts +212 -0
  191. package/connectors/connect-dialzara/src/utils/config.ts +326 -0
  192. package/connectors/connect-dialzara/src/utils/output.ts +175 -0
  193. package/connectors/connect-dialzara/src/utils/settings.ts +114 -0
  194. package/connectors/connect-dialzara/src/utils/storage.ts +198 -0
  195. package/connectors/connect-dialzara/tsconfig.json +16 -0
  196. package/connectors/connect-diddoai/.env.example +11 -0
  197. package/connectors/connect-diddoai/CLAUDE.md +272 -0
  198. package/connectors/connect-diddoai/README.md +96 -0
  199. package/connectors/connect-diddoai/package.json +52 -0
  200. package/connectors/connect-diddoai/scripts/release.ts +179 -0
  201. package/connectors/connect-diddoai/src/api/client.ts +213 -0
  202. package/connectors/connect-diddoai/src/api/example.ts +48 -0
  203. package/connectors/connect-diddoai/src/api/index.ts +51 -0
  204. package/connectors/connect-diddoai/src/cli/index.ts +254 -0
  205. package/connectors/connect-diddoai/src/index.ts +103 -0
  206. package/connectors/connect-diddoai/src/types/index.ts +237 -0
  207. package/connectors/connect-diddoai/src/utils/auth.ts +274 -0
  208. package/connectors/connect-diddoai/src/utils/bulk.ts +212 -0
  209. package/connectors/connect-diddoai/src/utils/config.ts +326 -0
  210. package/connectors/connect-diddoai/src/utils/output.ts +175 -0
  211. package/connectors/connect-diddoai/src/utils/settings.ts +114 -0
  212. package/connectors/connect-diddoai/src/utils/storage.ts +198 -0
  213. package/connectors/connect-diddoai/tsconfig.json +16 -0
  214. package/connectors/connect-diffy/.env.example +11 -0
  215. package/connectors/connect-diffy/CLAUDE.md +272 -0
  216. package/connectors/connect-diffy/README.md +96 -0
  217. package/connectors/connect-diffy/package.json +52 -0
  218. package/connectors/connect-diffy/scripts/release.ts +179 -0
  219. package/connectors/connect-diffy/src/api/client.ts +213 -0
  220. package/connectors/connect-diffy/src/api/example.ts +48 -0
  221. package/connectors/connect-diffy/src/api/index.ts +51 -0
  222. package/connectors/connect-diffy/src/cli/index.ts +254 -0
  223. package/connectors/connect-diffy/src/index.ts +103 -0
  224. package/connectors/connect-diffy/src/types/index.ts +237 -0
  225. package/connectors/connect-diffy/src/utils/auth.ts +274 -0
  226. package/connectors/connect-diffy/src/utils/bulk.ts +212 -0
  227. package/connectors/connect-diffy/src/utils/config.ts +326 -0
  228. package/connectors/connect-diffy/src/utils/output.ts +175 -0
  229. package/connectors/connect-diffy/src/utils/settings.ts +114 -0
  230. package/connectors/connect-diffy/src/utils/storage.ts +198 -0
  231. package/connectors/connect-diffy/tsconfig.json +16 -0
  232. package/connectors/connect-digicert/.env.example +11 -0
  233. package/connectors/connect-digicert/CLAUDE.md +272 -0
  234. package/connectors/connect-digicert/README.md +96 -0
  235. package/connectors/connect-digicert/package.json +53 -0
  236. package/connectors/connect-digicert/scripts/release.ts +179 -0
  237. package/connectors/connect-digicert/src/api/client.ts +213 -0
  238. package/connectors/connect-digicert/src/api/example.ts +48 -0
  239. package/connectors/connect-digicert/src/api/index.ts +51 -0
  240. package/connectors/connect-digicert/src/cli/index.ts +254 -0
  241. package/connectors/connect-digicert/src/index.ts +103 -0
  242. package/connectors/connect-digicert/src/types/index.ts +237 -0
  243. package/connectors/connect-digicert/src/utils/auth.ts +274 -0
  244. package/connectors/connect-digicert/src/utils/bulk.ts +212 -0
  245. package/connectors/connect-digicert/src/utils/config.ts +326 -0
  246. package/connectors/connect-digicert/src/utils/output.ts +175 -0
  247. package/connectors/connect-digicert/src/utils/settings.ts +114 -0
  248. package/connectors/connect-digicert/src/utils/storage.ts +198 -0
  249. package/connectors/connect-digicert/tsconfig.json +16 -0
  250. package/connectors/connect-digitalocean/.env.example +11 -0
  251. package/connectors/connect-digitalocean/CLAUDE.md +197 -0
  252. package/connectors/connect-digitalocean/README.md +146 -0
  253. package/connectors/connect-digitalocean/package.json +53 -0
  254. package/connectors/connect-digitalocean/src/api/client.ts +132 -0
  255. package/connectors/connect-digitalocean/src/api/index.ts +663 -0
  256. package/connectors/connect-digitalocean/src/cli/index.ts +1264 -0
  257. package/connectors/connect-digitalocean/src/index.ts +22 -0
  258. package/connectors/connect-digitalocean/src/types/index.ts +575 -0
  259. package/connectors/connect-digitalocean/src/utils/config.ts +171 -0
  260. package/connectors/connect-digitalocean/src/utils/output.ts +119 -0
  261. package/connectors/connect-digitalocean/tsconfig.json +16 -0
  262. package/connectors/connect-discourse/.env.example +11 -0
  263. package/connectors/connect-discourse/CLAUDE.md +272 -0
  264. package/connectors/connect-discourse/README.md +96 -0
  265. package/connectors/connect-discourse/package.json +52 -0
  266. package/connectors/connect-discourse/scripts/release.ts +179 -0
  267. package/connectors/connect-discourse/src/api/client.ts +213 -0
  268. package/connectors/connect-discourse/src/api/example.ts +48 -0
  269. package/connectors/connect-discourse/src/api/index.ts +51 -0
  270. package/connectors/connect-discourse/src/cli/index.ts +254 -0
  271. package/connectors/connect-discourse/src/index.ts +103 -0
  272. package/connectors/connect-discourse/src/types/index.ts +237 -0
  273. package/connectors/connect-discourse/src/utils/auth.ts +274 -0
  274. package/connectors/connect-discourse/src/utils/bulk.ts +212 -0
  275. package/connectors/connect-discourse/src/utils/config.ts +326 -0
  276. package/connectors/connect-discourse/src/utils/output.ts +175 -0
  277. package/connectors/connect-discourse/src/utils/settings.ts +114 -0
  278. package/connectors/connect-discourse/src/utils/storage.ts +198 -0
  279. package/connectors/connect-discourse/tsconfig.json +16 -0
  280. package/connectors/connect-disqus/.env.example +11 -0
  281. package/connectors/connect-disqus/CLAUDE.md +272 -0
  282. package/connectors/connect-disqus/README.md +96 -0
  283. package/connectors/connect-disqus/package.json +52 -0
  284. package/connectors/connect-disqus/scripts/release.ts +179 -0
  285. package/connectors/connect-disqus/src/api/client.ts +213 -0
  286. package/connectors/connect-disqus/src/api/example.ts +48 -0
  287. package/connectors/connect-disqus/src/api/index.ts +51 -0
  288. package/connectors/connect-disqus/src/cli/index.ts +254 -0
  289. package/connectors/connect-disqus/src/index.ts +103 -0
  290. package/connectors/connect-disqus/src/types/index.ts +237 -0
  291. package/connectors/connect-disqus/src/utils/auth.ts +274 -0
  292. package/connectors/connect-disqus/src/utils/bulk.ts +212 -0
  293. package/connectors/connect-disqus/src/utils/config.ts +326 -0
  294. package/connectors/connect-disqus/src/utils/output.ts +175 -0
  295. package/connectors/connect-disqus/src/utils/settings.ts +114 -0
  296. package/connectors/connect-disqus/src/utils/storage.ts +198 -0
  297. package/connectors/connect-disqus/tsconfig.json +16 -0
  298. package/connectors/connect-dockcerts/.env.example +11 -0
  299. package/connectors/connect-dockcerts/CLAUDE.md +272 -0
  300. package/connectors/connect-dockcerts/README.md +96 -0
  301. package/connectors/connect-dockcerts/package.json +52 -0
  302. package/connectors/connect-dockcerts/scripts/release.ts +179 -0
  303. package/connectors/connect-dockcerts/src/api/client.ts +213 -0
  304. package/connectors/connect-dockcerts/src/api/example.ts +48 -0
  305. package/connectors/connect-dockcerts/src/api/index.ts +51 -0
  306. package/connectors/connect-dockcerts/src/cli/index.ts +254 -0
  307. package/connectors/connect-dockcerts/src/index.ts +103 -0
  308. package/connectors/connect-dockcerts/src/types/index.ts +237 -0
  309. package/connectors/connect-dockcerts/src/utils/auth.ts +274 -0
  310. package/connectors/connect-dockcerts/src/utils/bulk.ts +212 -0
  311. package/connectors/connect-dockcerts/src/utils/config.ts +326 -0
  312. package/connectors/connect-dockcerts/src/utils/output.ts +175 -0
  313. package/connectors/connect-dockcerts/src/utils/settings.ts +114 -0
  314. package/connectors/connect-dockcerts/src/utils/storage.ts +198 -0
  315. package/connectors/connect-dockcerts/tsconfig.json +16 -0
  316. package/connectors/connect-docparser/.env.example +11 -0
  317. package/connectors/connect-docparser/CLAUDE.md +272 -0
  318. package/connectors/connect-docparser/README.md +96 -0
  319. package/connectors/connect-docparser/package.json +53 -0
  320. package/connectors/connect-docparser/scripts/release.ts +179 -0
  321. package/connectors/connect-docparser/src/api/client.ts +213 -0
  322. package/connectors/connect-docparser/src/api/example.ts +48 -0
  323. package/connectors/connect-docparser/src/api/index.ts +51 -0
  324. package/connectors/connect-docparser/src/cli/index.ts +254 -0
  325. package/connectors/connect-docparser/src/index.ts +103 -0
  326. package/connectors/connect-docparser/src/types/index.ts +237 -0
  327. package/connectors/connect-docparser/src/utils/auth.ts +274 -0
  328. package/connectors/connect-docparser/src/utils/bulk.ts +212 -0
  329. package/connectors/connect-docparser/src/utils/config.ts +326 -0
  330. package/connectors/connect-docparser/src/utils/output.ts +175 -0
  331. package/connectors/connect-docparser/src/utils/settings.ts +114 -0
  332. package/connectors/connect-docparser/src/utils/storage.ts +198 -0
  333. package/connectors/connect-docparser/tsconfig.json +16 -0
  334. package/connectors/connect-docsbotai/.env.example +11 -0
  335. package/connectors/connect-docsbotai/CLAUDE.md +272 -0
  336. package/connectors/connect-docsbotai/README.md +96 -0
  337. package/connectors/connect-docsbotai/package.json +53 -0
  338. package/connectors/connect-docsbotai/scripts/release.ts +179 -0
  339. package/connectors/connect-docsbotai/src/api/client.ts +213 -0
  340. package/connectors/connect-docsbotai/src/api/example.ts +48 -0
  341. package/connectors/connect-docsbotai/src/api/index.ts +51 -0
  342. package/connectors/connect-docsbotai/src/cli/index.ts +254 -0
  343. package/connectors/connect-docsbotai/src/index.ts +103 -0
  344. package/connectors/connect-docsbotai/src/types/index.ts +237 -0
  345. package/connectors/connect-docsbotai/src/utils/auth.ts +274 -0
  346. package/connectors/connect-docsbotai/src/utils/bulk.ts +212 -0
  347. package/connectors/connect-docsbotai/src/utils/config.ts +326 -0
  348. package/connectors/connect-docsbotai/src/utils/output.ts +175 -0
  349. package/connectors/connect-docsbotai/src/utils/settings.ts +114 -0
  350. package/connectors/connect-docsbotai/src/utils/storage.ts +198 -0
  351. package/connectors/connect-docsbotai/tsconfig.json +16 -0
  352. package/connectors/connect-docupilot/.env.example +11 -0
  353. package/connectors/connect-docupilot/CLAUDE.md +272 -0
  354. package/connectors/connect-docupilot/README.md +193 -0
  355. package/connectors/connect-docupilot/package.json +51 -0
  356. package/connectors/connect-docupilot/scripts/release.ts +179 -0
  357. package/connectors/connect-docupilot/src/api/client.ts +213 -0
  358. package/connectors/connect-docupilot/src/api/example.ts +48 -0
  359. package/connectors/connect-docupilot/src/api/index.ts +51 -0
  360. package/connectors/connect-docupilot/src/cli/index.ts +254 -0
  361. package/connectors/connect-docupilot/src/index.ts +103 -0
  362. package/connectors/connect-docupilot/src/types/index.ts +237 -0
  363. package/connectors/connect-docupilot/src/utils/auth.ts +274 -0
  364. package/connectors/connect-docupilot/src/utils/bulk.ts +212 -0
  365. package/connectors/connect-docupilot/src/utils/config.ts +326 -0
  366. package/connectors/connect-docupilot/src/utils/output.ts +175 -0
  367. package/connectors/connect-docupilot/src/utils/settings.ts +114 -0
  368. package/connectors/connect-docupilot/src/utils/storage.ts +198 -0
  369. package/connectors/connect-docupilot/tsconfig.json +16 -0
  370. package/connectors/connect-docuwriter/.env.example +11 -0
  371. package/connectors/connect-docuwriter/CLAUDE.md +272 -0
  372. package/connectors/connect-docuwriter/README.md +193 -0
  373. package/connectors/connect-docuwriter/package.json +51 -0
  374. package/connectors/connect-docuwriter/scripts/release.ts +179 -0
  375. package/connectors/connect-docuwriter/src/api/client.ts +213 -0
  376. package/connectors/connect-docuwriter/src/api/example.ts +48 -0
  377. package/connectors/connect-docuwriter/src/api/index.ts +51 -0
  378. package/connectors/connect-docuwriter/src/cli/index.ts +254 -0
  379. package/connectors/connect-docuwriter/src/index.ts +103 -0
  380. package/connectors/connect-docuwriter/src/types/index.ts +237 -0
  381. package/connectors/connect-docuwriter/src/utils/auth.ts +274 -0
  382. package/connectors/connect-docuwriter/src/utils/bulk.ts +212 -0
  383. package/connectors/connect-docuwriter/src/utils/config.ts +326 -0
  384. package/connectors/connect-docuwriter/src/utils/output.ts +175 -0
  385. package/connectors/connect-docuwriter/src/utils/settings.ts +114 -0
  386. package/connectors/connect-docuwriter/src/utils/storage.ts +198 -0
  387. package/connectors/connect-docuwriter/tsconfig.json +16 -0
  388. package/connectors/connect-dokan/.env.example +11 -0
  389. package/connectors/connect-dokan/CLAUDE.md +272 -0
  390. package/connectors/connect-dokan/README.md +193 -0
  391. package/connectors/connect-dokan/package.json +51 -0
  392. package/connectors/connect-dokan/scripts/release.ts +179 -0
  393. package/connectors/connect-dokan/src/api/client.ts +213 -0
  394. package/connectors/connect-dokan/src/api/example.ts +48 -0
  395. package/connectors/connect-dokan/src/api/index.ts +51 -0
  396. package/connectors/connect-dokan/src/cli/index.ts +254 -0
  397. package/connectors/connect-dokan/src/index.ts +103 -0
  398. package/connectors/connect-dokan/src/types/index.ts +237 -0
  399. package/connectors/connect-dokan/src/utils/auth.ts +274 -0
  400. package/connectors/connect-dokan/src/utils/bulk.ts +212 -0
  401. package/connectors/connect-dokan/src/utils/config.ts +326 -0
  402. package/connectors/connect-dokan/src/utils/output.ts +175 -0
  403. package/connectors/connect-dokan/src/utils/settings.ts +114 -0
  404. package/connectors/connect-dokan/src/utils/storage.ts +198 -0
  405. package/connectors/connect-dokan/tsconfig.json +16 -0
  406. package/connectors/connect-domo/.env.example +11 -0
  407. package/connectors/connect-domo/CLAUDE.md +272 -0
  408. package/connectors/connect-domo/README.md +193 -0
  409. package/connectors/connect-domo/package.json +51 -0
  410. package/connectors/connect-domo/scripts/release.ts +179 -0
  411. package/connectors/connect-domo/src/api/client.ts +213 -0
  412. package/connectors/connect-domo/src/api/example.ts +48 -0
  413. package/connectors/connect-domo/src/api/index.ts +51 -0
  414. package/connectors/connect-domo/src/cli/index.ts +254 -0
  415. package/connectors/connect-domo/src/index.ts +103 -0
  416. package/connectors/connect-domo/src/types/index.ts +237 -0
  417. package/connectors/connect-domo/src/utils/auth.ts +274 -0
  418. package/connectors/connect-domo/src/utils/bulk.ts +212 -0
  419. package/connectors/connect-domo/src/utils/config.ts +326 -0
  420. package/connectors/connect-domo/src/utils/output.ts +175 -0
  421. package/connectors/connect-domo/src/utils/settings.ts +114 -0
  422. package/connectors/connect-domo/src/utils/storage.ts +198 -0
  423. package/connectors/connect-domo/tsconfig.json +16 -0
  424. package/connectors/connect-draftable/.env.example +11 -0
  425. package/connectors/connect-draftable/CLAUDE.md +272 -0
  426. package/connectors/connect-draftable/README.md +193 -0
  427. package/connectors/connect-draftable/package.json +51 -0
  428. package/connectors/connect-draftable/scripts/release.ts +179 -0
  429. package/connectors/connect-draftable/src/api/client.ts +213 -0
  430. package/connectors/connect-draftable/src/api/example.ts +48 -0
  431. package/connectors/connect-draftable/src/api/index.ts +51 -0
  432. package/connectors/connect-draftable/src/cli/index.ts +254 -0
  433. package/connectors/connect-draftable/src/index.ts +103 -0
  434. package/connectors/connect-draftable/src/types/index.ts +237 -0
  435. package/connectors/connect-draftable/src/utils/auth.ts +274 -0
  436. package/connectors/connect-draftable/src/utils/bulk.ts +212 -0
  437. package/connectors/connect-draftable/src/utils/config.ts +326 -0
  438. package/connectors/connect-draftable/src/utils/output.ts +175 -0
  439. package/connectors/connect-draftable/src/utils/settings.ts +114 -0
  440. package/connectors/connect-draftable/src/utils/storage.ts +198 -0
  441. package/connectors/connect-draftable/tsconfig.json +16 -0
  442. package/connectors/connect-dropcontact/.env.example +11 -0
  443. package/connectors/connect-dropcontact/CLAUDE.md +272 -0
  444. package/connectors/connect-dropcontact/README.md +193 -0
  445. package/connectors/connect-dropcontact/package.json +51 -0
  446. package/connectors/connect-dropcontact/scripts/release.ts +179 -0
  447. package/connectors/connect-dropcontact/src/api/client.ts +213 -0
  448. package/connectors/connect-dropcontact/src/api/example.ts +48 -0
  449. package/connectors/connect-dropcontact/src/api/index.ts +51 -0
  450. package/connectors/connect-dropcontact/src/cli/index.ts +254 -0
  451. package/connectors/connect-dropcontact/src/index.ts +103 -0
  452. package/connectors/connect-dropcontact/src/types/index.ts +237 -0
  453. package/connectors/connect-dropcontact/src/utils/auth.ts +274 -0
  454. package/connectors/connect-dropcontact/src/utils/bulk.ts +212 -0
  455. package/connectors/connect-dropcontact/src/utils/config.ts +326 -0
  456. package/connectors/connect-dropcontact/src/utils/output.ts +175 -0
  457. package/connectors/connect-dropcontact/src/utils/settings.ts +114 -0
  458. package/connectors/connect-dropcontact/src/utils/storage.ts +198 -0
  459. package/connectors/connect-dropcontact/tsconfig.json +16 -0
  460. package/connectors/connect-droxy/.env.example +11 -0
  461. package/connectors/connect-droxy/CLAUDE.md +272 -0
  462. package/connectors/connect-droxy/README.md +193 -0
  463. package/connectors/connect-droxy/package.json +51 -0
  464. package/connectors/connect-droxy/scripts/release.ts +179 -0
  465. package/connectors/connect-droxy/src/api/client.ts +213 -0
  466. package/connectors/connect-droxy/src/api/example.ts +48 -0
  467. package/connectors/connect-droxy/src/api/index.ts +51 -0
  468. package/connectors/connect-droxy/src/cli/index.ts +254 -0
  469. package/connectors/connect-droxy/src/index.ts +103 -0
  470. package/connectors/connect-droxy/src/types/index.ts +237 -0
  471. package/connectors/connect-droxy/src/utils/auth.ts +274 -0
  472. package/connectors/connect-droxy/src/utils/bulk.ts +212 -0
  473. package/connectors/connect-droxy/src/utils/config.ts +326 -0
  474. package/connectors/connect-droxy/src/utils/output.ts +175 -0
  475. package/connectors/connect-droxy/src/utils/settings.ts +114 -0
  476. package/connectors/connect-droxy/src/utils/storage.ts +198 -0
  477. package/connectors/connect-droxy/tsconfig.json +16 -0
  478. package/connectors/connect-dynatrace/.env.example +11 -0
  479. package/connectors/connect-dynatrace/CLAUDE.md +272 -0
  480. package/connectors/connect-dynatrace/README.md +193 -0
  481. package/connectors/connect-dynatrace/package.json +51 -0
  482. package/connectors/connect-dynatrace/scripts/release.ts +179 -0
  483. package/connectors/connect-dynatrace/src/api/client.ts +213 -0
  484. package/connectors/connect-dynatrace/src/api/example.ts +48 -0
  485. package/connectors/connect-dynatrace/src/api/index.ts +51 -0
  486. package/connectors/connect-dynatrace/src/cli/index.ts +254 -0
  487. package/connectors/connect-dynatrace/src/index.ts +103 -0
  488. package/connectors/connect-dynatrace/src/types/index.ts +237 -0
  489. package/connectors/connect-dynatrace/src/utils/auth.ts +274 -0
  490. package/connectors/connect-dynatrace/src/utils/bulk.ts +212 -0
  491. package/connectors/connect-dynatrace/src/utils/config.ts +326 -0
  492. package/connectors/connect-dynatrace/src/utils/output.ts +175 -0
  493. package/connectors/connect-dynatrace/src/utils/settings.ts +114 -0
  494. package/connectors/connect-dynatrace/src/utils/storage.ts +198 -0
  495. package/connectors/connect-dynatrace/tsconfig.json +16 -0
  496. package/connectors/connect-eartho/.env.example +11 -0
  497. package/connectors/connect-eartho/CLAUDE.md +272 -0
  498. package/connectors/connect-eartho/README.md +193 -0
  499. package/connectors/connect-eartho/package.json +51 -0
  500. package/connectors/connect-eartho/scripts/release.ts +179 -0
  501. package/connectors/connect-eartho/src/api/client.ts +213 -0
  502. package/connectors/connect-eartho/src/api/example.ts +48 -0
  503. package/connectors/connect-eartho/src/api/index.ts +51 -0
  504. package/connectors/connect-eartho/src/cli/index.ts +254 -0
  505. package/connectors/connect-eartho/src/index.ts +103 -0
  506. package/connectors/connect-eartho/src/types/index.ts +237 -0
  507. package/connectors/connect-eartho/src/utils/auth.ts +274 -0
  508. package/connectors/connect-eartho/src/utils/bulk.ts +212 -0
  509. package/connectors/connect-eartho/src/utils/config.ts +326 -0
  510. package/connectors/connect-eartho/src/utils/output.ts +175 -0
  511. package/connectors/connect-eartho/src/utils/settings.ts +114 -0
  512. package/connectors/connect-eartho/src/utils/storage.ts +198 -0
  513. package/connectors/connect-eartho/tsconfig.json +16 -0
  514. package/connectors/connect-easyship/.env.example +11 -0
  515. package/connectors/connect-easyship/CLAUDE.md +272 -0
  516. package/connectors/connect-easyship/README.md +193 -0
  517. package/connectors/connect-easyship/package.json +51 -0
  518. package/connectors/connect-easyship/scripts/release.ts +179 -0
  519. package/connectors/connect-easyship/src/api/client.ts +213 -0
  520. package/connectors/connect-easyship/src/api/example.ts +48 -0
  521. package/connectors/connect-easyship/src/api/index.ts +51 -0
  522. package/connectors/connect-easyship/src/cli/index.ts +254 -0
  523. package/connectors/connect-easyship/src/index.ts +103 -0
  524. package/connectors/connect-easyship/src/types/index.ts +237 -0
  525. package/connectors/connect-easyship/src/utils/auth.ts +274 -0
  526. package/connectors/connect-easyship/src/utils/bulk.ts +212 -0
  527. package/connectors/connect-easyship/src/utils/config.ts +326 -0
  528. package/connectors/connect-easyship/src/utils/output.ts +175 -0
  529. package/connectors/connect-easyship/src/utils/settings.ts +114 -0
  530. package/connectors/connect-easyship/src/utils/storage.ts +198 -0
  531. package/connectors/connect-easyship/tsconfig.json +16 -0
  532. package/connectors/connect-echowin/.env.example +11 -0
  533. package/connectors/connect-echowin/CLAUDE.md +272 -0
  534. package/connectors/connect-echowin/README.md +193 -0
  535. package/connectors/connect-echowin/package.json +51 -0
  536. package/connectors/connect-echowin/scripts/release.ts +179 -0
  537. package/connectors/connect-echowin/src/api/client.ts +213 -0
  538. package/connectors/connect-echowin/src/api/example.ts +48 -0
  539. package/connectors/connect-echowin/src/api/index.ts +51 -0
  540. package/connectors/connect-echowin/src/cli/index.ts +254 -0
  541. package/connectors/connect-echowin/src/index.ts +103 -0
  542. package/connectors/connect-echowin/src/types/index.ts +237 -0
  543. package/connectors/connect-echowin/src/utils/auth.ts +274 -0
  544. package/connectors/connect-echowin/src/utils/bulk.ts +212 -0
  545. package/connectors/connect-echowin/src/utils/config.ts +326 -0
  546. package/connectors/connect-echowin/src/utils/output.ts +175 -0
  547. package/connectors/connect-echowin/src/utils/settings.ts +114 -0
  548. package/connectors/connect-echowin/src/utils/storage.ts +198 -0
  549. package/connectors/connect-echowin/tsconfig.json +16 -0
  550. package/connectors/connect-ecwid/.env.example +11 -0
  551. package/connectors/connect-ecwid/CLAUDE.md +272 -0
  552. package/connectors/connect-ecwid/README.md +193 -0
  553. package/connectors/connect-ecwid/package.json +51 -0
  554. package/connectors/connect-ecwid/scripts/release.ts +179 -0
  555. package/connectors/connect-ecwid/src/api/client.ts +213 -0
  556. package/connectors/connect-ecwid/src/api/example.ts +48 -0
  557. package/connectors/connect-ecwid/src/api/index.ts +51 -0
  558. package/connectors/connect-ecwid/src/cli/index.ts +254 -0
  559. package/connectors/connect-ecwid/src/index.ts +103 -0
  560. package/connectors/connect-ecwid/src/types/index.ts +237 -0
  561. package/connectors/connect-ecwid/src/utils/auth.ts +274 -0
  562. package/connectors/connect-ecwid/src/utils/bulk.ts +212 -0
  563. package/connectors/connect-ecwid/src/utils/config.ts +326 -0
  564. package/connectors/connect-ecwid/src/utils/output.ts +175 -0
  565. package/connectors/connect-ecwid/src/utils/settings.ts +114 -0
  566. package/connectors/connect-ecwid/src/utils/storage.ts +198 -0
  567. package/connectors/connect-ecwid/tsconfig.json +16 -0
  568. package/connectors/connect-edenai/.env.example +11 -0
  569. package/connectors/connect-edenai/CLAUDE.md +272 -0
  570. package/connectors/connect-edenai/README.md +193 -0
  571. package/connectors/connect-edenai/package.json +51 -0
  572. package/connectors/connect-edenai/scripts/release.ts +179 -0
  573. package/connectors/connect-edenai/src/api/client.ts +213 -0
  574. package/connectors/connect-edenai/src/api/example.ts +48 -0
  575. package/connectors/connect-edenai/src/api/index.ts +51 -0
  576. package/connectors/connect-edenai/src/cli/index.ts +254 -0
  577. package/connectors/connect-edenai/src/index.ts +103 -0
  578. package/connectors/connect-edenai/src/types/index.ts +237 -0
  579. package/connectors/connect-edenai/src/utils/auth.ts +274 -0
  580. package/connectors/connect-edenai/src/utils/bulk.ts +212 -0
  581. package/connectors/connect-edenai/src/utils/config.ts +326 -0
  582. package/connectors/connect-edenai/src/utils/output.ts +175 -0
  583. package/connectors/connect-edenai/src/utils/settings.ts +114 -0
  584. package/connectors/connect-edenai/src/utils/storage.ts +198 -0
  585. package/connectors/connect-edenai/tsconfig.json +16 -0
  586. package/connectors/connect-egoi/.env.example +11 -0
  587. package/connectors/connect-egoi/CLAUDE.md +272 -0
  588. package/connectors/connect-egoi/README.md +193 -0
  589. package/connectors/connect-egoi/package.json +51 -0
  590. package/connectors/connect-egoi/scripts/release.ts +179 -0
  591. package/connectors/connect-egoi/src/api/client.ts +213 -0
  592. package/connectors/connect-egoi/src/api/example.ts +48 -0
  593. package/connectors/connect-egoi/src/api/index.ts +51 -0
  594. package/connectors/connect-egoi/src/cli/index.ts +254 -0
  595. package/connectors/connect-egoi/src/index.ts +103 -0
  596. package/connectors/connect-egoi/src/types/index.ts +237 -0
  597. package/connectors/connect-egoi/src/utils/auth.ts +274 -0
  598. package/connectors/connect-egoi/src/utils/bulk.ts +212 -0
  599. package/connectors/connect-egoi/src/utils/config.ts +326 -0
  600. package/connectors/connect-egoi/src/utils/output.ts +175 -0
  601. package/connectors/connect-egoi/src/utils/settings.ts +114 -0
  602. package/connectors/connect-egoi/src/utils/storage.ts +198 -0
  603. package/connectors/connect-egoi/tsconfig.json +16 -0
  604. package/connectors/connect-elasticsearch/.env.example +11 -0
  605. package/connectors/connect-elasticsearch/CLAUDE.md +272 -0
  606. package/connectors/connect-elasticsearch/README.md +193 -0
  607. package/connectors/connect-elasticsearch/package.json +51 -0
  608. package/connectors/connect-elasticsearch/scripts/release.ts +179 -0
  609. package/connectors/connect-elasticsearch/src/api/client.ts +213 -0
  610. package/connectors/connect-elasticsearch/src/api/example.ts +48 -0
  611. package/connectors/connect-elasticsearch/src/api/index.ts +51 -0
  612. package/connectors/connect-elasticsearch/src/cli/index.ts +254 -0
  613. package/connectors/connect-elasticsearch/src/index.ts +103 -0
  614. package/connectors/connect-elasticsearch/src/types/index.ts +237 -0
  615. package/connectors/connect-elasticsearch/src/utils/auth.ts +274 -0
  616. package/connectors/connect-elasticsearch/src/utils/bulk.ts +212 -0
  617. package/connectors/connect-elasticsearch/src/utils/config.ts +326 -0
  618. package/connectors/connect-elasticsearch/src/utils/output.ts +175 -0
  619. package/connectors/connect-elasticsearch/src/utils/settings.ts +114 -0
  620. package/connectors/connect-elasticsearch/src/utils/storage.ts +198 -0
  621. package/connectors/connect-elasticsearch/tsconfig.json +16 -0
  622. package/connectors/connect-elasticsecurity/.env.example +11 -0
  623. package/connectors/connect-elasticsecurity/CLAUDE.md +272 -0
  624. package/connectors/connect-elasticsecurity/README.md +193 -0
  625. package/connectors/connect-elasticsecurity/package.json +51 -0
  626. package/connectors/connect-elasticsecurity/scripts/release.ts +179 -0
  627. package/connectors/connect-elasticsecurity/src/api/client.ts +213 -0
  628. package/connectors/connect-elasticsecurity/src/api/example.ts +48 -0
  629. package/connectors/connect-elasticsecurity/src/api/index.ts +51 -0
  630. package/connectors/connect-elasticsecurity/src/cli/index.ts +254 -0
  631. package/connectors/connect-elasticsecurity/src/index.ts +103 -0
  632. package/connectors/connect-elasticsecurity/src/types/index.ts +237 -0
  633. package/connectors/connect-elasticsecurity/src/utils/auth.ts +274 -0
  634. package/connectors/connect-elasticsecurity/src/utils/bulk.ts +212 -0
  635. package/connectors/connect-elasticsecurity/src/utils/config.ts +326 -0
  636. package/connectors/connect-elasticsecurity/src/utils/output.ts +175 -0
  637. package/connectors/connect-elasticsecurity/src/utils/settings.ts +114 -0
  638. package/connectors/connect-elasticsecurity/src/utils/storage.ts +198 -0
  639. package/connectors/connect-elasticsecurity/tsconfig.json +16 -0
  640. package/connectors/connect-elmah/.env.example +11 -0
  641. package/connectors/connect-elmah/CLAUDE.md +272 -0
  642. package/connectors/connect-elmah/README.md +193 -0
  643. package/connectors/connect-elmah/package.json +51 -0
  644. package/connectors/connect-elmah/scripts/release.ts +179 -0
  645. package/connectors/connect-elmah/src/api/client.ts +213 -0
  646. package/connectors/connect-elmah/src/api/example.ts +48 -0
  647. package/connectors/connect-elmah/src/api/index.ts +51 -0
  648. package/connectors/connect-elmah/src/cli/index.ts +254 -0
  649. package/connectors/connect-elmah/src/index.ts +103 -0
  650. package/connectors/connect-elmah/src/types/index.ts +237 -0
  651. package/connectors/connect-elmah/src/utils/auth.ts +274 -0
  652. package/connectors/connect-elmah/src/utils/bulk.ts +212 -0
  653. package/connectors/connect-elmah/src/utils/config.ts +326 -0
  654. package/connectors/connect-elmah/src/utils/output.ts +175 -0
  655. package/connectors/connect-elmah/src/utils/settings.ts +114 -0
  656. package/connectors/connect-elmah/src/utils/storage.ts +198 -0
  657. package/connectors/connect-elmah/tsconfig.json +16 -0
  658. package/dist/index.js +259 -0
  659. package/package.json +1 -1
@@ -0,0 +1,198 @@
1
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync, unlinkSync } from 'fs';
2
+ import { join } from 'path';
3
+ import { getConfigDir } from './config';
4
+
5
+ // ============================================
6
+ // Generic Data Storage Utility
7
+ // ============================================
8
+
9
+ /**
10
+ * Base interface for storable entities
11
+ * All stored entities should have an id field
12
+ */
13
+ export interface Storable {
14
+ id: string;
15
+ createdAt?: string;
16
+ updatedAt?: string;
17
+ }
18
+
19
+ /**
20
+ * Get the storage directory for an entity type
21
+ */
22
+ function getStorageDir(entityType: string): string {
23
+ const dir = join(getConfigDir(), 'data', entityType);
24
+ if (!existsSync(dir)) {
25
+ mkdirSync(dir, { recursive: true });
26
+ }
27
+ return dir;
28
+ }
29
+
30
+ /**
31
+ * Convert an ID to a safe filename
32
+ */
33
+ function idToFilename(id: string): string {
34
+ return id.toLowerCase().replace(/[^a-z0-9]/g, '_') + '.json';
35
+ }
36
+
37
+ /**
38
+ * Get the file path for an entity
39
+ */
40
+ function getEntityPath(entityType: string, id: string): string {
41
+ return join(getStorageDir(entityType), idToFilename(id));
42
+ }
43
+
44
+ /**
45
+ * Save an entity to storage
46
+ */
47
+ export function saveEntity<T extends Storable>(entityType: string, entity: T): void {
48
+ const filepath = getEntityPath(entityType, entity.id);
49
+ const now = new Date().toISOString();
50
+
51
+ const existing = getEntity<T>(entityType, entity.id);
52
+
53
+ const data: T = {
54
+ ...entity,
55
+ createdAt: existing?.createdAt || now,
56
+ updatedAt: now,
57
+ };
58
+
59
+ writeFileSync(filepath, JSON.stringify(data, null, 2));
60
+ }
61
+
62
+ /**
63
+ * Get an entity by ID
64
+ */
65
+ export function getEntity<T extends Storable>(entityType: string, id: string): T | null {
66
+ const filepath = getEntityPath(entityType, id);
67
+
68
+ if (!existsSync(filepath)) {
69
+ return null;
70
+ }
71
+
72
+ try {
73
+ const content = readFileSync(filepath, 'utf-8');
74
+ return JSON.parse(content) as T;
75
+ } catch {
76
+ return null;
77
+ }
78
+ }
79
+
80
+ /**
81
+ * Check if an entity exists
82
+ */
83
+ export function entityExists(entityType: string, id: string): boolean {
84
+ return existsSync(getEntityPath(entityType, id));
85
+ }
86
+
87
+ /**
88
+ * Get all entities of a type
89
+ */
90
+ export function getAllEntities<T extends Storable>(entityType: string): T[] {
91
+ const storageDir = getStorageDir(entityType);
92
+ const files = readdirSync(storageDir).filter(f => f.endsWith('.json'));
93
+
94
+ const entities: T[] = [];
95
+ for (const file of files) {
96
+ try {
97
+ const content = readFileSync(join(storageDir, file), 'utf-8');
98
+ entities.push(JSON.parse(content) as T);
99
+ } catch {
100
+ // Skip invalid files
101
+ }
102
+ }
103
+
104
+ return entities.sort((a, b) => a.id.localeCompare(b.id));
105
+ }
106
+
107
+ /**
108
+ * Delete an entity
109
+ */
110
+ export function deleteEntity(entityType: string, id: string): boolean {
111
+ const filepath = getEntityPath(entityType, id);
112
+
113
+ if (existsSync(filepath)) {
114
+ unlinkSync(filepath);
115
+ return true;
116
+ }
117
+ return false;
118
+ }
119
+
120
+ /**
121
+ * Search entities by a predicate function
122
+ */
123
+ export function searchEntities<T extends Storable>(
124
+ entityType: string,
125
+ predicate: (entity: T) => boolean
126
+ ): T[] {
127
+ const all = getAllEntities<T>(entityType);
128
+ return all.filter(predicate);
129
+ }
130
+
131
+ /**
132
+ * Search entities by text match across all string fields
133
+ */
134
+ export function searchEntitiesByText<T extends Storable>(
135
+ entityType: string,
136
+ query: string,
137
+ fields?: (keyof T)[]
138
+ ): T[] {
139
+ const all = getAllEntities<T>(entityType);
140
+ const q = query.toLowerCase();
141
+
142
+ return all.filter(entity => {
143
+ const searchFields = fields || (Object.keys(entity) as (keyof T)[]);
144
+ return searchFields.some(field => {
145
+ const value = entity[field];
146
+ if (typeof value === 'string') {
147
+ return value.toLowerCase().includes(q);
148
+ }
149
+ return false;
150
+ });
151
+ });
152
+ }
153
+
154
+ /**
155
+ * Count entities of a type
156
+ */
157
+ export function countEntities(entityType: string): number {
158
+ const storageDir = getStorageDir(entityType);
159
+ if (!existsSync(storageDir)) {
160
+ return 0;
161
+ }
162
+ return readdirSync(storageDir).filter(f => f.endsWith('.json')).length;
163
+ }
164
+
165
+ /**
166
+ * Clear all entities of a type
167
+ */
168
+ export function clearEntities(entityType: string): number {
169
+ const storageDir = getStorageDir(entityType);
170
+ if (!existsSync(storageDir)) {
171
+ return 0;
172
+ }
173
+
174
+ const files = readdirSync(storageDir).filter(f => f.endsWith('.json'));
175
+ for (const file of files) {
176
+ unlinkSync(join(storageDir, file));
177
+ }
178
+
179
+ return files.length;
180
+ }
181
+
182
+ /**
183
+ * Create a typed storage helper for a specific entity type
184
+ * This provides a cleaner API for working with a single entity type
185
+ */
186
+ export function createStorage<T extends Storable>(entityType: string) {
187
+ return {
188
+ save: (entity: T) => saveEntity<T>(entityType, entity),
189
+ get: (id: string) => getEntity<T>(entityType, id),
190
+ exists: (id: string) => entityExists(entityType, id),
191
+ getAll: () => getAllEntities<T>(entityType),
192
+ delete: (id: string) => deleteEntity(entityType, id),
193
+ search: (predicate: (entity: T) => boolean) => searchEntities<T>(entityType, predicate),
194
+ searchByText: (query: string, fields?: (keyof T)[]) => searchEntitiesByText<T>(entityType, query, fields),
195
+ count: () => countEntities(entityType),
196
+ clear: () => clearEntities(entityType),
197
+ };
198
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "module": "ESNext",
5
+ "moduleResolution": "bundler",
6
+ "esModuleInterop": true,
7
+ "strict": true,
8
+ "skipLibCheck": true,
9
+ "declaration": true,
10
+ "outDir": "./dist",
11
+ "rootDir": "./src",
12
+ "types": ["bun-types"]
13
+ },
14
+ "include": ["src/**/*"],
15
+ "exclude": ["node_modules", "dist", "bin"]
16
+ }
@@ -0,0 +1,11 @@
1
+ # API Credentials
2
+ # TODO: Update variable names and instructions for your API
3
+ # Example: PERPLEXITY_API_KEY, OPENAI_API_KEY, etc.
4
+
5
+ CONNECTOR_API_KEY=your-api-key-here
6
+
7
+ # Optional: API secret (if your API requires it)
8
+ # CONNECTOR_API_SECRET=your-api-secret-here
9
+
10
+ # Optional: Custom base URL (if needed)
11
+ # CONNECTOR_BASE_URL=https://api.example.com
@@ -0,0 +1,197 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ connect-digitalocean is a TypeScript connector for DigitalOcean's REST API. It provides a CLI and programmatic interface for managing droplets, volumes, databases, domains, Kubernetes clusters, and more.
8
+
9
+ ## Build & Run Commands
10
+
11
+ ```bash
12
+ bun install # Install dependencies
13
+ bun run dev # Run CLI in development
14
+ bun run build # Build for distribution
15
+ bun run typecheck # Type check
16
+ ```
17
+
18
+ ## CLI Commands
19
+
20
+ ```bash
21
+ # Authentication
22
+ connect-digitalocean config set-key <key> # Set API key
23
+ connect-digitalocean config show # Show current config
24
+ connect-digitalocean config clear # Clear config
25
+
26
+ # Profile management
27
+ connect-digitalocean profile list # List profiles
28
+ connect-digitalocean profile use <name> # Switch profile
29
+ connect-digitalocean profile create <name> # Create profile
30
+ connect-digitalocean profile delete <name> # Delete profile
31
+
32
+ # Account
33
+ connect-digitalocean account # Get account info
34
+
35
+ # Regions and Sizes
36
+ connect-digitalocean regions # List regions
37
+ connect-digitalocean sizes # List sizes
38
+
39
+ # Droplets
40
+ connect-digitalocean droplet list # List droplets
41
+ connect-digitalocean droplet get <id> # Get droplet details
42
+ connect-digitalocean droplet create # Create droplet
43
+ connect-digitalocean droplet delete <id> # Delete droplet
44
+ connect-digitalocean droplet action <id> # Perform action
45
+
46
+ # Images
47
+ connect-digitalocean image list # List images
48
+ connect-digitalocean image get <id> # Get image details
49
+ connect-digitalocean image delete <id> # Delete image
50
+
51
+ # SSH Keys
52
+ connect-digitalocean ssh-key list # List SSH keys
53
+ connect-digitalocean ssh-key get <id> # Get key details
54
+ connect-digitalocean ssh-key create # Create SSH key
55
+ connect-digitalocean ssh-key delete <id> # Delete SSH key
56
+
57
+ # Volumes
58
+ connect-digitalocean volume list # List volumes
59
+ connect-digitalocean volume get <id> # Get volume details
60
+ connect-digitalocean volume create # Create volume
61
+ connect-digitalocean volume delete <id> # Delete volume
62
+ connect-digitalocean volume attach <id> <dropletId> # Attach volume
63
+ connect-digitalocean volume detach <id> <dropletId> # Detach volume
64
+
65
+ # Domains
66
+ connect-digitalocean domain list # List domains
67
+ connect-digitalocean domain get <domain> # Get domain details
68
+ connect-digitalocean domain create <domain> # Create domain
69
+ connect-digitalocean domain delete <domain> # Delete domain
70
+ connect-digitalocean domain records <domain> # List records
71
+ connect-digitalocean domain record-create <domain> # Create record
72
+ connect-digitalocean domain record-delete <domain> <recordId> # Delete record
73
+
74
+ # Firewalls
75
+ connect-digitalocean firewall list # List firewalls
76
+ connect-digitalocean firewall get <id> # Get firewall details
77
+ connect-digitalocean firewall delete <id> # Delete firewall
78
+
79
+ # Load Balancers
80
+ connect-digitalocean load-balancer list # List load balancers
81
+ connect-digitalocean load-balancer get <id> # Get load balancer details
82
+ connect-digitalocean load-balancer delete <id> # Delete load balancer
83
+
84
+ # Databases
85
+ connect-digitalocean database list # List databases
86
+ connect-digitalocean database get <id> # Get database details
87
+ connect-digitalocean database create # Create database cluster
88
+ connect-digitalocean database delete <id> # Delete database cluster
89
+
90
+ # Kubernetes
91
+ connect-digitalocean kubernetes list # List K8s clusters
92
+ connect-digitalocean kubernetes get <id> # Get cluster details
93
+ connect-digitalocean kubernetes delete <id> # Delete cluster
94
+ connect-digitalocean kubernetes kubeconfig <id> # Get kubeconfig
95
+
96
+ # Projects
97
+ connect-digitalocean project list # List projects
98
+ connect-digitalocean project get <id> # Get project details
99
+ connect-digitalocean project create # Create project
100
+ connect-digitalocean project delete <id> # Delete project
101
+ connect-digitalocean project default # Get default project
102
+
103
+ # Snapshots
104
+ connect-digitalocean snapshot list # List snapshots
105
+ connect-digitalocean snapshot get <id> # Get snapshot details
106
+ connect-digitalocean snapshot delete <id> # Delete snapshot
107
+
108
+ # Floating IPs
109
+ connect-digitalocean floating-ip list # List floating IPs
110
+ connect-digitalocean floating-ip get <ip> # Get floating IP details
111
+ connect-digitalocean floating-ip create # Create floating IP
112
+ connect-digitalocean floating-ip delete <ip> # Delete floating IP
113
+
114
+ # VPCs
115
+ connect-digitalocean vpc list # List VPCs
116
+ connect-digitalocean vpc get <id> # Get VPC details
117
+ connect-digitalocean vpc create # Create VPC
118
+ connect-digitalocean vpc delete <id> # Delete VPC
119
+
120
+ # Actions
121
+ connect-digitalocean action list # List all actions
122
+ connect-digitalocean action get <id> # Get action details
123
+ ```
124
+
125
+ ## Environment Variables
126
+
127
+ | Variable | Description |
128
+ |----------|-------------|
129
+ | `DIGITALOCEAN_TOKEN` | API token (overrides profile) |
130
+ | `DIGITALOCEAN_ACCESS_TOKEN` | Alias for DIGITALOCEAN_TOKEN |
131
+
132
+ ## Authentication
133
+
134
+ Uses Bearer token authentication. Get your token from:
135
+ https://cloud.digitalocean.com/account/api/tokens
136
+
137
+ ## Data Storage
138
+
139
+ ```
140
+ ~/.connect/connect-digitalocean/
141
+ ├── current_profile # Active profile name
142
+ └── profiles/
143
+ ├── default.json # Default profile
144
+ └── {name}.json # Named profiles
145
+ ```
146
+
147
+ Profile JSON structure:
148
+ ```json
149
+ {
150
+ "apiKey": "dop_v1_xxx"
151
+ }
152
+ ```
153
+
154
+ ## Code Style
155
+
156
+ - TypeScript with strict mode
157
+ - ESM modules (type: module)
158
+ - Use async/await for all async operations
159
+ - Type annotations required everywhere
160
+
161
+ ## Project Structure
162
+
163
+ ```
164
+ src/
165
+ ├── api/
166
+ │ ├── client.ts # HTTP client with Bearer auth
167
+ │ └── index.ts # DigitalOcean API wrapper
168
+ ├── cli/
169
+ │ └── index.ts # CLI commands
170
+ ├── types/
171
+ │ └── index.ts # Type definitions
172
+ ├── utils/
173
+ │ ├── config.ts # Multi-profile configuration
174
+ │ └── output.ts # CLI output formatting
175
+ └── index.ts # Library exports
176
+ ```
177
+
178
+ ## API Coverage
179
+
180
+ - Account: Get account info
181
+ - Regions: List
182
+ - Sizes: List
183
+ - Droplets: List, get, create, delete, actions
184
+ - Images: List, get, delete
185
+ - SSH Keys: List, get, create, delete
186
+ - Volumes: List, get, create, delete, attach, detach
187
+ - Domains: List, get, create, delete
188
+ - Domain Records: List, get, create, update, delete
189
+ - Firewalls: List, get, create, update, delete
190
+ - Load Balancers: List, get, delete
191
+ - Databases: List, get, create, delete
192
+ - Kubernetes: List, get, delete, kubeconfig
193
+ - Projects: List, get, create, update, delete, default
194
+ - Snapshots: List, get, delete
195
+ - Floating IPs: List, get, create, delete
196
+ - VPCs: List, get, create, update, delete
197
+ - Actions: List, get
@@ -0,0 +1,146 @@
1
+ # connect-digitalocean
2
+
3
+ DigitalOcean connector - Manage droplets, volumes, databases, domains, and more
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ bun install -g @hasna/connect-digitalocean
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ```bash
14
+ # Set your API key
15
+ connect-digitalocean config set-key YOUR_API_KEY
16
+
17
+ # Or use environment variable
18
+ export DIGITALOCEAN_TOKEN=YOUR_API_KEY
19
+ ```
20
+
21
+ ## CLI Commands
22
+
23
+ ### Account & Infrastructure
24
+ ```bash
25
+ connect-digitalocean account # Get account info
26
+ connect-digitalocean regions # List regions
27
+ connect-digitalocean sizes # List sizes
28
+ ```
29
+
30
+ ### Droplets
31
+ ```bash
32
+ connect-digitalocean droplet list # List droplets
33
+ connect-digitalocean droplet get <id> # Get droplet details
34
+ connect-digitalocean droplet create # Create droplet
35
+ connect-digitalocean droplet delete <id> # Delete droplet
36
+ connect-digitalocean droplet action <id> # Perform action
37
+ ```
38
+
39
+ ### Volumes
40
+ ```bash
41
+ connect-digitalocean volume list # List volumes
42
+ connect-digitalocean volume get <id> # Get volume details
43
+ connect-digitalocean volume create # Create volume
44
+ connect-digitalocean volume delete <id> # Delete volume
45
+ connect-digitalocean volume attach <id> <dropletId> # Attach volume
46
+ connect-digitalocean volume detach <id> <dropletId> # Detach volume
47
+ ```
48
+
49
+ ### Domains
50
+ ```bash
51
+ connect-digitalocean domain list # List domains
52
+ connect-digitalocean domain get <domain> # Get domain details
53
+ connect-digitalocean domain create <domain> # Create domain
54
+ connect-digitalocean domain delete <domain> # Delete domain
55
+ connect-digitalocean domain records <domain> # List records
56
+ ```
57
+
58
+ ### Databases
59
+ ```bash
60
+ connect-digitalocean database list # List databases
61
+ connect-digitalocean database get <id> # Get database details
62
+ connect-digitalocean database create # Create database cluster
63
+ connect-digitalocean database delete <id> # Delete database cluster
64
+ ```
65
+
66
+ ### Kubernetes
67
+ ```bash
68
+ connect-digitalocean kubernetes list # List K8s clusters
69
+ connect-digitalocean kubernetes get <id> # Get cluster details
70
+ connect-digitalocean kubernetes delete <id> # Delete cluster
71
+ connect-digitalocean kubernetes kubeconfig <id> # Get kubeconfig
72
+ ```
73
+
74
+ ### Profile & Config
75
+ ```bash
76
+ connect-digitalocean profile list # List profiles
77
+ connect-digitalocean profile use <name> # Switch profile
78
+ connect-digitalocean profile create <name> # Create profile
79
+ connect-digitalocean config set-key <key> # Set API key
80
+ connect-digitalocean config show # Show config
81
+ connect-digitalocean config clear # Clear config
82
+ ```
83
+
84
+ ## Profile Management
85
+
86
+ ```bash
87
+ # Create profiles for different accounts
88
+ connect-digitalocean profile create work --api-key xxx --use
89
+ connect-digitalocean profile create personal --api-key yyy
90
+
91
+ # Switch profiles
92
+ connect-digitalocean profile use work
93
+
94
+ # Use profile for single command
95
+ connect-digitalocean -p personal <command>
96
+
97
+ # List profiles
98
+ connect-digitalocean profile list
99
+ ```
100
+
101
+ ## Library Usage
102
+
103
+ ```typescript
104
+ import { DigitalOcean } from '@hasna/connect-digitalocean';
105
+
106
+ const client = new DigitalOcean({ apiKey: 'YOUR_API_KEY' });
107
+ ```
108
+
109
+ ## Environment Variables
110
+
111
+ | Variable | Description |
112
+ |----------|-------------|
113
+ | `DIGITALOCEAN_TOKEN` | API token (overrides profile) |
114
+ | `DIGITALOCEAN_ACCESS_TOKEN` | Alias for DIGITALOCEAN_TOKEN |
115
+
116
+ ## Data Storage
117
+
118
+ Configuration stored in `~/.connect/connect-digitalocean/`:
119
+
120
+ ```
121
+ ~/.connect/connect-digitalocean/
122
+ ├── current_profile # Active profile name
123
+ └── profiles/
124
+ ├── default.json # Default profile
125
+ └── {name}.json # Named profiles
126
+ ```
127
+
128
+ ## Development
129
+
130
+ ```bash
131
+ # Install dependencies
132
+ bun install
133
+
134
+ # Run CLI in development
135
+ bun run dev
136
+
137
+ # Build
138
+ bun run build
139
+
140
+ # Type check
141
+ bun run typecheck
142
+ ```
143
+
144
+ ## License
145
+
146
+ Apache-2.0
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@hasna/connect-digitalocean",
3
+ "version": "0.0.1",
4
+ "description": "DigitalOcean connector - Manage droplets, volumes, databases, domains, and more",
5
+ "type": "module",
6
+ "bin": {
7
+ "connect-digitalocean": "./bin/index.js"
8
+ },
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "types": "./dist/index.d.ts"
13
+ }
14
+ },
15
+ "main": "./dist/index.js",
16
+ "types": "./dist/index.d.ts",
17
+ "scripts": {
18
+ "build": "bun build ./src/index.ts --outdir ./dist --target bun && bun build ./src/cli/index.ts --outdir ./bin --target bun",
19
+ "dev": "bun run ./src/cli/index.ts",
20
+ "typecheck": "tsc --noEmit",
21
+ "prepublishOnly": "bun run build"
22
+ },
23
+ "keywords": [
24
+ "digitalocean",
25
+ "droplets",
26
+ "cloud",
27
+ "vps",
28
+ "infrastructure",
29
+ "kubernetes",
30
+ "databases",
31
+ "connector",
32
+ "cli",
33
+ "typescript",
34
+ "bun"
35
+ ],
36
+ "author": "Hasna",
37
+ "license": "Apache-2.0",
38
+ "devDependencies": {
39
+ "@types/bun": "latest",
40
+ "typescript": "^5"
41
+ },
42
+ "dependencies": {
43
+ "commander": "^12.1.0",
44
+ "chalk": "^5.3.0"
45
+ },
46
+ "engines": {
47
+ "bun": ">=1.0.0"
48
+ },
49
+ "repository": {
50
+ "type": "git",
51
+ "url": "git+https://github.com/hasna/connectors.git"
52
+ }
53
+ }