@work-shape/catalyst-api-contract 0.8.0-rc.7 → 0.8.0-rc.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/dist/index.d.ts +2812 -319
  2. package/dist/index.js +2490 -1953
  3. package/openapi.json +2681 -82
  4. package/package.json +2 -2
package/openapi.json CHANGED
@@ -2,8 +2,8 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "Workshape Catalyst API",
5
- "version": "0.8.0-rc.7",
6
- "description": "Every operation under `/api/v1` of release 0.8.0-rc.7, and the unversioned readiness probe `/ready`. Every error answers with the envelope `ApiErrorResponse`; its `code` is the stable part, its `correlationId` names the request in the instance's log."
5
+ "version": "0.8.0-rc.9",
6
+ "description": "Every operation under `/api/v1` of release 0.8.0-rc.9, and the unversioned readiness probe `/ready`. Every error answers with the envelope `ApiErrorResponse`; its `code` is the stable part, its `correlationId` names the request in the instance's log."
7
7
  },
8
8
  "servers": [
9
9
  {
@@ -443,6 +443,136 @@
443
443
  "x-catalyst-rate-class": "write"
444
444
  }
445
445
  },
446
+ "/api/v1/agents/{name}/use": {
447
+ "put": {
448
+ "operationId": "agents.use.set",
449
+ "summary": "Set who uses one agent where it is available: everyone, or holders of agent.use",
450
+ "tags": [
451
+ "Agents"
452
+ ],
453
+ "security": [
454
+ {
455
+ "sessionCookie": [
456
+ "config_assets:write"
457
+ ]
458
+ },
459
+ {
460
+ "sessionToken": [
461
+ "config_assets:write"
462
+ ]
463
+ }
464
+ ],
465
+ "parameters": [
466
+ {
467
+ "name": "name",
468
+ "in": "path",
469
+ "required": true,
470
+ "schema": {
471
+ "type": "string"
472
+ }
473
+ },
474
+ {
475
+ "name": "Idempotency-Key",
476
+ "in": "header",
477
+ "description": "A key the caller chooses for one changing call, up to 255 characters. The same key with the same input answers what the first call answered instead of acting twice. A key belongs to its caller: another caller's same key is another call.",
478
+ "required": false,
479
+ "schema": {
480
+ "type": "string",
481
+ "minLength": 1,
482
+ "maxLength": 255
483
+ }
484
+ },
485
+ {
486
+ "name": "Catalyst-Unattended",
487
+ "in": "header",
488
+ "description": "`1` on a call of an API credential when nobody watches its terminal, such as `catalyst <kind> publish --yes`. The call is then not its caller's own confirmation: a call that needs one waits in the caller's Inbox and answers `202` with its run, status `pending_confirmation`. It only ever makes a call stricter; a browser session's call ignores it.",
489
+ "required": false,
490
+ "schema": {
491
+ "type": "string",
492
+ "minLength": 1,
493
+ "maxLength": 255
494
+ }
495
+ }
496
+ ],
497
+ "requestBody": {
498
+ "required": true,
499
+ "content": {
500
+ "application/json": {
501
+ "schema": {
502
+ "$ref": "#/components/schemas/SetAgentUseRequest"
503
+ }
504
+ }
505
+ }
506
+ },
507
+ "responses": {
508
+ "200": {
509
+ "description": "The result",
510
+ "content": {
511
+ "application/json": {
512
+ "schema": {
513
+ "$ref": "#/components/schemas/SetAgentUseResponse"
514
+ }
515
+ }
516
+ },
517
+ "headers": {
518
+ "Operation-Run-Id": {
519
+ "$ref": "#/components/headers/OperationRunId"
520
+ },
521
+ "Idempotent-Replayed": {
522
+ "$ref": "#/components/headers/IdempotentReplayed"
523
+ }
524
+ }
525
+ },
526
+ "202": {
527
+ "description": "The call waits for somebody else to approve it. This is its Operation Run; read it again at `Location`.",
528
+ "content": {
529
+ "application/json": {
530
+ "schema": {
531
+ "$ref": "#/components/schemas/OperationRun"
532
+ }
533
+ }
534
+ },
535
+ "headers": {
536
+ "Operation-Run-Id": {
537
+ "$ref": "#/components/headers/OperationRunId"
538
+ },
539
+ "Location": {
540
+ "$ref": "#/components/headers/Location"
541
+ },
542
+ "Idempotent-Replayed": {
543
+ "$ref": "#/components/headers/IdempotentReplayed"
544
+ }
545
+ }
546
+ },
547
+ "400": {
548
+ "$ref": "#/components/responses/BadRequest"
549
+ },
550
+ "401": {
551
+ "$ref": "#/components/responses/Unauthenticated"
552
+ },
553
+ "403": {
554
+ "$ref": "#/components/responses/ForbiddenOrPolicyDeniedOrGuardrailBlockedOrDeclined"
555
+ },
556
+ "404": {
557
+ "$ref": "#/components/responses/NotFound"
558
+ },
559
+ "409": {
560
+ "$ref": "#/components/responses/ConflictOrIdempotencyKeyReusedOrOperationInProgressOrOperationExpiredOrOutputNotRetained"
561
+ },
562
+ "422": {
563
+ "$ref": "#/components/responses/ValidationFailed"
564
+ },
565
+ "429": {
566
+ "$ref": "#/components/responses/RateLimited"
567
+ },
568
+ "500": {
569
+ "$ref": "#/components/responses/Internal"
570
+ }
571
+ },
572
+ "x-catalyst-effect": "changing",
573
+ "x-catalyst-rate-class": "write"
574
+ }
575
+ },
446
576
  "/api/v1/app-actions": {
447
577
  "get": {
448
578
  "operationId": "apps.actions.list",
@@ -949,6 +1079,36 @@
949
1079
  },
950
1080
  "finishedAt": {
951
1081
  "type": "string"
1082
+ },
1083
+ "mode": {
1084
+ "type": "string",
1085
+ "const": "test"
1086
+ },
1087
+ "workflowRevision": {
1088
+ "type": "object",
1089
+ "properties": {
1090
+ "kind": {
1091
+ "type": "string",
1092
+ "enum": [
1093
+ "draft",
1094
+ "published"
1095
+ ]
1096
+ },
1097
+ "number": {
1098
+ "type": "integer",
1099
+ "exclusiveMinimum": 0,
1100
+ "maximum": 9007199254740991
1101
+ }
1102
+ },
1103
+ "required": [
1104
+ "kind"
1105
+ ]
1106
+ },
1107
+ "simulatedSteps": {
1108
+ "type": "array",
1109
+ "items": {
1110
+ "type": "string"
1111
+ }
952
1112
  }
953
1113
  },
954
1114
  "required": [
@@ -2042,6 +2202,147 @@
2042
2202
  "x-catalyst-rate-class": "write"
2043
2203
  }
2044
2204
  },
2205
+ "/api/v1/apps/{app}/draft-actions/{action}/tries": {
2206
+ "post": {
2207
+ "operationId": "apps.try_action",
2208
+ "summary": "Try one action of an App's draft as its button does: reads read, changes are simulated, and a workflow action starts a test run",
2209
+ "tags": [
2210
+ "Apps"
2211
+ ],
2212
+ "security": [
2213
+ {
2214
+ "sessionCookie": [
2215
+ "config_assets:write"
2216
+ ]
2217
+ },
2218
+ {
2219
+ "sessionToken": [
2220
+ "config_assets:write"
2221
+ ]
2222
+ }
2223
+ ],
2224
+ "parameters": [
2225
+ {
2226
+ "name": "app",
2227
+ "in": "path",
2228
+ "required": true,
2229
+ "schema": {
2230
+ "type": "string"
2231
+ }
2232
+ },
2233
+ {
2234
+ "name": "action",
2235
+ "in": "path",
2236
+ "required": true,
2237
+ "schema": {
2238
+ "type": "string"
2239
+ }
2240
+ },
2241
+ {
2242
+ "name": "Idempotency-Key",
2243
+ "in": "header",
2244
+ "description": "A key the caller chooses for one changing call, up to 255 characters. The same key with the same input answers what the first call answered instead of acting twice. A key belongs to its caller: another caller's same key is another call.",
2245
+ "required": false,
2246
+ "schema": {
2247
+ "type": "string",
2248
+ "minLength": 1,
2249
+ "maxLength": 255
2250
+ }
2251
+ },
2252
+ {
2253
+ "name": "Catalyst-Unattended",
2254
+ "in": "header",
2255
+ "description": "`1` on a call of an API credential when nobody watches its terminal, such as `catalyst <kind> publish --yes`. The call is then not its caller's own confirmation: a call that needs one waits in the caller's Inbox and answers `202` with its run, status `pending_confirmation`. It only ever makes a call stricter; a browser session's call ignores it.",
2256
+ "required": false,
2257
+ "schema": {
2258
+ "type": "string",
2259
+ "minLength": 1,
2260
+ "maxLength": 255
2261
+ }
2262
+ }
2263
+ ],
2264
+ "requestBody": {
2265
+ "required": true,
2266
+ "content": {
2267
+ "application/json": {
2268
+ "schema": {
2269
+ "$ref": "#/components/schemas/AppTryActionRequestInput"
2270
+ }
2271
+ }
2272
+ }
2273
+ },
2274
+ "responses": {
2275
+ "200": {
2276
+ "description": "The result",
2277
+ "content": {
2278
+ "application/json": {
2279
+ "schema": {
2280
+ "$ref": "#/components/schemas/AppTryActionResult"
2281
+ }
2282
+ }
2283
+ },
2284
+ "headers": {
2285
+ "Operation-Run-Id": {
2286
+ "$ref": "#/components/headers/OperationRunId"
2287
+ },
2288
+ "Idempotent-Replayed": {
2289
+ "$ref": "#/components/headers/IdempotentReplayed"
2290
+ }
2291
+ }
2292
+ },
2293
+ "202": {
2294
+ "description": "The call waits for somebody else to approve it. This is its Operation Run; read it again at `Location`.",
2295
+ "content": {
2296
+ "application/json": {
2297
+ "schema": {
2298
+ "$ref": "#/components/schemas/OperationRun"
2299
+ }
2300
+ }
2301
+ },
2302
+ "headers": {
2303
+ "Operation-Run-Id": {
2304
+ "$ref": "#/components/headers/OperationRunId"
2305
+ },
2306
+ "Location": {
2307
+ "$ref": "#/components/headers/Location"
2308
+ },
2309
+ "Idempotent-Replayed": {
2310
+ "$ref": "#/components/headers/IdempotentReplayed"
2311
+ }
2312
+ }
2313
+ },
2314
+ "400": {
2315
+ "$ref": "#/components/responses/BadRequest"
2316
+ },
2317
+ "401": {
2318
+ "$ref": "#/components/responses/Unauthenticated"
2319
+ },
2320
+ "403": {
2321
+ "$ref": "#/components/responses/ForbiddenOrPolicyDeniedOrGuardrailBlockedOrDeclined"
2322
+ },
2323
+ "404": {
2324
+ "$ref": "#/components/responses/NotFound"
2325
+ },
2326
+ "409": {
2327
+ "$ref": "#/components/responses/ConflictOrIdempotencyKeyReusedOrOperationInProgressOrOperationExpiredOrOutputNotRetained"
2328
+ },
2329
+ "422": {
2330
+ "$ref": "#/components/responses/ValidationFailed"
2331
+ },
2332
+ "429": {
2333
+ "$ref": "#/components/responses/RateLimited"
2334
+ },
2335
+ "500": {
2336
+ "$ref": "#/components/responses/Internal"
2337
+ },
2338
+ "504": {
2339
+ "$ref": "#/components/responses/Timeout"
2340
+ }
2341
+ },
2342
+ "x-catalyst-effect": "changing",
2343
+ "x-catalyst-rate-class": "write"
2344
+ }
2345
+ },
2045
2346
  "/api/v1/apps/{app}/preview": {
2046
2347
  "post": {
2047
2348
  "operationId": "apps.preview",
@@ -2118,6 +2419,77 @@
2118
2419
  "x-catalyst-rate-class": "read"
2119
2420
  }
2120
2421
  },
2422
+ "/api/v1/apps/{app}/publish-review": {
2423
+ "get": {
2424
+ "operationId": "apps.publish_review",
2425
+ "summary": "Read what publishing an App's draft comes to: the App and the Workflows it calls, their pending drafts, publish questions and what would refuse them",
2426
+ "tags": [
2427
+ "Apps"
2428
+ ],
2429
+ "security": [
2430
+ {
2431
+ "sessionCookie": [
2432
+ "config_assets:read"
2433
+ ]
2434
+ },
2435
+ {
2436
+ "sessionToken": [
2437
+ "config_assets:read"
2438
+ ]
2439
+ }
2440
+ ],
2441
+ "parameters": [
2442
+ {
2443
+ "name": "app",
2444
+ "in": "path",
2445
+ "required": true,
2446
+ "schema": {
2447
+ "type": "string"
2448
+ }
2449
+ }
2450
+ ],
2451
+ "responses": {
2452
+ "200": {
2453
+ "description": "The result",
2454
+ "content": {
2455
+ "application/json": {
2456
+ "schema": {
2457
+ "$ref": "#/components/schemas/AppPublishReview"
2458
+ }
2459
+ }
2460
+ },
2461
+ "headers": {
2462
+ "Operation-Run-Id": {
2463
+ "$ref": "#/components/headers/OperationRunId"
2464
+ }
2465
+ }
2466
+ },
2467
+ "400": {
2468
+ "$ref": "#/components/responses/BadRequest"
2469
+ },
2470
+ "401": {
2471
+ "$ref": "#/components/responses/Unauthenticated"
2472
+ },
2473
+ "403": {
2474
+ "$ref": "#/components/responses/ForbiddenOrPolicyDeniedOrGuardrailBlocked"
2475
+ },
2476
+ "404": {
2477
+ "$ref": "#/components/responses/NotFound"
2478
+ },
2479
+ "422": {
2480
+ "$ref": "#/components/responses/ValidationFailed"
2481
+ },
2482
+ "429": {
2483
+ "$ref": "#/components/responses/RateLimited"
2484
+ },
2485
+ "500": {
2486
+ "$ref": "#/components/responses/Internal"
2487
+ }
2488
+ },
2489
+ "x-catalyst-effect": "reading",
2490
+ "x-catalyst-rate-class": "read"
2491
+ }
2492
+ },
2121
2493
  "/api/v1/apps/{app}/update-from-page": {
2122
2494
  "post": {
2123
2495
  "operationId": "apps.update_from_page",
@@ -4516,6 +4888,10 @@
4516
4888
  "connectorType": {
4517
4889
  "type": "string"
4518
4890
  },
4891
+ "personal": {
4892
+ "type": "boolean",
4893
+ "const": true
4894
+ },
4519
4895
  "tools": {
4520
4896
  "type": "array",
4521
4897
  "items": {
@@ -5013,7 +5389,7 @@
5013
5389
  "/api/v1/connections/{name}/disconnect": {
5014
5390
  "post": {
5015
5391
  "operationId": "connections.disconnect",
5016
- "summary": "End the shared OAuth sign-in of one Connection. Its tokens are deleted, then the provider is asked to revoke the grant",
5392
+ "summary": "End the OAuth sign-in of one Connection. Its tokens are deleted, then the provider is asked to revoke the grant",
5017
5393
  "tags": [
5018
5394
  "Connections"
5019
5395
  ],
@@ -5418,7 +5794,7 @@
5418
5794
  "/api/v1/connections/{name}/oauth/sign-ins/{signInId}": {
5419
5795
  "get": {
5420
5796
  "operationId": "connections.oauth_sign_in",
5421
- "summary": "Read whether a shared OAuth sign-in the caller started still waits for the browser to come back",
5797
+ "summary": "Read whether an OAuth sign-in the caller started still waits for the browser to come back",
5422
5798
  "tags": [
5423
5799
  "Connections"
5424
5800
  ],
@@ -5509,7 +5885,7 @@
5509
5885
  "/api/v1/connections/{name}/oauth/start": {
5510
5886
  "post": {
5511
5887
  "operationId": "connections.oauth_start",
5512
- "summary": "Start the shared OAuth sign-in of one Connection. The answer is the address to open in the person's browser",
5888
+ "summary": "Start the OAuth sign-in of one Connection. The answer is the address to open in the person's browser",
5513
5889
  "tags": [
5514
5890
  "Connections"
5515
5891
  ],
@@ -5622,10 +5998,10 @@
5622
5998
  "x-catalyst-rate-class": "write"
5623
5999
  }
5624
6000
  },
5625
- "/api/v1/connections/{name}/person-context": {
6001
+ "/api/v1/connections/{name}/people": {
5626
6002
  "get": {
5627
- "operationId": "connections.person_context",
5628
- "summary": "Read one person's or service principal's context mapping; requires Connection write access",
6003
+ "operationId": "connections.people",
6004
+ "summary": "List personal sign-ins; requires Connection write access",
5629
6005
  "tags": [
5630
6006
  "Connections"
5631
6007
  ],
@@ -5639,9 +6015,122 @@
5639
6015
  "sessionToken": [
5640
6016
  "config_assets:write"
5641
6017
  ]
6018
+ }
6019
+ ],
6020
+ "parameters": [
6021
+ {
6022
+ "name": "name",
6023
+ "in": "path",
6024
+ "required": true,
6025
+ "schema": {
6026
+ "type": "string"
6027
+ }
6028
+ }
6029
+ ],
6030
+ "responses": {
6031
+ "200": {
6032
+ "description": "The result",
6033
+ "content": {
6034
+ "application/json": {
6035
+ "schema": {
6036
+ "type": "object",
6037
+ "properties": {
6038
+ "people": {
6039
+ "type": "array",
6040
+ "items": {
6041
+ "type": "object",
6042
+ "properties": {
6043
+ "state": {
6044
+ "type": "string",
6045
+ "enum": [
6046
+ "not_connected",
6047
+ "connected",
6048
+ "needs_reconnect",
6049
+ "revoked"
6050
+ ]
6051
+ },
6052
+ "account": {
6053
+ "type": "string"
6054
+ },
6055
+ "connectedAt": {
6056
+ "$ref": "#/components/schemas/Timestamp"
6057
+ },
6058
+ "lastUsedOn": {
6059
+ "type": "string"
6060
+ },
6061
+ "reason": {
6062
+ "type": "string"
6063
+ },
6064
+ "userId": {
6065
+ "type": "string"
6066
+ },
6067
+ "displayLabel": {
6068
+ "type": "string"
6069
+ }
6070
+ },
6071
+ "required": [
6072
+ "state",
6073
+ "userId"
6074
+ ]
6075
+ }
6076
+ }
6077
+ },
6078
+ "required": [
6079
+ "people"
6080
+ ]
6081
+ }
6082
+ }
6083
+ },
6084
+ "headers": {
6085
+ "Operation-Run-Id": {
6086
+ "$ref": "#/components/headers/OperationRunId"
6087
+ }
6088
+ }
6089
+ },
6090
+ "400": {
6091
+ "$ref": "#/components/responses/BadRequest"
5642
6092
  },
6093
+ "401": {
6094
+ "$ref": "#/components/responses/Unauthenticated"
6095
+ },
6096
+ "403": {
6097
+ "$ref": "#/components/responses/ForbiddenOrPolicyDeniedOrGuardrailBlocked"
6098
+ },
6099
+ "404": {
6100
+ "$ref": "#/components/responses/NotFound"
6101
+ },
6102
+ "409": {
6103
+ "$ref": "#/components/responses/Conflict"
6104
+ },
6105
+ "422": {
6106
+ "$ref": "#/components/responses/ValidationFailed"
6107
+ },
6108
+ "429": {
6109
+ "$ref": "#/components/responses/RateLimited"
6110
+ },
6111
+ "500": {
6112
+ "$ref": "#/components/responses/Internal"
6113
+ }
6114
+ },
6115
+ "x-catalyst-effect": "reading",
6116
+ "x-catalyst-rate-class": "read"
6117
+ }
6118
+ },
6119
+ "/api/v1/connections/{name}/people/{userId}": {
6120
+ "delete": {
6121
+ "operationId": "connections.revoke_person",
6122
+ "summary": "Revoke a personal sign-in locally without contacting the provider",
6123
+ "tags": [
6124
+ "Connections"
6125
+ ],
6126
+ "security": [
5643
6127
  {
5644
- "accessToken": [
6128
+ "sessionCookie": [
6129
+ "config_assets:write"
6130
+ ]
6131
+ },
6132
+ {
6133
+ "sessionToken": [
5645
6134
  "config_assets:write"
5646
6135
  ]
5647
6136
  }
@@ -5656,25 +6145,33 @@
5656
6145
  }
5657
6146
  },
5658
6147
  {
5659
- "name": "subjectKind",
5660
- "in": "query",
6148
+ "name": "userId",
6149
+ "in": "path",
5661
6150
  "required": true,
6151
+ "schema": {
6152
+ "type": "string"
6153
+ }
6154
+ },
6155
+ {
6156
+ "name": "Idempotency-Key",
6157
+ "in": "header",
6158
+ "description": "A key the caller chooses for one changing call, up to 255 characters. The same key with the same input answers what the first call answered instead of acting twice. A key belongs to its caller: another caller's same key is another call.",
6159
+ "required": false,
5662
6160
  "schema": {
5663
6161
  "type": "string",
5664
- "enum": [
5665
- "user",
5666
- "service_principal"
5667
- ]
6162
+ "minLength": 1,
6163
+ "maxLength": 255
5668
6164
  }
5669
6165
  },
5670
6166
  {
5671
- "name": "subjectId",
5672
- "in": "query",
5673
- "required": true,
6167
+ "name": "Catalyst-Unattended",
6168
+ "in": "header",
6169
+ "description": "`1` on a call of an API credential when nobody watches its terminal, such as `catalyst <kind> publish --yes`. The call is then not its caller's own confirmation: a call that needs one waits in the caller's Inbox and answers `202` with its run, status `pending_confirmation`. It only ever makes a call stricter; a browser session's call ignores it.",
6170
+ "required": false,
5674
6171
  "schema": {
5675
6172
  "type": "string",
5676
6173
  "minLength": 1,
5677
- "maxLength": 256
6174
+ "maxLength": 255
5678
6175
  }
5679
6176
  }
5680
6177
  ],
@@ -5686,38 +6183,13 @@
5686
6183
  "schema": {
5687
6184
  "type": "object",
5688
6185
  "properties": {
5689
- "subjectKind": {
5690
- "type": "string",
5691
- "enum": [
5692
- "user",
5693
- "service_principal"
5694
- ]
5695
- },
5696
- "subjectId": {
6186
+ "state": {
5697
6187
  "type": "string",
5698
- "minLength": 1,
5699
- "maxLength": 256
5700
- },
5701
- "value": {
5702
- "type": "string"
5703
- },
5704
- "rowVersion": {
5705
- "anyOf": [
5706
- {
5707
- "type": "integer",
5708
- "exclusiveMinimum": 0,
5709
- "maximum": 9007199254740991
5710
- },
5711
- {
5712
- "type": "null"
5713
- }
5714
- ]
6188
+ "const": "revoked"
5715
6189
  }
5716
6190
  },
5717
6191
  "required": [
5718
- "subjectKind",
5719
- "subjectId",
5720
- "rowVersion"
6192
+ "state"
5721
6193
  ]
5722
6194
  }
5723
6195
  }
@@ -5725,6 +6197,30 @@
5725
6197
  "headers": {
5726
6198
  "Operation-Run-Id": {
5727
6199
  "$ref": "#/components/headers/OperationRunId"
6200
+ },
6201
+ "Idempotent-Replayed": {
6202
+ "$ref": "#/components/headers/IdempotentReplayed"
6203
+ }
6204
+ }
6205
+ },
6206
+ "202": {
6207
+ "description": "The call waits for somebody else to approve it. This is its Operation Run; read it again at `Location`.",
6208
+ "content": {
6209
+ "application/json": {
6210
+ "schema": {
6211
+ "$ref": "#/components/schemas/OperationRun"
6212
+ }
6213
+ }
6214
+ },
6215
+ "headers": {
6216
+ "Operation-Run-Id": {
6217
+ "$ref": "#/components/headers/OperationRunId"
6218
+ },
6219
+ "Location": {
6220
+ "$ref": "#/components/headers/Location"
6221
+ },
6222
+ "Idempotent-Replayed": {
6223
+ "$ref": "#/components/headers/IdempotentReplayed"
5728
6224
  }
5729
6225
  }
5730
6226
  },
@@ -5735,13 +6231,13 @@
5735
6231
  "$ref": "#/components/responses/Unauthenticated"
5736
6232
  },
5737
6233
  "403": {
5738
- "$ref": "#/components/responses/ForbiddenOrPolicyDeniedOrGuardrailBlocked"
6234
+ "$ref": "#/components/responses/ForbiddenOrPolicyDeniedOrGuardrailBlockedOrDeclined"
5739
6235
  },
5740
6236
  "404": {
5741
6237
  "$ref": "#/components/responses/NotFound"
5742
6238
  },
5743
6239
  "409": {
5744
- "$ref": "#/components/responses/Conflict"
6240
+ "$ref": "#/components/responses/ConflictOrIdempotencyKeyReusedOrOperationInProgressOrOperationExpiredOrOutputNotRetained"
5745
6241
  },
5746
6242
  "422": {
5747
6243
  "$ref": "#/components/responses/ValidationFailed"
@@ -5753,12 +6249,147 @@
5753
6249
  "$ref": "#/components/responses/Internal"
5754
6250
  }
5755
6251
  },
5756
- "x-catalyst-effect": "reading",
5757
- "x-catalyst-rate-class": "read"
5758
- },
5759
- "put": {
5760
- "operationId": "connections.set_person_context",
5761
- "summary": "Map a person or service principal to the outside context value, or clear their mapping",
6252
+ "x-catalyst-effect": "changing",
6253
+ "x-catalyst-rate-class": "write"
6254
+ }
6255
+ },
6256
+ "/api/v1/connections/{name}/person-context": {
6257
+ "get": {
6258
+ "operationId": "connections.person_context",
6259
+ "summary": "Read one person's or service principal's context mapping; requires Connection write access",
6260
+ "tags": [
6261
+ "Connections"
6262
+ ],
6263
+ "security": [
6264
+ {
6265
+ "sessionCookie": [
6266
+ "config_assets:write"
6267
+ ]
6268
+ },
6269
+ {
6270
+ "sessionToken": [
6271
+ "config_assets:write"
6272
+ ]
6273
+ },
6274
+ {
6275
+ "accessToken": [
6276
+ "config_assets:write"
6277
+ ]
6278
+ }
6279
+ ],
6280
+ "parameters": [
6281
+ {
6282
+ "name": "name",
6283
+ "in": "path",
6284
+ "required": true,
6285
+ "schema": {
6286
+ "type": "string"
6287
+ }
6288
+ },
6289
+ {
6290
+ "name": "subjectKind",
6291
+ "in": "query",
6292
+ "required": true,
6293
+ "schema": {
6294
+ "type": "string",
6295
+ "enum": [
6296
+ "user",
6297
+ "service_principal"
6298
+ ]
6299
+ }
6300
+ },
6301
+ {
6302
+ "name": "subjectId",
6303
+ "in": "query",
6304
+ "required": true,
6305
+ "schema": {
6306
+ "type": "string",
6307
+ "minLength": 1,
6308
+ "maxLength": 256
6309
+ }
6310
+ }
6311
+ ],
6312
+ "responses": {
6313
+ "200": {
6314
+ "description": "The result",
6315
+ "content": {
6316
+ "application/json": {
6317
+ "schema": {
6318
+ "type": "object",
6319
+ "properties": {
6320
+ "subjectKind": {
6321
+ "type": "string",
6322
+ "enum": [
6323
+ "user",
6324
+ "service_principal"
6325
+ ]
6326
+ },
6327
+ "subjectId": {
6328
+ "type": "string",
6329
+ "minLength": 1,
6330
+ "maxLength": 256
6331
+ },
6332
+ "value": {
6333
+ "type": "string"
6334
+ },
6335
+ "rowVersion": {
6336
+ "anyOf": [
6337
+ {
6338
+ "type": "integer",
6339
+ "exclusiveMinimum": 0,
6340
+ "maximum": 9007199254740991
6341
+ },
6342
+ {
6343
+ "type": "null"
6344
+ }
6345
+ ]
6346
+ }
6347
+ },
6348
+ "required": [
6349
+ "subjectKind",
6350
+ "subjectId",
6351
+ "rowVersion"
6352
+ ]
6353
+ }
6354
+ }
6355
+ },
6356
+ "headers": {
6357
+ "Operation-Run-Id": {
6358
+ "$ref": "#/components/headers/OperationRunId"
6359
+ }
6360
+ }
6361
+ },
6362
+ "400": {
6363
+ "$ref": "#/components/responses/BadRequest"
6364
+ },
6365
+ "401": {
6366
+ "$ref": "#/components/responses/Unauthenticated"
6367
+ },
6368
+ "403": {
6369
+ "$ref": "#/components/responses/ForbiddenOrPolicyDeniedOrGuardrailBlocked"
6370
+ },
6371
+ "404": {
6372
+ "$ref": "#/components/responses/NotFound"
6373
+ },
6374
+ "409": {
6375
+ "$ref": "#/components/responses/Conflict"
6376
+ },
6377
+ "422": {
6378
+ "$ref": "#/components/responses/ValidationFailed"
6379
+ },
6380
+ "429": {
6381
+ "$ref": "#/components/responses/RateLimited"
6382
+ },
6383
+ "500": {
6384
+ "$ref": "#/components/responses/Internal"
6385
+ }
6386
+ },
6387
+ "x-catalyst-effect": "reading",
6388
+ "x-catalyst-rate-class": "read"
6389
+ },
6390
+ "put": {
6391
+ "operationId": "connections.set_person_context",
6392
+ "summary": "Map a person or service principal to the outside context value, or clear their mapping",
5762
6393
  "tags": [
5763
6394
  "Connections"
5764
6395
  ],
@@ -6005,11 +6636,17 @@
6005
6636
  "type": "null"
6006
6637
  }
6007
6638
  ]
6639
+ },
6640
+ "expectedRevision": {
6641
+ "type": "integer",
6642
+ "exclusiveMinimum": 0,
6643
+ "maximum": 9007199254740991
6008
6644
  }
6009
6645
  },
6010
6646
  "required": [
6011
6647
  "value",
6012
- "expectedVersion"
6648
+ "expectedVersion",
6649
+ "expectedRevision"
6013
6650
  ]
6014
6651
  }
6015
6652
  }
@@ -6387,10 +7024,427 @@
6387
7024
  "fields"
6388
7025
  ]
6389
7026
  }
7027
+ },
7028
+ "entries": {
7029
+ "default": [],
7030
+ "type": "array",
7031
+ "items": {
7032
+ "type": "object",
7033
+ "properties": {
7034
+ "id": {
7035
+ "type": "string"
7036
+ },
7037
+ "version": {
7038
+ "type": "integer",
7039
+ "minimum": -9007199254740991,
7040
+ "maximum": 9007199254740991
7041
+ },
7042
+ "service": {
7043
+ "type": "string"
7044
+ },
7045
+ "title": {
7046
+ "anyOf": [
7047
+ {
7048
+ "type": "string"
7049
+ },
7050
+ {
7051
+ "type": "object",
7052
+ "properties": {
7053
+ "en": {
7054
+ "type": "string"
7055
+ },
7056
+ "de": {
7057
+ "type": "string"
7058
+ }
7059
+ }
7060
+ }
7061
+ ]
7062
+ },
7063
+ "description": {
7064
+ "anyOf": [
7065
+ {
7066
+ "type": "string"
7067
+ },
7068
+ {
7069
+ "type": "object",
7070
+ "properties": {
7071
+ "en": {
7072
+ "type": "string"
7073
+ },
7074
+ "de": {
7075
+ "type": "string"
7076
+ }
7077
+ }
7078
+ }
7079
+ ]
7080
+ },
7081
+ "category": {
7082
+ "type": "string",
7083
+ "enum": [
7084
+ "mail",
7085
+ "files",
7086
+ "accounting",
7087
+ "databases",
7088
+ "other"
7089
+ ]
7090
+ },
7091
+ "examplePrompts": {
7092
+ "type": "array",
7093
+ "items": {
7094
+ "anyOf": [
7095
+ {
7096
+ "type": "string"
7097
+ },
7098
+ {
7099
+ "type": "object",
7100
+ "properties": {
7101
+ "en": {
7102
+ "type": "string"
7103
+ },
7104
+ "de": {
7105
+ "type": "string"
7106
+ }
7107
+ }
7108
+ }
7109
+ ]
7110
+ }
7111
+ },
7112
+ "mark": {
7113
+ "type": "object",
7114
+ "properties": {
7115
+ "color": {
7116
+ "type": "string"
7117
+ },
7118
+ "logo": {
7119
+ "type": "string"
7120
+ }
7121
+ }
7122
+ },
7123
+ "offered": {
7124
+ "type": "boolean"
7125
+ },
7126
+ "parts": {
7127
+ "type": "array",
7128
+ "items": {
7129
+ "type": "object",
7130
+ "properties": {
7131
+ "part": {
7132
+ "type": "string",
7133
+ "enum": [
7134
+ "tools",
7135
+ "source"
7136
+ ]
7137
+ },
7138
+ "connectorType": {
7139
+ "type": "string"
7140
+ },
7141
+ "name": {
7142
+ "type": "string"
7143
+ },
7144
+ "title": {
7145
+ "anyOf": [
7146
+ {
7147
+ "type": "string"
7148
+ },
7149
+ {
7150
+ "type": "object",
7151
+ "properties": {
7152
+ "en": {
7153
+ "type": "string"
7154
+ },
7155
+ "de": {
7156
+ "type": "string"
7157
+ }
7158
+ }
7159
+ }
7160
+ ]
7161
+ },
7162
+ "description": {
7163
+ "anyOf": [
7164
+ {
7165
+ "type": "string"
7166
+ },
7167
+ {
7168
+ "type": "object",
7169
+ "properties": {
7170
+ "en": {
7171
+ "type": "string"
7172
+ },
7173
+ "de": {
7174
+ "type": "string"
7175
+ }
7176
+ }
7177
+ }
7178
+ ]
7179
+ },
7180
+ "authScheme": {
7181
+ "type": "string"
7182
+ },
7183
+ "credentialModes": {
7184
+ "type": "array",
7185
+ "items": {
7186
+ "type": "string",
7187
+ "enum": [
7188
+ "shared",
7189
+ "user"
7190
+ ]
7191
+ }
7192
+ },
7193
+ "defaultCredentialMode": {
7194
+ "type": "string",
7195
+ "enum": [
7196
+ "shared",
7197
+ "user"
7198
+ ]
7199
+ },
7200
+ "groups": {
7201
+ "type": "array",
7202
+ "items": {
7203
+ "type": "object",
7204
+ "properties": {
7205
+ "id": {
7206
+ "type": "string"
7207
+ },
7208
+ "title": {
7209
+ "anyOf": [
7210
+ {
7211
+ "type": "string"
7212
+ },
7213
+ {
7214
+ "type": "object",
7215
+ "properties": {
7216
+ "en": {
7217
+ "type": "string"
7218
+ },
7219
+ "de": {
7220
+ "type": "string"
7221
+ }
7222
+ }
7223
+ }
7224
+ ]
7225
+ },
7226
+ "scopes": {
7227
+ "type": "array",
7228
+ "items": {
7229
+ "type": "string"
7230
+ }
7231
+ }
7232
+ },
7233
+ "required": [
7234
+ "id",
7235
+ "title",
7236
+ "scopes"
7237
+ ]
7238
+ }
7239
+ },
7240
+ "settings": {
7241
+ "type": "object",
7242
+ "propertyNames": {
7243
+ "type": "string"
7244
+ },
7245
+ "additionalProperties": {}
7246
+ },
7247
+ "fields": {
7248
+ "type": "array",
7249
+ "items": {
7250
+ "type": "object",
7251
+ "properties": {
7252
+ "label": {
7253
+ "anyOf": [
7254
+ {
7255
+ "type": "string"
7256
+ },
7257
+ {
7258
+ "type": "object",
7259
+ "properties": {
7260
+ "en": {
7261
+ "type": "string"
7262
+ },
7263
+ "de": {
7264
+ "type": "string"
7265
+ }
7266
+ }
7267
+ }
7268
+ ]
7269
+ },
7270
+ "help": {
7271
+ "anyOf": [
7272
+ {
7273
+ "type": "string"
7274
+ },
7275
+ {
7276
+ "type": "object",
7277
+ "properties": {
7278
+ "en": {
7279
+ "type": "string"
7280
+ },
7281
+ "de": {
7282
+ "type": "string"
7283
+ }
7284
+ }
7285
+ }
7286
+ ]
7287
+ },
7288
+ "optional": {
7289
+ "type": "boolean"
7290
+ },
7291
+ "setting": {
7292
+ "type": "string"
7293
+ },
7294
+ "secret": {
7295
+ "type": "boolean"
7296
+ },
7297
+ "default": {
7298
+ "type": "string"
7299
+ }
7300
+ },
7301
+ "required": [
7302
+ "label",
7303
+ "optional",
7304
+ "secret"
7305
+ ]
7306
+ }
7307
+ },
7308
+ "prerequisites": {
7309
+ "type": "array",
7310
+ "items": {
7311
+ "type": "object",
7312
+ "properties": {
7313
+ "text": {
7314
+ "anyOf": [
7315
+ {
7316
+ "type": "string"
7317
+ },
7318
+ {
7319
+ "type": "object",
7320
+ "properties": {
7321
+ "en": {
7322
+ "type": "string"
7323
+ },
7324
+ "de": {
7325
+ "type": "string"
7326
+ }
7327
+ }
7328
+ }
7329
+ ]
7330
+ },
7331
+ "value": {
7332
+ "type": "string"
7333
+ }
7334
+ },
7335
+ "required": [
7336
+ "text"
7337
+ ]
7338
+ }
7339
+ },
7340
+ "hosts": {
7341
+ "type": "array",
7342
+ "items": {
7343
+ "type": "string"
7344
+ }
7345
+ },
7346
+ "redirectUri": {
7347
+ "type": "string"
7348
+ },
7349
+ "operations": {
7350
+ "type": "array",
7351
+ "items": {
7352
+ "type": "object",
7353
+ "properties": {
7354
+ "name": {
7355
+ "type": "string"
7356
+ },
7357
+ "group": {
7358
+ "type": "string"
7359
+ },
7360
+ "title": {
7361
+ "type": "string"
7362
+ },
7363
+ "description": {
7364
+ "type": "string"
7365
+ },
7366
+ "effect": {
7367
+ "type": "string",
7368
+ "enum": [
7369
+ "reading",
7370
+ "changing"
7371
+ ]
7372
+ },
7373
+ "recommended": {
7374
+ "type": "boolean"
7375
+ },
7376
+ "declaration": {
7377
+ "type": "object",
7378
+ "propertyNames": {
7379
+ "type": "string"
7380
+ },
7381
+ "additionalProperties": {}
7382
+ }
7383
+ },
7384
+ "required": [
7385
+ "name",
7386
+ "effect",
7387
+ "recommended"
7388
+ ]
7389
+ }
7390
+ },
7391
+ "sharedAccountNote": {
7392
+ "anyOf": [
7393
+ {
7394
+ "type": "string"
7395
+ },
7396
+ {
7397
+ "type": "object",
7398
+ "properties": {
7399
+ "en": {
7400
+ "type": "string"
7401
+ },
7402
+ "de": {
7403
+ "type": "string"
7404
+ }
7405
+ }
7406
+ }
7407
+ ]
7408
+ },
7409
+ "documentSource": {
7410
+ "type": "boolean"
7411
+ }
7412
+ },
7413
+ "required": [
7414
+ "part",
7415
+ "connectorType",
7416
+ "name",
7417
+ "description",
7418
+ "authScheme",
7419
+ "settings",
7420
+ "fields",
7421
+ "prerequisites",
7422
+ "hosts",
7423
+ "operations",
7424
+ "sharedAccountNote",
7425
+ "documentSource"
7426
+ ]
7427
+ }
7428
+ }
7429
+ },
7430
+ "required": [
7431
+ "id",
7432
+ "version",
7433
+ "service",
7434
+ "title",
7435
+ "description",
7436
+ "category",
7437
+ "examplePrompts",
7438
+ "mark",
7439
+ "offered",
7440
+ "parts"
7441
+ ]
7442
+ }
6390
7443
  }
6391
7444
  },
6392
7445
  "required": [
6393
- "types"
7446
+ "types",
7447
+ "entries"
6394
7448
  ]
6395
7449
  }
6396
7450
  }
@@ -15902,6 +16956,63 @@
15902
16956
  "x-catalyst-rate-class": "write"
15903
16957
  }
15904
16958
  },
16959
+ "/api/v1/instance/access/scope-assignments/overview": {
16960
+ "get": {
16961
+ "operationId": "scope_assignments.overview",
16962
+ "summary": "Read the declared data scope, every assignment the reader may see, and each active person's groups and effective values",
16963
+ "tags": [
16964
+ "Access"
16965
+ ],
16966
+ "security": [
16967
+ {
16968
+ "sessionCookie": [
16969
+ "user_admin:read"
16970
+ ]
16971
+ },
16972
+ {
16973
+ "sessionToken": [
16974
+ "user_admin:read"
16975
+ ]
16976
+ }
16977
+ ],
16978
+ "parameters": [],
16979
+ "responses": {
16980
+ "200": {
16981
+ "description": "The result",
16982
+ "content": {
16983
+ "application/json": {
16984
+ "schema": {
16985
+ "$ref": "#/components/schemas/ScopeAssignmentsOverview"
16986
+ }
16987
+ }
16988
+ }
16989
+ },
16990
+ "400": {
16991
+ "$ref": "#/components/responses/BadRequest"
16992
+ },
16993
+ "401": {
16994
+ "$ref": "#/components/responses/Unauthenticated"
16995
+ },
16996
+ "403": {
16997
+ "$ref": "#/components/responses/Forbidden"
16998
+ },
16999
+ "422": {
17000
+ "$ref": "#/components/responses/ValidationFailed"
17001
+ },
17002
+ "429": {
17003
+ "$ref": "#/components/responses/RateLimited"
17004
+ },
17005
+ "500": {
17006
+ "$ref": "#/components/responses/Internal"
17007
+ }
17008
+ },
17009
+ "x-catalyst-effect": "reading",
17010
+ "x-catalyst-requires": [
17011
+ "users.manage"
17012
+ ],
17013
+ "x-catalyst-rate-class": "read"
17014
+ }
17015
+ },
15905
17016
  "/api/v1/instance/access/workspaces": {
15906
17017
  "get": {
15907
17018
  "operationId": "workspaces.limits.list",
@@ -23289,6 +24400,138 @@
23289
24400
  "x-catalyst-rate-class": "auth"
23290
24401
  }
23291
24402
  },
24403
+ "/api/v1/me/connections": {
24404
+ "get": {
24405
+ "operationId": "connections.mine",
24406
+ "summary": "List usable personal Connections with only the caller's binding",
24407
+ "tags": [
24408
+ "Connections"
24409
+ ],
24410
+ "security": [
24411
+ {
24412
+ "sessionCookie": [
24413
+ "me:read"
24414
+ ]
24415
+ },
24416
+ {
24417
+ "sessionToken": [
24418
+ "me:read"
24419
+ ]
24420
+ }
24421
+ ],
24422
+ "parameters": [],
24423
+ "responses": {
24424
+ "200": {
24425
+ "description": "The result",
24426
+ "content": {
24427
+ "application/json": {
24428
+ "schema": {
24429
+ "type": "object",
24430
+ "properties": {
24431
+ "connections": {
24432
+ "type": "array",
24433
+ "items": {
24434
+ "type": "object",
24435
+ "properties": {
24436
+ "state": {
24437
+ "type": "string",
24438
+ "enum": [
24439
+ "not_connected",
24440
+ "connected",
24441
+ "needs_reconnect",
24442
+ "revoked"
24443
+ ]
24444
+ },
24445
+ "account": {
24446
+ "type": "string"
24447
+ },
24448
+ "connectedAt": {
24449
+ "$ref": "#/components/schemas/Timestamp"
24450
+ },
24451
+ "lastUsedOn": {
24452
+ "type": "string"
24453
+ },
24454
+ "reason": {
24455
+ "type": "string"
24456
+ },
24457
+ "name": {
24458
+ "type": "string"
24459
+ },
24460
+ "title": {
24461
+ "type": "string"
24462
+ },
24463
+ "service": {
24464
+ "type": "string"
24465
+ },
24466
+ "catalogue": {
24467
+ "type": "object",
24468
+ "properties": {
24469
+ "entry": {
24470
+ "type": "string"
24471
+ },
24472
+ "part": {
24473
+ "type": "string",
24474
+ "enum": [
24475
+ "tools",
24476
+ "source"
24477
+ ]
24478
+ },
24479
+ "version": {
24480
+ "type": "integer",
24481
+ "minimum": -9007199254740991,
24482
+ "maximum": 9007199254740991
24483
+ }
24484
+ },
24485
+ "required": [
24486
+ "entry",
24487
+ "part",
24488
+ "version"
24489
+ ]
24490
+ }
24491
+ },
24492
+ "required": [
24493
+ "state",
24494
+ "name",
24495
+ "title"
24496
+ ]
24497
+ }
24498
+ }
24499
+ },
24500
+ "required": [
24501
+ "connections"
24502
+ ]
24503
+ }
24504
+ }
24505
+ },
24506
+ "headers": {
24507
+ "Operation-Run-Id": {
24508
+ "$ref": "#/components/headers/OperationRunId"
24509
+ }
24510
+ }
24511
+ },
24512
+ "400": {
24513
+ "$ref": "#/components/responses/BadRequest"
24514
+ },
24515
+ "401": {
24516
+ "$ref": "#/components/responses/Unauthenticated"
24517
+ },
24518
+ "403": {
24519
+ "$ref": "#/components/responses/ForbiddenOrPolicyDeniedOrGuardrailBlocked"
24520
+ },
24521
+ "422": {
24522
+ "$ref": "#/components/responses/ValidationFailed"
24523
+ },
24524
+ "429": {
24525
+ "$ref": "#/components/responses/RateLimited"
24526
+ },
24527
+ "500": {
24528
+ "$ref": "#/components/responses/Internal"
24529
+ }
24530
+ },
24531
+ "x-catalyst-effect": "reading",
24532
+ "x-catalyst-rate-class": "read"
24533
+ }
24534
+ },
23292
24535
  "/api/v1/me/model-preference": {
23293
24536
  "get": {
23294
24537
  "operationId": "me.model_preference.get",
@@ -23405,6 +24648,177 @@
23405
24648
  "x-catalyst-rate-class": "write"
23406
24649
  }
23407
24650
  },
24651
+ "/api/v1/me/operation-settings": {
24652
+ "get": {
24653
+ "operationId": "me.operation_settings.list",
24654
+ "summary": "List the signed-in user's own confirmation settings and the operations their agents called lately",
24655
+ "tags": [
24656
+ "Account"
24657
+ ],
24658
+ "security": [
24659
+ {
24660
+ "sessionCookie": [
24661
+ "me:read"
24662
+ ]
24663
+ },
24664
+ {
24665
+ "sessionToken": [
24666
+ "me:read"
24667
+ ]
24668
+ }
24669
+ ],
24670
+ "parameters": [],
24671
+ "responses": {
24672
+ "200": {
24673
+ "description": "The result",
24674
+ "content": {
24675
+ "application/json": {
24676
+ "schema": {
24677
+ "$ref": "#/components/schemas/OperationSettings"
24678
+ }
24679
+ }
24680
+ }
24681
+ },
24682
+ "400": {
24683
+ "$ref": "#/components/responses/BadRequest"
24684
+ },
24685
+ "401": {
24686
+ "$ref": "#/components/responses/Unauthenticated"
24687
+ },
24688
+ "403": {
24689
+ "$ref": "#/components/responses/Forbidden"
24690
+ },
24691
+ "422": {
24692
+ "$ref": "#/components/responses/ValidationFailed"
24693
+ },
24694
+ "429": {
24695
+ "$ref": "#/components/responses/RateLimited"
24696
+ },
24697
+ "500": {
24698
+ "$ref": "#/components/responses/Internal"
24699
+ }
24700
+ },
24701
+ "x-catalyst-effect": "reading",
24702
+ "x-catalyst-rate-class": "read"
24703
+ },
24704
+ "put": {
24705
+ "operationId": "me.operation_settings.set",
24706
+ "summary": "Set the signed-in user's own value for an operation: Always allow, Ask me or Never, or none",
24707
+ "tags": [
24708
+ "Account"
24709
+ ],
24710
+ "security": [
24711
+ {
24712
+ "sessionCookie": [
24713
+ "me:write"
24714
+ ]
24715
+ },
24716
+ {
24717
+ "sessionToken": [
24718
+ "me:write"
24719
+ ]
24720
+ }
24721
+ ],
24722
+ "parameters": [
24723
+ {
24724
+ "name": "Idempotency-Key",
24725
+ "in": "header",
24726
+ "description": "A key the caller chooses for one changing call, up to 255 characters. The same key with the same input answers what the first call answered instead of acting twice. A key belongs to its caller: another caller's same key is another call.",
24727
+ "required": false,
24728
+ "schema": {
24729
+ "type": "string",
24730
+ "minLength": 1,
24731
+ "maxLength": 255
24732
+ }
24733
+ },
24734
+ {
24735
+ "name": "Catalyst-Unattended",
24736
+ "in": "header",
24737
+ "description": "`1` on a call of an API credential when nobody watches its terminal, such as `catalyst <kind> publish --yes`. The call is then not its caller's own confirmation: a call that needs one waits in the caller's Inbox and answers `202` with its run, status `pending_confirmation`. It only ever makes a call stricter; a browser session's call ignores it.",
24738
+ "required": false,
24739
+ "schema": {
24740
+ "type": "string",
24741
+ "minLength": 1,
24742
+ "maxLength": 255
24743
+ }
24744
+ }
24745
+ ],
24746
+ "requestBody": {
24747
+ "required": true,
24748
+ "content": {
24749
+ "application/json": {
24750
+ "schema": {
24751
+ "$ref": "#/components/schemas/SetOperationSettingRequest"
24752
+ }
24753
+ }
24754
+ }
24755
+ },
24756
+ "responses": {
24757
+ "200": {
24758
+ "description": "The result",
24759
+ "content": {
24760
+ "application/json": {
24761
+ "schema": {
24762
+ "$ref": "#/components/schemas/OperationSetting"
24763
+ }
24764
+ }
24765
+ },
24766
+ "headers": {
24767
+ "Operation-Run-Id": {
24768
+ "$ref": "#/components/headers/OperationRunId"
24769
+ },
24770
+ "Idempotent-Replayed": {
24771
+ "$ref": "#/components/headers/IdempotentReplayed"
24772
+ }
24773
+ }
24774
+ },
24775
+ "202": {
24776
+ "description": "The call waits for somebody else to approve it. This is its Operation Run; read it again at `Location`.",
24777
+ "content": {
24778
+ "application/json": {
24779
+ "schema": {
24780
+ "$ref": "#/components/schemas/OperationRun"
24781
+ }
24782
+ }
24783
+ },
24784
+ "headers": {
24785
+ "Operation-Run-Id": {
24786
+ "$ref": "#/components/headers/OperationRunId"
24787
+ },
24788
+ "Location": {
24789
+ "$ref": "#/components/headers/Location"
24790
+ },
24791
+ "Idempotent-Replayed": {
24792
+ "$ref": "#/components/headers/IdempotentReplayed"
24793
+ }
24794
+ }
24795
+ },
24796
+ "400": {
24797
+ "$ref": "#/components/responses/BadRequest"
24798
+ },
24799
+ "401": {
24800
+ "$ref": "#/components/responses/Unauthenticated"
24801
+ },
24802
+ "403": {
24803
+ "$ref": "#/components/responses/ForbiddenOrPolicyDeniedOrGuardrailBlockedOrDeclined"
24804
+ },
24805
+ "409": {
24806
+ "$ref": "#/components/responses/IdempotencyKeyReusedOrOperationInProgressOrOperationExpiredOrOutputNotRetained"
24807
+ },
24808
+ "422": {
24809
+ "$ref": "#/components/responses/ValidationFailed"
24810
+ },
24811
+ "429": {
24812
+ "$ref": "#/components/responses/RateLimited"
24813
+ },
24814
+ "500": {
24815
+ "$ref": "#/components/responses/Internal"
24816
+ }
24817
+ },
24818
+ "x-catalyst-effect": "changing",
24819
+ "x-catalyst-rate-class": "write"
24820
+ }
24821
+ },
23408
24822
  "/api/v1/me/password": {
23409
24823
  "post": {
23410
24824
  "operationId": "me.password.change",
@@ -23465,38 +24879,226 @@
23465
24879
  "$ref": "#/components/responses/Internal"
23466
24880
  }
23467
24881
  },
23468
- "x-catalyst-effect": "changing",
23469
- "x-catalyst-rate-class": "auth"
24882
+ "x-catalyst-effect": "changing",
24883
+ "x-catalyst-rate-class": "auth"
24884
+ }
24885
+ },
24886
+ "/api/v1/openapi.json": {
24887
+ "get": {
24888
+ "operationId": "openapi.get",
24889
+ "summary": "Read the OpenAPI document of the operations this instance runs",
24890
+ "tags": [
24891
+ "Reference"
24892
+ ],
24893
+ "security": [
24894
+ {
24895
+ "sessionCookie": []
24896
+ },
24897
+ {
24898
+ "sessionToken": []
24899
+ },
24900
+ {
24901
+ "accessToken": []
24902
+ }
24903
+ ],
24904
+ "parameters": [],
24905
+ "responses": {
24906
+ "200": {
24907
+ "description": "The result",
24908
+ "content": {
24909
+ "application/json": {
24910
+ "schema": {
24911
+ "$ref": "#/components/schemas/OpenApiDocument"
24912
+ }
24913
+ }
24914
+ }
24915
+ },
24916
+ "400": {
24917
+ "$ref": "#/components/responses/BadRequest"
24918
+ },
24919
+ "401": {
24920
+ "$ref": "#/components/responses/Unauthenticated"
24921
+ },
24922
+ "403": {
24923
+ "$ref": "#/components/responses/Forbidden"
24924
+ },
24925
+ "422": {
24926
+ "$ref": "#/components/responses/ValidationFailed"
24927
+ },
24928
+ "429": {
24929
+ "$ref": "#/components/responses/RateLimited"
24930
+ },
24931
+ "500": {
24932
+ "$ref": "#/components/responses/Internal"
24933
+ }
24934
+ },
24935
+ "x-catalyst-effect": "reading",
24936
+ "x-catalyst-rate-class": "read"
23470
24937
  }
23471
24938
  },
23472
- "/api/v1/openapi.json": {
24939
+ "/api/v1/operations/callable": {
23473
24940
  "get": {
23474
- "operationId": "openapi.get",
23475
- "summary": "Read the OpenAPI document of the operations this instance runs",
24941
+ "operationId": "operations.list_callable",
24942
+ "summary": "List a page of the operations a step of a Workflow may call, as far as the caller may call them",
23476
24943
  "tags": [
23477
- "Reference"
24944
+ "Operations"
23478
24945
  ],
23479
24946
  "security": [
23480
24947
  {
23481
- "sessionCookie": []
24948
+ "sessionCookie": [
24949
+ "config_assets:read"
24950
+ ]
23482
24951
  },
23483
24952
  {
23484
- "sessionToken": []
24953
+ "sessionToken": [
24954
+ "config_assets:read"
24955
+ ]
23485
24956
  },
23486
24957
  {
23487
- "accessToken": []
24958
+ "accessToken": [
24959
+ "config_assets:read"
24960
+ ]
24961
+ }
24962
+ ],
24963
+ "parameters": [
24964
+ {
24965
+ "name": "for",
24966
+ "in": "query",
24967
+ "required": false,
24968
+ "schema": {
24969
+ "default": "workflow",
24970
+ "type": "string",
24971
+ "enum": [
24972
+ "workflow"
24973
+ ]
24974
+ }
24975
+ },
24976
+ {
24977
+ "name": "cursor",
24978
+ "in": "query",
24979
+ "required": false,
24980
+ "schema": {
24981
+ "type": "string",
24982
+ "minLength": 1
24983
+ }
24984
+ },
24985
+ {
24986
+ "name": "name",
24987
+ "in": "query",
24988
+ "required": false,
24989
+ "schema": {
24990
+ "type": "string",
24991
+ "minLength": 1
24992
+ }
24993
+ },
24994
+ {
24995
+ "name": "prefix",
24996
+ "in": "query",
24997
+ "required": false,
24998
+ "schema": {
24999
+ "type": "string",
25000
+ "minLength": 1
25001
+ }
23488
25002
  }
23489
25003
  ],
23490
- "parameters": [],
23491
25004
  "responses": {
23492
25005
  "200": {
23493
25006
  "description": "The result",
23494
25007
  "content": {
23495
25008
  "application/json": {
23496
25009
  "schema": {
23497
- "$ref": "#/components/schemas/OpenApiDocument"
25010
+ "type": "object",
25011
+ "properties": {
25012
+ "operations": {
25013
+ "type": "array",
25014
+ "items": {
25015
+ "type": "object",
25016
+ "properties": {
25017
+ "name": {
25018
+ "type": "string"
25019
+ },
25020
+ "effect": {
25021
+ "type": "string",
25022
+ "enum": [
25023
+ "reading",
25024
+ "changing"
25025
+ ]
25026
+ },
25027
+ "title": {
25028
+ "type": "string"
25029
+ },
25030
+ "description": {
25031
+ "type": "string"
25032
+ },
25033
+ "source": {
25034
+ "type": "object",
25035
+ "properties": {
25036
+ "kind": {
25037
+ "type": "string",
25038
+ "enum": [
25039
+ "connection",
25040
+ "data_store",
25041
+ "knowledge_base",
25042
+ "workflow",
25043
+ "other"
25044
+ ]
25045
+ },
25046
+ "title": {
25047
+ "type": "string"
25048
+ },
25049
+ "service": {
25050
+ "type": "string"
25051
+ }
25052
+ },
25053
+ "required": [
25054
+ "kind"
25055
+ ]
25056
+ },
25057
+ "available": {
25058
+ "type": "boolean"
25059
+ },
25060
+ "inputSchema": {
25061
+ "type": "object",
25062
+ "propertyNames": {
25063
+ "type": "string"
25064
+ },
25065
+ "additionalProperties": {}
25066
+ },
25067
+ "outputSchema": {
25068
+ "type": "object",
25069
+ "propertyNames": {
25070
+ "type": "string"
25071
+ },
25072
+ "additionalProperties": {}
25073
+ }
25074
+ },
25075
+ "required": [
25076
+ "name",
25077
+ "effect",
25078
+ "title",
25079
+ "source",
25080
+ "available"
25081
+ ]
25082
+ }
25083
+ },
25084
+ "nextCursor": {
25085
+ "type": "string"
25086
+ },
25087
+ "truncated": {
25088
+ "type": "boolean"
25089
+ }
25090
+ },
25091
+ "required": [
25092
+ "operations",
25093
+ "truncated"
25094
+ ]
23498
25095
  }
23499
25096
  }
25097
+ },
25098
+ "headers": {
25099
+ "Operation-Run-Id": {
25100
+ "$ref": "#/components/headers/OperationRunId"
25101
+ }
23500
25102
  }
23501
25103
  },
23502
25104
  "400": {
@@ -23506,7 +25108,7 @@
23506
25108
  "$ref": "#/components/responses/Unauthenticated"
23507
25109
  },
23508
25110
  "403": {
23509
- "$ref": "#/components/responses/Forbidden"
25111
+ "$ref": "#/components/responses/ForbiddenOrPolicyDeniedOrGuardrailBlocked"
23510
25112
  },
23511
25113
  "422": {
23512
25114
  "$ref": "#/components/responses/ValidationFailed"
@@ -23839,6 +25441,10 @@
23839
25441
  "type": "string",
23840
25442
  "minLength": 1,
23841
25443
  "maxLength": 500
25444
+ },
25445
+ "alwaysAllow": {
25446
+ "type": "boolean",
25447
+ "const": true
23842
25448
  }
23843
25449
  },
23844
25450
  "required": [
@@ -25679,6 +27285,38 @@
25679
27285
  "operationRunId": {
25680
27286
  "type": "string"
25681
27287
  },
27288
+ "startedFrom": {
27289
+ "type": "object",
27290
+ "properties": {
27291
+ "kind": {
27292
+ "type": "string",
27293
+ "const": "app"
27294
+ },
27295
+ "app": {
27296
+ "type": "string"
27297
+ },
27298
+ "appRevisionId": {
27299
+ "type": "string"
27300
+ },
27301
+ "action": {
27302
+ "type": "string"
27303
+ },
27304
+ "workflowRevision": {
27305
+ "type": "string",
27306
+ "enum": [
27307
+ "draft",
27308
+ "published"
27309
+ ]
27310
+ }
27311
+ },
27312
+ "required": [
27313
+ "kind",
27314
+ "app",
27315
+ "appRevisionId",
27316
+ "action",
27317
+ "workflowRevision"
27318
+ ]
27319
+ },
25682
27320
  "parentRunId": {
25683
27321
  "type": "string"
25684
27322
  },
@@ -26064,6 +27702,38 @@
26064
27702
  "operationRunId": {
26065
27703
  "type": "string"
26066
27704
  },
27705
+ "startedFrom": {
27706
+ "type": "object",
27707
+ "properties": {
27708
+ "kind": {
27709
+ "type": "string",
27710
+ "const": "app"
27711
+ },
27712
+ "app": {
27713
+ "type": "string"
27714
+ },
27715
+ "appRevisionId": {
27716
+ "type": "string"
27717
+ },
27718
+ "action": {
27719
+ "type": "string"
27720
+ },
27721
+ "workflowRevision": {
27722
+ "type": "string",
27723
+ "enum": [
27724
+ "draft",
27725
+ "published"
27726
+ ]
27727
+ }
27728
+ },
27729
+ "required": [
27730
+ "kind",
27731
+ "app",
27732
+ "appRevisionId",
27733
+ "action",
27734
+ "workflowRevision"
27735
+ ]
27736
+ },
26067
27737
  "parentRunId": {
26068
27738
  "type": "string"
26069
27739
  },
@@ -27122,6 +28792,9 @@
27122
28792
  "definitionRevisionId": {
27123
28793
  "type": "string"
27124
28794
  },
28795
+ "workspaceId": {
28796
+ "type": "string"
28797
+ },
27125
28798
  "runnable": {
27126
28799
  "type": "boolean"
27127
28800
  },
@@ -27156,6 +28829,12 @@
27156
28829
  },
27157
28830
  "additionalProperties": {}
27158
28831
  },
28832
+ "triggers": {
28833
+ "type": "array",
28834
+ "items": {
28835
+ "type": "string"
28836
+ }
28837
+ },
27159
28838
  "runsAs": {
27160
28839
  "type": "string"
27161
28840
  },
@@ -27679,6 +29358,38 @@
27679
29358
  "operationRunId": {
27680
29359
  "type": "string"
27681
29360
  },
29361
+ "startedFrom": {
29362
+ "type": "object",
29363
+ "properties": {
29364
+ "kind": {
29365
+ "type": "string",
29366
+ "const": "app"
29367
+ },
29368
+ "app": {
29369
+ "type": "string"
29370
+ },
29371
+ "appRevisionId": {
29372
+ "type": "string"
29373
+ },
29374
+ "action": {
29375
+ "type": "string"
29376
+ },
29377
+ "workflowRevision": {
29378
+ "type": "string",
29379
+ "enum": [
29380
+ "draft",
29381
+ "published"
29382
+ ]
29383
+ }
29384
+ },
29385
+ "required": [
29386
+ "kind",
29387
+ "app",
29388
+ "appRevisionId",
29389
+ "action",
29390
+ "workflowRevision"
29391
+ ]
29392
+ },
27682
29393
  "parentRunId": {
27683
29394
  "type": "string"
27684
29395
  },
@@ -28092,6 +29803,38 @@
28092
29803
  "operationRunId": {
28093
29804
  "type": "string"
28094
29805
  },
29806
+ "startedFrom": {
29807
+ "type": "object",
29808
+ "properties": {
29809
+ "kind": {
29810
+ "type": "string",
29811
+ "const": "app"
29812
+ },
29813
+ "app": {
29814
+ "type": "string"
29815
+ },
29816
+ "appRevisionId": {
29817
+ "type": "string"
29818
+ },
29819
+ "action": {
29820
+ "type": "string"
29821
+ },
29822
+ "workflowRevision": {
29823
+ "type": "string",
29824
+ "enum": [
29825
+ "draft",
29826
+ "published"
29827
+ ]
29828
+ }
29829
+ },
29830
+ "required": [
29831
+ "kind",
29832
+ "app",
29833
+ "appRevisionId",
29834
+ "action",
29835
+ "workflowRevision"
29836
+ ]
29837
+ },
28095
29838
  "parentRunId": {
28096
29839
  "type": "string"
28097
29840
  },
@@ -28528,6 +30271,38 @@
28528
30271
  "operationRunId": {
28529
30272
  "type": "string"
28530
30273
  },
30274
+ "startedFrom": {
30275
+ "type": "object",
30276
+ "properties": {
30277
+ "kind": {
30278
+ "type": "string",
30279
+ "const": "app"
30280
+ },
30281
+ "app": {
30282
+ "type": "string"
30283
+ },
30284
+ "appRevisionId": {
30285
+ "type": "string"
30286
+ },
30287
+ "action": {
30288
+ "type": "string"
30289
+ },
30290
+ "workflowRevision": {
30291
+ "type": "string",
30292
+ "enum": [
30293
+ "draft",
30294
+ "published"
30295
+ ]
30296
+ }
30297
+ },
30298
+ "required": [
30299
+ "kind",
30300
+ "app",
30301
+ "appRevisionId",
30302
+ "action",
30303
+ "workflowRevision"
30304
+ ]
30305
+ },
28531
30306
  "parentRunId": {
28532
30307
  "type": "string"
28533
30308
  },
@@ -31229,7 +33004,7 @@
31229
33004
  }
31230
33005
  },
31231
33006
  "ForbiddenOrPolicyDeniedOrGuardrailBlocked": {
31232
- "description": "`FORBIDDEN`: The caller lacks the scope or the right this operation requires. `POLICY_DENIED`: The instance's policy does not allow this operation from here. `details.operation` names it. `details.reason` is `approval_unavailable` where the policy asks for another person's approval and the call cannot wait for one; `details.guardrailId` then names the guardrail that asked for it, where one did. It is `workflow_deleted` where a step of a run of a published Workflow needs the confirmation its publish gave, and the Workflow was deleted since. It is `approval_stale` where a call that waited can no longer be approved because what it is about changed or a newer call replaced it. It is `confirmation_required` where a subagent made a call that needs a person's confirmation or approval: a subagent never waits for one, and the agent that started it makes the call instead. `GUARDRAIL_BLOCKED`: A guardrail refused the call. `details.guardrailId` names it.",
33007
+ "description": "`FORBIDDEN`: The caller lacks the scope or the right this operation requires. `POLICY_DENIED`: The instance's policy does not allow this operation from here. `details.operation` names it. `details.reason` is `approval_unavailable` where the policy asks for another person's approval and the call cannot wait for one; `details.guardrailId` then names the guardrail that asked for it, where one did. It is `workflow_deleted` where a step of a run of a published Workflow needs the confirmation its publish gave, and the Workflow was deleted since. It is `approval_stale` where a call that waited can no longer be approved because what it is about changed or a newer call replaced it. It is `confirmation_required` where a subagent made a call that needs a person's confirmation or approval: a subagent never waits for one, and the agent that started it makes the call instead. `GUARDRAIL_BLOCKED`: A guardrail refused the call. `details.guardrailId` names it. `details.reason` is `check_unavailable` where a check could not answer, by an error or a timeout; `details.guardrailId` then names the event that was checked.",
31233
33008
  "content": {
31234
33009
  "application/json": {
31235
33010
  "schema": {
@@ -31249,7 +33024,7 @@
31249
33024
  }
31250
33025
  },
31251
33026
  "ForbiddenOrPolicyDeniedOrGuardrailBlockedOrDeclined": {
31252
- "description": "`FORBIDDEN`: The caller lacks the scope or the right this operation requires. `POLICY_DENIED`: The instance's policy does not allow this operation from here. `details.operation` names it. `details.reason` is `approval_unavailable` where the policy asks for another person's approval and the call cannot wait for one; `details.guardrailId` then names the guardrail that asked for it, where one did. It is `workflow_deleted` where a step of a run of a published Workflow needs the confirmation its publish gave, and the Workflow was deleted since. It is `approval_stale` where a call that waited can no longer be approved because what it is about changed or a newer call replaced it. It is `confirmation_required` where a subagent made a call that needs a person's confirmation or approval: a subagent never waits for one, and the agent that started it makes the call instead. `GUARDRAIL_BLOCKED`: A guardrail refused the call. `details.guardrailId` names it. `DECLINED`: The person asked to approve the call declined it. `details.by` names them, `details.comment` holds their reason where they gave one.",
33027
+ "description": "`FORBIDDEN`: The caller lacks the scope or the right this operation requires. `POLICY_DENIED`: The instance's policy does not allow this operation from here. `details.operation` names it. `details.reason` is `approval_unavailable` where the policy asks for another person's approval and the call cannot wait for one; `details.guardrailId` then names the guardrail that asked for it, where one did. It is `workflow_deleted` where a step of a run of a published Workflow needs the confirmation its publish gave, and the Workflow was deleted since. It is `approval_stale` where a call that waited can no longer be approved because what it is about changed or a newer call replaced it. It is `confirmation_required` where a subagent made a call that needs a person's confirmation or approval: a subagent never waits for one, and the agent that started it makes the call instead. `GUARDRAIL_BLOCKED`: A guardrail refused the call. `details.guardrailId` names it. `details.reason` is `check_unavailable` where a check could not answer, by an error or a timeout; `details.guardrailId` then names the event that was checked. `DECLINED`: The person asked to approve the call declined it. `details.by` names them, `details.comment` holds their reason where they gave one.",
31253
33028
  "content": {
31254
33029
  "application/json": {
31255
33030
  "schema": {
@@ -32012,6 +33787,58 @@
32012
33787
  "type": "string",
32013
33788
  "const": "subject_conversation_shared"
32014
33789
  },
33790
+ "connect": {
33791
+ "type": "object",
33792
+ "properties": {
33793
+ "connection": {
33794
+ "type": "object",
33795
+ "properties": {
33796
+ "name": {
33797
+ "type": "string"
33798
+ },
33799
+ "title": {
33800
+ "type": "string"
33801
+ },
33802
+ "service": {
33803
+ "type": "string"
33804
+ },
33805
+ "catalogue": {
33806
+ "type": "object",
33807
+ "properties": {
33808
+ "entry": {
33809
+ "type": "string"
33810
+ },
33811
+ "part": {
33812
+ "type": "string"
33813
+ }
33814
+ },
33815
+ "required": [
33816
+ "entry",
33817
+ "part"
33818
+ ]
33819
+ }
33820
+ },
33821
+ "required": [
33822
+ "name",
33823
+ "title"
33824
+ ]
33825
+ },
33826
+ "state": {
33827
+ "type": "string",
33828
+ "enum": [
33829
+ "not_connected",
33830
+ "needs_reconnect"
33831
+ ]
33832
+ },
33833
+ "agentName": {
33834
+ "type": "string"
33835
+ }
33836
+ },
33837
+ "required": [
33838
+ "connection",
33839
+ "state"
33840
+ ]
33841
+ },
32015
33842
  "decision": {
32016
33843
  "type": "object",
32017
33844
  "properties": {
@@ -32029,6 +33856,10 @@
32029
33856
  },
32030
33857
  "inputPreview": {},
32031
33858
  "simulation": {},
33859
+ "alwaysAllow": {
33860
+ "type": "boolean",
33861
+ "const": true
33862
+ },
32032
33863
  "expiresAt": {
32033
33864
  "$ref": "#/components/schemas/Timestamp"
32034
33865
  }
@@ -32183,6 +34014,58 @@
32183
34014
  "type": "string",
32184
34015
  "const": "subject_conversation_shared"
32185
34016
  },
34017
+ "connect": {
34018
+ "type": "object",
34019
+ "properties": {
34020
+ "connection": {
34021
+ "type": "object",
34022
+ "properties": {
34023
+ "name": {
34024
+ "type": "string"
34025
+ },
34026
+ "title": {
34027
+ "type": "string"
34028
+ },
34029
+ "service": {
34030
+ "type": "string"
34031
+ },
34032
+ "catalogue": {
34033
+ "type": "object",
34034
+ "properties": {
34035
+ "entry": {
34036
+ "type": "string"
34037
+ },
34038
+ "part": {
34039
+ "type": "string"
34040
+ }
34041
+ },
34042
+ "required": [
34043
+ "entry",
34044
+ "part"
34045
+ ]
34046
+ }
34047
+ },
34048
+ "required": [
34049
+ "name",
34050
+ "title"
34051
+ ]
34052
+ },
34053
+ "state": {
34054
+ "type": "string",
34055
+ "enum": [
34056
+ "not_connected",
34057
+ "needs_reconnect"
34058
+ ]
34059
+ },
34060
+ "agentName": {
34061
+ "type": "string"
34062
+ }
34063
+ },
34064
+ "required": [
34065
+ "connection",
34066
+ "state"
34067
+ ]
34068
+ },
32186
34069
  "decision": {
32187
34070
  "type": "object",
32188
34071
  "properties": {
@@ -32200,6 +34083,10 @@
32200
34083
  },
32201
34084
  "inputPreview": {},
32202
34085
  "simulation": {},
34086
+ "alwaysAllow": {
34087
+ "type": "boolean",
34088
+ "const": true
34089
+ },
32203
34090
  "expiresAt": {
32204
34091
  "$ref": "#/components/schemas/Timestamp"
32205
34092
  }
@@ -32592,6 +34479,10 @@
32592
34479
  },
32593
34480
  "inputPreview": {},
32594
34481
  "simulation": {},
34482
+ "alwaysAllow": {
34483
+ "type": "boolean",
34484
+ "const": true
34485
+ },
32595
34486
  "expiresAt": {
32596
34487
  "$ref": "#/components/schemas/Timestamp"
32597
34488
  }
@@ -32965,6 +34856,13 @@
32965
34856
  "preview"
32966
34857
  ]
32967
34858
  },
34859
+ "AgentUse": {
34860
+ "type": "string",
34861
+ "enum": [
34862
+ "everyone",
34863
+ "granted"
34864
+ ]
34865
+ },
32968
34866
  "AllowDraftHostRequest": {
32969
34867
  "type": "object",
32970
34868
  "properties": {
@@ -33759,6 +35657,166 @@
33759
35657
  "mode"
33760
35658
  ]
33761
35659
  },
35660
+ "AppPublishRefusal": {
35661
+ "type": "object",
35662
+ "properties": {
35663
+ "reason": {
35664
+ "type": "string"
35665
+ },
35666
+ "message": {
35667
+ "type": "string"
35668
+ },
35669
+ "right": {
35670
+ "type": "string"
35671
+ }
35672
+ },
35673
+ "required": [
35674
+ "reason",
35675
+ "message"
35676
+ ]
35677
+ },
35678
+ "AppPublishReview": {
35679
+ "type": "object",
35680
+ "properties": {
35681
+ "app": {
35682
+ "type": "object",
35683
+ "properties": {
35684
+ "name": {
35685
+ "type": "string"
35686
+ },
35687
+ "title": {
35688
+ "type": "string"
35689
+ },
35690
+ "draftRevision": {
35691
+ "type": "integer",
35692
+ "exclusiveMinimum": 0,
35693
+ "maximum": 9007199254740991
35694
+ },
35695
+ "publishedRevision": {
35696
+ "type": "integer",
35697
+ "exclusiveMinimum": 0,
35698
+ "maximum": 9007199254740991
35699
+ },
35700
+ "pending": {
35701
+ "type": "boolean"
35702
+ },
35703
+ "narrative": {
35704
+ "$ref": "#/components/schemas/PublishNarrative"
35705
+ },
35706
+ "lastChangedBy": {
35707
+ "type": "string"
35708
+ },
35709
+ "refusals": {
35710
+ "type": "array",
35711
+ "items": {
35712
+ "$ref": "#/components/schemas/AppPublishRefusal"
35713
+ }
35714
+ }
35715
+ },
35716
+ "required": [
35717
+ "name",
35718
+ "title",
35719
+ "draftRevision",
35720
+ "pending",
35721
+ "refusals"
35722
+ ]
35723
+ },
35724
+ "workflows": {
35725
+ "type": "array",
35726
+ "items": {
35727
+ "type": "object",
35728
+ "properties": {
35729
+ "name": {
35730
+ "type": "string"
35731
+ },
35732
+ "title": {
35733
+ "type": "string"
35734
+ },
35735
+ "draftRevision": {
35736
+ "type": "integer",
35737
+ "exclusiveMinimum": 0,
35738
+ "maximum": 9007199254740991
35739
+ },
35740
+ "publishedRevision": {
35741
+ "type": "integer",
35742
+ "exclusiveMinimum": 0,
35743
+ "maximum": 9007199254740991
35744
+ },
35745
+ "pending": {
35746
+ "type": "boolean"
35747
+ },
35748
+ "narrative": {
35749
+ "$ref": "#/components/schemas/PublishNarrative"
35750
+ },
35751
+ "lastChangedBy": {
35752
+ "type": "string"
35753
+ },
35754
+ "refusals": {
35755
+ "type": "array",
35756
+ "items": {
35757
+ "$ref": "#/components/schemas/AppPublishRefusal"
35758
+ }
35759
+ },
35760
+ "actions": {
35761
+ "type": "array",
35762
+ "items": {
35763
+ "type": "string"
35764
+ }
35765
+ },
35766
+ "lastTestRun": {
35767
+ "type": "object",
35768
+ "properties": {
35769
+ "runId": {
35770
+ "type": "string"
35771
+ },
35772
+ "status": {
35773
+ "type": "string",
35774
+ "enum": [
35775
+ "continued",
35776
+ "queued",
35777
+ "running",
35778
+ "waiting",
35779
+ "done",
35780
+ "failed",
35781
+ "cancelled",
35782
+ "limit_reached"
35783
+ ]
35784
+ },
35785
+ "at": {
35786
+ "type": "string"
35787
+ }
35788
+ },
35789
+ "required": [
35790
+ "runId",
35791
+ "status",
35792
+ "at"
35793
+ ]
35794
+ }
35795
+ },
35796
+ "required": [
35797
+ "name",
35798
+ "title",
35799
+ "draftRevision",
35800
+ "pending",
35801
+ "refusals",
35802
+ "actions"
35803
+ ]
35804
+ }
35805
+ },
35806
+ "publishesTogether": {
35807
+ "type": "boolean"
35808
+ },
35809
+ "ready": {
35810
+ "type": "boolean"
35811
+ }
35812
+ },
35813
+ "required": [
35814
+ "app",
35815
+ "workflows",
35816
+ "publishesTogether",
35817
+ "ready"
35818
+ ]
35819
+ },
33762
35820
  "AppSessionContext": {
33763
35821
  "type": "object",
33764
35822
  "properties": {
@@ -33924,6 +35982,96 @@
33924
35982
  "saved"
33925
35983
  ]
33926
35984
  },
35985
+ "AppTryActionRequestInput": {
35986
+ "type": "object",
35987
+ "properties": {
35988
+ "input": {
35989
+ "default": {},
35990
+ "type": "object",
35991
+ "propertyNames": {
35992
+ "type": "string"
35993
+ },
35994
+ "additionalProperties": {}
35995
+ }
35996
+ },
35997
+ "additionalProperties": false
35998
+ },
35999
+ "AppTryActionResult": {
36000
+ "type": "object",
36001
+ "properties": {
36002
+ "operationRunId": {
36003
+ "type": "string"
36004
+ },
36005
+ "status": {
36006
+ "type": "string",
36007
+ "enum": [
36008
+ "done",
36009
+ "pending_approval",
36010
+ "dry_run"
36011
+ ]
36012
+ },
36013
+ "target": {
36014
+ "$ref": "#/components/schemas/OperationTarget"
36015
+ },
36016
+ "result": {},
36017
+ "message": {
36018
+ "type": "string"
36019
+ },
36020
+ "workflowRun": {
36021
+ "type": "object",
36022
+ "properties": {
36023
+ "runId": {
36024
+ "type": "string"
36025
+ },
36026
+ "workflow": {
36027
+ "type": "string"
36028
+ },
36029
+ "status": {
36030
+ "type": "string",
36031
+ "enum": [
36032
+ "continued",
36033
+ "queued",
36034
+ "running",
36035
+ "waiting",
36036
+ "done",
36037
+ "failed",
36038
+ "cancelled",
36039
+ "limit_reached"
36040
+ ]
36041
+ },
36042
+ "revision": {
36043
+ "type": "object",
36044
+ "properties": {
36045
+ "kind": {
36046
+ "type": "string",
36047
+ "enum": [
36048
+ "draft",
36049
+ "published"
36050
+ ]
36051
+ },
36052
+ "number": {
36053
+ "type": "integer",
36054
+ "exclusiveMinimum": 0,
36055
+ "maximum": 9007199254740991
36056
+ }
36057
+ },
36058
+ "required": [
36059
+ "kind"
36060
+ ]
36061
+ }
36062
+ },
36063
+ "required": [
36064
+ "runId",
36065
+ "workflow",
36066
+ "status",
36067
+ "revision"
36068
+ ]
36069
+ }
36070
+ },
36071
+ "required": [
36072
+ "status"
36073
+ ]
36074
+ },
33927
36075
  "AppWorkflowActionUnavailable": {
33928
36076
  "type": "string",
33929
36077
  "enum": [
@@ -34577,6 +36725,28 @@
34577
36725
  "$ref": "#/components/schemas/WorkflowStepFact"
34578
36726
  }
34579
36727
  },
36728
+ "workflowCallers": {
36729
+ "type": "array",
36730
+ "items": {
36731
+ "type": "object",
36732
+ "properties": {
36733
+ "name": {
36734
+ "type": "string"
36735
+ },
36736
+ "title": {
36737
+ "type": "string"
36738
+ },
36739
+ "scope": {
36740
+ "$ref": "#/components/schemas/AssetScope"
36741
+ }
36742
+ },
36743
+ "required": [
36744
+ "name",
36745
+ "title",
36746
+ "scope"
36747
+ ]
36748
+ }
36749
+ },
34580
36750
  "publishQuestion": {
34581
36751
  "type": "array",
34582
36752
  "items": {
@@ -34650,6 +36820,9 @@
34650
36820
  "canSetAvailability": {
34651
36821
  "type": "boolean"
34652
36822
  },
36823
+ "agentUse": {
36824
+ "$ref": "#/components/schemas/AgentUse"
36825
+ },
34653
36826
  "unavailableTools": {
34654
36827
  "type": "array",
34655
36828
  "items": {
@@ -34804,6 +36977,36 @@
34804
36977
  "type": "integer",
34805
36978
  "exclusiveMinimum": 0,
34806
36979
  "maximum": 9007199254740991
36980
+ },
36981
+ "publishedWith": {
36982
+ "type": "array",
36983
+ "items": {
36984
+ "type": "object",
36985
+ "properties": {
36986
+ "kind": {
36987
+ "type": "string",
36988
+ "const": "workflow"
36989
+ },
36990
+ "name": {
36991
+ "type": "string"
36992
+ },
36993
+ "publishedRevision": {
36994
+ "type": "integer",
36995
+ "exclusiveMinimum": 0,
36996
+ "maximum": 9007199254740991
36997
+ },
36998
+ "replacedRevision": {
36999
+ "type": "integer",
37000
+ "exclusiveMinimum": 0,
37001
+ "maximum": 9007199254740991
37002
+ }
37003
+ },
37004
+ "required": [
37005
+ "kind",
37006
+ "name",
37007
+ "publishedRevision"
37008
+ ]
37009
+ }
34807
37010
  }
34808
37011
  },
34809
37012
  "required": [
@@ -35408,7 +37611,10 @@
35408
37611
  "at": {
35409
37612
  "$ref": "#/components/schemas/Timestamp"
35410
37613
  },
35411
- "label": {
37614
+ "type": {
37615
+ "type": "string"
37616
+ },
37617
+ "action": {
35412
37618
  "type": "string"
35413
37619
  },
35414
37620
  "tier": {
@@ -35458,7 +37664,7 @@
35458
37664
  "required": [
35459
37665
  "correlationId",
35460
37666
  "at",
35461
- "label",
37667
+ "type",
35462
37668
  "tier",
35463
37669
  "outcome",
35464
37670
  "actor",
@@ -35597,6 +37803,9 @@
35597
37803
  "type": "string"
35598
37804
  },
35599
37805
  "additionalProperties": {}
37806
+ },
37807
+ "about": {
37808
+ "$ref": "#/components/schemas/AuditSubject"
35600
37809
  }
35601
37810
  },
35602
37811
  "required": [
@@ -35608,6 +37817,23 @@
35608
37817
  "createdAt"
35609
37818
  ]
35610
37819
  },
37820
+ "AuditSubject": {
37821
+ "type": "object",
37822
+ "properties": {
37823
+ "kind": {
37824
+ "type": "string"
37825
+ },
37826
+ "title": {
37827
+ "type": "string"
37828
+ },
37829
+ "builtInRole": {
37830
+ "type": "string"
37831
+ }
37832
+ },
37833
+ "required": [
37834
+ "kind"
37835
+ ]
37836
+ },
35611
37837
  "AuthPrincipal": {
35612
37838
  "type": "object",
35613
37839
  "properties": {
@@ -36760,6 +38986,9 @@
36760
38986
  },
36761
38987
  "subject": {
36762
38988
  "$ref": "#/components/schemas/ConversationSubject"
38989
+ },
38990
+ "creationTarget": {
38991
+ "$ref": "#/components/schemas/ConversationCreationTarget"
36763
38992
  }
36764
38993
  },
36765
38994
  "required": [
@@ -36776,6 +39005,10 @@
36776
39005
  "retainedUntil"
36777
39006
  ]
36778
39007
  },
39008
+ "ConversationCreationTarget": {
39009
+ "type": "string",
39010
+ "const": "instance"
39011
+ },
36779
39012
  "ConversationFollowUp": {
36780
39013
  "type": "object",
36781
39014
  "properties": {
@@ -36896,6 +39129,9 @@
36896
39129
  "subject": {
36897
39130
  "$ref": "#/components/schemas/ConversationSubject"
36898
39131
  },
39132
+ "creationTarget": {
39133
+ "$ref": "#/components/schemas/ConversationCreationTarget"
39134
+ },
36899
39135
  "latestMessageAt": {
36900
39136
  "$ref": "#/components/schemas/Timestamp"
36901
39137
  },
@@ -37289,6 +39525,9 @@
37289
39525
  "ConversationThreadSnapshot": {
37290
39526
  "type": "object",
37291
39527
  "properties": {
39528
+ "personalData": {
39529
+ "type": "boolean"
39530
+ },
37292
39531
  "followUps": {
37293
39532
  "type": "array",
37294
39533
  "items": {
@@ -37613,6 +39852,9 @@
37613
39852
  },
37614
39853
  "subject": {
37615
39854
  "$ref": "#/components/schemas/ConversationSubject"
39855
+ },
39856
+ "creationTarget": {
39857
+ "$ref": "#/components/schemas/ConversationCreationTarget"
37616
39858
  }
37617
39859
  }
37618
39860
  },
@@ -37779,6 +40021,10 @@
37779
40021
  },
37780
40022
  "comment": {
37781
40023
  "type": "string"
40024
+ },
40025
+ "alwaysAllow": {
40026
+ "type": "boolean",
40027
+ "const": true
37782
40028
  }
37783
40029
  },
37784
40030
  "required": [
@@ -38676,11 +40922,7 @@
38676
40922
  "type": "boolean"
38677
40923
  },
38678
40924
  "region": {
38679
- "type": "string",
38680
- "enum": [
38681
- "eu",
38682
- "global"
38683
- ]
40925
+ "$ref": "#/components/schemas/ModelRegion"
38684
40926
  },
38685
40927
  "endpointHost": {
38686
40928
  "type": "string"
@@ -39198,10 +41440,8 @@
39198
41440
  },
39199
41441
  "ModelRegion": {
39200
41442
  "type": "string",
39201
- "enum": [
39202
- "eu",
39203
- "global"
39204
- ]
41443
+ "minLength": 1,
41444
+ "maxLength": 32
39205
41445
  },
39206
41446
  "ModelUsageAttributionGroup": {
39207
41447
  "type": "object",
@@ -40593,6 +42833,64 @@
40593
42833
  "expired"
40594
42834
  ]
40595
42835
  },
42836
+ "OperationSetting": {
42837
+ "type": "object",
42838
+ "properties": {
42839
+ "operation": {
42840
+ "type": "string"
42841
+ },
42842
+ "title": {
42843
+ "type": "string"
42844
+ },
42845
+ "effect": {
42846
+ "type": "string",
42847
+ "enum": [
42848
+ "reading",
42849
+ "changing"
42850
+ ]
42851
+ },
42852
+ "changeClass": {
42853
+ "type": "string",
42854
+ "enum": [
42855
+ "reversible",
42856
+ "irreversible",
42857
+ "outward"
42858
+ ]
42859
+ },
42860
+ "value": {
42861
+ "$ref": "#/components/schemas/PersonPolicySetting"
42862
+ },
42863
+ "mayAlwaysAllow": {
42864
+ "type": "boolean"
42865
+ },
42866
+ "alwaysAllowLocked": {
42867
+ "type": "boolean",
42868
+ "const": true
42869
+ },
42870
+ "updatedAt": {
42871
+ "$ref": "#/components/schemas/Timestamp"
42872
+ }
42873
+ },
42874
+ "required": [
42875
+ "operation",
42876
+ "effect",
42877
+ "mayAlwaysAllow"
42878
+ ]
42879
+ },
42880
+ "OperationSettings": {
42881
+ "type": "object",
42882
+ "properties": {
42883
+ "items": {
42884
+ "type": "array",
42885
+ "items": {
42886
+ "$ref": "#/components/schemas/OperationSetting"
42887
+ }
42888
+ }
42889
+ },
42890
+ "required": [
42891
+ "items"
42892
+ ]
42893
+ },
40596
42894
  "OperationTarget": {
40597
42895
  "type": "string",
40598
42896
  "enum": [
@@ -40956,6 +43254,14 @@
40956
43254
  "createdAt"
40957
43255
  ]
40958
43256
  },
43257
+ "PersonPolicySetting": {
43258
+ "type": "string",
43259
+ "enum": [
43260
+ "always_allow",
43261
+ "ask",
43262
+ "never"
43263
+ ]
43264
+ },
40959
43265
  "PersonalApiKey": {
40960
43266
  "type": "object",
40961
43267
  "properties": {
@@ -41370,6 +43676,28 @@
41370
43676
  "workspaceId": {
41371
43677
  "type": "string",
41372
43678
  "minLength": 1
43679
+ },
43680
+ "workflows": {
43681
+ "maxItems": 20,
43682
+ "type": "array",
43683
+ "items": {
43684
+ "type": "object",
43685
+ "properties": {
43686
+ "name": {
43687
+ "type": "string",
43688
+ "minLength": 1
43689
+ },
43690
+ "revision": {
43691
+ "type": "integer",
43692
+ "exclusiveMinimum": 0,
43693
+ "maximum": 9007199254740991
43694
+ }
43695
+ },
43696
+ "required": [
43697
+ "name",
43698
+ "revision"
43699
+ ]
43700
+ }
41373
43701
  }
41374
43702
  },
41375
43703
  "required": [
@@ -42464,6 +44792,143 @@
42464
44792
  "approverNames"
42465
44793
  ]
42466
44794
  },
44795
+ "ScopeAssignmentsOverview": {
44796
+ "type": "object",
44797
+ "properties": {
44798
+ "dimensions": {
44799
+ "type": "object",
44800
+ "propertyNames": {
44801
+ "type": "string",
44802
+ "pattern": "^[a-z][a-z0-9_]{0,62}$"
44803
+ },
44804
+ "additionalProperties": {
44805
+ "type": "object",
44806
+ "properties": {
44807
+ "label": {
44808
+ "type": "string",
44809
+ "minLength": 1,
44810
+ "maxLength": 120
44811
+ },
44812
+ "valueType": {
44813
+ "type": "string",
44814
+ "const": "text"
44815
+ }
44816
+ },
44817
+ "required": [
44818
+ "label",
44819
+ "valueType"
44820
+ ]
44821
+ }
44822
+ },
44823
+ "assignments": {
44824
+ "type": "array",
44825
+ "items": {
44826
+ "type": "object",
44827
+ "properties": {
44828
+ "dimension": {
44829
+ "type": "string",
44830
+ "pattern": "^[a-z][a-z0-9_]{0,62}$"
44831
+ },
44832
+ "holderKind": {
44833
+ "type": "string",
44834
+ "enum": [
44835
+ "user",
44836
+ "group",
44837
+ "service_principal"
44838
+ ]
44839
+ },
44840
+ "holderId": {
44841
+ "type": "string",
44842
+ "minLength": 1,
44843
+ "maxLength": 200
44844
+ },
44845
+ "effect": {
44846
+ "type": "string",
44847
+ "enum": [
44848
+ "allow",
44849
+ "deny"
44850
+ ]
44851
+ },
44852
+ "values": {
44853
+ "anyOf": [
44854
+ {
44855
+ "type": "string",
44856
+ "const": "all"
44857
+ },
44858
+ {
44859
+ "maxItems": 10000,
44860
+ "type": "array",
44861
+ "items": {
44862
+ "type": "string",
44863
+ "minLength": 1,
44864
+ "maxLength": 200
44865
+ }
44866
+ }
44867
+ ]
44868
+ }
44869
+ },
44870
+ "required": [
44871
+ "dimension",
44872
+ "holderKind",
44873
+ "holderId",
44874
+ "effect",
44875
+ "values"
44876
+ ]
44877
+ }
44878
+ },
44879
+ "people": {
44880
+ "type": "array",
44881
+ "items": {
44882
+ "type": "object",
44883
+ "properties": {
44884
+ "id": {
44885
+ "type": "string"
44886
+ },
44887
+ "displayLabel": {
44888
+ "type": "string"
44889
+ },
44890
+ "groups": {
44891
+ "type": "array",
44892
+ "items": {
44893
+ "type": "string"
44894
+ }
44895
+ },
44896
+ "effective": {
44897
+ "type": "object",
44898
+ "propertyNames": {
44899
+ "type": "string"
44900
+ },
44901
+ "additionalProperties": {
44902
+ "anyOf": [
44903
+ {
44904
+ "type": "string",
44905
+ "const": "all"
44906
+ },
44907
+ {
44908
+ "type": "array",
44909
+ "items": {
44910
+ "type": "string"
44911
+ }
44912
+ }
44913
+ ]
44914
+ }
44915
+ }
44916
+ },
44917
+ "required": [
44918
+ "id",
44919
+ "displayLabel",
44920
+ "groups",
44921
+ "effective"
44922
+ ]
44923
+ }
44924
+ }
44925
+ },
44926
+ "required": [
44927
+ "dimensions",
44928
+ "assignments",
44929
+ "people"
44930
+ ]
44931
+ },
42467
44932
  "SendAdministeredUserInvitationResponse": {
42468
44933
  "type": "object",
42469
44934
  "properties": {
@@ -42635,6 +45100,32 @@
42635
45100
  "authSource"
42636
45101
  ]
42637
45102
  },
45103
+ "SetAgentUseRequest": {
45104
+ "type": "object",
45105
+ "properties": {
45106
+ "use": {
45107
+ "$ref": "#/components/schemas/AgentUse"
45108
+ },
45109
+ "expectedAssetId": {
45110
+ "type": "string",
45111
+ "minLength": 1
45112
+ }
45113
+ },
45114
+ "required": [
45115
+ "use"
45116
+ ]
45117
+ },
45118
+ "SetAgentUseResponse": {
45119
+ "type": "object",
45120
+ "properties": {
45121
+ "use": {
45122
+ "$ref": "#/components/schemas/AgentUse"
45123
+ }
45124
+ },
45125
+ "required": [
45126
+ "use"
45127
+ ]
45128
+ },
42638
45129
  "SetAssetAvailabilityRequest": {
42639
45130
  "type": "object",
42640
45131
  "properties": {
@@ -42718,6 +45209,30 @@
42718
45209
  "version"
42719
45210
  ]
42720
45211
  },
45212
+ "SetOperationSettingRequest": {
45213
+ "type": "object",
45214
+ "properties": {
45215
+ "operation": {
45216
+ "type": "string",
45217
+ "minLength": 1,
45218
+ "maxLength": 300
45219
+ },
45220
+ "value": {
45221
+ "anyOf": [
45222
+ {
45223
+ "$ref": "#/components/schemas/PersonPolicySetting"
45224
+ },
45225
+ {
45226
+ "type": "null"
45227
+ }
45228
+ ]
45229
+ }
45230
+ },
45231
+ "required": [
45232
+ "operation",
45233
+ "value"
45234
+ ]
45235
+ },
42721
45236
  "StartConnectCodeRequest": {
42722
45237
  "type": "object",
42723
45238
  "properties": {
@@ -43802,6 +46317,14 @@
43802
46317
  "ValidateAssetRequest": {
43803
46318
  "type": "object",
43804
46319
  "properties": {
46320
+ "files": {
46321
+ "minItems": 1,
46322
+ "maxItems": 500,
46323
+ "type": "array",
46324
+ "items": {
46325
+ "$ref": "#/components/schemas/AssetFileInput"
46326
+ }
46327
+ },
43805
46328
  "availability": {
43806
46329
  "$ref": "#/components/schemas/AgentAvailability"
43807
46330
  },
@@ -43902,6 +46425,7 @@
43902
46425
  "data_store",
43903
46426
  "knowledge_base",
43904
46427
  "workflow",
46428
+ "mail_sender",
43905
46429
  "other"
43906
46430
  ]
43907
46431
  },
@@ -43916,6 +46440,43 @@
43916
46440
  "kind"
43917
46441
  ]
43918
46442
  },
46443
+ "mailSender": {
46444
+ "type": "object",
46445
+ "properties": {
46446
+ "sender": {
46447
+ "type": "string",
46448
+ "minLength": 1
46449
+ },
46450
+ "title": {
46451
+ "type": "string",
46452
+ "minLength": 1
46453
+ },
46454
+ "icon": {
46455
+ "type": "string",
46456
+ "minLength": 1
46457
+ },
46458
+ "address": {
46459
+ "type": "string",
46460
+ "maxLength": 254,
46461
+ "format": "email",
46462
+ "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
46463
+ },
46464
+ "recipientDomains": {
46465
+ "type": "array",
46466
+ "items": {
46467
+ "type": "string",
46468
+ "maxLength": 254
46469
+ }
46470
+ }
46471
+ },
46472
+ "required": [
46473
+ "sender",
46474
+ "title",
46475
+ "icon",
46476
+ "address",
46477
+ "recipientDomains"
46478
+ ]
46479
+ },
43919
46480
  "title": {
43920
46481
  "type": "string"
43921
46482
  },
@@ -43965,6 +46526,7 @@
43965
46526
  "data_store",
43966
46527
  "knowledge_base",
43967
46528
  "workflow",
46529
+ "mail_sender",
43968
46530
  "other"
43969
46531
  ]
43970
46532
  },
@@ -43979,6 +46541,43 @@
43979
46541
  "kind"
43980
46542
  ]
43981
46543
  },
46544
+ "mailSender": {
46545
+ "type": "object",
46546
+ "properties": {
46547
+ "sender": {
46548
+ "type": "string",
46549
+ "minLength": 1
46550
+ },
46551
+ "title": {
46552
+ "type": "string",
46553
+ "minLength": 1
46554
+ },
46555
+ "icon": {
46556
+ "type": "string",
46557
+ "minLength": 1
46558
+ },
46559
+ "address": {
46560
+ "type": "string",
46561
+ "maxLength": 254,
46562
+ "format": "email",
46563
+ "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
46564
+ },
46565
+ "recipientDomains": {
46566
+ "type": "array",
46567
+ "items": {
46568
+ "type": "string",
46569
+ "maxLength": 254
46570
+ }
46571
+ }
46572
+ },
46573
+ "required": [
46574
+ "sender",
46575
+ "title",
46576
+ "icon",
46577
+ "address",
46578
+ "recipientDomains"
46579
+ ]
46580
+ },
43982
46581
  "title": {
43983
46582
  "type": "string"
43984
46583
  },