1use serde::{Deserialize, Serialize};
5#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
17pub struct A2AAgentCard {
18 #[serde(rename = "agent_id")]
19 pub agent_id: String,
20 #[serde(rename = "name")]
21 pub name: String,
22 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
23 pub description: Option<String>,
24 #[serde(rename = "endpoint")]
25 pub endpoint: String,
26 #[serde(rename = "provider", skip_serializing_if = "Option::is_none")]
27 pub provider: Option<Box<A2AAgentCardProvider>>,
28 #[serde(rename = "supported_versions")]
29 pub supported_versions: Vec<String>,
30 #[serde(rename = "skills")]
31 pub skills: Vec<A2AAgentCardSkillsInner>,
32 #[serde(rename = "auth_methods", skip_serializing_if = "Option::is_none")]
33 pub auth_methods: Option<Vec<String>>,
34 #[serde(rename = "features", skip_serializing_if = "Option::is_none")]
35 pub features: Option<Vec<String>>,
36 #[serde(rename = "defaultInputModes", skip_serializing_if = "Option::is_none")]
37 pub default_input_modes: Option<Vec<String>>,
38 #[serde(rename = "defaultOutputModes", skip_serializing_if = "Option::is_none")]
39 pub default_output_modes: Option<Vec<String>>,
40 #[serde(rename = "capabilities", skip_serializing_if = "Option::is_none")]
41 pub capabilities: Option<Box<A2AAgentCardCapabilities>>,
42 #[serde(rename = "signature", skip_serializing_if = "Option::is_none")]
43 pub signature: Option<String>,
44 #[serde(rename = "content_hash", skip_serializing_if = "Option::is_none")]
45 pub content_hash: Option<String>,
46 #[serde(rename = "created_at")]
47 pub created_at: String,
48 #[serde(rename = "updated_at")]
49 pub updated_at: String,
50}
51
52impl A2AAgentCard {
53 pub fn new(agent_id: String, name: String, endpoint: String, supported_versions: Vec<String>, skills: Vec<A2AAgentCardSkillsInner>, created_at: String, updated_at: String) -> A2AAgentCard {
54 A2AAgentCard {
55 agent_id,
56 name,
57 description: None,
58 endpoint,
59 provider: None,
60 supported_versions,
61 skills,
62 auth_methods: None,
63 features: None,
64 default_input_modes: None,
65 default_output_modes: None,
66 capabilities: None,
67 signature: None,
68 content_hash: None,
69 created_at,
70 updated_at,
71 }
72 }
73}
74
75#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
87pub struct A2AAgentCardCapabilities {
88 #[serde(rename = "streaming", skip_serializing_if = "Option::is_none")]
89 pub streaming: Option<bool>,
90 #[serde(rename = "pushNotifications", skip_serializing_if = "Option::is_none")]
91 pub push_notifications: Option<bool>,
92 #[serde(rename = "stateTransitionHistory", skip_serializing_if = "Option::is_none")]
93 pub state_transition_history: Option<bool>,
94}
95
96impl A2AAgentCardCapabilities {
97 pub fn new() -> A2AAgentCardCapabilities {
98 A2AAgentCardCapabilities {
99 streaming: None,
100 push_notifications: None,
101 state_transition_history: None,
102 }
103 }
104}
105
106#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
118pub struct A2AAgentCardProvider {
119 #[serde(rename = "organization", skip_serializing_if = "Option::is_none")]
120 pub organization: Option<String>,
121 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
122 pub url: Option<String>,
123}
124
125impl A2AAgentCardProvider {
126 pub fn new() -> A2AAgentCardProvider {
127 A2AAgentCardProvider {
128 organization: None,
129 url: None,
130 }
131 }
132}
133
134#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
146pub struct A2AAgentCardSkillsInner {
147 #[serde(rename = "id")]
148 pub id: String,
149 #[serde(rename = "name")]
150 pub name: String,
151 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
152 pub description: Option<String>,
153 #[serde(rename = "examples", skip_serializing_if = "Option::is_none")]
154 pub examples: Option<Vec<String>>,
155 #[serde(rename = "input_modes", skip_serializing_if = "Option::is_none")]
156 pub input_modes: Option<Vec<String>>,
157 #[serde(rename = "output_modes", skip_serializing_if = "Option::is_none")]
158 pub output_modes: Option<Vec<String>>,
159}
160
161impl A2AAgentCardSkillsInner {
162 pub fn new(id: String, name: String) -> A2AAgentCardSkillsInner {
163 A2AAgentCardSkillsInner {
164 id,
165 name,
166 description: None,
167 examples: None,
168 input_modes: None,
169 output_modes: None,
170 }
171 }
172}
173
174#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
186pub struct AddTrustKey200Response {
187 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
188 pub status: Option<String>,
189 #[serde(rename = "tenant_id", skip_serializing_if = "Option::is_none")]
190 pub tenant_id: Option<String>,
191 #[serde(rename = "key_id", skip_serializing_if = "Option::is_none")]
192 pub key_id: Option<String>,
193}
194
195impl AddTrustKey200Response {
196 pub fn new() -> AddTrustKey200Response {
197 AddTrustKey200Response {
198 status: None,
199 tenant_id: None,
200 key_id: None,
201 }
202 }
203}
204
205#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
217pub struct AddTrustKeyRequest {
218 #[serde(rename = "tenant_id")]
219 pub tenant_id: String,
220 #[serde(rename = "key_id")]
221 pub key_id: String,
222 #[serde(rename = "public_key")]
224 pub public_key: String,
225}
226
227impl AddTrustKeyRequest {
228 pub fn new(tenant_id: String, key_id: String, public_key: String) -> AddTrustKeyRequest {
229 AddTrustKeyRequest {
230 tenant_id,
231 key_id,
232 public_key,
233 }
234 }
235}
236
237#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
249pub struct AgentIdentityProfile {
250 #[serde(rename = "agent_id", skip_serializing_if = "Option::is_none")]
251 pub agent_id: Option<String>,
252 #[serde(rename = "identity_type", skip_serializing_if = "Option::is_none")]
253 pub identity_type: Option<String>,
254 #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
255 pub subject: Option<String>,
256 #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")]
257 pub issuer: Option<String>,
258 #[serde(rename = "jwks_uri", skip_serializing_if = "Option::is_none")]
259 pub jwks_uri: Option<String>,
260 #[serde(rename = "spiffe_id", skip_serializing_if = "Option::is_none")]
261 pub spiffe_id: Option<String>,
262 #[serde(rename = "scopes", skip_serializing_if = "Option::is_none")]
263 pub scopes: Option<Vec<String>>,
264 #[serde(rename = "anonymous_dev_mode", skip_serializing_if = "Option::is_none")]
265 pub anonymous_dev_mode: Option<bool>,
266 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
267 pub created_at: Option<String>,
268}
269
270impl AgentIdentityProfile {
271 pub fn new() -> AgentIdentityProfile {
272 AgentIdentityProfile {
273 agent_id: None,
274 identity_type: None,
275 subject: None,
276 issuer: None,
277 jwks_uri: None,
278 spiffe_id: None,
279 scopes: None,
280 anonymous_dev_mode: None,
281 created_at: None,
282 }
283 }
284}
285
286#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
298pub struct ApprovalCeremony {
299 #[serde(rename = "approval_id", skip_serializing_if = "Option::is_none")]
300 pub approval_id: Option<String>,
301 #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
302 pub subject: Option<String>,
303 #[serde(rename = "action", skip_serializing_if = "Option::is_none")]
304 pub action: Option<String>,
305 #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
306 pub state: Option<ApprovalCeremonyState>,
307 #[serde(rename = "requested_by", skip_serializing_if = "Option::is_none")]
308 pub requested_by: Option<String>,
309 #[serde(rename = "approvers", skip_serializing_if = "Option::is_none")]
310 pub approvers: Option<Vec<String>>,
311 #[serde(rename = "quorum", skip_serializing_if = "Option::is_none")]
312 pub quorum: Option<i32>,
313 #[serde(rename = "timelock_until", skip_serializing_if = "Option::is_none")]
314 pub timelock_until: Option<String>,
315 #[serde(rename = "expires_at", skip_serializing_if = "Option::is_none")]
316 pub expires_at: Option<String>,
317 #[serde(rename = "break_glass", skip_serializing_if = "Option::is_none")]
318 pub break_glass: Option<bool>,
319 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
320 pub reason: Option<String>,
321 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
322 pub receipt_id: Option<String>,
323 #[serde(rename = "ceremony_hash", skip_serializing_if = "Option::is_none")]
324 pub ceremony_hash: Option<String>,
325 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
326 pub created_at: Option<String>,
327 #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
328 pub updated_at: Option<String>,
329}
330
331impl ApprovalCeremony {
332 pub fn new() -> ApprovalCeremony {
333 ApprovalCeremony {
334 approval_id: None,
335 subject: None,
336 action: None,
337 state: None,
338 requested_by: None,
339 approvers: None,
340 quorum: None,
341 timelock_until: None,
342 expires_at: None,
343 break_glass: None,
344 reason: None,
345 receipt_id: None,
346 ceremony_hash: None,
347 created_at: None,
348 updated_at: None,
349 }
350 }
351}
352#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
354pub enum ApprovalCeremonyState {
355 #[serde(rename = "pending")]
356 Pending,
357 #[serde(rename = "approved")]
358 Approved,
359 #[serde(rename = "denied")]
360 Denied,
361 #[serde(rename = "revoked")]
362 Revoked,
363 #[serde(rename = "expired")]
364 Expired,
365}
366
367impl Default for ApprovalCeremonyState {
368 fn default() -> ApprovalCeremonyState {
369 Self::Pending
370 }
371}
372
373#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
385pub struct ApprovalRequest {
386 #[serde(rename = "intent_hash")]
388 pub intent_hash: String,
389 #[serde(rename = "signature_b64")]
391 pub signature_b64: String,
392 #[serde(rename = "public_key_b64")]
394 pub public_key_b64: String,
395 #[serde(rename = "challenge_response", skip_serializing_if = "Option::is_none")]
397 pub challenge_response: Option<String>,
398}
399
400impl ApprovalRequest {
401 pub fn new(intent_hash: String, signature_b64: String, public_key_b64: String) -> ApprovalRequest {
402 ApprovalRequest {
403 intent_hash,
404 signature_b64,
405 public_key_b64,
406 challenge_response: None,
407 }
408 }
409}
410
411#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
423pub struct AssertApprovalWebAuthnChallengeRequest {
424 #[serde(rename = "challenge_id")]
425 pub challenge_id: String,
426 #[serde(rename = "actor")]
427 pub actor: String,
428 #[serde(rename = "assertion")]
429 pub assertion: String,
430 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
431 pub receipt_id: Option<String>,
432 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
433 pub reason: Option<String>,
434}
435
436impl AssertApprovalWebAuthnChallengeRequest {
437 pub fn new(challenge_id: String, actor: String, assertion: String) -> AssertApprovalWebAuthnChallengeRequest {
438 AssertApprovalWebAuthnChallengeRequest {
439 challenge_id,
440 actor,
441 assertion,
442 receipt_id: None,
443 reason: None,
444 }
445 }
446}
447
448#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
460pub struct AuthzHealth {
461 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
462 pub status: Option<String>,
463 #[serde(rename = "resolver", skip_serializing_if = "Option::is_none")]
464 pub resolver: Option<String>,
465 #[serde(rename = "model_id", skip_serializing_if = "Option::is_none")]
466 pub model_id: Option<String>,
467 #[serde(rename = "relationship_hash", skip_serializing_if = "Option::is_none")]
468 pub relationship_hash: Option<String>,
469 #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
470 pub checked_at: Option<String>,
471}
472
473impl AuthzHealth {
474 pub fn new() -> AuthzHealth {
475 AuthzHealth {
476 status: None,
477 resolver: None,
478 model_id: None,
479 relationship_hash: None,
480 checked_at: None,
481 }
482 }
483}
484
485#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
497pub struct AuthzSnapshot {
498 #[serde(rename = "snapshot_id", skip_serializing_if = "Option::is_none")]
499 pub snapshot_id: Option<String>,
500 #[serde(rename = "model_id", skip_serializing_if = "Option::is_none")]
501 pub model_id: Option<String>,
502 #[serde(rename = "relationship_hash", skip_serializing_if = "Option::is_none")]
503 pub relationship_hash: Option<String>,
504 #[serde(rename = "tuple_count", skip_serializing_if = "Option::is_none")]
505 pub tuple_count: Option<i32>,
506 #[serde(rename = "resolver", skip_serializing_if = "Option::is_none")]
507 pub resolver: Option<String>,
508 #[serde(rename = "stale", skip_serializing_if = "Option::is_none")]
509 pub stale: Option<bool>,
510 #[serde(rename = "snapshot_token", skip_serializing_if = "Option::is_none")]
511 pub snapshot_token: Option<String>,
512 #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
513 pub checked_at: Option<String>,
514 #[serde(rename = "snapshot_hash", skip_serializing_if = "Option::is_none")]
515 pub snapshot_hash: Option<String>,
516}
517
518impl AuthzSnapshot {
519 pub fn new() -> AuthzSnapshot {
520 AuthzSnapshot {
521 snapshot_id: None,
522 model_id: None,
523 relationship_hash: None,
524 tuple_count: None,
525 resolver: None,
526 stale: None,
527 snapshot_token: None,
528 checked_at: None,
529 snapshot_hash: None,
530 }
531 }
532}
533
534#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
546pub struct BoundaryCapabilitySummary {
547 #[serde(rename = "capability_id", skip_serializing_if = "Option::is_none")]
548 pub capability_id: Option<String>,
549 #[serde(rename = "category", skip_serializing_if = "Option::is_none")]
550 pub category: Option<String>,
551 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
552 pub status: Option<String>,
553 #[serde(rename = "authority", skip_serializing_if = "Option::is_none")]
554 pub authority: Option<String>,
555 #[serde(rename = "public_routes", skip_serializing_if = "Option::is_none")]
556 pub public_routes: Option<Vec<String>>,
557 #[serde(rename = "cli_commands", skip_serializing_if = "Option::is_none")]
558 pub cli_commands: Option<Vec<String>>,
559 #[serde(rename = "receipt_bindings", skip_serializing_if = "Option::is_none")]
560 pub receipt_bindings: Option<Vec<String>>,
561 #[serde(rename = "conformance_level", skip_serializing_if = "Option::is_none")]
562 pub conformance_level: Option<String>,
563}
564
565impl BoundaryCapabilitySummary {
566 pub fn new() -> BoundaryCapabilitySummary {
567 BoundaryCapabilitySummary {
568 capability_id: None,
569 category: None,
570 status: None,
571 authority: None,
572 public_routes: None,
573 cli_commands: None,
574 receipt_bindings: None,
575 conformance_level: None,
576 }
577 }
578}
579
580#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
592pub struct BoundaryCheckpoint {
593 #[serde(rename = "checkpoint_id", skip_serializing_if = "Option::is_none")]
594 pub checkpoint_id: Option<String>,
595 #[serde(rename = "sequence", skip_serializing_if = "Option::is_none")]
596 pub sequence: Option<i64>,
597 #[serde(rename = "previous_checkpoint_hash", skip_serializing_if = "Option::is_none")]
598 pub previous_checkpoint_hash: Option<String>,
599 #[serde(rename = "receipt_count", skip_serializing_if = "Option::is_none")]
600 pub receipt_count: Option<i32>,
601 #[serde(rename = "record_count", skip_serializing_if = "Option::is_none")]
602 pub record_count: Option<i32>,
603 #[serde(rename = "root_hash", skip_serializing_if = "Option::is_none")]
604 pub root_hash: Option<String>,
605 #[serde(rename = "checkpoint_hash", skip_serializing_if = "Option::is_none")]
606 pub checkpoint_hash: Option<String>,
607 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
608 pub created_at: Option<String>,
609}
610
611impl BoundaryCheckpoint {
612 pub fn new() -> BoundaryCheckpoint {
613 BoundaryCheckpoint {
614 checkpoint_id: None,
615 sequence: None,
616 previous_checkpoint_hash: None,
617 receipt_count: None,
618 record_count: None,
619 root_hash: None,
620 checkpoint_hash: None,
621 created_at: None,
622 }
623 }
624}
625
626#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
638pub struct BoundaryRecordVerification {
639 #[serde(rename = "record_id", skip_serializing_if = "Option::is_none")]
640 pub record_id: Option<String>,
641 #[serde(rename = "record_hash", skip_serializing_if = "Option::is_none")]
642 pub record_hash: Option<String>,
643 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
644 pub receipt_id: Option<String>,
645 #[serde(rename = "verified", skip_serializing_if = "Option::is_none")]
646 pub verified: Option<bool>,
647 #[serde(rename = "errors", skip_serializing_if = "Option::is_none")]
648 pub errors: Option<Vec<String>>,
649 #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
650 pub checked_at: Option<String>,
651}
652
653impl BoundaryRecordVerification {
654 pub fn new() -> BoundaryRecordVerification {
655 BoundaryRecordVerification {
656 record_id: None,
657 record_hash: None,
658 receipt_id: None,
659 verified: None,
660 errors: None,
661 checked_at: None,
662 }
663 }
664}
665
666#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
678pub struct BoundaryStatus {
679 #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
680 pub version: Option<String>,
681 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
682 pub status: Option<String>,
683 #[serde(rename = "receipt_store_ready", skip_serializing_if = "Option::is_none")]
684 pub receipt_store_ready: Option<bool>,
685 #[serde(rename = "signer_ready", skip_serializing_if = "Option::is_none")]
686 pub signer_ready: Option<bool>,
687 #[serde(rename = "open_approvals", skip_serializing_if = "Option::is_none")]
688 pub open_approvals: Option<i32>,
689 #[serde(rename = "quarantined_mcp_servers", skip_serializing_if = "Option::is_none")]
690 pub quarantined_mcp_servers: Option<i32>,
691 #[serde(rename = "last_checkpoint_id", skip_serializing_if = "Option::is_none")]
692 pub last_checkpoint_id: Option<String>,
693 #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
694 pub checked_at: Option<String>,
695}
696
697impl BoundaryStatus {
698 pub fn new() -> BoundaryStatus {
699 BoundaryStatus {
700 version: None,
701 status: None,
702 receipt_store_ready: None,
703 signer_ready: None,
704 open_approvals: None,
705 quarantined_mcp_servers: None,
706 last_checkpoint_id: None,
707 checked_at: None,
708 }
709 }
710}
711
712#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
724pub struct BudgetCeiling {
725 #[serde(rename = "budget_id", skip_serializing_if = "Option::is_none")]
726 pub budget_id: Option<String>,
727 #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
728 pub subject: Option<String>,
729 #[serde(rename = "window", skip_serializing_if = "Option::is_none")]
730 pub window: Option<String>,
731 #[serde(rename = "max_tool_calls", skip_serializing_if = "Option::is_none")]
732 pub max_tool_calls: Option<i32>,
733 #[serde(rename = "max_spend_minor", skip_serializing_if = "Option::is_none")]
734 pub max_spend_minor: Option<i64>,
735 #[serde(rename = "max_egress_bytes", skip_serializing_if = "Option::is_none")]
736 pub max_egress_bytes: Option<i64>,
737 #[serde(rename = "max_write_ops", skip_serializing_if = "Option::is_none")]
738 pub max_write_ops: Option<i32>,
739 #[serde(rename = "approval_required_after", skip_serializing_if = "Option::is_none")]
740 pub approval_required_after: Option<i32>,
741 #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
742 pub policy_epoch: Option<String>,
743}
744
745impl BudgetCeiling {
746 pub fn new() -> BudgetCeiling {
747 BudgetCeiling {
748 budget_id: None,
749 subject: None,
750 window: None,
751 max_tool_calls: None,
752 max_spend_minor: None,
753 max_egress_bytes: None,
754 max_write_ops: None,
755 approval_required_after: None,
756 policy_epoch: None,
757 }
758 }
759}
760
761#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
773pub struct ChatCompletionRequest {
774 #[serde(rename = "model")]
775 pub model: String,
776 #[serde(rename = "messages")]
777 pub messages: Vec<ChatCompletionRequestMessagesInner>,
778 #[serde(rename = "tools", skip_serializing_if = "Option::is_none")]
779 pub tools: Option<Vec<ChatCompletionRequestToolsInner>>,
780 #[serde(rename = "temperature", skip_serializing_if = "Option::is_none")]
781 pub temperature: Option<f64>,
782 #[serde(rename = "max_tokens", skip_serializing_if = "Option::is_none")]
783 pub max_tokens: Option<i32>,
784 #[serde(rename = "stream", skip_serializing_if = "Option::is_none")]
785 pub stream: Option<bool>,
786}
787
788impl ChatCompletionRequest {
789 pub fn new(model: String, messages: Vec<ChatCompletionRequestMessagesInner>) -> ChatCompletionRequest {
790 ChatCompletionRequest {
791 model,
792 messages,
793 tools: None,
794 temperature: None,
795 max_tokens: None,
796 stream: None,
797 }
798 }
799}
800
801#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
813pub struct ChatCompletionRequestMessagesInner {
814 #[serde(rename = "role")]
815 pub role: ChatCompletionRequestMessagesInnerRole,
816 #[serde(rename = "content")]
817 pub content: String,
818 #[serde(rename = "tool_call_id", skip_serializing_if = "Option::is_none")]
819 pub tool_call_id: Option<String>,
820}
821
822impl ChatCompletionRequestMessagesInner {
823 pub fn new(role: ChatCompletionRequestMessagesInnerRole, content: String) -> ChatCompletionRequestMessagesInner {
824 ChatCompletionRequestMessagesInner {
825 role,
826 content,
827 tool_call_id: None,
828 }
829 }
830}
831#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
833pub enum ChatCompletionRequestMessagesInnerRole {
834 #[serde(rename = "system")]
835 System,
836 #[serde(rename = "user")]
837 User,
838 #[serde(rename = "assistant")]
839 Assistant,
840 #[serde(rename = "tool")]
841 Tool,
842}
843
844impl Default for ChatCompletionRequestMessagesInnerRole {
845 fn default() -> ChatCompletionRequestMessagesInnerRole {
846 Self::System
847 }
848}
849
850#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
862pub struct ChatCompletionRequestToolsInner {
863 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
864 pub r#type: Option<ChatCompletionRequestToolsInnerType>,
865 #[serde(rename = "function", skip_serializing_if = "Option::is_none")]
866 pub function: Option<Box<ChatCompletionRequestToolsInnerFunction>>,
867}
868
869impl ChatCompletionRequestToolsInner {
870 pub fn new() -> ChatCompletionRequestToolsInner {
871 ChatCompletionRequestToolsInner {
872 r#type: None,
873 function: None,
874 }
875 }
876}
877#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
879pub enum ChatCompletionRequestToolsInnerType {
880 #[serde(rename = "function")]
881 Function,
882}
883
884impl Default for ChatCompletionRequestToolsInnerType {
885 fn default() -> ChatCompletionRequestToolsInnerType {
886 Self::Function
887 }
888}
889
890#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
902pub struct ChatCompletionRequestToolsInnerFunction {
903 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
904 pub name: Option<String>,
905 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
906 pub description: Option<String>,
907 #[serde(rename = "parameters", skip_serializing_if = "Option::is_none")]
908 pub parameters: Option<serde_json::Value>,
909}
910
911impl ChatCompletionRequestToolsInnerFunction {
912 pub fn new() -> ChatCompletionRequestToolsInnerFunction {
913 ChatCompletionRequestToolsInnerFunction {
914 name: None,
915 description: None,
916 parameters: None,
917 }
918 }
919}
920
921#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
933pub struct ChatCompletionResponse {
934 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
935 pub id: Option<String>,
936 #[serde(rename = "object", skip_serializing_if = "Option::is_none")]
937 pub object: Option<String>,
938 #[serde(rename = "created", skip_serializing_if = "Option::is_none")]
939 pub created: Option<i32>,
940 #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
941 pub model: Option<String>,
942 #[serde(rename = "choices", skip_serializing_if = "Option::is_none")]
943 pub choices: Option<Vec<ChatCompletionResponseChoicesInner>>,
944 #[serde(rename = "usage", skip_serializing_if = "Option::is_none")]
945 pub usage: Option<Box<ChatCompletionResponseUsage>>,
946}
947
948impl ChatCompletionResponse {
949 pub fn new() -> ChatCompletionResponse {
950 ChatCompletionResponse {
951 id: None,
952 object: None,
953 created: None,
954 model: None,
955 choices: None,
956 usage: None,
957 }
958 }
959}
960
961#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
973pub struct ChatCompletionResponseChoicesInner {
974 #[serde(rename = "index", skip_serializing_if = "Option::is_none")]
975 pub index: Option<i32>,
976 #[serde(rename = "message", skip_serializing_if = "Option::is_none")]
977 pub message: Option<Box<ChatCompletionResponseChoicesInnerMessage>>,
978 #[serde(rename = "finish_reason", skip_serializing_if = "Option::is_none")]
979 pub finish_reason: Option<String>,
980}
981
982impl ChatCompletionResponseChoicesInner {
983 pub fn new() -> ChatCompletionResponseChoicesInner {
984 ChatCompletionResponseChoicesInner {
985 index: None,
986 message: None,
987 finish_reason: None,
988 }
989 }
990}
991
992#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1004pub struct ChatCompletionResponseChoicesInnerMessage {
1005 #[serde(rename = "role", skip_serializing_if = "Option::is_none")]
1006 pub role: Option<String>,
1007 #[serde(rename = "content", default, skip_serializing_if = "Option::is_none")]
1008 pub content: Option<Option<String>>,
1009 #[serde(rename = "tool_calls", skip_serializing_if = "Option::is_none")]
1010 pub tool_calls: Option<Vec<ChatCompletionResponseChoicesInnerMessageToolCallsInner>>,
1011}
1012
1013impl ChatCompletionResponseChoicesInnerMessage {
1014 pub fn new() -> ChatCompletionResponseChoicesInnerMessage {
1015 ChatCompletionResponseChoicesInnerMessage {
1016 role: None,
1017 content: None,
1018 tool_calls: None,
1019 }
1020 }
1021}
1022
1023#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1035pub struct ChatCompletionResponseChoicesInnerMessageToolCallsInner {
1036 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
1037 pub id: Option<String>,
1038 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
1039 pub r#type: Option<String>,
1040 #[serde(rename = "function", skip_serializing_if = "Option::is_none")]
1041 pub function: Option<Box<ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction>>,
1042}
1043
1044impl ChatCompletionResponseChoicesInnerMessageToolCallsInner {
1045 pub fn new() -> ChatCompletionResponseChoicesInnerMessageToolCallsInner {
1046 ChatCompletionResponseChoicesInnerMessageToolCallsInner {
1047 id: None,
1048 r#type: None,
1049 function: None,
1050 }
1051 }
1052}
1053
1054#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1066pub struct ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction {
1067 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
1068 pub name: Option<String>,
1069 #[serde(rename = "arguments", skip_serializing_if = "Option::is_none")]
1070 pub arguments: Option<String>,
1071}
1072
1073impl ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction {
1074 pub fn new() -> ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction {
1075 ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction {
1076 name: None,
1077 arguments: None,
1078 }
1079 }
1080}
1081
1082#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1094pub struct ChatCompletionResponseUsage {
1095 #[serde(rename = "prompt_tokens", skip_serializing_if = "Option::is_none")]
1096 pub prompt_tokens: Option<i32>,
1097 #[serde(rename = "completion_tokens", skip_serializing_if = "Option::is_none")]
1098 pub completion_tokens: Option<i32>,
1099 #[serde(rename = "total_tokens", skip_serializing_if = "Option::is_none")]
1100 pub total_tokens: Option<i32>,
1101}
1102
1103impl ChatCompletionResponseUsage {
1104 pub fn new() -> ChatCompletionResponseUsage {
1105 ChatCompletionResponseUsage {
1106 prompt_tokens: None,
1107 completion_tokens: None,
1108 total_tokens: None,
1109 }
1110 }
1111}
1112
1113#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1125pub struct CoexistenceCapabilityManifest {
1126 #[serde(rename = "manifest_id", skip_serializing_if = "Option::is_none")]
1127 pub manifest_id: Option<String>,
1128 #[serde(rename = "authority", skip_serializing_if = "Option::is_none")]
1129 pub authority: Option<String>,
1130 #[serde(rename = "boundary_role", skip_serializing_if = "Option::is_none")]
1131 pub boundary_role: Option<String>,
1132 #[serde(rename = "supported_inputs", skip_serializing_if = "Option::is_none")]
1133 pub supported_inputs: Option<Vec<String>>,
1134 #[serde(rename = "export_surfaces", skip_serializing_if = "Option::is_none")]
1135 pub export_surfaces: Option<Vec<String>>,
1136 #[serde(rename = "receipt_bindings", skip_serializing_if = "Option::is_none")]
1137 pub receipt_bindings: Option<Vec<String>>,
1138 #[serde(rename = "generated_at", skip_serializing_if = "Option::is_none")]
1139 pub generated_at: Option<String>,
1140}
1141
1142impl CoexistenceCapabilityManifest {
1143 pub fn new() -> CoexistenceCapabilityManifest {
1144 CoexistenceCapabilityManifest {
1145 manifest_id: None,
1146 authority: None,
1147 boundary_role: None,
1148 supported_inputs: None,
1149 export_surfaces: None,
1150 receipt_bindings: None,
1151 generated_at: None,
1152 }
1153 }
1154}
1155
1156#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1168pub struct ConformanceRequest {
1169 #[serde(rename = "level")]
1170 pub level: ConformanceRequestLevel,
1171 #[serde(rename = "profile", skip_serializing_if = "Option::is_none")]
1172 pub profile: Option<String>,
1173}
1174
1175impl ConformanceRequest {
1176 pub fn new(level: ConformanceRequestLevel) -> ConformanceRequest {
1177 ConformanceRequest {
1178 level,
1179 profile: None,
1180 }
1181 }
1182}
1183#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1185pub enum ConformanceRequestLevel {
1186 #[serde(rename = "L1")]
1187 L1,
1188 #[serde(rename = "L2")]
1189 L2,
1190}
1191
1192impl Default for ConformanceRequestLevel {
1193 fn default() -> ConformanceRequestLevel {
1194 Self::L1
1195 }
1196}
1197
1198#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1210pub struct ConformanceResult {
1211 #[serde(rename = "report_id", skip_serializing_if = "Option::is_none")]
1212 pub report_id: Option<String>,
1213 #[serde(rename = "level", skip_serializing_if = "Option::is_none")]
1214 pub level: Option<String>,
1215 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
1216 pub verdict: Option<ConformanceResultVerdict>,
1217 #[serde(rename = "gates", skip_serializing_if = "Option::is_none")]
1218 pub gates: Option<i32>,
1219 #[serde(rename = "failed", skip_serializing_if = "Option::is_none")]
1220 pub failed: Option<i32>,
1221 #[serde(rename = "details", skip_serializing_if = "Option::is_none")]
1222 pub details: Option<std::collections::HashMap<String, String>>,
1223}
1224
1225impl ConformanceResult {
1226 pub fn new() -> ConformanceResult {
1227 ConformanceResult {
1228 report_id: None,
1229 level: None,
1230 verdict: None,
1231 gates: None,
1232 failed: None,
1233 details: None,
1234 }
1235 }
1236}
1237#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1239pub enum ConformanceResultVerdict {
1240 #[serde(rename = "PASS")]
1241 Pass,
1242 #[serde(rename = "FAIL")]
1243 Fail,
1244}
1245
1246impl Default for ConformanceResultVerdict {
1247 fn default() -> ConformanceResultVerdict {
1248 Self::Pass
1249 }
1250}
1251
1252#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1264pub struct ConsoleBootstrap {
1265 #[serde(rename = "version")]
1266 pub version: Box<VersionInfo>,
1267 #[serde(rename = "workspace")]
1268 pub workspace: Box<ConsoleBootstrapWorkspace>,
1269 #[serde(rename = "health")]
1270 pub health: Box<ConsoleBootstrapHealth>,
1271 #[serde(rename = "counts")]
1272 pub counts: Box<ConsoleBootstrapCounts>,
1273 #[serde(rename = "receipts")]
1274 pub receipts: Vec<Receipt>,
1275 #[serde(rename = "conformance")]
1276 pub conformance: Box<ConsoleBootstrapConformance>,
1277 #[serde(rename = "mcp")]
1278 pub mcp: Box<ConsoleBootstrapMcp>,
1279}
1280
1281impl ConsoleBootstrap {
1282 pub fn new(version: VersionInfo, workspace: ConsoleBootstrapWorkspace, health: ConsoleBootstrapHealth, counts: ConsoleBootstrapCounts, receipts: Vec<Receipt>, conformance: ConsoleBootstrapConformance, mcp: ConsoleBootstrapMcp) -> ConsoleBootstrap {
1283 ConsoleBootstrap {
1284 version: Box::new(version),
1285 workspace: Box::new(workspace),
1286 health: Box::new(health),
1287 counts: Box::new(counts),
1288 receipts,
1289 conformance: Box::new(conformance),
1290 mcp: Box::new(mcp),
1291 }
1292 }
1293}
1294
1295#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1307pub struct ConsoleBootstrapConformance {
1308 #[serde(rename = "level")]
1309 pub level: String,
1310 #[serde(rename = "status")]
1311 pub status: String,
1312 #[serde(rename = "report_id", skip_serializing_if = "Option::is_none")]
1313 pub report_id: Option<String>,
1314}
1315
1316impl ConsoleBootstrapConformance {
1317 pub fn new(level: String, status: String) -> ConsoleBootstrapConformance {
1318 ConsoleBootstrapConformance {
1319 level,
1320 status,
1321 report_id: None,
1322 }
1323 }
1324}
1325
1326#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1338pub struct ConsoleBootstrapCounts {
1339 #[serde(rename = "receipts")]
1340 pub receipts: i32,
1341 #[serde(rename = "pending_approvals")]
1342 pub pending_approvals: i32,
1343 #[serde(rename = "open_incidents")]
1344 pub open_incidents: i32,
1345 #[serde(rename = "mcp_tools")]
1346 pub mcp_tools: i32,
1347}
1348
1349impl ConsoleBootstrapCounts {
1350 pub fn new(receipts: i32, pending_approvals: i32, open_incidents: i32, mcp_tools: i32) -> ConsoleBootstrapCounts {
1351 ConsoleBootstrapCounts {
1352 receipts,
1353 pending_approvals,
1354 open_incidents,
1355 mcp_tools,
1356 }
1357 }
1358}
1359
1360#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1372pub struct ConsoleBootstrapHealth {
1373 #[serde(rename = "kernel")]
1374 pub kernel: String,
1375 #[serde(rename = "policy")]
1376 pub policy: String,
1377 #[serde(rename = "store")]
1378 pub store: String,
1379 #[serde(rename = "conformance")]
1380 pub conformance: String,
1381}
1382
1383impl ConsoleBootstrapHealth {
1384 pub fn new(kernel: String, policy: String, store: String, conformance: String) -> ConsoleBootstrapHealth {
1385 ConsoleBootstrapHealth {
1386 kernel,
1387 policy,
1388 store,
1389 conformance,
1390 }
1391 }
1392}
1393
1394#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1406pub struct ConsoleBootstrapMcp {
1407 #[serde(rename = "authorization")]
1408 pub authorization: String,
1409 #[serde(rename = "scopes")]
1410 pub scopes: Vec<String>,
1411}
1412
1413impl ConsoleBootstrapMcp {
1414 pub fn new(authorization: String, scopes: Vec<String>) -> ConsoleBootstrapMcp {
1415 ConsoleBootstrapMcp {
1416 authorization,
1417 scopes,
1418 }
1419 }
1420}
1421
1422#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1434pub struct ConsoleBootstrapWorkspace {
1435 #[serde(rename = "organization")]
1436 pub organization: String,
1437 #[serde(rename = "project")]
1438 pub project: String,
1439 #[serde(rename = "environment")]
1440 pub environment: String,
1441 #[serde(rename = "mode")]
1442 pub mode: String,
1443}
1444
1445impl ConsoleBootstrapWorkspace {
1446 pub fn new(organization: String, project: String, environment: String, mode: String) -> ConsoleBootstrapWorkspace {
1447 ConsoleBootstrapWorkspace {
1448 organization,
1449 project,
1450 environment,
1451 mode,
1452 }
1453 }
1454}
1455
1456#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1468pub struct ConsoleSurfaceRef {
1469 #[serde(rename = "id")]
1470 pub id: String,
1471 #[serde(rename = "source")]
1472 pub source: String,
1473}
1474
1475impl ConsoleSurfaceRef {
1476 pub fn new(id: String, source: String) -> ConsoleSurfaceRef {
1477 ConsoleSurfaceRef {
1478 id,
1479 source,
1480 }
1481 }
1482}
1483
1484#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1496pub struct ConsoleSurfaceState {
1497 #[serde(rename = "id")]
1498 pub id: String,
1499 #[serde(rename = "status")]
1500 pub status: String,
1501 #[serde(rename = "source")]
1502 pub source: String,
1503 #[serde(rename = "generated_at")]
1504 pub generated_at: String,
1505 #[serde(rename = "summary", skip_serializing_if = "Option::is_none")]
1506 pub summary: Option<std::collections::HashMap<String, serde_json::Value>>,
1507 #[serde(rename = "records", skip_serializing_if = "Option::is_none")]
1508 pub records: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
1509}
1510
1511impl ConsoleSurfaceState {
1512 pub fn new(id: String, status: String, source: String, generated_at: String) -> ConsoleSurfaceState {
1513 ConsoleSurfaceState {
1514 id,
1515 status,
1516 source,
1517 generated_at,
1518 summary: None,
1519 records: None,
1520 }
1521 }
1522}
1523
1524#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1536pub struct CreateApprovalWebAuthnChallengeRequest {
1537 #[serde(rename = "method", skip_serializing_if = "Option::is_none")]
1538 pub method: Option<String>,
1539 #[serde(rename = "ttl_ms", skip_serializing_if = "Option::is_none")]
1540 pub ttl_ms: Option<i32>,
1541}
1542
1543impl CreateApprovalWebAuthnChallengeRequest {
1544 pub fn new() -> CreateApprovalWebAuthnChallengeRequest {
1545 CreateApprovalWebAuthnChallengeRequest {
1546 method: None,
1547 ttl_ms: None,
1548 }
1549 }
1550}
1551
1552#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1564pub struct CreateSandboxGrantRequest {
1565 #[serde(rename = "runtime", skip_serializing_if = "Option::is_none")]
1566 pub runtime: Option<String>,
1567 #[serde(rename = "profile", skip_serializing_if = "Option::is_none")]
1568 pub profile: Option<String>,
1569 #[serde(rename = "image_digest", skip_serializing_if = "Option::is_none")]
1570 pub image_digest: Option<String>,
1571 #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
1572 pub policy_epoch: Option<String>,
1573}
1574
1575impl CreateSandboxGrantRequest {
1576 pub fn new() -> CreateSandboxGrantRequest {
1577 CreateSandboxGrantRequest {
1578 runtime: None,
1579 profile: None,
1580 image_digest: None,
1581 policy_epoch: None,
1582 }
1583 }
1584}
1585
1586#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1598pub struct DecisionRecord {
1599 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
1600 pub id: Option<String>,
1601 #[serde(rename = "action", skip_serializing_if = "Option::is_none")]
1602 pub action: Option<String>,
1603 #[serde(rename = "resource", skip_serializing_if = "Option::is_none")]
1604 pub resource: Option<String>,
1605 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
1606 pub verdict: Option<String>,
1607 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
1608 pub reason: Option<String>,
1609 #[serde(rename = "policy_version", skip_serializing_if = "Option::is_none")]
1610 pub policy_version: Option<String>,
1611 #[serde(rename = "policy_decision_hash", skip_serializing_if = "Option::is_none")]
1612 pub policy_decision_hash: Option<String>,
1613 #[serde(rename = "signature", skip_serializing_if = "Option::is_none")]
1614 pub signature: Option<String>,
1615}
1616
1617impl DecisionRecord {
1618 pub fn new() -> DecisionRecord {
1619 DecisionRecord {
1620 id: None,
1621 action: None,
1622 resource: None,
1623 verdict: None,
1624 reason: None,
1625 policy_version: None,
1626 policy_decision_hash: None,
1627 signature: None,
1628 }
1629 }
1630}
1631
1632#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1644pub struct DecisionRequest {
1645 #[serde(rename = "principal", skip_serializing_if = "Option::is_none")]
1646 pub principal: Option<String>,
1647 #[serde(rename = "action")]
1648 pub action: String,
1649 #[serde(rename = "resource")]
1650 pub resource: String,
1651 #[serde(rename = "context", skip_serializing_if = "Option::is_none")]
1652 pub context: Option<std::collections::HashMap<String, serde_json::Value>>,
1653}
1654
1655impl DecisionRequest {
1656 pub fn new(action: String, resource: String) -> DecisionRequest {
1657 DecisionRequest {
1658 principal: None,
1659 action,
1660 resource,
1661 context: None,
1662 }
1663 }
1664}
1665
1666#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1679pub struct Effect {
1680 #[serde(rename = "effect_type")]
1682 pub effect_type: String,
1683 #[serde(rename = "effect_id")]
1685 pub effect_id: String,
1686 #[serde(rename = "params")]
1688 pub params: std::collections::HashMap<String, serde_json::Value>,
1689 #[serde(rename = "budget_id", skip_serializing_if = "Option::is_none")]
1691 pub budget_id: Option<String>,
1692}
1693
1694impl Effect {
1695 pub fn new(effect_type: String, effect_id: String, params: std::collections::HashMap<String, serde_json::Value>) -> Effect {
1697 Effect {
1698 effect_type,
1699 effect_id,
1700 params,
1701 budget_id: None,
1702 }
1703 }
1704}
1705
1706#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1719pub struct EffectBoundary {
1720 #[serde(rename = "effect")]
1721 pub effect: Box<Effect>,
1722 #[serde(rename = "principal")]
1724 pub principal: String,
1725 #[serde(rename = "context", skip_serializing_if = "Option::is_none")]
1727 pub context: Option<std::collections::HashMap<String, serde_json::Value>>,
1728}
1729
1730impl EffectBoundary {
1731 pub fn new(effect: Effect, principal: String) -> EffectBoundary {
1733 EffectBoundary {
1734 effect: Box::new(effect),
1735 principal,
1736 context: None,
1737 }
1738 }
1739}
1740
1741#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1753pub struct EnvExposurePolicy {
1754 #[serde(rename = "mode")]
1755 pub mode: EnvExposurePolicyMode,
1756 #[serde(rename = "names", skip_serializing_if = "Option::is_none")]
1757 pub names: Option<Vec<String>>,
1758 #[serde(rename = "names_hash", skip_serializing_if = "Option::is_none")]
1759 pub names_hash: Option<String>,
1760 #[serde(rename = "redacted", skip_serializing_if = "Option::is_none")]
1761 pub redacted: Option<bool>,
1762}
1763
1764impl EnvExposurePolicy {
1765 pub fn new(mode: EnvExposurePolicyMode) -> EnvExposurePolicy {
1766 EnvExposurePolicy {
1767 mode,
1768 names: None,
1769 names_hash: None,
1770 redacted: None,
1771 }
1772 }
1773}
1774#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1776pub enum EnvExposurePolicyMode {
1777 #[serde(rename = "deny-all")]
1778 DenyAll,
1779 #[serde(rename = "allowlist")]
1780 Allowlist,
1781 #[serde(rename = "redacted")]
1782 Redacted,
1783}
1784
1785impl Default for EnvExposurePolicyMode {
1786 fn default() -> EnvExposurePolicyMode {
1787 Self::DenyAll
1788 }
1789}
1790
1791#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1803pub struct EvidenceEnvelopeExportRequest {
1804 #[serde(rename = "manifest_id")]
1805 pub manifest_id: String,
1806 #[serde(rename = "envelope")]
1807 pub envelope: EvidenceEnvelopeExportRequestEnvelope,
1808 #[serde(rename = "native_evidence_hash")]
1810 pub native_evidence_hash: String,
1811 #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
1812 pub subject: Option<String>,
1813 #[serde(rename = "experimental", skip_serializing_if = "Option::is_none")]
1815 pub experimental: Option<bool>,
1816}
1817
1818impl EvidenceEnvelopeExportRequest {
1819 pub fn new(manifest_id: String, envelope: EvidenceEnvelopeExportRequestEnvelope, native_evidence_hash: String) -> EvidenceEnvelopeExportRequest {
1820 EvidenceEnvelopeExportRequest {
1821 manifest_id,
1822 envelope,
1823 native_evidence_hash,
1824 subject: None,
1825 experimental: None,
1826 }
1827 }
1828}
1829#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1831pub enum EvidenceEnvelopeExportRequestEnvelope {
1832 #[serde(rename = "dsse")]
1833 Dsse,
1834 #[serde(rename = "jws")]
1835 Jws,
1836 #[serde(rename = "in-toto")]
1837 InToto,
1838 #[serde(rename = "slsa")]
1839 Slsa,
1840 #[serde(rename = "sigstore")]
1841 Sigstore,
1842 #[serde(rename = "scitt")]
1843 Scitt,
1844 #[serde(rename = "cose")]
1845 Cose,
1846}
1847
1848impl Default for EvidenceEnvelopeExportRequestEnvelope {
1849 fn default() -> EvidenceEnvelopeExportRequestEnvelope {
1850 Self::Dsse
1851 }
1852}
1853
1854#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1866pub struct EvidenceEnvelopeManifest {
1867 #[serde(rename = "manifest_id")]
1868 pub manifest_id: String,
1869 #[serde(rename = "envelope")]
1870 pub envelope: EvidenceEnvelopeManifestEnvelope,
1871 #[serde(rename = "native_evidence_hash")]
1872 pub native_evidence_hash: String,
1873 #[serde(rename = "native_authority")]
1874 pub native_authority: bool,
1875 #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
1876 pub subject: Option<String>,
1877 #[serde(rename = "statement_hash", skip_serializing_if = "Option::is_none")]
1878 pub statement_hash: Option<String>,
1879 #[serde(rename = "experimental", skip_serializing_if = "Option::is_none")]
1880 pub experimental: Option<bool>,
1881 #[serde(rename = "created_at")]
1882 pub created_at: String,
1883 #[serde(rename = "manifest_hash", skip_serializing_if = "Option::is_none")]
1884 pub manifest_hash: Option<String>,
1885}
1886
1887impl EvidenceEnvelopeManifest {
1888 pub fn new(manifest_id: String, envelope: EvidenceEnvelopeManifestEnvelope, native_evidence_hash: String, native_authority: bool, created_at: String) -> EvidenceEnvelopeManifest {
1889 EvidenceEnvelopeManifest {
1890 manifest_id,
1891 envelope,
1892 native_evidence_hash,
1893 native_authority,
1894 subject: None,
1895 statement_hash: None,
1896 experimental: None,
1897 created_at,
1898 manifest_hash: None,
1899 }
1900 }
1901}
1902#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1904pub enum EvidenceEnvelopeManifestEnvelope {
1905 #[serde(rename = "dsse")]
1906 Dsse,
1907 #[serde(rename = "jws")]
1908 Jws,
1909 #[serde(rename = "in-toto")]
1910 InToto,
1911 #[serde(rename = "slsa")]
1912 Slsa,
1913 #[serde(rename = "sigstore")]
1914 Sigstore,
1915 #[serde(rename = "scitt")]
1916 Scitt,
1917 #[serde(rename = "cose")]
1918 Cose,
1919}
1920
1921impl Default for EvidenceEnvelopeManifestEnvelope {
1922 fn default() -> EvidenceEnvelopeManifestEnvelope {
1923 Self::Dsse
1924 }
1925}
1926
1927#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1939pub struct EvidenceEnvelopeVerification {
1940 #[serde(rename = "manifest_id", skip_serializing_if = "Option::is_none")]
1941 pub manifest_id: Option<String>,
1942 #[serde(rename = "manifest_hash", skip_serializing_if = "Option::is_none")]
1943 pub manifest_hash: Option<String>,
1944 #[serde(rename = "native_evidence_hash", skip_serializing_if = "Option::is_none")]
1945 pub native_evidence_hash: Option<String>,
1946 #[serde(rename = "verified", skip_serializing_if = "Option::is_none")]
1947 pub verified: Option<bool>,
1948 #[serde(rename = "authoritative", skip_serializing_if = "Option::is_none")]
1949 pub authoritative: Option<bool>,
1950 #[serde(rename = "errors", skip_serializing_if = "Option::is_none")]
1951 pub errors: Option<Vec<String>>,
1952 #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
1953 pub checked_at: Option<String>,
1954}
1955
1956impl EvidenceEnvelopeVerification {
1957 pub fn new() -> EvidenceEnvelopeVerification {
1958 EvidenceEnvelopeVerification {
1959 manifest_id: None,
1960 manifest_hash: None,
1961 native_evidence_hash: None,
1962 verified: None,
1963 authoritative: None,
1964 errors: None,
1965 checked_at: None,
1966 }
1967 }
1968}
1969
1970#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1982pub struct ExecutionBoundaryRecord {
1983 #[serde(rename = "record_id", skip_serializing_if = "Option::is_none")]
1984 pub record_id: Option<String>,
1985 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
1986 pub verdict: Option<ExecutionBoundaryRecordVerdict>,
1987 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
1988 pub reason_code: Option<String>,
1989 #[serde(rename = "tool_name", skip_serializing_if = "Option::is_none")]
1990 pub tool_name: Option<String>,
1991 #[serde(rename = "args_hash", skip_serializing_if = "Option::is_none")]
1992 pub args_hash: Option<String>,
1993 #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
1994 pub policy_epoch: Option<String>,
1995 #[serde(rename = "mcp_server_id", skip_serializing_if = "Option::is_none")]
1996 pub mcp_server_id: Option<String>,
1997 #[serde(rename = "oauth_resource", skip_serializing_if = "Option::is_none")]
1998 pub oauth_resource: Option<String>,
1999 #[serde(rename = "oauth_scopes", skip_serializing_if = "Option::is_none")]
2000 pub oauth_scopes: Option<Vec<String>>,
2001 #[serde(rename = "sandbox_grant_hash", skip_serializing_if = "Option::is_none")]
2002 pub sandbox_grant_hash: Option<String>,
2003 #[serde(rename = "authz_snapshot_hash", skip_serializing_if = "Option::is_none")]
2004 pub authz_snapshot_hash: Option<String>,
2005 #[serde(rename = "approval_receipt_id", skip_serializing_if = "Option::is_none")]
2006 pub approval_receipt_id: Option<String>,
2007 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
2008 pub receipt_id: Option<String>,
2009 #[serde(rename = "record_hash", skip_serializing_if = "Option::is_none")]
2010 pub record_hash: Option<String>,
2011 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
2012 pub created_at: Option<String>,
2013}
2014
2015impl ExecutionBoundaryRecord {
2016 pub fn new() -> ExecutionBoundaryRecord {
2017 ExecutionBoundaryRecord {
2018 record_id: None,
2019 verdict: None,
2020 reason_code: None,
2021 tool_name: None,
2022 args_hash: None,
2023 policy_epoch: None,
2024 mcp_server_id: None,
2025 oauth_resource: None,
2026 oauth_scopes: None,
2027 sandbox_grant_hash: None,
2028 authz_snapshot_hash: None,
2029 approval_receipt_id: None,
2030 receipt_id: None,
2031 record_hash: None,
2032 created_at: None,
2033 }
2034 }
2035}
2036#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2038pub enum ExecutionBoundaryRecordVerdict {
2039 #[serde(rename = "ALLOW")]
2040 Allow,
2041 #[serde(rename = "DENY")]
2042 Deny,
2043 #[serde(rename = "ESCALATE")]
2044 Escalate,
2045}
2046
2047impl Default for ExecutionBoundaryRecordVerdict {
2048 fn default() -> ExecutionBoundaryRecordVerdict {
2049 Self::Allow
2050 }
2051}
2052
2053#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2065pub struct ExportRequest {
2066 #[serde(rename = "session_id", skip_serializing_if = "Option::is_none")]
2068 pub session_id: Option<String>,
2069 #[serde(rename = "format", skip_serializing_if = "Option::is_none")]
2070 pub format: Option<ExportRequestFormat>,
2071}
2072
2073impl ExportRequest {
2074 pub fn new() -> ExportRequest {
2075 ExportRequest {
2076 session_id: None,
2077 format: None,
2078 }
2079 }
2080}
2081#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2083pub enum ExportRequestFormat {
2084 #[serde(rename = "tar.gz")]
2085 TarPeriodGz,
2086}
2087
2088impl Default for ExportRequestFormat {
2089 fn default() -> ExportRequestFormat {
2090 Self::TarPeriodGz
2091 }
2092}
2093
2094#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2106pub struct FilesystemPreopen {
2107 #[serde(rename = "path")]
2108 pub path: String,
2109 #[serde(rename = "mode")]
2110 pub mode: FilesystemPreopenMode,
2111 #[serde(rename = "content_hash", skip_serializing_if = "Option::is_none")]
2112 pub content_hash: Option<String>,
2113}
2114
2115impl FilesystemPreopen {
2116 pub fn new(path: String, mode: FilesystemPreopenMode) -> FilesystemPreopen {
2117 FilesystemPreopen {
2118 path,
2119 mode,
2120 content_hash: None,
2121 }
2122 }
2123}
2124#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2126pub enum FilesystemPreopenMode {
2127 #[serde(rename = "ro")]
2128 Ro,
2129 #[serde(rename = "rw")]
2130 Rw,
2131}
2132
2133impl Default for FilesystemPreopenMode {
2134 fn default() -> FilesystemPreopenMode {
2135 Self::Ro
2136 }
2137}
2138
2139#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2151pub struct GetAgentUiRuntimeInfo200Response {
2152 #[serde(rename = "runtime")]
2153 pub runtime: String,
2154 #[serde(rename = "protocol", deserialize_with = "Option::deserialize")]
2155 pub protocol: Option<serde_json::Value>,
2156 #[serde(rename = "transport", deserialize_with = "Option::deserialize")]
2157 pub transport: Option<serde_json::Value>,
2158 #[serde(rename = "tools", deserialize_with = "Option::deserialize")]
2159 pub tools: Option<serde_json::Value>,
2160}
2161
2162impl GetAgentUiRuntimeInfo200Response {
2163 pub fn new(runtime: String, protocol: Option<serde_json::Value>, transport: Option<serde_json::Value>, tools: Option<serde_json::Value>) -> GetAgentUiRuntimeInfo200Response {
2164 GetAgentUiRuntimeInfo200Response {
2165 runtime,
2166 protocol,
2167 transport,
2168 tools,
2169 }
2170 }
2171}
2172
2173#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2185pub struct GetPublicDemoHealth200Response {
2186 #[serde(rename = "version")]
2187 pub version: String,
2188 #[serde(rename = "commit")]
2189 pub commit: String,
2190 #[serde(rename = "helm_ai_kernel_version")]
2191 pub helm_ai_kernel_version: String,
2192 #[serde(rename = "status")]
2193 pub status: String,
2194 #[serde(rename = "build_time")]
2195 pub build_time: String,
2196 #[serde(rename = "git_sha")]
2197 pub git_sha: String,
2198 #[serde(rename = "deployment_id")]
2199 pub deployment_id: String,
2200}
2201
2202impl GetPublicDemoHealth200Response {
2203 pub fn new(version: String, commit: String, helm_ai_kernel_version: String, status: String, build_time: String, git_sha: String, deployment_id: String) -> GetPublicDemoHealth200Response {
2204 GetPublicDemoHealth200Response {
2205 version,
2206 commit,
2207 helm_ai_kernel_version,
2208 status,
2209 build_time,
2210 git_sha,
2211 deployment_id,
2212 }
2213 }
2214}
2215
2216#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2229pub struct GovernanceDecision {
2230 #[serde(rename = "decision_id")]
2231 pub decision_id: String,
2232 #[serde(rename = "effect_id")]
2233 pub effect_id: String,
2234 #[serde(rename = "verdict")]
2235 pub verdict: GovernanceDecisionVerdict,
2236 #[serde(rename = "reason_code", default, skip_serializing_if = "Option::is_none")]
2238 pub reason_code: Option<Option<String>>,
2239 #[serde(rename = "receipt", skip_serializing_if = "Option::is_none")]
2240 pub receipt: Option<Box<Receipt>>,
2241 #[serde(rename = "active_packs", skip_serializing_if = "Option::is_none")]
2243 pub active_packs: Option<Vec<String>>,
2244}
2245
2246impl GovernanceDecision {
2247 pub fn new(decision_id: String, effect_id: String, verdict: GovernanceDecisionVerdict) -> GovernanceDecision {
2249 GovernanceDecision {
2250 decision_id,
2251 effect_id,
2252 verdict,
2253 reason_code: None,
2254 receipt: None,
2255 active_packs: None,
2256 }
2257 }
2258}
2259#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2261pub enum GovernanceDecisionVerdict {
2262 #[serde(rename = "ALLOW")]
2263 Allow,
2264 #[serde(rename = "DENY")]
2265 Deny,
2266 #[serde(rename = "ESCALATE")]
2267 Escalate,
2268}
2269
2270impl Default for GovernanceDecisionVerdict {
2271 fn default() -> GovernanceDecisionVerdict {
2272 Self::Allow
2273 }
2274}
2275
2276#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2288pub struct HealthCheck200Response {
2289 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
2290 pub status: Option<String>,
2291 #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
2292 pub version: Option<String>,
2293}
2294
2295impl HealthCheck200Response {
2296 pub fn new() -> HealthCheck200Response {
2297 HealthCheck200Response {
2298 status: None,
2299 version: None,
2300 }
2301 }
2302}
2303
2304#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2316pub struct HelmError {
2317 #[serde(rename = "error")]
2318 pub error: Box<HelmErrorError>,
2319}
2320
2321impl HelmError {
2322 pub fn new(error: HelmErrorError) -> HelmError {
2323 HelmError {
2324 error: Box::new(error),
2325 }
2326 }
2327}
2328
2329#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2341pub struct HelmErrorError {
2342 #[serde(rename = "message")]
2344 pub message: String,
2345 #[serde(rename = "type")]
2346 pub r#type: HelmErrorErrorType,
2347 #[serde(rename = "code")]
2349 pub code: String,
2350 #[serde(rename = "reason_code")]
2352 pub reason_code: HelmErrorErrorReasonCode,
2353 #[serde(rename = "details", skip_serializing_if = "Option::is_none")]
2355 pub details: Option<std::collections::HashMap<String, serde_json::Value>>,
2356}
2357
2358impl HelmErrorError {
2359 pub fn new(message: String, r#type: HelmErrorErrorType, code: String, reason_code: HelmErrorErrorReasonCode) -> HelmErrorError {
2360 HelmErrorError {
2361 message,
2362 r#type,
2363 code,
2364 reason_code,
2365 details: None,
2366 }
2367 }
2368}
2369#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2371pub enum HelmErrorErrorType {
2372 #[serde(rename = "invalid_request")]
2373 InvalidRequest,
2374 #[serde(rename = "authentication_error")]
2375 AuthenticationError,
2376 #[serde(rename = "permission_denied")]
2377 PermissionDenied,
2378 #[serde(rename = "not_found")]
2379 NotFound,
2380 #[serde(rename = "internal_error")]
2381 InternalError,
2382}
2383
2384impl Default for HelmErrorErrorType {
2385 fn default() -> HelmErrorErrorType {
2386 Self::InvalidRequest
2387 }
2388}
2389#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2391pub enum HelmErrorErrorReasonCode {
2392 #[serde(rename = "DENY_TOOL_NOT_FOUND")]
2393 DenyToolNotFound,
2394 #[serde(rename = "DENY_SCHEMA_MISMATCH")]
2395 DenySchemaMismatch,
2396 #[serde(rename = "DENY_OUTPUT_DRIFT")]
2397 DenyOutputDrift,
2398 #[serde(rename = "DENY_BUDGET_EXCEEDED")]
2399 DenyBudgetExceeded,
2400 #[serde(rename = "DENY_APPROVAL_REQUIRED")]
2401 DenyApprovalRequired,
2402 #[serde(rename = "DENY_APPROVAL_TIMEOUT")]
2403 DenyApprovalTimeout,
2404 #[serde(rename = "DENY_SANDBOX_TRAP")]
2405 DenySandboxTrap,
2406 #[serde(rename = "DENY_GAS_EXHAUSTION")]
2407 DenyGasExhaustion,
2408 #[serde(rename = "DENY_TIME_LIMIT")]
2409 DenyTimeLimit,
2410 #[serde(rename = "DENY_MEMORY_LIMIT")]
2411 DenyMemoryLimit,
2412 #[serde(rename = "DENY_POLICY_VIOLATION")]
2413 DenyPolicyViolation,
2414 #[serde(rename = "DENY_TRUST_KEY_REVOKED")]
2415 DenyTrustKeyRevoked,
2416 #[serde(rename = "DENY_IDEMPOTENCY_DUPLICATE")]
2417 DenyIdempotencyDuplicate,
2418 #[serde(rename = "ERROR_INTERNAL")]
2419 ErrorInternal,
2420}
2421
2422impl Default for HelmErrorErrorReasonCode {
2423 fn default() -> HelmErrorErrorReasonCode {
2424 Self::DenyToolNotFound
2425 }
2426}
2427
2428#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2440pub struct ListConsoleSurfaces200Response {
2441 #[serde(rename = "surfaces", skip_serializing_if = "Option::is_none")]
2442 pub surfaces: Option<Vec<ConsoleSurfaceRef>>,
2443}
2444
2445impl ListConsoleSurfaces200Response {
2446 pub fn new() -> ListConsoleSurfaces200Response {
2447 ListConsoleSurfaces200Response {
2448 surfaces: None,
2449 }
2450 }
2451}
2452
2453#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2465pub struct McpAuthorizationProfile {
2466 #[serde(rename = "profile_id", skip_serializing_if = "Option::is_none")]
2467 pub profile_id: Option<String>,
2468 #[serde(rename = "protocol_version", skip_serializing_if = "Option::is_none")]
2469 pub protocol_version: Option<String>,
2470 #[serde(rename = "resource", skip_serializing_if = "Option::is_none")]
2471 pub resource: Option<String>,
2472 #[serde(rename = "authorization_servers", skip_serializing_if = "Option::is_none")]
2473 pub authorization_servers: Option<Vec<String>>,
2474 #[serde(rename = "scopes_supported", skip_serializing_if = "Option::is_none")]
2475 pub scopes_supported: Option<Vec<String>>,
2476 #[serde(rename = "tool_scopes", skip_serializing_if = "Option::is_none")]
2477 pub tool_scopes: Option<std::collections::HashMap<String, serde_json::Value>>,
2478 #[serde(rename = "required_audience", skip_serializing_if = "Option::is_none")]
2479 pub required_audience: Option<String>,
2480 #[serde(rename = "stale_after", skip_serializing_if = "Option::is_none")]
2481 pub stale_after: Option<String>,
2482 #[serde(rename = "profile_hash", skip_serializing_if = "Option::is_none")]
2483 pub profile_hash: Option<String>,
2484}
2485
2486impl McpAuthorizationProfile {
2487 pub fn new() -> McpAuthorizationProfile {
2488 McpAuthorizationProfile {
2489 profile_id: None,
2490 protocol_version: None,
2491 resource: None,
2492 authorization_servers: None,
2493 scopes_supported: None,
2494 tool_scopes: None,
2495 required_audience: None,
2496 stale_after: None,
2497 profile_hash: None,
2498 }
2499 }
2500}
2501
2502#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2514pub struct McpAuthorizeCallRequest {
2515 #[serde(rename = "server_id")]
2516 pub server_id: String,
2517 #[serde(rename = "tool_name")]
2518 pub tool_name: String,
2519 #[serde(rename = "args_hash", skip_serializing_if = "Option::is_none")]
2520 pub args_hash: Option<String>,
2521 #[serde(rename = "granted_scopes", skip_serializing_if = "Option::is_none")]
2522 pub granted_scopes: Option<Vec<String>>,
2523 #[serde(rename = "pinned_schema_hash", skip_serializing_if = "Option::is_none")]
2524 pub pinned_schema_hash: Option<String>,
2525 #[serde(rename = "tool_schema", skip_serializing_if = "Option::is_none")]
2526 pub tool_schema: Option<std::collections::HashMap<String, serde_json::Value>>,
2527 #[serde(rename = "output_schema", skip_serializing_if = "Option::is_none")]
2528 pub output_schema: Option<std::collections::HashMap<String, serde_json::Value>>,
2529 #[serde(rename = "oauth_resource", skip_serializing_if = "Option::is_none")]
2530 pub oauth_resource: Option<String>,
2531 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
2532 pub receipt_id: Option<String>,
2533}
2534
2535impl McpAuthorizeCallRequest {
2536 pub fn new(server_id: String, tool_name: String) -> McpAuthorizeCallRequest {
2537 McpAuthorizeCallRequest {
2538 server_id,
2539 tool_name,
2540 args_hash: None,
2541 granted_scopes: None,
2542 pinned_schema_hash: None,
2543 tool_schema: None,
2544 output_schema: None,
2545 oauth_resource: None,
2546 receipt_id: None,
2547 }
2548 }
2549}
2550
2551#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2563pub struct McpCapabilityManifest {
2564 #[serde(rename = "server_name", skip_serializing_if = "Option::is_none")]
2565 pub server_name: Option<String>,
2566 #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
2567 pub version: Option<String>,
2568 #[serde(rename = "governance", skip_serializing_if = "Option::is_none")]
2569 pub governance: Option<String>,
2570 #[serde(rename = "tools", skip_serializing_if = "Option::is_none")]
2571 pub tools: Option<Vec<McpToolRef>>,
2572}
2573
2574impl McpCapabilityManifest {
2575 pub fn new() -> McpCapabilityManifest {
2576 McpCapabilityManifest {
2577 server_name: None,
2578 version: None,
2579 governance: None,
2580 tools: None,
2581 }
2582 }
2583}
2584
2585#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2597pub struct McpProtectedResourceMetadata {
2598 #[serde(rename = "resource", skip_serializing_if = "Option::is_none")]
2599 pub resource: Option<String>,
2600 #[serde(rename = "authorization_servers", skip_serializing_if = "Option::is_none")]
2601 pub authorization_servers: Option<Vec<String>>,
2602 #[serde(rename = "scopes_supported", skip_serializing_if = "Option::is_none")]
2603 pub scopes_supported: Option<Vec<String>>,
2604 #[serde(rename = "bearer_methods_supported", skip_serializing_if = "Option::is_none")]
2605 pub bearer_methods_supported: Option<Vec<String>>,
2606 #[serde(rename = "resource_documentation", skip_serializing_if = "Option::is_none")]
2607 pub resource_documentation: Option<String>,
2608}
2609
2610impl McpProtectedResourceMetadata {
2611 pub fn new() -> McpProtectedResourceMetadata {
2612 McpProtectedResourceMetadata {
2613 resource: None,
2614 authorization_servers: None,
2615 scopes_supported: None,
2616 bearer_methods_supported: None,
2617 resource_documentation: None,
2618 }
2619 }
2620}
2621
2622#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2634pub struct McpQuarantineRecord {
2635 #[serde(rename = "server_id")]
2636 pub server_id: String,
2637 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
2638 pub name: Option<String>,
2639 #[serde(rename = "transport", skip_serializing_if = "Option::is_none")]
2640 pub transport: Option<String>,
2641 #[serde(rename = "endpoint", skip_serializing_if = "Option::is_none")]
2642 pub endpoint: Option<String>,
2643 #[serde(rename = "tool_names", skip_serializing_if = "Option::is_none")]
2644 pub tool_names: Option<Vec<String>>,
2645 #[serde(rename = "risk")]
2646 pub risk: McpQuarantineRecordRisk,
2647 #[serde(rename = "state")]
2648 pub state: McpQuarantineRecordState,
2649 #[serde(rename = "discovered_at")]
2650 pub discovered_at: String,
2651 #[serde(rename = "approved_at", skip_serializing_if = "Option::is_none")]
2652 pub approved_at: Option<String>,
2653 #[serde(rename = "approved_by", skip_serializing_if = "Option::is_none")]
2654 pub approved_by: Option<String>,
2655 #[serde(rename = "approval_receipt_id", skip_serializing_if = "Option::is_none")]
2656 pub approval_receipt_id: Option<String>,
2657 #[serde(rename = "revoked_at", skip_serializing_if = "Option::is_none")]
2658 pub revoked_at: Option<String>,
2659 #[serde(rename = "expires_at", skip_serializing_if = "Option::is_none")]
2660 pub expires_at: Option<String>,
2661 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
2662 pub reason: Option<String>,
2663}
2664
2665impl McpQuarantineRecord {
2666 pub fn new(server_id: String, risk: McpQuarantineRecordRisk, state: McpQuarantineRecordState, discovered_at: String) -> McpQuarantineRecord {
2667 McpQuarantineRecord {
2668 server_id,
2669 name: None,
2670 transport: None,
2671 endpoint: None,
2672 tool_names: None,
2673 risk,
2674 state,
2675 discovered_at,
2676 approved_at: None,
2677 approved_by: None,
2678 approval_receipt_id: None,
2679 revoked_at: None,
2680 expires_at: None,
2681 reason: None,
2682 }
2683 }
2684}
2685#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2687pub enum McpQuarantineRecordRisk {
2688 #[serde(rename = "unknown")]
2689 Unknown,
2690 #[serde(rename = "low")]
2691 Low,
2692 #[serde(rename = "medium")]
2693 Medium,
2694 #[serde(rename = "high")]
2695 High,
2696 #[serde(rename = "critical")]
2697 Critical,
2698}
2699
2700impl Default for McpQuarantineRecordRisk {
2701 fn default() -> McpQuarantineRecordRisk {
2702 Self::Unknown
2703 }
2704}
2705#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2707pub enum McpQuarantineRecordState {
2708 #[serde(rename = "discovered")]
2709 Discovered,
2710 #[serde(rename = "quarantined")]
2711 Quarantined,
2712 #[serde(rename = "approved")]
2713 Approved,
2714 #[serde(rename = "revoked")]
2715 Revoked,
2716 #[serde(rename = "expired")]
2717 Expired,
2718}
2719
2720impl Default for McpQuarantineRecordState {
2721 fn default() -> McpQuarantineRecordState {
2722 Self::Discovered
2723 }
2724}
2725
2726#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2738pub struct McpRegistryApprovalRequest {
2739 #[serde(rename = "server_id")]
2740 pub server_id: String,
2741 #[serde(rename = "approver_id")]
2742 pub approver_id: String,
2743 #[serde(rename = "approval_receipt_id")]
2744 pub approval_receipt_id: String,
2745 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
2746 pub reason: Option<String>,
2747}
2748
2749impl McpRegistryApprovalRequest {
2750 pub fn new(server_id: String, approver_id: String, approval_receipt_id: String) -> McpRegistryApprovalRequest {
2751 McpRegistryApprovalRequest {
2752 server_id,
2753 approver_id,
2754 approval_receipt_id,
2755 reason: None,
2756 }
2757 }
2758}
2759
2760#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2772pub struct McpRegistryDiscoverRequest {
2773 #[serde(rename = "server_id")]
2774 pub server_id: String,
2775 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
2776 pub name: Option<String>,
2777 #[serde(rename = "transport", skip_serializing_if = "Option::is_none")]
2778 pub transport: Option<String>,
2779 #[serde(rename = "endpoint", skip_serializing_if = "Option::is_none")]
2780 pub endpoint: Option<String>,
2781 #[serde(rename = "tool_names", skip_serializing_if = "Option::is_none")]
2782 pub tool_names: Option<Vec<String>>,
2783 #[serde(rename = "risk", skip_serializing_if = "Option::is_none")]
2784 pub risk: Option<McpRegistryDiscoverRequestRisk>,
2785 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
2786 pub reason: Option<String>,
2787}
2788
2789impl McpRegistryDiscoverRequest {
2790 pub fn new(server_id: String) -> McpRegistryDiscoverRequest {
2791 McpRegistryDiscoverRequest {
2792 server_id,
2793 name: None,
2794 transport: None,
2795 endpoint: None,
2796 tool_names: None,
2797 risk: None,
2798 reason: None,
2799 }
2800 }
2801}
2802#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2804pub enum McpRegistryDiscoverRequestRisk {
2805 #[serde(rename = "unknown")]
2806 Unknown,
2807 #[serde(rename = "low")]
2808 Low,
2809 #[serde(rename = "medium")]
2810 Medium,
2811 #[serde(rename = "high")]
2812 High,
2813 #[serde(rename = "critical")]
2814 Critical,
2815}
2816
2817impl Default for McpRegistryDiscoverRequestRisk {
2818 fn default() -> McpRegistryDiscoverRequestRisk {
2819 Self::Unknown
2820 }
2821}
2822
2823#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2835pub struct McpRemoteDiscovery {
2836 #[serde(rename = "server_name", skip_serializing_if = "Option::is_none")]
2837 pub server_name: Option<String>,
2838 #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
2839 pub version: Option<String>,
2840 #[serde(rename = "capabilities_url", skip_serializing_if = "Option::is_none")]
2841 pub capabilities_url: Option<String>,
2842 #[serde(rename = "execute_url", skip_serializing_if = "Option::is_none")]
2843 pub execute_url: Option<String>,
2844 #[serde(rename = "mcp_endpoint", skip_serializing_if = "Option::is_none")]
2845 pub mcp_endpoint: Option<String>,
2846 #[serde(rename = "supported_protocol_versions", skip_serializing_if = "Option::is_none")]
2847 pub supported_protocol_versions: Option<Vec<String>>,
2848 #[serde(rename = "auth_mode", skip_serializing_if = "Option::is_none")]
2849 pub auth_mode: Option<String>,
2850 #[serde(rename = "governance", skip_serializing_if = "Option::is_none")]
2851 pub governance: Option<String>,
2852}
2853
2854impl McpRemoteDiscovery {
2855 pub fn new() -> McpRemoteDiscovery {
2856 McpRemoteDiscovery {
2857 server_name: None,
2858 version: None,
2859 capabilities_url: None,
2860 execute_url: None,
2861 mcp_endpoint: None,
2862 supported_protocol_versions: None,
2863 auth_mode: None,
2864 governance: None,
2865 }
2866 }
2867}
2868
2869#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2881pub struct McpScanRequest {
2882 #[serde(rename = "server_id")]
2883 pub server_id: String,
2884 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
2885 pub name: Option<String>,
2886 #[serde(rename = "transport", skip_serializing_if = "Option::is_none")]
2887 pub transport: Option<String>,
2888 #[serde(rename = "endpoint", skip_serializing_if = "Option::is_none")]
2889 pub endpoint: Option<String>,
2890 #[serde(rename = "tool_names", skip_serializing_if = "Option::is_none")]
2891 pub tool_names: Option<Vec<String>>,
2892 #[serde(rename = "manifest", skip_serializing_if = "Option::is_none")]
2893 pub manifest: Option<std::collections::HashMap<String, serde_json::Value>>,
2894}
2895
2896impl McpScanRequest {
2897 pub fn new(server_id: String) -> McpScanRequest {
2898 McpScanRequest {
2899 server_id,
2900 name: None,
2901 transport: None,
2902 endpoint: None,
2903 tool_names: None,
2904 manifest: None,
2905 }
2906 }
2907}
2908
2909#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2921pub struct McpScanResult {
2922 #[serde(rename = "server_id", skip_serializing_if = "Option::is_none")]
2923 pub server_id: Option<String>,
2924 #[serde(rename = "risk", skip_serializing_if = "Option::is_none")]
2925 pub risk: Option<String>,
2926 #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
2927 pub state: Option<String>,
2928 #[serde(rename = "tool_count", skip_serializing_if = "Option::is_none")]
2929 pub tool_count: Option<i32>,
2930 #[serde(rename = "findings", skip_serializing_if = "Option::is_none")]
2931 pub findings: Option<Vec<String>>,
2932 #[serde(rename = "recommended_action", skip_serializing_if = "Option::is_none")]
2933 pub recommended_action: Option<String>,
2934 #[serde(rename = "quarantine_record_id", skip_serializing_if = "Option::is_none")]
2935 pub quarantine_record_id: Option<String>,
2936 #[serde(rename = "requires_approval", skip_serializing_if = "Option::is_none")]
2937 pub requires_approval: Option<bool>,
2938 #[serde(rename = "schema_pin_required", skip_serializing_if = "Option::is_none")]
2939 pub schema_pin_required: Option<bool>,
2940 #[serde(rename = "authorization_needed", skip_serializing_if = "Option::is_none")]
2941 pub authorization_needed: Option<bool>,
2942 #[serde(rename = "scanned_at", skip_serializing_if = "Option::is_none")]
2943 pub scanned_at: Option<String>,
2944}
2945
2946impl McpScanResult {
2947 pub fn new() -> McpScanResult {
2948 McpScanResult {
2949 server_id: None,
2950 risk: None,
2951 state: None,
2952 tool_count: None,
2953 findings: None,
2954 recommended_action: None,
2955 quarantine_record_id: None,
2956 requires_approval: None,
2957 schema_pin_required: None,
2958 authorization_needed: None,
2959 scanned_at: None,
2960 }
2961 }
2962}
2963
2964#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2976pub struct McpToolCallRequest {
2977 #[serde(rename = "method")]
2978 pub method: String,
2979 #[serde(rename = "params", skip_serializing_if = "Option::is_none")]
2980 pub params: Option<std::collections::HashMap<String, serde_json::Value>>,
2981}
2982
2983impl McpToolCallRequest {
2984 pub fn new(method: String) -> McpToolCallRequest {
2985 McpToolCallRequest {
2986 method,
2987 params: None,
2988 }
2989 }
2990}
2991
2992#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3004pub struct McpToolCallResponse {
3005 #[serde(rename = "result", skip_serializing_if = "Option::is_none")]
3006 pub result: Option<Box<McpToolCallResponseResult>>,
3007 #[serde(rename = "error", skip_serializing_if = "Option::is_none")]
3008 pub error: Option<String>,
3009 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
3010 pub reason_code: Option<String>,
3011 #[serde(rename = "args_hash", skip_serializing_if = "Option::is_none")]
3012 pub args_hash: Option<String>,
3013 #[serde(rename = "proofgraph_node", skip_serializing_if = "Option::is_none")]
3014 pub proofgraph_node: Option<String>,
3015 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
3016 pub receipt_id: Option<String>,
3017}
3018
3019impl McpToolCallResponse {
3020 pub fn new() -> McpToolCallResponse {
3021 McpToolCallResponse {
3022 result: None,
3023 error: None,
3024 reason_code: None,
3025 args_hash: None,
3026 proofgraph_node: None,
3027 receipt_id: None,
3028 }
3029 }
3030}
3031
3032#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
3046#[serde(untagged)]
3047pub enum McpToolCallResponseResult {
3048 String(String),
3049 Object(std::collections::HashMap<String, serde_json::Value>),
3050}
3051
3052impl Default for McpToolCallResponseResult {
3053 fn default() -> Self {
3054 Self::String(Default::default())
3055 }
3056}
3057
3058#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3070pub struct McpToolRef {
3071 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
3072 pub name: Option<String>,
3073 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
3074 pub description: Option<String>,
3075 #[serde(rename = "server_id", skip_serializing_if = "Option::is_none")]
3076 pub server_id: Option<String>,
3077 #[serde(rename = "schema", skip_serializing_if = "Option::is_none")]
3078 pub schema: Option<std::collections::HashMap<String, serde_json::Value>>,
3079}
3080
3081impl McpToolRef {
3082 pub fn new() -> McpToolRef {
3083 McpToolRef {
3084 name: None,
3085 description: None,
3086 server_id: None,
3087 schema: None,
3088 }
3089 }
3090}
3091
3092#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3104pub struct McpjsonrpcError {
3105 #[serde(rename = "code", skip_serializing_if = "Option::is_none")]
3106 pub code: Option<i32>,
3107 #[serde(rename = "message", skip_serializing_if = "Option::is_none")]
3108 pub message: Option<String>,
3109}
3110
3111impl McpjsonrpcError {
3112 pub fn new() -> McpjsonrpcError {
3113 McpjsonrpcError {
3114 code: None,
3115 message: None,
3116 }
3117 }
3118}
3119
3120#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3132pub struct McpjsonrpcRequest {
3133 #[serde(rename = "jsonrpc")]
3134 pub jsonrpc: McpjsonrpcRequestJsonrpc,
3135 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
3136 pub id: Option<Box<McpjsonrpcRequestId>>,
3137 #[serde(rename = "method")]
3138 pub method: String,
3139 #[serde(rename = "params", skip_serializing_if = "Option::is_none")]
3140 pub params: Option<std::collections::HashMap<String, serde_json::Value>>,
3141}
3142
3143impl McpjsonrpcRequest {
3144 pub fn new(jsonrpc: McpjsonrpcRequestJsonrpc, method: String) -> McpjsonrpcRequest {
3145 McpjsonrpcRequest {
3146 jsonrpc,
3147 id: None,
3148 method,
3149 params: None,
3150 }
3151 }
3152}
3153#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3155pub enum McpjsonrpcRequestJsonrpc {
3156 #[serde(rename = "2.0")]
3157 Variant2Period0,
3158}
3159
3160impl Default for McpjsonrpcRequestJsonrpc {
3161 fn default() -> McpjsonrpcRequestJsonrpc {
3162 Self::Variant2Period0
3163 }
3164}
3165
3166#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
3180#[serde(untagged)]
3181pub enum McpjsonrpcRequestId {
3182 String(String),
3183 Integer(i32),
3184}
3185
3186impl Default for McpjsonrpcRequestId {
3187 fn default() -> Self {
3188 Self::String(Default::default())
3189 }
3190}
3191
3192#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3204pub struct McpjsonrpcResponse {
3205 #[serde(rename = "jsonrpc", skip_serializing_if = "Option::is_none")]
3206 pub jsonrpc: Option<McpjsonrpcResponseJsonrpc>,
3207 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
3208 pub id: Option<Box<McpjsonrpcResponseId>>,
3209 #[serde(rename = "result", skip_serializing_if = "Option::is_none")]
3210 pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
3211 #[serde(rename = "error", skip_serializing_if = "Option::is_none")]
3212 pub error: Option<Box<McpjsonrpcError>>,
3213}
3214
3215impl McpjsonrpcResponse {
3216 pub fn new() -> McpjsonrpcResponse {
3217 McpjsonrpcResponse {
3218 jsonrpc: None,
3219 id: None,
3220 result: None,
3221 error: None,
3222 }
3223 }
3224}
3225#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3227pub enum McpjsonrpcResponseJsonrpc {
3228 #[serde(rename = "2.0")]
3229 Variant2Period0,
3230}
3231
3232impl Default for McpjsonrpcResponseJsonrpc {
3233 fn default() -> McpjsonrpcResponseJsonrpc {
3234 Self::Variant2Period0
3235 }
3236}
3237
3238#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
3250#[serde(untagged)]
3251pub enum McpjsonrpcResponseId {
3252 String(String),
3253 Integer(i32),
3254}
3255
3256impl Default for McpjsonrpcResponseId {
3257 fn default() -> Self {
3258 Self::String(Default::default())
3259 }
3260}
3261
3262#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3274pub struct NegativeBoundaryVector {
3275 #[serde(rename = "id")]
3276 pub id: String,
3277 #[serde(rename = "category")]
3278 pub category: String,
3279 #[serde(rename = "trigger")]
3280 pub trigger: String,
3281 #[serde(rename = "expected_verdict")]
3282 pub expected_verdict: NegativeBoundaryVectorExpectedVerdict,
3283 #[serde(rename = "expected_reason_code")]
3284 pub expected_reason_code: String,
3285 #[serde(rename = "must_emit_receipt")]
3286 pub must_emit_receipt: bool,
3287 #[serde(rename = "must_not_dispatch")]
3288 pub must_not_dispatch: bool,
3289 #[serde(rename = "must_bind_evidence", skip_serializing_if = "Option::is_none")]
3290 pub must_bind_evidence: Option<Vec<String>>,
3291}
3292
3293impl NegativeBoundaryVector {
3294 pub fn new(id: String, category: String, trigger: String, expected_verdict: NegativeBoundaryVectorExpectedVerdict, expected_reason_code: String, must_emit_receipt: bool, must_not_dispatch: bool) -> NegativeBoundaryVector {
3295 NegativeBoundaryVector {
3296 id,
3297 category,
3298 trigger,
3299 expected_verdict,
3300 expected_reason_code,
3301 must_emit_receipt,
3302 must_not_dispatch,
3303 must_bind_evidence: None,
3304 }
3305 }
3306}
3307#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3309pub enum NegativeBoundaryVectorExpectedVerdict {
3310 #[serde(rename = "ALLOW")]
3311 Allow,
3312 #[serde(rename = "DENY")]
3313 Deny,
3314 #[serde(rename = "ESCALATE")]
3315 Escalate,
3316}
3317
3318impl Default for NegativeBoundaryVectorExpectedVerdict {
3319 fn default() -> NegativeBoundaryVectorExpectedVerdict {
3320 Self::Allow
3321 }
3322}
3323
3324#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3336pub struct NetworkGrant {
3337 #[serde(rename = "mode")]
3338 pub mode: NetworkGrantMode,
3339 #[serde(rename = "destinations", skip_serializing_if = "Option::is_none")]
3340 pub destinations: Option<Vec<String>>,
3341 #[serde(rename = "cidrs", skip_serializing_if = "Option::is_none")]
3342 pub cidrs: Option<Vec<String>>,
3343}
3344
3345impl NetworkGrant {
3346 pub fn new(mode: NetworkGrantMode) -> NetworkGrant {
3347 NetworkGrant {
3348 mode,
3349 destinations: None,
3350 cidrs: None,
3351 }
3352 }
3353}
3354#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3356pub enum NetworkGrantMode {
3357 #[serde(rename = "deny-all")]
3358 DenyAll,
3359 #[serde(rename = "allowlist")]
3360 Allowlist,
3361}
3362
3363impl Default for NetworkGrantMode {
3364 fn default() -> NetworkGrantMode {
3365 Self::DenyAll
3366 }
3367}
3368
3369#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3382pub struct PdpRequest {
3383 #[serde(rename = "boundary")]
3384 pub boundary: Box<EffectBoundary>,
3385}
3386
3387impl PdpRequest {
3388 pub fn new(boundary: EffectBoundary) -> PdpRequest {
3390 PdpRequest {
3391 boundary: Box::new(boundary),
3392 }
3393 }
3394}
3395
3396#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3409pub struct PdpResponse {
3410 #[serde(rename = "decision")]
3411 pub decision: Box<GovernanceDecision>,
3412}
3413
3414impl PdpResponse {
3415 pub fn new(decision: GovernanceDecision) -> PdpResponse {
3417 PdpResponse {
3418 decision: Box::new(decision),
3419 }
3420 }
3421}
3422
3423#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3436pub struct PolicyBundle {
3437 #[serde(rename = "name")]
3438 pub name: String,
3439 #[serde(rename = "version")]
3440 pub version: String,
3441 #[serde(rename = "content_hash")]
3443 pub content_hash: String,
3444 #[serde(rename = "signature", default, skip_serializing_if = "Option::is_none")]
3446 pub signature: Option<Option<String>>,
3447 #[serde(rename = "pack_type", skip_serializing_if = "Option::is_none")]
3448 pub pack_type: Option<PolicyBundlePackType>,
3449}
3450
3451impl PolicyBundle {
3452 pub fn new(name: String, version: String, content_hash: String) -> PolicyBundle {
3454 PolicyBundle {
3455 name,
3456 version,
3457 content_hash,
3458 signature: None,
3459 pack_type: None,
3460 }
3461 }
3462}
3463#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3465pub enum PolicyBundlePackType {
3466 #[serde(rename = "jurisdiction")]
3467 Jurisdiction,
3468 #[serde(rename = "industry")]
3469 Industry,
3470 #[serde(rename = "business")]
3471 Business,
3472 #[serde(rename = "custom")]
3473 Custom,
3474}
3475
3476impl Default for PolicyBundlePackType {
3477 fn default() -> PolicyBundlePackType {
3478 Self::Jurisdiction
3479 }
3480}
3481
3482#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3494pub struct Receipt {
3495 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
3496 pub receipt_id: Option<String>,
3497 #[serde(rename = "decision_id", skip_serializing_if = "Option::is_none")]
3498 pub decision_id: Option<String>,
3499 #[serde(rename = "effect_id", skip_serializing_if = "Option::is_none")]
3500 pub effect_id: Option<String>,
3501 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
3502 pub status: Option<String>,
3503 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
3504 pub reason_code: Option<String>,
3505 #[serde(rename = "output_hash", skip_serializing_if = "Option::is_none")]
3506 pub output_hash: Option<String>,
3507 #[serde(rename = "blob_hash", skip_serializing_if = "Option::is_none")]
3508 pub blob_hash: Option<String>,
3509 #[serde(rename = "prev_hash", skip_serializing_if = "Option::is_none")]
3510 pub prev_hash: Option<String>,
3511 #[serde(rename = "lamport_clock", skip_serializing_if = "Option::is_none")]
3512 pub lamport_clock: Option<i32>,
3513 #[serde(rename = "signature", skip_serializing_if = "Option::is_none")]
3514 pub signature: Option<String>,
3515 #[serde(rename = "timestamp", skip_serializing_if = "Option::is_none")]
3516 pub timestamp: Option<String>,
3517 #[serde(rename = "principal", skip_serializing_if = "Option::is_none")]
3518 pub principal: Option<String>,
3519 #[serde(rename = "executor_id", skip_serializing_if = "Option::is_none")]
3520 pub executor_id: Option<String>,
3521 #[serde(rename = "args_hash", skip_serializing_if = "Option::is_none")]
3522 pub args_hash: Option<String>,
3523 #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
3524 pub metadata: Option<std::collections::HashMap<String, serde_json::Value>>,
3525}
3526
3527impl Receipt {
3528 pub fn new() -> Receipt {
3529 Receipt {
3530 receipt_id: None,
3531 decision_id: None,
3532 effect_id: None,
3533 status: None,
3534 reason_code: None,
3535 output_hash: None,
3536 blob_hash: None,
3537 prev_hash: None,
3538 lamport_clock: None,
3539 signature: None,
3540 timestamp: None,
3541 principal: None,
3542 executor_id: None,
3543 args_hash: None,
3544 metadata: None,
3545 }
3546 }
3547}
3548
3549#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3561pub struct ReceiptListResponse {
3562 #[serde(rename = "receipts", skip_serializing_if = "Option::is_none")]
3563 pub receipts: Option<Vec<Receipt>>,
3564 #[serde(rename = "count", skip_serializing_if = "Option::is_none")]
3565 pub count: Option<i32>,
3566 #[serde(rename = "next_cursor", skip_serializing_if = "Option::is_none")]
3567 pub next_cursor: Option<String>,
3568 #[serde(rename = "has_more", skip_serializing_if = "Option::is_none")]
3569 pub has_more: Option<bool>,
3570}
3571
3572impl ReceiptListResponse {
3573 pub fn new() -> ReceiptListResponse {
3574 ReceiptListResponse {
3575 receipts: None,
3576 count: None,
3577 next_cursor: None,
3578 has_more: None,
3579 }
3580 }
3581}
3582
3583#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3595pub struct RevokeMcpRegistryRecordRequest {
3596 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
3597 pub reason: Option<String>,
3598}
3599
3600impl RevokeMcpRegistryRecordRequest {
3601 pub fn new() -> RevokeMcpRegistryRecordRequest {
3602 RevokeMcpRegistryRecordRequest {
3603 reason: None,
3604 }
3605 }
3606}
3607
3608#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3620pub struct RevokeTrustKeyRequest {
3621 #[serde(rename = "tenant_id")]
3622 pub tenant_id: String,
3623 #[serde(rename = "key_id")]
3624 pub key_id: String,
3625}
3626
3627impl RevokeTrustKeyRequest {
3628 pub fn new(tenant_id: String, key_id: String) -> RevokeTrustKeyRequest {
3629 RevokeTrustKeyRequest {
3630 tenant_id,
3631 key_id,
3632 }
3633 }
3634}
3635
3636#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3648pub struct RunAgentUiRuntimeRequest {
3649 #[serde(rename = "threadId", skip_serializing_if = "Option::is_none")]
3650 pub thread_id: Option<String>,
3651 #[serde(rename = "runId", skip_serializing_if = "Option::is_none")]
3652 pub run_id: Option<String>,
3653 #[serde(rename = "workspaceId", skip_serializing_if = "Option::is_none")]
3654 pub workspace_id: Option<String>,
3655 #[serde(rename = "currentSurface", skip_serializing_if = "Option::is_none")]
3656 pub current_surface: Option<String>,
3657 #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
3658 pub state: Option<std::collections::HashMap<String, serde_json::Value>>,
3659 #[serde(rename = "messages", default, skip_serializing_if = "Option::is_none")]
3660 pub messages: Option<Option<serde_json::Value>>,
3661}
3662
3663impl RunAgentUiRuntimeRequest {
3664 pub fn new() -> RunAgentUiRuntimeRequest {
3665 RunAgentUiRuntimeRequest {
3666 thread_id: None,
3667 run_id: None,
3668 workspace_id: None,
3669 current_surface: None,
3670 state: None,
3671 messages: None,
3672 }
3673 }
3674}
3675
3676#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3688pub struct RunPublicDemo200Response {
3689 #[serde(rename = "verdict")]
3690 pub verdict: RunPublicDemo200ResponseVerdict,
3691 #[serde(rename = "reason_code")]
3692 pub reason_code: String,
3693 #[serde(rename = "receipt")]
3694 pub receipt: Box<Receipt>,
3695 #[serde(rename = "proof_refs")]
3696 pub proof_refs: Box<RunPublicDemo200ResponseProofRefs>,
3697 #[serde(rename = "verification_hint")]
3698 pub verification_hint: String,
3699 #[serde(rename = "sandbox_label")]
3700 pub sandbox_label: String,
3701 #[serde(rename = "helm_ai_kernel_version")]
3702 pub helm_ai_kernel_version: String,
3703}
3704
3705impl RunPublicDemo200Response {
3706 pub fn new(verdict: RunPublicDemo200ResponseVerdict, reason_code: String, receipt: Receipt, proof_refs: RunPublicDemo200ResponseProofRefs, verification_hint: String, sandbox_label: String, helm_ai_kernel_version: String) -> RunPublicDemo200Response {
3707 RunPublicDemo200Response {
3708 verdict,
3709 reason_code,
3710 receipt: Box::new(receipt),
3711 proof_refs: Box::new(proof_refs),
3712 verification_hint,
3713 sandbox_label,
3714 helm_ai_kernel_version,
3715 }
3716 }
3717}
3718#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3720pub enum RunPublicDemo200ResponseVerdict {
3721 #[serde(rename = "ALLOW")]
3722 Allow,
3723 #[serde(rename = "DENY")]
3724 Deny,
3725 #[serde(rename = "ESCALATE")]
3726 Escalate,
3727}
3728
3729impl Default for RunPublicDemo200ResponseVerdict {
3730 fn default() -> RunPublicDemo200ResponseVerdict {
3731 Self::Allow
3732 }
3733}
3734
3735#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3747pub struct RunPublicDemo200ResponseProofRefs {
3748 #[serde(rename = "decision_id")]
3749 pub decision_id: String,
3750 #[serde(rename = "receipt_id")]
3751 pub receipt_id: String,
3752 #[serde(rename = "receipt_hash")]
3753 pub receipt_hash: String,
3754}
3755
3756impl RunPublicDemo200ResponseProofRefs {
3757 pub fn new(decision_id: String, receipt_id: String, receipt_hash: String) -> RunPublicDemo200ResponseProofRefs {
3758 RunPublicDemo200ResponseProofRefs {
3759 decision_id,
3760 receipt_id,
3761 receipt_hash,
3762 }
3763 }
3764}
3765
3766#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3778pub struct RunPublicDemoRequest {
3779 #[serde(rename = "action_id")]
3780 pub action_id: RunPublicDemoRequestActionId,
3781 #[serde(rename = "policy_id", skip_serializing_if = "Option::is_none")]
3782 pub policy_id: Option<String>,
3783 #[serde(rename = "args", skip_serializing_if = "Option::is_none")]
3784 pub args: Option<std::collections::HashMap<String, serde_json::Value>>,
3785}
3786
3787impl RunPublicDemoRequest {
3788 pub fn new(action_id: RunPublicDemoRequestActionId) -> RunPublicDemoRequest {
3789 RunPublicDemoRequest {
3790 action_id,
3791 policy_id: None,
3792 args: None,
3793 }
3794 }
3795}
3796#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3798pub enum RunPublicDemoRequestActionId {
3799 #[serde(rename = "read_ticket")]
3800 ReadTicket,
3801 #[serde(rename = "draft_reply")]
3802 DraftReply,
3803 #[serde(rename = "small_refund")]
3804 SmallRefund,
3805 #[serde(rename = "large_refund")]
3806 LargeRefund,
3807 #[serde(rename = "dangerous_shell")]
3808 DangerousShell,
3809 #[serde(rename = "export_customer_list")]
3810 ExportCustomerList,
3811 #[serde(rename = "modify_policy")]
3812 ModifyPolicy,
3813}
3814
3815impl Default for RunPublicDemoRequestActionId {
3816 fn default() -> RunPublicDemoRequestActionId {
3817 Self::ReadTicket
3818 }
3819}
3820
3821#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3833pub struct SandboxBackendProfile {
3834 #[serde(rename = "name")]
3835 pub name: String,
3836 #[serde(rename = "kind")]
3837 pub kind: SandboxBackendProfileKind,
3838 #[serde(rename = "runtime")]
3839 pub runtime: String,
3840 #[serde(rename = "hosted")]
3841 pub hosted: bool,
3842 #[serde(rename = "deny_network_by_default")]
3843 pub deny_network_by_default: bool,
3844 #[serde(rename = "native_isolation")]
3845 pub native_isolation: bool,
3846 #[serde(rename = "experimental", skip_serializing_if = "Option::is_none")]
3847 pub experimental: Option<bool>,
3848}
3849
3850impl SandboxBackendProfile {
3851 pub fn new(name: String, kind: SandboxBackendProfileKind, runtime: String, hosted: bool, deny_network_by_default: bool, native_isolation: bool) -> SandboxBackendProfile {
3852 SandboxBackendProfile {
3853 name,
3854 kind,
3855 runtime,
3856 hosted,
3857 deny_network_by_default,
3858 native_isolation,
3859 experimental: None,
3860 }
3861 }
3862}
3863#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3865pub enum SandboxBackendProfileKind {
3866 #[serde(rename = "wasi-wazero")]
3867 WasiWazero,
3868 #[serde(rename = "wasi-wasmtime")]
3869 WasiWasmtime,
3870 #[serde(rename = "native-nsjail")]
3871 NativeNsjail,
3872 #[serde(rename = "native-gvisor")]
3873 NativeGvisor,
3874 #[serde(rename = "native-firecracker")]
3875 NativeFirecracker,
3876 #[serde(rename = "hosted-adapter")]
3877 HostedAdapter,
3878}
3879
3880impl Default for SandboxBackendProfileKind {
3881 fn default() -> SandboxBackendProfileKind {
3882 Self::WasiWazero
3883 }
3884}
3885
3886#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3898pub struct SandboxGrant {
3899 #[serde(rename = "grant_id")]
3900 pub grant_id: String,
3901 #[serde(rename = "runtime")]
3902 pub runtime: String,
3903 #[serde(rename = "runtime_version", skip_serializing_if = "Option::is_none")]
3904 pub runtime_version: Option<String>,
3905 #[serde(rename = "profile")]
3906 pub profile: String,
3907 #[serde(rename = "image_digest", skip_serializing_if = "Option::is_none")]
3908 pub image_digest: Option<String>,
3909 #[serde(rename = "template_digest", skip_serializing_if = "Option::is_none")]
3910 pub template_digest: Option<String>,
3911 #[serde(rename = "filesystem_preopens", skip_serializing_if = "Option::is_none")]
3912 pub filesystem_preopens: Option<Vec<FilesystemPreopen>>,
3913 #[serde(rename = "env")]
3914 pub env: Box<EnvExposurePolicy>,
3915 #[serde(rename = "network")]
3916 pub network: Box<NetworkGrant>,
3917 #[serde(rename = "limits", skip_serializing_if = "Option::is_none")]
3918 pub limits: Option<Box<SandboxGrantLimits>>,
3919 #[serde(rename = "declared_at")]
3920 pub declared_at: String,
3921 #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
3922 pub policy_epoch: Option<String>,
3923 #[serde(rename = "grant_hash", skip_serializing_if = "Option::is_none")]
3924 pub grant_hash: Option<String>,
3925}
3926
3927impl SandboxGrant {
3928 pub fn new(grant_id: String, runtime: String, profile: String, env: EnvExposurePolicy, network: NetworkGrant, declared_at: String) -> SandboxGrant {
3929 SandboxGrant {
3930 grant_id,
3931 runtime,
3932 runtime_version: None,
3933 profile,
3934 image_digest: None,
3935 template_digest: None,
3936 filesystem_preopens: None,
3937 env: Box::new(env),
3938 network: Box::new(network),
3939 limits: None,
3940 declared_at,
3941 policy_epoch: None,
3942 grant_hash: None,
3943 }
3944 }
3945}
3946
3947#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
3959#[serde(untagged)]
3960pub enum SandboxGrantInspection {
3961 SandboxBackendProfileList(Vec<SandboxBackendProfile>),
3962 SandboxGrant(Box<SandboxGrant>),
3963}
3964
3965impl Default for SandboxGrantInspection {
3966 fn default() -> Self {
3967 Self::SandboxBackendProfileList(Default::default())
3968 }
3969}
3970
3971#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3983pub struct SandboxGrantLimits {
3984 #[serde(rename = "memory_bytes", skip_serializing_if = "Option::is_none")]
3985 pub memory_bytes: Option<i64>,
3986 #[serde(rename = "cpu_time", skip_serializing_if = "Option::is_none")]
3988 pub cpu_time: Option<i64>,
3989 #[serde(rename = "output_bytes", skip_serializing_if = "Option::is_none")]
3990 pub output_bytes: Option<i64>,
3991 #[serde(rename = "open_files", skip_serializing_if = "Option::is_none")]
3992 pub open_files: Option<i32>,
3993}
3994
3995impl SandboxGrantLimits {
3996 pub fn new() -> SandboxGrantLimits {
3997 SandboxGrantLimits {
3998 memory_bytes: None,
3999 cpu_time: None,
4000 output_bytes: None,
4001 open_files: None,
4002 }
4003 }
4004}
4005
4006#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4018pub struct SandboxPreflightRequest {
4019 #[serde(rename = "runtime", skip_serializing_if = "Option::is_none")]
4020 pub runtime: Option<String>,
4021 #[serde(rename = "profile", skip_serializing_if = "Option::is_none")]
4022 pub profile: Option<String>,
4023 #[serde(rename = "image_digest", skip_serializing_if = "Option::is_none")]
4024 pub image_digest: Option<String>,
4025 #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
4026 pub policy_epoch: Option<String>,
4027 #[serde(rename = "requested_grant", skip_serializing_if = "Option::is_none")]
4028 pub requested_grant: Option<Box<SandboxGrant>>,
4029 #[serde(rename = "expected_grant_hash", skip_serializing_if = "Option::is_none")]
4030 pub expected_grant_hash: Option<String>,
4031}
4032
4033impl SandboxPreflightRequest {
4034 pub fn new() -> SandboxPreflightRequest {
4035 SandboxPreflightRequest {
4036 runtime: None,
4037 profile: None,
4038 image_digest: None,
4039 policy_epoch: None,
4040 requested_grant: None,
4041 expected_grant_hash: None,
4042 }
4043 }
4044}
4045
4046#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4058pub struct SandboxPreflightResult {
4059 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
4060 pub verdict: Option<SandboxPreflightResultVerdict>,
4061 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
4062 pub reason_code: Option<String>,
4063 #[serde(rename = "grant_id", skip_serializing_if = "Option::is_none")]
4064 pub grant_id: Option<String>,
4065 #[serde(rename = "grant_hash", skip_serializing_if = "Option::is_none")]
4066 pub grant_hash: Option<String>,
4067 #[serde(rename = "dispatch_ready", skip_serializing_if = "Option::is_none")]
4068 pub dispatch_ready: Option<bool>,
4069 #[serde(rename = "findings", skip_serializing_if = "Option::is_none")]
4070 pub findings: Option<Vec<String>>,
4071 #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
4072 pub checked_at: Option<String>,
4073}
4074
4075impl SandboxPreflightResult {
4076 pub fn new() -> SandboxPreflightResult {
4077 SandboxPreflightResult {
4078 verdict: None,
4079 reason_code: None,
4080 grant_id: None,
4081 grant_hash: None,
4082 dispatch_ready: None,
4083 findings: None,
4084 checked_at: None,
4085 }
4086 }
4087}
4088#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
4090pub enum SandboxPreflightResultVerdict {
4091 #[serde(rename = "ALLOW")]
4092 Allow,
4093 #[serde(rename = "DENY")]
4094 Deny,
4095 #[serde(rename = "ESCALATE")]
4096 Escalate,
4097}
4098
4099impl Default for SandboxPreflightResultVerdict {
4100 fn default() -> SandboxPreflightResultVerdict {
4101 Self::Allow
4102 }
4103}
4104
4105#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4117pub struct Session {
4118 #[serde(rename = "session_id", skip_serializing_if = "Option::is_none")]
4119 pub session_id: Option<String>,
4120 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
4121 pub created_at: Option<String>,
4122 #[serde(rename = "receipt_count", skip_serializing_if = "Option::is_none")]
4123 pub receipt_count: Option<i32>,
4124 #[serde(rename = "last_lamport_clock", skip_serializing_if = "Option::is_none")]
4125 pub last_lamport_clock: Option<i32>,
4126}
4127
4128impl Session {
4129 pub fn new() -> Session {
4130 Session {
4131 session_id: None,
4132 created_at: None,
4133 receipt_count: None,
4134 last_lamport_clock: None,
4135 }
4136 }
4137}
4138
4139#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4151pub struct TamperPublicDemoReceipt200Response {
4152 #[serde(rename = "valid")]
4153 pub valid: bool,
4154 #[serde(rename = "signature_valid")]
4155 pub signature_valid: bool,
4156 #[serde(rename = "hash_matches")]
4157 pub hash_matches: bool,
4158 #[serde(rename = "reason")]
4159 pub reason: String,
4160 #[serde(rename = "receipt_hash")]
4161 pub receipt_hash: String,
4162 #[serde(rename = "expected_receipt_hash")]
4163 pub expected_receipt_hash: String,
4164 #[serde(rename = "original_hash")]
4165 pub original_hash: String,
4166 #[serde(rename = "tampered_hash")]
4167 pub tampered_hash: String,
4168}
4169
4170impl TamperPublicDemoReceipt200Response {
4171 pub fn new(valid: bool, signature_valid: bool, hash_matches: bool, reason: String, receipt_hash: String, expected_receipt_hash: String, original_hash: String, tampered_hash: String) -> TamperPublicDemoReceipt200Response {
4172 TamperPublicDemoReceipt200Response {
4173 valid,
4174 signature_valid,
4175 hash_matches,
4176 reason,
4177 receipt_hash,
4178 expected_receipt_hash,
4179 original_hash,
4180 tampered_hash,
4181 }
4182 }
4183}
4184
4185#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4197pub struct TamperPublicDemoReceiptRequest {
4198 #[serde(rename = "receipt")]
4199 pub receipt: Box<Receipt>,
4200 #[serde(rename = "expected_receipt_hash")]
4202 pub expected_receipt_hash: String,
4203 #[serde(rename = "mutation", skip_serializing_if = "Option::is_none")]
4204 pub mutation: Option<String>,
4205}
4206
4207impl TamperPublicDemoReceiptRequest {
4208 pub fn new(receipt: Receipt, expected_receipt_hash: String) -> TamperPublicDemoReceiptRequest {
4209 TamperPublicDemoReceiptRequest {
4210 receipt: Box::new(receipt),
4211 expected_receipt_hash,
4212 mutation: None,
4213 }
4214 }
4215}
4216
4217#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4229pub struct TelemetryExportRequest {
4230 #[serde(rename = "format", skip_serializing_if = "Option::is_none")]
4231 pub format: Option<String>,
4232 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
4233 pub receipt_id: Option<String>,
4234 #[serde(rename = "record_hash", skip_serializing_if = "Option::is_none")]
4235 pub record_hash: Option<String>,
4236 #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
4237 pub policy_epoch: Option<String>,
4238 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
4239 pub verdict: Option<String>,
4240 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
4241 pub reason_code: Option<String>,
4242 #[serde(rename = "sandbox_grant_hash", skip_serializing_if = "Option::is_none")]
4243 pub sandbox_grant_hash: Option<String>,
4244 #[serde(rename = "authz_snapshot_hash", skip_serializing_if = "Option::is_none")]
4245 pub authz_snapshot_hash: Option<String>,
4246 #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")]
4247 pub attributes: Option<std::collections::HashMap<String, String>>,
4248}
4249
4250impl TelemetryExportRequest {
4251 pub fn new() -> TelemetryExportRequest {
4252 TelemetryExportRequest {
4253 format: None,
4254 receipt_id: None,
4255 record_hash: None,
4256 policy_epoch: None,
4257 verdict: None,
4258 reason_code: None,
4259 sandbox_grant_hash: None,
4260 authz_snapshot_hash: None,
4261 attributes: None,
4262 }
4263 }
4264}
4265
4266#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4278pub struct TelemetryExportResult {
4279 #[serde(rename = "export_id", skip_serializing_if = "Option::is_none")]
4280 pub export_id: Option<String>,
4281 #[serde(rename = "format", skip_serializing_if = "Option::is_none")]
4282 pub format: Option<String>,
4283 #[serde(rename = "authoritative", skip_serializing_if = "Option::is_none")]
4284 pub authoritative: Option<bool>,
4285 #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")]
4286 pub attributes: Option<std::collections::HashMap<String, String>>,
4287 #[serde(rename = "exported_at", skip_serializing_if = "Option::is_none")]
4288 pub exported_at: Option<String>,
4289}
4290
4291impl TelemetryExportResult {
4292 pub fn new() -> TelemetryExportResult {
4293 TelemetryExportResult {
4294 export_id: None,
4295 format: None,
4296 authoritative: None,
4297 attributes: None,
4298 exported_at: None,
4299 }
4300 }
4301}
4302
4303#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4315pub struct TelemetryOTelConfig {
4316 #[serde(rename = "service_name", skip_serializing_if = "Option::is_none")]
4317 pub service_name: Option<String>,
4318 #[serde(rename = "signal_type", skip_serializing_if = "Option::is_none")]
4319 pub signal_type: Option<String>,
4320 #[serde(rename = "authoritative", skip_serializing_if = "Option::is_none")]
4321 pub authoritative: Option<bool>,
4322 #[serde(rename = "span_attributes", skip_serializing_if = "Option::is_none")]
4323 pub span_attributes: Option<std::collections::HashMap<String, String>>,
4324 #[serde(rename = "exported_signals", skip_serializing_if = "Option::is_none")]
4325 pub exported_signals: Option<Vec<String>>,
4326}
4327
4328impl TelemetryOTelConfig {
4329 pub fn new() -> TelemetryOTelConfig {
4330 TelemetryOTelConfig {
4331 service_name: None,
4332 signal_type: None,
4333 authoritative: None,
4334 span_attributes: None,
4335 exported_signals: None,
4336 }
4337 }
4338}
4339
4340#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4352pub struct TransitionApprovalCeremonyRequest {
4353 #[serde(rename = "actor", skip_serializing_if = "Option::is_none")]
4354 pub actor: Option<String>,
4355 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
4356 pub receipt_id: Option<String>,
4357 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
4358 pub reason: Option<String>,
4359}
4360
4361impl TransitionApprovalCeremonyRequest {
4362 pub fn new() -> TransitionApprovalCeremonyRequest {
4363 TransitionApprovalCeremonyRequest {
4364 actor: None,
4365 receipt_id: None,
4366 reason: None,
4367 }
4368 }
4369}
4370
4371#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4383pub struct VerificationResult {
4384 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
4385 pub verdict: Option<VerificationResultVerdict>,
4386 #[serde(rename = "checks", skip_serializing_if = "Option::is_none")]
4387 pub checks: Option<Box<VerificationResultChecks>>,
4388 #[serde(rename = "roots", skip_serializing_if = "Option::is_none")]
4389 pub roots: Option<Box<VerificationResultRoots>>,
4390 #[serde(rename = "errors", skip_serializing_if = "Option::is_none")]
4391 pub errors: Option<Vec<String>>,
4392}
4393
4394impl VerificationResult {
4395 pub fn new() -> VerificationResult {
4396 VerificationResult {
4397 verdict: None,
4398 checks: None,
4399 roots: None,
4400 errors: None,
4401 }
4402 }
4403}
4404#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
4406pub enum VerificationResultVerdict {
4407 #[serde(rename = "PASS")]
4408 Pass,
4409 #[serde(rename = "FAIL")]
4410 Fail,
4411}
4412
4413impl Default for VerificationResultVerdict {
4414 fn default() -> VerificationResultVerdict {
4415 Self::Pass
4416 }
4417}
4418
4419#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4431pub struct VerificationResultChecks {
4432 #[serde(rename = "signatures", skip_serializing_if = "Option::is_none")]
4433 pub signatures: Option<VerificationResultChecksSignatures>,
4434 #[serde(rename = "causal_chain", skip_serializing_if = "Option::is_none")]
4435 pub causal_chain: Option<VerificationResultChecksCausalChain>,
4436 #[serde(rename = "policy_compliance", skip_serializing_if = "Option::is_none")]
4437 pub policy_compliance: Option<VerificationResultChecksPolicyCompliance>,
4438}
4439
4440impl VerificationResultChecks {
4441 pub fn new() -> VerificationResultChecks {
4442 VerificationResultChecks {
4443 signatures: None,
4444 causal_chain: None,
4445 policy_compliance: None,
4446 }
4447 }
4448}
4449#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
4451pub enum VerificationResultChecksSignatures {
4452 #[serde(rename = "PASS")]
4453 Pass,
4454 #[serde(rename = "FAIL")]
4455 Fail,
4456}
4457
4458impl Default for VerificationResultChecksSignatures {
4459 fn default() -> VerificationResultChecksSignatures {
4460 Self::Pass
4461 }
4462}
4463#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
4465pub enum VerificationResultChecksCausalChain {
4466 #[serde(rename = "PASS")]
4467 Pass,
4468 #[serde(rename = "FAIL")]
4469 Fail,
4470}
4471
4472impl Default for VerificationResultChecksCausalChain {
4473 fn default() -> VerificationResultChecksCausalChain {
4474 Self::Pass
4475 }
4476}
4477#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
4479pub enum VerificationResultChecksPolicyCompliance {
4480 #[serde(rename = "PASS")]
4481 Pass,
4482 #[serde(rename = "FAIL")]
4483 Fail,
4484}
4485
4486impl Default for VerificationResultChecksPolicyCompliance {
4487 fn default() -> VerificationResultChecksPolicyCompliance {
4488 Self::Pass
4489 }
4490}
4491
4492#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4504pub struct VerificationResultRoots {
4505 #[serde(rename = "manifest_root_hash", skip_serializing_if = "Option::is_none")]
4506 pub manifest_root_hash: Option<String>,
4507 #[serde(rename = "merkle_root", skip_serializing_if = "Option::is_none")]
4508 pub merkle_root: Option<String>,
4509 #[serde(rename = "entry_count", skip_serializing_if = "Option::is_none")]
4510 pub entry_count: Option<i32>,
4511}
4512
4513impl VerificationResultRoots {
4514 pub fn new() -> VerificationResultRoots {
4515 VerificationResultRoots {
4516 manifest_root_hash: None,
4517 merkle_root: None,
4518 entry_count: None,
4519 }
4520 }
4521}
4522
4523#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4535pub struct VerifyPublicDemoReceipt200Response {
4536 #[serde(rename = "valid")]
4537 pub valid: bool,
4538 #[serde(rename = "signature_valid")]
4539 pub signature_valid: bool,
4540 #[serde(rename = "hash_matches")]
4541 pub hash_matches: bool,
4542 #[serde(rename = "reason")]
4543 pub reason: String,
4544 #[serde(rename = "verified_fields")]
4545 pub verified_fields: Vec<String>,
4546 #[serde(rename = "receipt_hash")]
4547 pub receipt_hash: String,
4548 #[serde(rename = "expected_receipt_hash")]
4549 pub expected_receipt_hash: String,
4550}
4551
4552impl VerifyPublicDemoReceipt200Response {
4553 pub fn new(valid: bool, signature_valid: bool, hash_matches: bool, reason: String, verified_fields: Vec<String>, receipt_hash: String, expected_receipt_hash: String) -> VerifyPublicDemoReceipt200Response {
4554 VerifyPublicDemoReceipt200Response {
4555 valid,
4556 signature_valid,
4557 hash_matches,
4558 reason,
4559 verified_fields,
4560 receipt_hash,
4561 expected_receipt_hash,
4562 }
4563 }
4564}
4565
4566#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4578pub struct VerifyPublicDemoReceiptRequest {
4579 #[serde(rename = "receipt")]
4580 pub receipt: Box<Receipt>,
4581 #[serde(rename = "expected_receipt_hash")]
4583 pub expected_receipt_hash: String,
4584}
4585
4586impl VerifyPublicDemoReceiptRequest {
4587 pub fn new(receipt: Receipt, expected_receipt_hash: String) -> VerifyPublicDemoReceiptRequest {
4588 VerifyPublicDemoReceiptRequest {
4589 receipt: Box::new(receipt),
4590 expected_receipt_hash,
4591 }
4592 }
4593}
4594
4595#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4607pub struct VersionInfo {
4608 #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
4609 pub version: Option<String>,
4610 #[serde(rename = "commit", skip_serializing_if = "Option::is_none")]
4611 pub commit: Option<String>,
4612 #[serde(rename = "build_time", skip_serializing_if = "Option::is_none")]
4613 pub build_time: Option<String>,
4614 #[serde(rename = "go_version", skip_serializing_if = "Option::is_none")]
4615 pub go_version: Option<String>,
4616}
4617
4618impl VersionInfo {
4619 pub fn new() -> VersionInfo {
4620 VersionInfo {
4621 version: None,
4622 commit: None,
4623 build_time: None,
4624 go_version: None,
4625 }
4626 }
4627}
4628
4629
4630pub type ReasonCode = HelmErrorErrorReasonCode;