@pellux/goodvibes-contracts 0.33.38 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/operator-contract.json +1383 -4
- package/dist/generated/foundation-metadata.d.ts +2 -2
- package/dist/generated/foundation-metadata.js +2 -2
- package/dist/generated/operator-contract.d.ts.map +1 -1
- package/dist/generated/operator-contract.js +1383 -4
- package/dist/generated/operator-method-ids.d.ts +1 -1
- package/dist/generated/operator-method-ids.d.ts.map +1 -1
- package/dist/generated/operator-method-ids.js +17 -0
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"product": {
|
|
4
4
|
"id": "goodvibes",
|
|
5
5
|
"surface": "operator",
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.34.0"
|
|
7
7
|
},
|
|
8
8
|
"auth": {
|
|
9
9
|
"modes": [
|
|
@@ -15237,6 +15237,364 @@
|
|
|
15237
15237
|
},
|
|
15238
15238
|
"invokable": true
|
|
15239
15239
|
},
|
|
15240
|
+
{
|
|
15241
|
+
"id": "calendar.events.create",
|
|
15242
|
+
"title": "Create Calendar Event",
|
|
15243
|
+
"description": "Create an event on the configured CalDAV calendar. Requires explicit confirmation.",
|
|
15244
|
+
"category": "calendar",
|
|
15245
|
+
"source": "builtin",
|
|
15246
|
+
"access": "admin",
|
|
15247
|
+
"transport": [
|
|
15248
|
+
"http",
|
|
15249
|
+
"ws"
|
|
15250
|
+
],
|
|
15251
|
+
"scopes": [
|
|
15252
|
+
"write:calendar"
|
|
15253
|
+
],
|
|
15254
|
+
"http": {
|
|
15255
|
+
"method": "POST",
|
|
15256
|
+
"path": "/api/calendar/events"
|
|
15257
|
+
},
|
|
15258
|
+
"inputSchema": {
|
|
15259
|
+
"type": "object",
|
|
15260
|
+
"properties": {
|
|
15261
|
+
"title": {
|
|
15262
|
+
"type": "string"
|
|
15263
|
+
},
|
|
15264
|
+
"start": {
|
|
15265
|
+
"type": "string"
|
|
15266
|
+
},
|
|
15267
|
+
"end": {
|
|
15268
|
+
"type": "string"
|
|
15269
|
+
},
|
|
15270
|
+
"description": {
|
|
15271
|
+
"type": "string"
|
|
15272
|
+
},
|
|
15273
|
+
"attendees": {
|
|
15274
|
+
"type": "array",
|
|
15275
|
+
"items": {
|
|
15276
|
+
"type": "string"
|
|
15277
|
+
}
|
|
15278
|
+
},
|
|
15279
|
+
"location": {
|
|
15280
|
+
"type": "string"
|
|
15281
|
+
},
|
|
15282
|
+
"calendarId": {
|
|
15283
|
+
"type": "string"
|
|
15284
|
+
},
|
|
15285
|
+
"confirm": {
|
|
15286
|
+
"type": "boolean"
|
|
15287
|
+
}
|
|
15288
|
+
},
|
|
15289
|
+
"required": [
|
|
15290
|
+
"title",
|
|
15291
|
+
"start",
|
|
15292
|
+
"end",
|
|
15293
|
+
"confirm"
|
|
15294
|
+
],
|
|
15295
|
+
"additionalProperties": true
|
|
15296
|
+
},
|
|
15297
|
+
"outputSchema": {
|
|
15298
|
+
"type": "object",
|
|
15299
|
+
"properties": {
|
|
15300
|
+
"eventId": {
|
|
15301
|
+
"type": "string"
|
|
15302
|
+
},
|
|
15303
|
+
"uid": {
|
|
15304
|
+
"type": "string"
|
|
15305
|
+
},
|
|
15306
|
+
"createdAt": {
|
|
15307
|
+
"type": "string"
|
|
15308
|
+
}
|
|
15309
|
+
},
|
|
15310
|
+
"required": [
|
|
15311
|
+
"eventId",
|
|
15312
|
+
"uid",
|
|
15313
|
+
"createdAt"
|
|
15314
|
+
],
|
|
15315
|
+
"additionalProperties": false
|
|
15316
|
+
},
|
|
15317
|
+
"invokable": true
|
|
15318
|
+
},
|
|
15319
|
+
{
|
|
15320
|
+
"id": "calendar.events.get",
|
|
15321
|
+
"title": "Get Calendar Event",
|
|
15322
|
+
"description": "Return the full event object including attendees, recurrence, and raw iCalendar UID.",
|
|
15323
|
+
"category": "calendar",
|
|
15324
|
+
"source": "builtin",
|
|
15325
|
+
"access": "authenticated",
|
|
15326
|
+
"transport": [
|
|
15327
|
+
"http",
|
|
15328
|
+
"ws"
|
|
15329
|
+
],
|
|
15330
|
+
"scopes": [
|
|
15331
|
+
"read:calendar"
|
|
15332
|
+
],
|
|
15333
|
+
"http": {
|
|
15334
|
+
"method": "GET",
|
|
15335
|
+
"path": "/api/calendar/events/{eventId}"
|
|
15336
|
+
},
|
|
15337
|
+
"inputSchema": {
|
|
15338
|
+
"type": "object",
|
|
15339
|
+
"properties": {
|
|
15340
|
+
"eventId": {
|
|
15341
|
+
"type": "string"
|
|
15342
|
+
},
|
|
15343
|
+
"calendarId": {
|
|
15344
|
+
"type": "string"
|
|
15345
|
+
}
|
|
15346
|
+
},
|
|
15347
|
+
"required": [
|
|
15348
|
+
"eventId"
|
|
15349
|
+
],
|
|
15350
|
+
"additionalProperties": false
|
|
15351
|
+
},
|
|
15352
|
+
"outputSchema": {
|
|
15353
|
+
"type": "object",
|
|
15354
|
+
"properties": {
|
|
15355
|
+
"id": {
|
|
15356
|
+
"type": "string"
|
|
15357
|
+
},
|
|
15358
|
+
"uid": {
|
|
15359
|
+
"type": "string"
|
|
15360
|
+
},
|
|
15361
|
+
"title": {
|
|
15362
|
+
"type": "string"
|
|
15363
|
+
},
|
|
15364
|
+
"start": {
|
|
15365
|
+
"type": "string"
|
|
15366
|
+
},
|
|
15367
|
+
"end": {
|
|
15368
|
+
"type": "string"
|
|
15369
|
+
},
|
|
15370
|
+
"location": {
|
|
15371
|
+
"type": "string"
|
|
15372
|
+
},
|
|
15373
|
+
"description": {
|
|
15374
|
+
"type": "string"
|
|
15375
|
+
},
|
|
15376
|
+
"attendees": {
|
|
15377
|
+
"type": "array",
|
|
15378
|
+
"items": {
|
|
15379
|
+
"type": "string"
|
|
15380
|
+
}
|
|
15381
|
+
},
|
|
15382
|
+
"recurrence": {
|
|
15383
|
+
"type": "string"
|
|
15384
|
+
}
|
|
15385
|
+
},
|
|
15386
|
+
"required": [
|
|
15387
|
+
"id",
|
|
15388
|
+
"title",
|
|
15389
|
+
"start",
|
|
15390
|
+
"end"
|
|
15391
|
+
],
|
|
15392
|
+
"additionalProperties": false
|
|
15393
|
+
},
|
|
15394
|
+
"invokable": true
|
|
15395
|
+
},
|
|
15396
|
+
{
|
|
15397
|
+
"id": "calendar.events.list",
|
|
15398
|
+
"title": "List Calendar Events",
|
|
15399
|
+
"description": "Return calendar event summaries from the configured CalDAV calendar within an optional time window.",
|
|
15400
|
+
"category": "calendar",
|
|
15401
|
+
"source": "builtin",
|
|
15402
|
+
"access": "authenticated",
|
|
15403
|
+
"transport": [
|
|
15404
|
+
"http",
|
|
15405
|
+
"ws"
|
|
15406
|
+
],
|
|
15407
|
+
"scopes": [
|
|
15408
|
+
"read:calendar"
|
|
15409
|
+
],
|
|
15410
|
+
"http": {
|
|
15411
|
+
"method": "GET",
|
|
15412
|
+
"path": "/api/calendar/events"
|
|
15413
|
+
},
|
|
15414
|
+
"inputSchema": {
|
|
15415
|
+
"type": "object",
|
|
15416
|
+
"properties": {
|
|
15417
|
+
"calendarId": {
|
|
15418
|
+
"type": "string"
|
|
15419
|
+
},
|
|
15420
|
+
"from": {
|
|
15421
|
+
"type": "string"
|
|
15422
|
+
},
|
|
15423
|
+
"to": {
|
|
15424
|
+
"type": "string"
|
|
15425
|
+
},
|
|
15426
|
+
"limit": {
|
|
15427
|
+
"type": "number"
|
|
15428
|
+
}
|
|
15429
|
+
},
|
|
15430
|
+
"additionalProperties": false
|
|
15431
|
+
},
|
|
15432
|
+
"outputSchema": {
|
|
15433
|
+
"type": "object",
|
|
15434
|
+
"properties": {
|
|
15435
|
+
"events": {
|
|
15436
|
+
"type": "array",
|
|
15437
|
+
"items": {
|
|
15438
|
+
"type": "object",
|
|
15439
|
+
"properties": {
|
|
15440
|
+
"id": {
|
|
15441
|
+
"type": "string"
|
|
15442
|
+
},
|
|
15443
|
+
"title": {
|
|
15444
|
+
"type": "string"
|
|
15445
|
+
},
|
|
15446
|
+
"start": {
|
|
15447
|
+
"type": "string"
|
|
15448
|
+
},
|
|
15449
|
+
"end": {
|
|
15450
|
+
"type": "string"
|
|
15451
|
+
},
|
|
15452
|
+
"location": {
|
|
15453
|
+
"type": "string"
|
|
15454
|
+
},
|
|
15455
|
+
"description": {
|
|
15456
|
+
"type": "string"
|
|
15457
|
+
},
|
|
15458
|
+
"attendees": {
|
|
15459
|
+
"type": "array",
|
|
15460
|
+
"items": {
|
|
15461
|
+
"type": "string"
|
|
15462
|
+
}
|
|
15463
|
+
}
|
|
15464
|
+
},
|
|
15465
|
+
"required": [
|
|
15466
|
+
"id",
|
|
15467
|
+
"title",
|
|
15468
|
+
"start",
|
|
15469
|
+
"end"
|
|
15470
|
+
],
|
|
15471
|
+
"additionalProperties": false
|
|
15472
|
+
}
|
|
15473
|
+
}
|
|
15474
|
+
},
|
|
15475
|
+
"required": [
|
|
15476
|
+
"events"
|
|
15477
|
+
],
|
|
15478
|
+
"additionalProperties": false
|
|
15479
|
+
},
|
|
15480
|
+
"invokable": true
|
|
15481
|
+
},
|
|
15482
|
+
{
|
|
15483
|
+
"id": "calendar.ics.export",
|
|
15484
|
+
"title": "Export iCalendar",
|
|
15485
|
+
"description": "Export events from the configured CalDAV calendar as raw .ics content within an optional time window.",
|
|
15486
|
+
"category": "calendar",
|
|
15487
|
+
"source": "builtin",
|
|
15488
|
+
"access": "authenticated",
|
|
15489
|
+
"transport": [
|
|
15490
|
+
"http",
|
|
15491
|
+
"ws"
|
|
15492
|
+
],
|
|
15493
|
+
"scopes": [
|
|
15494
|
+
"read:calendar"
|
|
15495
|
+
],
|
|
15496
|
+
"http": {
|
|
15497
|
+
"method": "GET",
|
|
15498
|
+
"path": "/api/calendar/ics/export"
|
|
15499
|
+
},
|
|
15500
|
+
"inputSchema": {
|
|
15501
|
+
"type": "object",
|
|
15502
|
+
"properties": {
|
|
15503
|
+
"calendarId": {
|
|
15504
|
+
"type": "string"
|
|
15505
|
+
},
|
|
15506
|
+
"from": {
|
|
15507
|
+
"type": "string"
|
|
15508
|
+
},
|
|
15509
|
+
"to": {
|
|
15510
|
+
"type": "string"
|
|
15511
|
+
}
|
|
15512
|
+
},
|
|
15513
|
+
"additionalProperties": false
|
|
15514
|
+
},
|
|
15515
|
+
"outputSchema": {
|
|
15516
|
+
"type": "object",
|
|
15517
|
+
"properties": {
|
|
15518
|
+
"icsContent": {
|
|
15519
|
+
"type": "string"
|
|
15520
|
+
},
|
|
15521
|
+
"eventCount": {
|
|
15522
|
+
"type": "number"
|
|
15523
|
+
}
|
|
15524
|
+
},
|
|
15525
|
+
"required": [
|
|
15526
|
+
"icsContent",
|
|
15527
|
+
"eventCount"
|
|
15528
|
+
],
|
|
15529
|
+
"additionalProperties": false
|
|
15530
|
+
},
|
|
15531
|
+
"invokable": true
|
|
15532
|
+
},
|
|
15533
|
+
{
|
|
15534
|
+
"id": "calendar.ics.import",
|
|
15535
|
+
"title": "Import iCalendar",
|
|
15536
|
+
"description": "Import raw .ics content into the configured CalDAV calendar. Requires explicit confirmation.",
|
|
15537
|
+
"category": "calendar",
|
|
15538
|
+
"source": "builtin",
|
|
15539
|
+
"access": "admin",
|
|
15540
|
+
"transport": [
|
|
15541
|
+
"http",
|
|
15542
|
+
"ws"
|
|
15543
|
+
],
|
|
15544
|
+
"scopes": [
|
|
15545
|
+
"write:calendar"
|
|
15546
|
+
],
|
|
15547
|
+
"http": {
|
|
15548
|
+
"method": "POST",
|
|
15549
|
+
"path": "/api/calendar/ics/import"
|
|
15550
|
+
},
|
|
15551
|
+
"inputSchema": {
|
|
15552
|
+
"type": "object",
|
|
15553
|
+
"properties": {
|
|
15554
|
+
"icsContent": {
|
|
15555
|
+
"type": "string"
|
|
15556
|
+
},
|
|
15557
|
+
"calendarId": {
|
|
15558
|
+
"type": "string"
|
|
15559
|
+
},
|
|
15560
|
+
"confirm": {
|
|
15561
|
+
"type": "boolean"
|
|
15562
|
+
}
|
|
15563
|
+
},
|
|
15564
|
+
"required": [
|
|
15565
|
+
"icsContent",
|
|
15566
|
+
"confirm"
|
|
15567
|
+
],
|
|
15568
|
+
"additionalProperties": true
|
|
15569
|
+
},
|
|
15570
|
+
"outputSchema": {
|
|
15571
|
+
"type": "object",
|
|
15572
|
+
"properties": {
|
|
15573
|
+
"imported": {
|
|
15574
|
+
"type": "number"
|
|
15575
|
+
},
|
|
15576
|
+
"eventIds": {
|
|
15577
|
+
"type": "array",
|
|
15578
|
+
"items": {
|
|
15579
|
+
"type": "string"
|
|
15580
|
+
}
|
|
15581
|
+
},
|
|
15582
|
+
"errors": {
|
|
15583
|
+
"type": "array",
|
|
15584
|
+
"items": {
|
|
15585
|
+
"type": "string"
|
|
15586
|
+
}
|
|
15587
|
+
}
|
|
15588
|
+
},
|
|
15589
|
+
"required": [
|
|
15590
|
+
"imported",
|
|
15591
|
+
"eventIds",
|
|
15592
|
+
"errors"
|
|
15593
|
+
],
|
|
15594
|
+
"additionalProperties": false
|
|
15595
|
+
},
|
|
15596
|
+
"invokable": true
|
|
15597
|
+
},
|
|
15240
15598
|
{
|
|
15241
15599
|
"id": "channels.accounts.action.default",
|
|
15242
15600
|
"title": "Run Channel Account Action",
|
|
@@ -18331,6 +18689,508 @@
|
|
|
18331
18689
|
},
|
|
18332
18690
|
"invokable": true
|
|
18333
18691
|
},
|
|
18692
|
+
{
|
|
18693
|
+
"id": "channels.drafts.delete",
|
|
18694
|
+
"title": "Delete Channel Draft",
|
|
18695
|
+
"description": "Remove a channel draft from the daemon-side store.",
|
|
18696
|
+
"category": "channels",
|
|
18697
|
+
"source": "builtin",
|
|
18698
|
+
"access": "admin",
|
|
18699
|
+
"transport": [
|
|
18700
|
+
"http",
|
|
18701
|
+
"ws"
|
|
18702
|
+
],
|
|
18703
|
+
"scopes": [
|
|
18704
|
+
"write:channels"
|
|
18705
|
+
],
|
|
18706
|
+
"http": {
|
|
18707
|
+
"method": "DELETE",
|
|
18708
|
+
"path": "/api/channels/drafts/{draftId}"
|
|
18709
|
+
},
|
|
18710
|
+
"inputSchema": {
|
|
18711
|
+
"type": "object",
|
|
18712
|
+
"properties": {
|
|
18713
|
+
"draftId": {
|
|
18714
|
+
"type": "string"
|
|
18715
|
+
}
|
|
18716
|
+
},
|
|
18717
|
+
"required": [
|
|
18718
|
+
"draftId"
|
|
18719
|
+
],
|
|
18720
|
+
"additionalProperties": false
|
|
18721
|
+
},
|
|
18722
|
+
"outputSchema": {
|
|
18723
|
+
"type": "object",
|
|
18724
|
+
"properties": {
|
|
18725
|
+
"deleted": {
|
|
18726
|
+
"type": "boolean"
|
|
18727
|
+
},
|
|
18728
|
+
"draftId": {
|
|
18729
|
+
"type": "string"
|
|
18730
|
+
}
|
|
18731
|
+
},
|
|
18732
|
+
"required": [
|
|
18733
|
+
"deleted",
|
|
18734
|
+
"draftId"
|
|
18735
|
+
],
|
|
18736
|
+
"additionalProperties": false
|
|
18737
|
+
},
|
|
18738
|
+
"dangerous": true,
|
|
18739
|
+
"invokable": true
|
|
18740
|
+
},
|
|
18741
|
+
{
|
|
18742
|
+
"id": "channels.drafts.get",
|
|
18743
|
+
"title": "Get Channel Draft",
|
|
18744
|
+
"description": "Return a single daemon-mirrored channel draft by id, or a notFound marker.",
|
|
18745
|
+
"category": "channels",
|
|
18746
|
+
"source": "builtin",
|
|
18747
|
+
"access": "authenticated",
|
|
18748
|
+
"transport": [
|
|
18749
|
+
"http",
|
|
18750
|
+
"ws"
|
|
18751
|
+
],
|
|
18752
|
+
"scopes": [
|
|
18753
|
+
"read:channels"
|
|
18754
|
+
],
|
|
18755
|
+
"http": {
|
|
18756
|
+
"method": "GET",
|
|
18757
|
+
"path": "/api/channels/drafts/{draftId}"
|
|
18758
|
+
},
|
|
18759
|
+
"inputSchema": {
|
|
18760
|
+
"type": "object",
|
|
18761
|
+
"properties": {
|
|
18762
|
+
"draftId": {
|
|
18763
|
+
"type": "string"
|
|
18764
|
+
}
|
|
18765
|
+
},
|
|
18766
|
+
"required": [
|
|
18767
|
+
"draftId"
|
|
18768
|
+
],
|
|
18769
|
+
"additionalProperties": false
|
|
18770
|
+
},
|
|
18771
|
+
"outputSchema": {
|
|
18772
|
+
"type": "object",
|
|
18773
|
+
"properties": {
|
|
18774
|
+
"version": {
|
|
18775
|
+
"type": "number"
|
|
18776
|
+
},
|
|
18777
|
+
"id": {
|
|
18778
|
+
"type": "string"
|
|
18779
|
+
},
|
|
18780
|
+
"createdAt": {
|
|
18781
|
+
"type": "string"
|
|
18782
|
+
},
|
|
18783
|
+
"updatedAt": {
|
|
18784
|
+
"type": "string"
|
|
18785
|
+
},
|
|
18786
|
+
"status": {
|
|
18787
|
+
"type": "string"
|
|
18788
|
+
},
|
|
18789
|
+
"title": {
|
|
18790
|
+
"type": "string"
|
|
18791
|
+
},
|
|
18792
|
+
"message": {
|
|
18793
|
+
"type": "string"
|
|
18794
|
+
},
|
|
18795
|
+
"channel": {
|
|
18796
|
+
"type": "string"
|
|
18797
|
+
},
|
|
18798
|
+
"route": {
|
|
18799
|
+
"type": "string"
|
|
18800
|
+
},
|
|
18801
|
+
"webhook": {
|
|
18802
|
+
"type": "string"
|
|
18803
|
+
},
|
|
18804
|
+
"link": {
|
|
18805
|
+
"type": "string"
|
|
18806
|
+
},
|
|
18807
|
+
"tags": {
|
|
18808
|
+
"type": "array",
|
|
18809
|
+
"items": {
|
|
18810
|
+
"type": "string"
|
|
18811
|
+
}
|
|
18812
|
+
},
|
|
18813
|
+
"sentResponseId": {
|
|
18814
|
+
"type": "string"
|
|
18815
|
+
},
|
|
18816
|
+
"sendError": {
|
|
18817
|
+
"type": "string"
|
|
18818
|
+
},
|
|
18819
|
+
"notFound": {
|
|
18820
|
+
"type": "boolean"
|
|
18821
|
+
}
|
|
18822
|
+
},
|
|
18823
|
+
"additionalProperties": true
|
|
18824
|
+
},
|
|
18825
|
+
"invokable": true
|
|
18826
|
+
},
|
|
18827
|
+
{
|
|
18828
|
+
"id": "channels.drafts.list",
|
|
18829
|
+
"title": "List Channel Drafts",
|
|
18830
|
+
"description": "Return daemon-mirrored channel drafts for cross-device sync. Webhook values are stored redacted.",
|
|
18831
|
+
"category": "channels",
|
|
18832
|
+
"source": "builtin",
|
|
18833
|
+
"access": "authenticated",
|
|
18834
|
+
"transport": [
|
|
18835
|
+
"http",
|
|
18836
|
+
"ws"
|
|
18837
|
+
],
|
|
18838
|
+
"scopes": [
|
|
18839
|
+
"read:channels"
|
|
18840
|
+
],
|
|
18841
|
+
"http": {
|
|
18842
|
+
"method": "GET",
|
|
18843
|
+
"path": "/api/channels/drafts"
|
|
18844
|
+
},
|
|
18845
|
+
"inputSchema": {
|
|
18846
|
+
"type": "object",
|
|
18847
|
+
"properties": {
|
|
18848
|
+
"status": {
|
|
18849
|
+
"type": "string"
|
|
18850
|
+
},
|
|
18851
|
+
"limit": {
|
|
18852
|
+
"type": "number"
|
|
18853
|
+
}
|
|
18854
|
+
},
|
|
18855
|
+
"additionalProperties": false
|
|
18856
|
+
},
|
|
18857
|
+
"outputSchema": {
|
|
18858
|
+
"type": "object",
|
|
18859
|
+
"properties": {
|
|
18860
|
+
"drafts": {
|
|
18861
|
+
"type": "array",
|
|
18862
|
+
"items": {
|
|
18863
|
+
"type": "object",
|
|
18864
|
+
"properties": {
|
|
18865
|
+
"version": {
|
|
18866
|
+
"type": "number"
|
|
18867
|
+
},
|
|
18868
|
+
"id": {
|
|
18869
|
+
"type": "string"
|
|
18870
|
+
},
|
|
18871
|
+
"createdAt": {
|
|
18872
|
+
"type": "string"
|
|
18873
|
+
},
|
|
18874
|
+
"updatedAt": {
|
|
18875
|
+
"type": "string"
|
|
18876
|
+
},
|
|
18877
|
+
"status": {
|
|
18878
|
+
"type": "string"
|
|
18879
|
+
},
|
|
18880
|
+
"title": {
|
|
18881
|
+
"type": "string"
|
|
18882
|
+
},
|
|
18883
|
+
"message": {
|
|
18884
|
+
"type": "string"
|
|
18885
|
+
},
|
|
18886
|
+
"channel": {
|
|
18887
|
+
"type": "string"
|
|
18888
|
+
},
|
|
18889
|
+
"route": {
|
|
18890
|
+
"type": "string"
|
|
18891
|
+
},
|
|
18892
|
+
"webhook": {
|
|
18893
|
+
"type": "string"
|
|
18894
|
+
},
|
|
18895
|
+
"link": {
|
|
18896
|
+
"type": "string"
|
|
18897
|
+
},
|
|
18898
|
+
"tags": {
|
|
18899
|
+
"type": "array",
|
|
18900
|
+
"items": {
|
|
18901
|
+
"type": "string"
|
|
18902
|
+
}
|
|
18903
|
+
},
|
|
18904
|
+
"sentResponseId": {
|
|
18905
|
+
"type": "string"
|
|
18906
|
+
},
|
|
18907
|
+
"sendError": {
|
|
18908
|
+
"type": "string"
|
|
18909
|
+
}
|
|
18910
|
+
},
|
|
18911
|
+
"required": [
|
|
18912
|
+
"version",
|
|
18913
|
+
"id",
|
|
18914
|
+
"createdAt",
|
|
18915
|
+
"updatedAt",
|
|
18916
|
+
"status",
|
|
18917
|
+
"message"
|
|
18918
|
+
],
|
|
18919
|
+
"additionalProperties": false
|
|
18920
|
+
}
|
|
18921
|
+
},
|
|
18922
|
+
"total": {
|
|
18923
|
+
"type": "number"
|
|
18924
|
+
}
|
|
18925
|
+
},
|
|
18926
|
+
"required": [
|
|
18927
|
+
"drafts",
|
|
18928
|
+
"total"
|
|
18929
|
+
],
|
|
18930
|
+
"additionalProperties": false
|
|
18931
|
+
},
|
|
18932
|
+
"invokable": true
|
|
18933
|
+
},
|
|
18934
|
+
{
|
|
18935
|
+
"id": "channels.drafts.save",
|
|
18936
|
+
"title": "Save Channel Draft",
|
|
18937
|
+
"description": "Mirror a channel draft to the daemon-side store. Webhook values must be redacted before transmission; raw webhook tokens are rejected. Requires explicit confirmation.",
|
|
18938
|
+
"category": "channels",
|
|
18939
|
+
"source": "builtin",
|
|
18940
|
+
"access": "admin",
|
|
18941
|
+
"transport": [
|
|
18942
|
+
"http",
|
|
18943
|
+
"ws"
|
|
18944
|
+
],
|
|
18945
|
+
"scopes": [
|
|
18946
|
+
"write:channels"
|
|
18947
|
+
],
|
|
18948
|
+
"http": {
|
|
18949
|
+
"method": "POST",
|
|
18950
|
+
"path": "/api/channels/drafts"
|
|
18951
|
+
},
|
|
18952
|
+
"inputSchema": {
|
|
18953
|
+
"type": "object",
|
|
18954
|
+
"properties": {
|
|
18955
|
+
"version": {
|
|
18956
|
+
"type": "number"
|
|
18957
|
+
},
|
|
18958
|
+
"id": {
|
|
18959
|
+
"type": "string"
|
|
18960
|
+
},
|
|
18961
|
+
"createdAt": {
|
|
18962
|
+
"type": "string"
|
|
18963
|
+
},
|
|
18964
|
+
"updatedAt": {
|
|
18965
|
+
"type": "string"
|
|
18966
|
+
},
|
|
18967
|
+
"status": {
|
|
18968
|
+
"type": "string"
|
|
18969
|
+
},
|
|
18970
|
+
"title": {
|
|
18971
|
+
"type": "string"
|
|
18972
|
+
},
|
|
18973
|
+
"message": {
|
|
18974
|
+
"type": "string"
|
|
18975
|
+
},
|
|
18976
|
+
"channel": {
|
|
18977
|
+
"type": "string"
|
|
18978
|
+
},
|
|
18979
|
+
"route": {
|
|
18980
|
+
"type": "string"
|
|
18981
|
+
},
|
|
18982
|
+
"webhook": {
|
|
18983
|
+
"type": "string"
|
|
18984
|
+
},
|
|
18985
|
+
"link": {
|
|
18986
|
+
"type": "string"
|
|
18987
|
+
},
|
|
18988
|
+
"tags": {
|
|
18989
|
+
"type": "array",
|
|
18990
|
+
"items": {
|
|
18991
|
+
"type": "string"
|
|
18992
|
+
}
|
|
18993
|
+
},
|
|
18994
|
+
"sentResponseId": {
|
|
18995
|
+
"type": "string"
|
|
18996
|
+
},
|
|
18997
|
+
"sendError": {
|
|
18998
|
+
"type": "string"
|
|
18999
|
+
}
|
|
19000
|
+
},
|
|
19001
|
+
"required": [
|
|
19002
|
+
"version",
|
|
19003
|
+
"id",
|
|
19004
|
+
"createdAt",
|
|
19005
|
+
"updatedAt",
|
|
19006
|
+
"status",
|
|
19007
|
+
"message"
|
|
19008
|
+
],
|
|
19009
|
+
"additionalProperties": true
|
|
19010
|
+
},
|
|
19011
|
+
"outputSchema": {
|
|
19012
|
+
"type": "object",
|
|
19013
|
+
"properties": {
|
|
19014
|
+
"draft": {
|
|
19015
|
+
"type": "object",
|
|
19016
|
+
"properties": {
|
|
19017
|
+
"version": {
|
|
19018
|
+
"type": "number"
|
|
19019
|
+
},
|
|
19020
|
+
"id": {
|
|
19021
|
+
"type": "string"
|
|
19022
|
+
},
|
|
19023
|
+
"createdAt": {
|
|
19024
|
+
"type": "string"
|
|
19025
|
+
},
|
|
19026
|
+
"updatedAt": {
|
|
19027
|
+
"type": "string"
|
|
19028
|
+
},
|
|
19029
|
+
"status": {
|
|
19030
|
+
"type": "string"
|
|
19031
|
+
},
|
|
19032
|
+
"title": {
|
|
19033
|
+
"type": "string"
|
|
19034
|
+
},
|
|
19035
|
+
"message": {
|
|
19036
|
+
"type": "string"
|
|
19037
|
+
},
|
|
19038
|
+
"channel": {
|
|
19039
|
+
"type": "string"
|
|
19040
|
+
},
|
|
19041
|
+
"route": {
|
|
19042
|
+
"type": "string"
|
|
19043
|
+
},
|
|
19044
|
+
"webhook": {
|
|
19045
|
+
"type": "string"
|
|
19046
|
+
},
|
|
19047
|
+
"link": {
|
|
19048
|
+
"type": "string"
|
|
19049
|
+
},
|
|
19050
|
+
"tags": {
|
|
19051
|
+
"type": "array",
|
|
19052
|
+
"items": {
|
|
19053
|
+
"type": "string"
|
|
19054
|
+
}
|
|
19055
|
+
},
|
|
19056
|
+
"sentResponseId": {
|
|
19057
|
+
"type": "string"
|
|
19058
|
+
},
|
|
19059
|
+
"sendError": {
|
|
19060
|
+
"type": "string"
|
|
19061
|
+
}
|
|
19062
|
+
},
|
|
19063
|
+
"required": [
|
|
19064
|
+
"version",
|
|
19065
|
+
"id",
|
|
19066
|
+
"createdAt",
|
|
19067
|
+
"updatedAt",
|
|
19068
|
+
"status",
|
|
19069
|
+
"message"
|
|
19070
|
+
],
|
|
19071
|
+
"additionalProperties": false
|
|
19072
|
+
},
|
|
19073
|
+
"created": {
|
|
19074
|
+
"type": "boolean"
|
|
19075
|
+
}
|
|
19076
|
+
},
|
|
19077
|
+
"required": [
|
|
19078
|
+
"draft",
|
|
19079
|
+
"created"
|
|
19080
|
+
],
|
|
19081
|
+
"additionalProperties": false
|
|
19082
|
+
},
|
|
19083
|
+
"invokable": true
|
|
19084
|
+
},
|
|
19085
|
+
{
|
|
19086
|
+
"id": "channels.inbox.list",
|
|
19087
|
+
"title": "List Channel Inbox",
|
|
19088
|
+
"description": "Return per-provider inbound message feeds (Slack DMs, Discord messages, email threads) fetched live from provider APIs. Read-only; no provider write.",
|
|
19089
|
+
"category": "channels",
|
|
19090
|
+
"source": "builtin",
|
|
19091
|
+
"access": "authenticated",
|
|
19092
|
+
"transport": [
|
|
19093
|
+
"http",
|
|
19094
|
+
"ws"
|
|
19095
|
+
],
|
|
19096
|
+
"scopes": [
|
|
19097
|
+
"read:channels"
|
|
19098
|
+
],
|
|
19099
|
+
"http": {
|
|
19100
|
+
"method": "GET",
|
|
19101
|
+
"path": "/api/channels/inbox"
|
|
19102
|
+
},
|
|
19103
|
+
"inputSchema": {
|
|
19104
|
+
"type": "object",
|
|
19105
|
+
"properties": {
|
|
19106
|
+
"provider": {
|
|
19107
|
+
"type": "string"
|
|
19108
|
+
},
|
|
19109
|
+
"limit": {
|
|
19110
|
+
"type": "number"
|
|
19111
|
+
},
|
|
19112
|
+
"since": {
|
|
19113
|
+
"type": "number"
|
|
19114
|
+
}
|
|
19115
|
+
},
|
|
19116
|
+
"additionalProperties": false
|
|
19117
|
+
},
|
|
19118
|
+
"outputSchema": {
|
|
19119
|
+
"type": "object",
|
|
19120
|
+
"properties": {
|
|
19121
|
+
"items": {
|
|
19122
|
+
"type": "array",
|
|
19123
|
+
"items": {
|
|
19124
|
+
"type": "object",
|
|
19125
|
+
"properties": {
|
|
19126
|
+
"id": {
|
|
19127
|
+
"type": "string"
|
|
19128
|
+
},
|
|
19129
|
+
"provider": {
|
|
19130
|
+
"type": "string"
|
|
19131
|
+
},
|
|
19132
|
+
"kind": {
|
|
19133
|
+
"type": "string"
|
|
19134
|
+
},
|
|
19135
|
+
"from": {
|
|
19136
|
+
"type": "string"
|
|
19137
|
+
},
|
|
19138
|
+
"fromAddress": {
|
|
19139
|
+
"type": "string"
|
|
19140
|
+
},
|
|
19141
|
+
"subject": {
|
|
19142
|
+
"type": "string"
|
|
19143
|
+
},
|
|
19144
|
+
"bodyPreview": {
|
|
19145
|
+
"type": "string"
|
|
19146
|
+
},
|
|
19147
|
+
"receivedAt": {
|
|
19148
|
+
"type": "number"
|
|
19149
|
+
},
|
|
19150
|
+
"unread": {
|
|
19151
|
+
"type": "boolean"
|
|
19152
|
+
},
|
|
19153
|
+
"routeId": {
|
|
19154
|
+
"type": "string"
|
|
19155
|
+
},
|
|
19156
|
+
"threadId": {
|
|
19157
|
+
"type": "string"
|
|
19158
|
+
},
|
|
19159
|
+
"attachmentCount": {
|
|
19160
|
+
"type": "number"
|
|
19161
|
+
}
|
|
19162
|
+
},
|
|
19163
|
+
"required": [
|
|
19164
|
+
"id",
|
|
19165
|
+
"provider",
|
|
19166
|
+
"kind",
|
|
19167
|
+
"from",
|
|
19168
|
+
"bodyPreview",
|
|
19169
|
+
"receivedAt",
|
|
19170
|
+
"unread"
|
|
19171
|
+
],
|
|
19172
|
+
"additionalProperties": false
|
|
19173
|
+
}
|
|
19174
|
+
},
|
|
19175
|
+
"total": {
|
|
19176
|
+
"type": "number"
|
|
19177
|
+
},
|
|
19178
|
+
"truncated": {
|
|
19179
|
+
"type": "boolean"
|
|
19180
|
+
},
|
|
19181
|
+
"cursor": {
|
|
19182
|
+
"type": "string"
|
|
19183
|
+
}
|
|
19184
|
+
},
|
|
19185
|
+
"required": [
|
|
19186
|
+
"items",
|
|
19187
|
+
"total",
|
|
19188
|
+
"truncated"
|
|
19189
|
+
],
|
|
19190
|
+
"additionalProperties": false
|
|
19191
|
+
},
|
|
19192
|
+
"invokable": true
|
|
19193
|
+
},
|
|
18334
19194
|
{
|
|
18335
19195
|
"id": "channels.lifecycle.get",
|
|
18336
19196
|
"title": "Get Channel Lifecycle State",
|
|
@@ -19273,6 +20133,222 @@
|
|
|
19273
20133
|
},
|
|
19274
20134
|
"invokable": true
|
|
19275
20135
|
},
|
|
20136
|
+
{
|
|
20137
|
+
"id": "channels.routing.assign",
|
|
20138
|
+
"title": "Assign Channel Routing Rule",
|
|
20139
|
+
"description": "Create or update a channel-to-profile routing rule in the daemon-persisted routing table. Requires explicit confirmation.",
|
|
20140
|
+
"category": "channels",
|
|
20141
|
+
"source": "builtin",
|
|
20142
|
+
"access": "admin",
|
|
20143
|
+
"transport": [
|
|
20144
|
+
"http",
|
|
20145
|
+
"ws"
|
|
20146
|
+
],
|
|
20147
|
+
"scopes": [
|
|
20148
|
+
"write:channels"
|
|
20149
|
+
],
|
|
20150
|
+
"http": {
|
|
20151
|
+
"method": "POST",
|
|
20152
|
+
"path": "/api/channels/routing"
|
|
20153
|
+
},
|
|
20154
|
+
"inputSchema": {
|
|
20155
|
+
"type": "object",
|
|
20156
|
+
"properties": {
|
|
20157
|
+
"channelId": {
|
|
20158
|
+
"type": "string"
|
|
20159
|
+
},
|
|
20160
|
+
"surfaceKind": {
|
|
20161
|
+
"type": "string"
|
|
20162
|
+
},
|
|
20163
|
+
"routeId": {
|
|
20164
|
+
"type": "string"
|
|
20165
|
+
},
|
|
20166
|
+
"profileId": {
|
|
20167
|
+
"type": "string"
|
|
20168
|
+
},
|
|
20169
|
+
"label": {
|
|
20170
|
+
"type": "string"
|
|
20171
|
+
}
|
|
20172
|
+
},
|
|
20173
|
+
"required": [
|
|
20174
|
+
"surfaceKind",
|
|
20175
|
+
"profileId"
|
|
20176
|
+
],
|
|
20177
|
+
"additionalProperties": true
|
|
20178
|
+
},
|
|
20179
|
+
"outputSchema": {
|
|
20180
|
+
"type": "object",
|
|
20181
|
+
"properties": {
|
|
20182
|
+
"assignmentId": {
|
|
20183
|
+
"type": "string"
|
|
20184
|
+
},
|
|
20185
|
+
"channelId": {
|
|
20186
|
+
"type": "string"
|
|
20187
|
+
},
|
|
20188
|
+
"surfaceKind": {
|
|
20189
|
+
"type": "string"
|
|
20190
|
+
},
|
|
20191
|
+
"routeId": {
|
|
20192
|
+
"type": "string"
|
|
20193
|
+
},
|
|
20194
|
+
"profileId": {
|
|
20195
|
+
"type": "string"
|
|
20196
|
+
},
|
|
20197
|
+
"label": {
|
|
20198
|
+
"type": "string"
|
|
20199
|
+
},
|
|
20200
|
+
"createdAt": {
|
|
20201
|
+
"type": "string"
|
|
20202
|
+
},
|
|
20203
|
+
"updatedAt": {
|
|
20204
|
+
"type": "string"
|
|
20205
|
+
}
|
|
20206
|
+
},
|
|
20207
|
+
"required": [
|
|
20208
|
+
"assignmentId",
|
|
20209
|
+
"surfaceKind",
|
|
20210
|
+
"profileId",
|
|
20211
|
+
"createdAt",
|
|
20212
|
+
"updatedAt"
|
|
20213
|
+
],
|
|
20214
|
+
"additionalProperties": false
|
|
20215
|
+
},
|
|
20216
|
+
"invokable": true
|
|
20217
|
+
},
|
|
20218
|
+
{
|
|
20219
|
+
"id": "channels.routing.delete",
|
|
20220
|
+
"title": "Delete Channel Routing Rule",
|
|
20221
|
+
"description": "Remove a channel-to-profile routing rule from the daemon-persisted routing table.",
|
|
20222
|
+
"category": "channels",
|
|
20223
|
+
"source": "builtin",
|
|
20224
|
+
"access": "admin",
|
|
20225
|
+
"transport": [
|
|
20226
|
+
"http",
|
|
20227
|
+
"ws"
|
|
20228
|
+
],
|
|
20229
|
+
"scopes": [
|
|
20230
|
+
"write:channels"
|
|
20231
|
+
],
|
|
20232
|
+
"http": {
|
|
20233
|
+
"method": "DELETE",
|
|
20234
|
+
"path": "/api/channels/routing/{assignmentId}"
|
|
20235
|
+
},
|
|
20236
|
+
"inputSchema": {
|
|
20237
|
+
"type": "object",
|
|
20238
|
+
"properties": {
|
|
20239
|
+
"assignmentId": {
|
|
20240
|
+
"type": "string"
|
|
20241
|
+
}
|
|
20242
|
+
},
|
|
20243
|
+
"required": [
|
|
20244
|
+
"assignmentId"
|
|
20245
|
+
],
|
|
20246
|
+
"additionalProperties": false
|
|
20247
|
+
},
|
|
20248
|
+
"outputSchema": {
|
|
20249
|
+
"type": "object",
|
|
20250
|
+
"properties": {
|
|
20251
|
+
"deleted": {
|
|
20252
|
+
"type": "boolean"
|
|
20253
|
+
},
|
|
20254
|
+
"assignmentId": {
|
|
20255
|
+
"type": "string"
|
|
20256
|
+
}
|
|
20257
|
+
},
|
|
20258
|
+
"required": [
|
|
20259
|
+
"deleted",
|
|
20260
|
+
"assignmentId"
|
|
20261
|
+
],
|
|
20262
|
+
"additionalProperties": false
|
|
20263
|
+
},
|
|
20264
|
+
"dangerous": true,
|
|
20265
|
+
"invokable": true
|
|
20266
|
+
},
|
|
20267
|
+
{
|
|
20268
|
+
"id": "channels.routing.list",
|
|
20269
|
+
"title": "List Channel Routing Rules",
|
|
20270
|
+
"description": "Return the daemon-persisted channel-to-profile routing table.",
|
|
20271
|
+
"category": "channels",
|
|
20272
|
+
"source": "builtin",
|
|
20273
|
+
"access": "authenticated",
|
|
20274
|
+
"transport": [
|
|
20275
|
+
"http",
|
|
20276
|
+
"ws"
|
|
20277
|
+
],
|
|
20278
|
+
"scopes": [
|
|
20279
|
+
"read:channels"
|
|
20280
|
+
],
|
|
20281
|
+
"http": {
|
|
20282
|
+
"method": "GET",
|
|
20283
|
+
"path": "/api/channels/routing"
|
|
20284
|
+
},
|
|
20285
|
+
"inputSchema": {
|
|
20286
|
+
"type": "object",
|
|
20287
|
+
"properties": {
|
|
20288
|
+
"profileId": {
|
|
20289
|
+
"type": "string"
|
|
20290
|
+
},
|
|
20291
|
+
"surfaceKind": {
|
|
20292
|
+
"type": "string"
|
|
20293
|
+
},
|
|
20294
|
+
"limit": {
|
|
20295
|
+
"type": "number"
|
|
20296
|
+
}
|
|
20297
|
+
},
|
|
20298
|
+
"additionalProperties": false
|
|
20299
|
+
},
|
|
20300
|
+
"outputSchema": {
|
|
20301
|
+
"type": "object",
|
|
20302
|
+
"properties": {
|
|
20303
|
+
"routes": {
|
|
20304
|
+
"type": "array",
|
|
20305
|
+
"items": {
|
|
20306
|
+
"type": "object",
|
|
20307
|
+
"properties": {
|
|
20308
|
+
"id": {
|
|
20309
|
+
"type": "string"
|
|
20310
|
+
},
|
|
20311
|
+
"createdAt": {
|
|
20312
|
+
"type": "string"
|
|
20313
|
+
},
|
|
20314
|
+
"updatedAt": {
|
|
20315
|
+
"type": "string"
|
|
20316
|
+
},
|
|
20317
|
+
"surfaceKind": {
|
|
20318
|
+
"type": "string"
|
|
20319
|
+
},
|
|
20320
|
+
"routeId": {
|
|
20321
|
+
"type": "string"
|
|
20322
|
+
},
|
|
20323
|
+
"profileId": {
|
|
20324
|
+
"type": "string"
|
|
20325
|
+
},
|
|
20326
|
+
"label": {
|
|
20327
|
+
"type": "string"
|
|
20328
|
+
}
|
|
20329
|
+
},
|
|
20330
|
+
"required": [
|
|
20331
|
+
"id",
|
|
20332
|
+
"createdAt",
|
|
20333
|
+
"updatedAt",
|
|
20334
|
+
"surfaceKind",
|
|
20335
|
+
"profileId"
|
|
20336
|
+
],
|
|
20337
|
+
"additionalProperties": false
|
|
20338
|
+
}
|
|
20339
|
+
},
|
|
20340
|
+
"total": {
|
|
20341
|
+
"type": "number"
|
|
20342
|
+
}
|
|
20343
|
+
},
|
|
20344
|
+
"required": [
|
|
20345
|
+
"routes",
|
|
20346
|
+
"total"
|
|
20347
|
+
],
|
|
20348
|
+
"additionalProperties": false
|
|
20349
|
+
},
|
|
20350
|
+
"invokable": true
|
|
20351
|
+
},
|
|
19276
20352
|
{
|
|
19277
20353
|
"id": "channels.setup.get",
|
|
19278
20354
|
"title": "Get Channel Setup Schema",
|
|
@@ -24247,6 +25323,309 @@
|
|
|
24247
25323
|
},
|
|
24248
25324
|
"invokable": true
|
|
24249
25325
|
},
|
|
25326
|
+
{
|
|
25327
|
+
"id": "email.draft.create",
|
|
25328
|
+
"title": "Create Email Draft",
|
|
25329
|
+
"description": "Append a draft message to the configured IMAP Drafts folder. Distinct from the local channel draft store. Requires explicit confirmation.",
|
|
25330
|
+
"category": "email",
|
|
25331
|
+
"source": "builtin",
|
|
25332
|
+
"access": "admin",
|
|
25333
|
+
"transport": [
|
|
25334
|
+
"http",
|
|
25335
|
+
"ws"
|
|
25336
|
+
],
|
|
25337
|
+
"scopes": [
|
|
25338
|
+
"write:email"
|
|
25339
|
+
],
|
|
25340
|
+
"http": {
|
|
25341
|
+
"method": "POST",
|
|
25342
|
+
"path": "/api/email/drafts"
|
|
25343
|
+
},
|
|
25344
|
+
"inputSchema": {
|
|
25345
|
+
"type": "object",
|
|
25346
|
+
"properties": {
|
|
25347
|
+
"to": {
|
|
25348
|
+
"type": "string"
|
|
25349
|
+
},
|
|
25350
|
+
"subject": {
|
|
25351
|
+
"type": "string"
|
|
25352
|
+
},
|
|
25353
|
+
"body": {
|
|
25354
|
+
"type": "string"
|
|
25355
|
+
},
|
|
25356
|
+
"inReplyTo": {
|
|
25357
|
+
"type": "string"
|
|
25358
|
+
},
|
|
25359
|
+
"references": {
|
|
25360
|
+
"type": "string"
|
|
25361
|
+
}
|
|
25362
|
+
},
|
|
25363
|
+
"required": [
|
|
25364
|
+
"to",
|
|
25365
|
+
"subject",
|
|
25366
|
+
"body"
|
|
25367
|
+
],
|
|
25368
|
+
"additionalProperties": true
|
|
25369
|
+
},
|
|
25370
|
+
"outputSchema": {
|
|
25371
|
+
"type": "object",
|
|
25372
|
+
"properties": {
|
|
25373
|
+
"uid": {
|
|
25374
|
+
"type": "number"
|
|
25375
|
+
},
|
|
25376
|
+
"draftId": {
|
|
25377
|
+
"type": "string"
|
|
25378
|
+
}
|
|
25379
|
+
},
|
|
25380
|
+
"required": [
|
|
25381
|
+
"uid",
|
|
25382
|
+
"draftId"
|
|
25383
|
+
],
|
|
25384
|
+
"additionalProperties": false
|
|
25385
|
+
},
|
|
25386
|
+
"invokable": true
|
|
25387
|
+
},
|
|
25388
|
+
{
|
|
25389
|
+
"id": "email.inbox.list",
|
|
25390
|
+
"title": "List Email Inbox",
|
|
25391
|
+
"description": "Return inbox message summaries fetched live from the configured IMAP account. Read-only (EXAMINE / BODY.PEEK); never marks messages read.",
|
|
25392
|
+
"category": "email",
|
|
25393
|
+
"source": "builtin",
|
|
25394
|
+
"access": "authenticated",
|
|
25395
|
+
"transport": [
|
|
25396
|
+
"http",
|
|
25397
|
+
"ws"
|
|
25398
|
+
],
|
|
25399
|
+
"scopes": [
|
|
25400
|
+
"read:email"
|
|
25401
|
+
],
|
|
25402
|
+
"http": {
|
|
25403
|
+
"method": "GET",
|
|
25404
|
+
"path": "/api/email/inbox"
|
|
25405
|
+
},
|
|
25406
|
+
"inputSchema": {
|
|
25407
|
+
"type": "object",
|
|
25408
|
+
"properties": {
|
|
25409
|
+
"limit": {
|
|
25410
|
+
"type": "number"
|
|
25411
|
+
},
|
|
25412
|
+
"since": {
|
|
25413
|
+
"type": "string"
|
|
25414
|
+
},
|
|
25415
|
+
"unreadOnly": {
|
|
25416
|
+
"type": "boolean"
|
|
25417
|
+
}
|
|
25418
|
+
},
|
|
25419
|
+
"additionalProperties": false
|
|
25420
|
+
},
|
|
25421
|
+
"outputSchema": {
|
|
25422
|
+
"type": "object",
|
|
25423
|
+
"properties": {
|
|
25424
|
+
"messages": {
|
|
25425
|
+
"type": "array",
|
|
25426
|
+
"items": {
|
|
25427
|
+
"type": "object",
|
|
25428
|
+
"properties": {
|
|
25429
|
+
"uid": {
|
|
25430
|
+
"type": "number"
|
|
25431
|
+
},
|
|
25432
|
+
"from": {
|
|
25433
|
+
"type": "string"
|
|
25434
|
+
},
|
|
25435
|
+
"subject": {
|
|
25436
|
+
"type": "string"
|
|
25437
|
+
},
|
|
25438
|
+
"date": {
|
|
25439
|
+
"type": "string"
|
|
25440
|
+
},
|
|
25441
|
+
"unread": {
|
|
25442
|
+
"type": "boolean"
|
|
25443
|
+
},
|
|
25444
|
+
"bodyPreview": {
|
|
25445
|
+
"type": "string"
|
|
25446
|
+
},
|
|
25447
|
+
"messageId": {
|
|
25448
|
+
"type": "string"
|
|
25449
|
+
}
|
|
25450
|
+
},
|
|
25451
|
+
"required": [
|
|
25452
|
+
"uid",
|
|
25453
|
+
"from",
|
|
25454
|
+
"subject",
|
|
25455
|
+
"date",
|
|
25456
|
+
"unread",
|
|
25457
|
+
"bodyPreview",
|
|
25458
|
+
"messageId"
|
|
25459
|
+
],
|
|
25460
|
+
"additionalProperties": false
|
|
25461
|
+
}
|
|
25462
|
+
},
|
|
25463
|
+
"total": {
|
|
25464
|
+
"type": "number"
|
|
25465
|
+
}
|
|
25466
|
+
},
|
|
25467
|
+
"required": [
|
|
25468
|
+
"messages",
|
|
25469
|
+
"total"
|
|
25470
|
+
],
|
|
25471
|
+
"additionalProperties": false
|
|
25472
|
+
},
|
|
25473
|
+
"invokable": true
|
|
25474
|
+
},
|
|
25475
|
+
{
|
|
25476
|
+
"id": "email.inbox.read",
|
|
25477
|
+
"title": "Read Email Message",
|
|
25478
|
+
"description": "Return the full body and attachment metadata for a single inbox message by IMAP UID. Read-only (BODY.PEEK; does not mark as read).",
|
|
25479
|
+
"category": "email",
|
|
25480
|
+
"source": "builtin",
|
|
25481
|
+
"access": "authenticated",
|
|
25482
|
+
"transport": [
|
|
25483
|
+
"http",
|
|
25484
|
+
"ws"
|
|
25485
|
+
],
|
|
25486
|
+
"scopes": [
|
|
25487
|
+
"read:email"
|
|
25488
|
+
],
|
|
25489
|
+
"http": {
|
|
25490
|
+
"method": "GET",
|
|
25491
|
+
"path": "/api/email/inbox/{uid}"
|
|
25492
|
+
},
|
|
25493
|
+
"inputSchema": {
|
|
25494
|
+
"type": "object",
|
|
25495
|
+
"properties": {
|
|
25496
|
+
"uid": {
|
|
25497
|
+
"type": "number"
|
|
25498
|
+
}
|
|
25499
|
+
},
|
|
25500
|
+
"required": [
|
|
25501
|
+
"uid"
|
|
25502
|
+
],
|
|
25503
|
+
"additionalProperties": false
|
|
25504
|
+
},
|
|
25505
|
+
"outputSchema": {
|
|
25506
|
+
"type": "object",
|
|
25507
|
+
"properties": {
|
|
25508
|
+
"uid": {
|
|
25509
|
+
"type": "number"
|
|
25510
|
+
},
|
|
25511
|
+
"from": {
|
|
25512
|
+
"type": "string"
|
|
25513
|
+
},
|
|
25514
|
+
"subject": {
|
|
25515
|
+
"type": "string"
|
|
25516
|
+
},
|
|
25517
|
+
"date": {
|
|
25518
|
+
"type": "string"
|
|
25519
|
+
},
|
|
25520
|
+
"messageId": {
|
|
25521
|
+
"type": "string"
|
|
25522
|
+
},
|
|
25523
|
+
"bodyText": {
|
|
25524
|
+
"type": "string"
|
|
25525
|
+
},
|
|
25526
|
+
"bodyHtml": {
|
|
25527
|
+
"type": "string"
|
|
25528
|
+
},
|
|
25529
|
+
"attachments": {
|
|
25530
|
+
"type": "array",
|
|
25531
|
+
"items": {
|
|
25532
|
+
"type": "object",
|
|
25533
|
+
"properties": {
|
|
25534
|
+
"filename": {
|
|
25535
|
+
"type": "string"
|
|
25536
|
+
},
|
|
25537
|
+
"contentType": {
|
|
25538
|
+
"type": "string"
|
|
25539
|
+
},
|
|
25540
|
+
"sizeBytes": {
|
|
25541
|
+
"type": "number"
|
|
25542
|
+
}
|
|
25543
|
+
},
|
|
25544
|
+
"required": [
|
|
25545
|
+
"filename",
|
|
25546
|
+
"contentType",
|
|
25547
|
+
"sizeBytes"
|
|
25548
|
+
],
|
|
25549
|
+
"additionalProperties": false
|
|
25550
|
+
}
|
|
25551
|
+
}
|
|
25552
|
+
},
|
|
25553
|
+
"required": [
|
|
25554
|
+
"uid",
|
|
25555
|
+
"from",
|
|
25556
|
+
"subject",
|
|
25557
|
+
"date",
|
|
25558
|
+
"messageId",
|
|
25559
|
+
"bodyText"
|
|
25560
|
+
],
|
|
25561
|
+
"additionalProperties": false
|
|
25562
|
+
},
|
|
25563
|
+
"invokable": true
|
|
25564
|
+
},
|
|
25565
|
+
{
|
|
25566
|
+
"id": "email.send",
|
|
25567
|
+
"title": "Send Email",
|
|
25568
|
+
"description": "Send a composed email via the configured SMTP account. Irreversible external send; requires confirm: true and explicit user review of recipients and body.",
|
|
25569
|
+
"category": "email",
|
|
25570
|
+
"source": "builtin",
|
|
25571
|
+
"access": "admin",
|
|
25572
|
+
"transport": [
|
|
25573
|
+
"http",
|
|
25574
|
+
"ws"
|
|
25575
|
+
],
|
|
25576
|
+
"scopes": [
|
|
25577
|
+
"write:email"
|
|
25578
|
+
],
|
|
25579
|
+
"http": {
|
|
25580
|
+
"method": "POST",
|
|
25581
|
+
"path": "/api/email/send"
|
|
25582
|
+
},
|
|
25583
|
+
"inputSchema": {
|
|
25584
|
+
"type": "object",
|
|
25585
|
+
"properties": {
|
|
25586
|
+
"to": {
|
|
25587
|
+
"type": "string"
|
|
25588
|
+
},
|
|
25589
|
+
"subject": {
|
|
25590
|
+
"type": "string"
|
|
25591
|
+
},
|
|
25592
|
+
"body": {
|
|
25593
|
+
"type": "string"
|
|
25594
|
+
},
|
|
25595
|
+
"inReplyTo": {
|
|
25596
|
+
"type": "string"
|
|
25597
|
+
},
|
|
25598
|
+
"confirm": {
|
|
25599
|
+
"type": "boolean"
|
|
25600
|
+
}
|
|
25601
|
+
},
|
|
25602
|
+
"required": [
|
|
25603
|
+
"to",
|
|
25604
|
+
"subject",
|
|
25605
|
+
"body",
|
|
25606
|
+
"confirm"
|
|
25607
|
+
],
|
|
25608
|
+
"additionalProperties": true
|
|
25609
|
+
},
|
|
25610
|
+
"outputSchema": {
|
|
25611
|
+
"type": "object",
|
|
25612
|
+
"properties": {
|
|
25613
|
+
"messageId": {
|
|
25614
|
+
"type": "string"
|
|
25615
|
+
},
|
|
25616
|
+
"sentAt": {
|
|
25617
|
+
"type": "string"
|
|
25618
|
+
}
|
|
25619
|
+
},
|
|
25620
|
+
"required": [
|
|
25621
|
+
"messageId",
|
|
25622
|
+
"sentAt"
|
|
25623
|
+
],
|
|
25624
|
+
"additionalProperties": false
|
|
25625
|
+
},
|
|
25626
|
+
"dangerous": true,
|
|
25627
|
+
"invokable": true
|
|
25628
|
+
},
|
|
24250
25629
|
{
|
|
24251
25630
|
"id": "health.snapshot",
|
|
24252
25631
|
"title": "Health Snapshot",
|
|
@@ -75109,10 +76488,10 @@
|
|
|
75109
76488
|
}
|
|
75110
76489
|
],
|
|
75111
76490
|
"schemaCoverage": {
|
|
75112
|
-
"methods":
|
|
75113
|
-
"typedInputs":
|
|
76491
|
+
"methods": 297,
|
|
76492
|
+
"typedInputs": 297,
|
|
75114
76493
|
"genericInputs": 0,
|
|
75115
|
-
"typedOutputs":
|
|
76494
|
+
"typedOutputs": 297,
|
|
75116
76495
|
"genericOutputs": 0
|
|
75117
76496
|
},
|
|
75118
76497
|
"eventCoverage": {
|