@hasna/connectors 0.9.3 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/index.js +512 -1
- package/bin/mcp.js +512 -1
- package/bin/serve.js +511 -0
- package/connectors/connect-focuster/.env.example +11 -0
- package/connectors/connect-focuster/CLAUDE.md +272 -0
- package/connectors/connect-focuster/README.md +193 -0
- package/connectors/connect-focuster/package.json +49 -0
- package/connectors/connect-focuster/src/api/client.ts +213 -0
- package/connectors/connect-focuster/src/api/example.ts +48 -0
- package/connectors/connect-focuster/src/api/index.ts +51 -0
- package/connectors/connect-focuster/src/cli/index.ts +254 -0
- package/connectors/connect-focuster/src/index.ts +103 -0
- package/connectors/connect-focuster/src/types/index.ts +237 -0
- package/connectors/connect-focuster/src/utils/auth.ts +274 -0
- package/connectors/connect-focuster/src/utils/bulk.ts +212 -0
- package/connectors/connect-focuster/src/utils/config.ts +326 -0
- package/connectors/connect-focuster/src/utils/output.ts +175 -0
- package/connectors/connect-focuster/src/utils/settings.ts +114 -0
- package/connectors/connect-focuster/src/utils/storage.ts +198 -0
- package/connectors/connect-focuster/tsconfig.json +16 -0
- package/connectors/connect-formcarry/.env.example +11 -0
- package/connectors/connect-formcarry/CLAUDE.md +272 -0
- package/connectors/connect-formcarry/README.md +193 -0
- package/connectors/connect-formcarry/package.json +49 -0
- package/connectors/connect-formcarry/src/api/client.ts +213 -0
- package/connectors/connect-formcarry/src/api/example.ts +48 -0
- package/connectors/connect-formcarry/src/api/index.ts +51 -0
- package/connectors/connect-formcarry/src/cli/index.ts +254 -0
- package/connectors/connect-formcarry/src/index.ts +103 -0
- package/connectors/connect-formcarry/src/types/index.ts +237 -0
- package/connectors/connect-formcarry/src/utils/auth.ts +274 -0
- package/connectors/connect-formcarry/src/utils/bulk.ts +212 -0
- package/connectors/connect-formcarry/src/utils/config.ts +326 -0
- package/connectors/connect-formcarry/src/utils/output.ts +175 -0
- package/connectors/connect-formcarry/src/utils/settings.ts +114 -0
- package/connectors/connect-formcarry/src/utils/storage.ts +198 -0
- package/connectors/connect-formcarry/tsconfig.json +16 -0
- package/connectors/connect-formdesk/.env.example +11 -0
- package/connectors/connect-formdesk/CLAUDE.md +272 -0
- package/connectors/connect-formdesk/README.md +193 -0
- package/connectors/connect-formdesk/package.json +49 -0
- package/connectors/connect-formdesk/src/api/client.ts +213 -0
- package/connectors/connect-formdesk/src/api/example.ts +48 -0
- package/connectors/connect-formdesk/src/api/index.ts +51 -0
- package/connectors/connect-formdesk/src/cli/index.ts +254 -0
- package/connectors/connect-formdesk/src/index.ts +103 -0
- package/connectors/connect-formdesk/src/types/index.ts +237 -0
- package/connectors/connect-formdesk/src/utils/auth.ts +274 -0
- package/connectors/connect-formdesk/src/utils/bulk.ts +212 -0
- package/connectors/connect-formdesk/src/utils/config.ts +326 -0
- package/connectors/connect-formdesk/src/utils/output.ts +175 -0
- package/connectors/connect-formdesk/src/utils/settings.ts +114 -0
- package/connectors/connect-formdesk/src/utils/storage.ts +198 -0
- package/connectors/connect-formdesk/tsconfig.json +16 -0
- package/connectors/connect-formsite/.env.example +11 -0
- package/connectors/connect-formsite/CLAUDE.md +272 -0
- package/connectors/connect-formsite/README.md +193 -0
- package/connectors/connect-formsite/package.json +49 -0
- package/connectors/connect-formsite/src/api/client.ts +213 -0
- package/connectors/connect-formsite/src/api/example.ts +48 -0
- package/connectors/connect-formsite/src/api/index.ts +51 -0
- package/connectors/connect-formsite/src/cli/index.ts +254 -0
- package/connectors/connect-formsite/src/index.ts +103 -0
- package/connectors/connect-formsite/src/types/index.ts +237 -0
- package/connectors/connect-formsite/src/utils/auth.ts +274 -0
- package/connectors/connect-formsite/src/utils/bulk.ts +212 -0
- package/connectors/connect-formsite/src/utils/config.ts +326 -0
- package/connectors/connect-formsite/src/utils/output.ts +175 -0
- package/connectors/connect-formsite/src/utils/settings.ts +114 -0
- package/connectors/connect-formsite/src/utils/storage.ts +198 -0
- package/connectors/connect-formsite/tsconfig.json +16 -0
- package/connectors/connect-formsonfire/.env.example +11 -0
- package/connectors/connect-formsonfire/CLAUDE.md +272 -0
- package/connectors/connect-formsonfire/README.md +193 -0
- package/connectors/connect-formsonfire/package.json +49 -0
- package/connectors/connect-formsonfire/src/api/client.ts +213 -0
- package/connectors/connect-formsonfire/src/api/example.ts +48 -0
- package/connectors/connect-formsonfire/src/api/index.ts +51 -0
- package/connectors/connect-formsonfire/src/cli/index.ts +254 -0
- package/connectors/connect-formsonfire/src/index.ts +103 -0
- package/connectors/connect-formsonfire/src/types/index.ts +237 -0
- package/connectors/connect-formsonfire/src/utils/auth.ts +274 -0
- package/connectors/connect-formsonfire/src/utils/bulk.ts +212 -0
- package/connectors/connect-formsonfire/src/utils/config.ts +326 -0
- package/connectors/connect-formsonfire/src/utils/output.ts +175 -0
- package/connectors/connect-formsonfire/src/utils/settings.ts +114 -0
- package/connectors/connect-formsonfire/src/utils/storage.ts +198 -0
- package/connectors/connect-formsonfire/tsconfig.json +16 -0
- package/connectors/connect-formstackdocuments/.env.example +11 -0
- package/connectors/connect-formstackdocuments/CLAUDE.md +272 -0
- package/connectors/connect-formstackdocuments/README.md +193 -0
- package/connectors/connect-formstackdocuments/package.json +49 -0
- package/connectors/connect-formstackdocuments/src/api/client.ts +213 -0
- package/connectors/connect-formstackdocuments/src/api/example.ts +48 -0
- package/connectors/connect-formstackdocuments/src/api/index.ts +51 -0
- package/connectors/connect-formstackdocuments/src/cli/index.ts +254 -0
- package/connectors/connect-formstackdocuments/src/index.ts +103 -0
- package/connectors/connect-formstackdocuments/src/types/index.ts +237 -0
- package/connectors/connect-formstackdocuments/src/utils/auth.ts +274 -0
- package/connectors/connect-formstackdocuments/src/utils/bulk.ts +212 -0
- package/connectors/connect-formstackdocuments/src/utils/config.ts +326 -0
- package/connectors/connect-formstackdocuments/src/utils/output.ts +175 -0
- package/connectors/connect-formstackdocuments/src/utils/settings.ts +114 -0
- package/connectors/connect-formstackdocuments/src/utils/storage.ts +198 -0
- package/connectors/connect-formstackdocuments/tsconfig.json +16 -0
- package/connectors/connect-fortinetfortigate/.env.example +11 -0
- package/connectors/connect-fortinetfortigate/CLAUDE.md +272 -0
- package/connectors/connect-fortinetfortigate/README.md +193 -0
- package/connectors/connect-fortinetfortigate/package.json +49 -0
- package/connectors/connect-fortinetfortigate/src/api/client.ts +213 -0
- package/connectors/connect-fortinetfortigate/src/api/example.ts +48 -0
- package/connectors/connect-fortinetfortigate/src/api/index.ts +51 -0
- package/connectors/connect-fortinetfortigate/src/cli/index.ts +254 -0
- package/connectors/connect-fortinetfortigate/src/index.ts +103 -0
- package/connectors/connect-fortinetfortigate/src/types/index.ts +237 -0
- package/connectors/connect-fortinetfortigate/src/utils/auth.ts +274 -0
- package/connectors/connect-fortinetfortigate/src/utils/bulk.ts +212 -0
- package/connectors/connect-fortinetfortigate/src/utils/config.ts +326 -0
- package/connectors/connect-fortinetfortigate/src/utils/output.ts +175 -0
- package/connectors/connect-fortinetfortigate/src/utils/settings.ts +114 -0
- package/connectors/connect-fortinetfortigate/src/utils/storage.ts +198 -0
- package/connectors/connect-fortinetfortigate/tsconfig.json +16 -0
- package/connectors/connect-foursquare/.env.example +11 -0
- package/connectors/connect-foursquare/CLAUDE.md +272 -0
- package/connectors/connect-foursquare/README.md +193 -0
- package/connectors/connect-foursquare/package.json +49 -0
- package/connectors/connect-foursquare/src/api/client.ts +213 -0
- package/connectors/connect-foursquare/src/api/example.ts +48 -0
- package/connectors/connect-foursquare/src/api/index.ts +51 -0
- package/connectors/connect-foursquare/src/cli/index.ts +254 -0
- package/connectors/connect-foursquare/src/index.ts +103 -0
- package/connectors/connect-foursquare/src/types/index.ts +237 -0
- package/connectors/connect-foursquare/src/utils/auth.ts +274 -0
- package/connectors/connect-foursquare/src/utils/bulk.ts +212 -0
- package/connectors/connect-foursquare/src/utils/config.ts +326 -0
- package/connectors/connect-foursquare/src/utils/output.ts +175 -0
- package/connectors/connect-foursquare/src/utils/settings.ts +114 -0
- package/connectors/connect-foursquare/src/utils/storage.ts +198 -0
- package/connectors/connect-foursquare/tsconfig.json +16 -0
- package/connectors/connect-freedictionary/.env.example +11 -0
- package/connectors/connect-freedictionary/CLAUDE.md +272 -0
- package/connectors/connect-freedictionary/README.md +193 -0
- package/connectors/connect-freedictionary/package.json +49 -0
- package/connectors/connect-freedictionary/src/api/client.ts +213 -0
- package/connectors/connect-freedictionary/src/api/example.ts +48 -0
- package/connectors/connect-freedictionary/src/api/index.ts +51 -0
- package/connectors/connect-freedictionary/src/cli/index.ts +254 -0
- package/connectors/connect-freedictionary/src/index.ts +103 -0
- package/connectors/connect-freedictionary/src/types/index.ts +237 -0
- package/connectors/connect-freedictionary/src/utils/auth.ts +274 -0
- package/connectors/connect-freedictionary/src/utils/bulk.ts +212 -0
- package/connectors/connect-freedictionary/src/utils/config.ts +326 -0
- package/connectors/connect-freedictionary/src/utils/output.ts +175 -0
- package/connectors/connect-freedictionary/src/utils/settings.ts +114 -0
- package/connectors/connect-freedictionary/src/utils/storage.ts +198 -0
- package/connectors/connect-freedictionary/tsconfig.json +16 -0
- package/connectors/connect-freshping/.env.example +11 -0
- package/connectors/connect-freshping/CLAUDE.md +272 -0
- package/connectors/connect-freshping/README.md +193 -0
- package/connectors/connect-freshping/package.json +49 -0
- package/connectors/connect-freshping/src/api/client.ts +213 -0
- package/connectors/connect-freshping/src/api/example.ts +48 -0
- package/connectors/connect-freshping/src/api/index.ts +51 -0
- package/connectors/connect-freshping/src/cli/index.ts +254 -0
- package/connectors/connect-freshping/src/index.ts +103 -0
- package/connectors/connect-freshping/src/types/index.ts +237 -0
- package/connectors/connect-freshping/src/utils/auth.ts +274 -0
- package/connectors/connect-freshping/src/utils/bulk.ts +212 -0
- package/connectors/connect-freshping/src/utils/config.ts +326 -0
- package/connectors/connect-freshping/src/utils/output.ts +175 -0
- package/connectors/connect-freshping/src/utils/settings.ts +114 -0
- package/connectors/connect-freshping/src/utils/storage.ts +198 -0
- package/connectors/connect-freshping/tsconfig.json +16 -0
- package/connectors/connect-freshservice/.env.example +11 -0
- package/connectors/connect-freshservice/CLAUDE.md +272 -0
- package/connectors/connect-freshservice/README.md +193 -0
- package/connectors/connect-freshservice/package.json +51 -0
- package/connectors/connect-freshservice/scripts/release.ts +179 -0
- package/connectors/connect-freshservice/src/api/client.ts +213 -0
- package/connectors/connect-freshservice/src/api/example.ts +48 -0
- package/connectors/connect-freshservice/src/api/index.ts +51 -0
- package/connectors/connect-freshservice/src/cli/index.ts +254 -0
- package/connectors/connect-freshservice/src/index.ts +103 -0
- package/connectors/connect-freshservice/src/types/index.ts +237 -0
- package/connectors/connect-freshservice/src/utils/auth.ts +274 -0
- package/connectors/connect-freshservice/src/utils/bulk.ts +212 -0
- package/connectors/connect-freshservice/src/utils/config.ts +326 -0
- package/connectors/connect-freshservice/src/utils/output.ts +175 -0
- package/connectors/connect-freshservice/src/utils/settings.ts +114 -0
- package/connectors/connect-freshservice/src/utils/storage.ts +198 -0
- package/connectors/connect-freshservice/tsconfig.json +16 -0
- package/connectors/connect-freshworkscrm/.env.example +11 -0
- package/connectors/connect-freshworkscrm/CLAUDE.md +272 -0
- package/connectors/connect-freshworkscrm/README.md +193 -0
- package/connectors/connect-freshworkscrm/package.json +51 -0
- package/connectors/connect-freshworkscrm/scripts/release.ts +179 -0
- package/connectors/connect-freshworkscrm/src/api/client.ts +213 -0
- package/connectors/connect-freshworkscrm/src/api/example.ts +48 -0
- package/connectors/connect-freshworkscrm/src/api/index.ts +51 -0
- package/connectors/connect-freshworkscrm/src/cli/index.ts +254 -0
- package/connectors/connect-freshworkscrm/src/index.ts +103 -0
- package/connectors/connect-freshworkscrm/src/types/index.ts +237 -0
- package/connectors/connect-freshworkscrm/src/utils/auth.ts +274 -0
- package/connectors/connect-freshworkscrm/src/utils/bulk.ts +212 -0
- package/connectors/connect-freshworkscrm/src/utils/config.ts +326 -0
- package/connectors/connect-freshworkscrm/src/utils/output.ts +175 -0
- package/connectors/connect-freshworkscrm/src/utils/settings.ts +114 -0
- package/connectors/connect-freshworkscrm/src/utils/storage.ts +198 -0
- package/connectors/connect-freshworkscrm/tsconfig.json +16 -0
- package/connectors/connect-fullcontact/.env.example +11 -0
- package/connectors/connect-fullcontact/CLAUDE.md +272 -0
- package/connectors/connect-fullcontact/README.md +193 -0
- package/connectors/connect-fullcontact/package.json +51 -0
- package/connectors/connect-fullcontact/scripts/release.ts +179 -0
- package/connectors/connect-fullcontact/src/api/client.ts +213 -0
- package/connectors/connect-fullcontact/src/api/example.ts +48 -0
- package/connectors/connect-fullcontact/src/api/index.ts +51 -0
- package/connectors/connect-fullcontact/src/cli/index.ts +254 -0
- package/connectors/connect-fullcontact/src/index.ts +103 -0
- package/connectors/connect-fullcontact/src/types/index.ts +237 -0
- package/connectors/connect-fullcontact/src/utils/auth.ts +274 -0
- package/connectors/connect-fullcontact/src/utils/bulk.ts +212 -0
- package/connectors/connect-fullcontact/src/utils/config.ts +326 -0
- package/connectors/connect-fullcontact/src/utils/output.ts +175 -0
- package/connectors/connect-fullcontact/src/utils/settings.ts +114 -0
- package/connectors/connect-fullcontact/src/utils/storage.ts +198 -0
- package/connectors/connect-fullcontact/tsconfig.json +16 -0
- package/connectors/connect-fusioo/.env.example +11 -0
- package/connectors/connect-fusioo/CLAUDE.md +272 -0
- package/connectors/connect-fusioo/README.md +193 -0
- package/connectors/connect-fusioo/package.json +51 -0
- package/connectors/connect-fusioo/scripts/release.ts +179 -0
- package/connectors/connect-fusioo/src/api/client.ts +213 -0
- package/connectors/connect-fusioo/src/api/example.ts +48 -0
- package/connectors/connect-fusioo/src/api/index.ts +51 -0
- package/connectors/connect-fusioo/src/cli/index.ts +254 -0
- package/connectors/connect-fusioo/src/index.ts +103 -0
- package/connectors/connect-fusioo/src/types/index.ts +237 -0
- package/connectors/connect-fusioo/src/utils/auth.ts +274 -0
- package/connectors/connect-fusioo/src/utils/bulk.ts +212 -0
- package/connectors/connect-fusioo/src/utils/config.ts +326 -0
- package/connectors/connect-fusioo/src/utils/output.ts +175 -0
- package/connectors/connect-fusioo/src/utils/settings.ts +114 -0
- package/connectors/connect-fusioo/src/utils/storage.ts +198 -0
- package/connectors/connect-fusioo/tsconfig.json +16 -0
- package/connectors/connect-gali/.env.example +11 -0
- package/connectors/connect-gali/CLAUDE.md +272 -0
- package/connectors/connect-gali/README.md +193 -0
- package/connectors/connect-gali/package.json +51 -0
- package/connectors/connect-gali/scripts/release.ts +179 -0
- package/connectors/connect-gali/src/api/client.ts +213 -0
- package/connectors/connect-gali/src/api/example.ts +48 -0
- package/connectors/connect-gali/src/api/index.ts +51 -0
- package/connectors/connect-gali/src/cli/index.ts +254 -0
- package/connectors/connect-gali/src/index.ts +103 -0
- package/connectors/connect-gali/src/types/index.ts +237 -0
- package/connectors/connect-gali/src/utils/auth.ts +274 -0
- package/connectors/connect-gali/src/utils/bulk.ts +212 -0
- package/connectors/connect-gali/src/utils/config.ts +326 -0
- package/connectors/connect-gali/src/utils/output.ts +175 -0
- package/connectors/connect-gali/src/utils/settings.ts +114 -0
- package/connectors/connect-gali/src/utils/storage.ts +198 -0
- package/connectors/connect-gali/tsconfig.json +16 -0
- package/connectors/connect-gatekeeper/.env.example +11 -0
- package/connectors/connect-gatekeeper/CLAUDE.md +272 -0
- package/connectors/connect-gatekeeper/README.md +193 -0
- package/connectors/connect-gatekeeper/package.json +51 -0
- package/connectors/connect-gatekeeper/scripts/release.ts +179 -0
- package/connectors/connect-gatekeeper/src/api/client.ts +213 -0
- package/connectors/connect-gatekeeper/src/api/example.ts +48 -0
- package/connectors/connect-gatekeeper/src/api/index.ts +51 -0
- package/connectors/connect-gatekeeper/src/cli/index.ts +254 -0
- package/connectors/connect-gatekeeper/src/index.ts +103 -0
- package/connectors/connect-gatekeeper/src/types/index.ts +237 -0
- package/connectors/connect-gatekeeper/src/utils/auth.ts +274 -0
- package/connectors/connect-gatekeeper/src/utils/bulk.ts +212 -0
- package/connectors/connect-gatekeeper/src/utils/config.ts +326 -0
- package/connectors/connect-gatekeeper/src/utils/output.ts +175 -0
- package/connectors/connect-gatekeeper/src/utils/settings.ts +114 -0
- package/connectors/connect-gatekeeper/src/utils/storage.ts +198 -0
- package/connectors/connect-gatekeeper/tsconfig.json +16 -0
- package/connectors/connect-genderapi/.env.example +11 -0
- package/connectors/connect-genderapi/CLAUDE.md +272 -0
- package/connectors/connect-genderapi/README.md +193 -0
- package/connectors/connect-genderapi/package.json +51 -0
- package/connectors/connect-genderapi/scripts/release.ts +179 -0
- package/connectors/connect-genderapi/src/api/client.ts +213 -0
- package/connectors/connect-genderapi/src/api/example.ts +48 -0
- package/connectors/connect-genderapi/src/api/index.ts +51 -0
- package/connectors/connect-genderapi/src/cli/index.ts +254 -0
- package/connectors/connect-genderapi/src/index.ts +103 -0
- package/connectors/connect-genderapi/src/types/index.ts +237 -0
- package/connectors/connect-genderapi/src/utils/auth.ts +274 -0
- package/connectors/connect-genderapi/src/utils/bulk.ts +212 -0
- package/connectors/connect-genderapi/src/utils/config.ts +326 -0
- package/connectors/connect-genderapi/src/utils/output.ts +175 -0
- package/connectors/connect-genderapi/src/utils/settings.ts +114 -0
- package/connectors/connect-genderapi/src/utils/storage.ts +198 -0
- package/connectors/connect-genderapi/tsconfig.json +16 -0
- package/connectors/connect-getresponse/.env.example +11 -0
- package/connectors/connect-getresponse/CLAUDE.md +272 -0
- package/connectors/connect-getresponse/README.md +193 -0
- package/connectors/connect-getresponse/package.json +51 -0
- package/connectors/connect-getresponse/scripts/release.ts +179 -0
- package/connectors/connect-getresponse/src/api/client.ts +213 -0
- package/connectors/connect-getresponse/src/api/example.ts +48 -0
- package/connectors/connect-getresponse/src/api/index.ts +51 -0
- package/connectors/connect-getresponse/src/cli/index.ts +254 -0
- package/connectors/connect-getresponse/src/index.ts +103 -0
- package/connectors/connect-getresponse/src/types/index.ts +237 -0
- package/connectors/connect-getresponse/src/utils/auth.ts +274 -0
- package/connectors/connect-getresponse/src/utils/bulk.ts +212 -0
- package/connectors/connect-getresponse/src/utils/config.ts +326 -0
- package/connectors/connect-getresponse/src/utils/output.ts +175 -0
- package/connectors/connect-getresponse/src/utils/settings.ts +114 -0
- package/connectors/connect-getresponse/src/utils/storage.ts +198 -0
- package/connectors/connect-getresponse/tsconfig.json +16 -0
- package/connectors/connect-getscreenshot/.env.example +11 -0
- package/connectors/connect-getscreenshot/CLAUDE.md +272 -0
- package/connectors/connect-getscreenshot/README.md +193 -0
- package/connectors/connect-getscreenshot/package.json +51 -0
- package/connectors/connect-getscreenshot/scripts/release.ts +179 -0
- package/connectors/connect-getscreenshot/src/api/client.ts +213 -0
- package/connectors/connect-getscreenshot/src/api/example.ts +48 -0
- package/connectors/connect-getscreenshot/src/api/index.ts +51 -0
- package/connectors/connect-getscreenshot/src/cli/index.ts +254 -0
- package/connectors/connect-getscreenshot/src/index.ts +103 -0
- package/connectors/connect-getscreenshot/src/types/index.ts +237 -0
- package/connectors/connect-getscreenshot/src/utils/auth.ts +274 -0
- package/connectors/connect-getscreenshot/src/utils/bulk.ts +212 -0
- package/connectors/connect-getscreenshot/src/utils/config.ts +326 -0
- package/connectors/connect-getscreenshot/src/utils/output.ts +175 -0
- package/connectors/connect-getscreenshot/src/utils/settings.ts +114 -0
- package/connectors/connect-getscreenshot/src/utils/storage.ts +198 -0
- package/connectors/connect-getscreenshot/tsconfig.json +16 -0
- package/connectors/connect-ghost/.env.example +11 -0
- package/connectors/connect-ghost/CLAUDE.md +272 -0
- package/connectors/connect-ghost/README.md +193 -0
- package/connectors/connect-ghost/package.json +51 -0
- package/connectors/connect-ghost/scripts/release.ts +179 -0
- package/connectors/connect-ghost/src/api/client.ts +213 -0
- package/connectors/connect-ghost/src/api/example.ts +48 -0
- package/connectors/connect-ghost/src/api/index.ts +51 -0
- package/connectors/connect-ghost/src/cli/index.ts +254 -0
- package/connectors/connect-ghost/src/index.ts +103 -0
- package/connectors/connect-ghost/src/types/index.ts +237 -0
- package/connectors/connect-ghost/src/utils/auth.ts +274 -0
- package/connectors/connect-ghost/src/utils/bulk.ts +212 -0
- package/connectors/connect-ghost/src/utils/config.ts +326 -0
- package/connectors/connect-ghost/src/utils/output.ts +175 -0
- package/connectors/connect-ghost/src/utils/settings.ts +114 -0
- package/connectors/connect-ghost/src/utils/storage.ts +198 -0
- package/connectors/connect-ghost/tsconfig.json +16 -0
- package/connectors/connect-gitea/.env.example +11 -0
- package/connectors/connect-gitea/CLAUDE.md +272 -0
- package/connectors/connect-gitea/README.md +39 -0
- package/connectors/connect-gitea/package.json +49 -0
- package/connectors/connect-gitea/src/api/client.ts +213 -0
- package/connectors/connect-gitea/src/api/example.ts +48 -0
- package/connectors/connect-gitea/src/api/index.ts +51 -0
- package/connectors/connect-gitea/src/cli/index.ts +254 -0
- package/connectors/connect-gitea/src/index.ts +103 -0
- package/connectors/connect-gitea/src/types/index.ts +237 -0
- package/connectors/connect-gitea/src/utils/auth.ts +274 -0
- package/connectors/connect-gitea/src/utils/bulk.ts +212 -0
- package/connectors/connect-gitea/src/utils/config.ts +326 -0
- package/connectors/connect-gitea/src/utils/output.ts +175 -0
- package/connectors/connect-gitea/src/utils/settings.ts +114 -0
- package/connectors/connect-gitea/src/utils/storage.ts +198 -0
- package/connectors/connect-gitea/tsconfig.json +16 -0
- package/connectors/connect-gleap/.env.example +11 -0
- package/connectors/connect-gleap/CLAUDE.md +272 -0
- package/connectors/connect-gleap/README.md +39 -0
- package/connectors/connect-gleap/package.json +49 -0
- package/connectors/connect-gleap/src/api/client.ts +213 -0
- package/connectors/connect-gleap/src/api/example.ts +48 -0
- package/connectors/connect-gleap/src/api/index.ts +51 -0
- package/connectors/connect-gleap/src/cli/index.ts +254 -0
- package/connectors/connect-gleap/src/index.ts +103 -0
- package/connectors/connect-gleap/src/types/index.ts +237 -0
- package/connectors/connect-gleap/src/utils/auth.ts +274 -0
- package/connectors/connect-gleap/src/utils/bulk.ts +212 -0
- package/connectors/connect-gleap/src/utils/config.ts +326 -0
- package/connectors/connect-gleap/src/utils/output.ts +175 -0
- package/connectors/connect-gleap/src/utils/settings.ts +114 -0
- package/connectors/connect-gleap/src/utils/storage.ts +198 -0
- package/connectors/connect-gleap/tsconfig.json +16 -0
- package/connectors/connect-gocanvas/.env.example +11 -0
- package/connectors/connect-gocanvas/CLAUDE.md +272 -0
- package/connectors/connect-gocanvas/README.md +39 -0
- package/connectors/connect-gocanvas/package.json +49 -0
- package/connectors/connect-gocanvas/src/api/client.ts +213 -0
- package/connectors/connect-gocanvas/src/api/example.ts +48 -0
- package/connectors/connect-gocanvas/src/api/index.ts +51 -0
- package/connectors/connect-gocanvas/src/cli/index.ts +254 -0
- package/connectors/connect-gocanvas/src/index.ts +103 -0
- package/connectors/connect-gocanvas/src/types/index.ts +237 -0
- package/connectors/connect-gocanvas/src/utils/auth.ts +274 -0
- package/connectors/connect-gocanvas/src/utils/bulk.ts +212 -0
- package/connectors/connect-gocanvas/src/utils/config.ts +326 -0
- package/connectors/connect-gocanvas/src/utils/output.ts +175 -0
- package/connectors/connect-gocanvas/src/utils/settings.ts +114 -0
- package/connectors/connect-gocanvas/src/utils/storage.ts +198 -0
- package/connectors/connect-gocanvas/tsconfig.json +16 -0
- package/connectors/connect-godaddy/.env.example +11 -0
- package/connectors/connect-godaddy/CLAUDE.md +272 -0
- package/connectors/connect-godaddy/README.md +39 -0
- package/connectors/connect-godaddy/package.json +49 -0
- package/connectors/connect-godaddy/src/api/client.ts +213 -0
- package/connectors/connect-godaddy/src/api/example.ts +48 -0
- package/connectors/connect-godaddy/src/api/index.ts +51 -0
- package/connectors/connect-godaddy/src/cli/index.ts +254 -0
- package/connectors/connect-godaddy/src/index.ts +103 -0
- package/connectors/connect-godaddy/src/types/index.ts +237 -0
- package/connectors/connect-godaddy/src/utils/auth.ts +274 -0
- package/connectors/connect-godaddy/src/utils/bulk.ts +212 -0
- package/connectors/connect-godaddy/src/utils/config.ts +326 -0
- package/connectors/connect-godaddy/src/utils/output.ts +175 -0
- package/connectors/connect-godaddy/src/utils/settings.ts +114 -0
- package/connectors/connect-godaddy/src/utils/storage.ts +198 -0
- package/connectors/connect-godaddy/tsconfig.json +16 -0
- package/connectors/connect-gong/.env.example +11 -0
- package/connectors/connect-gong/CLAUDE.md +272 -0
- package/connectors/connect-gong/README.md +39 -0
- package/connectors/connect-gong/package.json +49 -0
- package/connectors/connect-gong/src/api/client.ts +213 -0
- package/connectors/connect-gong/src/api/example.ts +48 -0
- package/connectors/connect-gong/src/api/index.ts +51 -0
- package/connectors/connect-gong/src/cli/index.ts +254 -0
- package/connectors/connect-gong/src/index.ts +103 -0
- package/connectors/connect-gong/src/types/index.ts +237 -0
- package/connectors/connect-gong/src/utils/auth.ts +274 -0
- package/connectors/connect-gong/src/utils/bulk.ts +212 -0
- package/connectors/connect-gong/src/utils/config.ts +326 -0
- package/connectors/connect-gong/src/utils/output.ts +175 -0
- package/connectors/connect-gong/src/utils/settings.ts +114 -0
- package/connectors/connect-gong/src/utils/storage.ts +198 -0
- package/connectors/connect-gong/tsconfig.json +16 -0
- package/connectors/connect-googleads/CLAUDE.md +55 -0
- package/connectors/connect-googleads/README.md +39 -0
- package/connectors/connect-googleads/package.json +52 -0
- package/connectors/connect-googleads/src/api/adGroups.ts +170 -0
- package/connectors/connect-googleads/src/api/ads.ts +171 -0
- package/connectors/connect-googleads/src/api/campaigns.ts +252 -0
- package/connectors/connect-googleads/src/api/client.ts +214 -0
- package/connectors/connect-googleads/src/api/index.ts +76 -0
- package/connectors/connect-googleads/src/api/keywords.ts +308 -0
- package/connectors/connect-googleads/src/api/reports.ts +430 -0
- package/connectors/connect-googleads/src/cli/index.ts +1259 -0
- package/connectors/connect-googleads/src/index.ts +40 -0
- package/connectors/connect-googleads/src/types/index.ts +433 -0
- package/connectors/connect-googleads/src/utils/auth.ts +208 -0
- package/connectors/connect-googleads/src/utils/config.ts +342 -0
- package/connectors/connect-googleads/src/utils/output.ts +62 -0
- package/connectors/connect-googleads/tsconfig.json +16 -0
- package/connectors/connect-googleanalytics/.env.example +11 -0
- package/connectors/connect-googleanalytics/CLAUDE.md +272 -0
- package/connectors/connect-googleanalytics/README.md +39 -0
- package/connectors/connect-googleanalytics/package.json +49 -0
- package/connectors/connect-googleanalytics/src/api/client.ts +213 -0
- package/connectors/connect-googleanalytics/src/api/example.ts +48 -0
- package/connectors/connect-googleanalytics/src/api/index.ts +51 -0
- package/connectors/connect-googleanalytics/src/cli/index.ts +254 -0
- package/connectors/connect-googleanalytics/src/index.ts +103 -0
- package/connectors/connect-googleanalytics/src/types/index.ts +237 -0
- package/connectors/connect-googleanalytics/src/utils/auth.ts +274 -0
- package/connectors/connect-googleanalytics/src/utils/bulk.ts +212 -0
- package/connectors/connect-googleanalytics/src/utils/config.ts +326 -0
- package/connectors/connect-googleanalytics/src/utils/output.ts +175 -0
- package/connectors/connect-googleanalytics/src/utils/settings.ts +114 -0
- package/connectors/connect-googleanalytics/src/utils/storage.ts +198 -0
- package/connectors/connect-googleanalytics/tsconfig.json +16 -0
- package/connectors/connect-googlebigquery/.env.example +11 -0
- package/connectors/connect-googlebigquery/CLAUDE.md +272 -0
- package/connectors/connect-googlebigquery/README.md +39 -0
- package/connectors/connect-googlebigquery/package.json +49 -0
- package/connectors/connect-googlebigquery/src/api/client.ts +213 -0
- package/connectors/connect-googlebigquery/src/api/example.ts +48 -0
- package/connectors/connect-googlebigquery/src/api/index.ts +51 -0
- package/connectors/connect-googlebigquery/src/cli/index.ts +254 -0
- package/connectors/connect-googlebigquery/src/index.ts +103 -0
- package/connectors/connect-googlebigquery/src/types/index.ts +237 -0
- package/connectors/connect-googlebigquery/src/utils/auth.ts +274 -0
- package/connectors/connect-googlebigquery/src/utils/bulk.ts +212 -0
- package/connectors/connect-googlebigquery/src/utils/config.ts +326 -0
- package/connectors/connect-googlebigquery/src/utils/output.ts +175 -0
- package/connectors/connect-googlebigquery/src/utils/settings.ts +114 -0
- package/connectors/connect-googlebigquery/src/utils/storage.ts +198 -0
- package/connectors/connect-googlebigquery/tsconfig.json +16 -0
- package/connectors/connect-googlebooks/.env.example +11 -0
- package/connectors/connect-googlebooks/CLAUDE.md +272 -0
- package/connectors/connect-googlebooks/README.md +39 -0
- package/connectors/connect-googlebooks/package.json +49 -0
- package/connectors/connect-googlebooks/src/api/client.ts +213 -0
- package/connectors/connect-googlebooks/src/api/example.ts +48 -0
- package/connectors/connect-googlebooks/src/api/index.ts +51 -0
- package/connectors/connect-googlebooks/src/cli/index.ts +254 -0
- package/connectors/connect-googlebooks/src/index.ts +103 -0
- package/connectors/connect-googlebooks/src/types/index.ts +237 -0
- package/connectors/connect-googlebooks/src/utils/auth.ts +274 -0
- package/connectors/connect-googlebooks/src/utils/bulk.ts +212 -0
- package/connectors/connect-googlebooks/src/utils/config.ts +326 -0
- package/connectors/connect-googlebooks/src/utils/output.ts +175 -0
- package/connectors/connect-googlebooks/src/utils/settings.ts +114 -0
- package/connectors/connect-googlebooks/src/utils/storage.ts +198 -0
- package/connectors/connect-googlebooks/tsconfig.json +16 -0
- package/connectors/connect-googlebusinessprofile/.env.example +11 -0
- package/connectors/connect-googlebusinessprofile/CLAUDE.md +272 -0
- package/connectors/connect-googlebusinessprofile/README.md +39 -0
- package/connectors/connect-googlebusinessprofile/package.json +49 -0
- package/connectors/connect-googlebusinessprofile/src/api/client.ts +213 -0
- package/connectors/connect-googlebusinessprofile/src/api/example.ts +48 -0
- package/connectors/connect-googlebusinessprofile/src/api/index.ts +51 -0
- package/connectors/connect-googlebusinessprofile/src/cli/index.ts +254 -0
- package/connectors/connect-googlebusinessprofile/src/index.ts +103 -0
- package/connectors/connect-googlebusinessprofile/src/types/index.ts +237 -0
- package/connectors/connect-googlebusinessprofile/src/utils/auth.ts +274 -0
- package/connectors/connect-googlebusinessprofile/src/utils/bulk.ts +212 -0
- package/connectors/connect-googlebusinessprofile/src/utils/config.ts +326 -0
- package/connectors/connect-googlebusinessprofile/src/utils/output.ts +175 -0
- package/connectors/connect-googlebusinessprofile/src/utils/settings.ts +114 -0
- package/connectors/connect-googlebusinessprofile/src/utils/storage.ts +198 -0
- package/connectors/connect-googlebusinessprofile/tsconfig.json +16 -0
- package/connectors/connect-googlechat/.env.example +11 -0
- package/connectors/connect-googlechat/CLAUDE.md +272 -0
- package/connectors/connect-googlechat/README.md +194 -0
- package/connectors/connect-googlechat/package.json +53 -0
- package/connectors/connect-googlechat/scripts/release.ts +179 -0
- package/connectors/connect-googlechat/src/api/client.ts +213 -0
- package/connectors/connect-googlechat/src/api/example.ts +48 -0
- package/connectors/connect-googlechat/src/api/index.ts +51 -0
- package/connectors/connect-googlechat/src/cli/index.ts +254 -0
- package/connectors/connect-googlechat/src/index.ts +103 -0
- package/connectors/connect-googlechat/src/types/index.ts +237 -0
- package/connectors/connect-googlechat/src/utils/auth.ts +274 -0
- package/connectors/connect-googlechat/src/utils/bulk.ts +212 -0
- package/connectors/connect-googlechat/src/utils/config.ts +326 -0
- package/connectors/connect-googlechat/src/utils/output.ts +175 -0
- package/connectors/connect-googlechat/src/utils/settings.ts +114 -0
- package/connectors/connect-googlechat/src/utils/storage.ts +198 -0
- package/connectors/connect-googlechat/tsconfig.json +16 -0
- package/connectors/connect-googleforms/.env.example +11 -0
- package/connectors/connect-googleforms/CLAUDE.md +272 -0
- package/connectors/connect-googleforms/README.md +194 -0
- package/connectors/connect-googleforms/package.json +53 -0
- package/connectors/connect-googleforms/scripts/release.ts +179 -0
- package/connectors/connect-googleforms/src/api/client.ts +213 -0
- package/connectors/connect-googleforms/src/api/example.ts +48 -0
- package/connectors/connect-googleforms/src/api/index.ts +51 -0
- package/connectors/connect-googleforms/src/cli/index.ts +254 -0
- package/connectors/connect-googleforms/src/index.ts +103 -0
- package/connectors/connect-googleforms/src/types/index.ts +237 -0
- package/connectors/connect-googleforms/src/utils/auth.ts +274 -0
- package/connectors/connect-googleforms/src/utils/bulk.ts +212 -0
- package/connectors/connect-googleforms/src/utils/config.ts +326 -0
- package/connectors/connect-googleforms/src/utils/output.ts +175 -0
- package/connectors/connect-googleforms/src/utils/settings.ts +114 -0
- package/connectors/connect-googleforms/src/utils/storage.ts +198 -0
- package/connectors/connect-googleforms/tsconfig.json +16 -0
- package/connectors/connect-googleperspective/.env.example +11 -0
- package/connectors/connect-googleperspective/CLAUDE.md +272 -0
- package/connectors/connect-googleperspective/README.md +194 -0
- package/connectors/connect-googleperspective/package.json +54 -0
- package/connectors/connect-googleperspective/scripts/release.ts +179 -0
- package/connectors/connect-googleperspective/src/api/client.ts +213 -0
- package/connectors/connect-googleperspective/src/api/example.ts +48 -0
- package/connectors/connect-googleperspective/src/api/index.ts +51 -0
- package/connectors/connect-googleperspective/src/cli/index.ts +254 -0
- package/connectors/connect-googleperspective/src/index.ts +103 -0
- package/connectors/connect-googleperspective/src/types/index.ts +237 -0
- package/connectors/connect-googleperspective/src/utils/auth.ts +274 -0
- package/connectors/connect-googleperspective/src/utils/bulk.ts +212 -0
- package/connectors/connect-googleperspective/src/utils/config.ts +326 -0
- package/connectors/connect-googleperspective/src/utils/output.ts +175 -0
- package/connectors/connect-googleperspective/src/utils/settings.ts +114 -0
- package/connectors/connect-googleperspective/src/utils/storage.ts +198 -0
- package/connectors/connect-googleperspective/tsconfig.json +16 -0
- package/connectors/connect-googlephotos/.env.example +4 -0
- package/connectors/connect-googlephotos/CLAUDE.md +107 -0
- package/connectors/connect-googlephotos/README.md +194 -0
- package/connectors/connect-googlephotos/package.json +54 -0
- package/connectors/connect-googlephotos/scripts/publish.ts +74 -0
- package/connectors/connect-googlephotos/src/api/albums.ts +180 -0
- package/connectors/connect-googlephotos/src/api/client.ts +159 -0
- package/connectors/connect-googlephotos/src/api/index.ts +53 -0
- package/connectors/connect-googlephotos/src/api/media.ts +238 -0
- package/connectors/connect-googlephotos/src/api/upload.ts +204 -0
- package/connectors/connect-googlephotos/src/cli/index.ts +754 -0
- package/connectors/connect-googlephotos/src/index.ts +35 -0
- package/connectors/connect-googlephotos/src/types/index.ts +336 -0
- package/connectors/connect-googlephotos/src/utils/auth.ts +258 -0
- package/connectors/connect-googlephotos/src/utils/config.ts +419 -0
- package/connectors/connect-googlephotos/src/utils/output.ts +239 -0
- package/connectors/connect-googlephotos/tsconfig.json +15 -0
- package/connectors/connect-googleslides/.env.example +11 -0
- package/connectors/connect-googleslides/CLAUDE.md +272 -0
- package/connectors/connect-googleslides/README.md +193 -0
- package/connectors/connect-googleslides/package.json +51 -0
- package/connectors/connect-googleslides/scripts/release.ts +179 -0
- package/connectors/connect-googleslides/src/api/client.ts +213 -0
- package/connectors/connect-googleslides/src/api/example.ts +48 -0
- package/connectors/connect-googleslides/src/api/index.ts +51 -0
- package/connectors/connect-googleslides/src/cli/index.ts +254 -0
- package/connectors/connect-googleslides/src/index.ts +103 -0
- package/connectors/connect-googleslides/src/types/index.ts +237 -0
- package/connectors/connect-googleslides/src/utils/auth.ts +274 -0
- package/connectors/connect-googleslides/src/utils/bulk.ts +212 -0
- package/connectors/connect-googleslides/src/utils/config.ts +326 -0
- package/connectors/connect-googleslides/src/utils/output.ts +175 -0
- package/connectors/connect-googleslides/src/utils/settings.ts +114 -0
- package/connectors/connect-googleslides/src/utils/storage.ts +198 -0
- package/connectors/connect-googleslides/tsconfig.json +16 -0
- package/connectors/connect-googletables/.env.example +11 -0
- package/connectors/connect-googletables/CLAUDE.md +272 -0
- package/connectors/connect-googletables/README.md +193 -0
- package/connectors/connect-googletables/package.json +51 -0
- package/connectors/connect-googletables/scripts/release.ts +179 -0
- package/connectors/connect-googletables/src/api/client.ts +213 -0
- package/connectors/connect-googletables/src/api/example.ts +48 -0
- package/connectors/connect-googletables/src/api/index.ts +51 -0
- package/connectors/connect-googletables/src/cli/index.ts +254 -0
- package/connectors/connect-googletables/src/index.ts +103 -0
- package/connectors/connect-googletables/src/types/index.ts +237 -0
- package/connectors/connect-googletables/src/utils/auth.ts +274 -0
- package/connectors/connect-googletables/src/utils/bulk.ts +212 -0
- package/connectors/connect-googletables/src/utils/config.ts +326 -0
- package/connectors/connect-googletables/src/utils/output.ts +175 -0
- package/connectors/connect-googletables/src/utils/settings.ts +114 -0
- package/connectors/connect-googletables/src/utils/storage.ts +198 -0
- package/connectors/connect-googletables/tsconfig.json +16 -0
- package/connectors/connect-googletranslate/.env.example +11 -0
- package/connectors/connect-googletranslate/CLAUDE.md +272 -0
- package/connectors/connect-googletranslate/README.md +193 -0
- package/connectors/connect-googletranslate/package.json +51 -0
- package/connectors/connect-googletranslate/scripts/release.ts +179 -0
- package/connectors/connect-googletranslate/src/api/client.ts +213 -0
- package/connectors/connect-googletranslate/src/api/example.ts +48 -0
- package/connectors/connect-googletranslate/src/api/index.ts +51 -0
- package/connectors/connect-googletranslate/src/cli/index.ts +254 -0
- package/connectors/connect-googletranslate/src/index.ts +103 -0
- package/connectors/connect-googletranslate/src/types/index.ts +237 -0
- package/connectors/connect-googletranslate/src/utils/auth.ts +274 -0
- package/connectors/connect-googletranslate/src/utils/bulk.ts +212 -0
- package/connectors/connect-googletranslate/src/utils/config.ts +326 -0
- package/connectors/connect-googletranslate/src/utils/output.ts +175 -0
- package/connectors/connect-googletranslate/src/utils/settings.ts +114 -0
- package/connectors/connect-googletranslate/src/utils/storage.ts +198 -0
- package/connectors/connect-googletranslate/tsconfig.json +16 -0
- package/connectors/connect-googlevertexai/.env.example +11 -0
- package/connectors/connect-googlevertexai/CLAUDE.md +272 -0
- package/connectors/connect-googlevertexai/README.md +193 -0
- package/connectors/connect-googlevertexai/package.json +51 -0
- package/connectors/connect-googlevertexai/scripts/release.ts +179 -0
- package/connectors/connect-googlevertexai/src/api/client.ts +213 -0
- package/connectors/connect-googlevertexai/src/api/example.ts +48 -0
- package/connectors/connect-googlevertexai/src/api/index.ts +51 -0
- package/connectors/connect-googlevertexai/src/cli/index.ts +254 -0
- package/connectors/connect-googlevertexai/src/index.ts +103 -0
- package/connectors/connect-googlevertexai/src/types/index.ts +237 -0
- package/connectors/connect-googlevertexai/src/utils/auth.ts +274 -0
- package/connectors/connect-googlevertexai/src/utils/bulk.ts +212 -0
- package/connectors/connect-googlevertexai/src/utils/config.ts +326 -0
- package/connectors/connect-googlevertexai/src/utils/output.ts +175 -0
- package/connectors/connect-googlevertexai/src/utils/settings.ts +114 -0
- package/connectors/connect-googlevertexai/src/utils/storage.ts +198 -0
- package/connectors/connect-googlevertexai/tsconfig.json +16 -0
- package/connectors/connect-gotify/.env.example +11 -0
- package/connectors/connect-gotify/CLAUDE.md +272 -0
- package/connectors/connect-gotify/README.md +193 -0
- package/connectors/connect-gotify/package.json +51 -0
- package/connectors/connect-gotify/scripts/release.ts +179 -0
- package/connectors/connect-gotify/src/api/client.ts +213 -0
- package/connectors/connect-gotify/src/api/example.ts +48 -0
- package/connectors/connect-gotify/src/api/index.ts +51 -0
- package/connectors/connect-gotify/src/cli/index.ts +254 -0
- package/connectors/connect-gotify/src/index.ts +103 -0
- package/connectors/connect-gotify/src/types/index.ts +237 -0
- package/connectors/connect-gotify/src/utils/auth.ts +274 -0
- package/connectors/connect-gotify/src/utils/bulk.ts +212 -0
- package/connectors/connect-gotify/src/utils/config.ts +326 -0
- package/connectors/connect-gotify/src/utils/output.ts +175 -0
- package/connectors/connect-gotify/src/utils/settings.ts +114 -0
- package/connectors/connect-gotify/src/utils/storage.ts +198 -0
- package/connectors/connect-gotify/tsconfig.json +16 -0
- package/connectors/connect-gotowebinar/.env.example +11 -0
- package/connectors/connect-gotowebinar/CLAUDE.md +272 -0
- package/connectors/connect-gotowebinar/README.md +193 -0
- package/connectors/connect-gotowebinar/package.json +51 -0
- package/connectors/connect-gotowebinar/scripts/release.ts +179 -0
- package/connectors/connect-gotowebinar/src/api/client.ts +213 -0
- package/connectors/connect-gotowebinar/src/api/example.ts +48 -0
- package/connectors/connect-gotowebinar/src/api/index.ts +51 -0
- package/connectors/connect-gotowebinar/src/cli/index.ts +254 -0
- package/connectors/connect-gotowebinar/src/index.ts +103 -0
- package/connectors/connect-gotowebinar/src/types/index.ts +237 -0
- package/connectors/connect-gotowebinar/src/utils/auth.ts +274 -0
- package/connectors/connect-gotowebinar/src/utils/bulk.ts +212 -0
- package/connectors/connect-gotowebinar/src/utils/config.ts +326 -0
- package/connectors/connect-gotowebinar/src/utils/output.ts +175 -0
- package/connectors/connect-gotowebinar/src/utils/settings.ts +114 -0
- package/connectors/connect-gotowebinar/src/utils/storage.ts +198 -0
- package/connectors/connect-gotowebinar/tsconfig.json +16 -0
- package/connectors/connect-gptea/.env.example +11 -0
- package/connectors/connect-gptea/CLAUDE.md +272 -0
- package/connectors/connect-gptea/README.md +193 -0
- package/connectors/connect-gptea/package.json +51 -0
- package/connectors/connect-gptea/scripts/release.ts +179 -0
- package/connectors/connect-gptea/src/api/client.ts +213 -0
- package/connectors/connect-gptea/src/api/example.ts +48 -0
- package/connectors/connect-gptea/src/api/index.ts +51 -0
- package/connectors/connect-gptea/src/cli/index.ts +254 -0
- package/connectors/connect-gptea/src/index.ts +103 -0
- package/connectors/connect-gptea/src/types/index.ts +237 -0
- package/connectors/connect-gptea/src/utils/auth.ts +274 -0
- package/connectors/connect-gptea/src/utils/bulk.ts +212 -0
- package/connectors/connect-gptea/src/utils/config.ts +326 -0
- package/connectors/connect-gptea/src/utils/output.ts +175 -0
- package/connectors/connect-gptea/src/utils/settings.ts +114 -0
- package/connectors/connect-gptea/src/utils/storage.ts +198 -0
- package/connectors/connect-gptea/tsconfig.json +16 -0
- package/connectors/connect-grain/.env.example +11 -0
- package/connectors/connect-grain/CLAUDE.md +272 -0
- package/connectors/connect-grain/README.md +193 -0
- package/connectors/connect-grain/package.json +51 -0
- package/connectors/connect-grain/scripts/release.ts +179 -0
- package/connectors/connect-grain/src/api/client.ts +213 -0
- package/connectors/connect-grain/src/api/example.ts +48 -0
- package/connectors/connect-grain/src/api/index.ts +51 -0
- package/connectors/connect-grain/src/cli/index.ts +254 -0
- package/connectors/connect-grain/src/index.ts +103 -0
- package/connectors/connect-grain/src/types/index.ts +237 -0
- package/connectors/connect-grain/src/utils/auth.ts +274 -0
- package/connectors/connect-grain/src/utils/bulk.ts +212 -0
- package/connectors/connect-grain/src/utils/config.ts +326 -0
- package/connectors/connect-grain/src/utils/output.ts +175 -0
- package/connectors/connect-grain/src/utils/settings.ts +114 -0
- package/connectors/connect-grain/src/utils/storage.ts +198 -0
- package/connectors/connect-grain/tsconfig.json +16 -0
- package/connectors/connect-gravityforms/.env.example +11 -0
- package/connectors/connect-gravityforms/CLAUDE.md +272 -0
- package/connectors/connect-gravityforms/README.md +193 -0
- package/connectors/connect-gravityforms/package.json +51 -0
- package/connectors/connect-gravityforms/scripts/release.ts +179 -0
- package/connectors/connect-gravityforms/src/api/client.ts +213 -0
- package/connectors/connect-gravityforms/src/api/example.ts +48 -0
- package/connectors/connect-gravityforms/src/api/index.ts +51 -0
- package/connectors/connect-gravityforms/src/cli/index.ts +254 -0
- package/connectors/connect-gravityforms/src/index.ts +103 -0
- package/connectors/connect-gravityforms/src/types/index.ts +237 -0
- package/connectors/connect-gravityforms/src/utils/auth.ts +274 -0
- package/connectors/connect-gravityforms/src/utils/bulk.ts +212 -0
- package/connectors/connect-gravityforms/src/utils/config.ts +326 -0
- package/connectors/connect-gravityforms/src/utils/output.ts +175 -0
- package/connectors/connect-gravityforms/src/utils/settings.ts +114 -0
- package/connectors/connect-gravityforms/src/utils/storage.ts +198 -0
- package/connectors/connect-gravityforms/tsconfig.json +16 -0
- package/connectors/connect-grist/.env.example +11 -0
- package/connectors/connect-grist/CLAUDE.md +272 -0
- package/connectors/connect-grist/README.md +193 -0
- package/connectors/connect-grist/package.json +51 -0
- package/connectors/connect-grist/scripts/release.ts +179 -0
- package/connectors/connect-grist/src/api/client.ts +213 -0
- package/connectors/connect-grist/src/api/example.ts +48 -0
- package/connectors/connect-grist/src/api/index.ts +51 -0
- package/connectors/connect-grist/src/cli/index.ts +254 -0
- package/connectors/connect-grist/src/index.ts +103 -0
- package/connectors/connect-grist/src/types/index.ts +237 -0
- package/connectors/connect-grist/src/utils/auth.ts +274 -0
- package/connectors/connect-grist/src/utils/bulk.ts +212 -0
- package/connectors/connect-grist/src/utils/config.ts +326 -0
- package/connectors/connect-grist/src/utils/output.ts +175 -0
- package/connectors/connect-grist/src/utils/settings.ts +114 -0
- package/connectors/connect-grist/src/utils/storage.ts +198 -0
- package/connectors/connect-grist/tsconfig.json +16 -0
- package/connectors/connect-growbots/.env.example +11 -0
- package/connectors/connect-growbots/CLAUDE.md +272 -0
- package/connectors/connect-growbots/README.md +193 -0
- package/connectors/connect-growbots/package.json +51 -0
- package/connectors/connect-growbots/scripts/release.ts +179 -0
- package/connectors/connect-growbots/src/api/client.ts +213 -0
- package/connectors/connect-growbots/src/api/example.ts +48 -0
- package/connectors/connect-growbots/src/api/index.ts +51 -0
- package/connectors/connect-growbots/src/cli/index.ts +254 -0
- package/connectors/connect-growbots/src/index.ts +103 -0
- package/connectors/connect-growbots/src/types/index.ts +237 -0
- package/connectors/connect-growbots/src/utils/auth.ts +274 -0
- package/connectors/connect-growbots/src/utils/bulk.ts +212 -0
- package/connectors/connect-growbots/src/utils/config.ts +326 -0
- package/connectors/connect-growbots/src/utils/output.ts +175 -0
- package/connectors/connect-growbots/src/utils/settings.ts +114 -0
- package/connectors/connect-growbots/src/utils/storage.ts +198 -0
- package/connectors/connect-growbots/tsconfig.json +16 -0
- package/connectors/connect-gupshup/.env.example +11 -0
- package/connectors/connect-gupshup/CLAUDE.md +272 -0
- package/connectors/connect-gupshup/README.md +193 -0
- package/connectors/connect-gupshup/package.json +51 -0
- package/connectors/connect-gupshup/scripts/release.ts +179 -0
- package/connectors/connect-gupshup/src/api/client.ts +213 -0
- package/connectors/connect-gupshup/src/api/example.ts +48 -0
- package/connectors/connect-gupshup/src/api/index.ts +51 -0
- package/connectors/connect-gupshup/src/cli/index.ts +254 -0
- package/connectors/connect-gupshup/src/index.ts +103 -0
- package/connectors/connect-gupshup/src/types/index.ts +237 -0
- package/connectors/connect-gupshup/src/utils/auth.ts +274 -0
- package/connectors/connect-gupshup/src/utils/bulk.ts +212 -0
- package/connectors/connect-gupshup/src/utils/config.ts +326 -0
- package/connectors/connect-gupshup/src/utils/output.ts +175 -0
- package/connectors/connect-gupshup/src/utils/settings.ts +114 -0
- package/connectors/connect-gupshup/src/utils/storage.ts +198 -0
- package/connectors/connect-gupshup/tsconfig.json +16 -0
- package/connectors/connect-guru/.env.example +11 -0
- package/connectors/connect-guru/CLAUDE.md +272 -0
- package/connectors/connect-guru/README.md +193 -0
- package/connectors/connect-guru/package.json +51 -0
- package/connectors/connect-guru/scripts/release.ts +179 -0
- package/connectors/connect-guru/src/api/client.ts +213 -0
- package/connectors/connect-guru/src/api/example.ts +48 -0
- package/connectors/connect-guru/src/api/index.ts +51 -0
- package/connectors/connect-guru/src/cli/index.ts +254 -0
- package/connectors/connect-guru/src/index.ts +103 -0
- package/connectors/connect-guru/src/types/index.ts +237 -0
- package/connectors/connect-guru/src/utils/auth.ts +274 -0
- package/connectors/connect-guru/src/utils/bulk.ts +212 -0
- package/connectors/connect-guru/src/utils/config.ts +326 -0
- package/connectors/connect-guru/src/utils/output.ts +175 -0
- package/connectors/connect-guru/src/utils/settings.ts +114 -0
- package/connectors/connect-guru/src/utils/storage.ts +198 -0
- package/connectors/connect-guru/tsconfig.json +16 -0
- package/connectors/connect-hackernews/.env.example +11 -0
- package/connectors/connect-hackernews/CLAUDE.md +272 -0
- package/connectors/connect-hackernews/README.md +193 -0
- package/connectors/connect-hackernews/package.json +51 -0
- package/connectors/connect-hackernews/scripts/release.ts +179 -0
- package/connectors/connect-hackernews/src/api/client.ts +213 -0
- package/connectors/connect-hackernews/src/api/example.ts +48 -0
- package/connectors/connect-hackernews/src/api/index.ts +51 -0
- package/connectors/connect-hackernews/src/cli/index.ts +254 -0
- package/connectors/connect-hackernews/src/index.ts +103 -0
- package/connectors/connect-hackernews/src/types/index.ts +237 -0
- package/connectors/connect-hackernews/src/utils/auth.ts +274 -0
- package/connectors/connect-hackernews/src/utils/bulk.ts +212 -0
- package/connectors/connect-hackernews/src/utils/config.ts +326 -0
- package/connectors/connect-hackernews/src/utils/output.ts +175 -0
- package/connectors/connect-hackernews/src/utils/settings.ts +114 -0
- package/connectors/connect-hackernews/src/utils/storage.ts +198 -0
- package/connectors/connect-hackernews/tsconfig.json +16 -0
- package/connectors/connect-halopsa/.env.example +11 -0
- package/connectors/connect-halopsa/CLAUDE.md +272 -0
- package/connectors/connect-halopsa/README.md +193 -0
- package/connectors/connect-halopsa/package.json +51 -0
- package/connectors/connect-halopsa/scripts/release.ts +179 -0
- package/connectors/connect-halopsa/src/api/client.ts +213 -0
- package/connectors/connect-halopsa/src/api/example.ts +48 -0
- package/connectors/connect-halopsa/src/api/index.ts +51 -0
- package/connectors/connect-halopsa/src/cli/index.ts +254 -0
- package/connectors/connect-halopsa/src/index.ts +103 -0
- package/connectors/connect-halopsa/src/types/index.ts +237 -0
- package/connectors/connect-halopsa/src/utils/auth.ts +274 -0
- package/connectors/connect-halopsa/src/utils/bulk.ts +212 -0
- package/connectors/connect-halopsa/src/utils/config.ts +326 -0
- package/connectors/connect-halopsa/src/utils/output.ts +175 -0
- package/connectors/connect-halopsa/src/utils/settings.ts +114 -0
- package/connectors/connect-halopsa/src/utils/storage.ts +198 -0
- package/connectors/connect-halopsa/tsconfig.json +16 -0
- package/connectors/connect-handwrytten/.env.example +11 -0
- package/connectors/connect-handwrytten/CLAUDE.md +272 -0
- package/connectors/connect-handwrytten/README.md +193 -0
- package/connectors/connect-handwrytten/package.json +51 -0
- package/connectors/connect-handwrytten/scripts/release.ts +179 -0
- package/connectors/connect-handwrytten/src/api/client.ts +213 -0
- package/connectors/connect-handwrytten/src/api/example.ts +48 -0
- package/connectors/connect-handwrytten/src/api/index.ts +51 -0
- package/connectors/connect-handwrytten/src/cli/index.ts +254 -0
- package/connectors/connect-handwrytten/src/index.ts +103 -0
- package/connectors/connect-handwrytten/src/types/index.ts +237 -0
- package/connectors/connect-handwrytten/src/utils/auth.ts +274 -0
- package/connectors/connect-handwrytten/src/utils/bulk.ts +212 -0
- package/connectors/connect-handwrytten/src/utils/config.ts +326 -0
- package/connectors/connect-handwrytten/src/utils/output.ts +175 -0
- package/connectors/connect-handwrytten/src/utils/settings.ts +114 -0
- package/connectors/connect-handwrytten/src/utils/storage.ts +198 -0
- package/connectors/connect-handwrytten/tsconfig.json +16 -0
- package/connectors/connect-hansei/.env.example +11 -0
- package/connectors/connect-hansei/CLAUDE.md +272 -0
- package/connectors/connect-hansei/README.md +193 -0
- package/connectors/connect-hansei/package.json +51 -0
- package/connectors/connect-hansei/scripts/release.ts +179 -0
- package/connectors/connect-hansei/src/api/client.ts +213 -0
- package/connectors/connect-hansei/src/api/example.ts +48 -0
- package/connectors/connect-hansei/src/api/index.ts +51 -0
- package/connectors/connect-hansei/src/cli/index.ts +254 -0
- package/connectors/connect-hansei/src/index.ts +103 -0
- package/connectors/connect-hansei/src/types/index.ts +237 -0
- package/connectors/connect-hansei/src/utils/auth.ts +274 -0
- package/connectors/connect-hansei/src/utils/bulk.ts +212 -0
- package/connectors/connect-hansei/src/utils/config.ts +326 -0
- package/connectors/connect-hansei/src/utils/output.ts +175 -0
- package/connectors/connect-hansei/src/utils/settings.ts +114 -0
- package/connectors/connect-hansei/src/utils/storage.ts +198 -0
- package/connectors/connect-hansei/tsconfig.json +16 -0
- package/connectors/connect-harrypotterapi/.env.example +11 -0
- package/connectors/connect-harrypotterapi/CLAUDE.md +272 -0
- package/connectors/connect-harrypotterapi/README.md +193 -0
- package/connectors/connect-harrypotterapi/package.json +51 -0
- package/connectors/connect-harrypotterapi/scripts/release.ts +179 -0
- package/connectors/connect-harrypotterapi/src/api/client.ts +213 -0
- package/connectors/connect-harrypotterapi/src/api/example.ts +48 -0
- package/connectors/connect-harrypotterapi/src/api/index.ts +51 -0
- package/connectors/connect-harrypotterapi/src/cli/index.ts +254 -0
- package/connectors/connect-harrypotterapi/src/index.ts +103 -0
- package/connectors/connect-harrypotterapi/src/types/index.ts +237 -0
- package/connectors/connect-harrypotterapi/src/utils/auth.ts +274 -0
- package/connectors/connect-harrypotterapi/src/utils/bulk.ts +212 -0
- package/connectors/connect-harrypotterapi/src/utils/config.ts +326 -0
- package/connectors/connect-harrypotterapi/src/utils/output.ts +175 -0
- package/connectors/connect-harrypotterapi/src/utils/settings.ts +114 -0
- package/connectors/connect-harrypotterapi/src/utils/storage.ts +198 -0
- package/connectors/connect-harrypotterapi/tsconfig.json +16 -0
- package/connectors/connect-harvest/.env.example +11 -0
- package/connectors/connect-harvest/CLAUDE.md +272 -0
- package/connectors/connect-harvest/README.md +193 -0
- package/connectors/connect-harvest/package.json +51 -0
- package/connectors/connect-harvest/scripts/release.ts +179 -0
- package/connectors/connect-harvest/src/api/client.ts +213 -0
- package/connectors/connect-harvest/src/api/example.ts +48 -0
- package/connectors/connect-harvest/src/api/index.ts +51 -0
- package/connectors/connect-harvest/src/cli/index.ts +254 -0
- package/connectors/connect-harvest/src/index.ts +103 -0
- package/connectors/connect-harvest/src/types/index.ts +237 -0
- package/connectors/connect-harvest/src/utils/auth.ts +274 -0
- package/connectors/connect-harvest/src/utils/bulk.ts +212 -0
- package/connectors/connect-harvest/src/utils/config.ts +326 -0
- package/connectors/connect-harvest/src/utils/output.ts +175 -0
- package/connectors/connect-harvest/src/utils/settings.ts +114 -0
- package/connectors/connect-harvest/src/utils/storage.ts +198 -0
- package/connectors/connect-harvest/tsconfig.json +16 -0
- package/connectors/connect-headlesstesting/.env.example +11 -0
- package/connectors/connect-headlesstesting/CLAUDE.md +272 -0
- package/connectors/connect-headlesstesting/README.md +193 -0
- package/connectors/connect-headlesstesting/package.json +51 -0
- package/connectors/connect-headlesstesting/scripts/release.ts +179 -0
- package/connectors/connect-headlesstesting/src/api/client.ts +213 -0
- package/connectors/connect-headlesstesting/src/api/example.ts +48 -0
- package/connectors/connect-headlesstesting/src/api/index.ts +51 -0
- package/connectors/connect-headlesstesting/src/cli/index.ts +254 -0
- package/connectors/connect-headlesstesting/src/index.ts +103 -0
- package/connectors/connect-headlesstesting/src/types/index.ts +237 -0
- package/connectors/connect-headlesstesting/src/utils/auth.ts +274 -0
- package/connectors/connect-headlesstesting/src/utils/bulk.ts +212 -0
- package/connectors/connect-headlesstesting/src/utils/config.ts +326 -0
- package/connectors/connect-headlesstesting/src/utils/output.ts +175 -0
- package/connectors/connect-headlesstesting/src/utils/settings.ts +114 -0
- package/connectors/connect-headlesstesting/src/utils/storage.ts +198 -0
- package/connectors/connect-headlesstesting/tsconfig.json +16 -0
- package/connectors/connect-helcim/.env.example +11 -0
- package/connectors/connect-helcim/CLAUDE.md +272 -0
- package/connectors/connect-helcim/README.md +193 -0
- package/connectors/connect-helcim/package.json +51 -0
- package/connectors/connect-helcim/scripts/release.ts +179 -0
- package/connectors/connect-helcim/src/api/client.ts +213 -0
- package/connectors/connect-helcim/src/api/example.ts +48 -0
- package/connectors/connect-helcim/src/api/index.ts +51 -0
- package/connectors/connect-helcim/src/cli/index.ts +254 -0
- package/connectors/connect-helcim/src/index.ts +103 -0
- package/connectors/connect-helcim/src/types/index.ts +237 -0
- package/connectors/connect-helcim/src/utils/auth.ts +274 -0
- package/connectors/connect-helcim/src/utils/bulk.ts +212 -0
- package/connectors/connect-helcim/src/utils/config.ts +326 -0
- package/connectors/connect-helcim/src/utils/output.ts +175 -0
- package/connectors/connect-helcim/src/utils/settings.ts +114 -0
- package/connectors/connect-helcim/src/utils/storage.ts +198 -0
- package/connectors/connect-helcim/tsconfig.json +16 -0
- package/connectors/connect-hellosign/.env.example +11 -0
- package/connectors/connect-hellosign/CLAUDE.md +128 -0
- package/connectors/connect-hellosign/README.md +193 -0
- package/connectors/connect-hellosign/package.json +51 -0
- package/connectors/connect-hellosign/src/api/client.ts +131 -0
- package/connectors/connect-hellosign/src/api/index.ts +235 -0
- package/connectors/connect-hellosign/src/cli/index.ts +504 -0
- package/connectors/connect-hellosign/src/index.ts +19 -0
- package/connectors/connect-hellosign/src/types/index.ts +272 -0
- package/connectors/connect-hellosign/src/utils/config.ts +103 -0
- package/connectors/connect-hellosign/src/utils/output.ts +119 -0
- package/connectors/connect-hellosign/tsconfig.json +16 -0
- package/connectors/connect-helpscout/.env.example +11 -0
- package/connectors/connect-helpscout/CLAUDE.md +272 -0
- package/connectors/connect-helpscout/README.md +193 -0
- package/connectors/connect-helpscout/package.json +51 -0
- package/connectors/connect-helpscout/scripts/release.ts +179 -0
- package/connectors/connect-helpscout/src/api/client.ts +213 -0
- package/connectors/connect-helpscout/src/api/example.ts +48 -0
- package/connectors/connect-helpscout/src/api/index.ts +51 -0
- package/connectors/connect-helpscout/src/cli/index.ts +254 -0
- package/connectors/connect-helpscout/src/index.ts +103 -0
- package/connectors/connect-helpscout/src/types/index.ts +237 -0
- package/connectors/connect-helpscout/src/utils/auth.ts +274 -0
- package/connectors/connect-helpscout/src/utils/bulk.ts +212 -0
- package/connectors/connect-helpscout/src/utils/config.ts +326 -0
- package/connectors/connect-helpscout/src/utils/output.ts +175 -0
- package/connectors/connect-helpscout/src/utils/settings.ts +114 -0
- package/connectors/connect-helpscout/src/utils/storage.ts +198 -0
- package/connectors/connect-helpscout/tsconfig.json +16 -0
- package/connectors/connect-heysummit/.env.example +11 -0
- package/connectors/connect-heysummit/CLAUDE.md +272 -0
- package/connectors/connect-heysummit/README.md +193 -0
- package/connectors/connect-heysummit/package.json +51 -0
- package/connectors/connect-heysummit/scripts/release.ts +179 -0
- package/connectors/connect-heysummit/src/api/client.ts +213 -0
- package/connectors/connect-heysummit/src/api/example.ts +48 -0
- package/connectors/connect-heysummit/src/api/index.ts +51 -0
- package/connectors/connect-heysummit/src/cli/index.ts +254 -0
- package/connectors/connect-heysummit/src/index.ts +103 -0
- package/connectors/connect-heysummit/src/types/index.ts +237 -0
- package/connectors/connect-heysummit/src/utils/auth.ts +274 -0
- package/connectors/connect-heysummit/src/utils/bulk.ts +212 -0
- package/connectors/connect-heysummit/src/utils/config.ts +326 -0
- package/connectors/connect-heysummit/src/utils/output.ts +175 -0
- package/connectors/connect-heysummit/src/utils/settings.ts +114 -0
- package/connectors/connect-heysummit/src/utils/storage.ts +198 -0
- package/connectors/connect-heysummit/tsconfig.json +16 -0
- package/connectors/connect-highlevel/.env.example +11 -0
- package/connectors/connect-highlevel/CLAUDE.md +272 -0
- package/connectors/connect-highlevel/README.md +193 -0
- package/connectors/connect-highlevel/package.json +51 -0
- package/connectors/connect-highlevel/scripts/release.ts +179 -0
- package/connectors/connect-highlevel/src/api/client.ts +213 -0
- package/connectors/connect-highlevel/src/api/example.ts +48 -0
- package/connectors/connect-highlevel/src/api/index.ts +51 -0
- package/connectors/connect-highlevel/src/cli/index.ts +254 -0
- package/connectors/connect-highlevel/src/index.ts +103 -0
- package/connectors/connect-highlevel/src/types/index.ts +237 -0
- package/connectors/connect-highlevel/src/utils/auth.ts +274 -0
- package/connectors/connect-highlevel/src/utils/bulk.ts +212 -0
- package/connectors/connect-highlevel/src/utils/config.ts +326 -0
- package/connectors/connect-highlevel/src/utils/output.ts +175 -0
- package/connectors/connect-highlevel/src/utils/settings.ts +114 -0
- package/connectors/connect-highlevel/src/utils/storage.ts +198 -0
- package/connectors/connect-highlevel/tsconfig.json +16 -0
- package/connectors/connect-hubplanner/.env.example +11 -0
- package/connectors/connect-hubplanner/CLAUDE.md +272 -0
- package/connectors/connect-hubplanner/README.md +193 -0
- package/connectors/connect-hubplanner/package.json +51 -0
- package/connectors/connect-hubplanner/scripts/release.ts +179 -0
- package/connectors/connect-hubplanner/src/api/client.ts +213 -0
- package/connectors/connect-hubplanner/src/api/example.ts +48 -0
- package/connectors/connect-hubplanner/src/api/index.ts +51 -0
- package/connectors/connect-hubplanner/src/cli/index.ts +254 -0
- package/connectors/connect-hubplanner/src/index.ts +103 -0
- package/connectors/connect-hubplanner/src/types/index.ts +237 -0
- package/connectors/connect-hubplanner/src/utils/auth.ts +274 -0
- package/connectors/connect-hubplanner/src/utils/bulk.ts +212 -0
- package/connectors/connect-hubplanner/src/utils/config.ts +326 -0
- package/connectors/connect-hubplanner/src/utils/output.ts +175 -0
- package/connectors/connect-hubplanner/src/utils/settings.ts +114 -0
- package/connectors/connect-hubplanner/src/utils/storage.ts +198 -0
- package/connectors/connect-hubplanner/tsconfig.json +16 -0
- package/connectors/connect-humanticai/.env.example +11 -0
- package/connectors/connect-humanticai/CLAUDE.md +272 -0
- package/connectors/connect-humanticai/README.md +193 -0
- package/connectors/connect-humanticai/package.json +51 -0
- package/connectors/connect-humanticai/scripts/release.ts +179 -0
- package/connectors/connect-humanticai/src/api/client.ts +213 -0
- package/connectors/connect-humanticai/src/api/example.ts +48 -0
- package/connectors/connect-humanticai/src/api/index.ts +51 -0
- package/connectors/connect-humanticai/src/cli/index.ts +254 -0
- package/connectors/connect-humanticai/src/index.ts +103 -0
- package/connectors/connect-humanticai/src/types/index.ts +237 -0
- package/connectors/connect-humanticai/src/utils/auth.ts +274 -0
- package/connectors/connect-humanticai/src/utils/bulk.ts +212 -0
- package/connectors/connect-humanticai/src/utils/config.ts +326 -0
- package/connectors/connect-humanticai/src/utils/output.ts +175 -0
- package/connectors/connect-humanticai/src/utils/settings.ts +114 -0
- package/connectors/connect-humanticai/src/utils/storage.ts +198 -0
- package/connectors/connect-humanticai/tsconfig.json +16 -0
- package/connectors/connect-hunter/.env.example +11 -0
- package/connectors/connect-hunter/CLAUDE.md +272 -0
- package/connectors/connect-hunter/README.md +193 -0
- package/connectors/connect-hunter/package.json +51 -0
- package/connectors/connect-hunter/scripts/release.ts +179 -0
- package/connectors/connect-hunter/src/api/client.ts +213 -0
- package/connectors/connect-hunter/src/api/example.ts +48 -0
- package/connectors/connect-hunter/src/api/index.ts +51 -0
- package/connectors/connect-hunter/src/cli/index.ts +254 -0
- package/connectors/connect-hunter/src/index.ts +103 -0
- package/connectors/connect-hunter/src/types/index.ts +237 -0
- package/connectors/connect-hunter/src/utils/auth.ts +274 -0
- package/connectors/connect-hunter/src/utils/bulk.ts +212 -0
- package/connectors/connect-hunter/src/utils/config.ts +326 -0
- package/connectors/connect-hunter/src/utils/output.ts +175 -0
- package/connectors/connect-hunter/src/utils/settings.ts +114 -0
- package/connectors/connect-hunter/src/utils/storage.ts +198 -0
- package/connectors/connect-hunter/tsconfig.json +16 -0
- package/connectors/connect-hybridanalysis/.env.example +11 -0
- package/connectors/connect-hybridanalysis/CLAUDE.md +272 -0
- package/connectors/connect-hybridanalysis/README.md +193 -0
- package/connectors/connect-hybridanalysis/package.json +51 -0
- package/connectors/connect-hybridanalysis/scripts/release.ts +179 -0
- package/connectors/connect-hybridanalysis/src/api/client.ts +213 -0
- package/connectors/connect-hybridanalysis/src/api/example.ts +48 -0
- package/connectors/connect-hybridanalysis/src/api/index.ts +51 -0
- package/connectors/connect-hybridanalysis/src/cli/index.ts +254 -0
- package/connectors/connect-hybridanalysis/src/index.ts +103 -0
- package/connectors/connect-hybridanalysis/src/types/index.ts +237 -0
- package/connectors/connect-hybridanalysis/src/utils/auth.ts +274 -0
- package/connectors/connect-hybridanalysis/src/utils/bulk.ts +212 -0
- package/connectors/connect-hybridanalysis/src/utils/config.ts +326 -0
- package/connectors/connect-hybridanalysis/src/utils/output.ts +175 -0
- package/connectors/connect-hybridanalysis/src/utils/settings.ts +114 -0
- package/connectors/connect-hybridanalysis/src/utils/storage.ts +198 -0
- package/connectors/connect-hybridanalysis/tsconfig.json +16 -0
- package/connectors/connect-iauditorbysafetyculture/.env.example +11 -0
- package/connectors/connect-iauditorbysafetyculture/CLAUDE.md +272 -0
- package/connectors/connect-iauditorbysafetyculture/README.md +193 -0
- package/connectors/connect-iauditorbysafetyculture/package.json +51 -0
- package/connectors/connect-iauditorbysafetyculture/scripts/release.ts +179 -0
- package/connectors/connect-iauditorbysafetyculture/src/api/client.ts +213 -0
- package/connectors/connect-iauditorbysafetyculture/src/api/example.ts +48 -0
- package/connectors/connect-iauditorbysafetyculture/src/api/index.ts +51 -0
- package/connectors/connect-iauditorbysafetyculture/src/cli/index.ts +254 -0
- package/connectors/connect-iauditorbysafetyculture/src/index.ts +103 -0
- package/connectors/connect-iauditorbysafetyculture/src/types/index.ts +237 -0
- package/connectors/connect-iauditorbysafetyculture/src/utils/auth.ts +274 -0
- package/connectors/connect-iauditorbysafetyculture/src/utils/bulk.ts +212 -0
- package/connectors/connect-iauditorbysafetyculture/src/utils/config.ts +326 -0
- package/connectors/connect-iauditorbysafetyculture/src/utils/output.ts +175 -0
- package/connectors/connect-iauditorbysafetyculture/src/utils/settings.ts +114 -0
- package/connectors/connect-iauditorbysafetyculture/src/utils/storage.ts +198 -0
- package/connectors/connect-iauditorbysafetyculture/tsconfig.json +16 -0
- package/connectors/connect-idealpostcodes/.env.example +11 -0
- package/connectors/connect-idealpostcodes/CLAUDE.md +272 -0
- package/connectors/connect-idealpostcodes/README.md +193 -0
- package/connectors/connect-idealpostcodes/package.json +51 -0
- package/connectors/connect-idealpostcodes/scripts/release.ts +179 -0
- package/connectors/connect-idealpostcodes/src/api/client.ts +213 -0
- package/connectors/connect-idealpostcodes/src/api/example.ts +48 -0
- package/connectors/connect-idealpostcodes/src/api/index.ts +51 -0
- package/connectors/connect-idealpostcodes/src/cli/index.ts +254 -0
- package/connectors/connect-idealpostcodes/src/index.ts +103 -0
- package/connectors/connect-idealpostcodes/src/types/index.ts +237 -0
- package/connectors/connect-idealpostcodes/src/utils/auth.ts +274 -0
- package/connectors/connect-idealpostcodes/src/utils/bulk.ts +212 -0
- package/connectors/connect-idealpostcodes/src/utils/config.ts +326 -0
- package/connectors/connect-idealpostcodes/src/utils/output.ts +175 -0
- package/connectors/connect-idealpostcodes/src/utils/settings.ts +114 -0
- package/connectors/connect-idealpostcodes/src/utils/storage.ts +198 -0
- package/connectors/connect-idealpostcodes/tsconfig.json +16 -0
- package/connectors/connect-idealspot/.env.example +11 -0
- package/connectors/connect-idealspot/CLAUDE.md +272 -0
- package/connectors/connect-idealspot/README.md +193 -0
- package/connectors/connect-idealspot/package.json +51 -0
- package/connectors/connect-idealspot/scripts/release.ts +179 -0
- package/connectors/connect-idealspot/src/api/client.ts +213 -0
- package/connectors/connect-idealspot/src/api/example.ts +48 -0
- package/connectors/connect-idealspot/src/api/index.ts +51 -0
- package/connectors/connect-idealspot/src/cli/index.ts +254 -0
- package/connectors/connect-idealspot/src/index.ts +103 -0
- package/connectors/connect-idealspot/src/types/index.ts +237 -0
- package/connectors/connect-idealspot/src/utils/auth.ts +274 -0
- package/connectors/connect-idealspot/src/utils/bulk.ts +212 -0
- package/connectors/connect-idealspot/src/utils/config.ts +326 -0
- package/connectors/connect-idealspot/src/utils/output.ts +175 -0
- package/connectors/connect-idealspot/src/utils/settings.ts +114 -0
- package/connectors/connect-idealspot/src/utils/storage.ts +198 -0
- package/connectors/connect-idealspot/tsconfig.json +16 -0
- package/connectors/connect-ideogram/.env.example +11 -0
- package/connectors/connect-ideogram/CLAUDE.md +128 -0
- package/connectors/connect-ideogram/README.md +193 -0
- package/connectors/connect-ideogram/package.json +51 -0
- package/connectors/connect-ideogram/src/api/client.ts +138 -0
- package/connectors/connect-ideogram/src/api/index.ts +49 -0
- package/connectors/connect-ideogram/src/cli/index.ts +301 -0
- package/connectors/connect-ideogram/src/index.ts +19 -0
- package/connectors/connect-ideogram/src/types/index.ts +96 -0
- package/connectors/connect-ideogram/src/utils/config.ts +103 -0
- package/connectors/connect-ideogram/src/utils/output.ts +119 -0
- package/connectors/connect-ideogram/tsconfig.json +16 -0
- package/connectors/connect-ideta/.env.example +11 -0
- package/connectors/connect-ideta/CLAUDE.md +272 -0
- package/connectors/connect-ideta/README.md +193 -0
- package/connectors/connect-ideta/package.json +51 -0
- package/connectors/connect-ideta/scripts/release.ts +179 -0
- package/connectors/connect-ideta/src/api/client.ts +213 -0
- package/connectors/connect-ideta/src/api/example.ts +48 -0
- package/connectors/connect-ideta/src/api/index.ts +51 -0
- package/connectors/connect-ideta/src/cli/index.ts +254 -0
- package/connectors/connect-ideta/src/index.ts +103 -0
- package/connectors/connect-ideta/src/types/index.ts +237 -0
- package/connectors/connect-ideta/src/utils/auth.ts +274 -0
- package/connectors/connect-ideta/src/utils/bulk.ts +212 -0
- package/connectors/connect-ideta/src/utils/config.ts +326 -0
- package/connectors/connect-ideta/src/utils/output.ts +175 -0
- package/connectors/connect-ideta/src/utils/settings.ts +114 -0
- package/connectors/connect-ideta/src/utils/storage.ts +198 -0
- package/connectors/connect-ideta/tsconfig.json +16 -0
- package/connectors/connect-imgbb/.env.example +11 -0
- package/connectors/connect-imgbb/CLAUDE.md +272 -0
- package/connectors/connect-imgbb/README.md +193 -0
- package/connectors/connect-imgbb/package.json +51 -0
- package/connectors/connect-imgbb/scripts/release.ts +179 -0
- package/connectors/connect-imgbb/src/api/client.ts +213 -0
- package/connectors/connect-imgbb/src/api/example.ts +48 -0
- package/connectors/connect-imgbb/src/api/index.ts +51 -0
- package/connectors/connect-imgbb/src/cli/index.ts +254 -0
- package/connectors/connect-imgbb/src/index.ts +103 -0
- package/connectors/connect-imgbb/src/types/index.ts +237 -0
- package/connectors/connect-imgbb/src/utils/auth.ts +274 -0
- package/connectors/connect-imgbb/src/utils/bulk.ts +212 -0
- package/connectors/connect-imgbb/src/utils/config.ts +326 -0
- package/connectors/connect-imgbb/src/utils/output.ts +175 -0
- package/connectors/connect-imgbb/src/utils/settings.ts +114 -0
- package/connectors/connect-imgbb/src/utils/storage.ts +198 -0
- package/connectors/connect-imgbb/tsconfig.json +16 -0
- package/connectors/connect-impervawaf/.env.example +11 -0
- package/connectors/connect-impervawaf/CLAUDE.md +272 -0
- package/connectors/connect-impervawaf/README.md +193 -0
- package/connectors/connect-impervawaf/package.json +51 -0
- package/connectors/connect-impervawaf/scripts/release.ts +179 -0
- package/connectors/connect-impervawaf/src/api/client.ts +213 -0
- package/connectors/connect-impervawaf/src/api/example.ts +48 -0
- package/connectors/connect-impervawaf/src/api/index.ts +51 -0
- package/connectors/connect-impervawaf/src/cli/index.ts +254 -0
- package/connectors/connect-impervawaf/src/index.ts +103 -0
- package/connectors/connect-impervawaf/src/types/index.ts +237 -0
- package/connectors/connect-impervawaf/src/utils/auth.ts +274 -0
- package/connectors/connect-impervawaf/src/utils/bulk.ts +212 -0
- package/connectors/connect-impervawaf/src/utils/config.ts +326 -0
- package/connectors/connect-impervawaf/src/utils/output.ts +175 -0
- package/connectors/connect-impervawaf/src/utils/settings.ts +114 -0
- package/connectors/connect-impervawaf/src/utils/storage.ts +198 -0
- package/connectors/connect-impervawaf/tsconfig.json +16 -0
- package/connectors/connect-impira/.env.example +11 -0
- package/connectors/connect-impira/CLAUDE.md +272 -0
- package/connectors/connect-impira/README.md +193 -0
- package/connectors/connect-impira/package.json +51 -0
- package/connectors/connect-impira/scripts/release.ts +179 -0
- package/connectors/connect-impira/src/api/client.ts +213 -0
- package/connectors/connect-impira/src/api/example.ts +48 -0
- package/connectors/connect-impira/src/api/index.ts +51 -0
- package/connectors/connect-impira/src/cli/index.ts +254 -0
- package/connectors/connect-impira/src/index.ts +103 -0
- package/connectors/connect-impira/src/types/index.ts +237 -0
- package/connectors/connect-impira/src/utils/auth.ts +274 -0
- package/connectors/connect-impira/src/utils/bulk.ts +212 -0
- package/connectors/connect-impira/src/utils/config.ts +326 -0
- package/connectors/connect-impira/src/utils/output.ts +175 -0
- package/connectors/connect-impira/src/utils/settings.ts +114 -0
- package/connectors/connect-impira/src/utils/storage.ts +198 -0
- package/connectors/connect-impira/tsconfig.json +16 -0
- package/connectors/connect-industryselect/.env.example +11 -0
- package/connectors/connect-industryselect/CLAUDE.md +272 -0
- package/connectors/connect-industryselect/README.md +193 -0
- package/connectors/connect-industryselect/package.json +51 -0
- package/connectors/connect-industryselect/scripts/release.ts +179 -0
- package/connectors/connect-industryselect/src/api/client.ts +213 -0
- package/connectors/connect-industryselect/src/api/example.ts +48 -0
- package/connectors/connect-industryselect/src/api/index.ts +51 -0
- package/connectors/connect-industryselect/src/cli/index.ts +254 -0
- package/connectors/connect-industryselect/src/index.ts +103 -0
- package/connectors/connect-industryselect/src/types/index.ts +237 -0
- package/connectors/connect-industryselect/src/utils/auth.ts +274 -0
- package/connectors/connect-industryselect/src/utils/bulk.ts +212 -0
- package/connectors/connect-industryselect/src/utils/config.ts +326 -0
- package/connectors/connect-industryselect/src/utils/output.ts +175 -0
- package/connectors/connect-industryselect/src/utils/settings.ts +114 -0
- package/connectors/connect-industryselect/src/utils/storage.ts +198 -0
- package/connectors/connect-industryselect/tsconfig.json +16 -0
- package/connectors/connect-influxdbcloud/.env.example +11 -0
- package/connectors/connect-influxdbcloud/CLAUDE.md +272 -0
- package/connectors/connect-influxdbcloud/README.md +193 -0
- package/connectors/connect-influxdbcloud/package.json +51 -0
- package/connectors/connect-influxdbcloud/scripts/release.ts +179 -0
- package/connectors/connect-influxdbcloud/src/api/client.ts +213 -0
- package/connectors/connect-influxdbcloud/src/api/example.ts +48 -0
- package/connectors/connect-influxdbcloud/src/api/index.ts +51 -0
- package/connectors/connect-influxdbcloud/src/cli/index.ts +254 -0
- package/connectors/connect-influxdbcloud/src/index.ts +103 -0
- package/connectors/connect-influxdbcloud/src/types/index.ts +237 -0
- package/connectors/connect-influxdbcloud/src/utils/auth.ts +274 -0
- package/connectors/connect-influxdbcloud/src/utils/bulk.ts +212 -0
- package/connectors/connect-influxdbcloud/src/utils/config.ts +326 -0
- package/connectors/connect-influxdbcloud/src/utils/output.ts +175 -0
- package/connectors/connect-influxdbcloud/src/utils/settings.ts +114 -0
- package/connectors/connect-influxdbcloud/src/utils/storage.ts +198 -0
- package/connectors/connect-influxdbcloud/tsconfig.json +16 -0
- package/dist/index.js +511 -0
- package/package.json +1 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Main exports
|
|
2
|
+
export { GoogleAds, GoogleAdsClient, CampaignsApi, AdGroupsApi, AdsApi, KeywordsApi, ReportsApi } from './api';
|
|
3
|
+
|
|
4
|
+
// Types
|
|
5
|
+
export type {
|
|
6
|
+
GoogleAdsConfig,
|
|
7
|
+
SearchResponse,
|
|
8
|
+
MutateResponse,
|
|
9
|
+
Campaign,
|
|
10
|
+
CampaignBudget,
|
|
11
|
+
AdGroup,
|
|
12
|
+
Ad,
|
|
13
|
+
Keyword,
|
|
14
|
+
Asset,
|
|
15
|
+
ConversionAction,
|
|
16
|
+
Audience,
|
|
17
|
+
Metrics,
|
|
18
|
+
CampaignStatus,
|
|
19
|
+
AdGroupStatus,
|
|
20
|
+
AdStatus,
|
|
21
|
+
AdGroupCriterionStatus,
|
|
22
|
+
KeywordMatchType,
|
|
23
|
+
GoogleAdsError as GoogleAdsErrorType,
|
|
24
|
+
} from './types';
|
|
25
|
+
|
|
26
|
+
export { GoogleAdsError } from './types';
|
|
27
|
+
|
|
28
|
+
// Utils
|
|
29
|
+
export {
|
|
30
|
+
success,
|
|
31
|
+
error,
|
|
32
|
+
info,
|
|
33
|
+
warn,
|
|
34
|
+
print,
|
|
35
|
+
formatMicros,
|
|
36
|
+
formatNumber,
|
|
37
|
+
formatPercent,
|
|
38
|
+
formatCustomerId,
|
|
39
|
+
parseCustomerId,
|
|
40
|
+
} from './utils/output';
|
|
@@ -0,0 +1,433 @@
|
|
|
1
|
+
// Google Ads API Types
|
|
2
|
+
|
|
3
|
+
// ============================================
|
|
4
|
+
// Configuration
|
|
5
|
+
// ============================================
|
|
6
|
+
|
|
7
|
+
export interface GoogleAdsConfig {
|
|
8
|
+
accessToken?: string;
|
|
9
|
+
developerToken?: string;
|
|
10
|
+
customerId?: string;
|
|
11
|
+
loginCustomerId?: string; // For manager accounts
|
|
12
|
+
apiVersion?: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// ============================================
|
|
16
|
+
// OAuth2 Types
|
|
17
|
+
// ============================================
|
|
18
|
+
|
|
19
|
+
export interface OAuth2Tokens {
|
|
20
|
+
accessToken: string;
|
|
21
|
+
refreshToken: string;
|
|
22
|
+
expiresAt: number;
|
|
23
|
+
tokenType: string;
|
|
24
|
+
scope: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface CliConfig {
|
|
28
|
+
clientId?: string;
|
|
29
|
+
clientSecret?: string;
|
|
30
|
+
developerToken?: string;
|
|
31
|
+
defaultCustomerId?: string;
|
|
32
|
+
loginCustomerId?: string;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// ============================================
|
|
36
|
+
// Common Types
|
|
37
|
+
// ============================================
|
|
38
|
+
|
|
39
|
+
export interface GoogleAdsRow {
|
|
40
|
+
[key: string]: unknown;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface SearchResponse {
|
|
44
|
+
results: GoogleAdsRow[];
|
|
45
|
+
nextPageToken?: string;
|
|
46
|
+
totalResultsCount?: string;
|
|
47
|
+
fieldMask?: string;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface MutateResponse {
|
|
51
|
+
results: MutateResult[];
|
|
52
|
+
partialFailureError?: PartialFailureError;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export interface MutateResult {
|
|
56
|
+
resourceName: string;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface PartialFailureError {
|
|
60
|
+
code: number;
|
|
61
|
+
message: string;
|
|
62
|
+
details: unknown[];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// ============================================
|
|
66
|
+
// Campaign Types
|
|
67
|
+
// ============================================
|
|
68
|
+
|
|
69
|
+
export type CampaignStatus = 'ENABLED' | 'PAUSED' | 'REMOVED' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
70
|
+
export type AdvertisingChannelType = 'SEARCH' | 'DISPLAY' | 'SHOPPING' | 'VIDEO' | 'MULTI_CHANNEL' | 'LOCAL' | 'SMART' | 'PERFORMANCE_MAX' | 'DEMAND_GEN' | 'TRAVEL' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
71
|
+
export type BiddingStrategyType = 'MANUAL_CPC' | 'MANUAL_CPM' | 'MANUAL_CPV' | 'MAXIMIZE_CONVERSIONS' | 'MAXIMIZE_CONVERSION_VALUE' | 'TARGET_CPA' | 'TARGET_ROAS' | 'TARGET_SPEND' | 'TARGET_IMPRESSION_SHARE' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
72
|
+
|
|
73
|
+
export interface Campaign {
|
|
74
|
+
resourceName: string;
|
|
75
|
+
id: string;
|
|
76
|
+
name: string;
|
|
77
|
+
status: CampaignStatus;
|
|
78
|
+
advertisingChannelType: AdvertisingChannelType;
|
|
79
|
+
biddingStrategyType?: BiddingStrategyType;
|
|
80
|
+
campaignBudget?: string;
|
|
81
|
+
startDate?: string;
|
|
82
|
+
endDate?: string;
|
|
83
|
+
targetSpend?: {
|
|
84
|
+
targetSpendMicros?: string;
|
|
85
|
+
cpcBidCeilingMicros?: string;
|
|
86
|
+
};
|
|
87
|
+
manualCpc?: {
|
|
88
|
+
enhancedCpcEnabled?: boolean;
|
|
89
|
+
};
|
|
90
|
+
maximizeConversions?: {
|
|
91
|
+
targetCpaMicros?: string;
|
|
92
|
+
};
|
|
93
|
+
maximizeConversionValue?: {
|
|
94
|
+
targetRoas?: number;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export interface CampaignBudget {
|
|
99
|
+
resourceName: string;
|
|
100
|
+
id: string;
|
|
101
|
+
name?: string;
|
|
102
|
+
amountMicros: string;
|
|
103
|
+
deliveryMethod?: 'STANDARD' | 'ACCELERATED' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
104
|
+
explicitlyShared?: boolean;
|
|
105
|
+
totalAmountMicros?: string;
|
|
106
|
+
status?: 'ENABLED' | 'REMOVED' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// ============================================
|
|
110
|
+
// Ad Group Types
|
|
111
|
+
// ============================================
|
|
112
|
+
|
|
113
|
+
export type AdGroupStatus = 'ENABLED' | 'PAUSED' | 'REMOVED' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
114
|
+
export type AdGroupType = 'SEARCH_STANDARD' | 'DISPLAY_STANDARD' | 'SHOPPING_PRODUCT_ADS' | 'VIDEO_BUMPER' | 'VIDEO_TRUE_VIEW_IN_STREAM' | 'VIDEO_TRUE_VIEW_IN_DISPLAY' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
115
|
+
|
|
116
|
+
export interface AdGroup {
|
|
117
|
+
resourceName: string;
|
|
118
|
+
id: string;
|
|
119
|
+
name: string;
|
|
120
|
+
status: AdGroupStatus;
|
|
121
|
+
type: AdGroupType;
|
|
122
|
+
campaign: string;
|
|
123
|
+
cpcBidMicros?: string;
|
|
124
|
+
cpmBidMicros?: string;
|
|
125
|
+
targetCpaMicros?: string;
|
|
126
|
+
targetRoas?: number;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// ============================================
|
|
130
|
+
// Ad Types
|
|
131
|
+
// ============================================
|
|
132
|
+
|
|
133
|
+
export type AdType = 'TEXT_AD' | 'EXPANDED_TEXT_AD' | 'RESPONSIVE_SEARCH_AD' | 'RESPONSIVE_DISPLAY_AD' | 'IMAGE_AD' | 'VIDEO_AD' | 'CALL_AD' | 'SHOPPING_PRODUCT_AD' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
134
|
+
export type AdStatus = 'ENABLED' | 'PAUSED' | 'REMOVED' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
135
|
+
|
|
136
|
+
export interface Ad {
|
|
137
|
+
resourceName: string;
|
|
138
|
+
id: string;
|
|
139
|
+
type: AdType;
|
|
140
|
+
finalUrls?: string[];
|
|
141
|
+
finalMobileUrls?: string[];
|
|
142
|
+
trackingUrlTemplate?: string;
|
|
143
|
+
displayUrl?: string;
|
|
144
|
+
responsiveSearchAd?: ResponsiveSearchAd;
|
|
145
|
+
responsiveDisplayAd?: ResponsiveDisplayAd;
|
|
146
|
+
callAd?: CallAd;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export interface ResponsiveSearchAd {
|
|
150
|
+
headlines: AdTextAsset[];
|
|
151
|
+
descriptions: AdTextAsset[];
|
|
152
|
+
path1?: string;
|
|
153
|
+
path2?: string;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export interface ResponsiveDisplayAd {
|
|
157
|
+
marketingImages: AdImageAsset[];
|
|
158
|
+
squareMarketingImages: AdImageAsset[];
|
|
159
|
+
logos: AdImageAsset[];
|
|
160
|
+
squareLogos?: AdImageAsset[];
|
|
161
|
+
headlines: AdTextAsset[];
|
|
162
|
+
longHeadline: AdTextAsset;
|
|
163
|
+
descriptions: AdTextAsset[];
|
|
164
|
+
businessName: string;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export interface CallAd {
|
|
168
|
+
countryCode: string;
|
|
169
|
+
phoneNumber: string;
|
|
170
|
+
businessName: string;
|
|
171
|
+
headline1: string;
|
|
172
|
+
headline2: string;
|
|
173
|
+
description1: string;
|
|
174
|
+
description2?: string;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export interface AdTextAsset {
|
|
178
|
+
text: string;
|
|
179
|
+
pinnedField?: 'HEADLINE_1' | 'HEADLINE_2' | 'HEADLINE_3' | 'DESCRIPTION_1' | 'DESCRIPTION_2' | 'UNSPECIFIED';
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export interface AdImageAsset {
|
|
183
|
+
asset: string;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export interface AdGroupAd {
|
|
187
|
+
resourceName: string;
|
|
188
|
+
status: AdStatus;
|
|
189
|
+
adGroup: string;
|
|
190
|
+
ad: Ad;
|
|
191
|
+
policySummary?: PolicySummary;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export interface PolicySummary {
|
|
195
|
+
approvalStatus: 'APPROVED' | 'APPROVED_LIMITED' | 'AREA_OF_INTEREST_ONLY' | 'DISAPPROVED' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
196
|
+
reviewStatus: 'REVIEW_IN_PROGRESS' | 'REVIEWED' | 'UNDER_APPEAL' | 'ELIGIBLE_MAY_SERVE' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
197
|
+
policyTopicEntries?: PolicyTopicEntry[];
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
export interface PolicyTopicEntry {
|
|
201
|
+
topic: string;
|
|
202
|
+
type: string;
|
|
203
|
+
evidences?: unknown[];
|
|
204
|
+
constraints?: unknown[];
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// ============================================
|
|
208
|
+
// Keyword Types
|
|
209
|
+
// ============================================
|
|
210
|
+
|
|
211
|
+
export type KeywordMatchType = 'EXACT' | 'PHRASE' | 'BROAD' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
212
|
+
export type CriterionStatus = 'ENABLED' | 'PAUSED' | 'REMOVED' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
213
|
+
export type AdGroupCriterionStatus = CriterionStatus;
|
|
214
|
+
|
|
215
|
+
// Alias for easier usage
|
|
216
|
+
export type Keyword = AdGroupCriterion;
|
|
217
|
+
|
|
218
|
+
export interface AdGroupCriterion {
|
|
219
|
+
resourceName: string;
|
|
220
|
+
criterionId: string;
|
|
221
|
+
adGroup: string;
|
|
222
|
+
status: CriterionStatus;
|
|
223
|
+
keyword?: {
|
|
224
|
+
text: string;
|
|
225
|
+
matchType: KeywordMatchType;
|
|
226
|
+
};
|
|
227
|
+
qualityInfo?: {
|
|
228
|
+
qualityScore?: number;
|
|
229
|
+
creativityScore?: 'BELOW_AVERAGE' | 'AVERAGE' | 'ABOVE_AVERAGE' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
230
|
+
postClickQualityScore?: 'BELOW_AVERAGE' | 'AVERAGE' | 'ABOVE_AVERAGE' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
231
|
+
searchPredictedCtr?: 'BELOW_AVERAGE' | 'AVERAGE' | 'ABOVE_AVERAGE' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
232
|
+
};
|
|
233
|
+
cpcBidMicros?: string;
|
|
234
|
+
effectiveCpcBidMicros?: string;
|
|
235
|
+
finalUrls?: string[];
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
// ============================================
|
|
239
|
+
// Asset Types
|
|
240
|
+
// ============================================
|
|
241
|
+
|
|
242
|
+
export type AssetType = 'TEXT' | 'IMAGE' | 'MEDIA_BUNDLE' | 'YOUTUBE_VIDEO' | 'LEAD_FORM' | 'BOOK_ON_GOOGLE' | 'PROMOTION' | 'CALLOUT' | 'STRUCTURED_SNIPPET' | 'SITELINK' | 'PAGE_FEED' | 'DYNAMIC_EDUCATION' | 'MOBILE_APP' | 'HOTEL_CALLOUT' | 'CALL' | 'PRICE' | 'CALL_TO_ACTION' | 'DYNAMIC_REAL_ESTATE' | 'DYNAMIC_CUSTOM' | 'DYNAMIC_HOTELS_AND_RENTALS' | 'DYNAMIC_FLIGHTS' | 'DYNAMIC_TRAVEL' | 'DYNAMIC_LOCAL' | 'DYNAMIC_JOBS' | 'LOCATION' | 'HOTEL_PROPERTY' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
243
|
+
|
|
244
|
+
export interface Asset {
|
|
245
|
+
resourceName: string;
|
|
246
|
+
id: string;
|
|
247
|
+
name?: string;
|
|
248
|
+
type: AssetType;
|
|
249
|
+
finalUrls?: string[];
|
|
250
|
+
textAsset?: { text: string };
|
|
251
|
+
imageAsset?: { data: string; fileSize: string; mimeType: string; fullSize?: ImageDimension };
|
|
252
|
+
youtubeVideoAsset?: { youtubeVideoId: string; youtubeVideoTitle?: string };
|
|
253
|
+
sitelinkAsset?: { linkText: string; description1?: string; description2?: string };
|
|
254
|
+
callAsset?: { countryCode: string; phoneNumber: string; callConversionAction?: string };
|
|
255
|
+
calloutAsset?: { calloutText: string };
|
|
256
|
+
structuredSnippetAsset?: { header: string; values: string[] };
|
|
257
|
+
leadFormAsset?: LeadFormAsset;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
export interface ImageDimension {
|
|
261
|
+
heightPixels: string;
|
|
262
|
+
widthPixels: string;
|
|
263
|
+
url: string;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
export interface LeadFormAsset {
|
|
267
|
+
businessName: string;
|
|
268
|
+
callToActionType: string;
|
|
269
|
+
callToActionDescription: string;
|
|
270
|
+
headline: string;
|
|
271
|
+
description: string;
|
|
272
|
+
privacyPolicyUrl: string;
|
|
273
|
+
fields: LeadFormField[];
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
export interface LeadFormField {
|
|
277
|
+
inputType: string;
|
|
278
|
+
singleChoiceAnswers?: { answers: string[] };
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
// ============================================
|
|
282
|
+
// Conversion Types
|
|
283
|
+
// ============================================
|
|
284
|
+
|
|
285
|
+
export type ConversionActionCategory = 'DEFAULT' | 'PAGE_VIEW' | 'PURCHASE' | 'SIGNUP' | 'LEAD' | 'DOWNLOAD' | 'ADD_TO_CART' | 'BEGIN_CHECKOUT' | 'SUBSCRIBE_PAID' | 'PHONE_CALL_LEAD' | 'IMPORTED_LEAD' | 'SUBMIT_LEAD_FORM' | 'BOOK_APPOINTMENT' | 'REQUEST_QUOTE' | 'GET_DIRECTIONS' | 'OUTBOUND_CLICK' | 'CONTACT' | 'ENGAGEMENT' | 'STORE_VISIT' | 'STORE_SALE' | 'QUALIFIED_LEAD' | 'CONVERTED_LEAD' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
286
|
+
export type ConversionActionType = 'AD_CALL' | 'CLICK_TO_CALL' | 'GOOGLE_PLAY_DOWNLOAD' | 'GOOGLE_PLAY_IN_APP_PURCHASE' | 'UPLOAD_CALLS' | 'UPLOAD_CLICKS' | 'WEBPAGE' | 'WEBSITE_CALL' | 'STORE_SALES_DIRECT_UPLOAD' | 'STORE_SALES' | 'FIREBASE_ANDROID_FIRST_OPEN' | 'FIREBASE_ANDROID_IN_APP_PURCHASE' | 'FIREBASE_ANDROID_CUSTOM' | 'FIREBASE_IOS_FIRST_OPEN' | 'FIREBASE_IOS_IN_APP_PURCHASE' | 'FIREBASE_IOS_CUSTOM' | 'THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN' | 'THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE' | 'THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM' | 'THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN' | 'THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE' | 'THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM' | 'ANDROID_APP_PRE_REGISTRATION' | 'ANDROID_INSTALLS_ALL_OTHER_APPS' | 'FLOODLIGHT_ACTION' | 'FLOODLIGHT_TRANSACTION' | 'GOOGLE_HOSTED' | 'LEAD_FORM_SUBMIT' | 'SALESFORCE' | 'SEARCH_ADS_360' | 'SMART_CAMPAIGN_AD_CLICKS_TO_CALL' | 'SMART_CAMPAIGN_MAP_CLICKS_TO_CALL' | 'SMART_CAMPAIGN_MAP_DIRECTIONS' | 'SMART_CAMPAIGN_TRACKED_CALLS' | 'STORE_VISITS' | 'WEBPAGE_CODELESS' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
287
|
+
|
|
288
|
+
export interface ConversionAction {
|
|
289
|
+
resourceName: string;
|
|
290
|
+
id: string;
|
|
291
|
+
name: string;
|
|
292
|
+
status: 'ENABLED' | 'REMOVED' | 'HIDDEN' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
293
|
+
type: ConversionActionType;
|
|
294
|
+
category: ConversionActionCategory;
|
|
295
|
+
valueSettings?: {
|
|
296
|
+
defaultValue?: number;
|
|
297
|
+
defaultCurrencyCode?: string;
|
|
298
|
+
alwaysUseDefaultValue?: boolean;
|
|
299
|
+
};
|
|
300
|
+
attributionModelSettings?: {
|
|
301
|
+
attributionModel: string;
|
|
302
|
+
dataDrivenModelStatus?: string;
|
|
303
|
+
};
|
|
304
|
+
countingType?: 'ONE_PER_CLICK' | 'MANY_PER_CLICK' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
305
|
+
clickThroughLookbackWindowDays?: number;
|
|
306
|
+
viewThroughLookbackWindowDays?: number;
|
|
307
|
+
includeInConversionsMetric?: boolean;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
// ============================================
|
|
311
|
+
// Audience Types
|
|
312
|
+
// ============================================
|
|
313
|
+
|
|
314
|
+
export interface UserList {
|
|
315
|
+
resourceName: string;
|
|
316
|
+
id: string;
|
|
317
|
+
name: string;
|
|
318
|
+
description?: string;
|
|
319
|
+
membershipStatus: 'OPEN' | 'CLOSED' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
320
|
+
membershipLifeSpan?: string;
|
|
321
|
+
sizeForDisplay?: string;
|
|
322
|
+
sizeForSearch?: string;
|
|
323
|
+
type: 'REMARKETING' | 'LOGICAL' | 'EXTERNAL_REMARKETING' | 'RULE_BASED' | 'SIMILAR' | 'CRM_BASED' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
324
|
+
closingReason?: 'UNUSED' | 'UNKNOWN' | 'UNSPECIFIED';
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
// Alias for easier usage
|
|
328
|
+
export type Audience = UserList;
|
|
329
|
+
|
|
330
|
+
// ============================================
|
|
331
|
+
// Metrics Types
|
|
332
|
+
// ============================================
|
|
333
|
+
|
|
334
|
+
export interface Metrics {
|
|
335
|
+
impressions?: string;
|
|
336
|
+
clicks?: string;
|
|
337
|
+
costMicros?: string;
|
|
338
|
+
conversions?: number;
|
|
339
|
+
conversionsValue?: number;
|
|
340
|
+
allConversions?: number;
|
|
341
|
+
allConversionsValue?: number;
|
|
342
|
+
ctr?: number;
|
|
343
|
+
averageCpc?: number;
|
|
344
|
+
averageCpm?: number;
|
|
345
|
+
averageCpv?: number;
|
|
346
|
+
videoViews?: string;
|
|
347
|
+
videoViewRate?: number;
|
|
348
|
+
interactionRate?: number;
|
|
349
|
+
engagementRate?: number;
|
|
350
|
+
absoluteTopImpressionPercentage?: number;
|
|
351
|
+
topImpressionPercentage?: number;
|
|
352
|
+
searchImpressionShare?: number;
|
|
353
|
+
searchRankLostImpressionShare?: number;
|
|
354
|
+
searchBudgetLostImpressionShare?: number;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
// ============================================
|
|
358
|
+
// Customer Types
|
|
359
|
+
// ============================================
|
|
360
|
+
|
|
361
|
+
export interface Customer {
|
|
362
|
+
resourceName: string;
|
|
363
|
+
id: string;
|
|
364
|
+
descriptiveName: string;
|
|
365
|
+
currencyCode: string;
|
|
366
|
+
timeZone: string;
|
|
367
|
+
trackingUrlTemplate?: string;
|
|
368
|
+
autoTaggingEnabled?: boolean;
|
|
369
|
+
hasPartnersBadge?: boolean;
|
|
370
|
+
manager?: boolean;
|
|
371
|
+
testAccount?: boolean;
|
|
372
|
+
conversionTrackingId?: string;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
export interface CustomerClient {
|
|
376
|
+
resourceName: string;
|
|
377
|
+
clientCustomer: string;
|
|
378
|
+
hidden?: boolean;
|
|
379
|
+
level?: string;
|
|
380
|
+
timeZone?: string;
|
|
381
|
+
testAccount?: boolean;
|
|
382
|
+
manager?: boolean;
|
|
383
|
+
descriptiveName?: string;
|
|
384
|
+
currencyCode?: string;
|
|
385
|
+
id?: string;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
// ============================================
|
|
389
|
+
// API Error Types
|
|
390
|
+
// ============================================
|
|
391
|
+
|
|
392
|
+
export interface GoogleAdsApiErrorDetail {
|
|
393
|
+
errorCode: {
|
|
394
|
+
[key: string]: string;
|
|
395
|
+
};
|
|
396
|
+
message: string;
|
|
397
|
+
trigger?: {
|
|
398
|
+
stringValue?: string;
|
|
399
|
+
};
|
|
400
|
+
location?: {
|
|
401
|
+
fieldPathElements?: Array<{
|
|
402
|
+
fieldName: string;
|
|
403
|
+
index?: number;
|
|
404
|
+
}>;
|
|
405
|
+
};
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
export interface GoogleAdsApiError {
|
|
409
|
+
error: {
|
|
410
|
+
code: number;
|
|
411
|
+
message: string;
|
|
412
|
+
status: string;
|
|
413
|
+
details?: Array<{
|
|
414
|
+
'@type': string;
|
|
415
|
+
errors?: GoogleAdsApiErrorDetail[];
|
|
416
|
+
requestId?: string;
|
|
417
|
+
}>;
|
|
418
|
+
};
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
export class GoogleAdsError extends Error {
|
|
422
|
+
public readonly statusCode: number;
|
|
423
|
+
public readonly errors?: GoogleAdsApiErrorDetail[];
|
|
424
|
+
public readonly requestId?: string;
|
|
425
|
+
|
|
426
|
+
constructor(message: string, statusCode: number, errors?: GoogleAdsApiErrorDetail[], requestId?: string) {
|
|
427
|
+
super(message);
|
|
428
|
+
this.name = 'GoogleAdsError';
|
|
429
|
+
this.statusCode = statusCode;
|
|
430
|
+
this.errors = errors;
|
|
431
|
+
this.requestId = requestId;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { createServer } from 'http';
|
|
2
|
+
import type { OAuth2Tokens } from '../types';
|
|
3
|
+
import { saveTokens, getClientId, getClientSecret, loadTokens } from './config';
|
|
4
|
+
|
|
5
|
+
const GOOGLE_AUTH_URL = 'https://accounts.google.com/o/oauth2/v2/auth';
|
|
6
|
+
const GOOGLE_TOKEN_URL = 'https://oauth2.googleapis.com/token';
|
|
7
|
+
|
|
8
|
+
// Google Ads API scope
|
|
9
|
+
const GOOGLE_ADS_SCOPE = 'https://www.googleapis.com/auth/adwords';
|
|
10
|
+
|
|
11
|
+
const REDIRECT_PORT = 8091;
|
|
12
|
+
const REDIRECT_URI = `http://localhost:${REDIRECT_PORT}/callback`;
|
|
13
|
+
|
|
14
|
+
export interface AuthResult {
|
|
15
|
+
success: boolean;
|
|
16
|
+
tokens?: OAuth2Tokens;
|
|
17
|
+
error?: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function getAuthUrl(): string {
|
|
21
|
+
const clientId = getClientId();
|
|
22
|
+
if (!clientId) {
|
|
23
|
+
throw new Error('Client ID not configured. Run "connect-googleads auth setup" first.');
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const params = new URLSearchParams({
|
|
27
|
+
client_id: clientId,
|
|
28
|
+
redirect_uri: REDIRECT_URI,
|
|
29
|
+
response_type: 'code',
|
|
30
|
+
scope: GOOGLE_ADS_SCOPE,
|
|
31
|
+
access_type: 'offline',
|
|
32
|
+
prompt: 'consent',
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
return `${GOOGLE_AUTH_URL}?${params.toString()}`;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export async function exchangeCodeForTokens(code: string): Promise<OAuth2Tokens> {
|
|
39
|
+
const clientId = getClientId();
|
|
40
|
+
const clientSecret = getClientSecret();
|
|
41
|
+
|
|
42
|
+
if (!clientId || !clientSecret) {
|
|
43
|
+
throw new Error('OAuth credentials not configured');
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const response = await fetch(GOOGLE_TOKEN_URL, {
|
|
47
|
+
method: 'POST',
|
|
48
|
+
headers: {
|
|
49
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
50
|
+
},
|
|
51
|
+
body: new URLSearchParams({
|
|
52
|
+
code,
|
|
53
|
+
client_id: clientId,
|
|
54
|
+
client_secret: clientSecret,
|
|
55
|
+
redirect_uri: REDIRECT_URI,
|
|
56
|
+
grant_type: 'authorization_code',
|
|
57
|
+
}),
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
if (!response.ok) {
|
|
61
|
+
const error = await response.json();
|
|
62
|
+
throw new Error(`Token exchange failed: ${error.error_description || error.error}`);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const data = await response.json();
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
accessToken: data.access_token,
|
|
69
|
+
refreshToken: data.refresh_token,
|
|
70
|
+
expiresAt: Date.now() + data.expires_in * 1000,
|
|
71
|
+
tokenType: data.token_type,
|
|
72
|
+
scope: data.scope,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export async function refreshAccessToken(): Promise<OAuth2Tokens> {
|
|
77
|
+
const clientId = getClientId();
|
|
78
|
+
const clientSecret = getClientSecret();
|
|
79
|
+
const currentTokens = loadTokens();
|
|
80
|
+
|
|
81
|
+
if (!clientId || !clientSecret) {
|
|
82
|
+
throw new Error('OAuth credentials not configured');
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (!currentTokens?.refreshToken) {
|
|
86
|
+
throw new Error('No refresh token available. Please login again.');
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const response = await fetch(GOOGLE_TOKEN_URL, {
|
|
90
|
+
method: 'POST',
|
|
91
|
+
headers: {
|
|
92
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
93
|
+
},
|
|
94
|
+
body: new URLSearchParams({
|
|
95
|
+
client_id: clientId,
|
|
96
|
+
client_secret: clientSecret,
|
|
97
|
+
refresh_token: currentTokens.refreshToken,
|
|
98
|
+
grant_type: 'refresh_token',
|
|
99
|
+
}),
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
if (!response.ok) {
|
|
103
|
+
const error = await response.json();
|
|
104
|
+
throw new Error(`Token refresh failed: ${error.error_description || error.error}`);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
const data = await response.json();
|
|
108
|
+
|
|
109
|
+
const tokens: OAuth2Tokens = {
|
|
110
|
+
accessToken: data.access_token,
|
|
111
|
+
refreshToken: currentTokens.refreshToken,
|
|
112
|
+
expiresAt: Date.now() + data.expires_in * 1000,
|
|
113
|
+
tokenType: data.token_type,
|
|
114
|
+
scope: data.scope || currentTokens.scope,
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
saveTokens(tokens);
|
|
118
|
+
return tokens;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export function startCallbackServer(): Promise<AuthResult> {
|
|
122
|
+
return new Promise((resolve) => {
|
|
123
|
+
const server = createServer(async (req, res) => {
|
|
124
|
+
const url = new URL(req.url || '', `http://localhost:${REDIRECT_PORT}`);
|
|
125
|
+
|
|
126
|
+
if (url.pathname === '/callback') {
|
|
127
|
+
const code = url.searchParams.get('code');
|
|
128
|
+
const error = url.searchParams.get('error');
|
|
129
|
+
|
|
130
|
+
if (error) {
|
|
131
|
+
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
132
|
+
res.end(`
|
|
133
|
+
<html>
|
|
134
|
+
<body style="font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0;">
|
|
135
|
+
<div style="text-align: center;">
|
|
136
|
+
<h1 style="color: #dc3545;">Authentication Failed</h1>
|
|
137
|
+
<p>Error: ${error}</p>
|
|
138
|
+
<p>You can close this window.</p>
|
|
139
|
+
</div>
|
|
140
|
+
</body>
|
|
141
|
+
</html>
|
|
142
|
+
`);
|
|
143
|
+
server.close();
|
|
144
|
+
resolve({ success: false, error });
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
if (code) {
|
|
149
|
+
try {
|
|
150
|
+
const tokens = await exchangeCodeForTokens(code);
|
|
151
|
+
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
152
|
+
res.end(`
|
|
153
|
+
<html>
|
|
154
|
+
<body style="font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0;">
|
|
155
|
+
<div style="text-align: center;">
|
|
156
|
+
<h1 style="color: #28a745;">Authentication Successful!</h1>
|
|
157
|
+
<p>You can close this window and return to the terminal.</p>
|
|
158
|
+
</div>
|
|
159
|
+
</body>
|
|
160
|
+
</html>
|
|
161
|
+
`);
|
|
162
|
+
server.close();
|
|
163
|
+
resolve({ success: true, tokens });
|
|
164
|
+
} catch (err) {
|
|
165
|
+
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
166
|
+
res.end(`
|
|
167
|
+
<html>
|
|
168
|
+
<body style="font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0;">
|
|
169
|
+
<div style="text-align: center;">
|
|
170
|
+
<h1 style="color: #dc3545;">Authentication Failed</h1>
|
|
171
|
+
<p>Error: ${String(err)}</p>
|
|
172
|
+
<p>You can close this window.</p>
|
|
173
|
+
</div>
|
|
174
|
+
</body>
|
|
175
|
+
</html>
|
|
176
|
+
`);
|
|
177
|
+
server.close();
|
|
178
|
+
resolve({ success: false, error: String(err) });
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
server.listen(REDIRECT_PORT, () => {
|
|
185
|
+
// Server ready
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
setTimeout(() => {
|
|
189
|
+
server.close();
|
|
190
|
+
resolve({ success: false, error: 'Authentication timed out' });
|
|
191
|
+
}, 5 * 60 * 1000);
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
export async function getValidAccessToken(): Promise<string> {
|
|
196
|
+
const tokens = loadTokens();
|
|
197
|
+
|
|
198
|
+
if (!tokens) {
|
|
199
|
+
throw new Error('Not authenticated. Run "connect-googleads auth login" first.');
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
if (Date.now() >= tokens.expiresAt - 5 * 60 * 1000) {
|
|
203
|
+
const newTokens = await refreshAccessToken();
|
|
204
|
+
return newTokens.accessToken;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
return tokens.accessToken;
|
|
208
|
+
}
|