@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,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,7 @@
1
+ # Firecrawl API Credentials
2
+ # Get your API key from https://firecrawl.dev
3
+
4
+ FIRECRAWL_API_KEY=fc-your-api-key-here
5
+
6
+ # Optional: Custom base URL (if using self-hosted)
7
+ # FIRECRAWL_BASE_URL=https://api.firecrawl.dev/v1
@@ -0,0 +1,257 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ connect-patentsview is a TypeScript connector for the USPTO PatentsView API. It provides a CLI and programmatic interface to search and analyze patent data, including patents, inventors, assignees, CPC classifications, and locations.
8
+
9
+ **API Key Required:** The PatentsView API requires an API key for authentication. Get one at: https://patentsview-support.atlassian.net/servicedesk/customer/portal/1/group/1/create/18
10
+
11
+ ## Build & Run Commands
12
+
13
+ ```bash
14
+ # Install dependencies
15
+ bun install
16
+
17
+ # Run CLI in development
18
+ bun run dev
19
+
20
+ # Build for distribution
21
+ bun run build
22
+
23
+ # Type check
24
+ bun run typecheck
25
+
26
+ # Configure API key
27
+ bun run dev config set-key YOUR_API_KEY
28
+
29
+ # Run specific commands
30
+ bun run dev patents search --title "machine learning"
31
+ bun run dev patents get 10000000
32
+ bun run dev inventors search --name "Smith"
33
+ bun run dev assignees search --org "Google"
34
+ bun run dev cpc search --section G
35
+ bun run dev locations top --us
36
+ bun run dev profile list
37
+ bun run dev config show
38
+ ```
39
+
40
+ ## Code Style
41
+
42
+ - TypeScript with strict mode
43
+ - ESM modules (type: module)
44
+ - Use async/await for all async operations
45
+ - Minimal dependencies: commander, chalk only
46
+ - Type annotations required everywhere
47
+ - Use interfaces for all API types
48
+
49
+ ## Project Structure
50
+
51
+ ```
52
+ src/
53
+ ├── api/
54
+ │ ├── client.ts # HTTP client with X-Api-Key auth
55
+ │ ├── patents.ts # Patents search and retrieval
56
+ │ ├── assignees.ts # Assignee search and retrieval
57
+ │ ├── inventors.ts # Inventor search and retrieval
58
+ │ ├── cpc.ts # CPC classification search
59
+ │ ├── locations.ts # Location search
60
+ │ └── index.ts # Main PatentsView class
61
+ ├── cli/
62
+ │ └── index.ts # CLI commands
63
+ ├── types/
64
+ │ └── index.ts # Type definitions
65
+ ├── utils/
66
+ │ ├── config.ts # Multi-profile configuration
67
+ │ └── output.ts # CLI output formatting
68
+ └── index.ts # Library exports
69
+ ```
70
+
71
+ ## API Modules
72
+
73
+ ### Patents API (`/patent/`)
74
+ - Search patents with various filters
75
+ - Get single patent by ID
76
+ - Search by title, abstract, assignee, inventor, CPC
77
+ - Filter by date range or year
78
+ - Get recent or most cited patents
79
+
80
+ ### Assignees API (`/assignee/`)
81
+ - Search assignees (patent owners)
82
+ - Get by organization name or individual name
83
+ - Filter by location (country, state, city)
84
+ - Get top assignees by patent count
85
+
86
+ ### Inventors API (`/inventor/`)
87
+ - Search inventors
88
+ - Get by name
89
+ - Filter by location
90
+ - Get prolific inventors
91
+ - Get top inventors by patent count
92
+
93
+ ### CPC API (`/cpc_subgroup/`)
94
+ - Search CPC classifications
95
+ - Search by section, class, subclass, or group
96
+ - Search by title text
97
+ - Get top CPC categories by patent count
98
+
99
+ ### Locations API (`/location/`)
100
+ - Search locations
101
+ - Filter by country, state, city
102
+ - Get top locations by patent count
103
+ - Get top US cities
104
+
105
+ ## Query Format
106
+
107
+ The PatentsView API uses JSON queries with:
108
+ - `q`: Query object with filters (e.g., `{ "patent_title": { "_contains": "AI" } }`)
109
+ - `f`: Fields to return (array of field names)
110
+ - `o`: Options (pagination, sorting)
111
+
112
+ ### Query Operators
113
+
114
+ | Operator | Description |
115
+ |----------|-------------|
116
+ | `_eq` | Equals |
117
+ | `_neq` | Not equals |
118
+ | `_gt` / `_gte` | Greater than / Greater than or equal |
119
+ | `_lt` / `_lte` | Less than / Less than or equal |
120
+ | `_begins` | Starts with |
121
+ | `_contains` | Contains |
122
+ | `_text_any` | Full-text search (any word) |
123
+ | `_text_all` | Full-text search (all words) |
124
+ | `_text_phrase` | Full-text search (exact phrase) |
125
+
126
+ ### Logical Operators
127
+
128
+ - `_and`: Array of conditions (all must match)
129
+ - `_or`: Array of conditions (any must match)
130
+ - `_not`: Negate a condition
131
+
132
+ ## Environment Variables
133
+
134
+ | Variable | Description |
135
+ |----------|-------------|
136
+ | `PATENTSVIEW_API_KEY` | API key for authentication (required) |
137
+ | `PATENTSVIEW_BASE_URL` | Override base URL (default: https://search.patentsview.org/api/v1) |
138
+
139
+ ## Data Storage
140
+
141
+ ```
142
+ ~/.connect/connect-patentsview/
143
+ ├── current_profile # Active profile name
144
+ └── profiles/
145
+ ├── default.json # Default profile
146
+ └── {name}.json # Named profiles
147
+ ```
148
+
149
+ Profile JSON structure:
150
+ ```json
151
+ {
152
+ "apiKey": "your-api-key",
153
+ "baseUrl": "optional-custom-url"
154
+ }
155
+ ```
156
+
157
+ ## CLI Usage
158
+
159
+ ```bash
160
+ # Configure API key first
161
+ connect-patentsview config set-key YOUR_API_KEY
162
+
163
+ # Search patents
164
+ connect-patentsview patents search --title "machine learning"
165
+ connect-patentsview patents search --assignee "Google"
166
+ connect-patentsview patents search --inventor "Smith"
167
+ connect-patentsview patents search --cpc "G06F3/01"
168
+ connect-patentsview patents search --year 2024
169
+ connect-patentsview patents search --from 2023-01-01 --to 2023-12-31
170
+
171
+ # Get specific patent
172
+ connect-patentsview patents get 10000000
173
+
174
+ # Get recent/cited patents
175
+ connect-patentsview patents recent --limit 50
176
+ connect-patentsview patents cited --limit 25
177
+
178
+ # Search assignees
179
+ connect-patentsview assignees search --org "Apple"
180
+ connect-patentsview assignees search --country US --state CA
181
+ connect-patentsview assignees top --limit 25
182
+ connect-patentsview assignees get <assignee_id>
183
+
184
+ # Search inventors
185
+ connect-patentsview inventors search --name "Wang" --first "Wei"
186
+ connect-patentsview inventors search --country JP
187
+ connect-patentsview inventors top --limit 25
188
+ connect-patentsview inventors prolific --min 200
189
+ connect-patentsview inventors get <inventor_id>
190
+
191
+ # Search CPC classifications
192
+ connect-patentsview cpc search --title "neural network"
193
+ connect-patentsview cpc search --section G
194
+ connect-patentsview cpc search --class G06
195
+ connect-patentsview cpc search --subclass G06F
196
+ connect-patentsview cpc sections
197
+ connect-patentsview cpc top --limit 25
198
+ connect-patentsview cpc get G06F3/01
199
+
200
+ # Search locations
201
+ connect-patentsview locations search --country US
202
+ connect-patentsview locations search --state CA
203
+ connect-patentsview locations search --city "San Francisco"
204
+ connect-patentsview locations top --us
205
+ connect-patentsview locations top --state CA
206
+
207
+ # Configuration
208
+ connect-patentsview config set-key YOUR_API_KEY
209
+ connect-patentsview config show
210
+ connect-patentsview profile create research --api-key KEY --use
211
+ connect-patentsview profile list
212
+ ```
213
+
214
+ ## Programmatic Usage
215
+
216
+ ```typescript
217
+ import { PatentsView } from '@hasnaxyz/connect-patentsview';
218
+
219
+ // Create client with API key
220
+ const patentsview = new PatentsView({ apiKey: 'your-api-key' });
221
+
222
+ // Or from environment variable
223
+ const patentsview = PatentsView.fromEnv(); // Uses PATENTSVIEW_API_KEY
224
+
225
+ // Search patents
226
+ const patents = await patentsview.patents.searchByTitle('machine learning', {
227
+ per_page: 25,
228
+ page: 1,
229
+ });
230
+
231
+ // Get a specific patent
232
+ const patent = await patentsview.patents.get('10000000');
233
+
234
+ // Search assignees
235
+ const assignees = await patentsview.assignees.searchByOrganization('Google');
236
+
237
+ // Get top inventors
238
+ const inventors = await patentsview.inventors.getTopByPatentCount(25);
239
+
240
+ // Search CPC by section
241
+ const cpc = await patentsview.cpc.searchBySection('G', { per_page: 50 });
242
+
243
+ // Get top US cities
244
+ const locations = await patentsview.locations.getTopUSCities(25);
245
+
246
+ // Custom query
247
+ const results = await patentsview.patents.search(
248
+ { patent_year: { _gte: 2020 }, assignees: { assignee_organization: { _contains: 'IBM' } } },
249
+ ['patent_id', 'patent_title', 'patent_date'],
250
+ { per_page: 100, sort: [{ patent_date: 'desc' }] }
251
+ );
252
+ ```
253
+
254
+ ## Dependencies
255
+
256
+ - commander: CLI framework
257
+ - chalk: Terminal styling