@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.
- package/bin/index.js +253 -1
- package/bin/mcp.js +253 -1
- package/bin/serve.js +252 -0
- package/connectors/connect-papyrs/.env.example +11 -0
- package/connectors/connect-papyrs/CLAUDE.md +272 -0
- package/connectors/connect-papyrs/README.md +193 -0
- package/connectors/connect-papyrs/package.json +51 -0
- package/connectors/connect-papyrs/scripts/release.ts +179 -0
- package/connectors/connect-papyrs/src/api/client.ts +213 -0
- package/connectors/connect-papyrs/src/api/example.ts +48 -0
- package/connectors/connect-papyrs/src/api/index.ts +51 -0
- package/connectors/connect-papyrs/src/cli/index.ts +254 -0
- package/connectors/connect-papyrs/src/index.ts +103 -0
- package/connectors/connect-papyrs/src/types/index.ts +237 -0
- package/connectors/connect-papyrs/src/utils/auth.ts +274 -0
- package/connectors/connect-papyrs/src/utils/bulk.ts +212 -0
- package/connectors/connect-papyrs/src/utils/config.ts +326 -0
- package/connectors/connect-papyrs/src/utils/output.ts +175 -0
- package/connectors/connect-papyrs/src/utils/settings.ts +114 -0
- package/connectors/connect-papyrs/src/utils/storage.ts +198 -0
- package/connectors/connect-papyrs/tsconfig.json +16 -0
- package/connectors/connect-parsehub/.env.example +11 -0
- package/connectors/connect-parsehub/CLAUDE.md +272 -0
- package/connectors/connect-parsehub/README.md +193 -0
- package/connectors/connect-parsehub/package.json +51 -0
- package/connectors/connect-parsehub/scripts/release.ts +179 -0
- package/connectors/connect-parsehub/src/api/client.ts +213 -0
- package/connectors/connect-parsehub/src/api/example.ts +48 -0
- package/connectors/connect-parsehub/src/api/index.ts +51 -0
- package/connectors/connect-parsehub/src/cli/index.ts +254 -0
- package/connectors/connect-parsehub/src/index.ts +103 -0
- package/connectors/connect-parsehub/src/types/index.ts +237 -0
- package/connectors/connect-parsehub/src/utils/auth.ts +274 -0
- package/connectors/connect-parsehub/src/utils/bulk.ts +212 -0
- package/connectors/connect-parsehub/src/utils/config.ts +326 -0
- package/connectors/connect-parsehub/src/utils/output.ts +175 -0
- package/connectors/connect-parsehub/src/utils/settings.ts +114 -0
- package/connectors/connect-parsehub/src/utils/storage.ts +198 -0
- package/connectors/connect-parsehub/tsconfig.json +16 -0
- package/connectors/connect-parseprompt/.env.example +11 -0
- package/connectors/connect-parseprompt/CLAUDE.md +272 -0
- package/connectors/connect-parseprompt/README.md +193 -0
- package/connectors/connect-parseprompt/package.json +51 -0
- package/connectors/connect-parseprompt/scripts/release.ts +179 -0
- package/connectors/connect-parseprompt/src/api/client.ts +213 -0
- package/connectors/connect-parseprompt/src/api/example.ts +48 -0
- package/connectors/connect-parseprompt/src/api/index.ts +51 -0
- package/connectors/connect-parseprompt/src/cli/index.ts +254 -0
- package/connectors/connect-parseprompt/src/index.ts +103 -0
- package/connectors/connect-parseprompt/src/types/index.ts +237 -0
- package/connectors/connect-parseprompt/src/utils/auth.ts +274 -0
- package/connectors/connect-parseprompt/src/utils/bulk.ts +212 -0
- package/connectors/connect-parseprompt/src/utils/config.ts +326 -0
- package/connectors/connect-parseprompt/src/utils/output.ts +175 -0
- package/connectors/connect-parseprompt/src/utils/settings.ts +114 -0
- package/connectors/connect-parseprompt/src/utils/storage.ts +198 -0
- package/connectors/connect-parseprompt/tsconfig.json +16 -0
- package/connectors/connect-passcreator/.env.example +11 -0
- package/connectors/connect-passcreator/CLAUDE.md +272 -0
- package/connectors/connect-passcreator/README.md +193 -0
- package/connectors/connect-passcreator/package.json +51 -0
- package/connectors/connect-passcreator/scripts/release.ts +179 -0
- package/connectors/connect-passcreator/src/api/client.ts +213 -0
- package/connectors/connect-passcreator/src/api/example.ts +48 -0
- package/connectors/connect-passcreator/src/api/index.ts +51 -0
- package/connectors/connect-passcreator/src/cli/index.ts +254 -0
- package/connectors/connect-passcreator/src/index.ts +103 -0
- package/connectors/connect-passcreator/src/types/index.ts +237 -0
- package/connectors/connect-passcreator/src/utils/auth.ts +274 -0
- package/connectors/connect-passcreator/src/utils/bulk.ts +212 -0
- package/connectors/connect-passcreator/src/utils/config.ts +326 -0
- package/connectors/connect-passcreator/src/utils/output.ts +175 -0
- package/connectors/connect-passcreator/src/utils/settings.ts +114 -0
- package/connectors/connect-passcreator/src/utils/storage.ts +198 -0
- package/connectors/connect-passcreator/tsconfig.json +16 -0
- package/connectors/connect-passslot/.env.example +11 -0
- package/connectors/connect-passslot/CLAUDE.md +272 -0
- package/connectors/connect-passslot/README.md +193 -0
- package/connectors/connect-passslot/package.json +51 -0
- package/connectors/connect-passslot/scripts/release.ts +179 -0
- package/connectors/connect-passslot/src/api/client.ts +213 -0
- package/connectors/connect-passslot/src/api/example.ts +48 -0
- package/connectors/connect-passslot/src/api/index.ts +51 -0
- package/connectors/connect-passslot/src/cli/index.ts +254 -0
- package/connectors/connect-passslot/src/index.ts +103 -0
- package/connectors/connect-passslot/src/types/index.ts +237 -0
- package/connectors/connect-passslot/src/utils/auth.ts +274 -0
- package/connectors/connect-passslot/src/utils/bulk.ts +212 -0
- package/connectors/connect-passslot/src/utils/config.ts +326 -0
- package/connectors/connect-passslot/src/utils/output.ts +175 -0
- package/connectors/connect-passslot/src/utils/settings.ts +114 -0
- package/connectors/connect-passslot/src/utils/storage.ts +198 -0
- package/connectors/connect-passslot/tsconfig.json +16 -0
- package/connectors/connect-patentsview/.env.example +7 -0
- package/connectors/connect-patentsview/CLAUDE.md +257 -0
- package/connectors/connect-patentsview/README.md +334 -0
- package/connectors/connect-patentsview/package.json +54 -0
- package/connectors/connect-patentsview/src/api/assignees.ts +182 -0
- package/connectors/connect-patentsview/src/api/client.ts +139 -0
- package/connectors/connect-patentsview/src/api/cpc.ts +191 -0
- package/connectors/connect-patentsview/src/api/index.ts +73 -0
- package/connectors/connect-patentsview/src/api/inventors.ts +176 -0
- package/connectors/connect-patentsview/src/api/locations.ts +200 -0
- package/connectors/connect-patentsview/src/api/patents.ts +202 -0
- package/connectors/connect-patentsview/src/cli/index.ts +649 -0
- package/connectors/connect-patentsview/src/index.ts +24 -0
- package/connectors/connect-patentsview/src/types/index.ts +333 -0
- package/connectors/connect-patentsview/src/utils/config.ts +212 -0
- package/connectors/connect-patentsview/src/utils/output.ts +119 -0
- package/connectors/connect-patentsview/tsconfig.json +16 -0
- package/connectors/connect-patreon/.env.example +11 -0
- package/connectors/connect-patreon/CLAUDE.md +272 -0
- package/connectors/connect-patreon/README.md +193 -0
- package/connectors/connect-patreon/package.json +51 -0
- package/connectors/connect-patreon/scripts/release.ts +179 -0
- package/connectors/connect-patreon/src/api/client.ts +213 -0
- package/connectors/connect-patreon/src/api/example.ts +48 -0
- package/connectors/connect-patreon/src/api/index.ts +51 -0
- package/connectors/connect-patreon/src/cli/index.ts +254 -0
- package/connectors/connect-patreon/src/index.ts +103 -0
- package/connectors/connect-patreon/src/types/index.ts +237 -0
- package/connectors/connect-patreon/src/utils/auth.ts +274 -0
- package/connectors/connect-patreon/src/utils/bulk.ts +212 -0
- package/connectors/connect-patreon/src/utils/config.ts +326 -0
- package/connectors/connect-patreon/src/utils/output.ts +175 -0
- package/connectors/connect-patreon/src/utils/settings.ts +114 -0
- package/connectors/connect-patreon/src/utils/storage.ts +198 -0
- package/connectors/connect-patreon/tsconfig.json +16 -0
- package/connectors/connect-paymo/.env.example +11 -0
- package/connectors/connect-paymo/CLAUDE.md +272 -0
- package/connectors/connect-paymo/README.md +193 -0
- package/connectors/connect-paymo/package.json +51 -0
- package/connectors/connect-paymo/scripts/release.ts +179 -0
- package/connectors/connect-paymo/src/api/client.ts +213 -0
- package/connectors/connect-paymo/src/api/example.ts +48 -0
- package/connectors/connect-paymo/src/api/index.ts +51 -0
- package/connectors/connect-paymo/src/cli/index.ts +254 -0
- package/connectors/connect-paymo/src/index.ts +103 -0
- package/connectors/connect-paymo/src/types/index.ts +237 -0
- package/connectors/connect-paymo/src/utils/auth.ts +274 -0
- package/connectors/connect-paymo/src/utils/bulk.ts +212 -0
- package/connectors/connect-paymo/src/utils/config.ts +326 -0
- package/connectors/connect-paymo/src/utils/output.ts +175 -0
- package/connectors/connect-paymo/src/utils/settings.ts +114 -0
- package/connectors/connect-paymo/src/utils/storage.ts +198 -0
- package/connectors/connect-paymo/tsconfig.json +16 -0
- package/connectors/connect-peekalink/.env.example +11 -0
- package/connectors/connect-peekalink/CLAUDE.md +272 -0
- package/connectors/connect-peekalink/README.md +193 -0
- package/connectors/connect-peekalink/package.json +51 -0
- package/connectors/connect-peekalink/scripts/release.ts +179 -0
- package/connectors/connect-peekalink/src/api/client.ts +213 -0
- package/connectors/connect-peekalink/src/api/example.ts +48 -0
- package/connectors/connect-peekalink/src/api/index.ts +51 -0
- package/connectors/connect-peekalink/src/cli/index.ts +254 -0
- package/connectors/connect-peekalink/src/index.ts +103 -0
- package/connectors/connect-peekalink/src/types/index.ts +237 -0
- package/connectors/connect-peekalink/src/utils/auth.ts +274 -0
- package/connectors/connect-peekalink/src/utils/bulk.ts +212 -0
- package/connectors/connect-peekalink/src/utils/config.ts +326 -0
- package/connectors/connect-peekalink/src/utils/output.ts +175 -0
- package/connectors/connect-peekalink/src/utils/settings.ts +114 -0
- package/connectors/connect-peekalink/src/utils/storage.ts +198 -0
- package/connectors/connect-peekalink/tsconfig.json +16 -0
- package/connectors/connect-persio/.env.example +11 -0
- package/connectors/connect-persio/CLAUDE.md +272 -0
- package/connectors/connect-persio/README.md +193 -0
- package/connectors/connect-persio/package.json +51 -0
- package/connectors/connect-persio/scripts/release.ts +179 -0
- package/connectors/connect-persio/src/api/client.ts +213 -0
- package/connectors/connect-persio/src/api/example.ts +48 -0
- package/connectors/connect-persio/src/api/index.ts +51 -0
- package/connectors/connect-persio/src/cli/index.ts +254 -0
- package/connectors/connect-persio/src/index.ts +103 -0
- package/connectors/connect-persio/src/types/index.ts +237 -0
- package/connectors/connect-persio/src/utils/auth.ts +274 -0
- package/connectors/connect-persio/src/utils/bulk.ts +212 -0
- package/connectors/connect-persio/src/utils/config.ts +326 -0
- package/connectors/connect-persio/src/utils/output.ts +175 -0
- package/connectors/connect-persio/src/utils/settings.ts +114 -0
- package/connectors/connect-persio/src/utils/storage.ts +198 -0
- package/connectors/connect-persio/tsconfig.json +16 -0
- package/connectors/connect-personalai/.env.example +11 -0
- package/connectors/connect-personalai/CLAUDE.md +272 -0
- package/connectors/connect-personalai/README.md +193 -0
- package/connectors/connect-personalai/package.json +51 -0
- package/connectors/connect-personalai/scripts/release.ts +179 -0
- package/connectors/connect-personalai/src/api/client.ts +213 -0
- package/connectors/connect-personalai/src/api/example.ts +48 -0
- package/connectors/connect-personalai/src/api/index.ts +51 -0
- package/connectors/connect-personalai/src/cli/index.ts +254 -0
- package/connectors/connect-personalai/src/index.ts +103 -0
- package/connectors/connect-personalai/src/types/index.ts +237 -0
- package/connectors/connect-personalai/src/utils/auth.ts +274 -0
- package/connectors/connect-personalai/src/utils/bulk.ts +212 -0
- package/connectors/connect-personalai/src/utils/config.ts +326 -0
- package/connectors/connect-personalai/src/utils/output.ts +175 -0
- package/connectors/connect-personalai/src/utils/settings.ts +114 -0
- package/connectors/connect-personalai/src/utils/storage.ts +198 -0
- package/connectors/connect-personalai/tsconfig.json +16 -0
- package/connectors/connect-phantombuster/.env.example +11 -0
- package/connectors/connect-phantombuster/CLAUDE.md +272 -0
- package/connectors/connect-phantombuster/README.md +193 -0
- package/connectors/connect-phantombuster/package.json +51 -0
- package/connectors/connect-phantombuster/scripts/release.ts +179 -0
- package/connectors/connect-phantombuster/src/api/client.ts +213 -0
- package/connectors/connect-phantombuster/src/api/example.ts +48 -0
- package/connectors/connect-phantombuster/src/api/index.ts +51 -0
- package/connectors/connect-phantombuster/src/cli/index.ts +254 -0
- package/connectors/connect-phantombuster/src/index.ts +103 -0
- package/connectors/connect-phantombuster/src/types/index.ts +237 -0
- package/connectors/connect-phantombuster/src/utils/auth.ts +274 -0
- package/connectors/connect-phantombuster/src/utils/bulk.ts +212 -0
- package/connectors/connect-phantombuster/src/utils/config.ts +326 -0
- package/connectors/connect-phantombuster/src/utils/output.ts +175 -0
- package/connectors/connect-phantombuster/src/utils/settings.ts +114 -0
- package/connectors/connect-phantombuster/src/utils/storage.ts +198 -0
- package/connectors/connect-phantombuster/tsconfig.json +16 -0
- package/connectors/connect-philipshue/.env.example +11 -0
- package/connectors/connect-philipshue/CLAUDE.md +272 -0
- package/connectors/connect-philipshue/README.md +193 -0
- package/connectors/connect-philipshue/package.json +51 -0
- package/connectors/connect-philipshue/scripts/release.ts +179 -0
- package/connectors/connect-philipshue/src/api/client.ts +213 -0
- package/connectors/connect-philipshue/src/api/example.ts +48 -0
- package/connectors/connect-philipshue/src/api/index.ts +51 -0
- package/connectors/connect-philipshue/src/cli/index.ts +254 -0
- package/connectors/connect-philipshue/src/index.ts +103 -0
- package/connectors/connect-philipshue/src/types/index.ts +237 -0
- package/connectors/connect-philipshue/src/utils/auth.ts +274 -0
- package/connectors/connect-philipshue/src/utils/bulk.ts +212 -0
- package/connectors/connect-philipshue/src/utils/config.ts +326 -0
- package/connectors/connect-philipshue/src/utils/output.ts +175 -0
- package/connectors/connect-philipshue/src/utils/settings.ts +114 -0
- package/connectors/connect-philipshue/src/utils/storage.ts +198 -0
- package/connectors/connect-philipshue/tsconfig.json +16 -0
- package/connectors/connect-phrase/.env.example +11 -0
- package/connectors/connect-phrase/CLAUDE.md +272 -0
- package/connectors/connect-phrase/README.md +193 -0
- package/connectors/connect-phrase/package.json +51 -0
- package/connectors/connect-phrase/scripts/release.ts +179 -0
- package/connectors/connect-phrase/src/api/client.ts +213 -0
- package/connectors/connect-phrase/src/api/example.ts +48 -0
- package/connectors/connect-phrase/src/api/index.ts +51 -0
- package/connectors/connect-phrase/src/cli/index.ts +254 -0
- package/connectors/connect-phrase/src/index.ts +103 -0
- package/connectors/connect-phrase/src/types/index.ts +237 -0
- package/connectors/connect-phrase/src/utils/auth.ts +274 -0
- package/connectors/connect-phrase/src/utils/bulk.ts +212 -0
- package/connectors/connect-phrase/src/utils/config.ts +326 -0
- package/connectors/connect-phrase/src/utils/output.ts +175 -0
- package/connectors/connect-phrase/src/utils/settings.ts +114 -0
- package/connectors/connect-phrase/src/utils/storage.ts +198 -0
- package/connectors/connect-phrase/tsconfig.json +16 -0
- package/connectors/connect-pika/.env.example +11 -0
- package/connectors/connect-pika/CLAUDE.md +128 -0
- package/connectors/connect-pika/README.md +193 -0
- package/connectors/connect-pika/package.json +51 -0
- package/connectors/connect-pika/src/api/client.ts +77 -0
- package/connectors/connect-pika/src/api/index.ts +40 -0
- package/connectors/connect-pika/src/cli/index.ts +300 -0
- package/connectors/connect-pika/src/index.ts +19 -0
- package/connectors/connect-pika/src/types/index.ts +54 -0
- package/connectors/connect-pika/src/utils/config.ts +103 -0
- package/connectors/connect-pika/src/utils/output.ts +119 -0
- package/connectors/connect-pika/tsconfig.json +16 -0
- package/connectors/connect-pinata/.env.example +11 -0
- package/connectors/connect-pinata/CLAUDE.md +272 -0
- package/connectors/connect-pinata/README.md +193 -0
- package/connectors/connect-pinata/package.json +51 -0
- package/connectors/connect-pinata/scripts/release.ts +179 -0
- package/connectors/connect-pinata/src/api/client.ts +213 -0
- package/connectors/connect-pinata/src/api/example.ts +48 -0
- package/connectors/connect-pinata/src/api/index.ts +51 -0
- package/connectors/connect-pinata/src/cli/index.ts +254 -0
- package/connectors/connect-pinata/src/index.ts +103 -0
- package/connectors/connect-pinata/src/types/index.ts +237 -0
- package/connectors/connect-pinata/src/utils/auth.ts +274 -0
- package/connectors/connect-pinata/src/utils/bulk.ts +212 -0
- package/connectors/connect-pinata/src/utils/config.ts +326 -0
- package/connectors/connect-pinata/src/utils/output.ts +175 -0
- package/connectors/connect-pinata/src/utils/settings.ts +114 -0
- package/connectors/connect-pinata/src/utils/storage.ts +198 -0
- package/connectors/connect-pinata/tsconfig.json +16 -0
- package/connectors/connect-pipefy/.env.example +11 -0
- package/connectors/connect-pipefy/CLAUDE.md +272 -0
- package/connectors/connect-pipefy/README.md +193 -0
- package/connectors/connect-pipefy/package.json +51 -0
- package/connectors/connect-pipefy/scripts/release.ts +179 -0
- package/connectors/connect-pipefy/src/api/client.ts +213 -0
- package/connectors/connect-pipefy/src/api/example.ts +48 -0
- package/connectors/connect-pipefy/src/api/index.ts +51 -0
- package/connectors/connect-pipefy/src/cli/index.ts +254 -0
- package/connectors/connect-pipefy/src/index.ts +103 -0
- package/connectors/connect-pipefy/src/types/index.ts +237 -0
- package/connectors/connect-pipefy/src/utils/auth.ts +274 -0
- package/connectors/connect-pipefy/src/utils/bulk.ts +212 -0
- package/connectors/connect-pipefy/src/utils/config.ts +326 -0
- package/connectors/connect-pipefy/src/utils/output.ts +175 -0
- package/connectors/connect-pipefy/src/utils/settings.ts +114 -0
- package/connectors/connect-pipefy/src/utils/storage.ts +198 -0
- package/connectors/connect-pipefy/tsconfig.json +16 -0
- package/connectors/connect-pirateweather/.env.example +11 -0
- package/connectors/connect-pirateweather/CLAUDE.md +272 -0
- package/connectors/connect-pirateweather/README.md +193 -0
- package/connectors/connect-pirateweather/package.json +51 -0
- package/connectors/connect-pirateweather/scripts/release.ts +179 -0
- package/connectors/connect-pirateweather/src/api/client.ts +213 -0
- package/connectors/connect-pirateweather/src/api/example.ts +48 -0
- package/connectors/connect-pirateweather/src/api/index.ts +51 -0
- package/connectors/connect-pirateweather/src/cli/index.ts +254 -0
- package/connectors/connect-pirateweather/src/index.ts +103 -0
- package/connectors/connect-pirateweather/src/types/index.ts +237 -0
- package/connectors/connect-pirateweather/src/utils/auth.ts +274 -0
- package/connectors/connect-pirateweather/src/utils/bulk.ts +212 -0
- package/connectors/connect-pirateweather/src/utils/config.ts +326 -0
- package/connectors/connect-pirateweather/src/utils/output.ts +175 -0
- package/connectors/connect-pirateweather/src/utils/settings.ts +114 -0
- package/connectors/connect-pirateweather/src/utils/storage.ts +198 -0
- package/connectors/connect-pirateweather/tsconfig.json +16 -0
- package/connectors/connect-pitchly/.env.example +11 -0
- package/connectors/connect-pitchly/CLAUDE.md +272 -0
- package/connectors/connect-pitchly/README.md +193 -0
- package/connectors/connect-pitchly/package.json +51 -0
- package/connectors/connect-pitchly/scripts/release.ts +179 -0
- package/connectors/connect-pitchly/src/api/client.ts +213 -0
- package/connectors/connect-pitchly/src/api/example.ts +48 -0
- package/connectors/connect-pitchly/src/api/index.ts +51 -0
- package/connectors/connect-pitchly/src/cli/index.ts +254 -0
- package/connectors/connect-pitchly/src/index.ts +103 -0
- package/connectors/connect-pitchly/src/types/index.ts +237 -0
- package/connectors/connect-pitchly/src/utils/auth.ts +274 -0
- package/connectors/connect-pitchly/src/utils/bulk.ts +212 -0
- package/connectors/connect-pitchly/src/utils/config.ts +326 -0
- package/connectors/connect-pitchly/src/utils/output.ts +175 -0
- package/connectors/connect-pitchly/src/utils/settings.ts +114 -0
- package/connectors/connect-pitchly/src/utils/storage.ts +198 -0
- package/connectors/connect-pitchly/tsconfig.json +16 -0
- package/connectors/connect-pivotaltracker/.env.example +11 -0
- package/connectors/connect-pivotaltracker/CLAUDE.md +272 -0
- package/connectors/connect-pivotaltracker/README.md +193 -0
- package/connectors/connect-pivotaltracker/package.json +51 -0
- package/connectors/connect-pivotaltracker/scripts/release.ts +179 -0
- package/connectors/connect-pivotaltracker/src/api/client.ts +213 -0
- package/connectors/connect-pivotaltracker/src/api/example.ts +48 -0
- package/connectors/connect-pivotaltracker/src/api/index.ts +51 -0
- package/connectors/connect-pivotaltracker/src/cli/index.ts +254 -0
- package/connectors/connect-pivotaltracker/src/index.ts +103 -0
- package/connectors/connect-pivotaltracker/src/types/index.ts +237 -0
- package/connectors/connect-pivotaltracker/src/utils/auth.ts +274 -0
- package/connectors/connect-pivotaltracker/src/utils/bulk.ts +212 -0
- package/connectors/connect-pivotaltracker/src/utils/config.ts +326 -0
- package/connectors/connect-pivotaltracker/src/utils/output.ts +175 -0
- package/connectors/connect-pivotaltracker/src/utils/settings.ts +114 -0
- package/connectors/connect-pivotaltracker/src/utils/storage.ts +198 -0
- package/connectors/connect-pivotaltracker/tsconfig.json +16 -0
- package/connectors/connect-planviewleankit/.env.example +11 -0
- package/connectors/connect-planviewleankit/CLAUDE.md +272 -0
- package/connectors/connect-planviewleankit/README.md +193 -0
- package/connectors/connect-planviewleankit/package.json +51 -0
- package/connectors/connect-planviewleankit/scripts/release.ts +179 -0
- package/connectors/connect-planviewleankit/src/api/client.ts +213 -0
- package/connectors/connect-planviewleankit/src/api/example.ts +48 -0
- package/connectors/connect-planviewleankit/src/api/index.ts +51 -0
- package/connectors/connect-planviewleankit/src/cli/index.ts +254 -0
- package/connectors/connect-planviewleankit/src/index.ts +103 -0
- package/connectors/connect-planviewleankit/src/types/index.ts +237 -0
- package/connectors/connect-planviewleankit/src/utils/auth.ts +274 -0
- package/connectors/connect-planviewleankit/src/utils/bulk.ts +212 -0
- package/connectors/connect-planviewleankit/src/utils/config.ts +326 -0
- package/connectors/connect-planviewleankit/src/utils/output.ts +175 -0
- package/connectors/connect-planviewleankit/src/utils/settings.ts +114 -0
- package/connectors/connect-planviewleankit/src/utils/storage.ts +198 -0
- package/connectors/connect-planviewleankit/tsconfig.json +16 -0
- package/connectors/connect-planyoonlinebooking/.env.example +11 -0
- package/connectors/connect-planyoonlinebooking/CLAUDE.md +272 -0
- package/connectors/connect-planyoonlinebooking/README.md +193 -0
- package/connectors/connect-planyoonlinebooking/package.json +51 -0
- package/connectors/connect-planyoonlinebooking/scripts/release.ts +179 -0
- package/connectors/connect-planyoonlinebooking/src/api/client.ts +213 -0
- package/connectors/connect-planyoonlinebooking/src/api/example.ts +48 -0
- package/connectors/connect-planyoonlinebooking/src/api/index.ts +51 -0
- package/connectors/connect-planyoonlinebooking/src/cli/index.ts +254 -0
- package/connectors/connect-planyoonlinebooking/src/index.ts +103 -0
- package/connectors/connect-planyoonlinebooking/src/types/index.ts +237 -0
- package/connectors/connect-planyoonlinebooking/src/utils/auth.ts +274 -0
- package/connectors/connect-planyoonlinebooking/src/utils/bulk.ts +212 -0
- package/connectors/connect-planyoonlinebooking/src/utils/config.ts +326 -0
- package/connectors/connect-planyoonlinebooking/src/utils/output.ts +175 -0
- package/connectors/connect-planyoonlinebooking/src/utils/settings.ts +114 -0
- package/connectors/connect-planyoonlinebooking/src/utils/storage.ts +198 -0
- package/connectors/connect-planyoonlinebooking/tsconfig.json +16 -0
- package/connectors/connect-platformly/.env.example +11 -0
- package/connectors/connect-platformly/CLAUDE.md +272 -0
- package/connectors/connect-platformly/README.md +193 -0
- package/connectors/connect-platformly/package.json +51 -0
- package/connectors/connect-platformly/scripts/release.ts +179 -0
- package/connectors/connect-platformly/src/api/client.ts +213 -0
- package/connectors/connect-platformly/src/api/example.ts +48 -0
- package/connectors/connect-platformly/src/api/index.ts +51 -0
- package/connectors/connect-platformly/src/cli/index.ts +254 -0
- package/connectors/connect-platformly/src/index.ts +103 -0
- package/connectors/connect-platformly/src/types/index.ts +237 -0
- package/connectors/connect-platformly/src/utils/auth.ts +274 -0
- package/connectors/connect-platformly/src/utils/bulk.ts +212 -0
- package/connectors/connect-platformly/src/utils/config.ts +326 -0
- package/connectors/connect-platformly/src/utils/output.ts +175 -0
- package/connectors/connect-platformly/src/utils/settings.ts +114 -0
- package/connectors/connect-platformly/src/utils/storage.ts +198 -0
- package/connectors/connect-platformly/tsconfig.json +16 -0
- package/connectors/connect-playht/.env.example +11 -0
- package/connectors/connect-playht/CLAUDE.md +128 -0
- package/connectors/connect-playht/README.md +193 -0
- package/connectors/connect-playht/package.json +53 -0
- package/connectors/connect-playht/src/api/client.ts +146 -0
- package/connectors/connect-playht/src/api/index.ts +179 -0
- package/connectors/connect-playht/src/cli/index.ts +384 -0
- package/connectors/connect-playht/src/index.ts +21 -0
- package/connectors/connect-playht/src/types/index.ts +148 -0
- package/connectors/connect-playht/src/utils/config.ts +114 -0
- package/connectors/connect-playht/src/utils/output.ts +119 -0
- package/connectors/connect-playht/tsconfig.json +16 -0
- package/connectors/connect-plecto/.env.example +11 -0
- package/connectors/connect-plecto/CLAUDE.md +272 -0
- package/connectors/connect-plecto/README.md +193 -0
- package/connectors/connect-plecto/package.json +51 -0
- package/connectors/connect-plecto/scripts/release.ts +179 -0
- package/connectors/connect-plecto/src/api/client.ts +213 -0
- package/connectors/connect-plecto/src/api/example.ts +48 -0
- package/connectors/connect-plecto/src/api/index.ts +51 -0
- package/connectors/connect-plecto/src/cli/index.ts +254 -0
- package/connectors/connect-plecto/src/index.ts +103 -0
- package/connectors/connect-plecto/src/types/index.ts +237 -0
- package/connectors/connect-plecto/src/utils/auth.ts +274 -0
- package/connectors/connect-plecto/src/utils/bulk.ts +212 -0
- package/connectors/connect-plecto/src/utils/config.ts +326 -0
- package/connectors/connect-plecto/src/utils/output.ts +175 -0
- package/connectors/connect-plecto/src/utils/settings.ts +114 -0
- package/connectors/connect-plecto/src/utils/storage.ts +198 -0
- package/connectors/connect-plecto/tsconfig.json +16 -0
- package/connectors/connect-plivo/.env.example +11 -0
- package/connectors/connect-plivo/CLAUDE.md +272 -0
- package/connectors/connect-plivo/README.md +193 -0
- package/connectors/connect-plivo/package.json +51 -0
- package/connectors/connect-plivo/scripts/release.ts +179 -0
- package/connectors/connect-plivo/src/api/client.ts +213 -0
- package/connectors/connect-plivo/src/api/example.ts +48 -0
- package/connectors/connect-plivo/src/api/index.ts +51 -0
- package/connectors/connect-plivo/src/cli/index.ts +254 -0
- package/connectors/connect-plivo/src/index.ts +103 -0
- package/connectors/connect-plivo/src/types/index.ts +237 -0
- package/connectors/connect-plivo/src/utils/auth.ts +274 -0
- package/connectors/connect-plivo/src/utils/bulk.ts +212 -0
- package/connectors/connect-plivo/src/utils/config.ts +326 -0
- package/connectors/connect-plivo/src/utils/output.ts +175 -0
- package/connectors/connect-plivo/src/utils/settings.ts +114 -0
- package/connectors/connect-plivo/src/utils/storage.ts +198 -0
- package/connectors/connect-plivo/tsconfig.json +16 -0
- package/connectors/connect-postgres/.env.example +11 -0
- package/connectors/connect-postgres/CLAUDE.md +272 -0
- package/connectors/connect-postgres/README.md +193 -0
- package/connectors/connect-postgres/package.json +51 -0
- package/connectors/connect-postgres/scripts/release.ts +179 -0
- package/connectors/connect-postgres/src/api/client.ts +213 -0
- package/connectors/connect-postgres/src/api/example.ts +48 -0
- package/connectors/connect-postgres/src/api/index.ts +51 -0
- package/connectors/connect-postgres/src/cli/index.ts +254 -0
- package/connectors/connect-postgres/src/index.ts +103 -0
- package/connectors/connect-postgres/src/types/index.ts +237 -0
- package/connectors/connect-postgres/src/utils/auth.ts +274 -0
- package/connectors/connect-postgres/src/utils/bulk.ts +212 -0
- package/connectors/connect-postgres/src/utils/config.ts +326 -0
- package/connectors/connect-postgres/src/utils/output.ts +175 -0
- package/connectors/connect-postgres/src/utils/settings.ts +114 -0
- package/connectors/connect-postgres/src/utils/storage.ts +198 -0
- package/connectors/connect-postgres/tsconfig.json +16 -0
- package/connectors/connect-practitest/.env.example +11 -0
- package/connectors/connect-practitest/CLAUDE.md +272 -0
- package/connectors/connect-practitest/README.md +193 -0
- package/connectors/connect-practitest/package.json +51 -0
- package/connectors/connect-practitest/scripts/release.ts +179 -0
- package/connectors/connect-practitest/src/api/client.ts +213 -0
- package/connectors/connect-practitest/src/api/example.ts +48 -0
- package/connectors/connect-practitest/src/api/index.ts +51 -0
- package/connectors/connect-practitest/src/cli/index.ts +254 -0
- package/connectors/connect-practitest/src/index.ts +103 -0
- package/connectors/connect-practitest/src/types/index.ts +237 -0
- package/connectors/connect-practitest/src/utils/auth.ts +274 -0
- package/connectors/connect-practitest/src/utils/bulk.ts +212 -0
- package/connectors/connect-practitest/src/utils/config.ts +326 -0
- package/connectors/connect-practitest/src/utils/output.ts +175 -0
- package/connectors/connect-practitest/src/utils/settings.ts +114 -0
- package/connectors/connect-practitest/src/utils/storage.ts +198 -0
- package/connectors/connect-practitest/tsconfig.json +16 -0
- package/connectors/connect-predisai/.env.example +11 -0
- package/connectors/connect-predisai/CLAUDE.md +272 -0
- package/connectors/connect-predisai/README.md +193 -0
- package/connectors/connect-predisai/package.json +51 -0
- package/connectors/connect-predisai/scripts/release.ts +179 -0
- package/connectors/connect-predisai/src/api/client.ts +213 -0
- package/connectors/connect-predisai/src/api/example.ts +48 -0
- package/connectors/connect-predisai/src/api/index.ts +51 -0
- package/connectors/connect-predisai/src/cli/index.ts +254 -0
- package/connectors/connect-predisai/src/index.ts +103 -0
- package/connectors/connect-predisai/src/types/index.ts +237 -0
- package/connectors/connect-predisai/src/utils/auth.ts +274 -0
- package/connectors/connect-predisai/src/utils/bulk.ts +212 -0
- package/connectors/connect-predisai/src/utils/config.ts +326 -0
- package/connectors/connect-predisai/src/utils/output.ts +175 -0
- package/connectors/connect-predisai/src/utils/settings.ts +114 -0
- package/connectors/connect-predisai/src/utils/storage.ts +198 -0
- package/connectors/connect-predisai/tsconfig.json +16 -0
- package/connectors/connect-prodia/.env.example +11 -0
- package/connectors/connect-prodia/CLAUDE.md +272 -0
- package/connectors/connect-prodia/README.md +193 -0
- package/connectors/connect-prodia/package.json +51 -0
- package/connectors/connect-prodia/scripts/release.ts +179 -0
- package/connectors/connect-prodia/src/api/client.ts +213 -0
- package/connectors/connect-prodia/src/api/example.ts +48 -0
- package/connectors/connect-prodia/src/api/index.ts +51 -0
- package/connectors/connect-prodia/src/cli/index.ts +254 -0
- package/connectors/connect-prodia/src/index.ts +103 -0
- package/connectors/connect-prodia/src/types/index.ts +237 -0
- package/connectors/connect-prodia/src/utils/auth.ts +274 -0
- package/connectors/connect-prodia/src/utils/bulk.ts +212 -0
- package/connectors/connect-prodia/src/utils/config.ts +326 -0
- package/connectors/connect-prodia/src/utils/output.ts +175 -0
- package/connectors/connect-prodia/src/utils/settings.ts +114 -0
- package/connectors/connect-prodia/src/utils/storage.ts +198 -0
- package/connectors/connect-prodia/tsconfig.json +16 -0
- package/connectors/connect-profitwell/.env.example +11 -0
- package/connectors/connect-profitwell/CLAUDE.md +272 -0
- package/connectors/connect-profitwell/README.md +193 -0
- package/connectors/connect-profitwell/package.json +51 -0
- package/connectors/connect-profitwell/scripts/release.ts +179 -0
- package/connectors/connect-profitwell/src/api/client.ts +213 -0
- package/connectors/connect-profitwell/src/api/example.ts +48 -0
- package/connectors/connect-profitwell/src/api/index.ts +51 -0
- package/connectors/connect-profitwell/src/cli/index.ts +254 -0
- package/connectors/connect-profitwell/src/index.ts +103 -0
- package/connectors/connect-profitwell/src/types/index.ts +237 -0
- package/connectors/connect-profitwell/src/utils/auth.ts +274 -0
- package/connectors/connect-profitwell/src/utils/bulk.ts +212 -0
- package/connectors/connect-profitwell/src/utils/config.ts +326 -0
- package/connectors/connect-profitwell/src/utils/output.ts +175 -0
- package/connectors/connect-profitwell/src/utils/settings.ts +114 -0
- package/connectors/connect-profitwell/src/utils/storage.ts +198 -0
- package/connectors/connect-profitwell/tsconfig.json +16 -0
- package/connectors/connect-projectbubbleproprofsproject/.env.example +11 -0
- package/connectors/connect-projectbubbleproprofsproject/CLAUDE.md +272 -0
- package/connectors/connect-projectbubbleproprofsproject/README.md +193 -0
- package/connectors/connect-projectbubbleproprofsproject/package.json +51 -0
- package/connectors/connect-projectbubbleproprofsproject/scripts/release.ts +179 -0
- package/connectors/connect-projectbubbleproprofsproject/src/api/client.ts +213 -0
- package/connectors/connect-projectbubbleproprofsproject/src/api/example.ts +48 -0
- package/connectors/connect-projectbubbleproprofsproject/src/api/index.ts +51 -0
- package/connectors/connect-projectbubbleproprofsproject/src/cli/index.ts +254 -0
- package/connectors/connect-projectbubbleproprofsproject/src/index.ts +103 -0
- package/connectors/connect-projectbubbleproprofsproject/src/types/index.ts +237 -0
- package/connectors/connect-projectbubbleproprofsproject/src/utils/auth.ts +274 -0
- package/connectors/connect-projectbubbleproprofsproject/src/utils/bulk.ts +212 -0
- package/connectors/connect-projectbubbleproprofsproject/src/utils/config.ts +326 -0
- package/connectors/connect-projectbubbleproprofsproject/src/utils/output.ts +175 -0
- package/connectors/connect-projectbubbleproprofsproject/src/utils/settings.ts +114 -0
- package/connectors/connect-projectbubbleproprofsproject/src/utils/storage.ts +198 -0
- package/connectors/connect-projectbubbleproprofsproject/tsconfig.json +16 -0
- package/connectors/connect-prompthub/.env.example +11 -0
- package/connectors/connect-prompthub/CLAUDE.md +272 -0
- package/connectors/connect-prompthub/README.md +193 -0
- package/connectors/connect-prompthub/package.json +51 -0
- package/connectors/connect-prompthub/scripts/release.ts +179 -0
- package/connectors/connect-prompthub/src/api/client.ts +213 -0
- package/connectors/connect-prompthub/src/api/example.ts +48 -0
- package/connectors/connect-prompthub/src/api/index.ts +51 -0
- package/connectors/connect-prompthub/src/cli/index.ts +254 -0
- package/connectors/connect-prompthub/src/index.ts +103 -0
- package/connectors/connect-prompthub/src/types/index.ts +237 -0
- package/connectors/connect-prompthub/src/utils/auth.ts +274 -0
- package/connectors/connect-prompthub/src/utils/bulk.ts +212 -0
- package/connectors/connect-prompthub/src/utils/config.ts +326 -0
- package/connectors/connect-prompthub/src/utils/output.ts +175 -0
- package/connectors/connect-prompthub/src/utils/settings.ts +114 -0
- package/connectors/connect-prompthub/src/utils/storage.ts +198 -0
- package/connectors/connect-prompthub/tsconfig.json +16 -0
- package/connectors/connect-prospeai/.env.example +11 -0
- package/connectors/connect-prospeai/CLAUDE.md +272 -0
- package/connectors/connect-prospeai/README.md +193 -0
- package/connectors/connect-prospeai/package.json +51 -0
- package/connectors/connect-prospeai/scripts/release.ts +179 -0
- package/connectors/connect-prospeai/src/api/client.ts +213 -0
- package/connectors/connect-prospeai/src/api/example.ts +48 -0
- package/connectors/connect-prospeai/src/api/index.ts +51 -0
- package/connectors/connect-prospeai/src/cli/index.ts +254 -0
- package/connectors/connect-prospeai/src/index.ts +103 -0
- package/connectors/connect-prospeai/src/types/index.ts +237 -0
- package/connectors/connect-prospeai/src/utils/auth.ts +274 -0
- package/connectors/connect-prospeai/src/utils/bulk.ts +212 -0
- package/connectors/connect-prospeai/src/utils/config.ts +326 -0
- package/connectors/connect-prospeai/src/utils/output.ts +175 -0
- package/connectors/connect-prospeai/src/utils/settings.ts +114 -0
- package/connectors/connect-prospeai/src/utils/storage.ts +198 -0
- package/connectors/connect-prospeai/tsconfig.json +16 -0
- package/connectors/connect-pulsetic/.env.example +11 -0
- package/connectors/connect-pulsetic/CLAUDE.md +272 -0
- package/connectors/connect-pulsetic/README.md +193 -0
- package/connectors/connect-pulsetic/package.json +51 -0
- package/connectors/connect-pulsetic/scripts/release.ts +179 -0
- package/connectors/connect-pulsetic/src/api/client.ts +213 -0
- package/connectors/connect-pulsetic/src/api/example.ts +48 -0
- package/connectors/connect-pulsetic/src/api/index.ts +51 -0
- package/connectors/connect-pulsetic/src/cli/index.ts +254 -0
- package/connectors/connect-pulsetic/src/index.ts +103 -0
- package/connectors/connect-pulsetic/src/types/index.ts +237 -0
- package/connectors/connect-pulsetic/src/utils/auth.ts +274 -0
- package/connectors/connect-pulsetic/src/utils/bulk.ts +212 -0
- package/connectors/connect-pulsetic/src/utils/config.ts +326 -0
- package/connectors/connect-pulsetic/src/utils/output.ts +175 -0
- package/connectors/connect-pulsetic/src/utils/settings.ts +114 -0
- package/connectors/connect-pulsetic/src/utils/storage.ts +198 -0
- package/connectors/connect-pulsetic/tsconfig.json +16 -0
- package/connectors/connect-pushbullet/.env.example +11 -0
- package/connectors/connect-pushbullet/CLAUDE.md +272 -0
- package/connectors/connect-pushbullet/README.md +193 -0
- package/connectors/connect-pushbullet/package.json +51 -0
- package/connectors/connect-pushbullet/scripts/release.ts +179 -0
- package/connectors/connect-pushbullet/src/api/client.ts +213 -0
- package/connectors/connect-pushbullet/src/api/example.ts +48 -0
- package/connectors/connect-pushbullet/src/api/index.ts +51 -0
- package/connectors/connect-pushbullet/src/cli/index.ts +254 -0
- package/connectors/connect-pushbullet/src/index.ts +103 -0
- package/connectors/connect-pushbullet/src/types/index.ts +237 -0
- package/connectors/connect-pushbullet/src/utils/auth.ts +274 -0
- package/connectors/connect-pushbullet/src/utils/bulk.ts +212 -0
- package/connectors/connect-pushbullet/src/utils/config.ts +326 -0
- package/connectors/connect-pushbullet/src/utils/output.ts +175 -0
- package/connectors/connect-pushbullet/src/utils/settings.ts +114 -0
- package/connectors/connect-pushbullet/src/utils/storage.ts +198 -0
- package/connectors/connect-pushbullet/tsconfig.json +16 -0
- package/dist/index.js +252 -0
- 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,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
|