@breign/client 1.0.157 → 1.0.159

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 (74) hide show
  1. package/dist/apis/ConversationsApi.d.ts +28 -1
  2. package/dist/apis/ConversationsApi.js +63 -0
  3. package/dist/apis/McpApi.d.ts +58 -0
  4. package/dist/apis/McpApi.js +154 -0
  5. package/dist/apis/ToolsApi.d.ts +46 -1
  6. package/dist/apis/ToolsApi.js +107 -0
  7. package/dist/apis/index.d.ts +1 -0
  8. package/dist/apis/index.js +1 -0
  9. package/dist/models/AgentChatOverviewEntryUio.d.ts +6 -0
  10. package/dist/models/AgentChatOverviewEntryUio.js +2 -0
  11. package/dist/models/AgentHumanEscalationConfigurationUio.d.ts +44 -0
  12. package/dist/models/AgentHumanEscalationConfigurationUio.js +52 -0
  13. package/dist/models/AgentMcpExposureConfigurationUio.d.ts +32 -0
  14. package/dist/models/AgentMcpExposureConfigurationUio.js +48 -0
  15. package/dist/models/AgentPatchUio.d.ts +17 -3
  16. package/dist/models/AgentPatchUio.js +9 -3
  17. package/dist/models/AgentUio.d.ts +14 -0
  18. package/dist/models/AgentUio.js +6 -0
  19. package/dist/models/ChatMessageUio.d.ts +7 -0
  20. package/dist/models/ChatMessageUio.js +3 -0
  21. package/dist/models/ConversationHumanRequestRequestedByUio.d.ts +46 -0
  22. package/dist/models/ConversationHumanRequestRequestedByUio.js +60 -0
  23. package/dist/models/ConversationHumanRequestUio.d.ts +109 -0
  24. package/dist/models/ConversationHumanRequestUio.js +93 -0
  25. package/dist/models/HumanRequestAnswerResultUio.d.ts +40 -0
  26. package/dist/models/HumanRequestAnswerResultUio.js +58 -0
  27. package/dist/models/HumanRequestAnswerUio.d.ts +38 -0
  28. package/dist/models/HumanRequestAnswerUio.js +50 -0
  29. package/dist/models/HumanRequestSummaryRequestedByUio.d.ts +46 -0
  30. package/dist/models/HumanRequestSummaryRequestedByUio.js +58 -0
  31. package/dist/models/HumanRequestSummaryUio.d.ts +93 -0
  32. package/dist/models/HumanRequestSummaryUio.js +81 -0
  33. package/dist/models/McpAgentListAgentsInnerUio.d.ts +50 -0
  34. package/dist/models/McpAgentListAgentsInnerUio.js +58 -0
  35. package/dist/models/McpAgentListUio.d.ts +33 -0
  36. package/dist/models/McpAgentListUio.js +51 -0
  37. package/dist/models/McpCallLogCursorUio.d.ts +38 -0
  38. package/dist/models/McpCallLogCursorUio.js +54 -0
  39. package/dist/models/McpCallLogEventUio.d.ts +27 -0
  40. package/dist/models/McpCallLogEventUio.js +53 -0
  41. package/dist/models/McpCallLogStatusUio.d.ts +25 -0
  42. package/dist/models/McpCallLogStatusUio.js +51 -0
  43. package/dist/models/McpCallLogUio.d.ts +162 -0
  44. package/dist/models/McpCallLogUio.js +114 -0
  45. package/dist/models/McpCallLogsDeletedResponseUio.d.ts +32 -0
  46. package/dist/models/McpCallLogsDeletedResponseUio.js +50 -0
  47. package/dist/models/McpCallLogsResponseUio.d.ts +58 -0
  48. package/dist/models/McpCallLogsResponseUio.js +68 -0
  49. package/dist/models/McpCallToolResultStructuredContentUio.d.ts +23 -0
  50. package/dist/models/McpCallToolResultStructuredContentUio.js +57 -0
  51. package/dist/models/McpCallToolResultUio.d.ts +47 -0
  52. package/dist/models/McpCallToolResultUio.js +56 -0
  53. package/dist/models/McpJsonRpcErrorUio.d.ts +38 -0
  54. package/dist/models/McpJsonRpcErrorUio.js +54 -0
  55. package/dist/models/McpJsonRpcRequestIdUio.d.ts +21 -0
  56. package/dist/models/McpJsonRpcRequestIdUio.js +37 -0
  57. package/dist/models/McpJsonRpcRequestUio.d.ts +60 -0
  58. package/dist/models/McpJsonRpcRequestUio.js +66 -0
  59. package/dist/models/McpJsonRpcResponseIdUio.d.ts +21 -0
  60. package/dist/models/McpJsonRpcResponseIdUio.js +37 -0
  61. package/dist/models/McpJsonRpcResponseUio.d.ts +60 -0
  62. package/dist/models/McpJsonRpcResponseUio.js +66 -0
  63. package/dist/models/McpLogsSettingsRequestUio.d.ts +38 -0
  64. package/dist/models/McpLogsSettingsRequestUio.js +50 -0
  65. package/dist/models/McpLogsSettingsResponseUio.d.ts +38 -0
  66. package/dist/models/McpLogsSettingsResponseUio.js +54 -0
  67. package/dist/models/McpTextContentUio.d.ts +45 -0
  68. package/dist/models/McpTextContentUio.js +61 -0
  69. package/dist/models/McpTicketViewUio.d.ts +114 -0
  70. package/dist/models/McpTicketViewUio.js +90 -0
  71. package/dist/models/index.d.ts +27 -0
  72. package/dist/models/index.js +27 -0
  73. package/dist/openapi.json +1058 -77
  74. package/package.json +1 -1
package/dist/openapi.json CHANGED
@@ -81,6 +81,9 @@
81
81
  }, {
82
82
  "description" : "Super-admin only endpoints",
83
83
  "name" : "admin"
84
+ }, {
85
+ "description" : "MCP server for local agents (Claude Code, Pi, Hermes…)",
86
+ "name" : "mcp"
84
87
  } ],
85
88
  "paths" : {
86
89
  "/health" : {
@@ -5429,6 +5432,209 @@
5429
5432
  "tags" : [ "conversations" ]
5430
5433
  }
5431
5434
  },
5435
+ "/organizations/{organizationId}/chat/human-requests" : {
5436
+ "get" : {
5437
+ "description" : "Questions posées par des agents (outil Human_ask) depuis des conversations de tâche et qui attendent une réponse de l'utilisateur courant. Les questions échues sont expirées au passage et n'apparaissent pas.",
5438
+ "operationId" : "listPendingHumanRequests",
5439
+ "parameters" : [ {
5440
+ "description" : "ID of the organization",
5441
+ "in" : "path",
5442
+ "name" : "organizationId",
5443
+ "required" : true,
5444
+ "schema" : {
5445
+ "type" : "string"
5446
+ }
5447
+ } ],
5448
+ "responses" : {
5449
+ "200" : {
5450
+ "content" : {
5451
+ "application/json" : {
5452
+ "schema" : {
5453
+ "items" : {
5454
+ "$ref" : "#/components/schemas/HumanRequestSummary"
5455
+ },
5456
+ "type" : "array"
5457
+ }
5458
+ }
5459
+ },
5460
+ "description" : "Pending questions"
5461
+ },
5462
+ "401" : {
5463
+ "description" : "Unauthenticated"
5464
+ },
5465
+ "403" : {
5466
+ "description" : "Forbidden — the caller is not part of the organization"
5467
+ }
5468
+ },
5469
+ "summary" : "List the questions waiting for the current user",
5470
+ "tags" : [ "conversations" ]
5471
+ }
5472
+ },
5473
+ "/human-requests/{callId}/answer" : {
5474
+ "post" : {
5475
+ "description" : "Répond (ou décline) une question posée par un agent via Human_ask. Termine l'appel différé et relance le tour de la tâche en arrière-plan. Seul l'humain à qui la question a été adressée peut y répondre.",
5476
+ "operationId" : "answerHumanRequest",
5477
+ "parameters" : [ {
5478
+ "in" : "path",
5479
+ "name" : "callId",
5480
+ "required" : true,
5481
+ "schema" : {
5482
+ "type" : "string"
5483
+ }
5484
+ } ],
5485
+ "requestBody" : {
5486
+ "content" : {
5487
+ "application/json" : {
5488
+ "schema" : {
5489
+ "$ref" : "#/components/schemas/HumanRequestAnswer"
5490
+ }
5491
+ }
5492
+ },
5493
+ "required" : true
5494
+ },
5495
+ "responses" : {
5496
+ "202" : {
5497
+ "content" : {
5498
+ "application/json" : {
5499
+ "schema" : {
5500
+ "$ref" : "#/components/schemas/HumanRequestAnswerResult"
5501
+ }
5502
+ }
5503
+ },
5504
+ "description" : "Answer recorded, the task resumes"
5505
+ },
5506
+ "400" : {
5507
+ "description" : "Neither an answer nor a decline"
5508
+ },
5509
+ "401" : {
5510
+ "description" : "Unauthenticated"
5511
+ },
5512
+ "404" : {
5513
+ "description" : "No such question for this user"
5514
+ },
5515
+ "409" : {
5516
+ "description" : "Already answered"
5517
+ },
5518
+ "410" : {
5519
+ "description" : "Expired"
5520
+ }
5521
+ },
5522
+ "summary" : "Answer a question asked by an agent",
5523
+ "tags" : [ "conversations" ]
5524
+ }
5525
+ },
5526
+ "/organizations/{organizationId}/mcp" : {
5527
+ "delete" : {
5528
+ "description" : "Aucune session à clore : le transport est sans état.",
5529
+ "operationId" : "deleteMcpSession",
5530
+ "parameters" : [ {
5531
+ "description" : "ID of the organization",
5532
+ "in" : "path",
5533
+ "name" : "organizationId",
5534
+ "required" : true,
5535
+ "schema" : {
5536
+ "type" : "string"
5537
+ }
5538
+ } ],
5539
+ "responses" : {
5540
+ "405" : {
5541
+ "content" : {
5542
+ "application/json" : {
5543
+ "schema" : {
5544
+ "$ref" : "#/components/schemas/McpJsonRpcResponse"
5545
+ }
5546
+ }
5547
+ },
5548
+ "description" : "Method not allowed"
5549
+ }
5550
+ },
5551
+ "summary" : "Not supported (stateless MCP server)",
5552
+ "tags" : [ "mcp" ]
5553
+ },
5554
+ "get" : {
5555
+ "description" : "Pas de flux SSE côté serveur : le transport est sans état.",
5556
+ "operationId" : "getMcpStream",
5557
+ "parameters" : [ {
5558
+ "description" : "ID of the organization",
5559
+ "in" : "path",
5560
+ "name" : "organizationId",
5561
+ "required" : true,
5562
+ "schema" : {
5563
+ "type" : "string"
5564
+ }
5565
+ } ],
5566
+ "responses" : {
5567
+ "405" : {
5568
+ "content" : {
5569
+ "application/json" : {
5570
+ "schema" : {
5571
+ "$ref" : "#/components/schemas/McpJsonRpcResponse"
5572
+ }
5573
+ }
5574
+ },
5575
+ "description" : "Method not allowed"
5576
+ }
5577
+ },
5578
+ "summary" : "Not supported (stateless MCP server)",
5579
+ "tags" : [ "mcp" ]
5580
+ },
5581
+ "post" : {
5582
+ "description" : "Serveur MCP (Model Context Protocol, transport Streamable HTTP, sans état) par lequel les agents locaux — Claude Code, Pi, Hermes… — interrogent les agents Breign de l'organisation.\n\nAuthentification par clé API personnelle (`x-api-key` ou `Authorization: Bearer ai-…`) ; les credentials d'app et la clé maître sans `x-user-id` sont refusés. Seuls les agents dont `mcpExposureConfiguration.enabled` est vrai sont joignables.\n\nOutils exposés :\n- `list_agents` — agents joignables, avec leur rôle et leur description.\n- `ask_agent` `{ agentId, message, conversationId?, waitSeconds? }` — pose une question ;\n attend la réponse jusqu'à `waitSeconds` (25 s par défaut, 50 s max), sinon rend un ticket.\n\n- `wait_for_reply` `{ ticket, timeoutSeconds? }` — attend la réponse d'un ticket (45 s par\n défaut, 50 s max).\n\n\nChaque question vit dans une conversation de tâche au nom du propriétaire de la clé. L'agent interrogé peut consulter d'autres agents ou poser une question à un humain (outil Human_ask) : le statut vaut alors `waiting_human`, parfois pendant des heures.\n\nConfiguration d'un client, par exemple Claude Code : `claude mcp add --transport http breign https://<api>/organizations/<organizationId>/mcp --header \"Authorization: Bearer ai-…\"`. Le client doit accepter `application/json` et `text/event-stream` (header `Accept`).",
5583
+ "operationId" : "handleMcpRequest",
5584
+ "parameters" : [ {
5585
+ "description" : "ID of the organization",
5586
+ "in" : "path",
5587
+ "name" : "organizationId",
5588
+ "required" : true,
5589
+ "schema" : {
5590
+ "type" : "string"
5591
+ }
5592
+ } ],
5593
+ "requestBody" : {
5594
+ "content" : {
5595
+ "application/json" : {
5596
+ "schema" : {
5597
+ "$ref" : "#/components/schemas/McpJsonRpcRequest"
5598
+ }
5599
+ }
5600
+ },
5601
+ "required" : true
5602
+ },
5603
+ "responses" : {
5604
+ "200" : {
5605
+ "content" : {
5606
+ "application/json" : {
5607
+ "schema" : {
5608
+ "$ref" : "#/components/schemas/McpJsonRpcResponse"
5609
+ }
5610
+ }
5611
+ },
5612
+ "description" : "Réponse JSON-RPC"
5613
+ },
5614
+ "202" : {
5615
+ "description" : "Notification acceptée, sans corps"
5616
+ },
5617
+ "401" : {
5618
+ "content" : {
5619
+ "application/json" : {
5620
+ "schema" : {
5621
+ "$ref" : "#/components/schemas/McpJsonRpcResponse"
5622
+ }
5623
+ }
5624
+ },
5625
+ "description" : "Clé API personnelle requise"
5626
+ },
5627
+ "403" : {
5628
+ "description" : "Forbidden — the caller is not part of the organization"
5629
+ },
5630
+ "404" : {
5631
+ "description" : "Serveur MCP désactivé sur ce déploiement"
5632
+ }
5633
+ },
5634
+ "summary" : "MCP server for local agents",
5635
+ "tags" : [ "mcp" ]
5636
+ }
5637
+ },
5432
5638
  "/conversations/{conversationId}/read" : {
5433
5639
  "post" : {
5434
5640
  "description" : "Positionne la marque de lecture de l'utilisateur sur la conversation.",
@@ -11545,10 +11751,10 @@
11545
11751
  "tags" : [ "tools" ]
11546
11752
  }
11547
11753
  },
11548
- "/tools/{toolId}/connection-status" : {
11549
- "get" : {
11550
- "description" : "For organization-scoped tools, returns whether the shared connection is set up.\nFor user-scoped tools, returns whether the caller has connected their own account.\n",
11551
- "operationId" : "getToolConnectionStatus",
11754
+ "/tools/{toolId}/mcp/logs" : {
11755
+ "delete" : {
11756
+ "description" : "Drops every trace of this tool. The way out when payload capture was left on and recorded\nsomething it should not have.\n",
11757
+ "operationId" : "deleteMcpCallLogs",
11552
11758
  "parameters" : [ {
11553
11759
  "description" : "Tool identifier",
11554
11760
  "in" : "path",
@@ -11563,11 +11769,11 @@
11563
11769
  "content" : {
11564
11770
  "application/json" : {
11565
11771
  "schema" : {
11566
- "$ref" : "#/components/schemas/ToolConnectionStatusResponse"
11772
+ "$ref" : "#/components/schemas/McpCallLogsDeletedResponse"
11567
11773
  }
11568
11774
  }
11569
11775
  },
11570
- "description" : "Connection status"
11776
+ "description" : "Traces erased"
11571
11777
  },
11572
11778
  "403" : {
11573
11779
  "description" : "Forbidden"
@@ -11576,99 +11782,261 @@
11576
11782
  "description" : "Tool not found"
11577
11783
  }
11578
11784
  },
11579
- "summary" : "Get the current user's connection status for a tool",
11785
+ "summary" : "Erase the MCP traces of a tool",
11580
11786
  "tags" : [ "tools" ]
11581
- }
11582
- },
11583
- "/skills" : {
11787
+ },
11584
11788
  "get" : {
11585
- "description" : "Returns a paginated list of skills scoped to an organization",
11586
- "operationId" : "listSkills",
11789
+ "description" : "Traces of the exchanges with the MCP server of this tool, most recent first: connections,\ntoken refreshes, tool calls, and the configuration changes an administrator made.\nReserved to administrators of the organisation owning the tool — a trace names the methods\ncalled and, when payload capture is on, carries an excerpt of the exchange.\n\nPaging walks backwards through time with a composite cursor. Both halves of `nextCursor`\nmust be sent back together: a date alone cannot separate two traces written in the same\nmillisecond.\n",
11790
+ "operationId" : "listMcpCallLogs",
11587
11791
  "parameters" : [ {
11588
- "description" : "Organization ID",
11589
- "in" : "query",
11590
- "name" : "organizationId",
11792
+ "description" : "Tool identifier",
11793
+ "in" : "path",
11794
+ "name" : "toolId",
11591
11795
  "required" : true,
11592
11796
  "schema" : {
11593
11797
  "type" : "string"
11594
11798
  }
11595
11799
  }, {
11596
- "description" : "Page number",
11800
+ "description" : "Keeps only the traces of that kind.",
11597
11801
  "in" : "query",
11598
- "name" : "page",
11802
+ "name" : "event",
11803
+ "required" : false,
11599
11804
  "schema" : {
11600
- "type" : "integer"
11805
+ "$ref" : "#/components/schemas/McpCallLogEvent"
11601
11806
  }
11602
11807
  }, {
11603
- "description" : "Maximum number of skills to return",
11808
+ "description" : "Keeps only the traces that succeeded, or only those that failed.",
11809
+ "in" : "query",
11810
+ "name" : "status",
11811
+ "required" : false,
11812
+ "schema" : {
11813
+ "$ref" : "#/components/schemas/McpCallLogStatus"
11814
+ }
11815
+ }, {
11816
+ "description" : "Page size, clamped server-side.",
11604
11817
  "in" : "query",
11605
11818
  "name" : "limit",
11819
+ "required" : false,
11606
11820
  "schema" : {
11607
- "default" : 20,
11608
- "maximum" : 100,
11821
+ "default" : 50,
11822
+ "maximum" : 200,
11823
+ "minimum" : 1,
11609
11824
  "type" : "integer"
11610
11825
  }
11826
+ }, {
11827
+ "description" : "Date half of the cursor, sent back from `nextCursor` along with `beforeId`.",
11828
+ "in" : "query",
11829
+ "name" : "beforeCreatedAt",
11830
+ "required" : false,
11831
+ "schema" : {
11832
+ "type" : "string"
11833
+ }
11834
+ }, {
11835
+ "description" : "Identifier half of the cursor, sent back from `nextCursor` along with `beforeCreatedAt`.",
11836
+ "in" : "query",
11837
+ "name" : "beforeId",
11838
+ "required" : false,
11839
+ "schema" : {
11840
+ "type" : "string"
11841
+ }
11611
11842
  } ],
11612
11843
  "responses" : {
11613
11844
  "200" : {
11614
11845
  "content" : {
11615
11846
  "application/json" : {
11616
11847
  "schema" : {
11617
- "items" : {
11618
- "$ref" : "#/components/schemas/Skill"
11619
- },
11620
- "type" : "array"
11848
+ "$ref" : "#/components/schemas/McpCallLogsResponse"
11621
11849
  }
11622
11850
  }
11623
11851
  },
11624
- "description" : "Paginated list of skills",
11625
- "headers" : {
11626
- "X-Total-Count" : {
11627
- "description" : "Total number of skills in the organization",
11628
- "schema" : {
11629
- "type" : "integer"
11630
- }
11631
- },
11632
- "X-Page" : {
11633
- "description" : "Current page number",
11634
- "schema" : {
11635
- "type" : "integer"
11636
- }
11637
- },
11638
- "X-Limit" : {
11639
- "description" : "Maximum number of items per page",
11640
- "schema" : {
11641
- "type" : "integer"
11642
- }
11643
- },
11644
- "X-Total-Pages" : {
11645
- "description" : "Total number of pages",
11646
- "schema" : {
11647
- "type" : "integer"
11648
- }
11649
- }
11650
- }
11852
+ "description" : "A page of traces"
11651
11853
  },
11652
11854
  "400" : {
11653
- "description" : "MISSING_ORG_ID"
11654
- },
11655
- "401" : {
11656
- "description" : "Unauthorized"
11855
+ "description" : "Unknown event or status filter"
11657
11856
  },
11658
11857
  "403" : {
11659
11858
  "description" : "Forbidden"
11859
+ },
11860
+ "404" : {
11861
+ "description" : "Tool not found"
11660
11862
  }
11661
11863
  },
11662
- "summary" : "List skills in an organization",
11663
- "tags" : [ "skills" ]
11664
- },
11665
- "post" : {
11666
- "description" : "Creates a new skill in an organization",
11667
- "operationId" : "createSkill",
11668
- "requestBody" : {
11669
- "content" : {
11670
- "application/json" : {
11671
- "schema" : {
11864
+ "summary" : "Read the MCP traces of a tool",
11865
+ "tags" : [ "tools" ]
11866
+ }
11867
+ },
11868
+ "/tools/{toolId}/mcp/logs/settings" : {
11869
+ "put" : {
11870
+ "description" : "Whether the arguments and responses of the calls to this tool are kept in its traces.\n\nOff by default, and deliberately its own endpoint rather than a field of the tool: the\narguments of an MCP call carry whatever the user asked for, so switching capture on is a\ndebugging act an administrator takes knowingly, and the tool edit form can never reset it\nby accident.\n",
11871
+ "operationId" : "updateMcpLogsSettings",
11872
+ "parameters" : [ {
11873
+ "description" : "Tool identifier",
11874
+ "in" : "path",
11875
+ "name" : "toolId",
11876
+ "required" : true,
11877
+ "schema" : {
11878
+ "type" : "string"
11879
+ }
11880
+ } ],
11881
+ "requestBody" : {
11882
+ "content" : {
11883
+ "application/json" : {
11884
+ "schema" : {
11885
+ "$ref" : "#/components/schemas/McpLogsSettingsRequest"
11886
+ }
11887
+ }
11888
+ },
11889
+ "required" : true
11890
+ },
11891
+ "responses" : {
11892
+ "200" : {
11893
+ "content" : {
11894
+ "application/json" : {
11895
+ "schema" : {
11896
+ "$ref" : "#/components/schemas/McpLogsSettingsResponse"
11897
+ }
11898
+ }
11899
+ },
11900
+ "description" : "Capture setting applied"
11901
+ },
11902
+ "400" : {
11903
+ "description" : "Invalid body"
11904
+ },
11905
+ "403" : {
11906
+ "description" : "Forbidden"
11907
+ },
11908
+ "404" : {
11909
+ "description" : "Tool not found"
11910
+ }
11911
+ },
11912
+ "summary" : "Turn MCP payload capture on or off for a tool",
11913
+ "tags" : [ "tools" ]
11914
+ }
11915
+ },
11916
+ "/tools/{toolId}/connection-status" : {
11917
+ "get" : {
11918
+ "description" : "For organization-scoped tools, returns whether the shared connection is set up.\nFor user-scoped tools, returns whether the caller has connected their own account.\n",
11919
+ "operationId" : "getToolConnectionStatus",
11920
+ "parameters" : [ {
11921
+ "description" : "Tool identifier",
11922
+ "in" : "path",
11923
+ "name" : "toolId",
11924
+ "required" : true,
11925
+ "schema" : {
11926
+ "type" : "string"
11927
+ }
11928
+ } ],
11929
+ "responses" : {
11930
+ "200" : {
11931
+ "content" : {
11932
+ "application/json" : {
11933
+ "schema" : {
11934
+ "$ref" : "#/components/schemas/ToolConnectionStatusResponse"
11935
+ }
11936
+ }
11937
+ },
11938
+ "description" : "Connection status"
11939
+ },
11940
+ "403" : {
11941
+ "description" : "Forbidden"
11942
+ },
11943
+ "404" : {
11944
+ "description" : "Tool not found"
11945
+ }
11946
+ },
11947
+ "summary" : "Get the current user's connection status for a tool",
11948
+ "tags" : [ "tools" ]
11949
+ }
11950
+ },
11951
+ "/skills" : {
11952
+ "get" : {
11953
+ "description" : "Returns a paginated list of skills scoped to an organization",
11954
+ "operationId" : "listSkills",
11955
+ "parameters" : [ {
11956
+ "description" : "Organization ID",
11957
+ "in" : "query",
11958
+ "name" : "organizationId",
11959
+ "required" : true,
11960
+ "schema" : {
11961
+ "type" : "string"
11962
+ }
11963
+ }, {
11964
+ "description" : "Page number",
11965
+ "in" : "query",
11966
+ "name" : "page",
11967
+ "schema" : {
11968
+ "type" : "integer"
11969
+ }
11970
+ }, {
11971
+ "description" : "Maximum number of skills to return",
11972
+ "in" : "query",
11973
+ "name" : "limit",
11974
+ "schema" : {
11975
+ "default" : 20,
11976
+ "maximum" : 100,
11977
+ "type" : "integer"
11978
+ }
11979
+ } ],
11980
+ "responses" : {
11981
+ "200" : {
11982
+ "content" : {
11983
+ "application/json" : {
11984
+ "schema" : {
11985
+ "items" : {
11986
+ "$ref" : "#/components/schemas/Skill"
11987
+ },
11988
+ "type" : "array"
11989
+ }
11990
+ }
11991
+ },
11992
+ "description" : "Paginated list of skills",
11993
+ "headers" : {
11994
+ "X-Total-Count" : {
11995
+ "description" : "Total number of skills in the organization",
11996
+ "schema" : {
11997
+ "type" : "integer"
11998
+ }
11999
+ },
12000
+ "X-Page" : {
12001
+ "description" : "Current page number",
12002
+ "schema" : {
12003
+ "type" : "integer"
12004
+ }
12005
+ },
12006
+ "X-Limit" : {
12007
+ "description" : "Maximum number of items per page",
12008
+ "schema" : {
12009
+ "type" : "integer"
12010
+ }
12011
+ },
12012
+ "X-Total-Pages" : {
12013
+ "description" : "Total number of pages",
12014
+ "schema" : {
12015
+ "type" : "integer"
12016
+ }
12017
+ }
12018
+ }
12019
+ },
12020
+ "400" : {
12021
+ "description" : "MISSING_ORG_ID"
12022
+ },
12023
+ "401" : {
12024
+ "description" : "Unauthorized"
12025
+ },
12026
+ "403" : {
12027
+ "description" : "Forbidden"
12028
+ }
12029
+ },
12030
+ "summary" : "List skills in an organization",
12031
+ "tags" : [ "skills" ]
12032
+ },
12033
+ "post" : {
12034
+ "description" : "Creates a new skill in an organization",
12035
+ "operationId" : "createSkill",
12036
+ "requestBody" : {
12037
+ "content" : {
12038
+ "application/json" : {
12039
+ "schema" : {
11672
12040
  "$ref" : "#/components/schemas/SkillCreateRequest"
11673
12041
  }
11674
12042
  }
@@ -16485,6 +16853,18 @@
16485
16853
  } ],
16486
16854
  "nullable" : true
16487
16855
  },
16856
+ "mcpExposureConfiguration" : {
16857
+ "allOf" : [ {
16858
+ "$ref" : "#/components/schemas/AgentMcpExposureConfiguration"
16859
+ } ],
16860
+ "nullable" : true
16861
+ },
16862
+ "humanEscalationConfiguration" : {
16863
+ "allOf" : [ {
16864
+ "$ref" : "#/components/schemas/AgentHumanEscalationConfiguration"
16865
+ } ],
16866
+ "nullable" : true
16867
+ },
16488
16868
  "codeModeConfiguration" : {
16489
16869
  "allOf" : [ {
16490
16870
  "$ref" : "#/components/schemas/AgentCodeModeConfiguration"
@@ -16715,6 +17095,40 @@
16715
17095
  },
16716
17096
  "type" : "object"
16717
17097
  },
17098
+ "AgentMcpExposureConfiguration" : {
17099
+ "description" : "Reachability from local agents (Claude Code, Pi, Hermes…) through Breign's MCP server. Opt-in: an agent nobody exposed is invisible to list_agents and refuses ask_agent.",
17100
+ "properties" : {
17101
+ "enabled" : {
17102
+ "description" : "Makes this agent reachable from local agents.",
17103
+ "type" : "boolean"
17104
+ }
17105
+ },
17106
+ "type" : "object"
17107
+ },
17108
+ "AgentHumanEscalationConfiguration" : {
17109
+ "description" : "Per-agent activation of the Human_ask tool, offered only in task conversations (a local agent or another agent asking). The question goes to the first valid referent; without one, to the user who owns the task — the person who connected the local agent.",
17110
+ "properties" : {
17111
+ "enabled" : {
17112
+ "description" : "Enables the Human_ask tool for this agent.",
17113
+ "type" : "boolean"
17114
+ },
17115
+ "referentUserIds" : {
17116
+ "description" : "Organisation members who answer this agent's questions, in order of preference.",
17117
+ "items" : {
17118
+ "type" : "string"
17119
+ },
17120
+ "maxItems" : 5,
17121
+ "type" : "array"
17122
+ },
17123
+ "questionTtlHours" : {
17124
+ "description" : "How long a question stays answerable. Past it, the agent resumes on its own assumption.",
17125
+ "maximum" : 168,
17126
+ "minimum" : 1,
17127
+ "type" : "integer"
17128
+ }
17129
+ },
17130
+ "type" : "object"
17131
+ },
16718
17132
  "AgentCodeModeConfiguration" : {
16719
17133
  "description" : "Per-agent activation of code mode: the model writes a JavaScript/TypeScript program that calls the agent's tools inside a sandbox, instead of one tool call per round trip. Opt-in, and narrower than it looks — only the tools declared code-mode callable server-side are reachable from a program. The server configuration can only narrow this.",
16720
17134
  "properties" : {
@@ -16917,6 +17331,18 @@
16917
17331
  } ],
16918
17332
  "nullable" : true
16919
17333
  },
17334
+ "mcpExposureConfiguration" : {
17335
+ "allOf" : [ {
17336
+ "$ref" : "#/components/schemas/AgentMcpExposureConfiguration"
17337
+ } ],
17338
+ "nullable" : true
17339
+ },
17340
+ "humanEscalationConfiguration" : {
17341
+ "allOf" : [ {
17342
+ "$ref" : "#/components/schemas/AgentHumanEscalationConfiguration"
17343
+ } ],
17344
+ "nullable" : true
17345
+ },
16920
17346
  "codeModeConfiguration" : {
16921
17347
  "allOf" : [ {
16922
17348
  "$ref" : "#/components/schemas/AgentCodeModeConfiguration"
@@ -17940,6 +18366,9 @@
17940
18366
  },
17941
18367
  "type" : "array"
17942
18368
  },
18369
+ "humanRequest" : {
18370
+ "$ref" : "#/components/schemas/ConversationHumanRequest"
18371
+ },
17943
18372
  "suggestions" : {
17944
18373
  "items" : {
17945
18374
  "$ref" : "#/components/schemas/Suggestion"
@@ -18090,6 +18519,57 @@
18090
18519
  "title" : "ConversationMessageApproval",
18091
18520
  "type" : "object"
18092
18521
  },
18522
+ "ConversationHumanRequest" : {
18523
+ "description" : "A question an agent asks a human from a task conversation (Human_ask tool). Carried by a mirror message in the human's chat conversation with that agent, which is where they see and answer it. The task stays suspended on the pending call callId until the answer resumes it.",
18524
+ "properties" : {
18525
+ "callId" : {
18526
+ "description" : "The pending tool call the answer resolves.",
18527
+ "type" : "string"
18528
+ },
18529
+ "taskConversationId" : {
18530
+ "type" : "string"
18531
+ },
18532
+ "taskMessageId" : {
18533
+ "type" : "string"
18534
+ },
18535
+ "question" : {
18536
+ "type" : "string"
18537
+ },
18538
+ "options" : {
18539
+ "items" : {
18540
+ "type" : "string"
18541
+ },
18542
+ "type" : "array"
18543
+ },
18544
+ "context" : {
18545
+ "description" : "What is blocked and why, as the agent put it.",
18546
+ "type" : "string"
18547
+ },
18548
+ "requestedBy" : {
18549
+ "$ref" : "#/components/schemas/ConversationHumanRequest_requestedBy"
18550
+ },
18551
+ "status" : {
18552
+ "enum" : [ "pending", "answered", "declined", "expired" ],
18553
+ "type" : "string"
18554
+ },
18555
+ "answer" : {
18556
+ "type" : "string"
18557
+ },
18558
+ "answeredBy" : {
18559
+ "description" : "Name or email of the person who answered, as it stood when they answered.",
18560
+ "type" : "string"
18561
+ },
18562
+ "answeredAt" : {
18563
+ "type" : "string"
18564
+ },
18565
+ "expiresAt" : {
18566
+ "type" : "string"
18567
+ }
18568
+ },
18569
+ "required" : [ "callId", "question", "requestedBy", "status", "taskConversationId", "taskMessageId" ],
18570
+ "title" : "ConversationHumanRequest",
18571
+ "type" : "object"
18572
+ },
18093
18573
  "Suggestion" : {
18094
18574
  "properties" : {
18095
18575
  "id" : {
@@ -19807,24 +20287,265 @@
19807
20287
  "isGenerating" : {
19808
20288
  "description" : "Vrai tant qu'une réponse est en cours de génération",
19809
20289
  "type" : "boolean"
20290
+ },
20291
+ "pendingHumanRequests" : {
20292
+ "description" : "Questions de cet agent qui attendent une réponse de l'utilisateur courant (outil Human_ask), toutes tâches confondues.",
20293
+ "type" : "integer"
19810
20294
  }
19811
20295
  },
19812
20296
  "required" : [ "agentId", "conversationId", "isGenerating", "unreadCount" ],
19813
20297
  "type" : "object"
19814
20298
  },
19815
- "MarkConversationReadRequest" : {
20299
+ "HumanRequestSummary" : {
20300
+ "description" : "Une question en attente de réponse de l'utilisateur courant.",
19816
20301
  "properties" : {
19817
- "readAt" : {
19818
- "description" : "Position de lecture ; par défaut l'instant courant",
19819
- "format" : "date-time",
20302
+ "callId" : {
19820
20303
  "type" : "string"
19821
- }
19822
- },
19823
- "type" : "object"
19824
- },
19825
- "ConversationSummary" : {
19826
- "properties" : {
19827
- "id" : {
20304
+ },
20305
+ "agentId" : {
20306
+ "format" : "uuid",
20307
+ "type" : "string"
20308
+ },
20309
+ "humanConversationId" : {
20310
+ "description" : "Conversation de l'utilisateur avec l'agent, où la question est affichée.",
20311
+ "format" : "uuid",
20312
+ "type" : "string"
20313
+ },
20314
+ "humanMessageId" : {
20315
+ "type" : "string"
20316
+ },
20317
+ "taskConversationId" : {
20318
+ "format" : "uuid",
20319
+ "type" : "string"
20320
+ },
20321
+ "taskMessageId" : {
20322
+ "type" : "string"
20323
+ },
20324
+ "question" : {
20325
+ "type" : "string"
20326
+ },
20327
+ "options" : {
20328
+ "items" : {
20329
+ "type" : "string"
20330
+ },
20331
+ "type" : "array"
20332
+ },
20333
+ "requestedBy" : {
20334
+ "$ref" : "#/components/schemas/HumanRequestSummary_requestedBy"
20335
+ },
20336
+ "expiresAt" : {
20337
+ "nullable" : true,
20338
+ "type" : "string"
20339
+ },
20340
+ "createdAt" : {
20341
+ "type" : "string"
20342
+ }
20343
+ },
20344
+ "required" : [ "agentId", "callId", "humanConversationId", "question", "taskConversationId", "taskMessageId" ],
20345
+ "type" : "object"
20346
+ },
20347
+ "HumanRequestAnswer" : {
20348
+ "description" : "Réponse à une question. Soit une réponse non vide, soit decline à vrai : l'agent repart alors sur sa meilleure hypothèse.",
20349
+ "properties" : {
20350
+ "answer" : {
20351
+ "type" : "string"
20352
+ },
20353
+ "decline" : {
20354
+ "type" : "boolean"
20355
+ }
20356
+ },
20357
+ "type" : "object"
20358
+ },
20359
+ "HumanRequestAnswerResult" : {
20360
+ "properties" : {
20361
+ "status" : {
20362
+ "enum" : [ "answered", "declined" ],
20363
+ "type" : "string"
20364
+ }
20365
+ },
20366
+ "required" : [ "status" ],
20367
+ "type" : "object"
20368
+ },
20369
+ "McpJsonRpcResponse" : {
20370
+ "description" : "Réponse JSON-RPC 2.0 ; `result` ou `error`, jamais les deux.",
20371
+ "properties" : {
20372
+ "jsonrpc" : {
20373
+ "enum" : [ "2.0" ],
20374
+ "type" : "string"
20375
+ },
20376
+ "id" : {
20377
+ "$ref" : "#/components/schemas/McpJsonRpcResponse_id"
20378
+ },
20379
+ "result" : {
20380
+ "$ref" : "#/components/schemas/McpCallToolResult"
20381
+ },
20382
+ "error" : {
20383
+ "$ref" : "#/components/schemas/McpJsonRpcError"
20384
+ }
20385
+ },
20386
+ "required" : [ "jsonrpc" ],
20387
+ "type" : "object"
20388
+ },
20389
+ "McpCallToolResult" : {
20390
+ "additionalProperties" : true,
20391
+ "description" : "Résultat d'un tools/call (CallToolResult MCP). Les autres méthodes (initialize, tools/list) rendent leur propre résultat, conforme à la spécification MCP.",
20392
+ "properties" : {
20393
+ "content" : {
20394
+ "description" : "Texte destiné au modèle, consigne suivante comprise.",
20395
+ "items" : {
20396
+ "$ref" : "#/components/schemas/McpTextContent"
20397
+ },
20398
+ "type" : "array"
20399
+ },
20400
+ "structuredContent" : {
20401
+ "$ref" : "#/components/schemas/McpCallToolResult_structuredContent"
20402
+ },
20403
+ "isError" : {
20404
+ "type" : "boolean"
20405
+ }
20406
+ },
20407
+ "type" : "object"
20408
+ },
20409
+ "McpTextContent" : {
20410
+ "properties" : {
20411
+ "type" : {
20412
+ "enum" : [ "text" ],
20413
+ "type" : "string"
20414
+ },
20415
+ "text" : {
20416
+ "type" : "string"
20417
+ }
20418
+ },
20419
+ "required" : [ "text", "type" ],
20420
+ "type" : "object"
20421
+ },
20422
+ "McpTicketView" : {
20423
+ "description" : "Contenu structuré rendu par les outils ask_agent et wait_for_reply. Tant que le statut est pending ou waiting_human, l'agent local rappelle wait_for_reply avec le ticket.",
20424
+ "properties" : {
20425
+ "status" : {
20426
+ "enum" : [ "pending", "waiting_human", "completed", "failed" ],
20427
+ "type" : "string"
20428
+ },
20429
+ "ticket" : {
20430
+ "description" : "`<conversationId>/<messageId>` du message qui portera la réponse.",
20431
+ "type" : "string"
20432
+ },
20433
+ "conversationId" : {
20434
+ "description" : "Fil à passer à ask_agent pour poursuivre dans la même conversation.",
20435
+ "format" : "uuid",
20436
+ "type" : "string"
20437
+ },
20438
+ "messageId" : {
20439
+ "format" : "uuid",
20440
+ "type" : "string"
20441
+ },
20442
+ "agentName" : {
20443
+ "type" : "string"
20444
+ },
20445
+ "reply" : {
20446
+ "description" : "Présent quand status vaut completed.",
20447
+ "type" : "string"
20448
+ },
20449
+ "activity" : {
20450
+ "description" : "Ce que fait l'agent quand status vaut pending.",
20451
+ "type" : "string"
20452
+ },
20453
+ "question" : {
20454
+ "description" : "Question posée à un humain quand status vaut waiting_human.",
20455
+ "type" : "string"
20456
+ },
20457
+ "options" : {
20458
+ "items" : {
20459
+ "type" : "string"
20460
+ },
20461
+ "type" : "array"
20462
+ },
20463
+ "human" : {
20464
+ "description" : "Nom ou e-mail de l'humain attendu.",
20465
+ "type" : "string"
20466
+ },
20467
+ "askingAgentName" : {
20468
+ "description" : "Agent qui pose la question, quand ce n'est pas l'agent interrogé (escalade en chaîne).",
20469
+ "type" : "string"
20470
+ },
20471
+ "expiresAt" : {
20472
+ "format" : "date-time",
20473
+ "type" : "string"
20474
+ },
20475
+ "error" : {
20476
+ "type" : "string"
20477
+ }
20478
+ },
20479
+ "required" : [ "conversationId", "messageId", "status", "ticket" ],
20480
+ "type" : "object"
20481
+ },
20482
+ "McpAgentList" : {
20483
+ "properties" : {
20484
+ "agents" : {
20485
+ "items" : {
20486
+ "$ref" : "#/components/schemas/McpAgentList_agents_inner"
20487
+ },
20488
+ "type" : "array"
20489
+ }
20490
+ },
20491
+ "required" : [ "agents" ],
20492
+ "type" : "object"
20493
+ },
20494
+ "McpJsonRpcError" : {
20495
+ "properties" : {
20496
+ "code" : {
20497
+ "description" : "-32000 méthode HTTP non supportée, -32001 clé API personnelle requise, -32603 erreur interne ; les codes JSON-RPC standards pour les requêtes mal formées.",
20498
+ "type" : "integer"
20499
+ },
20500
+ "message" : {
20501
+ "type" : "string"
20502
+ }
20503
+ },
20504
+ "required" : [ "code", "message" ],
20505
+ "type" : "object"
20506
+ },
20507
+ "McpJsonRpcRequest" : {
20508
+ "description" : "Message JSON-RPC 2.0 du Model Context Protocol (transport Streamable HTTP). Les méthodes utiles sont initialize, notifications/initialized, tools/list et tools/call. Un lot (tableau de messages) est aussi accepté par le transport.",
20509
+ "properties" : {
20510
+ "jsonrpc" : {
20511
+ "enum" : [ "2.0" ],
20512
+ "type" : "string"
20513
+ },
20514
+ "id" : {
20515
+ "$ref" : "#/components/schemas/McpJsonRpcRequest_id"
20516
+ },
20517
+ "method" : {
20518
+ "example" : "tools/call",
20519
+ "type" : "string"
20520
+ },
20521
+ "params" : {
20522
+ "additionalProperties" : true,
20523
+ "example" : {
20524
+ "name" : "ask_agent",
20525
+ "arguments" : {
20526
+ "agentId" : "Product Owner",
20527
+ "message" : "Quels sont les critères d'acceptation de la fonctionnalité X ?"
20528
+ }
20529
+ },
20530
+ "type" : "object"
20531
+ }
20532
+ },
20533
+ "required" : [ "jsonrpc", "method" ],
20534
+ "type" : "object"
20535
+ },
20536
+ "MarkConversationReadRequest" : {
20537
+ "properties" : {
20538
+ "readAt" : {
20539
+ "description" : "Position de lecture ; par défaut l'instant courant",
20540
+ "format" : "date-time",
20541
+ "type" : "string"
20542
+ }
20543
+ },
20544
+ "type" : "object"
20545
+ },
20546
+ "ConversationSummary" : {
20547
+ "properties" : {
20548
+ "id" : {
19828
20549
  "type" : "string"
19829
20550
  },
19830
20551
  "title" : {
@@ -21912,6 +22633,197 @@
21912
22633
  "title" : "ToolAllowedToolsResponse",
21913
22634
  "type" : "object"
21914
22635
  },
22636
+ "McpCallLogEvent" : {
22637
+ "description" : "Which moment of the exchange the trace covers. Three are network — opening the connection, renewing the tokens, calling the tool — and the fourth is an administrator changing the configuration, without which \"it worked yesterday\" stays unverifiable.",
22638
+ "enum" : [ "connect", "auth_refresh", "tool_call", "config_change" ],
22639
+ "title" : "McpCallLogEvent",
22640
+ "type" : "string"
22641
+ },
22642
+ "McpCallLogStatus" : {
22643
+ "enum" : [ "ok", "error" ],
22644
+ "title" : "McpCallLogStatus",
22645
+ "type" : "string"
22646
+ },
22647
+ "McpCallLogsResponse" : {
22648
+ "additionalProperties" : false,
22649
+ "properties" : {
22650
+ "logs" : {
22651
+ "items" : {
22652
+ "$ref" : "#/components/schemas/McpCallLog"
22653
+ },
22654
+ "type" : "array"
22655
+ },
22656
+ "nextCursor" : {
22657
+ "allOf" : [ {
22658
+ "$ref" : "#/components/schemas/McpCallLogCursor"
22659
+ } ],
22660
+ "description" : "Null once the last page has been served.",
22661
+ "nullable" : true
22662
+ },
22663
+ "payloadLogging" : {
22664
+ "description" : "Whether this tool is currently capturing arguments and responses.",
22665
+ "type" : "boolean"
22666
+ },
22667
+ "verboseLogging" : {
22668
+ "description" : "Whether this tool records all of its activity. Off by default: only failures and configuration changes are kept, which is what an investigation actually reads.",
22669
+ "type" : "boolean"
22670
+ },
22671
+ "retentionDays" : {
22672
+ "description" : "How long traces are kept before the nightly purge drops them.",
22673
+ "type" : "integer"
22674
+ }
22675
+ },
22676
+ "required" : [ "logs", "nextCursor", "payloadLogging", "retentionDays", "verboseLogging" ],
22677
+ "title" : "McpCallLogsResponse",
22678
+ "type" : "object"
22679
+ },
22680
+ "McpCallLog" : {
22681
+ "additionalProperties" : false,
22682
+ "properties" : {
22683
+ "id" : {
22684
+ "type" : "string"
22685
+ },
22686
+ "orgId" : {
22687
+ "type" : "string"
22688
+ },
22689
+ "toolId" : {
22690
+ "type" : "string"
22691
+ },
22692
+ "toolName" : {
22693
+ "description" : "Name of the tool when the call happened; it survives a later rename.",
22694
+ "nullable" : true,
22695
+ "type" : "string"
22696
+ },
22697
+ "event" : {
22698
+ "$ref" : "#/components/schemas/McpCallLogEvent"
22699
+ },
22700
+ "method" : {
22701
+ "description" : "MCP method called, or the configuration action for a `config_change`.",
22702
+ "nullable" : true,
22703
+ "type" : "string"
22704
+ },
22705
+ "status" : {
22706
+ "$ref" : "#/components/schemas/McpCallLogStatus"
22707
+ },
22708
+ "durationMs" : {
22709
+ "nullable" : true,
22710
+ "type" : "integer"
22711
+ },
22712
+ "serverUrl" : {
22713
+ "description" : "Server URL without its query string, which can carry a token.",
22714
+ "nullable" : true,
22715
+ "type" : "string"
22716
+ },
22717
+ "scope" : {
22718
+ "enum" : [ "organization", "user" ],
22719
+ "type" : "string"
22720
+ },
22721
+ "authType" : {
22722
+ "nullable" : true,
22723
+ "type" : "string"
22724
+ },
22725
+ "userId" : {
22726
+ "description" : "Whoever the exchange was made for — the owner of the credentials used. On a `config_change` it is the author of the change instead.",
22727
+ "nullable" : true,
22728
+ "type" : "string"
22729
+ },
22730
+ "agentId" : {
22731
+ "nullable" : true,
22732
+ "type" : "string"
22733
+ },
22734
+ "conversationId" : {
22735
+ "nullable" : true,
22736
+ "type" : "string"
22737
+ },
22738
+ "httpStatus" : {
22739
+ "nullable" : true,
22740
+ "type" : "integer"
22741
+ },
22742
+ "errorCode" : {
22743
+ "nullable" : true,
22744
+ "type" : "string"
22745
+ },
22746
+ "errorMessage" : {
22747
+ "nullable" : true,
22748
+ "type" : "string"
22749
+ },
22750
+ "retried" : {
22751
+ "description" : "The call was replayed on a fresh connection after a first failure.",
22752
+ "type" : "boolean"
22753
+ },
22754
+ "requestPreview" : {
22755
+ "description" : "Captured only while payload capture is on, secrets redacted and size bounded.",
22756
+ "nullable" : true,
22757
+ "type" : "string"
22758
+ },
22759
+ "responsePreview" : {
22760
+ "nullable" : true,
22761
+ "type" : "string"
22762
+ },
22763
+ "createdAt" : {
22764
+ "type" : "string"
22765
+ }
22766
+ },
22767
+ "required" : [ "createdAt", "event", "id", "orgId", "retried", "scope", "status", "toolId" ],
22768
+ "title" : "McpCallLog",
22769
+ "type" : "object"
22770
+ },
22771
+ "McpCallLogCursor" : {
22772
+ "additionalProperties" : false,
22773
+ "properties" : {
22774
+ "createdAt" : {
22775
+ "type" : "string"
22776
+ },
22777
+ "id" : {
22778
+ "type" : "string"
22779
+ }
22780
+ },
22781
+ "required" : [ "createdAt", "id" ],
22782
+ "title" : "McpCallLogCursor",
22783
+ "type" : "object"
22784
+ },
22785
+ "McpCallLogsDeletedResponse" : {
22786
+ "additionalProperties" : false,
22787
+ "properties" : {
22788
+ "deleted" : {
22789
+ "type" : "integer"
22790
+ }
22791
+ },
22792
+ "required" : [ "deleted" ],
22793
+ "title" : "McpCallLogsDeletedResponse",
22794
+ "type" : "object"
22795
+ },
22796
+ "McpLogsSettingsRequest" : {
22797
+ "additionalProperties" : false,
22798
+ "description" : "At least one switch. Whichever is omitted keeps its current value, so the screen can flip one without resetting the other.",
22799
+ "minProperties" : 1,
22800
+ "properties" : {
22801
+ "payloads" : {
22802
+ "description" : "Keep the arguments and responses of the calls that get recorded.",
22803
+ "type" : "boolean"
22804
+ },
22805
+ "verbose" : {
22806
+ "description" : "Record all activity, not only failures and configuration changes.",
22807
+ "type" : "boolean"
22808
+ }
22809
+ },
22810
+ "title" : "McpLogsSettingsRequest",
22811
+ "type" : "object"
22812
+ },
22813
+ "McpLogsSettingsResponse" : {
22814
+ "additionalProperties" : false,
22815
+ "properties" : {
22816
+ "payloads" : {
22817
+ "type" : "boolean"
22818
+ },
22819
+ "verbose" : {
22820
+ "type" : "boolean"
22821
+ }
22822
+ },
22823
+ "required" : [ "payloads", "verbose" ],
22824
+ "title" : "McpLogsSettingsResponse",
22825
+ "type" : "object"
22826
+ },
21915
22827
  "ToolConnectionStatusResponse" : {
21916
22828
  "additionalProperties" : false,
21917
22829
  "properties" : {
@@ -25378,6 +26290,20 @@
25378
26290
  "required" : [ "tool" ],
25379
26291
  "type" : "object"
25380
26292
  },
26293
+ "ConversationHumanRequest_requestedBy" : {
26294
+ "properties" : {
26295
+ "kind" : {
26296
+ "enum" : [ "local_agent", "agent" ],
26297
+ "type" : "string"
26298
+ },
26299
+ "label" : {
26300
+ "description" : "Local client name (e.g. claude-code) or the calling agent's name.",
26301
+ "type" : "string"
26302
+ }
26303
+ },
26304
+ "required" : [ "kind" ],
26305
+ "type" : "object"
26306
+ },
25381
26307
  "FileAttachment_processed_oneOf" : {
25382
26308
  "properties" : {
25383
26309
  "type" : {
@@ -25887,6 +26813,61 @@
25887
26813
  "required" : [ "contentType", "ext", "size" ],
25888
26814
  "type" : "object"
25889
26815
  },
26816
+ "HumanRequestSummary_requestedBy" : {
26817
+ "properties" : {
26818
+ "kind" : {
26819
+ "enum" : [ "local_agent", "agent" ],
26820
+ "type" : "string"
26821
+ },
26822
+ "label" : {
26823
+ "type" : "string"
26824
+ }
26825
+ },
26826
+ "type" : "object"
26827
+ },
26828
+ "McpJsonRpcResponse_id" : {
26829
+ "nullable" : true,
26830
+ "oneOf" : [ {
26831
+ "type" : "string"
26832
+ }, {
26833
+ "type" : "integer"
26834
+ } ]
26835
+ },
26836
+ "McpCallToolResult_structuredContent" : {
26837
+ "description" : "McpTicketView pour ask_agent et wait_for_reply, McpAgentList pour list_agents.",
26838
+ "oneOf" : [ {
26839
+ "$ref" : "#/components/schemas/McpTicketView"
26840
+ }, {
26841
+ "$ref" : "#/components/schemas/McpAgentList"
26842
+ } ]
26843
+ },
26844
+ "McpAgentList_agents_inner" : {
26845
+ "properties" : {
26846
+ "id" : {
26847
+ "format" : "uuid",
26848
+ "type" : "string"
26849
+ },
26850
+ "name" : {
26851
+ "type" : "string"
26852
+ },
26853
+ "role" : {
26854
+ "type" : "string"
26855
+ },
26856
+ "description" : {
26857
+ "type" : "string"
26858
+ }
26859
+ },
26860
+ "required" : [ "id", "name" ],
26861
+ "type" : "object"
26862
+ },
26863
+ "McpJsonRpcRequest_id" : {
26864
+ "description" : "Absent sur une notification.",
26865
+ "oneOf" : [ {
26866
+ "type" : "string"
26867
+ }, {
26868
+ "type" : "integer"
26869
+ } ]
26870
+ },
25890
26871
  "ConversationSummary_agent_engine_provider" : {
25891
26872
  "properties" : {
25892
26873
  "name" : {