integrate-sdk 0.8.36 → 0.8.39
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 +371 -71
- package/dist/adapters/base-handler.js +561 -0
- package/dist/adapters/index.js +371 -71
- package/dist/adapters/nextjs.js +371 -71
- package/dist/adapters/node.js +371 -71
- package/dist/adapters/svelte-kit.js +371 -71
- package/dist/adapters/tanstack-start.js +371 -71
- package/dist/ai/anthropic.d.ts +3 -0
- package/dist/ai/anthropic.d.ts.map +1 -1
- package/dist/ai/anthropic.js +255 -2
- package/dist/ai/cloudflare.d.ts +158 -0
- package/dist/ai/cloudflare.d.ts.map +1 -0
- package/dist/ai/cloudflare.js +4249 -0
- package/dist/ai/google.d.ts +3 -0
- package/dist/ai/google.d.ts.map +1 -1
- package/dist/ai/google.js +256 -2
- package/dist/ai/index.d.ts +1 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +351 -7
- package/dist/ai/langchain.d.ts +139 -0
- package/dist/ai/langchain.d.ts.map +1 -0
- package/dist/ai/langchain.js +4237 -0
- package/dist/ai/llamaindex.d.ts +125 -0
- package/dist/ai/llamaindex.d.ts.map +1 -0
- package/dist/ai/llamaindex.js +4236 -0
- package/dist/ai/mastra.d.ts +138 -0
- package/dist/ai/mastra.d.ts.map +1 -0
- package/dist/ai/mastra.js +4240 -0
- package/dist/ai/openai.d.ts +3 -0
- package/dist/ai/openai.d.ts.map +1 -1
- package/dist/ai/openai.js +257 -2
- package/dist/ai/trigger-tools.d.ts +206 -0
- package/dist/ai/trigger-tools.d.ts.map +1 -0
- package/dist/ai/trigger-tools.js +4198 -0
- package/dist/ai/vercel-ai.d.ts.map +1 -1
- package/dist/ai/vercel-ai.js +217 -0
- package/dist/index.js +359 -59
- package/dist/oauth.js +371 -71
- package/dist/server.js +372 -71
- package/dist/src/ai/anthropic.d.ts +3 -0
- package/dist/src/ai/anthropic.d.ts.map +1 -1
- package/dist/src/ai/cloudflare.d.ts +158 -0
- package/dist/src/ai/cloudflare.d.ts.map +1 -0
- package/dist/src/ai/google.d.ts +3 -0
- package/dist/src/ai/google.d.ts.map +1 -1
- package/dist/src/ai/index.d.ts +1 -0
- package/dist/src/ai/index.d.ts.map +1 -1
- package/dist/src/ai/langchain.d.ts +139 -0
- package/dist/src/ai/langchain.d.ts.map +1 -0
- package/dist/src/ai/llamaindex.d.ts +125 -0
- package/dist/src/ai/llamaindex.d.ts.map +1 -0
- package/dist/src/ai/mastra.d.ts +138 -0
- package/dist/src/ai/mastra.d.ts.map +1 -0
- package/dist/src/ai/openai.d.ts +3 -0
- package/dist/src/ai/openai.d.ts.map +1 -1
- package/dist/src/ai/trigger-tools.d.ts +206 -0
- package/dist/src/ai/trigger-tools.d.ts.map +1 -0
- package/dist/src/ai/vercel-ai.d.ts.map +1 -1
- package/dist/src/integrations/vercel-ai.d.ts +127 -0
- package/dist/src/integrations/vercel-ai.d.ts.map +1 -0
- package/dist/src/plugins/generic.d.ts +99 -0
- package/dist/src/plugins/generic.d.ts.map +1 -0
- package/dist/src/plugins/github-client.d.ts +320 -0
- package/dist/src/plugins/github-client.d.ts.map +1 -0
- package/dist/src/plugins/github.d.ts +89 -0
- package/dist/src/plugins/github.d.ts.map +1 -0
- package/dist/src/plugins/gmail-client.d.ts +106 -0
- package/dist/src/plugins/gmail-client.d.ts.map +1 -0
- package/dist/src/plugins/gmail.d.ts +87 -0
- package/dist/src/plugins/gmail.d.ts.map +1 -0
- package/dist/src/plugins/server-client.d.ts +18 -0
- package/dist/src/plugins/server-client.d.ts.map +1 -0
- package/dist/src/plugins/types.d.ts +70 -0
- package/dist/src/plugins/types.d.ts.map +1 -0
- package/dist/src/server.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHub Plugin Client Types
|
|
3
|
+
* Fully typed interface for GitHub plugin methods
|
|
4
|
+
*/
|
|
5
|
+
import type { MCPToolCallResponse } from "../protocol/messages.js";
|
|
6
|
+
/**
|
|
7
|
+
* GitHub Issue
|
|
8
|
+
*/
|
|
9
|
+
export interface GitHubIssue {
|
|
10
|
+
number: number;
|
|
11
|
+
title: string;
|
|
12
|
+
body?: string;
|
|
13
|
+
state: "open" | "closed";
|
|
14
|
+
html_url: string;
|
|
15
|
+
user?: {
|
|
16
|
+
login: string;
|
|
17
|
+
avatar_url: string;
|
|
18
|
+
};
|
|
19
|
+
created_at: string;
|
|
20
|
+
updated_at: string;
|
|
21
|
+
closed_at?: string;
|
|
22
|
+
labels?: Array<{
|
|
23
|
+
name: string;
|
|
24
|
+
color: string;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* GitHub Pull Request
|
|
29
|
+
*/
|
|
30
|
+
export interface GitHubPullRequest {
|
|
31
|
+
number: number;
|
|
32
|
+
title: string;
|
|
33
|
+
body?: string;
|
|
34
|
+
state: "open" | "closed" | "merged";
|
|
35
|
+
html_url: string;
|
|
36
|
+
user?: {
|
|
37
|
+
login: string;
|
|
38
|
+
avatar_url: string;
|
|
39
|
+
};
|
|
40
|
+
created_at: string;
|
|
41
|
+
updated_at: string;
|
|
42
|
+
merged_at?: string;
|
|
43
|
+
head: {
|
|
44
|
+
ref: string;
|
|
45
|
+
sha: string;
|
|
46
|
+
};
|
|
47
|
+
base: {
|
|
48
|
+
ref: string;
|
|
49
|
+
sha: string;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* GitHub Repository
|
|
54
|
+
*/
|
|
55
|
+
export interface GitHubRepository {
|
|
56
|
+
id: number;
|
|
57
|
+
name: string;
|
|
58
|
+
full_name: string;
|
|
59
|
+
description?: string;
|
|
60
|
+
html_url: string;
|
|
61
|
+
private: boolean;
|
|
62
|
+
owner: {
|
|
63
|
+
login: string;
|
|
64
|
+
avatar_url: string;
|
|
65
|
+
};
|
|
66
|
+
created_at: string;
|
|
67
|
+
updated_at: string;
|
|
68
|
+
pushed_at: string;
|
|
69
|
+
stargazers_count: number;
|
|
70
|
+
watchers_count: number;
|
|
71
|
+
forks_count: number;
|
|
72
|
+
language?: string;
|
|
73
|
+
default_branch: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* GitHub Branch
|
|
77
|
+
*/
|
|
78
|
+
export interface GitHubBranch {
|
|
79
|
+
name: string;
|
|
80
|
+
commit: {
|
|
81
|
+
sha: string;
|
|
82
|
+
url: string;
|
|
83
|
+
};
|
|
84
|
+
protected: boolean;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* GitHub User
|
|
88
|
+
*/
|
|
89
|
+
export interface GitHubUser {
|
|
90
|
+
login: string;
|
|
91
|
+
id: number;
|
|
92
|
+
avatar_url: string;
|
|
93
|
+
html_url: string;
|
|
94
|
+
name?: string;
|
|
95
|
+
email?: string;
|
|
96
|
+
bio?: string;
|
|
97
|
+
public_repos: number;
|
|
98
|
+
followers: number;
|
|
99
|
+
following: number;
|
|
100
|
+
created_at: string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* GitHub Commit
|
|
104
|
+
*/
|
|
105
|
+
export interface GitHubCommit {
|
|
106
|
+
sha: string;
|
|
107
|
+
commit: {
|
|
108
|
+
message: string;
|
|
109
|
+
author: {
|
|
110
|
+
name: string;
|
|
111
|
+
email: string;
|
|
112
|
+
date: string;
|
|
113
|
+
};
|
|
114
|
+
committer: {
|
|
115
|
+
name: string;
|
|
116
|
+
email: string;
|
|
117
|
+
date: string;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
html_url: string;
|
|
121
|
+
author?: {
|
|
122
|
+
login: string;
|
|
123
|
+
avatar_url: string;
|
|
124
|
+
};
|
|
125
|
+
committer?: {
|
|
126
|
+
login: string;
|
|
127
|
+
avatar_url: string;
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* GitHub Plugin Client Interface
|
|
132
|
+
* Provides type-safe methods for all GitHub operations
|
|
133
|
+
*/
|
|
134
|
+
export interface GitHubPluginClient {
|
|
135
|
+
/**
|
|
136
|
+
* Create a new issue in a repository
|
|
137
|
+
*/
|
|
138
|
+
createIssue(params: {
|
|
139
|
+
owner: string;
|
|
140
|
+
repo: string;
|
|
141
|
+
title: string;
|
|
142
|
+
body?: string;
|
|
143
|
+
labels?: string[];
|
|
144
|
+
assignees?: string[];
|
|
145
|
+
}): Promise<MCPToolCallResponse>;
|
|
146
|
+
/**
|
|
147
|
+
* List issues in a repository
|
|
148
|
+
*/
|
|
149
|
+
listIssues(params: {
|
|
150
|
+
owner: string;
|
|
151
|
+
repo: string;
|
|
152
|
+
state?: "open" | "closed" | "all";
|
|
153
|
+
labels?: string[];
|
|
154
|
+
sort?: "created" | "updated" | "comments";
|
|
155
|
+
direction?: "asc" | "desc";
|
|
156
|
+
per_page?: number;
|
|
157
|
+
page?: number;
|
|
158
|
+
}): Promise<MCPToolCallResponse>;
|
|
159
|
+
/**
|
|
160
|
+
* Get a specific issue
|
|
161
|
+
*/
|
|
162
|
+
getIssue(params: {
|
|
163
|
+
owner: string;
|
|
164
|
+
repo: string;
|
|
165
|
+
issue_number: number;
|
|
166
|
+
}): Promise<MCPToolCallResponse>;
|
|
167
|
+
/**
|
|
168
|
+
* Update an existing issue
|
|
169
|
+
*/
|
|
170
|
+
updateIssue(params: {
|
|
171
|
+
owner: string;
|
|
172
|
+
repo: string;
|
|
173
|
+
issue_number: number;
|
|
174
|
+
title?: string;
|
|
175
|
+
body?: string;
|
|
176
|
+
state?: "open" | "closed";
|
|
177
|
+
labels?: string[];
|
|
178
|
+
assignees?: string[];
|
|
179
|
+
}): Promise<MCPToolCallResponse>;
|
|
180
|
+
/**
|
|
181
|
+
* Close an issue
|
|
182
|
+
*/
|
|
183
|
+
closeIssue(params: {
|
|
184
|
+
owner: string;
|
|
185
|
+
repo: string;
|
|
186
|
+
issue_number: number;
|
|
187
|
+
}): Promise<MCPToolCallResponse>;
|
|
188
|
+
/**
|
|
189
|
+
* Create a pull request
|
|
190
|
+
*/
|
|
191
|
+
createPullRequest(params: {
|
|
192
|
+
owner: string;
|
|
193
|
+
repo: string;
|
|
194
|
+
title: string;
|
|
195
|
+
head: string;
|
|
196
|
+
base: string;
|
|
197
|
+
body?: string;
|
|
198
|
+
draft?: boolean;
|
|
199
|
+
}): Promise<MCPToolCallResponse>;
|
|
200
|
+
/**
|
|
201
|
+
* List pull requests in a repository
|
|
202
|
+
*/
|
|
203
|
+
listPullRequests(params: {
|
|
204
|
+
owner: string;
|
|
205
|
+
repo: string;
|
|
206
|
+
state?: "open" | "closed" | "all";
|
|
207
|
+
sort?: "created" | "updated" | "popularity" | "long-running";
|
|
208
|
+
direction?: "asc" | "desc";
|
|
209
|
+
per_page?: number;
|
|
210
|
+
page?: number;
|
|
211
|
+
}): Promise<MCPToolCallResponse>;
|
|
212
|
+
/**
|
|
213
|
+
* Get a specific pull request
|
|
214
|
+
*/
|
|
215
|
+
getPullRequest(params: {
|
|
216
|
+
owner: string;
|
|
217
|
+
repo: string;
|
|
218
|
+
pull_number: number;
|
|
219
|
+
}): Promise<MCPToolCallResponse>;
|
|
220
|
+
/**
|
|
221
|
+
* Merge a pull request
|
|
222
|
+
*/
|
|
223
|
+
mergePullRequest(params: {
|
|
224
|
+
owner: string;
|
|
225
|
+
repo: string;
|
|
226
|
+
pull_number: number;
|
|
227
|
+
commit_title?: string;
|
|
228
|
+
commit_message?: string;
|
|
229
|
+
merge_method?: "merge" | "squash" | "rebase";
|
|
230
|
+
}): Promise<MCPToolCallResponse>;
|
|
231
|
+
/**
|
|
232
|
+
* List repositories (for a user or organization)
|
|
233
|
+
*/
|
|
234
|
+
listRepos(params: {
|
|
235
|
+
owner: string;
|
|
236
|
+
type?: "all" | "owner" | "member";
|
|
237
|
+
sort?: "created" | "updated" | "pushed" | "full_name";
|
|
238
|
+
direction?: "asc" | "desc";
|
|
239
|
+
per_page?: number;
|
|
240
|
+
page?: number;
|
|
241
|
+
}): Promise<MCPToolCallResponse>;
|
|
242
|
+
/**
|
|
243
|
+
* List repositories for the authenticated user
|
|
244
|
+
*/
|
|
245
|
+
listOwnRepos(params?: {
|
|
246
|
+
visibility?: "all" | "public" | "private";
|
|
247
|
+
affiliation?: string;
|
|
248
|
+
type?: "all" | "owner" | "public" | "private" | "member";
|
|
249
|
+
sort?: "created" | "updated" | "pushed" | "full_name";
|
|
250
|
+
direction?: "asc" | "desc";
|
|
251
|
+
per_page?: number;
|
|
252
|
+
page?: number;
|
|
253
|
+
}): Promise<MCPToolCallResponse>;
|
|
254
|
+
/**
|
|
255
|
+
* Get a specific repository
|
|
256
|
+
*/
|
|
257
|
+
getRepo(params: {
|
|
258
|
+
owner: string;
|
|
259
|
+
repo: string;
|
|
260
|
+
}): Promise<MCPToolCallResponse>;
|
|
261
|
+
/**
|
|
262
|
+
* Create a new repository
|
|
263
|
+
*/
|
|
264
|
+
createRepo(params: {
|
|
265
|
+
name: string;
|
|
266
|
+
description?: string;
|
|
267
|
+
private?: boolean;
|
|
268
|
+
auto_init?: boolean;
|
|
269
|
+
gitignore_template?: string;
|
|
270
|
+
license_template?: string;
|
|
271
|
+
}): Promise<MCPToolCallResponse>;
|
|
272
|
+
/**
|
|
273
|
+
* List branches in a repository
|
|
274
|
+
*/
|
|
275
|
+
listBranches(params: {
|
|
276
|
+
owner: string;
|
|
277
|
+
repo: string;
|
|
278
|
+
protected?: boolean;
|
|
279
|
+
per_page?: number;
|
|
280
|
+
page?: number;
|
|
281
|
+
}): Promise<MCPToolCallResponse>;
|
|
282
|
+
/**
|
|
283
|
+
* Create a new branch
|
|
284
|
+
*/
|
|
285
|
+
createBranch(params: {
|
|
286
|
+
owner: string;
|
|
287
|
+
repo: string;
|
|
288
|
+
branch: string;
|
|
289
|
+
from_branch?: string;
|
|
290
|
+
}): Promise<MCPToolCallResponse>;
|
|
291
|
+
/**
|
|
292
|
+
* Get information about a user
|
|
293
|
+
*/
|
|
294
|
+
getUser(params: {
|
|
295
|
+
username: string;
|
|
296
|
+
}): Promise<MCPToolCallResponse>;
|
|
297
|
+
/**
|
|
298
|
+
* List commits in a repository
|
|
299
|
+
*/
|
|
300
|
+
listCommits(params: {
|
|
301
|
+
owner: string;
|
|
302
|
+
repo: string;
|
|
303
|
+
sha?: string;
|
|
304
|
+
path?: string;
|
|
305
|
+
author?: string;
|
|
306
|
+
since?: string;
|
|
307
|
+
until?: string;
|
|
308
|
+
per_page?: number;
|
|
309
|
+
page?: number;
|
|
310
|
+
}): Promise<MCPToolCallResponse>;
|
|
311
|
+
/**
|
|
312
|
+
* Get a specific commit
|
|
313
|
+
*/
|
|
314
|
+
getCommit(params: {
|
|
315
|
+
owner: string;
|
|
316
|
+
repo: string;
|
|
317
|
+
ref: string;
|
|
318
|
+
}): Promise<MCPToolCallResponse>;
|
|
319
|
+
}
|
|
320
|
+
//# sourceMappingURL=github-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-client.d.ts","sourceRoot":"","sources":["../../../src/plugins/github-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,SAAS,EAAE;YACT,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;QAClC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;QAC1C,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,CAAC;QAC7D,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;KAC9C,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;QAClC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;QACtD,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,YAAY,CAAC,MAAM,CAAC,EAAE;QACpB,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;QACzD,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;QACtD,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACb,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAClC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHub Plugin
|
|
3
|
+
* Enables GitHub tools with OAuth configuration
|
|
4
|
+
*/
|
|
5
|
+
import type { MCPPlugin } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* GitHub plugin configuration
|
|
8
|
+
*
|
|
9
|
+
* SERVER-SIDE: Automatically reads GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET from environment.
|
|
10
|
+
* You can override by providing explicit clientId and clientSecret values.
|
|
11
|
+
* CLIENT-SIDE: Omit clientId and clientSecret when using createMCPClient()
|
|
12
|
+
*/
|
|
13
|
+
export interface GitHubPluginConfig {
|
|
14
|
+
/** GitHub OAuth client ID (defaults to GITHUB_CLIENT_ID env var) */
|
|
15
|
+
clientId?: string;
|
|
16
|
+
/** GitHub OAuth client secret (defaults to GITHUB_CLIENT_SECRET env var) */
|
|
17
|
+
clientSecret?: string;
|
|
18
|
+
/** Additional OAuth scopes (default: ['repo', 'user']) */
|
|
19
|
+
scopes?: string[];
|
|
20
|
+
/** OAuth redirect URI */
|
|
21
|
+
redirectUri?: string;
|
|
22
|
+
/** GitHub API base URL (default: https://api.github.com) */
|
|
23
|
+
apiBaseUrl?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Default GitHub tools that this plugin enables
|
|
27
|
+
* These should match the tool names exposed by your MCP server
|
|
28
|
+
*/
|
|
29
|
+
declare const GITHUB_TOOLS: readonly ["github_create_issue", "github_list_issues", "github_get_issue", "github_update_issue", "github_close_issue", "github_create_pull_request", "github_list_pull_requests", "github_get_pull_request", "github_merge_pull_request", "github_list_repos", "github_list_own_repos", "github_get_repo", "github_create_repo", "github_list_branches", "github_create_branch", "github_get_user", "github_list_commits", "github_get_commit"];
|
|
30
|
+
/**
|
|
31
|
+
* GitHub Plugin
|
|
32
|
+
*
|
|
33
|
+
* Enables GitHub integration with OAuth authentication.
|
|
34
|
+
*
|
|
35
|
+
* By default, reads GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET from environment variables.
|
|
36
|
+
* You can override these by providing explicit values in the config.
|
|
37
|
+
*
|
|
38
|
+
* @example Server-side (minimal - uses env vars):
|
|
39
|
+
* ```typescript
|
|
40
|
+
* import { createMCPServer, githubPlugin } from 'integrate-sdk/server';
|
|
41
|
+
*
|
|
42
|
+
* // Automatically uses GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET from env
|
|
43
|
+
* export const { client } = createMCPServer({
|
|
44
|
+
* plugins: [
|
|
45
|
+
* githubPlugin({
|
|
46
|
+
* scopes: ['repo', 'user', 'read:org'],
|
|
47
|
+
* }),
|
|
48
|
+
* ],
|
|
49
|
+
* });
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @example Server-side (with explicit override):
|
|
53
|
+
* ```typescript
|
|
54
|
+
* import { createMCPServer, githubPlugin } from 'integrate-sdk/server';
|
|
55
|
+
*
|
|
56
|
+
* export const { client } = createMCPServer({
|
|
57
|
+
* plugins: [
|
|
58
|
+
* githubPlugin({
|
|
59
|
+
* clientId: process.env.CUSTOM_GITHUB_ID!,
|
|
60
|
+
* clientSecret: process.env.CUSTOM_GITHUB_SECRET!,
|
|
61
|
+
* scopes: ['repo', 'user', 'read:org'],
|
|
62
|
+
* }),
|
|
63
|
+
* ],
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* @example Client-side (without secrets):
|
|
68
|
+
* ```typescript
|
|
69
|
+
* import { createMCPClient, githubPlugin } from 'integrate-sdk';
|
|
70
|
+
*
|
|
71
|
+
* const client = createMCPClient({
|
|
72
|
+
* plugins: [
|
|
73
|
+
* githubPlugin({
|
|
74
|
+
* scopes: ['repo', 'user', 'read:org'],
|
|
75
|
+
* }),
|
|
76
|
+
* ],
|
|
77
|
+
* });
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare function githubPlugin(config?: GitHubPluginConfig): MCPPlugin;
|
|
81
|
+
/**
|
|
82
|
+
* Export tool names for type inference
|
|
83
|
+
*/
|
|
84
|
+
export type GitHubTools = typeof GITHUB_TOOLS[number];
|
|
85
|
+
/**
|
|
86
|
+
* Export GitHub client types
|
|
87
|
+
*/
|
|
88
|
+
export type { GitHubPluginClient } from "./github-client.js";
|
|
89
|
+
//# sourceMappingURL=github.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/plugins/github.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,YAAY,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,QAAA,MAAM,YAAY,kbAmBR,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,YAAY,CAAC,MAAM,GAAE,kBAAuB,GAAG,SAAS,CA0BvE;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAEtD;;GAEG;AACH,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gmail Plugin Client Types
|
|
3
|
+
* Fully typed interface for Gmail plugin methods
|
|
4
|
+
*/
|
|
5
|
+
import type { MCPToolCallResponse } from "../protocol/messages.js";
|
|
6
|
+
/**
|
|
7
|
+
* Gmail Email Message
|
|
8
|
+
*/
|
|
9
|
+
export interface GmailMessage {
|
|
10
|
+
id: string;
|
|
11
|
+
threadId: string;
|
|
12
|
+
labelIds?: string[];
|
|
13
|
+
snippet?: string;
|
|
14
|
+
payload?: {
|
|
15
|
+
headers?: Array<{
|
|
16
|
+
name: string;
|
|
17
|
+
value: string;
|
|
18
|
+
}>;
|
|
19
|
+
body?: {
|
|
20
|
+
data?: string;
|
|
21
|
+
size?: number;
|
|
22
|
+
};
|
|
23
|
+
parts?: Array<{
|
|
24
|
+
mimeType?: string;
|
|
25
|
+
body?: {
|
|
26
|
+
data?: string;
|
|
27
|
+
size?: number;
|
|
28
|
+
};
|
|
29
|
+
}>;
|
|
30
|
+
};
|
|
31
|
+
sizeEstimate?: number;
|
|
32
|
+
historyId?: string;
|
|
33
|
+
internalDate?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Gmail Label
|
|
37
|
+
*/
|
|
38
|
+
export interface GmailLabel {
|
|
39
|
+
id: string;
|
|
40
|
+
name: string;
|
|
41
|
+
type?: "system" | "user";
|
|
42
|
+
messageListVisibility?: "show" | "hide";
|
|
43
|
+
labelListVisibility?: "labelShow" | "labelShowIfUnread" | "labelHide";
|
|
44
|
+
color?: {
|
|
45
|
+
textColor?: string;
|
|
46
|
+
backgroundColor?: string;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Gmail Draft
|
|
51
|
+
*/
|
|
52
|
+
export interface GmailDraft {
|
|
53
|
+
id: string;
|
|
54
|
+
message: GmailMessage;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Gmail Plugin Client Interface
|
|
58
|
+
* Provides type-safe methods for all Gmail operations
|
|
59
|
+
*/
|
|
60
|
+
export interface GmailPluginClient {
|
|
61
|
+
/**
|
|
62
|
+
* Send a message
|
|
63
|
+
*/
|
|
64
|
+
sendMessage(params: {
|
|
65
|
+
to: string | string[];
|
|
66
|
+
subject: string;
|
|
67
|
+
body: string;
|
|
68
|
+
cc?: string | string[];
|
|
69
|
+
bcc?: string | string[];
|
|
70
|
+
from?: string;
|
|
71
|
+
replyTo?: string;
|
|
72
|
+
html?: boolean;
|
|
73
|
+
attachments?: Array<{
|
|
74
|
+
filename: string;
|
|
75
|
+
content: string;
|
|
76
|
+
encoding?: string;
|
|
77
|
+
}>;
|
|
78
|
+
}): Promise<MCPToolCallResponse>;
|
|
79
|
+
/**
|
|
80
|
+
* List messages in the mailbox
|
|
81
|
+
*/
|
|
82
|
+
listMessages(params?: {
|
|
83
|
+
maxResults?: number;
|
|
84
|
+
pageToken?: string;
|
|
85
|
+
q?: string;
|
|
86
|
+
labelIds?: string[];
|
|
87
|
+
includeSpamTrash?: boolean;
|
|
88
|
+
}): Promise<MCPToolCallResponse>;
|
|
89
|
+
/**
|
|
90
|
+
* Get a specific message by ID
|
|
91
|
+
*/
|
|
92
|
+
getMessage(params: {
|
|
93
|
+
id: string;
|
|
94
|
+
format?: "minimal" | "full" | "raw" | "metadata";
|
|
95
|
+
}): Promise<MCPToolCallResponse>;
|
|
96
|
+
/**
|
|
97
|
+
* Search messages with query
|
|
98
|
+
*/
|
|
99
|
+
searchMessages(params: {
|
|
100
|
+
query: string;
|
|
101
|
+
maxResults?: number;
|
|
102
|
+
pageToken?: string;
|
|
103
|
+
includeSpamTrash?: boolean;
|
|
104
|
+
}): Promise<MCPToolCallResponse>;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=gmail-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmail-client.d.ts","sourceRoot":"","sources":["../../../src/plugins/gmail-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gmail Plugin
|
|
3
|
+
* Enables Gmail tools with OAuth configuration
|
|
4
|
+
*/
|
|
5
|
+
import type { MCPPlugin } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Gmail plugin configuration
|
|
8
|
+
*
|
|
9
|
+
* SERVER-SIDE: Automatically reads GMAIL_CLIENT_ID and GMAIL_CLIENT_SECRET from environment.
|
|
10
|
+
* You can override by providing explicit clientId and clientSecret values.
|
|
11
|
+
* CLIENT-SIDE: Omit clientId and clientSecret when using createMCPClient()
|
|
12
|
+
*/
|
|
13
|
+
export interface GmailPluginConfig {
|
|
14
|
+
/** Google OAuth client ID (defaults to GMAIL_CLIENT_ID env var) */
|
|
15
|
+
clientId?: string;
|
|
16
|
+
/** Google OAuth client secret (defaults to GMAIL_CLIENT_SECRET env var) */
|
|
17
|
+
clientSecret?: string;
|
|
18
|
+
/** Additional OAuth scopes (default: Gmail API scopes) */
|
|
19
|
+
scopes?: string[];
|
|
20
|
+
/** OAuth redirect URI */
|
|
21
|
+
redirectUri?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Default Gmail tools that this plugin enables
|
|
25
|
+
* These should match the tool names exposed by your MCP server
|
|
26
|
+
*/
|
|
27
|
+
declare const GMAIL_TOOLS: readonly ["gmail_send_message", "gmail_list_messages", "gmail_get_message", "gmail_search_messages"];
|
|
28
|
+
/**
|
|
29
|
+
* Gmail Plugin
|
|
30
|
+
*
|
|
31
|
+
* Enables Gmail integration with OAuth authentication.
|
|
32
|
+
*
|
|
33
|
+
* By default, reads GMAIL_CLIENT_ID and GMAIL_CLIENT_SECRET from environment variables.
|
|
34
|
+
* You can override these by providing explicit values in the config.
|
|
35
|
+
*
|
|
36
|
+
* @example Server-side (minimal - uses env vars):
|
|
37
|
+
* ```typescript
|
|
38
|
+
* import { createMCPServer, gmailPlugin } from 'integrate-sdk/server';
|
|
39
|
+
*
|
|
40
|
+
* // Automatically uses GMAIL_CLIENT_ID and GMAIL_CLIENT_SECRET from env
|
|
41
|
+
* export const { client } = createMCPServer({
|
|
42
|
+
* plugins: [
|
|
43
|
+
* gmailPlugin({
|
|
44
|
+
* scopes: ['gmail.send', 'gmail.readonly'],
|
|
45
|
+
* }),
|
|
46
|
+
* ],
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @example Server-side (with explicit override):
|
|
51
|
+
* ```typescript
|
|
52
|
+
* import { createMCPServer, gmailPlugin } from 'integrate-sdk/server';
|
|
53
|
+
*
|
|
54
|
+
* export const { client } = createMCPServer({
|
|
55
|
+
* plugins: [
|
|
56
|
+
* gmailPlugin({
|
|
57
|
+
* clientId: process.env.CUSTOM_GMAIL_ID!,
|
|
58
|
+
* clientSecret: process.env.CUSTOM_GMAIL_SECRET!,
|
|
59
|
+
* scopes: ['gmail.send', 'gmail.readonly'],
|
|
60
|
+
* }),
|
|
61
|
+
* ],
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
65
|
+
* @example Client-side (without secrets):
|
|
66
|
+
* ```typescript
|
|
67
|
+
* import { createMCPClient, gmailPlugin } from 'integrate-sdk';
|
|
68
|
+
*
|
|
69
|
+
* const client = createMCPClient({
|
|
70
|
+
* plugins: [
|
|
71
|
+
* gmailPlugin({
|
|
72
|
+
* scopes: ['gmail.send', 'gmail.readonly'],
|
|
73
|
+
* }),
|
|
74
|
+
* ],
|
|
75
|
+
* });
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare function gmailPlugin(config?: GmailPluginConfig): MCPPlugin;
|
|
79
|
+
/**
|
|
80
|
+
* Export tool names for type inference
|
|
81
|
+
*/
|
|
82
|
+
export type GmailTools = typeof GMAIL_TOOLS[number];
|
|
83
|
+
/**
|
|
84
|
+
* Export Gmail client types
|
|
85
|
+
*/
|
|
86
|
+
export type { GmailPluginClient } from "./gmail-client.js";
|
|
87
|
+
//# sourceMappingURL=gmail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmail.d.ts","sourceRoot":"","sources":["../../../src/plugins/gmail.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,YAAY,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,QAAA,MAAM,WAAW,sGAKP,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,WAAW,CAAC,MAAM,GAAE,iBAAsB,GAAG,SAAS,CA4BrE;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAEpD;;GAEG;AACH,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server Plugin Client Types
|
|
3
|
+
* Fully typed interface for server-level tools that don't belong to a specific plugin
|
|
4
|
+
*/
|
|
5
|
+
import type { MCPToolCallResponse } from "../protocol/messages.js";
|
|
6
|
+
/**
|
|
7
|
+
* Server Plugin Client Interface
|
|
8
|
+
* Provides type-safe methods for server-level operations
|
|
9
|
+
*/
|
|
10
|
+
export interface ServerPluginClient {
|
|
11
|
+
/**
|
|
12
|
+
* List all tools available for a specific integration
|
|
13
|
+
*/
|
|
14
|
+
listToolsByIntegration(params: {
|
|
15
|
+
integration: string;
|
|
16
|
+
}): Promise<MCPToolCallResponse>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=server-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-client.d.ts","sourceRoot":"","sources":["../../../src/plugins/server-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE;QAC7B,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAClC"}
|