integrate-sdk 0.8.30-dev.0 → 0.8.31-dev.1

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 (60) hide show
  1. package/dist/adapters/auto-routes.js +466 -0
  2. package/dist/adapters/index.js +466 -0
  3. package/dist/adapters/nextjs.js +466 -0
  4. package/dist/adapters/node.js +466 -0
  5. package/dist/adapters/svelte-kit.js +466 -0
  6. package/dist/adapters/tanstack-start.js +466 -0
  7. package/dist/index.js +488 -0
  8. package/dist/oauth.js +466 -0
  9. package/dist/server.js +477 -0
  10. package/dist/src/client.d.ts +12 -1
  11. package/dist/src/client.d.ts.map +1 -1
  12. package/dist/src/index.d.ts +22 -0
  13. package/dist/src/index.d.ts.map +1 -1
  14. package/dist/src/integrations/calcom-client.d.ts +355 -0
  15. package/dist/src/integrations/calcom-client.d.ts.map +1 -0
  16. package/dist/src/integrations/calcom.d.ts +39 -0
  17. package/dist/src/integrations/calcom.d.ts.map +1 -0
  18. package/dist/src/integrations/cursor-client.d.ts +259 -0
  19. package/dist/src/integrations/cursor-client.d.ts.map +1 -0
  20. package/dist/src/integrations/cursor.d.ts +30 -0
  21. package/dist/src/integrations/cursor.d.ts.map +1 -0
  22. package/dist/src/integrations/figma-client.d.ts +327 -0
  23. package/dist/src/integrations/figma-client.d.ts.map +1 -0
  24. package/dist/src/integrations/figma.d.ts +37 -0
  25. package/dist/src/integrations/figma.d.ts.map +1 -0
  26. package/dist/src/integrations/gworkspace-client.d.ts +392 -0
  27. package/dist/src/integrations/gworkspace-client.d.ts.map +1 -0
  28. package/dist/src/integrations/gworkspace.d.ts +37 -0
  29. package/dist/src/integrations/gworkspace.d.ts.map +1 -0
  30. package/dist/src/integrations/hubspot-client.d.ts +367 -0
  31. package/dist/src/integrations/hubspot-client.d.ts.map +1 -0
  32. package/dist/src/integrations/hubspot.d.ts +37 -0
  33. package/dist/src/integrations/hubspot.d.ts.map +1 -0
  34. package/dist/src/integrations/intercom-client.d.ts +414 -0
  35. package/dist/src/integrations/intercom-client.d.ts.map +1 -0
  36. package/dist/src/integrations/intercom.d.ts +37 -0
  37. package/dist/src/integrations/intercom.d.ts.map +1 -0
  38. package/dist/src/integrations/onedrive-client.d.ts +338 -0
  39. package/dist/src/integrations/onedrive-client.d.ts.map +1 -0
  40. package/dist/src/integrations/onedrive.d.ts +37 -0
  41. package/dist/src/integrations/onedrive.d.ts.map +1 -0
  42. package/dist/src/integrations/polar-client.d.ts +297 -0
  43. package/dist/src/integrations/polar-client.d.ts.map +1 -0
  44. package/dist/src/integrations/polar.d.ts +39 -0
  45. package/dist/src/integrations/polar.d.ts.map +1 -0
  46. package/dist/src/integrations/ramp-client.d.ts +341 -0
  47. package/dist/src/integrations/ramp-client.d.ts.map +1 -0
  48. package/dist/src/integrations/ramp.d.ts +39 -0
  49. package/dist/src/integrations/ramp.d.ts.map +1 -0
  50. package/dist/src/integrations/whatsapp-client.d.ts +320 -0
  51. package/dist/src/integrations/whatsapp-client.d.ts.map +1 -0
  52. package/dist/src/integrations/whatsapp.d.ts +39 -0
  53. package/dist/src/integrations/whatsapp.d.ts.map +1 -0
  54. package/dist/src/integrations/youtube-client.d.ts +459 -0
  55. package/dist/src/integrations/youtube-client.d.ts.map +1 -0
  56. package/dist/src/integrations/youtube.d.ts +37 -0
  57. package/dist/src/integrations/youtube.d.ts.map +1 -0
  58. package/dist/src/server.d.ts +11 -0
  59. package/dist/src/server.d.ts.map +1 -1
  60. package/package.json +1 -1
@@ -0,0 +1,355 @@
1
+ /**
2
+ * Cal.com Integration Client Types
3
+ * Fully typed interface for Cal.com integration methods
4
+ */
5
+ import type { MCPToolCallResponse } from "../protocol/messages.js";
6
+ /**
7
+ * Cal.com Booking
8
+ */
9
+ export interface CalcomBooking {
10
+ id: number;
11
+ uid: string;
12
+ title: string;
13
+ description?: string;
14
+ startTime: string;
15
+ endTime: string;
16
+ attendees: Array<{
17
+ email: string;
18
+ name: string;
19
+ timeZone: string;
20
+ locale?: string;
21
+ }>;
22
+ user?: {
23
+ id: number;
24
+ email: string;
25
+ name: string;
26
+ timeZone: string;
27
+ };
28
+ eventType: {
29
+ id: number;
30
+ title: string;
31
+ slug: string;
32
+ length: number;
33
+ };
34
+ status: "accepted" | "pending" | "cancelled" | "rejected";
35
+ paid?: boolean;
36
+ payment?: Array<{
37
+ id: number;
38
+ success: boolean;
39
+ amount: number;
40
+ currency: string;
41
+ }>;
42
+ metadata?: Record<string, any>;
43
+ location?: string;
44
+ cancellationReason?: string;
45
+ rescheduled?: boolean;
46
+ fromReschedule?: string;
47
+ recurringEventId?: string;
48
+ responses?: Record<string, any>;
49
+ }
50
+ /**
51
+ * Cal.com Event Type
52
+ */
53
+ export interface CalcomEventType {
54
+ id: number;
55
+ title: string;
56
+ slug: string;
57
+ description?: string;
58
+ length: number;
59
+ hidden: boolean;
60
+ position: number;
61
+ teamId?: number;
62
+ eventName?: string;
63
+ timeZone?: string;
64
+ periodType?: "UNLIMITED" | "ROLLING" | "RANGE";
65
+ periodStartDate?: string;
66
+ periodEndDate?: string;
67
+ periodDays?: number;
68
+ periodCountCalendarDays?: boolean;
69
+ requiresConfirmation?: boolean;
70
+ recurringEvent?: {
71
+ freq: number;
72
+ count: number;
73
+ interval: number;
74
+ };
75
+ disableGuests?: boolean;
76
+ hideCalendarNotes?: boolean;
77
+ minimumBookingNotice?: number;
78
+ beforeEventBuffer?: number;
79
+ afterEventBuffer?: number;
80
+ seatsPerTimeSlot?: number;
81
+ schedulingType?: "ROUND_ROBIN" | "COLLECTIVE";
82
+ schedule?: {
83
+ id: number;
84
+ name: string;
85
+ timeZone: string;
86
+ };
87
+ price?: number;
88
+ currency?: string;
89
+ slotInterval?: number;
90
+ metadata?: Record<string, any>;
91
+ successRedirectUrl?: string;
92
+ locations?: Array<{
93
+ type: string;
94
+ address?: string;
95
+ link?: string;
96
+ }>;
97
+ }
98
+ /**
99
+ * Cal.com Schedule
100
+ */
101
+ export interface CalcomSchedule {
102
+ id: number;
103
+ name: string;
104
+ isDefault: boolean;
105
+ availability: Array<{
106
+ id: number;
107
+ days: number[];
108
+ startTime: string;
109
+ endTime: string;
110
+ date?: string;
111
+ }>;
112
+ timeZone: string;
113
+ }
114
+ /**
115
+ * Cal.com Availability
116
+ */
117
+ export interface CalcomAvailability {
118
+ busy: Array<{
119
+ start: string;
120
+ end: string;
121
+ }>;
122
+ timeZone: string;
123
+ workingHours: Array<{
124
+ days: number[];
125
+ startTime: number;
126
+ endTime: number;
127
+ }>;
128
+ dateOverrides: Array<{
129
+ date: string;
130
+ startTime: number;
131
+ endTime: number;
132
+ }>;
133
+ currentSeats?: number;
134
+ }
135
+ /**
136
+ * Cal.com User
137
+ */
138
+ export interface CalcomUser {
139
+ id: number;
140
+ username?: string;
141
+ name: string;
142
+ email: string;
143
+ emailVerified?: string;
144
+ bio?: string;
145
+ avatar?: string;
146
+ timeZone: string;
147
+ weekStart: string;
148
+ createdDate: string;
149
+ verified?: boolean;
150
+ locale?: string;
151
+ timeFormat?: number;
152
+ hideBranding?: boolean;
153
+ theme?: string;
154
+ brandColor?: string;
155
+ darkBrandColor?: string;
156
+ allowDynamicBooking?: boolean;
157
+ metadata?: Record<string, any>;
158
+ }
159
+ /**
160
+ * Cal.com Integration Client Interface
161
+ * Provides type-safe methods for all Cal.com operations
162
+ */
163
+ export interface CalcomIntegrationClient {
164
+ /**
165
+ * List all bookings
166
+ *
167
+ * @example
168
+ * ```typescript
169
+ * const bookings = await client.calcom.listBookings({
170
+ * status: "accepted",
171
+ * take: 50
172
+ * });
173
+ * ```
174
+ */
175
+ listBookings(params?: {
176
+ /** Filter by status */
177
+ status?: "accepted" | "pending" | "cancelled" | "rejected";
178
+ /** Filter by attendee email */
179
+ attendeeEmail?: string;
180
+ /** Filter by event type ID */
181
+ eventTypeId?: number;
182
+ /** Number of bookings to return */
183
+ take?: number;
184
+ /** Number of bookings to skip */
185
+ skip?: number;
186
+ /** Filter bookings after this date (ISO 8601) */
187
+ afterStart?: string;
188
+ /** Filter bookings before this date (ISO 8601) */
189
+ beforeEnd?: string;
190
+ }): Promise<MCPToolCallResponse>;
191
+ /**
192
+ * Get booking details
193
+ *
194
+ * @example
195
+ * ```typescript
196
+ * const booking = await client.calcom.getBooking({
197
+ * uid: "booking-uid-here"
198
+ * });
199
+ * ```
200
+ */
201
+ getBooking(params: {
202
+ /** Booking UID */
203
+ uid: string;
204
+ }): Promise<MCPToolCallResponse>;
205
+ /**
206
+ * Create a new booking
207
+ *
208
+ * @example
209
+ * ```typescript
210
+ * const booking = await client.calcom.createBooking({
211
+ * eventTypeId: 123,
212
+ * start: "2024-01-15T10:00:00Z",
213
+ * responses: {
214
+ * name: "John Doe",
215
+ * email: "john@example.com",
216
+ * location: { value: "inPerson", optionValue: "" }
217
+ * },
218
+ * timeZone: "America/New_York"
219
+ * });
220
+ * ```
221
+ */
222
+ createBooking(params: {
223
+ /** Event type ID */
224
+ eventTypeId: number;
225
+ /** Start time (ISO 8601) */
226
+ start: string;
227
+ /** Booking responses (name, email, etc.) */
228
+ responses: {
229
+ name: string;
230
+ email: string;
231
+ location?: {
232
+ value: string;
233
+ optionValue?: string;
234
+ };
235
+ guests?: string[];
236
+ notes?: string;
237
+ [key: string]: any;
238
+ };
239
+ /** Time zone */
240
+ timeZone: string;
241
+ /** Booking language */
242
+ language?: string;
243
+ /** Additional metadata */
244
+ metadata?: Record<string, any>;
245
+ /** Recurring event options */
246
+ recurringEventId?: string;
247
+ }): Promise<MCPToolCallResponse>;
248
+ /**
249
+ * Cancel a booking
250
+ *
251
+ * @example
252
+ * ```typescript
253
+ * await client.calcom.cancelBooking({
254
+ * uid: "booking-uid-here",
255
+ * cancellationReason: "Schedule conflict"
256
+ * });
257
+ * ```
258
+ */
259
+ cancelBooking(params: {
260
+ /** Booking UID */
261
+ uid: string;
262
+ /** Cancellation reason (optional) */
263
+ cancellationReason?: string;
264
+ }): Promise<MCPToolCallResponse>;
265
+ /**
266
+ * Reschedule a booking
267
+ *
268
+ * @example
269
+ * ```typescript
270
+ * const rescheduled = await client.calcom.rescheduleBooking({
271
+ * uid: "booking-uid-here",
272
+ * start: "2024-01-16T14:00:00Z",
273
+ * rescheduleReason: "Need to move meeting"
274
+ * });
275
+ * ```
276
+ */
277
+ rescheduleBooking(params: {
278
+ /** Booking UID */
279
+ uid: string;
280
+ /** New start time (ISO 8601) */
281
+ start: string;
282
+ /** Reschedule reason (optional) */
283
+ rescheduleReason?: string;
284
+ }): Promise<MCPToolCallResponse>;
285
+ /**
286
+ * List event types
287
+ *
288
+ * @example
289
+ * ```typescript
290
+ * const eventTypes = await client.calcom.listEventTypes({
291
+ * take: 50
292
+ * });
293
+ * ```
294
+ */
295
+ listEventTypes(params?: {
296
+ /** Number of event types to return */
297
+ take?: number;
298
+ /** Number of event types to skip */
299
+ skip?: number;
300
+ /** Filter by username */
301
+ username?: string;
302
+ /** Filter by team slug */
303
+ teamSlug?: string;
304
+ }): Promise<MCPToolCallResponse>;
305
+ /**
306
+ * Get availability slots
307
+ *
308
+ * @example
309
+ * ```typescript
310
+ * const availability = await client.calcom.getAvailability({
311
+ * eventTypeId: 123,
312
+ * startTime: "2024-01-15T00:00:00Z",
313
+ * endTime: "2024-01-22T23:59:59Z",
314
+ * timeZone: "America/New_York"
315
+ * });
316
+ * ```
317
+ */
318
+ getAvailability(params: {
319
+ /** Event type ID or slug */
320
+ eventTypeId?: number;
321
+ eventTypeSlug?: string;
322
+ /** Start time for availability check (ISO 8601) */
323
+ startTime: string;
324
+ /** End time for availability check (ISO 8601) */
325
+ endTime: string;
326
+ /** Time zone */
327
+ timeZone?: string;
328
+ /** Username (for personal event types) */
329
+ username?: string;
330
+ }): Promise<MCPToolCallResponse>;
331
+ /**
332
+ * List schedules
333
+ *
334
+ * @example
335
+ * ```typescript
336
+ * const schedules = await client.calcom.listSchedules();
337
+ * ```
338
+ */
339
+ listSchedules(params?: {
340
+ /** Number of schedules to return */
341
+ take?: number;
342
+ /** Number of schedules to skip */
343
+ skip?: number;
344
+ }): Promise<MCPToolCallResponse>;
345
+ /**
346
+ * Get current user info
347
+ *
348
+ * @example
349
+ * ```typescript
350
+ * const user = await client.calcom.getMe();
351
+ * ```
352
+ */
353
+ getMe(): Promise<MCPToolCallResponse>;
354
+ }
355
+ //# sourceMappingURL=calcom-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calcom-client.d.ts","sourceRoot":"","sources":["../../../src/integrations/calcom-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Cal.com Integration
3
+ * Enables Cal.com tools with OAuth configuration
4
+ */
5
+ import type { MCPIntegration } from "./types.js";
6
+ /**
7
+ * Cal.com integration configuration
8
+ *
9
+ * SERVER-SIDE: Automatically reads CALCOM_CLIENT_ID and CALCOM_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 CalcomIntegrationConfig {
14
+ /** Cal.com OAuth client ID (defaults to CALCOM_CLIENT_ID env var) */
15
+ clientId?: string;
16
+ /** Cal.com OAuth client secret (defaults to CALCOM_CLIENT_SECRET env var) */
17
+ clientSecret?: string;
18
+ /** Additional OAuth scopes (default: ['read:bookings', 'write:bookings', 'read:event-types', 'read:schedules']) */
19
+ scopes?: string[];
20
+ /** OAuth redirect URI */
21
+ redirectUri?: string;
22
+ /** Cal.com API base URL (default: https://api.cal.com/v1) */
23
+ apiBaseUrl?: string;
24
+ }
25
+ /**
26
+ * Default Cal.com tools that this integration enables
27
+ * These should match the tool names exposed by your MCP server
28
+ */
29
+ declare const CALCOM_TOOLS: readonly ["calcom_list_bookings", "calcom_get_booking", "calcom_create_booking", "calcom_cancel_booking", "calcom_reschedule_booking", "calcom_list_event_types", "calcom_get_availability", "calcom_list_schedules", "calcom_get_me"];
30
+ export declare function calcomIntegration(config?: CalcomIntegrationConfig): MCPIntegration<"calcom">;
31
+ /**
32
+ * Export tool names for type inference
33
+ */
34
+ export type CalcomTools = typeof CALCOM_TOOLS[number];
35
+ /**
36
+ * Export Cal.com client types
37
+ */
38
+ export type { CalcomIntegrationClient } from "./calcom-client.js";
39
+ //# sourceMappingURL=calcom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calcom.d.ts","sourceRoot":"","sources":["../../../src/integrations/calcom.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAG9D;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mHAAmH;IACnH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,QAAA,MAAM,YAAY,wOAUR,CAAC;AAGX,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,uBAA4B,GAAG,cAAc,CAAC,QAAQ,CAAC,CA0BhG;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAEtD;;GAEG;AACH,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,259 @@
1
+ /**
2
+ * Cursor Integration Client Types
3
+ * Fully typed interface for Cursor integration methods
4
+ */
5
+ import type { MCPToolCallResponse } from "../protocol/messages.js";
6
+ /**
7
+ * Cursor Agent
8
+ */
9
+ export interface CursorAgent {
10
+ id: string;
11
+ status: "running" | "completed" | "failed" | "stopped";
12
+ created_at: string;
13
+ updated_at: string;
14
+ task?: string;
15
+ model?: string;
16
+ conversation_id?: string;
17
+ metadata?: Record<string, any>;
18
+ }
19
+ /**
20
+ * Cursor Conversation
21
+ */
22
+ export interface CursorConversation {
23
+ id: string;
24
+ created_at: string;
25
+ updated_at: string;
26
+ messages: Array<{
27
+ id: string;
28
+ role: "user" | "assistant" | "system";
29
+ content: string;
30
+ created_at: string;
31
+ metadata?: Record<string, any>;
32
+ }>;
33
+ agent_id?: string;
34
+ metadata?: Record<string, any>;
35
+ }
36
+ /**
37
+ * Cursor Model
38
+ */
39
+ export interface CursorModel {
40
+ id: string;
41
+ name: string;
42
+ provider: string;
43
+ description?: string;
44
+ capabilities?: string[];
45
+ context_window?: number;
46
+ max_tokens?: number;
47
+ pricing?: {
48
+ prompt: number;
49
+ completion: number;
50
+ };
51
+ }
52
+ /**
53
+ * Cursor Repository
54
+ */
55
+ export interface CursorRepository {
56
+ id: string;
57
+ name: string;
58
+ full_name: string;
59
+ owner: string;
60
+ url: string;
61
+ description?: string;
62
+ private: boolean;
63
+ default_branch: string;
64
+ created_at: string;
65
+ updated_at: string;
66
+ language?: string;
67
+ stars?: number;
68
+ forks?: number;
69
+ }
70
+ /**
71
+ * Cursor API Key Info
72
+ */
73
+ export interface CursorAPIKeyInfo {
74
+ id: string;
75
+ name?: string;
76
+ created_at: string;
77
+ last_used_at?: string;
78
+ scopes?: string[];
79
+ rate_limit?: {
80
+ limit: number;
81
+ remaining: number;
82
+ reset_at: string;
83
+ };
84
+ }
85
+ /**
86
+ * Cursor Integration Client Interface
87
+ * Provides type-safe methods for all Cursor operations
88
+ */
89
+ export interface CursorIntegrationClient {
90
+ /**
91
+ * List all cloud agents
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * const agents = await client.cursor.listAgents({
96
+ * status: "running",
97
+ * limit: 20
98
+ * });
99
+ * ```
100
+ */
101
+ listAgents(params?: {
102
+ /** Filter by status */
103
+ status?: "running" | "completed" | "failed" | "stopped";
104
+ /** Maximum number of results */
105
+ limit?: number;
106
+ /** Pagination offset */
107
+ offset?: number;
108
+ }): Promise<MCPToolCallResponse>;
109
+ /**
110
+ * Get agent status
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * const agent = await client.cursor.getAgent({
115
+ * agent_id: "agent_123"
116
+ * });
117
+ * ```
118
+ */
119
+ getAgent(params: {
120
+ /** Agent ID */
121
+ agent_id: string;
122
+ }): Promise<MCPToolCallResponse>;
123
+ /**
124
+ * Get conversation history
125
+ *
126
+ * @example
127
+ * ```typescript
128
+ * const conversation = await client.cursor.getConversation({
129
+ * conversation_id: "conv_123"
130
+ * });
131
+ * ```
132
+ */
133
+ getConversation(params: {
134
+ /** Conversation ID */
135
+ conversation_id: string;
136
+ /** Include messages */
137
+ include_messages?: boolean;
138
+ }): Promise<MCPToolCallResponse>;
139
+ /**
140
+ * Launch a new agent
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * const agent = await client.cursor.launchAgent({
145
+ * task: "Implement user authentication",
146
+ * model: "claude-sonnet-4",
147
+ * context: { repo: "my-app" }
148
+ * });
149
+ * ```
150
+ */
151
+ launchAgent(params: {
152
+ /** Task description */
153
+ task: string;
154
+ /** Model to use */
155
+ model?: string;
156
+ /** Repository context */
157
+ repository?: string;
158
+ /** Additional context */
159
+ context?: Record<string, any>;
160
+ /** Conversation ID to continue */
161
+ conversation_id?: string;
162
+ }): Promise<MCPToolCallResponse>;
163
+ /**
164
+ * Add follow-up instruction
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * await client.cursor.followupAgent({
169
+ * agent_id: "agent_123",
170
+ * instruction: "Also add password reset functionality"
171
+ * });
172
+ * ```
173
+ */
174
+ followupAgent(params: {
175
+ /** Agent ID */
176
+ agent_id: string;
177
+ /** Follow-up instruction */
178
+ instruction: string;
179
+ }): Promise<MCPToolCallResponse>;
180
+ /**
181
+ * Stop a running agent
182
+ *
183
+ * @example
184
+ * ```typescript
185
+ * await client.cursor.stopAgent({
186
+ * agent_id: "agent_123"
187
+ * });
188
+ * ```
189
+ */
190
+ stopAgent(params: {
191
+ /** Agent ID */
192
+ agent_id: string;
193
+ /** Reason for stopping */
194
+ reason?: string;
195
+ }): Promise<MCPToolCallResponse>;
196
+ /**
197
+ * Delete an agent
198
+ *
199
+ * @example
200
+ * ```typescript
201
+ * await client.cursor.deleteAgent({
202
+ * agent_id: "agent_123"
203
+ * });
204
+ * ```
205
+ */
206
+ deleteAgent(params: {
207
+ /** Agent ID */
208
+ agent_id: string;
209
+ }): Promise<MCPToolCallResponse>;
210
+ /**
211
+ * Get API key info
212
+ *
213
+ * @example
214
+ * ```typescript
215
+ * const info = await client.cursor.getMe();
216
+ * ```
217
+ */
218
+ getMe(): Promise<MCPToolCallResponse>;
219
+ /**
220
+ * List available models
221
+ *
222
+ * @example
223
+ * ```typescript
224
+ * const models = await client.cursor.listModels({
225
+ * provider: "anthropic"
226
+ * });
227
+ * ```
228
+ */
229
+ listModels(params?: {
230
+ /** Filter by provider */
231
+ provider?: string;
232
+ /** Include capabilities */
233
+ include_capabilities?: boolean;
234
+ }): Promise<MCPToolCallResponse>;
235
+ /**
236
+ * List GitHub repositories
237
+ *
238
+ * @example
239
+ * ```typescript
240
+ * const repos = await client.cursor.listRepositories({
241
+ * limit: 50,
242
+ * sort: "updated"
243
+ * });
244
+ * ```
245
+ */
246
+ listRepositories(params?: {
247
+ /** Maximum number of results */
248
+ limit?: number;
249
+ /** Pagination offset */
250
+ offset?: number;
251
+ /** Sort by */
252
+ sort?: "created" | "updated" | "name" | "stars";
253
+ /** Sort order */
254
+ order?: "asc" | "desc";
255
+ /** Filter by visibility */
256
+ visibility?: "public" | "private" | "all";
257
+ }): Promise<MCPToolCallResponse>;
258
+ }
259
+ //# sourceMappingURL=cursor-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-client.d.ts","sourceRoot":"","sources":["../../../src/integrations/cursor-client.ts"],"names":[],"mappings":"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"}