integrate-sdk 0.8.29-dev.0 → 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 (39) hide show
  1. package/dist/adapters/auto-routes.js +220 -0
  2. package/dist/adapters/index.js +220 -0
  3. package/dist/adapters/nextjs.js +220 -0
  4. package/dist/adapters/node.js +220 -0
  5. package/dist/adapters/svelte-kit.js +220 -0
  6. package/dist/adapters/tanstack-start.js +220 -0
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +241 -1
  10. package/dist/oauth.js +220 -0
  11. package/dist/server.js +225 -0
  12. package/dist/src/client.d.ts +6 -1
  13. package/dist/src/client.d.ts.map +1 -1
  14. package/dist/src/index.d.ts +10 -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/outlook-client.d.ts +433 -0
  25. package/dist/src/integrations/outlook-client.d.ts.map +1 -0
  26. package/dist/src/integrations/outlook.d.ts +37 -0
  27. package/dist/src/integrations/outlook.d.ts.map +1 -0
  28. package/dist/src/integrations/stripe-client.d.ts +412 -0
  29. package/dist/src/integrations/stripe-client.d.ts.map +1 -0
  30. package/dist/src/integrations/stripe.d.ts +37 -0
  31. package/dist/src/integrations/stripe.d.ts.map +1 -0
  32. package/dist/src/integrations/todoist-client.d.ts +253 -0
  33. package/dist/src/integrations/todoist-client.d.ts.map +1 -0
  34. package/dist/src/integrations/todoist.d.ts +37 -0
  35. package/dist/src/integrations/todoist.d.ts.map +1 -0
  36. package/dist/src/server.d.ts +5 -0
  37. package/dist/src/server.d.ts.map +1 -1
  38. package/index.ts +10 -0
  39. package/package.json +1 -1
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Airtable Integration
3
+ * Enables Airtable tools with OAuth configuration
4
+ */
5
+ import type { MCPIntegration } from "./types.js";
6
+ /**
7
+ * Airtable integration configuration
8
+ *
9
+ * SERVER-SIDE: Automatically reads AIRTABLE_CLIENT_ID and AIRTABLE_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 AirtableIntegrationConfig {
14
+ /** Airtable OAuth client ID (defaults to AIRTABLE_CLIENT_ID env var) */
15
+ clientId?: string;
16
+ /** Airtable OAuth client secret (defaults to AIRTABLE_CLIENT_SECRET env var) */
17
+ clientSecret?: string;
18
+ /** Additional OAuth scopes (default: ['data.records:read', 'data.records:write', 'schema.bases:read']) */
19
+ scopes?: string[];
20
+ /** OAuth redirect URI */
21
+ redirectUri?: string;
22
+ }
23
+ /**
24
+ * Default Airtable tools that this integration enables
25
+ * These should match the tool names exposed by your MCP server
26
+ */
27
+ declare const AIRTABLE_TOOLS: readonly ["airtable_list_bases", "airtable_get_base", "airtable_list_tables", "airtable_get_table", "airtable_list_records", "airtable_get_record", "airtable_create_record", "airtable_update_record", "airtable_search_records"];
28
+ export declare function airtableIntegration(config?: AirtableIntegrationConfig): MCPIntegration<"airtable">;
29
+ /**
30
+ * Export tool names for type inference
31
+ */
32
+ export type AirtableTools = typeof AIRTABLE_TOOLS[number];
33
+ /**
34
+ * Export Airtable client types
35
+ */
36
+ export type { AirtableIntegrationClient } from "./airtable-client.js";
37
+ //# sourceMappingURL=airtable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"airtable.d.ts","sourceRoot":"","sources":["../../../src/integrations/airtable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAG9D;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0GAA0G;IAC1G,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,QAAA,MAAM,cAAc,oOAUV,CAAC;AAGX,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,yBAA8B,GAAG,cAAc,CAAC,UAAU,CAAC,CAyBtG;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAE1D;;GAEG;AACH,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,370 @@
1
+ /**
2
+ * Google Calendar Integration Client Types
3
+ * Fully typed interface for Google Calendar integration methods
4
+ */
5
+ import type { MCPToolCallResponse } from "../protocol/messages.js";
6
+ /**
7
+ * Google Calendar
8
+ */
9
+ export interface GcalCalendar {
10
+ id: string;
11
+ summary: string;
12
+ description?: string;
13
+ location?: string;
14
+ timeZone?: string;
15
+ summaryOverride?: string;
16
+ colorId?: string;
17
+ backgroundColor?: string;
18
+ foregroundColor?: string;
19
+ hidden?: boolean;
20
+ selected?: boolean;
21
+ accessRole: "freeBusyReader" | "reader" | "writer" | "owner";
22
+ defaultReminders?: Array<{
23
+ method: "email" | "popup";
24
+ minutes: number;
25
+ }>;
26
+ primary?: boolean;
27
+ }
28
+ /**
29
+ * Google Calendar Event
30
+ */
31
+ export interface GcalEvent {
32
+ id: string;
33
+ status?: "confirmed" | "tentative" | "cancelled";
34
+ htmlLink?: string;
35
+ created?: string;
36
+ updated?: string;
37
+ summary?: string;
38
+ description?: string;
39
+ location?: string;
40
+ colorId?: string;
41
+ creator?: {
42
+ id?: string;
43
+ email?: string;
44
+ displayName?: string;
45
+ self?: boolean;
46
+ };
47
+ organizer?: {
48
+ id?: string;
49
+ email?: string;
50
+ displayName?: string;
51
+ self?: boolean;
52
+ };
53
+ start: {
54
+ date?: string;
55
+ dateTime?: string;
56
+ timeZone?: string;
57
+ };
58
+ end: {
59
+ date?: string;
60
+ dateTime?: string;
61
+ timeZone?: string;
62
+ };
63
+ endTimeUnspecified?: boolean;
64
+ recurrence?: string[];
65
+ recurringEventId?: string;
66
+ originalStartTime?: {
67
+ date?: string;
68
+ dateTime?: string;
69
+ timeZone?: string;
70
+ };
71
+ transparency?: "opaque" | "transparent";
72
+ visibility?: "default" | "public" | "private" | "confidential";
73
+ iCalUID?: string;
74
+ sequence?: number;
75
+ attendees?: GcalAttendee[];
76
+ attendeesOmitted?: boolean;
77
+ hangoutLink?: string;
78
+ conferenceData?: {
79
+ createRequest?: {
80
+ requestId: string;
81
+ conferenceSolutionKey?: {
82
+ type: string;
83
+ };
84
+ status?: {
85
+ statusCode: string;
86
+ };
87
+ };
88
+ entryPoints?: Array<{
89
+ entryPointType: string;
90
+ uri?: string;
91
+ label?: string;
92
+ pin?: string;
93
+ accessCode?: string;
94
+ meetingCode?: string;
95
+ passcode?: string;
96
+ password?: string;
97
+ }>;
98
+ conferenceSolution?: {
99
+ key?: {
100
+ type: string;
101
+ };
102
+ name?: string;
103
+ iconUri?: string;
104
+ };
105
+ conferenceId?: string;
106
+ };
107
+ reminders?: {
108
+ useDefault: boolean;
109
+ overrides?: Array<{
110
+ method: "email" | "popup";
111
+ minutes: number;
112
+ }>;
113
+ };
114
+ }
115
+ /**
116
+ * Google Calendar Attendee
117
+ */
118
+ export interface GcalAttendee {
119
+ id?: string;
120
+ email: string;
121
+ displayName?: string;
122
+ organizer?: boolean;
123
+ self?: boolean;
124
+ resource?: boolean;
125
+ optional?: boolean;
126
+ responseStatus?: "needsAction" | "declined" | "tentative" | "accepted";
127
+ comment?: string;
128
+ additionalGuests?: number;
129
+ }
130
+ /**
131
+ * Google Calendar Integration Client Interface
132
+ * Provides type-safe methods for all Google Calendar operations
133
+ */
134
+ export interface GcalIntegrationClient {
135
+ /**
136
+ * List calendars
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * const calendars = await client.gcal.listCalendars({});
141
+ * ```
142
+ */
143
+ listCalendars(params?: {
144
+ /** Maximum number of entries returned */
145
+ maxResults?: number;
146
+ /** Token for pagination */
147
+ pageToken?: string;
148
+ /** Whether to include deleted calendars */
149
+ showDeleted?: boolean;
150
+ /** Whether to show hidden calendars */
151
+ showHidden?: boolean;
152
+ }): Promise<MCPToolCallResponse>;
153
+ /**
154
+ * Get a specific calendar
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * const calendar = await client.gcal.getCalendar({
159
+ * calendarId: "primary"
160
+ * });
161
+ * ```
162
+ */
163
+ getCalendar(params: {
164
+ /** Calendar ID (use 'primary' for the user's primary calendar) */
165
+ calendarId: string;
166
+ }): Promise<MCPToolCallResponse>;
167
+ /**
168
+ * List events in a calendar
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * const events = await client.gcal.listEvents({
173
+ * calendarId: "primary",
174
+ * timeMin: new Date().toISOString()
175
+ * });
176
+ * ```
177
+ */
178
+ listEvents(params: {
179
+ /** Calendar ID */
180
+ calendarId: string;
181
+ /** Lower bound for event's end time (ISO 8601) */
182
+ timeMin?: string;
183
+ /** Upper bound for event's start time (ISO 8601) */
184
+ timeMax?: string;
185
+ /** Maximum number of events returned */
186
+ maxResults?: number;
187
+ /** Token for pagination */
188
+ pageToken?: string;
189
+ /** Free text search terms */
190
+ q?: string;
191
+ /** Whether to include deleted events */
192
+ showDeleted?: boolean;
193
+ /** Whether to expand recurring events */
194
+ singleEvents?: boolean;
195
+ /** Order of events returned */
196
+ orderBy?: "startTime" | "updated";
197
+ }): Promise<MCPToolCallResponse>;
198
+ /**
199
+ * Get a specific event
200
+ *
201
+ * @example
202
+ * ```typescript
203
+ * const event = await client.gcal.getEvent({
204
+ * calendarId: "primary",
205
+ * eventId: "event123"
206
+ * });
207
+ * ```
208
+ */
209
+ getEvent(params: {
210
+ /** Calendar ID */
211
+ calendarId: string;
212
+ /** Event ID */
213
+ eventId: string;
214
+ /** Time zone for the response */
215
+ timeZone?: string;
216
+ }): Promise<MCPToolCallResponse>;
217
+ /**
218
+ * Create a new event
219
+ *
220
+ * @example
221
+ * ```typescript
222
+ * const event = await client.gcal.createEvent({
223
+ * calendarId: "primary",
224
+ * summary: "Team Meeting",
225
+ * start: { dateTime: "2024-01-15T10:00:00-07:00" },
226
+ * end: { dateTime: "2024-01-15T11:00:00-07:00" }
227
+ * });
228
+ * ```
229
+ */
230
+ createEvent(params: {
231
+ /** Calendar ID */
232
+ calendarId: string;
233
+ /** Event summary/title */
234
+ summary: string;
235
+ /** Event description */
236
+ description?: string;
237
+ /** Event location */
238
+ location?: string;
239
+ /** Event start time */
240
+ start: {
241
+ /** All-day event date (yyyy-MM-dd) */
242
+ date?: string;
243
+ /** Event start datetime (RFC 3339) */
244
+ dateTime?: string;
245
+ /** Time zone */
246
+ timeZone?: string;
247
+ };
248
+ /** Event end time */
249
+ end: {
250
+ /** All-day event end date (yyyy-MM-dd) */
251
+ date?: string;
252
+ /** Event end datetime (RFC 3339) */
253
+ dateTime?: string;
254
+ /** Time zone */
255
+ timeZone?: string;
256
+ };
257
+ /** Attendees to invite */
258
+ attendees?: Array<{
259
+ email: string;
260
+ displayName?: string;
261
+ optional?: boolean;
262
+ }>;
263
+ /** Whether to send notifications to attendees */
264
+ sendUpdates?: "all" | "externalOnly" | "none";
265
+ /** Recurrence rules (RRULE format) */
266
+ recurrence?: string[];
267
+ /** Whether to create a conference */
268
+ conferenceDataVersion?: 0 | 1;
269
+ }): Promise<MCPToolCallResponse>;
270
+ /**
271
+ * Update an existing event
272
+ *
273
+ * @example
274
+ * ```typescript
275
+ * await client.gcal.updateEvent({
276
+ * calendarId: "primary",
277
+ * eventId: "event123",
278
+ * summary: "Updated Meeting Title"
279
+ * });
280
+ * ```
281
+ */
282
+ updateEvent(params: {
283
+ /** Calendar ID */
284
+ calendarId: string;
285
+ /** Event ID */
286
+ eventId: string;
287
+ /** Event summary/title */
288
+ summary?: string;
289
+ /** Event description */
290
+ description?: string;
291
+ /** Event location */
292
+ location?: string;
293
+ /** Event start time */
294
+ start?: {
295
+ date?: string;
296
+ dateTime?: string;
297
+ timeZone?: string;
298
+ };
299
+ /** Event end time */
300
+ end?: {
301
+ date?: string;
302
+ dateTime?: string;
303
+ timeZone?: string;
304
+ };
305
+ /** Attendees */
306
+ attendees?: Array<{
307
+ email: string;
308
+ displayName?: string;
309
+ optional?: boolean;
310
+ }>;
311
+ /** Whether to send notifications */
312
+ sendUpdates?: "all" | "externalOnly" | "none";
313
+ }): Promise<MCPToolCallResponse>;
314
+ /**
315
+ * Delete an event
316
+ *
317
+ * @example
318
+ * ```typescript
319
+ * await client.gcal.deleteEvent({
320
+ * calendarId: "primary",
321
+ * eventId: "event123"
322
+ * });
323
+ * ```
324
+ */
325
+ deleteEvent(params: {
326
+ /** Calendar ID */
327
+ calendarId: string;
328
+ /** Event ID */
329
+ eventId: string;
330
+ /** Whether to send notifications */
331
+ sendUpdates?: "all" | "externalOnly" | "none";
332
+ }): Promise<MCPToolCallResponse>;
333
+ /**
334
+ * List attendees for an event
335
+ *
336
+ * @example
337
+ * ```typescript
338
+ * const attendees = await client.gcal.listAttendees({
339
+ * calendarId: "primary",
340
+ * eventId: "event123"
341
+ * });
342
+ * ```
343
+ */
344
+ listAttendees(params: {
345
+ /** Calendar ID */
346
+ calendarId: string;
347
+ /** Event ID */
348
+ eventId: string;
349
+ }): Promise<MCPToolCallResponse>;
350
+ /**
351
+ * Quickly add an event using natural language
352
+ *
353
+ * @example
354
+ * ```typescript
355
+ * const event = await client.gcal.quickAdd({
356
+ * calendarId: "primary",
357
+ * text: "Meeting with John tomorrow at 3pm"
358
+ * });
359
+ * ```
360
+ */
361
+ quickAdd(params: {
362
+ /** Calendar ID */
363
+ calendarId: string;
364
+ /** Text describing the event in natural language */
365
+ text: string;
366
+ /** Whether to send notifications */
367
+ sendUpdates?: "all" | "externalOnly" | "none";
368
+ }): Promise<MCPToolCallResponse>;
369
+ }
370
+ //# sourceMappingURL=gcal-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gcal-client.d.ts","sourceRoot":"","sources":["../../../src/integrations/gcal-client.ts"],"names":[],"mappings":"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"}
@@ -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"}