@breign/client 1.0.138 → 1.0.139

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.
@@ -10,11 +10,15 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import type { DeleteOrganizationUser200ResponseUio, OrganizationEngineUio, OrganizationMemberUio, OrganizationUio, OrganizationUserInviteRequestUio, OrganizationUserInviteResponseUio, RoleCreateRequestUio, RoleUio } from '../models/index';
13
+ import type { CreateToolApprovalRequestUio, DeleteOrganizationUser200ResponseUio, EditToolApprovalRequestUio, OrganizationEngineUio, OrganizationMemberUio, OrganizationUio, OrganizationUserInviteRequestUio, OrganizationUserInviteResponseUio, RoleCreateRequestUio, RoleUio, ToolApprovalUio, ToolApprovalsResponseUio } from '../models/index';
14
14
  export interface CreateOrganizationRoleRequest {
15
15
  organizationId: string;
16
16
  roleCreateRequestUio: RoleCreateRequestUio;
17
17
  }
18
+ export interface CreateToolApprovalRequest {
19
+ organizationId: string;
20
+ createToolApprovalRequestUio: CreateToolApprovalRequestUio;
21
+ }
18
22
  export interface DeleteOrganizationRequest {
19
23
  organizationId: string;
20
24
  }
@@ -26,6 +30,11 @@ export interface DeleteOrganizationUserRequest {
26
30
  organizationId: string;
27
31
  userId: string;
28
32
  }
33
+ export interface EditToolApprovalRequest {
34
+ organizationId: string;
35
+ approvalId: string;
36
+ editToolApprovalRequestUio: EditToolApprovalRequestUio;
37
+ }
29
38
  export interface GetOrganizationByIdRequest {
30
39
  organizationId: string;
31
40
  }
@@ -45,6 +54,14 @@ export interface ListOrganizationRolesRequest {
45
54
  export interface ListOrganizationUsersRequest {
46
55
  organizationId: string;
47
56
  }
57
+ export interface ListToolApprovalsRequest {
58
+ organizationId: string;
59
+ agentId?: string;
60
+ }
61
+ export interface RevokeToolApprovalRequest {
62
+ organizationId: string;
63
+ approvalId: string;
64
+ }
48
65
  export interface UpdateOrganizationRoleRequest {
49
66
  organizationId: string;
50
67
  roleId: string;
@@ -64,6 +81,16 @@ export declare class OrganizationsApi extends runtime.BaseAPI {
64
81
  * Create a role in an organization
65
82
  */
66
83
  createOrganizationRole(organizationId: string, roleCreateRequestUio: RoleCreateRequestUio, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RoleUio>;
84
+ /**
85
+ * Creates an approval without waiting for the agent to ask for one — preparing an agent rather than answering its questions. It widens no boundary: the value goes through the same validation as an in-conversation approval, the scope is the only one open (this agent, for the caller), and the author is the caller. Granting a value that is already granted returns the existing approval rather than a duplicate.
86
+ * Grant an approval by hand
87
+ */
88
+ createToolApprovalRaw(requestParameters: CreateToolApprovalRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ToolApprovalUio>>;
89
+ /**
90
+ * Creates an approval without waiting for the agent to ask for one — preparing an agent rather than answering its questions. It widens no boundary: the value goes through the same validation as an in-conversation approval, the scope is the only one open (this agent, for the caller), and the author is the caller. Granting a value that is already granted returns the existing approval rather than a duplicate.
91
+ * Grant an approval by hand
92
+ */
93
+ createToolApproval(organizationId: string, createToolApprovalRequestUio: CreateToolApprovalRequestUio, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ToolApprovalUio>;
67
94
  /**
68
95
  * Permanently deletes an organization, then purges the agent memories attached to it. Restricted to super administrators and only available when the server runs with the `features.testMode` flag enabled.
69
96
  * Delete an organization
@@ -92,6 +119,16 @@ export declare class OrganizationsApi extends runtime.BaseAPI {
92
119
  * Remove a user from an organization
93
120
  */
94
121
  deleteOrganizationUser(organizationId: string, userId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteOrganizationUser200ResponseUio>;
122
+ /**
123
+ * Rewrites what one approval covers — widening an address into a pattern, or correcting a command. Only an approval the caller granted himself, and only its resource: the scope, the agent and the author never change. An approval cannot be created this way; a right only ever starts with a question the agent actually asked.
124
+ * Edit an approval the caller granted
125
+ */
126
+ editToolApprovalRaw(requestParameters: EditToolApprovalRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ToolApprovalUio>>;
127
+ /**
128
+ * Rewrites what one approval covers — widening an address into a pattern, or correcting a command. Only an approval the caller granted himself, and only its resource: the scope, the agent and the author never change. An approval cannot be created this way; a right only ever starts with a question the agent actually asked.
129
+ * Edit an approval the caller granted
130
+ */
131
+ editToolApproval(organizationId: string, approvalId: string, editToolApprovalRequestUio: EditToolApprovalRequestUio, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ToolApprovalUio>;
95
132
  /**
96
133
  * Retrieves an organization by its ID
97
134
  * Get an organization by ID
@@ -158,6 +195,26 @@ export declare class OrganizationsApi extends runtime.BaseAPI {
158
195
  * List organizations
159
196
  */
160
197
  listOrganizations(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<OrganizationUio>>;
198
+ /**
199
+ * Returns the approvals the CALLER granted in this organisation, newest first. Revoking one deletes it, so every approval returned is a right in force — there is no expiry and no revoked state to filter out. Never another user\'s: an approval is a personal consent.
200
+ * List the operations the caller has authorised
201
+ */
202
+ listToolApprovalsRaw(requestParameters: ListToolApprovalsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ToolApprovalsResponseUio>>;
203
+ /**
204
+ * Returns the approvals the CALLER granted in this organisation, newest first. Revoking one deletes it, so every approval returned is a right in force — there is no expiry and no revoked state to filter out. Never another user\'s: an approval is a personal consent.
205
+ * List the operations the caller has authorised
206
+ */
207
+ listToolApprovals(organizationId: string, agentId?: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ToolApprovalsResponseUio>;
208
+ /**
209
+ * Takes back one approval the caller granted. The approval is deleted, and the agent asks again the next time it needs that operation. It takes effect on the agent\'s next turn.
210
+ * Revoke an approval
211
+ */
212
+ revokeToolApprovalRaw(requestParameters: RevokeToolApprovalRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
213
+ /**
214
+ * Takes back one approval the caller granted. The approval is deleted, and the agent asks again the next time it needs that operation. It takes effect on the agent\'s next turn.
215
+ * Revoke an approval
216
+ */
217
+ revokeToolApproval(organizationId: string, approvalId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
161
218
  /**
162
219
  * Updates an existing agent role in the specified organization
163
220
  * Update a role in an organization
@@ -87,6 +87,40 @@ class OrganizationsApi extends runtime.BaseAPI {
87
87
  const response = await this.createOrganizationRoleRaw({ organizationId: organizationId, roleCreateRequestUio: roleCreateRequestUio }, initOverrides);
88
88
  return await response.value();
89
89
  }
90
+ /**
91
+ * Creates an approval without waiting for the agent to ask for one — preparing an agent rather than answering its questions. It widens no boundary: the value goes through the same validation as an in-conversation approval, the scope is the only one open (this agent, for the caller), and the author is the caller. Granting a value that is already granted returns the existing approval rather than a duplicate.
92
+ * Grant an approval by hand
93
+ */
94
+ async createToolApprovalRaw(requestParameters, initOverrides) {
95
+ if (requestParameters['organizationId'] == null) {
96
+ throw new runtime.RequiredError('organizationId', 'Required parameter "organizationId" was null or undefined when calling createToolApproval().');
97
+ }
98
+ if (requestParameters['createToolApprovalRequestUio'] == null) {
99
+ throw new runtime.RequiredError('createToolApprovalRequestUio', 'Required parameter "createToolApprovalRequestUio" was null or undefined when calling createToolApproval().');
100
+ }
101
+ const queryParameters = {};
102
+ const headerParameters = {};
103
+ headerParameters['Content-Type'] = 'application/json';
104
+ if (this.configuration && this.configuration.apiKey) {
105
+ headerParameters["X-API-Key"] = await this.configuration.apiKey("X-API-Key"); // ApiKeyAuth authentication
106
+ }
107
+ const response = await this.request({
108
+ path: `/organizations/{organizationId}/tool-approvals`.replace(`{${"organizationId"}}`, encodeURIComponent(String(requestParameters['organizationId']))),
109
+ method: 'POST',
110
+ headers: headerParameters,
111
+ query: queryParameters,
112
+ body: (0, index_1.CreateToolApprovalRequestUioToJSON)(requestParameters['createToolApprovalRequestUio']),
113
+ }, initOverrides);
114
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.ToolApprovalUioFromJSON)(jsonValue));
115
+ }
116
+ /**
117
+ * Creates an approval without waiting for the agent to ask for one — preparing an agent rather than answering its questions. It widens no boundary: the value goes through the same validation as an in-conversation approval, the scope is the only one open (this agent, for the caller), and the author is the caller. Granting a value that is already granted returns the existing approval rather than a duplicate.
118
+ * Grant an approval by hand
119
+ */
120
+ async createToolApproval(organizationId, createToolApprovalRequestUio, initOverrides) {
121
+ const response = await this.createToolApprovalRaw({ organizationId: organizationId, createToolApprovalRequestUio: createToolApprovalRequestUio }, initOverrides);
122
+ return await response.value();
123
+ }
90
124
  /**
91
125
  * Permanently deletes an organization, then purges the agent memories attached to it. Restricted to super administrators and only available when the server runs with the `features.testMode` flag enabled.
92
126
  * Delete an organization
@@ -176,6 +210,43 @@ class OrganizationsApi extends runtime.BaseAPI {
176
210
  const response = await this.deleteOrganizationUserRaw({ organizationId: organizationId, userId: userId }, initOverrides);
177
211
  return await response.value();
178
212
  }
213
+ /**
214
+ * Rewrites what one approval covers — widening an address into a pattern, or correcting a command. Only an approval the caller granted himself, and only its resource: the scope, the agent and the author never change. An approval cannot be created this way; a right only ever starts with a question the agent actually asked.
215
+ * Edit an approval the caller granted
216
+ */
217
+ async editToolApprovalRaw(requestParameters, initOverrides) {
218
+ if (requestParameters['organizationId'] == null) {
219
+ throw new runtime.RequiredError('organizationId', 'Required parameter "organizationId" was null or undefined when calling editToolApproval().');
220
+ }
221
+ if (requestParameters['approvalId'] == null) {
222
+ throw new runtime.RequiredError('approvalId', 'Required parameter "approvalId" was null or undefined when calling editToolApproval().');
223
+ }
224
+ if (requestParameters['editToolApprovalRequestUio'] == null) {
225
+ throw new runtime.RequiredError('editToolApprovalRequestUio', 'Required parameter "editToolApprovalRequestUio" was null or undefined when calling editToolApproval().');
226
+ }
227
+ const queryParameters = {};
228
+ const headerParameters = {};
229
+ headerParameters['Content-Type'] = 'application/json';
230
+ if (this.configuration && this.configuration.apiKey) {
231
+ headerParameters["X-API-Key"] = await this.configuration.apiKey("X-API-Key"); // ApiKeyAuth authentication
232
+ }
233
+ const response = await this.request({
234
+ path: `/organizations/{organizationId}/tool-approvals/{approvalId}`.replace(`{${"organizationId"}}`, encodeURIComponent(String(requestParameters['organizationId']))).replace(`{${"approvalId"}}`, encodeURIComponent(String(requestParameters['approvalId']))),
235
+ method: 'PATCH',
236
+ headers: headerParameters,
237
+ query: queryParameters,
238
+ body: (0, index_1.EditToolApprovalRequestUioToJSON)(requestParameters['editToolApprovalRequestUio']),
239
+ }, initOverrides);
240
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.ToolApprovalUioFromJSON)(jsonValue));
241
+ }
242
+ /**
243
+ * Rewrites what one approval covers — widening an address into a pattern, or correcting a command. Only an approval the caller granted himself, and only its resource: the scope, the agent and the author never change. An approval cannot be created this way; a right only ever starts with a question the agent actually asked.
244
+ * Edit an approval the caller granted
245
+ */
246
+ async editToolApproval(organizationId, approvalId, editToolApprovalRequestUio, initOverrides) {
247
+ const response = await this.editToolApprovalRaw({ organizationId: organizationId, approvalId: approvalId, editToolApprovalRequestUio: editToolApprovalRequestUio }, initOverrides);
248
+ return await response.value();
249
+ }
179
250
  /**
180
251
  * Retrieves an organization by its ID
181
252
  * Get an organization by ID
@@ -377,6 +448,69 @@ class OrganizationsApi extends runtime.BaseAPI {
377
448
  const response = await this.listOrganizationsRaw(initOverrides);
378
449
  return await response.value();
379
450
  }
451
+ /**
452
+ * Returns the approvals the CALLER granted in this organisation, newest first. Revoking one deletes it, so every approval returned is a right in force — there is no expiry and no revoked state to filter out. Never another user\'s: an approval is a personal consent.
453
+ * List the operations the caller has authorised
454
+ */
455
+ async listToolApprovalsRaw(requestParameters, initOverrides) {
456
+ if (requestParameters['organizationId'] == null) {
457
+ throw new runtime.RequiredError('organizationId', 'Required parameter "organizationId" was null or undefined when calling listToolApprovals().');
458
+ }
459
+ const queryParameters = {};
460
+ if (requestParameters['agentId'] != null) {
461
+ queryParameters['agentId'] = requestParameters['agentId'];
462
+ }
463
+ const headerParameters = {};
464
+ if (this.configuration && this.configuration.apiKey) {
465
+ headerParameters["X-API-Key"] = await this.configuration.apiKey("X-API-Key"); // ApiKeyAuth authentication
466
+ }
467
+ const response = await this.request({
468
+ path: `/organizations/{organizationId}/tool-approvals`.replace(`{${"organizationId"}}`, encodeURIComponent(String(requestParameters['organizationId']))),
469
+ method: 'GET',
470
+ headers: headerParameters,
471
+ query: queryParameters,
472
+ }, initOverrides);
473
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.ToolApprovalsResponseUioFromJSON)(jsonValue));
474
+ }
475
+ /**
476
+ * Returns the approvals the CALLER granted in this organisation, newest first. Revoking one deletes it, so every approval returned is a right in force — there is no expiry and no revoked state to filter out. Never another user\'s: an approval is a personal consent.
477
+ * List the operations the caller has authorised
478
+ */
479
+ async listToolApprovals(organizationId, agentId, initOverrides) {
480
+ const response = await this.listToolApprovalsRaw({ organizationId: organizationId, agentId: agentId }, initOverrides);
481
+ return await response.value();
482
+ }
483
+ /**
484
+ * Takes back one approval the caller granted. The approval is deleted, and the agent asks again the next time it needs that operation. It takes effect on the agent\'s next turn.
485
+ * Revoke an approval
486
+ */
487
+ async revokeToolApprovalRaw(requestParameters, initOverrides) {
488
+ if (requestParameters['organizationId'] == null) {
489
+ throw new runtime.RequiredError('organizationId', 'Required parameter "organizationId" was null or undefined when calling revokeToolApproval().');
490
+ }
491
+ if (requestParameters['approvalId'] == null) {
492
+ throw new runtime.RequiredError('approvalId', 'Required parameter "approvalId" was null or undefined when calling revokeToolApproval().');
493
+ }
494
+ const queryParameters = {};
495
+ const headerParameters = {};
496
+ if (this.configuration && this.configuration.apiKey) {
497
+ headerParameters["X-API-Key"] = await this.configuration.apiKey("X-API-Key"); // ApiKeyAuth authentication
498
+ }
499
+ const response = await this.request({
500
+ path: `/organizations/{organizationId}/tool-approvals/{approvalId}`.replace(`{${"organizationId"}}`, encodeURIComponent(String(requestParameters['organizationId']))).replace(`{${"approvalId"}}`, encodeURIComponent(String(requestParameters['approvalId']))),
501
+ method: 'DELETE',
502
+ headers: headerParameters,
503
+ query: queryParameters,
504
+ }, initOverrides);
505
+ return new runtime.VoidApiResponse(response);
506
+ }
507
+ /**
508
+ * Takes back one approval the caller granted. The approval is deleted, and the agent asks again the next time it needs that operation. It takes effect on the agent\'s next turn.
509
+ * Revoke an approval
510
+ */
511
+ async revokeToolApproval(organizationId, approvalId, initOverrides) {
512
+ await this.revokeToolApprovalRaw({ organizationId: organizationId, approvalId: approvalId }, initOverrides);
513
+ }
380
514
  /**
381
515
  * Updates an existing agent role in the specified organization
382
516
  * Update a role in an organization
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Enables curl inside the sandbox. Without at least one entry in allowedUrlPrefixes the network stays cut. Private address ranges are always denied, server-side.
13
+ * Enables curl inside the sandbox. allowedUrlPrefixes is optional and normally empty: an address that is not listed is submitted to the user, who allows or refuses it in the conversation. It only stays useful where nobody can be asked — an app or a widget — since the network is cut there without a pre-approved entry. Private address ranges are always denied, server-side.
14
14
  * @export
15
15
  * @interface AgentSandboxNetworkConfigurationUio
16
16
  */
@@ -22,7 +22,7 @@ export interface AgentSandboxNetworkConfigurationUio {
22
22
  */
23
23
  enabled?: boolean;
24
24
  /**
25
- *
25
+ * Addresses that need no confirmation. Not editable from the agent settings screen: an empty list is the nominal setup, and what the user approves in conversation is stored separately and revoked from the organisation settings.
26
26
  * @type {Array<string>}
27
27
  * @memberof AgentSandboxNetworkConfigurationUio
28
28
  */
@@ -15,6 +15,7 @@ import type { SuggestionUio } from './SuggestionUio';
15
15
  import type { ChatMessageRoleUio } from './ChatMessageRoleUio';
16
16
  import type { FileAttachmentUio } from './FileAttachmentUio';
17
17
  import type { ChatMessageAudioInnerUio } from './ChatMessageAudioInnerUio';
18
+ import type { ConversationMessageApprovalUio } from './ConversationMessageApprovalUio';
18
19
  import type { ToolResultsUio } from './ToolResultsUio';
19
20
  import type { TokenUsageUio } from './TokenUsageUio';
20
21
  /**
@@ -71,6 +72,12 @@ export interface ChatMessageUio {
71
72
  * @memberof ChatMessageUio
72
73
  */
73
74
  toolResults?: Array<ToolResultsUio>;
75
+ /**
76
+ *
77
+ * @type {Array<ConversationMessageApprovalUio>}
78
+ * @memberof ChatMessageUio
79
+ */
80
+ approvals?: Array<ConversationMessageApprovalUio>;
74
81
  /**
75
82
  *
76
83
  * @type {Array<SuggestionUio>}
@@ -25,6 +25,7 @@ const SuggestionUio_1 = require("./SuggestionUio");
25
25
  const ChatMessageRoleUio_1 = require("./ChatMessageRoleUio");
26
26
  const FileAttachmentUio_1 = require("./FileAttachmentUio");
27
27
  const ChatMessageAudioInnerUio_1 = require("./ChatMessageAudioInnerUio");
28
+ const ConversationMessageApprovalUio_1 = require("./ConversationMessageApprovalUio");
28
29
  const ToolResultsUio_1 = require("./ToolResultsUio");
29
30
  const TokenUsageUio_1 = require("./TokenUsageUio");
30
31
  /**
@@ -64,6 +65,7 @@ function ChatMessageUioFromJSONTyped(json, ignoreDiscriminator) {
64
65
  'anonymizedContent': json['anonymizedContent'] == null ? undefined : json['anonymizedContent'],
65
66
  'confirmationLink': json['confirmationLink'] == null ? undefined : json['confirmationLink'],
66
67
  'toolResults': json['toolResults'] == null ? undefined : (json['toolResults'].map(ToolResultsUio_1.ToolResultsUioFromJSON)),
68
+ 'approvals': json['approvals'] == null ? undefined : (json['approvals'].map(ConversationMessageApprovalUio_1.ConversationMessageApprovalUioFromJSON)),
67
69
  'suggestions': json['suggestions'] == null ? undefined : (json['suggestions'].map(SuggestionUio_1.SuggestionUioFromJSON)),
68
70
  'workspaceFiles': json['workspaceFiles'] == null ? undefined : json['workspaceFiles'],
69
71
  'flowNode': json['flowNode'] == null ? undefined : json['flowNode'],
@@ -96,6 +98,7 @@ function ChatMessageUioToJSONTyped(value, ignoreDiscriminator = false) {
96
98
  'anonymizedContent': value['anonymizedContent'],
97
99
  'confirmationLink': value['confirmationLink'],
98
100
  'toolResults': value['toolResults'] == null ? undefined : (value['toolResults'].map(ToolResultsUio_1.ToolResultsUioToJSON)),
101
+ 'approvals': value['approvals'] == null ? undefined : (value['approvals'].map(ConversationMessageApprovalUio_1.ConversationMessageApprovalUioToJSON)),
99
102
  'suggestions': value['suggestions'] == null ? undefined : (value['suggestions'].map(SuggestionUio_1.SuggestionUioToJSON)),
100
103
  'workspaceFiles': value['workspaceFiles'],
101
104
  'flowNode': value['flowNode'],
@@ -0,0 +1,70 @@
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
+ * One authorisation decision taken during this message: which tool, over what, by whom, when. Carried by the message so the history reads as it stands, with no extra request. For a decision granted once it is the only lasting trace there is — a one-off creates no standing approval. Deliberately beside toolResults rather than inside it: toolResults is replayed to the model every turn, and a one-off appearing there would later suggest a right that has expired.
14
+ * @export
15
+ * @interface ConversationMessageApprovalUio
16
+ */
17
+ export interface ConversationMessageApprovalUio {
18
+ /**
19
+ * The tool whose use was submitted for approval. It also says which family the decision belongs to: bash_network_approval an address, bash_python_approval a command.
20
+ * @type {string}
21
+ * @memberof ConversationMessageApprovalUio
22
+ */
23
+ tool: string;
24
+ /**
25
+ * Refusals are kept too — deciding not to allow is worth reading back.
26
+ * @type {boolean}
27
+ * @memberof ConversationMessageApprovalUio
28
+ */
29
+ granted: boolean;
30
+ /**
31
+ * What was granted, or on a refusal what had been asked for. An address is the prefix, never the full URL, which can carry a token.
32
+ * @type {string}
33
+ * @memberof ConversationMessageApprovalUio
34
+ */
35
+ resource: string;
36
+ /**
37
+ * How far the yes reached. once — this reply only, nothing stored, asked about again next time. agentUser — this agent, for this user, in every conversation, until revoked. Absent on a refusal, which grants nothing.
38
+ * @type {string}
39
+ * @memberof ConversationMessageApprovalUio
40
+ */
41
+ scope?: ConversationMessageApprovalUioScopeEnum;
42
+ /**
43
+ * Name or email of the person who decided, as it stood when they decided.
44
+ * @type {string}
45
+ * @memberof ConversationMessageApprovalUio
46
+ */
47
+ approvedBy?: string;
48
+ /**
49
+ *
50
+ * @type {string}
51
+ * @memberof ConversationMessageApprovalUio
52
+ */
53
+ at: string;
54
+ }
55
+ /**
56
+ * @export
57
+ */
58
+ export declare const ConversationMessageApprovalUioScopeEnum: {
59
+ readonly Once: "once";
60
+ readonly AgentUser: "agentUser";
61
+ };
62
+ export type ConversationMessageApprovalUioScopeEnum = typeof ConversationMessageApprovalUioScopeEnum[keyof typeof ConversationMessageApprovalUioScopeEnum];
63
+ /**
64
+ * Check if a given object implements the ConversationMessageApprovalUio interface.
65
+ */
66
+ export declare function instanceOfConversationMessageApprovalUio(value: object): value is ConversationMessageApprovalUio;
67
+ export declare function ConversationMessageApprovalUioFromJSON(json: any): ConversationMessageApprovalUio;
68
+ export declare function ConversationMessageApprovalUioFromJSONTyped(json: any, ignoreDiscriminator: boolean): ConversationMessageApprovalUio;
69
+ export declare function ConversationMessageApprovalUioToJSON(json: any): ConversationMessageApprovalUio;
70
+ export declare function ConversationMessageApprovalUioToJSONTyped(value?: ConversationMessageApprovalUio | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,74 @@
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.ConversationMessageApprovalUioScopeEnum = void 0;
17
+ exports.instanceOfConversationMessageApprovalUio = instanceOfConversationMessageApprovalUio;
18
+ exports.ConversationMessageApprovalUioFromJSON = ConversationMessageApprovalUioFromJSON;
19
+ exports.ConversationMessageApprovalUioFromJSONTyped = ConversationMessageApprovalUioFromJSONTyped;
20
+ exports.ConversationMessageApprovalUioToJSON = ConversationMessageApprovalUioToJSON;
21
+ exports.ConversationMessageApprovalUioToJSONTyped = ConversationMessageApprovalUioToJSONTyped;
22
+ /**
23
+ * @export
24
+ */
25
+ exports.ConversationMessageApprovalUioScopeEnum = {
26
+ Once: 'once',
27
+ AgentUser: 'agentUser'
28
+ };
29
+ /**
30
+ * Check if a given object implements the ConversationMessageApprovalUio interface.
31
+ */
32
+ function instanceOfConversationMessageApprovalUio(value) {
33
+ if (!('tool' in value) || value['tool'] === undefined)
34
+ return false;
35
+ if (!('granted' in value) || value['granted'] === undefined)
36
+ return false;
37
+ if (!('resource' in value) || value['resource'] === undefined)
38
+ return false;
39
+ if (!('at' in value) || value['at'] === undefined)
40
+ return false;
41
+ return true;
42
+ }
43
+ function ConversationMessageApprovalUioFromJSON(json) {
44
+ return ConversationMessageApprovalUioFromJSONTyped(json, false);
45
+ }
46
+ function ConversationMessageApprovalUioFromJSONTyped(json, ignoreDiscriminator) {
47
+ if (json == null) {
48
+ return json;
49
+ }
50
+ return {
51
+ 'tool': json['tool'],
52
+ 'granted': json['granted'],
53
+ 'resource': json['resource'],
54
+ 'scope': json['scope'] == null ? undefined : json['scope'],
55
+ 'approvedBy': json['approvedBy'] == null ? undefined : json['approvedBy'],
56
+ 'at': json['at'],
57
+ };
58
+ }
59
+ function ConversationMessageApprovalUioToJSON(json) {
60
+ return ConversationMessageApprovalUioToJSONTyped(json, false);
61
+ }
62
+ function ConversationMessageApprovalUioToJSONTyped(value, ignoreDiscriminator = false) {
63
+ if (value == null) {
64
+ return value;
65
+ }
66
+ return {
67
+ 'tool': value['tool'],
68
+ 'granted': value['granted'],
69
+ 'resource': value['resource'],
70
+ 'scope': value['scope'],
71
+ 'approvedBy': value['approvedBy'],
72
+ 'at': value['at'],
73
+ };
74
+ }
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import type { ConversationMessagesInnerSuggestionsInnerUio } from './ConversationMessagesInnerSuggestionsInnerUio';
13
13
  import type { ChatMessageAudioInnerUio } from './ChatMessageAudioInnerUio';
14
+ import type { ConversationMessageApprovalUio } from './ConversationMessageApprovalUio';
14
15
  import type { ConversationMessagesInnerFlowNodeUio } from './ConversationMessagesInnerFlowNodeUio';
15
16
  import type { ToolResultsUio } from './ToolResultsUio';
16
17
  import type { TokenUsageUio } from './TokenUsageUio';
@@ -82,6 +83,12 @@ export interface ConversationMessagesInnerUio {
82
83
  * @memberof ConversationMessagesInnerUio
83
84
  */
84
85
  toolResults?: Array<ToolResultsUio>;
86
+ /**
87
+ *
88
+ * @type {Array<ConversationMessageApprovalUio>}
89
+ * @memberof ConversationMessagesInnerUio
90
+ */
91
+ approvals?: Array<ConversationMessageApprovalUio>;
85
92
  /**
86
93
  *
87
94
  * @type {Array<string>}
@@ -20,6 +20,7 @@ exports.ConversationMessagesInnerUioToJSON = ConversationMessagesInnerUioToJSON;
20
20
  exports.ConversationMessagesInnerUioToJSONTyped = ConversationMessagesInnerUioToJSONTyped;
21
21
  const ConversationMessagesInnerSuggestionsInnerUio_1 = require("./ConversationMessagesInnerSuggestionsInnerUio");
22
22
  const ChatMessageAudioInnerUio_1 = require("./ChatMessageAudioInnerUio");
23
+ const ConversationMessageApprovalUio_1 = require("./ConversationMessageApprovalUio");
23
24
  const ConversationMessagesInnerFlowNodeUio_1 = require("./ConversationMessagesInnerFlowNodeUio");
24
25
  const ToolResultsUio_1 = require("./ToolResultsUio");
25
26
  const TokenUsageUio_1 = require("./TokenUsageUio");
@@ -55,6 +56,7 @@ function ConversationMessagesInnerUioFromJSONTyped(json, ignoreDiscriminator) {
55
56
  'audio': json['audio'] == null ? undefined : (json['audio'].map(ChatMessageAudioInnerUio_1.ChatMessageAudioInnerUioFromJSON)),
56
57
  'usage': json['usage'] == null ? undefined : (0, TokenUsageUio_1.TokenUsageUioFromJSON)(json['usage']),
57
58
  'toolResults': json['toolResults'] == null ? undefined : (json['toolResults'].map(ToolResultsUio_1.ToolResultsUioFromJSON)),
59
+ 'approvals': json['approvals'] == null ? undefined : (json['approvals'].map(ConversationMessageApprovalUio_1.ConversationMessageApprovalUioFromJSON)),
58
60
  'workspaceFiles': json['workspaceFiles'] == null ? undefined : json['workspaceFiles'],
59
61
  };
60
62
  }
@@ -76,6 +78,7 @@ function ConversationMessagesInnerUioToJSONTyped(value, ignoreDiscriminator = fa
76
78
  'audio': value['audio'] == null ? undefined : (value['audio'].map(ChatMessageAudioInnerUio_1.ChatMessageAudioInnerUioToJSON)),
77
79
  'usage': (0, TokenUsageUio_1.TokenUsageUioToJSON)(value['usage']),
78
80
  'toolResults': value['toolResults'] == null ? undefined : (value['toolResults'].map(ToolResultsUio_1.ToolResultsUioToJSON)),
81
+ 'approvals': value['approvals'] == null ? undefined : (value['approvals'].map(ConversationMessageApprovalUio_1.ConversationMessageApprovalUioToJSON)),
79
82
  'workspaceFiles': value['workspaceFiles'],
80
83
  };
81
84
  }
@@ -0,0 +1,53 @@
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
+ *
14
+ * @export
15
+ * @interface CreateToolApprovalRequestUio
16
+ */
17
+ export interface CreateToolApprovalRequestUio {
18
+ /**
19
+ * The agent the approval is granted to. The caller must have access to it.
20
+ * @type {string}
21
+ * @memberof CreateToolApprovalRequestUio
22
+ */
23
+ agentId: string;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof CreateToolApprovalRequestUio
28
+ */
29
+ resourceKind: CreateToolApprovalRequestUioResourceKindEnum;
30
+ /**
31
+ * An address is re-normalised server-side (https only, no credentials, no ambiguous separators) and stored as a prefix; a pattern is a glob — a star stands for any text up to the next slash, everything else is literal — that must start with https://, close its host with a slash and end with a slash or a star; a command is stored exactly as written, whitespace normalised.
32
+ * @type {string}
33
+ * @memberof CreateToolApprovalRequestUio
34
+ */
35
+ resource: string;
36
+ }
37
+ /**
38
+ * @export
39
+ */
40
+ export declare const CreateToolApprovalRequestUioResourceKindEnum: {
41
+ readonly Url: "url";
42
+ readonly Command: "command";
43
+ readonly UrlPattern: "urlPattern";
44
+ };
45
+ export type CreateToolApprovalRequestUioResourceKindEnum = typeof CreateToolApprovalRequestUioResourceKindEnum[keyof typeof CreateToolApprovalRequestUioResourceKindEnum];
46
+ /**
47
+ * Check if a given object implements the CreateToolApprovalRequestUio interface.
48
+ */
49
+ export declare function instanceOfCreateToolApprovalRequestUio(value: object): value is CreateToolApprovalRequestUio;
50
+ export declare function CreateToolApprovalRequestUioFromJSON(json: any): CreateToolApprovalRequestUio;
51
+ export declare function CreateToolApprovalRequestUioFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateToolApprovalRequestUio;
52
+ export declare function CreateToolApprovalRequestUioToJSON(json: any): CreateToolApprovalRequestUio;
53
+ export declare function CreateToolApprovalRequestUioToJSONTyped(value?: CreateToolApprovalRequestUio | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,67 @@
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.CreateToolApprovalRequestUioResourceKindEnum = void 0;
17
+ exports.instanceOfCreateToolApprovalRequestUio = instanceOfCreateToolApprovalRequestUio;
18
+ exports.CreateToolApprovalRequestUioFromJSON = CreateToolApprovalRequestUioFromJSON;
19
+ exports.CreateToolApprovalRequestUioFromJSONTyped = CreateToolApprovalRequestUioFromJSONTyped;
20
+ exports.CreateToolApprovalRequestUioToJSON = CreateToolApprovalRequestUioToJSON;
21
+ exports.CreateToolApprovalRequestUioToJSONTyped = CreateToolApprovalRequestUioToJSONTyped;
22
+ /**
23
+ * @export
24
+ */
25
+ exports.CreateToolApprovalRequestUioResourceKindEnum = {
26
+ Url: 'url',
27
+ Command: 'command',
28
+ UrlPattern: 'urlPattern'
29
+ };
30
+ /**
31
+ * Check if a given object implements the CreateToolApprovalRequestUio interface.
32
+ */
33
+ function instanceOfCreateToolApprovalRequestUio(value) {
34
+ if (!('agentId' in value) || value['agentId'] === undefined)
35
+ return false;
36
+ if (!('resourceKind' in value) || value['resourceKind'] === undefined)
37
+ return false;
38
+ if (!('resource' in value) || value['resource'] === undefined)
39
+ return false;
40
+ return true;
41
+ }
42
+ function CreateToolApprovalRequestUioFromJSON(json) {
43
+ return CreateToolApprovalRequestUioFromJSONTyped(json, false);
44
+ }
45
+ function CreateToolApprovalRequestUioFromJSONTyped(json, ignoreDiscriminator) {
46
+ if (json == null) {
47
+ return json;
48
+ }
49
+ return {
50
+ 'agentId': json['agentId'],
51
+ 'resourceKind': json['resourceKind'],
52
+ 'resource': json['resource'],
53
+ };
54
+ }
55
+ function CreateToolApprovalRequestUioToJSON(json) {
56
+ return CreateToolApprovalRequestUioToJSONTyped(json, false);
57
+ }
58
+ function CreateToolApprovalRequestUioToJSONTyped(value, ignoreDiscriminator = false) {
59
+ if (value == null) {
60
+ return value;
61
+ }
62
+ return {
63
+ 'agentId': value['agentId'],
64
+ 'resourceKind': value['resourceKind'],
65
+ 'resource': value['resource'],
66
+ };
67
+ }