@hasna/connectors 0.5.0 → 0.5.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 +92 -1
- package/bin/mcp.js +92 -1
- package/bin/serve.js +91 -0
- package/connectors/connect-ably/.env.example +11 -0
- package/connectors/connect-ably/CLAUDE.md +111 -0
- package/connectors/connect-ably/README.md +193 -0
- package/connectors/connect-ably/package.json +54 -0
- package/connectors/connect-ably/scripts/release.ts +179 -0
- package/connectors/connect-ably/src/api/channels.ts +33 -0
- package/connectors/connect-ably/src/api/client.ts +203 -0
- package/connectors/connect-ably/src/api/index.ts +59 -0
- package/connectors/connect-ably/src/api/messages.ts +48 -0
- package/connectors/connect-ably/src/api/presence.ts +39 -0
- package/connectors/connect-ably/src/api/stats.ts +29 -0
- package/connectors/connect-ably/src/cli/index.ts +397 -0
- package/connectors/connect-ably/src/index.ts +102 -0
- package/connectors/connect-ably/src/types/index.ts +294 -0
- package/connectors/connect-ably/src/utils/auth.ts +274 -0
- package/connectors/connect-ably/src/utils/bulk.ts +212 -0
- package/connectors/connect-ably/src/utils/config.ts +323 -0
- package/connectors/connect-ably/src/utils/output.ts +175 -0
- package/connectors/connect-ably/src/utils/settings.ts +114 -0
- package/connectors/connect-ably/src/utils/storage.ts +198 -0
- package/connectors/connect-ably/tsconfig.json +16 -0
- package/connectors/connect-box/.env.example +11 -0
- package/connectors/connect-box/CLAUDE.md +272 -0
- package/connectors/connect-box/README.md +193 -0
- package/connectors/connect-box/package.json +51 -0
- package/connectors/connect-box/scripts/release.ts +179 -0
- package/connectors/connect-box/src/api/client.ts +213 -0
- package/connectors/connect-box/src/api/example.ts +48 -0
- package/connectors/connect-box/src/api/index.ts +51 -0
- package/connectors/connect-box/src/cli/index.ts +254 -0
- package/connectors/connect-box/src/index.ts +103 -0
- package/connectors/connect-box/src/types/index.ts +237 -0
- package/connectors/connect-box/src/utils/auth.ts +274 -0
- package/connectors/connect-box/src/utils/bulk.ts +212 -0
- package/connectors/connect-box/src/utils/config.ts +326 -0
- package/connectors/connect-box/src/utils/output.ts +175 -0
- package/connectors/connect-box/src/utils/settings.ts +114 -0
- package/connectors/connect-box/src/utils/storage.ts +198 -0
- package/connectors/connect-box/tsconfig.json +16 -0
- package/connectors/connect-clearbit/.env.example +11 -0
- package/connectors/connect-clearbit/CLAUDE.md +272 -0
- package/connectors/connect-clearbit/README.md +193 -0
- package/connectors/connect-clearbit/package.json +51 -0
- package/connectors/connect-clearbit/scripts/release.ts +179 -0
- package/connectors/connect-clearbit/src/api/client.ts +213 -0
- package/connectors/connect-clearbit/src/api/example.ts +48 -0
- package/connectors/connect-clearbit/src/api/index.ts +51 -0
- package/connectors/connect-clearbit/src/cli/index.ts +254 -0
- package/connectors/connect-clearbit/src/index.ts +103 -0
- package/connectors/connect-clearbit/src/types/index.ts +237 -0
- package/connectors/connect-clearbit/src/utils/auth.ts +274 -0
- package/connectors/connect-clearbit/src/utils/bulk.ts +212 -0
- package/connectors/connect-clearbit/src/utils/config.ts +326 -0
- package/connectors/connect-clearbit/src/utils/output.ts +175 -0
- package/connectors/connect-clearbit/src/utils/settings.ts +114 -0
- package/connectors/connect-clearbit/src/utils/storage.ts +198 -0
- package/connectors/connect-clearbit/tsconfig.json +16 -0
- package/connectors/connect-coda/.env.example +11 -0
- package/connectors/connect-coda/CLAUDE.md +272 -0
- package/connectors/connect-coda/README.md +193 -0
- package/connectors/connect-coda/package.json +51 -0
- package/connectors/connect-coda/scripts/release.ts +179 -0
- package/connectors/connect-coda/src/api/client.ts +213 -0
- package/connectors/connect-coda/src/api/example.ts +48 -0
- package/connectors/connect-coda/src/api/index.ts +51 -0
- package/connectors/connect-coda/src/cli/index.ts +254 -0
- package/connectors/connect-coda/src/index.ts +103 -0
- package/connectors/connect-coda/src/types/index.ts +237 -0
- package/connectors/connect-coda/src/utils/auth.ts +274 -0
- package/connectors/connect-coda/src/utils/bulk.ts +212 -0
- package/connectors/connect-coda/src/utils/config.ts +326 -0
- package/connectors/connect-coda/src/utils/output.ts +175 -0
- package/connectors/connect-coda/src/utils/settings.ts +114 -0
- package/connectors/connect-coda/src/utils/storage.ts +198 -0
- package/connectors/connect-coda/tsconfig.json +16 -0
- package/connectors/connect-dropbox/.env.example +11 -0
- package/connectors/connect-dropbox/CLAUDE.md +119 -0
- package/connectors/connect-dropbox/README.md +193 -0
- package/connectors/connect-dropbox/package.json +51 -0
- package/connectors/connect-dropbox/src/api/client.ts +222 -0
- package/connectors/connect-dropbox/src/api/index.ts +395 -0
- package/connectors/connect-dropbox/src/cli/index.ts +627 -0
- package/connectors/connect-dropbox/src/index.ts +20 -0
- package/connectors/connect-dropbox/src/types/index.ts +516 -0
- package/connectors/connect-dropbox/src/utils/config.ts +197 -0
- package/connectors/connect-dropbox/tsconfig.json +16 -0
- package/connectors/connect-linode/.env.example +11 -0
- package/connectors/connect-linode/CLAUDE.md +272 -0
- package/connectors/connect-linode/README.md +193 -0
- package/connectors/connect-linode/package.json +51 -0
- package/connectors/connect-linode/scripts/release.ts +179 -0
- package/connectors/connect-linode/src/api/client.ts +213 -0
- package/connectors/connect-linode/src/api/example.ts +48 -0
- package/connectors/connect-linode/src/api/index.ts +51 -0
- package/connectors/connect-linode/src/cli/index.ts +254 -0
- package/connectors/connect-linode/src/index.ts +103 -0
- package/connectors/connect-linode/src/types/index.ts +237 -0
- package/connectors/connect-linode/src/utils/auth.ts +274 -0
- package/connectors/connect-linode/src/utils/bulk.ts +212 -0
- package/connectors/connect-linode/src/utils/config.ts +326 -0
- package/connectors/connect-linode/src/utils/output.ts +175 -0
- package/connectors/connect-linode/src/utils/settings.ts +114 -0
- package/connectors/connect-linode/src/utils/storage.ts +198 -0
- package/connectors/connect-linode/tsconfig.json +16 -0
- package/connectors/connect-mailgun/.env.example +11 -0
- package/connectors/connect-mailgun/CLAUDE.md +272 -0
- package/connectors/connect-mailgun/README.md +193 -0
- package/connectors/connect-mailgun/package.json +51 -0
- package/connectors/connect-mailgun/scripts/release.ts +179 -0
- package/connectors/connect-mailgun/src/api/client.ts +213 -0
- package/connectors/connect-mailgun/src/api/example.ts +48 -0
- package/connectors/connect-mailgun/src/api/index.ts +51 -0
- package/connectors/connect-mailgun/src/cli/index.ts +254 -0
- package/connectors/connect-mailgun/src/index.ts +103 -0
- package/connectors/connect-mailgun/src/types/index.ts +237 -0
- package/connectors/connect-mailgun/src/utils/auth.ts +274 -0
- package/connectors/connect-mailgun/src/utils/bulk.ts +212 -0
- package/connectors/connect-mailgun/src/utils/config.ts +326 -0
- package/connectors/connect-mailgun/src/utils/output.ts +175 -0
- package/connectors/connect-mailgun/src/utils/settings.ts +114 -0
- package/connectors/connect-mailgun/src/utils/storage.ts +198 -0
- package/connectors/connect-mailgun/tsconfig.json +16 -0
- package/connectors/connect-messagebird/.env.example +11 -0
- package/connectors/connect-messagebird/CLAUDE.md +272 -0
- package/connectors/connect-messagebird/README.md +193 -0
- package/connectors/connect-messagebird/package.json +51 -0
- package/connectors/connect-messagebird/scripts/release.ts +179 -0
- package/connectors/connect-messagebird/src/api/client.ts +213 -0
- package/connectors/connect-messagebird/src/api/example.ts +48 -0
- package/connectors/connect-messagebird/src/api/index.ts +51 -0
- package/connectors/connect-messagebird/src/cli/index.ts +254 -0
- package/connectors/connect-messagebird/src/index.ts +103 -0
- package/connectors/connect-messagebird/src/types/index.ts +237 -0
- package/connectors/connect-messagebird/src/utils/auth.ts +274 -0
- package/connectors/connect-messagebird/src/utils/bulk.ts +212 -0
- package/connectors/connect-messagebird/src/utils/config.ts +326 -0
- package/connectors/connect-messagebird/src/utils/output.ts +175 -0
- package/connectors/connect-messagebird/src/utils/settings.ts +114 -0
- package/connectors/connect-messagebird/src/utils/storage.ts +198 -0
- package/connectors/connect-messagebird/tsconfig.json +16 -0
- package/connectors/connect-miro/.env.example +11 -0
- package/connectors/connect-miro/CLAUDE.md +272 -0
- package/connectors/connect-miro/README.md +193 -0
- package/connectors/connect-miro/package.json +51 -0
- package/connectors/connect-miro/scripts/release.ts +179 -0
- package/connectors/connect-miro/src/api/client.ts +213 -0
- package/connectors/connect-miro/src/api/example.ts +48 -0
- package/connectors/connect-miro/src/api/index.ts +51 -0
- package/connectors/connect-miro/src/cli/index.ts +254 -0
- package/connectors/connect-miro/src/index.ts +103 -0
- package/connectors/connect-miro/src/types/index.ts +237 -0
- package/connectors/connect-miro/src/utils/auth.ts +274 -0
- package/connectors/connect-miro/src/utils/bulk.ts +212 -0
- package/connectors/connect-miro/src/utils/config.ts +326 -0
- package/connectors/connect-miro/src/utils/output.ts +175 -0
- package/connectors/connect-miro/src/utils/settings.ts +114 -0
- package/connectors/connect-miro/src/utils/storage.ts +198 -0
- package/connectors/connect-miro/tsconfig.json +16 -0
- package/connectors/connect-monday/.env.example +11 -0
- package/connectors/connect-monday/CLAUDE.md +128 -0
- package/connectors/connect-monday/README.md +193 -0
- package/connectors/connect-monday/package.json +52 -0
- package/connectors/connect-monday/src/api/client.ts +59 -0
- package/connectors/connect-monday/src/api/index.ts +539 -0
- package/connectors/connect-monday/src/cli/index.ts +479 -0
- package/connectors/connect-monday/src/index.ts +19 -0
- package/connectors/connect-monday/src/types/index.ts +274 -0
- package/connectors/connect-monday/src/utils/config.ts +197 -0
- package/connectors/connect-monday/src/utils/output.ts +119 -0
- package/connectors/connect-monday/tsconfig.json +16 -0
- package/connectors/connect-pipedrive/.env.example +11 -0
- package/connectors/connect-pipedrive/CLAUDE.md +128 -0
- package/connectors/connect-pipedrive/README.md +193 -0
- package/connectors/connect-pipedrive/package.json +52 -0
- package/connectors/connect-pipedrive/src/api/client.ts +121 -0
- package/connectors/connect-pipedrive/src/api/index.ts +306 -0
- package/connectors/connect-pipedrive/src/cli/index.ts +824 -0
- package/connectors/connect-pipedrive/src/index.ts +19 -0
- package/connectors/connect-pipedrive/src/types/index.ts +335 -0
- package/connectors/connect-pipedrive/src/utils/config.ts +171 -0
- package/connectors/connect-pipedrive/src/utils/output.ts +119 -0
- package/connectors/connect-pipedrive/tsconfig.json +16 -0
- package/connectors/connect-pusher/.env.example +11 -0
- package/connectors/connect-pusher/CLAUDE.md +272 -0
- package/connectors/connect-pusher/README.md +193 -0
- package/connectors/connect-pusher/package.json +51 -0
- package/connectors/connect-pusher/scripts/release.ts +179 -0
- package/connectors/connect-pusher/src/api/client.ts +213 -0
- package/connectors/connect-pusher/src/api/example.ts +48 -0
- package/connectors/connect-pusher/src/api/index.ts +51 -0
- package/connectors/connect-pusher/src/cli/index.ts +254 -0
- package/connectors/connect-pusher/src/index.ts +103 -0
- package/connectors/connect-pusher/src/types/index.ts +237 -0
- package/connectors/connect-pusher/src/utils/auth.ts +274 -0
- package/connectors/connect-pusher/src/utils/bulk.ts +212 -0
- package/connectors/connect-pusher/src/utils/config.ts +326 -0
- package/connectors/connect-pusher/src/utils/output.ts +175 -0
- package/connectors/connect-pusher/src/utils/settings.ts +114 -0
- package/connectors/connect-pusher/src/utils/storage.ts +198 -0
- package/connectors/connect-pusher/tsconfig.json +16 -0
- package/connectors/connect-vonage/.env.example +11 -0
- package/connectors/connect-vonage/CLAUDE.md +272 -0
- package/connectors/connect-vonage/README.md +193 -0
- package/connectors/connect-vonage/package.json +51 -0
- package/connectors/connect-vonage/scripts/release.ts +179 -0
- package/connectors/connect-vonage/src/api/client.ts +213 -0
- package/connectors/connect-vonage/src/api/example.ts +48 -0
- package/connectors/connect-vonage/src/api/index.ts +51 -0
- package/connectors/connect-vonage/src/cli/index.ts +254 -0
- package/connectors/connect-vonage/src/index.ts +103 -0
- package/connectors/connect-vonage/src/types/index.ts +237 -0
- package/connectors/connect-vonage/src/utils/auth.ts +274 -0
- package/connectors/connect-vonage/src/utils/bulk.ts +212 -0
- package/connectors/connect-vonage/src/utils/config.ts +326 -0
- package/connectors/connect-vonage/src/utils/output.ts +175 -0
- package/connectors/connect-vonage/src/utils/settings.ts +114 -0
- package/connectors/connect-vonage/src/utils/storage.ts +198 -0
- package/connectors/connect-vonage/tsconfig.json +16 -0
- package/dist/index.js +91 -0
- package/package.json +1 -1
package/bin/index.js
CHANGED
|
@@ -2710,6 +2710,97 @@ var init_registry = __esm(() => {
|
|
|
2710
2710
|
description: "AI video and 3D generation",
|
|
2711
2711
|
category: "AI & ML",
|
|
2712
2712
|
tags: ["ai", "video", "3d"]
|
|
2713
|
+
},
|
|
2714
|
+
{
|
|
2715
|
+
name: "linode",
|
|
2716
|
+
displayName: "Linode",
|
|
2717
|
+
description: "Cloud computing and hosting",
|
|
2718
|
+
category: "Developer Tools",
|
|
2719
|
+
tags: ["cloud", "hosting", "vps"]
|
|
2720
|
+
},
|
|
2721
|
+
{
|
|
2722
|
+
name: "mailgun",
|
|
2723
|
+
displayName: "Mailgun",
|
|
2724
|
+
description: "Email delivery API",
|
|
2725
|
+
category: "Communication",
|
|
2726
|
+
tags: ["email", "api", "transactional"]
|
|
2727
|
+
},
|
|
2728
|
+
{
|
|
2729
|
+
name: "pusher",
|
|
2730
|
+
displayName: "Pusher",
|
|
2731
|
+
description: "Realtime messaging and channels",
|
|
2732
|
+
category: "Communication",
|
|
2733
|
+
tags: ["realtime", "websockets", "messaging"]
|
|
2734
|
+
},
|
|
2735
|
+
{
|
|
2736
|
+
name: "ably",
|
|
2737
|
+
displayName: "Ably",
|
|
2738
|
+
description: "Realtime messaging infrastructure",
|
|
2739
|
+
category: "Communication",
|
|
2740
|
+
tags: ["realtime", "messaging", "pubsub"]
|
|
2741
|
+
},
|
|
2742
|
+
{
|
|
2743
|
+
name: "vonage",
|
|
2744
|
+
displayName: "Vonage",
|
|
2745
|
+
description: "SMS, voice, and messaging APIs",
|
|
2746
|
+
category: "Communication",
|
|
2747
|
+
tags: ["sms", "voice", "messaging"]
|
|
2748
|
+
},
|
|
2749
|
+
{
|
|
2750
|
+
name: "messagebird",
|
|
2751
|
+
displayName: "MessageBird",
|
|
2752
|
+
description: "Omnichannel messaging platform",
|
|
2753
|
+
category: "Communication",
|
|
2754
|
+
tags: ["sms", "messaging", "omnichannel"]
|
|
2755
|
+
},
|
|
2756
|
+
{
|
|
2757
|
+
name: "pipedrive",
|
|
2758
|
+
displayName: "Pipedrive",
|
|
2759
|
+
description: "Sales CRM and pipeline management",
|
|
2760
|
+
category: "Business Tools",
|
|
2761
|
+
tags: ["crm", "sales", "pipeline"]
|
|
2762
|
+
},
|
|
2763
|
+
{
|
|
2764
|
+
name: "clearbit",
|
|
2765
|
+
displayName: "Clearbit",
|
|
2766
|
+
description: "Business intelligence and data enrichment",
|
|
2767
|
+
category: "Data & Analytics",
|
|
2768
|
+
tags: ["enrichment", "data", "b2b"]
|
|
2769
|
+
},
|
|
2770
|
+
{
|
|
2771
|
+
name: "coda",
|
|
2772
|
+
displayName: "Coda",
|
|
2773
|
+
description: "Docs, tables, and automations",
|
|
2774
|
+
category: "Business Tools",
|
|
2775
|
+
tags: ["docs", "tables", "automation"]
|
|
2776
|
+
},
|
|
2777
|
+
{
|
|
2778
|
+
name: "monday",
|
|
2779
|
+
displayName: "Monday.com",
|
|
2780
|
+
description: "Work management and project tracking",
|
|
2781
|
+
category: "Business Tools",
|
|
2782
|
+
tags: ["project-management", "workflow"]
|
|
2783
|
+
},
|
|
2784
|
+
{
|
|
2785
|
+
name: "dropbox",
|
|
2786
|
+
displayName: "Dropbox",
|
|
2787
|
+
description: "Cloud file storage and sharing",
|
|
2788
|
+
category: "Business Tools",
|
|
2789
|
+
tags: ["storage", "files", "sharing"]
|
|
2790
|
+
},
|
|
2791
|
+
{
|
|
2792
|
+
name: "box",
|
|
2793
|
+
displayName: "Box",
|
|
2794
|
+
description: "Enterprise content management",
|
|
2795
|
+
category: "Business Tools",
|
|
2796
|
+
tags: ["storage", "enterprise", "content"]
|
|
2797
|
+
},
|
|
2798
|
+
{
|
|
2799
|
+
name: "miro",
|
|
2800
|
+
displayName: "Miro",
|
|
2801
|
+
description: "Visual collaboration and whiteboarding",
|
|
2802
|
+
category: "Business Tools",
|
|
2803
|
+
tags: ["whiteboard", "collaboration", "design"]
|
|
2713
2804
|
}
|
|
2714
2805
|
];
|
|
2715
2806
|
});
|
|
@@ -7190,7 +7281,7 @@ var PRESETS = {
|
|
|
7190
7281
|
commerce: { description: "Commerce and finance", connectors: ["stripe", "shopify", "revolut", "mercury", "pandadoc"] }
|
|
7191
7282
|
};
|
|
7192
7283
|
var program2 = new Command;
|
|
7193
|
-
program2.name("connectors").description("Install API connectors for your project").version("0.5.
|
|
7284
|
+
program2.name("connectors").description("Install API connectors for your project").version("0.5.1").enablePositionalOptions();
|
|
7194
7285
|
program2.command("interactive", { isDefault: true }).alias("i").description("Interactive connector browser").action(() => {
|
|
7195
7286
|
if (!isTTY) {
|
|
7196
7287
|
console.log(`Non-interactive environment detected. Use a subcommand:
|
package/bin/mcp.js
CHANGED
|
@@ -20198,6 +20198,97 @@ var CONNECTORS = [
|
|
|
20198
20198
|
description: "AI video and 3D generation",
|
|
20199
20199
|
category: "AI & ML",
|
|
20200
20200
|
tags: ["ai", "video", "3d"]
|
|
20201
|
+
},
|
|
20202
|
+
{
|
|
20203
|
+
name: "linode",
|
|
20204
|
+
displayName: "Linode",
|
|
20205
|
+
description: "Cloud computing and hosting",
|
|
20206
|
+
category: "Developer Tools",
|
|
20207
|
+
tags: ["cloud", "hosting", "vps"]
|
|
20208
|
+
},
|
|
20209
|
+
{
|
|
20210
|
+
name: "mailgun",
|
|
20211
|
+
displayName: "Mailgun",
|
|
20212
|
+
description: "Email delivery API",
|
|
20213
|
+
category: "Communication",
|
|
20214
|
+
tags: ["email", "api", "transactional"]
|
|
20215
|
+
},
|
|
20216
|
+
{
|
|
20217
|
+
name: "pusher",
|
|
20218
|
+
displayName: "Pusher",
|
|
20219
|
+
description: "Realtime messaging and channels",
|
|
20220
|
+
category: "Communication",
|
|
20221
|
+
tags: ["realtime", "websockets", "messaging"]
|
|
20222
|
+
},
|
|
20223
|
+
{
|
|
20224
|
+
name: "ably",
|
|
20225
|
+
displayName: "Ably",
|
|
20226
|
+
description: "Realtime messaging infrastructure",
|
|
20227
|
+
category: "Communication",
|
|
20228
|
+
tags: ["realtime", "messaging", "pubsub"]
|
|
20229
|
+
},
|
|
20230
|
+
{
|
|
20231
|
+
name: "vonage",
|
|
20232
|
+
displayName: "Vonage",
|
|
20233
|
+
description: "SMS, voice, and messaging APIs",
|
|
20234
|
+
category: "Communication",
|
|
20235
|
+
tags: ["sms", "voice", "messaging"]
|
|
20236
|
+
},
|
|
20237
|
+
{
|
|
20238
|
+
name: "messagebird",
|
|
20239
|
+
displayName: "MessageBird",
|
|
20240
|
+
description: "Omnichannel messaging platform",
|
|
20241
|
+
category: "Communication",
|
|
20242
|
+
tags: ["sms", "messaging", "omnichannel"]
|
|
20243
|
+
},
|
|
20244
|
+
{
|
|
20245
|
+
name: "pipedrive",
|
|
20246
|
+
displayName: "Pipedrive",
|
|
20247
|
+
description: "Sales CRM and pipeline management",
|
|
20248
|
+
category: "Business Tools",
|
|
20249
|
+
tags: ["crm", "sales", "pipeline"]
|
|
20250
|
+
},
|
|
20251
|
+
{
|
|
20252
|
+
name: "clearbit",
|
|
20253
|
+
displayName: "Clearbit",
|
|
20254
|
+
description: "Business intelligence and data enrichment",
|
|
20255
|
+
category: "Data & Analytics",
|
|
20256
|
+
tags: ["enrichment", "data", "b2b"]
|
|
20257
|
+
},
|
|
20258
|
+
{
|
|
20259
|
+
name: "coda",
|
|
20260
|
+
displayName: "Coda",
|
|
20261
|
+
description: "Docs, tables, and automations",
|
|
20262
|
+
category: "Business Tools",
|
|
20263
|
+
tags: ["docs", "tables", "automation"]
|
|
20264
|
+
},
|
|
20265
|
+
{
|
|
20266
|
+
name: "monday",
|
|
20267
|
+
displayName: "Monday.com",
|
|
20268
|
+
description: "Work management and project tracking",
|
|
20269
|
+
category: "Business Tools",
|
|
20270
|
+
tags: ["project-management", "workflow"]
|
|
20271
|
+
},
|
|
20272
|
+
{
|
|
20273
|
+
name: "dropbox",
|
|
20274
|
+
displayName: "Dropbox",
|
|
20275
|
+
description: "Cloud file storage and sharing",
|
|
20276
|
+
category: "Business Tools",
|
|
20277
|
+
tags: ["storage", "files", "sharing"]
|
|
20278
|
+
},
|
|
20279
|
+
{
|
|
20280
|
+
name: "box",
|
|
20281
|
+
displayName: "Box",
|
|
20282
|
+
description: "Enterprise content management",
|
|
20283
|
+
category: "Business Tools",
|
|
20284
|
+
tags: ["storage", "enterprise", "content"]
|
|
20285
|
+
},
|
|
20286
|
+
{
|
|
20287
|
+
name: "miro",
|
|
20288
|
+
displayName: "Miro",
|
|
20289
|
+
description: "Visual collaboration and whiteboarding",
|
|
20290
|
+
category: "Business Tools",
|
|
20291
|
+
tags: ["whiteboard", "collaboration", "design"]
|
|
20201
20292
|
}
|
|
20202
20293
|
];
|
|
20203
20294
|
function getConnectorsByCategory(category) {
|
|
@@ -20672,7 +20763,7 @@ async function getConnectorCommandHelp(name, command) {
|
|
|
20672
20763
|
loadConnectorVersions();
|
|
20673
20764
|
var server = new McpServer({
|
|
20674
20765
|
name: "connectors",
|
|
20675
|
-
version: "0.5.
|
|
20766
|
+
version: "0.5.1"
|
|
20676
20767
|
});
|
|
20677
20768
|
server.registerTool("search_connectors", {
|
|
20678
20769
|
title: "Search Connectors",
|
package/bin/serve.js
CHANGED
|
@@ -803,6 +803,97 @@ var CONNECTORS = [
|
|
|
803
803
|
description: "AI video and 3D generation",
|
|
804
804
|
category: "AI & ML",
|
|
805
805
|
tags: ["ai", "video", "3d"]
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
name: "linode",
|
|
809
|
+
displayName: "Linode",
|
|
810
|
+
description: "Cloud computing and hosting",
|
|
811
|
+
category: "Developer Tools",
|
|
812
|
+
tags: ["cloud", "hosting", "vps"]
|
|
813
|
+
},
|
|
814
|
+
{
|
|
815
|
+
name: "mailgun",
|
|
816
|
+
displayName: "Mailgun",
|
|
817
|
+
description: "Email delivery API",
|
|
818
|
+
category: "Communication",
|
|
819
|
+
tags: ["email", "api", "transactional"]
|
|
820
|
+
},
|
|
821
|
+
{
|
|
822
|
+
name: "pusher",
|
|
823
|
+
displayName: "Pusher",
|
|
824
|
+
description: "Realtime messaging and channels",
|
|
825
|
+
category: "Communication",
|
|
826
|
+
tags: ["realtime", "websockets", "messaging"]
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
name: "ably",
|
|
830
|
+
displayName: "Ably",
|
|
831
|
+
description: "Realtime messaging infrastructure",
|
|
832
|
+
category: "Communication",
|
|
833
|
+
tags: ["realtime", "messaging", "pubsub"]
|
|
834
|
+
},
|
|
835
|
+
{
|
|
836
|
+
name: "vonage",
|
|
837
|
+
displayName: "Vonage",
|
|
838
|
+
description: "SMS, voice, and messaging APIs",
|
|
839
|
+
category: "Communication",
|
|
840
|
+
tags: ["sms", "voice", "messaging"]
|
|
841
|
+
},
|
|
842
|
+
{
|
|
843
|
+
name: "messagebird",
|
|
844
|
+
displayName: "MessageBird",
|
|
845
|
+
description: "Omnichannel messaging platform",
|
|
846
|
+
category: "Communication",
|
|
847
|
+
tags: ["sms", "messaging", "omnichannel"]
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
name: "pipedrive",
|
|
851
|
+
displayName: "Pipedrive",
|
|
852
|
+
description: "Sales CRM and pipeline management",
|
|
853
|
+
category: "Business Tools",
|
|
854
|
+
tags: ["crm", "sales", "pipeline"]
|
|
855
|
+
},
|
|
856
|
+
{
|
|
857
|
+
name: "clearbit",
|
|
858
|
+
displayName: "Clearbit",
|
|
859
|
+
description: "Business intelligence and data enrichment",
|
|
860
|
+
category: "Data & Analytics",
|
|
861
|
+
tags: ["enrichment", "data", "b2b"]
|
|
862
|
+
},
|
|
863
|
+
{
|
|
864
|
+
name: "coda",
|
|
865
|
+
displayName: "Coda",
|
|
866
|
+
description: "Docs, tables, and automations",
|
|
867
|
+
category: "Business Tools",
|
|
868
|
+
tags: ["docs", "tables", "automation"]
|
|
869
|
+
},
|
|
870
|
+
{
|
|
871
|
+
name: "monday",
|
|
872
|
+
displayName: "Monday.com",
|
|
873
|
+
description: "Work management and project tracking",
|
|
874
|
+
category: "Business Tools",
|
|
875
|
+
tags: ["project-management", "workflow"]
|
|
876
|
+
},
|
|
877
|
+
{
|
|
878
|
+
name: "dropbox",
|
|
879
|
+
displayName: "Dropbox",
|
|
880
|
+
description: "Cloud file storage and sharing",
|
|
881
|
+
category: "Business Tools",
|
|
882
|
+
tags: ["storage", "files", "sharing"]
|
|
883
|
+
},
|
|
884
|
+
{
|
|
885
|
+
name: "box",
|
|
886
|
+
displayName: "Box",
|
|
887
|
+
description: "Enterprise content management",
|
|
888
|
+
category: "Business Tools",
|
|
889
|
+
tags: ["storage", "enterprise", "content"]
|
|
890
|
+
},
|
|
891
|
+
{
|
|
892
|
+
name: "miro",
|
|
893
|
+
displayName: "Miro",
|
|
894
|
+
description: "Visual collaboration and whiteboarding",
|
|
895
|
+
category: "Business Tools",
|
|
896
|
+
tags: ["whiteboard", "collaboration", "design"]
|
|
806
897
|
}
|
|
807
898
|
];
|
|
808
899
|
function getConnector(name) {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# API Credentials
|
|
2
|
+
# TODO: Update variable names and instructions for your API
|
|
3
|
+
# Example: PERPLEXITY_API_KEY, OPENAI_API_KEY, etc.
|
|
4
|
+
|
|
5
|
+
CONNECTOR_API_KEY=your-api-key-here
|
|
6
|
+
|
|
7
|
+
# Optional: API secret (if your API requires it)
|
|
8
|
+
# CONNECTOR_API_SECRET=your-api-secret-here
|
|
9
|
+
|
|
10
|
+
# Optional: Custom base URL (if needed)
|
|
11
|
+
# CONNECTOR_BASE_URL=https://api.example.com
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
connect-ably is a TypeScript connector for the Ably REST API. It provides a CLI and library for publishing messages, managing channels, querying presence, and retrieving statistics via the Ably platform.
|
|
8
|
+
|
|
9
|
+
## Build & Run Commands
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
bun install # Install dependencies
|
|
13
|
+
bun run dev # Run CLI in development
|
|
14
|
+
bun run build # Build for distribution
|
|
15
|
+
bun run typecheck # Type check
|
|
16
|
+
|
|
17
|
+
# Run specific commands
|
|
18
|
+
bun run dev config show
|
|
19
|
+
bun run dev messages publish my-channel --name greeting --data '{"text":"hello"}'
|
|
20
|
+
bun run dev messages history my-channel
|
|
21
|
+
bun run dev channels list
|
|
22
|
+
bun run dev channels get my-channel
|
|
23
|
+
bun run dev presence get my-channel
|
|
24
|
+
bun run dev presence history my-channel
|
|
25
|
+
bun run dev stats get
|
|
26
|
+
bun run dev stats time
|
|
27
|
+
bun run dev profile list
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Code Style
|
|
31
|
+
|
|
32
|
+
- TypeScript with strict mode
|
|
33
|
+
- ESM modules (type: module)
|
|
34
|
+
- Use async/await for all async operations
|
|
35
|
+
- Minimal dependencies: commander, chalk only
|
|
36
|
+
- Type annotations required everywhere
|
|
37
|
+
|
|
38
|
+
## Project Structure
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
src/
|
|
42
|
+
├── api/
|
|
43
|
+
│ ├── client.ts # HTTP client with Basic auth, retry, timeout
|
|
44
|
+
│ ├── messages.ts # Messages API (publish, history)
|
|
45
|
+
│ ├── channels.ts # Channels API (list, get)
|
|
46
|
+
│ ├── presence.ts # Presence API (get, history)
|
|
47
|
+
│ ├── stats.ts # Stats API (get, time)
|
|
48
|
+
│ └── index.ts # Main Connector class
|
|
49
|
+
├── cli/
|
|
50
|
+
│ └── index.ts # CLI commands
|
|
51
|
+
├── types/
|
|
52
|
+
│ └── index.ts # Type definitions
|
|
53
|
+
├── utils/
|
|
54
|
+
│ ├── auth.ts # OAuth2 authentication
|
|
55
|
+
│ ├── bulk.ts # Bulk operation utilities
|
|
56
|
+
│ ├── config.ts # Multi-profile configuration
|
|
57
|
+
│ ├── output.ts # CLI output formatting
|
|
58
|
+
│ ├── settings.ts # User preferences storage
|
|
59
|
+
│ └── storage.ts # Local data storage
|
|
60
|
+
├── index.ts # Library exports
|
|
61
|
+
scripts/
|
|
62
|
+
└── release.ts # Release automation
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## API Details
|
|
66
|
+
|
|
67
|
+
- **Base URL**: `https://rest.ably.io`
|
|
68
|
+
- **Auth**: HTTP Basic Auth with API key (`Authorization: Basic base64(apiKey)`)
|
|
69
|
+
- **API Key Format**: `appId.keyId:keySecret`
|
|
70
|
+
- **Endpoints**:
|
|
71
|
+
- `POST /channels/{channelId}/messages` - Publish a message
|
|
72
|
+
- `GET /channels/{channelId}/messages` - Message history
|
|
73
|
+
- `GET /channels` - List active channels
|
|
74
|
+
- `GET /channels/{channelId}` - Get channel details
|
|
75
|
+
- `GET /channels/{channelId}/presence` - Current presence members
|
|
76
|
+
- `GET /channels/{channelId}/presence/history` - Presence history
|
|
77
|
+
- `GET /stats` - Application statistics
|
|
78
|
+
- `GET /time` - Server time
|
|
79
|
+
|
|
80
|
+
## Environment Variables
|
|
81
|
+
|
|
82
|
+
| Variable | Description |
|
|
83
|
+
|----------|-------------|
|
|
84
|
+
| `ABLY_API_KEY` | API key (overrides profile) |
|
|
85
|
+
| `ABLY_TOKEN` | Token (alias for API key) |
|
|
86
|
+
| `ABLY_API_SECRET` | API secret (optional) |
|
|
87
|
+
|
|
88
|
+
## CLI Global Flags
|
|
89
|
+
|
|
90
|
+
| Flag | Description |
|
|
91
|
+
|------|-------------|
|
|
92
|
+
| `-k, --api-key <key>` | Override API key for this command |
|
|
93
|
+
| `-p, --profile <name>` | Use specific profile |
|
|
94
|
+
| `-f, --format <format>` | Output format (json, pretty) |
|
|
95
|
+
| `-v, --verbose` | Enable debug output |
|
|
96
|
+
|
|
97
|
+
## Data Storage
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
~/.connect/connect-ably/
|
|
101
|
+
├── current_profile # Active profile name
|
|
102
|
+
├── settings.json # User preferences
|
|
103
|
+
└── profiles/
|
|
104
|
+
├── default.json # Default profile
|
|
105
|
+
└── {name}.json # Named profiles
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Dependencies
|
|
109
|
+
|
|
110
|
+
- commander: CLI framework
|
|
111
|
+
- chalk: Terminal styling
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# scaffold-connector
|
|
2
|
+
|
|
3
|
+
A TypeScript scaffold for building API connector CLIs with multi-profile support.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- Multi-profile configuration (switch between different API keys/accounts)
|
|
8
|
+
- Bearer token authentication (easily customizable)
|
|
9
|
+
- Clean CLI structure with Commander.js
|
|
10
|
+
- Pretty and JSON output formats
|
|
11
|
+
- TypeScript with strict mode
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
### 1. Clone and Rename
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Clone for your connector
|
|
19
|
+
git clone https://github.com/hasna/scaffold-connector.git connect-yourapi
|
|
20
|
+
cd connect-yourapi
|
|
21
|
+
|
|
22
|
+
# Update package.json name
|
|
23
|
+
# Change "@hasna/scaffold-connector" to "@hasna/connect-yourapi"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### 2. Update Configuration
|
|
27
|
+
|
|
28
|
+
Search for `TODO` comments throughout the codebase and update:
|
|
29
|
+
|
|
30
|
+
- `src/cli/index.ts` - Update `CONNECTOR_NAME` and description
|
|
31
|
+
- `src/utils/config.ts` - Update `CONNECTOR_NAME` and env var names
|
|
32
|
+
- `src/api/client.ts` - Update `DEFAULT_BASE_URL` and authentication method
|
|
33
|
+
- `src/api/index.ts` - Rename `Connector` class to your API name
|
|
34
|
+
- `src/types/index.ts` - Add your API's type definitions
|
|
35
|
+
- `package.json` - Update name, description, bin command
|
|
36
|
+
- `.env.example` - Update environment variable names
|
|
37
|
+
|
|
38
|
+
### 3. Install and Test
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Install dependencies
|
|
42
|
+
bun install
|
|
43
|
+
|
|
44
|
+
# Run CLI
|
|
45
|
+
bun run dev
|
|
46
|
+
|
|
47
|
+
# Or run specific commands
|
|
48
|
+
bun run dev profile list
|
|
49
|
+
bun run dev config show
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## CLI Structure
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
connector [options] [command]
|
|
56
|
+
|
|
57
|
+
Options:
|
|
58
|
+
-k, --api-key <key> API key (overrides config)
|
|
59
|
+
-f, --format <format> Output format (json, pretty)
|
|
60
|
+
-p, --profile <profile> Use a specific profile
|
|
61
|
+
|
|
62
|
+
Commands:
|
|
63
|
+
profile list List all profiles
|
|
64
|
+
profile use <name> Switch to a profile
|
|
65
|
+
profile create <name> Create a new profile
|
|
66
|
+
profile delete <name> Delete a profile
|
|
67
|
+
profile show [name] Show profile configuration
|
|
68
|
+
|
|
69
|
+
config set-key <key> Set API key for active profile
|
|
70
|
+
config show Show current configuration
|
|
71
|
+
config clear Clear configuration
|
|
72
|
+
|
|
73
|
+
example list Example API command (replace)
|
|
74
|
+
example get <id> Example API command (replace)
|
|
75
|
+
example create Example API command (replace)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Project Structure
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
src/
|
|
82
|
+
├── api/
|
|
83
|
+
│ ├── client.ts # HTTP client with authentication
|
|
84
|
+
│ ├── example.ts # Example API module (replace with your API)
|
|
85
|
+
│ └── index.ts # Main connector class
|
|
86
|
+
├── cli/
|
|
87
|
+
│ └── index.ts # CLI commands
|
|
88
|
+
├── types/
|
|
89
|
+
│ └── index.ts # Type definitions
|
|
90
|
+
├── utils/
|
|
91
|
+
│ ├── config.ts # Multi-profile configuration
|
|
92
|
+
│ └── output.ts # CLI output formatting
|
|
93
|
+
└── index.ts # Library exports
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Multi-Profile Configuration
|
|
97
|
+
|
|
98
|
+
Profiles are stored in `~/.connect/{connector-name}/profiles/`:
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
~/.connect/connector/
|
|
102
|
+
├── current_profile # Name of active profile
|
|
103
|
+
└── profiles/
|
|
104
|
+
├── default.json # Default profile
|
|
105
|
+
├── work.json # Named profile
|
|
106
|
+
└── personal.json # Named profile
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Profile Commands
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Create profiles
|
|
113
|
+
connector profile create work --api-key sk-xxx --use
|
|
114
|
+
connector profile create personal --api-key sk-yyy
|
|
115
|
+
|
|
116
|
+
# Switch profiles
|
|
117
|
+
connector profile use work
|
|
118
|
+
|
|
119
|
+
# Use profile for single command
|
|
120
|
+
connector -p personal example list
|
|
121
|
+
|
|
122
|
+
# List profiles
|
|
123
|
+
connector profile list
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Customizing Authentication
|
|
127
|
+
|
|
128
|
+
Edit `src/api/client.ts` to change authentication:
|
|
129
|
+
|
|
130
|
+
```typescript
|
|
131
|
+
// Bearer token (default)
|
|
132
|
+
'Authorization': `Bearer ${this.apiKey}`,
|
|
133
|
+
|
|
134
|
+
// API Key header
|
|
135
|
+
'X-API-Key': this.apiKey,
|
|
136
|
+
|
|
137
|
+
// Basic auth
|
|
138
|
+
'Authorization': `Basic ${Buffer.from(`${this.apiKey}:${this.apiSecret}`).toString('base64')}`,
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Adding API Endpoints
|
|
142
|
+
|
|
143
|
+
1. Create a new file in `src/api/` (e.g., `users.ts`)
|
|
144
|
+
2. Export it from `src/api/index.ts`
|
|
145
|
+
3. Add types in `src/types/index.ts`
|
|
146
|
+
4. Add CLI commands in `src/cli/index.ts`
|
|
147
|
+
|
|
148
|
+
Example API module:
|
|
149
|
+
|
|
150
|
+
```typescript
|
|
151
|
+
// src/api/users.ts
|
|
152
|
+
import type { ConnectorClient } from './client';
|
|
153
|
+
|
|
154
|
+
export class UsersApi {
|
|
155
|
+
constructor(private readonly client: ConnectorClient) {}
|
|
156
|
+
|
|
157
|
+
async list(options?: { limit?: number }) {
|
|
158
|
+
return this.client.get('/users', { limit: options?.limit });
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
async get(id: string) {
|
|
162
|
+
return this.client.get(`/users/${id}`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Environment Variables
|
|
168
|
+
|
|
169
|
+
| Variable | Description |
|
|
170
|
+
|----------|-------------|
|
|
171
|
+
| `CONNECTOR_API_KEY` | API key (overrides profile config) |
|
|
172
|
+
| `CONNECTOR_API_SECRET` | API secret (optional) |
|
|
173
|
+
| `CONNECTOR_BASE_URL` | Override base URL (optional) |
|
|
174
|
+
|
|
175
|
+
## Development
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
# Install dependencies
|
|
179
|
+
bun install
|
|
180
|
+
|
|
181
|
+
# Run CLI in development
|
|
182
|
+
bun run dev
|
|
183
|
+
|
|
184
|
+
# Build for distribution
|
|
185
|
+
bun run build
|
|
186
|
+
|
|
187
|
+
# Type check
|
|
188
|
+
bun run typecheck
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## License
|
|
192
|
+
|
|
193
|
+
MIT
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hasna/connect-ably",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Ably REST API connector",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"connect-ably": "./bin/index.js"
|
|
8
|
+
},
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"types": "./dist/index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"main": "./dist/index.js",
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "bun build ./src/index.ts --outdir ./dist --target bun && bun build ./src/cli/index.ts --outdir ./bin --target bun",
|
|
19
|
+
"dev": "bun run ./src/cli/index.ts",
|
|
20
|
+
"typecheck": "tsc --noEmit",
|
|
21
|
+
"prepublishOnly": "bun run build",
|
|
22
|
+
"release": "bun run scripts/release.ts",
|
|
23
|
+
"release:dry": "bun run scripts/release.ts --dry-run"
|
|
24
|
+
},
|
|
25
|
+
"keywords": [
|
|
26
|
+
"api",
|
|
27
|
+
"connector",
|
|
28
|
+
"ably",
|
|
29
|
+
"realtime",
|
|
30
|
+
"messaging",
|
|
31
|
+
"pubsub",
|
|
32
|
+
"channels",
|
|
33
|
+
"cli",
|
|
34
|
+
"typescript",
|
|
35
|
+
"bun"
|
|
36
|
+
],
|
|
37
|
+
"author": "Hasna",
|
|
38
|
+
"license": "Apache-2.0",
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@types/bun": "latest",
|
|
41
|
+
"typescript": "^5"
|
|
42
|
+
},
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"commander": "^12.1.0",
|
|
45
|
+
"chalk": "^5.3.0"
|
|
46
|
+
},
|
|
47
|
+
"engines": {
|
|
48
|
+
"bun": ">=1.0.0"
|
|
49
|
+
},
|
|
50
|
+
"repository": {
|
|
51
|
+
"type": "git",
|
|
52
|
+
"url": "git+https://github.com/hasna/connectors.git"
|
|
53
|
+
}
|
|
54
|
+
}
|