@hasna/connectors 1.0.5 → 1.0.6

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 (640) hide show
  1. package/bin/index.js +253 -1
  2. package/bin/mcp.js +253 -1
  3. package/bin/serve.js +252 -0
  4. package/connectors/connect-papyrs/.env.example +11 -0
  5. package/connectors/connect-papyrs/CLAUDE.md +272 -0
  6. package/connectors/connect-papyrs/README.md +193 -0
  7. package/connectors/connect-papyrs/package.json +51 -0
  8. package/connectors/connect-papyrs/scripts/release.ts +179 -0
  9. package/connectors/connect-papyrs/src/api/client.ts +213 -0
  10. package/connectors/connect-papyrs/src/api/example.ts +48 -0
  11. package/connectors/connect-papyrs/src/api/index.ts +51 -0
  12. package/connectors/connect-papyrs/src/cli/index.ts +254 -0
  13. package/connectors/connect-papyrs/src/index.ts +103 -0
  14. package/connectors/connect-papyrs/src/types/index.ts +237 -0
  15. package/connectors/connect-papyrs/src/utils/auth.ts +274 -0
  16. package/connectors/connect-papyrs/src/utils/bulk.ts +212 -0
  17. package/connectors/connect-papyrs/src/utils/config.ts +326 -0
  18. package/connectors/connect-papyrs/src/utils/output.ts +175 -0
  19. package/connectors/connect-papyrs/src/utils/settings.ts +114 -0
  20. package/connectors/connect-papyrs/src/utils/storage.ts +198 -0
  21. package/connectors/connect-papyrs/tsconfig.json +16 -0
  22. package/connectors/connect-parsehub/.env.example +11 -0
  23. package/connectors/connect-parsehub/CLAUDE.md +272 -0
  24. package/connectors/connect-parsehub/README.md +193 -0
  25. package/connectors/connect-parsehub/package.json +51 -0
  26. package/connectors/connect-parsehub/scripts/release.ts +179 -0
  27. package/connectors/connect-parsehub/src/api/client.ts +213 -0
  28. package/connectors/connect-parsehub/src/api/example.ts +48 -0
  29. package/connectors/connect-parsehub/src/api/index.ts +51 -0
  30. package/connectors/connect-parsehub/src/cli/index.ts +254 -0
  31. package/connectors/connect-parsehub/src/index.ts +103 -0
  32. package/connectors/connect-parsehub/src/types/index.ts +237 -0
  33. package/connectors/connect-parsehub/src/utils/auth.ts +274 -0
  34. package/connectors/connect-parsehub/src/utils/bulk.ts +212 -0
  35. package/connectors/connect-parsehub/src/utils/config.ts +326 -0
  36. package/connectors/connect-parsehub/src/utils/output.ts +175 -0
  37. package/connectors/connect-parsehub/src/utils/settings.ts +114 -0
  38. package/connectors/connect-parsehub/src/utils/storage.ts +198 -0
  39. package/connectors/connect-parsehub/tsconfig.json +16 -0
  40. package/connectors/connect-parseprompt/.env.example +11 -0
  41. package/connectors/connect-parseprompt/CLAUDE.md +272 -0
  42. package/connectors/connect-parseprompt/README.md +193 -0
  43. package/connectors/connect-parseprompt/package.json +51 -0
  44. package/connectors/connect-parseprompt/scripts/release.ts +179 -0
  45. package/connectors/connect-parseprompt/src/api/client.ts +213 -0
  46. package/connectors/connect-parseprompt/src/api/example.ts +48 -0
  47. package/connectors/connect-parseprompt/src/api/index.ts +51 -0
  48. package/connectors/connect-parseprompt/src/cli/index.ts +254 -0
  49. package/connectors/connect-parseprompt/src/index.ts +103 -0
  50. package/connectors/connect-parseprompt/src/types/index.ts +237 -0
  51. package/connectors/connect-parseprompt/src/utils/auth.ts +274 -0
  52. package/connectors/connect-parseprompt/src/utils/bulk.ts +212 -0
  53. package/connectors/connect-parseprompt/src/utils/config.ts +326 -0
  54. package/connectors/connect-parseprompt/src/utils/output.ts +175 -0
  55. package/connectors/connect-parseprompt/src/utils/settings.ts +114 -0
  56. package/connectors/connect-parseprompt/src/utils/storage.ts +198 -0
  57. package/connectors/connect-parseprompt/tsconfig.json +16 -0
  58. package/connectors/connect-passcreator/.env.example +11 -0
  59. package/connectors/connect-passcreator/CLAUDE.md +272 -0
  60. package/connectors/connect-passcreator/README.md +193 -0
  61. package/connectors/connect-passcreator/package.json +51 -0
  62. package/connectors/connect-passcreator/scripts/release.ts +179 -0
  63. package/connectors/connect-passcreator/src/api/client.ts +213 -0
  64. package/connectors/connect-passcreator/src/api/example.ts +48 -0
  65. package/connectors/connect-passcreator/src/api/index.ts +51 -0
  66. package/connectors/connect-passcreator/src/cli/index.ts +254 -0
  67. package/connectors/connect-passcreator/src/index.ts +103 -0
  68. package/connectors/connect-passcreator/src/types/index.ts +237 -0
  69. package/connectors/connect-passcreator/src/utils/auth.ts +274 -0
  70. package/connectors/connect-passcreator/src/utils/bulk.ts +212 -0
  71. package/connectors/connect-passcreator/src/utils/config.ts +326 -0
  72. package/connectors/connect-passcreator/src/utils/output.ts +175 -0
  73. package/connectors/connect-passcreator/src/utils/settings.ts +114 -0
  74. package/connectors/connect-passcreator/src/utils/storage.ts +198 -0
  75. package/connectors/connect-passcreator/tsconfig.json +16 -0
  76. package/connectors/connect-passslot/.env.example +11 -0
  77. package/connectors/connect-passslot/CLAUDE.md +272 -0
  78. package/connectors/connect-passslot/README.md +193 -0
  79. package/connectors/connect-passslot/package.json +51 -0
  80. package/connectors/connect-passslot/scripts/release.ts +179 -0
  81. package/connectors/connect-passslot/src/api/client.ts +213 -0
  82. package/connectors/connect-passslot/src/api/example.ts +48 -0
  83. package/connectors/connect-passslot/src/api/index.ts +51 -0
  84. package/connectors/connect-passslot/src/cli/index.ts +254 -0
  85. package/connectors/connect-passslot/src/index.ts +103 -0
  86. package/connectors/connect-passslot/src/types/index.ts +237 -0
  87. package/connectors/connect-passslot/src/utils/auth.ts +274 -0
  88. package/connectors/connect-passslot/src/utils/bulk.ts +212 -0
  89. package/connectors/connect-passslot/src/utils/config.ts +326 -0
  90. package/connectors/connect-passslot/src/utils/output.ts +175 -0
  91. package/connectors/connect-passslot/src/utils/settings.ts +114 -0
  92. package/connectors/connect-passslot/src/utils/storage.ts +198 -0
  93. package/connectors/connect-passslot/tsconfig.json +16 -0
  94. package/connectors/connect-patentsview/.env.example +7 -0
  95. package/connectors/connect-patentsview/CLAUDE.md +257 -0
  96. package/connectors/connect-patentsview/README.md +334 -0
  97. package/connectors/connect-patentsview/package.json +54 -0
  98. package/connectors/connect-patentsview/src/api/assignees.ts +182 -0
  99. package/connectors/connect-patentsview/src/api/client.ts +139 -0
  100. package/connectors/connect-patentsview/src/api/cpc.ts +191 -0
  101. package/connectors/connect-patentsview/src/api/index.ts +73 -0
  102. package/connectors/connect-patentsview/src/api/inventors.ts +176 -0
  103. package/connectors/connect-patentsview/src/api/locations.ts +200 -0
  104. package/connectors/connect-patentsview/src/api/patents.ts +202 -0
  105. package/connectors/connect-patentsview/src/cli/index.ts +649 -0
  106. package/connectors/connect-patentsview/src/index.ts +24 -0
  107. package/connectors/connect-patentsview/src/types/index.ts +333 -0
  108. package/connectors/connect-patentsview/src/utils/config.ts +212 -0
  109. package/connectors/connect-patentsview/src/utils/output.ts +119 -0
  110. package/connectors/connect-patentsview/tsconfig.json +16 -0
  111. package/connectors/connect-patreon/.env.example +11 -0
  112. package/connectors/connect-patreon/CLAUDE.md +272 -0
  113. package/connectors/connect-patreon/README.md +193 -0
  114. package/connectors/connect-patreon/package.json +51 -0
  115. package/connectors/connect-patreon/scripts/release.ts +179 -0
  116. package/connectors/connect-patreon/src/api/client.ts +213 -0
  117. package/connectors/connect-patreon/src/api/example.ts +48 -0
  118. package/connectors/connect-patreon/src/api/index.ts +51 -0
  119. package/connectors/connect-patreon/src/cli/index.ts +254 -0
  120. package/connectors/connect-patreon/src/index.ts +103 -0
  121. package/connectors/connect-patreon/src/types/index.ts +237 -0
  122. package/connectors/connect-patreon/src/utils/auth.ts +274 -0
  123. package/connectors/connect-patreon/src/utils/bulk.ts +212 -0
  124. package/connectors/connect-patreon/src/utils/config.ts +326 -0
  125. package/connectors/connect-patreon/src/utils/output.ts +175 -0
  126. package/connectors/connect-patreon/src/utils/settings.ts +114 -0
  127. package/connectors/connect-patreon/src/utils/storage.ts +198 -0
  128. package/connectors/connect-patreon/tsconfig.json +16 -0
  129. package/connectors/connect-paymo/.env.example +11 -0
  130. package/connectors/connect-paymo/CLAUDE.md +272 -0
  131. package/connectors/connect-paymo/README.md +193 -0
  132. package/connectors/connect-paymo/package.json +51 -0
  133. package/connectors/connect-paymo/scripts/release.ts +179 -0
  134. package/connectors/connect-paymo/src/api/client.ts +213 -0
  135. package/connectors/connect-paymo/src/api/example.ts +48 -0
  136. package/connectors/connect-paymo/src/api/index.ts +51 -0
  137. package/connectors/connect-paymo/src/cli/index.ts +254 -0
  138. package/connectors/connect-paymo/src/index.ts +103 -0
  139. package/connectors/connect-paymo/src/types/index.ts +237 -0
  140. package/connectors/connect-paymo/src/utils/auth.ts +274 -0
  141. package/connectors/connect-paymo/src/utils/bulk.ts +212 -0
  142. package/connectors/connect-paymo/src/utils/config.ts +326 -0
  143. package/connectors/connect-paymo/src/utils/output.ts +175 -0
  144. package/connectors/connect-paymo/src/utils/settings.ts +114 -0
  145. package/connectors/connect-paymo/src/utils/storage.ts +198 -0
  146. package/connectors/connect-paymo/tsconfig.json +16 -0
  147. package/connectors/connect-peekalink/.env.example +11 -0
  148. package/connectors/connect-peekalink/CLAUDE.md +272 -0
  149. package/connectors/connect-peekalink/README.md +193 -0
  150. package/connectors/connect-peekalink/package.json +51 -0
  151. package/connectors/connect-peekalink/scripts/release.ts +179 -0
  152. package/connectors/connect-peekalink/src/api/client.ts +213 -0
  153. package/connectors/connect-peekalink/src/api/example.ts +48 -0
  154. package/connectors/connect-peekalink/src/api/index.ts +51 -0
  155. package/connectors/connect-peekalink/src/cli/index.ts +254 -0
  156. package/connectors/connect-peekalink/src/index.ts +103 -0
  157. package/connectors/connect-peekalink/src/types/index.ts +237 -0
  158. package/connectors/connect-peekalink/src/utils/auth.ts +274 -0
  159. package/connectors/connect-peekalink/src/utils/bulk.ts +212 -0
  160. package/connectors/connect-peekalink/src/utils/config.ts +326 -0
  161. package/connectors/connect-peekalink/src/utils/output.ts +175 -0
  162. package/connectors/connect-peekalink/src/utils/settings.ts +114 -0
  163. package/connectors/connect-peekalink/src/utils/storage.ts +198 -0
  164. package/connectors/connect-peekalink/tsconfig.json +16 -0
  165. package/connectors/connect-persio/.env.example +11 -0
  166. package/connectors/connect-persio/CLAUDE.md +272 -0
  167. package/connectors/connect-persio/README.md +193 -0
  168. package/connectors/connect-persio/package.json +51 -0
  169. package/connectors/connect-persio/scripts/release.ts +179 -0
  170. package/connectors/connect-persio/src/api/client.ts +213 -0
  171. package/connectors/connect-persio/src/api/example.ts +48 -0
  172. package/connectors/connect-persio/src/api/index.ts +51 -0
  173. package/connectors/connect-persio/src/cli/index.ts +254 -0
  174. package/connectors/connect-persio/src/index.ts +103 -0
  175. package/connectors/connect-persio/src/types/index.ts +237 -0
  176. package/connectors/connect-persio/src/utils/auth.ts +274 -0
  177. package/connectors/connect-persio/src/utils/bulk.ts +212 -0
  178. package/connectors/connect-persio/src/utils/config.ts +326 -0
  179. package/connectors/connect-persio/src/utils/output.ts +175 -0
  180. package/connectors/connect-persio/src/utils/settings.ts +114 -0
  181. package/connectors/connect-persio/src/utils/storage.ts +198 -0
  182. package/connectors/connect-persio/tsconfig.json +16 -0
  183. package/connectors/connect-personalai/.env.example +11 -0
  184. package/connectors/connect-personalai/CLAUDE.md +272 -0
  185. package/connectors/connect-personalai/README.md +193 -0
  186. package/connectors/connect-personalai/package.json +51 -0
  187. package/connectors/connect-personalai/scripts/release.ts +179 -0
  188. package/connectors/connect-personalai/src/api/client.ts +213 -0
  189. package/connectors/connect-personalai/src/api/example.ts +48 -0
  190. package/connectors/connect-personalai/src/api/index.ts +51 -0
  191. package/connectors/connect-personalai/src/cli/index.ts +254 -0
  192. package/connectors/connect-personalai/src/index.ts +103 -0
  193. package/connectors/connect-personalai/src/types/index.ts +237 -0
  194. package/connectors/connect-personalai/src/utils/auth.ts +274 -0
  195. package/connectors/connect-personalai/src/utils/bulk.ts +212 -0
  196. package/connectors/connect-personalai/src/utils/config.ts +326 -0
  197. package/connectors/connect-personalai/src/utils/output.ts +175 -0
  198. package/connectors/connect-personalai/src/utils/settings.ts +114 -0
  199. package/connectors/connect-personalai/src/utils/storage.ts +198 -0
  200. package/connectors/connect-personalai/tsconfig.json +16 -0
  201. package/connectors/connect-phantombuster/.env.example +11 -0
  202. package/connectors/connect-phantombuster/CLAUDE.md +272 -0
  203. package/connectors/connect-phantombuster/README.md +193 -0
  204. package/connectors/connect-phantombuster/package.json +51 -0
  205. package/connectors/connect-phantombuster/scripts/release.ts +179 -0
  206. package/connectors/connect-phantombuster/src/api/client.ts +213 -0
  207. package/connectors/connect-phantombuster/src/api/example.ts +48 -0
  208. package/connectors/connect-phantombuster/src/api/index.ts +51 -0
  209. package/connectors/connect-phantombuster/src/cli/index.ts +254 -0
  210. package/connectors/connect-phantombuster/src/index.ts +103 -0
  211. package/connectors/connect-phantombuster/src/types/index.ts +237 -0
  212. package/connectors/connect-phantombuster/src/utils/auth.ts +274 -0
  213. package/connectors/connect-phantombuster/src/utils/bulk.ts +212 -0
  214. package/connectors/connect-phantombuster/src/utils/config.ts +326 -0
  215. package/connectors/connect-phantombuster/src/utils/output.ts +175 -0
  216. package/connectors/connect-phantombuster/src/utils/settings.ts +114 -0
  217. package/connectors/connect-phantombuster/src/utils/storage.ts +198 -0
  218. package/connectors/connect-phantombuster/tsconfig.json +16 -0
  219. package/connectors/connect-philipshue/.env.example +11 -0
  220. package/connectors/connect-philipshue/CLAUDE.md +272 -0
  221. package/connectors/connect-philipshue/README.md +193 -0
  222. package/connectors/connect-philipshue/package.json +51 -0
  223. package/connectors/connect-philipshue/scripts/release.ts +179 -0
  224. package/connectors/connect-philipshue/src/api/client.ts +213 -0
  225. package/connectors/connect-philipshue/src/api/example.ts +48 -0
  226. package/connectors/connect-philipshue/src/api/index.ts +51 -0
  227. package/connectors/connect-philipshue/src/cli/index.ts +254 -0
  228. package/connectors/connect-philipshue/src/index.ts +103 -0
  229. package/connectors/connect-philipshue/src/types/index.ts +237 -0
  230. package/connectors/connect-philipshue/src/utils/auth.ts +274 -0
  231. package/connectors/connect-philipshue/src/utils/bulk.ts +212 -0
  232. package/connectors/connect-philipshue/src/utils/config.ts +326 -0
  233. package/connectors/connect-philipshue/src/utils/output.ts +175 -0
  234. package/connectors/connect-philipshue/src/utils/settings.ts +114 -0
  235. package/connectors/connect-philipshue/src/utils/storage.ts +198 -0
  236. package/connectors/connect-philipshue/tsconfig.json +16 -0
  237. package/connectors/connect-phrase/.env.example +11 -0
  238. package/connectors/connect-phrase/CLAUDE.md +272 -0
  239. package/connectors/connect-phrase/README.md +193 -0
  240. package/connectors/connect-phrase/package.json +51 -0
  241. package/connectors/connect-phrase/scripts/release.ts +179 -0
  242. package/connectors/connect-phrase/src/api/client.ts +213 -0
  243. package/connectors/connect-phrase/src/api/example.ts +48 -0
  244. package/connectors/connect-phrase/src/api/index.ts +51 -0
  245. package/connectors/connect-phrase/src/cli/index.ts +254 -0
  246. package/connectors/connect-phrase/src/index.ts +103 -0
  247. package/connectors/connect-phrase/src/types/index.ts +237 -0
  248. package/connectors/connect-phrase/src/utils/auth.ts +274 -0
  249. package/connectors/connect-phrase/src/utils/bulk.ts +212 -0
  250. package/connectors/connect-phrase/src/utils/config.ts +326 -0
  251. package/connectors/connect-phrase/src/utils/output.ts +175 -0
  252. package/connectors/connect-phrase/src/utils/settings.ts +114 -0
  253. package/connectors/connect-phrase/src/utils/storage.ts +198 -0
  254. package/connectors/connect-phrase/tsconfig.json +16 -0
  255. package/connectors/connect-pika/.env.example +11 -0
  256. package/connectors/connect-pika/CLAUDE.md +128 -0
  257. package/connectors/connect-pika/README.md +193 -0
  258. package/connectors/connect-pika/package.json +51 -0
  259. package/connectors/connect-pika/src/api/client.ts +77 -0
  260. package/connectors/connect-pika/src/api/index.ts +40 -0
  261. package/connectors/connect-pika/src/cli/index.ts +300 -0
  262. package/connectors/connect-pika/src/index.ts +19 -0
  263. package/connectors/connect-pika/src/types/index.ts +54 -0
  264. package/connectors/connect-pika/src/utils/config.ts +103 -0
  265. package/connectors/connect-pika/src/utils/output.ts +119 -0
  266. package/connectors/connect-pika/tsconfig.json +16 -0
  267. package/connectors/connect-pinata/.env.example +11 -0
  268. package/connectors/connect-pinata/CLAUDE.md +272 -0
  269. package/connectors/connect-pinata/README.md +193 -0
  270. package/connectors/connect-pinata/package.json +51 -0
  271. package/connectors/connect-pinata/scripts/release.ts +179 -0
  272. package/connectors/connect-pinata/src/api/client.ts +213 -0
  273. package/connectors/connect-pinata/src/api/example.ts +48 -0
  274. package/connectors/connect-pinata/src/api/index.ts +51 -0
  275. package/connectors/connect-pinata/src/cli/index.ts +254 -0
  276. package/connectors/connect-pinata/src/index.ts +103 -0
  277. package/connectors/connect-pinata/src/types/index.ts +237 -0
  278. package/connectors/connect-pinata/src/utils/auth.ts +274 -0
  279. package/connectors/connect-pinata/src/utils/bulk.ts +212 -0
  280. package/connectors/connect-pinata/src/utils/config.ts +326 -0
  281. package/connectors/connect-pinata/src/utils/output.ts +175 -0
  282. package/connectors/connect-pinata/src/utils/settings.ts +114 -0
  283. package/connectors/connect-pinata/src/utils/storage.ts +198 -0
  284. package/connectors/connect-pinata/tsconfig.json +16 -0
  285. package/connectors/connect-pipefy/.env.example +11 -0
  286. package/connectors/connect-pipefy/CLAUDE.md +272 -0
  287. package/connectors/connect-pipefy/README.md +193 -0
  288. package/connectors/connect-pipefy/package.json +51 -0
  289. package/connectors/connect-pipefy/scripts/release.ts +179 -0
  290. package/connectors/connect-pipefy/src/api/client.ts +213 -0
  291. package/connectors/connect-pipefy/src/api/example.ts +48 -0
  292. package/connectors/connect-pipefy/src/api/index.ts +51 -0
  293. package/connectors/connect-pipefy/src/cli/index.ts +254 -0
  294. package/connectors/connect-pipefy/src/index.ts +103 -0
  295. package/connectors/connect-pipefy/src/types/index.ts +237 -0
  296. package/connectors/connect-pipefy/src/utils/auth.ts +274 -0
  297. package/connectors/connect-pipefy/src/utils/bulk.ts +212 -0
  298. package/connectors/connect-pipefy/src/utils/config.ts +326 -0
  299. package/connectors/connect-pipefy/src/utils/output.ts +175 -0
  300. package/connectors/connect-pipefy/src/utils/settings.ts +114 -0
  301. package/connectors/connect-pipefy/src/utils/storage.ts +198 -0
  302. package/connectors/connect-pipefy/tsconfig.json +16 -0
  303. package/connectors/connect-pirateweather/.env.example +11 -0
  304. package/connectors/connect-pirateweather/CLAUDE.md +272 -0
  305. package/connectors/connect-pirateweather/README.md +193 -0
  306. package/connectors/connect-pirateweather/package.json +51 -0
  307. package/connectors/connect-pirateweather/scripts/release.ts +179 -0
  308. package/connectors/connect-pirateweather/src/api/client.ts +213 -0
  309. package/connectors/connect-pirateweather/src/api/example.ts +48 -0
  310. package/connectors/connect-pirateweather/src/api/index.ts +51 -0
  311. package/connectors/connect-pirateweather/src/cli/index.ts +254 -0
  312. package/connectors/connect-pirateweather/src/index.ts +103 -0
  313. package/connectors/connect-pirateweather/src/types/index.ts +237 -0
  314. package/connectors/connect-pirateweather/src/utils/auth.ts +274 -0
  315. package/connectors/connect-pirateweather/src/utils/bulk.ts +212 -0
  316. package/connectors/connect-pirateweather/src/utils/config.ts +326 -0
  317. package/connectors/connect-pirateweather/src/utils/output.ts +175 -0
  318. package/connectors/connect-pirateweather/src/utils/settings.ts +114 -0
  319. package/connectors/connect-pirateweather/src/utils/storage.ts +198 -0
  320. package/connectors/connect-pirateweather/tsconfig.json +16 -0
  321. package/connectors/connect-pitchly/.env.example +11 -0
  322. package/connectors/connect-pitchly/CLAUDE.md +272 -0
  323. package/connectors/connect-pitchly/README.md +193 -0
  324. package/connectors/connect-pitchly/package.json +51 -0
  325. package/connectors/connect-pitchly/scripts/release.ts +179 -0
  326. package/connectors/connect-pitchly/src/api/client.ts +213 -0
  327. package/connectors/connect-pitchly/src/api/example.ts +48 -0
  328. package/connectors/connect-pitchly/src/api/index.ts +51 -0
  329. package/connectors/connect-pitchly/src/cli/index.ts +254 -0
  330. package/connectors/connect-pitchly/src/index.ts +103 -0
  331. package/connectors/connect-pitchly/src/types/index.ts +237 -0
  332. package/connectors/connect-pitchly/src/utils/auth.ts +274 -0
  333. package/connectors/connect-pitchly/src/utils/bulk.ts +212 -0
  334. package/connectors/connect-pitchly/src/utils/config.ts +326 -0
  335. package/connectors/connect-pitchly/src/utils/output.ts +175 -0
  336. package/connectors/connect-pitchly/src/utils/settings.ts +114 -0
  337. package/connectors/connect-pitchly/src/utils/storage.ts +198 -0
  338. package/connectors/connect-pitchly/tsconfig.json +16 -0
  339. package/connectors/connect-pivotaltracker/.env.example +11 -0
  340. package/connectors/connect-pivotaltracker/CLAUDE.md +272 -0
  341. package/connectors/connect-pivotaltracker/README.md +193 -0
  342. package/connectors/connect-pivotaltracker/package.json +51 -0
  343. package/connectors/connect-pivotaltracker/scripts/release.ts +179 -0
  344. package/connectors/connect-pivotaltracker/src/api/client.ts +213 -0
  345. package/connectors/connect-pivotaltracker/src/api/example.ts +48 -0
  346. package/connectors/connect-pivotaltracker/src/api/index.ts +51 -0
  347. package/connectors/connect-pivotaltracker/src/cli/index.ts +254 -0
  348. package/connectors/connect-pivotaltracker/src/index.ts +103 -0
  349. package/connectors/connect-pivotaltracker/src/types/index.ts +237 -0
  350. package/connectors/connect-pivotaltracker/src/utils/auth.ts +274 -0
  351. package/connectors/connect-pivotaltracker/src/utils/bulk.ts +212 -0
  352. package/connectors/connect-pivotaltracker/src/utils/config.ts +326 -0
  353. package/connectors/connect-pivotaltracker/src/utils/output.ts +175 -0
  354. package/connectors/connect-pivotaltracker/src/utils/settings.ts +114 -0
  355. package/connectors/connect-pivotaltracker/src/utils/storage.ts +198 -0
  356. package/connectors/connect-pivotaltracker/tsconfig.json +16 -0
  357. package/connectors/connect-planviewleankit/.env.example +11 -0
  358. package/connectors/connect-planviewleankit/CLAUDE.md +272 -0
  359. package/connectors/connect-planviewleankit/README.md +193 -0
  360. package/connectors/connect-planviewleankit/package.json +51 -0
  361. package/connectors/connect-planviewleankit/scripts/release.ts +179 -0
  362. package/connectors/connect-planviewleankit/src/api/client.ts +213 -0
  363. package/connectors/connect-planviewleankit/src/api/example.ts +48 -0
  364. package/connectors/connect-planviewleankit/src/api/index.ts +51 -0
  365. package/connectors/connect-planviewleankit/src/cli/index.ts +254 -0
  366. package/connectors/connect-planviewleankit/src/index.ts +103 -0
  367. package/connectors/connect-planviewleankit/src/types/index.ts +237 -0
  368. package/connectors/connect-planviewleankit/src/utils/auth.ts +274 -0
  369. package/connectors/connect-planviewleankit/src/utils/bulk.ts +212 -0
  370. package/connectors/connect-planviewleankit/src/utils/config.ts +326 -0
  371. package/connectors/connect-planviewleankit/src/utils/output.ts +175 -0
  372. package/connectors/connect-planviewleankit/src/utils/settings.ts +114 -0
  373. package/connectors/connect-planviewleankit/src/utils/storage.ts +198 -0
  374. package/connectors/connect-planviewleankit/tsconfig.json +16 -0
  375. package/connectors/connect-planyoonlinebooking/.env.example +11 -0
  376. package/connectors/connect-planyoonlinebooking/CLAUDE.md +272 -0
  377. package/connectors/connect-planyoonlinebooking/README.md +193 -0
  378. package/connectors/connect-planyoonlinebooking/package.json +51 -0
  379. package/connectors/connect-planyoonlinebooking/scripts/release.ts +179 -0
  380. package/connectors/connect-planyoonlinebooking/src/api/client.ts +213 -0
  381. package/connectors/connect-planyoonlinebooking/src/api/example.ts +48 -0
  382. package/connectors/connect-planyoonlinebooking/src/api/index.ts +51 -0
  383. package/connectors/connect-planyoonlinebooking/src/cli/index.ts +254 -0
  384. package/connectors/connect-planyoonlinebooking/src/index.ts +103 -0
  385. package/connectors/connect-planyoonlinebooking/src/types/index.ts +237 -0
  386. package/connectors/connect-planyoonlinebooking/src/utils/auth.ts +274 -0
  387. package/connectors/connect-planyoonlinebooking/src/utils/bulk.ts +212 -0
  388. package/connectors/connect-planyoonlinebooking/src/utils/config.ts +326 -0
  389. package/connectors/connect-planyoonlinebooking/src/utils/output.ts +175 -0
  390. package/connectors/connect-planyoonlinebooking/src/utils/settings.ts +114 -0
  391. package/connectors/connect-planyoonlinebooking/src/utils/storage.ts +198 -0
  392. package/connectors/connect-planyoonlinebooking/tsconfig.json +16 -0
  393. package/connectors/connect-platformly/.env.example +11 -0
  394. package/connectors/connect-platformly/CLAUDE.md +272 -0
  395. package/connectors/connect-platformly/README.md +193 -0
  396. package/connectors/connect-platformly/package.json +51 -0
  397. package/connectors/connect-platformly/scripts/release.ts +179 -0
  398. package/connectors/connect-platformly/src/api/client.ts +213 -0
  399. package/connectors/connect-platformly/src/api/example.ts +48 -0
  400. package/connectors/connect-platformly/src/api/index.ts +51 -0
  401. package/connectors/connect-platformly/src/cli/index.ts +254 -0
  402. package/connectors/connect-platformly/src/index.ts +103 -0
  403. package/connectors/connect-platformly/src/types/index.ts +237 -0
  404. package/connectors/connect-platformly/src/utils/auth.ts +274 -0
  405. package/connectors/connect-platformly/src/utils/bulk.ts +212 -0
  406. package/connectors/connect-platformly/src/utils/config.ts +326 -0
  407. package/connectors/connect-platformly/src/utils/output.ts +175 -0
  408. package/connectors/connect-platformly/src/utils/settings.ts +114 -0
  409. package/connectors/connect-platformly/src/utils/storage.ts +198 -0
  410. package/connectors/connect-platformly/tsconfig.json +16 -0
  411. package/connectors/connect-playht/.env.example +11 -0
  412. package/connectors/connect-playht/CLAUDE.md +128 -0
  413. package/connectors/connect-playht/README.md +193 -0
  414. package/connectors/connect-playht/package.json +53 -0
  415. package/connectors/connect-playht/src/api/client.ts +146 -0
  416. package/connectors/connect-playht/src/api/index.ts +179 -0
  417. package/connectors/connect-playht/src/cli/index.ts +384 -0
  418. package/connectors/connect-playht/src/index.ts +21 -0
  419. package/connectors/connect-playht/src/types/index.ts +148 -0
  420. package/connectors/connect-playht/src/utils/config.ts +114 -0
  421. package/connectors/connect-playht/src/utils/output.ts +119 -0
  422. package/connectors/connect-playht/tsconfig.json +16 -0
  423. package/connectors/connect-plecto/.env.example +11 -0
  424. package/connectors/connect-plecto/CLAUDE.md +272 -0
  425. package/connectors/connect-plecto/README.md +193 -0
  426. package/connectors/connect-plecto/package.json +51 -0
  427. package/connectors/connect-plecto/scripts/release.ts +179 -0
  428. package/connectors/connect-plecto/src/api/client.ts +213 -0
  429. package/connectors/connect-plecto/src/api/example.ts +48 -0
  430. package/connectors/connect-plecto/src/api/index.ts +51 -0
  431. package/connectors/connect-plecto/src/cli/index.ts +254 -0
  432. package/connectors/connect-plecto/src/index.ts +103 -0
  433. package/connectors/connect-plecto/src/types/index.ts +237 -0
  434. package/connectors/connect-plecto/src/utils/auth.ts +274 -0
  435. package/connectors/connect-plecto/src/utils/bulk.ts +212 -0
  436. package/connectors/connect-plecto/src/utils/config.ts +326 -0
  437. package/connectors/connect-plecto/src/utils/output.ts +175 -0
  438. package/connectors/connect-plecto/src/utils/settings.ts +114 -0
  439. package/connectors/connect-plecto/src/utils/storage.ts +198 -0
  440. package/connectors/connect-plecto/tsconfig.json +16 -0
  441. package/connectors/connect-plivo/.env.example +11 -0
  442. package/connectors/connect-plivo/CLAUDE.md +272 -0
  443. package/connectors/connect-plivo/README.md +193 -0
  444. package/connectors/connect-plivo/package.json +51 -0
  445. package/connectors/connect-plivo/scripts/release.ts +179 -0
  446. package/connectors/connect-plivo/src/api/client.ts +213 -0
  447. package/connectors/connect-plivo/src/api/example.ts +48 -0
  448. package/connectors/connect-plivo/src/api/index.ts +51 -0
  449. package/connectors/connect-plivo/src/cli/index.ts +254 -0
  450. package/connectors/connect-plivo/src/index.ts +103 -0
  451. package/connectors/connect-plivo/src/types/index.ts +237 -0
  452. package/connectors/connect-plivo/src/utils/auth.ts +274 -0
  453. package/connectors/connect-plivo/src/utils/bulk.ts +212 -0
  454. package/connectors/connect-plivo/src/utils/config.ts +326 -0
  455. package/connectors/connect-plivo/src/utils/output.ts +175 -0
  456. package/connectors/connect-plivo/src/utils/settings.ts +114 -0
  457. package/connectors/connect-plivo/src/utils/storage.ts +198 -0
  458. package/connectors/connect-plivo/tsconfig.json +16 -0
  459. package/connectors/connect-postgres/.env.example +11 -0
  460. package/connectors/connect-postgres/CLAUDE.md +272 -0
  461. package/connectors/connect-postgres/README.md +193 -0
  462. package/connectors/connect-postgres/package.json +51 -0
  463. package/connectors/connect-postgres/scripts/release.ts +179 -0
  464. package/connectors/connect-postgres/src/api/client.ts +213 -0
  465. package/connectors/connect-postgres/src/api/example.ts +48 -0
  466. package/connectors/connect-postgres/src/api/index.ts +51 -0
  467. package/connectors/connect-postgres/src/cli/index.ts +254 -0
  468. package/connectors/connect-postgres/src/index.ts +103 -0
  469. package/connectors/connect-postgres/src/types/index.ts +237 -0
  470. package/connectors/connect-postgres/src/utils/auth.ts +274 -0
  471. package/connectors/connect-postgres/src/utils/bulk.ts +212 -0
  472. package/connectors/connect-postgres/src/utils/config.ts +326 -0
  473. package/connectors/connect-postgres/src/utils/output.ts +175 -0
  474. package/connectors/connect-postgres/src/utils/settings.ts +114 -0
  475. package/connectors/connect-postgres/src/utils/storage.ts +198 -0
  476. package/connectors/connect-postgres/tsconfig.json +16 -0
  477. package/connectors/connect-practitest/.env.example +11 -0
  478. package/connectors/connect-practitest/CLAUDE.md +272 -0
  479. package/connectors/connect-practitest/README.md +193 -0
  480. package/connectors/connect-practitest/package.json +51 -0
  481. package/connectors/connect-practitest/scripts/release.ts +179 -0
  482. package/connectors/connect-practitest/src/api/client.ts +213 -0
  483. package/connectors/connect-practitest/src/api/example.ts +48 -0
  484. package/connectors/connect-practitest/src/api/index.ts +51 -0
  485. package/connectors/connect-practitest/src/cli/index.ts +254 -0
  486. package/connectors/connect-practitest/src/index.ts +103 -0
  487. package/connectors/connect-practitest/src/types/index.ts +237 -0
  488. package/connectors/connect-practitest/src/utils/auth.ts +274 -0
  489. package/connectors/connect-practitest/src/utils/bulk.ts +212 -0
  490. package/connectors/connect-practitest/src/utils/config.ts +326 -0
  491. package/connectors/connect-practitest/src/utils/output.ts +175 -0
  492. package/connectors/connect-practitest/src/utils/settings.ts +114 -0
  493. package/connectors/connect-practitest/src/utils/storage.ts +198 -0
  494. package/connectors/connect-practitest/tsconfig.json +16 -0
  495. package/connectors/connect-predisai/.env.example +11 -0
  496. package/connectors/connect-predisai/CLAUDE.md +272 -0
  497. package/connectors/connect-predisai/README.md +193 -0
  498. package/connectors/connect-predisai/package.json +51 -0
  499. package/connectors/connect-predisai/scripts/release.ts +179 -0
  500. package/connectors/connect-predisai/src/api/client.ts +213 -0
  501. package/connectors/connect-predisai/src/api/example.ts +48 -0
  502. package/connectors/connect-predisai/src/api/index.ts +51 -0
  503. package/connectors/connect-predisai/src/cli/index.ts +254 -0
  504. package/connectors/connect-predisai/src/index.ts +103 -0
  505. package/connectors/connect-predisai/src/types/index.ts +237 -0
  506. package/connectors/connect-predisai/src/utils/auth.ts +274 -0
  507. package/connectors/connect-predisai/src/utils/bulk.ts +212 -0
  508. package/connectors/connect-predisai/src/utils/config.ts +326 -0
  509. package/connectors/connect-predisai/src/utils/output.ts +175 -0
  510. package/connectors/connect-predisai/src/utils/settings.ts +114 -0
  511. package/connectors/connect-predisai/src/utils/storage.ts +198 -0
  512. package/connectors/connect-predisai/tsconfig.json +16 -0
  513. package/connectors/connect-prodia/.env.example +11 -0
  514. package/connectors/connect-prodia/CLAUDE.md +272 -0
  515. package/connectors/connect-prodia/README.md +193 -0
  516. package/connectors/connect-prodia/package.json +51 -0
  517. package/connectors/connect-prodia/scripts/release.ts +179 -0
  518. package/connectors/connect-prodia/src/api/client.ts +213 -0
  519. package/connectors/connect-prodia/src/api/example.ts +48 -0
  520. package/connectors/connect-prodia/src/api/index.ts +51 -0
  521. package/connectors/connect-prodia/src/cli/index.ts +254 -0
  522. package/connectors/connect-prodia/src/index.ts +103 -0
  523. package/connectors/connect-prodia/src/types/index.ts +237 -0
  524. package/connectors/connect-prodia/src/utils/auth.ts +274 -0
  525. package/connectors/connect-prodia/src/utils/bulk.ts +212 -0
  526. package/connectors/connect-prodia/src/utils/config.ts +326 -0
  527. package/connectors/connect-prodia/src/utils/output.ts +175 -0
  528. package/connectors/connect-prodia/src/utils/settings.ts +114 -0
  529. package/connectors/connect-prodia/src/utils/storage.ts +198 -0
  530. package/connectors/connect-prodia/tsconfig.json +16 -0
  531. package/connectors/connect-profitwell/.env.example +11 -0
  532. package/connectors/connect-profitwell/CLAUDE.md +272 -0
  533. package/connectors/connect-profitwell/README.md +193 -0
  534. package/connectors/connect-profitwell/package.json +51 -0
  535. package/connectors/connect-profitwell/scripts/release.ts +179 -0
  536. package/connectors/connect-profitwell/src/api/client.ts +213 -0
  537. package/connectors/connect-profitwell/src/api/example.ts +48 -0
  538. package/connectors/connect-profitwell/src/api/index.ts +51 -0
  539. package/connectors/connect-profitwell/src/cli/index.ts +254 -0
  540. package/connectors/connect-profitwell/src/index.ts +103 -0
  541. package/connectors/connect-profitwell/src/types/index.ts +237 -0
  542. package/connectors/connect-profitwell/src/utils/auth.ts +274 -0
  543. package/connectors/connect-profitwell/src/utils/bulk.ts +212 -0
  544. package/connectors/connect-profitwell/src/utils/config.ts +326 -0
  545. package/connectors/connect-profitwell/src/utils/output.ts +175 -0
  546. package/connectors/connect-profitwell/src/utils/settings.ts +114 -0
  547. package/connectors/connect-profitwell/src/utils/storage.ts +198 -0
  548. package/connectors/connect-profitwell/tsconfig.json +16 -0
  549. package/connectors/connect-projectbubbleproprofsproject/.env.example +11 -0
  550. package/connectors/connect-projectbubbleproprofsproject/CLAUDE.md +272 -0
  551. package/connectors/connect-projectbubbleproprofsproject/README.md +193 -0
  552. package/connectors/connect-projectbubbleproprofsproject/package.json +51 -0
  553. package/connectors/connect-projectbubbleproprofsproject/scripts/release.ts +179 -0
  554. package/connectors/connect-projectbubbleproprofsproject/src/api/client.ts +213 -0
  555. package/connectors/connect-projectbubbleproprofsproject/src/api/example.ts +48 -0
  556. package/connectors/connect-projectbubbleproprofsproject/src/api/index.ts +51 -0
  557. package/connectors/connect-projectbubbleproprofsproject/src/cli/index.ts +254 -0
  558. package/connectors/connect-projectbubbleproprofsproject/src/index.ts +103 -0
  559. package/connectors/connect-projectbubbleproprofsproject/src/types/index.ts +237 -0
  560. package/connectors/connect-projectbubbleproprofsproject/src/utils/auth.ts +274 -0
  561. package/connectors/connect-projectbubbleproprofsproject/src/utils/bulk.ts +212 -0
  562. package/connectors/connect-projectbubbleproprofsproject/src/utils/config.ts +326 -0
  563. package/connectors/connect-projectbubbleproprofsproject/src/utils/output.ts +175 -0
  564. package/connectors/connect-projectbubbleproprofsproject/src/utils/settings.ts +114 -0
  565. package/connectors/connect-projectbubbleproprofsproject/src/utils/storage.ts +198 -0
  566. package/connectors/connect-projectbubbleproprofsproject/tsconfig.json +16 -0
  567. package/connectors/connect-prompthub/.env.example +11 -0
  568. package/connectors/connect-prompthub/CLAUDE.md +272 -0
  569. package/connectors/connect-prompthub/README.md +193 -0
  570. package/connectors/connect-prompthub/package.json +51 -0
  571. package/connectors/connect-prompthub/scripts/release.ts +179 -0
  572. package/connectors/connect-prompthub/src/api/client.ts +213 -0
  573. package/connectors/connect-prompthub/src/api/example.ts +48 -0
  574. package/connectors/connect-prompthub/src/api/index.ts +51 -0
  575. package/connectors/connect-prompthub/src/cli/index.ts +254 -0
  576. package/connectors/connect-prompthub/src/index.ts +103 -0
  577. package/connectors/connect-prompthub/src/types/index.ts +237 -0
  578. package/connectors/connect-prompthub/src/utils/auth.ts +274 -0
  579. package/connectors/connect-prompthub/src/utils/bulk.ts +212 -0
  580. package/connectors/connect-prompthub/src/utils/config.ts +326 -0
  581. package/connectors/connect-prompthub/src/utils/output.ts +175 -0
  582. package/connectors/connect-prompthub/src/utils/settings.ts +114 -0
  583. package/connectors/connect-prompthub/src/utils/storage.ts +198 -0
  584. package/connectors/connect-prompthub/tsconfig.json +16 -0
  585. package/connectors/connect-prospeai/.env.example +11 -0
  586. package/connectors/connect-prospeai/CLAUDE.md +272 -0
  587. package/connectors/connect-prospeai/README.md +193 -0
  588. package/connectors/connect-prospeai/package.json +51 -0
  589. package/connectors/connect-prospeai/scripts/release.ts +179 -0
  590. package/connectors/connect-prospeai/src/api/client.ts +213 -0
  591. package/connectors/connect-prospeai/src/api/example.ts +48 -0
  592. package/connectors/connect-prospeai/src/api/index.ts +51 -0
  593. package/connectors/connect-prospeai/src/cli/index.ts +254 -0
  594. package/connectors/connect-prospeai/src/index.ts +103 -0
  595. package/connectors/connect-prospeai/src/types/index.ts +237 -0
  596. package/connectors/connect-prospeai/src/utils/auth.ts +274 -0
  597. package/connectors/connect-prospeai/src/utils/bulk.ts +212 -0
  598. package/connectors/connect-prospeai/src/utils/config.ts +326 -0
  599. package/connectors/connect-prospeai/src/utils/output.ts +175 -0
  600. package/connectors/connect-prospeai/src/utils/settings.ts +114 -0
  601. package/connectors/connect-prospeai/src/utils/storage.ts +198 -0
  602. package/connectors/connect-prospeai/tsconfig.json +16 -0
  603. package/connectors/connect-pulsetic/.env.example +11 -0
  604. package/connectors/connect-pulsetic/CLAUDE.md +272 -0
  605. package/connectors/connect-pulsetic/README.md +193 -0
  606. package/connectors/connect-pulsetic/package.json +51 -0
  607. package/connectors/connect-pulsetic/scripts/release.ts +179 -0
  608. package/connectors/connect-pulsetic/src/api/client.ts +213 -0
  609. package/connectors/connect-pulsetic/src/api/example.ts +48 -0
  610. package/connectors/connect-pulsetic/src/api/index.ts +51 -0
  611. package/connectors/connect-pulsetic/src/cli/index.ts +254 -0
  612. package/connectors/connect-pulsetic/src/index.ts +103 -0
  613. package/connectors/connect-pulsetic/src/types/index.ts +237 -0
  614. package/connectors/connect-pulsetic/src/utils/auth.ts +274 -0
  615. package/connectors/connect-pulsetic/src/utils/bulk.ts +212 -0
  616. package/connectors/connect-pulsetic/src/utils/config.ts +326 -0
  617. package/connectors/connect-pulsetic/src/utils/output.ts +175 -0
  618. package/connectors/connect-pulsetic/src/utils/settings.ts +114 -0
  619. package/connectors/connect-pulsetic/src/utils/storage.ts +198 -0
  620. package/connectors/connect-pulsetic/tsconfig.json +16 -0
  621. package/connectors/connect-pushbullet/.env.example +11 -0
  622. package/connectors/connect-pushbullet/CLAUDE.md +272 -0
  623. package/connectors/connect-pushbullet/README.md +193 -0
  624. package/connectors/connect-pushbullet/package.json +51 -0
  625. package/connectors/connect-pushbullet/scripts/release.ts +179 -0
  626. package/connectors/connect-pushbullet/src/api/client.ts +213 -0
  627. package/connectors/connect-pushbullet/src/api/example.ts +48 -0
  628. package/connectors/connect-pushbullet/src/api/index.ts +51 -0
  629. package/connectors/connect-pushbullet/src/cli/index.ts +254 -0
  630. package/connectors/connect-pushbullet/src/index.ts +103 -0
  631. package/connectors/connect-pushbullet/src/types/index.ts +237 -0
  632. package/connectors/connect-pushbullet/src/utils/auth.ts +274 -0
  633. package/connectors/connect-pushbullet/src/utils/bulk.ts +212 -0
  634. package/connectors/connect-pushbullet/src/utils/config.ts +326 -0
  635. package/connectors/connect-pushbullet/src/utils/output.ts +175 -0
  636. package/connectors/connect-pushbullet/src/utils/settings.ts +114 -0
  637. package/connectors/connect-pushbullet/src/utils/storage.ts +198 -0
  638. package/connectors/connect-pushbullet/tsconfig.json +16 -0
  639. package/dist/index.js +252 -0
  640. package/package.json +1 -1
@@ -0,0 +1,649 @@
1
+ #!/usr/bin/env bun
2
+ import { Command } from 'commander';
3
+ import chalk from 'chalk';
4
+ import { PatentsView } from '../api';
5
+ import { CPCApi } from '../api/cpc';
6
+ import {
7
+ getApiKey,
8
+ setApiKey,
9
+ getBaseUrl,
10
+ clearConfig,
11
+ getConfigDir,
12
+ setProfileOverride,
13
+ getCurrentProfile,
14
+ setCurrentProfile,
15
+ listProfiles,
16
+ createProfile,
17
+ deleteProfile,
18
+ profileExists,
19
+ loadProfile,
20
+ } from '../utils/config';
21
+ import type { OutputFormat } from '../utils/output';
22
+ import { success, error, info, print, warn } from '../utils/output';
23
+
24
+ const CONNECTOR_NAME = 'connect-patentsview';
25
+ const VERSION = '0.0.1';
26
+
27
+ const program = new Command();
28
+
29
+ program
30
+ .name(CONNECTOR_NAME)
31
+ .description('PatentsView USPTO patent analytics API connector - Search patents, inventors, assignees, and CPC classifications')
32
+ .version(VERSION)
33
+ .option('-k, --api-key <key>', 'API key (overrides config)')
34
+ .option('-f, --format <format>', 'Output format (json, pretty)', 'pretty')
35
+ .option('-p, --profile <profile>', 'Use a specific profile')
36
+ .hook('preAction', (thisCommand) => {
37
+ const opts = thisCommand.opts();
38
+ // Set profile override before any command runs
39
+ if (opts.profile) {
40
+ if (!profileExists(opts.profile)) {
41
+ error(`Profile "${opts.profile}" does not exist. Create it with "${CONNECTOR_NAME} profile create ${opts.profile}"`);
42
+ process.exit(1);
43
+ }
44
+ setProfileOverride(opts.profile);
45
+ }
46
+ // Set API key from flag if provided
47
+ if (opts.apiKey) {
48
+ process.env.PATENTSVIEW_API_KEY = opts.apiKey;
49
+ }
50
+ });
51
+
52
+ // Helper to get root command format
53
+ function getRootFormat(): OutputFormat {
54
+ return (program.opts().format || 'pretty') as OutputFormat;
55
+ }
56
+
57
+ // Helper to get authenticated client
58
+ function getClient(): PatentsView {
59
+ const apiKey = getApiKey();
60
+ if (!apiKey) {
61
+ error(`No API key configured. Run "${CONNECTOR_NAME} config set-key <key>" or set PATENTSVIEW_API_KEY environment variable.`);
62
+ info('Get an API key at: https://patentsview-support.atlassian.net/servicedesk/customer/portal/1/group/1/create/18');
63
+ process.exit(1);
64
+ }
65
+ const baseUrl = getBaseUrl();
66
+ return new PatentsView({ apiKey, baseUrl });
67
+ }
68
+
69
+ // ============================================
70
+ // Patents Commands
71
+ // ============================================
72
+ const patentsCmd = program
73
+ .command('patents')
74
+ .description('Search and retrieve patent data');
75
+
76
+ patentsCmd
77
+ .command('search')
78
+ .description('Search patents')
79
+ .option('--title <text>', 'Search by title')
80
+ .option('--abstract <text>', 'Search by abstract')
81
+ .option('--assignee <name>', 'Search by assignee organization')
82
+ .option('--inventor <name>', 'Search by inventor last name')
83
+ .option('--cpc <code>', 'Search by CPC classification')
84
+ .option('--year <year>', 'Filter by year')
85
+ .option('--from <date>', 'Start date (YYYY-MM-DD)')
86
+ .option('--to <date>', 'End date (YYYY-MM-DD)')
87
+ .option('--limit <n>', 'Number of results', '25')
88
+ .option('--page <n>', 'Page number', '1')
89
+ .action(async (opts) => {
90
+ try {
91
+ const client = getClient();
92
+ const limit = parseInt(opts.limit);
93
+ const page = parseInt(opts.page);
94
+
95
+ let result;
96
+
97
+ if (opts.title) {
98
+ result = await client.patents.searchByTitle(opts.title, { per_page: limit, page });
99
+ } else if (opts.abstract) {
100
+ result = await client.patents.searchByAbstract(opts.abstract, { per_page: limit, page });
101
+ } else if (opts.assignee) {
102
+ result = await client.patents.searchByAssignee(opts.assignee, { per_page: limit, page });
103
+ } else if (opts.inventor) {
104
+ result = await client.patents.searchByInventor(opts.inventor, undefined, { per_page: limit, page });
105
+ } else if (opts.cpc) {
106
+ result = await client.patents.searchByCPC(opts.cpc, { per_page: limit, page });
107
+ } else if (opts.year) {
108
+ result = await client.patents.searchByYear(parseInt(opts.year), { per_page: limit, page });
109
+ } else if (opts.from && opts.to) {
110
+ result = await client.patents.searchByDateRange(opts.from, opts.to, { per_page: limit, page });
111
+ } else {
112
+ result = await client.patents.getRecent(limit);
113
+ }
114
+
115
+ success(`Found ${result.total_hits} patents (showing ${result.count})`);
116
+ print(result.patents, getRootFormat());
117
+ } catch (err) {
118
+ error(String(err));
119
+ process.exit(1);
120
+ }
121
+ });
122
+
123
+ patentsCmd
124
+ .command('get <patentId>')
125
+ .description('Get a single patent by ID')
126
+ .action(async (patentId: string) => {
127
+ try {
128
+ const client = getClient();
129
+ const patent = await client.patents.get(patentId);
130
+
131
+ if (patent) {
132
+ success(`Patent ${patentId}`);
133
+ print(patent, getRootFormat());
134
+ } else {
135
+ error(`Patent ${patentId} not found`);
136
+ process.exit(1);
137
+ }
138
+ } catch (err) {
139
+ error(String(err));
140
+ process.exit(1);
141
+ }
142
+ });
143
+
144
+ patentsCmd
145
+ .command('recent')
146
+ .description('Get recently granted patents')
147
+ .option('--limit <n>', 'Number of results', '25')
148
+ .action(async (opts) => {
149
+ try {
150
+ const client = getClient();
151
+ const result = await client.patents.getRecent(parseInt(opts.limit));
152
+ success(`Recent patents (${result.count})`);
153
+ print(result.patents, getRootFormat());
154
+ } catch (err) {
155
+ error(String(err));
156
+ process.exit(1);
157
+ }
158
+ });
159
+
160
+ patentsCmd
161
+ .command('cited')
162
+ .description('Get most cited patents')
163
+ .option('--limit <n>', 'Number of results', '25')
164
+ .action(async (opts) => {
165
+ try {
166
+ const client = getClient();
167
+ const result = await client.patents.getMostCited(parseInt(opts.limit));
168
+ success(`Most cited patents (${result.count})`);
169
+ print(result.patents, getRootFormat());
170
+ } catch (err) {
171
+ error(String(err));
172
+ process.exit(1);
173
+ }
174
+ });
175
+
176
+ // ============================================
177
+ // Assignees Commands
178
+ // ============================================
179
+ const assigneesCmd = program
180
+ .command('assignees')
181
+ .description('Search and retrieve assignee data');
182
+
183
+ assigneesCmd
184
+ .command('search')
185
+ .description('Search assignees')
186
+ .option('--org <name>', 'Search by organization name')
187
+ .option('--name <lastname>', 'Search by individual last name')
188
+ .option('--country <code>', 'Filter by country')
189
+ .option('--state <code>', 'Filter by state (US only)')
190
+ .option('--limit <n>', 'Number of results', '25')
191
+ .option('--page <n>', 'Page number', '1')
192
+ .action(async (opts) => {
193
+ try {
194
+ const client = getClient();
195
+ const limit = parseInt(opts.limit);
196
+ const page = parseInt(opts.page);
197
+
198
+ let result;
199
+
200
+ if (opts.org) {
201
+ result = await client.assignees.searchByOrganization(opts.org, { per_page: limit, page });
202
+ } else if (opts.name) {
203
+ result = await client.assignees.searchByName(opts.name, undefined, { per_page: limit, page });
204
+ } else if (opts.country) {
205
+ result = await client.assignees.searchByLocation(opts.country, opts.state, undefined, { per_page: limit, page });
206
+ } else {
207
+ result = await client.assignees.getTopByPatentCount(limit);
208
+ }
209
+
210
+ success(`Found ${result.total_hits} assignees (showing ${result.count})`);
211
+ print(result.assignees, getRootFormat());
212
+ } catch (err) {
213
+ error(String(err));
214
+ process.exit(1);
215
+ }
216
+ });
217
+
218
+ assigneesCmd
219
+ .command('get <assigneeId>')
220
+ .description('Get a single assignee by ID')
221
+ .action(async (assigneeId: string) => {
222
+ try {
223
+ const client = getClient();
224
+ const assignee = await client.assignees.get(assigneeId);
225
+
226
+ if (assignee) {
227
+ success(`Assignee ${assigneeId}`);
228
+ print(assignee, getRootFormat());
229
+ } else {
230
+ error(`Assignee ${assigneeId} not found`);
231
+ process.exit(1);
232
+ }
233
+ } catch (err) {
234
+ error(String(err));
235
+ process.exit(1);
236
+ }
237
+ });
238
+
239
+ assigneesCmd
240
+ .command('top')
241
+ .description('Get top assignees by patent count')
242
+ .option('--limit <n>', 'Number of results', '25')
243
+ .action(async (opts) => {
244
+ try {
245
+ const client = getClient();
246
+ const result = await client.assignees.getTopByPatentCount(parseInt(opts.limit));
247
+ success(`Top assignees by patent count (${result.count})`);
248
+ print(result.assignees, getRootFormat());
249
+ } catch (err) {
250
+ error(String(err));
251
+ process.exit(1);
252
+ }
253
+ });
254
+
255
+ // ============================================
256
+ // Inventors Commands
257
+ // ============================================
258
+ const inventorsCmd = program
259
+ .command('inventors')
260
+ .description('Search and retrieve inventor data');
261
+
262
+ inventorsCmd
263
+ .command('search')
264
+ .description('Search inventors')
265
+ .option('--name <lastname>', 'Search by last name')
266
+ .option('--first <firstname>', 'Filter by first name')
267
+ .option('--country <code>', 'Filter by country')
268
+ .option('--state <code>', 'Filter by state (US only)')
269
+ .option('--limit <n>', 'Number of results', '25')
270
+ .option('--page <n>', 'Page number', '1')
271
+ .action(async (opts) => {
272
+ try {
273
+ const client = getClient();
274
+ const limit = parseInt(opts.limit);
275
+ const page = parseInt(opts.page);
276
+
277
+ let result;
278
+
279
+ if (opts.name) {
280
+ result = await client.inventors.searchByName(opts.name, opts.first, { per_page: limit, page });
281
+ } else if (opts.country) {
282
+ result = await client.inventors.searchByLocation(opts.country, opts.state, undefined, { per_page: limit, page });
283
+ } else {
284
+ result = await client.inventors.getTopByPatentCount(limit);
285
+ }
286
+
287
+ success(`Found ${result.total_hits} inventors (showing ${result.count})`);
288
+ print(result.inventors, getRootFormat());
289
+ } catch (err) {
290
+ error(String(err));
291
+ process.exit(1);
292
+ }
293
+ });
294
+
295
+ inventorsCmd
296
+ .command('get <inventorId>')
297
+ .description('Get a single inventor by ID')
298
+ .action(async (inventorId: string) => {
299
+ try {
300
+ const client = getClient();
301
+ const inventor = await client.inventors.get(inventorId);
302
+
303
+ if (inventor) {
304
+ success(`Inventor ${inventorId}`);
305
+ print(inventor, getRootFormat());
306
+ } else {
307
+ error(`Inventor ${inventorId} not found`);
308
+ process.exit(1);
309
+ }
310
+ } catch (err) {
311
+ error(String(err));
312
+ process.exit(1);
313
+ }
314
+ });
315
+
316
+ inventorsCmd
317
+ .command('top')
318
+ .description('Get top inventors by patent count')
319
+ .option('--limit <n>', 'Number of results', '25')
320
+ .action(async (opts) => {
321
+ try {
322
+ const client = getClient();
323
+ const result = await client.inventors.getTopByPatentCount(parseInt(opts.limit));
324
+ success(`Top inventors by patent count (${result.count})`);
325
+ print(result.inventors, getRootFormat());
326
+ } catch (err) {
327
+ error(String(err));
328
+ process.exit(1);
329
+ }
330
+ });
331
+
332
+ inventorsCmd
333
+ .command('prolific')
334
+ .description('Get prolific inventors (with many patents)')
335
+ .option('--min <n>', 'Minimum patent count', '100')
336
+ .option('--limit <n>', 'Number of results', '25')
337
+ .action(async (opts) => {
338
+ try {
339
+ const client = getClient();
340
+ const result = await client.inventors.getProlific(parseInt(opts.min), { per_page: parseInt(opts.limit) });
341
+ success(`Prolific inventors with ${opts.min}+ patents (${result.count})`);
342
+ print(result.inventors, getRootFormat());
343
+ } catch (err) {
344
+ error(String(err));
345
+ process.exit(1);
346
+ }
347
+ });
348
+
349
+ // ============================================
350
+ // CPC Commands
351
+ // ============================================
352
+ const cpcCmd = program
353
+ .command('cpc')
354
+ .description('Search CPC (Cooperative Patent Classification) data');
355
+
356
+ cpcCmd
357
+ .command('search')
358
+ .description('Search CPC subgroups')
359
+ .option('--title <text>', 'Search by title')
360
+ .option('--section <id>', 'Filter by section (A-H, Y)')
361
+ .option('--class <id>', 'Filter by class (e.g., G06)')
362
+ .option('--subclass <id>', 'Filter by subclass (e.g., G06F)')
363
+ .option('--group <id>', 'Filter by group (e.g., G06F3/00)')
364
+ .option('--prefix <id>', 'Search by ID prefix')
365
+ .option('--limit <n>', 'Number of results', '25')
366
+ .option('--page <n>', 'Page number', '1')
367
+ .action(async (opts) => {
368
+ try {
369
+ const client = getClient();
370
+ const limit = parseInt(opts.limit);
371
+ const page = parseInt(opts.page);
372
+
373
+ let result;
374
+
375
+ if (opts.title) {
376
+ result = await client.cpc.searchByTitle(opts.title, { per_page: limit, page });
377
+ } else if (opts.section) {
378
+ result = await client.cpc.searchBySection(opts.section, { per_page: limit, page });
379
+ } else if (opts.class) {
380
+ result = await client.cpc.searchByClass(opts.class, { per_page: limit, page });
381
+ } else if (opts.subclass) {
382
+ result = await client.cpc.searchBySubclass(opts.subclass, { per_page: limit, page });
383
+ } else if (opts.group) {
384
+ result = await client.cpc.searchByGroup(opts.group, { per_page: limit, page });
385
+ } else if (opts.prefix) {
386
+ result = await client.cpc.searchByIdPrefix(opts.prefix, { per_page: limit, page });
387
+ } else {
388
+ result = await client.cpc.getTopByPatentCount(limit);
389
+ }
390
+
391
+ success(`Found ${result.total_hits} CPC subgroups (showing ${result.count})`);
392
+ print(result.cpc_subgroups, getRootFormat());
393
+ } catch (err) {
394
+ error(String(err));
395
+ process.exit(1);
396
+ }
397
+ });
398
+
399
+ cpcCmd
400
+ .command('get <cpcId>')
401
+ .description('Get a single CPC subgroup by ID')
402
+ .action(async (cpcId: string) => {
403
+ try {
404
+ const client = getClient();
405
+ const cpc = await client.cpc.get(cpcId);
406
+
407
+ if (cpc) {
408
+ success(`CPC ${cpcId}`);
409
+ print(cpc, getRootFormat());
410
+ } else {
411
+ error(`CPC ${cpcId} not found`);
412
+ process.exit(1);
413
+ }
414
+ } catch (err) {
415
+ error(String(err));
416
+ process.exit(1);
417
+ }
418
+ });
419
+
420
+ cpcCmd
421
+ .command('sections')
422
+ .description('List CPC sections')
423
+ .action(() => {
424
+ const sections = CPCApi.CPC_SECTIONS;
425
+ success('CPC Sections:');
426
+ Object.entries(sections).forEach(([id, title]) => {
427
+ console.log(` ${chalk.cyan(id)}: ${title}`);
428
+ });
429
+ });
430
+
431
+ cpcCmd
432
+ .command('top')
433
+ .description('Get top CPC subgroups by patent count')
434
+ .option('--limit <n>', 'Number of results', '25')
435
+ .action(async (opts) => {
436
+ try {
437
+ const client = getClient();
438
+ const result = await client.cpc.getTopByPatentCount(parseInt(opts.limit));
439
+ success(`Top CPC subgroups by patent count (${result.count})`);
440
+ print(result.cpc_subgroups, getRootFormat());
441
+ } catch (err) {
442
+ error(String(err));
443
+ process.exit(1);
444
+ }
445
+ });
446
+
447
+ // ============================================
448
+ // Locations Commands
449
+ // ============================================
450
+ const locationsCmd = program
451
+ .command('locations')
452
+ .description('Search location data');
453
+
454
+ locationsCmd
455
+ .command('search')
456
+ .description('Search locations')
457
+ .option('--country <code>', 'Filter by country')
458
+ .option('--state <code>', 'Filter by state (US only)')
459
+ .option('--city <name>', 'Search by city name')
460
+ .option('--limit <n>', 'Number of results', '25')
461
+ .option('--page <n>', 'Page number', '1')
462
+ .action(async (opts) => {
463
+ try {
464
+ const client = getClient();
465
+ const limit = parseInt(opts.limit);
466
+ const page = parseInt(opts.page);
467
+
468
+ let result;
469
+
470
+ if (opts.city) {
471
+ result = await client.locations.searchByCity(opts.city, opts.country, opts.state, { per_page: limit, page });
472
+ } else if (opts.state) {
473
+ result = await client.locations.searchByState(opts.state, { per_page: limit, page });
474
+ } else if (opts.country) {
475
+ result = await client.locations.searchByCountry(opts.country, { per_page: limit, page });
476
+ } else {
477
+ result = await client.locations.getTopByPatentCount(limit);
478
+ }
479
+
480
+ success(`Found ${result.total_hits} locations (showing ${result.count})`);
481
+ print(result.locations, getRootFormat());
482
+ } catch (err) {
483
+ error(String(err));
484
+ process.exit(1);
485
+ }
486
+ });
487
+
488
+ locationsCmd
489
+ .command('top')
490
+ .description('Get top locations by patent count')
491
+ .option('--us', 'US locations only')
492
+ .option('--state <code>', 'Top cities in a specific US state')
493
+ .option('--limit <n>', 'Number of results', '25')
494
+ .action(async (opts) => {
495
+ try {
496
+ const client = getClient();
497
+ const limit = parseInt(opts.limit);
498
+
499
+ let result;
500
+
501
+ if (opts.state) {
502
+ result = await client.locations.getTopCitiesInState(opts.state, limit);
503
+ success(`Top cities in ${opts.state.toUpperCase()} (${result.count})`);
504
+ } else if (opts.us) {
505
+ result = await client.locations.getTopUSCities(limit);
506
+ success(`Top US cities by patent count (${result.count})`);
507
+ } else {
508
+ result = await client.locations.getTopByPatentCount(limit);
509
+ success(`Top locations by patent count (${result.count})`);
510
+ }
511
+
512
+ print(result.locations, getRootFormat());
513
+ } catch (err) {
514
+ error(String(err));
515
+ process.exit(1);
516
+ }
517
+ });
518
+
519
+ // ============================================
520
+ // Profile Commands
521
+ // ============================================
522
+ const profileCmd = program
523
+ .command('profile')
524
+ .description('Manage configuration profiles');
525
+
526
+ profileCmd
527
+ .command('list')
528
+ .description('List all profiles')
529
+ .action(() => {
530
+ const profiles = listProfiles();
531
+ const current = getCurrentProfile();
532
+
533
+ if (profiles.length === 0) {
534
+ info('No profiles found. Use "profile create <name>" to create one.');
535
+ return;
536
+ }
537
+
538
+ success(`Profiles:`);
539
+ profiles.forEach(p => {
540
+ const isActive = p === current ? chalk.green(' (active)') : '';
541
+ console.log(` ${p}${isActive}`);
542
+ });
543
+ });
544
+
545
+ profileCmd
546
+ .command('use <name>')
547
+ .description('Switch to a profile')
548
+ .action((name: string) => {
549
+ if (!profileExists(name)) {
550
+ error(`Profile "${name}" does not exist. Create it with "profile create ${name}"`);
551
+ process.exit(1);
552
+ }
553
+ setCurrentProfile(name);
554
+ success(`Switched to profile: ${name}`);
555
+ });
556
+
557
+ profileCmd
558
+ .command('create <name>')
559
+ .description('Create a new profile')
560
+ .option('--api-key <key>', 'API key')
561
+ .option('--use', 'Switch to this profile after creation')
562
+ .action((name: string, opts) => {
563
+ if (profileExists(name)) {
564
+ error(`Profile "${name}" already exists`);
565
+ process.exit(1);
566
+ }
567
+
568
+ createProfile(name, {
569
+ apiKey: opts.apiKey,
570
+ });
571
+ success(`Profile "${name}" created`);
572
+
573
+ if (opts.use) {
574
+ setCurrentProfile(name);
575
+ info(`Switched to profile: ${name}`);
576
+ }
577
+ });
578
+
579
+ profileCmd
580
+ .command('delete <name>')
581
+ .description('Delete a profile')
582
+ .action((name: string) => {
583
+ if (name === 'default') {
584
+ error('Cannot delete the default profile');
585
+ process.exit(1);
586
+ }
587
+ if (deleteProfile(name)) {
588
+ success(`Profile "${name}" deleted`);
589
+ } else {
590
+ error(`Profile "${name}" not found`);
591
+ process.exit(1);
592
+ }
593
+ });
594
+
595
+ profileCmd
596
+ .command('show [name]')
597
+ .description('Show profile configuration')
598
+ .action((name?: string) => {
599
+ const profileName = name || getCurrentProfile();
600
+ const config = loadProfile(profileName);
601
+ const active = getCurrentProfile();
602
+
603
+ console.log(chalk.bold(`Profile: ${profileName}${profileName === active ? chalk.green(' (active)') : ''}`));
604
+ info(`API Key: ${config.apiKey ? `${config.apiKey.substring(0, 8)}...` : chalk.gray('not set')}`);
605
+ info(`Base URL: ${config.baseUrl || chalk.gray('default (https://search.patentsview.org/api/v1)')}`);
606
+ });
607
+
608
+ // ============================================
609
+ // Config Commands
610
+ // ============================================
611
+ const configCmd = program
612
+ .command('config')
613
+ .description('Manage CLI configuration (for active profile)');
614
+
615
+ configCmd
616
+ .command('set-key <apiKey>')
617
+ .description('Set API key')
618
+ .action((apiKey: string) => {
619
+ setApiKey(apiKey);
620
+ success(`API key saved to profile: ${getCurrentProfile()}`);
621
+ });
622
+
623
+ configCmd
624
+ .command('show')
625
+ .description('Show current configuration')
626
+ .action(() => {
627
+ const profileName = getCurrentProfile();
628
+ const apiKey = getApiKey();
629
+ const baseUrl = getBaseUrl();
630
+
631
+ console.log(chalk.bold(`Active Profile: ${profileName}`));
632
+ info(`Config directory: ${getConfigDir()}`);
633
+ info(`API Key: ${apiKey ? `${apiKey.substring(0, 8)}...` : chalk.gray('not set')}`);
634
+ info(`Base URL: ${baseUrl || chalk.gray('default (https://search.patentsview.org/api/v1)')}`);
635
+ if (!apiKey) {
636
+ warn('No API key configured. Get one at: https://patentsview-support.atlassian.net/servicedesk/customer/portal/1/group/1/create/18');
637
+ }
638
+ });
639
+
640
+ configCmd
641
+ .command('clear')
642
+ .description('Clear configuration for active profile')
643
+ .action(() => {
644
+ clearConfig();
645
+ success(`Configuration cleared for profile: ${getCurrentProfile()}`);
646
+ });
647
+
648
+ // Parse and execute
649
+ program.parse();
@@ -0,0 +1,24 @@
1
+ // PatentsView Connector
2
+ // A TypeScript wrapper for the USPTO PatentsView API
3
+
4
+ export { PatentsView } from './api';
5
+ export * from './types';
6
+
7
+ // Re-export individual API classes for advanced usage
8
+ export { PatentsViewClient, PatentsApi, AssigneesApi, InventorsApi, CPCApi, LocationsApi } from './api';
9
+
10
+ // Export config utilities
11
+ export {
12
+ getApiKey,
13
+ setApiKey,
14
+ getBaseUrl,
15
+ setBaseUrl,
16
+ getCurrentProfile,
17
+ setCurrentProfile,
18
+ listProfiles,
19
+ createProfile,
20
+ deleteProfile,
21
+ loadProfile,
22
+ saveProfile,
23
+ clearConfig,
24
+ } from './utils/config';