@keemakr/agent-sdk 0.11.0 → 0.13.0-dev-20260827124331

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.
@@ -1,4 +1,4 @@
1
- export type ConnectorName = "agent-sessions" | "apify" | "apollo" | "cal-com" | "clearbit" | "drip" | "elevenlabs" | "facebook" | "fal" | "hubspot" | "hunter" | "instagram" | "instantly" | "mailchimp" | "meta" | "pagespeed" | "posthog" | "sendgrid" | "stripe" | "twilio" | "wordpress";
1
+ export type ConnectorName = "agent-sessions" | "apify" | "apollo" | "cal-com" | "clearbit" | "drip" | "dropbox" | "elevenlabs" | "facebook" | "fal" | "gmail-broker" | "google-drive" | "googlecalendar" | "hubspot" | "hunter" | "instagram" | "instantly" | "mailchimp" | "meta" | "onedrive" | "outlook" | "pagespeed" | "posthog" | "reddit" | "searchconsole" | "sendgrid" | "slack-broker" | "smartlead" | "twilio" | "wordpress";
2
2
  /** Per-provider operation names (autocomplete for `.call(op)`). */
3
3
  export interface ConnectorOps {
4
4
  "agent-sessions": never;
@@ -7,19 +7,28 @@ export interface ConnectorOps {
7
7
  "cal-com": never;
8
8
  "clearbit": never;
9
9
  "drip": never;
10
+ "dropbox": "folders.list" | "files.list" | "files.download" | "files.get" | "files.search" | "changes.list" | "files.upload" | "files.move" | "folders.create" | "files.trash" | "permissions.update";
10
11
  "elevenlabs": never;
11
- "facebook": never;
12
- "fal": never;
12
+ "facebook": "graph.get" | "pages.list" | "page.publish";
13
+ "fal": "image.generate" | "image.result";
14
+ "gmail-broker": "mail.recent" | "mail.get" | "mail.drafts" | "mail.send" | "mail.draft" | "mail.modify";
15
+ "google-drive": "folders.list" | "files.list" | "files.download" | "files.get" | "files.search" | "changes.list" | "files.upload" | "files.move" | "folders.create" | "files.trash" | "permissions.update";
16
+ "googlecalendar": "events.list" | "events.create" | "events.update" | "events.delete";
13
17
  "hubspot": never;
14
18
  "hunter": "email-finder";
15
- "instagram": never;
19
+ "instagram": "graph.get" | "accounts.list" | "media.create" | "media.publish";
16
20
  "instantly": never;
17
21
  "mailchimp": never;
18
- "meta": never;
19
- "pagespeed": never;
22
+ "meta": "adaccounts.list" | "graph.get" | "insights.get" | "campaigns.list" | "campaign.create" | "campaign.update" | "adsets.list" | "adsets.get_by_ids" | "adset.create" | "adset.update" | "ads.list" | "ad.create" | "ad.update" | "adcreative.create" | "adimage.upload";
23
+ "onedrive": "folders.list" | "files.list" | "files.get" | "files.search" | "files.download" | "changes.list" | "files.upload" | "files.move" | "folders.create" | "files.trash" | "permissions.update";
24
+ "outlook": "mail.recent" | "mail.get" | "mail.drafts" | "mail.send" | "mail.draft" | "mail.modify" | "events.list" | "events.create" | "events.update" | "events.delete";
25
+ "pagespeed": "runpagespeed";
20
26
  "posthog": never;
27
+ "reddit": "me" | "subreddit.posts" | "search" | "submit" | "comment";
28
+ "searchconsole": "sites.list" | "searchanalytics.query" | "sitemaps.list";
21
29
  "sendgrid": never;
22
- "stripe": never;
30
+ "slack-broker": "channels.list" | "channel.history" | "dm.history" | "message.send" | "dm.send";
31
+ "smartlead": "campaigns.list" | "campaign.create" | "campaign.analytics" | "leads.add" | "email-accounts.list";
23
32
  "twilio": never;
24
33
  "wordpress": never;
25
34
  }
@@ -91,6 +100,243 @@ export declare const connectors: {
91
100
  readonly docUrl: "https://developer.drip.com/";
92
101
  readonly ops: {};
93
102
  };
103
+ readonly dropbox: {
104
+ readonly displayName: "Dropbox";
105
+ readonly authKind: "oauth2";
106
+ readonly category: "storage";
107
+ readonly maturity: "ready";
108
+ readonly docUrl: "https://www.dropbox.com/developers/documentation/http/documentation";
109
+ readonly ops: {
110
+ readonly "folders.list": {
111
+ readonly description: "List child folders (id + name) under a parent, for the sync folder picker.";
112
+ readonly inputSchema: {
113
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
114
+ readonly type: "object";
115
+ readonly properties: {
116
+ readonly parent_id: {
117
+ readonly description: "Parent folder id ('id:' form); omit for the account root.";
118
+ readonly type: "string";
119
+ };
120
+ readonly cursor: {
121
+ readonly description: "Continuation cursor from a previous page.";
122
+ readonly type: "string";
123
+ };
124
+ };
125
+ };
126
+ };
127
+ readonly "files.list": {
128
+ readonly description: "List files inside a folder, optionally including descendants — metadata only (id, name, size, modified, content_hash revision). No content is fetched.";
129
+ readonly inputSchema: {
130
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
131
+ readonly type: "object";
132
+ readonly properties: {
133
+ readonly folder_id: {
134
+ readonly type: "string";
135
+ readonly minLength: 1;
136
+ readonly description: "The folder to list ('id:' form; '' is not accepted here — pick a folder).";
137
+ };
138
+ readonly cursor: {
139
+ readonly description: "Continuation cursor from a previous page.";
140
+ readonly type: "string";
141
+ };
142
+ readonly recursive: {
143
+ readonly default: false;
144
+ readonly description: "Include files in every descendant folder.";
145
+ readonly type: "boolean";
146
+ };
147
+ };
148
+ readonly required: readonly ["folder_id"];
149
+ };
150
+ };
151
+ readonly "files.download": {
152
+ readonly description: "Download one file (base64), size-checked from metadata BEFORE buffering.";
153
+ readonly inputSchema: {
154
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
155
+ readonly type: "object";
156
+ readonly properties: {
157
+ readonly file_id: {
158
+ readonly type: "string";
159
+ readonly minLength: 1;
160
+ readonly description: "The Dropbox file id ('id:' form).";
161
+ };
162
+ readonly max_bytes: {
163
+ readonly type: "integer";
164
+ readonly minimum: 1;
165
+ readonly maximum: 9007199254740991;
166
+ readonly description: "Hard size cap; larger files raise too_large WITHOUT buffering.";
167
+ };
168
+ };
169
+ readonly required: readonly ["file_id", "max_bytes"];
170
+ };
171
+ };
172
+ readonly "files.get": {
173
+ readonly description: "Metadata for one file (id, name, size, modified, revision).";
174
+ readonly inputSchema: {
175
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
176
+ readonly type: "object";
177
+ readonly properties: {
178
+ readonly file_id: {
179
+ readonly type: "string";
180
+ readonly minLength: 1;
181
+ readonly description: "The Dropbox file id ('id:' form).";
182
+ };
183
+ };
184
+ readonly required: readonly ["file_id"];
185
+ };
186
+ };
187
+ readonly "files.search": {
188
+ readonly description: "Search files by name/content, optionally modified after a timestamp. Metadata only.";
189
+ readonly inputSchema: {
190
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
191
+ readonly type: "object";
192
+ readonly properties: {
193
+ readonly query: {
194
+ readonly type: "string";
195
+ readonly minLength: 1;
196
+ readonly description: "Matched against file names and content.";
197
+ };
198
+ readonly modified_after: {
199
+ readonly description: "ISO timestamp; only files modified after this instant (filtered client-side).";
200
+ readonly type: "string";
201
+ };
202
+ };
203
+ readonly required: readonly ["query"];
204
+ };
205
+ };
206
+ readonly "changes.list": {
207
+ readonly description: "Incremental changes since a cursor (account-wide, recursive). No cursor ⇒ initialize (fresh cursor, zero changes). A reset cursor raises status 410 (cursor_invalid); re-initialize.";
208
+ readonly inputSchema: {
209
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
210
+ readonly type: "object";
211
+ readonly properties: {
212
+ readonly cursor: {
213
+ readonly description: "Change cursor from a previous call. Omit to INITIALIZE: returns no changes, just a fresh cursor.";
214
+ readonly type: "string";
215
+ };
216
+ };
217
+ };
218
+ };
219
+ readonly "files.upload": {
220
+ readonly description: "Create a file (collision ⇒ conflict, never a silent replace), or with overwrite_file_id REPLACE that file’s content — guarded by Dropbox’s atomic rev precondition when a revision is supplied.";
221
+ readonly inputSchema: {
222
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
223
+ readonly type: "object";
224
+ readonly properties: {
225
+ readonly folder_id: {
226
+ readonly description: "Target folder id ('id:' form); omit for the root.";
227
+ readonly type: "string";
228
+ };
229
+ readonly name: {
230
+ readonly type: "string";
231
+ readonly minLength: 1;
232
+ readonly description: "File name at the target.";
233
+ };
234
+ readonly content_base64: {
235
+ readonly type: "string";
236
+ readonly minLength: 1;
237
+ readonly description: "File content, base64-encoded.";
238
+ };
239
+ readonly mime_type: {
240
+ readonly description: "Ignored by Dropbox (kept for contract parity).";
241
+ readonly type: "string";
242
+ };
243
+ readonly overwrite_file_id: {
244
+ readonly description: "OVERWRITE mode: replace the content of this existing file id.";
245
+ readonly type: "string";
246
+ };
247
+ readonly revision: {
248
+ readonly description: "With overwrite_file_id: the revision the caller last saw; a mismatch aborts (conflict).";
249
+ readonly type: "string";
250
+ };
251
+ };
252
+ readonly required: readonly ["name", "content_base64"];
253
+ };
254
+ };
255
+ readonly "files.move": {
256
+ readonly description: "Move a file to another folder and/or rename it.";
257
+ readonly inputSchema: {
258
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
259
+ readonly type: "object";
260
+ readonly properties: {
261
+ readonly file_id: {
262
+ readonly type: "string";
263
+ readonly minLength: 1;
264
+ readonly description: "The file to move and/or rename.";
265
+ };
266
+ readonly new_parent_id: {
267
+ readonly description: "Destination folder id (omit to keep).";
268
+ readonly type: "string";
269
+ };
270
+ readonly new_name: {
271
+ readonly description: "New file name (omit to keep).";
272
+ readonly type: "string";
273
+ };
274
+ };
275
+ readonly required: readonly ["file_id"];
276
+ };
277
+ };
278
+ readonly "folders.create": {
279
+ readonly description: "Create a folder under a parent.";
280
+ readonly inputSchema: {
281
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
282
+ readonly type: "object";
283
+ readonly properties: {
284
+ readonly parent_id: {
285
+ readonly description: "Parent folder id ('id:' form); omit for the root.";
286
+ readonly type: "string";
287
+ };
288
+ readonly name: {
289
+ readonly type: "string";
290
+ readonly minLength: 1;
291
+ readonly description: "Folder name.";
292
+ };
293
+ };
294
+ readonly required: readonly ["name"];
295
+ };
296
+ };
297
+ readonly "files.trash": {
298
+ readonly description: "Delete a file — recoverable within the Dropbox plan’s retention window (Dropbox has no separate trash endpoint); never a permanent purge.";
299
+ readonly inputSchema: {
300
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
301
+ readonly type: "object";
302
+ readonly properties: {
303
+ readonly file_id: {
304
+ readonly type: "string";
305
+ readonly minLength: 1;
306
+ readonly description: "The file to delete (recoverable within the Dropbox plan’s retention window).";
307
+ };
308
+ };
309
+ readonly required: readonly ["file_id"];
310
+ };
311
+ };
312
+ readonly "permissions.update": {
313
+ readonly description: "Add a member (by email) to a file as viewer or editor. 'commenter' is not a Dropbox access level — typed unsupported (drive-agent plan L28 matrix). No notification email is sent.";
314
+ readonly inputSchema: {
315
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
316
+ readonly type: "object";
317
+ readonly properties: {
318
+ readonly file_id: {
319
+ readonly type: "string";
320
+ readonly minLength: 1;
321
+ readonly description: "The file to share.";
322
+ };
323
+ readonly principal_email: {
324
+ readonly type: "string";
325
+ readonly format: "email";
326
+ readonly pattern: "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$";
327
+ readonly description: "The account gaining access.";
328
+ };
329
+ readonly role: {
330
+ readonly type: "string";
331
+ readonly enum: readonly ["viewer", "commenter", "editor"];
332
+ readonly description: "Access level; Dropbox supports 'viewer' and 'editor' only.";
333
+ };
334
+ };
335
+ readonly required: readonly ["file_id", "principal_email", "role"];
336
+ };
337
+ };
338
+ };
339
+ };
94
340
  readonly elevenlabs: {
95
341
  readonly displayName: "ElevenLabs";
96
342
  readonly authKind: "api_key";
@@ -105,106 +351,1977 @@ export declare const connectors: {
105
351
  readonly category: "channel";
106
352
  readonly maturity: "ready";
107
353
  readonly docUrl: "https://developers.facebook.com/docs/pages-api";
108
- readonly ops: {};
354
+ readonly ops: {
355
+ readonly "graph.get": {
356
+ readonly description: "Escape hatch — read any Graph node by path (e.g. \"me\", a page id).";
357
+ readonly inputSchema: {
358
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
359
+ readonly type: "object";
360
+ readonly properties: {
361
+ readonly path: {
362
+ readonly type: "string";
363
+ readonly minLength: 1;
364
+ readonly description: "Graph node path, e.g. \"me\" or a page/post id.";
365
+ };
366
+ readonly fields: {
367
+ readonly type: "array";
368
+ readonly items: {
369
+ readonly type: "string";
370
+ };
371
+ };
372
+ readonly params: {
373
+ readonly type: "object";
374
+ readonly propertyNames: {
375
+ readonly type: "string";
376
+ };
377
+ readonly additionalProperties: {
378
+ readonly anyOf: readonly [{
379
+ readonly type: "string";
380
+ }, {
381
+ readonly type: "number";
382
+ }];
383
+ };
384
+ };
385
+ };
386
+ readonly required: readonly ["path"];
387
+ readonly description: "Escape hatch: read any Graph node.";
388
+ };
389
+ };
390
+ readonly "pages.list": {
391
+ readonly description: "List managed Pages (ids + names).";
392
+ readonly inputSchema: {
393
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
394
+ readonly type: "object";
395
+ readonly properties: {};
396
+ readonly description: "List managed Pages (ids + names).";
397
+ };
398
+ };
399
+ readonly "page.publish": {
400
+ readonly description: "Publish a post to a Page feed (Page token resolved server-side).";
401
+ readonly inputSchema: {
402
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
403
+ readonly type: "object";
404
+ readonly properties: {
405
+ readonly page_id: {
406
+ readonly type: "string";
407
+ readonly minLength: 1;
408
+ readonly description: "The Page id to post as (see pages.list).";
409
+ };
410
+ readonly message: {
411
+ readonly type: "string";
412
+ readonly minLength: 1;
413
+ };
414
+ readonly link: {
415
+ readonly type: "string";
416
+ readonly format: "uri";
417
+ };
418
+ };
419
+ readonly required: readonly ["page_id", "message"];
420
+ readonly description: "Publish a post to a Page feed. Returns { id }.";
421
+ };
422
+ };
423
+ };
109
424
  };
110
425
  readonly fal: {
111
426
  readonly displayName: "fal.ai";
112
427
  readonly authKind: "api_key";
113
428
  readonly category: "media";
114
- readonly maturity: "coming_soon";
115
- readonly docUrl: "https://fal.ai/docs";
116
- readonly ops: {};
117
- };
118
- readonly hubspot: {
119
- readonly displayName: "HubSpot";
120
- readonly authKind: "api_key";
121
- readonly category: "crm";
122
- readonly maturity: "ready";
123
- readonly docUrl: "https://developers.hubspot.com/docs/api/private-apps";
124
- readonly ops: {};
125
- };
126
- readonly hunter: {
127
- readonly displayName: "Hunter.io";
128
- readonly authKind: "api_key";
129
- readonly category: "email";
130
429
  readonly maturity: "ready";
131
- readonly docUrl: "https://hunter.io/api-documentation/v2";
430
+ readonly docUrl: "https://fal.ai/docs";
132
431
  readonly ops: {
133
- readonly "email-finder": {
134
- readonly description: "Find a person's email address at a company domain by their name. Returns the email, a confidence score, and verification status.";
432
+ readonly "image.generate": {
433
+ readonly description: "Submit an image-generation job to the fal queue. Returns immediately with a request_id + status_url; poll image.result for the CDN image URLs. Non-blocking.";
135
434
  readonly inputSchema: {
136
435
  readonly $schema: "https://json-schema.org/draft/2020-12/schema";
137
436
  readonly type: "object";
138
437
  readonly properties: {
139
- readonly domain: {
438
+ readonly prompt: {
140
439
  readonly type: "string";
141
440
  readonly minLength: 1;
142
- readonly description: "Company domain, e.g. \"stripe.com\".";
441
+ readonly description: "The image prompt.";
143
442
  };
144
- readonly first_name: {
443
+ readonly model: {
444
+ readonly description: "Friendly model name; defaults to flux-schnell.";
145
445
  readonly type: "string";
146
- readonly minLength: 1;
147
- readonly description: "The person first name.";
446
+ readonly enum: readonly ["flux-schnell", "flux-dev", "flux-pro", "recraft-v3"];
148
447
  };
149
- readonly last_name: {
448
+ readonly size: {
449
+ readonly description: "Image aspect/size preset.";
450
+ readonly type: "string";
451
+ readonly enum: readonly ["square_hd", "landscape_16_9", "landscape_4_3", "portrait_4_5"];
452
+ };
453
+ readonly num_images: {
454
+ readonly type: "integer";
455
+ readonly minimum: 1;
456
+ readonly maximum: 4;
457
+ };
458
+ };
459
+ readonly required: readonly ["prompt"];
460
+ };
461
+ };
462
+ readonly "image.result": {
463
+ readonly description: "Poll a submitted fal image job. Returns { status:\"completed\", images:[{url,width,height}] } (CDN https URLs) when ready, else { status:\"in_progress\"|\"in_queue\" } — poll again.";
464
+ readonly inputSchema: {
465
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
466
+ readonly type: "object";
467
+ readonly properties: {
468
+ readonly request_id: {
150
469
  readonly type: "string";
151
470
  readonly minLength: 1;
152
- readonly description: "The person last name.";
471
+ };
472
+ readonly status_url: {
473
+ readonly type: "string";
474
+ readonly format: "uri";
153
475
  };
154
476
  };
155
- readonly required: readonly ["domain", "first_name", "last_name"];
156
477
  };
157
478
  };
158
479
  };
159
480
  };
160
- readonly instagram: {
161
- readonly displayName: "Instagram";
481
+ readonly "gmail-broker": {
482
+ readonly displayName: "Gmail";
162
483
  readonly authKind: "oauth2";
163
- readonly category: "channel";
164
- readonly maturity: "ready";
165
- readonly docUrl: "https://developers.facebook.com/docs/instagram-platform";
166
- readonly ops: {};
167
- };
168
- readonly instantly: {
169
- readonly displayName: "Instantly.ai";
170
- readonly authKind: "api_key";
171
- readonly category: "email";
172
- readonly maturity: "ready";
173
- readonly docUrl: "https://developer.instantly.ai/";
174
- readonly ops: {};
175
- };
176
- readonly mailchimp: {
177
- readonly displayName: "Mailchimp";
178
- readonly authKind: "api_key";
179
484
  readonly category: "email";
180
485
  readonly maturity: "ready";
181
- readonly docUrl: "https://mailchimp.com/developer/marketing/api/";
182
- readonly ops: {};
183
- };
184
- readonly meta: {
185
- readonly displayName: "Meta Ads (Marketing API)";
186
- readonly authKind: "api_key";
187
- readonly category: "advertising";
188
- readonly maturity: "coming_soon";
189
- readonly docUrl: "https://developers.facebook.com/docs/marketing-apis";
190
- readonly ops: {};
191
- };
192
- readonly pagespeed: {
193
- readonly displayName: "PageSpeed Insights";
194
- readonly authKind: "api_key";
195
- readonly category: "analytics";
196
- readonly maturity: "coming_soon";
197
- readonly docUrl: "https://developers.google.com/speed/docs/insights/v5/get-started";
198
- readonly ops: {};
199
- };
200
- readonly posthog: {
201
- readonly displayName: "PostHog";
202
- readonly authKind: "api_key";
203
- readonly category: "analytics";
204
- readonly maturity: "ready";
486
+ readonly docUrl: "https://developers.google.com/gmail/api";
487
+ readonly ops: {
488
+ readonly "mail.recent": {
489
+ readonly description: "List recent mail (unread from the last 2 days by default, or a Gmail search query). Returns normalized items: id, threadId, from, subject, snippet, receivedAt.";
490
+ readonly inputSchema: {
491
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
492
+ readonly type: "object";
493
+ readonly properties: {
494
+ readonly query: {
495
+ readonly description: "Gmail search query (e.g. 'from:sarah newer_than:7d'). Defaults to unread mail from the last 2 days.";
496
+ readonly type: "string";
497
+ };
498
+ readonly limit: {
499
+ readonly description: "Max messages to return (1–15, default 8).";
500
+ readonly type: "integer";
501
+ readonly minimum: -9007199254740991;
502
+ readonly maximum: 9007199254740991;
503
+ };
504
+ };
505
+ };
506
+ };
507
+ readonly "mail.get": {
508
+ readonly description: "Fetch the readable body of one email by message id (plain text, capped 4000 chars).";
509
+ readonly inputSchema: {
510
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
511
+ readonly type: "object";
512
+ readonly properties: {
513
+ readonly message_id: {
514
+ readonly type: "string";
515
+ readonly minLength: 1;
516
+ readonly description: "The Gmail message id to fetch the full body for.";
517
+ };
518
+ };
519
+ readonly required: readonly ["message_id"];
520
+ };
521
+ };
522
+ readonly "mail.drafts": {
523
+ readonly description: "List saved drafts (to, subject, preview).";
524
+ readonly inputSchema: {
525
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
526
+ readonly type: "object";
527
+ readonly properties: {
528
+ readonly limit: {
529
+ readonly description: "Max drafts to return (1–10, default 5).";
530
+ readonly type: "integer";
531
+ readonly minimum: -9007199254740991;
532
+ readonly maximum: 9007199254740991;
533
+ };
534
+ };
535
+ };
536
+ };
537
+ readonly "mail.send": {
538
+ readonly description: "Send an email from the connected Gmail account.";
539
+ readonly inputSchema: {
540
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
541
+ readonly type: "object";
542
+ readonly properties: {
543
+ readonly to: {
544
+ readonly type: "string";
545
+ readonly minLength: 1;
546
+ readonly description: "Recipient email address.";
547
+ };
548
+ readonly subject: {
549
+ readonly description: "Email subject line. If omitted, one is derived from the message body.";
550
+ readonly type: "string";
551
+ };
552
+ readonly body: {
553
+ readonly type: "string";
554
+ readonly description: "Email body — plain text (formatted into clean HTML) or ready HTML.";
555
+ };
556
+ };
557
+ readonly required: readonly ["to", "body"];
558
+ };
559
+ };
560
+ readonly "mail.draft": {
561
+ readonly description: "Save a draft in the connected Gmail account (does not send).";
562
+ readonly inputSchema: {
563
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
564
+ readonly type: "object";
565
+ readonly properties: {
566
+ readonly to: {
567
+ readonly description: "Recipient email address (may be left empty on a draft).";
568
+ readonly type: "string";
569
+ };
570
+ readonly subject: {
571
+ readonly description: "Email subject line.";
572
+ readonly type: "string";
573
+ };
574
+ readonly body: {
575
+ readonly description: "Draft body — plain text or ready HTML.";
576
+ readonly type: "string";
577
+ };
578
+ };
579
+ };
580
+ };
581
+ readonly "mail.modify": {
582
+ readonly description: "Trash, archive, or mark a mail thread read/unread.";
583
+ readonly inputSchema: {
584
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
585
+ readonly type: "object";
586
+ readonly properties: {
587
+ readonly thread_id: {
588
+ readonly type: "string";
589
+ readonly minLength: 1;
590
+ readonly description: "The Gmail THREAD id to modify (label changes apply per-thread).";
591
+ };
592
+ readonly action: {
593
+ readonly type: "string";
594
+ readonly enum: readonly ["trash", "archive", "mark_read", "mark_unread"];
595
+ readonly description: "What to do with the thread.";
596
+ };
597
+ };
598
+ readonly required: readonly ["thread_id", "action"];
599
+ };
600
+ };
601
+ };
602
+ };
603
+ readonly "google-drive": {
604
+ readonly displayName: "Google Drive";
605
+ readonly authKind: "oauth2";
606
+ readonly category: "storage";
607
+ readonly maturity: "ready";
608
+ readonly docUrl: "https://developers.google.com/drive/api/reference/rest/v3";
609
+ readonly ops: {
610
+ readonly "folders.list": {
611
+ readonly description: "List child folders (id + name) under a parent, for the sync folder picker.";
612
+ readonly inputSchema: {
613
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
614
+ readonly type: "object";
615
+ readonly properties: {
616
+ readonly parent_id: {
617
+ readonly description: "Parent folder id; omit or 'root' for the My Drive root.";
618
+ readonly type: "string";
619
+ };
620
+ readonly page_token: {
621
+ readonly description: "Continuation token from a previous page.";
622
+ readonly type: "string";
623
+ };
624
+ };
625
+ };
626
+ };
627
+ readonly "files.list": {
628
+ readonly description: "List the non-folder files directly inside a folder — metadata only (id, name, mime, size, modified, revision). Shortcuts are skipped (L28); no content is fetched.";
629
+ readonly inputSchema: {
630
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
631
+ readonly type: "object";
632
+ readonly properties: {
633
+ readonly folder_id: {
634
+ readonly type: "string";
635
+ readonly minLength: 1;
636
+ readonly description: "The folder whose direct children to list.";
637
+ };
638
+ readonly page_token: {
639
+ readonly description: "Continuation token from a previous page.";
640
+ readonly type: "string";
641
+ };
642
+ };
643
+ readonly required: readonly ["folder_id"];
644
+ };
645
+ };
646
+ readonly "files.download": {
647
+ readonly description: "Download one file (base64, size-capped BEFORE buffering). Google-native Docs export as markdown/plain text; other Google-native types are export_unsupported.";
648
+ readonly inputSchema: {
649
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
650
+ readonly type: "object";
651
+ readonly properties: {
652
+ readonly file_id: {
653
+ readonly type: "string";
654
+ readonly minLength: 1;
655
+ readonly description: "The Drive file id.";
656
+ };
657
+ readonly max_bytes: {
658
+ readonly type: "integer";
659
+ readonly minimum: 1;
660
+ readonly maximum: 9007199254740991;
661
+ readonly description: "Hard size cap; larger files raise too_large WITHOUT buffering.";
662
+ };
663
+ };
664
+ readonly required: readonly ["file_id", "max_bytes"];
665
+ };
666
+ };
667
+ readonly "files.get": {
668
+ readonly description: "Metadata for one file (id, name, mime, size, modified, revision, folder, url).";
669
+ readonly inputSchema: {
670
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
671
+ readonly type: "object";
672
+ readonly properties: {
673
+ readonly file_id: {
674
+ readonly type: "string";
675
+ readonly minLength: 1;
676
+ readonly description: "The Drive file id.";
677
+ };
678
+ };
679
+ readonly required: readonly ["file_id"];
680
+ };
681
+ };
682
+ readonly "files.search": {
683
+ readonly description: "Search files by name/full text, optionally modified after a timestamp. Metadata only.";
684
+ readonly inputSchema: {
685
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
686
+ readonly type: "object";
687
+ readonly properties: {
688
+ readonly query: {
689
+ readonly type: "string";
690
+ readonly minLength: 1;
691
+ readonly description: "Matched against file names and full text.";
692
+ };
693
+ readonly modified_after: {
694
+ readonly description: "RFC 3339 timestamp; only files modified after this instant.";
695
+ readonly type: "string";
696
+ };
697
+ readonly page_token: {
698
+ readonly description: "Continuation token from a previous page.";
699
+ readonly type: "string";
700
+ };
701
+ };
702
+ readonly required: readonly ["query"];
703
+ };
704
+ };
705
+ readonly "changes.list": {
706
+ readonly description: "Incremental changes since a cursor. No cursor ⇒ initialize (fresh cursor, zero changes — never a backfill). A dead cursor raises status 410 (cursor_invalid); re-initialize.";
707
+ readonly inputSchema: {
708
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
709
+ readonly type: "object";
710
+ readonly properties: {
711
+ readonly cursor: {
712
+ readonly description: "Change cursor from a previous call. Omit to INITIALIZE: returns no changes, just a fresh cursor.";
713
+ readonly type: "string";
714
+ };
715
+ };
716
+ };
717
+ };
718
+ readonly "files.upload": {
719
+ readonly description: "Create a file (multipart), or with overwrite_file_id REPLACE that file’s content in place — the only true overwrite on Drive; an optional revision precondition aborts on mismatch.";
720
+ readonly inputSchema: {
721
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
722
+ readonly type: "object";
723
+ readonly properties: {
724
+ readonly folder_id: {
725
+ readonly description: "Target folder id; omit or 'root' for My Drive.";
726
+ readonly type: "string";
727
+ };
728
+ readonly name: {
729
+ readonly type: "string";
730
+ readonly minLength: 1;
731
+ readonly description: "File name at the target.";
732
+ };
733
+ readonly content_base64: {
734
+ readonly type: "string";
735
+ readonly minLength: 1;
736
+ readonly description: "File content, base64-encoded.";
737
+ };
738
+ readonly mime_type: {
739
+ readonly description: "Content MIME type; defaults to octet-stream.";
740
+ readonly type: "string";
741
+ };
742
+ readonly overwrite_file_id: {
743
+ readonly description: "OVERWRITE mode: replace the content of this existing file id (a plain upload NEVER overwrites on Drive — it creates a same-name duplicate).";
744
+ readonly type: "string";
745
+ };
746
+ readonly revision: {
747
+ readonly description: "With overwrite_file_id: the revision the caller last saw; a mismatch aborts (conflict) instead of clobbering a newer version.";
748
+ readonly type: "string";
749
+ };
750
+ };
751
+ readonly required: readonly ["name", "content_base64"];
752
+ };
753
+ };
754
+ readonly "files.move": {
755
+ readonly description: "Move a file to another folder and/or rename it.";
756
+ readonly inputSchema: {
757
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
758
+ readonly type: "object";
759
+ readonly properties: {
760
+ readonly file_id: {
761
+ readonly type: "string";
762
+ readonly minLength: 1;
763
+ readonly description: "The file to move and/or rename.";
764
+ };
765
+ readonly new_parent_id: {
766
+ readonly description: "Destination folder id (omit to keep).";
767
+ readonly type: "string";
768
+ };
769
+ readonly new_name: {
770
+ readonly description: "New file name (omit to keep).";
771
+ readonly type: "string";
772
+ };
773
+ };
774
+ readonly required: readonly ["file_id"];
775
+ };
776
+ };
777
+ readonly "folders.create": {
778
+ readonly description: "Create a folder under a parent.";
779
+ readonly inputSchema: {
780
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
781
+ readonly type: "object";
782
+ readonly properties: {
783
+ readonly parent_id: {
784
+ readonly description: "Parent folder id; omit or 'root' for My Drive.";
785
+ readonly type: "string";
786
+ };
787
+ readonly name: {
788
+ readonly type: "string";
789
+ readonly minLength: 1;
790
+ readonly description: "Folder name.";
791
+ };
792
+ };
793
+ readonly required: readonly ["name"];
794
+ };
795
+ };
796
+ readonly "files.trash": {
797
+ readonly description: "Move a file to the Drive TRASH (recoverable via the provider UI) — never a permanent delete.";
798
+ readonly inputSchema: {
799
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
800
+ readonly type: "object";
801
+ readonly properties: {
802
+ readonly file_id: {
803
+ readonly type: "string";
804
+ readonly minLength: 1;
805
+ readonly description: "The file to move to the Drive trash (recoverable).";
806
+ };
807
+ };
808
+ readonly required: readonly ["file_id"];
809
+ };
810
+ };
811
+ readonly "permissions.update": {
812
+ readonly description: "Grant a principal (by email) viewer/commenter/editor access to a file. No notification email is sent.";
813
+ readonly inputSchema: {
814
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
815
+ readonly type: "object";
816
+ readonly properties: {
817
+ readonly file_id: {
818
+ readonly type: "string";
819
+ readonly minLength: 1;
820
+ readonly description: "The file to share.";
821
+ };
822
+ readonly principal_email: {
823
+ readonly type: "string";
824
+ readonly format: "email";
825
+ readonly pattern: "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$";
826
+ readonly description: "The account gaining access.";
827
+ };
828
+ readonly role: {
829
+ readonly type: "string";
830
+ readonly enum: readonly ["viewer", "commenter", "editor"];
831
+ readonly description: "Access level granted to the principal.";
832
+ };
833
+ };
834
+ readonly required: readonly ["file_id", "principal_email", "role"];
835
+ };
836
+ };
837
+ };
838
+ };
839
+ readonly googlecalendar: {
840
+ readonly displayName: "Google Calendar";
841
+ readonly authKind: "oauth2";
842
+ readonly category: "scheduling";
843
+ readonly maturity: "ready";
844
+ readonly docUrl: "https://developers.google.com/calendar/api";
845
+ readonly ops: {
846
+ readonly "events.list": {
847
+ readonly description: "List upcoming calendar events inside a look-ahead window. Returns id, title, start, end, meetingUrl, platform — plus the current time anchor for \"today/tomorrow\" reasoning.";
848
+ readonly inputSchema: {
849
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
850
+ readonly type: "object";
851
+ readonly properties: {
852
+ readonly window_mins: {
853
+ readonly description: "Look-ahead window in minutes (15–10080, default 2880 = 48h).";
854
+ readonly type: "integer";
855
+ readonly minimum: -9007199254740991;
856
+ readonly maximum: 9007199254740991;
857
+ };
858
+ };
859
+ };
860
+ };
861
+ readonly "events.create": {
862
+ readonly description: "Create a calendar event on the primary calendar.";
863
+ readonly inputSchema: {
864
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
865
+ readonly type: "object";
866
+ readonly properties: {
867
+ readonly title: {
868
+ readonly type: "string";
869
+ readonly minLength: 1;
870
+ readonly description: "Event title.";
871
+ };
872
+ readonly start_datetime: {
873
+ readonly type: "string";
874
+ readonly minLength: 1;
875
+ readonly description: "Start, ISO 8601 with offset.";
876
+ };
877
+ readonly end_datetime: {
878
+ readonly description: "End, ISO 8601 with offset. Defaults to 30 minutes after start.";
879
+ readonly type: "string";
880
+ };
881
+ readonly description: {
882
+ readonly description: "Event description.";
883
+ readonly type: "string";
884
+ };
885
+ readonly location: {
886
+ readonly description: "Event location.";
887
+ readonly type: "string";
888
+ };
889
+ readonly attendees: {
890
+ readonly description: "Attendee email addresses.";
891
+ readonly type: "array";
892
+ readonly items: {
893
+ readonly type: "string";
894
+ };
895
+ };
896
+ };
897
+ readonly required: readonly ["title", "start_datetime"];
898
+ };
899
+ };
900
+ readonly "events.update": {
901
+ readonly description: "Update fields on an existing calendar event (only the fields provided change).";
902
+ readonly inputSchema: {
903
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
904
+ readonly type: "object";
905
+ readonly properties: {
906
+ readonly event_id: {
907
+ readonly type: "string";
908
+ readonly minLength: 1;
909
+ readonly description: "The event to update.";
910
+ };
911
+ readonly title: {
912
+ readonly description: "New title.";
913
+ readonly type: "string";
914
+ };
915
+ readonly start_datetime: {
916
+ readonly description: "New start, ISO 8601 with offset.";
917
+ readonly type: "string";
918
+ };
919
+ readonly end_datetime: {
920
+ readonly description: "New end, ISO 8601 with offset.";
921
+ readonly type: "string";
922
+ };
923
+ readonly description: {
924
+ readonly description: "New description.";
925
+ readonly type: "string";
926
+ };
927
+ readonly location: {
928
+ readonly description: "New location.";
929
+ readonly type: "string";
930
+ };
931
+ };
932
+ readonly required: readonly ["event_id"];
933
+ };
934
+ };
935
+ readonly "events.delete": {
936
+ readonly description: "Delete a calendar event from the primary calendar.";
937
+ readonly inputSchema: {
938
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
939
+ readonly type: "object";
940
+ readonly properties: {
941
+ readonly event_id: {
942
+ readonly type: "string";
943
+ readonly minLength: 1;
944
+ readonly description: "The event to delete.";
945
+ };
946
+ };
947
+ readonly required: readonly ["event_id"];
948
+ };
949
+ };
950
+ };
951
+ };
952
+ readonly hubspot: {
953
+ readonly displayName: "HubSpot";
954
+ readonly authKind: "api_key";
955
+ readonly category: "crm";
956
+ readonly maturity: "ready";
957
+ readonly docUrl: "https://developers.hubspot.com/docs/api/private-apps";
958
+ readonly ops: {};
959
+ };
960
+ readonly hunter: {
961
+ readonly displayName: "Hunter.io";
962
+ readonly authKind: "api_key";
963
+ readonly category: "email";
964
+ readonly maturity: "ready";
965
+ readonly docUrl: "https://hunter.io/api-documentation/v2";
966
+ readonly ops: {
967
+ readonly "email-finder": {
968
+ readonly description: "Find a person's email address at a company domain by their name. Returns the email, a confidence score, and verification status.";
969
+ readonly inputSchema: {
970
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
971
+ readonly type: "object";
972
+ readonly properties: {
973
+ readonly domain: {
974
+ readonly type: "string";
975
+ readonly minLength: 1;
976
+ readonly description: "Company domain, e.g. \"stripe.com\".";
977
+ };
978
+ readonly first_name: {
979
+ readonly type: "string";
980
+ readonly minLength: 1;
981
+ readonly description: "The person first name.";
982
+ };
983
+ readonly last_name: {
984
+ readonly type: "string";
985
+ readonly minLength: 1;
986
+ readonly description: "The person last name.";
987
+ };
988
+ };
989
+ readonly required: readonly ["domain", "first_name", "last_name"];
990
+ };
991
+ };
992
+ };
993
+ };
994
+ readonly instagram: {
995
+ readonly displayName: "Instagram";
996
+ readonly authKind: "oauth2";
997
+ readonly category: "channel";
998
+ readonly maturity: "ready";
999
+ readonly docUrl: "https://developers.facebook.com/docs/instagram-platform";
1000
+ readonly ops: {
1001
+ readonly "graph.get": {
1002
+ readonly description: "Escape hatch — read any Instagram Graph node by path (e.g. \"me\", a media id).";
1003
+ readonly inputSchema: {
1004
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1005
+ readonly type: "object";
1006
+ readonly properties: {
1007
+ readonly path: {
1008
+ readonly type: "string";
1009
+ readonly minLength: 1;
1010
+ readonly description: "Graph node path, e.g. \"me\" or an ig media id.";
1011
+ };
1012
+ readonly fields: {
1013
+ readonly description: "Fields to request.";
1014
+ readonly type: "array";
1015
+ readonly items: {
1016
+ readonly type: "string";
1017
+ };
1018
+ };
1019
+ readonly params: {
1020
+ readonly description: "Extra query params.";
1021
+ readonly type: "object";
1022
+ readonly propertyNames: {
1023
+ readonly type: "string";
1024
+ };
1025
+ readonly additionalProperties: {
1026
+ readonly anyOf: readonly [{
1027
+ readonly type: "string";
1028
+ }, {
1029
+ readonly type: "number";
1030
+ }];
1031
+ };
1032
+ };
1033
+ };
1034
+ readonly required: readonly ["path"];
1035
+ readonly description: "Escape hatch: read any Graph node.";
1036
+ };
1037
+ };
1038
+ readonly "accounts.list": {
1039
+ readonly description: "Return the Instagram professional account authorized by this connection.";
1040
+ readonly inputSchema: {
1041
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1042
+ readonly type: "object";
1043
+ readonly properties: {};
1044
+ readonly description: "Return the Instagram professional account authorized by this connection.";
1045
+ };
1046
+ };
1047
+ readonly "media.create": {
1048
+ readonly description: "Create an Instagram media container (step 1 of publishing).";
1049
+ readonly inputSchema: {
1050
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1051
+ readonly type: "object";
1052
+ readonly properties: {
1053
+ readonly ig_user_id: {
1054
+ readonly type: "string";
1055
+ readonly minLength: 1;
1056
+ readonly description: "Instagram professional account id (see accounts.list).";
1057
+ };
1058
+ readonly caption: {
1059
+ readonly type: "string";
1060
+ };
1061
+ readonly image_url: {
1062
+ readonly description: "Public image URL (image posts).";
1063
+ readonly type: "string";
1064
+ readonly format: "uri";
1065
+ };
1066
+ readonly video_url: {
1067
+ readonly description: "Public video URL (Reels/video posts).";
1068
+ readonly type: "string";
1069
+ readonly format: "uri";
1070
+ };
1071
+ readonly media_type: {
1072
+ readonly description: "e.g. \"REELS\" for video; omit for image.";
1073
+ readonly type: "string";
1074
+ };
1075
+ };
1076
+ readonly required: readonly ["ig_user_id"];
1077
+ readonly description: "Step 1: create a media container. Returns { creation_id }.";
1078
+ };
1079
+ };
1080
+ readonly "media.publish": {
1081
+ readonly description: "Publish a created Instagram media container (step 2 of publishing).";
1082
+ readonly inputSchema: {
1083
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1084
+ readonly type: "object";
1085
+ readonly properties: {
1086
+ readonly ig_user_id: {
1087
+ readonly type: "string";
1088
+ readonly minLength: 1;
1089
+ };
1090
+ readonly creation_id: {
1091
+ readonly type: "string";
1092
+ readonly minLength: 1;
1093
+ readonly description: "The id returned by media.create.";
1094
+ };
1095
+ };
1096
+ readonly required: readonly ["ig_user_id", "creation_id"];
1097
+ readonly description: "Step 2: publish a created media container. Returns { id }.";
1098
+ };
1099
+ };
1100
+ };
1101
+ };
1102
+ readonly instantly: {
1103
+ readonly displayName: "Instantly.ai";
1104
+ readonly authKind: "api_key";
1105
+ readonly category: "email";
1106
+ readonly maturity: "ready";
1107
+ readonly docUrl: "https://developer.instantly.ai/";
1108
+ readonly ops: {};
1109
+ };
1110
+ readonly mailchimp: {
1111
+ readonly displayName: "Mailchimp";
1112
+ readonly authKind: "api_key";
1113
+ readonly category: "email";
1114
+ readonly maturity: "ready";
1115
+ readonly docUrl: "https://mailchimp.com/developer/marketing/api/";
1116
+ readonly ops: {};
1117
+ };
1118
+ readonly meta: {
1119
+ readonly displayName: "Meta Ads (Marketing API)";
1120
+ readonly authKind: "oauth2";
1121
+ readonly category: "advertising";
1122
+ readonly maturity: "ready";
1123
+ readonly docUrl: "https://developers.facebook.com/docs/marketing-apis";
1124
+ readonly ops: {
1125
+ readonly "adaccounts.list": {
1126
+ readonly description: "List the ad accounts this connection can manage (id, name, status, currency). Use a returned act_<id> as the ad_account_id arg on the account-scoped ops.";
1127
+ readonly inputSchema: {
1128
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1129
+ readonly type: "object";
1130
+ readonly properties: {};
1131
+ readonly description: "No arguments.";
1132
+ };
1133
+ };
1134
+ readonly "graph.get": {
1135
+ readonly description: "Escape hatch — read any Graph node by path (e.g. \"me\", a campaign id).";
1136
+ readonly inputSchema: {
1137
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1138
+ readonly type: "object";
1139
+ readonly properties: {
1140
+ readonly path: {
1141
+ readonly type: "string";
1142
+ readonly minLength: 1;
1143
+ readonly description: "Graph node path, e.g. \"me\" or \"<campaign_id>\".";
1144
+ };
1145
+ readonly fields: {
1146
+ readonly description: "Fields to request.";
1147
+ readonly type: "array";
1148
+ readonly items: {
1149
+ readonly type: "string";
1150
+ };
1151
+ };
1152
+ readonly params: {
1153
+ readonly description: "Extra query params.";
1154
+ readonly type: "object";
1155
+ readonly propertyNames: {
1156
+ readonly type: "string";
1157
+ };
1158
+ readonly additionalProperties: {
1159
+ readonly anyOf: readonly [{
1160
+ readonly type: "string";
1161
+ }, {
1162
+ readonly type: "number";
1163
+ }];
1164
+ };
1165
+ };
1166
+ };
1167
+ readonly required: readonly ["path"];
1168
+ readonly description: "Escape hatch: read any Graph node.";
1169
+ };
1170
+ };
1171
+ readonly "insights.get": {
1172
+ readonly description: "Ad insights (spend, impressions, clicks, ctr, cpm, reach, actions…).";
1173
+ readonly inputSchema: {
1174
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1175
+ readonly type: "object";
1176
+ readonly properties: {
1177
+ readonly ad_account_id: {
1178
+ readonly description: "The ad account to act on (act_<id> or <digits>); see adaccounts.list.";
1179
+ readonly type: "string";
1180
+ };
1181
+ readonly level: {
1182
+ readonly type: "string";
1183
+ readonly enum: readonly ["account", "campaign", "adset", "ad"];
1184
+ };
1185
+ readonly date_preset: {
1186
+ readonly description: "e.g. \"last_7d\", \"last_30d\", \"lifetime\".";
1187
+ readonly type: "string";
1188
+ };
1189
+ readonly date_from: {
1190
+ readonly description: "YYYY-MM-DD (with date_to; overrides date_preset).";
1191
+ readonly type: "string";
1192
+ };
1193
+ readonly date_to: {
1194
+ readonly description: "YYYY-MM-DD.";
1195
+ readonly type: "string";
1196
+ };
1197
+ readonly fields: {
1198
+ readonly type: "array";
1199
+ readonly items: {
1200
+ readonly type: "string";
1201
+ };
1202
+ };
1203
+ readonly campaign_ids: {
1204
+ readonly description: "Filter to these campaign ids.";
1205
+ readonly type: "array";
1206
+ readonly items: {
1207
+ readonly type: "string";
1208
+ };
1209
+ };
1210
+ };
1211
+ };
1212
+ };
1213
+ readonly "campaigns.list": {
1214
+ readonly description: "List campaigns in the ad account.";
1215
+ readonly inputSchema: {
1216
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1217
+ readonly type: "object";
1218
+ readonly properties: {
1219
+ readonly ad_account_id: {
1220
+ readonly description: "The ad account to act on (act_<id> or <digits>); see adaccounts.list.";
1221
+ readonly type: "string";
1222
+ };
1223
+ readonly statuses: {
1224
+ readonly description: "Filter by effective status.";
1225
+ readonly type: "array";
1226
+ readonly items: {
1227
+ readonly type: "string";
1228
+ readonly enum: readonly ["ACTIVE", "PAUSED", "ARCHIVED", "DELETED"];
1229
+ };
1230
+ };
1231
+ };
1232
+ };
1233
+ };
1234
+ readonly "campaign.create": {
1235
+ readonly description: "Create a campaign. Provide daily_budget OR lifetime_budget, not both.";
1236
+ readonly inputSchema: {
1237
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1238
+ readonly type: "object";
1239
+ readonly properties: {
1240
+ readonly ad_account_id: {
1241
+ readonly description: "The ad account to act on (act_<id> or <digits>); see adaccounts.list.";
1242
+ readonly type: "string";
1243
+ };
1244
+ readonly name: {
1245
+ readonly type: "string";
1246
+ readonly minLength: 1;
1247
+ };
1248
+ readonly objective: {
1249
+ readonly type: "string";
1250
+ readonly minLength: 1;
1251
+ readonly description: "e.g. \"OUTCOME_TRAFFIC\", \"OUTCOME_SALES\".";
1252
+ };
1253
+ readonly status: {
1254
+ readonly default: "PAUSED";
1255
+ readonly type: "string";
1256
+ readonly enum: readonly ["ACTIVE", "PAUSED", "ARCHIVED", "DELETED"];
1257
+ };
1258
+ readonly special_ad_categories: {
1259
+ readonly default: readonly [];
1260
+ readonly description: "Required by Meta; [] when none apply.";
1261
+ readonly type: "array";
1262
+ readonly items: {
1263
+ readonly type: "string";
1264
+ };
1265
+ };
1266
+ readonly bid_strategy: {
1267
+ readonly type: "string";
1268
+ };
1269
+ readonly daily_budget: {
1270
+ readonly description: "Minor units (cents).";
1271
+ readonly type: "integer";
1272
+ readonly exclusiveMinimum: 0;
1273
+ readonly maximum: 9007199254740991;
1274
+ };
1275
+ readonly lifetime_budget: {
1276
+ readonly description: "Minor units (cents).";
1277
+ readonly type: "integer";
1278
+ readonly exclusiveMinimum: 0;
1279
+ readonly maximum: 9007199254740991;
1280
+ };
1281
+ };
1282
+ readonly required: readonly ["name", "objective"];
1283
+ };
1284
+ };
1285
+ readonly "campaign.update": {
1286
+ readonly description: "Update a campaign (name, status, budget). Not both budgets.";
1287
+ readonly inputSchema: {
1288
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1289
+ readonly type: "object";
1290
+ readonly properties: {
1291
+ readonly id: {
1292
+ readonly type: "string";
1293
+ readonly minLength: 1;
1294
+ };
1295
+ readonly name: {
1296
+ readonly type: "string";
1297
+ };
1298
+ readonly status: {
1299
+ readonly type: "string";
1300
+ readonly enum: readonly ["ACTIVE", "PAUSED", "ARCHIVED", "DELETED"];
1301
+ };
1302
+ readonly daily_budget: {
1303
+ readonly type: "integer";
1304
+ readonly exclusiveMinimum: 0;
1305
+ readonly maximum: 9007199254740991;
1306
+ };
1307
+ readonly lifetime_budget: {
1308
+ readonly type: "integer";
1309
+ readonly exclusiveMinimum: 0;
1310
+ readonly maximum: 9007199254740991;
1311
+ };
1312
+ };
1313
+ readonly required: readonly ["id"];
1314
+ };
1315
+ };
1316
+ readonly "adsets.list": {
1317
+ readonly description: "List ad sets in a campaign.";
1318
+ readonly inputSchema: {
1319
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1320
+ readonly type: "object";
1321
+ readonly properties: {
1322
+ readonly campaign_id: {
1323
+ readonly type: "string";
1324
+ readonly minLength: 1;
1325
+ };
1326
+ };
1327
+ readonly required: readonly ["campaign_id"];
1328
+ };
1329
+ };
1330
+ readonly "adsets.get_by_ids": {
1331
+ readonly description: "Fetch multiple ad sets by id.";
1332
+ readonly inputSchema: {
1333
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1334
+ readonly type: "object";
1335
+ readonly properties: {
1336
+ readonly ids: {
1337
+ readonly minItems: 1;
1338
+ readonly type: "array";
1339
+ readonly items: {
1340
+ readonly type: "string";
1341
+ readonly minLength: 1;
1342
+ };
1343
+ };
1344
+ };
1345
+ readonly required: readonly ["ids"];
1346
+ };
1347
+ };
1348
+ readonly "adset.create": {
1349
+ readonly description: "Create an ad set. Provide daily_budget OR lifetime_budget, not both.";
1350
+ readonly inputSchema: {
1351
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1352
+ readonly type: "object";
1353
+ readonly properties: {
1354
+ readonly ad_account_id: {
1355
+ readonly description: "The ad account to act on (act_<id> or <digits>); see adaccounts.list.";
1356
+ readonly type: "string";
1357
+ };
1358
+ readonly name: {
1359
+ readonly type: "string";
1360
+ readonly minLength: 1;
1361
+ };
1362
+ readonly campaign_id: {
1363
+ readonly type: "string";
1364
+ readonly minLength: 1;
1365
+ };
1366
+ readonly status: {
1367
+ readonly default: "PAUSED";
1368
+ readonly type: "string";
1369
+ readonly enum: readonly ["ACTIVE", "PAUSED", "ARCHIVED", "DELETED"];
1370
+ };
1371
+ readonly optimization_goal: {
1372
+ readonly type: "string";
1373
+ readonly minLength: 1;
1374
+ };
1375
+ readonly billing_event: {
1376
+ readonly type: "string";
1377
+ readonly minLength: 1;
1378
+ };
1379
+ readonly bid_amount: {
1380
+ readonly type: "integer";
1381
+ readonly exclusiveMinimum: 0;
1382
+ readonly maximum: 9007199254740991;
1383
+ };
1384
+ readonly bid_strategy: {
1385
+ readonly type: "string";
1386
+ };
1387
+ readonly daily_budget: {
1388
+ readonly type: "integer";
1389
+ readonly exclusiveMinimum: 0;
1390
+ readonly maximum: 9007199254740991;
1391
+ };
1392
+ readonly lifetime_budget: {
1393
+ readonly type: "integer";
1394
+ readonly exclusiveMinimum: 0;
1395
+ readonly maximum: 9007199254740991;
1396
+ };
1397
+ readonly targeting: {
1398
+ readonly type: "object";
1399
+ readonly propertyNames: {
1400
+ readonly type: "string";
1401
+ };
1402
+ readonly additionalProperties: {};
1403
+ };
1404
+ readonly start_time: {
1405
+ readonly type: "string";
1406
+ };
1407
+ readonly end_time: {
1408
+ readonly type: "string";
1409
+ };
1410
+ readonly promoted_object: {
1411
+ readonly type: "object";
1412
+ readonly propertyNames: {
1413
+ readonly type: "string";
1414
+ };
1415
+ readonly additionalProperties: {};
1416
+ };
1417
+ };
1418
+ readonly required: readonly ["name", "campaign_id", "optimization_goal", "billing_event"];
1419
+ };
1420
+ };
1421
+ readonly "adset.update": {
1422
+ readonly description: "Update an ad set (status, budget, bid, targeting). Not both budgets.";
1423
+ readonly inputSchema: {
1424
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1425
+ readonly type: "object";
1426
+ readonly properties: {
1427
+ readonly id: {
1428
+ readonly type: "string";
1429
+ readonly minLength: 1;
1430
+ };
1431
+ readonly status: {
1432
+ readonly type: "string";
1433
+ readonly enum: readonly ["ACTIVE", "PAUSED", "ARCHIVED", "DELETED"];
1434
+ };
1435
+ readonly daily_budget: {
1436
+ readonly type: "integer";
1437
+ readonly exclusiveMinimum: 0;
1438
+ readonly maximum: 9007199254740991;
1439
+ };
1440
+ readonly lifetime_budget: {
1441
+ readonly type: "integer";
1442
+ readonly exclusiveMinimum: 0;
1443
+ readonly maximum: 9007199254740991;
1444
+ };
1445
+ readonly bid_amount: {
1446
+ readonly type: "integer";
1447
+ readonly exclusiveMinimum: 0;
1448
+ readonly maximum: 9007199254740991;
1449
+ };
1450
+ readonly targeting: {
1451
+ readonly type: "object";
1452
+ readonly propertyNames: {
1453
+ readonly type: "string";
1454
+ };
1455
+ readonly additionalProperties: {};
1456
+ };
1457
+ };
1458
+ readonly required: readonly ["id"];
1459
+ };
1460
+ };
1461
+ readonly "ads.list": {
1462
+ readonly description: "List ads in an ad set.";
1463
+ readonly inputSchema: {
1464
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1465
+ readonly type: "object";
1466
+ readonly properties: {
1467
+ readonly adset_id: {
1468
+ readonly type: "string";
1469
+ readonly minLength: 1;
1470
+ };
1471
+ };
1472
+ readonly required: readonly ["adset_id"];
1473
+ };
1474
+ };
1475
+ readonly "ad.create": {
1476
+ readonly description: "Create an ad from an existing creative.";
1477
+ readonly inputSchema: {
1478
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1479
+ readonly type: "object";
1480
+ readonly properties: {
1481
+ readonly ad_account_id: {
1482
+ readonly description: "The ad account to act on (act_<id> or <digits>); see adaccounts.list.";
1483
+ readonly type: "string";
1484
+ };
1485
+ readonly name: {
1486
+ readonly type: "string";
1487
+ readonly minLength: 1;
1488
+ };
1489
+ readonly adset_id: {
1490
+ readonly type: "string";
1491
+ readonly minLength: 1;
1492
+ };
1493
+ readonly status: {
1494
+ readonly default: "PAUSED";
1495
+ readonly type: "string";
1496
+ readonly enum: readonly ["ACTIVE", "PAUSED", "ARCHIVED", "DELETED"];
1497
+ };
1498
+ readonly creative: {
1499
+ readonly type: "object";
1500
+ readonly properties: {
1501
+ readonly creative_id: {
1502
+ readonly type: "string";
1503
+ readonly minLength: 1;
1504
+ };
1505
+ };
1506
+ readonly required: readonly ["creative_id"];
1507
+ };
1508
+ };
1509
+ readonly required: readonly ["name", "adset_id", "creative"];
1510
+ };
1511
+ };
1512
+ readonly "ad.update": {
1513
+ readonly description: "Update an ad (status, name).";
1514
+ readonly inputSchema: {
1515
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1516
+ readonly type: "object";
1517
+ readonly properties: {
1518
+ readonly id: {
1519
+ readonly type: "string";
1520
+ readonly minLength: 1;
1521
+ };
1522
+ readonly status: {
1523
+ readonly type: "string";
1524
+ readonly enum: readonly ["ACTIVE", "PAUSED", "ARCHIVED", "DELETED"];
1525
+ };
1526
+ readonly name: {
1527
+ readonly type: "string";
1528
+ };
1529
+ };
1530
+ readonly required: readonly ["id"];
1531
+ };
1532
+ };
1533
+ readonly "adcreative.create": {
1534
+ readonly description: "Create an ad creative from an object_story_spec.";
1535
+ readonly inputSchema: {
1536
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1537
+ readonly type: "object";
1538
+ readonly properties: {
1539
+ readonly ad_account_id: {
1540
+ readonly description: "The ad account to act on (act_<id> or <digits>); see adaccounts.list.";
1541
+ readonly type: "string";
1542
+ };
1543
+ readonly name: {
1544
+ readonly type: "string";
1545
+ readonly minLength: 1;
1546
+ };
1547
+ readonly object_story_spec: {
1548
+ readonly type: "object";
1549
+ readonly properties: {
1550
+ readonly page_id: {
1551
+ readonly type: "string";
1552
+ readonly minLength: 1;
1553
+ };
1554
+ readonly link_data: {
1555
+ readonly type: "object";
1556
+ readonly propertyNames: {
1557
+ readonly type: "string";
1558
+ };
1559
+ readonly additionalProperties: {};
1560
+ };
1561
+ readonly video_data: {
1562
+ readonly type: "object";
1563
+ readonly propertyNames: {
1564
+ readonly type: "string";
1565
+ };
1566
+ readonly additionalProperties: {};
1567
+ };
1568
+ };
1569
+ readonly required: readonly ["page_id"];
1570
+ readonly description: "The story spec (page_id + link_data/video_data).";
1571
+ };
1572
+ };
1573
+ readonly required: readonly ["name", "object_story_spec"];
1574
+ };
1575
+ };
1576
+ readonly "adimage.upload": {
1577
+ readonly description: "Import an image into the ad account by URL. Returns its hash + url.";
1578
+ readonly inputSchema: {
1579
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1580
+ readonly type: "object";
1581
+ readonly properties: {
1582
+ readonly ad_account_id: {
1583
+ readonly description: "The ad account to act on (act_<id> or <digits>); see adaccounts.list.";
1584
+ readonly type: "string";
1585
+ };
1586
+ readonly url: {
1587
+ readonly type: "string";
1588
+ readonly format: "uri";
1589
+ readonly description: "Public image URL to import into the ad account.";
1590
+ };
1591
+ };
1592
+ readonly required: readonly ["url"];
1593
+ };
1594
+ };
1595
+ };
1596
+ };
1597
+ readonly onedrive: {
1598
+ readonly displayName: "OneDrive";
1599
+ readonly authKind: "oauth2";
1600
+ readonly category: "storage";
1601
+ readonly maturity: "ready";
1602
+ readonly docUrl: "https://learn.microsoft.com/en-us/graph/api/resources/onedrive";
1603
+ readonly ops: {
1604
+ readonly "folders.list": {
1605
+ readonly description: "List child folders (id + name) under a parent, for a folder picker.";
1606
+ readonly inputSchema: {
1607
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1608
+ readonly type: "object";
1609
+ readonly properties: {
1610
+ readonly parent_id: {
1611
+ readonly description: "Parent folder id; omit or 'root' for the drive root.";
1612
+ readonly type: "string";
1613
+ };
1614
+ readonly page_token: {
1615
+ readonly description: "Continuation link from a previous page.";
1616
+ readonly type: "string";
1617
+ };
1618
+ };
1619
+ };
1620
+ };
1621
+ readonly "files.list": {
1622
+ readonly description: "List the non-folder files directly inside a folder — metadata only.";
1623
+ readonly inputSchema: {
1624
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1625
+ readonly type: "object";
1626
+ readonly properties: {
1627
+ readonly folder_id: {
1628
+ readonly type: "string";
1629
+ readonly minLength: 1;
1630
+ readonly description: "The folder whose direct children to list.";
1631
+ };
1632
+ readonly page_token: {
1633
+ readonly description: "Continuation link from a previous page.";
1634
+ readonly type: "string";
1635
+ };
1636
+ };
1637
+ readonly required: readonly ["folder_id"];
1638
+ };
1639
+ };
1640
+ readonly "files.get": {
1641
+ readonly description: "Metadata for one item (id, name, mime, size, modified, revision, folder, url).";
1642
+ readonly inputSchema: {
1643
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1644
+ readonly type: "object";
1645
+ readonly properties: {
1646
+ readonly file_id: {
1647
+ readonly type: "string";
1648
+ readonly minLength: 1;
1649
+ readonly description: "The OneDrive item id.";
1650
+ };
1651
+ };
1652
+ readonly required: readonly ["file_id"];
1653
+ };
1654
+ };
1655
+ readonly "files.search": {
1656
+ readonly description: "Search items by name/content, optionally modified after a timestamp.";
1657
+ readonly inputSchema: {
1658
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1659
+ readonly type: "object";
1660
+ readonly properties: {
1661
+ readonly query: {
1662
+ readonly type: "string";
1663
+ readonly minLength: 1;
1664
+ readonly description: "Matched against item names and content.";
1665
+ };
1666
+ readonly modified_after: {
1667
+ readonly description: "ISO timestamp; only files modified after this instant.";
1668
+ readonly type: "string";
1669
+ };
1670
+ readonly page_token: {
1671
+ readonly description: "Continuation link from a previous page.";
1672
+ readonly type: "string";
1673
+ };
1674
+ };
1675
+ readonly required: readonly ["query"];
1676
+ };
1677
+ };
1678
+ readonly "files.download": {
1679
+ readonly description: "Download one item (base64, size-capped BEFORE buffering) via its short-lived download URL.";
1680
+ readonly inputSchema: {
1681
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1682
+ readonly type: "object";
1683
+ readonly properties: {
1684
+ readonly file_id: {
1685
+ readonly type: "string";
1686
+ readonly minLength: 1;
1687
+ readonly description: "The OneDrive item id.";
1688
+ };
1689
+ readonly max_bytes: {
1690
+ readonly type: "integer";
1691
+ readonly minimum: 1;
1692
+ readonly maximum: 9007199254740991;
1693
+ readonly description: "Hard size cap; larger files raise too_large WITHOUT buffering.";
1694
+ };
1695
+ };
1696
+ readonly required: readonly ["file_id", "max_bytes"];
1697
+ };
1698
+ };
1699
+ readonly "changes.list": {
1700
+ readonly description: "Incremental changes since a delta cursor. No cursor ⇒ initialize (fresh cursor, zero changes). An expired delta token raises status 410 (cursor_invalid); re-initialize.";
1701
+ readonly inputSchema: {
1702
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1703
+ readonly type: "object";
1704
+ readonly properties: {
1705
+ readonly cursor: {
1706
+ readonly description: "Delta link from a previous call. Omit to INITIALIZE: returns no changes, just a fresh cursor.";
1707
+ readonly type: "string";
1708
+ };
1709
+ };
1710
+ };
1711
+ };
1712
+ readonly "files.upload": {
1713
+ readonly description: "Create a file, or with overwrite_file_id REPLACE that item’s content — guarded by an If-Match eTag precondition when a revision is supplied. Simple uploads only (≤4 MB, Graph’s limit); larger needs an upload session (v2).";
1714
+ readonly inputSchema: {
1715
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1716
+ readonly type: "object";
1717
+ readonly properties: {
1718
+ readonly folder_id: {
1719
+ readonly description: "Target folder id; omit or 'root' for the drive root.";
1720
+ readonly type: "string";
1721
+ };
1722
+ readonly name: {
1723
+ readonly type: "string";
1724
+ readonly minLength: 1;
1725
+ readonly description: "File name at the target.";
1726
+ };
1727
+ readonly content_base64: {
1728
+ readonly type: "string";
1729
+ readonly minLength: 1;
1730
+ readonly description: "File content, base64-encoded.";
1731
+ };
1732
+ readonly mime_type: {
1733
+ readonly description: "Content MIME type; defaults to octet-stream.";
1734
+ readonly type: "string";
1735
+ };
1736
+ readonly overwrite_file_id: {
1737
+ readonly description: "OVERWRITE mode: replace the content of this existing item id.";
1738
+ readonly type: "string";
1739
+ };
1740
+ readonly revision: {
1741
+ readonly description: "With overwrite_file_id: the revision the caller last saw, sent as an If-Match precondition — a mismatch aborts (conflict) instead of clobbering.";
1742
+ readonly type: "string";
1743
+ };
1744
+ };
1745
+ readonly required: readonly ["name", "content_base64"];
1746
+ };
1747
+ };
1748
+ readonly "files.move": {
1749
+ readonly description: "Move an item to another folder and/or rename it.";
1750
+ readonly inputSchema: {
1751
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1752
+ readonly type: "object";
1753
+ readonly properties: {
1754
+ readonly file_id: {
1755
+ readonly type: "string";
1756
+ readonly minLength: 1;
1757
+ readonly description: "The item to move and/or rename.";
1758
+ };
1759
+ readonly new_parent_id: {
1760
+ readonly description: "Destination folder id (omit to keep).";
1761
+ readonly type: "string";
1762
+ };
1763
+ readonly new_name: {
1764
+ readonly description: "New file name (omit to keep).";
1765
+ readonly type: "string";
1766
+ };
1767
+ };
1768
+ readonly required: readonly ["file_id"];
1769
+ };
1770
+ };
1771
+ readonly "folders.create": {
1772
+ readonly description: "Create a folder under a parent.";
1773
+ readonly inputSchema: {
1774
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1775
+ readonly type: "object";
1776
+ readonly properties: {
1777
+ readonly parent_id: {
1778
+ readonly description: "Parent folder id; omit or 'root' for the drive root.";
1779
+ readonly type: "string";
1780
+ };
1781
+ readonly name: {
1782
+ readonly type: "string";
1783
+ readonly minLength: 1;
1784
+ readonly description: "Folder name.";
1785
+ };
1786
+ };
1787
+ readonly required: readonly ["name"];
1788
+ };
1789
+ };
1790
+ readonly "files.trash": {
1791
+ readonly description: "Send an item to the OneDrive recycle bin (recoverable; retention is tenant policy) — never a permanent purge.";
1792
+ readonly inputSchema: {
1793
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1794
+ readonly type: "object";
1795
+ readonly properties: {
1796
+ readonly file_id: {
1797
+ readonly type: "string";
1798
+ readonly minLength: 1;
1799
+ readonly description: "The item to send to the OneDrive recycle bin (retention is tenant policy).";
1800
+ };
1801
+ };
1802
+ readonly required: readonly ["file_id"];
1803
+ };
1804
+ };
1805
+ readonly "permissions.update": {
1806
+ readonly description: "Invite a principal (by email) as viewer or editor. 'commenter' has no Graph equivalent — typed unsupported (drive-agent plan L28 matrix). No notification email is sent.";
1807
+ readonly inputSchema: {
1808
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1809
+ readonly type: "object";
1810
+ readonly properties: {
1811
+ readonly file_id: {
1812
+ readonly type: "string";
1813
+ readonly minLength: 1;
1814
+ readonly description: "The item to share.";
1815
+ };
1816
+ readonly principal_email: {
1817
+ readonly type: "string";
1818
+ readonly format: "email";
1819
+ readonly pattern: "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$";
1820
+ readonly description: "The account gaining access.";
1821
+ };
1822
+ readonly role: {
1823
+ readonly type: "string";
1824
+ readonly enum: readonly ["viewer", "commenter", "editor"];
1825
+ readonly description: "Access level; OneDrive supports 'viewer' and 'editor' only.";
1826
+ };
1827
+ };
1828
+ readonly required: readonly ["file_id", "principal_email", "role"];
1829
+ };
1830
+ };
1831
+ };
1832
+ };
1833
+ readonly outlook: {
1834
+ readonly displayName: "Outlook";
1835
+ readonly authKind: "oauth2";
1836
+ readonly category: "email";
1837
+ readonly maturity: "ready";
1838
+ readonly docUrl: "https://learn.microsoft.com/en-us/graph/outlook-mail-concept-overview";
1839
+ readonly ops: {
1840
+ readonly "mail.recent": {
1841
+ readonly description: "List recent mail (unread first when no query; full-text search when a query is given). Returns normalized items: id, from, subject, snippet, receivedAt.";
1842
+ readonly inputSchema: {
1843
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1844
+ readonly type: "object";
1845
+ readonly properties: {
1846
+ readonly query: {
1847
+ readonly description: "Search text. Defaults to listing recent unread messages when omitted.";
1848
+ readonly type: "string";
1849
+ };
1850
+ readonly limit: {
1851
+ readonly description: "Max messages to return (1–15, default 8).";
1852
+ readonly type: "integer";
1853
+ readonly minimum: -9007199254740991;
1854
+ readonly maximum: 9007199254740991;
1855
+ };
1856
+ };
1857
+ };
1858
+ };
1859
+ readonly "mail.get": {
1860
+ readonly description: "Fetch the readable body of one email by message id (plain text, capped 4000 chars).";
1861
+ readonly inputSchema: {
1862
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1863
+ readonly type: "object";
1864
+ readonly properties: {
1865
+ readonly message_id: {
1866
+ readonly type: "string";
1867
+ readonly minLength: 1;
1868
+ readonly description: "The Outlook message id to fetch the full body for.";
1869
+ };
1870
+ };
1871
+ readonly required: readonly ["message_id"];
1872
+ };
1873
+ };
1874
+ readonly "mail.drafts": {
1875
+ readonly description: "List saved drafts (to, subject, preview).";
1876
+ readonly inputSchema: {
1877
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1878
+ readonly type: "object";
1879
+ readonly properties: {
1880
+ readonly limit: {
1881
+ readonly description: "Max drafts to return (1–10, default 5).";
1882
+ readonly type: "integer";
1883
+ readonly minimum: -9007199254740991;
1884
+ readonly maximum: 9007199254740991;
1885
+ };
1886
+ };
1887
+ };
1888
+ };
1889
+ readonly "mail.send": {
1890
+ readonly description: "Send an email from the connected Outlook account.";
1891
+ readonly inputSchema: {
1892
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1893
+ readonly type: "object";
1894
+ readonly properties: {
1895
+ readonly to: {
1896
+ readonly type: "string";
1897
+ readonly minLength: 1;
1898
+ readonly description: "Recipient email address.";
1899
+ };
1900
+ readonly subject: {
1901
+ readonly description: "Email subject line. If omitted, one is derived from the message body.";
1902
+ readonly type: "string";
1903
+ };
1904
+ readonly body: {
1905
+ readonly type: "string";
1906
+ readonly description: "Email body — plain text (formatted into clean HTML) or ready HTML.";
1907
+ };
1908
+ };
1909
+ readonly required: readonly ["to", "body"];
1910
+ };
1911
+ };
1912
+ readonly "mail.draft": {
1913
+ readonly description: "Save a draft in the connected Outlook account (does not send).";
1914
+ readonly inputSchema: {
1915
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1916
+ readonly type: "object";
1917
+ readonly properties: {
1918
+ readonly to: {
1919
+ readonly description: "Recipient email address (may be left empty on a draft).";
1920
+ readonly type: "string";
1921
+ };
1922
+ readonly subject: {
1923
+ readonly description: "Email subject line.";
1924
+ readonly type: "string";
1925
+ };
1926
+ readonly body: {
1927
+ readonly description: "Draft body — plain text or ready HTML.";
1928
+ readonly type: "string";
1929
+ };
1930
+ };
1931
+ };
1932
+ };
1933
+ readonly "mail.modify": {
1934
+ readonly description: "Trash or archive a message. (Read/unread flags are not supported for Outlook.)";
1935
+ readonly inputSchema: {
1936
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1937
+ readonly type: "object";
1938
+ readonly properties: {
1939
+ readonly message_id: {
1940
+ readonly type: "string";
1941
+ readonly minLength: 1;
1942
+ readonly description: "The Outlook MESSAGE id to modify.";
1943
+ };
1944
+ readonly action: {
1945
+ readonly type: "string";
1946
+ readonly enum: readonly ["trash", "archive"];
1947
+ readonly description: "What to do with the message (Outlook cannot mark read/unread via this connector).";
1948
+ };
1949
+ };
1950
+ readonly required: readonly ["message_id", "action"];
1951
+ };
1952
+ };
1953
+ readonly "events.list": {
1954
+ readonly description: "List upcoming calendar events inside a look-ahead window. Returns id, title, start, end, meetingUrl, platform — plus the current time anchor for \"today/tomorrow\" reasoning.";
1955
+ readonly inputSchema: {
1956
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1957
+ readonly type: "object";
1958
+ readonly properties: {
1959
+ readonly window_mins: {
1960
+ readonly description: "Look-ahead window in minutes (15–10080, default 2880 = 48h).";
1961
+ readonly type: "integer";
1962
+ readonly minimum: -9007199254740991;
1963
+ readonly maximum: 9007199254740991;
1964
+ };
1965
+ };
1966
+ };
1967
+ };
1968
+ readonly "events.create": {
1969
+ readonly description: "Create a calendar event.";
1970
+ readonly inputSchema: {
1971
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
1972
+ readonly type: "object";
1973
+ readonly properties: {
1974
+ readonly title: {
1975
+ readonly type: "string";
1976
+ readonly minLength: 1;
1977
+ readonly description: "Event title.";
1978
+ };
1979
+ readonly start_datetime: {
1980
+ readonly type: "string";
1981
+ readonly minLength: 1;
1982
+ readonly description: "Start, ISO 8601 with offset.";
1983
+ };
1984
+ readonly end_datetime: {
1985
+ readonly description: "End, ISO 8601 with offset. Defaults to 30 minutes after start.";
1986
+ readonly type: "string";
1987
+ };
1988
+ readonly description: {
1989
+ readonly description: "Event body/description.";
1990
+ readonly type: "string";
1991
+ };
1992
+ readonly location: {
1993
+ readonly description: "Event location.";
1994
+ readonly type: "string";
1995
+ };
1996
+ readonly attendees: {
1997
+ readonly description: "Attendee email addresses.";
1998
+ readonly type: "array";
1999
+ readonly items: {
2000
+ readonly type: "string";
2001
+ };
2002
+ };
2003
+ };
2004
+ readonly required: readonly ["title", "start_datetime"];
2005
+ };
2006
+ };
2007
+ readonly "events.update": {
2008
+ readonly description: "Update fields on an existing calendar event (only the fields provided change).";
2009
+ readonly inputSchema: {
2010
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2011
+ readonly type: "object";
2012
+ readonly properties: {
2013
+ readonly event_id: {
2014
+ readonly type: "string";
2015
+ readonly minLength: 1;
2016
+ readonly description: "The event to update.";
2017
+ };
2018
+ readonly title: {
2019
+ readonly description: "New title.";
2020
+ readonly type: "string";
2021
+ };
2022
+ readonly start_datetime: {
2023
+ readonly description: "New start, ISO 8601 with offset.";
2024
+ readonly type: "string";
2025
+ };
2026
+ readonly end_datetime: {
2027
+ readonly description: "New end, ISO 8601 with offset.";
2028
+ readonly type: "string";
2029
+ };
2030
+ readonly description: {
2031
+ readonly description: "New description.";
2032
+ readonly type: "string";
2033
+ };
2034
+ readonly location: {
2035
+ readonly description: "New location.";
2036
+ readonly type: "string";
2037
+ };
2038
+ };
2039
+ readonly required: readonly ["event_id"];
2040
+ };
2041
+ };
2042
+ readonly "events.delete": {
2043
+ readonly description: "Delete a calendar event.";
2044
+ readonly inputSchema: {
2045
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2046
+ readonly type: "object";
2047
+ readonly properties: {
2048
+ readonly event_id: {
2049
+ readonly type: "string";
2050
+ readonly minLength: 1;
2051
+ readonly description: "The event to delete.";
2052
+ };
2053
+ };
2054
+ readonly required: readonly ["event_id"];
2055
+ };
2056
+ };
2057
+ };
2058
+ };
2059
+ readonly pagespeed: {
2060
+ readonly displayName: "PageSpeed Insights";
2061
+ readonly authKind: "api_key";
2062
+ readonly category: "analytics";
2063
+ readonly maturity: "ready";
2064
+ readonly docUrl: "https://developers.google.com/speed/docs/insights/v5/get-started";
2065
+ readonly ops: {
2066
+ readonly runpagespeed: {
2067
+ readonly description: "Run a Lighthouse audit on a URL via PageSpeed Insights v5. Returns the full v5 JSON (lighthouseResult.categories + .audits).";
2068
+ readonly inputSchema: {
2069
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2070
+ readonly type: "object";
2071
+ readonly properties: {
2072
+ readonly url: {
2073
+ readonly type: "string";
2074
+ readonly format: "uri";
2075
+ readonly description: "The page URL to audit.";
2076
+ };
2077
+ readonly strategy: {
2078
+ readonly description: "Defaults to mobile.";
2079
+ readonly type: "string";
2080
+ readonly enum: readonly ["mobile", "desktop"];
2081
+ };
2082
+ readonly category: {
2083
+ readonly description: "Lighthouse categories to run; defaults to performance.";
2084
+ readonly type: "array";
2085
+ readonly items: {
2086
+ readonly type: "string";
2087
+ readonly enum: readonly ["performance", "accessibility", "best-practices", "seo", "pwa"];
2088
+ };
2089
+ };
2090
+ };
2091
+ readonly required: readonly ["url"];
2092
+ };
2093
+ };
2094
+ };
2095
+ };
2096
+ readonly posthog: {
2097
+ readonly displayName: "PostHog";
2098
+ readonly authKind: "api_key";
2099
+ readonly category: "analytics";
2100
+ readonly maturity: "ready";
205
2101
  readonly docUrl: "https://posthog.com/docs/api";
206
2102
  readonly ops: {};
207
2103
  };
2104
+ readonly reddit: {
2105
+ readonly displayName: "Reddit";
2106
+ readonly authKind: "oauth2";
2107
+ readonly category: "channel";
2108
+ readonly maturity: "ready";
2109
+ readonly docUrl: "https://www.reddit.com/dev/api";
2110
+ readonly ops: {
2111
+ readonly me: {
2112
+ readonly description: "Return the authenticated Reddit account (identity + karma). Cheap health check.";
2113
+ readonly inputSchema: {
2114
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2115
+ readonly type: "object";
2116
+ readonly properties: {};
2117
+ readonly description: "Return the authenticated Reddit account (identity/health).";
2118
+ };
2119
+ };
2120
+ readonly "subreddit.posts": {
2121
+ readonly description: "List posts in a subreddit (hot/new/top/rising). Returns trimmed post metadata.";
2122
+ readonly inputSchema: {
2123
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2124
+ readonly type: "object";
2125
+ readonly properties: {
2126
+ readonly subreddit: {
2127
+ readonly type: "string";
2128
+ readonly minLength: 1;
2129
+ readonly description: "Subreddit name, without the \"r/\" prefix.";
2130
+ };
2131
+ readonly sort: {
2132
+ readonly description: "Listing sort; defaults to hot.";
2133
+ readonly type: "string";
2134
+ readonly enum: readonly ["hot", "new", "top", "rising"];
2135
+ };
2136
+ readonly time: {
2137
+ readonly description: "Time window for the \"top\" sort.";
2138
+ readonly type: "string";
2139
+ readonly enum: readonly ["hour", "day", "week", "month", "year", "all"];
2140
+ };
2141
+ readonly limit: {
2142
+ readonly description: "Max posts (1-100); defaults to 25.";
2143
+ readonly type: "integer";
2144
+ readonly minimum: 1;
2145
+ readonly maximum: 100;
2146
+ };
2147
+ readonly after: {
2148
+ readonly description: "Pagination cursor (the \"after\" from a previous call).";
2149
+ readonly type: "string";
2150
+ };
2151
+ };
2152
+ readonly required: readonly ["subreddit"];
2153
+ };
2154
+ };
2155
+ readonly search: {
2156
+ readonly description: "Search posts, site-wide or within a subreddit. Returns trimmed post metadata.";
2157
+ readonly inputSchema: {
2158
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2159
+ readonly type: "object";
2160
+ readonly properties: {
2161
+ readonly q: {
2162
+ readonly type: "string";
2163
+ readonly minLength: 1;
2164
+ readonly description: "Search query.";
2165
+ };
2166
+ readonly subreddit: {
2167
+ readonly description: "Restrict to this subreddit (omit for a site-wide search).";
2168
+ readonly type: "string";
2169
+ };
2170
+ readonly sort: {
2171
+ readonly type: "string";
2172
+ readonly enum: readonly ["relevance", "hot", "top", "new", "comments"];
2173
+ };
2174
+ readonly time: {
2175
+ readonly type: "string";
2176
+ readonly enum: readonly ["hour", "day", "week", "month", "year", "all"];
2177
+ };
2178
+ readonly limit: {
2179
+ readonly description: "Max results (1-100); defaults to 25.";
2180
+ readonly type: "integer";
2181
+ readonly minimum: 1;
2182
+ readonly maximum: 100;
2183
+ };
2184
+ };
2185
+ readonly required: readonly ["q"];
2186
+ };
2187
+ };
2188
+ readonly submit: {
2189
+ readonly description: "Submit a post to a subreddit (self text or link). Returns { id, name, url }.";
2190
+ readonly inputSchema: {
2191
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2192
+ readonly type: "object";
2193
+ readonly properties: {
2194
+ readonly subreddit: {
2195
+ readonly type: "string";
2196
+ readonly minLength: 1;
2197
+ readonly description: "Target subreddit, without the \"r/\" prefix.";
2198
+ };
2199
+ readonly title: {
2200
+ readonly type: "string";
2201
+ readonly minLength: 1;
2202
+ readonly maxLength: 300;
2203
+ };
2204
+ readonly kind: {
2205
+ readonly type: "string";
2206
+ readonly enum: readonly ["self", "link"];
2207
+ readonly description: "\"self\" = text post (text), \"link\" = link post (url).";
2208
+ };
2209
+ readonly text: {
2210
+ readonly description: "Body markdown for a self post.";
2211
+ readonly type: "string";
2212
+ };
2213
+ readonly url: {
2214
+ readonly description: "The URL for a link post.";
2215
+ readonly type: "string";
2216
+ readonly format: "uri";
2217
+ };
2218
+ readonly nsfw: {
2219
+ readonly type: "boolean";
2220
+ };
2221
+ readonly flair_id: {
2222
+ readonly type: "string";
2223
+ };
2224
+ };
2225
+ readonly required: readonly ["subreddit", "title", "kind"];
2226
+ };
2227
+ };
2228
+ readonly comment: {
2229
+ readonly description: "Reply to a post or comment. Returns { name } of the created comment.";
2230
+ readonly inputSchema: {
2231
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2232
+ readonly type: "object";
2233
+ readonly properties: {
2234
+ readonly thing_id: {
2235
+ readonly type: "string";
2236
+ readonly minLength: 1;
2237
+ readonly description: "Fullname of the parent (t3_… for a post, t1_… for a comment).";
2238
+ };
2239
+ readonly text: {
2240
+ readonly type: "string";
2241
+ readonly minLength: 1;
2242
+ readonly description: "Comment body markdown.";
2243
+ };
2244
+ };
2245
+ readonly required: readonly ["thing_id", "text"];
2246
+ };
2247
+ };
2248
+ };
2249
+ };
2250
+ readonly searchconsole: {
2251
+ readonly displayName: "Google Search Console";
2252
+ readonly authKind: "oauth2";
2253
+ readonly category: "analytics";
2254
+ readonly maturity: "ready";
2255
+ readonly docUrl: "https://developers.google.com/webmaster-tools/v1/how-tos/authorizing";
2256
+ readonly ops: {
2257
+ readonly "sites.list": {
2258
+ readonly description: "List the verified Search Console properties (siteUrl + permissionLevel).";
2259
+ readonly inputSchema: {
2260
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2261
+ readonly type: "object";
2262
+ readonly properties: {};
2263
+ readonly description: "List the verified Search Console properties this connection can access.";
2264
+ };
2265
+ };
2266
+ readonly "searchanalytics.query": {
2267
+ readonly description: "Query search performance (clicks, impressions, ctr, position) for a property over a date range, optionally grouped by query/page/country/device/date.";
2268
+ readonly inputSchema: {
2269
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2270
+ readonly type: "object";
2271
+ readonly properties: {
2272
+ readonly site_url: {
2273
+ readonly type: "string";
2274
+ readonly minLength: 1;
2275
+ readonly description: "The property id: \"https://example.com/\" or \"sc-domain:example.com\" (see sites.list).";
2276
+ };
2277
+ readonly start_date: {
2278
+ readonly type: "string";
2279
+ readonly description: "YYYY-MM-DD (inclusive).";
2280
+ };
2281
+ readonly end_date: {
2282
+ readonly type: "string";
2283
+ readonly description: "YYYY-MM-DD (inclusive).";
2284
+ };
2285
+ readonly dimensions: {
2286
+ readonly description: "Group rows by these dimensions; omit for site totals.";
2287
+ readonly type: "array";
2288
+ readonly items: {
2289
+ readonly type: "string";
2290
+ readonly enum: readonly ["query", "page", "country", "device", "searchAppearance", "date"];
2291
+ };
2292
+ };
2293
+ readonly row_limit: {
2294
+ readonly description: "Max rows (1-25000); default 1000.";
2295
+ readonly type: "integer";
2296
+ readonly minimum: 1;
2297
+ readonly maximum: 25000;
2298
+ };
2299
+ readonly search_type: {
2300
+ readonly description: "Search type; defaults to web.";
2301
+ readonly type: "string";
2302
+ readonly enum: readonly ["web", "image", "video", "news", "discover", "googleNews"];
2303
+ };
2304
+ };
2305
+ readonly required: readonly ["site_url", "start_date", "end_date"];
2306
+ };
2307
+ };
2308
+ readonly "sitemaps.list": {
2309
+ readonly description: "List the sitemaps submitted for a property.";
2310
+ readonly inputSchema: {
2311
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2312
+ readonly type: "object";
2313
+ readonly properties: {
2314
+ readonly site_url: {
2315
+ readonly type: "string";
2316
+ readonly minLength: 1;
2317
+ readonly description: "The property id (see sites.list).";
2318
+ };
2319
+ };
2320
+ readonly required: readonly ["site_url"];
2321
+ };
2322
+ };
2323
+ };
2324
+ };
208
2325
  readonly sendgrid: {
209
2326
  readonly displayName: "SendGrid";
210
2327
  readonly authKind: "api_key";
@@ -213,13 +2330,283 @@ export declare const connectors: {
213
2330
  readonly docUrl: "https://docs.sendgrid.com/api-reference";
214
2331
  readonly ops: {};
215
2332
  };
216
- readonly stripe: {
217
- readonly displayName: "Stripe";
2333
+ readonly "slack-broker": {
2334
+ readonly displayName: "Slack";
218
2335
  readonly authKind: "oauth2";
219
- readonly category: "payments";
220
- readonly maturity: "coming_soon";
221
- readonly docUrl: "https://docs.stripe.com/connect/oauth-reference";
222
- readonly ops: {};
2336
+ readonly category: "communication";
2337
+ readonly maturity: "ready";
2338
+ readonly docUrl: "https://api.slack.com/docs";
2339
+ readonly ops: {
2340
+ readonly "channels.list": {
2341
+ readonly description: "List channels in the connected Slack workspace (names).";
2342
+ readonly inputSchema: {
2343
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2344
+ readonly type: "object";
2345
+ readonly properties: {
2346
+ readonly limit: {
2347
+ readonly description: "Max channels to return (1–200, default 100).";
2348
+ readonly type: "integer";
2349
+ readonly minimum: -9007199254740991;
2350
+ readonly maximum: 9007199254740991;
2351
+ };
2352
+ };
2353
+ };
2354
+ };
2355
+ readonly "channel.history": {
2356
+ readonly description: "Read recent messages from a channel (by name or id). If no channel matches, returns notFound plus channel-name suggestions.";
2357
+ readonly inputSchema: {
2358
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2359
+ readonly type: "object";
2360
+ readonly properties: {
2361
+ readonly channel: {
2362
+ readonly type: "string";
2363
+ readonly minLength: 1;
2364
+ readonly description: "Channel name (with or without '#') or channel id.";
2365
+ };
2366
+ readonly limit: {
2367
+ readonly description: "Max messages to return (1–30, default 15).";
2368
+ readonly type: "integer";
2369
+ readonly minimum: -9007199254740991;
2370
+ readonly maximum: 9007199254740991;
2371
+ };
2372
+ };
2373
+ readonly required: readonly ["channel"];
2374
+ };
2375
+ };
2376
+ readonly "dm.history": {
2377
+ readonly description: "Read the recent direct-message history with a person (by display name or @handle). If nobody matches, returns notFound plus name suggestions.";
2378
+ readonly inputSchema: {
2379
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2380
+ readonly type: "object";
2381
+ readonly properties: {
2382
+ readonly person: {
2383
+ readonly type: "string";
2384
+ readonly minLength: 1;
2385
+ readonly description: "Person's display name or @handle.";
2386
+ };
2387
+ readonly limit: {
2388
+ readonly description: "Max messages to return (1–30, default 15).";
2389
+ readonly type: "integer";
2390
+ readonly minimum: -9007199254740991;
2391
+ readonly maximum: 9007199254740991;
2392
+ };
2393
+ };
2394
+ readonly required: readonly ["person"];
2395
+ };
2396
+ };
2397
+ readonly "message.send": {
2398
+ readonly description: "Post a message to a Slack channel (chosen by name or id).";
2399
+ readonly inputSchema: {
2400
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2401
+ readonly type: "object";
2402
+ readonly properties: {
2403
+ readonly channel: {
2404
+ readonly type: "string";
2405
+ readonly minLength: 1;
2406
+ readonly description: "Channel name (with or without '#') or channel id.";
2407
+ };
2408
+ readonly text: {
2409
+ readonly type: "string";
2410
+ readonly minLength: 1;
2411
+ readonly description: "Message text (Slack markdown).";
2412
+ };
2413
+ };
2414
+ readonly required: readonly ["channel", "text"];
2415
+ };
2416
+ };
2417
+ readonly "dm.send": {
2418
+ readonly description: "Send a direct message to a person (by display name or @handle).";
2419
+ readonly inputSchema: {
2420
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2421
+ readonly type: "object";
2422
+ readonly properties: {
2423
+ readonly person: {
2424
+ readonly type: "string";
2425
+ readonly minLength: 1;
2426
+ readonly description: "Person's display name or @handle.";
2427
+ };
2428
+ readonly text: {
2429
+ readonly type: "string";
2430
+ readonly minLength: 1;
2431
+ readonly description: "Message text (Slack markdown).";
2432
+ };
2433
+ };
2434
+ readonly required: readonly ["person", "text"];
2435
+ };
2436
+ };
2437
+ };
2438
+ };
2439
+ readonly smartlead: {
2440
+ readonly displayName: "Smartlead";
2441
+ readonly authKind: "api_key";
2442
+ readonly category: "email";
2443
+ readonly maturity: "ready";
2444
+ readonly docUrl: "https://api.smartlead.ai/reference/introduction";
2445
+ readonly ops: {
2446
+ readonly "campaigns.list": {
2447
+ readonly description: "List all email campaigns for the connected Smartlead account (id, name, status, schedule).";
2448
+ readonly inputSchema: {
2449
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2450
+ readonly type: "object";
2451
+ readonly properties: {};
2452
+ };
2453
+ };
2454
+ readonly "campaign.create": {
2455
+ readonly description: "Create a new (empty) email campaign. Returns Smartlead's raw create-campaign response ({ ok, id, name }). Configure sequence/schedule separately.";
2456
+ readonly inputSchema: {
2457
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2458
+ readonly type: "object";
2459
+ readonly properties: {
2460
+ readonly name: {
2461
+ readonly type: "string";
2462
+ readonly minLength: 1;
2463
+ readonly description: "Campaign name.";
2464
+ };
2465
+ readonly client_id: {
2466
+ readonly description: "Optional Smartlead client (whitelabel) id to own the campaign.";
2467
+ readonly anyOf: readonly [{
2468
+ readonly type: "string";
2469
+ }, {
2470
+ readonly type: "number";
2471
+ }];
2472
+ };
2473
+ };
2474
+ readonly required: readonly ["name"];
2475
+ };
2476
+ };
2477
+ readonly "campaign.analytics": {
2478
+ readonly description: "Fetch a campaign's aggregate analytics (sent, opens, replies, bounces, etc.) by campaign id.";
2479
+ readonly inputSchema: {
2480
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2481
+ readonly type: "object";
2482
+ readonly properties: {
2483
+ readonly campaign_id: {
2484
+ readonly anyOf: readonly [{
2485
+ readonly type: "string";
2486
+ readonly minLength: 1;
2487
+ }, {
2488
+ readonly type: "number";
2489
+ }];
2490
+ readonly description: "Campaign id.";
2491
+ };
2492
+ };
2493
+ readonly required: readonly ["campaign_id"];
2494
+ };
2495
+ };
2496
+ readonly "leads.add": {
2497
+ readonly description: "Import leads into a campaign (max 400 per request). Each lead needs an email; other fields and custom_fields feed the template merge tags.";
2498
+ readonly inputSchema: {
2499
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2500
+ readonly type: "object";
2501
+ readonly properties: {
2502
+ readonly campaign_id: {
2503
+ readonly anyOf: readonly [{
2504
+ readonly type: "string";
2505
+ readonly minLength: 1;
2506
+ }, {
2507
+ readonly type: "number";
2508
+ }];
2509
+ readonly description: "Target campaign id.";
2510
+ };
2511
+ readonly lead_list: {
2512
+ readonly minItems: 1;
2513
+ readonly maxItems: 400;
2514
+ readonly type: "array";
2515
+ readonly items: {
2516
+ readonly type: "object";
2517
+ readonly properties: {
2518
+ readonly email: {
2519
+ readonly type: "string";
2520
+ readonly format: "email";
2521
+ readonly pattern: "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$";
2522
+ readonly description: "Lead email address (required).";
2523
+ };
2524
+ readonly first_name: {
2525
+ readonly type: "string";
2526
+ };
2527
+ readonly last_name: {
2528
+ readonly type: "string";
2529
+ };
2530
+ readonly company_name: {
2531
+ readonly type: "string";
2532
+ };
2533
+ readonly phone_number: {
2534
+ readonly type: "string";
2535
+ };
2536
+ readonly website: {
2537
+ readonly type: "string";
2538
+ };
2539
+ readonly location: {
2540
+ readonly type: "string";
2541
+ };
2542
+ readonly linkedin_profile: {
2543
+ readonly type: "string";
2544
+ };
2545
+ readonly custom_fields: {
2546
+ readonly description: "Bespoke merge fields referenced by the campaign template.";
2547
+ readonly type: "object";
2548
+ readonly propertyNames: {
2549
+ readonly type: "string";
2550
+ };
2551
+ readonly additionalProperties: {
2552
+ readonly anyOf: readonly [{
2553
+ readonly type: "string";
2554
+ }, {
2555
+ readonly type: "number";
2556
+ }, {
2557
+ readonly type: "boolean";
2558
+ }];
2559
+ };
2560
+ };
2561
+ };
2562
+ readonly required: readonly ["email"];
2563
+ };
2564
+ readonly description: "Leads to import (max 400 per request).";
2565
+ };
2566
+ readonly settings: {
2567
+ readonly description: "Import behaviour (dedup / suppression handling).";
2568
+ readonly type: "object";
2569
+ readonly properties: {
2570
+ readonly ignore_global_block_list: {
2571
+ readonly type: "boolean";
2572
+ };
2573
+ readonly ignore_unsubscribe_list: {
2574
+ readonly type: "boolean";
2575
+ };
2576
+ readonly ignore_community_bounce_list: {
2577
+ readonly type: "boolean";
2578
+ };
2579
+ readonly ignore_duplicate_leads_in_other_campaign: {
2580
+ readonly type: "boolean";
2581
+ };
2582
+ };
2583
+ };
2584
+ };
2585
+ readonly required: readonly ["campaign_id", "lead_list"];
2586
+ };
2587
+ };
2588
+ readonly "email-accounts.list": {
2589
+ readonly description: "List the sending email accounts (mailboxes) connected to the Smartlead account, with warmup + health status.";
2590
+ readonly inputSchema: {
2591
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
2592
+ readonly type: "object";
2593
+ readonly properties: {
2594
+ readonly limit: {
2595
+ readonly description: "Page size (default 100).";
2596
+ readonly type: "integer";
2597
+ readonly exclusiveMinimum: 0;
2598
+ readonly maximum: 100;
2599
+ };
2600
+ readonly offset: {
2601
+ readonly description: "Pagination offset.";
2602
+ readonly type: "integer";
2603
+ readonly minimum: 0;
2604
+ readonly maximum: 9007199254740991;
2605
+ };
2606
+ };
2607
+ };
2608
+ };
2609
+ };
223
2610
  };
224
2611
  readonly twilio: {
225
2612
  readonly displayName: "Twilio";