@breign/client 1.0.147 → 1.0.149
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/AppApi.d.ts +12 -12
- package/dist/apis/AppApi.js +16 -10
- package/dist/models/AgentSandboxConfigurationUio.d.ts +8 -2
- package/dist/models/AgentSandboxConfigurationUio.js +2 -0
- package/dist/models/AppProbeResponseUio.d.ts +3 -3
- package/dist/models/AppProbeResponseUio.js +2 -6
- package/dist/models/ConversationMessageApprovalUio.d.ts +1 -1
- package/dist/models/ToolApprovalUio.d.ts +1 -1
- package/dist/models/ToolCallResultRequestUio.d.ts +2 -2
- package/dist/models/ToolCallUio.d.ts +1 -1
- package/dist/openapi.json +46 -16
- package/package.json +1 -1
package/dist/apis/AppApi.d.ts
CHANGED
|
@@ -108,7 +108,7 @@ export interface GetAppFillersRequest {
|
|
|
108
108
|
}
|
|
109
109
|
export interface GetAppProbeRequest {
|
|
110
110
|
appId: string;
|
|
111
|
-
instanceId
|
|
111
|
+
instanceId: string;
|
|
112
112
|
}
|
|
113
113
|
export interface GetAppsForAgentIdRequest {
|
|
114
114
|
agentId: string;
|
|
@@ -127,8 +127,8 @@ export interface InterruptAppRequest {
|
|
|
127
127
|
}
|
|
128
128
|
export interface ProbeAppRequest {
|
|
129
129
|
appId: string;
|
|
130
|
+
instanceId: string;
|
|
130
131
|
appProbeRequestUio: AppProbeRequestUio;
|
|
131
|
-
instanceId?: string;
|
|
132
132
|
}
|
|
133
133
|
export interface RefreshAppProbeRequest {
|
|
134
134
|
appId: string;
|
|
@@ -407,15 +407,15 @@ export declare class AppApi extends runtime.BaseAPI {
|
|
|
407
407
|
*/
|
|
408
408
|
getAppFillers(appId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<FillersArrayInnerUio>>;
|
|
409
409
|
/**
|
|
410
|
-
*
|
|
411
|
-
*
|
|
410
|
+
* Returns the last state snapshot posted by the instance. The probe belongs to the instance, so `instanceId` is required: without it the app has no probe to read. An instance that has never posted a probe answers 200 with an empty object.
|
|
411
|
+
* Read the last probe of an app instance
|
|
412
412
|
*/
|
|
413
413
|
getAppProbeRaw(requestParameters: GetAppProbeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AppProbeResponseUio>>;
|
|
414
414
|
/**
|
|
415
|
-
*
|
|
416
|
-
*
|
|
415
|
+
* Returns the last state snapshot posted by the instance. The probe belongs to the instance, so `instanceId` is required: without it the app has no probe to read. An instance that has never posted a probe answers 200 with an empty object.
|
|
416
|
+
* Read the last probe of an app instance
|
|
417
417
|
*/
|
|
418
|
-
getAppProbe(appId: string, instanceId
|
|
418
|
+
getAppProbe(appId: string, instanceId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AppProbeResponseUio>;
|
|
419
419
|
/**
|
|
420
420
|
* Get apps for agent id
|
|
421
421
|
* Get apps for agent id
|
|
@@ -457,15 +457,15 @@ export declare class AppApi extends runtime.BaseAPI {
|
|
|
457
457
|
*/
|
|
458
458
|
interruptApp(appId: string, instanceId?: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BodyWithIdUio>;
|
|
459
459
|
/**
|
|
460
|
-
*
|
|
461
|
-
*
|
|
460
|
+
* Records the state snapshot of the instance, replacing the previous one. `instanceId` is required — the probe is stored on the instance, not on the app. Any extra property of the body is kept as sent.
|
|
461
|
+
* Post the probe of an app instance
|
|
462
462
|
*/
|
|
463
463
|
probeAppRaw(requestParameters: ProbeAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
|
|
464
464
|
/**
|
|
465
|
-
*
|
|
466
|
-
*
|
|
465
|
+
* Records the state snapshot of the instance, replacing the previous one. `instanceId` is required — the probe is stored on the instance, not on the app. Any extra property of the body is kept as sent.
|
|
466
|
+
* Post the probe of an app instance
|
|
467
467
|
*/
|
|
468
|
-
probeApp(appId: string,
|
|
468
|
+
probeApp(appId: string, instanceId: string, appProbeRequestUio: AppProbeRequestUio, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
|
|
469
469
|
/**
|
|
470
470
|
* Refresh the app probe
|
|
471
471
|
* Refresh the app probe
|
package/dist/apis/AppApi.js
CHANGED
|
@@ -780,13 +780,16 @@ class AppApi extends runtime.BaseAPI {
|
|
|
780
780
|
return await response.value();
|
|
781
781
|
}
|
|
782
782
|
/**
|
|
783
|
-
*
|
|
784
|
-
*
|
|
783
|
+
* Returns the last state snapshot posted by the instance. The probe belongs to the instance, so `instanceId` is required: without it the app has no probe to read. An instance that has never posted a probe answers 200 with an empty object.
|
|
784
|
+
* Read the last probe of an app instance
|
|
785
785
|
*/
|
|
786
786
|
async getAppProbeRaw(requestParameters, initOverrides) {
|
|
787
787
|
if (requestParameters['appId'] == null) {
|
|
788
788
|
throw new runtime.RequiredError('appId', 'Required parameter "appId" was null or undefined when calling getAppProbe().');
|
|
789
789
|
}
|
|
790
|
+
if (requestParameters['instanceId'] == null) {
|
|
791
|
+
throw new runtime.RequiredError('instanceId', 'Required parameter "instanceId" was null or undefined when calling getAppProbe().');
|
|
792
|
+
}
|
|
790
793
|
const queryParameters = {};
|
|
791
794
|
if (requestParameters['instanceId'] != null) {
|
|
792
795
|
queryParameters['instanceId'] = requestParameters['instanceId'];
|
|
@@ -804,8 +807,8 @@ class AppApi extends runtime.BaseAPI {
|
|
|
804
807
|
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.AppProbeResponseUioFromJSON)(jsonValue));
|
|
805
808
|
}
|
|
806
809
|
/**
|
|
807
|
-
*
|
|
808
|
-
*
|
|
810
|
+
* Returns the last state snapshot posted by the instance. The probe belongs to the instance, so `instanceId` is required: without it the app has no probe to read. An instance that has never posted a probe answers 200 with an empty object.
|
|
811
|
+
* Read the last probe of an app instance
|
|
809
812
|
*/
|
|
810
813
|
async getAppProbe(appId, instanceId, initOverrides) {
|
|
811
814
|
const response = await this.getAppProbeRaw({ appId: appId, instanceId: instanceId }, initOverrides);
|
|
@@ -937,13 +940,16 @@ class AppApi extends runtime.BaseAPI {
|
|
|
937
940
|
return await response.value();
|
|
938
941
|
}
|
|
939
942
|
/**
|
|
940
|
-
*
|
|
941
|
-
*
|
|
943
|
+
* Records the state snapshot of the instance, replacing the previous one. `instanceId` is required — the probe is stored on the instance, not on the app. Any extra property of the body is kept as sent.
|
|
944
|
+
* Post the probe of an app instance
|
|
942
945
|
*/
|
|
943
946
|
async probeAppRaw(requestParameters, initOverrides) {
|
|
944
947
|
if (requestParameters['appId'] == null) {
|
|
945
948
|
throw new runtime.RequiredError('appId', 'Required parameter "appId" was null or undefined when calling probeApp().');
|
|
946
949
|
}
|
|
950
|
+
if (requestParameters['instanceId'] == null) {
|
|
951
|
+
throw new runtime.RequiredError('instanceId', 'Required parameter "instanceId" was null or undefined when calling probeApp().');
|
|
952
|
+
}
|
|
947
953
|
if (requestParameters['appProbeRequestUio'] == null) {
|
|
948
954
|
throw new runtime.RequiredError('appProbeRequestUio', 'Required parameter "appProbeRequestUio" was null or undefined when calling probeApp().');
|
|
949
955
|
}
|
|
@@ -966,11 +972,11 @@ class AppApi extends runtime.BaseAPI {
|
|
|
966
972
|
return new runtime.VoidApiResponse(response);
|
|
967
973
|
}
|
|
968
974
|
/**
|
|
969
|
-
*
|
|
970
|
-
*
|
|
975
|
+
* Records the state snapshot of the instance, replacing the previous one. `instanceId` is required — the probe is stored on the instance, not on the app. Any extra property of the body is kept as sent.
|
|
976
|
+
* Post the probe of an app instance
|
|
971
977
|
*/
|
|
972
|
-
async probeApp(appId,
|
|
973
|
-
await this.probeAppRaw({ appId: appId,
|
|
978
|
+
async probeApp(appId, instanceId, appProbeRequestUio, initOverrides) {
|
|
979
|
+
await this.probeAppRaw({ appId: appId, instanceId: instanceId, appProbeRequestUio: appProbeRequestUio }, initOverrides);
|
|
974
980
|
}
|
|
975
981
|
/**
|
|
976
982
|
* Refresh the app probe
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { AgentSandboxNetworkConfigurationUio } from './AgentSandboxNetworkConfigurationUio';
|
|
13
13
|
/**
|
|
14
|
-
* Per-agent activation of the bash sandbox and of its
|
|
14
|
+
* Per-agent activation of the bash sandbox and of its three risky capabilities. Separate switches because the risk surfaces are unrelated. The server configuration can only narrow this: an agent may enable, never widen.
|
|
15
15
|
* @export
|
|
16
16
|
* @interface AgentSandboxConfigurationUio
|
|
17
17
|
*/
|
|
@@ -23,11 +23,17 @@ export interface AgentSandboxConfigurationUio {
|
|
|
23
23
|
*/
|
|
24
24
|
enabled?: boolean;
|
|
25
25
|
/**
|
|
26
|
-
* Enables python3 inside the sandbox. Also requires the server-side lock; the cost is arbitrary code execution.
|
|
26
|
+
* Enables python3 inside the sandbox. Also requires the server-side lock; the cost is arbitrary code execution, so every python command is approved by the user before it runs.
|
|
27
27
|
* @type {boolean}
|
|
28
28
|
* @memberof AgentSandboxConfigurationUio
|
|
29
29
|
*/
|
|
30
30
|
pythonEnabled?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Enables js-exec (JavaScript and TypeScript, in QuickJS) inside the sandbox. Same two extra locks as pythonEnabled, and the same per-command approval: running code IS the effect, so there is nothing to refuse afterwards.
|
|
33
|
+
* @type {boolean}
|
|
34
|
+
* @memberof AgentSandboxConfigurationUio
|
|
35
|
+
*/
|
|
36
|
+
javascriptEnabled?: boolean;
|
|
31
37
|
/**
|
|
32
38
|
*
|
|
33
39
|
* @type {AgentSandboxNetworkConfigurationUio}
|
|
@@ -42,6 +42,7 @@ function AgentSandboxConfigurationUioFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
42
42
|
return {
|
|
43
43
|
'enabled': json['enabled'] == null ? undefined : json['enabled'],
|
|
44
44
|
'pythonEnabled': json['pythonEnabled'] == null ? undefined : json['pythonEnabled'],
|
|
45
|
+
'javascriptEnabled': json['javascriptEnabled'] == null ? undefined : json['javascriptEnabled'],
|
|
45
46
|
'network': json['network'] == null ? undefined : (0, AgentSandboxNetworkConfigurationUio_1.AgentSandboxNetworkConfigurationUioFromJSON)(json['network']),
|
|
46
47
|
'workspaceScope': json['workspaceScope'] == null ? undefined : json['workspaceScope'],
|
|
47
48
|
};
|
|
@@ -56,6 +57,7 @@ function AgentSandboxConfigurationUioToJSONTyped(value, ignoreDiscriminator = fa
|
|
|
56
57
|
return {
|
|
57
58
|
'enabled': value['enabled'],
|
|
58
59
|
'pythonEnabled': value['pythonEnabled'],
|
|
60
|
+
'javascriptEnabled': value['javascriptEnabled'],
|
|
59
61
|
'network': (0, AgentSandboxNetworkConfigurationUio_1.AgentSandboxNetworkConfigurationUioToJSON)(value['network']),
|
|
60
62
|
'workspaceScope': value['workspaceScope'],
|
|
61
63
|
};
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* Dernier probe remonte par l'instance. Un objet vide signifie que l'instance n'a jamais probe : `id` et `date` sont alors absents.
|
|
14
14
|
* @export
|
|
15
15
|
* @interface AppProbeResponseUio
|
|
16
16
|
*/
|
|
@@ -21,13 +21,13 @@ export interface AppProbeResponseUio {
|
|
|
21
21
|
* @type {string}
|
|
22
22
|
* @memberof AppProbeResponseUio
|
|
23
23
|
*/
|
|
24
|
-
id
|
|
24
|
+
id?: string;
|
|
25
25
|
/**
|
|
26
26
|
*
|
|
27
27
|
* @type {string}
|
|
28
28
|
* @memberof AppProbeResponseUio
|
|
29
29
|
*/
|
|
30
|
-
date
|
|
30
|
+
date?: string;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Check if a given object implements the AppProbeResponseUio interface.
|
|
@@ -22,10 +22,6 @@ exports.AppProbeResponseUioToJSONTyped = AppProbeResponseUioToJSONTyped;
|
|
|
22
22
|
* Check if a given object implements the AppProbeResponseUio interface.
|
|
23
23
|
*/
|
|
24
24
|
function instanceOfAppProbeResponseUio(value) {
|
|
25
|
-
if (!('id' in value) || value['id'] === undefined)
|
|
26
|
-
return false;
|
|
27
|
-
if (!('date' in value) || value['date'] === undefined)
|
|
28
|
-
return false;
|
|
29
25
|
return true;
|
|
30
26
|
}
|
|
31
27
|
function AppProbeResponseUioFromJSON(json) {
|
|
@@ -37,8 +33,8 @@ function AppProbeResponseUioFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
37
33
|
}
|
|
38
34
|
return {
|
|
39
35
|
...json,
|
|
40
|
-
'id': json['id'],
|
|
41
|
-
'date': json['date'],
|
|
36
|
+
'id': json['id'] == null ? undefined : json['id'],
|
|
37
|
+
'date': json['date'] == null ? undefined : json['date'],
|
|
42
38
|
};
|
|
43
39
|
}
|
|
44
40
|
function AppProbeResponseUioToJSON(json) {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
export interface ConversationMessageApprovalUio {
|
|
18
18
|
/**
|
|
19
|
-
* The tool whose use was submitted for approval. It also says which family the decision belongs to: bash_network_approval an address,
|
|
19
|
+
* The tool whose use was submitted for approval. It also says which family the decision belongs to: bash_network_approval an address, bash_command_approval a command (and bash_python_approval, its former name, on decisions taken before the rename).
|
|
20
20
|
* @type {string}
|
|
21
21
|
* @memberof ConversationMessageApprovalUio
|
|
22
22
|
*/
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
/**
|
|
13
|
-
* One operation the user has authorised an agent to perform. Two families share this shape: an address the agent sandbox may reach, and a
|
|
13
|
+
* One operation the user has authorised an agent to perform. Two families share this shape: an address the agent sandbox may reach, and a command it may run through one of its interpreters — python3 or js-exec. An address is stored normalised — query string, fragment and credentials removed — so a token carried by the URL the user saw is not kept here; a command is stored as it was approved, since the command itself is what was judged.
|
|
14
14
|
* @export
|
|
15
15
|
* @interface ToolApprovalUio
|
|
16
16
|
*/
|
|
@@ -41,13 +41,13 @@ 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 or bash_command_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
|
*/
|
|
48
48
|
approvalScope?: ToolCallResultRequestUioApprovalScopeEnum;
|
|
49
49
|
/**
|
|
50
|
-
* Only read when resolving a bash_network_approval call with status completed: how wide the approval is. prefix (the default) grants the prefix shown in the request — origin plus first path segment; origin grants the whole domain. Nothing narrower is offered: nobody can predict the paths an API will serve, and an approval that is too fine is paid for in repeated questions. The server recomputes both from the URL it recorded, so a client cannot submit a prefix of its own. Ignored on a
|
|
50
|
+
* Only read when resolving a bash_network_approval call with status completed: how wide the approval is. prefix (the default) grants the prefix shown in the request — origin plus first path segment; origin grants the whole domain. Nothing narrower is offered: nobody can predict the paths an API will serve, and an approval that is too fine is paid for in repeated questions. The server recomputes both from the URL it recorded, so a client cannot submit a prefix of its own. Ignored on a bash_command_approval call, which has a single width: the exact command the server already recorded.
|
|
51
51
|
* @type {string}
|
|
52
52
|
* @memberof ToolCallResultRequestUio
|
|
53
53
|
*/
|
|
@@ -22,7 +22,7 @@ export interface ToolCallUio {
|
|
|
22
22
|
*/
|
|
23
23
|
callId: string;
|
|
24
24
|
/**
|
|
25
|
-
* Name of the tool the model called. Three values are produced by the server today. 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.
|
|
25
|
+
* Name of the tool the model called. Three values are produced by the server today. 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
|
*/
|
package/dist/openapi.json
CHANGED
|
@@ -3358,7 +3358,7 @@
|
|
|
3358
3358
|
},
|
|
3359
3359
|
"/apps/{appId}/probe" : {
|
|
3360
3360
|
"get" : {
|
|
3361
|
-
"description" : "
|
|
3361
|
+
"description" : "Returns the last state snapshot posted by the instance. The probe belongs to the instance, so `instanceId` is required: without it the app has no probe to read. An instance that has never posted a probe answers 200 with an empty object.",
|
|
3362
3362
|
"operationId" : "getAppProbe",
|
|
3363
3363
|
"parameters" : [ {
|
|
3364
3364
|
"description" : "ID of the app",
|
|
@@ -3369,9 +3369,10 @@
|
|
|
3369
3369
|
"type" : "string"
|
|
3370
3370
|
}
|
|
3371
3371
|
}, {
|
|
3372
|
-
"description" : "
|
|
3372
|
+
"description" : "The instance whose probe is read. `DEFAULT` is not accepted.",
|
|
3373
3373
|
"in" : "query",
|
|
3374
3374
|
"name" : "instanceId",
|
|
3375
|
+
"required" : true,
|
|
3375
3376
|
"schema" : {
|
|
3376
3377
|
"type" : "string"
|
|
3377
3378
|
}
|
|
@@ -3385,14 +3386,26 @@
|
|
|
3385
3386
|
}
|
|
3386
3387
|
}
|
|
3387
3388
|
},
|
|
3388
|
-
"description" : "
|
|
3389
|
+
"description" : "Last probe of the instance, or an empty object if it never probed"
|
|
3390
|
+
},
|
|
3391
|
+
"400" : {
|
|
3392
|
+
"description" : "instanceId is missing or is `DEFAULT`"
|
|
3393
|
+
},
|
|
3394
|
+
"401" : {
|
|
3395
|
+
"description" : "Unauthorized"
|
|
3396
|
+
},
|
|
3397
|
+
"403" : {
|
|
3398
|
+
"description" : "Forbidden"
|
|
3399
|
+
},
|
|
3400
|
+
"404" : {
|
|
3401
|
+
"description" : "App or instance not found"
|
|
3389
3402
|
}
|
|
3390
3403
|
},
|
|
3391
|
-
"summary" : "
|
|
3404
|
+
"summary" : "Read the last probe of an app instance",
|
|
3392
3405
|
"tags" : [ "app" ]
|
|
3393
3406
|
},
|
|
3394
3407
|
"post" : {
|
|
3395
|
-
"description" : "
|
|
3408
|
+
"description" : "Records the state snapshot of the instance, replacing the previous one. `instanceId` is required — the probe is stored on the instance, not on the app. Any extra property of the body is kept as sent.",
|
|
3396
3409
|
"operationId" : "probeApp",
|
|
3397
3410
|
"parameters" : [ {
|
|
3398
3411
|
"description" : "ID of the app",
|
|
@@ -3403,9 +3416,10 @@
|
|
|
3403
3416
|
"type" : "string"
|
|
3404
3417
|
}
|
|
3405
3418
|
}, {
|
|
3406
|
-
"description" : "
|
|
3419
|
+
"description" : "The instance the probe belongs to. `DEFAULT` is not accepted.",
|
|
3407
3420
|
"in" : "query",
|
|
3408
3421
|
"name" : "instanceId",
|
|
3422
|
+
"required" : true,
|
|
3409
3423
|
"schema" : {
|
|
3410
3424
|
"type" : "string"
|
|
3411
3425
|
}
|
|
@@ -3422,10 +3436,22 @@
|
|
|
3422
3436
|
},
|
|
3423
3437
|
"responses" : {
|
|
3424
3438
|
"204" : {
|
|
3425
|
-
"description" : "
|
|
3439
|
+
"description" : "Probe recorded"
|
|
3440
|
+
},
|
|
3441
|
+
"400" : {
|
|
3442
|
+
"description" : "Invalid body, or instanceId missing or `DEFAULT`"
|
|
3443
|
+
},
|
|
3444
|
+
"401" : {
|
|
3445
|
+
"description" : "Unauthorized"
|
|
3446
|
+
},
|
|
3447
|
+
"403" : {
|
|
3448
|
+
"description" : "Forbidden"
|
|
3449
|
+
},
|
|
3450
|
+
"404" : {
|
|
3451
|
+
"description" : "App or instance not found"
|
|
3426
3452
|
}
|
|
3427
3453
|
},
|
|
3428
|
-
"summary" : "
|
|
3454
|
+
"summary" : "Post the probe of an app instance",
|
|
3429
3455
|
"tags" : [ "app" ]
|
|
3430
3456
|
}
|
|
3431
3457
|
},
|
|
@@ -16007,14 +16033,18 @@
|
|
|
16007
16033
|
"type" : "object"
|
|
16008
16034
|
},
|
|
16009
16035
|
"AgentSandboxConfiguration" : {
|
|
16010
|
-
"description" : "Per-agent activation of the bash sandbox and of its
|
|
16036
|
+
"description" : "Per-agent activation of the bash sandbox and of its three risky capabilities. Separate switches because the risk surfaces are unrelated. The server configuration can only narrow this: an agent may enable, never widen.",
|
|
16011
16037
|
"properties" : {
|
|
16012
16038
|
"enabled" : {
|
|
16013
16039
|
"description" : "Enables the Bash_exec tool for this agent.",
|
|
16014
16040
|
"type" : "boolean"
|
|
16015
16041
|
},
|
|
16016
16042
|
"pythonEnabled" : {
|
|
16017
|
-
"description" : "Enables python3 inside the sandbox. Also requires the server-side lock; the cost is arbitrary code execution.",
|
|
16043
|
+
"description" : "Enables python3 inside the sandbox. Also requires the server-side lock; the cost is arbitrary code execution, so every python command is approved by the user before it runs.",
|
|
16044
|
+
"type" : "boolean"
|
|
16045
|
+
},
|
|
16046
|
+
"javascriptEnabled" : {
|
|
16047
|
+
"description" : "Enables js-exec (JavaScript and TypeScript, in QuickJS) inside the sandbox. Same two extra locks as pythonEnabled, and the same per-command approval: running code IS the effect, so there is nothing to refuse afterwards.",
|
|
16018
16048
|
"type" : "boolean"
|
|
16019
16049
|
},
|
|
16020
16050
|
"network" : {
|
|
@@ -17396,7 +17426,7 @@
|
|
|
17396
17426
|
"description" : "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.",
|
|
17397
17427
|
"properties" : {
|
|
17398
17428
|
"tool" : {
|
|
17399
|
-
"description" : "The tool whose use was submitted for approval. It also says which family the decision belongs to: bash_network_approval an address,
|
|
17429
|
+
"description" : "The tool whose use was submitted for approval. It also says which family the decision belongs to: bash_network_approval an address, bash_command_approval a command (and bash_python_approval, its former name, on decisions taken before the rename).",
|
|
17400
17430
|
"type" : "string"
|
|
17401
17431
|
},
|
|
17402
17432
|
"granted" : {
|
|
@@ -18476,6 +18506,7 @@
|
|
|
18476
18506
|
},
|
|
18477
18507
|
"AppProbeResponse" : {
|
|
18478
18508
|
"additionalProperties" : true,
|
|
18509
|
+
"description" : "Dernier probe remonte par l'instance. Un objet vide signifie que l'instance n'a jamais probe : `id` et `date` sont alors absents.",
|
|
18479
18510
|
"properties" : {
|
|
18480
18511
|
"id" : {
|
|
18481
18512
|
"type" : "string"
|
|
@@ -18484,7 +18515,6 @@
|
|
|
18484
18515
|
"type" : "string"
|
|
18485
18516
|
}
|
|
18486
18517
|
},
|
|
18487
|
-
"required" : [ "date", "id" ],
|
|
18488
18518
|
"type" : "object"
|
|
18489
18519
|
},
|
|
18490
18520
|
"AppProbeRequest" : {
|
|
@@ -20220,7 +20250,7 @@
|
|
|
20220
20250
|
},
|
|
20221
20251
|
"ToolApproval" : {
|
|
20222
20252
|
"additionalProperties" : false,
|
|
20223
|
-
"description" : "One operation the user has authorised an agent to perform. Two families share this shape: an address the agent sandbox may reach, and a
|
|
20253
|
+
"description" : "One operation the user has authorised an agent to perform. Two families share this shape: an address the agent sandbox may reach, and a command it may run through one of its interpreters — python3 or js-exec. An address is stored normalised — query string, fragment and credentials removed — so a token carried by the URL the user saw is not kept here; a command is stored as it was approved, since the command itself is what was judged.",
|
|
20224
20254
|
"properties" : {
|
|
20225
20255
|
"id" : {
|
|
20226
20256
|
"description" : "Identifier to revoke the approval with.",
|
|
@@ -22059,7 +22089,7 @@
|
|
|
22059
22089
|
"type" : "string"
|
|
22060
22090
|
},
|
|
22061
22091
|
"tool" : {
|
|
22062
|
-
"description" : "Name of the tool the model called. Three values are produced by the server today. 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.
|
|
22092
|
+
"description" : "Name of the tool the model called. Three values are produced by the server today. 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.",
|
|
22063
22093
|
"type" : "string"
|
|
22064
22094
|
},
|
|
22065
22095
|
"status" : {
|
|
@@ -22122,12 +22152,12 @@
|
|
|
22122
22152
|
"type" : "string"
|
|
22123
22153
|
},
|
|
22124
22154
|
"approvalScope" : {
|
|
22125
|
-
"description" : "Only read when resolving a bash_network_approval or
|
|
22155
|
+
"description" : "Only read when resolving a bash_network_approval or bash_command_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.",
|
|
22126
22156
|
"enum" : [ "once", "agentUser" ],
|
|
22127
22157
|
"type" : "string"
|
|
22128
22158
|
},
|
|
22129
22159
|
"approvalWidth" : {
|
|
22130
|
-
"description" : "Only read when resolving a bash_network_approval call with status completed: how wide the approval is. prefix (the default) grants the prefix shown in the request — origin plus first path segment; origin grants the whole domain. Nothing narrower is offered: nobody can predict the paths an API will serve, and an approval that is too fine is paid for in repeated questions. The server recomputes both from the URL it recorded, so a client cannot submit a prefix of its own. Ignored on a
|
|
22160
|
+
"description" : "Only read when resolving a bash_network_approval call with status completed: how wide the approval is. prefix (the default) grants the prefix shown in the request — origin plus first path segment; origin grants the whole domain. Nothing narrower is offered: nobody can predict the paths an API will serve, and an approval that is too fine is paid for in repeated questions. The server recomputes both from the URL it recorded, so a client cannot submit a prefix of its own. Ignored on a bash_command_approval call, which has a single width: the exact command the server already recorded.",
|
|
22131
22161
|
"enum" : [ "prefix", "origin" ],
|
|
22132
22162
|
"type" : "string"
|
|
22133
22163
|
}
|