@pellux/goodvibes-contracts 0.33.37 → 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 +1463 -10
- 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 +1463 -10
- 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 +18 -0
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ export const OPERATOR_CONTRACT = {
|
|
|
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": [
|
|
@@ -5770,7 +5770,7 @@ export const OPERATOR_CONTRACT = {
|
|
|
5770
5770
|
{
|
|
5771
5771
|
"id": "automation.jobs.list",
|
|
5772
5772
|
"title": "List Automation Jobs",
|
|
5773
|
-
"description": "Return automation jobs and recent runs.",
|
|
5773
|
+
"description": "Return automation jobs and recent runs. Without ?limit/?cursor returns { jobs: [...] } (backward compatible). With ?limit=N (1–500, default 100) and optional ?cursor=<opaque> returns a PaginatedResponse envelope { items, hasMore, nextCursor? }. Invalid cursors return HTTP 400.",
|
|
5774
5774
|
"category": "automation",
|
|
5775
5775
|
"source": "builtin",
|
|
5776
5776
|
"access": "authenticated",
|
|
@@ -5790,7 +5790,14 @@ export const OPERATOR_CONTRACT = {
|
|
|
5790
5790
|
],
|
|
5791
5791
|
"inputSchema": {
|
|
5792
5792
|
"type": "object",
|
|
5793
|
-
"properties": {
|
|
5793
|
+
"properties": {
|
|
5794
|
+
"limit": {
|
|
5795
|
+
"type": "number"
|
|
5796
|
+
},
|
|
5797
|
+
"cursor": {
|
|
5798
|
+
"type": "string"
|
|
5799
|
+
}
|
|
5800
|
+
},
|
|
5794
5801
|
"additionalProperties": false
|
|
5795
5802
|
},
|
|
5796
5803
|
"outputSchema": {
|
|
@@ -10115,7 +10122,7 @@ export const OPERATOR_CONTRACT = {
|
|
|
10115
10122
|
{
|
|
10116
10123
|
"id": "automation.runs.list",
|
|
10117
10124
|
"title": "List Automation Runs",
|
|
10118
|
-
"description": "Return automation run history.",
|
|
10125
|
+
"description": "Return automation run history. Without ?limit/?cursor returns { runs: [...] } (backward compatible). With ?limit=N (1–500, default 100) and optional ?cursor=<opaque> returns a PaginatedResponse envelope { items, hasMore, nextCursor? }. Invalid cursors return HTTP 400.",
|
|
10119
10126
|
"category": "automation",
|
|
10120
10127
|
"source": "builtin",
|
|
10121
10128
|
"access": "authenticated",
|
|
@@ -10132,7 +10139,14 @@ export const OPERATOR_CONTRACT = {
|
|
|
10132
10139
|
},
|
|
10133
10140
|
"inputSchema": {
|
|
10134
10141
|
"type": "object",
|
|
10135
|
-
"properties": {
|
|
10142
|
+
"properties": {
|
|
10143
|
+
"limit": {
|
|
10144
|
+
"type": "number"
|
|
10145
|
+
},
|
|
10146
|
+
"cursor": {
|
|
10147
|
+
"type": "string"
|
|
10148
|
+
}
|
|
10149
|
+
},
|
|
10136
10150
|
"additionalProperties": false
|
|
10137
10151
|
},
|
|
10138
10152
|
"outputSchema": {
|
|
@@ -15223,6 +15237,364 @@ export const OPERATOR_CONTRACT = {
|
|
|
15223
15237
|
},
|
|
15224
15238
|
"invokable": true
|
|
15225
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
|
+
},
|
|
15226
15598
|
{
|
|
15227
15599
|
"id": "channels.accounts.action.default",
|
|
15228
15600
|
"title": "Run Channel Account Action",
|
|
@@ -18317,6 +18689,508 @@ export const OPERATOR_CONTRACT = {
|
|
|
18317
18689
|
},
|
|
18318
18690
|
"invokable": true
|
|
18319
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
|
+
},
|
|
18320
19194
|
{
|
|
18321
19195
|
"id": "channels.lifecycle.get",
|
|
18322
19196
|
"title": "Get Channel Lifecycle State",
|
|
@@ -19259,6 +20133,222 @@ export const OPERATOR_CONTRACT = {
|
|
|
19259
20133
|
},
|
|
19260
20134
|
"invokable": true
|
|
19261
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
|
+
},
|
|
19262
20352
|
{
|
|
19263
20353
|
"id": "channels.setup.get",
|
|
19264
20354
|
"title": "Get Channel Setup Schema",
|
|
@@ -24233,6 +25323,309 @@ export const OPERATOR_CONTRACT = {
|
|
|
24233
25323
|
},
|
|
24234
25324
|
"invokable": true
|
|
24235
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
|
+
},
|
|
24236
25629
|
{
|
|
24237
25630
|
"id": "health.snapshot",
|
|
24238
25631
|
"title": "Health Snapshot",
|
|
@@ -39211,7 +40604,7 @@ export const OPERATOR_CONTRACT = {
|
|
|
39211
40604
|
{
|
|
39212
40605
|
"id": "knowledge.nodes.list",
|
|
39213
40606
|
"title": "List Knowledge Nodes",
|
|
39214
|
-
"description": "Return compiled knowledge nodes.",
|
|
40607
|
+
"description": "Return compiled knowledge nodes. Without ?limit/?cursor returns { nodes: [...] } (backward compatible). With ?limit=N (1–1000, default 100) and optional ?cursor=<opaque> returns a PaginatedResponse envelope { items, hasMore, nextCursor? }. Fetch cap is 5 000 items per request (knowledge store does not support cursor/offset range queries natively). Invalid cursors return HTTP 400.",
|
|
39215
40608
|
"category": "knowledge",
|
|
39216
40609
|
"source": "builtin",
|
|
39217
40610
|
"access": "authenticated",
|
|
@@ -39232,6 +40625,9 @@ export const OPERATOR_CONTRACT = {
|
|
|
39232
40625
|
"limit": {
|
|
39233
40626
|
"type": "number"
|
|
39234
40627
|
},
|
|
40628
|
+
"cursor": {
|
|
40629
|
+
"type": "string"
|
|
40630
|
+
},
|
|
39235
40631
|
"knowledgeSpaceId": {
|
|
39236
40632
|
"type": "string"
|
|
39237
40633
|
},
|
|
@@ -43071,7 +44467,7 @@ export const OPERATOR_CONTRACT = {
|
|
|
43071
44467
|
{
|
|
43072
44468
|
"id": "knowledge.sources.list",
|
|
43073
44469
|
"title": "List Knowledge Sources",
|
|
43074
|
-
"description": "Return ingested structured knowledge sources.",
|
|
44470
|
+
"description": "Return ingested structured knowledge sources. Without ?limit/?cursor returns { sources: [...] } (backward compatible). With ?limit=N (1–1000, default 100) and optional ?cursor=<opaque> returns a PaginatedResponse envelope { items, hasMore, nextCursor? }. Fetch cap is 5 000 items per request (knowledge store does not support cursor/offset range queries natively). Invalid cursors return HTTP 400.",
|
|
43075
44471
|
"category": "knowledge",
|
|
43076
44472
|
"source": "builtin",
|
|
43077
44473
|
"access": "authenticated",
|
|
@@ -43092,6 +44488,9 @@ export const OPERATOR_CONTRACT = {
|
|
|
43092
44488
|
"limit": {
|
|
43093
44489
|
"type": "number"
|
|
43094
44490
|
},
|
|
44491
|
+
"cursor": {
|
|
44492
|
+
"type": "string"
|
|
44493
|
+
},
|
|
43095
44494
|
"knowledgeSpaceId": {
|
|
43096
44495
|
"type": "string"
|
|
43097
44496
|
},
|
|
@@ -54793,6 +56192,60 @@ export const OPERATOR_CONTRACT = {
|
|
|
54793
56192
|
},
|
|
54794
56193
|
"invokable": true
|
|
54795
56194
|
},
|
|
56195
|
+
{
|
|
56196
|
+
"id": "memory.review-queue",
|
|
56197
|
+
"title": "Memory Review Queue",
|
|
56198
|
+
"description": "Return memory records prioritised for review. Accepts optional limit (?limit=N) and scope filter (?scope=session|project|team). A scope query parameter that is present but not one of the three valid values returns 400.",
|
|
56199
|
+
"category": "memory",
|
|
56200
|
+
"source": "builtin",
|
|
56201
|
+
"access": "authenticated",
|
|
56202
|
+
"transport": [
|
|
56203
|
+
"http",
|
|
56204
|
+
"ws"
|
|
56205
|
+
],
|
|
56206
|
+
"scopes": [
|
|
56207
|
+
"read:memory"
|
|
56208
|
+
],
|
|
56209
|
+
"http": {
|
|
56210
|
+
"method": "GET",
|
|
56211
|
+
"path": "/api/memory/review-queue"
|
|
56212
|
+
},
|
|
56213
|
+
"inputSchema": {
|
|
56214
|
+
"type": "object",
|
|
56215
|
+
"properties": {
|
|
56216
|
+
"limit": {
|
|
56217
|
+
"type": "number"
|
|
56218
|
+
},
|
|
56219
|
+
"scope": {
|
|
56220
|
+
"type": "string",
|
|
56221
|
+
"enum": [
|
|
56222
|
+
"session",
|
|
56223
|
+
"project",
|
|
56224
|
+
"team"
|
|
56225
|
+
]
|
|
56226
|
+
}
|
|
56227
|
+
},
|
|
56228
|
+
"additionalProperties": false
|
|
56229
|
+
},
|
|
56230
|
+
"outputSchema": {
|
|
56231
|
+
"type": "object",
|
|
56232
|
+
"properties": {
|
|
56233
|
+
"records": {
|
|
56234
|
+
"type": "array",
|
|
56235
|
+
"items": {
|
|
56236
|
+
"type": "object",
|
|
56237
|
+
"properties": {},
|
|
56238
|
+
"additionalProperties": true
|
|
56239
|
+
}
|
|
56240
|
+
}
|
|
56241
|
+
},
|
|
56242
|
+
"required": [
|
|
56243
|
+
"records"
|
|
56244
|
+
],
|
|
56245
|
+
"additionalProperties": false
|
|
56246
|
+
},
|
|
56247
|
+
"invokable": true
|
|
56248
|
+
},
|
|
54796
56249
|
{
|
|
54797
56250
|
"id": "memory.vector.rebuild",
|
|
54798
56251
|
"title": "Rebuild Memory Vector Index",
|
|
@@ -75035,10 +76488,10 @@ export const OPERATOR_CONTRACT = {
|
|
|
75035
76488
|
}
|
|
75036
76489
|
],
|
|
75037
76490
|
"schemaCoverage": {
|
|
75038
|
-
"methods":
|
|
75039
|
-
"typedInputs":
|
|
76491
|
+
"methods": 297,
|
|
76492
|
+
"typedInputs": 297,
|
|
75040
76493
|
"genericInputs": 0,
|
|
75041
|
-
"typedOutputs":
|
|
76494
|
+
"typedOutputs": 297,
|
|
75042
76495
|
"genericOutputs": 0
|
|
75043
76496
|
},
|
|
75044
76497
|
"eventCoverage": {
|