@openkaiden/opnshll-sdk 0.0.110
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/README.md +186 -0
- package/dist/client.d.ts +594 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +930 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +18 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +56 -0
- package/dist/errors.js.map +1 -0
- package/dist/gen/datamodel_pb.d.ts +246 -0
- package/dist/gen/datamodel_pb.d.ts.map +1 -0
- package/dist/gen/datamodel_pb.js +58 -0
- package/dist/gen/datamodel_pb.js.map +1 -0
- package/dist/gen/openshell_pb.d.ts +6739 -0
- package/dist/gen/openshell_pb.d.ts.map +1 -0
- package/dist/gen/openshell_pb.js +1180 -0
- package/dist/gen/openshell_pb.js.map +1 -0
- package/dist/gen/options_pb.d.ts +58 -0
- package/dist/gen/options_pb.d.ts.map +1 -0
- package/dist/gen/options_pb.js +24 -0
- package/dist/gen/options_pb.js.map +1 -0
- package/dist/gen/sandbox_pb.d.ts +1069 -0
- package/dist/gen/sandbox_pb.d.ts.map +1 -0
- package/dist/gen/sandbox_pb.js +172 -0
- package/dist/gen/sandbox_pb.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/raw.d.ts +5 -0
- package/dist/raw.d.ts.map +1 -0
- package/dist/raw.js +14 -0
- package/dist/raw.js.map +1 -0
- package/dist/ssh-validate.d.ts +11 -0
- package/dist/ssh-validate.d.ts.map +1 -0
- package/dist/ssh-validate.js +58 -0
- package/dist/ssh-validate.js.map +1 -0
- package/dist/transport.d.ts +29 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +92 -0
- package/dist/transport.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,1069 @@
|
|
|
1
|
+
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
|
|
2
|
+
import type { JsonObject, Message } from "@bufbuild/protobuf";
|
|
3
|
+
/**
|
|
4
|
+
* Describes the file sandbox.proto.
|
|
5
|
+
*/
|
|
6
|
+
export declare const file_sandbox: GenFile;
|
|
7
|
+
/**
|
|
8
|
+
* Sandbox security policy configuration.
|
|
9
|
+
*
|
|
10
|
+
* @generated from message openshell.sandbox.v1.SandboxPolicy
|
|
11
|
+
*/
|
|
12
|
+
export type SandboxPolicy = Message<"openshell.sandbox.v1.SandboxPolicy"> & {
|
|
13
|
+
/**
|
|
14
|
+
* Policy version.
|
|
15
|
+
*
|
|
16
|
+
* @generated from field: uint32 version = 1;
|
|
17
|
+
*/
|
|
18
|
+
version: number;
|
|
19
|
+
/**
|
|
20
|
+
* Filesystem access policy.
|
|
21
|
+
*
|
|
22
|
+
* @generated from field: openshell.sandbox.v1.FilesystemPolicy filesystem = 2;
|
|
23
|
+
*/
|
|
24
|
+
filesystem?: FilesystemPolicy | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Landlock configuration.
|
|
27
|
+
*
|
|
28
|
+
* @generated from field: openshell.sandbox.v1.LandlockPolicy landlock = 3;
|
|
29
|
+
*/
|
|
30
|
+
landlock?: LandlockPolicy | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Process execution policy.
|
|
33
|
+
*
|
|
34
|
+
* @generated from field: openshell.sandbox.v1.ProcessPolicy process = 4;
|
|
35
|
+
*/
|
|
36
|
+
process?: ProcessPolicy | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Network access policies keyed by name (e.g. "claude_code", "gitlab").
|
|
39
|
+
*
|
|
40
|
+
* @generated from field: map<string, openshell.sandbox.v1.NetworkPolicyRule> network_policies = 5;
|
|
41
|
+
*/
|
|
42
|
+
networkPolicies: {
|
|
43
|
+
[key: string]: NetworkPolicyRule;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Reusable supervisor middleware configs for network egress, keyed by their
|
|
47
|
+
* policy-local names. At most 10 configs are accepted, and at most 10 stages
|
|
48
|
+
* can be selected per request.
|
|
49
|
+
*
|
|
50
|
+
* @generated from field: map<string, openshell.sandbox.v1.NetworkMiddlewareConfig> network_middlewares = 6;
|
|
51
|
+
*/
|
|
52
|
+
networkMiddlewares: {
|
|
53
|
+
[key: string]: NetworkMiddlewareConfig;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Describes the message openshell.sandbox.v1.SandboxPolicy.
|
|
58
|
+
* Use `create(SandboxPolicySchema)` to create a new message.
|
|
59
|
+
*/
|
|
60
|
+
export declare const SandboxPolicySchema: GenMessage<SandboxPolicy>;
|
|
61
|
+
/**
|
|
62
|
+
* Filesystem access policy.
|
|
63
|
+
*
|
|
64
|
+
* @generated from message openshell.sandbox.v1.FilesystemPolicy
|
|
65
|
+
*/
|
|
66
|
+
export type FilesystemPolicy = Message<"openshell.sandbox.v1.FilesystemPolicy"> & {
|
|
67
|
+
/**
|
|
68
|
+
* Automatically include the workdir as read-write.
|
|
69
|
+
*
|
|
70
|
+
* @generated from field: bool include_workdir = 1;
|
|
71
|
+
*/
|
|
72
|
+
includeWorkdir: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Read-only directory allow list.
|
|
75
|
+
*
|
|
76
|
+
* @generated from field: repeated string read_only = 2;
|
|
77
|
+
*/
|
|
78
|
+
readOnly: string[];
|
|
79
|
+
/**
|
|
80
|
+
* Read-write directory allow list.
|
|
81
|
+
*
|
|
82
|
+
* @generated from field: repeated string read_write = 3;
|
|
83
|
+
*/
|
|
84
|
+
readWrite: string[];
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Describes the message openshell.sandbox.v1.FilesystemPolicy.
|
|
88
|
+
* Use `create(FilesystemPolicySchema)` to create a new message.
|
|
89
|
+
*/
|
|
90
|
+
export declare const FilesystemPolicySchema: GenMessage<FilesystemPolicy>;
|
|
91
|
+
/**
|
|
92
|
+
* Landlock policy configuration.
|
|
93
|
+
*
|
|
94
|
+
* @generated from message openshell.sandbox.v1.LandlockPolicy
|
|
95
|
+
*/
|
|
96
|
+
export type LandlockPolicy = Message<"openshell.sandbox.v1.LandlockPolicy"> & {
|
|
97
|
+
/**
|
|
98
|
+
* Compatibility mode (e.g. "best_effort", "hard_requirement").
|
|
99
|
+
*
|
|
100
|
+
* @generated from field: string compatibility = 1;
|
|
101
|
+
*/
|
|
102
|
+
compatibility: string;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Describes the message openshell.sandbox.v1.LandlockPolicy.
|
|
106
|
+
* Use `create(LandlockPolicySchema)` to create a new message.
|
|
107
|
+
*/
|
|
108
|
+
export declare const LandlockPolicySchema: GenMessage<LandlockPolicy>;
|
|
109
|
+
/**
|
|
110
|
+
* Process execution policy.
|
|
111
|
+
*
|
|
112
|
+
* @generated from message openshell.sandbox.v1.ProcessPolicy
|
|
113
|
+
*/
|
|
114
|
+
export type ProcessPolicy = Message<"openshell.sandbox.v1.ProcessPolicy"> & {
|
|
115
|
+
/**
|
|
116
|
+
* User name to run the sandboxed process as.
|
|
117
|
+
*
|
|
118
|
+
* @generated from field: string run_as_user = 1;
|
|
119
|
+
*/
|
|
120
|
+
runAsUser: string;
|
|
121
|
+
/**
|
|
122
|
+
* Group name to run the sandboxed process as.
|
|
123
|
+
*
|
|
124
|
+
* @generated from field: string run_as_group = 2;
|
|
125
|
+
*/
|
|
126
|
+
runAsGroup: string;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Describes the message openshell.sandbox.v1.ProcessPolicy.
|
|
130
|
+
* Use `create(ProcessPolicySchema)` to create a new message.
|
|
131
|
+
*/
|
|
132
|
+
export declare const ProcessPolicySchema: GenMessage<ProcessPolicy>;
|
|
133
|
+
/**
|
|
134
|
+
* A named network access policy rule.
|
|
135
|
+
*
|
|
136
|
+
* @generated from message openshell.sandbox.v1.NetworkPolicyRule
|
|
137
|
+
*/
|
|
138
|
+
export type NetworkPolicyRule = Message<"openshell.sandbox.v1.NetworkPolicyRule"> & {
|
|
139
|
+
/**
|
|
140
|
+
* Human-readable name for this policy rule.
|
|
141
|
+
*
|
|
142
|
+
* @generated from field: string name = 1;
|
|
143
|
+
*/
|
|
144
|
+
name: string;
|
|
145
|
+
/**
|
|
146
|
+
* Allowed endpoint (host:port) pairs.
|
|
147
|
+
*
|
|
148
|
+
* @generated from field: repeated openshell.sandbox.v1.NetworkEndpoint endpoints = 2;
|
|
149
|
+
*/
|
|
150
|
+
endpoints: NetworkEndpoint[];
|
|
151
|
+
/**
|
|
152
|
+
* Allowed binary identities.
|
|
153
|
+
*
|
|
154
|
+
* @generated from field: repeated openshell.sandbox.v1.NetworkBinary binaries = 3;
|
|
155
|
+
*/
|
|
156
|
+
binaries: NetworkBinary[];
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Describes the message openshell.sandbox.v1.NetworkPolicyRule.
|
|
160
|
+
* Use `create(NetworkPolicyRuleSchema)` to create a new message.
|
|
161
|
+
*/
|
|
162
|
+
export declare const NetworkPolicyRuleSchema: GenMessage<NetworkPolicyRule>;
|
|
163
|
+
/**
|
|
164
|
+
* A reusable middleware config selected for admitted egress by host.
|
|
165
|
+
*
|
|
166
|
+
* @generated from message openshell.sandbox.v1.NetworkMiddlewareConfig
|
|
167
|
+
*/
|
|
168
|
+
export type NetworkMiddlewareConfig = Message<"openshell.sandbox.v1.NetworkMiddlewareConfig"> & {
|
|
169
|
+
/**
|
|
170
|
+
* Human-readable name for this middleware config.
|
|
171
|
+
*
|
|
172
|
+
* @generated from field: string name = 1;
|
|
173
|
+
*/
|
|
174
|
+
name: string;
|
|
175
|
+
/**
|
|
176
|
+
* Built-in middleware name or operator-owned registration name.
|
|
177
|
+
*
|
|
178
|
+
* @generated from field: string middleware = 2;
|
|
179
|
+
*/
|
|
180
|
+
middleware: string;
|
|
181
|
+
/**
|
|
182
|
+
* Service-specific configuration.
|
|
183
|
+
*
|
|
184
|
+
* @generated from field: google.protobuf.Struct config = 3;
|
|
185
|
+
*/
|
|
186
|
+
config?: JsonObject | undefined;
|
|
187
|
+
/**
|
|
188
|
+
* Failure behavior: "fail_closed" (default) or "fail_open".
|
|
189
|
+
*
|
|
190
|
+
* @generated from field: string on_error = 4;
|
|
191
|
+
*/
|
|
192
|
+
onError: string;
|
|
193
|
+
/**
|
|
194
|
+
* Host selector controlling which admitted destinations use this config.
|
|
195
|
+
*
|
|
196
|
+
* @generated from field: openshell.sandbox.v1.MiddlewareEndpointSelector endpoints = 5;
|
|
197
|
+
*/
|
|
198
|
+
endpoints?: MiddlewareEndpointSelector | undefined;
|
|
199
|
+
/**
|
|
200
|
+
* Execution order. Values must be unique within a policy; lower values run first.
|
|
201
|
+
*
|
|
202
|
+
* @generated from field: int32 order = 6;
|
|
203
|
+
*/
|
|
204
|
+
order: number;
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Describes the message openshell.sandbox.v1.NetworkMiddlewareConfig.
|
|
208
|
+
* Use `create(NetworkMiddlewareConfigSchema)` to create a new message.
|
|
209
|
+
*/
|
|
210
|
+
export declare const NetworkMiddlewareConfigSchema: GenMessage<NetworkMiddlewareConfig>;
|
|
211
|
+
/**
|
|
212
|
+
* Host selector controlling which admitted destinations use a middleware config.
|
|
213
|
+
*
|
|
214
|
+
* @generated from message openshell.sandbox.v1.MiddlewareEndpointSelector
|
|
215
|
+
*/
|
|
216
|
+
export type MiddlewareEndpointSelector = Message<"openshell.sandbox.v1.MiddlewareEndpointSelector"> & {
|
|
217
|
+
/**
|
|
218
|
+
* Exact host or DNS glob patterns included in the selection. Include and
|
|
219
|
+
* exclude accept at most 32 combined patterns.
|
|
220
|
+
*
|
|
221
|
+
* @generated from field: repeated string include = 1;
|
|
222
|
+
*/
|
|
223
|
+
include: string[];
|
|
224
|
+
/**
|
|
225
|
+
* Exact host or DNS glob patterns removed from the selection.
|
|
226
|
+
* Exclusions take precedence over inclusions.
|
|
227
|
+
*
|
|
228
|
+
* @generated from field: repeated string exclude = 2;
|
|
229
|
+
*/
|
|
230
|
+
exclude: string[];
|
|
231
|
+
};
|
|
232
|
+
/**
|
|
233
|
+
* Describes the message openshell.sandbox.v1.MiddlewareEndpointSelector.
|
|
234
|
+
* Use `create(MiddlewareEndpointSelectorSchema)` to create a new message.
|
|
235
|
+
*/
|
|
236
|
+
export declare const MiddlewareEndpointSelectorSchema: GenMessage<MiddlewareEndpointSelector>;
|
|
237
|
+
/**
|
|
238
|
+
* Binds a policy endpoint to static credentials from a sandbox provider.
|
|
239
|
+
*
|
|
240
|
+
* @generated from message openshell.sandbox.v1.NetworkCredentialBinding
|
|
241
|
+
*/
|
|
242
|
+
export type NetworkCredentialBinding = Message<"openshell.sandbox.v1.NetworkCredentialBinding"> & {
|
|
243
|
+
/**
|
|
244
|
+
* Name of the provider attached to this sandbox whose static credentials
|
|
245
|
+
* may be resolved for requests admitted by this endpoint.
|
|
246
|
+
*
|
|
247
|
+
* @generated from field: string provider = 1;
|
|
248
|
+
*/
|
|
249
|
+
provider: string;
|
|
250
|
+
};
|
|
251
|
+
/**
|
|
252
|
+
* Describes the message openshell.sandbox.v1.NetworkCredentialBinding.
|
|
253
|
+
* Use `create(NetworkCredentialBindingSchema)` to create a new message.
|
|
254
|
+
*/
|
|
255
|
+
export declare const NetworkCredentialBindingSchema: GenMessage<NetworkCredentialBinding>;
|
|
256
|
+
/**
|
|
257
|
+
* A network endpoint (host + port) with optional L7 inspection config.
|
|
258
|
+
*
|
|
259
|
+
* @generated from message openshell.sandbox.v1.NetworkEndpoint
|
|
260
|
+
*/
|
|
261
|
+
export type NetworkEndpoint = Message<"openshell.sandbox.v1.NetworkEndpoint"> & {
|
|
262
|
+
/**
|
|
263
|
+
* Hostname or host glob pattern. Exact match is case-insensitive.
|
|
264
|
+
* Glob patterns use "." as delimiter: "*.example.com" matches a single
|
|
265
|
+
* subdomain label, "**.example.com" matches across labels.
|
|
266
|
+
*
|
|
267
|
+
* @generated from field: string host = 1;
|
|
268
|
+
*/
|
|
269
|
+
host: string;
|
|
270
|
+
/**
|
|
271
|
+
* Single port (backwards compat). Use `ports` for multiple ports.
|
|
272
|
+
* Mutually exclusive with `ports` — if both are set, `ports` takes precedence.
|
|
273
|
+
*
|
|
274
|
+
* @generated from field: uint32 port = 2;
|
|
275
|
+
*/
|
|
276
|
+
port: number;
|
|
277
|
+
/**
|
|
278
|
+
* Application protocol for L7 inspection: "rest", "websocket", "graphql", "sql", or "" (L4-only).
|
|
279
|
+
*
|
|
280
|
+
* @generated from field: string protocol = 3;
|
|
281
|
+
*/
|
|
282
|
+
protocol: string;
|
|
283
|
+
/**
|
|
284
|
+
* TLS handling: "terminate" or "passthrough" (default).
|
|
285
|
+
*
|
|
286
|
+
* @generated from field: string tls = 4;
|
|
287
|
+
*/
|
|
288
|
+
tls: string;
|
|
289
|
+
/**
|
|
290
|
+
* Enforcement mode: "enforce" or "audit" (default).
|
|
291
|
+
*
|
|
292
|
+
* @generated from field: string enforcement = 5;
|
|
293
|
+
*/
|
|
294
|
+
enforcement: string;
|
|
295
|
+
/**
|
|
296
|
+
* Access preset shorthand: "read-only", "read-write", "full".
|
|
297
|
+
* Mutually exclusive with rules.
|
|
298
|
+
*
|
|
299
|
+
* @generated from field: string access = 6;
|
|
300
|
+
*/
|
|
301
|
+
access: string;
|
|
302
|
+
/**
|
|
303
|
+
* Explicit L7 rules (mutually exclusive with access).
|
|
304
|
+
*
|
|
305
|
+
* @generated from field: repeated openshell.sandbox.v1.L7Rule rules = 7;
|
|
306
|
+
*/
|
|
307
|
+
rules: L7Rule[];
|
|
308
|
+
/**
|
|
309
|
+
* Allowed resolved IP addresses or CIDR ranges for this endpoint.
|
|
310
|
+
* When non-empty, the SSRF internal-IP check is replaced by an allowlist check:
|
|
311
|
+
* - If host is also set: domain must resolve to an IP in this list.
|
|
312
|
+
* - If host is empty: any domain is allowed as long as it resolves to an IP in this list.
|
|
313
|
+
* Supports exact IPs ("10.0.5.20") and CIDR notation ("10.0.5.0/24").
|
|
314
|
+
* Loopback (127.0.0.0/8) and link-local (169.254.0.0/16) are always blocked
|
|
315
|
+
* regardless of this field.
|
|
316
|
+
*
|
|
317
|
+
* @generated from field: repeated string allowed_ips = 8;
|
|
318
|
+
*/
|
|
319
|
+
allowedIps: string[];
|
|
320
|
+
/**
|
|
321
|
+
* Multiple ports. When non-empty, this endpoint covers all listed ports.
|
|
322
|
+
* If `port` is set and `ports` is empty, `port` is normalized to `ports: [port]`.
|
|
323
|
+
* If both are set, `ports` takes precedence.
|
|
324
|
+
*
|
|
325
|
+
* @generated from field: repeated uint32 ports = 9;
|
|
326
|
+
*/
|
|
327
|
+
ports: number[];
|
|
328
|
+
/**
|
|
329
|
+
* Explicit L7 deny rules. When present, requests matching any deny rule
|
|
330
|
+
* are blocked even if they match an allow rule or access preset.
|
|
331
|
+
* Deny rules take precedence over allow rules.
|
|
332
|
+
*
|
|
333
|
+
* @generated from field: repeated openshell.sandbox.v1.L7DenyRule deny_rules = 10;
|
|
334
|
+
*/
|
|
335
|
+
denyRules: L7DenyRule[];
|
|
336
|
+
/**
|
|
337
|
+
* When true, percent-encoded '/' (%2F) is preserved in path segments
|
|
338
|
+
* rather than rejected by the L7 path canonicalizer. Required for
|
|
339
|
+
* upstreams like GitLab that embed %2F in namespaced resource paths.
|
|
340
|
+
* Defaults to false (strict).
|
|
341
|
+
*
|
|
342
|
+
* @generated from field: bool allow_encoded_slash = 11;
|
|
343
|
+
*/
|
|
344
|
+
allowEncodedSlash: boolean;
|
|
345
|
+
/**
|
|
346
|
+
* GraphQL persisted-query behavior for hash-only/saved-query requests:
|
|
347
|
+
* "deny" (default) or "allow_registered".
|
|
348
|
+
*
|
|
349
|
+
* @generated from field: string persisted_queries = 12;
|
|
350
|
+
*/
|
|
351
|
+
persistedQueries: string;
|
|
352
|
+
/**
|
|
353
|
+
* Trusted GraphQL persisted-query registry keyed by hash or service-specific ID.
|
|
354
|
+
* Only used when persisted_queries is "allow_registered".
|
|
355
|
+
*
|
|
356
|
+
* @generated from field: map<string, openshell.sandbox.v1.GraphqlOperation> graphql_persisted_queries = 13;
|
|
357
|
+
*/
|
|
358
|
+
graphqlPersistedQueries: {
|
|
359
|
+
[key: string]: GraphqlOperation;
|
|
360
|
+
};
|
|
361
|
+
/**
|
|
362
|
+
* Maximum GraphQL request body bytes to buffer for inspection.
|
|
363
|
+
* Defaults to 65536 when unset.
|
|
364
|
+
*
|
|
365
|
+
* @generated from field: uint32 graphql_max_body_bytes = 14;
|
|
366
|
+
*/
|
|
367
|
+
graphqlMaxBodyBytes: number;
|
|
368
|
+
/**
|
|
369
|
+
* Optional HTTP path glob that scopes this L7 endpoint on shared host:port APIs.
|
|
370
|
+
* Example: use path "/graphql" for protocol "graphql" and "/repos/**" for
|
|
371
|
+
* protocol "rest" when both surfaces live under api.example.com:443.
|
|
372
|
+
* Empty means all paths.
|
|
373
|
+
*
|
|
374
|
+
* @generated from field: string path = 15;
|
|
375
|
+
*/
|
|
376
|
+
path: string;
|
|
377
|
+
/**
|
|
378
|
+
* When true on a "rest" endpoint, OpenShell rewrites credential placeholders
|
|
379
|
+
* inside client-to-server WebSocket text messages after an allowed HTTP 101
|
|
380
|
+
* upgrade. Defaults to false.
|
|
381
|
+
*
|
|
382
|
+
* @generated from field: bool websocket_credential_rewrite = 16;
|
|
383
|
+
*/
|
|
384
|
+
websocketCredentialRewrite: boolean;
|
|
385
|
+
/**
|
|
386
|
+
* When true on a "rest" endpoint, OpenShell rewrites credential placeholders
|
|
387
|
+
* inside supported textual HTTP request bodies before forwarding upstream.
|
|
388
|
+
* Defaults to false.
|
|
389
|
+
*
|
|
390
|
+
* @generated from field: bool request_body_credential_rewrite = 17;
|
|
391
|
+
*/
|
|
392
|
+
requestBodyCredentialRewrite: boolean;
|
|
393
|
+
/**
|
|
394
|
+
* Internal provenance marker for policy-advisor generated endpoints.
|
|
395
|
+
* Advisor-proposed endpoints must not satisfy exact-host SSRF trust unless
|
|
396
|
+
* they are converted through an explicit user-authored policy path.
|
|
397
|
+
*
|
|
398
|
+
* @generated from field: bool advisor_proposed = 18;
|
|
399
|
+
*/
|
|
400
|
+
advisorProposed: boolean;
|
|
401
|
+
/**
|
|
402
|
+
* Proxy-side credential signing mode: "sigv4" for AWS SigV4 re-signing.
|
|
403
|
+
* When set, the proxy strips the client's Authorization header and computes
|
|
404
|
+
* a fresh SigV4 signature using real credentials from the provider.
|
|
405
|
+
*
|
|
406
|
+
* @generated from field: string credential_signing = 19;
|
|
407
|
+
*/
|
|
408
|
+
credentialSigning: string;
|
|
409
|
+
/**
|
|
410
|
+
* AWS signing service name override. Required when credential_signing is
|
|
411
|
+
* "sigv4" — e.g. "bedrock" for bedrock-runtime endpoints.
|
|
412
|
+
*
|
|
413
|
+
* @generated from field: string signing_service = 20;
|
|
414
|
+
*/
|
|
415
|
+
signingService: string;
|
|
416
|
+
/**
|
|
417
|
+
* AWS region override for SigV4 signing. When set, takes precedence over
|
|
418
|
+
* hostname-based region extraction. Required for non-standard endpoints.
|
|
419
|
+
*
|
|
420
|
+
* @generated from field: string signing_region = 21;
|
|
421
|
+
*/
|
|
422
|
+
signingRegion: string;
|
|
423
|
+
/**
|
|
424
|
+
* Maximum JSON-RPC-over-HTTP request body bytes to buffer for inspection.
|
|
425
|
+
* Defaults to 65536 when unset.
|
|
426
|
+
*
|
|
427
|
+
* @generated from field: uint32 json_rpc_max_body_bytes = 22;
|
|
428
|
+
*/
|
|
429
|
+
jsonRpcMaxBodyBytes: number;
|
|
430
|
+
/**
|
|
431
|
+
* MCP-only policy and inspection options. Only used when protocol is "mcp".
|
|
432
|
+
*
|
|
433
|
+
* @generated from field: openshell.sandbox.v1.McpOptions mcp = 23;
|
|
434
|
+
*/
|
|
435
|
+
mcp?: McpOptions | undefined;
|
|
436
|
+
/**
|
|
437
|
+
* Explicit binding authority for static credentials from an attached
|
|
438
|
+
* endpointless provider profile. Profiles that already define endpoints
|
|
439
|
+
* continue to use those profile endpoints as their credential boundary.
|
|
440
|
+
*
|
|
441
|
+
* @generated from field: openshell.sandbox.v1.NetworkCredentialBinding credential_binding = 24;
|
|
442
|
+
*/
|
|
443
|
+
credentialBinding?: NetworkCredentialBinding | undefined;
|
|
444
|
+
/**
|
|
445
|
+
* Explicitly permits credential-bearing traffic to use paths that OpenShell
|
|
446
|
+
* cannot inspect or rewrite. Defaults to false. This is a security-sensitive
|
|
447
|
+
* escape hatch and must be explicitly approved.
|
|
448
|
+
*
|
|
449
|
+
* @generated from field: bool allow_uninspected_credentials = 25;
|
|
450
|
+
*/
|
|
451
|
+
allowUninspectedCredentials: boolean;
|
|
452
|
+
/**
|
|
453
|
+
* Internal gateway-derived marker indicating that this endpoint belongs to
|
|
454
|
+
* an attached credentialed provider. User-authored values are ignored.
|
|
455
|
+
*
|
|
456
|
+
* @generated from field: bool provider_credentialed = 26;
|
|
457
|
+
*/
|
|
458
|
+
providerCredentialed: boolean;
|
|
459
|
+
};
|
|
460
|
+
/**
|
|
461
|
+
* Describes the message openshell.sandbox.v1.NetworkEndpoint.
|
|
462
|
+
* Use `create(NetworkEndpointSchema)` to create a new message.
|
|
463
|
+
*/
|
|
464
|
+
export declare const NetworkEndpointSchema: GenMessage<NetworkEndpoint>;
|
|
465
|
+
/**
|
|
466
|
+
* MCP options are grouped so MCP-specific policy can grow without adding more
|
|
467
|
+
* top-level NetworkEndpoint fields. Current enforcement targets the active
|
|
468
|
+
* 2025-11-25 Streamable HTTP/tools behavior, while preserving space for
|
|
469
|
+
* version-profile policy if OpenShell adopts 2026-07-28 draft behavior later.
|
|
470
|
+
*
|
|
471
|
+
* Planned policy extensions should use OpenShell-owned static definitions for
|
|
472
|
+
* MCP method/version profiles rather than treating dependency enums as the
|
|
473
|
+
* policy contract. Candidate profile checks include request metadata/header
|
|
474
|
+
* validation, response/SSE introspection, trusted annotation handling,
|
|
475
|
+
* resultType/cache metadata validation, x-mcp-header tool-definition checks,
|
|
476
|
+
* and subscriptions/listen handling.
|
|
477
|
+
*
|
|
478
|
+
* Sources:
|
|
479
|
+
* - https://modelcontextprotocol.io/specification/2025-11-25/server/tools
|
|
480
|
+
* - https://modelcontextprotocol.io/specification/draft/changelog
|
|
481
|
+
* - https://modelcontextprotocol.io/specification/draft/basic/transports/streamable-http
|
|
482
|
+
* - https://modelcontextprotocol.io/specification/draft/server/tools
|
|
483
|
+
*
|
|
484
|
+
* @generated from message openshell.sandbox.v1.McpOptions
|
|
485
|
+
*/
|
|
486
|
+
export type McpOptions = Message<"openshell.sandbox.v1.McpOptions"> & {
|
|
487
|
+
/**
|
|
488
|
+
* Hardening boundary for tools/call params.name. When unset or true, the
|
|
489
|
+
* supervisor enforces the MCP recommended tool-name syntax
|
|
490
|
+
* ^[A-Za-z0-9_.-]{1,128}$ before policy evaluation. Set false only for
|
|
491
|
+
* compatibility with servers that intentionally use non-recommended names.
|
|
492
|
+
*
|
|
493
|
+
* Source:
|
|
494
|
+
* - https://modelcontextprotocol.io/specification/2025-11-25/server/tools#tool-names
|
|
495
|
+
*
|
|
496
|
+
* @generated from field: optional bool strict_tool_names = 1;
|
|
497
|
+
*/
|
|
498
|
+
strictToolNames?: boolean | undefined;
|
|
499
|
+
/**
|
|
500
|
+
* Method-layer default for MCP endpoints. When true, OpenShell allows parsed
|
|
501
|
+
* MCP-family methods at the method layer unless a tool-name policy narrows
|
|
502
|
+
* tools/call. When unset or false, explicit method rules are required.
|
|
503
|
+
*
|
|
504
|
+
* @generated from field: optional bool allow_all_known_mcp_methods = 2;
|
|
505
|
+
*/
|
|
506
|
+
allowAllKnownMcpMethods?: boolean | undefined;
|
|
507
|
+
};
|
|
508
|
+
/**
|
|
509
|
+
* Describes the message openshell.sandbox.v1.McpOptions.
|
|
510
|
+
* Use `create(McpOptionsSchema)` to create a new message.
|
|
511
|
+
*/
|
|
512
|
+
export declare const McpOptionsSchema: GenMessage<McpOptions>;
|
|
513
|
+
/**
|
|
514
|
+
* Trusted GraphQL operation classification.
|
|
515
|
+
*
|
|
516
|
+
* @generated from message openshell.sandbox.v1.GraphqlOperation
|
|
517
|
+
*/
|
|
518
|
+
export type GraphqlOperation = Message<"openshell.sandbox.v1.GraphqlOperation"> & {
|
|
519
|
+
/**
|
|
520
|
+
* Operation type: "query", "mutation", or "subscription".
|
|
521
|
+
*
|
|
522
|
+
* @generated from field: string operation_type = 1;
|
|
523
|
+
*/
|
|
524
|
+
operationType: string;
|
|
525
|
+
/**
|
|
526
|
+
* Operation name, if known.
|
|
527
|
+
*
|
|
528
|
+
* @generated from field: string operation_name = 2;
|
|
529
|
+
*/
|
|
530
|
+
operationName: string;
|
|
531
|
+
/**
|
|
532
|
+
* Root field names selected by the operation.
|
|
533
|
+
*
|
|
534
|
+
* @generated from field: repeated string fields = 3;
|
|
535
|
+
*/
|
|
536
|
+
fields: string[];
|
|
537
|
+
};
|
|
538
|
+
/**
|
|
539
|
+
* Describes the message openshell.sandbox.v1.GraphqlOperation.
|
|
540
|
+
* Use `create(GraphqlOperationSchema)` to create a new message.
|
|
541
|
+
*/
|
|
542
|
+
export declare const GraphqlOperationSchema: GenMessage<GraphqlOperation>;
|
|
543
|
+
/**
|
|
544
|
+
* An L7 deny rule that blocks specific requests.
|
|
545
|
+
* Mirrors L7Allow — same fields, same matching semantics, inverted effect.
|
|
546
|
+
* Deny rules are evaluated after allow rules and take precedence.
|
|
547
|
+
*
|
|
548
|
+
* @generated from message openshell.sandbox.v1.L7DenyRule
|
|
549
|
+
*/
|
|
550
|
+
export type L7DenyRule = Message<"openshell.sandbox.v1.L7DenyRule"> & {
|
|
551
|
+
/**
|
|
552
|
+
* Protocol method: HTTP method (REST/WebSocket), JSON-RPC method name, or
|
|
553
|
+
* "*" for any when supported by the protocol.
|
|
554
|
+
*
|
|
555
|
+
* @generated from field: string method = 1;
|
|
556
|
+
*/
|
|
557
|
+
method: string;
|
|
558
|
+
/**
|
|
559
|
+
* URL path glob pattern (REST): "/repos/*\/pulls/*\/reviews", "**" for any.
|
|
560
|
+
*
|
|
561
|
+
* @generated from field: string path = 2;
|
|
562
|
+
*/
|
|
563
|
+
path: string;
|
|
564
|
+
/**
|
|
565
|
+
* SQL command (SQL): SELECT, INSERT, etc. or "*" for any.
|
|
566
|
+
*
|
|
567
|
+
* @generated from field: string command = 3;
|
|
568
|
+
*/
|
|
569
|
+
command: string;
|
|
570
|
+
/**
|
|
571
|
+
* Query parameter matcher map (REST).
|
|
572
|
+
* Same semantics as L7Allow.query.
|
|
573
|
+
*
|
|
574
|
+
* @generated from field: map<string, openshell.sandbox.v1.L7QueryMatcher> query = 4;
|
|
575
|
+
*/
|
|
576
|
+
query: {
|
|
577
|
+
[key: string]: L7QueryMatcher;
|
|
578
|
+
};
|
|
579
|
+
/**
|
|
580
|
+
* GraphQL operation type: "query", "mutation", "subscription", or "*" for any.
|
|
581
|
+
*
|
|
582
|
+
* @generated from field: string operation_type = 5;
|
|
583
|
+
*/
|
|
584
|
+
operationType: string;
|
|
585
|
+
/**
|
|
586
|
+
* GraphQL operation name glob. "*" matches any operation name.
|
|
587
|
+
*
|
|
588
|
+
* @generated from field: string operation_name = 6;
|
|
589
|
+
*/
|
|
590
|
+
operationName: string;
|
|
591
|
+
/**
|
|
592
|
+
* GraphQL root field globs. Deny rules match when any selected root field
|
|
593
|
+
* matches any configured glob.
|
|
594
|
+
*
|
|
595
|
+
* @generated from field: repeated string fields = 7;
|
|
596
|
+
*/
|
|
597
|
+
fields: string[];
|
|
598
|
+
/**
|
|
599
|
+
* MCP params matcher map. Currently only params.name is supported for
|
|
600
|
+
* tools/call filtering. Generic protocol "json-rpc" rejects params matchers.
|
|
601
|
+
*
|
|
602
|
+
* @generated from field: map<string, openshell.sandbox.v1.L7QueryMatcher> params = 9;
|
|
603
|
+
*/
|
|
604
|
+
params: {
|
|
605
|
+
[key: string]: L7QueryMatcher;
|
|
606
|
+
};
|
|
607
|
+
};
|
|
608
|
+
/**
|
|
609
|
+
* Describes the message openshell.sandbox.v1.L7DenyRule.
|
|
610
|
+
* Use `create(L7DenyRuleSchema)` to create a new message.
|
|
611
|
+
*/
|
|
612
|
+
export declare const L7DenyRuleSchema: GenMessage<L7DenyRule>;
|
|
613
|
+
/**
|
|
614
|
+
* An L7 policy rule (allow-only).
|
|
615
|
+
*
|
|
616
|
+
* @generated from message openshell.sandbox.v1.L7Rule
|
|
617
|
+
*/
|
|
618
|
+
export type L7Rule = Message<"openshell.sandbox.v1.L7Rule"> & {
|
|
619
|
+
/**
|
|
620
|
+
* @generated from field: openshell.sandbox.v1.L7Allow allow = 1;
|
|
621
|
+
*/
|
|
622
|
+
allow?: L7Allow | undefined;
|
|
623
|
+
};
|
|
624
|
+
/**
|
|
625
|
+
* Describes the message openshell.sandbox.v1.L7Rule.
|
|
626
|
+
* Use `create(L7RuleSchema)` to create a new message.
|
|
627
|
+
*/
|
|
628
|
+
export declare const L7RuleSchema: GenMessage<L7Rule>;
|
|
629
|
+
/**
|
|
630
|
+
* Allowed action definition for L7 rules.
|
|
631
|
+
*
|
|
632
|
+
* @generated from message openshell.sandbox.v1.L7Allow
|
|
633
|
+
*/
|
|
634
|
+
export type L7Allow = Message<"openshell.sandbox.v1.L7Allow"> & {
|
|
635
|
+
/**
|
|
636
|
+
* Protocol method: HTTP method (REST/WebSocket), JSON-RPC method name, or
|
|
637
|
+
* "*" for any when supported by the protocol.
|
|
638
|
+
*
|
|
639
|
+
* @generated from field: string method = 1;
|
|
640
|
+
*/
|
|
641
|
+
method: string;
|
|
642
|
+
/**
|
|
643
|
+
* URL path glob pattern (REST): "/repos/**", "**" for any.
|
|
644
|
+
*
|
|
645
|
+
* @generated from field: string path = 2;
|
|
646
|
+
*/
|
|
647
|
+
path: string;
|
|
648
|
+
/**
|
|
649
|
+
* SQL command (SQL): SELECT, INSERT, etc. or "*" for any.
|
|
650
|
+
*
|
|
651
|
+
* @generated from field: string command = 3;
|
|
652
|
+
*/
|
|
653
|
+
command: string;
|
|
654
|
+
/**
|
|
655
|
+
* Query parameter matcher map (REST).
|
|
656
|
+
* Key is the decoded query parameter name (case-sensitive).
|
|
657
|
+
* Value supports either a single glob (`glob`) or a list (`any`).
|
|
658
|
+
*
|
|
659
|
+
* @generated from field: map<string, openshell.sandbox.v1.L7QueryMatcher> query = 4;
|
|
660
|
+
*/
|
|
661
|
+
query: {
|
|
662
|
+
[key: string]: L7QueryMatcher;
|
|
663
|
+
};
|
|
664
|
+
/**
|
|
665
|
+
* GraphQL operation type: "query", "mutation", "subscription", or "*" for any.
|
|
666
|
+
*
|
|
667
|
+
* @generated from field: string operation_type = 5;
|
|
668
|
+
*/
|
|
669
|
+
operationType: string;
|
|
670
|
+
/**
|
|
671
|
+
* GraphQL operation name glob. "*" matches any operation name.
|
|
672
|
+
*
|
|
673
|
+
* @generated from field: string operation_name = 6;
|
|
674
|
+
*/
|
|
675
|
+
operationName: string;
|
|
676
|
+
/**
|
|
677
|
+
* GraphQL root field globs. Allow rules match only when every selected root
|
|
678
|
+
* field matches one of the configured globs. Omit to match all fields.
|
|
679
|
+
*
|
|
680
|
+
* @generated from field: repeated string fields = 7;
|
|
681
|
+
*/
|
|
682
|
+
fields: string[];
|
|
683
|
+
/**
|
|
684
|
+
* MCP params matcher map. Currently only params.name is supported for
|
|
685
|
+
* tools/call filtering. Generic protocol "json-rpc" rejects params matchers.
|
|
686
|
+
*
|
|
687
|
+
* @generated from field: map<string, openshell.sandbox.v1.L7QueryMatcher> params = 9;
|
|
688
|
+
*/
|
|
689
|
+
params: {
|
|
690
|
+
[key: string]: L7QueryMatcher;
|
|
691
|
+
};
|
|
692
|
+
};
|
|
693
|
+
/**
|
|
694
|
+
* Describes the message openshell.sandbox.v1.L7Allow.
|
|
695
|
+
* Use `create(L7AllowSchema)` to create a new message.
|
|
696
|
+
*/
|
|
697
|
+
export declare const L7AllowSchema: GenMessage<L7Allow>;
|
|
698
|
+
/**
|
|
699
|
+
* Query value matcher for one query parameter key.
|
|
700
|
+
*
|
|
701
|
+
* @generated from message openshell.sandbox.v1.L7QueryMatcher
|
|
702
|
+
*/
|
|
703
|
+
export type L7QueryMatcher = Message<"openshell.sandbox.v1.L7QueryMatcher"> & {
|
|
704
|
+
/**
|
|
705
|
+
* Single glob pattern.
|
|
706
|
+
*
|
|
707
|
+
* @generated from field: string glob = 1;
|
|
708
|
+
*/
|
|
709
|
+
glob: string;
|
|
710
|
+
/**
|
|
711
|
+
* Any-of glob patterns.
|
|
712
|
+
*
|
|
713
|
+
* @generated from field: repeated string any = 2;
|
|
714
|
+
*/
|
|
715
|
+
any: string[];
|
|
716
|
+
};
|
|
717
|
+
/**
|
|
718
|
+
* Describes the message openshell.sandbox.v1.L7QueryMatcher.
|
|
719
|
+
* Use `create(L7QueryMatcherSchema)` to create a new message.
|
|
720
|
+
*/
|
|
721
|
+
export declare const L7QueryMatcherSchema: GenMessage<L7QueryMatcher>;
|
|
722
|
+
/**
|
|
723
|
+
* A binary identity for network policy matching.
|
|
724
|
+
*
|
|
725
|
+
* @generated from message openshell.sandbox.v1.NetworkBinary
|
|
726
|
+
*/
|
|
727
|
+
export type NetworkBinary = Message<"openshell.sandbox.v1.NetworkBinary"> & {
|
|
728
|
+
/**
|
|
729
|
+
* @generated from field: string path = 1;
|
|
730
|
+
*/
|
|
731
|
+
path: string;
|
|
732
|
+
/**
|
|
733
|
+
* Deprecated: the harness concept has been removed. This field is ignored.
|
|
734
|
+
*
|
|
735
|
+
* @generated from field: bool harness = 2 [deprecated = true];
|
|
736
|
+
* @deprecated
|
|
737
|
+
*/
|
|
738
|
+
harness: boolean;
|
|
739
|
+
};
|
|
740
|
+
/**
|
|
741
|
+
* Describes the message openshell.sandbox.v1.NetworkBinary.
|
|
742
|
+
* Use `create(NetworkBinarySchema)` to create a new message.
|
|
743
|
+
*/
|
|
744
|
+
export declare const NetworkBinarySchema: GenMessage<NetworkBinary>;
|
|
745
|
+
/**
|
|
746
|
+
* Request to get sandbox settings by sandbox ID.
|
|
747
|
+
*
|
|
748
|
+
* @generated from message openshell.sandbox.v1.GetSandboxConfigRequest
|
|
749
|
+
*/
|
|
750
|
+
export type GetSandboxConfigRequest = Message<"openshell.sandbox.v1.GetSandboxConfigRequest"> & {
|
|
751
|
+
/**
|
|
752
|
+
* The sandbox ID.
|
|
753
|
+
*
|
|
754
|
+
* @generated from field: string sandbox_id = 1;
|
|
755
|
+
*/
|
|
756
|
+
sandboxId: string;
|
|
757
|
+
};
|
|
758
|
+
/**
|
|
759
|
+
* Describes the message openshell.sandbox.v1.GetSandboxConfigRequest.
|
|
760
|
+
* Use `create(GetSandboxConfigRequestSchema)` to create a new message.
|
|
761
|
+
*/
|
|
762
|
+
export declare const GetSandboxConfigRequestSchema: GenMessage<GetSandboxConfigRequest>;
|
|
763
|
+
/**
|
|
764
|
+
* Request to get gateway-global settings.
|
|
765
|
+
*
|
|
766
|
+
* @generated from message openshell.sandbox.v1.GetGatewayConfigRequest
|
|
767
|
+
*/
|
|
768
|
+
export type GetGatewayConfigRequest = Message<"openshell.sandbox.v1.GetGatewayConfigRequest"> & {};
|
|
769
|
+
/**
|
|
770
|
+
* Describes the message openshell.sandbox.v1.GetGatewayConfigRequest.
|
|
771
|
+
* Use `create(GetGatewayConfigRequestSchema)` to create a new message.
|
|
772
|
+
*/
|
|
773
|
+
export declare const GetGatewayConfigRequestSchema: GenMessage<GetGatewayConfigRequest>;
|
|
774
|
+
/**
|
|
775
|
+
* Response containing gateway-global settings.
|
|
776
|
+
*
|
|
777
|
+
* @generated from message openshell.sandbox.v1.GetGatewayConfigResponse
|
|
778
|
+
*/
|
|
779
|
+
export type GetGatewayConfigResponse = Message<"openshell.sandbox.v1.GetGatewayConfigResponse"> & {
|
|
780
|
+
/**
|
|
781
|
+
* Gateway-global settings map excluding the reserved policy key.
|
|
782
|
+
* Registered keys without a configured value are returned with an empty SettingValue.
|
|
783
|
+
*
|
|
784
|
+
* @generated from field: map<string, openshell.sandbox.v1.SettingValue> settings = 1;
|
|
785
|
+
*/
|
|
786
|
+
settings: {
|
|
787
|
+
[key: string]: SettingValue;
|
|
788
|
+
};
|
|
789
|
+
/**
|
|
790
|
+
* Monotonically increasing revision for gateway-global settings.
|
|
791
|
+
*
|
|
792
|
+
* @generated from field: uint64 settings_revision = 2;
|
|
793
|
+
*/
|
|
794
|
+
settingsRevision: bigint;
|
|
795
|
+
};
|
|
796
|
+
/**
|
|
797
|
+
* Describes the message openshell.sandbox.v1.GetGatewayConfigResponse.
|
|
798
|
+
* Use `create(GetGatewayConfigResponseSchema)` to create a new message.
|
|
799
|
+
*/
|
|
800
|
+
export declare const GetGatewayConfigResponseSchema: GenMessage<GetGatewayConfigResponse>;
|
|
801
|
+
/**
|
|
802
|
+
* Type-aware setting value for sandbox/gateway settings.
|
|
803
|
+
*
|
|
804
|
+
* @generated from message openshell.sandbox.v1.SettingValue
|
|
805
|
+
*/
|
|
806
|
+
export type SettingValue = Message<"openshell.sandbox.v1.SettingValue"> & {
|
|
807
|
+
/**
|
|
808
|
+
* @generated from oneof openshell.sandbox.v1.SettingValue.value
|
|
809
|
+
*/
|
|
810
|
+
value: {
|
|
811
|
+
/**
|
|
812
|
+
* @generated from field: string string_value = 1;
|
|
813
|
+
*/
|
|
814
|
+
value: string;
|
|
815
|
+
case: "stringValue";
|
|
816
|
+
} | {
|
|
817
|
+
/**
|
|
818
|
+
* @generated from field: bool bool_value = 2;
|
|
819
|
+
*/
|
|
820
|
+
value: boolean;
|
|
821
|
+
case: "boolValue";
|
|
822
|
+
} | {
|
|
823
|
+
/**
|
|
824
|
+
* @generated from field: int64 int_value = 3;
|
|
825
|
+
*/
|
|
826
|
+
value: bigint;
|
|
827
|
+
case: "intValue";
|
|
828
|
+
} | {
|
|
829
|
+
/**
|
|
830
|
+
* @generated from field: bytes bytes_value = 4;
|
|
831
|
+
*/
|
|
832
|
+
value: Uint8Array;
|
|
833
|
+
case: "bytesValue";
|
|
834
|
+
} | {
|
|
835
|
+
case: undefined;
|
|
836
|
+
value?: undefined;
|
|
837
|
+
};
|
|
838
|
+
};
|
|
839
|
+
/**
|
|
840
|
+
* Describes the message openshell.sandbox.v1.SettingValue.
|
|
841
|
+
* Use `create(SettingValueSchema)` to create a new message.
|
|
842
|
+
*/
|
|
843
|
+
export declare const SettingValueSchema: GenMessage<SettingValue>;
|
|
844
|
+
/**
|
|
845
|
+
* Effective setting value and the scope it was resolved from.
|
|
846
|
+
*
|
|
847
|
+
* @generated from message openshell.sandbox.v1.EffectiveSetting
|
|
848
|
+
*/
|
|
849
|
+
export type EffectiveSetting = Message<"openshell.sandbox.v1.EffectiveSetting"> & {
|
|
850
|
+
/**
|
|
851
|
+
* @generated from field: openshell.sandbox.v1.SettingValue value = 1;
|
|
852
|
+
*/
|
|
853
|
+
value?: SettingValue | undefined;
|
|
854
|
+
/**
|
|
855
|
+
* @generated from field: openshell.sandbox.v1.SettingScope scope = 2;
|
|
856
|
+
*/
|
|
857
|
+
scope: SettingScope;
|
|
858
|
+
};
|
|
859
|
+
/**
|
|
860
|
+
* Describes the message openshell.sandbox.v1.EffectiveSetting.
|
|
861
|
+
* Use `create(EffectiveSettingSchema)` to create a new message.
|
|
862
|
+
*/
|
|
863
|
+
export declare const EffectiveSettingSchema: GenMessage<EffectiveSetting>;
|
|
864
|
+
/**
|
|
865
|
+
* Response containing effective sandbox settings and policy.
|
|
866
|
+
*
|
|
867
|
+
* @generated from message openshell.sandbox.v1.GetSandboxConfigResponse
|
|
868
|
+
*/
|
|
869
|
+
export type GetSandboxConfigResponse = Message<"openshell.sandbox.v1.GetSandboxConfigResponse"> & {
|
|
870
|
+
/**
|
|
871
|
+
* The sandbox policy configuration.
|
|
872
|
+
*
|
|
873
|
+
* @generated from field: openshell.sandbox.v1.SandboxPolicy policy = 1;
|
|
874
|
+
*/
|
|
875
|
+
policy?: SandboxPolicy | undefined;
|
|
876
|
+
/**
|
|
877
|
+
* Current policy version (monotonically increasing per sandbox).
|
|
878
|
+
*
|
|
879
|
+
* @generated from field: uint32 version = 2;
|
|
880
|
+
*/
|
|
881
|
+
version: number;
|
|
882
|
+
/**
|
|
883
|
+
* SHA-256 hash of the serialized policy payload.
|
|
884
|
+
*
|
|
885
|
+
* @generated from field: string policy_hash = 3;
|
|
886
|
+
*/
|
|
887
|
+
policyHash: string;
|
|
888
|
+
/**
|
|
889
|
+
* Effective settings resolved for this sandbox, excluding the reserved policy key.
|
|
890
|
+
* Registered keys without a configured value are returned with an empty EffectiveSetting.value.
|
|
891
|
+
*
|
|
892
|
+
* @generated from field: map<string, openshell.sandbox.v1.EffectiveSetting> settings = 4;
|
|
893
|
+
*/
|
|
894
|
+
settings: {
|
|
895
|
+
[key: string]: EffectiveSetting;
|
|
896
|
+
};
|
|
897
|
+
/**
|
|
898
|
+
* Fingerprint for effective config (policy + settings). Changes when any effective input changes.
|
|
899
|
+
*
|
|
900
|
+
* @generated from field: uint64 config_revision = 5;
|
|
901
|
+
*/
|
|
902
|
+
configRevision: bigint;
|
|
903
|
+
/**
|
|
904
|
+
* Source of the policy payload for this response.
|
|
905
|
+
*
|
|
906
|
+
* @generated from field: openshell.sandbox.v1.PolicySource policy_source = 6;
|
|
907
|
+
*/
|
|
908
|
+
policySource: PolicySource;
|
|
909
|
+
/**
|
|
910
|
+
* When policy_source is GLOBAL, the version of the global policy revision.
|
|
911
|
+
* Zero when no global policy is active or when policy_source is SANDBOX.
|
|
912
|
+
*
|
|
913
|
+
* @generated from field: uint32 global_policy_version = 7;
|
|
914
|
+
*/
|
|
915
|
+
globalPolicyVersion: number;
|
|
916
|
+
/**
|
|
917
|
+
* Fingerprint for provider credential inputs attached to this sandbox.
|
|
918
|
+
* Changes when attached provider names or attached provider records change.
|
|
919
|
+
*
|
|
920
|
+
* @generated from field: uint64 provider_env_revision = 8;
|
|
921
|
+
*/
|
|
922
|
+
providerEnvRevision: bigint;
|
|
923
|
+
/**
|
|
924
|
+
* Operator-registered supervisor middleware services required by the
|
|
925
|
+
* effective policy. Built-in middleware is not included.
|
|
926
|
+
*
|
|
927
|
+
* @generated from field: repeated openshell.sandbox.v1.SupervisorMiddlewareService supervisor_middleware_services = 9;
|
|
928
|
+
*/
|
|
929
|
+
supervisorMiddlewareServices: SupervisorMiddlewareService[];
|
|
930
|
+
/**
|
|
931
|
+
* Workspace the sandbox belongs to. Allows the supervisor to learn its
|
|
932
|
+
* workspace context for subsequent workspace-scoped RPCs.
|
|
933
|
+
*
|
|
934
|
+
* @generated from field: string workspace = 10;
|
|
935
|
+
*/
|
|
936
|
+
workspace: string;
|
|
937
|
+
/**
|
|
938
|
+
* Gateway-configured posture for rejected policy generations. Valid values
|
|
939
|
+
* are "fail_closed" and "retain_last_valid". Unknown or empty values must
|
|
940
|
+
* be treated as fail_closed by the supervisor.
|
|
941
|
+
*
|
|
942
|
+
* @generated from field: string policy_validation_failure_mode = 11;
|
|
943
|
+
*/
|
|
944
|
+
policyValidationFailureMode: string;
|
|
945
|
+
/**
|
|
946
|
+
* Whether this gateway can mint authenticated extension credentials.
|
|
947
|
+
* False also covers older gateways that do not advertise this capability;
|
|
948
|
+
* supervisors preserve their legacy unauthenticated connection behavior.
|
|
949
|
+
*
|
|
950
|
+
* @generated from field: bool extension_authentication_enabled = 12;
|
|
951
|
+
*/
|
|
952
|
+
extensionAuthenticationEnabled: boolean;
|
|
953
|
+
};
|
|
954
|
+
/**
|
|
955
|
+
* Describes the message openshell.sandbox.v1.GetSandboxConfigResponse.
|
|
956
|
+
* Use `create(GetSandboxConfigResponseSchema)` to create a new message.
|
|
957
|
+
*/
|
|
958
|
+
export declare const GetSandboxConfigResponseSchema: GenMessage<GetSandboxConfigResponse>;
|
|
959
|
+
/**
|
|
960
|
+
* Connection details for one operator-registered supervisor middleware service.
|
|
961
|
+
* V1 supports plaintext and server-authenticated TLS gRPC.
|
|
962
|
+
*
|
|
963
|
+
* @generated from message openshell.sandbox.v1.SupervisorMiddlewareService
|
|
964
|
+
*/
|
|
965
|
+
export type SupervisorMiddlewareService = Message<"openshell.sandbox.v1.SupervisorMiddlewareService"> & {
|
|
966
|
+
/**
|
|
967
|
+
* Operator-owned registration name used by policy attachments and diagnostics.
|
|
968
|
+
*
|
|
969
|
+
* @generated from field: string name = 1;
|
|
970
|
+
*/
|
|
971
|
+
name: string;
|
|
972
|
+
/**
|
|
973
|
+
* gRPC endpoint reachable from the sandbox supervisor.
|
|
974
|
+
*
|
|
975
|
+
* @generated from field: string grpc_endpoint = 2;
|
|
976
|
+
*/
|
|
977
|
+
grpcEndpoint: string;
|
|
978
|
+
/**
|
|
979
|
+
* Operator-owned logical payload limit applied to every binding exposed by
|
|
980
|
+
* the service. This caps HTTP bodies and complete WebSocket messages.
|
|
981
|
+
*
|
|
982
|
+
* @generated from field: uint64 max_payload_bytes = 3;
|
|
983
|
+
*/
|
|
984
|
+
maxPayloadBytes: bigint;
|
|
985
|
+
/**
|
|
986
|
+
* Default RPC timeout for this service. Empty uses the platform default of
|
|
987
|
+
* 500ms. Values use an integer with an `ms` or `s` suffix and must be
|
|
988
|
+
* between 10ms and 30s.
|
|
989
|
+
*
|
|
990
|
+
* @generated from field: string timeout = 4;
|
|
991
|
+
*/
|
|
992
|
+
timeout: string;
|
|
993
|
+
/**
|
|
994
|
+
* PEM-encoded trust roots loaded by the gateway from the operator-configured
|
|
995
|
+
* tls_ca_cert_path. Empty uses the platform trust store.
|
|
996
|
+
*
|
|
997
|
+
* @generated from field: bytes tls_ca_cert_pem = 5;
|
|
998
|
+
*/
|
|
999
|
+
tlsCaCertPem: Uint8Array;
|
|
1000
|
+
/**
|
|
1001
|
+
* Exact JWT audience for this service. The gateway resolves an omitted
|
|
1002
|
+
* operator value to a kind-scoped audience derived from the registration
|
|
1003
|
+
* name before sending sandbox config.
|
|
1004
|
+
*
|
|
1005
|
+
* @generated from field: string audience = 6;
|
|
1006
|
+
*/
|
|
1007
|
+
audience: string;
|
|
1008
|
+
/**
|
|
1009
|
+
* Operator opt-out from extension authentication for this registration.
|
|
1010
|
+
* When true the service may use a plaintext endpoint and OpenShell attaches
|
|
1011
|
+
* no bearer credential; supervisors must not request one. Intended only for
|
|
1012
|
+
* trusted-network development deployments.
|
|
1013
|
+
*
|
|
1014
|
+
* @generated from field: bool allow_insecure_transport = 7;
|
|
1015
|
+
*/
|
|
1016
|
+
allowInsecureTransport: boolean;
|
|
1017
|
+
};
|
|
1018
|
+
/**
|
|
1019
|
+
* Describes the message openshell.sandbox.v1.SupervisorMiddlewareService.
|
|
1020
|
+
* Use `create(SupervisorMiddlewareServiceSchema)` to create a new message.
|
|
1021
|
+
*/
|
|
1022
|
+
export declare const SupervisorMiddlewareServiceSchema: GenMessage<SupervisorMiddlewareService>;
|
|
1023
|
+
/**
|
|
1024
|
+
* Scope that currently controls a setting.
|
|
1025
|
+
*
|
|
1026
|
+
* @generated from enum openshell.sandbox.v1.SettingScope
|
|
1027
|
+
*/
|
|
1028
|
+
export declare enum SettingScope {
|
|
1029
|
+
/**
|
|
1030
|
+
* @generated from enum value: SETTING_SCOPE_UNSPECIFIED = 0;
|
|
1031
|
+
*/
|
|
1032
|
+
UNSPECIFIED = 0,
|
|
1033
|
+
/**
|
|
1034
|
+
* @generated from enum value: SETTING_SCOPE_SANDBOX = 1;
|
|
1035
|
+
*/
|
|
1036
|
+
SANDBOX = 1,
|
|
1037
|
+
/**
|
|
1038
|
+
* @generated from enum value: SETTING_SCOPE_GLOBAL = 2;
|
|
1039
|
+
*/
|
|
1040
|
+
GLOBAL = 2
|
|
1041
|
+
}
|
|
1042
|
+
/**
|
|
1043
|
+
* Describes the enum openshell.sandbox.v1.SettingScope.
|
|
1044
|
+
*/
|
|
1045
|
+
export declare const SettingScopeSchema: GenEnum<SettingScope>;
|
|
1046
|
+
/**
|
|
1047
|
+
* Source used for the policy payload in GetSandboxConfigResponse.
|
|
1048
|
+
*
|
|
1049
|
+
* @generated from enum openshell.sandbox.v1.PolicySource
|
|
1050
|
+
*/
|
|
1051
|
+
export declare enum PolicySource {
|
|
1052
|
+
/**
|
|
1053
|
+
* @generated from enum value: POLICY_SOURCE_UNSPECIFIED = 0;
|
|
1054
|
+
*/
|
|
1055
|
+
UNSPECIFIED = 0,
|
|
1056
|
+
/**
|
|
1057
|
+
* @generated from enum value: POLICY_SOURCE_SANDBOX = 1;
|
|
1058
|
+
*/
|
|
1059
|
+
SANDBOX = 1,
|
|
1060
|
+
/**
|
|
1061
|
+
* @generated from enum value: POLICY_SOURCE_GLOBAL = 2;
|
|
1062
|
+
*/
|
|
1063
|
+
GLOBAL = 2
|
|
1064
|
+
}
|
|
1065
|
+
/**
|
|
1066
|
+
* Describes the enum openshell.sandbox.v1.PolicySource.
|
|
1067
|
+
*/
|
|
1068
|
+
export declare const PolicySourceSchema: GenEnum<PolicySource>;
|
|
1069
|
+
//# sourceMappingURL=sandbox_pb.d.ts.map
|