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.
Files changed (35) hide show
  1. package/dist/adapters/auto-routes.js +177 -0
  2. package/dist/adapters/index.js +177 -0
  3. package/dist/adapters/nextjs.js +177 -0
  4. package/dist/adapters/node.js +177 -0
  5. package/dist/adapters/svelte-kit.js +177 -0
  6. package/dist/adapters/tanstack-start.js +177 -0
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +194 -1
  10. package/dist/oauth.js +177 -0
  11. package/dist/server.js +181 -0
  12. package/dist/src/client.d.ts +5 -1
  13. package/dist/src/client.d.ts.map +1 -1
  14. package/dist/src/index.d.ts +8 -0
  15. package/dist/src/index.d.ts.map +1 -1
  16. package/dist/src/integrations/linear-client.d.ts +309 -0
  17. package/dist/src/integrations/linear-client.d.ts.map +1 -0
  18. package/dist/src/integrations/linear.d.ts +37 -0
  19. package/dist/src/integrations/linear.d.ts.map +1 -0
  20. package/dist/src/integrations/slack-client.d.ts +271 -0
  21. package/dist/src/integrations/slack-client.d.ts.map +1 -0
  22. package/dist/src/integrations/slack.d.ts +37 -0
  23. package/dist/src/integrations/slack.d.ts.map +1 -0
  24. package/dist/src/integrations/vercel-client.d.ts +278 -0
  25. package/dist/src/integrations/vercel-client.d.ts.map +1 -0
  26. package/dist/src/integrations/vercel.d.ts +37 -0
  27. package/dist/src/integrations/vercel.d.ts.map +1 -0
  28. package/dist/src/integrations/zendesk-client.d.ts +395 -0
  29. package/dist/src/integrations/zendesk-client.d.ts.map +1 -0
  30. package/dist/src/integrations/zendesk.d.ts +39 -0
  31. package/dist/src/integrations/zendesk.d.ts.map +1 -0
  32. package/dist/src/server.d.ts +4 -0
  33. package/dist/src/server.d.ts.map +1 -1
  34. package/index.ts +8 -0
  35. 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,
@@ -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