integrate-sdk 0.8.28 → 0.8.30-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 (55) hide show
  1. package/dist/adapters/auto-routes.js +397 -0
  2. package/dist/adapters/index.js +397 -0
  3. package/dist/adapters/nextjs.js +397 -0
  4. package/dist/adapters/node.js +397 -0
  5. package/dist/adapters/svelte-kit.js +397 -0
  6. package/dist/adapters/tanstack-start.js +397 -0
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +434 -1
  10. package/dist/oauth.js +397 -0
  11. package/dist/server.js +406 -0
  12. package/dist/src/client.d.ts +10 -1
  13. package/dist/src/client.d.ts.map +1 -1
  14. package/dist/src/index.d.ts +18 -0
  15. package/dist/src/index.d.ts.map +1 -1
  16. package/dist/src/integrations/airtable-client.d.ts +260 -0
  17. package/dist/src/integrations/airtable-client.d.ts.map +1 -0
  18. package/dist/src/integrations/airtable.d.ts +37 -0
  19. package/dist/src/integrations/airtable.d.ts.map +1 -0
  20. package/dist/src/integrations/gcal-client.d.ts +370 -0
  21. package/dist/src/integrations/gcal-client.d.ts.map +1 -0
  22. package/dist/src/integrations/gcal.d.ts +37 -0
  23. package/dist/src/integrations/gcal.d.ts.map +1 -0
  24. package/dist/src/integrations/linear-client.d.ts +309 -0
  25. package/dist/src/integrations/linear-client.d.ts.map +1 -0
  26. package/dist/src/integrations/linear.d.ts +37 -0
  27. package/dist/src/integrations/linear.d.ts.map +1 -0
  28. package/dist/src/integrations/outlook-client.d.ts +433 -0
  29. package/dist/src/integrations/outlook-client.d.ts.map +1 -0
  30. package/dist/src/integrations/outlook.d.ts +37 -0
  31. package/dist/src/integrations/outlook.d.ts.map +1 -0
  32. package/dist/src/integrations/slack-client.d.ts +271 -0
  33. package/dist/src/integrations/slack-client.d.ts.map +1 -0
  34. package/dist/src/integrations/slack.d.ts +37 -0
  35. package/dist/src/integrations/slack.d.ts.map +1 -0
  36. package/dist/src/integrations/stripe-client.d.ts +412 -0
  37. package/dist/src/integrations/stripe-client.d.ts.map +1 -0
  38. package/dist/src/integrations/stripe.d.ts +37 -0
  39. package/dist/src/integrations/stripe.d.ts.map +1 -0
  40. package/dist/src/integrations/todoist-client.d.ts +253 -0
  41. package/dist/src/integrations/todoist-client.d.ts.map +1 -0
  42. package/dist/src/integrations/todoist.d.ts +37 -0
  43. package/dist/src/integrations/todoist.d.ts.map +1 -0
  44. package/dist/src/integrations/vercel-client.d.ts +278 -0
  45. package/dist/src/integrations/vercel-client.d.ts.map +1 -0
  46. package/dist/src/integrations/vercel.d.ts +37 -0
  47. package/dist/src/integrations/vercel.d.ts.map +1 -0
  48. package/dist/src/integrations/zendesk-client.d.ts +395 -0
  49. package/dist/src/integrations/zendesk-client.d.ts.map +1 -0
  50. package/dist/src/integrations/zendesk.d.ts +39 -0
  51. package/dist/src/integrations/zendesk.d.ts.map +1 -0
  52. package/dist/src/server.d.ts +9 -0
  53. package/dist/src/server.d.ts.map +1 -1
  54. package/index.ts +18 -0
  55. package/package.json +2 -2
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Google Calendar Integration
3
+ * Enables Google Calendar tools with OAuth configuration
4
+ */
5
+ import type { MCPIntegration } from "./types.js";
6
+ /**
7
+ * Google Calendar integration configuration
8
+ *
9
+ * SERVER-SIDE: Automatically reads GCAL_CLIENT_ID and GCAL_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 GcalIntegrationConfig {
14
+ /** Google OAuth client ID (defaults to GCAL_CLIENT_ID env var) */
15
+ clientId?: string;
16
+ /** Google OAuth client secret (defaults to GCAL_CLIENT_SECRET env var) */
17
+ clientSecret?: string;
18
+ /** Additional OAuth scopes (default: ['https://www.googleapis.com/auth/calendar']) */
19
+ scopes?: string[];
20
+ /** OAuth redirect URI */
21
+ redirectUri?: string;
22
+ }
23
+ /**
24
+ * Default Google Calendar tools that this integration enables
25
+ * These should match the tool names exposed by your MCP server
26
+ */
27
+ declare const GCAL_TOOLS: readonly ["gcal_list_calendars", "gcal_get_calendar", "gcal_list_events", "gcal_get_event", "gcal_create_event", "gcal_update_event", "gcal_delete_event", "gcal_list_attendees", "gcal_quick_add"];
28
+ export declare function gcalIntegration(config?: GcalIntegrationConfig): MCPIntegration<"gcal">;
29
+ /**
30
+ * Export tool names for type inference
31
+ */
32
+ export type GcalTools = typeof GCAL_TOOLS[number];
33
+ /**
34
+ * Export Google Calendar client types
35
+ */
36
+ export type { GcalIntegrationClient } from "./gcal-client.js";
37
+ //# sourceMappingURL=gcal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gcal.d.ts","sourceRoot":"","sources":["../../../src/integrations/gcal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAG9D;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,QAAA,MAAM,UAAU,qMAUN,CAAC;AAGX,wBAAgB,eAAe,CAAC,MAAM,GAAE,qBAA0B,GAAG,cAAc,CAAC,MAAM,CAAC,CAyB1F;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAElD;;GAEG;AACH,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,309 @@
1
+ /**
2
+ * Linear Integration Client Types
3
+ * Fully typed interface for Linear integration methods
4
+ */
5
+ import type { MCPToolCallResponse } from "../protocol/messages.js";
6
+ /**
7
+ * Linear Issue
8
+ */
9
+ export interface LinearIssue {
10
+ id: string;
11
+ identifier: string;
12
+ title: string;
13
+ description?: string;
14
+ priority: number;
15
+ priorityLabel: string;
16
+ state: {
17
+ id: string;
18
+ name: string;
19
+ type: string;
20
+ color: string;
21
+ };
22
+ assignee?: {
23
+ id: string;
24
+ name: string;
25
+ email: string;
26
+ avatarUrl?: string;
27
+ };
28
+ team: {
29
+ id: string;
30
+ name: string;
31
+ key: string;
32
+ };
33
+ project?: {
34
+ id: string;
35
+ name: string;
36
+ };
37
+ labels?: Array<{
38
+ id: string;
39
+ name: string;
40
+ color: string;
41
+ }>;
42
+ createdAt: string;
43
+ updatedAt: string;
44
+ completedAt?: string;
45
+ canceledAt?: string;
46
+ dueDate?: string;
47
+ url: string;
48
+ }
49
+ /**
50
+ * Linear Project
51
+ */
52
+ export interface LinearProject {
53
+ id: string;
54
+ name: string;
55
+ description?: string;
56
+ icon?: string;
57
+ color?: string;
58
+ state: string;
59
+ progress: number;
60
+ startDate?: string;
61
+ targetDate?: string;
62
+ createdAt: string;
63
+ updatedAt: string;
64
+ url: string;
65
+ }
66
+ /**
67
+ * Linear Team
68
+ */
69
+ export interface LinearTeam {
70
+ id: string;
71
+ name: string;
72
+ key: string;
73
+ description?: string;
74
+ icon?: string;
75
+ color?: string;
76
+ private: boolean;
77
+ createdAt: string;
78
+ updatedAt: string;
79
+ }
80
+ /**
81
+ * Linear Label
82
+ */
83
+ export interface LinearLabel {
84
+ id: string;
85
+ name: string;
86
+ description?: string;
87
+ color: string;
88
+ createdAt: string;
89
+ updatedAt: string;
90
+ }
91
+ /**
92
+ * Linear Comment
93
+ */
94
+ export interface LinearComment {
95
+ id: string;
96
+ body: string;
97
+ user: {
98
+ id: string;
99
+ name: string;
100
+ email: string;
101
+ };
102
+ createdAt: string;
103
+ updatedAt: string;
104
+ }
105
+ /**
106
+ * Linear Integration Client Interface
107
+ * Provides type-safe methods for all Linear operations
108
+ */
109
+ export interface LinearIntegrationClient {
110
+ /**
111
+ * Create a new issue in Linear
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * const issue = await client.linear.createIssue({
116
+ * teamId: "team-id",
117
+ * title: "Fix authentication bug",
118
+ * description: "Users are unable to login"
119
+ * });
120
+ * ```
121
+ */
122
+ createIssue(params: {
123
+ /** Team ID to create the issue in */
124
+ teamId: string;
125
+ /** Issue title */
126
+ title: string;
127
+ /** Issue description (markdown supported) */
128
+ description?: string;
129
+ /** Priority (0 = no priority, 1 = urgent, 2 = high, 3 = normal, 4 = low) */
130
+ priority?: number;
131
+ /** Assignee user ID */
132
+ assigneeId?: string;
133
+ /** Project ID */
134
+ projectId?: string;
135
+ /** Label IDs */
136
+ labelIds?: string[];
137
+ /** Due date (ISO 8601) */
138
+ dueDate?: string;
139
+ /** State ID */
140
+ stateId?: string;
141
+ }): Promise<MCPToolCallResponse>;
142
+ /**
143
+ * List issues in Linear
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * const issues = await client.linear.listIssues({
148
+ * teamId: "team-id",
149
+ * first: 50
150
+ * });
151
+ * ```
152
+ */
153
+ listIssues(params?: {
154
+ /** Team ID to filter by */
155
+ teamId?: string;
156
+ /** Project ID to filter by */
157
+ projectId?: string;
158
+ /** Assignee user ID to filter by */
159
+ assigneeId?: string;
160
+ /** State IDs to filter by */
161
+ stateIds?: string[];
162
+ /** Label IDs to filter by */
163
+ labelIds?: string[];
164
+ /** Number of issues to return */
165
+ first?: number;
166
+ /** Pagination cursor */
167
+ after?: string;
168
+ /** Include archived issues */
169
+ includeArchived?: boolean;
170
+ }): Promise<MCPToolCallResponse>;
171
+ /**
172
+ * Get a specific issue by ID or identifier
173
+ *
174
+ * @example
175
+ * ```typescript
176
+ * const issue = await client.linear.getIssue({
177
+ * issueId: "ABC-123"
178
+ * });
179
+ * ```
180
+ */
181
+ getIssue(params: {
182
+ /** Issue ID or identifier (e.g., "ABC-123") */
183
+ issueId: string;
184
+ }): Promise<MCPToolCallResponse>;
185
+ /**
186
+ * Update an existing issue
187
+ *
188
+ * @example
189
+ * ```typescript
190
+ * await client.linear.updateIssue({
191
+ * issueId: "issue-id",
192
+ * title: "Updated title",
193
+ * priority: 1
194
+ * });
195
+ * ```
196
+ */
197
+ updateIssue(params: {
198
+ /** Issue ID to update */
199
+ issueId: string;
200
+ /** New title */
201
+ title?: string;
202
+ /** New description */
203
+ description?: string;
204
+ /** New priority */
205
+ priority?: number;
206
+ /** New assignee user ID */
207
+ assigneeId?: string;
208
+ /** New state ID */
209
+ stateId?: string;
210
+ /** New project ID */
211
+ projectId?: string;
212
+ /** New label IDs */
213
+ labelIds?: string[];
214
+ /** New due date */
215
+ dueDate?: string;
216
+ }): Promise<MCPToolCallResponse>;
217
+ /**
218
+ * List projects in Linear
219
+ *
220
+ * @example
221
+ * ```typescript
222
+ * const projects = await client.linear.listProjects({
223
+ * first: 20
224
+ * });
225
+ * ```
226
+ */
227
+ listProjects(params?: {
228
+ /** Team ID to filter by */
229
+ teamId?: string;
230
+ /** Number of projects to return */
231
+ first?: number;
232
+ /** Pagination cursor */
233
+ after?: string;
234
+ /** Include archived projects */
235
+ includeArchived?: boolean;
236
+ }): Promise<MCPToolCallResponse>;
237
+ /**
238
+ * List teams in Linear
239
+ *
240
+ * @example
241
+ * ```typescript
242
+ * const teams = await client.linear.listTeams({
243
+ * first: 20
244
+ * });
245
+ * ```
246
+ */
247
+ listTeams(params?: {
248
+ /** Number of teams to return */
249
+ first?: number;
250
+ /** Pagination cursor */
251
+ after?: string;
252
+ }): Promise<MCPToolCallResponse>;
253
+ /**
254
+ * Add a comment to an issue
255
+ *
256
+ * @example
257
+ * ```typescript
258
+ * await client.linear.addComment({
259
+ * issueId: "issue-id",
260
+ * body: "This is a comment"
261
+ * });
262
+ * ```
263
+ */
264
+ addComment(params: {
265
+ /** Issue ID to comment on */
266
+ issueId: string;
267
+ /** Comment body (markdown supported) */
268
+ body: string;
269
+ }): Promise<MCPToolCallResponse>;
270
+ /**
271
+ * List labels in Linear
272
+ *
273
+ * @example
274
+ * ```typescript
275
+ * const labels = await client.linear.listLabels({
276
+ * teamId: "team-id"
277
+ * });
278
+ * ```
279
+ */
280
+ listLabels(params?: {
281
+ /** Team ID to filter by */
282
+ teamId?: string;
283
+ /** Number of labels to return */
284
+ first?: number;
285
+ /** Pagination cursor */
286
+ after?: string;
287
+ }): Promise<MCPToolCallResponse>;
288
+ /**
289
+ * Search for issues
290
+ *
291
+ * @example
292
+ * ```typescript
293
+ * const results = await client.linear.searchIssues({
294
+ * query: "authentication bug"
295
+ * });
296
+ * ```
297
+ */
298
+ searchIssues(params: {
299
+ /** Search query */
300
+ query: string;
301
+ /** Team ID to filter by */
302
+ teamId?: string;
303
+ /** Include archived issues */
304
+ includeArchived?: boolean;
305
+ /** Number of results to return */
306
+ first?: number;
307
+ }): Promise<MCPToolCallResponse>;
308
+ }
309
+ //# sourceMappingURL=linear-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linear-client.d.ts","sourceRoot":"","sources":["../../../src/integrations/linear-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Linear Integration
3
+ * Enables Linear tools with OAuth configuration
4
+ */
5
+ import type { MCPIntegration } from "./types.js";
6
+ /**
7
+ * Linear integration configuration
8
+ *
9
+ * SERVER-SIDE: Automatically reads LINEAR_CLIENT_ID and LINEAR_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 LinearIntegrationConfig {
14
+ /** Linear OAuth client ID (defaults to LINEAR_CLIENT_ID env var) */
15
+ clientId?: string;
16
+ /** Linear OAuth client secret (defaults to LINEAR_CLIENT_SECRET env var) */
17
+ clientSecret?: string;
18
+ /** Additional OAuth scopes (default: ['read', 'write', 'issues:create']) */
19
+ scopes?: string[];
20
+ /** OAuth redirect URI */
21
+ redirectUri?: string;
22
+ }
23
+ /**
24
+ * Default Linear tools that this integration enables
25
+ * These should match the tool names exposed by your MCP server
26
+ */
27
+ declare const LINEAR_TOOLS: readonly ["linear_create_issue", "linear_list_issues", "linear_get_issue", "linear_update_issue", "linear_list_projects", "linear_list_teams", "linear_add_comment", "linear_list_labels", "linear_search_issues"];
28
+ export declare function linearIntegration(config?: LinearIntegrationConfig): MCPIntegration<"linear">;
29
+ /**
30
+ * Export tool names for type inference
31
+ */
32
+ export type LinearTools = typeof LINEAR_TOOLS[number];
33
+ /**
34
+ * Export Linear client types
35
+ */
36
+ export type { LinearIntegrationClient } from "./linear-client.js";
37
+ //# sourceMappingURL=linear.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../../src/integrations/linear.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAG9D;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,QAAA,MAAM,YAAY,oNAUR,CAAC;AAGX,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,uBAA4B,GAAG,cAAc,CAAC,QAAQ,CAAC,CAyBhG;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAEtD;;GAEG;AACH,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC"}