integrate-sdk 0.8.28 → 0.8.29-dev.0
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/dist/adapters/auto-routes.js +177 -0
- package/dist/adapters/index.js +177 -0
- package/dist/adapters/nextjs.js +177 -0
- package/dist/adapters/node.js +177 -0
- package/dist/adapters/svelte-kit.js +177 -0
- package/dist/adapters/tanstack-start.js +177 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +194 -1
- package/dist/oauth.js +177 -0
- package/dist/server.js +181 -0
- package/dist/src/client.d.ts +5 -1
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/integrations/linear-client.d.ts +309 -0
- package/dist/src/integrations/linear-client.d.ts.map +1 -0
- package/dist/src/integrations/linear.d.ts +37 -0
- package/dist/src/integrations/linear.d.ts.map +1 -0
- package/dist/src/integrations/slack-client.d.ts +271 -0
- package/dist/src/integrations/slack-client.d.ts.map +1 -0
- package/dist/src/integrations/slack.d.ts +37 -0
- package/dist/src/integrations/slack.d.ts.map +1 -0
- package/dist/src/integrations/vercel-client.d.ts +278 -0
- package/dist/src/integrations/vercel-client.d.ts.map +1 -0
- package/dist/src/integrations/vercel.d.ts +37 -0
- package/dist/src/integrations/vercel.d.ts.map +1 -0
- package/dist/src/integrations/zendesk-client.d.ts +395 -0
- package/dist/src/integrations/zendesk-client.d.ts.map +1 -0
- package/dist/src/integrations/zendesk.d.ts +39 -0
- package/dist/src/integrations/zendesk.d.ts.map +1 -0
- package/dist/src/server.d.ts +4 -0
- package/dist/src/server.d.ts.map +1 -1
- package/index.ts +8 -0
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1654,6 +1654,18 @@ class MCPClientBase {
|
|
|
1654
1654
|
if (integrationIds.includes("notion")) {
|
|
1655
1655
|
this.notion = this.createIntegrationProxy("notion");
|
|
1656
1656
|
}
|
|
1657
|
+
if (integrationIds.includes("slack")) {
|
|
1658
|
+
this.slack = this.createIntegrationProxy("slack");
|
|
1659
|
+
}
|
|
1660
|
+
if (integrationIds.includes("linear")) {
|
|
1661
|
+
this.linear = this.createIntegrationProxy("linear");
|
|
1662
|
+
}
|
|
1663
|
+
if (integrationIds.includes("vercel")) {
|
|
1664
|
+
this.vercel = this.createIntegrationProxy("vercel");
|
|
1665
|
+
}
|
|
1666
|
+
if (integrationIds.includes("zendesk")) {
|
|
1667
|
+
this.zendesk = this.createIntegrationProxy("zendesk");
|
|
1668
|
+
}
|
|
1657
1669
|
this.server = this.createServerProxy();
|
|
1658
1670
|
this.initializeIntegrations();
|
|
1659
1671
|
}
|
|
@@ -2680,6 +2692,163 @@ var init_notion = __esm(() => {
|
|
|
2680
2692
|
];
|
|
2681
2693
|
});
|
|
2682
2694
|
|
|
2695
|
+
// src/integrations/slack.ts
|
|
2696
|
+
function slackIntegration(config = {}) {
|
|
2697
|
+
const oauth = {
|
|
2698
|
+
provider: "slack",
|
|
2699
|
+
clientId: config.clientId ?? getEnv("SLACK_CLIENT_ID"),
|
|
2700
|
+
clientSecret: config.clientSecret ?? getEnv("SLACK_CLIENT_SECRET"),
|
|
2701
|
+
scopes: config.scopes || ["chat:write", "channels:read", "users:read", "search:read", "files:write"],
|
|
2702
|
+
redirectUri: config.redirectUri,
|
|
2703
|
+
config: {
|
|
2704
|
+
...config
|
|
2705
|
+
}
|
|
2706
|
+
};
|
|
2707
|
+
return {
|
|
2708
|
+
id: "slack",
|
|
2709
|
+
tools: [...SLACK_TOOLS],
|
|
2710
|
+
oauth,
|
|
2711
|
+
async onInit(_client) {
|
|
2712
|
+
console.log("Slack integration initialized");
|
|
2713
|
+
},
|
|
2714
|
+
async onAfterConnect(_client) {
|
|
2715
|
+
console.log("Slack integration connected");
|
|
2716
|
+
}
|
|
2717
|
+
};
|
|
2718
|
+
}
|
|
2719
|
+
var SLACK_TOOLS;
|
|
2720
|
+
var init_slack = __esm(() => {
|
|
2721
|
+
SLACK_TOOLS = [
|
|
2722
|
+
"slack_send_message",
|
|
2723
|
+
"slack_list_channels",
|
|
2724
|
+
"slack_get_channel",
|
|
2725
|
+
"slack_list_users",
|
|
2726
|
+
"slack_get_user",
|
|
2727
|
+
"slack_list_messages",
|
|
2728
|
+
"slack_add_reaction",
|
|
2729
|
+
"slack_search_messages",
|
|
2730
|
+
"slack_upload_file"
|
|
2731
|
+
];
|
|
2732
|
+
});
|
|
2733
|
+
|
|
2734
|
+
// src/integrations/linear.ts
|
|
2735
|
+
function linearIntegration(config = {}) {
|
|
2736
|
+
const oauth = {
|
|
2737
|
+
provider: "linear",
|
|
2738
|
+
clientId: config.clientId ?? getEnv("LINEAR_CLIENT_ID"),
|
|
2739
|
+
clientSecret: config.clientSecret ?? getEnv("LINEAR_CLIENT_SECRET"),
|
|
2740
|
+
scopes: config.scopes || ["read", "write", "issues:create"],
|
|
2741
|
+
redirectUri: config.redirectUri,
|
|
2742
|
+
config: {
|
|
2743
|
+
...config
|
|
2744
|
+
}
|
|
2745
|
+
};
|
|
2746
|
+
return {
|
|
2747
|
+
id: "linear",
|
|
2748
|
+
tools: [...LINEAR_TOOLS],
|
|
2749
|
+
oauth,
|
|
2750
|
+
async onInit(_client) {
|
|
2751
|
+
console.log("Linear integration initialized");
|
|
2752
|
+
},
|
|
2753
|
+
async onAfterConnect(_client) {
|
|
2754
|
+
console.log("Linear integration connected");
|
|
2755
|
+
}
|
|
2756
|
+
};
|
|
2757
|
+
}
|
|
2758
|
+
var LINEAR_TOOLS;
|
|
2759
|
+
var init_linear = __esm(() => {
|
|
2760
|
+
LINEAR_TOOLS = [
|
|
2761
|
+
"linear_create_issue",
|
|
2762
|
+
"linear_list_issues",
|
|
2763
|
+
"linear_get_issue",
|
|
2764
|
+
"linear_update_issue",
|
|
2765
|
+
"linear_list_projects",
|
|
2766
|
+
"linear_list_teams",
|
|
2767
|
+
"linear_add_comment",
|
|
2768
|
+
"linear_list_labels",
|
|
2769
|
+
"linear_search_issues"
|
|
2770
|
+
];
|
|
2771
|
+
});
|
|
2772
|
+
|
|
2773
|
+
// src/integrations/vercel.ts
|
|
2774
|
+
function vercelIntegration(config = {}) {
|
|
2775
|
+
const oauth = {
|
|
2776
|
+
provider: "vercel",
|
|
2777
|
+
clientId: config.clientId ?? getEnv("VERCEL_CLIENT_ID"),
|
|
2778
|
+
clientSecret: config.clientSecret ?? getEnv("VERCEL_CLIENT_SECRET"),
|
|
2779
|
+
scopes: config.scopes || [],
|
|
2780
|
+
redirectUri: config.redirectUri,
|
|
2781
|
+
config: {
|
|
2782
|
+
...config
|
|
2783
|
+
}
|
|
2784
|
+
};
|
|
2785
|
+
return {
|
|
2786
|
+
id: "vercel",
|
|
2787
|
+
tools: [...VERCEL_TOOLS],
|
|
2788
|
+
oauth,
|
|
2789
|
+
async onInit(_client) {
|
|
2790
|
+
console.log("Vercel integration initialized");
|
|
2791
|
+
},
|
|
2792
|
+
async onAfterConnect(_client) {
|
|
2793
|
+
console.log("Vercel integration connected");
|
|
2794
|
+
}
|
|
2795
|
+
};
|
|
2796
|
+
}
|
|
2797
|
+
var VERCEL_TOOLS;
|
|
2798
|
+
var init_vercel = __esm(() => {
|
|
2799
|
+
VERCEL_TOOLS = [
|
|
2800
|
+
"vercel_list_projects",
|
|
2801
|
+
"vercel_get_project",
|
|
2802
|
+
"vercel_list_deployments",
|
|
2803
|
+
"vercel_get_deployment",
|
|
2804
|
+
"vercel_create_deployment",
|
|
2805
|
+
"vercel_cancel_deployment",
|
|
2806
|
+
"vercel_list_domains",
|
|
2807
|
+
"vercel_list_env_vars",
|
|
2808
|
+
"vercel_get_deployment_logs"
|
|
2809
|
+
];
|
|
2810
|
+
});
|
|
2811
|
+
|
|
2812
|
+
// src/integrations/zendesk.ts
|
|
2813
|
+
function zendeskIntegration(config = {}) {
|
|
2814
|
+
const oauth = {
|
|
2815
|
+
provider: "zendesk",
|
|
2816
|
+
clientId: config.clientId ?? getEnv("ZENDESK_CLIENT_ID"),
|
|
2817
|
+
clientSecret: config.clientSecret ?? getEnv("ZENDESK_CLIENT_SECRET"),
|
|
2818
|
+
scopes: config.scopes || ["read", "write"],
|
|
2819
|
+
redirectUri: config.redirectUri,
|
|
2820
|
+
config: {
|
|
2821
|
+
subdomain: config.subdomain ?? getEnv("ZENDESK_SUBDOMAIN"),
|
|
2822
|
+
...config
|
|
2823
|
+
}
|
|
2824
|
+
};
|
|
2825
|
+
return {
|
|
2826
|
+
id: "zendesk",
|
|
2827
|
+
tools: [...ZENDESK_TOOLS],
|
|
2828
|
+
oauth,
|
|
2829
|
+
async onInit(_client) {
|
|
2830
|
+
console.log("Zendesk integration initialized");
|
|
2831
|
+
},
|
|
2832
|
+
async onAfterConnect(_client) {
|
|
2833
|
+
console.log("Zendesk integration connected");
|
|
2834
|
+
}
|
|
2835
|
+
};
|
|
2836
|
+
}
|
|
2837
|
+
var ZENDESK_TOOLS;
|
|
2838
|
+
var init_zendesk = __esm(() => {
|
|
2839
|
+
ZENDESK_TOOLS = [
|
|
2840
|
+
"zendesk_list_tickets",
|
|
2841
|
+
"zendesk_get_ticket",
|
|
2842
|
+
"zendesk_create_ticket",
|
|
2843
|
+
"zendesk_update_ticket",
|
|
2844
|
+
"zendesk_add_comment",
|
|
2845
|
+
"zendesk_list_users",
|
|
2846
|
+
"zendesk_get_user",
|
|
2847
|
+
"zendesk_search_tickets",
|
|
2848
|
+
"zendesk_list_organizations"
|
|
2849
|
+
];
|
|
2850
|
+
});
|
|
2851
|
+
|
|
2683
2852
|
// src/integrations/generic.ts
|
|
2684
2853
|
function genericOAuthIntegration(config) {
|
|
2685
2854
|
const providerUpper = config.provider.toUpperCase().replace(/[^A-Z0-9]/g, "_");
|
|
@@ -7177,11 +7346,15 @@ var init_ai = __esm(() => {
|
|
|
7177
7346
|
// src/server.ts
|
|
7178
7347
|
var exports_server = {};
|
|
7179
7348
|
__export(exports_server, {
|
|
7349
|
+
zendeskIntegration: () => zendeskIntegration,
|
|
7350
|
+
vercelIntegration: () => vercelIntegration,
|
|
7180
7351
|
toSvelteKitHandler: () => toSvelteKitHandler,
|
|
7181
7352
|
toSolidStartHandler: () => toSolidStartHandler,
|
|
7182
7353
|
toNextJsHandler: () => toNextJsHandler,
|
|
7183
7354
|
storeCodeVerifier: () => storeCodeVerifier,
|
|
7355
|
+
slackIntegration: () => slackIntegration,
|
|
7184
7356
|
notionIntegration: () => notionIntegration,
|
|
7357
|
+
linearIntegration: () => linearIntegration,
|
|
7185
7358
|
handleOpenAIResponse: () => handleOpenAIResponse,
|
|
7186
7359
|
handleAnthropicMessage: () => handleAnthropicMessage,
|
|
7187
7360
|
gmailIntegration: () => gmailIntegration,
|
|
@@ -7712,6 +7885,10 @@ var init_server = __esm(() => {
|
|
|
7712
7885
|
init_github();
|
|
7713
7886
|
init_gmail();
|
|
7714
7887
|
init_notion();
|
|
7888
|
+
init_slack();
|
|
7889
|
+
init_linear();
|
|
7890
|
+
init_vercel();
|
|
7891
|
+
init_zendesk();
|
|
7715
7892
|
init_generic();
|
|
7716
7893
|
init_vercel_ai();
|
|
7717
7894
|
init_openai();
|
|
@@ -8360,6 +8537,10 @@ init_errors();
|
|
|
8360
8537
|
init_github();
|
|
8361
8538
|
init_gmail();
|
|
8362
8539
|
init_notion();
|
|
8540
|
+
init_slack();
|
|
8541
|
+
init_linear();
|
|
8542
|
+
init_vercel();
|
|
8543
|
+
init_zendesk();
|
|
8363
8544
|
init_generic();
|
|
8364
8545
|
init_messages();
|
|
8365
8546
|
init_http_session();
|
|
@@ -8369,23 +8550,35 @@ init_client();
|
|
|
8369
8550
|
init_github();
|
|
8370
8551
|
init_gmail();
|
|
8371
8552
|
init_notion();
|
|
8553
|
+
init_slack();
|
|
8554
|
+
init_linear();
|
|
8555
|
+
init_vercel();
|
|
8556
|
+
init_zendesk();
|
|
8372
8557
|
var client = createMCPClient({
|
|
8373
8558
|
integrations: [
|
|
8374
8559
|
githubIntegration(),
|
|
8375
8560
|
gmailIntegration(),
|
|
8376
|
-
notionIntegration()
|
|
8561
|
+
notionIntegration(),
|
|
8562
|
+
slackIntegration(),
|
|
8563
|
+
linearIntegration(),
|
|
8564
|
+
vercelIntegration(),
|
|
8565
|
+
zendeskIntegration()
|
|
8377
8566
|
]
|
|
8378
8567
|
});
|
|
8379
8568
|
export {
|
|
8569
|
+
zendeskIntegration,
|
|
8570
|
+
vercelIntegration,
|
|
8380
8571
|
toWebRequest,
|
|
8381
8572
|
toTanStackStartHandler,
|
|
8382
8573
|
toSvelteKitHandler,
|
|
8383
8574
|
toSolidStartHandler,
|
|
8384
8575
|
svelteKitHandler,
|
|
8576
|
+
slackIntegration,
|
|
8385
8577
|
sendCallbackToOpener,
|
|
8386
8578
|
parseState,
|
|
8387
8579
|
parseServerError,
|
|
8388
8580
|
notionIntegration,
|
|
8581
|
+
linearIntegration,
|
|
8389
8582
|
isTokenExpiredError,
|
|
8390
8583
|
isAuthorizationError,
|
|
8391
8584
|
isAuthError,
|
package/dist/oauth.js
CHANGED
|
@@ -1626,6 +1626,18 @@ class MCPClientBase {
|
|
|
1626
1626
|
if (integrationIds.includes("notion")) {
|
|
1627
1627
|
this.notion = this.createIntegrationProxy("notion");
|
|
1628
1628
|
}
|
|
1629
|
+
if (integrationIds.includes("slack")) {
|
|
1630
|
+
this.slack = this.createIntegrationProxy("slack");
|
|
1631
|
+
}
|
|
1632
|
+
if (integrationIds.includes("linear")) {
|
|
1633
|
+
this.linear = this.createIntegrationProxy("linear");
|
|
1634
|
+
}
|
|
1635
|
+
if (integrationIds.includes("vercel")) {
|
|
1636
|
+
this.vercel = this.createIntegrationProxy("vercel");
|
|
1637
|
+
}
|
|
1638
|
+
if (integrationIds.includes("zendesk")) {
|
|
1639
|
+
this.zendesk = this.createIntegrationProxy("zendesk");
|
|
1640
|
+
}
|
|
1629
1641
|
this.server = this.createServerProxy();
|
|
1630
1642
|
this.initializeIntegrations();
|
|
1631
1643
|
}
|
|
@@ -2503,6 +2515,163 @@ var init_notion = __esm(() => {
|
|
|
2503
2515
|
];
|
|
2504
2516
|
});
|
|
2505
2517
|
|
|
2518
|
+
// src/integrations/slack.ts
|
|
2519
|
+
function slackIntegration(config = {}) {
|
|
2520
|
+
const oauth = {
|
|
2521
|
+
provider: "slack",
|
|
2522
|
+
clientId: config.clientId ?? getEnv("SLACK_CLIENT_ID"),
|
|
2523
|
+
clientSecret: config.clientSecret ?? getEnv("SLACK_CLIENT_SECRET"),
|
|
2524
|
+
scopes: config.scopes || ["chat:write", "channels:read", "users:read", "search:read", "files:write"],
|
|
2525
|
+
redirectUri: config.redirectUri,
|
|
2526
|
+
config: {
|
|
2527
|
+
...config
|
|
2528
|
+
}
|
|
2529
|
+
};
|
|
2530
|
+
return {
|
|
2531
|
+
id: "slack",
|
|
2532
|
+
tools: [...SLACK_TOOLS],
|
|
2533
|
+
oauth,
|
|
2534
|
+
async onInit(_client) {
|
|
2535
|
+
console.log("Slack integration initialized");
|
|
2536
|
+
},
|
|
2537
|
+
async onAfterConnect(_client) {
|
|
2538
|
+
console.log("Slack integration connected");
|
|
2539
|
+
}
|
|
2540
|
+
};
|
|
2541
|
+
}
|
|
2542
|
+
var SLACK_TOOLS;
|
|
2543
|
+
var init_slack = __esm(() => {
|
|
2544
|
+
SLACK_TOOLS = [
|
|
2545
|
+
"slack_send_message",
|
|
2546
|
+
"slack_list_channels",
|
|
2547
|
+
"slack_get_channel",
|
|
2548
|
+
"slack_list_users",
|
|
2549
|
+
"slack_get_user",
|
|
2550
|
+
"slack_list_messages",
|
|
2551
|
+
"slack_add_reaction",
|
|
2552
|
+
"slack_search_messages",
|
|
2553
|
+
"slack_upload_file"
|
|
2554
|
+
];
|
|
2555
|
+
});
|
|
2556
|
+
|
|
2557
|
+
// src/integrations/linear.ts
|
|
2558
|
+
function linearIntegration(config = {}) {
|
|
2559
|
+
const oauth = {
|
|
2560
|
+
provider: "linear",
|
|
2561
|
+
clientId: config.clientId ?? getEnv("LINEAR_CLIENT_ID"),
|
|
2562
|
+
clientSecret: config.clientSecret ?? getEnv("LINEAR_CLIENT_SECRET"),
|
|
2563
|
+
scopes: config.scopes || ["read", "write", "issues:create"],
|
|
2564
|
+
redirectUri: config.redirectUri,
|
|
2565
|
+
config: {
|
|
2566
|
+
...config
|
|
2567
|
+
}
|
|
2568
|
+
};
|
|
2569
|
+
return {
|
|
2570
|
+
id: "linear",
|
|
2571
|
+
tools: [...LINEAR_TOOLS],
|
|
2572
|
+
oauth,
|
|
2573
|
+
async onInit(_client) {
|
|
2574
|
+
console.log("Linear integration initialized");
|
|
2575
|
+
},
|
|
2576
|
+
async onAfterConnect(_client) {
|
|
2577
|
+
console.log("Linear integration connected");
|
|
2578
|
+
}
|
|
2579
|
+
};
|
|
2580
|
+
}
|
|
2581
|
+
var LINEAR_TOOLS;
|
|
2582
|
+
var init_linear = __esm(() => {
|
|
2583
|
+
LINEAR_TOOLS = [
|
|
2584
|
+
"linear_create_issue",
|
|
2585
|
+
"linear_list_issues",
|
|
2586
|
+
"linear_get_issue",
|
|
2587
|
+
"linear_update_issue",
|
|
2588
|
+
"linear_list_projects",
|
|
2589
|
+
"linear_list_teams",
|
|
2590
|
+
"linear_add_comment",
|
|
2591
|
+
"linear_list_labels",
|
|
2592
|
+
"linear_search_issues"
|
|
2593
|
+
];
|
|
2594
|
+
});
|
|
2595
|
+
|
|
2596
|
+
// src/integrations/vercel.ts
|
|
2597
|
+
function vercelIntegration(config = {}) {
|
|
2598
|
+
const oauth = {
|
|
2599
|
+
provider: "vercel",
|
|
2600
|
+
clientId: config.clientId ?? getEnv("VERCEL_CLIENT_ID"),
|
|
2601
|
+
clientSecret: config.clientSecret ?? getEnv("VERCEL_CLIENT_SECRET"),
|
|
2602
|
+
scopes: config.scopes || [],
|
|
2603
|
+
redirectUri: config.redirectUri,
|
|
2604
|
+
config: {
|
|
2605
|
+
...config
|
|
2606
|
+
}
|
|
2607
|
+
};
|
|
2608
|
+
return {
|
|
2609
|
+
id: "vercel",
|
|
2610
|
+
tools: [...VERCEL_TOOLS],
|
|
2611
|
+
oauth,
|
|
2612
|
+
async onInit(_client) {
|
|
2613
|
+
console.log("Vercel integration initialized");
|
|
2614
|
+
},
|
|
2615
|
+
async onAfterConnect(_client) {
|
|
2616
|
+
console.log("Vercel integration connected");
|
|
2617
|
+
}
|
|
2618
|
+
};
|
|
2619
|
+
}
|
|
2620
|
+
var VERCEL_TOOLS;
|
|
2621
|
+
var init_vercel = __esm(() => {
|
|
2622
|
+
VERCEL_TOOLS = [
|
|
2623
|
+
"vercel_list_projects",
|
|
2624
|
+
"vercel_get_project",
|
|
2625
|
+
"vercel_list_deployments",
|
|
2626
|
+
"vercel_get_deployment",
|
|
2627
|
+
"vercel_create_deployment",
|
|
2628
|
+
"vercel_cancel_deployment",
|
|
2629
|
+
"vercel_list_domains",
|
|
2630
|
+
"vercel_list_env_vars",
|
|
2631
|
+
"vercel_get_deployment_logs"
|
|
2632
|
+
];
|
|
2633
|
+
});
|
|
2634
|
+
|
|
2635
|
+
// src/integrations/zendesk.ts
|
|
2636
|
+
function zendeskIntegration(config = {}) {
|
|
2637
|
+
const oauth = {
|
|
2638
|
+
provider: "zendesk",
|
|
2639
|
+
clientId: config.clientId ?? getEnv("ZENDESK_CLIENT_ID"),
|
|
2640
|
+
clientSecret: config.clientSecret ?? getEnv("ZENDESK_CLIENT_SECRET"),
|
|
2641
|
+
scopes: config.scopes || ["read", "write"],
|
|
2642
|
+
redirectUri: config.redirectUri,
|
|
2643
|
+
config: {
|
|
2644
|
+
subdomain: config.subdomain ?? getEnv("ZENDESK_SUBDOMAIN"),
|
|
2645
|
+
...config
|
|
2646
|
+
}
|
|
2647
|
+
};
|
|
2648
|
+
return {
|
|
2649
|
+
id: "zendesk",
|
|
2650
|
+
tools: [...ZENDESK_TOOLS],
|
|
2651
|
+
oauth,
|
|
2652
|
+
async onInit(_client) {
|
|
2653
|
+
console.log("Zendesk integration initialized");
|
|
2654
|
+
},
|
|
2655
|
+
async onAfterConnect(_client) {
|
|
2656
|
+
console.log("Zendesk integration connected");
|
|
2657
|
+
}
|
|
2658
|
+
};
|
|
2659
|
+
}
|
|
2660
|
+
var ZENDESK_TOOLS;
|
|
2661
|
+
var init_zendesk = __esm(() => {
|
|
2662
|
+
ZENDESK_TOOLS = [
|
|
2663
|
+
"zendesk_list_tickets",
|
|
2664
|
+
"zendesk_get_ticket",
|
|
2665
|
+
"zendesk_create_ticket",
|
|
2666
|
+
"zendesk_update_ticket",
|
|
2667
|
+
"zendesk_add_comment",
|
|
2668
|
+
"zendesk_list_users",
|
|
2669
|
+
"zendesk_get_user",
|
|
2670
|
+
"zendesk_search_tickets",
|
|
2671
|
+
"zendesk_list_organizations"
|
|
2672
|
+
];
|
|
2673
|
+
});
|
|
2674
|
+
|
|
2506
2675
|
// src/integrations/generic.ts
|
|
2507
2676
|
function genericOAuthIntegration(config) {
|
|
2508
2677
|
const providerUpper = config.provider.toUpperCase().replace(/[^A-Z0-9]/g, "_");
|
|
@@ -7000,11 +7169,15 @@ var init_ai = __esm(() => {
|
|
|
7000
7169
|
// src/server.ts
|
|
7001
7170
|
var exports_server = {};
|
|
7002
7171
|
__export(exports_server, {
|
|
7172
|
+
zendeskIntegration: () => zendeskIntegration,
|
|
7173
|
+
vercelIntegration: () => vercelIntegration,
|
|
7003
7174
|
toSvelteKitHandler: () => toSvelteKitHandler,
|
|
7004
7175
|
toSolidStartHandler: () => toSolidStartHandler,
|
|
7005
7176
|
toNextJsHandler: () => toNextJsHandler,
|
|
7006
7177
|
storeCodeVerifier: () => storeCodeVerifier,
|
|
7178
|
+
slackIntegration: () => slackIntegration,
|
|
7007
7179
|
notionIntegration: () => notionIntegration,
|
|
7180
|
+
linearIntegration: () => linearIntegration,
|
|
7008
7181
|
handleOpenAIResponse: () => handleOpenAIResponse,
|
|
7009
7182
|
handleAnthropicMessage: () => handleAnthropicMessage,
|
|
7010
7183
|
gmailIntegration: () => gmailIntegration,
|
|
@@ -7535,6 +7708,10 @@ var init_server = __esm(() => {
|
|
|
7535
7708
|
init_github();
|
|
7536
7709
|
init_gmail();
|
|
7537
7710
|
init_notion();
|
|
7711
|
+
init_slack();
|
|
7712
|
+
init_linear();
|
|
7713
|
+
init_vercel();
|
|
7714
|
+
init_zendesk();
|
|
7538
7715
|
init_generic();
|
|
7539
7716
|
init_vercel_ai();
|
|
7540
7717
|
init_openai();
|
package/dist/server.js
CHANGED
|
@@ -1626,6 +1626,18 @@ class MCPClientBase {
|
|
|
1626
1626
|
if (integrationIds.includes("notion")) {
|
|
1627
1627
|
this.notion = this.createIntegrationProxy("notion");
|
|
1628
1628
|
}
|
|
1629
|
+
if (integrationIds.includes("slack")) {
|
|
1630
|
+
this.slack = this.createIntegrationProxy("slack");
|
|
1631
|
+
}
|
|
1632
|
+
if (integrationIds.includes("linear")) {
|
|
1633
|
+
this.linear = this.createIntegrationProxy("linear");
|
|
1634
|
+
}
|
|
1635
|
+
if (integrationIds.includes("vercel")) {
|
|
1636
|
+
this.vercel = this.createIntegrationProxy("vercel");
|
|
1637
|
+
}
|
|
1638
|
+
if (integrationIds.includes("zendesk")) {
|
|
1639
|
+
this.zendesk = this.createIntegrationProxy("zendesk");
|
|
1640
|
+
}
|
|
1629
1641
|
this.server = this.createServerProxy();
|
|
1630
1642
|
this.initializeIntegrations();
|
|
1631
1643
|
}
|
|
@@ -3061,6 +3073,163 @@ var init_notion = __esm(() => {
|
|
|
3061
3073
|
];
|
|
3062
3074
|
});
|
|
3063
3075
|
|
|
3076
|
+
// src/integrations/slack.ts
|
|
3077
|
+
function slackIntegration(config = {}) {
|
|
3078
|
+
const oauth = {
|
|
3079
|
+
provider: "slack",
|
|
3080
|
+
clientId: config.clientId ?? getEnv("SLACK_CLIENT_ID"),
|
|
3081
|
+
clientSecret: config.clientSecret ?? getEnv("SLACK_CLIENT_SECRET"),
|
|
3082
|
+
scopes: config.scopes || ["chat:write", "channels:read", "users:read", "search:read", "files:write"],
|
|
3083
|
+
redirectUri: config.redirectUri,
|
|
3084
|
+
config: {
|
|
3085
|
+
...config
|
|
3086
|
+
}
|
|
3087
|
+
};
|
|
3088
|
+
return {
|
|
3089
|
+
id: "slack",
|
|
3090
|
+
tools: [...SLACK_TOOLS],
|
|
3091
|
+
oauth,
|
|
3092
|
+
async onInit(_client) {
|
|
3093
|
+
console.log("Slack integration initialized");
|
|
3094
|
+
},
|
|
3095
|
+
async onAfterConnect(_client) {
|
|
3096
|
+
console.log("Slack integration connected");
|
|
3097
|
+
}
|
|
3098
|
+
};
|
|
3099
|
+
}
|
|
3100
|
+
var SLACK_TOOLS;
|
|
3101
|
+
var init_slack = __esm(() => {
|
|
3102
|
+
SLACK_TOOLS = [
|
|
3103
|
+
"slack_send_message",
|
|
3104
|
+
"slack_list_channels",
|
|
3105
|
+
"slack_get_channel",
|
|
3106
|
+
"slack_list_users",
|
|
3107
|
+
"slack_get_user",
|
|
3108
|
+
"slack_list_messages",
|
|
3109
|
+
"slack_add_reaction",
|
|
3110
|
+
"slack_search_messages",
|
|
3111
|
+
"slack_upload_file"
|
|
3112
|
+
];
|
|
3113
|
+
});
|
|
3114
|
+
|
|
3115
|
+
// src/integrations/linear.ts
|
|
3116
|
+
function linearIntegration(config = {}) {
|
|
3117
|
+
const oauth = {
|
|
3118
|
+
provider: "linear",
|
|
3119
|
+
clientId: config.clientId ?? getEnv("LINEAR_CLIENT_ID"),
|
|
3120
|
+
clientSecret: config.clientSecret ?? getEnv("LINEAR_CLIENT_SECRET"),
|
|
3121
|
+
scopes: config.scopes || ["read", "write", "issues:create"],
|
|
3122
|
+
redirectUri: config.redirectUri,
|
|
3123
|
+
config: {
|
|
3124
|
+
...config
|
|
3125
|
+
}
|
|
3126
|
+
};
|
|
3127
|
+
return {
|
|
3128
|
+
id: "linear",
|
|
3129
|
+
tools: [...LINEAR_TOOLS],
|
|
3130
|
+
oauth,
|
|
3131
|
+
async onInit(_client) {
|
|
3132
|
+
console.log("Linear integration initialized");
|
|
3133
|
+
},
|
|
3134
|
+
async onAfterConnect(_client) {
|
|
3135
|
+
console.log("Linear integration connected");
|
|
3136
|
+
}
|
|
3137
|
+
};
|
|
3138
|
+
}
|
|
3139
|
+
var LINEAR_TOOLS;
|
|
3140
|
+
var init_linear = __esm(() => {
|
|
3141
|
+
LINEAR_TOOLS = [
|
|
3142
|
+
"linear_create_issue",
|
|
3143
|
+
"linear_list_issues",
|
|
3144
|
+
"linear_get_issue",
|
|
3145
|
+
"linear_update_issue",
|
|
3146
|
+
"linear_list_projects",
|
|
3147
|
+
"linear_list_teams",
|
|
3148
|
+
"linear_add_comment",
|
|
3149
|
+
"linear_list_labels",
|
|
3150
|
+
"linear_search_issues"
|
|
3151
|
+
];
|
|
3152
|
+
});
|
|
3153
|
+
|
|
3154
|
+
// src/integrations/vercel.ts
|
|
3155
|
+
function vercelIntegration(config = {}) {
|
|
3156
|
+
const oauth = {
|
|
3157
|
+
provider: "vercel",
|
|
3158
|
+
clientId: config.clientId ?? getEnv("VERCEL_CLIENT_ID"),
|
|
3159
|
+
clientSecret: config.clientSecret ?? getEnv("VERCEL_CLIENT_SECRET"),
|
|
3160
|
+
scopes: config.scopes || [],
|
|
3161
|
+
redirectUri: config.redirectUri,
|
|
3162
|
+
config: {
|
|
3163
|
+
...config
|
|
3164
|
+
}
|
|
3165
|
+
};
|
|
3166
|
+
return {
|
|
3167
|
+
id: "vercel",
|
|
3168
|
+
tools: [...VERCEL_TOOLS],
|
|
3169
|
+
oauth,
|
|
3170
|
+
async onInit(_client) {
|
|
3171
|
+
console.log("Vercel integration initialized");
|
|
3172
|
+
},
|
|
3173
|
+
async onAfterConnect(_client) {
|
|
3174
|
+
console.log("Vercel integration connected");
|
|
3175
|
+
}
|
|
3176
|
+
};
|
|
3177
|
+
}
|
|
3178
|
+
var VERCEL_TOOLS;
|
|
3179
|
+
var init_vercel = __esm(() => {
|
|
3180
|
+
VERCEL_TOOLS = [
|
|
3181
|
+
"vercel_list_projects",
|
|
3182
|
+
"vercel_get_project",
|
|
3183
|
+
"vercel_list_deployments",
|
|
3184
|
+
"vercel_get_deployment",
|
|
3185
|
+
"vercel_create_deployment",
|
|
3186
|
+
"vercel_cancel_deployment",
|
|
3187
|
+
"vercel_list_domains",
|
|
3188
|
+
"vercel_list_env_vars",
|
|
3189
|
+
"vercel_get_deployment_logs"
|
|
3190
|
+
];
|
|
3191
|
+
});
|
|
3192
|
+
|
|
3193
|
+
// src/integrations/zendesk.ts
|
|
3194
|
+
function zendeskIntegration(config = {}) {
|
|
3195
|
+
const oauth = {
|
|
3196
|
+
provider: "zendesk",
|
|
3197
|
+
clientId: config.clientId ?? getEnv("ZENDESK_CLIENT_ID"),
|
|
3198
|
+
clientSecret: config.clientSecret ?? getEnv("ZENDESK_CLIENT_SECRET"),
|
|
3199
|
+
scopes: config.scopes || ["read", "write"],
|
|
3200
|
+
redirectUri: config.redirectUri,
|
|
3201
|
+
config: {
|
|
3202
|
+
subdomain: config.subdomain ?? getEnv("ZENDESK_SUBDOMAIN"),
|
|
3203
|
+
...config
|
|
3204
|
+
}
|
|
3205
|
+
};
|
|
3206
|
+
return {
|
|
3207
|
+
id: "zendesk",
|
|
3208
|
+
tools: [...ZENDESK_TOOLS],
|
|
3209
|
+
oauth,
|
|
3210
|
+
async onInit(_client) {
|
|
3211
|
+
console.log("Zendesk integration initialized");
|
|
3212
|
+
},
|
|
3213
|
+
async onAfterConnect(_client) {
|
|
3214
|
+
console.log("Zendesk integration connected");
|
|
3215
|
+
}
|
|
3216
|
+
};
|
|
3217
|
+
}
|
|
3218
|
+
var ZENDESK_TOOLS;
|
|
3219
|
+
var init_zendesk = __esm(() => {
|
|
3220
|
+
ZENDESK_TOOLS = [
|
|
3221
|
+
"zendesk_list_tickets",
|
|
3222
|
+
"zendesk_get_ticket",
|
|
3223
|
+
"zendesk_create_ticket",
|
|
3224
|
+
"zendesk_update_ticket",
|
|
3225
|
+
"zendesk_add_comment",
|
|
3226
|
+
"zendesk_list_users",
|
|
3227
|
+
"zendesk_get_user",
|
|
3228
|
+
"zendesk_search_tickets",
|
|
3229
|
+
"zendesk_list_organizations"
|
|
3230
|
+
];
|
|
3231
|
+
});
|
|
3232
|
+
|
|
3064
3233
|
// src/integrations/generic.ts
|
|
3065
3234
|
function genericOAuthIntegration(config) {
|
|
3066
3235
|
const providerUpper = config.provider.toUpperCase().replace(/[^A-Z0-9]/g, "_");
|
|
@@ -7558,11 +7727,15 @@ var init_ai = __esm(() => {
|
|
|
7558
7727
|
// src/server.ts
|
|
7559
7728
|
var exports_server = {};
|
|
7560
7729
|
__export(exports_server, {
|
|
7730
|
+
zendeskIntegration: () => zendeskIntegration,
|
|
7731
|
+
vercelIntegration: () => vercelIntegration,
|
|
7561
7732
|
toSvelteKitHandler: () => toSvelteKitHandler,
|
|
7562
7733
|
toSolidStartHandler: () => toSolidStartHandler,
|
|
7563
7734
|
toNextJsHandler: () => toNextJsHandler,
|
|
7564
7735
|
storeCodeVerifier: () => storeCodeVerifier,
|
|
7736
|
+
slackIntegration: () => slackIntegration,
|
|
7565
7737
|
notionIntegration: () => notionIntegration,
|
|
7738
|
+
linearIntegration: () => linearIntegration,
|
|
7566
7739
|
handleOpenAIResponse: () => handleOpenAIResponse,
|
|
7567
7740
|
handleAnthropicMessage: () => handleAnthropicMessage,
|
|
7568
7741
|
gmailIntegration: () => gmailIntegration,
|
|
@@ -8093,6 +8266,10 @@ var init_server = __esm(() => {
|
|
|
8093
8266
|
init_github();
|
|
8094
8267
|
init_gmail();
|
|
8095
8268
|
init_notion();
|
|
8269
|
+
init_slack();
|
|
8270
|
+
init_linear();
|
|
8271
|
+
init_vercel();
|
|
8272
|
+
init_zendesk();
|
|
8096
8273
|
init_generic();
|
|
8097
8274
|
init_vercel_ai();
|
|
8098
8275
|
init_openai();
|
|
@@ -8139,6 +8316,8 @@ var createTanStackOAuthHandler = toTanStackStartHandler;
|
|
|
8139
8316
|
// server.ts
|
|
8140
8317
|
init_ai();
|
|
8141
8318
|
export {
|
|
8319
|
+
zendeskIntegration,
|
|
8320
|
+
vercelIntegration,
|
|
8142
8321
|
toWebRequest,
|
|
8143
8322
|
toTanStackStartHandler,
|
|
8144
8323
|
toSvelteKitHandler,
|
|
@@ -8146,8 +8325,10 @@ export {
|
|
|
8146
8325
|
toNextJsHandler,
|
|
8147
8326
|
svelteKitHandler,
|
|
8148
8327
|
storeCodeVerifier,
|
|
8328
|
+
slackIntegration,
|
|
8149
8329
|
sendWebResponse,
|
|
8150
8330
|
notionIntegration,
|
|
8331
|
+
linearIntegration,
|
|
8151
8332
|
handleOpenAIResponse,
|
|
8152
8333
|
handleAnthropicMessage,
|
|
8153
8334
|
gmailIntegration,
|
package/dist/src/client.d.ts
CHANGED
|
@@ -9,6 +9,10 @@ import { type AuthenticationError } from "./errors.js";
|
|
|
9
9
|
import type { GitHubIntegrationClient } from "./integrations/github-client.js";
|
|
10
10
|
import type { GmailIntegrationClient } from "./integrations/gmail-client.js";
|
|
11
11
|
import type { NotionIntegrationClient } from "./integrations/notion-client.js";
|
|
12
|
+
import type { SlackIntegrationClient } from "./integrations/slack-client.js";
|
|
13
|
+
import type { LinearIntegrationClient } from "./integrations/linear-client.js";
|
|
14
|
+
import type { VercelIntegrationClient } from "./integrations/vercel-client.js";
|
|
15
|
+
import type { ZendeskIntegrationClient } from "./integrations/zendesk-client.js";
|
|
12
16
|
import type { ServerIntegrationClient } from "./integrations/server-client.js";
|
|
13
17
|
import type { AuthStatus, OAuthCallbackParams, OAuthEventHandler, AuthStartedEvent, AuthCompleteEvent, AuthErrorEvent, AuthLogoutEvent, AuthDisconnectEvent } from "./oauth/types.js";
|
|
14
18
|
/**
|
|
@@ -32,7 +36,7 @@ type IntegrationIds<TIntegrations extends readonly MCPIntegration[]> = ExtractIn
|
|
|
32
36
|
* Uses a single mapped type to avoid intersection issues with IDE autocomplete
|
|
33
37
|
*/
|
|
34
38
|
type IntegrationNamespaces<TIntegrations extends readonly MCPIntegration[]> = {
|
|
35
|
-
[K in IntegrationIds<TIntegrations> as K extends "github" ? "github" : K extends "gmail" ? "gmail" : K extends "notion" ? "notion" : never]: K extends "github" ? GitHubIntegrationClient : K extends "gmail" ? GmailIntegrationClient : K extends "notion" ? NotionIntegrationClient : never;
|
|
39
|
+
[K in IntegrationIds<TIntegrations> as K extends "github" ? "github" : K extends "gmail" ? "gmail" : K extends "notion" ? "notion" : K extends "slack" ? "slack" : K extends "linear" ? "linear" : K extends "vercel" ? "vercel" : K extends "zendesk" ? "zendesk" : never]: K extends "github" ? GitHubIntegrationClient : K extends "gmail" ? GmailIntegrationClient : K extends "notion" ? NotionIntegrationClient : K extends "slack" ? SlackIntegrationClient : K extends "linear" ? LinearIntegrationClient : K extends "vercel" ? VercelIntegrationClient : K extends "zendesk" ? ZendeskIntegrationClient : never;
|
|
36
40
|
};
|
|
37
41
|
/**
|
|
38
42
|
* MCP Client Class
|