@breign/client 1.0.177 → 1.0.178
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apis/McpApi.d.ts +33 -0
- package/dist/apis/McpApi.js +88 -0
- package/dist/models/AgentBuilderMcpConfigurationUio.d.ts +32 -0
- package/dist/models/AgentBuilderMcpConfigurationUio.js +48 -0
- package/dist/models/AgentPatchUio.d.ts +7 -0
- package/dist/models/AgentPatchUio.js +3 -0
- package/dist/models/AgentUio.d.ts +7 -0
- package/dist/models/AgentUio.js +3 -0
- package/dist/models/ToolAllowedToolsRequestUio.d.ts +16 -0
- package/dist/models/ToolAllowedToolsRequestUio.js +10 -0
- package/dist/models/ToolAllowedToolsResponseUio.d.ts +16 -0
- package/dist/models/ToolAllowedToolsResponseUio.js +10 -0
- package/dist/models/ToolApprovalUio.d.ts +2 -1
- package/dist/models/ToolApprovalUio.js +2 -1
- package/dist/models/ToolCallResultRequestUio.d.ts +1 -1
- package/dist/models/ToolCallUio.d.ts +1 -1
- package/dist/models/ToolSecureMcpUio.d.ts +16 -0
- package/dist/models/ToolSecureMcpUio.js +10 -0
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.js +1 -0
- package/dist/openapi.json +129 -4
- package/package.json +1 -1
package/dist/apis/McpApi.d.ts
CHANGED
|
@@ -17,6 +17,9 @@ export interface DeleteMcpSessionRequest {
|
|
|
17
17
|
export interface GetMcpStreamRequest {
|
|
18
18
|
organizationId: string;
|
|
19
19
|
}
|
|
20
|
+
export interface HandleBuilderMcpRequestRequest {
|
|
21
|
+
mcpJsonRpcRequestUio: McpJsonRpcRequestUio;
|
|
22
|
+
}
|
|
20
23
|
export interface HandleMcpRequestRequest {
|
|
21
24
|
organizationId: string;
|
|
22
25
|
mcpJsonRpcRequestUio: McpJsonRpcRequestUio;
|
|
@@ -25,6 +28,16 @@ export interface HandleMcpRequestRequest {
|
|
|
25
28
|
*
|
|
26
29
|
*/
|
|
27
30
|
export declare class McpApi extends runtime.BaseAPI {
|
|
31
|
+
/**
|
|
32
|
+
* Aucune session à clore : le transport est sans état.
|
|
33
|
+
* Not supported (stateless MCP server)
|
|
34
|
+
*/
|
|
35
|
+
deleteBuilderMcpSessionRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
|
|
36
|
+
/**
|
|
37
|
+
* Aucune session à clore : le transport est sans état.
|
|
38
|
+
* Not supported (stateless MCP server)
|
|
39
|
+
*/
|
|
40
|
+
deleteBuilderMcpSession(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
|
|
28
41
|
/**
|
|
29
42
|
* Aucune session à clore : le transport est sans état.
|
|
30
43
|
* Not supported (stateless MCP server)
|
|
@@ -35,6 +48,16 @@ export declare class McpApi extends runtime.BaseAPI {
|
|
|
35
48
|
* Not supported (stateless MCP server)
|
|
36
49
|
*/
|
|
37
50
|
deleteMcpSession(organizationId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Pas de flux SSE côté serveur : le transport est sans état.
|
|
53
|
+
* Not supported (stateless MCP server)
|
|
54
|
+
*/
|
|
55
|
+
getBuilderMcpStreamRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
|
|
56
|
+
/**
|
|
57
|
+
* Pas de flux SSE côté serveur : le transport est sans état.
|
|
58
|
+
* Not supported (stateless MCP server)
|
|
59
|
+
*/
|
|
60
|
+
getBuilderMcpStream(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
|
|
38
61
|
/**
|
|
39
62
|
* Pas de flux SSE côté serveur : le transport est sans état.
|
|
40
63
|
* Not supported (stateless MCP server)
|
|
@@ -45,6 +68,16 @@ export declare class McpApi extends runtime.BaseAPI {
|
|
|
45
68
|
* Not supported (stateless MCP server)
|
|
46
69
|
*/
|
|
47
70
|
getMcpStream(organizationId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Serveur MCP (Model Context Protocol, transport Streamable HTTP, sans état) qui crée et édite les agents des organisations de l\'utilisateur : de quoi brancher Claude Code, ou tout client MCP, sur la configuration de Breign. Lié à la clé et non à une organisation : chaque outil vérifie que l\'utilisateur est membre de celle qu\'il touche. Distinct du serveur `/organizations/{organizationId}/mcp`, qui ne sert qu\'à interroger les agents : brancher l\'un ne donne pas les droits d\'écriture de l\'autre. Authentification 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. Chaque action est faite au nom du propriétaire de la clé, avec ses droits. Outils exposés — lecture : - `list_organizations` — organisations dont l\'utilisateur est membre. - `list_agents` `{ organizationId }` — agents de l\'organisation. - `get_agent` `{ agentId }` — configuration d\'un agent : textes, moteur, skills et bases de connaissance rattachés. - `list_engines` `{ organizationId }` — providers de l\'organisation et leurs modèles. - `list_skills` `{ organizationId }` — skills de l\'organisation. - `list_knowledge_bases` `{ organizationId }` — bases de connaissance de l\'organisation. Outils exposés — écriture (jamais de suppression ni de détachement) : - `create_agent` `{ organizationId, name, persona, promptInit?, description?, role?, defaultLanguage? }`. - `update_agent` `{ agentId, name?, description?, role?, defaultLanguage?, persona?, promptInit?, isActivated? }` — `null` ou absent : champ inchangé. - `set_agent_engine` `{ agentId, providerId, model }`. - `attach_skill` `{ agentId, skillId }` — ajoute un skill, sans retirer les autres. - `attach_knowledge_base` `{ agentId, knowledgeBaseId }` — ajoute une base, sans retirer les autres. Un agent Breign dont `builderMcpConfiguration.enabled` est vrai reçoit les mêmes outils, au nom de l\'utilisateur de la conversation, bornés à l\'organisation de l\'agent (ni `list_organizations` ni `organizationId`) ; chaque écriture lui demande alors son approbation. Configuration d\'un client, par exemple Claude Code : `claude mcp add --transport http breign-builder https://<api>/mcp/builder --header \"Authorization: Bearer ai-…\"`. Le client doit accepter `application/json` et `text/event-stream` (header `Accept`).
|
|
73
|
+
* Builder MCP server
|
|
74
|
+
*/
|
|
75
|
+
handleBuilderMcpRequestRaw(requestParameters: HandleBuilderMcpRequestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<McpJsonRpcResponseUio>>;
|
|
76
|
+
/**
|
|
77
|
+
* Serveur MCP (Model Context Protocol, transport Streamable HTTP, sans état) qui crée et édite les agents des organisations de l\'utilisateur : de quoi brancher Claude Code, ou tout client MCP, sur la configuration de Breign. Lié à la clé et non à une organisation : chaque outil vérifie que l\'utilisateur est membre de celle qu\'il touche. Distinct du serveur `/organizations/{organizationId}/mcp`, qui ne sert qu\'à interroger les agents : brancher l\'un ne donne pas les droits d\'écriture de l\'autre. Authentification 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. Chaque action est faite au nom du propriétaire de la clé, avec ses droits. Outils exposés — lecture : - `list_organizations` — organisations dont l\'utilisateur est membre. - `list_agents` `{ organizationId }` — agents de l\'organisation. - `get_agent` `{ agentId }` — configuration d\'un agent : textes, moteur, skills et bases de connaissance rattachés. - `list_engines` `{ organizationId }` — providers de l\'organisation et leurs modèles. - `list_skills` `{ organizationId }` — skills de l\'organisation. - `list_knowledge_bases` `{ organizationId }` — bases de connaissance de l\'organisation. Outils exposés — écriture (jamais de suppression ni de détachement) : - `create_agent` `{ organizationId, name, persona, promptInit?, description?, role?, defaultLanguage? }`. - `update_agent` `{ agentId, name?, description?, role?, defaultLanguage?, persona?, promptInit?, isActivated? }` — `null` ou absent : champ inchangé. - `set_agent_engine` `{ agentId, providerId, model }`. - `attach_skill` `{ agentId, skillId }` — ajoute un skill, sans retirer les autres. - `attach_knowledge_base` `{ agentId, knowledgeBaseId }` — ajoute une base, sans retirer les autres. Un agent Breign dont `builderMcpConfiguration.enabled` est vrai reçoit les mêmes outils, au nom de l\'utilisateur de la conversation, bornés à l\'organisation de l\'agent (ni `list_organizations` ni `organizationId`) ; chaque écriture lui demande alors son approbation. Configuration d\'un client, par exemple Claude Code : `claude mcp add --transport http breign-builder https://<api>/mcp/builder --header \"Authorization: Bearer ai-…\"`. Le client doit accepter `application/json` et `text/event-stream` (header `Accept`).
|
|
78
|
+
* Builder MCP server
|
|
79
|
+
*/
|
|
80
|
+
handleBuilderMcpRequest(mcpJsonRpcRequestUio: McpJsonRpcRequestUio, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<McpJsonRpcResponseUio | null | undefined>;
|
|
48
81
|
/**
|
|
49
82
|
* 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. Authentification 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. Outils exposés : - `list_agents` — agents joignables, avec leur rôle et leur description. - `ask_agent` `{ agentId, message, conversationId?, waitSeconds? }` — pose une question ; attend la réponse jusqu\'à `waitSeconds` (25 s par défaut, 50 s max), sinon rend un ticket. - `wait_for_reply` `{ ticket, timeoutSeconds? }` — attend la réponse d\'un ticket (45 s par défaut, 50 s max). Chaque 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. Configuration 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`).
|
|
50
83
|
* MCP server for local agents
|
package/dist/apis/McpApi.js
CHANGED
|
@@ -53,6 +53,31 @@ const index_1 = require("../models/index");
|
|
|
53
53
|
*
|
|
54
54
|
*/
|
|
55
55
|
class McpApi extends runtime.BaseAPI {
|
|
56
|
+
/**
|
|
57
|
+
* Aucune session à clore : le transport est sans état.
|
|
58
|
+
* Not supported (stateless MCP server)
|
|
59
|
+
*/
|
|
60
|
+
async deleteBuilderMcpSessionRaw(initOverrides) {
|
|
61
|
+
const queryParameters = {};
|
|
62
|
+
const headerParameters = {};
|
|
63
|
+
if (this.configuration && this.configuration.apiKey) {
|
|
64
|
+
headerParameters["X-API-Key"] = await this.configuration.apiKey("X-API-Key"); // ApiKeyAuth authentication
|
|
65
|
+
}
|
|
66
|
+
const response = await this.request({
|
|
67
|
+
path: `/mcp/builder`,
|
|
68
|
+
method: 'DELETE',
|
|
69
|
+
headers: headerParameters,
|
|
70
|
+
query: queryParameters,
|
|
71
|
+
}, initOverrides);
|
|
72
|
+
return new runtime.VoidApiResponse(response);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Aucune session à clore : le transport est sans état.
|
|
76
|
+
* Not supported (stateless MCP server)
|
|
77
|
+
*/
|
|
78
|
+
async deleteBuilderMcpSession(initOverrides) {
|
|
79
|
+
await this.deleteBuilderMcpSessionRaw(initOverrides);
|
|
80
|
+
}
|
|
56
81
|
/**
|
|
57
82
|
* Aucune session à clore : le transport est sans état.
|
|
58
83
|
* Not supported (stateless MCP server)
|
|
@@ -81,6 +106,31 @@ class McpApi extends runtime.BaseAPI {
|
|
|
81
106
|
async deleteMcpSession(organizationId, initOverrides) {
|
|
82
107
|
await this.deleteMcpSessionRaw({ organizationId: organizationId }, initOverrides);
|
|
83
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Pas de flux SSE côté serveur : le transport est sans état.
|
|
111
|
+
* Not supported (stateless MCP server)
|
|
112
|
+
*/
|
|
113
|
+
async getBuilderMcpStreamRaw(initOverrides) {
|
|
114
|
+
const queryParameters = {};
|
|
115
|
+
const headerParameters = {};
|
|
116
|
+
if (this.configuration && this.configuration.apiKey) {
|
|
117
|
+
headerParameters["X-API-Key"] = await this.configuration.apiKey("X-API-Key"); // ApiKeyAuth authentication
|
|
118
|
+
}
|
|
119
|
+
const response = await this.request({
|
|
120
|
+
path: `/mcp/builder`,
|
|
121
|
+
method: 'GET',
|
|
122
|
+
headers: headerParameters,
|
|
123
|
+
query: queryParameters,
|
|
124
|
+
}, initOverrides);
|
|
125
|
+
return new runtime.VoidApiResponse(response);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Pas de flux SSE côté serveur : le transport est sans état.
|
|
129
|
+
* Not supported (stateless MCP server)
|
|
130
|
+
*/
|
|
131
|
+
async getBuilderMcpStream(initOverrides) {
|
|
132
|
+
await this.getBuilderMcpStreamRaw(initOverrides);
|
|
133
|
+
}
|
|
84
134
|
/**
|
|
85
135
|
* Pas de flux SSE côté serveur : le transport est sans état.
|
|
86
136
|
* Not supported (stateless MCP server)
|
|
@@ -109,6 +159,44 @@ class McpApi extends runtime.BaseAPI {
|
|
|
109
159
|
async getMcpStream(organizationId, initOverrides) {
|
|
110
160
|
await this.getMcpStreamRaw({ organizationId: organizationId }, initOverrides);
|
|
111
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Serveur MCP (Model Context Protocol, transport Streamable HTTP, sans état) qui crée et édite les agents des organisations de l\'utilisateur : de quoi brancher Claude Code, ou tout client MCP, sur la configuration de Breign. Lié à la clé et non à une organisation : chaque outil vérifie que l\'utilisateur est membre de celle qu\'il touche. Distinct du serveur `/organizations/{organizationId}/mcp`, qui ne sert qu\'à interroger les agents : brancher l\'un ne donne pas les droits d\'écriture de l\'autre. Authentification 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. Chaque action est faite au nom du propriétaire de la clé, avec ses droits. Outils exposés — lecture : - `list_organizations` — organisations dont l\'utilisateur est membre. - `list_agents` `{ organizationId }` — agents de l\'organisation. - `get_agent` `{ agentId }` — configuration d\'un agent : textes, moteur, skills et bases de connaissance rattachés. - `list_engines` `{ organizationId }` — providers de l\'organisation et leurs modèles. - `list_skills` `{ organizationId }` — skills de l\'organisation. - `list_knowledge_bases` `{ organizationId }` — bases de connaissance de l\'organisation. Outils exposés — écriture (jamais de suppression ni de détachement) : - `create_agent` `{ organizationId, name, persona, promptInit?, description?, role?, defaultLanguage? }`. - `update_agent` `{ agentId, name?, description?, role?, defaultLanguage?, persona?, promptInit?, isActivated? }` — `null` ou absent : champ inchangé. - `set_agent_engine` `{ agentId, providerId, model }`. - `attach_skill` `{ agentId, skillId }` — ajoute un skill, sans retirer les autres. - `attach_knowledge_base` `{ agentId, knowledgeBaseId }` — ajoute une base, sans retirer les autres. Un agent Breign dont `builderMcpConfiguration.enabled` est vrai reçoit les mêmes outils, au nom de l\'utilisateur de la conversation, bornés à l\'organisation de l\'agent (ni `list_organizations` ni `organizationId`) ; chaque écriture lui demande alors son approbation. Configuration d\'un client, par exemple Claude Code : `claude mcp add --transport http breign-builder https://<api>/mcp/builder --header \"Authorization: Bearer ai-…\"`. Le client doit accepter `application/json` et `text/event-stream` (header `Accept`).
|
|
164
|
+
* Builder MCP server
|
|
165
|
+
*/
|
|
166
|
+
async handleBuilderMcpRequestRaw(requestParameters, initOverrides) {
|
|
167
|
+
if (requestParameters['mcpJsonRpcRequestUio'] == null) {
|
|
168
|
+
throw new runtime.RequiredError('mcpJsonRpcRequestUio', 'Required parameter "mcpJsonRpcRequestUio" was null or undefined when calling handleBuilderMcpRequest().');
|
|
169
|
+
}
|
|
170
|
+
const queryParameters = {};
|
|
171
|
+
const headerParameters = {};
|
|
172
|
+
headerParameters['Content-Type'] = 'application/json';
|
|
173
|
+
if (this.configuration && this.configuration.apiKey) {
|
|
174
|
+
headerParameters["X-API-Key"] = await this.configuration.apiKey("X-API-Key"); // ApiKeyAuth authentication
|
|
175
|
+
}
|
|
176
|
+
const response = await this.request({
|
|
177
|
+
path: `/mcp/builder`,
|
|
178
|
+
method: 'POST',
|
|
179
|
+
headers: headerParameters,
|
|
180
|
+
query: queryParameters,
|
|
181
|
+
body: (0, index_1.McpJsonRpcRequestUioToJSON)(requestParameters['mcpJsonRpcRequestUio']),
|
|
182
|
+
}, initOverrides);
|
|
183
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.McpJsonRpcResponseUioFromJSON)(jsonValue));
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Serveur MCP (Model Context Protocol, transport Streamable HTTP, sans état) qui crée et édite les agents des organisations de l\'utilisateur : de quoi brancher Claude Code, ou tout client MCP, sur la configuration de Breign. Lié à la clé et non à une organisation : chaque outil vérifie que l\'utilisateur est membre de celle qu\'il touche. Distinct du serveur `/organizations/{organizationId}/mcp`, qui ne sert qu\'à interroger les agents : brancher l\'un ne donne pas les droits d\'écriture de l\'autre. Authentification 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. Chaque action est faite au nom du propriétaire de la clé, avec ses droits. Outils exposés — lecture : - `list_organizations` — organisations dont l\'utilisateur est membre. - `list_agents` `{ organizationId }` — agents de l\'organisation. - `get_agent` `{ agentId }` — configuration d\'un agent : textes, moteur, skills et bases de connaissance rattachés. - `list_engines` `{ organizationId }` — providers de l\'organisation et leurs modèles. - `list_skills` `{ organizationId }` — skills de l\'organisation. - `list_knowledge_bases` `{ organizationId }` — bases de connaissance de l\'organisation. Outils exposés — écriture (jamais de suppression ni de détachement) : - `create_agent` `{ organizationId, name, persona, promptInit?, description?, role?, defaultLanguage? }`. - `update_agent` `{ agentId, name?, description?, role?, defaultLanguage?, persona?, promptInit?, isActivated? }` — `null` ou absent : champ inchangé. - `set_agent_engine` `{ agentId, providerId, model }`. - `attach_skill` `{ agentId, skillId }` — ajoute un skill, sans retirer les autres. - `attach_knowledge_base` `{ agentId, knowledgeBaseId }` — ajoute une base, sans retirer les autres. Un agent Breign dont `builderMcpConfiguration.enabled` est vrai reçoit les mêmes outils, au nom de l\'utilisateur de la conversation, bornés à l\'organisation de l\'agent (ni `list_organizations` ni `organizationId`) ; chaque écriture lui demande alors son approbation. Configuration d\'un client, par exemple Claude Code : `claude mcp add --transport http breign-builder https://<api>/mcp/builder --header \"Authorization: Bearer ai-…\"`. Le client doit accepter `application/json` et `text/event-stream` (header `Accept`).
|
|
187
|
+
* Builder MCP server
|
|
188
|
+
*/
|
|
189
|
+
async handleBuilderMcpRequest(mcpJsonRpcRequestUio, initOverrides) {
|
|
190
|
+
const response = await this.handleBuilderMcpRequestRaw({ mcpJsonRpcRequestUio: mcpJsonRpcRequestUio }, initOverrides);
|
|
191
|
+
switch (response.raw.status) {
|
|
192
|
+
case 200:
|
|
193
|
+
return await response.value();
|
|
194
|
+
case 202:
|
|
195
|
+
return null;
|
|
196
|
+
default:
|
|
197
|
+
return await response.value();
|
|
198
|
+
}
|
|
199
|
+
}
|
|
112
200
|
/**
|
|
113
201
|
* 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. Authentification 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. Outils exposés : - `list_agents` — agents joignables, avec leur rôle et leur description. - `ask_agent` `{ agentId, message, conversationId?, waitSeconds? }` — pose une question ; attend la réponse jusqu\'à `waitSeconds` (25 s par défaut, 50 s max), sinon rend un ticket. - `wait_for_reply` `{ ticket, timeoutSeconds? }` — attend la réponse d\'un ticket (45 s par défaut, 50 s max). Chaque 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. Configuration 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`).
|
|
114
202
|
* MCP server for local agents
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* brain-client
|
|
3
|
+
* Api ands models for brain-app and brain-app
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 0.0.0-SNAPSHOT
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Access to Breign's builder MCP server (create and edit the organisation's agents) from inside a conversation, acting as the user of that conversation. Opt-in; only an organisation admin can change it. Every write the agent makes through it asks the user for approval first.
|
|
14
|
+
* @export
|
|
15
|
+
* @interface AgentBuilderMcpConfigurationUio
|
|
16
|
+
*/
|
|
17
|
+
export interface AgentBuilderMcpConfigurationUio {
|
|
18
|
+
/**
|
|
19
|
+
* Gives this agent the builder tools.
|
|
20
|
+
* @type {boolean}
|
|
21
|
+
* @memberof AgentBuilderMcpConfigurationUio
|
|
22
|
+
*/
|
|
23
|
+
enabled?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check if a given object implements the AgentBuilderMcpConfigurationUio interface.
|
|
27
|
+
*/
|
|
28
|
+
export declare function instanceOfAgentBuilderMcpConfigurationUio(value: object): value is AgentBuilderMcpConfigurationUio;
|
|
29
|
+
export declare function AgentBuilderMcpConfigurationUioFromJSON(json: any): AgentBuilderMcpConfigurationUio;
|
|
30
|
+
export declare function AgentBuilderMcpConfigurationUioFromJSONTyped(json: any, ignoreDiscriminator: boolean): AgentBuilderMcpConfigurationUio;
|
|
31
|
+
export declare function AgentBuilderMcpConfigurationUioToJSON(json: any): AgentBuilderMcpConfigurationUio;
|
|
32
|
+
export declare function AgentBuilderMcpConfigurationUioToJSONTyped(value?: AgentBuilderMcpConfigurationUio | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
/**
|
|
5
|
+
* brain-client
|
|
6
|
+
* Api ands models for brain-app and brain-app
|
|
7
|
+
*
|
|
8
|
+
* The version of the OpenAPI document: 0.0.0-SNAPSHOT
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
12
|
+
* https://openapi-generator.tech
|
|
13
|
+
* Do not edit the class manually.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.instanceOfAgentBuilderMcpConfigurationUio = instanceOfAgentBuilderMcpConfigurationUio;
|
|
17
|
+
exports.AgentBuilderMcpConfigurationUioFromJSON = AgentBuilderMcpConfigurationUioFromJSON;
|
|
18
|
+
exports.AgentBuilderMcpConfigurationUioFromJSONTyped = AgentBuilderMcpConfigurationUioFromJSONTyped;
|
|
19
|
+
exports.AgentBuilderMcpConfigurationUioToJSON = AgentBuilderMcpConfigurationUioToJSON;
|
|
20
|
+
exports.AgentBuilderMcpConfigurationUioToJSONTyped = AgentBuilderMcpConfigurationUioToJSONTyped;
|
|
21
|
+
/**
|
|
22
|
+
* Check if a given object implements the AgentBuilderMcpConfigurationUio interface.
|
|
23
|
+
*/
|
|
24
|
+
function instanceOfAgentBuilderMcpConfigurationUio(value) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
function AgentBuilderMcpConfigurationUioFromJSON(json) {
|
|
28
|
+
return AgentBuilderMcpConfigurationUioFromJSONTyped(json, false);
|
|
29
|
+
}
|
|
30
|
+
function AgentBuilderMcpConfigurationUioFromJSONTyped(json, ignoreDiscriminator) {
|
|
31
|
+
if (json == null) {
|
|
32
|
+
return json;
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
'enabled': json['enabled'] == null ? undefined : json['enabled'],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function AgentBuilderMcpConfigurationUioToJSON(json) {
|
|
39
|
+
return AgentBuilderMcpConfigurationUioToJSONTyped(json, false);
|
|
40
|
+
}
|
|
41
|
+
function AgentBuilderMcpConfigurationUioToJSONTyped(value, ignoreDiscriminator = false) {
|
|
42
|
+
if (value == null) {
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
'enabled': value['enabled'],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
@@ -17,6 +17,7 @@ import type { AgentSandboxConfigurationUio } from './AgentSandboxConfigurationUi
|
|
|
17
17
|
import type { AgentMcpExposureConfigurationUio } from './AgentMcpExposureConfigurationUio';
|
|
18
18
|
import type { AgentSubscriptionUio } from './AgentSubscriptionUio';
|
|
19
19
|
import type { AgentCodeModeConfigurationUio } from './AgentCodeModeConfigurationUio';
|
|
20
|
+
import type { AgentBuilderMcpConfigurationUio } from './AgentBuilderMcpConfigurationUio';
|
|
20
21
|
import type { SpeechToTextConfigUio } from './SpeechToTextConfigUio';
|
|
21
22
|
import type { AgentMemoryConfigurationUio } from './AgentMemoryConfigurationUio';
|
|
22
23
|
import type { AgentPatchEngineUio } from './AgentPatchEngineUio';
|
|
@@ -201,6 +202,12 @@ export interface AgentPatchUio {
|
|
|
201
202
|
* @memberof AgentPatchUio
|
|
202
203
|
*/
|
|
203
204
|
mcpExposureConfiguration?: AgentMcpExposureConfigurationUio | null;
|
|
205
|
+
/**
|
|
206
|
+
*
|
|
207
|
+
* @type {AgentBuilderMcpConfigurationUio}
|
|
208
|
+
* @memberof AgentPatchUio
|
|
209
|
+
*/
|
|
210
|
+
builderMcpConfiguration?: AgentBuilderMcpConfigurationUio | null;
|
|
204
211
|
/**
|
|
205
212
|
*
|
|
206
213
|
* @type {AgentHumanEscalationConfigurationUio}
|
|
@@ -26,6 +26,7 @@ const AgentSandboxConfigurationUio_1 = require("./AgentSandboxConfigurationUio")
|
|
|
26
26
|
const AgentMcpExposureConfigurationUio_1 = require("./AgentMcpExposureConfigurationUio");
|
|
27
27
|
const AgentSubscriptionUio_1 = require("./AgentSubscriptionUio");
|
|
28
28
|
const AgentCodeModeConfigurationUio_1 = require("./AgentCodeModeConfigurationUio");
|
|
29
|
+
const AgentBuilderMcpConfigurationUio_1 = require("./AgentBuilderMcpConfigurationUio");
|
|
29
30
|
const SpeechToTextConfigUio_1 = require("./SpeechToTextConfigUio");
|
|
30
31
|
const AgentMemoryConfigurationUio_1 = require("./AgentMemoryConfigurationUio");
|
|
31
32
|
const AgentPatchEngineUio_1 = require("./AgentPatchEngineUio");
|
|
@@ -74,6 +75,7 @@ function AgentPatchUioFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
74
75
|
'computerUseConfiguration': json['computerUseConfiguration'] == null ? undefined : (0, AgentComputerUseConfigurationUio_1.AgentComputerUseConfigurationUioFromJSON)(json['computerUseConfiguration']),
|
|
75
76
|
'agentCallConfiguration': json['agentCallConfiguration'] == null ? undefined : (0, AgentCallConfigurationUio_1.AgentCallConfigurationUioFromJSON)(json['agentCallConfiguration']),
|
|
76
77
|
'mcpExposureConfiguration': json['mcpExposureConfiguration'] == null ? undefined : (0, AgentMcpExposureConfigurationUio_1.AgentMcpExposureConfigurationUioFromJSON)(json['mcpExposureConfiguration']),
|
|
78
|
+
'builderMcpConfiguration': json['builderMcpConfiguration'] == null ? undefined : (0, AgentBuilderMcpConfigurationUio_1.AgentBuilderMcpConfigurationUioFromJSON)(json['builderMcpConfiguration']),
|
|
77
79
|
'humanEscalationConfiguration': json['humanEscalationConfiguration'] == null ? undefined : (0, AgentHumanEscalationConfigurationUio_1.AgentHumanEscalationConfigurationUioFromJSON)(json['humanEscalationConfiguration']),
|
|
78
80
|
'codeModeConfiguration': json['codeModeConfiguration'] == null ? undefined : (0, AgentCodeModeConfigurationUio_1.AgentCodeModeConfigurationUioFromJSON)(json['codeModeConfiguration']),
|
|
79
81
|
};
|
|
@@ -114,6 +116,7 @@ function AgentPatchUioToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
114
116
|
'computerUseConfiguration': (0, AgentComputerUseConfigurationUio_1.AgentComputerUseConfigurationUioToJSON)(value['computerUseConfiguration']),
|
|
115
117
|
'agentCallConfiguration': (0, AgentCallConfigurationUio_1.AgentCallConfigurationUioToJSON)(value['agentCallConfiguration']),
|
|
116
118
|
'mcpExposureConfiguration': (0, AgentMcpExposureConfigurationUio_1.AgentMcpExposureConfigurationUioToJSON)(value['mcpExposureConfiguration']),
|
|
119
|
+
'builderMcpConfiguration': (0, AgentBuilderMcpConfigurationUio_1.AgentBuilderMcpConfigurationUioToJSON)(value['builderMcpConfiguration']),
|
|
117
120
|
'humanEscalationConfiguration': (0, AgentHumanEscalationConfigurationUio_1.AgentHumanEscalationConfigurationUioToJSON)(value['humanEscalationConfiguration']),
|
|
118
121
|
'codeModeConfiguration': (0, AgentCodeModeConfigurationUio_1.AgentCodeModeConfigurationUioToJSON)(value['codeModeConfiguration']),
|
|
119
122
|
};
|
|
@@ -21,6 +21,7 @@ import type { AgentSubscriptionUio } from './AgentSubscriptionUio';
|
|
|
21
21
|
import type { AgentToolUio } from './AgentToolUio';
|
|
22
22
|
import type { AgentCodeModeConfigurationUio } from './AgentCodeModeConfigurationUio';
|
|
23
23
|
import type { AgentCreatorUio } from './AgentCreatorUio';
|
|
24
|
+
import type { AgentBuilderMcpConfigurationUio } from './AgentBuilderMcpConfigurationUio';
|
|
24
25
|
import type { SpeechToTextConfigUio } from './SpeechToTextConfigUio';
|
|
25
26
|
import type { AgentMemoryConfigurationUio } from './AgentMemoryConfigurationUio';
|
|
26
27
|
import type { AgentTypeUio } from './AgentTypeUio';
|
|
@@ -222,6 +223,12 @@ export interface AgentUio {
|
|
|
222
223
|
* @memberof AgentUio
|
|
223
224
|
*/
|
|
224
225
|
mcpExposureConfiguration?: AgentMcpExposureConfigurationUio | null;
|
|
226
|
+
/**
|
|
227
|
+
*
|
|
228
|
+
* @type {AgentBuilderMcpConfigurationUio}
|
|
229
|
+
* @memberof AgentUio
|
|
230
|
+
*/
|
|
231
|
+
builderMcpConfiguration?: AgentBuilderMcpConfigurationUio | null;
|
|
225
232
|
/**
|
|
226
233
|
*
|
|
227
234
|
* @type {AgentHumanEscalationConfigurationUio}
|
package/dist/models/AgentUio.js
CHANGED
|
@@ -31,6 +31,7 @@ const AgentSubscriptionUio_1 = require("./AgentSubscriptionUio");
|
|
|
31
31
|
const AgentToolUio_1 = require("./AgentToolUio");
|
|
32
32
|
const AgentCodeModeConfigurationUio_1 = require("./AgentCodeModeConfigurationUio");
|
|
33
33
|
const AgentCreatorUio_1 = require("./AgentCreatorUio");
|
|
34
|
+
const AgentBuilderMcpConfigurationUio_1 = require("./AgentBuilderMcpConfigurationUio");
|
|
34
35
|
const SpeechToTextConfigUio_1 = require("./SpeechToTextConfigUio");
|
|
35
36
|
const AgentMemoryConfigurationUio_1 = require("./AgentMemoryConfigurationUio");
|
|
36
37
|
const AgentTypeUio_1 = require("./AgentTypeUio");
|
|
@@ -107,6 +108,7 @@ function AgentUioFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
107
108
|
'computerUseConfiguration': json['computerUseConfiguration'] == null ? undefined : (0, AgentComputerUseConfigurationUio_1.AgentComputerUseConfigurationUioFromJSON)(json['computerUseConfiguration']),
|
|
108
109
|
'agentCallConfiguration': json['agentCallConfiguration'] == null ? undefined : (0, AgentCallConfigurationUio_1.AgentCallConfigurationUioFromJSON)(json['agentCallConfiguration']),
|
|
109
110
|
'mcpExposureConfiguration': json['mcpExposureConfiguration'] == null ? undefined : (0, AgentMcpExposureConfigurationUio_1.AgentMcpExposureConfigurationUioFromJSON)(json['mcpExposureConfiguration']),
|
|
111
|
+
'builderMcpConfiguration': json['builderMcpConfiguration'] == null ? undefined : (0, AgentBuilderMcpConfigurationUio_1.AgentBuilderMcpConfigurationUioFromJSON)(json['builderMcpConfiguration']),
|
|
110
112
|
'humanEscalationConfiguration': json['humanEscalationConfiguration'] == null ? undefined : (0, AgentHumanEscalationConfigurationUio_1.AgentHumanEscalationConfigurationUioFromJSON)(json['humanEscalationConfiguration']),
|
|
111
113
|
'codeModeConfiguration': json['codeModeConfiguration'] == null ? undefined : (0, AgentCodeModeConfigurationUio_1.AgentCodeModeConfigurationUioFromJSON)(json['codeModeConfiguration']),
|
|
112
114
|
'creator': json['creator'] == null ? undefined : (0, AgentCreatorUio_1.AgentCreatorUioFromJSON)(json['creator']),
|
|
@@ -155,6 +157,7 @@ function AgentUioToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
155
157
|
'computerUseConfiguration': (0, AgentComputerUseConfigurationUio_1.AgentComputerUseConfigurationUioToJSON)(value['computerUseConfiguration']),
|
|
156
158
|
'agentCallConfiguration': (0, AgentCallConfigurationUio_1.AgentCallConfigurationUioToJSON)(value['agentCallConfiguration']),
|
|
157
159
|
'mcpExposureConfiguration': (0, AgentMcpExposureConfigurationUio_1.AgentMcpExposureConfigurationUioToJSON)(value['mcpExposureConfiguration']),
|
|
160
|
+
'builderMcpConfiguration': (0, AgentBuilderMcpConfigurationUio_1.AgentBuilderMcpConfigurationUioToJSON)(value['builderMcpConfiguration']),
|
|
158
161
|
'humanEscalationConfiguration': (0, AgentHumanEscalationConfigurationUio_1.AgentHumanEscalationConfigurationUioToJSON)(value['humanEscalationConfiguration']),
|
|
159
162
|
'codeModeConfiguration': (0, AgentCodeModeConfigurationUio_1.AgentCodeModeConfigurationUioToJSON)(value['codeModeConfiguration']),
|
|
160
163
|
'creator': (0, AgentCreatorUio_1.AgentCreatorUioToJSON)(value['creator']),
|
|
@@ -21,7 +21,23 @@ export interface ToolAllowedToolsRequestUio {
|
|
|
21
21
|
* @memberof ToolAllowedToolsRequestUio
|
|
22
22
|
*/
|
|
23
23
|
allowedTools: Set<string>;
|
|
24
|
+
/**
|
|
25
|
+
* Quand un appel de l'outil demande l'approbation de l'utilisateur, par nom d'outil. Absent : automatique — demandée sauf si le serveur déclare l'outil en lecture seule (readOnlyHint). always : toujours demander, et refuser l'appel quand personne ne peut répondre (tâche planifiée, widget, appel entre agents). never : ne jamais demander.
|
|
26
|
+
* @type {{ [key: string]: string; }}
|
|
27
|
+
* @memberof ToolAllowedToolsRequestUio
|
|
28
|
+
*/
|
|
29
|
+
approvalModes?: {
|
|
30
|
+
[key: string]: string;
|
|
31
|
+
};
|
|
24
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* @export
|
|
35
|
+
*/
|
|
36
|
+
export declare const ToolAllowedToolsRequestUioApprovalModesEnum: {
|
|
37
|
+
readonly Always: "always";
|
|
38
|
+
readonly Never: "never";
|
|
39
|
+
};
|
|
40
|
+
export type ToolAllowedToolsRequestUioApprovalModesEnum = typeof ToolAllowedToolsRequestUioApprovalModesEnum[keyof typeof ToolAllowedToolsRequestUioApprovalModesEnum];
|
|
25
41
|
/**
|
|
26
42
|
* Check if a given object implements the ToolAllowedToolsRequestUio interface.
|
|
27
43
|
*/
|
|
@@ -13,11 +13,19 @@
|
|
|
13
13
|
* Do not edit the class manually.
|
|
14
14
|
*/
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.ToolAllowedToolsRequestUioApprovalModesEnum = void 0;
|
|
16
17
|
exports.instanceOfToolAllowedToolsRequestUio = instanceOfToolAllowedToolsRequestUio;
|
|
17
18
|
exports.ToolAllowedToolsRequestUioFromJSON = ToolAllowedToolsRequestUioFromJSON;
|
|
18
19
|
exports.ToolAllowedToolsRequestUioFromJSONTyped = ToolAllowedToolsRequestUioFromJSONTyped;
|
|
19
20
|
exports.ToolAllowedToolsRequestUioToJSON = ToolAllowedToolsRequestUioToJSON;
|
|
20
21
|
exports.ToolAllowedToolsRequestUioToJSONTyped = ToolAllowedToolsRequestUioToJSONTyped;
|
|
22
|
+
/**
|
|
23
|
+
* @export
|
|
24
|
+
*/
|
|
25
|
+
exports.ToolAllowedToolsRequestUioApprovalModesEnum = {
|
|
26
|
+
Always: 'always',
|
|
27
|
+
Never: 'never'
|
|
28
|
+
};
|
|
21
29
|
/**
|
|
22
30
|
* Check if a given object implements the ToolAllowedToolsRequestUio interface.
|
|
23
31
|
*/
|
|
@@ -35,6 +43,7 @@ function ToolAllowedToolsRequestUioFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
35
43
|
}
|
|
36
44
|
return {
|
|
37
45
|
'allowedTools': new Set(json['allowedTools']),
|
|
46
|
+
'approvalModes': json['approvalModes'] == null ? undefined : json['approvalModes'],
|
|
38
47
|
};
|
|
39
48
|
}
|
|
40
49
|
function ToolAllowedToolsRequestUioToJSON(json) {
|
|
@@ -46,5 +55,6 @@ function ToolAllowedToolsRequestUioToJSONTyped(value, ignoreDiscriminator = fals
|
|
|
46
55
|
}
|
|
47
56
|
return {
|
|
48
57
|
'allowedTools': Array.from(value['allowedTools']),
|
|
58
|
+
'approvalModes': value['approvalModes'],
|
|
49
59
|
};
|
|
50
60
|
}
|
|
@@ -21,7 +21,23 @@ export interface ToolAllowedToolsResponseUio {
|
|
|
21
21
|
* @memberof ToolAllowedToolsResponseUio
|
|
22
22
|
*/
|
|
23
23
|
allowedTools: Array<string>;
|
|
24
|
+
/**
|
|
25
|
+
* Quand un appel de l'outil demande l'approbation de l'utilisateur, par nom d'outil. Absent : automatique — demandée sauf si le serveur déclare l'outil en lecture seule (readOnlyHint). always : toujours demander, et refuser l'appel quand personne ne peut répondre (tâche planifiée, widget, appel entre agents). never : ne jamais demander.
|
|
26
|
+
* @type {{ [key: string]: string; }}
|
|
27
|
+
* @memberof ToolAllowedToolsResponseUio
|
|
28
|
+
*/
|
|
29
|
+
approvalModes?: {
|
|
30
|
+
[key: string]: string;
|
|
31
|
+
};
|
|
24
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* @export
|
|
35
|
+
*/
|
|
36
|
+
export declare const ToolAllowedToolsResponseUioApprovalModesEnum: {
|
|
37
|
+
readonly Always: "always";
|
|
38
|
+
readonly Never: "never";
|
|
39
|
+
};
|
|
40
|
+
export type ToolAllowedToolsResponseUioApprovalModesEnum = typeof ToolAllowedToolsResponseUioApprovalModesEnum[keyof typeof ToolAllowedToolsResponseUioApprovalModesEnum];
|
|
25
41
|
/**
|
|
26
42
|
* Check if a given object implements the ToolAllowedToolsResponseUio interface.
|
|
27
43
|
*/
|
|
@@ -13,11 +13,19 @@
|
|
|
13
13
|
* Do not edit the class manually.
|
|
14
14
|
*/
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.ToolAllowedToolsResponseUioApprovalModesEnum = void 0;
|
|
16
17
|
exports.instanceOfToolAllowedToolsResponseUio = instanceOfToolAllowedToolsResponseUio;
|
|
17
18
|
exports.ToolAllowedToolsResponseUioFromJSON = ToolAllowedToolsResponseUioFromJSON;
|
|
18
19
|
exports.ToolAllowedToolsResponseUioFromJSONTyped = ToolAllowedToolsResponseUioFromJSONTyped;
|
|
19
20
|
exports.ToolAllowedToolsResponseUioToJSON = ToolAllowedToolsResponseUioToJSON;
|
|
20
21
|
exports.ToolAllowedToolsResponseUioToJSONTyped = ToolAllowedToolsResponseUioToJSONTyped;
|
|
22
|
+
/**
|
|
23
|
+
* @export
|
|
24
|
+
*/
|
|
25
|
+
exports.ToolAllowedToolsResponseUioApprovalModesEnum = {
|
|
26
|
+
Always: 'always',
|
|
27
|
+
Never: 'never'
|
|
28
|
+
};
|
|
21
29
|
/**
|
|
22
30
|
* Check if a given object implements the ToolAllowedToolsResponseUio interface.
|
|
23
31
|
*/
|
|
@@ -35,6 +43,7 @@ function ToolAllowedToolsResponseUioFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
35
43
|
}
|
|
36
44
|
return {
|
|
37
45
|
'allowedTools': json['allowedTools'],
|
|
46
|
+
'approvalModes': json['approvalModes'] == null ? undefined : json['approvalModes'],
|
|
38
47
|
};
|
|
39
48
|
}
|
|
40
49
|
function ToolAllowedToolsResponseUioToJSON(json) {
|
|
@@ -46,5 +55,6 @@ function ToolAllowedToolsResponseUioToJSONTyped(value, ignoreDiscriminator = fal
|
|
|
46
55
|
}
|
|
47
56
|
return {
|
|
48
57
|
'allowedTools': value['allowedTools'],
|
|
58
|
+
'approvalModes': value['approvalModes'],
|
|
49
59
|
};
|
|
50
60
|
}
|
|
@@ -34,7 +34,7 @@ export interface ToolApprovalUio {
|
|
|
34
34
|
*/
|
|
35
35
|
toolName: string;
|
|
36
36
|
/**
|
|
37
|
-
* Which family the approval belongs to. url is an address the agent sandbox may reach; urlPattern is a glob covering a whole site, subdomains included; command is one exact command line it may run.
|
|
37
|
+
* Which family the approval belongs to. url is an address the agent sandbox may reach; urlPattern is a glob covering a whole site, subdomains included; command is one exact command line it may run; mcpTool is an MCP tool that writes, as server/tool (for example builder/update_agent), whatever its arguments — stored under toolName mcp. An mcpTool approval is only ever born of a question the agent asked: it cannot be created or edited by hand.
|
|
38
38
|
* @type {string}
|
|
39
39
|
* @memberof ToolApprovalUio
|
|
40
40
|
*/
|
|
@@ -73,6 +73,7 @@ export declare const ToolApprovalUioResourceKindEnum: {
|
|
|
73
73
|
readonly Url: "url";
|
|
74
74
|
readonly Command: "command";
|
|
75
75
|
readonly UrlPattern: "urlPattern";
|
|
76
|
+
readonly McpTool: "mcpTool";
|
|
76
77
|
};
|
|
77
78
|
export type ToolApprovalUioResourceKindEnum = typeof ToolApprovalUioResourceKindEnum[keyof typeof ToolApprovalUioResourceKindEnum];
|
|
78
79
|
/**
|
|
@@ -32,7 +32,8 @@ exports.ToolApprovalUioScopeKindEnum = {
|
|
|
32
32
|
exports.ToolApprovalUioResourceKindEnum = {
|
|
33
33
|
Url: 'url',
|
|
34
34
|
Command: 'command',
|
|
35
|
-
UrlPattern: 'urlPattern'
|
|
35
|
+
UrlPattern: 'urlPattern',
|
|
36
|
+
McpTool: 'mcpTool'
|
|
36
37
|
};
|
|
37
38
|
/**
|
|
38
39
|
* Check if a given object implements the ToolApprovalUio interface.
|
|
@@ -41,7 +41,7 @@ export interface ToolCallResultRequestUio {
|
|
|
41
41
|
*/
|
|
42
42
|
error?: string;
|
|
43
43
|
/**
|
|
44
|
-
* Only read when resolving a bash_network_approval or
|
|
44
|
+
* Only read when resolving a bash_network_approval, bash_command_approval or mcp_tool_approval call with status completed: how far the approval reaches. once — the suspended reply and nothing after it, so the same request is asked about again next time — is the default, and nothing is stored. agentUser covers this agent, for this user, across all of their conversations, and is kept until revoked. Any other value is refused with a 400. Never widens what the agent is allowed to do: the server-side lock and the per-agent switch remain prerequisites. Only the user the question was asked of may answer it: an approval is a personal consent, so another caller — an admin included — gets a 403.
|
|
45
45
|
* @type {string}
|
|
46
46
|
* @memberof ToolCallResultRequestUio
|
|
47
47
|
*/
|
|
@@ -22,7 +22,7 @@ export interface ToolCallUio {
|
|
|
22
22
|
*/
|
|
23
23
|
callId: string;
|
|
24
24
|
/**
|
|
25
|
-
* Name of the tool the model called.
|
|
25
|
+
* Name of the tool the model called. Four values are produced by the server today. mcp_tool_approval asks permission to run an MCP tool: a write of the builder server, which creates and edits agents, or a tool of an MCP server configured in the organisation, by its approval mode (see Tool.mcp.approvalModes). arguments carries server (builder, or the id of the organisation's tool), serverName (the name to show), tool and arguments (the exact call the model wants to make), and — builder only — preview — what the call changes, for display only: tool, agentName, changes (field, before when something existed, after, with names instead of ids, unchanged fields left out) and warnings (deactivates, rewritesInstructions, changesEngine); null when it could not be built. Allow once covers exactly these arguments; agentUser covers the tool whatever its arguments. take_screenshot asks the client to capture the screen. bash_network_approval is an agent sandbox asking permission to reach an address: arguments carries url (the full address, to be shown as-is), urlPrefix (what a yes actually grants), origin, host and method. bash_command_approval is an agent sandbox asking permission to run a command through one of its interpreters — python3 or js-exec: arguments carries command, which is both what has to be shown in full and exactly what a yes grants — nothing ran, so a refusal leaves the sandbox untouched. Calls named bash_python_approval, the name this last one carried while python was the only interpreter, may still be waiting in older conversations and resolve exactly the same way.
|
|
26
26
|
* @type {string}
|
|
27
27
|
* @memberof ToolCallUio
|
|
28
28
|
*/
|
|
@@ -35,7 +35,23 @@ export interface ToolSecureMcpUio {
|
|
|
35
35
|
* @memberof ToolSecureMcpUio
|
|
36
36
|
*/
|
|
37
37
|
allowedTools?: Array<string>;
|
|
38
|
+
/**
|
|
39
|
+
* Quand un appel de l'outil demande l'approbation de l'utilisateur, par nom d'outil. Absent : automatique — demandée sauf si le serveur déclare l'outil en lecture seule (readOnlyHint). always : toujours demander, et refuser l'appel quand personne ne peut répondre (tâche planifiée, widget, appel entre agents). never : ne jamais demander.
|
|
40
|
+
* @type {{ [key: string]: string; }}
|
|
41
|
+
* @memberof ToolSecureMcpUio
|
|
42
|
+
*/
|
|
43
|
+
approvalModes?: {
|
|
44
|
+
[key: string]: string;
|
|
45
|
+
};
|
|
38
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* @export
|
|
49
|
+
*/
|
|
50
|
+
export declare const ToolSecureMcpUioApprovalModesEnum: {
|
|
51
|
+
readonly Always: "always";
|
|
52
|
+
readonly Never: "never";
|
|
53
|
+
};
|
|
54
|
+
export type ToolSecureMcpUioApprovalModesEnum = typeof ToolSecureMcpUioApprovalModesEnum[keyof typeof ToolSecureMcpUioApprovalModesEnum];
|
|
39
55
|
/**
|
|
40
56
|
* Check if a given object implements the ToolSecureMcpUio interface.
|
|
41
57
|
*/
|
|
@@ -13,12 +13,20 @@
|
|
|
13
13
|
* Do not edit the class manually.
|
|
14
14
|
*/
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.ToolSecureMcpUioApprovalModesEnum = void 0;
|
|
16
17
|
exports.instanceOfToolSecureMcpUio = instanceOfToolSecureMcpUio;
|
|
17
18
|
exports.ToolSecureMcpUioFromJSON = ToolSecureMcpUioFromJSON;
|
|
18
19
|
exports.ToolSecureMcpUioFromJSONTyped = ToolSecureMcpUioFromJSONTyped;
|
|
19
20
|
exports.ToolSecureMcpUioToJSON = ToolSecureMcpUioToJSON;
|
|
20
21
|
exports.ToolSecureMcpUioToJSONTyped = ToolSecureMcpUioToJSONTyped;
|
|
21
22
|
const ToolSecureMcpDefinitionUio_1 = require("./ToolSecureMcpDefinitionUio");
|
|
23
|
+
/**
|
|
24
|
+
* @export
|
|
25
|
+
*/
|
|
26
|
+
exports.ToolSecureMcpUioApprovalModesEnum = {
|
|
27
|
+
Always: 'always',
|
|
28
|
+
Never: 'never'
|
|
29
|
+
};
|
|
22
30
|
/**
|
|
23
31
|
* Check if a given object implements the ToolSecureMcpUio interface.
|
|
24
32
|
*/
|
|
@@ -37,6 +45,7 @@ function ToolSecureMcpUioFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
37
45
|
'definition': json['definition'] == null ? undefined : (0, ToolSecureMcpDefinitionUio_1.ToolSecureMcpDefinitionUioFromJSON)(json['definition']),
|
|
38
46
|
'introspection': json['introspection'] == null ? undefined : json['introspection'],
|
|
39
47
|
'allowedTools': json['allowedTools'] == null ? undefined : json['allowedTools'],
|
|
48
|
+
'approvalModes': json['approvalModes'] == null ? undefined : json['approvalModes'],
|
|
40
49
|
};
|
|
41
50
|
}
|
|
42
51
|
function ToolSecureMcpUioToJSON(json) {
|
|
@@ -51,5 +60,6 @@ function ToolSecureMcpUioToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
51
60
|
'definition': (0, ToolSecureMcpDefinitionUio_1.ToolSecureMcpDefinitionUioToJSON)(value['definition']),
|
|
52
61
|
'introspection': value['introspection'],
|
|
53
62
|
'allowedTools': value['allowedTools'],
|
|
63
|
+
'approvalModes': value['approvalModes'],
|
|
54
64
|
};
|
|
55
65
|
}
|
package/dist/models/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export * from './AdvancedFlowEditorNodeUio';
|
|
|
18
18
|
export * from './AdvancedFlowEditorUio';
|
|
19
19
|
export * from './AdvancedFlowEditorUpdateRequestUio';
|
|
20
20
|
export * from './AgentAssignmentUio';
|
|
21
|
+
export * from './AgentBuilderMcpConfigurationUio';
|
|
21
22
|
export * from './AgentBundleDiffUio';
|
|
22
23
|
export * from './AgentBundleListDiffUio';
|
|
23
24
|
export * from './AgentCallConfigurationUio';
|
package/dist/models/index.js
CHANGED
|
@@ -36,6 +36,7 @@ __exportStar(require("./AdvancedFlowEditorNodeUio"), exports);
|
|
|
36
36
|
__exportStar(require("./AdvancedFlowEditorUio"), exports);
|
|
37
37
|
__exportStar(require("./AdvancedFlowEditorUpdateRequestUio"), exports);
|
|
38
38
|
__exportStar(require("./AgentAssignmentUio"), exports);
|
|
39
|
+
__exportStar(require("./AgentBuilderMcpConfigurationUio"), exports);
|
|
39
40
|
__exportStar(require("./AgentBundleDiffUio"), exports);
|
|
40
41
|
__exportStar(require("./AgentBundleListDiffUio"), exports);
|
|
41
42
|
__exportStar(require("./AgentCallConfigurationUio"), exports);
|
package/dist/openapi.json
CHANGED
|
@@ -6154,6 +6154,85 @@
|
|
|
6154
6154
|
"tags" : [ "mcp" ]
|
|
6155
6155
|
}
|
|
6156
6156
|
},
|
|
6157
|
+
"/mcp/builder" : {
|
|
6158
|
+
"delete" : {
|
|
6159
|
+
"description" : "Aucune session à clore : le transport est sans état.",
|
|
6160
|
+
"operationId" : "deleteBuilderMcpSession",
|
|
6161
|
+
"responses" : {
|
|
6162
|
+
"405" : {
|
|
6163
|
+
"content" : {
|
|
6164
|
+
"application/json" : {
|
|
6165
|
+
"schema" : {
|
|
6166
|
+
"$ref" : "#/components/schemas/McpJsonRpcResponse"
|
|
6167
|
+
}
|
|
6168
|
+
}
|
|
6169
|
+
},
|
|
6170
|
+
"description" : "Method not allowed"
|
|
6171
|
+
}
|
|
6172
|
+
},
|
|
6173
|
+
"summary" : "Not supported (stateless MCP server)",
|
|
6174
|
+
"tags" : [ "mcp" ]
|
|
6175
|
+
},
|
|
6176
|
+
"get" : {
|
|
6177
|
+
"description" : "Pas de flux SSE côté serveur : le transport est sans état.",
|
|
6178
|
+
"operationId" : "getBuilderMcpStream",
|
|
6179
|
+
"responses" : {
|
|
6180
|
+
"405" : {
|
|
6181
|
+
"content" : {
|
|
6182
|
+
"application/json" : {
|
|
6183
|
+
"schema" : {
|
|
6184
|
+
"$ref" : "#/components/schemas/McpJsonRpcResponse"
|
|
6185
|
+
}
|
|
6186
|
+
}
|
|
6187
|
+
},
|
|
6188
|
+
"description" : "Method not allowed"
|
|
6189
|
+
}
|
|
6190
|
+
},
|
|
6191
|
+
"summary" : "Not supported (stateless MCP server)",
|
|
6192
|
+
"tags" : [ "mcp" ]
|
|
6193
|
+
},
|
|
6194
|
+
"post" : {
|
|
6195
|
+
"description" : "Serveur MCP (Model Context Protocol, transport Streamable HTTP, sans état) qui crée et édite les agents des organisations de l'utilisateur : de quoi brancher Claude Code, ou tout client MCP, sur la configuration de Breign. Lié à la clé et non à une organisation : chaque outil vérifie que l'utilisateur est membre de celle qu'il touche. Distinct du serveur `/organizations/{organizationId}/mcp`, qui ne sert qu'à interroger les agents : brancher l'un ne donne pas les droits d'écriture de l'autre.\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. Chaque action est faite au nom du propriétaire de la clé, avec ses droits.\n\nOutils exposés — lecture :\n- `list_organizations` — organisations dont l'utilisateur est membre.\n- `list_agents` `{ organizationId }` — agents de l'organisation.\n- `get_agent` `{ agentId }` — configuration d'un agent : textes, moteur, skills et bases de\n connaissance rattachés.\n\n- `list_engines` `{ organizationId }` — providers de l'organisation et leurs modèles.\n- `list_skills` `{ organizationId }` — skills de l'organisation.\n- `list_knowledge_bases` `{ organizationId }` — bases de connaissance de l'organisation.\n\nOutils exposés — écriture (jamais de suppression ni de détachement) :\n- `create_agent` `{ organizationId, name, persona, promptInit?, description?, role?,\n defaultLanguage? }`.\n\n- `update_agent` `{ agentId, name?, description?, role?, defaultLanguage?, persona?,\n promptInit?, isActivated? }` — `null` ou absent : champ inchangé.\n\n- `set_agent_engine` `{ agentId, providerId, model }`.\n- `attach_skill` `{ agentId, skillId }` — ajoute un skill, sans retirer les autres.\n- `attach_knowledge_base` `{ agentId, knowledgeBaseId }` — ajoute une base, sans retirer les\n autres.\n\n\nUn agent Breign dont `builderMcpConfiguration.enabled` est vrai reçoit les mêmes outils, au nom de l'utilisateur de la conversation, bornés à l'organisation de l'agent (ni `list_organizations` ni `organizationId`) ; chaque écriture lui demande alors son approbation.\n\nConfiguration d'un client, par exemple Claude Code : `claude mcp add --transport http breign-builder https://<api>/mcp/builder --header \"Authorization: Bearer ai-…\"`. Le client doit accepter `application/json` et `text/event-stream` (header `Accept`).",
|
|
6196
|
+
"operationId" : "handleBuilderMcpRequest",
|
|
6197
|
+
"requestBody" : {
|
|
6198
|
+
"content" : {
|
|
6199
|
+
"application/json" : {
|
|
6200
|
+
"schema" : {
|
|
6201
|
+
"$ref" : "#/components/schemas/McpJsonRpcRequest"
|
|
6202
|
+
}
|
|
6203
|
+
}
|
|
6204
|
+
},
|
|
6205
|
+
"required" : true
|
|
6206
|
+
},
|
|
6207
|
+
"responses" : {
|
|
6208
|
+
"200" : {
|
|
6209
|
+
"content" : {
|
|
6210
|
+
"application/json" : {
|
|
6211
|
+
"schema" : {
|
|
6212
|
+
"$ref" : "#/components/schemas/McpJsonRpcResponse"
|
|
6213
|
+
}
|
|
6214
|
+
}
|
|
6215
|
+
},
|
|
6216
|
+
"description" : "Réponse JSON-RPC"
|
|
6217
|
+
},
|
|
6218
|
+
"202" : {
|
|
6219
|
+
"description" : "Notification acceptée, sans corps"
|
|
6220
|
+
},
|
|
6221
|
+
"401" : {
|
|
6222
|
+
"content" : {
|
|
6223
|
+
"application/json" : {
|
|
6224
|
+
"schema" : {
|
|
6225
|
+
"$ref" : "#/components/schemas/McpJsonRpcResponse"
|
|
6226
|
+
}
|
|
6227
|
+
}
|
|
6228
|
+
},
|
|
6229
|
+
"description" : "Clé API personnelle requise"
|
|
6230
|
+
}
|
|
6231
|
+
},
|
|
6232
|
+
"summary" : "Builder MCP server",
|
|
6233
|
+
"tags" : [ "mcp" ]
|
|
6234
|
+
}
|
|
6235
|
+
},
|
|
6157
6236
|
"/conversations/{conversationId}/read" : {
|
|
6158
6237
|
"post" : {
|
|
6159
6238
|
"description" : "Positionne la marque de lecture de l'utilisateur sur la conversation.",
|
|
@@ -21282,6 +21361,12 @@
|
|
|
21282
21361
|
} ],
|
|
21283
21362
|
"nullable" : true
|
|
21284
21363
|
},
|
|
21364
|
+
"builderMcpConfiguration" : {
|
|
21365
|
+
"allOf" : [ {
|
|
21366
|
+
"$ref" : "#/components/schemas/AgentBuilderMcpConfiguration"
|
|
21367
|
+
} ],
|
|
21368
|
+
"nullable" : true
|
|
21369
|
+
},
|
|
21285
21370
|
"humanEscalationConfiguration" : {
|
|
21286
21371
|
"allOf" : [ {
|
|
21287
21372
|
"$ref" : "#/components/schemas/AgentHumanEscalationConfiguration"
|
|
@@ -21528,6 +21613,16 @@
|
|
|
21528
21613
|
},
|
|
21529
21614
|
"type" : "object"
|
|
21530
21615
|
},
|
|
21616
|
+
"AgentBuilderMcpConfiguration" : {
|
|
21617
|
+
"description" : "Access to Breign's builder MCP server (create and edit the organisation's agents) from inside a conversation, acting as the user of that conversation. Opt-in; only an organisation admin can change it. Every write the agent makes through it asks the user for approval first.",
|
|
21618
|
+
"properties" : {
|
|
21619
|
+
"enabled" : {
|
|
21620
|
+
"description" : "Gives this agent the builder tools.",
|
|
21621
|
+
"type" : "boolean"
|
|
21622
|
+
}
|
|
21623
|
+
},
|
|
21624
|
+
"type" : "object"
|
|
21625
|
+
},
|
|
21531
21626
|
"AgentHumanEscalationConfiguration" : {
|
|
21532
21627
|
"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.",
|
|
21533
21628
|
"properties" : {
|
|
@@ -21760,6 +21855,12 @@
|
|
|
21760
21855
|
} ],
|
|
21761
21856
|
"nullable" : true
|
|
21762
21857
|
},
|
|
21858
|
+
"builderMcpConfiguration" : {
|
|
21859
|
+
"allOf" : [ {
|
|
21860
|
+
"$ref" : "#/components/schemas/AgentBuilderMcpConfiguration"
|
|
21861
|
+
} ],
|
|
21862
|
+
"nullable" : true
|
|
21863
|
+
},
|
|
21763
21864
|
"humanEscalationConfiguration" : {
|
|
21764
21865
|
"allOf" : [ {
|
|
21765
21866
|
"$ref" : "#/components/schemas/AgentHumanEscalationConfiguration"
|
|
@@ -26908,8 +27009,8 @@
|
|
|
26908
27009
|
"type" : "string"
|
|
26909
27010
|
},
|
|
26910
27011
|
"resourceKind" : {
|
|
26911
|
-
"description" : "Which family the approval belongs to. url is an address the agent sandbox may reach; urlPattern is a glob covering a whole site, subdomains included; command is one exact command line it may run.",
|
|
26912
|
-
"enum" : [ "url", "command", "urlPattern" ],
|
|
27012
|
+
"description" : "Which family the approval belongs to. url is an address the agent sandbox may reach; urlPattern is a glob covering a whole site, subdomains included; command is one exact command line it may run; mcpTool is an MCP tool that writes, as server/tool (for example builder/update_agent), whatever its arguments — stored under toolName mcp. An mcpTool approval is only ever born of a question the agent asked: it cannot be created or edited by hand.",
|
|
27013
|
+
"enum" : [ "url", "command", "urlPattern", "mcpTool" ],
|
|
26913
27014
|
"type" : "string"
|
|
26914
27015
|
},
|
|
26915
27016
|
"resource" : {
|
|
@@ -27629,6 +27730,14 @@
|
|
|
27629
27730
|
},
|
|
27630
27731
|
"type" : "array",
|
|
27631
27732
|
"uniqueItems" : true
|
|
27733
|
+
},
|
|
27734
|
+
"approvalModes" : {
|
|
27735
|
+
"additionalProperties" : {
|
|
27736
|
+
"enum" : [ "always", "never" ],
|
|
27737
|
+
"type" : "string"
|
|
27738
|
+
},
|
|
27739
|
+
"description" : "Quand un appel de l'outil demande l'approbation de l'utilisateur, par nom d'outil. Absent : automatique — demandée sauf si le serveur déclare l'outil en lecture seule (readOnlyHint). always : toujours demander, et refuser l'appel quand personne ne peut répondre (tâche planifiée, widget, appel entre agents). never : ne jamais demander.",
|
|
27740
|
+
"type" : "object"
|
|
27632
27741
|
}
|
|
27633
27742
|
},
|
|
27634
27743
|
"required" : [ "allowedTools" ],
|
|
@@ -27643,6 +27752,14 @@
|
|
|
27643
27752
|
"type" : "string"
|
|
27644
27753
|
},
|
|
27645
27754
|
"type" : "array"
|
|
27755
|
+
},
|
|
27756
|
+
"approvalModes" : {
|
|
27757
|
+
"additionalProperties" : {
|
|
27758
|
+
"enum" : [ "always", "never" ],
|
|
27759
|
+
"type" : "string"
|
|
27760
|
+
},
|
|
27761
|
+
"description" : "Quand un appel de l'outil demande l'approbation de l'utilisateur, par nom d'outil. Absent : automatique — demandée sauf si le serveur déclare l'outil en lecture seule (readOnlyHint). always : toujours demander, et refuser l'appel quand personne ne peut répondre (tâche planifiée, widget, appel entre agents). never : ne jamais demander.",
|
|
27762
|
+
"type" : "object"
|
|
27646
27763
|
}
|
|
27647
27764
|
},
|
|
27648
27765
|
"required" : [ "allowedTools" ],
|
|
@@ -29066,7 +29183,7 @@
|
|
|
29066
29183
|
"type" : "string"
|
|
29067
29184
|
},
|
|
29068
29185
|
"tool" : {
|
|
29069
|
-
"description" : "Name of the tool the model called.
|
|
29186
|
+
"description" : "Name of the tool the model called. Four values are produced by the server today. mcp_tool_approval asks permission to run an MCP tool: a write of the builder server, which creates and edits agents, or a tool of an MCP server configured in the organisation, by its approval mode (see Tool.mcp.approvalModes). arguments carries server (builder, or the id of the organisation's tool), serverName (the name to show), tool and arguments (the exact call the model wants to make), and — builder only — preview — what the call changes, for display only: tool, agentName, changes (field, before when something existed, after, with names instead of ids, unchanged fields left out) and warnings (deactivates, rewritesInstructions, changesEngine); null when it could not be built. Allow once covers exactly these arguments; agentUser covers the tool whatever its arguments. take_screenshot asks the client to capture the screen. bash_network_approval is an agent sandbox asking permission to reach an address: arguments carries url (the full address, to be shown as-is), urlPrefix (what a yes actually grants), origin, host and method. bash_command_approval is an agent sandbox asking permission to run a command through one of its interpreters — python3 or js-exec: arguments carries command, which is both what has to be shown in full and exactly what a yes grants — nothing ran, so a refusal leaves the sandbox untouched. Calls named bash_python_approval, the name this last one carried while python was the only interpreter, may still be waiting in older conversations and resolve exactly the same way.",
|
|
29070
29187
|
"type" : "string"
|
|
29071
29188
|
},
|
|
29072
29189
|
"status" : {
|
|
@@ -29129,7 +29246,7 @@
|
|
|
29129
29246
|
"type" : "string"
|
|
29130
29247
|
},
|
|
29131
29248
|
"approvalScope" : {
|
|
29132
|
-
"description" : "Only read when resolving a bash_network_approval or
|
|
29249
|
+
"description" : "Only read when resolving a bash_network_approval, bash_command_approval or mcp_tool_approval call with status completed: how far the approval reaches. once — the suspended reply and nothing after it, so the same request is asked about again next time — is the default, and nothing is stored. agentUser covers this agent, for this user, across all of their conversations, and is kept until revoked. Any other value is refused with a 400. Never widens what the agent is allowed to do: the server-side lock and the per-agent switch remain prerequisites. Only the user the question was asked of may answer it: an approval is a personal consent, so another caller — an admin included — gets a 403.",
|
|
29133
29250
|
"enum" : [ "once", "agentUser" ],
|
|
29134
29251
|
"type" : "string"
|
|
29135
29252
|
},
|
|
@@ -34689,6 +34806,14 @@
|
|
|
34689
34806
|
"type" : "string"
|
|
34690
34807
|
},
|
|
34691
34808
|
"type" : "array"
|
|
34809
|
+
},
|
|
34810
|
+
"approvalModes" : {
|
|
34811
|
+
"additionalProperties" : {
|
|
34812
|
+
"enum" : [ "always", "never" ],
|
|
34813
|
+
"type" : "string"
|
|
34814
|
+
},
|
|
34815
|
+
"description" : "Quand un appel de l'outil demande l'approbation de l'utilisateur, par nom d'outil. Absent : automatique — demandée sauf si le serveur déclare l'outil en lecture seule (readOnlyHint). always : toujours demander, et refuser l'appel quand personne ne peut répondre (tâche planifiée, widget, appel entre agents). never : ne jamais demander.",
|
|
34816
|
+
"type" : "object"
|
|
34692
34817
|
}
|
|
34693
34818
|
},
|
|
34694
34819
|
"type" : "object"
|